ZGlmZiAtLWdpdCBhLy5naXRhdHRyaWJ1dGVzIGIvLmdpdGF0dHJpYnV0ZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDEyZWVkYQotLS0gL2Rldi9udWxsCisrKyBiLy5naXRhdHRyaWJ1dGVzCkBAIC0wLDAgKzEsMjIgQEAKKyMgQXV0byBkZXRlY3QgdGV4dCBmaWxlcyBhbmQgcGVyZm9ybSBMRiBub3JtYWxpemF0aW9uCisqIHRleHQ9YXV0bworCisjIEN1c3RvbSBmb3IgVmlzdWFsIFN0dWRpbworKi5jcyAgICAgZGlmZj1jc2hhcnAKKyouc2xuICAgIG1lcmdlPXVuaW9uCisqLmNzcHJvaiBtZXJnZT11bmlvbgorKi52YnByb2ogbWVyZ2U9dW5pb24KKyouZnNwcm9qIG1lcmdlPXVuaW9uCisqLmRicHJvaiBtZXJnZT11bmlvbgorCisjIFN0YW5kYXJkIHRvIG1zeXNnaXQKKyouZG9jCSBkaWZmPWFzdGV4dHBsYWluCisqLkRPQwkgZGlmZj1hc3RleHRwbGFpbgorKi5kb2N4IGRpZmY9YXN0ZXh0cGxhaW4KKyouRE9DWCBkaWZmPWFzdGV4dHBsYWluCisqLmRvdCAgZGlmZj1hc3RleHRwbGFpbgorKi5ET1QgIGRpZmY9YXN0ZXh0cGxhaW4KKyoucGRmICBkaWZmPWFzdGV4dHBsYWluCisqLlBERgkgZGlmZj1hc3RleHRwbGFpbgorKi5ydGYJIGRpZmY9YXN0ZXh0cGxhaW4KKyouUlRGCSBkaWZmPWFzdGV4dHBsYWluCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYWQ1MzRhCi0tLSAvZGV2L251bGwKKysrIGIvLmdpdGlnbm9yZQpAQCAtMCwwICsxLDE1MiBAQAorIyMgSWdub3JlIFZpc3VhbCBTdHVkaW8gdGVtcG9yYXJ5IGZpbGVzLCBidWlsZCByZXN1bHRzLCBhbmQKKyMjIGZpbGVzIGdlbmVyYXRlZCBieSBwb3B1bGFyIFZpc3VhbCBTdHVkaW8gYWRkLW9ucy4KKworIyBVc2VyLXNwZWNpZmljIGZpbGVzCisqLnN1bworKi51c2VyCisqLnNsbi5kb2NzdGF0ZXMKK015U2V0dGluZ3MuY29uZmlnCisKKyMgQnVpbGQgcmVzdWx0cworCitbRGRdZWJ1Zy8KK1tScl1lbGVhc2UvCit4NjQvCitidWlsZC8KK1tCYl1pbi8KK1tPb11iai8KKworIyBNU1Rlc3QgdGVzdCBSZXN1bHRzCitbVHRdZXN0W1JyXWVzdWx0Ki8KK1tCYl11aWxkW0xsXW9nLioKKworKl9pLmMKKypfcC5jCisqLmlsaworKi5tZXRhCisqLm9iagorKi5wY2gKKyoucGRiCisqLnBnYworKi5wZ2QKKyoucnNwCisqLnNicgorKi50bGIKKyoudGxpCisqLnRsaAorKi50bXAKKyoudG1wX3Byb2oKKyoubG9nCisqLnZzcHNjYworKi52c3NzY2MKKy5idWlsZHMKKyoucGlkYgorKi5sb2cKKyouc2NjCisKKyMgVmlzdWFsIEMrKyBjYWNoZSBmaWxlcworaXBjaC8KKyouYXBzCisqLm5jYgorKi5vcGVuc2RmCisqLnNkZgorKi5jYWNoZWZpbGUKKworIyBWaXN1YWwgU3R1ZGlvIHByb2ZpbGVyCisqLnBzZXNzCisqLnZzcAorKi52c3B4CisKKyMgR3VpZGFuY2UgQXV0b21hdGlvbiBUb29sa2l0CisqLmdwU3RhdGUKKworIyBSZVNoYXJwZXIgaXMgYSAuTkVUIGNvZGluZyBhZGQtaW4KK19SZVNoYXJwZXIqLworKi5bUnJdZVtTc11oYXJwZXIKKworIyBUZWFtQ2l0eSBpcyBhIGJ1aWxkIGFkZC1pbgorX1RlYW1DaXR5KgorCisjIERvdENvdmVyIGlzIGEgQ29kZSBDb3ZlcmFnZSBUb29sCisqLmRvdENvdmVyCisKKyMgTkNydW5jaAorKi5uY3J1bmNoKgorLipjcnVuY2gqLmxvY2FsLnhtbAorCisjIEluc3RhbGxzaGllbGQgb3V0cHV0IGZvbGRlcgorW0VlXXhwcmVzcy8KKworIyBEb2NQcm9qZWN0IGlzIGEgZG9jdW1lbnRhdGlvbiBnZW5lcmF0b3IgYWRkLWluCitEb2NQcm9qZWN0L2J1aWxkaGVscC8KK0RvY1Byb2plY3QvSGVscC8qLkh4VAorRG9jUHJvamVjdC9IZWxwLyouSHhDCitEb2NQcm9qZWN0L0hlbHAvKi5oaGMKK0RvY1Byb2plY3QvSGVscC8qLmhoaworRG9jUHJvamVjdC9IZWxwLyouaGhwCitEb2NQcm9qZWN0L0hlbHAvSHRtbDIKK0RvY1Byb2plY3QvSGVscC9odG1sCisKKyMgQ2xpY2stT25jZSBkaXJlY3RvcnkKK3B1Ymxpc2gvCisKKyMgUHVibGlzaCBXZWIgT3V0cHV0CisqLlB1Ymxpc2gueG1sCisqLnB1YnhtbAorCisjIE51R2V0IFBhY2thZ2VzIERpcmVjdG9yeQorIyMgVE9ETzogSWYgeW91IGhhdmUgTnVHZXQgUGFja2FnZSBSZXN0b3JlIGVuYWJsZWQsIHVuY29tbWVudCB0aGUgbmV4dCBsaW5lCisjcGFja2FnZXMvCisKKyMgV2luZG93cyBBenVyZSBCdWlsZCBPdXRwdXQKK2NzeAorKi5idWlsZC5jc2RlZgorCisjIFdpbmRvd3MgU3RvcmUgYXBwIHBhY2thZ2UgZGlyZWN0b3J5CitBcHBQYWNrYWdlcy8KKworIyBPdGhlcnMKK3NxbC8KKyouQ2FjaGUKK0NsaWVudEJpbi8KK1tTc110eWxlW0NjXW9wLioKK34kKgorKn4KKyouZGJtZGwKKyouW1BwXXVibGlzaC54bWwKKyoucGZ4CisqLnB1Ymxpc2hzZXR0aW5ncworCisjIFJJQS9TaWx2ZXJsaWdodCBwcm9qZWN0cworR2VuZXJhdGVkX0NvZGUvCisKKyMgQmFja3VwICYgcmVwb3J0IGZpbGVzIGZyb20gY29udmVydGluZyBhbiBvbGQgcHJvamVjdCBmaWxlIHRvIGEgbmV3ZXIKKyMgVmlzdWFsIFN0dWRpbyB2ZXJzaW9uLiBCYWNrdXAgZmlsZXMgYXJlIG5vdCBuZWVkZWQsIGJlY2F1c2Ugd2UgaGF2ZSBnaXQgOy0pCitfVXBncmFkZVJlcG9ydF9GaWxlcy8KK0JhY2t1cCovCitVcGdyYWRlTG9nKi5YTUwKK1VwZ3JhZGVMb2cqLmh0bQorCisjIFNRTCBTZXJ2ZXIgZmlsZXMKK0FwcF9EYXRhLyoubWRmCitBcHBfRGF0YS8qLmxkZgorCisjID09PT09PT09PT09PT09PT09PT09PT09PT0KKyMgV2luZG93cyBkZXRyaXR1cworIyA9PT09PT09PT09PT09PT09PT09PT09PT09CisKKyMgV2luZG93cyBpbWFnZSBmaWxlIGNhY2hlcworVGh1bWJzLmRiCitlaHRodW1icy5kYgorCisjIEZvbGRlciBjb25maWcgZmlsZQorRGVza3RvcC5pbmkKKworIyBSZWN5Y2xlIEJpbiB1c2VkIG9uIGZpbGUgc2hhcmVzCiskUkVDWUNMRS5CSU4vCisKKyMgTWFjIGNyYXAKKy5EU19TdG9yZQorCisjIEludGVsbGlqCisuaWRlYQpkaWZmIC0tZ2l0IGEvTElDRU5TRSBiL0xJQ0VOU0UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTA2ZDIwOAotLS0gL2Rldi9udWxsCisrKyBiL0xJQ0VOU0UKQEAgLTAsMCArMSwyMDIgQEAKK0FwYWNoZSBMaWNlbnNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uIDIuMCwgSmFudWFyeSAyMDA0CisgICAgICAgICAgICAgICAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvCisKKyAgIFRFUk1TIEFORCBDT05ESVRJT05TIEZPUiBVU0UsIFJFUFJPRFVDVElPTiwgQU5EIERJU1RSSUJVVElPTgorCisgICAxLiBEZWZpbml0aW9ucy4KKworICAgICAgIkxpY2Vuc2UiIHNoYWxsIG1lYW4gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciB1c2UsIHJlcHJvZHVjdGlvbiwKKyAgICAgIGFuZCBkaXN0cmlidXRpb24gYXMgZGVmaW5lZCBieSBTZWN0aW9ucyAxIHRocm91Z2ggOSBvZiB0aGlzIGRvY3VtZW50LgorCisgICAgICAiTGljZW5zb3IiIHNoYWxsIG1lYW4gdGhlIGNvcHlyaWdodCBvd25lciBvciBlbnRpdHkgYXV0aG9yaXplZCBieQorICAgICAgdGhlIGNvcHlyaWdodCBvd25lciB0aGF0IGlzIGdyYW50aW5nIHRoZSBMaWNlbnNlLgorCisgICAgICAiTGVnYWwgRW50aXR5IiBzaGFsbCBtZWFuIHRoZSB1bmlvbiBvZiB0aGUgYWN0aW5nIGVudGl0eSBhbmQgYWxsCisgICAgICBvdGhlciBlbnRpdGllcyB0aGF0IGNvbnRyb2wsIGFyZSBjb250cm9sbGVkIGJ5LCBvciBhcmUgdW5kZXIgY29tbW9uCisgICAgICBjb250cm9sIHdpdGggdGhhdCBlbnRpdHkuIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLAorICAgICAgImNvbnRyb2wiIG1lYW5zIChpKSB0aGUgcG93ZXIsIGRpcmVjdCBvciBpbmRpcmVjdCwgdG8gY2F1c2UgdGhlCisgICAgICBkaXJlY3Rpb24gb3IgbWFuYWdlbWVudCBvZiBzdWNoIGVudGl0eSwgd2hldGhlciBieSBjb250cmFjdCBvcgorICAgICAgb3RoZXJ3aXNlLCBvciAoaWkpIG93bmVyc2hpcCBvZiBmaWZ0eSBwZXJjZW50ICg1MCUpIG9yIG1vcmUgb2YgdGhlCisgICAgICBvdXRzdGFuZGluZyBzaGFyZXMsIG9yIChpaWkpIGJlbmVmaWNpYWwgb3duZXJzaGlwIG9mIHN1Y2ggZW50aXR5LgorCisgICAgICAiWW91IiAob3IgIllvdXIiKSBzaGFsbCBtZWFuIGFuIGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5CisgICAgICBleGVyY2lzaW5nIHBlcm1pc3Npb25zIGdyYW50ZWQgYnkgdGhpcyBMaWNlbnNlLgorCisgICAgICAiU291cmNlIiBmb3JtIHNoYWxsIG1lYW4gdGhlIHByZWZlcnJlZCBmb3JtIGZvciBtYWtpbmcgbW9kaWZpY2F0aW9ucywKKyAgICAgIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gc29mdHdhcmUgc291cmNlIGNvZGUsIGRvY3VtZW50YXRpb24KKyAgICAgIHNvdXJjZSwgYW5kIGNvbmZpZ3VyYXRpb24gZmlsZXMuCisKKyAgICAgICJPYmplY3QiIGZvcm0gc2hhbGwgbWVhbiBhbnkgZm9ybSByZXN1bHRpbmcgZnJvbSBtZWNoYW5pY2FsCisgICAgICB0cmFuc2Zvcm1hdGlvbiBvciB0cmFuc2xhdGlvbiBvZiBhIFNvdXJjZSBmb3JtLCBpbmNsdWRpbmcgYnV0CisgICAgICBub3QgbGltaXRlZCB0byBjb21waWxlZCBvYmplY3QgY29kZSwgZ2VuZXJhdGVkIGRvY3VtZW50YXRpb24sCisgICAgICBhbmQgY29udmVyc2lvbnMgdG8gb3RoZXIgbWVkaWEgdHlwZXMuCisKKyAgICAgICJXb3JrIiBzaGFsbCBtZWFuIHRoZSB3b3JrIG9mIGF1dGhvcnNoaXAsIHdoZXRoZXIgaW4gU291cmNlIG9yCisgICAgICBPYmplY3QgZm9ybSwgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIExpY2Vuc2UsIGFzIGluZGljYXRlZCBieSBhCisgICAgICBjb3B5cmlnaHQgbm90aWNlIHRoYXQgaXMgaW5jbHVkZWQgaW4gb3IgYXR0YWNoZWQgdG8gdGhlIHdvcmsKKyAgICAgIChhbiBleGFtcGxlIGlzIHByb3ZpZGVkIGluIHRoZSBBcHBlbmRpeCBiZWxvdykuCisKKyAgICAgICJEZXJpdmF0aXZlIFdvcmtzIiBzaGFsbCBtZWFuIGFueSB3b3JrLCB3aGV0aGVyIGluIFNvdXJjZSBvciBPYmplY3QKKyAgICAgIGZvcm0sIHRoYXQgaXMgYmFzZWQgb24gKG9yIGRlcml2ZWQgZnJvbSkgdGhlIFdvcmsgYW5kIGZvciB3aGljaCB0aGUKKyAgICAgIGVkaXRvcmlhbCByZXZpc2lvbnMsIGFubm90YXRpb25zLCBlbGFib3JhdGlvbnMsIG9yIG90aGVyIG1vZGlmaWNhdGlvbnMKKyAgICAgIHJlcHJlc2VudCwgYXMgYSB3aG9sZSwgYW4gb3JpZ2luYWwgd29yayBvZiBhdXRob3JzaGlwLiBGb3IgdGhlIHB1cnBvc2VzCisgICAgICBvZiB0aGlzIExpY2Vuc2UsIERlcml2YXRpdmUgV29ya3Mgc2hhbGwgbm90IGluY2x1ZGUgd29ya3MgdGhhdCByZW1haW4KKyAgICAgIHNlcGFyYWJsZSBmcm9tLCBvciBtZXJlbHkgbGluayAob3IgYmluZCBieSBuYW1lKSB0byB0aGUgaW50ZXJmYWNlcyBvZiwKKyAgICAgIHRoZSBXb3JrIGFuZCBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YuCisKKyAgICAgICJDb250cmlidXRpb24iIHNoYWxsIG1lYW4gYW55IHdvcmsgb2YgYXV0aG9yc2hpcCwgaW5jbHVkaW5nCisgICAgICB0aGUgb3JpZ2luYWwgdmVyc2lvbiBvZiB0aGUgV29yayBhbmQgYW55IG1vZGlmaWNhdGlvbnMgb3IgYWRkaXRpb25zCisgICAgICB0byB0aGF0IFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLCB0aGF0IGlzIGludGVudGlvbmFsbHkKKyAgICAgIHN1Ym1pdHRlZCB0byBMaWNlbnNvciBmb3IgaW5jbHVzaW9uIGluIHRoZSBXb3JrIGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIKKyAgICAgIG9yIGJ5IGFuIGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5IGF1dGhvcml6ZWQgdG8gc3VibWl0IG9uIGJlaGFsZiBvZgorICAgICAgdGhlIGNvcHlyaWdodCBvd25lci4gRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIGRlZmluaXRpb24sICJzdWJtaXR0ZWQiCisgICAgICBtZWFucyBhbnkgZm9ybSBvZiBlbGVjdHJvbmljLCB2ZXJiYWwsIG9yIHdyaXR0ZW4gY29tbXVuaWNhdGlvbiBzZW50CisgICAgICB0byB0aGUgTGljZW5zb3Igb3IgaXRzIHJlcHJlc2VudGF0aXZlcywgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0bworICAgICAgY29tbXVuaWNhdGlvbiBvbiBlbGVjdHJvbmljIG1haWxpbmcgbGlzdHMsIHNvdXJjZSBjb2RlIGNvbnRyb2wgc3lzdGVtcywKKyAgICAgIGFuZCBpc3N1ZSB0cmFja2luZyBzeXN0ZW1zIHRoYXQgYXJlIG1hbmFnZWQgYnksIG9yIG9uIGJlaGFsZiBvZiwgdGhlCisgICAgICBMaWNlbnNvciBmb3IgdGhlIHB1cnBvc2Ugb2YgZGlzY3Vzc2luZyBhbmQgaW1wcm92aW5nIHRoZSBXb3JrLCBidXQKKyAgICAgIGV4Y2x1ZGluZyBjb21tdW5pY2F0aW9uIHRoYXQgaXMgY29uc3BpY3VvdXNseSBtYXJrZWQgb3Igb3RoZXJ3aXNlCisgICAgICBkZXNpZ25hdGVkIGluIHdyaXRpbmcgYnkgdGhlIGNvcHlyaWdodCBvd25lciBhcyAiTm90IGEgQ29udHJpYnV0aW9uLiIKKworICAgICAgIkNvbnRyaWJ1dG9yIiBzaGFsbCBtZWFuIExpY2Vuc29yIGFuZCBhbnkgaW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkKKyAgICAgIG9uIGJlaGFsZiBvZiB3aG9tIGEgQ29udHJpYnV0aW9uIGhhcyBiZWVuIHJlY2VpdmVkIGJ5IExpY2Vuc29yIGFuZAorICAgICAgc3Vic2VxdWVudGx5IGluY29ycG9yYXRlZCB3aXRoaW4gdGhlIFdvcmsuCisKKyAgIDIuIEdyYW50IG9mIENvcHlyaWdodCBMaWNlbnNlLiBTdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZgorICAgICAgdGhpcyBMaWNlbnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgdG8gWW91IGEgcGVycGV0dWFsLAorICAgICAgd29ybGR3aWRlLCBub24tZXhjbHVzaXZlLCBuby1jaGFyZ2UsIHJveWFsdHktZnJlZSwgaXJyZXZvY2FibGUKKyAgICAgIGNvcHlyaWdodCBsaWNlbnNlIHRvIHJlcHJvZHVjZSwgcHJlcGFyZSBEZXJpdmF0aXZlIFdvcmtzIG9mLAorICAgICAgcHVibGljbHkgZGlzcGxheSwgcHVibGljbHkgcGVyZm9ybSwgc3VibGljZW5zZSwgYW5kIGRpc3RyaWJ1dGUgdGhlCisgICAgICBXb3JrIGFuZCBzdWNoIERlcml2YXRpdmUgV29ya3MgaW4gU291cmNlIG9yIE9iamVjdCBmb3JtLgorCisgICAzLiBHcmFudCBvZiBQYXRlbnQgTGljZW5zZS4gU3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YKKyAgICAgIHRoaXMgTGljZW5zZSwgZWFjaCBDb250cmlidXRvciBoZXJlYnkgZ3JhbnRzIHRvIFlvdSBhIHBlcnBldHVhbCwKKyAgICAgIHdvcmxkd2lkZSwgbm9uLWV4Y2x1c2l2ZSwgbm8tY2hhcmdlLCByb3lhbHR5LWZyZWUsIGlycmV2b2NhYmxlCisgICAgICAoZXhjZXB0IGFzIHN0YXRlZCBpbiB0aGlzIHNlY3Rpb24pIHBhdGVudCBsaWNlbnNlIHRvIG1ha2UsIGhhdmUgbWFkZSwKKyAgICAgIHVzZSwgb2ZmZXIgdG8gc2VsbCwgc2VsbCwgaW1wb3J0LCBhbmQgb3RoZXJ3aXNlIHRyYW5zZmVyIHRoZSBXb3JrLAorICAgICAgd2hlcmUgc3VjaCBsaWNlbnNlIGFwcGxpZXMgb25seSB0byB0aG9zZSBwYXRlbnQgY2xhaW1zIGxpY2Vuc2FibGUKKyAgICAgIGJ5IHN1Y2ggQ29udHJpYnV0b3IgdGhhdCBhcmUgbmVjZXNzYXJpbHkgaW5mcmluZ2VkIGJ5IHRoZWlyCisgICAgICBDb250cmlidXRpb24ocykgYWxvbmUgb3IgYnkgY29tYmluYXRpb24gb2YgdGhlaXIgQ29udHJpYnV0aW9uKHMpCisgICAgICB3aXRoIHRoZSBXb3JrIHRvIHdoaWNoIHN1Y2ggQ29udHJpYnV0aW9uKHMpIHdhcyBzdWJtaXR0ZWQuIElmIFlvdQorICAgICAgaW5zdGl0dXRlIHBhdGVudCBsaXRpZ2F0aW9uIGFnYWluc3QgYW55IGVudGl0eSAoaW5jbHVkaW5nIGEKKyAgICAgIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQgdGhlIFdvcmsKKyAgICAgIG9yIGEgQ29udHJpYnV0aW9uIGluY29ycG9yYXRlZCB3aXRoaW4gdGhlIFdvcmsgY29uc3RpdHV0ZXMgZGlyZWN0CisgICAgICBvciBjb250cmlidXRvcnkgcGF0ZW50IGluZnJpbmdlbWVudCwgdGhlbiBhbnkgcGF0ZW50IGxpY2Vuc2VzCisgICAgICBncmFudGVkIHRvIFlvdSB1bmRlciB0aGlzIExpY2Vuc2UgZm9yIHRoYXQgV29yayBzaGFsbCB0ZXJtaW5hdGUKKyAgICAgIGFzIG9mIHRoZSBkYXRlIHN1Y2ggbGl0aWdhdGlvbiBpcyBmaWxlZC4KKworICAgNC4gUmVkaXN0cmlidXRpb24uIFlvdSBtYXkgcmVwcm9kdWNlIGFuZCBkaXN0cmlidXRlIGNvcGllcyBvZiB0aGUKKyAgICAgIFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mIGluIGFueSBtZWRpdW0sIHdpdGggb3Igd2l0aG91dAorICAgICAgbW9kaWZpY2F0aW9ucywgYW5kIGluIFNvdXJjZSBvciBPYmplY3QgZm9ybSwgcHJvdmlkZWQgdGhhdCBZb3UKKyAgICAgIG1lZXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorCisgICAgICAoYSkgWW91IG11c3QgZ2l2ZSBhbnkgb3RoZXIgcmVjaXBpZW50cyBvZiB0aGUgV29yayBvcgorICAgICAgICAgIERlcml2YXRpdmUgV29ya3MgYSBjb3B5IG9mIHRoaXMgTGljZW5zZTsgYW5kCisKKyAgICAgIChiKSBZb3UgbXVzdCBjYXVzZSBhbnkgbW9kaWZpZWQgZmlsZXMgdG8gY2FycnkgcHJvbWluZW50IG5vdGljZXMKKyAgICAgICAgICBzdGF0aW5nIHRoYXQgWW91IGNoYW5nZWQgdGhlIGZpbGVzOyBhbmQKKworICAgICAgKGMpIFlvdSBtdXN0IHJldGFpbiwgaW4gdGhlIFNvdXJjZSBmb3JtIG9mIGFueSBEZXJpdmF0aXZlIFdvcmtzCisgICAgICAgICAgdGhhdCBZb3UgZGlzdHJpYnV0ZSwgYWxsIGNvcHlyaWdodCwgcGF0ZW50LCB0cmFkZW1hcmssIGFuZAorICAgICAgICAgIGF0dHJpYnV0aW9uIG5vdGljZXMgZnJvbSB0aGUgU291cmNlIGZvcm0gb2YgdGhlIFdvcmssCisgICAgICAgICAgZXhjbHVkaW5nIHRob3NlIG5vdGljZXMgdGhhdCBkbyBub3QgcGVydGFpbiB0byBhbnkgcGFydCBvZgorICAgICAgICAgIHRoZSBEZXJpdmF0aXZlIFdvcmtzOyBhbmQKKworICAgICAgKGQpIElmIHRoZSBXb3JrIGluY2x1ZGVzIGEgIk5PVElDRSIgdGV4dCBmaWxlIGFzIHBhcnQgb2YgaXRzCisgICAgICAgICAgZGlzdHJpYnV0aW9uLCB0aGVuIGFueSBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91IGRpc3RyaWJ1dGUgbXVzdAorICAgICAgICAgIGluY2x1ZGUgYSByZWFkYWJsZSBjb3B5IG9mIHRoZSBhdHRyaWJ1dGlvbiBub3RpY2VzIGNvbnRhaW5lZAorICAgICAgICAgIHdpdGhpbiBzdWNoIE5PVElDRSBmaWxlLCBleGNsdWRpbmcgdGhvc2Ugbm90aWNlcyB0aGF0IGRvIG5vdAorICAgICAgICAgIHBlcnRhaW4gdG8gYW55IHBhcnQgb2YgdGhlIERlcml2YXRpdmUgV29ya3MsIGluIGF0IGxlYXN0IG9uZQorICAgICAgICAgIG9mIHRoZSBmb2xsb3dpbmcgcGxhY2VzOiB3aXRoaW4gYSBOT1RJQ0UgdGV4dCBmaWxlIGRpc3RyaWJ1dGVkCisgICAgICAgICAgYXMgcGFydCBvZiB0aGUgRGVyaXZhdGl2ZSBXb3Jrczsgd2l0aGluIHRoZSBTb3VyY2UgZm9ybSBvcgorICAgICAgICAgIGRvY3VtZW50YXRpb24sIGlmIHByb3ZpZGVkIGFsb25nIHdpdGggdGhlIERlcml2YXRpdmUgV29ya3M7IG9yLAorICAgICAgICAgIHdpdGhpbiBhIGRpc3BsYXkgZ2VuZXJhdGVkIGJ5IHRoZSBEZXJpdmF0aXZlIFdvcmtzLCBpZiBhbmQKKyAgICAgICAgICB3aGVyZXZlciBzdWNoIHRoaXJkLXBhcnR5IG5vdGljZXMgbm9ybWFsbHkgYXBwZWFyLiBUaGUgY29udGVudHMKKyAgICAgICAgICBvZiB0aGUgTk9USUNFIGZpbGUgYXJlIGZvciBpbmZvcm1hdGlvbmFsIHB1cnBvc2VzIG9ubHkgYW5kCisgICAgICAgICAgZG8gbm90IG1vZGlmeSB0aGUgTGljZW5zZS4gWW91IG1heSBhZGQgWW91ciBvd24gYXR0cmlidXRpb24KKyAgICAgICAgICBub3RpY2VzIHdpdGhpbiBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91IGRpc3RyaWJ1dGUsIGFsb25nc2lkZQorICAgICAgICAgIG9yIGFzIGFuIGFkZGVuZHVtIHRvIHRoZSBOT1RJQ0UgdGV4dCBmcm9tIHRoZSBXb3JrLCBwcm92aWRlZAorICAgICAgICAgIHRoYXQgc3VjaCBhZGRpdGlvbmFsIGF0dHJpYnV0aW9uIG5vdGljZXMgY2Fubm90IGJlIGNvbnN0cnVlZAorICAgICAgICAgIGFzIG1vZGlmeWluZyB0aGUgTGljZW5zZS4KKworICAgICAgWW91IG1heSBhZGQgWW91ciBvd24gY29weXJpZ2h0IHN0YXRlbWVudCB0byBZb3VyIG1vZGlmaWNhdGlvbnMgYW5kCisgICAgICBtYXkgcHJvdmlkZSBhZGRpdGlvbmFsIG9yIGRpZmZlcmVudCBsaWNlbnNlIHRlcm1zIGFuZCBjb25kaXRpb25zCisgICAgICBmb3IgdXNlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3RyaWJ1dGlvbiBvZiBZb3VyIG1vZGlmaWNhdGlvbnMsIG9yCisgICAgICBmb3IgYW55IHN1Y2ggRGVyaXZhdGl2ZSBXb3JrcyBhcyBhIHdob2xlLCBwcm92aWRlZCBZb3VyIHVzZSwKKyAgICAgIHJlcHJvZHVjdGlvbiwgYW5kIGRpc3RyaWJ1dGlvbiBvZiB0aGUgV29yayBvdGhlcndpc2UgY29tcGxpZXMgd2l0aAorICAgICAgdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGluIHRoaXMgTGljZW5zZS4KKworICAgNS4gU3VibWlzc2lvbiBvZiBDb250cmlidXRpb25zLiBVbmxlc3MgWW91IGV4cGxpY2l0bHkgc3RhdGUgb3RoZXJ3aXNlLAorICAgICAgYW55IENvbnRyaWJ1dGlvbiBpbnRlbnRpb25hbGx5IHN1Ym1pdHRlZCBmb3IgaW5jbHVzaW9uIGluIHRoZSBXb3JrCisgICAgICBieSBZb3UgdG8gdGhlIExpY2Vuc29yIHNoYWxsIGJlIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZgorICAgICAgdGhpcyBMaWNlbnNlLCB3aXRob3V0IGFueSBhZGRpdGlvbmFsIHRlcm1zIG9yIGNvbmRpdGlvbnMuCisgICAgICBOb3R3aXRoc3RhbmRpbmcgdGhlIGFib3ZlLCBub3RoaW5nIGhlcmVpbiBzaGFsbCBzdXBlcnNlZGUgb3IgbW9kaWZ5CisgICAgICB0aGUgdGVybXMgb2YgYW55IHNlcGFyYXRlIGxpY2Vuc2UgYWdyZWVtZW50IHlvdSBtYXkgaGF2ZSBleGVjdXRlZAorICAgICAgd2l0aCBMaWNlbnNvciByZWdhcmRpbmcgc3VjaCBDb250cmlidXRpb25zLgorCisgICA2LiBUcmFkZW1hcmtzLiBUaGlzIExpY2Vuc2UgZG9lcyBub3QgZ3JhbnQgcGVybWlzc2lvbiB0byB1c2UgdGhlIHRyYWRlCisgICAgICBuYW1lcywgdHJhZGVtYXJrcywgc2VydmljZSBtYXJrcywgb3IgcHJvZHVjdCBuYW1lcyBvZiB0aGUgTGljZW5zb3IsCisgICAgICBleGNlcHQgYXMgcmVxdWlyZWQgZm9yIHJlYXNvbmFibGUgYW5kIGN1c3RvbWFyeSB1c2UgaW4gZGVzY3JpYmluZyB0aGUKKyAgICAgIG9yaWdpbiBvZiB0aGUgV29yayBhbmQgcmVwcm9kdWNpbmcgdGhlIGNvbnRlbnQgb2YgdGhlIE5PVElDRSBmaWxlLgorCisgICA3LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IKKyAgICAgIGFncmVlZCB0byBpbiB3cml0aW5nLCBMaWNlbnNvciBwcm92aWRlcyB0aGUgV29yayAoYW5kIGVhY2gKKyAgICAgIENvbnRyaWJ1dG9yIHByb3ZpZGVzIGl0cyBDb250cmlidXRpb25zKSBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICAgICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yCisgICAgICBpbXBsaWVkLCBpbmNsdWRpbmcsIHdpdGhvdXQgbGltaXRhdGlvbiwgYW55IHdhcnJhbnRpZXMgb3IgY29uZGl0aW9ucworICAgICAgb2YgVElUTEUsIE5PTi1JTkZSSU5HRU1FTlQsIE1FUkNIQU5UQUJJTElUWSwgb3IgRklUTkVTUyBGT1IgQQorICAgICAgUEFSVElDVUxBUiBQVVJQT1NFLiBZb3UgYXJlIHNvbGVseSByZXNwb25zaWJsZSBmb3IgZGV0ZXJtaW5pbmcgdGhlCisgICAgICBhcHByb3ByaWF0ZW5lc3Mgb2YgdXNpbmcgb3IgcmVkaXN0cmlidXRpbmcgdGhlIFdvcmsgYW5kIGFzc3VtZSBhbnkKKyAgICAgIHJpc2tzIGFzc29jaWF0ZWQgd2l0aCBZb3VyIGV4ZXJjaXNlIG9mIHBlcm1pc3Npb25zIHVuZGVyIHRoaXMgTGljZW5zZS4KKworICAgOC4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuIEluIG5vIGV2ZW50IGFuZCB1bmRlciBubyBsZWdhbCB0aGVvcnksCisgICAgICB3aGV0aGVyIGluIHRvcnQgKGluY2x1ZGluZyBuZWdsaWdlbmNlKSwgY29udHJhY3QsIG9yIG90aGVyd2lzZSwKKyAgICAgIHVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyAoc3VjaCBhcyBkZWxpYmVyYXRlIGFuZCBncm9zc2x5CisgICAgICBuZWdsaWdlbnQgYWN0cykgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNoYWxsIGFueSBDb250cmlidXRvciBiZQorICAgICAgbGlhYmxlIHRvIFlvdSBmb3IgZGFtYWdlcywgaW5jbHVkaW5nIGFueSBkaXJlY3QsIGluZGlyZWN0LCBzcGVjaWFsLAorICAgICAgaW5jaWRlbnRhbCwgb3IgY29uc2VxdWVudGlhbCBkYW1hZ2VzIG9mIGFueSBjaGFyYWN0ZXIgYXJpc2luZyBhcyBhCisgICAgICByZXN1bHQgb2YgdGhpcyBMaWNlbnNlIG9yIG91dCBvZiB0aGUgdXNlIG9yIGluYWJpbGl0eSB0byB1c2UgdGhlCisgICAgICBXb3JrIChpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIGRhbWFnZXMgZm9yIGxvc3Mgb2YgZ29vZHdpbGwsCisgICAgICB3b3JrIHN0b3BwYWdlLCBjb21wdXRlciBmYWlsdXJlIG9yIG1hbGZ1bmN0aW9uLCBvciBhbnkgYW5kIGFsbAorICAgICAgb3RoZXIgY29tbWVyY2lhbCBkYW1hZ2VzIG9yIGxvc3NlcyksIGV2ZW4gaWYgc3VjaCBDb250cmlidXRvcgorICAgICAgaGFzIGJlZW4gYWR2aXNlZCBvZiB0aGUgcG9zc2liaWxpdHkgb2Ygc3VjaCBkYW1hZ2VzLgorCisgICA5LiBBY2NlcHRpbmcgV2FycmFudHkgb3IgQWRkaXRpb25hbCBMaWFiaWxpdHkuIFdoaWxlIHJlZGlzdHJpYnV0aW5nCisgICAgICB0aGUgV29yayBvciBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YsIFlvdSBtYXkgY2hvb3NlIHRvIG9mZmVyLAorICAgICAgYW5kIGNoYXJnZSBhIGZlZSBmb3IsIGFjY2VwdGFuY2Ugb2Ygc3VwcG9ydCwgd2FycmFudHksIGluZGVtbml0eSwKKyAgICAgIG9yIG90aGVyIGxpYWJpbGl0eSBvYmxpZ2F0aW9ucyBhbmQvb3IgcmlnaHRzIGNvbnNpc3RlbnQgd2l0aCB0aGlzCisgICAgICBMaWNlbnNlLiBIb3dldmVyLCBpbiBhY2NlcHRpbmcgc3VjaCBvYmxpZ2F0aW9ucywgWW91IG1heSBhY3Qgb25seQorICAgICAgb24gWW91ciBvd24gYmVoYWxmIGFuZCBvbiBZb3VyIHNvbGUgcmVzcG9uc2liaWxpdHksIG5vdCBvbiBiZWhhbGYKKyAgICAgIG9mIGFueSBvdGhlciBDb250cmlidXRvciwgYW5kIG9ubHkgaWYgWW91IGFncmVlIHRvIGluZGVtbmlmeSwKKyAgICAgIGRlZmVuZCwgYW5kIGhvbGQgZWFjaCBDb250cmlidXRvciBoYXJtbGVzcyBmb3IgYW55IGxpYWJpbGl0eQorICAgICAgaW5jdXJyZWQgYnksIG9yIGNsYWltcyBhc3NlcnRlZCBhZ2FpbnN0LCBzdWNoIENvbnRyaWJ1dG9yIGJ5IHJlYXNvbgorICAgICAgb2YgeW91ciBhY2NlcHRpbmcgYW55IHN1Y2ggd2FycmFudHkgb3IgYWRkaXRpb25hbCBsaWFiaWxpdHkuCisKKyAgIEVORCBPRiBURVJNUyBBTkQgQ09ORElUSU9OUworCisgICBBUFBFTkRJWDogSG93IHRvIGFwcGx5IHRoZSBBcGFjaGUgTGljZW5zZSB0byB5b3VyIHdvcmsuCisKKyAgICAgIFRvIGFwcGx5IHRoZSBBcGFjaGUgTGljZW5zZSB0byB5b3VyIHdvcmssIGF0dGFjaCB0aGUgZm9sbG93aW5nCisgICAgICBib2lsZXJwbGF0ZSBub3RpY2UsIHdpdGggdGhlIGZpZWxkcyBlbmNsb3NlZCBieSBicmFja2V0cyAie30iCisgICAgICByZXBsYWNlZCB3aXRoIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uLiAoRG9uJ3QgaW5jbHVkZQorICAgICAgdGhlIGJyYWNrZXRzISkgIFRoZSB0ZXh0IHNob3VsZCBiZSBlbmNsb3NlZCBpbiB0aGUgYXBwcm9wcmlhdGUKKyAgICAgIGNvbW1lbnQgc3ludGF4IGZvciB0aGUgZmlsZSBmb3JtYXQuIFdlIGFsc28gcmVjb21tZW5kIHRoYXQgYQorICAgICAgZmlsZSBvciBjbGFzcyBuYW1lIGFuZCBkZXNjcmlwdGlvbiBvZiBwdXJwb3NlIGJlIGluY2x1ZGVkIG9uIHRoZQorICAgICAgc2FtZSAicHJpbnRlZCBwYWdlIiBhcyB0aGUgY29weXJpZ2h0IG5vdGljZSBmb3IgZWFzaWVyCisgICAgICBpZGVudGlmaWNhdGlvbiB3aXRoaW4gdGhpcmQtcGFydHkgYXJjaGl2ZXMuCisKKyAgIENvcHlyaWdodCB7eXl5eX0ge25hbWUgb2YgY29weXJpZ2h0IG93bmVyfQorCisgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCmRpZmYgLS1naXQgYS9OT1RJQ0UgYi9OT1RJQ0UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRhMmJmMAotLS0gL2Rldi9udWxsCisrKyBiL05PVElDRQpAQCAtMCwwICsxLDU2IEBACitBcGFjaGUgVXNlcmdyaWQgCitDb3B5cmlnaHQgKGMpIFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbi4KKworVGhpcyBwcm9kdWN0IHVzZXMgdGhlIGZvbGxvd2luZyBzb2Z0d2FyZToKKworCisjIFNvZnR3YXJlIGRpc3RyaWJ1dGVkIHdpdGgvY29tcGlsZWQgaW50byBOU3Vic3RpdHV0ZQorCisjIyBDYXN0bGUuQ29yZQorTlN1YnN0aXR1dGUgaXMgYnVpbHQgb24gdGhlIENhc3RsZS5Db3JlIGxpYnJhcnksIHBhcnRpY3VsYXJseSBDYXN0bGUuRHluYW1pY1Byb3h5IAord2hpY2ggaXMgdXNlZCBmb3IgZ2VuZXJhdGluZyBwcm94aWVzIGZvciB0eXBlcyBhbmQgaW50ZXJjZXB0aW5nIGNhbGxzIAorbWFkZSB0byB0aGVtIHNvIHRoYXQgTlN1YnN0aXR1dGUgY2FuIHJlY29yZCB0aGVtLiAKKworQ2FzdGxlLkNvcmUgaXMgbWFpbnRhaW5lZCBieSB0aGUgQ2FzdGxlIFByb2plY3QgW2h0dHA6Ly93d3cuY2FzdGxlcHJvamVjdC5vcmcvXSAKK2FuZCBpcyByZWxlYXNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wIAorW2h0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMC5odG1sXS4KKworIyBTb2Z0d2FyZSB1c2VkIHRvIGhlbHAgYnVpbGQgTlN1YnN0aXR1dGUKKworIyMgTlVuaXQgW2h0dHA6Ly93d3cubnVuaXQub3JnL10KK05Vbml0IGlzIHVzZWQgZm9yIGNvZGluZyBhbmQgcnVubmluZyB1bml0IGFuZCBpbnRlZ3JhdGlvbiB0ZXN0cyBmb3IgTlN1YnN0aXR1dGUuIEl0IGlzIGRpc3RyaWJ1dGVkIHVuZGVyIGFuIG9wZW4gc291cmNlIHpsaWIvbGlicG5nIGJhc2VkIGxpY2Vuc2UgW2h0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvemxpYi1saWNlbnNlLmh0bWxdLgorCisjIyBSaGlubyBNb2NrcyBbaHR0cDovL3d3dy5heWVuZGUuY29tL3Byb2plY3RzL3JoaW5vLW1vY2tzLmFzcHhdCitVc2VkIGZvciBtb2NraW5nIHBhcnRzIG9mIHRoZSBOU3Vic3RpdHV0ZSBtb2NraW5nIGZyYW1ld29yayBmb3IgdGVzdGluZy4gSXQgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJTRCBsaWNlbnNlIFtodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2JzZC1saWNlbnNlLnBocF0uCisKKyMjIE1vcSBbaHR0cDovL21vcS5tZS9dCitNb3EgaXMgbm90IHVzZWQgaW4gTlN1YnN0aXR1dGUsIGJ1dCB3YXMgYSBncmVhdCBzb3VyY2Ugb2YgaW5zcGlyYXRpb24uIE1vcSBwaW9uZWVyZWQgQXJyYW5nZS1BY3QtQXNzZXJ0IChBQUEpIG1vY2tpbmcgc3ludGF4IGZvciAuTkVULCBhcyB3ZWxsIGFzIHJlbW92aW5nIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIG1vY2tzIGFuZCBzdHVicywgYm90aCBvZiB3aGljaCBoYXZlIGJlY29tZSBpbXBvcnRhbnQgcGFydHMgb2YgTlN1YnN0aXR1dGUuIE1vcSBpcyBhdmFpbGFibGUgdW5kZXIgdGhlIEJTRCBsaWNlbnNlIFtodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2JzZC1saWNlbnNlLnBocF0uCisKKyMjIE51UGFjayBbaHR0cDovL251cGFjay5jb2RlcGxleC5jb20vXQorVXNlZCBmb3IgcGFja2FnaW5nIE5TdWJzdGl0dXRlIGZvciBkaXN0cmlidXRpb24gYXMgYSBudSBwYWNrYWdlLiBEaXN0cmlidXRlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wIFtodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAuaHRtbF0uCisKKyMjIEpla3lsbCBbaHR0cDovL2pla3lsbHJiLmNvbS9dCitTdGF0aWMgd2Vic2l0ZSBnZW5lcmF0b3Igd3JpdHRlbiBpbiBSdWJ5LCB1c2VkIGZvciBOU3Vic3RpdHV0ZSdzIHdlYnNpdGUgYW5kIGRvY3VtZW50YXRpb24uIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBbaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ic2QtbGljZW5zZS5waHBdLgorCisjIyBTeW50YXhIaWdobGlnaHRlciBbaHR0cDovL2FsZXhnb3JiYXRjaGV2LmNvbS9TeW50YXhIaWdobGlnaHRlci9dCitPcGVuIHNvdXJjZSwgSmF2YVNjcmlwdCwgY2xpZW50LXNpZGUgY29kZSBoaWdobGlnaHRlciB1c2VkIGZvciBoaWdobGlnaHRpbmcgY29kZSBzYW1wbGVzIG9uIHRoZSBOU3Vic3RpdHV0ZSB3ZWJzaXRlLiBEaXN0cmlidXRlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTUlUX0xpY2Vuc2VdIGFuZCB0aGUgR1BMIFtodHRwOi8vd3d3LmdudS5vcmcvY29weWxlZnQvbGVzc2VyLmh0bWxdLgorCisjIyBSdWJ5IChhbmQgbGlicmFyaWVzKSBbaHR0cDovL3d3dy5ydWJ5LWxhbmcub3JnXQorUnVieSBpcyB1c2VkIGZvciBOU3Vic3RpdHV0ZSdzIGJ1aWxkLiBUaGUgcmFrZSBsaWJyYXJ5IGlzIHVzZWQgdG8gcnVuIHRoZSBidWlsZDsgY3VzdG9tIFJ1YnkgY29kZSBpcyB1c2VkIHRvIGV4dHJhY3QgYW5kIHRlc3QgY29kZSBzYW1wbGVzIGZyb20gZG9jdW1lbnRhdGlvbjsgcnNwZWMgaXMgdXNlZCB0byB0ZXN0IHRoYXQgUnVieSBjb2RlOyBNYXJrZG93biBpcyB1c2VkIGZvciBkb2N1bWVudGF0aW9uOyBnZW1zIGZvciBpbnN0YWxsaW5nIGFsbCB0aGlzIHN0dWZmOyBSdWJ5SW5zdGFsbGVyIGZvciBXaW5kb3dzIGFuZCBEZXZLaXQgZm9yIGludGVyb3Agd2l0aCBXaW5kb3dzOyBhbmQgbXVjaCBtb3JlLiBSdWJ5IGlzIGF3ZXNvbWUsIGFzIGFyZSB0aGUgbWFueSBwcm9qZWN0cyBjb250cmlidXRlZCB0byB0aGUgUnVieSBjb21tdW5pdHkgdGhhdCBtYWtlIGRldmVsb3BlcnMnIGxpdmVzIGF3ZXNvbWUuCisKK1J1YnkgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFJ1YnkgbGljZW5zZSBbaHR0cDovL3d3dy5ydWJ5LWxhbmcub3JnL2VuL0xJQ0VOU0UudHh0XS4gVGhlIGxpYnJhcmllcyBtZW50aW9uZWQgYXJlIGF2YWlsYWJsZSB1bmRlciBhIHZhcmlldHkgb2YgbGljZW5zZXMuIFBsZWFzZSBzZWUgdGhlaXIgd2Vic2l0ZXMgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisKKyMjIE1pY3Jvc29mdCAuTkVUIEZyYW1ld29yayBbaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL25ldC9dCitOU3Vic3RpdHV0ZSBpcyBjb2RlZCBpbiBDIyBhbmQgY29tcGlsZWQgdXNpbmcgTWljcm9zb2Z0IC5ORVQuIEl0IGNhbiBhbHNvIHJ1biBhbmQgY29tcGlsZSB1bmRlciBNb25vIFtodHRwOi8vd3d3Lm1vbm8tcHJvamVjdC5jb21dLCBhbiBvcGVuIHNvdXJjZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgb3BlbiAuTkVUIHN0YW5kYXJkcyBmb3IgQyMgYW5kIHRoZSBDTEkuCisKK01pY3Jvc29mdCdzIC5ORVQgRnJhbWV3b3JrIGlzIGF2YWlsYWJsZSB1bmRlciBhIEVVTEEgKGFuZCBwb3NzaWJseSBvdGhlciBsaWNlbnNlcyBsaWtlIE1TIFJlZmVyZW5jZSBTb3VyY2UgTGljZW5zZSkuCitNb25vIGlzIGF2YWlsYWJsZSB1bmRlciBmb3VyIG9wZW4gc291cmNlIGxpY2Vuc2VzIGZvciBkaWZmZXJlbnQgcGFydHMgb2YgdGhlIHByb2plY3QgKGluY2x1ZGluZyBNSVQvWDExLCBHUEwsIE1TLVBsKS4gVGhlc2UgYXJlIGRlc2NyaWJlZCBvbiB0aGUgcHJvamVjdCBzaXRlIFtodHRwOi8vd3d3Lm1vbm8tcHJvamVjdC5jb20vTGljZW5zaW5nXS4KKworIyMgTWljcm9zb2Z0IElsbWVyZ2UgW2h0dHA6Ly9yZXNlYXJjaC5taWNyb3NvZnQuY29tL2VuLXVzL3Blb3BsZS9tYmFybmV0dC9pbG1lcmdlLmFzcHhdCitVc2VkIGZvciBjb21iaW5pbmcgYXNzZW1ibGllcyBzbyBOU3Vic3RpdHV0ZSBjYW4gYmUgZGlzdHJpYnV0ZWQgYXMgYSBzaW5nbGUgRExMLiBBdmFpbGFibGUgZm9yIHVzZSB1bmRlciBhIEVVTEEgYXMgZGVzY3JpYmVkIG9uIHRoZSBpbG1lcmdlIHNpdGUuCisKKyMjIE1pY3Jvc29mdCBSZWFjdGl2ZSBFeHRlbnNpb25zIGZvciAuTkVUIChSeCkgW2h0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvZGV2bGFicy9lZTc5NDg5Nl0KK1VzZWQgdG8gcHJvdmlkZSAuTkVUIDMuNSB3aXRoIHNvbWUgb2YgdGhlIG5lYXQgY29uY3VycmVuY3kgaGVscGVyIGNsYXNzZXMgdGhhdCBzaGlwIHdpdGggb3V0IG9mIHRoZSBib3ggd2l0aCAuTkVUIDQuMC4gRGlzdHJpYnV0ZWQgdW5kZXIgYSBFVUxBIFtodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2RldmxhYnMvZmYzOTQwOTldLgorCisjIyA3LVppcCBbaHR0cDovL3d3dy43LXppcC5vcmcvXQorNy16aXAgaXMgdXNlZCB0byBaSVAgdXAgTlN1YnN0aXR1dGUgZGlzdHJpYnV0aW9ucyBhcyBwYXJ0IG9mIHRoZSBhdXRvbWF0ZWQgYnVpbGQgcHJvY2Vzcy4gRGlzdHJpYnV0ZWQgdW5kZXIgYSBtaXhlZCBHTlUgTEdQTCAvIHVuUkFSIGxpY2VuY2UgW2h0dHA6Ly93d3cuNy16aXAub3JnL2xpY2Vuc2UudHh0XS4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9SRUFETUUubWQgYi9SRUFETUUubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjA4NjFiNQotLS0gL2Rldi9udWxsCisrKyBiL1JFQURNRS5tZApAQCAtMCwwICsxLDMxNiBAQAorIyBVc2VyZ3JpZCAuTkVUIFNESworCisjIyBWZXJzaW9uCitDdXJyZW50IHZlcnNpb24gaXMgdjAuMS4wLiBBbGwgYXNzZW1ibGllcyBhcmUgbWFya2VkIHdpdGggdGhpcyB2ZXJzaW9uIG51bWJlci4KKworIyMgQXNzZW1ibGllcworU29sdXRpb24gaXMgY29tcG9zZWQgb2YgZm9sbG93aW5nIHByb2plY3RzOgorCisqIFVzZXJncmlkLlNkayAtIHRoaXMgaXMgdGhlIG1haW4gLk5FVCBTREsgcHJvamVjdC4KKyogVXNlcmdyaWQuU2RrLlRlc3RzIC0gdGhpcyBpcyB0aGUgdW5pdCB0ZXN0IHByb2plY3QuCisqIFVzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzIC0gdGhpcyBpcyB0aGUgaW50ZWdyYXRpb24gdGVzdCBwcm9qZWN0LgorCisjIyBDb21tZW50cyBhbmQgUXVlc3Rpb25zCitQbGVhc2UgZmVlbCBmcmVlIHRvIHNlbmQgeW91ciBjb21tZW50cy9zdWdnZXN0aW9ucy9xdWVzdGlvbnMgb25lIG9mIHRoZQorc2V2ZXJhbCBjb21tdW5pY2F0aW9uIHBsYXRmb3Jtcy4gCis8aHR0cDovL3VzZXJncmlkLmFwYWNoZS5vcmcvY29tbXVuaXR5Lz4KKyAgICAKKyMjIE92ZXJ2aWV3CitXZSB3ZWxjb21lIHlvdXIgY29udHJpYnV0aW9ucyBhbmQgc3VnZ2VzdGlvbnMuIFRoZSByZXBvc2l0b3J5IGlzIGxvY2F0ZWQgW2hlcmVdW1JlcG9zaXRvcnlMb2NhdGlvbl0uCisKK1lvdSBjYW4gZG93bmxvYWQgdGhpcyBwYWNrYWdlIGhlcmU6CisKKyogRG93bmxvYWQgYXMgYSBkZXZlbG9wbWVudCBbemlwIGZpbGVdW1ppcEZpbGVMb2NhdGlvbl0gU05BUFNIT1QKKworIyMgSW5zdGFsbGluZworVXNlcmdyaWQgLk5FVCBTREsgY2FuIGJlIGluc3RhbGxlZCB2aWE6CisKKyogQnVpbGQgc291cmNlIGFuZCByZWZlcmVuY2UgVXNlcmdyaWQuU2RrIGFzc2VtYmx5IE9SCisqIFVzZSBOdWdldAorCisjIyMgQnVpbGRpbmcgZnJvbSBTb3VyY2UKK0lmIHlvdSBwcmVmZXIgdG8gYnVpbGQgdGhlIGFzc2VtYmx5IGZyb20gc291cmNlLCBoZWFkIG92ZXIgdG8gW2hlcmVdW1JlcG9zaXRvcnlMb2NhdGlvbl0sIGRvd25sb2FkL2Nsb25lIHRoZSBzb3VyY2UgZmlsZXMgYW5kIGJ1aWxkLiBTb3VyY2UgY2FuIGJlIGNvbXBpbGVkIHZpYSBWUyBTdHVkaW8gMjAxMCBvciB1c2luZyBYYW1hcmluIHRvb2xzLgorCisjIyMgVXNpbmcgTnVnZXQKK0BUT0RPCisKKyMjIyBHZXR0aW5nIFN0YXJ0ZWQKK1RoZSBtYWluIGZhY2FkZSB0byBhbGwgU0RLIGZ1bmN0aW9uYWxpdHkgaXMgcHJvdmlkZWQgYnkgdGhlIENsaWVudCBjbGFzcyAod2hpY2ggY2FuIGFsc28gYmUgaW5qZWN0ZWQgdXNpbmcgSUNsaWVudCk6CisKKwl2YXIgY2xpZW50ID0gbmV3IENsaWVudCgiWW91ck9yZ05hbWUiLCAiWW91ckFwcE5hbWUiKTsKKworQnkgZGVmYXVsdCBhbnkgbWV0aG9kIGludm9rZWQgdXNpbmcgdGhpcyBjbGllbnQgaW50ZXJhY3RzIHdpdGggVXNlcmdyaWQgd2l0aG91dCBhbnkgYXV0aGVudGljYXRpb24gdG9rZW5zLiBZb3UgY2FuIHVzZSB0aGlzIHRvIGFjY2VzcyB5b3VyICJTYW5kYm94IiBhcHBsaWNhdGlvbiB3aGljaCBjb21lcyB3aXRoIGFsbCBuZXcgVXNlcmdyaWQgYWNjb3VudHMgLSBwbGVhc2Ugc2VlIFtDcmVhdGluZyBhIHNhbmRib3ggYXBwXShodHRwOi8vdXNlcmdyaWQuYXBhY2hlLm9yZy9kb2NzL3VzaW5nLXVzZXJncmlkL2NyZWF0aW5nLWEtbmV3LWFwcGxpY2F0aW9uLmh0bWwpIGZvciBtb3JlIGluZm9ybWF0aW9uLgorCitJZiB5b3UgYXJlIHJlYWR5IHRvIGF1dGhlbnRpY2F0ZSwgdGhlbiB5b3UgY2FuIGdldCBhbiBhY2Nlc3MgdG9rZW4gdmlhIGxvZ2luIG1ldGhvZDoKKworCWNsaWVudC5Mb2dpbigibG9naW5JZCIsICJsb2dpblNlY3JldCIsIEF1dGhUeXBlLkNsaWVudElkKTsKKwkKK1RoaXMgbWV0aG9kIGF1dGhlbnRpY2F0ZXMgd2l0aCBVc2VyZ3JpZCBhbmQgYXR0YWNoZXMgdGhlIHJldHJpZXZlZCBhY2Nlc3MgdG9rZW4gdG8gdGhpcyBjbGllbnQgaW5zdGFuY2UuCisKK0Fib3ZlIGV4YW1wbGUgdXNlcyB5b3VyIGNsaWVudCBjcmVkZW50aWFscyB0byBhY2Nlc3MgVXNlcmdyaWQgLSBub3RlIHRoYXQgdGhpcyBpcyBub3QgdGhlIG9ubHkgY3JlZGVudGlhbHMvbWV0aG9kIHlvdSBjYW4gdXNlLCBwbGVhc2Ugc2VlICJBdXRoZW50aWNhdGlvbiIgc2VjdGlvbiBiZWxvdy4KKworWW91IGFyZSBub3cgcmVhZHkgdG8gdXNlIHRoaXMgY2xpZW50IGluc3RhbmNlIHRvIG1ha2UgY2FsbHMgdG8gVXNlcmdyaWQuCisKKyMjIyBSdW5uaW5nIEludGVncmF0aW9uIFRlc3RzCitJbiBvcmRlciB0byBydW4gdGhlIGludGVncmF0aW9uIHRlc3RzLCBkbyB0aGUgZm9sbG93aW5nOgorCisqIE9wZW4gVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMuZGxsLmNvbmZpZyBhbmQgY29uZmlndXJlIGFsbCBjb25maWd1cmF0aW9uIGl0ZW1zIGFjY29yZGluZyB0byB5b3VyIG93biBzZXR1cC4KKyogVGVzdHMgaGF2ZSBiZWVuIGltcGxlbWVudGVkIHVzaW5nIE5Vbml0LCBzbyB5b3UgY2FuIHVzZSBhbnkgTlVuaXQgcnVubmVyIHRvIHJ1biB0aGUgdGVzdHMuCisKKyMjIEF1dGhlbnRpY2F0aW9uCitVc2VyZ3JpZCBBdXRoZW50aWNhdGlvbiBpcyBleHBsYWluZWQgaW4gW1VzZXJncmlkIERvY3VtZW50YXRpb25dKGh0dHA6Ly91c2VyZ3JpZC5hcGFjaGUub3JnL2RvY3MvKS4KKworWW91IGNhbiBhY2Nlc3MgeW91ciBVc2VyZ3JpZCBkYXRhIHVzaW5nIGZvbGxvd2luZyBjcmVkZW50aWFsczoKKworIyMjIE9yZ2FuaXphdGlvbiBBUEkgQ3JlZGVudGlhbHMKK1lvdSBjYW4gZmluZCB5b3VyIG9yZ2FuaXNhdGlvbidzIGNyZWRlbnRpYWxzIG9uIHRoZSAiT3JnIE92ZXJ2aWV3IiBwYWdlIG9mIHRoZSBbQWRtaW4gUG9ydGFsXShodHRwczovL2dpdGh1Yi5jb20vYXBhY2hlL3VzZXJncmlkL3RyZWUvbWFzdGVyL3BvcnRhbCkuIE9uY2UgeW91IGxvY2F0ZWQgeW91ciBvcmdhbmlzYXRpb24gY3JlZGVudGlhbHMsIHlvdSBjYW4gcGFzcyB0aGVtIHRvIHRoZSBMb2dpbiBtZXRob2QgaW5zdGFuY2U6CisKKwljbGllbnQuTG9naW4oImNsaWVudElkIiwgImNsaWVudFNlY3JldCIsIEF1dGhUeXBlLk9yZ2FuaXphdGlvbik7CisKKyMjIyBBcHBsaWNhdGlvbiBDcmVkZW50aWFscworWW91IGNhbiBmaW5kIGFuIGFwcGxpY2F0aW9uJ3MgY3JlZGVudGlhbHMgb24gdGhlICJBcHAgU2V0dGluZ3MiIHBhZ2Ugb2YgdGhlIFtBZG1pbiBQb3J0YWxdKGh0dHBzOi8vZ2l0aHViLmNvbS9hcGFjaGUvdXNlcmdyaWQvdHJlZS9tYXN0ZXIvcG9ydGFsKS4gT25jZSB5b3UgbG9jYXRlZCB5b3VyIGFwcGxpY2F0aW9uIGNyZWRlbnRpYWxzLCB5b3UgY2FuIHBhc3MgdGhlbSB0byB0aGUgTG9naW4gbWV0aG9kOgorCisJY2xpZW50LkxvZ2luKCJhcHBsaWNhdGlvbklkIiwgImFwcGxpY2F0aW9uU2VjcmV0IiwgQXV0aFR5cGUuQXBwbGljYXRpb24pOworCQorIyMjIEFkbWluIGFuZCBVc2VyIENyZWRlbnRpYWxzCitZb3UgY2FuIGZpbmQgYSBsaXN0IG9mIGFsbCBhZG1pbiB1c2VycyBvbiB0aGUgIk9yZyBPdmVydmlldyIgcGFnZSBvZiB0aGUgW0FkbWluIFBvcnRhbF0oaHR0cHM6Ly9naXRodWIuY29tL2FwYWNoZS91c2VyZ3JpZC90cmVlL21hc3Rlci9wb3J0YWwpLiAKKworWW91IGNhbiBwYXNzIHRoZSBjcmVkZW50aWFscyBvZiBhIHVzZXIgKGFkbWluIG9yIG5vcm1hbCB1c2VyKSB0byB0aGUgTG9naW4gbWV0aG9kOgorCisJY2xpZW50LkxvZ2luKCJ1c2VyTG9naW5JZCIsICJ1c2VyU2VjcmV0IiwgQXV0aFR5cGUuVXNlcik7CisKKyMjIEVudGl0aWVzIGFuZCBDb2xsZWN0aW9ucworVXNlcmdyaWQgc3RvcmVzIGl0cyBkYXRhIGFzICJFbnRpdGllcyIgaW4gIkNvbGxlY3Rpb25zIi4gIEVudGl0aWVzIGFyZSBlc3NlbnRpYWxseSBKU09OIG9iamVjdHMgYW5kIENvbGxlY3Rpb25zIGFyZSBqdXN0IGxpa2UgZm9sZGVycyBmb3Igc3RvcmluZyB0aGVzZSBvYmplY3RzLiBZb3UgY2FuIGxlYXJuIG1vcmUgYWJvdXQgRW50aXRpZXMgYW5kIENvbGxlY3Rpb25zIGluIHRoZSBBcHAgU2VydmljZXMgZG9jcy4KKworIyMjIEVudGl0aWVzCitgYGAKK1QgQ3JlYXRlRW50aXR5PFQ+KHN0cmluZyBjb2xsZWN0aW9uLCBUIGVudGl0eSk7Cit2b2lkIERlbGV0ZUVudGl0eShzdHJpbmcgY29sbGVjdGlvbiwgc3RyaW5nIG5hbWUpOwordm9pZCBVcGRhdGVFbnRpdHk8VD4oc3RyaW5nIGNvbGxlY3Rpb24sIHN0cmluZyBpZGVudGlmaWVyLCBUIGVudGl0eSk7CitUIEdldEVudGl0eTxUPihzdHJpbmcgY29sbGVjdGlvbk5hbWUsIHN0cmluZyBpZGVudGlmZXIpOworYGBgCisKK0FsbCBFbnRpdHkgQ1JVRCBvcGVyYXRpb25zIGFyZSBzdXBwb3J0ZWQgYXMgaW5kaXZpZHVhbCBtZXRob2RzIGluIENsaWVudCBjbGFzcy4gU0RLIGhhbmRsZXMgSlNPTiBkZS9zZXJpYWxpc2F0aW9uIG9mIHlvdXIgZW50aXRpZXMuCisKK0V2ZXJ5IGVudGl0eSBpbiBVc2VyZ3JpZCBoYXMgY29tbW9uIGRlZmF1bHQgcHJvcGVydGllcywgbGlrZSBuYW1lLCB1dWlkLCB0eXBlLCBjcmVhdGVkLCBtb2RpZmllZCwgZXRjLiBXaGlsZSBtb2RlbGxpbmcgeW91ciBlbnRpdGllcywgeW91IHNob3VsZCBub3RlIHRoZSBmb2xsb3dpbmc6CisKKyogRWFjaCBlbnRpdHkgaGFzIGEgdW5pcXVlIFVVSUQgYXNzaWduZWQgdG8gaXQuIFlvdSBjYW4gYWxzbyBhc3NpZ24geW91ciBvd24gaWQgcHJvcGVydHkgdG8gYW4gZW50aXR5LgorKiBGb3IgZW50aXRpZXMgb2YgdHlwZSB1c2VyLCB0aGUgdXNlcm5hbWUgcHJvcGVydHkgdmFsdWUgbXVzdCBiZSB1bmlxdWUuCisqIEZvciBhbGwgb3RoZXIgZW50aXR5IHR5cGVzLCB0aGUgbmFtZSBwcm9wZXJ0eSB2YWx1ZSBtdXN0IGJlIHVuaXF1ZSBhbmQgaXMgaW1tdXRhYmxlLiBUaGlzIG1lYW5zIHRoYXQgb25jZSB5b3Ugc2V0IGl0LCBpdCBjYW5ub3QgYmUgY2hhbmdlZC4KKworWW91IGNhbiBtb2RlbCB5b3VyIGVudGl0aWVzIGluIHRoZSBmb2xsb3dpbmcgd2F5czoKKworKiBJbmhlcml0IGZyb20gVXNlcmdyaWRFbnRpdHkgLSBiYXNlIEVudGl0eSBjbGFzcyBpbiAuTkVUIFNESy4gSXQgZGVmaW5lcyBhbGwgY29tbW9uL2RlZmF1bHQgcHJvcGVydGllcyBmb3IgZW50aXRpZXMuIElmIHlvdSBjaG9vc2UgdG8gZGVyaXZlIHlvdXIgb3duIGVudGl0aWVzIGZyb20gVXNlcmdyaWRFbnRpdHksIHRoZW4geW91IGRvbid0IG5lZWQgdG8gZGVhbCB3aXRoIHRoZSBkZWZpbml0aW9uIGFuZCBkZS9zZXJpYWxpc2F0aW9uIG9mIHRob3NlIGRlZmF1bHQgcHJvcGVydGllcy4gVXNlcmdyaWRFbnRpdHkgY29kZSBpcyB1bmRlciBVc2VyZ3JpZC5TREsvTW9kZWwvVXNlcmdyaWRFbnRpdHkuY3MuIFBsZWFzZSBzZWUgU2hvdWxkQ3J1ZFVzZXJncmlkRW50aXR5IG1ldGhvZCBpbiBbRW50aXR5Q3J1ZFRlc3RzLmNzXVtdIHVuZGVyIFVzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzIHByb2plY3QgZm9yIGV4YW1wbGUgdXNhZ2UuCisqIFVzZSB5b3VyIG93biBlbnRpdHkgY2xhc3NlcyAtIGlmIHlvdSBjaG9vc2Ugbm90IHRvIGluaGVyaXQgZnJvbSBVc2VyZ3JpZEVudGl0eSwgdGhlbiB5b3Ugd2lsbCBuZWVkIHRvIGluY2x1ZGUgdGhlIHByb3BlcnRpZXMgdGhhdCB5b3UgY2FyZSBhYm91dCB5b3Vyc2VsZi4gU0RLIHdpbGwgc3RpbGwgaGFuZGxlIHRoZSBKU09OIGRlL3NlcmlhbGlzYXRpb24gZm9yIHlvdXIgZW50aXRpZXMuIFBsZWFzZSBzZWUgU2hvdWxkQ3J1ZFBvY29FbnRpdHkgbWV0aG9kIGluIFtFbnRpdHlDcnVkVGVzdHMuY3NdW10gdW5kZXIgVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMgcHJvamVjdC4gIAorCisjIyMgQ29sbGVjdGlvbnMKK2BgYAorVXNlcmdyaWRDb2xsZWN0aW9uPFQ+IEdldEVudGl0aWVzPFQ+KHN0cmluZyBjb2xsZWN0aW9uLCBpbnQgbGltaXQgPSAxMCwgc3RyaW5nIHF1ZXJ5ID0gbnVsbCk7CitVc2VyZ3JpZENvbGxlY3Rpb248VD4gR2V0TmV4dEVudGl0aWVzPFQ+KHN0cmluZyBjb2xsZWN0aW9uLCBzdHJpbmcgcXVlcnkgPSBudWxsKTsKK1VzZXJncmlkQ29sbGVjdGlvbjxUPiBHZXRQcmV2aW91c0VudGl0aWVzPFQ+KHN0cmluZyBjb2xsZWN0aW9uLCBzdHJpbmcgcXVlcnkgPSBudWxsKTsKK2BgYAorVGhlIENvbGxlY3Rpb24gb2JqZWN0IG1vZGVscyBDb2xsZWN0aW9ucyBpbiB0aGUgZGF0YWJhc2UuICBPbmNlIHlvdSBzdGFydCBwcm9ncmFtbWluZyB5b3VyIGFwcCwgeW91IHdpbGwgbGlrZWx5IGZpbmQgdGhhdCB0aGlzIGlzIHRoZSBtb3N0IHVzZWZ1bCBtZXRob2Qgb2YgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgZGF0YWJhc2UuCisKK1NESyBkZWZpbmVzIGEgY2xhc3MgVXNlcmdyaWRDb2xsZWN0aW9uPFQ+IGluIG9yZGVyIHRvIG1vZGVsIGNvbGxlY3Rpb25zLiBJbXBsZW1lbnRhdGlvbiBpbmhlcml0cyBmcm9tIExpc3Q8VD4gYW5kIGFsc28gc3VwcG9ydHMgcGFnaW5nIHdpdGhpbiB0aGUgY29sbGVjdGlvbiBpdGVtcy4KKworUGxlYXNlIHNlZSBAVE9ETyBsaW5rIHRvIEVudGl0eVBhZ2luZ1Rlc3RzLmNzIGZvciBleGFtcGxlIHBhZ2luZyBpbXBsZW1lbnRhdGlvbi4KKworIyMgVXNlcnMgYW5kIEdyb3VwcworYGBgCitUIEdldFVzZXI8VD4oc3RyaW5nIGlkZW50aWZlciAvKnVzZXJuYW1lIG9yIHV1aWQgb3IgZW1haWwqLykgd2hlcmUgVCA6IFVzZXJncmlkVXNlcjsKK3ZvaWQgQ3JlYXRlVXNlcjxUPihUIHVzZXIpIHdoZXJlIFQgOiBVc2VyZ3JpZFVzZXI7Cit2b2lkIFVwZGF0ZVVzZXI8VD4oVCB1c2VyKSB3aGVyZSBUIDogVXNlcmdyaWRVc2VyOwordm9pZCBEZWxldGVVc2VyKHN0cmluZyBpZGVudGlmZXIgLyp1c2VybmFtZSBvciB1dWlkIG9yIGVtYWlsKi8pOwordm9pZCBDaGFuZ2VQYXNzd29yZChzdHJpbmcgaWRlbnRpZmVyIC8qdXNlcm5hbWUgb3IgdXVpZCBvciBlbWFpbCovLCBzdHJpbmcgb2xkUGFzc3dvcmQsIHN0cmluZyBuZXdQYXNzd29yZCk7Cit2b2lkIENyZWF0ZUdyb3VwPFQ+KFQgZ3JvdXApIHdoZXJlIFQgOiBVc2VyZ3JpZEdyb3VwOwordm9pZCBEZWxldGVHcm91cChzdHJpbmcgcGF0aCk7CitUIEdldEdyb3VwPFQ+KHN0cmluZyBpZGVudGlmZXIgLyp1dWlkIG9yIHBhdGgqLykgd2hlcmUgVCA6IFVzZXJncmlkR3JvdXA7Cit2b2lkIFVwZGF0ZUdyb3VwPFQ+KFQgZ3JvdXApIHdoZXJlIFQgOiBVc2VyZ3JpZEdyb3VwOwordm9pZCBBZGRVc2VyVG9Hcm91cChzdHJpbmcgZ3JvdXBJZGVudGlmaWVyLCBzdHJpbmcgdXNlck5hbWUpOwordm9pZCBEZWxldGVVc2VyRnJvbUdyb3VwKHN0cmluZyBncm91cElkZW50aWZpZXIsIHN0cmluZyB1c2VySWRlbnRpZmllcik7CitgYGAKK0EgdXNlciBlbnRpdHkgcmVwcmVzZW50cyBhbiBhcHBsaWNhdGlvbiB1c2VyLiBVc2luZyBBcHAgc2VydmljZXMgQVBJcyB5b3UgY2FuIGNyZWF0ZSwgcmV0cmlldmUsIHVwZGF0ZSwgZGVsZXRlLCBhbmQgcXVlcnkgdXNlciBlbnRpdGllcy4KKworQSBncm91cCBlbnRpdHkgb3JnYW5pemVzIHVzZXJzIGludG8gYSBncm91cC4gVXNpbmcgQXBwIFNlcnZpY2VzIEFQSXMgeW91IGNhbiBjcmVhdGUsIHJldHJpZXZlLCB1cGRhdGUsIG9yIGRlbGV0ZSBhIGdyb3VwLiBZb3UgY2FuIGFsc28gYWRkIG9yIGRlbGV0ZSBhIHVzZXIgdG8gb3IgZnJvbSBhIGdyb3VwLgorCitTREsgY29udGFpbnMgc3BlY2lhbCBjbGFzc2VzIC0gVXNlcmdyaWRVc2VyIGFuZCBVc2VyZ3JpZEdyb3VwIC0gd2hpY2ggbW9kZWxzIGEgVXNlcmdyaWQgVXNlciBhbmQgR3JvdXAuIFlvdSBjYW4gZGVyaXZlIGZyb20gdGhlc2UgY2xhc3NlcyBhbmQgYWRkIHlvdXIgb3duIHByb3BlcnRpZXMuCitUaGVyZSBhcmUgYSBjb3VwbGUgb2YgdGhpbmdzIHlvdSBuZWVkIHRvIGJlIGF3YXJlIG9mIHdoZW4gd29ya2luZyB3aXRoIHVzZXJzIGFuZCBncm91cHMuCisKK0ZvciB1c2VyczoKKyogVXNlck5hbWUgcHJvcGVydHkgbXVzdCBiZSB1bmlxdWUgYW5kIGl0IGlzIG1hbmRhdG9yeS4KKyogRW1haWwgcHJvcGVydHkgbXVzdCBiZSB1bmlxdWUKKyogRm9yIG1vcmUgaW5mb3JtYXRpb24gY2hlY2sgdGhlIFtkb2N1bWVudGF0aW9uXShodHRwOi8vdXNlcmdyaWQuYXBhY2hlLm9yZy9kb2NzL3VzZXItbWFuYWdlbWVudC91c2VyLW1hbmFnZW1lbnQuaHRtbCkgb24gdXNlcnMuCisKK0ZvciBncm91cHM6CisqIFBhdGggcHJvcGVydHkgbXVzdCBiZSB1bmlxdWUgYW5kIGl0IGlzIG1hbmRhdG9yeS4KKyogRm9yIG1vcmUgaW5mb3JtYXRpb24gY2hlY2sgdGhlIFtkb2N1bWVudGF0aW9uXShodHRwOi8vdXNlcmdyaWQuYXBhY2hlLm9yZy9kb2NzL3VzZXItbWFuYWdlbWVudC91c2VyLW1hbmFnZW1lbnQuaHRtbCkgb24gZ3JvdXBzLgorIAorUGxlYXNlIHNlZSBbR3JvdXBUZXN0cy5jc11bXSBhbmQgW1VzZXJNYW5hZ2VtZW50VGVzdHMuY3NdW10gZm9yIGludGVncmF0aW9uIHRlc3RzLgorCisjIyBBY3Rpdml0aWVzIGFuZCBGZWVkcworYGBgCit2b2lkIFBvc3RBY3Rpdml0eTxUPihzdHJpbmcgdXNlcklkZW50aWZpZXIsIFQgYWN0aXZpdHkpIHdoZXJlIFQ6VXNlcmdyaWRBY3Rpdml0eTsKK3ZvaWQgUG9zdEFjdGl2aXR5VG9Hcm91cDxUPihzdHJpbmcgZ3JvdXBJZGVudGlmaWVyLCBUIGFjdGl2aXR5KSB3aGVyZSBUOlVzZXJncmlkQWN0aXZpdHk7Cit2b2lkIFBvc3RBY3Rpdml0eVRvVXNlcnNGb2xsb3dlcnNJbkdyb3VwPFQ+KHN0cmluZyB1c2VySWRlbnRpZmllciwgc3RyaW5nIGdyb3VwSWRlbnRpZmllciwgVCBhY3Rpdml0eSkgd2hlcmUgVDpVc2VyZ3JpZEFjdGl2aXR5OworVXNlcmdyaWRDb2xsZWN0aW9uPFQ+IEdldFVzZXJBY3Rpdml0aWVzPFQ+KHN0cmluZyB1c2VySWRlbnRpZmllcikgd2hlcmUgVDpVc2VyZ3JpZEFjdGl2aXR5OworVXNlcmdyaWRDb2xsZWN0aW9uPFQ+IEdldEdyb3VwQWN0aXZpdGllczxUPihzdHJpbmcgZ3JvdXBJZGVudGlmaWVyKSB3aGVyZSBUOlVzZXJncmlkQWN0aXZpdHk7CitVc2VyZ3JpZENvbGxlY3Rpb248VD4gR2V0VXNlckZlZWQ8VD4oc3RyaW5nIHVzZXJJZGVudGlmaWVyKSB3aGVyZSBUIDogVXNlcmdyaWRBY3Rpdml0eTsKK1VzZXJncmlkQ29sbGVjdGlvbjxUPiBHZXRHcm91cEZlZWQ8VD4oc3RyaW5nIGdyb3VwSWRlbnRpZmllcikgd2hlcmUgVCA6IFVzZXJncmlkQWN0aXZpdHk7CitgYGAKK0FuIGFjdGl2aXR5IGlzIGFuIGVudGl0eSB0eXBlIHRoYXQgcmVwcmVzZW50cyBhY3Rpdml0eSBzdHJlYW0gKGZlZWQpIGFjdGlvbnMuCisKKyMjIyMgQ3JlYXRpbmcgYW4gYWN0aXZpdHkKKworVGhlIFNESyBwcm92aWRlcyBVc2VyZ3JpZEFjdGl2aXR5IGFuZCBVc2VyZ3JpZEFjdG9yIGNsYXNzZXMgdG8gY3JlYXRlIGFuIGFjdGl2aXR5IGZvciBhIHVzZXIuIEhlcmUgaXMgc29tZSBzYW1wbGUgY29kZSBmcm9tIFtBY3Rpdml0aWVzVGVzdHMuY3NdW10gd2hpY2ggY3JlYXRlcyBhbiBhY3Rpdml0eSBmb3IgYSB1c2VyLgorYGBgCit1c2VyRnJvbVVzZXJncmlkID0gY2xpZW50LkdldFVzZXI8VXNlcmdyaWRVc2VyPiAodXNlcm5hbWUpOworCisvLyBDcmVhdGUgYW4gYWN0aXZpdHkgZm9yIHRoaXMgdXNlcgordmFyIGFjdGl2aXR5RW50aXR5ID0gbmV3IFVzZXJncmlkQWN0aXZpdHkgeworQWN0b3IgPSBuZXcgVXNlcmdyaWRBY3RvcgoreworCURpc3BsYXlOYW1lID0gIkpvZSBEb2UiLAorCUVtYWlsID0gdXNlckZyb21Vc2VyZ3JpZC5FbWFpbCwKKwlVc2VyTmFtZSA9IHVzZXJGcm9tVXNlcmdyaWQuVXNlck5hbWUsCisJVXVpZCA9IHVzZXJGcm9tVXNlcmdyaWQuVXVpZCwKKwlJbWFnZSA9IG5ldyBVc2VyZ3JpZEltYWdlCisJeworCQlIZWlnaHQgPSAxMCwKKwkJV2lkdGggPSAyMCwKKwkJRHVyYXRpb24gPSAwLAorCQlVcmwgPSAiYXBpZ2VlLmNvbSIKKwl9Cit9LAorQ29udGVudCA9ICJIZWxsbyBVc2VyZ3JpZCIsCitWZXJiID0gInBvc3QiCit9OworCitjbGllbnQuUG9zdEFjdGl2aXR5ICh1c2VyRnJvbVVzZXJncmlkLlVzZXJOYW1lLCBhY3Rpdml0eUVudGl0eSk7CitgYGAKK1lvdSBjYW4gYWxzbyBwb3N0IGFuIGFjdGl2aXR5IHRvIGEgZ3JvdXAgd2l0aCB0aGUgUG9zdEFjdGl2aXR5VG9Hcm91cCBtZXRob2QgYGNsaWVudC5Qb3N0QWN0aXZpdHlUb0dyb3VwIChncm91cE5hbWUsIGFjdGl2aXR5RW50aXR5KTtgCisKKworIyMgRGV2aWNlcworYGBgCitUIEdldERldmljZTxUPihzdHJpbmcgaWRlbnRpZmVyKSB3aGVyZSBUIDogVXNlcmdyaWREZXZpY2U7Cit2b2lkIFVwZGF0ZURldmljZTxUPihUIGRldmljZSkgd2hlcmUgVCA6IFVzZXJncmlkRGV2aWNlOwordm9pZCBDcmVhdGVEZXZpY2U8VD4oVCBkZXZpY2UpIHdoZXJlIFQgOiBVc2VyZ3JpZERldmljZTsKK3ZvaWQgRGVsZXRlRGV2aWNlKHN0cmluZyBpZGVudGlmZXIpOworYGBgCitZb3UgY2FuIGRlcml2ZSB5b3VyIG93biBjbGFzcyBmcm9tIFVzZXJkcmlkRGV2aWNlIHRvIGFkZCB5b3VyIG93biBwcm9wZXJ0aWVzIGFuZCBwZXJmb3JtIENSVUQgb3BlcmF0aW9ucyBvbiBkZXZpY2VzLgorICBZb3UgY2FuIGZpbmQgdGhlIGludGVncmF0aW9uIHRlc3RzIGZvciBkZXZpY2VzIGluIFtEZXZpY2VUZXN0cy5jc11bXQorCisjIyBDb25uZWN0aW9ucworYGBgCit2b2lkIENyZWF0ZUNvbm5lY3Rpb24oQ29ubmVjdGlvbiBjb25uZWN0aW9uKTsKK0lMaXN0PFVzZXJncmlkRW50aXR5PiBHZXRDb25uZWN0aW9ucyhDb25uZWN0aW9uIGNvbm5lY3Rpb24pOworSUxpc3Q8VENvbm5lY3RlZT4gR2V0Q29ubmVjdGlvbnM8VENvbm5lY3RlZT4oQ29ubmVjdGlvbiBjb25uZWN0aW9uKTsKK3ZvaWQgRGVsZXRlQ29ubmVjdGlvbihDb25uZWN0aW9uIGNvbm5lY3Rpb24pOworYGBgCisKK0luIHRoZSBTREssIGNvbm5lY3Rpb25zIGFyZSBjb25maWd1cmVkIHdpdGggdGhlIFtDb25uZWN0aW9uXVtdIGNsYXNzLCB3aGljaCBob2xkcyB0aGUgY29ubmVjdG9yL2Nvbm5lY3RlZSBkZXRhaWxzIGFuZCB0aGUgY29ubmVjdGlvbiBuYW1lLkNvbm5lY3Rpb25OYW1lIHByb3BlcnR5IGlzIGEgbWFuZGF0b3J5IGZpZWxkIHdoZW4gbWFuYWdpbmcgdGhlIGNvbm5lY3Rpb25zLiAgCitUbyBjcmVhdGUgYW5kIGRlbGV0ZSBhIGNvbm5lY3Rpb24sIHlvdSdsbCBuZWVkIHRvIHBvcHVsYXRlIGFsbCB0aGUgZmllbGRzIGluIHRoZSBjb25uZWN0aW9uIG9iamVjdC4gIAorQ29ubmVjdGlvbnMgY2FuIHJlZmVyZW5jZSBhbnkgdHlwZSBvZiBlbnRpdHksIGlmIHlvdSB3YW50IHRvIGdldCBhbGwgZW50aXRpZXMgaW4gYSBjb25uZWN0aW9uLCB5b3Ugb25seSBuZWVkIHRvIHBvcHVsYXRlIGNvbm5lY3RvciBkZXRhaWxzIHBsdXMgdGhlIGNvbm5lY3Rpb24gbmFtZSBhbmQgdXNlIHRoZSBub24gZ2VuZXJpYyB2ZXJzaW9uIG9mIHRoZSBHZXRDb25uZWN0aW9ucyBtZXRob2QuIFRoaXMgd2lsbCBnaXZlIHlvdSBhIGxpc3Qgb2YgVXNlcmdyaWRFbnRpdHkuCitgYGAKKy8vZ2V0IHRoZSBjb25uZWN0aW9ucywgc3VwcGx5IG9ubHkgdGhlIGNvbm5lY3RvciBkZXRhaWxzCisvL3dlIGdldCBhIGxpc3Qgb2YgVXNlcmdyaWQgZW50aXRlcworSUxpc3Q8VXNlcmdyaWRFbnRpdHk+IGFsbENvbm5lY3Rpb25zID0gY2xpZW50LkdldENvbm5lY3Rpb25zKG5ldyBDb25uZWN0aW9uKCkKKyAgICB7CisgICAgICAgIENvbm5lY3RvckNvbGxlY3Rpb25OYW1lID0gImN1c3RvbWVycyIsIAorICAgICAgICBDb25uZWN0b3JJZGVudGlmaWVyID0gImN1c3RvbWVyMSIsIAorICAgICAgICBDb25uZWN0aW9uTmFtZSA9ICJoYXMiCisgICAgfSk7CitgYGAKK1RvIGdldCBhIGxpc3Qgb2YgYSBzcGVjaWZpYyB0eXBlIG9mIGFuIGVudGl0eSwgeW91IGFsc28gbmVlZCB0byBwb3B1bGF0ZSB0aGUgY29ubmVjdGVlIGNvbm5lY3Rpb24gbmFtZSBhbmQgdXNlIHRoZSBnZW5lcmljIHZlcnNpb24gb2YgdGhlIEdldENvbm5lY3Rpb25zIG1ldGhvZC4KK2BgYAorLy9ub3csIGp1c3QgZ2V0IHRoZSBvcmRlcnMgZm9yIGN1c3RvbWVyIGZyb20gdGhlIGNvbm5lY3Rpb24KKy8vd2UgbmVlZCB0byBzdXBwbHkgdGhlIGNvbm5lY3RlZSBjb2xsZWN0aW9uIG5hbWUKK0lMaXN0PE9yZGVyPiBvcmRlckNvbm5lY3Rpb25zID0gY2xpZW50LkdldENvbm5lY3Rpb25zPE9yZGVyPihuZXcgQ29ubmVjdGlvbigpCisgICAgeworICAgICAgICBDb25uZWN0b3JDb2xsZWN0aW9uTmFtZSA9ICJjdXN0b21lcnMiLCAKKyAgICAgICAgQ29ubmVjdG9ySWRlbnRpZmllciA9ICJjdXN0b21lcjEiLCAKKyAgICAgICAgQ29ubmVjdGVlQ29sbGVjdGlvbk5hbWUgPSAib3JkZXJzIiwgCisgICAgICAgIENvbm5lY3Rpb25OYW1lID0gImhhcyIKKyAgICB9KTsKK2BgYAorQ2hlY2sgW0Nvbm5lY3Rpb25UZXN0cy5jc11bXSBmb3IgdGhlIGludGVncmF0aW9uIHRlc3RzLCBhbmQgZG9jdW1lbnRhdGlvbiBvbiBbRW50aXR5IHJlbGF0aW9uc2hpcHNdW1VzZXJncmlkRW50aXR5UnJlbGF0aW9uc2hpcHNEb2NdLgorCisjIyBQdXNoIE5vdGlmaWNhdGlvbnMKKworYGBgCit2b2lkIENyZWF0ZU5vdGlmaWVyRm9yQXBwbGUoc3RyaW5nIG5vdGlmaWVyTmFtZSwgc3RyaW5nIGVudmlyb25tZW50LCBzdHJpbmcgcDEyQ2VydGlmaWNhdGVQYXRoKTsKK3ZvaWQgQ3JlYXRlTm90aWZpZXJGb3JBbmRyb2lkKHN0cmluZyBub3RpZmllck5hbWUsIHN0cmluZyBhcGlLZXkpOworVCBHZXROb3RpZmllcjxUPihzdHJpbmcgaWRlbnRpZmVyLyp1dWlkIG9yIG5vdGlmaWVyIG5hbWUqLykgd2hlcmUgVCA6IFVzZXJncmlkTm90aWZpZXI7Cit2b2lkIERlbGV0ZU5vdGlmaWVyKHN0cmluZyBub3RpZmllck5hbWUpOworYGBgCisKK1lvdSBjYW4gc2VuZCBub3RpZmljYXRpb25zIHRvIGRldmljZXMsIHVzZXJzLCBvciBncm91cHMuIEJ1dCBmaXJzdCwgeW91IG5lZWQgdG8gcmVnaXN0ZXIgeW91ciBhcHAgd2l0aCBwdXNoIG5vdGlmaWNhdGlvbiBwcm92aWRlcnMuIFRoaXMgaXMgZXhwbGFpbmVkIGluIGRldGFpbCBbaGVyZV1bUmVnaXN0ZXJZb3VyQXBwRG9jXS4gIAorT25jZSB5b3UndmUgcmdpc3RlcmVkIHlvdXIgYXBwIHlvdSBuZWVkIHRvIGNyZWF0ZSBhIG5vdGlmaWVyIGZvciBpdC4gTm90aWZpZXJzLCB3aGljaCB5b3UgZXhwbGljaXRseSBjcmVhdGUgYW5kIGFkZCB0byBub3RpZmljYXRpb25zLCBjb250YWluIHRoZSBjcmVkZW50aWFscyBuZWNlc3NhcnkgdG8gc2VjdXJlbHkgYWNjZXNzIHB1c2ggbm90aWZpY2F0aW9uIHByb3ZpZGVycy0td2hpY2ggaW4gdHVybiBzZW5kIHlvdXIgbm90aWZpY2F0aW9ucyB0byB0YXJnZXRlZCBkZXZpY2VzLiAKKyMjIyMgQ3JlYXRpbmcgbm90aWZpZXJzCitZb3UgbmVlZCB0byBnaXZlIHlvdXIgbm90aWZpZXIgYSBuYW1lIGFuZCB0aGVuIGNhbGwgdGhlIHJlbGV2YW50IG1ldGhvZCBmb3IgeW91ciBwcm92aWRlciB0byBjcmVhdGUgaXQuIEZvciBleGFtcGxlLCB0byBjcmVhdGUgYSBub3RpZmllciBmb3IgYW5kcm9pZCA6CitgYGAKK2NvbnN0IHN0cmluZyBub3RpZmllck5hbWUgPSAidGVzdF9ub3RpZmllciI7CisuLi4KK2NsaWVudC5DcmVhdGVOb3RpZmllckZvckFuZHJvaWQobm90aWZpZXJOYW1lLCBHb29nbGVBcGlLZXkgLyplLmcuIEFJemFTeUNrWE90QlE3QTlHb0pzU0xxWmxvZF9ZakVmeHh4eHh4eCovKTsKK2BgYAorWW91IGNhbiBjaGVjayBmb3IgZXhpc3RhbmNlIG9mIGEgbm90aWZpZXIgd2l0aCB0aGUgYEdldE5vdGlmaWVyYCBtZXRob2Qgd2hpY2ggZXhwZWN0cyBhIG5vdGlmaWVyIG5hbWUsIGFuZCByZXR1cm5zIGEgW1VzZXJncmlkTm90aWZpZXJdW10uCisjIyMjUHVibGlzaGluZyBub3RpZmljYXRpb25zCitUbyBwdWJsaXNoIGEgbm90aWZpY2F0aW9uIHlvdSBuZWVkIHRvICAKKworKiBDcmVhdGUgbm90aWZpY2F0aW9uIG9iamVjdHMgd2l0aCB5b3VyIG1lc3NhZ2UKKworQXNzdW1pbmcgeW91IGhhdmUgY3JlYXRlZCB0d28gbm90aWZpZXJzIChvbmUgZm9yIGFwcGxlIG9uZSBmb3IgYW5kcm9pZCkKK2BgYAorY29uc3Qgc3RyaW5nIGFwcGxlVGVzdE1lc3NnZSA9ICJ0ZXN0IG1lc3NhZ2UgZm9yIEFwcGxlIjsKK2NvbnN0IHN0cmluZyBhbmRyb2lkVGVzdE1lc3NhZ2UgPSAidGVzdCBtZXNzYWdlIGZvciBBbmRyb2lkIjsKKy4uLgordmFyIGFwcGxlTm90aWZpY2F0aW9uID0gbmV3IEFwcGxlTm90aWZpY2F0aW9uKGFwcGxlTm90aWZpZXJOYW1lLCBhcHBsZVRlc3RNZXNzZ2UsICJjaGltZSIpOwordmFyIGdvb2dsZU5vdGlmaWNhdGlvbiA9IG5ldyBBbmRyb2lkTm90aWZpY2F0aW9uKGdvb2dsZU5vdGlmaWVyTmFtZSwgYW5kcm9pZFRlc3RNZXNzYWdlKTsKK2BgYAorKiAgU2V0dXAgeW91ciByZWNpcGllbnRzCisKK1VzZSBOb3RpZmljYXRpb25SZWNpcGllbnRzIGNsYXNzLCB3aGljaCBwcm92aWRlcyBidWlsZGVyIG1ldGhvZHMgZm9yIHNldHRpbmcgdXAgcmVjaXBpZW50cy4gRm9yIGV4YW1wbGUgaWYgeW91IHdhbnQgdG8gc2VuZCB5b3VyIG1lc3NhZ2UgdG8gYSB1c2VyOgorYGBgCitJTm90aWZpY2F0aW9uUmVjaXBpZW50cyByZWNpcGllbnRzID0gbmV3IE5vdGlmaWNhdGlvblJlY2lwaWVudHMoKS5BZGRVc2VyV2l0aE5hbWUodXNlcm5hbWUpOworYGBgCitZb3UgY2FuIGNoZWNrIHRoZSBiZWhhdmlvdXIgb2YgdGhlIE5vdGlmaWNhdGlvblJlY2lwaWVudHMgY2xhc3MgaW4gW05vdGlmaWNhdGlvblJlY2lwaWVudHNUZXN0c11bXS4KKworKiAgU2V0dXAgc2NoZWR1bGluZworCitZb3UgY2FuIHNjaGVkdWxlIGEgbm90aWZpY2F0aW9uIHRvIGJlIGRlbGl2ZXJlZCBvciB0byBiZSBleGlwcmVkIGF0IGEgY2VydGFpbiBkYXRlIHRpbWUuIFRoaXMgaXMgZG9uZSB1c2luZyBOb3RpZmljYXRpb25TY2hlZHVsZXJTZXR0aW5ncy4gRm9yIGV4YW1wbGUsIGlmIHlvdSB3YW50IHlvdXIgbWVzc2FnZSB0byBiZSBkZWxpdmVyZWQgdG9tb3Jyb3c6CitgYGAKK3ZhciBzY2hlZHVsZXJTZXR0aW5ncyA9IG5ldyBOb3RpZmljYXRpb25TY2hlZHVsZXJTZXR0aW5ncyB7RGVsaXZlckF0ID0gRGF0ZVRpbWUuTm93LkFkZERheXMoMSl9OworYGBgCisKKyogIGFuZCBwdWJsaXNoCisKK1lvdSBjYW4gcHVibGlzaCBtb3JlIHRoYW4gb25lIG5vdGlmaWNhdGlvbiwgUHVibGlzaE5vdGlmaWNhdGlvbiBtZXRob2QgYWNjZXB0cyBhbiBhcnJheSBvZiBub3RpZmljYXRpb25zLCByZWNpcGllbnRzIGFuZCB0aGUgc2NoZWR1bGVyIHNldHRpbmdzOgorCitgYGAKK2NsaWVudC5QdWJsaXNoTm90aWZpY2F0aW9uKG5ldyBOb3RpZmljYXRpb25bXSB7YXBwbGVOb3RpZmljYXRpb24sIGdvb2dsZU5vdGlmaWNhdGlvbn0sIHJlY2lwaWVudHMsIHNjaGVkdWxlclNldHRpbmdzKTsKK2BgYAorCitJbnRlZ3JhdGlvbiB0ZXN0cyBhcmUgaW4gW05vdGlmaWNhdGlvblRlc3RzLmNzXVtdLCBhbmQgeW91IGNhbiByZWFkIGFib3V0IHRoZSBwdXNoIG5vdGlmaWNhdGlvbnMgaW4gVXNlcmdyaWQgZG9jdW1lbnRhdGlvbiBbaGVyZV1bUHVzaE5vdGlmaWNhdGlvbnNEb2NdLgorCisKKworPCEtLS1Db2RlIHJlZmVyZW5jZS0tPgorW0dyb3VwVGVzdHMuY3NdOiBAVE9ETworW1VzZXJNYW5hZ2VtZW50VGVzdHMuY3NdOiBAVE9ETworW0FjdGl2aXRpZXNUZXN0cy5jc106IEBUT0RPCitbRGV2aWNlVGVzdHMuY3NdOiBAVE9ETworW0Nvbm5lY3Rpb25dOiBAVE9ETworW0Nvbm5lY3Rpb25UZXN0cy5jc106IEBUT0RPCitbUmVwb3NpdG9yeUxvY2F0aW9uXTogaHR0cHM6Ly9naXRodWIuY29tL2FwYWNoZS91c2VyZ3JpZC1kb3RuZXQKK1taaXBGaWxlTG9jYXRpb25dOiBAVE9ETworW1Rhckd6RmlsZUxvY2F0aW9uXTogQFRPRE8KK1tFbnRpdHlDcnVkVGVzdHMuY3NdOiBAVE9ETworCisKK1tVc2VyZ3JpZE5vdGlmaWVyXTogQFRPRE8KK1tOb3RpZmljYXRpb25SZWNpcGllbnRzVGVzdHNdOiBAVE9ETworW05vdGlmaWNhdGlvblRlc3RzLmNzXTogQFRPRE8KKzwhLS0tRG9jcy0tPgorW1B1c2hOb3RpZmljYXRpb25zRG9jXTogaHR0cDovL3VzZXJncmlkLmFwYWNoZS5vcmcvZG9jcy9wdXNoLW5vdGlmaWNhdGlvbnMvb3ZlcnZpZXcuaHRtbAorW1JlZ2lzdGVyWW91ckFwcERvY106IEBUT0RPCitbVXNlcmdyaWRFbnRpdHlScmVsYXRpb25zaGlwc0RvY106QFRPRE8KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzL0FjdGl2aXRpZXNUZXN0cy5jcyBiL1VzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzL0FjdGl2aXRpZXNUZXN0cy5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OWJmMmVmCi0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMvQWN0aXZpdGllc1Rlc3RzLmNzCkBAIC0wLDAgKzEsMTc0IEBACisvLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKwordXNpbmcgU3lzdGVtOwordXNpbmcgTlVuaXQuRnJhbWV3b3JrOwordXNpbmcgVXNlcmdyaWQuU2RrLk1vZGVsOworCituYW1lc3BhY2UgVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMKK3sKKwlbVGVzdEZpeHR1cmVdCisJcHVibGljIGNsYXNzIEFjdGl2aXRpZXNUZXN0cyA6IEJhc2VUZXN0CisJeworICAgICAgICBwcml2YXRlIElDbGllbnQgX2NsaWVudDsKKyAgICAgICAgW1NldFVwXQorICAgICAgICBwdWJsaWMgdm9pZCBTZXR1cCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIF9jbGllbnQgPSBJbml0aWFsaXplQ2xpZW50QW5kTG9naW4oQXV0aFR5cGUuT3JnYW5pemF0aW9uKTsKKyAgICAgICAgfQorCisJCVtUZXN0XQorCQlwdWJsaWMgdm9pZCBTaG91bGRDcmVhdGVBbmRSZXRyaWV2ZVVzZXJBY3Rpdml0aWVzKCkKKwkJeworICAgICAgICAgICAgLy8gQ3JlYXRlIGEgdXNlcgorICAgICAgICAgICAgdmFyIHVzZXJncmlkVXNlciA9IFNldHVwVXNlcmdyaWRVc2VyKF9jbGllbnQsIG5ldyBVc2VyZ3JpZFVzZXIgeyBVc2VyTmFtZSA9ICJ0ZXN0X3VzZXIiLCBFbWFpbCA9ICJ0ZXN0X3VzZXJAYXBpZ2VlLmNvbSIgfSk7CisJCQkvLyBDcmVhdGUgYW4gYWN0aXZpdHkgZm9yIHRoaXMgdXNlcgorCQkJdmFyIGFjdGl2aXR5RW50aXR5ID0gbmV3IFVzZXJncmlkQWN0aXZpdHkgeworCQkJCUFjdG9yID0gbmV3IFVzZXJncmlkQWN0b3IKKwkJCQl7CisJCQkJCURpc3BsYXlOYW1lID0gIkpvZSBEb2UiLAorICAgICAgICAgICAgICAgICAgICBFbWFpbCA9IHVzZXJncmlkVXNlci5FbWFpbCwKKyAgICAgICAgICAgICAgICAgICAgVXNlck5hbWUgPSB1c2VyZ3JpZFVzZXIuVXNlck5hbWUsCisgICAgICAgICAgICAgICAgICAgIFV1aWQgPSB1c2VyZ3JpZFVzZXIuVXVpZCwKKwkJCQkJSW1hZ2UgPSBuZXcgVXNlcmdyaWRJbWFnZQorCQkJCQl7CisJCQkJCQlIZWlnaHQgPSAxMCwKKwkJCQkJCVdpZHRoID0gMjAsCisJCQkJCQlEdXJhdGlvbiA9IDAsCisJCQkJCQlVcmwgPSAiYXBpZ2VlLmNvbSIKKwkJCQkJfQorCQkJCX0sCisJCQkJQ29udGVudCA9ICJIZWxsbyBVc2VyZ3JpZCIsCisJCQkJVmVyYiA9ICJwb3N0IgorCQkJfTsKKworICAgICAgICAgICAgX2NsaWVudC5Qb3N0QWN0aXZpdHkodXNlcmdyaWRVc2VyLlVzZXJOYW1lLCBhY3Rpdml0eUVudGl0eSk7CisKKwkJCS8vIEdldCB0aGUgYWN0aXZpdGllcworICAgICAgICAgICAgdmFyIGFjdGl2aXRpZXMgPSBfY2xpZW50LkdldFVzZXJBY3Rpdml0aWVzPFVzZXJncmlkQWN0aXZpdHk+KHVzZXJncmlkVXNlci5Vc2VyTmFtZSk7CisJCQlBc3NlcnQuSXNOb3ROdWxsIChhY3Rpdml0aWVzKTsKKwkJCUFzc2VydC5BcmVFcXVhbCAoMSwgYWN0aXZpdGllcy5Db3VudCk7CisJCQl2YXIgdGhpc0FjdGl2aXR5ID0gYWN0aXZpdGllcyBbMF07CisJCQlBc3NlcnQuQXJlRXF1YWwgKCJKb2UgRG9lIiwgdGhpc0FjdGl2aXR5LkFjdG9yLkRpc3BsYXlOYW1lKTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCh1c2VyZ3JpZFVzZXIuRW1haWwsIHRoaXNBY3Rpdml0eS5BY3Rvci5FbWFpbCk7CisJCQlBc3NlcnQuQXJlRXF1YWwgKDEwLCB0aGlzQWN0aXZpdHkuQWN0b3IuSW1hZ2UuSGVpZ2h0KTsKKwkJCUFzc2VydC5BcmVFcXVhbCAoMjAsIHRoaXNBY3Rpdml0eS5BY3Rvci5JbWFnZS5XaWR0aCk7CisJCQlBc3NlcnQuQXJlRXF1YWwgKCJIZWxsbyBVc2VyZ3JpZCIsIHRoaXNBY3Rpdml0eS5Db250ZW50KTsKKwkJCUFzc2VydC5Jc1RydWUgKHRoaXNBY3Rpdml0eS5QdWJsaXNoZWREYXRlID4gRGF0ZVRpbWUuTm93LlRvVW5pdmVyc2FsVGltZSgpLkFkZEhvdXJzKC0xKSk7CisKKwkJCS8vIEdldCB0aGUgZmVlZAorICAgICAgICAgICAgdmFyIGZlZWQgPSBfY2xpZW50LkdldFVzZXJGZWVkPFVzZXJncmlkQWN0aXZpdHk+KHVzZXJncmlkVXNlci5Vc2VyTmFtZSk7CisJCQlBc3NlcnQuSXNOb3ROdWxsIChmZWVkKTsKKwkJCUFzc2VydC5BcmVFcXVhbCAoMSwgZmVlZC5Db3VudCk7CisJCQl0aGlzQWN0aXZpdHkgPSBmZWVkIFswXTsKKwkJCUFzc2VydC5BcmVFcXVhbCAoIkpvZSBEb2UiLCB0aGlzQWN0aXZpdHkuQWN0b3IuRGlzcGxheU5hbWUpOworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKHVzZXJncmlkVXNlci5FbWFpbCwgdGhpc0FjdGl2aXR5LkFjdG9yLkVtYWlsKTsKKwkJCUFzc2VydC5BcmVFcXVhbCAoMTAsIHRoaXNBY3Rpdml0eS5BY3Rvci5JbWFnZS5IZWlnaHQpOworCQkJQXNzZXJ0LkFyZUVxdWFsICgyMCwgdGhpc0FjdGl2aXR5LkFjdG9yLkltYWdlLldpZHRoKTsKKwkJCUFzc2VydC5BcmVFcXVhbCAoIkhlbGxvIFVzZXJncmlkIiwgdGhpc0FjdGl2aXR5LkNvbnRlbnQpOworCQkJQXNzZXJ0LklzVHJ1ZSAodGhpc0FjdGl2aXR5LlB1Ymxpc2hlZERhdGUgPiBEYXRlVGltZS5Ob3cuVG9Vbml2ZXJzYWxUaW1lKCkuQWRkSG91cnMoLTEpKTsKKwkJfQorCisJCVtUZXN0XQorCQlwdWJsaWMgdm9pZCBTaG91bGRDcmVhdGVBbmRSZXRyaWV2ZUdyb3VwQWN0aXZpdGllcygpCisJCXsKKworICAgICAgICAgICAgLy8gQ3JlYXRlIGEgdXNlcgorICAgICAgICAgICAgdmFyIHVzZXJncmlkVXNlciA9IFNldHVwVXNlcmdyaWRVc2VyKF9jbGllbnQsIG5ldyBVc2VyZ3JpZFVzZXIgeyBVc2VyTmFtZSA9ICJ0ZXN0X3VzZXIiLCBFbWFpbCA9ICJ0ZXN0X3VzZXJAYXBpZ2VlLmNvbSIgfSk7CisgICAgICAgICAgICAvLyBDcmVhdGUgYSBncm91cAorICAgICAgICAgICAgdmFyIHVzZXJncmlkR3JvdXAgPSBTZXR1cFVzZXJncmlkR3JvdXAoX2NsaWVudCwgbmV3IFVzZXJncmlkR3JvdXAgeyBQYXRoID0gInRlc3QtZ3JvdXAiLCBUaXRsZSA9ICJteWdyb3VwdGl0bGUiIH0pOworCisJCQkvLyBDcmVhdGUgYW4gYWN0aXZpdHkgZm9yIHRoaXMgZ3JvdXAKKwkJCXZhciBhY3Rpdml0eUVudGl0eSA9IG5ldyBVc2VyZ3JpZEFjdGl2aXR5IHsKKwkJCQlBY3RvciA9IG5ldyBVc2VyZ3JpZEFjdG9yCisJCQkJeworCQkJCQlEaXNwbGF5TmFtZSA9ICJKb2UgRG9lIiwKKyAgICAgICAgICAgICAgICAgICAgRW1haWwgPSB1c2VyZ3JpZFVzZXIuRW1haWwsCisgICAgICAgICAgICAgICAgICAgIFVzZXJOYW1lID0gdXNlcmdyaWRVc2VyLlVzZXJOYW1lLAorICAgICAgICAgICAgICAgICAgICBVdWlkID0gdXNlcmdyaWRVc2VyLlV1aWQsCisJCQkJCUltYWdlID0gbmV3IFVzZXJncmlkSW1hZ2UKKwkJCQkJeworCQkJCQkJSGVpZ2h0ID0gMTAsCisJCQkJCQlXaWR0aCA9IDIwLAorCQkJCQkJRHVyYXRpb24gPSAwLAorCQkJCQkJVXJsID0gImFwaWdlZS5jb20iCisJCQkJCX0KKwkJCQl9LAorCQkJCUNvbnRlbnQgPSAiSGVsbG8gVXNlcmdyaWQiLAorCQkJCVZlcmIgPSAicG9zdCIKKwkJCX07CisKKyAgICAgICAgICAgIF9jbGllbnQuUG9zdEFjdGl2aXR5VG9Hcm91cCh1c2VyZ3JpZEdyb3VwLlBhdGgsIGFjdGl2aXR5RW50aXR5KTsKKworCQkJLy8gR2V0IHRoZSBhY3Rpdml0aWVzCisgICAgICAgICAgICB2YXIgYWN0aXZpdGllcyA9IF9jbGllbnQuR2V0R3JvdXBBY3Rpdml0aWVzPFVzZXJncmlkQWN0aXZpdHk+KHVzZXJncmlkR3JvdXAuUGF0aCk7CisJCQlBc3NlcnQuSXNOb3ROdWxsIChhY3Rpdml0aWVzKTsKKwkJCUFzc2VydC5BcmVFcXVhbCAoMSwgYWN0aXZpdGllcy5Db3VudCk7CisJCQl2YXIgdGhpc0FjdGl2aXR5ID0gYWN0aXZpdGllcyBbMF07CisJCQlBc3NlcnQuQXJlRXF1YWwgKCJKb2UgRG9lIiwgdGhpc0FjdGl2aXR5LkFjdG9yLkRpc3BsYXlOYW1lKTsKKwkJCUFzc2VydC5BcmVFcXVhbCAodXNlcmdyaWRVc2VyLkVtYWlsLCB0aGlzQWN0aXZpdHkuQWN0b3IuRW1haWwpOworCQkJQXNzZXJ0LkFyZUVxdWFsICgxMCwgdGhpc0FjdGl2aXR5LkFjdG9yLkltYWdlLkhlaWdodCk7CisJCQlBc3NlcnQuQXJlRXF1YWwgKDIwLCB0aGlzQWN0aXZpdHkuQWN0b3IuSW1hZ2UuV2lkdGgpOworCQkJQXNzZXJ0LkFyZUVxdWFsICgiSGVsbG8gVXNlcmdyaWQiLCB0aGlzQWN0aXZpdHkuQ29udGVudCk7CisJCQlBc3NlcnQuSXNUcnVlICh0aGlzQWN0aXZpdHkuUHVibGlzaGVkRGF0ZSA+IERhdGVUaW1lLk5vdy5Ub1VuaXZlcnNhbFRpbWUoKS5BZGRIb3VycygtMSkpOworCisJCQkvLyBHZXQgdGhlIGZlZWQKKyAgICAgICAgICAgIHZhciBmZWVkID0gX2NsaWVudC5HZXRHcm91cEZlZWQ8VXNlcmdyaWRBY3Rpdml0eT4odXNlcmdyaWRHcm91cC5QYXRoKTsKKwkJCUFzc2VydC5Jc05vdE51bGwgKGZlZWQpOworCQkJQXNzZXJ0LkFyZUVxdWFsICgxLCBmZWVkLkNvdW50KTsKKwkJCXRoaXNBY3Rpdml0eSA9IGZlZWQgWzBdOworCQkJQXNzZXJ0LkFyZUVxdWFsICgiSm9lIERvZSIsIHRoaXNBY3Rpdml0eS5BY3Rvci5EaXNwbGF5TmFtZSk7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwodXNlcmdyaWRVc2VyLkVtYWlsLCB0aGlzQWN0aXZpdHkuQWN0b3IuRW1haWwpOworCQkJQXNzZXJ0LkFyZUVxdWFsICgxMCwgdGhpc0FjdGl2aXR5LkFjdG9yLkltYWdlLkhlaWdodCk7CisJCQlBc3NlcnQuQXJlRXF1YWwgKDIwLCB0aGlzQWN0aXZpdHkuQWN0b3IuSW1hZ2UuV2lkdGgpOworCQkJQXNzZXJ0LkFyZUVxdWFsICgiSGVsbG8gVXNlcmdyaWQiLCB0aGlzQWN0aXZpdHkuQ29udGVudCk7CisJCQlBc3NlcnQuSXNUcnVlICh0aGlzQWN0aXZpdHkuUHVibGlzaGVkRGF0ZSA+IERhdGVUaW1lLk5vdy5Ub1VuaXZlcnNhbFRpbWUoKS5BZGRIb3VycygtMSkpOworCQl9CisJCisJCVtUZXN0XQorCQlwdWJsaWMgdm9pZCBTaG91bGRDcmVhdGVBbmRSZXRyaWV2ZVVzZXJzRm9sbG93ZXJzQWN0aXZpdGllcygpCisJCXsKKwkJCQorCisgICAgICAgICAgICAvLyBDcmVhdGUgYSB1c2VyCisgICAgICAgICAgICB2YXIgdXNlcmdyaWRVc2VyID0gU2V0dXBVc2VyZ3JpZFVzZXIoX2NsaWVudCwgbmV3IFVzZXJncmlkVXNlciB7IFVzZXJOYW1lID0gInRlc3RfdXNlciIsIEVtYWlsID0gInRlc3RfdXNlckBhcGlnZWUuY29tIiB9KTsKKyAgICAgICAgICAgIC8vIENyZWF0ZSBhIGdyb3VwCisgICAgICAgICAgICB2YXIgdXNlcmdyaWRHcm91cCA9IFNldHVwVXNlcmdyaWRHcm91cChfY2xpZW50LCBuZXcgVXNlcmdyaWRHcm91cCB7IFBhdGggPSAidGVzdC1ncm91cCIsIFRpdGxlID0gIm15Z3JvdXB0aXRsZSIgfSk7CisKKworCQkJLy8gQ3JlYXRlIGFuIGFjdGl2aXR5IGZvciB0aGlzIGdyb3VwCisgICAgICAgICAgICB2YXIgYWN0aXZpdHlFbnRpdHkgPSBuZXcgVXNlcmdyaWRBY3Rpdml0eSh1c2VyZ3JpZFVzZXIpCisgICAgICAgICAgICB7CisJCQkJQ29udGVudCA9ICJIZWxsbyBVc2VyZ3JpZCIsCisJCQkJVmVyYiA9ICJwb3N0IgorCQkJfTsKKworICAgICAgICAgICAgX2NsaWVudC5Qb3N0QWN0aXZpdHlUb1VzZXJzRm9sbG93ZXJzSW5Hcm91cCh1c2VyZ3JpZFVzZXIuVXNlck5hbWUsIHVzZXJncmlkR3JvdXAuUGF0aCwgYWN0aXZpdHlFbnRpdHkpOworCisJCQkvLyBHZXQgdGhlIGFjdGl2aXRpZXMKKyAgICAgICAgICAgIHZhciBhY3Rpdml0aWVzID0gX2NsaWVudC5HZXRVc2VyQWN0aXZpdGllczxVc2VyZ3JpZEFjdGl2aXR5Pih1c2VyZ3JpZFVzZXIuVXNlck5hbWUpOworCQkJQXNzZXJ0LklzTm90TnVsbCAoYWN0aXZpdGllcyk7CisJCQlBc3NlcnQuQXJlRXF1YWwgKDEsIGFjdGl2aXRpZXMuQ291bnQpOworCQkJdmFyIHRoaXNBY3Rpdml0eSA9IGFjdGl2aXRpZXMgWzBdOworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKHVzZXJncmlkVXNlci5OYW1lLCB0aGlzQWN0aXZpdHkuQWN0b3IuRGlzcGxheU5hbWUpOworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKHVzZXJncmlkVXNlci5FbWFpbCwgdGhpc0FjdGl2aXR5LkFjdG9yLkVtYWlsKTsKKwkJCUFzc2VydC5Jc051bGwgKHRoaXNBY3Rpdml0eS5BY3Rvci5JbWFnZSk7CisJCQlBc3NlcnQuQXJlRXF1YWwgKCJIZWxsbyBVc2VyZ3JpZCIsIHRoaXNBY3Rpdml0eS5Db250ZW50KTsKKwkJCUFzc2VydC5Jc1RydWUgKHRoaXNBY3Rpdml0eS5QdWJsaXNoZWREYXRlID4gRGF0ZVRpbWUuTm93LlRvVW5pdmVyc2FsVGltZSgpLkFkZEhvdXJzKC0xKSk7CisJCX0KKwl9CisKK30KKwpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMvQmFzZVRlc3QuY3MgYi9Vc2VyZ3JpZC5TZGsuSW50ZWdyYXRpb25UZXN0cy9CYXNlVGVzdC5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODNjZjdlCi0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMvQmFzZVRlc3QuY3MKQEAgLTAsMCArMSwxNjMgQEAKKy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBTeXN0ZW07Cit1c2luZyBTeXN0ZW0uQ29uZmlndXJhdGlvbjsKK3VzaW5nIFVzZXJncmlkLlNkay5Nb2RlbDsKKworbmFtZXNwYWNlIFVzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzCit7CisJcHVibGljIGNsYXNzIEJhc2VUZXN0CisJeworCQlwcml2YXRlIHN0YXRpYyBSYW5kb20gcmFuZG9tID0gbmV3IFJhbmRvbShEYXRlVGltZS5Ob3cuTWlsbGlzZWNvbmQpOworCisJICAgIHByaXZhdGUgcmVhZG9ubHkgQ29uZmlndXJhdGlvbiBfY29uZmlnOworCSAgICBwdWJsaWMgQmFzZVRlc3QoKQorCSAgICB7CisgICAgICAgICAgICB2YXIgY29uZmlnTWFwID0gbmV3IEV4ZUNvbmZpZ3VyYXRpb25GaWxlTWFwIHtFeGVDb25maWdGaWxlbmFtZSA9ICJNeVNldHRpbmdzLmNvbmZpZyJ9OworCQkJQ29uZmlndXJhdGlvbiBjb25maWcgPSBDb25maWd1cmF0aW9uTWFuYWdlci5PcGVuTWFwcGVkRXhlQ29uZmlndXJhdGlvbihjb25maWdNYXAsIENvbmZpZ3VyYXRpb25Vc2VyTGV2ZWwuTm9uZSk7CisJICAgICAgICBpZiAoY29uZmlnLkhhc0ZpbGUgJiYgY29uZmlnLkFwcFNldHRpbmdzLlNldHRpbmdzLkNvdW50ID4gMCkKKwkgICAgICAgICAgICBfY29uZmlnID0gY29uZmlnOworCSAgICB9CisKKyAgICAgICAgLy8vIDxzdW1tYXJ5PgorICAgICAgICAvLy8gVGhlIFVSSSBvZiB0aGUgVXNlcmdyaWQgQVBJLCB3aGljaCBkZWZhdWx0cyB0byBhcGkudXNlcmdyaWQuY29tIGlmIG5vbmUgaXMgc3BlY2lmaWVkLCBqdXN0IGxpa2UgdGhlIENsaWVudCBvYmplY3QgZG9lcworICAgICAgICAvLy8gPC9zdW1tYXJ5PgorICAgICAgICBwcm90ZWN0ZWQgc3RyaW5nIEFwaVVyaQorICAgICAgICB7CisgICAgICAgICAgICBnZXQKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB2YXIgYXBpVXJpID0gR2V0QXBwU2V0dGluZygiYXBpVXJpIik7CisgICAgICAgICAgICAgICAgaWYgKFN0cmluZy5Jc051bGxPcldoaXRlU3BhY2UoYXBpVXJpKSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGFwaVVyaSA9ICJodHRwOi8vYXBpLnVzZXJncmlkLmNvbSI7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgcmV0dXJuIGFwaVVyaTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIHByb3RlY3RlZCBzdHJpbmcgT3JnYW5pemF0aW9uCisJCXsKKwkJCWdldHsgcmV0dXJuIEdldEFwcFNldHRpbmcoIm9yZ2FuaXphdGlvbiIpO30KKwkJfQorCisJCXByb3RlY3RlZCBzdHJpbmcgQXBwbGljYXRpb24KKwkJeworCQkJZ2V0eyByZXR1cm4gR2V0QXBwU2V0dGluZygiYXBwbGljYXRpb24iKTt9CisJCX0KKworCQlwcm90ZWN0ZWQgc3RyaW5nIENsaWVudElkCisJCXsKKwkJCWdldCB7IHJldHVybiBHZXRBcHBTZXR0aW5nKCJjbGllbnRJZCIpO30KKwkJfQorCisJCXByb3RlY3RlZCBzdHJpbmcgQ2xpZW50U2VjcmV0CisJCXsKKwkJCWdldHsgcmV0dXJuIEdldEFwcFNldHRpbmcoImNsaWVudFNlY3JldCIpO30KKwkJfQorCisJCXByb3RlY3RlZCBzdHJpbmcgQXBwbGljYXRpb25JZAorCQl7CisJCQlnZXQge3JldHVybiBHZXRBcHBTZXR0aW5nKCJhcHBsaWNhdGlvbklkIik7fQorCQl9CisKKwkJcHJvdGVjdGVkIHN0cmluZyBBcHBsaWNhdGlvblNlY3JldAorCQl7CisJCQlnZXQge3JldHVybiBHZXRBcHBTZXR0aW5nICgiYXBwbGljYXRpb25TZWNyZXQiKTt9CisJCX0KKworCQlwcm90ZWN0ZWQgc3RyaW5nIFVzZXJJZAorCQl7CisJCQlnZXQgeyByZXR1cm4gR2V0QXBwU2V0dGluZygidXNlcklkIik7fQorCQl9CisKKwkJcHJvdGVjdGVkIHN0cmluZyBVc2VyU2VjcmV0CisJCXsKKwkJCWdldHsgcmV0dXJuIEdldEFwcFNldHRpbmcoInVzZXJTZWNyZXQiKTt9CisJCX0KKworICAgICAgICBwcm90ZWN0ZWQgc3RyaW5nIFAxMkNlcnRpZmljYXRlUGF0aAorCQl7CisgICAgICAgICAgICBnZXQgeyByZXR1cm4gR2V0QXBwU2V0dGluZygicDEyQ2VydGlmaWNhdGVQYXRoIik7IH0KKwkJfQorCisgICAgICAgIHByb3RlY3RlZCBzdHJpbmcgR29vZ2xlQXBpS2V5CisJCXsKKyAgICAgICAgICAgIGdldCB7IHJldHVybiBHZXRBcHBTZXR0aW5nKCJnb29nbGVBcGlLZXkiKTsgfQorCQl9CisKKyAgICAgICAgcHJpdmF0ZSBzdHJpbmcgR2V0QXBwU2V0dGluZyhzdHJpbmcga2V5KQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gX2NvbmZpZyA9PSBudWxsID8gQ29uZmlndXJhdGlvbk1hbmFnZXIuQXBwU2V0dGluZ3Nba2V5XSA6IF9jb25maWcuQXBwU2V0dGluZ3MuU2V0dGluZ3Nba2V5XT8uVmFsdWU7CisgICAgICAgIH0KKworICAgICAgICBwcm90ZWN0ZWQgSUNsaWVudCBJbml0aWFsaXplQ2xpZW50QW5kTG9naW4oQXV0aFR5cGUgYXV0aFR5cGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBjbGllbnQgPSBuZXcgQ2xpZW50KE9yZ2FuaXphdGlvbiwgQXBwbGljYXRpb24sIEFwaVVyaSk7CisgICAgICAgICAgICBpZiAoYXV0aFR5cGUgPT0gQXV0aFR5cGUuQXBwbGljYXRpb24gfHwgYXV0aFR5cGUgPT0gQXV0aFR5cGUuT3JnYW5pemF0aW9uKQorICAgICAgICAgICAgICAgIGNsaWVudC5Mb2dpbihDbGllbnRJZCwgQ2xpZW50U2VjcmV0LCBhdXRoVHlwZSk7CisgICAgICAgICAgICBlbHNlIGlmIChhdXRoVHlwZSA9PSBBdXRoVHlwZS5Vc2VyKQorICAgICAgICAgICAgICAgIGNsaWVudC5Mb2dpbihVc2VySWQsIFVzZXJTZWNyZXQsIGF1dGhUeXBlKTsKKworICAgICAgICAgICAgcmV0dXJuIGNsaWVudDsKKyAgICAgICAgfQorCisJCXByb3RlY3RlZCBzdGF0aWMgaW50IEdldFJhbmRvbUludGVnZXIoaW50IG1pblZhbHVlLCBpbnQgbWF4VmFsdWUpCisJCXsKKwkJCXJldHVybiByYW5kb20uTmV4dCAobWluVmFsdWUsIG1heFZhbHVlKTsKKwkJfQorCisJICAgIHByb3RlY3RlZCB2b2lkIERlbGV0ZUVudGl0eUlmRXhpc3RzPFRFbnRpdHk+KElDbGllbnQgY2xpZW50LCBzdHJpbmcgY29sbGVjdGlvbk5hbWUsIHN0cmluZyBlbnRpdHlJZGVudGlmaWVyKQorCSAgICB7CisJICAgICAgICBURW50aXR5IGN1c3RvbWVyID0gY2xpZW50LkdldEVudGl0eTxURW50aXR5Pihjb2xsZWN0aW9uTmFtZSwgZW50aXR5SWRlbnRpZmllcik7CisKKwkgICAgICAgIGlmIChjdXN0b21lciAhPSBudWxsKQorCSAgICAgICAgICAgIGNsaWVudC5EZWxldGVFbnRpdHkoY29sbGVjdGlvbk5hbWUsIGVudGl0eUlkZW50aWZpZXIpOworCSAgICB9CisKKwkgICAgcHJvdGVjdGVkIHZvaWQgRGVsZXRlRGV2aWNlSWZFeGlzdHMoSUNsaWVudCBjbGllbnQsIHN0cmluZyBkZXZpY2VOYW1lKQorCSAgICB7CisJICAgICAgICBVc2VyZ3JpZERldmljZSB1c2VyZ3JpZERldmljZSA9IGNsaWVudC5HZXREZXZpY2U8VXNlcmdyaWREZXZpY2U+KGRldmljZU5hbWUpOworCSAgICAgICAgaWYgKHVzZXJncmlkRGV2aWNlICE9IG51bGwpCisJICAgICAgICAgICAgY2xpZW50LkRlbGV0ZURldmljZSh1c2VyZ3JpZERldmljZS5VdWlkKTsKKwkgICAgfQorCisgICAgICAgIHByb3RlY3RlZCB2b2lkIERlbGV0ZVVzZXJJZkV4aXN0cyhJQ2xpZW50IGNsaWVudCwgc3RyaW5nIHVzZXJOYW1lKQorCSAgICB7CisgICAgICAgICAgICBVc2VyZ3JpZFVzZXIgZXhpc3RpbmdVc2VyID0gY2xpZW50LkdldFVzZXI8VXNlcmdyaWRVc2VyPih1c2VyTmFtZSk7CisgICAgICAgICAgICBpZiAoZXhpc3RpbmdVc2VyICE9IG51bGwpCisgICAgICAgICAgICAgICAgY2xpZW50LkRlbGV0ZVVzZXIoZXhpc3RpbmdVc2VyLlV1aWQpOworICAgICAgICB9CisKKyAgICAgICAgcHJvdGVjdGVkIFVzZXJncmlkVXNlciBTZXR1cFVzZXJncmlkVXNlcihJQ2xpZW50IGNsaWVudCwgVXNlcmdyaWRVc2VyIHVzZXIpCisJICAgIHsKKyAgICAgICAgICAgIERlbGV0ZVVzZXJJZkV4aXN0cyhjbGllbnQsIHVzZXIuVXNlck5hbWUpOworICAgICAgICAgICAgY2xpZW50LkNyZWF0ZVVzZXIodXNlcik7CisgICAgICAgICAgICByZXR1cm4gY2xpZW50LkdldFVzZXI8VXNlcmdyaWRVc2VyPih1c2VyLlVzZXJOYW1lKTsKKwkgICAgfQorICAgICAgICAKKyAgICAgICAgcHJvdGVjdGVkIFVzZXJncmlkR3JvdXAgU2V0dXBVc2VyZ3JpZEdyb3VwKElDbGllbnQgY2xpZW50LCBVc2VyZ3JpZEdyb3VwIEBncm91cCkKKwkgICAgeworCSAgICAgICAgdmFyIGV4aXN0aW5nR3JvdXAgPSBjbGllbnQuR2V0R3JvdXA8VXNlcmdyaWRHcm91cD4oQGdyb3VwLlBhdGgpOworICAgICAgICAgICAgaWYgKGV4aXN0aW5nR3JvdXAgIT0gbnVsbCkKKyAgICAgICAgICAgICAgICBjbGllbnQuRGVsZXRlR3JvdXAoZXhpc3RpbmdHcm91cC5QYXRoKTsKKyAgICAgICAgICAgIGNsaWVudC5DcmVhdGVHcm91cChAZ3JvdXApOworICAgICAgICAgICAgcmV0dXJuIGNsaWVudC5HZXRHcm91cDxVc2VyZ3JpZEdyb3VwPihAZ3JvdXAuUGF0aCk7CisKKwkgICAgfQorCX0KK30KKwpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMvQ29ubmVjdGlvblRlc3RzLmNzIGIvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMvQ29ubmVjdGlvblRlc3RzLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5NGNlZTQKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsuSW50ZWdyYXRpb25UZXN0cy9Db25uZWN0aW9uVGVzdHMuY3MKQEAgLTAsMCArMSwxOTkgQEAKKy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKK3VzaW5nIE5Vbml0LkZyYW1ld29yazsKK3VzaW5nIFVzZXJncmlkLlNkay5Nb2RlbDsKK3VzaW5nIFN5c3RlbS5MaW5xOworCituYW1lc3BhY2UgVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMgeworICAgIHB1YmxpYyBjbGFzcyBDdXN0b21lciB7CisgICAgICAgIHB1YmxpYyBzdHJpbmcgTmFtZSB7IGdldDsgc2V0OyB9CisgICAgICAgIHB1YmxpYyBzdHJpbmcgTm8geyBnZXQ7IHNldDsgfQorICAgIH0KKworICAgIHB1YmxpYyBjbGFzcyBPcmRlciB7CisgICAgICAgIHB1YmxpYyBzdHJpbmcgTmFtZSB7IGdldDsgc2V0OyB9CisgICAgICAgIHB1YmxpYyBzdHJpbmcgSWQgeyBnZXQ7IHNldDsgfQorICAgIH0KKworICAgIFtUZXN0Rml4dHVyZV0KKyAgICBwdWJsaWMgY2xhc3MgQ29ubmVjdGlvblRlc3RzIDogQmFzZVRlc3QgeworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgU2hvdWxkQ3JlYXRlQW5kR2V0U2ltcGxlQ29ubmVjdGlvbigpIHsKKyAgICAgICAgICAgIElDbGllbnQgY2xpZW50ID0gSW5pdGlhbGl6ZUNsaWVudEFuZExvZ2luKEF1dGhUeXBlLk9yZ2FuaXphdGlvbik7CisgICAgICAgICAgICBEZWxldGVFbnRpdHlJZkV4aXN0czxDdXN0b21lcj4oY2xpZW50LCAiY3VzdG9tZXJzIiwgImN1c3RvbWVyMSIpOworICAgICAgICAgICAgRGVsZXRlRW50aXR5SWZFeGlzdHM8T3JkZXI+KGNsaWVudCwgIm9yZGVycyIsICJvcmRlcjEiKTsKKyAgICAgICAgICAgIERlbGV0ZURldmljZUlmRXhpc3RzKGNsaWVudCwgImRldmljZTEiKTsKKworICAgICAgICAgICAgLy9jcmVhdGUgYSBjdXN0b21lciwgb3JkZXIgYW5kIGEgZGV2aWNlCisgICAgICAgICAgICAvL3RoZW4gd2Ugd2lsbCBjb25uZWN0IHRoZSBvcmRlciBlbnRpdHkgYW5kIGRldmljZSBlbnRpdHkgdG8gdGhlIGN1c3RvbWVyIHVzaW5nIHRoZSBzYW1lIGNvbm5lY3Rpb24gbmFtZSAoaGFzKQorICAgICAgICAgICAgLy9vcmRlciBhbmQgZGV2aWNlIGFyZSBkaWZmZXJlbnQgdHlwZXMgb2YgZW50aXRpZXMKKyAgICAgICAgICAgIGNsaWVudC5DcmVhdGVFbnRpdHkoImN1c3RvbWVycyIsIG5ldyBDdXN0b21lcgorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgTmFtZSA9ICJjdXN0b21lcjEiLAorICAgICAgICAgICAgICAgICAgICBObyA9ICIxIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgY2xpZW50LkNyZWF0ZUVudGl0eSgib3JkZXJzIiwgbmV3IE9yZGVyCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBOYW1lID0gIm9yZGVyMSIsCisgICAgICAgICAgICAgICAgICAgIElkID0gIjEiCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBjbGllbnQuQ3JlYXRlRGV2aWNlKAorICAgICAgICAgICAgICAgIG5ldyBEZXZpY2VUZXN0cy5NeUN1c3RvbVVzZXJHcmlkRGV2aWNlKCkKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSA9ICJkZXZpY2UxIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIERldmljZVR5cGUgPSAiZGV2aWNlIHR5cGUiCisgICAgICAgICAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICAvL2NyZWF0ZSBhIGNvbm5lY3Rpb24gYmV0d2VlbiBjdXN0b21lcjEgYW5kIG9yZGVyMQorICAgICAgICAgICAgY2xpZW50LkNyZWF0ZUNvbm5lY3Rpb24obmV3IENvbm5lY3Rpb24oKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIENvbm5lY3RvckNvbGxlY3Rpb25OYW1lID0gImN1c3RvbWVycyIsCisgICAgICAgICAgICAgICAgQ29ubmVjdG9ySWRlbnRpZmllciA9ICJjdXN0b21lcjEiLAorICAgICAgICAgICAgICAgIENvbm5lY3RlZUNvbGxlY3Rpb25OYW1lID0gIm9yZGVycyIsCisgICAgICAgICAgICAgICAgQ29ubmVjdGVlSWRlbnRpZmllciA9ICJvcmRlcjEiLAorICAgICAgICAgICAgICAgIENvbm5lY3Rpb25OYW1lID0gImhhcyIKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgLy9jcmVhdGUgYSBjb25uZWN0aW9uIGJldHdlZW4gY3VzdG9tZXIxIGFuZCBkZXZpY2UxCisgICAgICAgICAgICBjbGllbnQuQ3JlYXRlQ29ubmVjdGlvbihuZXcgQ29ubmVjdGlvbigpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgQ29ubmVjdG9yQ29sbGVjdGlvbk5hbWUgPSAiY3VzdG9tZXJzIiwKKyAgICAgICAgICAgICAgICBDb25uZWN0b3JJZGVudGlmaWVyID0gImN1c3RvbWVyMSIsCisgICAgICAgICAgICAgICAgQ29ubmVjdGVlQ29sbGVjdGlvbk5hbWUgPSAiZGV2aWNlcyIsCisgICAgICAgICAgICAgICAgQ29ubmVjdGVlSWRlbnRpZmllciA9ICJkZXZpY2UxIiwKKyAgICAgICAgICAgICAgICBDb25uZWN0aW9uTmFtZSA9ICJoYXMiCisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgLy9nZXQgdGhlIGNvbm5lY3Rpb25zLCBzdXBwbHkgb25seSB0aGUgY29ubmVjdG9yIGRldGFpbHMKKyAgICAgICAgICAgIC8vd2UgZ2V0IGEgbGlzdCBvZiBVc2VyZ3JpZCBlbnRpdGVzCisgICAgICAgICAgICBJTGlzdDxVc2VyZ3JpZEVudGl0eT4gYWxsQ29ubmVjdGlvbnMgPSBjbGllbnQuR2V0Q29ubmVjdGlvbnMobmV3IENvbm5lY3Rpb24oKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgQ29ubmVjdG9yQ29sbGVjdGlvbk5hbWUgPSAiY3VzdG9tZXJzIiwgCisgICAgICAgICAgICAgICAgICAgIENvbm5lY3RvcklkZW50aWZpZXIgPSAiY3VzdG9tZXIxIiwgCisgICAgICAgICAgICAgICAgICAgIENvbm5lY3Rpb25OYW1lID0gImhhcyIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCgyLCBhbGxDb25uZWN0aW9ucy5Db3VudCk7CisgICAgICAgICAgICBBc3NlcnQuVHJ1ZShhbGxDb25uZWN0aW9ucy5BbnkoYz0+Yy5OYW1lID09ICJvcmRlcjEiKSk7CisgICAgICAgICAgICBBc3NlcnQuVHJ1ZShhbGxDb25uZWN0aW9ucy5BbnkoYz0+Yy5OYW1lID09ICJkZXZpY2UxIikpOworCisgICAgICAgICAgICAvL25vdywganVzdCBnZXQgdGhlIGRldmljZXMgZm9yIGN1c3RvbWVyIGZyb20gdGhlIGNvbm5lY3Rpb24KKyAgICAgICAgICAgIC8vd2UgbmVlZCB0byBzdXBwbHkgdGhlIGNvbm5lY3RlZSBjb2xsZWN0aW9uIG5hbWUKKyAgICAgICAgICAgIElMaXN0PERldmljZVRlc3RzLk15Q3VzdG9tVXNlckdyaWREZXZpY2U+IGRldmljZUNvbm5lY3Rpb25zID0gY2xpZW50LkdldENvbm5lY3Rpb25zPERldmljZVRlc3RzLk15Q3VzdG9tVXNlckdyaWREZXZpY2U+KG5ldyBDb25uZWN0aW9uKCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIENvbm5lY3RvckNvbGxlY3Rpb25OYW1lID0gImN1c3RvbWVycyIsIAorICAgICAgICAgICAgICAgICAgICBDb25uZWN0b3JJZGVudGlmaWVyID0gImN1c3RvbWVyMSIsIAorICAgICAgICAgICAgICAgICAgICBDb25uZWN0ZWVDb2xsZWN0aW9uTmFtZSA9ICJkZXZpY2VzIiwgCisgICAgICAgICAgICAgICAgICAgIENvbm5lY3Rpb25OYW1lID0gImhhcyIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCgxLCBkZXZpY2VDb25uZWN0aW9ucy5Db3VudCk7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoImRldmljZTEiLCBkZXZpY2VDb25uZWN0aW9uc1swXS5OYW1lKTsKKworICAgICAgICAgICAgLy9ub3csIGp1c3QgZ2V0IHRoZSBvcmRlcnMgZm9yIGN1c3RvbWVyIGZyb20gdGhlIGNvbm5lY3Rpb24KKyAgICAgICAgICAgIC8vd2UgbmVlZCB0byBzdXBwbHkgdGhlIGNvbm5lY3RlZSBjb2xsZWN0aW9uIG5hbWUKKyAgICAgICAgICAgIElMaXN0PE9yZGVyPiBvcmRlckNvbm5lY3Rpb25zID0gY2xpZW50LkdldENvbm5lY3Rpb25zPE9yZGVyPihuZXcgQ29ubmVjdGlvbigpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBDb25uZWN0b3JDb2xsZWN0aW9uTmFtZSA9ICJjdXN0b21lcnMiLCAKKyAgICAgICAgICAgICAgICAgICAgQ29ubmVjdG9ySWRlbnRpZmllciA9ICJjdXN0b21lcjEiLCAKKyAgICAgICAgICAgICAgICAgICAgQ29ubmVjdGVlQ29sbGVjdGlvbk5hbWUgPSAib3JkZXJzIiwgCisgICAgICAgICAgICAgICAgICAgIENvbm5lY3Rpb25OYW1lID0gImhhcyIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCgxLCBvcmRlckNvbm5lY3Rpb25zLkNvdW50KTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCgib3JkZXIxIiwgb3JkZXJDb25uZWN0aW9uc1swXS5OYW1lKTsKKworICAgICAgICAgICAgLy9kZWxldGUgdGhlIGNvbm5lY3Rpb25zCisgICAgICAgICAgICBjbGllbnQuRGVsZXRlQ29ubmVjdGlvbihuZXcgQ29ubmVjdGlvbigpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgQ29ubmVjdG9yQ29sbGVjdGlvbk5hbWUgPSAiY3VzdG9tZXJzIiwKKyAgICAgICAgICAgICAgICBDb25uZWN0b3JJZGVudGlmaWVyID0gImN1c3RvbWVyMSIsCisgICAgICAgICAgICAgICAgQ29ubmVjdGVlQ29sbGVjdGlvbk5hbWUgPSAiZGV2aWNlcyIsCisgICAgICAgICAgICAgICAgQ29ubmVjdGVlSWRlbnRpZmllciA9ICJkZXZpY2UxIiwKKyAgICAgICAgICAgICAgICBDb25uZWN0aW9uTmFtZSA9ICJoYXMiCisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIC8vZGVsZXRlIHRoZSBjb25uZWN0aW9ucworICAgICAgICAgICAgY2xpZW50LkRlbGV0ZUNvbm5lY3Rpb24obmV3IENvbm5lY3Rpb24oKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIENvbm5lY3RvckNvbGxlY3Rpb25OYW1lID0gImN1c3RvbWVycyIsCisgICAgICAgICAgICAgICAgQ29ubmVjdG9ySWRlbnRpZmllciA9ICJjdXN0b21lcjEiLAorICAgICAgICAgICAgICAgIENvbm5lY3RlZUNvbGxlY3Rpb25OYW1lID0gIm9yZGVycyIsCisgICAgICAgICAgICAgICAgQ29ubmVjdGVlSWRlbnRpZmllciA9ICJvcmRlcjEiLAorICAgICAgICAgICAgICAgIENvbm5lY3Rpb25OYW1lID0gImhhcyIKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICAvL3ZlcmlmeSB0aGF0IGl0IGlzIGRlbGV0ZWQKKyAgICAgICAgICAgIHZhciBub0Nvbm5lY3Rpb25zID0gY2xpZW50LkdldENvbm5lY3Rpb25zKG5ldyBDb25uZWN0aW9uKCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIENvbm5lY3RvckNvbGxlY3Rpb25OYW1lID0gImN1c3RvbWVycyIsIAorICAgICAgICAgICAgICAgICAgICBDb25uZWN0b3JJZGVudGlmaWVyID0gImN1c3RvbWVyMSIsIAorICAgICAgICAgICAgICAgICAgICBDb25uZWN0aW9uTmFtZSA9ICJoYXMiCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoMCwgbm9Db25uZWN0aW9ucy5Db3VudCk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgU2hvdWxkR2V0QW5kR2V0U2ltcGxlQ29ubmVjdGlvbigpIHsKKyAgICAgICAgICAgIElDbGllbnQgY2xpZW50ID0gSW5pdGlhbGl6ZUNsaWVudEFuZExvZ2luKEF1dGhUeXBlLk9yZ2FuaXphdGlvbik7CisgICAgICAgICAgICBEZWxldGVFbnRpdHlJZkV4aXN0czxDdXN0b21lcj4oY2xpZW50LCAiY3VzdG9tZXJzIiwgImN1c3RvbWVyMSIpOworICAgICAgICAgICAgRGVsZXRlRW50aXR5SWZFeGlzdHM8T3JkZXI+KGNsaWVudCwgIm9yZGVycyIsICJvcmRlcjEiKTsKKworICAgICAgICAgICAgY2xpZW50LkNyZWF0ZUVudGl0eSgiY3VzdG9tZXJzIiwgbmV3IEN1c3RvbWVyCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBOYW1lID0gImN1c3RvbWVyMSIsCisgICAgICAgICAgICAgICAgICAgIE5vID0gIjEiCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBjbGllbnQuQ3JlYXRlRW50aXR5KCJvcmRlcnMiLCBuZXcgT3JkZXIKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIE5hbWUgPSAib3JkZXIxIiwKKyAgICAgICAgICAgICAgICAgICAgSWQgPSAiMSIKKyAgICAgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgLy90byBnZXQgYSBjb2xsZWN0aW9uIHlvdSBuZWVkIGNvbm5lY3RvciBkZXRhaWxzIGFuZCB0aGUgY29ubmVjdGlvbiBuYW1lCisgICAgICAgICAgICB2YXIgZ2V0Q29ubmVjdGlvbkRldGFpbHMgPSBuZXcgQ29ubmVjdGlvbigpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBDb25uZWN0b3JDb2xsZWN0aW9uTmFtZSA9ICJjdXN0b21lcnMiLCAKKyAgICAgICAgICAgICAgICAgICAgQ29ubmVjdG9ySWRlbnRpZmllciA9ICJjdXN0b21lcjEiLCAKKyAgICAgICAgICAgICAgICAgICAgQ29ubmVjdGlvbk5hbWUgPSAiaGFzIgorICAgICAgICAgICAgICAgIH07CisgICAgICAgICAgICAvL3RvIGNyZWF0ZS9kZWxldGUgYSBjb2xsZWN0aW9uIHlvdSBuZWVkIGFsbCB0aGUgY29ubmVjdG9yIGFuZCBjb25uZWN0ZWUgZGV0YWlscyBhbmQgdGhlIGNvbm5lY3Rpb24gbmFtZS4KKyAgICAgICAgICAgIHZhciBjcmVhdGVEZWxldGVDb25uZWN0aW9uRGV0YWlscyA9IG5ldyBDb25uZWN0aW9uKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBDb25uZWN0b3JDb2xsZWN0aW9uTmFtZSA9ICJjdXN0b21lcnMiLAorICAgICAgICAgICAgICAgIENvbm5lY3RvcklkZW50aWZpZXIgPSAiY3VzdG9tZXIxIiwKKyAgICAgICAgICAgICAgICBDb25uZWN0ZWVDb2xsZWN0aW9uTmFtZSA9ICJvcmRlcnMiLAorICAgICAgICAgICAgICAgIENvbm5lY3RlZUlkZW50aWZpZXIgPSAib3JkZXIxIiwKKyAgICAgICAgICAgICAgICBDb25uZWN0aW9uTmFtZSA9ICJoYXMiCisgICAgICAgICAgICB9OworCisgICAgICAgICAgICAvL25vIGNvbm5lY3Rpb25zIHlldAorICAgICAgICAgICAgSUxpc3Q8VXNlcmdyaWRFbnRpdHk+IGNvbm5lY3Rpb25zID0gY2xpZW50LkdldENvbm5lY3Rpb25zKGdldENvbm5lY3Rpb25EZXRhaWxzKTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCgwLCBjb25uZWN0aW9ucy5Db3VudCk7CisKKyAgICAgICAgICAgIC8vY3JlYXRlIGEgY29ubmVjdGlvbiBiZXR3ZWVuIGN1c3RvbWVyMSBhbmQgb3JkZXIxCisgICAgICAgICAgICBjbGllbnQuQ3JlYXRlQ29ubmVjdGlvbihjcmVhdGVEZWxldGVDb25uZWN0aW9uRGV0YWlscyk7CisKKyAgICAgICAgICAgIC8vdmVyaWZ5IHRoZSBjb25uZWN0aW9uCisgICAgICAgICAgICBjb25uZWN0aW9ucyA9IGNsaWVudC5HZXRDb25uZWN0aW9ucyhnZXRDb25uZWN0aW9uRGV0YWlscyk7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoMSwgY29ubmVjdGlvbnMuQ291bnQpOworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKCJvcmRlcjEiLCBjb25uZWN0aW9uc1swXS5OYW1lKTsKKworICAgICAgICAgICAgLy9kZWxldGUgdGhlIGNvbm5lY3Rpb24KKyAgICAgICAgICAgIGNsaWVudC5EZWxldGVDb25uZWN0aW9uKGNyZWF0ZURlbGV0ZUNvbm5lY3Rpb25EZXRhaWxzKTsKKworICAgICAgICAgICAgLy92ZXJpZnkgdGhhdCBpdCBpcyBkZWxldGVkCisgICAgICAgICAgICBjb25uZWN0aW9ucyA9IGNsaWVudC5HZXRDb25uZWN0aW9ucyhnZXRDb25uZWN0aW9uRGV0YWlscyk7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoMCwgY29ubmVjdGlvbnMuQ291bnQpOworICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMvRGV2aWNlVGVzdHMuY3MgYi9Vc2VyZ3JpZC5TZGsuSW50ZWdyYXRpb25UZXN0cy9EZXZpY2VUZXN0cy5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNzEwNDQ4Ci0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMvRGV2aWNlVGVzdHMuY3MKQEAgLTAsMCArMSw2MyBAQAor77u/Ly8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKy8vIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKK3VzaW5nIE5Vbml0LkZyYW1ld29yazsKK3VzaW5nIFVzZXJncmlkLlNkay5Nb2RlbDsKKworbmFtZXNwYWNlIFVzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzCit7CisgICAgW1Rlc3RGaXh0dXJlXQorICAgIHB1YmxpYyBjbGFzcyBEZXZpY2VUZXN0cyA6IEJhc2VUZXN0CisgICAgeworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgU2hvdWxkQ3J1ZERldmljZXMoKQorICAgICAgICB7CisgICAgICAgICAgICBjb25zdCBzdHJpbmcgZGV2aWNlTmFtZSA9ICJ0ZXN0X2RldmljZSI7CisgICAgICAgICAgICB2YXIgY2xpZW50ID0gSW5pdGlhbGl6ZUNsaWVudEFuZExvZ2luKEF1dGhUeXBlLk9yZ2FuaXphdGlvbik7CisgICAgICAgICAgICBEZWxldGVEZXZpY2VJZkV4aXN0cyhjbGllbnQsIGRldmljZU5hbWUpOworCisgICAgICAgICAgICBjbGllbnQuQ3JlYXRlRGV2aWNlKG5ldyBVc2VyZ3JpZERldmljZSgpIHtOYW1lID0gZGV2aWNlTmFtZX0pOworICAgICAgICAgICAgLy9nZXQgZGV2aWNlIGFuZCBhc3NlcnQKKyAgICAgICAgICAgIFVzZXJncmlkRGV2aWNlIGRldmljZSA9IGNsaWVudC5HZXREZXZpY2U8VXNlcmdyaWREZXZpY2U+KGRldmljZU5hbWUpOworICAgICAgICAgICAgQXNzZXJ0LlRoYXQoZGV2aWNlLk5hbWUsIElzLkVxdWFsVG8oZGV2aWNlTmFtZSkpOworCisgICAgICAgICAgICAvL2NyZWF0ZSBhIGN1c3RvbSBkZXZpY2UKKyAgICAgICAgICAgIERlbGV0ZURldmljZUlmRXhpc3RzKGNsaWVudCwgZGV2aWNlTmFtZSk7CisgICAgICAgICAgICBjb25zdCBzdHJpbmcgZGV2aWNlVHlwZWlQaG9uZSA9ICJpUGhvbmUiOworCisgICAgICAgICAgICBjbGllbnQuQ3JlYXRlRGV2aWNlKG5ldyBNeUN1c3RvbVVzZXJHcmlkRGV2aWNlKCkgeyBOYW1lID0gZGV2aWNlTmFtZSwgRGV2aWNlVHlwZSA9IGRldmljZVR5cGVpUGhvbmUgfSk7CisgICAgICAgICAgICAvL2dldCBkZXZpY2UgYW5kIGFzc2VydAorICAgICAgICAgICAgTXlDdXN0b21Vc2VyR3JpZERldmljZSBteUN1c3RvbURldmljZSA9IGNsaWVudC5HZXREZXZpY2U8TXlDdXN0b21Vc2VyR3JpZERldmljZT4oZGV2aWNlTmFtZSk7CisgICAgICAgICAgICBBc3NlcnQuVGhhdChteUN1c3RvbURldmljZS5OYW1lLCBJcy5FcXVhbFRvKGRldmljZU5hbWUpKTsKKyAgICAgICAgICAgIEFzc2VydC5UaGF0KG15Q3VzdG9tRGV2aWNlLkRldmljZVR5cGUsIElzLkVxdWFsVG8oZGV2aWNlVHlwZWlQaG9uZSkpOworCisgICAgICAgICAgICAvL3VwZGF0ZSBkZXZpY2UgdHlwZQorICAgICAgICAgICAgY29uc3Qgc3RyaW5nIGRldmljZVR5cGVBbmRyb2lkID0gIkFuZHJvaWQiOworCisgICAgICAgICAgICBteUN1c3RvbURldmljZS5EZXZpY2VUeXBlID0gZGV2aWNlVHlwZUFuZHJvaWQ7CisgICAgICAgICAgICBjbGllbnQuVXBkYXRlRGV2aWNlKG15Q3VzdG9tRGV2aWNlKTsKKworICAgICAgICAgICAgLy9nZXQgZGV2aWNlIGFuZCBhc3NlcnQKKyAgICAgICAgICAgIG15Q3VzdG9tRGV2aWNlID0gY2xpZW50LkdldERldmljZTxNeUN1c3RvbVVzZXJHcmlkRGV2aWNlPihkZXZpY2VOYW1lKTsKKyAgICAgICAgICAgIEFzc2VydC5UaGF0KG15Q3VzdG9tRGV2aWNlLk5hbWUsIElzLkVxdWFsVG8oZGV2aWNlTmFtZSkpOworICAgICAgICAgICAgQXNzZXJ0LlRoYXQobXlDdXN0b21EZXZpY2UuRGV2aWNlVHlwZSwgSXMuRXF1YWxUbyhkZXZpY2VUeXBlQW5kcm9pZCkpOworICAgICAgICB9CisKKyAgICAgICAgcHVibGljIGNsYXNzIE15Q3VzdG9tVXNlckdyaWREZXZpY2UgOiBVc2VyZ3JpZERldmljZQorICAgICAgICB7CisgICAgICAgICAgICBwdWJsaWMgc3RyaW5nIERldmljZVR5cGUgeyBnZXQ7IHNldDsgfQorICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMvRW50aXR5Q3J1ZFRlc3RzLmNzIGIvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMvRW50aXR5Q3J1ZFRlc3RzLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmZGQ2YzkKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsuSW50ZWdyYXRpb25UZXN0cy9FbnRpdHlDcnVkVGVzdHMuY3MKQEAgLTAsMCArMSwxNTMgQEAKKy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBTeXN0ZW07Cit1c2luZyBOVW5pdC5GcmFtZXdvcms7Cit1c2luZyBVc2VyZ3JpZC5TZGsuTW9kZWw7CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuSW50ZWdyYXRpb25UZXN0cyB7CisgICAgW1Rlc3RGaXh0dXJlXQorICAgIHB1YmxpYyBjbGFzcyBFbnRpdHlDcnVkVGVzdHMgOiBCYXNlVGVzdCB7CisgICAgICAgIHByaXZhdGUgSUNsaWVudCBfY2xpZW50OworICAgICAgICBbU2V0VXBdCisgICAgICAgIHB1YmxpYyB2b2lkIFNldHVwKCkgeworICAgICAgICAgICAgX2NsaWVudCA9IEluaXRpYWxpemVDbGllbnRBbmRMb2dpbihBdXRoVHlwZS5Pcmdhbml6YXRpb24pOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIFNob3VsZENydWRQb2NvRW50aXR5KCkgeworICAgICAgICAgICAgY29uc3Qgc3RyaW5nIGNvbGxlY3Rpb25OYW1lID0gImZyaWVuZHMiOworICAgICAgICAgICAgdmFyIGZyaWVuZCA9IG5ldyBGcmllbmQKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIE5hbWUgPSAiRW50aXR5TmFtZSIsCisgICAgICAgICAgICAgICAgICAgIEFnZSA9IDI1CisgICAgICAgICAgICAgICAgfTsKKworICAgICAgICAgICAgRGVsZXRlRW50aXR5SWZFeGlzdHM8RnJpZW5kPihfY2xpZW50LCBjb2xsZWN0aW9uTmFtZSwgZnJpZW5kLk5hbWUpOworCisgICAgICAgICAgICAvLyBDcmVhdGUgYSBuZXcgZW50aXR5CisgICAgICAgICAgICBfY2xpZW50LkNyZWF0ZUVudGl0eShjb2xsZWN0aW9uTmFtZSwgZnJpZW5kKTsKKworICAgICAgICAgICAgLy8gR2V0IGl0IGJhY2sKKyAgICAgICAgICAgIHZhciBmcmllbmRGcm9tVXNlcmdyaWQgPSBfY2xpZW50LkdldEVudGl0eTxGcmllbmQ+KGNvbGxlY3Rpb25OYW1lLCBmcmllbmQuTmFtZSk7CisKKyAgICAgICAgICAgIC8vIEFzc2VydCB0aGF0IHRoZSBlbnRpdHkgcmV0dXJuZWQgaXMgY29ycmVjdAorICAgICAgICAgICAgQXNzZXJ0LklzTm90TnVsbChmcmllbmRGcm9tVXNlcmdyaWQpOworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKGZyaWVuZC5OYW1lLCBmcmllbmRGcm9tVXNlcmdyaWQuTmFtZSk7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoZnJpZW5kLkFnZSwgZnJpZW5kRnJvbVVzZXJncmlkLkFnZSk7CisKKyAgICAgICAgICAgIC8vIEdldCBpdCBiYWNrIHdpdGggcXVlcnkKKyAgICAgICAgICAgIHN0cmluZyBxdWVyeSA9ICJzZWxlY3QgKiB3aGVyZSBuYW1lID0gJyIgKyBmcmllbmQuTmFtZSArICInIjsKKyAgICAgICAgICAgIFVzZXJncmlkQ29sbGVjdGlvbjxGcmllbmQ+IGZyaWVuZHMgPSBfY2xpZW50LkdldEVudGl0aWVzPEZyaWVuZD4oY29sbGVjdGlvbk5hbWUsIHF1ZXJ5OiBxdWVyeSk7CisKKyAgICAgICAgICAgIC8vIEFzc2VydCB0aGUgY29sbGVjdGlvbiBpcyBjb3JyZWN0CisgICAgICAgICAgICBBc3NlcnQuSXNOb3ROdWxsKGZyaWVuZHMpOworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKDEsIGZyaWVuZHMuQ291bnQpOworICAgICAgICAgICAgQXNzZXJ0LklzRmFsc2UoZnJpZW5kcy5IYXNOZXh0KTsKKyAgICAgICAgICAgIEFzc2VydC5Jc0ZhbHNlKGZyaWVuZHMuSGFzUHJldmlvdXMpOworICAgICAgICAgICAgZnJpZW5kRnJvbVVzZXJncmlkID0gZnJpZW5kc1swXTsKKyAgICAgICAgICAgIEFzc2VydC5Jc05vdE51bGwoZnJpZW5kRnJvbVVzZXJncmlkKTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbChmcmllbmQuTmFtZSwgZnJpZW5kRnJvbVVzZXJncmlkLk5hbWUpOworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKGZyaWVuZC5BZ2UsIGZyaWVuZEZyb21Vc2VyZ3JpZC5BZ2UpOworCisKKyAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgZW50aXR5CisgICAgICAgICAgICBGcmllbmQgZnJpZW5kVG9VcGRhdGUgPSBmcmllbmRGcm9tVXNlcmdyaWQ7CisgICAgICAgICAgICBmcmllbmRUb1VwZGF0ZS5BZ2UgPSAzMDsKKyAgICAgICAgICAgIF9jbGllbnQuVXBkYXRlRW50aXR5KGNvbGxlY3Rpb25OYW1lLCBmcmllbmRUb1VwZGF0ZS5OYW1lLCBmcmllbmRUb1VwZGF0ZSk7CisKKyAgICAgICAgICAgIC8vIEdldCBpdCBiYWNrCisgICAgICAgICAgICBmcmllbmRGcm9tVXNlcmdyaWQgPSBfY2xpZW50LkdldEVudGl0eTxGcmllbmQ+KGNvbGxlY3Rpb25OYW1lLCBmcmllbmRUb1VwZGF0ZS5OYW1lKTsKKworICAgICAgICAgICAgLy8gQXNzZXJ0IHRoYXQgZW50aXR5IGlzIHVwZGF0ZWQKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbChmcmllbmRUb1VwZGF0ZS5BZ2UsIGZyaWVuZEZyb21Vc2VyZ3JpZC5BZ2UpOworCisgICAgICAgICAgICAvLyBEZWxldGUgdGhlIGVudGl0eQorICAgICAgICAgICAgX2NsaWVudC5EZWxldGVFbnRpdHkoY29sbGVjdGlvbk5hbWUsIGZyaWVuZC5OYW1lKTsKKworICAgICAgICAgICAgLy8gR2V0IGl0IGJhY2sKKyAgICAgICAgICAgIGZyaWVuZEZyb21Vc2VyZ3JpZCA9IF9jbGllbnQuR2V0RW50aXR5PEZyaWVuZD4oY29sbGVjdGlvbk5hbWUsIGZyaWVuZC5OYW1lKTsKKworICAgICAgICAgICAgLy8gQXNzZXJ0IHRoYXQgaXQgZG9lc24ndCBleGlzdAorICAgICAgICAgICAgQXNzZXJ0LklzTnVsbChmcmllbmRGcm9tVXNlcmdyaWQpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIFNob3VsZENydWRVc2VyR3JpZEVudGl0eSgpIHsKKyAgICAgICAgICAgIGNvbnN0IHN0cmluZyBjb2xsZWN0aW9uTmFtZSA9ICJmcmllbmRzIjsKKyAgICAgICAgICAgIHZhciBmcmllbmQgPSBuZXcgVXNlcmdyaWRGcmllbmQKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIE5hbWUgPSAiRW50aXR5TmFtZSIsCisgICAgICAgICAgICAgICAgICAgIEFnZSA9IDI1CisgICAgICAgICAgICAgICAgfTsKKworICAgICAgICAgICAgRGVsZXRlRW50aXR5SWZFeGlzdHM8RnJpZW5kPihfY2xpZW50LCBjb2xsZWN0aW9uTmFtZSwgZnJpZW5kLk5hbWUpOworCisgICAgICAgICAgICAvLyBDcmVhdGUgYSBuZXcgZW50aXR5CisgICAgICAgICAgICBfY2xpZW50LkNyZWF0ZUVudGl0eShjb2xsZWN0aW9uTmFtZSwgZnJpZW5kKTsKKworICAgICAgICAgICAgLy8gR2V0IGl0IGJhY2sKKyAgICAgICAgICAgIHZhciBmcmllbmRGcm9tVXNlcmdyaWQgPSBfY2xpZW50LkdldEVudGl0eTxVc2VyZ3JpZEZyaWVuZD4oY29sbGVjdGlvbk5hbWUsIGZyaWVuZC5OYW1lKTsKKworICAgICAgICAgICAgLy8gQXNzZXJ0IHRoYXQgdGhlIGVudGl0eSByZXR1cm5lZCBpcyBjb3JyZWN0CisgICAgICAgICAgICBBc3NlcnQuSXNOb3ROdWxsKGZyaWVuZEZyb21Vc2VyZ3JpZCk7CisgICAgICAgICAgICBBc3NlcnQuSXNOb3RFbXB0eShmcmllbmRGcm9tVXNlcmdyaWQuVXVpZCk7CisgICAgICAgICAgICBBc3NlcnQuSXNOb3RFbXB0eShmcmllbmRGcm9tVXNlcmdyaWQuVHlwZSk7CisgICAgICAgICAgICBBc3NlcnQuSXNUcnVlKGZyaWVuZEZyb21Vc2VyZ3JpZC5DcmVhdGVkRGF0ZSA+IERhdGVUaW1lLk1pblZhbHVlKTsKKyAgICAgICAgICAgIEFzc2VydC5Jc1RydWUoZnJpZW5kRnJvbVVzZXJncmlkLk1vZGlmaWVkRGF0ZSA+IERhdGVUaW1lLk1pblZhbHVlKTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbChmcmllbmQuTmFtZSwgZnJpZW5kRnJvbVVzZXJncmlkLk5hbWUpOworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKGZyaWVuZC5BZ2UsIGZyaWVuZEZyb21Vc2VyZ3JpZC5BZ2UpOworCisgICAgICAgICAgICAvLyBHZXQgaXQgYmFjayB3aXRoIHF1ZXJ5CisgICAgICAgICAgICBzdHJpbmcgcXVlcnkgPSAic2VsZWN0ICogd2hlcmUgbmFtZSA9ICciICsgZnJpZW5kLk5hbWUgKyAiJyI7CisgICAgICAgICAgICBVc2VyZ3JpZENvbGxlY3Rpb248VXNlcmdyaWRGcmllbmQ+IGZyaWVuZHMgPSBfY2xpZW50LkdldEVudGl0aWVzPFVzZXJncmlkRnJpZW5kPihjb2xsZWN0aW9uTmFtZSwgcXVlcnk6IHF1ZXJ5KTsKKworICAgICAgICAgICAgLy8gQXNzZXJ0IHRoZSBjb2xsZWN0aW9uIGlzIGNvcnJlY3QKKyAgICAgICAgICAgIEFzc2VydC5Jc05vdE51bGwoZnJpZW5kcyk7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoMSwgZnJpZW5kcy5Db3VudCk7CisgICAgICAgICAgICBBc3NlcnQuSXNGYWxzZShmcmllbmRzLkhhc05leHQpOworICAgICAgICAgICAgQXNzZXJ0LklzRmFsc2UoZnJpZW5kcy5IYXNQcmV2aW91cyk7CisgICAgICAgICAgICBmcmllbmRGcm9tVXNlcmdyaWQgPSBmcmllbmRzWzBdOworICAgICAgICAgICAgQXNzZXJ0LklzTm90TnVsbChmcmllbmRGcm9tVXNlcmdyaWQpOworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKGZyaWVuZC5OYW1lLCBmcmllbmRGcm9tVXNlcmdyaWQuTmFtZSk7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoZnJpZW5kLkFnZSwgZnJpZW5kRnJvbVVzZXJncmlkLkFnZSk7CisgICAgICAgICAgICBBc3NlcnQuSXNOb3RFbXB0eShmcmllbmRGcm9tVXNlcmdyaWQuVXVpZCk7CisgICAgICAgICAgICBBc3NlcnQuSXNOb3RFbXB0eShmcmllbmRGcm9tVXNlcmdyaWQuVHlwZSk7CisgICAgICAgICAgICBBc3NlcnQuSXNUcnVlKGZyaWVuZEZyb21Vc2VyZ3JpZC5DcmVhdGVkRGF0ZSA+IERhdGVUaW1lLk1pblZhbHVlKTsKKyAgICAgICAgICAgIEFzc2VydC5Jc1RydWUoZnJpZW5kRnJvbVVzZXJncmlkLk1vZGlmaWVkRGF0ZSA+IERhdGVUaW1lLk1pblZhbHVlKTsKKworCisgICAgICAgICAgICAvLyBVcGRhdGUgdGhlIGVudGl0eQorICAgICAgICAgICAgVXNlcmdyaWRGcmllbmQgZnJpZW5kVG9VcGRhdGUgPSBmcmllbmRGcm9tVXNlcmdyaWQ7CisgICAgICAgICAgICBmcmllbmRUb1VwZGF0ZS5BZ2UgPSAzMDsKKyAgICAgICAgICAgIF9jbGllbnQuVXBkYXRlRW50aXR5KGNvbGxlY3Rpb25OYW1lLCBmcmllbmRUb1VwZGF0ZS5OYW1lLCBmcmllbmRUb1VwZGF0ZSk7CisKKyAgICAgICAgICAgIC8vIEdldCBpdCBiYWNrCisgICAgICAgICAgICBmcmllbmRGcm9tVXNlcmdyaWQgPSBfY2xpZW50LkdldEVudGl0eTxVc2VyZ3JpZEZyaWVuZD4oY29sbGVjdGlvbk5hbWUsIGZyaWVuZFRvVXBkYXRlLk5hbWUpOworCisgICAgICAgICAgICAvLyBBc3NlcnQgdGhhdCBlbnRpdHkgaXMgdXBkYXRlZAorICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKGZyaWVuZFRvVXBkYXRlLkFnZSwgZnJpZW5kRnJvbVVzZXJncmlkLkFnZSk7CisKKyAgICAgICAgICAgIC8vIERlbGV0ZSB0aGUgZW50aXR5CisgICAgICAgICAgICBfY2xpZW50LkRlbGV0ZUVudGl0eShjb2xsZWN0aW9uTmFtZSwgZnJpZW5kLk5hbWUpOworCisgICAgICAgICAgICAvLyBHZXQgaXQgYmFjaworICAgICAgICAgICAgZnJpZW5kRnJvbVVzZXJncmlkID0gX2NsaWVudC5HZXRFbnRpdHk8VXNlcmdyaWRGcmllbmQ+KGNvbGxlY3Rpb25OYW1lLCBmcmllbmQuTmFtZSk7CisKKyAgICAgICAgICAgIC8vIEFzc2VydCB0aGF0IGl0IGRvZXNuJ3QgZXhpc3QKKyAgICAgICAgICAgIEFzc2VydC5Jc051bGwoZnJpZW5kRnJvbVVzZXJncmlkKTsKKyAgICAgICAgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzL0VudGl0eVBhZ2luZ1Rlc3RzLmNzIGIvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMvRW50aXR5UGFnaW5nVGVzdHMuY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzkyMzRkZQotLS0gL2Rldi9udWxsCisrKyBiL1VzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzL0VudGl0eVBhZ2luZ1Rlc3RzLmNzCkBAIC0wLDAgKzEsODMgQEAKKy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBTeXN0ZW07Cit1c2luZyBOVW5pdC5GcmFtZXdvcms7Cit1c2luZyBVc2VyZ3JpZC5TZGsuTW9kZWw7CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuSW50ZWdyYXRpb25UZXN0cworeworCXB1YmxpYyBjbGFzcyBQYWdlCisJeworCQlwdWJsaWMgaW50IFBhZ2VOdW1iZXIge2dldDtzZXQ7fQorCQlwdWJsaWMgc3RyaW5nIE5hbWUge2dldDtzZXQ7fQorCX0KKworCVtUZXN0Rml4dHVyZV0KKwlwdWJsaWMgY2xhc3MgRW50aXR5UGFnaW5nVGVzdHMgOiBCYXNlVGVzdAorCXsKKwkJW1Rlc3RdCisJCXB1YmxpYyB2b2lkIFNob3VsZERvUGFnaW5nKCkKKwkJeworCQkJdmFyIGNsaWVudCA9IG5ldyBDbGllbnQoT3JnYW5pemF0aW9uLCBBcHBsaWNhdGlvbiwgQXBpVXJpKTsKKwkJCWNsaWVudC5Mb2dpbihDbGllbnRJZCwgQ2xpZW50U2VjcmV0LCBBdXRoVHlwZS5Pcmdhbml6YXRpb24pOworCisJCQlmb3IgKHZhciBpPTA7IGk8MjA7IGkrKykgCisJCQl7CisJCQkJdHJ5eworCQkJCQljbGllbnQuRGVsZXRlRW50aXR5ICgicGFnZXMiLCAicGFnZS0iICsgaSk7CisJCQkJCUNvbnNvbGUuV3JpdGVMaW5lICgiRGVsZXRlZCAiICsgaSk7CisJCQkJfSBjYXRjaCAoVXNlcmdyaWRFeGNlcHRpb24pIHsKKwkJCQl9CisJCQl9CisKKwkJCWZvciAodmFyIGk9MDsgaTwyMDsgaSsrKSAKKwkJCXsKKwkJCQl2YXIgcGFnZSA9IG5ldyBQYWdlIHsgUGFnZU51bWJlciA9IGksIE5hbWUgPSAicGFnZS0iICsgaSB9OworCQkJCWNsaWVudC5DcmVhdGVFbnRpdHkgKCJwYWdlcyIsIHBhZ2UpOworCQkJCUNvbnNvbGUuV3JpdGVMaW5lICgiQ3JlYXRlZCAiICsgaSk7CisJCQl9CisgICAgICAKKworCQkJdmFyIGNvbGxlY3Rpb24gPSBjbGllbnQuR2V0RW50aXRpZXM8UGFnZT4gKCJwYWdlcyIsIDMpOworCQkJQXNzZXJ0LkFyZUVxdWFsICgzLCBjb2xsZWN0aW9uLkNvdW50KTsKKwkJCUFzc2VydC5Jc1RydWUgKGNvbGxlY3Rpb24uSGFzTmV4dCk7CisJCQlBc3NlcnQuSXNGYWxzZSAoY29sbGVjdGlvbi5IYXNQcmV2aW91cyk7CisJCQlBc3NlcnQuQXJlRXF1YWwgKCJwYWdlLTEiLCBjb2xsZWN0aW9uIFsxXS5OYW1lKTsKKworCQkJY29sbGVjdGlvbiA9IGNsaWVudC5HZXROZXh0RW50aXRpZXM8UGFnZT4gKCJwYWdlcyIpOworCQkJQXNzZXJ0LklzVHJ1ZSAoY29sbGVjdGlvbi5IYXNOZXh0KTsKKwkJCUFzc2VydC5Jc1RydWUgKGNvbGxlY3Rpb24uSGFzUHJldmlvdXMpOworCQkJQXNzZXJ0LkFyZUVxdWFsICgicGFnZS00IiwgY29sbGVjdGlvbiBbMV0uTmFtZSk7CisKKwkJCWNvbGxlY3Rpb24gPSBjbGllbnQuR2V0TmV4dEVudGl0aWVzPFBhZ2U+ICgicGFnZXMiKTsKKwkJCUFzc2VydC5Jc1RydWUgKGNvbGxlY3Rpb24uSGFzTmV4dCk7CisJCQlBc3NlcnQuSXNUcnVlIChjb2xsZWN0aW9uLkhhc1ByZXZpb3VzKTsKKwkJCUFzc2VydC5BcmVFcXVhbCAoInBhZ2UtNyIsIGNvbGxlY3Rpb24gWzFdLk5hbWUpOworCisJCQljb2xsZWN0aW9uID0gY2xpZW50LkdldFByZXZpb3VzRW50aXRpZXM8UGFnZT4gKCJwYWdlcyIpOworCQkJQXNzZXJ0LklzVHJ1ZSAoY29sbGVjdGlvbi5IYXNOZXh0KTsKKwkJCUFzc2VydC5Jc1RydWUgKGNvbGxlY3Rpb24uSGFzUHJldmlvdXMpOworCQkJQXNzZXJ0LkFyZUVxdWFsICgicGFnZS00IiwgY29sbGVjdGlvbiBbMV0uTmFtZSk7CisKKwkJCWZvciAodmFyIGk9MDsgaTwyMDsgaSsrKSAKKwkJCXsKKwkJCQljbGllbnQuRGVsZXRlRW50aXR5ICgicGFnZXMiLCAicGFnZS0iICsgaSk7CisJCQkJQ29uc29sZS5Xcml0ZUxpbmUgKCJEZWxldGVkICIgKyBpKTsKKwkJCX0KKwkJfQorCX0KK30KKwpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMvRnJpZW5kLmNzIGIvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMvRnJpZW5kLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiM2FmODUKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsuSW50ZWdyYXRpb25UZXN0cy9GcmllbmQuY3MKQEAgLTAsMCArMSwyMyBAQAorLy8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKy8vIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuSW50ZWdyYXRpb25UZXN0cworeworCXB1YmxpYyBjbGFzcyBGcmllbmQKKwl7CisJCXB1YmxpYyBzdHJpbmcgTmFtZSB7IGdldDsgc2V0OyB9CisJCXB1YmxpYyBpbnQgQWdlIHsgZ2V0OyBzZXQ7IH0KKwl9Cit9CmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsuSW50ZWdyYXRpb25UZXN0cy9Hcm91cFRlc3RzLmNzIGIvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMvR3JvdXBUZXN0cy5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjEzYzI0Ci0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMvR3JvdXBUZXN0cy5jcwpAQCAtMCwwICsxLDkxIEBACivvu78vLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKwordXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7Cit1c2luZyBOVW5pdC5GcmFtZXdvcms7Cit1c2luZyBVc2VyZ3JpZC5TZGsuTW9kZWw7CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuSW50ZWdyYXRpb25UZXN0cworeworICAgIHB1YmxpYyBjbGFzcyBNeVVzZXJncmlkR3JvdXAgOiBVc2VyZ3JpZEdyb3VwCisgICAgeworICAgICAgICBwdWJsaWMgc3RyaW5nIERlc2NyaXB0aW9uIHsgZ2V0OyBzZXQ7IH0KKyAgICB9CisKKyAgICBbVGVzdEZpeHR1cmVdCisgICAgcHVibGljIGNsYXNzIEdyb3VwVGVzdHMgOiBCYXNlVGVzdAorICAgIHsKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIFNob3VsZE1hbmFnZUdyb3VwTGlmZWN5Y2xlKCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIGNsaWVudCA9IG5ldyBDbGllbnQoT3JnYW5pemF0aW9uLCBBcHBsaWNhdGlvbiwgQXBpVXJpKTsKKyAgICAgICAgICAgIGNsaWVudC5Mb2dpbihDbGllbnRJZCwgQ2xpZW50U2VjcmV0LCBBdXRoVHlwZS5Pcmdhbml6YXRpb24pOworCisgICAgICAgICAgICB2YXIgZ3JvdXAgPSBjbGllbnQuR2V0R3JvdXA8TXlVc2VyZ3JpZEdyb3VwPigiZ3JvdXAxIik7CisKKyAgICAgICAgICAgIGlmIChncm91cCAhPSBudWxsKQorICAgICAgICAgICAgICAgIGNsaWVudC5EZWxldGVHcm91cCgiZ3JvdXAxIik7CisKKyAgICAgICAgICAgIGdyb3VwID0gbmV3IE15VXNlcmdyaWRHcm91cCB7UGF0aCA9ICJncm91cDEiLCBUaXRsZSA9ICJ0aXRsZTEiLCBEZXNjcmlwdGlvbiA9ICJkZXNjMSJ9OworICAgICAgICAgICAgY2xpZW50LkNyZWF0ZUdyb3VwKGdyb3VwKTsKKyAgICAgICAgICAgIGdyb3VwID0gY2xpZW50LkdldEdyb3VwPE15VXNlcmdyaWRHcm91cD4oImdyb3VwMSIpOworCisgICAgICAgICAgICBBc3NlcnQuSXNOb3ROdWxsKGdyb3VwKTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCgiZ3JvdXAxIiwgZ3JvdXAuUGF0aCk7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoInRpdGxlMSIsIGdyb3VwLlRpdGxlKTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCgiZGVzYzEiLCBncm91cC5EZXNjcmlwdGlvbik7CisKKyAgICAgICAgICAgIGdyb3VwLkRlc2NyaXB0aW9uID0gImRlc2MyIjsKKyAgICAgICAgICAgIGdyb3VwLlRpdGxlID0gInRpdGxlMiI7CisKKyAgICAgICAgICAgIGNsaWVudC5VcGRhdGVHcm91cChncm91cCk7CisKKyAgICAgICAgICAgIGdyb3VwID0gY2xpZW50LkdldEdyb3VwPE15VXNlcmdyaWRHcm91cD4oImdyb3VwMSIpOworCisgICAgICAgICAgICBBc3NlcnQuSXNOb3ROdWxsKGdyb3VwKTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCgiZ3JvdXAxIiwgZ3JvdXAuUGF0aCk7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoInRpdGxlMiIsIGdyb3VwLlRpdGxlKTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCgiZGVzYzIiLCBncm91cC5EZXNjcmlwdGlvbik7CisKKyAgICAgICAgICAgIGNsaWVudC5EZWxldGVHcm91cCgiZ3JvdXAxIik7CisKKyAgICAgICAgICAgIGdyb3VwID0gY2xpZW50LkdldEdyb3VwPE15VXNlcmdyaWRHcm91cD4oImdyb3VwMSIpOworICAgICAgICAgICAgQXNzZXJ0LklzTnVsbChncm91cCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBTaG91bGRNYW5hZ2VVc2Vyc0luR3JvdXAoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgY2xpZW50ID0gbmV3IENsaWVudChPcmdhbml6YXRpb24sIEFwcGxpY2F0aW9uLCBBcGlVcmkpOworICAgICAgICAgICAgY2xpZW50LkxvZ2luKENsaWVudElkLCBDbGllbnRTZWNyZXQsIEF1dGhUeXBlLk9yZ2FuaXphdGlvbik7CisKKyAgICAgICAgICAgIHZhciB1c2VyID0gU2V0dXBVc2VyZ3JpZFVzZXIoY2xpZW50LCBuZXcgTXlVc2VyZ3JpZFVzZXIge1VzZXJOYW1lID0gInVzZXIxIiwgUGFzc3dvcmQgPSAidXNlcjEiLCBFbWFpbCA9ICJ1c2VyMUBnbWFpbC5jb20iLCBDaXR5ID0gImNpdHkxIn0pOworICAgICAgICAgICAgdmFyIGdyb3VwID0gU2V0dXBVc2VyZ3JpZEdyb3VwKGNsaWVudCwgbmV3IE15VXNlcmdyaWRHcm91cCB7UGF0aCA9ICJncm91cDEiLCBUaXRsZSA9ICJ0aXRsZTEiLCBEZXNjcmlwdGlvbiA9ICJkZXNjMSJ9KTsKKworICAgICAgICAgICAgY2xpZW50LkFkZFVzZXJUb0dyb3VwKGdyb3VwLlBhdGgsIHVzZXIuVXNlck5hbWUpOworICAgICAgICAgICAgSUxpc3Q8VXNlcmdyaWRVc2VyPiB1c2VycyA9IGNsaWVudC5HZXRBbGxVc2Vyc0luR3JvdXA8VXNlcmdyaWRVc2VyPihncm91cC5QYXRoKTsKKyAgICAgICAgICAgIEFzc2VydC5Jc05vdE51bGwodXNlcnMpOworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKDEsIHVzZXJzLkNvdW50KTsKKworICAgICAgICAgICAgY2xpZW50LkRlbGV0ZVVzZXJGcm9tR3JvdXAoImdyb3VwMSIsICJ1c2VyMSIpOworICAgICAgICAgICAgdXNlcnMgPSBjbGllbnQuR2V0QWxsVXNlcnNJbkdyb3VwPFVzZXJncmlkVXNlcj4oZ3JvdXAuUGF0aCk7CisgICAgICAgICAgICBBc3NlcnQuSXNOb3ROdWxsKHVzZXJzKTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCgwLCB1c2Vycy5Db3VudCk7CisKKyAgICAgICAgICAgIGNsaWVudC5EZWxldGVHcm91cCgiZ3JvdXAxIik7CisgICAgICAgICAgICBjbGllbnQuRGVsZXRlVXNlcigidXNlcjEiKTsKKyAgICAgICAgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzL0xvZ2luVGVzdHMuY3MgYi9Vc2VyZ3JpZC5TZGsuSW50ZWdyYXRpb25UZXN0cy9Mb2dpblRlc3RzLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhMjU5MGMKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsuSW50ZWdyYXRpb25UZXN0cy9Mb2dpblRlc3RzLmNzCkBAIC0wLDAgKzEsOTYgQEAKK++7vy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBOVW5pdC5GcmFtZXdvcms7Cit1c2luZyBVc2VyZ3JpZC5TZGsuTW9kZWw7CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuSW50ZWdyYXRpb25UZXN0cworeworICAgIFtUZXN0Rml4dHVyZV0KKyAgICBwdWJsaWMgY2xhc3MgTG9naW5UZXN0cyA6IEJhc2VUZXN0CisgICAgeworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgU2hvdWxkTG9naW5TdWNjZXNzZnVsbHlXaXRoQ2xpZW50Q3JlZGVudGlhbHMoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgY2xpZW50ID0gbmV3IENsaWVudChPcmdhbml6YXRpb24sIEFwcGxpY2F0aW9uLCBBcGlVcmkpOworICAgICAgICAgICAgY2xpZW50LkxvZ2luKENsaWVudElkLCBDbGllbnRTZWNyZXQsIEF1dGhUeXBlLk9yZ2FuaXphdGlvbik7CisgICAgICAgIH0KKworCQlbVGVzdF0KKwkJcHVibGljIHZvaWQgU2hvdWxkVGhyb3dXaXRoSW52YWxpZE9yZ2FuaXphdGlvbkNyZWRlbnRpYWxzKCkKKwkJeworCQkJdmFyIGNsaWVudCA9IG5ldyBDbGllbnQgKE9yZ2FuaXphdGlvbiwgQXBwbGljYXRpb24sIEFwaVVyaSk7CisKKwkJCXRyeQorCQkJeworCQkJCWNsaWVudC5Mb2dpbigiSW52YWxpZF9Vc2VyX05hbWUiLCAiSW52YWxpZF9QYXNzd29yZCIsIEF1dGhUeXBlLk9yZ2FuaXphdGlvbik7CisJCQkJQXNzZXJ0LlRydWUodHJ1ZSwgIldhcyBleHBlY3RpbmcgbG9naW4gdG8gdGhyb3cgVXNlckdyaWRFeGNlcHRpb24iKTsKKwkJCX0KKwkJCWNhdGNoIChVc2VyZ3JpZEV4Y2VwdGlvbiBlKQorCQkJeworCQkJCUFzc2VydC5UaGF0IChlLk1lc3NhZ2UsIElzLkVxdWFsVG8gKCJpbnZhbGlkIHVzZXJuYW1lIG9yIHBhc3N3b3JkIikpOworCQkJCUFzc2VydC5UaGF0KGUuRXJyb3JDb2RlLCBJcy5FcXVhbFRvKCJpbnZhbGlkX2dyYW50IikpOworCQkJfQorCQl9CisKKwkJW1Rlc3RdCisJCXB1YmxpYyB2b2lkIFNob3VsZExvZ2luU3VjY2Vzc2Z1bGx5V2l0aEFwcGxpY2F0aW9uQ3JlZGVudGlhbHMoKQorCQl7CisJCQl2YXIgY2xpZW50ID0gbmV3IENsaWVudChPcmdhbml6YXRpb24sIEFwcGxpY2F0aW9uLCBBcGlVcmkpOworCQkJY2xpZW50LkxvZ2luKEFwcGxpY2F0aW9uSWQsIEFwcGxpY2F0aW9uU2VjcmV0LCBBdXRoVHlwZS5BcHBsaWNhdGlvbik7CisJCX0KKworCQlbVGVzdF0KKwkJcHVibGljIHZvaWQgU2hvdWxkVGhyb3dXaXRoSW52YWxpZEFwcGxpY2F0aW9uQ3JlZGVudGlhbHMoKQorCQl7CisJCQl2YXIgY2xpZW50ID0gbmV3IENsaWVudCAoT3JnYW5pemF0aW9uLCBBcHBsaWNhdGlvbiwgQXBpVXJpKTsKKworCQkJdHJ5CisJCQl7CisJCQkJY2xpZW50LkxvZ2luKCJJbnZhbGlkX1VzZXJfTmFtZSIsICJJbnZhbGlkX1Bhc3N3b3JkIiwgQXV0aFR5cGUuQXBwbGljYXRpb24pOworCQkJCUFzc2VydC5UcnVlKHRydWUsICJXYXMgZXhwZWN0aW5nIGxvZ2luIHRvIHRocm93IFVzZXJHcmlkRXhjZXB0aW9uIik7CisJCQl9CisJCQljYXRjaCAoVXNlcmdyaWRFeGNlcHRpb24gZSkKKwkJCXsKKwkJCQlBc3NlcnQuVGhhdCAoZS5NZXNzYWdlLCBJcy5FcXVhbFRvICgiaW52YWxpZCB1c2VybmFtZSBvciBwYXNzd29yZCIpKTsKKwkJCQlBc3NlcnQuVGhhdChlLkVycm9yQ29kZSwgSXMuRXF1YWxUbygiaW52YWxpZF9ncmFudCIpKTsKKwkJCX0KKwkJfQorCisJCVtUZXN0XQorCQlwdWJsaWMgdm9pZCBTaG91bGRMb2dpblN1Y2Nlc3NmdWxseVdpdGhVc2VyQ3JlZGVudGlhbHMoKQorCQl7CisJCQl2YXIgY2xpZW50ID0gbmV3IENsaWVudChPcmdhbml6YXRpb24sIEFwcGxpY2F0aW9uLCBBcGlVcmkpOworCQkJY2xpZW50LkxvZ2luKFVzZXJJZCwgVXNlclNlY3JldCwgQXV0aFR5cGUuVXNlcik7CisJCX0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgU2hvdWxkVGhyb3dXaXRoSW52YWxpZFVzZXJDcmVkZW50aWFscygpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBjbGllbnQgPSBuZXcgQ2xpZW50KE9yZ2FuaXphdGlvbiwgQXBwbGljYXRpb24sIEFwaVVyaSk7CisKKyAgICAgICAgICAgIHRyeQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNsaWVudC5Mb2dpbigiSW52YWxpZF9Vc2VyX05hbWUiLCAiSW52YWxpZF9QYXNzd29yZCIsIEF1dGhUeXBlLlVzZXIpOworICAgICAgICAgICAgICAgIEFzc2VydC5UcnVlKHRydWUsICJXYXMgZXhwZWN0aW5nIGxvZ2luIHRvIHRocm93IFVzZXJHcmlkRXhjZXB0aW9uIik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjYXRjaCAoVXNlcmdyaWRFeGNlcHRpb24gZSkKKyAgICAgICAgICAgIHsKKwkJCQlBc3NlcnQuVGhhdCAoZS5NZXNzYWdlLCBJcy5FcXVhbFRvICgiaW52YWxpZCB1c2VybmFtZSBvciBwYXNzd29yZCIpKTsKKyAgICAgICAgICAgICAgICBBc3NlcnQuVGhhdChlLkVycm9yQ29kZSwgSXMuRXF1YWxUbygiaW52YWxpZF9ncmFudCIpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzL05vdGlmaWNhdGlvblRlc3RzLmNzIGIvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMvTm90aWZpY2F0aW9uVGVzdHMuY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWMyNzU0NgotLS0gL2Rldi9udWxsCisrKyBiL1VzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzL05vdGlmaWNhdGlvblRlc3RzLmNzCkBAIC0wLDAgKzEsMTMzIEBACivvu78vLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKwordXNpbmcgU3lzdGVtOwordXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7Cit1c2luZyBTeXN0ZW0uTGlucTsKK3VzaW5nIE5Vbml0LkZyYW1ld29yazsKK3VzaW5nIFVzZXJncmlkLlNkay5Nb2RlbDsKKworbmFtZXNwYWNlIFVzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzCit7CisgICAgW1Rlc3RGaXh0dXJlXQorICAgIHB1YmxpYyBjbGFzcyBOb3RpZmljYXRpb25UZXN0cyA6IEJhc2VUZXN0CisgICAgeworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgU2hvdWxkQ3JlYXRlTm90aWZpZXJGb3JBbmRyb2lkKCkKKyAgICAgICAgeworICAgICAgICAgICAgY29uc3Qgc3RyaW5nIG5vdGlmaWVyTmFtZSA9ICJ0ZXN0X25vdGlmaWVyIjsKKyAgICAgICAgICAgIHZhciBjbGllbnQgPSBJbml0aWFsaXplQ2xpZW50QW5kTG9naW4oQXV0aFR5cGUuT3JnYW5pemF0aW9uKTsKKyAgICAgICAgICAgIERlbGV0ZU5vdGlmaWVySWZFeGlzdHMoY2xpZW50LCBub3RpZmllck5hbWUpOworCisgICAgICAgICAgICBjbGllbnQuQ3JlYXRlTm90aWZpZXJGb3JBbmRyb2lkKG5vdGlmaWVyTmFtZSwgR29vZ2xlQXBpS2V5IC8qZS5nLiBBSXphU3lDa1hPdEJRN0E5R29Kc1NMcVpsb2RfWWpFZnh4eHh4eHgqLyk7CisKKyAgICAgICAgICAgIFVzZXJncmlkTm90aWZpZXIgdXNlcmdyaWROb3RpZmllciA9IGNsaWVudC5HZXROb3RpZmllcjxVc2VyZ3JpZE5vdGlmaWVyPihub3RpZmllck5hbWUpOworICAgICAgICAgICAgQXNzZXJ0LlRoYXQodXNlcmdyaWROb3RpZmllciwgSXMuTm90Lk51bGwpOworICAgICAgICAgICAgQXNzZXJ0LlRoYXQodXNlcmdyaWROb3RpZmllci5Qcm92aWRlciwgSXMuRXF1YWxUbygiZ29vZ2xlIikpOworICAgICAgICAgICAgQXNzZXJ0LlRoYXQodXNlcmdyaWROb3RpZmllci5OYW1lLCBJcy5FcXVhbFRvKG5vdGlmaWVyTmFtZSkpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIFNob3VsZENyZWF0ZU5vdGlmaWVyRm9yQXBwbGUoKQorICAgICAgICB7CisgICAgICAgICAgICBjb25zdCBzdHJpbmcgbm90aWZpZXJOYW1lID0gInRlc3Rfbm90aWZpZXIiOworICAgICAgICAgICAgY29uc3Qgc3RyaW5nIGVudmlyb25tZW50ID0gImRldmVsb3BtZW50IjsKKyAgICAgICAgICAgIHZhciBjbGllbnQgPSBJbml0aWFsaXplQ2xpZW50QW5kTG9naW4oQXV0aFR5cGUuT3JnYW5pemF0aW9uKTsKKyAgICAgICAgICAgIERlbGV0ZU5vdGlmaWVySWZFeGlzdHMoY2xpZW50LCBub3RpZmllck5hbWUpOworCisgICAgICAgICAgICBjbGllbnQuQ3JlYXRlTm90aWZpZXJGb3JBcHBsZShub3RpZmllck5hbWUsIGVudmlyb25tZW50LCBQMTJDZXJ0aWZpY2F0ZVBhdGggLyplLmcuIGM6XHRlbXBccHVzaHRlc3RfZGV2LnAxMiovKTsKKworICAgICAgICAgICAgVXNlcmdyaWROb3RpZmllciB1c2VyZ3JpZE5vdGlmaWVyID0gY2xpZW50LkdldE5vdGlmaWVyPFVzZXJncmlkTm90aWZpZXI+KG5vdGlmaWVyTmFtZSk7CisKKyAgICAgICAgICAgIEFzc2VydC5UaGF0KHVzZXJncmlkTm90aWZpZXIsIElzLk5vdC5OdWxsKTsKKyAgICAgICAgICAgIEFzc2VydC5UaGF0KHVzZXJncmlkTm90aWZpZXIuRW52aXJvbm1lbnQsIElzLkVxdWFsVG8oZW52aXJvbm1lbnQpKTsKKyAgICAgICAgICAgIEFzc2VydC5UaGF0KHVzZXJncmlkTm90aWZpZXIuUHJvdmlkZXIsIElzLkVxdWFsVG8oImFwcGxlIikpOworICAgICAgICAgICAgQXNzZXJ0LlRoYXQodXNlcmdyaWROb3RpZmllci5OYW1lLCBJcy5FcXVhbFRvKG5vdGlmaWVyTmFtZSkpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIFNob3VsZFB1Ymxpc2hOb3RpZmljYXRpb25zKCkKKyAgICAgICAgeworICAgICAgICAgICAgLy9TZXQgdXAKKyAgICAgICAgICAgIGNvbnN0IHN0cmluZyBhcHBsZU5vdGlmaWVyTmFtZSA9ICJhcHBsZV9ub3RpZmllciI7CisgICAgICAgICAgICBjb25zdCBzdHJpbmcgZ29vZ2xlTm90aWZpZXJOYW1lID0gImdvb2dsZV9ub3RpZmllciI7CisgICAgICAgICAgICBjb25zdCBzdHJpbmcgdXNlcm5hbWUgPSAiTm90aWZpY2F0aW9uVGVzdFVzZXIiOworICAgICAgICAgICAgY29uc3Qgc3RyaW5nIGFwcGxlVGVzdE1lc3NnZSA9ICJ0ZXN0IG1lc3NhZ2UgZm9yIEFwcGxlIjsKKyAgICAgICAgICAgIGNvbnN0IHN0cmluZyBhbmRyb2lkVGVzdE1lc3NhZ2UgPSAidGVzdCBtZXNzYWdlIGZvciBBbmRyb2lkIjsKKworICAgICAgICAgICAgdmFyIGNsaWVudCA9IEluaXRpYWxpemVDbGllbnRBbmRMb2dpbihBdXRoVHlwZS5Pcmdhbml6YXRpb24pOworICAgICAgICAgICAgQ3JlYXRlQXBwbGVOb3RpZmllcihjbGllbnQsYXBwbGVOb3RpZmllck5hbWUpOyAgICAgICAgICAgIAorICAgICAgICAgICAgQ3JlYXRlQW5kcm9pZE5vdGlmaWVyKGNsaWVudCxnb29nbGVOb3RpZmllck5hbWUpOyAgICAgICAgICAgIAorICAgICAgICAgICAgQ3JlYXRlVXNlcih1c2VybmFtZSwgY2xpZW50KTsKKworICAgICAgICAgICAgLy9TZXR1cCBOb3RpZmljYXRpb25zCisgICAgICAgICAgICB2YXIgYXBwbGVOb3RpZmljYXRpb24gPSBuZXcgQXBwbGVOb3RpZmljYXRpb24oYXBwbGVOb3RpZmllck5hbWUsIGFwcGxlVGVzdE1lc3NnZSwgImNoaW1lIik7CisgICAgICAgICAgICB2YXIgZ29vZ2xlTm90aWZpY2F0aW9uID0gbmV3IEFuZHJvaWROb3RpZmljYXRpb24oZ29vZ2xlTm90aWZpZXJOYW1lLCBhbmRyb2lkVGVzdE1lc3NhZ2UpOworICAgICAgICAgICAgLy9TZXR1cCByZWNpcGllbnRzIGFuZCBzY2hlZHVsaW5nCisgICAgICAgICAgICBJTm90aWZpY2F0aW9uUmVjaXBpZW50cyByZWNpcGllbnRzID0gbmV3IE5vdGlmaWNhdGlvblJlY2lwaWVudHMoKS5BZGRVc2VyV2l0aE5hbWUodXNlcm5hbWUpOworICAgICAgICAgICAgdmFyIHNjaGVkdWxlclNldHRpbmdzID0gbmV3IE5vdGlmaWNhdGlvblNjaGVkdWxlclNldHRpbmdzIHtEZWxpdmVyQXQgPSBEYXRlVGltZS5Ob3cuQWRkRGF5cygxKX07CisKKyAgICAgICAgICAgIGNsaWVudC5QdWJsaXNoTm90aWZpY2F0aW9uKG5ldyBOb3RpZmljYXRpb25bXSB7YXBwbGVOb3RpZmljYXRpb24sIGdvb2dsZU5vdGlmaWNhdGlvbn0sIHJlY2lwaWVudHMsIHNjaGVkdWxlclNldHRpbmdzKTsKKworICAgICAgICAgICAgLy9Bc3NlcnQKKyAgICAgICAgICAgIFVzZXJncmlkQ29sbGVjdGlvbjxkeW5hbWljPiBlbnRpdGllcyA9IGNsaWVudC5HZXRFbnRpdGllczxkeW5hbWljPigibm90aWZpY2F0aW9ucyIsIHF1ZXJ5OiAib3JkZXIgYnkgY3JlYXRlZCBkZXNjIik7CisgICAgICAgICAgICBkeW5hbWljIG5vdGlmaWNhdGlvbiA9IGVudGl0aWVzLkZpcnN0T3JEZWZhdWx0KCk7CisKKyAgICAgICAgICAgIEFzc2VydC5Jc05vdE51bGwobm90aWZpY2F0aW9uKTsKKyAgICAgICAgICAgIEFzc2VydC5Jc05vdE51bGwobm90aWZpY2F0aW9uLnV1aWQpOworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKGFwcGxlVGVzdE1lc3NnZSwgbm90aWZpY2F0aW9uLnBheWxvYWRzLmFwcGxlX25vdGlmaWVyLmFwcy5hbGVydC5WYWx1ZSk7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoImNoaW1lIiwgbm90aWZpY2F0aW9uLnBheWxvYWRzLmFwcGxlX25vdGlmaWVyLmFwcy5zb3VuZC5WYWx1ZSk7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoYW5kcm9pZFRlc3RNZXNzYWdlLCBub3RpZmljYXRpb24ucGF5bG9hZHMuZ29vZ2xlX25vdGlmaWVyLmRhdGEuVmFsdWUpOworCisgICAgICAgICAgICAvL0NhbmNlbCBub3RpZmljYXRpb24gYW5kIGFzc2VydCBpdCBpcyBjYW5jZWxlZAorICAgICAgICAgICAgY2xpZW50LkNhbmNlbE5vdGlmaWNhdGlvbihub3RpZmljYXRpb24udXVpZC5WYWx1ZSk7CisgICAgICAgICAgICBkeW5hbWljIGVudGl0eSA9IGNsaWVudC5HZXRFbnRpdHk8ZHluYW1pYz4oIm5vdGlmaWNhdGlvbnMiLCBub3RpZmljYXRpb24udXVpZC5WYWx1ZSk7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoZW50aXR5LnN0YXRlLlZhbHVlLCAiQ0FOQ0VMRUQiKTsKKyAgICAgICAgfQorCisgICAgICAgIHByaXZhdGUgc3RhdGljIHZvaWQgQ3JlYXRlVXNlcihzdHJpbmcgdXNlcm5hbWUsIElDbGllbnQgY2xpZW50KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgdXNlckVudGl0eSA9IG5ldyBNeVVzZXJncmlkVXNlciB7VXNlck5hbWUgPSB1c2VybmFtZX07CisgICAgICAgICAgICAvLyBTZWUgaWYgdGhpcyB1c2VyIGV4aXN0cworICAgICAgICAgICAgdmFyIHVzZXJGcm9tVXNlcmdyaWQgPSBjbGllbnQuR2V0VXNlcjxVc2VyZ3JpZFVzZXI+KHVzZXJuYW1lKTsKKyAgICAgICAgICAgIC8vIERlbGV0ZSBpZiBleGlzdHMKKyAgICAgICAgICAgIGlmICh1c2VyRnJvbVVzZXJncmlkICE9IG51bGwpIHsKKyAgICAgICAgICAgICAgICBjbGllbnQuRGVsZXRlVXNlcih1c2VybmFtZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAvLyBOb3cgY3JlYXRlIHRoZSB1c2VyCisgICAgICAgICAgICBjbGllbnQuQ3JlYXRlVXNlcih1c2VyRW50aXR5KTsKKyAgICAgICAgfQorCisKKyAgICAgICAgcHJpdmF0ZSB2b2lkIENyZWF0ZUFwcGxlTm90aWZpZXIoSUNsaWVudCBjbGllbnQsIHN0cmluZyBub3RpZmllck5hbWUpCisgICAgICAgIHsKKyAgICAgICAgICAgIERlbGV0ZU5vdGlmaWVySWZFeGlzdHMoY2xpZW50LCBub3RpZmllck5hbWUpOworICAgICAgICAgICAgY2xpZW50LkNyZWF0ZU5vdGlmaWVyRm9yQXBwbGUobm90aWZpZXJOYW1lLCAiZGV2ZWxvcG1lbnQiLCBiYXNlLlAxMkNlcnRpZmljYXRlUGF0aCk7CisgICAgICAgIH0KKworICAgICAgICBwcml2YXRlIHZvaWQgQ3JlYXRlQW5kcm9pZE5vdGlmaWVyKElDbGllbnQgY2xpZW50LCBzdHJpbmcgbm90aWZpZXJOYW1lKQorICAgICAgICB7CisgICAgICAgICAgICBEZWxldGVOb3RpZmllcklmRXhpc3RzKGNsaWVudCwgbm90aWZpZXJOYW1lKTsKKyAgICAgICAgICAgIGNsaWVudC5DcmVhdGVOb3RpZmllckZvckFuZHJvaWQobm90aWZpZXJOYW1lLCBHb29nbGVBcGlLZXkpOworICAgICAgICB9CisgICAgICAgIHByaXZhdGUgc3RhdGljIHZvaWQgRGVsZXRlTm90aWZpZXJJZkV4aXN0cyhJQ2xpZW50IGNsaWVudCwgc3RyaW5nIG5vdGlmaWVyTmFtZSkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIHVzZXJncmlkTm90aWZpZXIgPSBjbGllbnQuR2V0Tm90aWZpZXI8VXNlcmdyaWROb3RpZmllcj4obm90aWZpZXJOYW1lKTsKKyAgICAgICAgICAgIGlmICh1c2VyZ3JpZE5vdGlmaWVyICE9IG51bGwpCisgICAgICAgICAgICAgICAgY2xpZW50LkRlbGV0ZU5vdGlmaWVyKHVzZXJncmlkTm90aWZpZXIuVXVpZCk7CisgICAgICAgIH0KKworICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzL1Byb3BlcnRpZXMvQXNzZW1ibHlJbmZvLmNzIGIvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMvUHJvcGVydGllcy9Bc3NlbWJseUluZm8uY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjkwZTc3YQotLS0gL2Rldi9udWxsCisrKyBiL1VzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzL1Byb3BlcnRpZXMvQXNzZW1ibHlJbmZvLmNzCkBAIC0wLDAgKzEsNTUgQEAKK++7vy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBTeXN0ZW0uUmVmbGVjdGlvbjsKK3VzaW5nIFN5c3RlbS5SdW50aW1lLkNvbXBpbGVyU2VydmljZXM7Cit1c2luZyBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXM7CisKKy8vIEdlbmVyYWwgSW5mb3JtYXRpb24gYWJvdXQgYW4gYXNzZW1ibHkgaXMgY29udHJvbGxlZCB0aHJvdWdoIHRoZSBmb2xsb3dpbmcgCisvLyBzZXQgb2YgYXR0cmlidXRlcy4gQ2hhbmdlIHRoZXNlIGF0dHJpYnV0ZSB2YWx1ZXMgdG8gbW9kaWZ5IHRoZSBpbmZvcm1hdGlvbgorLy8gYXNzb2NpYXRlZCB3aXRoIGFuIGFzc2VtYmx5LgorCitbYXNzZW1ibHk6IEFzc2VtYmx5VGl0bGUoIlVzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzIildCitbYXNzZW1ibHk6IEFzc2VtYmx5RGVzY3JpcHRpb24oIiIpXQorW2Fzc2VtYmx5OiBBc3NlbWJseUNvbmZpZ3VyYXRpb24oIiIpXQorW2Fzc2VtYmx5OiBBc3NlbWJseUNvbXBhbnkoIk1pY3Jvc29mdCIpXQorW2Fzc2VtYmx5OiBBc3NlbWJseVByb2R1Y3QoIlVzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzIildCitbYXNzZW1ibHk6IEFzc2VtYmx5Q29weXJpZ2h0KCJDb3B5cmlnaHQgwqkgTWljcm9zb2Z0IDIwMTMiKV0KK1thc3NlbWJseTogQXNzZW1ibHlUcmFkZW1hcmsoIiIpXQorW2Fzc2VtYmx5OiBBc3NlbWJseUN1bHR1cmUoIiIpXQorCisvLyBTZXR0aW5nIENvbVZpc2libGUgdG8gZmFsc2UgbWFrZXMgdGhlIHR5cGVzIGluIHRoaXMgYXNzZW1ibHkgbm90IHZpc2libGUgCisvLyB0byBDT00gY29tcG9uZW50cy4gIElmIHlvdSBuZWVkIHRvIGFjY2VzcyBhIHR5cGUgaW4gdGhpcyBhc3NlbWJseSBmcm9tIAorLy8gQ09NLCBzZXQgdGhlIENvbVZpc2libGUgYXR0cmlidXRlIHRvIHRydWUgb24gdGhhdCB0eXBlLgorCitbYXNzZW1ibHk6IENvbVZpc2libGUoZmFsc2UpXQorCisvLyBUaGUgZm9sbG93aW5nIEdVSUQgaXMgZm9yIHRoZSBJRCBvZiB0aGUgdHlwZWxpYiBpZiB0aGlzIHByb2plY3QgaXMgZXhwb3NlZCB0byBDT00KKworW2Fzc2VtYmx5OiBHdWlkKCI0ZWE1YmRjZS0xOTA0LTQyNWMtYmY2YS0xYTdmYzA1YTQyMDYiKV0KKworLy8gVmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgYW4gYXNzZW1ibHkgY29uc2lzdHMgb2YgdGhlIGZvbGxvd2luZyBmb3VyIHZhbHVlczoKKy8vCisvLyAgICAgIE1ham9yIFZlcnNpb24KKy8vICAgICAgTWlub3IgVmVyc2lvbiAKKy8vICAgICAgQnVpbGQgTnVtYmVyCisvLyAgICAgIFJldmlzaW9uCisvLworLy8gWW91IGNhbiBzcGVjaWZ5IGFsbCB0aGUgdmFsdWVzIG9yIHlvdSBjYW4gZGVmYXVsdCB0aGUgQnVpbGQgYW5kIFJldmlzaW9uIE51bWJlcnMgCisvLyBieSB1c2luZyB0aGUgJyonIGFzIHNob3duIGJlbG93OgorLy8gW2Fzc2VtYmx5OiBBc3NlbWJseVZlcnNpb24oIjEuMC4qIildCisKK1thc3NlbWJseTogQXNzZW1ibHlWZXJzaW9uKCIwLjEuMC4wIildCitbYXNzZW1ibHk6IEFzc2VtYmx5RmlsZVZlcnNpb24oIjAuMS4wLjAiKV0KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzL1VzZXJNYW5hZ2VtZW50VGVzdHMuY3MgYi9Vc2VyZ3JpZC5TZGsuSW50ZWdyYXRpb25UZXN0cy9Vc2VyTWFuYWdlbWVudFRlc3RzLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0M2U2ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsuSW50ZWdyYXRpb25UZXN0cy9Vc2VyTWFuYWdlbWVudFRlc3RzLmNzCkBAIC0wLDAgKzEsOTYgQEAKKy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBOVW5pdC5GcmFtZXdvcms7Cit1c2luZyBOZXd0b25zb2Z0Lkpzb247Cit1c2luZyBVc2VyZ3JpZC5TZGsuTW9kZWw7CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuSW50ZWdyYXRpb25UZXN0cworeworICAgIHB1YmxpYyBjbGFzcyBNeVVzZXJncmlkVXNlciA6IFVzZXJncmlkVXNlcgorICAgIHsKKyAgICAgICAgW0pzb25Qcm9wZXJ0eSgiY2l0eSIpXQorICAgICAgICBwdWJsaWMgc3RyaW5nIENpdHkgeyBnZXQ7IHNldDsgfQorCisgICAgICAgIFtKc29uUHJvcGVydHkoInBhc3N3b3JkIildCisgICAgICAgIHB1YmxpYyBzdHJpbmcgUGFzc3dvcmQgeyBnZXQ7IHNldDsgfQorICAgIH0KKworICAgIFtUZXN0Rml4dHVyZV0KKyAgICBwdWJsaWMgY2xhc3MgVXNlck1hbmFnZW1lbnRUZXN0cyA6IEJhc2VUZXN0CisgICAgeworICAgICAgICBwcml2YXRlIElDbGllbnQgX2NsaWVudDsKKyAgICAgICAgW1NldFVwXQorICAgICAgICBwdWJsaWMgdm9pZCBTZXR1cCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIF9jbGllbnQgPSBJbml0aWFsaXplQ2xpZW50QW5kTG9naW4oQXV0aFR5cGUuT3JnYW5pemF0aW9uKTsKKyAgICAgICAgICAgIERlbGV0ZVVzZXJJZkV4aXN0cyhfY2xpZW50LCAidXNlcjEiKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBTaG91bGRDaGFuZ2VQYXNzd29yZCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIE15VXNlcmdyaWRVc2VyIHVzZXIgPSBuZXcgTXlVc2VyZ3JpZFVzZXIgeyBVc2VyTmFtZSA9ICJ1c2VyMSIsIFBhc3N3b3JkID0gInVzZXIxIiwgRW1haWwgPSAidXNlcjFAZ21haWwuY29tIiwgQ2l0eSA9ICJjaXR5MSIgfTsKKyAgICAgICAgICAgIF9jbGllbnQuQ3JlYXRlVXNlcih1c2VyKTsKKworICAgICAgICAgICAgdXNlciA9IF9jbGllbnQuR2V0VXNlcjxNeVVzZXJncmlkVXNlcj4oInVzZXIxIik7CisgICAgICAgICAgICBBc3NlcnQuSXNOb3ROdWxsKHVzZXIpOworCisgICAgICAgICAgICBfY2xpZW50LkxvZ2luKCJ1c2VyMSIsICJ1c2VyMSIsIEF1dGhUeXBlLlVzZXIpOworCisgICAgICAgICAgICBfY2xpZW50LkNoYW5nZVBhc3N3b3JkKCJ1c2VyMSIsICJ1c2VyMSIsICJ1c2VyMS0yIik7CisKKyAgICAgICAgICAgIF9jbGllbnQuTG9naW4oInVzZXIxIiwgInVzZXIxLTIiLCBBdXRoVHlwZS5Vc2VyKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBTaG91bGRDcmVhdGVVc2VyKCkKKyAgICAgICAgeworICAgICAgICAgICAgTXlVc2VyZ3JpZFVzZXIgdXNlciA9IG5ldyBNeVVzZXJncmlkVXNlciB7IFVzZXJOYW1lID0gInVzZXIxIiwgUGFzc3dvcmQgPSAidXNlcjEiLCBFbWFpbCA9ICJ1c2VyMUBnbWFpbC5jb20iLCBDaXR5ID0gImNpdHkxIiB9OworICAgICAgICAgICAgX2NsaWVudC5DcmVhdGVVc2VyKHVzZXIpOworICAgICAgICAgICAgdXNlciA9IF9jbGllbnQuR2V0VXNlcjxNeVVzZXJncmlkVXNlcj4oInVzZXIxIik7CisKKyAgICAgICAgICAgIEFzc2VydC5Jc05vdE51bGwodXNlcik7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoInVzZXIxIiwgdXNlci5Vc2VyTmFtZSk7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoInVzZXIxQGdtYWlsLmNvbSIsIHVzZXIuRW1haWwpOworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKCJjaXR5MSIsIHVzZXIuQ2l0eSk7CisgICAgICAgICAgICBBc3NlcnQuSXNOdWxsKHVzZXIuUGFzc3dvcmQpOworCisgICAgICAgICAgICBfY2xpZW50LkRlbGV0ZVVzZXIoInVzZXIxIik7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgU2hvdWxkVXBkYXRlVXNlcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciB1c2VyID0gbmV3IE15VXNlcmdyaWRVc2VyIHtVc2VyTmFtZSA9ICJ1c2VyMSIsIFBhc3N3b3JkID0gInVzZXIxIiwgRW1haWwgPSAidXNlcjFAZ21haWwuY29tIiwgQ2l0eSA9ICJjaXR5MSJ9OworICAgICAgICAgICAgICAgIF9jbGllbnQuQ3JlYXRlVXNlcih1c2VyKTsKKyAgICAgICAgICAgICAgICB1c2VyID0gX2NsaWVudC5HZXRVc2VyPE15VXNlcmdyaWRVc2VyPigidXNlcjEiKTsKKworICAgICAgICAgICAgdXNlci5FbWFpbCA9ICJ1c2VyLTJAZ21haWwuY29tIjsKKyAgICAgICAgICAgIHVzZXIuQ2l0eSA9ICJjaXR5MS0yIjsKKyAgICAgICAgICAgIHVzZXIuUGFzc3dvcmQgPSAidXNlcjEtMiI7CisgICAgICAgICAgICBfY2xpZW50LlVwZGF0ZVVzZXIodXNlcik7CisKKyAgICAgICAgICAgIHVzZXIgPSBfY2xpZW50LkdldFVzZXI8TXlVc2VyZ3JpZFVzZXI+KCJ1c2VyMSIpOworICAgICAgICAgICAgQXNzZXJ0LklzTm90TnVsbCh1c2VyKTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCgidXNlcjEiLCB1c2VyLlVzZXJOYW1lKTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCgidXNlci0yQGdtYWlsLmNvbSIsIHVzZXIuRW1haWwpOworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKCJjaXR5MS0yIiwgdXNlci5DaXR5KTsKKyAgICAgICAgICAgIEFzc2VydC5Jc051bGwodXNlci5QYXNzd29yZCk7CisKKyAgICAgICAgICAgIF9jbGllbnQuRGVsZXRlVXNlcigidXNlcjEiKTsKKyAgICAgICAgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzL1VzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzLmNzcHJvaiBiL1VzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzL1VzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzLmNzcHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZWZhYmZkCi0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMuY3Nwcm9qCkBAIC0wLDAgKzEsMTA5IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPCEtLQorIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKy0tPgorCis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPENvbmZpZ3VyYXRpb24gQ29uZGl0aW9uPSIgJyQoQ29uZmlndXJhdGlvbiknID09ICcnICI+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgPFBsYXRmb3JtIENvbmRpdGlvbj0iICckKFBsYXRmb3JtKScgPT0gJycgIj5BbnlDUFU8L1BsYXRmb3JtPgorICAgIDxQcm9kdWN0VmVyc2lvbj44LjAuMzA3MDM8L1Byb2R1Y3RWZXJzaW9uPgorICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICA8UHJvamVjdEd1aWQ+ezAyNzhBMEE0LUY1RTktNDFGNy1BODZFLUNEMzc2RDNGRTVFMn08L1Byb2plY3RHdWlkPgorICAgIDxPdXRwdXRUeXBlPkxpYnJhcnk8L091dHB1dFR5cGU+CisgICAgPEFwcERlc2lnbmVyRm9sZGVyPlByb3BlcnRpZXM8L0FwcERlc2lnbmVyRm9sZGVyPgorICAgIDxSb290TmFtZXNwYWNlPlVzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzPC9Sb290TmFtZXNwYWNlPgorICAgIDxBc3NlbWJseU5hbWU+VXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHM8L0Fzc2VtYmx5TmFtZT4KKyAgICA8VGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj52NC4wPC9UYXJnZXRGcmFtZXdvcmtWZXJzaW9uPgorICAgIDxGaWxlQWxpZ25tZW50PjUxMjwvRmlsZUFsaWdubWVudD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IiAnJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKScgPT0gJ0RlYnVnfEFueUNQVScgIj4KKyAgICA8RGVidWdTeW1ib2xzPnRydWU8L0RlYnVnU3ltYm9scz4KKyAgICA8RGVidWdUeXBlPmZ1bGw8L0RlYnVnVHlwZT4KKyAgICA8T3B0aW1pemU+ZmFsc2U8L09wdGltaXplPgorICAgIDxPdXRwdXRQYXRoPmJpblxEZWJ1Z1w8L091dHB1dFBhdGg+CisgICAgPERlZmluZUNvbnN0YW50cz5ERUJVRztUUkFDRTwvRGVmaW5lQ29uc3RhbnRzPgorICAgIDxFcnJvclJlcG9ydD5wcm9tcHQ8L0Vycm9yUmVwb3J0PgorICAgIDxXYXJuaW5nTGV2ZWw+NDwvV2FybmluZ0xldmVsPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iICckKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJyA9PSAnUmVsZWFzZXxBbnlDUFUnICI+CisgICAgPERlYnVnVHlwZT5wZGJvbmx5PC9EZWJ1Z1R5cGU+CisgICAgPE9wdGltaXplPnRydWU8L09wdGltaXplPgorICAgIDxPdXRwdXRQYXRoPmJpblxSZWxlYXNlXDwvT3V0cHV0UGF0aD4KKyAgICA8RGVmaW5lQ29uc3RhbnRzPlRSQUNFPC9EZWZpbmVDb25zdGFudHM+CisgICAgPEVycm9yUmVwb3J0PnByb21wdDwvRXJyb3JSZXBvcnQ+CisgICAgPFdhcm5pbmdMZXZlbD40PC9XYXJuaW5nTGV2ZWw+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9Im51bml0LmZyYW1ld29yayI+CisgICAgICA8SGludFBhdGg+Li5ccGFja2FnZXNcTlVuaXQuMi42LjJcbGliXG51bml0LmZyYW1ld29yay5kbGw8L0hpbnRQYXRoPgorICAgIDwvUmVmZXJlbmNlPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iU3lzdGVtIiAvPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iU3lzdGVtLkNvcmUiIC8+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJTeXN0ZW0uWG1sLkxpbnEiIC8+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJTeXN0ZW0uRGF0YS5EYXRhU2V0RXh0ZW5zaW9ucyIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9Ik1pY3Jvc29mdC5DU2hhcnAiIC8+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJTeXN0ZW0uRGF0YSIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlN5c3RlbS5YbWwiIC8+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJTeXN0ZW0uQ29uZmlndXJhdGlvbiIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9Ik5ld3RvbnNvZnQuSnNvbiI+CisgICAgICA8SGludFBhdGg+Li5ccGFja2FnZXNcTmV3dG9uc29mdC5Kc29uLjQuNS4xMVxsaWJcbmV0NDBcTmV3dG9uc29mdC5Kc29uLmRsbDwvSGludFBhdGg+CisgICAgPC9SZWZlcmVuY2U+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJSZXN0U2hhcnAiPgorICAgICAgPEhpbnRQYXRoPi4uXHBhY2thZ2VzXFJlc3RTaGFycC4xMDQuMVxsaWJcbmV0NFxSZXN0U2hhcnAuZGxsPC9IaW50UGF0aD4KKyAgICA8L1JlZmVyZW5jZT4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iQ29ubmVjdGlvblRlc3RzLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9IkRldmljZVRlc3RzLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9Ikdyb3VwVGVzdHMuY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iTG9naW5UZXN0cy5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJOb3RpZmljYXRpb25UZXN0cy5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJQcm9wZXJ0aWVzXEFzc2VtYmx5SW5mby5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJVc2VyZ3JpZEZyaWVuZC5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJVc2VyTWFuYWdlbWVudFRlc3RzLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9IkJhc2VUZXN0LmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9IkVudGl0eVBhZ2luZ1Rlc3RzLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9IkVudGl0eUNydWRUZXN0cy5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJGcmllbmQuY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iQWN0aXZpdGllc1Rlc3RzLmNzIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Tm9uZSBJbmNsdWRlPSJwYWNrYWdlcy5jb25maWciIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoTVNCdWlsZFRvb2xzUGF0aClcTWljcm9zb2Z0LkNTaGFycC50YXJnZXRzIiAvPgorICA8IS0tIFRvIG1vZGlmeSB5b3VyIGJ1aWxkIHByb2Nlc3MsIGFkZCB5b3VyIHRhc2sgaW5zaWRlIG9uZSBvZiB0aGUgdGFyZ2V0cyBiZWxvdyBhbmQgdW5jb21tZW50IGl0LiAKKyAgICAgICBPdGhlciBzaW1pbGFyIGV4dGVuc2lvbiBwb2ludHMgZXhpc3QsIHNlZSBNaWNyb3NvZnQuQ29tbW9uLnRhcmdldHMuCisgIDxUYXJnZXQgTmFtZT0iQmVmb3JlQnVpbGQiPgorICA8L1RhcmdldD4KKyAgPFRhcmdldCBOYW1lPSJBZnRlckJ1aWxkIj4KKyAgPC9UYXJnZXQ+CisgIC0tPgorICA8SXRlbUdyb3VwPgorICAgIDxDb250ZW50IEluY2x1ZGU9IlVzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzLmRsbC5jb25maWciPgorICAgICAgPENvcHlUb091dHB1dERpcmVjdG9yeT5QcmVzZXJ2ZU5ld2VzdDwvQ29weVRvT3V0cHV0RGlyZWN0b3J5PgorICAgIDwvQ29udGVudD4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0iLi5cVXNlcmdyaWQuU2RrXFVzZXJncmlkLlNkay5jc3Byb2oiPgorICAgICAgPFByb2plY3Q+ezQzN0QxMDhGLTUyOEMtNEIyQS1CMzk5LTA2Q0YwMkRFQjA4Qn08L1Byb2plY3Q+CisgICAgICA8TmFtZT5Vc2VyZ3JpZC5TZGs8L05hbWU+CisgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgorICA8L0l0ZW1Hcm91cD4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFBvc3RCdWlsZEV2ZW50PmNvcHkgL3kgJChQcm9qZWN0RGlyKU15U2V0dGluZ3MuY29uZmlnICQoUHJvamVjdERpcikkKE91dERpcik8L1Bvc3RCdWlsZEV2ZW50PgorICA8L1Byb3BlcnR5R3JvdXA+Cis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsuSW50ZWdyYXRpb25UZXN0cy9Vc2VyZ3JpZC5TZGsuSW50ZWdyYXRpb25UZXN0cy5kbGwuY29uZmlnIGIvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMuZGxsLmNvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOGZkMmU1Ci0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMuZGxsLmNvbmZpZwpAQCAtMCwwICsxLDMzIEBACis8IS0tCisgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorLS0+CisKKworPGNvbmZpZ3VyYXRpb24+CisJPGFwcFNldHRpbmdzPgorICAgICAgICAgICAgICAgIDxhZGQga2V5PSJhcGlVcmkiIHZhbHVlPSJCQVNFX1VSSV9PRl9VU0VSR1JJRF9BUEkiIC8+CisJCTxhZGQga2V5PSJvcmdhbml6YXRpb24iIHZhbHVlPSJPUkdBTklaQVRJT05fTkFNRSIgLz4KKwkJPGFkZCBrZXk9ImFwcGxpY2F0aW9uIiB2YWx1ZT0iQVBQTElDQVRJT05fTkFNRSIgLz4KKwkJPGFkZCBrZXk9ImNsaWVudElkIiB2YWx1ZT0iQ0xJRU5UX0lEIiAvPgorCQk8YWRkIGtleT0iY2xpZW50U2VjcmV0IiB2YWx1ZT0iQ0xJRU5UX1NFQ1JFVCIgLz4KKwkJPGFkZCBrZXk9ImFwcGxpY2F0aW9uSWQiIHZhbHVlPSJBUFBMSUNBVElPTl9JRCIgLz4KKwkJPGFkZCBrZXk9ImFwcGxpY2F0aW9uU2VjcmV0IiB2YWx1ZT0iQVBQTElDQVRJT05fU0VDUkVUIiAvPgorIAkJPGFkZCBrZXk9InVzZXJJZCIgdmFsdWU9IlVTRVJfSUQiIC8+CisJCTxhZGQga2V5PSJ1c2VyU2VjcmV0IiB2YWx1ZT0iVVNFUl9TRUNSRVQiIC8+CisJICAgIDxhZGQga2V5PSJQMTJDZXJ0aWZpY2F0ZVBhdGgiIHZhbHVlPSJDOlxQYXRoX3RvXGNlcnRpZmljYXRlLnAxMiIgLz4KKwkJPGFkZCBrZXk9Imdvb2dsZUFwaUtleSIgdmFsdWU9IkFJemFTeUJ3UHBNa1c2RldXLVhYWFhYWFhYWFhYWFgiIC8+Cis8L2FwcFNldHRpbmdzPgorPC9jb25maWd1cmF0aW9uPgpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMvVXNlcmdyaWRGcmllbmQuY3MgYi9Vc2VyZ3JpZC5TZGsuSW50ZWdyYXRpb25UZXN0cy9Vc2VyZ3JpZEZyaWVuZC5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjgwMDNjCi0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMvVXNlcmdyaWRGcmllbmQuY3MKQEAgLTAsMCArMSwyMyBAQAorLy8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKy8vIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKK3VzaW5nIFVzZXJncmlkLlNkay5Nb2RlbDsKKworbmFtZXNwYWNlIFVzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzIHsKKyAgICBwdWJsaWMgY2xhc3MgVXNlcmdyaWRGcmllbmQgOiBVc2VyZ3JpZEVudGl0eQorICAgIHsKKyAgICAgICAgcHVibGljIGludCBBZ2UgeyBnZXQ7IHNldDsgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzL3BhY2thZ2VzLmNvbmZpZyBiL1VzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzL3BhY2thZ2VzLmNvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mM2I1ZGM5Ci0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMvcGFja2FnZXMuY29uZmlnCkBAIC0wLDAgKzEsMjQgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8IS0tCisgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorLS0+CisKKzxwYWNrYWdlcz4KKyAgPHBhY2thZ2UgaWQ9Ik5ld3RvbnNvZnQuSnNvbiIgdmVyc2lvbj0iNC41LjExIiB0YXJnZXRGcmFtZXdvcms9Im5ldDQwIiAvPgorICA8cGFja2FnZSBpZD0iTlN1YnN0aXR1dGUiIHZlcnNpb249IjEuNi4wLjAiIHRhcmdldEZyYW1ld29yaz0ibmV0NDAiIC8+CisgIDxwYWNrYWdlIGlkPSJOVW5pdCIgdmVyc2lvbj0iMi42LjIiIHRhcmdldEZyYW1ld29yaz0ibmV0NDAiIC8+CisgIDxwYWNrYWdlIGlkPSJSZXN0U2hhcnAiIHZlcnNpb249IjEwNC4xIiB0YXJnZXRGcmFtZXdvcms9Im5ldDQwIiAvPgorPC9wYWNrYWdlcz4KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay5UZXN0cy9BdXRoZW50aWNhdGlvbk1hbmFnZXJUZXN0cy5jcyBiL1VzZXJncmlkLlNkay5UZXN0cy9BdXRoZW50aWNhdGlvbk1hbmFnZXJUZXN0cy5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTc5ZjIzCi0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrLlRlc3RzL0F1dGhlbnRpY2F0aW9uTWFuYWdlclRlc3RzLmNzCkBAIC0wLDAgKzEsMTM1IEBACivvu78vLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKwordXNpbmcgU3lzdGVtLk5ldDsKK3VzaW5nIE5TdWJzdGl0dXRlOwordXNpbmcgTlVuaXQuRnJhbWV3b3JrOwordXNpbmcgUmVzdFNoYXJwOwordXNpbmcgVXNlcmdyaWQuU2RrLk1vZGVsOwordXNpbmcgVXNlcmdyaWQuU2RrLlBheWxvYWQ7Cit1c2luZyBBdXRoZW50aWNhdGlvbk1hbmFnZXIgPSBVc2VyZ3JpZC5TZGsuTWFuYWdlci5BdXRoZW50aWNhdGlvbk1hbmFnZXI7CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuVGVzdHMKK3sKKyAgICBbVGVzdEZpeHR1cmVdCisgICAgcHVibGljIGNsYXNzIEF1dGhlbnRpY2F0aW9uTWFuYWdlclRlc3RzCisgICAgeworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgU2hvdWxkTG9naW5XaXRoQ2xpZW50Q3JlZGVudGlhbHNXaXRoQ29ycmVjdFJlcXVlc3RCb2R5Rm9yQXV0aFR5cGVDbGllbnQoKQorICAgICAgICB7CisgICAgICAgICAgICBJVXNlcmdyaWRSZXF1ZXN0IHJlcXVlc3QgPSBIZWxwZXJzLkluaXRpYWxpemVVc2VyR3JpZFJlcXVlc3RXaXRoQWNjZXNzVG9rZW4oImFjY2Vzc1Rva2VuIik7CisKKyAgICAgICAgICAgIGNvbnN0IHN0cmluZyBjbGllbnRMb2dpbklkID0gImxvZ2luIjsKKyAgICAgICAgICAgIGNvbnN0IHN0cmluZyBjbGllbnRTZWNyZXQgPSAic2VjcmV0IjsKKworICAgICAgICAgICAgdmFyIGF1dGhlbnRpY2F0aW9uTWFuYWdlciA9IG5ldyBBdXRoZW50aWNhdGlvbk1hbmFnZXIocmVxdWVzdCk7CisgICAgICAgICAgICBhdXRoZW50aWNhdGlvbk1hbmFnZXIuTG9naW4oY2xpZW50TG9naW5JZCwgY2xpZW50U2VjcmV0LCBBdXRoVHlwZS5Pcmdhbml6YXRpb24pOworCisgICAgICAgICAgICByZXF1ZXN0CisgICAgICAgICAgICAgICAgLlJlY2VpdmVkKDEpCisgICAgICAgICAgICAgICAgLkV4ZWN1dGVKc29uUmVxdWVzdDxMb2dpblJlc3BvbnNlPigKKyAgICAgICAgICAgICAgICAgICAgQXJnLkFueTxzdHJpbmc+KCksCisgICAgICAgICAgICAgICAgICAgIEFyZy5Bbnk8TWV0aG9kPigpLAorICAgICAgICAgICAgICAgICAgICBBcmcuSXM8Q2xpZW50SWRMb2dpblBheWxvYWQ+KGQgPT4gZC5HcmFudFR5cGUgPT0gImNsaWVudF9jcmVkZW50aWFscyIgJiYgZC5DbGllbnRJZCA9PSBjbGllbnRMb2dpbklkICYmIGQuQ2xpZW50U2VjcmV0ID09IGNsaWVudFNlY3JldCkpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIFNob3VsZExvZ2luV2l0aENsaWVudENyZWRlbnRpYWxzV2l0aENvcnJlY3RSZXF1ZXN0Qm9keUZvckF1dGhUeXBlQXBwbGljYXRpb24oKQorICAgICAgICB7CisgICAgICAgICAgICBJVXNlcmdyaWRSZXF1ZXN0IHJlcXVlc3QgPSBIZWxwZXJzLkluaXRpYWxpemVVc2VyR3JpZFJlcXVlc3RXaXRoQWNjZXNzVG9rZW4oImFjY2Vzc1Rva2VuIik7CisKKyAgICAgICAgICAgIGNvbnN0IHN0cmluZyBjbGllbnRMb2dpbklkID0gImxvZ2luIjsKKyAgICAgICAgICAgIGNvbnN0IHN0cmluZyBjbGllbnRTZWNyZXQgPSAic2VjcmV0IjsKKworICAgICAgICAgICAgdmFyIGF1dGhlbnRpY2F0aW9uTWFuYWdlciA9IG5ldyBBdXRoZW50aWNhdGlvbk1hbmFnZXIocmVxdWVzdCk7CisgICAgICAgICAgICBhdXRoZW50aWNhdGlvbk1hbmFnZXIuTG9naW4oY2xpZW50TG9naW5JZCwgY2xpZW50U2VjcmV0LCBBdXRoVHlwZS5BcHBsaWNhdGlvbik7CisKKyAgICAgICAgICAgIHJlcXVlc3QKKyAgICAgICAgICAgICAgICAuUmVjZWl2ZWQoMSkKKyAgICAgICAgICAgICAgICAuRXhlY3V0ZUpzb25SZXF1ZXN0PExvZ2luUmVzcG9uc2U+KAorICAgICAgICAgICAgICAgICAgICBBcmcuQW55PHN0cmluZz4oKSwKKyAgICAgICAgICAgICAgICAgICAgQXJnLkFueTxNZXRob2Q+KCksCisgICAgICAgICAgICAgICAgICAgIEFyZy5JczxDbGllbnRJZExvZ2luUGF5bG9hZD4oZCA9PiBkLkdyYW50VHlwZSA9PSAiY2xpZW50X2NyZWRlbnRpYWxzIiAmJiBkLkNsaWVudElkID09IGNsaWVudExvZ2luSWQgJiYgZC5DbGllbnRTZWNyZXQgPT0gY2xpZW50U2VjcmV0KSk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgU2hvdWxkTG9naW5XaXRoVXNlckNyZWRlbnRpYWxzV2l0aENvcnJlY3RSZXF1ZXN0Qm9keUZvckF1dGhUeXBlVXNlcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIElVc2VyZ3JpZFJlcXVlc3QgcmVxdWVzdCA9IEhlbHBlcnMuSW5pdGlhbGl6ZVVzZXJHcmlkUmVxdWVzdFdpdGhBY2Nlc3NUb2tlbigiYWNjZXNzVG9rZW4iKTsKKworICAgICAgICAgICAgY29uc3Qgc3RyaW5nIGNsaWVudExvZ2luSWQgPSAibG9naW4iOworICAgICAgICAgICAgY29uc3Qgc3RyaW5nIGNsaWVudFNlY3JldCA9ICJzZWNyZXQiOworCisgICAgICAgICAgICB2YXIgYXV0aGVudGljYXRpb25NYW5hZ2VyID0gbmV3IEF1dGhlbnRpY2F0aW9uTWFuYWdlcihyZXF1ZXN0KTsKKyAgICAgICAgICAgIGF1dGhlbnRpY2F0aW9uTWFuYWdlci5Mb2dpbihjbGllbnRMb2dpbklkLCBjbGllbnRTZWNyZXQsIEF1dGhUeXBlLlVzZXIpOworCisgICAgICAgICAgICByZXF1ZXN0CisgICAgICAgICAgICAgICAgLlJlY2VpdmVkKDEpCisgICAgICAgICAgICAgICAgLkV4ZWN1dGVKc29uUmVxdWVzdDxMb2dpblJlc3BvbnNlPigKKyAgICAgICAgICAgICAgICAgICAgQXJnLkFueTxzdHJpbmc+KCksCisgICAgICAgICAgICAgICAgICAgIEFyZy5Bbnk8TWV0aG9kPigpLAorICAgICAgICAgICAgICAgICAgICBBcmcuSXM8VXNlckxvZ2luUGF5bG9hZD4oZCA9PiBkLkdyYW50VHlwZSA9PSAicGFzc3dvcmQiICYmIGQuVXNlck5hbWUgPT0gY2xpZW50TG9naW5JZCAmJiBkLlBhc3N3b3JkID09IGNsaWVudFNlY3JldCkpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIFNob3VsZE5vdE1ha2VBQ2FsbFRvRW5kUG9pbnRXaGVuTG9nZ2luZ1dpdGhBdXRoVHlwZU5vbmUoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgcmVxdWVzdCA9IFN1YnN0aXR1dGUuRm9yPElVc2VyZ3JpZFJlcXVlc3Q+KCk7CisKKyAgICAgICAgICAgIHZhciBhdXRoZW50aWNhdGlvbk1hbmFnZXIgPSBuZXcgQXV0aGVudGljYXRpb25NYW5hZ2VyKHJlcXVlc3QpOworICAgICAgICAgICAgYXV0aGVudGljYXRpb25NYW5hZ2VyLkxvZ2luKG51bGwsIG51bGwsIEF1dGhUeXBlLk5vbmUpOworCisgICAgICAgICAgICByZXF1ZXN0LkRpZE5vdFJlY2VpdmVXaXRoQW55QXJncygpLkV4ZWN1dGVKc29uUmVxdWVzdDxMb2dpblJlc3BvbnNlPihBcmcuQW55PHN0cmluZz4oKSwgQXJnLkFueTxNZXRob2Q+KCksIEFyZy5Bbnk8b2JqZWN0PigpKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBbVGVzdENhc2UobnVsbCwgQXV0aFR5cGUuTm9uZSldCisgICAgICAgIFtUZXN0Q2FzZSgiYWNjZXNzVG9rZW4xIiwgQXV0aFR5cGUuQXBwbGljYXRpb24pXQorICAgICAgICBbVGVzdENhc2UoImFjY2Vzc1Rva2VuMiIsIEF1dGhUeXBlLk9yZ2FuaXphdGlvbildCisgICAgICAgIFtUZXN0Q2FzZSgiYWNjZXNzVG9rZW40IiwgQXV0aFR5cGUuVXNlcildCisgICAgICAgIHB1YmxpYyB2b2lkIFNob3VsZFNldFRoZUFjY2Vzc1Rva2VuKHN0cmluZyBhY2Nlc3NUb2tlbiwgQXV0aFR5cGUgYXV0aFR5cGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIElVc2VyZ3JpZFJlcXVlc3QgcmVxdWVzdCA9IEhlbHBlcnMuSW5pdGlhbGl6ZVVzZXJHcmlkUmVxdWVzdFdpdGhBY2Nlc3NUb2tlbihhY2Nlc3NUb2tlbik7CisKKyAgICAgICAgICAgIHZhciBhdXRoZW50aWNhdGlvbk1hbmFnZXIgPSBuZXcgQXV0aGVudGljYXRpb25NYW5hZ2VyKHJlcXVlc3QpOworICAgICAgICAgICAgYXV0aGVudGljYXRpb25NYW5hZ2VyLkxvZ2luKG51bGwsIG51bGwsIGF1dGhUeXBlKTsKKworICAgICAgICAgICAgcmVxdWVzdC5SZWNlaXZlZCgxKS5BY2Nlc3NUb2tlbiA9IGFjY2Vzc1Rva2VuOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIFNob3VsZFRyYW5zbGF0ZVRvVXNlckdyaWRFcnJvckFuZFRocm93V2hlblNlcnZpY2VSZXR1cm5zQmFkUmVxdWVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNvbnN0IHN0cmluZyBpbnZhbGlkVXNlcm5hbWVPclBhc3N3b3JkID0gIkludmFsaWQgdXNlcm5hbWUgb3IgcGFzc3dvcmQiOworICAgICAgICAgICAgY29uc3Qgc3RyaW5nIGludmFsaWRHcmFudCA9ICJpbnZhbGlkX2dyYW50IjsKKworICAgICAgICAgICAgdmFyIHJlc3RSZXNwb25zZUNvbnRlbnQgPSBuZXcgVXNlcmdyaWRFcnJvciB7RGVzY3JpcHRpb24gPSBpbnZhbGlkVXNlcm5hbWVPclBhc3N3b3JkLCBFcnJvciA9IGludmFsaWRHcmFudH07CisgICAgICAgICAgICB2YXIgcmVzdFJlc3BvbnNlID0gSGVscGVycy5TZXRVcFJlc3RSZXNwb25zZVdpdGhDb250ZW50PExvZ2luUmVzcG9uc2U+KEh0dHBTdGF0dXNDb2RlLkJhZFJlcXVlc3QsIHJlc3RSZXNwb25zZUNvbnRlbnQpOworICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSBIZWxwZXJzLlNldFVwVXNlcmdyaWRSZXF1ZXN0V2l0aFJlc3RSZXNwb25zZShyZXN0UmVzcG9uc2UpOworCisgICAgICAgICAgICB2YXIgYXV0aGVudGljYXRpb25NYW5hZ2VyID0gbmV3IEF1dGhlbnRpY2F0aW9uTWFuYWdlcihyZXF1ZXN0KTsKKyAgICAgICAgICAgIHRyeQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGF1dGhlbnRpY2F0aW9uTWFuYWdlci5Mb2dpbihudWxsLCBudWxsLCBBdXRoVHlwZS5Pcmdhbml6YXRpb24pOworICAgICAgICAgICAgICAgIHRocm93IG5ldyBBc3NlcnRpb25FeGNlcHRpb24oIlVzZXJHcmlkRXhjZXB0aW9uIHdhcyBleHBlY3RlZCB0byBiZSB0aHJvd24gaGVyZSIpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY2F0Y2ggKFVzZXJncmlkRXhjZXB0aW9uIGUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKGludmFsaWRHcmFudCwgZS5FcnJvckNvZGUpOworICAgICAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbChpbnZhbGlkVXNlcm5hbWVPclBhc3N3b3JkLCBlLk1lc3NhZ2UpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrLlRlc3RzL0NsaWVudFRlc3RzL0FjdGl2aXR5VGVzdHMuY3MgYi9Vc2VyZ3JpZC5TZGsuVGVzdHMvQ2xpZW50VGVzdHMvQWN0aXZpdHlUZXN0cy5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Y2VjMTMwCi0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrLlRlc3RzL0NsaWVudFRlc3RzL0FjdGl2aXR5VGVzdHMuY3MKQEAgLTAsMCArMSw4NiBAQAor77u/Ly8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKy8vIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKK3VzaW5nIE5TdWJzdGl0dXRlOwordXNpbmcgTlVuaXQuRnJhbWV3b3JrOwordXNpbmcgVXNlcmdyaWQuU2RrLk1hbmFnZXI7Cit1c2luZyBVc2VyZ3JpZC5TZGsuTW9kZWw7CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuVGVzdHMuQ2xpZW50VGVzdHMKK3sKKyAgICBbVGVzdEZpeHR1cmVdCisgICAgcHVibGljIGNsYXNzIEFjdGl2aXR5VGVzdHMKKyAgICB7CisgICAgICAgICNyZWdpb24gU2V0dXAvVGVhcmRvd24KKworICAgICAgICBbU2V0VXBdCisgICAgICAgIHB1YmxpYyB2b2lkIFNldHVwKCkKKyAgICAgICAgeworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIgPSBTdWJzdGl0dXRlLkZvcjxJRW50aXR5TWFuYWdlcj4oKTsKKyAgICAgICAgICAgIF9jbGllbnQgPSBuZXcgQ2xpZW50KG51bGwsIG51bGwpIHtFbnRpdHlNYW5hZ2VyID0gX2VudGl0eU1hbmFnZXJ9OworICAgICAgICB9CisKKyAgICAgICAgI2VuZHJlZ2lvbgorCisgICAgICAgIHByaXZhdGUgSUVudGl0eU1hbmFnZXIgX2VudGl0eU1hbmFnZXI7CisgICAgICAgIHByaXZhdGUgSUNsaWVudCBfY2xpZW50OworCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBHZXRHcm91cEFjdGl2aXRpZXNTaG91bGREZWxlZ2F0ZVRvRW50aXR5TWFuYWdlcldpdGhDb3JyZWN0RW5kcG9pbnQoKQorICAgICAgICB7CisgICAgICAgICAgICBfY2xpZW50LkdldEdyb3VwQWN0aXZpdGllczxVc2VyZ3JpZEFjdGl2aXR5PigiZ3JvdXBJZGVudGlmaWVyIik7CisKKyAgICAgICAgICAgIF9lbnRpdHlNYW5hZ2VyLlJlY2VpdmVkKDEpLkdldEVudGl0aWVzPFVzZXJncmlkQWN0aXZpdHk+KCIvZ3JvdXBzL2dyb3VwSWRlbnRpZmllci9hY3Rpdml0aWVzIik7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgR2V0VXNlckFjdGl2aXRpZXNTaG91bGREZWxlZ2F0ZVRvRW50aXR5TWFuYWdlcldpdGhDb3JyZWN0RW5kcG9pbnQoKQorICAgICAgICB7CisgICAgICAgICAgICBfY2xpZW50LkdldFVzZXJBY3Rpdml0aWVzPFVzZXJncmlkQWN0aXZpdHk+KCJ1c2VySWRlbnRpZmllciIpOworCisgICAgICAgICAgICBfZW50aXR5TWFuYWdlci5SZWNlaXZlZCgxKS5HZXRFbnRpdGllczxVc2VyZ3JpZEFjdGl2aXR5PigiL3VzZXJzL3VzZXJJZGVudGlmaWVyL2FjdGl2aXRpZXMiKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBQb3N0QWN0aXZpdHlTaG91bGREZWxlZ2F0ZVRvRW50aXR5TWFuYWdlcldpdGhDb3JyZWN0RW5kcG9pbnQoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgdXNlcmdyaWRBY3Rpdml0eSA9IG5ldyBVc2VyZ3JpZEFjdGl2aXR5KCk7CisKKyAgICAgICAgICAgIF9jbGllbnQuUG9zdEFjdGl2aXR5KCJ1c2VySWRlbnRpZmllciIsIHVzZXJncmlkQWN0aXZpdHkpOworCisgICAgICAgICAgICBfZW50aXR5TWFuYWdlci5SZWNlaXZlZCgxKS5DcmVhdGVFbnRpdHkoIi91c2Vycy91c2VySWRlbnRpZmllci9hY3Rpdml0aWVzIiwgdXNlcmdyaWRBY3Rpdml0eSk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgUG9zdEFjdGl2aXR5VG9Hcm91cFNob3VsZERlbGVnYXRlVG9FbnRpdHlNYW5hZ2VyV2l0aENvcnJlY3RFbmRwb2ludCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciB1c2VyZ3JpZEFjdGl2aXR5ID0gbmV3IFVzZXJncmlkQWN0aXZpdHkoKTsKKworICAgICAgICAgICAgX2NsaWVudC5Qb3N0QWN0aXZpdHlUb0dyb3VwKCJncm91cElkZW50aWZpZXIiLCB1c2VyZ3JpZEFjdGl2aXR5KTsKKworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIuUmVjZWl2ZWQoMSkuQ3JlYXRlRW50aXR5KCIvZ3JvdXBzL2dyb3VwSWRlbnRpZmllci9hY3Rpdml0aWVzIiwgdXNlcmdyaWRBY3Rpdml0eSk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgUG9zdEFjdGl2aXR5VG9Vc2Vyc0ZvbGxvd2Vyc0luR3JvdXBTaG91bGREZWxlZ2F0ZVRvRW50aXR5TWFuYWdlcldpdGhDb3JyZWN0RW5kcG9pbnQoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgdXNlcmdyaWRBY3Rpdml0eSA9IG5ldyBVc2VyZ3JpZEFjdGl2aXR5KCk7CisKKyAgICAgICAgICAgIF9jbGllbnQuUG9zdEFjdGl2aXR5VG9Vc2Vyc0ZvbGxvd2Vyc0luR3JvdXAoInVzZXJJZGVudGlmaWVyIiwgImdyb3VwSWRlbnRpZmllciIsIHVzZXJncmlkQWN0aXZpdHkpOworCisgICAgICAgICAgICBfZW50aXR5TWFuYWdlci5SZWNlaXZlZCgxKS5DcmVhdGVFbnRpdHkoIi9ncm91cHMvZ3JvdXBJZGVudGlmaWVyL3VzZXJzL3VzZXJJZGVudGlmaWVyL2FjdGl2aXRpZXMiLCB1c2VyZ3JpZEFjdGl2aXR5KTsKKyAgICAgICAgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay5UZXN0cy9DbGllbnRUZXN0cy9Db25uZWN0aW9uVGVzdHMuY3MgYi9Vc2VyZ3JpZC5TZGsuVGVzdHMvQ2xpZW50VGVzdHMvQ29ubmVjdGlvblRlc3RzLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmZTA3MjEKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsuVGVzdHMvQ2xpZW50VGVzdHMvQ29ubmVjdGlvblRlc3RzLmNzCkBAIC0wLDAgKzEsODggQEAKK++7vy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCisKK3VzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljOwordXNpbmcgTlN1YnN0aXR1dGU7Cit1c2luZyBOVW5pdC5GcmFtZXdvcms7Cit1c2luZyBVc2VyZ3JpZC5TZGsuTWFuYWdlcjsKK3VzaW5nIFVzZXJncmlkLlNkay5Nb2RlbDsKKworbmFtZXNwYWNlIFVzZXJncmlkLlNkay5UZXN0cy5DbGllbnRUZXN0cworeworICAgIFtUZXN0Rml4dHVyZV0KKyAgICBwdWJsaWMgY2xhc3MgQ29ubmVjdGlvblRlc3RzCisgICAgeworICAgICAgICAjcmVnaW9uIFNldHVwL1RlYXJkb3duCisKKyAgICAgICAgW1NldFVwXQorICAgICAgICBwdWJsaWMgdm9pZCBTZXR1cCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIF9jb25uZWN0aW9uTWFuYWdlciA9IFN1YnN0aXR1dGUuRm9yPElDb25uZWN0aW9uTWFuYWdlcj4oKTsKKyAgICAgICAgICAgIF9jbGllbnQgPSBuZXcgQ2xpZW50KG51bGwsIG51bGwpIHtDb25uZWN0aW9uTWFuYWdlciA9IF9jb25uZWN0aW9uTWFuYWdlcn07CisgICAgICAgIH0KKworICAgICAgICAjZW5kcmVnaW9uCisKKyAgICAgICAgcHJpdmF0ZSBJQ29ubmVjdGlvbk1hbmFnZXIgX2Nvbm5lY3Rpb25NYW5hZ2VyOworICAgICAgICBwcml2YXRlIElDbGllbnQgX2NsaWVudDsKKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgQ3JlYXRlQ29ubmVjdGlvblNob3VsZERlbGVnYXRlVG9Db25uZWN0aW9uTWFuYWdlcldpdGhDb3JyZWN0UGFyYW1ldGVycygpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBjb25uZWN0aW9uID0gbmV3IENvbm5lY3Rpb24oKTsKKyAgICAgICAgICAgIF9jbGllbnQuQ3JlYXRlQ29ubmVjdGlvbihjb25uZWN0aW9uKTsKKworICAgICAgICAgICAgX2Nvbm5lY3Rpb25NYW5hZ2VyLlJlY2VpdmVkKDEpLkNyZWF0ZUNvbm5lY3Rpb24oY29ubmVjdGlvbik7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgRGVsZXRlQ29ubmVjdGlvbnNTaG91bGREZWxlZ2F0ZVRvQ29ubmVjdGlvbk1hbmFnZXJXaXRoQ29ycmVjdFBhcmFtZXRlcnMoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgY29ubmVjdGlvbiA9IG5ldyBDb25uZWN0aW9uKCk7CisKKyAgICAgICAgICAgIF9jbGllbnQuRGVsZXRlQ29ubmVjdGlvbihjb25uZWN0aW9uKTsKKworICAgICAgICAgICAgX2Nvbm5lY3Rpb25NYW5hZ2VyLlJlY2VpdmVkKDEpLkRlbGV0ZUNvbm5lY3Rpb24oY29ubmVjdGlvbik7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgR2V0Q29ubmVjdGlvbnNPZlNwZWNpZmljVHlwZVNob3VsZERlbGVnYXRlVG9Db25uZWN0aW9uTWFuYWdlcldpdGhDb3JyZWN0UGFyYW1ldGVycygpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBjb25uZWN0aW9uID0gbmV3IENvbm5lY3Rpb24oKTsKKyAgICAgICAgICAgIHZhciBlbml0eUxpc3QgPSBuZXcgTGlzdDxVc2VyZ3JpZEVudGl0eT4oKTsKKworICAgICAgICAgICAgX2Nvbm5lY3Rpb25NYW5hZ2VyLkdldENvbm5lY3Rpb25zPFVzZXJncmlkRW50aXR5Pihjb25uZWN0aW9uKS5SZXR1cm5zKGVuaXR5TGlzdCk7CisKKyAgICAgICAgICAgIElMaXN0PFVzZXJncmlkRW50aXR5PiByZXR1cm5lZEVudGl0eUxpc3QgPSBfY2xpZW50LkdldENvbm5lY3Rpb25zPFVzZXJncmlkRW50aXR5Pihjb25uZWN0aW9uKTsKKworICAgICAgICAgICAgX2Nvbm5lY3Rpb25NYW5hZ2VyLlJlY2VpdmVkKDEpLkdldENvbm5lY3Rpb25zPFVzZXJncmlkRW50aXR5Pihjb25uZWN0aW9uKTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbChlbml0eUxpc3QsIHJldHVybmVkRW50aXR5TGlzdCk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgR2V0Q29ubmVjdGlvbnNTaG91bGREZWxlZ2F0ZVRvQ29ubmVjdGlvbk1hbmFnZXJXaXRoQ29ycmVjdFBhcmFtZXRlcnMoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgY29ubmVjdGlvbiA9IG5ldyBDb25uZWN0aW9uKCk7CisgICAgICAgICAgICB2YXIgZW5pdHlMaXN0ID0gbmV3IExpc3Q8VXNlcmdyaWRFbnRpdHk+KCk7CisgICAgICAgICAgICBfY29ubmVjdGlvbk1hbmFnZXIuR2V0Q29ubmVjdGlvbnMoY29ubmVjdGlvbikuUmV0dXJucyhlbml0eUxpc3QpOworCisgICAgICAgICAgICBJTGlzdDxVc2VyZ3JpZEVudGl0eT4gcmV0dXJuZWRFbnRpdHlMaXN0ID0gX2NsaWVudC5HZXRDb25uZWN0aW9ucyhjb25uZWN0aW9uKTsKKworICAgICAgICAgICAgX2Nvbm5lY3Rpb25NYW5hZ2VyLlJlY2VpdmVkKDEpLkdldENvbm5lY3Rpb25zKGNvbm5lY3Rpb24pOworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKGVuaXR5TGlzdCwgcmV0dXJuZWRFbnRpdHlMaXN0KTsKKyAgICAgICAgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay5UZXN0cy9DbGllbnRUZXN0cy9EZXZpY2VUZXN0cy5jcyBiL1VzZXJncmlkLlNkay5UZXN0cy9DbGllbnRUZXN0cy9EZXZpY2VUZXN0cy5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNzMwN2QzCi0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrLlRlc3RzL0NsaWVudFRlc3RzL0RldmljZVRlc3RzLmNzCkBAIC0wLDAgKzEsMTQzIEBACivvu78vLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKwordXNpbmcgTlN1YnN0aXR1dGU7Cit1c2luZyBOVW5pdC5GcmFtZXdvcms7Cit1c2luZyBVc2VyZ3JpZC5TZGsuTWFuYWdlcjsKK3VzaW5nIFVzZXJncmlkLlNkay5Nb2RlbDsKKworbmFtZXNwYWNlIFVzZXJncmlkLlNkay5UZXN0cy5DbGllbnRUZXN0cworeworICAgIFtUZXN0Rml4dHVyZV0KKyAgICBwdWJsaWMgY2xhc3MgRGV2aWNlVGVzdHMKKyAgICB7CisgICAgICAgICNyZWdpb24gU2V0dXAvVGVhcmRvd24KKworICAgICAgICBbU2V0VXBdCisgICAgICAgIHB1YmxpYyB2b2lkIFNldHVwKCkKKyAgICAgICAgeworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIgPSBTdWJzdGl0dXRlLkZvcjxJRW50aXR5TWFuYWdlcj4oKTsKKyAgICAgICAgICAgIF9jbGllbnQgPSBuZXcgQ2xpZW50KG51bGwsIG51bGwpIHtFbnRpdHlNYW5hZ2VyID0gX2VudGl0eU1hbmFnZXJ9OworICAgICAgICB9CisKKyAgICAgICAgI2VuZHJlZ2lvbgorCisgICAgICAgIHByaXZhdGUgSUVudGl0eU1hbmFnZXIgX2VudGl0eU1hbmFnZXI7CisgICAgICAgIHByaXZhdGUgSUNsaWVudCBfY2xpZW50OworCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBDcmVhdGVEZXZpY2VTaG91bGREZWxlZ2F0ZVRvRW50aXR5TWFuYWdlcldpdGhDb3JyZWN0Q29sbGVjdGlvbk5hbWVBbmREZXZpY2UoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgZGV2aWNlID0gbmV3IFVzZXJncmlkRGV2aWNlKCk7CisKKyAgICAgICAgICAgIF9jbGllbnQuQ3JlYXRlRGV2aWNlKGRldmljZSk7CisKKyAgICAgICAgICAgIF9lbnRpdHlNYW5hZ2VyLlJlY2VpdmVkKDEpLkNyZWF0ZUVudGl0eSgiZGV2aWNlcyIsIGRldmljZSk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgW0V4cGVjdGVkRXhjZXB0aW9uKEV4cGVjdGVkRXhjZXB0aW9uID0gdHlwZW9mIChVc2VyZ3JpZEV4Y2VwdGlvbiksIEV4cGVjdGVkTWVzc2FnZSA9ICJFeGNlcHRpb24gbWVzc2FnZSIpXQorICAgICAgICBwdWJsaWMgdm9pZCBDcmVhdGVEZXZpY2VTaG91bGRQYXNzT25UaGVFeGNlcHRpb24oKQorICAgICAgICB7CisgICAgICAgICAgICBfZW50aXR5TWFuYWdlcgorICAgICAgICAgICAgICAgIC5XaGVuKG0gPT4gbS5DcmVhdGVFbnRpdHkoImRldmljZXMiLCBBcmcuQW55PFVzZXJncmlkRGV2aWNlPigpKSkKKyAgICAgICAgICAgICAgICAuRG8obSA9PiB7IHRocm93IG5ldyBVc2VyZ3JpZEV4Y2VwdGlvbihuZXcgVXNlcmdyaWRFcnJvciB7RGVzY3JpcHRpb24gPSAiRXhjZXB0aW9uIG1lc3NhZ2UifSk7IH0pOworCisgICAgICAgICAgICBfY2xpZW50LkNyZWF0ZURldmljZTxVc2VyZ3JpZERldmljZT4obnVsbCk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgRGVsZXRlRGV2aWNlU2hvdWxkRGVsZWdhdGVUb0VudGl0eU1hbmFnZXJyV2l0aENvcnJlY3RDb2xsZWN0aW9uTmFtZUFuZElkZW50ZmllcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIF9jbGllbnQuRGVsZXRlRGV2aWNlKCJkZXZpY2VOYW1lIik7CisKKyAgICAgICAgICAgIF9lbnRpdHlNYW5hZ2VyLlJlY2VpdmVkKDEpLkRlbGV0ZUVudGl0eSgiZGV2aWNlcyIsICJkZXZpY2VOYW1lIik7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgW0V4cGVjdGVkRXhjZXB0aW9uKEV4cGVjdGVkRXhjZXB0aW9uID0gdHlwZW9mIChVc2VyZ3JpZEV4Y2VwdGlvbiksIEV4cGVjdGVkTWVzc2FnZSA9ICJFeGNlcHRpb24gbWVzc2FnZSIpXQorICAgICAgICBwdWJsaWMgdm9pZCBEZWxldGVEZXZpY2VTaG91bGRQYXNzT25UaGVFeGNlcHRpb24oKQorICAgICAgICB7CisgICAgICAgICAgICBfZW50aXR5TWFuYWdlcgorICAgICAgICAgICAgICAgIC5XaGVuKG0gPT4gbS5EZWxldGVFbnRpdHkoImRldmljZXMiLCBBcmcuQW55PHN0cmluZz4oKSkpCisgICAgICAgICAgICAgICAgLkRvKG0gPT4geyB0aHJvdyBuZXcgVXNlcmdyaWRFeGNlcHRpb24obmV3IFVzZXJncmlkRXJyb3Ige0Rlc2NyaXB0aW9uID0gIkV4Y2VwdGlvbiBtZXNzYWdlIn0pOyB9KTsKKworICAgICAgICAgICAgX2NsaWVudC5EZWxldGVEZXZpY2UobnVsbCk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgR2V0RGV2aWNlU2hvdWxkRGVsZWdhdGVUb0VudGl0eU1hbmFnZXJXaXRoQ29ycmVjdENvbGxlY3Rpb25OYW1lQW5kSWRlbnRpZmllcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIF9jbGllbnQuR2V0RGV2aWNlPFVzZXJncmlkRGV2aWNlPigiaWRlbnRpZmllciIpOworCisgICAgICAgICAgICBfZW50aXR5TWFuYWdlci5SZWNlaXZlZCgxKS5HZXRFbnRpdHk8VXNlcmdyaWREZXZpY2U+KCJkZXZpY2VzIiwgImlkZW50aWZpZXIiKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBbRXhwZWN0ZWRFeGNlcHRpb24oRXhwZWN0ZWRFeGNlcHRpb24gPSB0eXBlb2YgKFVzZXJncmlkRXhjZXB0aW9uKSwgRXhwZWN0ZWRNZXNzYWdlID0gIkV4Y2VwdGlvbiBtZXNzYWdlIildCisgICAgICAgIHB1YmxpYyB2b2lkIEdldERldmljZVNob3VsZFBhc3NPblRoZUV4Y2VwdGlvbigpCisgICAgICAgIHsKKyAgICAgICAgICAgIF9lbnRpdHlNYW5hZ2VyCisgICAgICAgICAgICAgICAgLldoZW4obSA9PiBtLkdldEVudGl0eTxVc2VyZ3JpZERldmljZT4oImRldmljZXMiLCBBcmcuQW55PHN0cmluZz4oKSkpCisgICAgICAgICAgICAgICAgLkRvKG0gPT4geyB0aHJvdyBuZXcgVXNlcmdyaWRFeGNlcHRpb24obmV3IFVzZXJncmlkRXJyb3Ige0Rlc2NyaXB0aW9uID0gIkV4Y2VwdGlvbiBtZXNzYWdlIn0pOyB9KTsKKworICAgICAgICAgICAgX2NsaWVudC5HZXREZXZpY2U8VXNlcmdyaWREZXZpY2U+KG51bGwpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIEdldERldmljZVNob3VsZFJldHVybk51bGxGb3JVbmV4aXN0aW5nRGV2aWNlKCkKKyAgICAgICAgeworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIuR2V0RW50aXR5PFVzZXJncmlkRGV2aWNlPigiZGV2aWNlcyIsICJpZGVudGlmaWVyIikuUmV0dXJucyh4ID0+IG51bGwpOworCisgICAgICAgICAgICB2YXIgdXNlcmdyaWREZXZpY2UgPSBfY2xpZW50LkdldERldmljZTxVc2VyZ3JpZERldmljZT4oImlkZW50aWZpZXIiKTsKKworICAgICAgICAgICAgQXNzZXJ0LklzTnVsbCh1c2VyZ3JpZERldmljZSk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgR2V0RGV2aWNlU2hvdWxkUmV0dXJuVXNlcmdyaWREZXZpY2UoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgdXNlcmdyaWREZXZpY2UgPSBuZXcgVXNlcmdyaWREZXZpY2UoKTsKKyAgICAgICAgICAgIF9lbnRpdHlNYW5hZ2VyLkdldEVudGl0eTxVc2VyZ3JpZERldmljZT4oImRldmljZXMiLCAiaWRlbnRpZmllciIpLlJldHVybnMoeCA9PiB1c2VyZ3JpZERldmljZSk7CisKKyAgICAgICAgICAgIHZhciByZXR1cm5lZERldmljZSA9IF9jbGllbnQuR2V0RGV2aWNlPFVzZXJncmlkRGV2aWNlPigiaWRlbnRpZmllciIpOworCisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwodXNlcmdyaWREZXZpY2UsIHJldHVybmVkRGV2aWNlKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBVcGRhdGVEZXZpY2VTaG91bGREZWxlZ2F0ZVRvRW50aXR5TWFuYWdlcnJXaXRoQ29ycmVjdENvbGxlY3Rpb25OYW1lQW5kRGV2aWNlTmFtZUFzVGhlSWRlbnRpZmllcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBkZXZpY2UgPSBuZXcgVXNlcmdyaWREZXZpY2Uge05hbWUgPSAiZGV2aWNlTmFtZSJ9OworCisgICAgICAgICAgICBfY2xpZW50LlVwZGF0ZURldmljZShkZXZpY2UpOworCisgICAgICAgICAgICBfZW50aXR5TWFuYWdlci5SZWNlaXZlZCgxKS5VcGRhdGVFbnRpdHkoImRldmljZXMiLCBkZXZpY2UuTmFtZSwgZGV2aWNlKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBbRXhwZWN0ZWRFeGNlcHRpb24oRXhwZWN0ZWRFeGNlcHRpb24gPSB0eXBlb2YgKFVzZXJncmlkRXhjZXB0aW9uKSwgRXhwZWN0ZWRNZXNzYWdlID0gIkV4Y2VwdGlvbiBtZXNzYWdlIildCisgICAgICAgIHB1YmxpYyB2b2lkIFVwZGF0ZURldmljZVNob3VsZFBhc3NPblRoZUV4Y2VwdGlvbigpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBkZXZpY2UgPSBuZXcgVXNlcmdyaWREZXZpY2Uge05hbWUgPSAiZGV2aWNlTmFtZSJ9OworCisgICAgICAgICAgICBfZW50aXR5TWFuYWdlcgorICAgICAgICAgICAgICAgIC5XaGVuKG0gPT4gbS5VcGRhdGVFbnRpdHkoImRldmljZXMiLCBkZXZpY2UuTmFtZSwgZGV2aWNlKSkKKyAgICAgICAgICAgICAgICAuRG8obSA9PiB7IHRocm93IG5ldyBVc2VyZ3JpZEV4Y2VwdGlvbihuZXcgVXNlcmdyaWRFcnJvciB7RGVzY3JpcHRpb24gPSAiRXhjZXB0aW9uIG1lc3NhZ2UifSk7IH0pOworCisgICAgICAgICAgICBfY2xpZW50LlVwZGF0ZURldmljZShkZXZpY2UpOworICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrLlRlc3RzL0NsaWVudFRlc3RzL0VudGl0eVRlc3RzLmNzIGIvVXNlcmdyaWQuU2RrLlRlc3RzL0NsaWVudFRlc3RzL0VudGl0eVRlc3RzLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmOTUxMWQKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsuVGVzdHMvQ2xpZW50VGVzdHMvRW50aXR5VGVzdHMuY3MKQEAgLTAsMCArMSwyMTAgQEAKK++7vy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCisKK3VzaW5nIE5TdWJzdGl0dXRlOwordXNpbmcgTlVuaXQuRnJhbWV3b3JrOwordXNpbmcgVXNlcmdyaWQuU2RrLk1hbmFnZXI7Cit1c2luZyBVc2VyZ3JpZC5TZGsuTW9kZWw7CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuVGVzdHMuQ2xpZW50VGVzdHMKK3sKKyAgICBbVGVzdEZpeHR1cmVdCisgICAgcHVibGljIGNsYXNzIEVudGl0eVRlc3RzCisgICAgeworICAgICAgICAjcmVnaW9uIFNldHVwL1RlYXJkb3duCisKKyAgICAgICAgW1NldFVwXQorICAgICAgICBwdWJsaWMgdm9pZCBTZXR1cCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIF9lbnRpdHlNYW5hZ2VyID0gU3Vic3RpdHV0ZS5Gb3I8SUVudGl0eU1hbmFnZXI+KCk7CisgICAgICAgICAgICBfY2xpZW50ID0gbmV3IENsaWVudChudWxsLCBudWxsKSB7RW50aXR5TWFuYWdlciA9IF9lbnRpdHlNYW5hZ2VyfTsKKyAgICAgICAgfQorCisgICAgICAgICNlbmRyZWdpb24KKworICAgICAgICBwcml2YXRlIElFbnRpdHlNYW5hZ2VyIF9lbnRpdHlNYW5hZ2VyOworICAgICAgICBwcml2YXRlIElDbGllbnQgX2NsaWVudDsKKworCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBDcmVhdGVFbnRpdHlTaG91bGREZWxlZ2F0ZVRvRW50aXR5TWFuYWdlcldpdGhDb3JyZWN0UGFyYW1ldGVycygpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBlbnRpdHkgPSBuZXcge05hbWUgPSAidGVzdCJ9OworCisgICAgICAgICAgICBfY2xpZW50LkNyZWF0ZUVudGl0eTxvYmplY3Q+KCJjb2xsZWN0aW9uIiwgZW50aXR5KTsKKworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIuUmVjZWl2ZWQoMSkuQ3JlYXRlRW50aXR5PG9iamVjdD4oImNvbGxlY3Rpb24iLCBlbnRpdHkpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIFtFeHBlY3RlZEV4Y2VwdGlvbihFeHBlY3RlZEV4Y2VwdGlvbiA9IHR5cGVvZiAoVXNlcmdyaWRFeGNlcHRpb24pLCBFeHBlY3RlZE1lc3NhZ2UgPSAiRXhjZXB0aW9uIG1lc3NhZ2UiKV0KKyAgICAgICAgcHVibGljIHZvaWQgQ3JlYXRlRW50aXR5U2hvdWxkUGFzc09uVGhlRXhjZXB0aW9uKCkKKyAgICAgICAgeworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIKKyAgICAgICAgICAgICAgICAuV2hlbihtID0+IG0uQ3JlYXRlRW50aXR5KEFyZy5Bbnk8c3RyaW5nPigpLCBBcmcuQW55PG9iamVjdD4oKSkpCisgICAgICAgICAgICAgICAgLkRvKG0gPT4geyB0aHJvdyBuZXcgVXNlcmdyaWRFeGNlcHRpb24obmV3IFVzZXJncmlkRXJyb3Ige0Rlc2NyaXB0aW9uID0gIkV4Y2VwdGlvbiBtZXNzYWdlIn0pOyB9KTsKKworICAgICAgICAgICAgX2NsaWVudC5DcmVhdGVFbnRpdHk8b2JqZWN0PihudWxsLCBudWxsKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBDcmVhdGVFbnRpdHlTaG91bGRSZXR1cm5Vc2VyR3JpZEVudGl0eSgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBlbnRpdHkgPSBuZXcgb2JqZWN0KCk7CisgICAgICAgICAgICBfZW50aXR5TWFuYWdlci5DcmVhdGVFbnRpdHkoImNvbGxlY3Rpb24iLCBlbnRpdHkpLlJldHVybnNGb3JBbnlBcmdzKGVudGl0eSk7CisKKyAgICAgICAgICAgIHZhciByZXR1cm5lZEVudGl0eSA9IF9jbGllbnQuQ3JlYXRlRW50aXR5KCJjb2xsZWN0aW9uIiwgZW50aXR5KTsKKworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKGVudGl0eSwgcmV0dXJuZWRFbnRpdHkpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIERlbGV0ZUVudGl0eVNob3VsZERlbGVnYXRlVG9FbnRpdHlNYW5hZ2VyV2l0aENvcnJlY3RQYXJhbWV0ZXJzKCkKKyAgICAgICAgeworICAgICAgICAgICAgX2NsaWVudC5EZWxldGVFbnRpdHkoImNvbGxlY3Rpb24iLCAiaWRlbnRpZmllciIpOworCisgICAgICAgICAgICBfZW50aXR5TWFuYWdlci5SZWNlaXZlZCgxKS5EZWxldGVFbnRpdHkoImNvbGxlY3Rpb24iLCAiaWRlbnRpZmllciIpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIFtFeHBlY3RlZEV4Y2VwdGlvbihFeHBlY3RlZEV4Y2VwdGlvbiA9IHR5cGVvZiAoVXNlcmdyaWRFeGNlcHRpb24pLCBFeHBlY3RlZE1lc3NhZ2UgPSAiRXhjZXB0aW9uIG1lc3NhZ2UiKV0KKyAgICAgICAgcHVibGljIHZvaWQgRGVsZXRlRW50aXR5U2hvdWxkUGFzc09uVGhlRXhjZXB0aW9uKCkKKyAgICAgICAgeworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIKKyAgICAgICAgICAgICAgICAuV2hlbihtID0+IG0uRGVsZXRlRW50aXR5KEFyZy5Bbnk8c3RyaW5nPigpLCBBcmcuQW55PHN0cmluZz4oKSkpCisgICAgICAgICAgICAgICAgLkRvKG0gPT4geyB0aHJvdyBuZXcgVXNlcmdyaWRFeGNlcHRpb24obmV3IFVzZXJncmlkRXJyb3Ige0Rlc2NyaXB0aW9uID0gIkV4Y2VwdGlvbiBtZXNzYWdlIn0pOyB9KTsKKworICAgICAgICAgICAgX2NsaWVudC5EZWxldGVFbnRpdHkobnVsbCwgbnVsbCk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgR2V0RW50aXRpZXNTaG91bGREZWZhdWx0VGhlTGltaXQoKQorICAgICAgICB7CisgICAgICAgICAgICBfY2xpZW50LkdldEVudGl0aWVzPG9iamVjdD4oImNvbGxlY3Rpb24iKTsKKworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIuUmVjZWl2ZWQoMSkuR2V0RW50aXRpZXM8b2JqZWN0PigiY29sbGVjdGlvbiIsIDEwKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBHZXRFbnRpdGllc1Nob3VsZERlZmF1bHRUaGVRdWVyeVRvTnVsbCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIF9jbGllbnQuR2V0RW50aXRpZXM8b2JqZWN0PigiY29sbGVjdGlvbiIsIDEwKTsKKworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIuUmVjZWl2ZWQoMSkuR2V0RW50aXRpZXM8b2JqZWN0PigiY29sbGVjdGlvbiIsIDEwLCBudWxsKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBHZXRFbnRpdGllc1Nob3VsZERlbGVnYXRlVG9FbnRpdHlNYW5hZ2VyV2l0aENvcnJlY3RQYXJhbWV0ZXJzKCkKKyAgICAgICAgeworICAgICAgICAgICAgX2NsaWVudC5HZXRFbnRpdGllczxvYmplY3Q+KCJjb2xsZWN0aW9uIiwgMjAsICJxdWVyeSIpOworCisgICAgICAgICAgICBfZW50aXR5TWFuYWdlci5SZWNlaXZlZCgxKS5HZXRFbnRpdGllczxvYmplY3Q+KCJjb2xsZWN0aW9uIiwgMjAsICJxdWVyeSIpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIEdldEVudGl0eVNob3VsZERlbGVnYXRlVG9FbnRpdHlNYW5hZ2VyV2l0aENvcnJlY3RQYXJhbWV0ZXJzKCkKKyAgICAgICAgeworICAgICAgICAgICAgX2NsaWVudC5HZXRFbnRpdHk8b2JqZWN0PigiY29sbGVjdGlvbiIsICJpZGVudGlmaWVyIik7CisKKyAgICAgICAgICAgIF9lbnRpdHlNYW5hZ2VyLlJlY2VpdmVkKDEpLkdldEVudGl0eTxvYmplY3Q+KCJjb2xsZWN0aW9uIiwgImlkZW50aWZpZXIiKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBbRXhwZWN0ZWRFeGNlcHRpb24oRXhwZWN0ZWRFeGNlcHRpb24gPSB0eXBlb2YgKFVzZXJncmlkRXhjZXB0aW9uKSwgRXhwZWN0ZWRNZXNzYWdlID0gIkV4Y2VwdGlvbiBtZXNzYWdlIildCisgICAgICAgIHB1YmxpYyB2b2lkIEdldEVudGl0eVNob3VsZFBhc3NPblRoZUV4Y2VwdGlvbigpCisgICAgICAgIHsKKyAgICAgICAgICAgIF9lbnRpdHlNYW5hZ2VyCisgICAgICAgICAgICAgICAgLldoZW4obSA9PiBtLkdldEVudGl0eTxvYmplY3Q+KEFyZy5Bbnk8c3RyaW5nPigpLCBBcmcuQW55PHN0cmluZz4oKSkpCisgICAgICAgICAgICAgICAgLkRvKG0gPT4geyB0aHJvdyBuZXcgVXNlcmdyaWRFeGNlcHRpb24obmV3IFVzZXJncmlkRXJyb3Ige0Rlc2NyaXB0aW9uID0gIkV4Y2VwdGlvbiBtZXNzYWdlIn0pOyB9KTsKKworICAgICAgICAgICAgX2NsaWVudC5HZXRFbnRpdHk8b2JqZWN0PihudWxsLCBudWxsKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBHZXRFbnRpdHlTaG91bGRSZXR1cm5FbnRpdHlGcm9tRW50aXR5TWFuYWdlcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBlbnRpdHkgPSBuZXcgb2JqZWN0KCk7CisgICAgICAgICAgICBfZW50aXR5TWFuYWdlci5HZXRFbnRpdHk8b2JqZWN0PigiY29sbGVjdGlvbiIsICJpZGVudGlmaWVyIikuUmV0dXJuc0ZvckFueUFyZ3MoZW50aXR5KTsKKworICAgICAgICAgICAgb2JqZWN0IGNyZWF0ZWRFbnRpdHkgPSBfY2xpZW50LkdldEVudGl0eTxvYmplY3Q+KCJjb2xsZWN0aW9uIiwgImlkZW50aWZpZXIiKTsKKworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKGVudGl0eSwgY3JlYXRlZEVudGl0eSk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgR2V0RW50aXR5U2hvdWxkUmV0dXJuTnVsbEZvclVuZXhpc3RpbmdFbnRpdHkoKQorICAgICAgICB7CisgICAgICAgICAgICBfZW50aXR5TWFuYWdlci5HZXRFbnRpdHk8VXNlcmdyaWRFbnRpdHk+KCJjb2xsZWN0aW9uIiwgImlkZW50aWZpZXIiKS5SZXR1cm5zKHggPT4gbnVsbCk7CisKKyAgICAgICAgICAgIHZhciB1c2VyZ3JpZEVudGl0eSA9IF9jbGllbnQuR2V0RW50aXR5PFVzZXJncmlkRGV2aWNlPigiY29sbGVjdGlvbiIsICJpZGVudGlmaWVyIik7CisKKyAgICAgICAgICAgIEFzc2VydC5Jc051bGwodXNlcmdyaWRFbnRpdHkpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIEdldE5leHRFbnRpdGllc1Nob3VsZERlZmF1bHRUaGVRdWVyeVRvTnVsbCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIF9jbGllbnQuR2V0TmV4dEVudGl0aWVzPG9iamVjdD4oImNvbGxlY3Rpb24iKTsKKworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIuUmVjZWl2ZWQoMSkuR2V0TmV4dEVudGl0aWVzPG9iamVjdD4oImNvbGxlY3Rpb24iLCBudWxsKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBHZXROZXh0RW50aXRpZXNTaG91bGREZWxlZ2F0ZVRvRW50aXR5TWFuYWdlcldpdGhDb3JyZWN0UGFyYW1ldGVycygpCisgICAgICAgIHsKKyAgICAgICAgICAgIF9jbGllbnQuR2V0TmV4dEVudGl0aWVzPG9iamVjdD4oImNvbGxlY3Rpb24iLCAicXVlcnkiKTsKKworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIuUmVjZWl2ZWQoMSkuR2V0TmV4dEVudGl0aWVzPG9iamVjdD4oImNvbGxlY3Rpb24iLCAicXVlcnkiKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBHZXRQcmV2aW91c0VudGl0aWVzU2hvdWxkRGVmYXVsdFRoZVF1ZXJ5VG9OdWxsKCkKKyAgICAgICAgeworICAgICAgICAgICAgX2NsaWVudC5HZXRQcmV2aW91c0VudGl0aWVzPG9iamVjdD4oImNvbGxlY3Rpb24iKTsKKworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIuUmVjZWl2ZWQoMSkuR2V0UHJldmlvdXNFbnRpdGllczxvYmplY3Q+KCJjb2xsZWN0aW9uIiwgbnVsbCk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgR2V0UHJldmlvdXNFbnRpdGllc1Nob3VsZERlbGVnYXRlVG9FbnRpdHlNYW5hZ2VyV2l0aENvcnJlY3RQYXJhbWV0ZXJzKCkKKyAgICAgICAgeworICAgICAgICAgICAgX2NsaWVudC5HZXRQcmV2aW91c0VudGl0aWVzPG9iamVjdD4oImNvbGxlY3Rpb24iLCAicXVlcnkiKTsKKworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIuUmVjZWl2ZWQoMSkuR2V0UHJldmlvdXNFbnRpdGllczxvYmplY3Q+KCJjb2xsZWN0aW9uIiwgInF1ZXJ5Iik7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgVXBkYXRlRW50aXR5U2hvdWxkRGVsZWdhdGVUb0VudGl0eU1hbmFnZXJXaXRoQ29ycmVjdFBhcmFtZXRlcnMoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgZW50aXR5ID0gbmV3IHtOYW1lID0gInRlc3QifTsKKworICAgICAgICAgICAgX2NsaWVudC5VcGRhdGVFbnRpdHk8b2JqZWN0PigiY29sbGVjdGlvbiIsICJpZGVudGlmaWVyIiwgZW50aXR5KTsKKworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIuUmVjZWl2ZWQoMSkuVXBkYXRlRW50aXR5PG9iamVjdD4oImNvbGxlY3Rpb24iLCAiaWRlbnRpZmllciIsIGVudGl0eSk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgW0V4cGVjdGVkRXhjZXB0aW9uKEV4cGVjdGVkRXhjZXB0aW9uID0gdHlwZW9mIChVc2VyZ3JpZEV4Y2VwdGlvbiksIEV4cGVjdGVkTWVzc2FnZSA9ICJFeGNlcHRpb24gbWVzc2FnZSIpXQorICAgICAgICBwdWJsaWMgdm9pZCBVcGRhdGVFbnRpdHlTaG91bGRQYXNzT25UaGVFeGNlcHRpb24oKQorICAgICAgICB7CisgICAgICAgICAgICBfZW50aXR5TWFuYWdlcgorICAgICAgICAgICAgICAgIC5XaGVuKG0gPT4gbS5VcGRhdGVFbnRpdHkoQXJnLkFueTxzdHJpbmc+KCksIEFyZy5Bbnk8c3RyaW5nPigpLCBBcmcuQW55PG9iamVjdD4oKSkpCisgICAgICAgICAgICAgICAgLkRvKG0gPT4geyB0aHJvdyBuZXcgVXNlcmdyaWRFeGNlcHRpb24obmV3IFVzZXJncmlkRXJyb3Ige0Rlc2NyaXB0aW9uID0gIkV4Y2VwdGlvbiBtZXNzYWdlIn0pOyB9KTsKKworICAgICAgICAgICAgX2NsaWVudC5VcGRhdGVFbnRpdHk8b2JqZWN0PihudWxsLCBudWxsLCBudWxsKTsKKyAgICAgICAgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay5UZXN0cy9DbGllbnRUZXN0cy9GZWVkVGVzdHMuY3MgYi9Vc2VyZ3JpZC5TZGsuVGVzdHMvQ2xpZW50VGVzdHMvRmVlZFRlc3RzLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0OGUxMjEKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsuVGVzdHMvQ2xpZW50VGVzdHMvRmVlZFRlc3RzLmNzCkBAIC0wLDAgKzEsNjUgQEAKK++7vy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCisKK3VzaW5nIE5TdWJzdGl0dXRlOwordXNpbmcgTlVuaXQuRnJhbWV3b3JrOwordXNpbmcgVXNlcmdyaWQuU2RrLk1hbmFnZXI7Cit1c2luZyBVc2VyZ3JpZC5TZGsuTW9kZWw7CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuVGVzdHMuQ2xpZW50VGVzdHMKK3sKKyAgICBbVGVzdEZpeHR1cmVdCisgICAgcHVibGljIGNsYXNzIEZlZWRUZXN0cworICAgIHsKKyAgICAgICAgI3JlZ2lvbiBTZXR1cC9UZWFyZG93bgorCisgICAgICAgIFtTZXRVcF0KKyAgICAgICAgcHVibGljIHZvaWQgU2V0dXAoKQorICAgICAgICB7CisgICAgICAgICAgICBfZW50aXR5TWFuYWdlciA9IFN1YnN0aXR1dGUuRm9yPElFbnRpdHlNYW5hZ2VyPigpOworICAgICAgICAgICAgX2NsaWVudCA9IG5ldyBDbGllbnQobnVsbCwgbnVsbCkge0VudGl0eU1hbmFnZXIgPSBfZW50aXR5TWFuYWdlcn07CisgICAgICAgIH0KKworICAgICAgICAjZW5kcmVnaW9uCisKKyAgICAgICAgcHJpdmF0ZSBJRW50aXR5TWFuYWdlciBfZW50aXR5TWFuYWdlcjsKKyAgICAgICAgcHJpdmF0ZSBJQ2xpZW50IF9jbGllbnQ7CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIEdldEdyb3VwRmVlZFNob3VsZERlbGVnYXRlVG9FbnRpdHlNYW5hZ2VyV2l0aENvcnJlY3RFbmRwb2ludCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciB1c2VyZ3JpZEFjdGl2aXRpZXMgPSBuZXcgVXNlcmdyaWRDb2xsZWN0aW9uPFVzZXJncmlkQWN0aXZpdHk+KCk7CisgICAgICAgICAgICBfZW50aXR5TWFuYWdlci5HZXRFbnRpdGllczxVc2VyZ3JpZEFjdGl2aXR5PigiL2dyb3Vwcy9ncm91cElkZW50aWZpZXIvZmVlZCIpLlJldHVybnModXNlcmdyaWRBY3Rpdml0aWVzKTsKKworICAgICAgICAgICAgVXNlcmdyaWRDb2xsZWN0aW9uPFVzZXJncmlkQWN0aXZpdHk+IHJldHVybmVkQWN0aXZpdGllcyA9IF9jbGllbnQuR2V0R3JvdXBGZWVkPFVzZXJncmlkQWN0aXZpdHk+KCJncm91cElkZW50aWZpZXIiKTsKKworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIuUmVjZWl2ZWQoMSkuR2V0RW50aXRpZXM8VXNlcmdyaWRBY3Rpdml0eT4oIi9ncm91cHMvZ3JvdXBJZGVudGlmaWVyL2ZlZWQiKTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCh1c2VyZ3JpZEFjdGl2aXRpZXMsIHJldHVybmVkQWN0aXZpdGllcyk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgR2V0VXNlckZlZWRTaG91bGREZWxlZ2F0ZVRvRW50aXR5TWFuYWdlcldpdGhDb3JyZWN0RW5kcG9pbnQoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgdXNlcmdyaWRBY3Rpdml0aWVzID0gbmV3IFVzZXJncmlkQ29sbGVjdGlvbjxVc2VyZ3JpZEFjdGl2aXR5PigpOworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIuR2V0RW50aXRpZXM8VXNlcmdyaWRBY3Rpdml0eT4oIi91c2Vycy91c2VySWRlbnRpZmllci9mZWVkIikuUmV0dXJucyh1c2VyZ3JpZEFjdGl2aXRpZXMpOworCisgICAgICAgICAgICBVc2VyZ3JpZENvbGxlY3Rpb248VXNlcmdyaWRBY3Rpdml0eT4gcmV0dXJuZWRBY3Rpdml0aWVzID0gX2NsaWVudC5HZXRVc2VyRmVlZDxVc2VyZ3JpZEFjdGl2aXR5PigidXNlcklkZW50aWZpZXIiKTsKKworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIuUmVjZWl2ZWQoMSkuR2V0RW50aXRpZXM8VXNlcmdyaWRBY3Rpdml0eT4oIi91c2Vycy91c2VySWRlbnRpZmllci9mZWVkIik7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwodXNlcmdyaWRBY3Rpdml0aWVzLCByZXR1cm5lZEFjdGl2aXRpZXMpOworICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrLlRlc3RzL0NsaWVudFRlc3RzL0dyb3VwVGVzdHMuY3MgYi9Vc2VyZ3JpZC5TZGsuVGVzdHMvQ2xpZW50VGVzdHMvR3JvdXBUZXN0cy5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YjkzNDdlCi0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrLlRlc3RzL0NsaWVudFRlc3RzL0dyb3VwVGVzdHMuY3MKQEAgLTAsMCArMSwxOTkgQEAKK++7vy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBTeXN0ZW07Cit1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKK3VzaW5nIFN5c3RlbS5OZXQ7Cit1c2luZyBOU3Vic3RpdHV0ZTsKK3VzaW5nIE5Vbml0LkZyYW1ld29yazsKK3VzaW5nIFJlc3RTaGFycDsKK3VzaW5nIFVzZXJncmlkLlNkay5NYW5hZ2VyOwordXNpbmcgVXNlcmdyaWQuU2RrLk1vZGVsOwordXNpbmcgVXNlcmdyaWQuU2RrLlBheWxvYWQ7CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuVGVzdHMuQ2xpZW50VGVzdHMKK3sKKyAgICBbVGVzdEZpeHR1cmVdCisgICAgcHVibGljIGNsYXNzIEdyb3VwVGVzdHMKKyAgICB7CisgICAgICAgIFtTZXRVcF0KKyAgICAgICAgcHVibGljIHZvaWQgU2V0dXAoKQorICAgICAgICB7CisgICAgICAgICAgICBfZW50aXR5TWFuYWdlciA9IFN1YnN0aXR1dGUuRm9yPElFbnRpdHlNYW5hZ2VyPigpOworICAgICAgICAgICAgX3JlcXVlc3QgPSBTdWJzdGl0dXRlLkZvcjxJVXNlcmdyaWRSZXF1ZXN0PigpOworICAgICAgICAgICAgX2NsaWVudCA9IG5ldyBDbGllbnQobnVsbCwgbnVsbCwgcmVxdWVzdDogX3JlcXVlc3QpIHtFbnRpdHlNYW5hZ2VyID0gX2VudGl0eU1hbmFnZXJ9OworICAgICAgICB9CisKKyAgICAgICAgcHJpdmF0ZSBJRW50aXR5TWFuYWdlciBfZW50aXR5TWFuYWdlcjsKKyAgICAgICAgcHJpdmF0ZSBJQ2xpZW50IF9jbGllbnQ7CisgICAgICAgIHByaXZhdGUgSVVzZXJncmlkUmVxdWVzdCBfcmVxdWVzdDsKKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgQWRkVXNlclRvR3JvdXBTaG91bGREZWxlZ2F0ZVRvRW50aXR5TWFuYWdlcnJXaXRoQ29ycmVjdENvbm5lY3Rpb25BbmRJZGVudGlmaWVycygpCisgICAgICAgIHsKKyAgICAgICAgICAgIF9jbGllbnQuQWRkVXNlclRvR3JvdXAoImdyb3VwSWRlbnRpZmllciIsICJ1c2VySWRlbnRpZmllciIpOworCisgICAgICAgICAgICBfZW50aXR5TWFuYWdlci5SZWNlaXZlZCgxKS5DcmVhdGVFbnRpdHk8b2JqZWN0PigiL2dyb3Vwcy9ncm91cElkZW50aWZpZXIvdXNlcnMvdXNlcklkZW50aWZpZXIiLCBudWxsKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBDcmVhdGVHcm91cFNob3VsZERlbGVnYXRlVG9FbnRpdHlNYW5hZ2VyV2l0aENvcnJlY3RDb2xsZWN0aW9uTmFtZUFuZFVzZXIoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgZ3JvdXAgPSBuZXcgVXNlcmdyaWRHcm91cCgpOworCisgICAgICAgICAgICBfY2xpZW50LkNyZWF0ZUdyb3VwKGdyb3VwKTsKKworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIuUmVjZWl2ZWQoMSkuQ3JlYXRlRW50aXR5KCJncm91cHMiLCBncm91cCk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgW0V4cGVjdGVkRXhjZXB0aW9uKEV4cGVjdGVkRXhjZXB0aW9uID0gdHlwZW9mIChVc2VyZ3JpZEV4Y2VwdGlvbiksIEV4cGVjdGVkTWVzc2FnZSA9ICJFeGNlcHRpb24gbWVzc2FnZSIpXQorICAgICAgICBwdWJsaWMgdm9pZCBDcmVhdGVHcm91cFNob3VsZFBhc3NPblRoZUV4Y2VwdGlvbigpCisgICAgICAgIHsKKyAgICAgICAgICAgIF9lbnRpdHlNYW5hZ2VyCisgICAgICAgICAgICAgICAgLldoZW4obSA9PiBtLkNyZWF0ZUVudGl0eSgiZ3JvdXBzIiwgQXJnLkFueTxVc2VyZ3JpZEdyb3VwPigpKSkKKyAgICAgICAgICAgICAgICAuRG8obSA9PiB7IHRocm93IG5ldyBVc2VyZ3JpZEV4Y2VwdGlvbihuZXcgVXNlcmdyaWRFcnJvciB7RGVzY3JpcHRpb24gPSAiRXhjZXB0aW9uIG1lc3NhZ2UifSk7IH0pOworCisgICAgICAgICAgICBfY2xpZW50LkNyZWF0ZUdyb3VwPFVzZXJncmlkR3JvdXA+KG51bGwpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIERlbGV0ZUdyb3VwU2hvdWxkRGVsZWdhdGVUb0VudGl0eU1hbmFnZXJyV2l0aENvcnJlY3RDb2xsZWN0aW9uTmFtZUFuZElkZW50ZmllcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIF9jbGllbnQuRGVsZXRlR3JvdXAoImdyb3VwUGF0aCIpOworCisgICAgICAgICAgICBfZW50aXR5TWFuYWdlci5SZWNlaXZlZCgxKS5EZWxldGVFbnRpdHkoImdyb3VwcyIsICJncm91cFBhdGgiKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBbRXhwZWN0ZWRFeGNlcHRpb24oRXhwZWN0ZWRFeGNlcHRpb24gPSB0eXBlb2YgKFVzZXJncmlkRXhjZXB0aW9uKSwgRXhwZWN0ZWRNZXNzYWdlID0gIkV4Y2VwdGlvbiBtZXNzYWdlIildCisgICAgICAgIHB1YmxpYyB2b2lkIERlbGV0ZUdyb3VwU2hvdWxkUGFzc09uVGhlRXhjZXB0aW9uKCkKKyAgICAgICAgeworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIKKyAgICAgICAgICAgICAgICAuV2hlbihtID0+IG0uRGVsZXRlRW50aXR5KCJncm91cHMiLCBBcmcuQW55PHN0cmluZz4oKSkpCisgICAgICAgICAgICAgICAgLkRvKG0gPT4geyB0aHJvdyBuZXcgVXNlcmdyaWRFeGNlcHRpb24obmV3IFVzZXJncmlkRXJyb3Ige0Rlc2NyaXB0aW9uID0gIkV4Y2VwdGlvbiBtZXNzYWdlIn0pOyB9KTsKKworICAgICAgICAgICAgX2NsaWVudC5EZWxldGVHcm91cChudWxsKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBEZWxldGVVc2VyRnJvbUdyb3VwU2hvdWxkRGVsZWdhdGVUb0VudGl0eU1hbmFnZXJyV2l0aENvcnJlY3RDb25uZWN0aW9uQW5kSWRlbnRpZmllcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIF9jbGllbnQuRGVsZXRlVXNlckZyb21Hcm91cCgiZ3JvdXBJZGVudGlmaWVyIiwgInVzZXJJZGVudGlmaWVyIik7CisKKyAgICAgICAgICAgIF9lbnRpdHlNYW5hZ2VyLlJlY2VpdmVkKDEpLkRlbGV0ZUVudGl0eSgiL2dyb3Vwcy9ncm91cElkZW50aWZpZXIvdXNlcnMiLCAidXNlcklkZW50aWZpZXIiKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBHZXRHcm91cFNob3VsZERlbGVnYXRlVG9FbnRpdHlNYW5hZ2VyV2l0aENvcnJlY3RDb2xsZWN0aW9uTmFtZUFuZElkZW50aWZpZXIoKQorICAgICAgICB7CisgICAgICAgICAgICBfY2xpZW50LkdldEdyb3VwPFVzZXJncmlkR3JvdXA+KCJpZGVudGlmaWVyIik7CisKKyAgICAgICAgICAgIF9lbnRpdHlNYW5hZ2VyLlJlY2VpdmVkKDEpLkdldEVudGl0eTxVc2VyZ3JpZEdyb3VwPigiZ3JvdXBzIiwgImlkZW50aWZpZXIiKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBbRXhwZWN0ZWRFeGNlcHRpb24oRXhwZWN0ZWRFeGNlcHRpb24gPSB0eXBlb2YgKFVzZXJncmlkRXhjZXB0aW9uKSwgRXhwZWN0ZWRNZXNzYWdlID0gIkV4Y2VwdGlvbiBtZXNzYWdlIildCisgICAgICAgIHB1YmxpYyB2b2lkIEdldEdyb3VwU2hvdWxkUGFzc09uVGhlRXhjZXB0aW9uKCkKKyAgICAgICAgeworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIKKyAgICAgICAgICAgICAgICAuV2hlbihtID0+IG0uR2V0RW50aXR5PFVzZXJncmlkR3JvdXA+KCJncm91cHMiLCBBcmcuQW55PHN0cmluZz4oKSkpCisgICAgICAgICAgICAgICAgLkRvKG0gPT4geyB0aHJvdyBuZXcgVXNlcmdyaWRFeGNlcHRpb24obmV3IFVzZXJncmlkRXJyb3Ige0Rlc2NyaXB0aW9uID0gIkV4Y2VwdGlvbiBtZXNzYWdlIn0pOyB9KTsKKworICAgICAgICAgICAgX2NsaWVudC5HZXRHcm91cDxVc2VyZ3JpZEdyb3VwPihudWxsKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBHZXRHcm91cFNob3VsZFJldHVybk51bGxGb3JVbmV4aXN0aW5nR3JvdXAoKQorICAgICAgICB7CisgICAgICAgICAgICBfZW50aXR5TWFuYWdlci5HZXRFbnRpdHk8VXNlcmdyaWRVc2VyPigiZ3JvdXBzIiwgImlkZW50aWZpZXIiKS5SZXR1cm5zKHggPT4gbnVsbCk7CisKKyAgICAgICAgICAgIHZhciB1c2VyZ3JpZEdyb3VwID0gX2NsaWVudC5HZXRHcm91cDxVc2VyZ3JpZEdyb3VwPigiaWRlbnRpZmllciIpOworCisgICAgICAgICAgICBBc3NlcnQuSXNOdWxsKHVzZXJncmlkR3JvdXApOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIEdldEdyb3VwU2hvdWxkUmV0dXJuVXNlcmdyaWRHcm91cCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciB1c2VyZ3JpZEdyb3VwID0gbmV3IFVzZXJncmlkR3JvdXAoKTsKKyAgICAgICAgICAgIF9lbnRpdHlNYW5hZ2VyLkdldEVudGl0eTxVc2VyZ3JpZEdyb3VwPigiZ3JvdXBzIiwgImlkZW50aWZpZXIiKS5SZXR1cm5zKHggPT4gdXNlcmdyaWRHcm91cCk7CisKKyAgICAgICAgICAgIHZhciByZXR1cm5lZEdyb3VwID0gX2NsaWVudC5HZXRHcm91cDxVc2VyZ3JpZEdyb3VwPigiaWRlbnRpZmllciIpOworCisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwodXNlcmdyaWRHcm91cCwgcmV0dXJuZWRHcm91cCk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgVXBkYXRlR3JvdXBTaG91bGREZWxlZ2F0ZVRvRW50aXR5TWFuYWdlcnJXaXRoQ29ycmVjdENvbGxlY3Rpb25OYW1lQW5kR3JvdXBQYXRoQXNUaGVJZGVudGlmaWVyKCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIGdyb3VwID0gbmV3IFVzZXJncmlkR3JvdXAge1BhdGggPSAiZ3JvdXBQYXRoIn07CisKKyAgICAgICAgICAgIF9jbGllbnQuVXBkYXRlR3JvdXAoZ3JvdXApOworCisgICAgICAgICAgICBfZW50aXR5TWFuYWdlci5SZWNlaXZlZCgxKS5VcGRhdGVFbnRpdHkoImdyb3VwcyIsIGdyb3VwLlBhdGgsIGdyb3VwKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBbRXhwZWN0ZWRFeGNlcHRpb24oRXhwZWN0ZWRFeGNlcHRpb24gPSB0eXBlb2YgKFVzZXJncmlkRXhjZXB0aW9uKSwgRXhwZWN0ZWRNZXNzYWdlID0gIkV4Y2VwdGlvbiBtZXNzYWdlIildCisgICAgICAgIHB1YmxpYyB2b2lkIFVwZGF0ZUdyb3VwU2hvdWxkUGFzc09uVGhlRXhjZXB0aW9uKCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIGdyb3VwID0gbmV3IFVzZXJncmlkR3JvdXAge1BhdGggPSAiZ3JvdXBQYXRoIn07CisKKyAgICAgICAgICAgIF9lbnRpdHlNYW5hZ2VyCisgICAgICAgICAgICAgICAgLldoZW4obSA9PiBtLlVwZGF0ZUVudGl0eSgiZ3JvdXBzIiwgZ3JvdXAuUGF0aCwgZ3JvdXApKQorICAgICAgICAgICAgICAgIC5EbyhtID0+IHsgdGhyb3cgbmV3IFVzZXJncmlkRXhjZXB0aW9uKG5ldyBVc2VyZ3JpZEVycm9yIHtEZXNjcmlwdGlvbiA9ICJFeGNlcHRpb24gbWVzc2FnZSJ9KTsgfSk7CisKKyAgICAgICAgICAgIF9jbGllbnQuVXBkYXRlR3JvdXAoZ3JvdXApOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIEdldEFsbFVzZXJzSW5Hcm91cFNob3VsZEdldEFsbFVzZXJzSW5Hcm91cCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBleHBlY3RlZFVzZXJMaXN0ID0gbmV3IExpc3Q8VXNlcmdyaWRVc2VyPigpIHtuZXcgVXNlcmdyaWRVc2VyKCkge1VzZXJOYW1lID0gInVzZXJOYW1lIiwgTmFtZSA9ICJ1c2VyMSJ9fTsKKyAgICAgICAgICAgIHZhciByZXNwb25zZUNvbnRlbnQgPSBuZXcgVXNlcmdyaWRHZXRSZXNwb25zZTxVc2VyZ3JpZFVzZXI+KCkge0VudGl0aWVzID0gZXhwZWN0ZWRVc2VyTGlzdH07CisgICAgICAgICAgICB2YXIgcmVzdFJlc3BvbnNlID0gSGVscGVycy5TZXRVcFJlc3RSZXNwb25zZVdpdGhDb250ZW50PFVzZXJncmlkR2V0UmVzcG9uc2U8VXNlcmdyaWRVc2VyPj4oSHR0cFN0YXR1c0NvZGUuT0ssIHJlc3BvbnNlQ29udGVudCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIF9yZXF1ZXN0LkV4ZWN1dGVKc29uUmVxdWVzdCgiL2dyb3Vwcy9ncm91cE5hbWUvdXNlcnMiLCBNZXRob2QuR0VUKS5SZXR1cm5zKHJlc3RSZXNwb25zZSk7CisKKyAgICAgICAgICAgIHZhciByZXR1cm5lZFVzZXJzID0gX2NsaWVudC5HZXRBbGxVc2Vyc0luR3JvdXA8VXNlcmdyaWRVc2VyPigiZ3JvdXBOYW1lIik7CisKKyAgICAgICAgICAgIF9yZXF1ZXN0LlJlY2VpdmVkKDEpLkV4ZWN1dGVKc29uUmVxdWVzdCgiL2dyb3Vwcy9ncm91cE5hbWUvdXNlcnMiLCBNZXRob2QuR0VUKTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCgxLCByZXR1cm5lZFVzZXJzLkNvdW50KTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCgidXNlck5hbWUiLCByZXR1cm5lZFVzZXJzWzBdLlVzZXJOYW1lKTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCgidXNlcjEiLCByZXR1cm5lZFVzZXJzWzBdLk5hbWUpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIEdldEFsbFVzZXJzSW5Hcm91cFdpbGxUaHJvd1doZW5CYWRSZXF1ZXN0KCkKKyAgICAgICAgeworICAgICAgICAgICAgVXNlcmdyaWRFcnJvciBlcnJvciA9IG5ldyBVc2VyZ3JpZEVycm9yKCkge0Rlc2NyaXB0aW9uID0gImV4Y2VwdGlvbiBkZXNjcmlwdGlvbiIsIEVycm9yID0gImVycm9yIGNvZGUifTsKKyAgICAgICAgICAgIHZhciByZXN0UmVzcG9uc2UgPSBIZWxwZXJzLlNldFVwUmVzdFJlc3BvbnNlV2l0aENvbnRlbnQ8VXNlcmdyaWRFcnJvcj4oSHR0cFN0YXR1c0NvZGUuQmFkUmVxdWVzdCwgZXJyb3IpOworICAgICAgICAgICAgCisgICAgICAgICAgICBfcmVxdWVzdC5FeGVjdXRlSnNvblJlcXVlc3QoIi9ncm91cHMvZ3JvdXBOYW1lL3VzZXJzIiwgTWV0aG9kLkdFVCkuUmV0dXJucyhyZXN0UmVzcG9uc2UpOworCisgICAgICAgICAgICB0cnkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBfY2xpZW50LkdldEFsbFVzZXJzSW5Hcm91cDxVc2VyZ3JpZFVzZXI+KCJncm91cE5hbWUiKTsKKyAgICAgICAgICAgICAgICBBc3NlcnQuRmFpbCgiV2FzIGV4cGVjdGluZyBVc2VyZ3JpZCBleGNlcHRpb24gdG8gYmUgdGhyb3duLiIpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY2F0Y2ggKFVzZXJncmlkRXhjZXB0aW9uIGUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKGVycm9yLkRlc2NyaXB0aW9uLCBlLk1lc3NhZ2UpOworICAgICAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbChlcnJvci5FcnJvciwgZS5FcnJvckNvZGUpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrLlRlc3RzL0NsaWVudFRlc3RzL0xvZ2luVGVzdHMuY3MgYi9Vc2VyZ3JpZC5TZGsuVGVzdHMvQ2xpZW50VGVzdHMvTG9naW5UZXN0cy5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MDk0MTYyCi0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrLlRlc3RzL0NsaWVudFRlc3RzL0xvZ2luVGVzdHMuY3MKQEAgLTAsMCArMSw2NyBAQAor77u/Ly8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKy8vIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKK3VzaW5nIE5TdWJzdGl0dXRlOwordXNpbmcgTlVuaXQuRnJhbWV3b3JrOwordXNpbmcgVXNlcmdyaWQuU2RrLk1hbmFnZXI7Cit1c2luZyBVc2VyZ3JpZC5TZGsuTW9kZWw7CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuVGVzdHMuQ2xpZW50VGVzdHMKK3sKKyAgICBbVGVzdEZpeHR1cmVdCisgICAgcHVibGljIGNsYXNzIExvZ2luVGVzdHMKKyAgICB7CisgICAgICAgIFtUZXN0Q2FzZSgibG9naW4xIiwgInNlY3JldDEiLCBBdXRoVHlwZS5BcHBsaWNhdGlvbildCisgICAgICAgIFtUZXN0Q2FzZSgibG9naW4yIiwgInNlY3JldDIiLCBBdXRoVHlwZS5Pcmdhbml6YXRpb24pXQorICAgICAgICBbVGVzdENhc2UoImxvZ2luMyIsICJzZWNyZXQzIiwgQXV0aFR5cGUuTm9uZSldCisgICAgICAgIFtUZXN0Q2FzZSgibG9naW40IiwgInNlY3JldDQiLCBBdXRoVHlwZS5Vc2VyKV0KKyAgICAgICAgcHVibGljIHZvaWQgTG9naW5TaG91bGREZWxlZ2F0ZVRvQXV0aGVudGljYXRpb25NYW5hZ2VyV2l0aENvcnJlY3RQYXJhbWV0ZXJzKHN0cmluZyBsb2dpbiwgc3RyaW5nIHNlY3JldCwgQXV0aFR5cGUgYXV0aFR5cGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBhdXRoZW50aWNhdGlvbk1hbmFnZXIgPSBTdWJzdGl0dXRlLkZvcjxJQXV0aGVudGljYXRpb25NYW5hZ2VyPigpOworCisgICAgICAgICAgICB2YXIgY2xpZW50ID0gbmV3IENsaWVudChudWxsLCBudWxsKSB7QXV0aGVudGljYXRpb25NYW5hZ2VyID0gYXV0aGVudGljYXRpb25NYW5hZ2VyfTsKKworICAgICAgICAgICAgY2xpZW50LkxvZ2luKGxvZ2luLCBzZWNyZXQsIGF1dGhUeXBlKTsKKworICAgICAgICAgICAgYXV0aGVudGljYXRpb25NYW5hZ2VyLlJlY2VpdmVkKDEpLkxvZ2luKGxvZ2luLCBzZWNyZXQsIGF1dGhUeXBlKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBMb2dpblNob3VsZERlbGVnYXRlVG9BdXRoZW50aWNhdGlvbk1hbmFnZXIoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgYXV0aGVudGljYXRpb25NYW5hZ2VyID0gU3Vic3RpdHV0ZS5Gb3I8SUF1dGhlbnRpY2F0aW9uTWFuYWdlcj4oKTsKKworICAgICAgICAgICAgdmFyIGNsaWVudCA9IG5ldyBDbGllbnQobnVsbCwgbnVsbCkge0F1dGhlbnRpY2F0aW9uTWFuYWdlciA9IGF1dGhlbnRpY2F0aW9uTWFuYWdlcn07CisKKyAgICAgICAgICAgIGNsaWVudC5Mb2dpbihudWxsLCBudWxsLCBBdXRoVHlwZS5Ob25lKTsKKworICAgICAgICAgICAgYXV0aGVudGljYXRpb25NYW5hZ2VyLlJlY2VpdmVkKDEpLkxvZ2luKG51bGwsIG51bGwsIEF1dGhUeXBlLk5vbmUpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIFtFeHBlY3RlZEV4Y2VwdGlvbihFeHBlY3RlZEV4Y2VwdGlvbiA9IHR5cGVvZiAoVXNlcmdyaWRFeGNlcHRpb24pLCBFeHBlY3RlZE1lc3NhZ2UgPSAiRXhjZXB0aW9uIG1lc3NhZ2UiKV0KKyAgICAgICAgcHVibGljIHZvaWQgTG9naW5TaG91bGRQYXNzT25UaGVFeGNlcHRpb24oKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgYXV0aGVudGljYXRpb25NYW5hZ2VyID0gU3Vic3RpdHV0ZS5Gb3I8SUF1dGhlbnRpY2F0aW9uTWFuYWdlcj4oKTsKKyAgICAgICAgICAgIGF1dGhlbnRpY2F0aW9uTWFuYWdlcgorICAgICAgICAgICAgICAgIC5XaGVuKG0gPT4gbS5Mb2dpbihudWxsLCBudWxsLCBBdXRoVHlwZS5Ob25lKSkKKyAgICAgICAgICAgICAgICAuRG8obSA9PiB7IHRocm93IG5ldyBVc2VyZ3JpZEV4Y2VwdGlvbihuZXcgVXNlcmdyaWRFcnJvciB7RGVzY3JpcHRpb24gPSAiRXhjZXB0aW9uIG1lc3NhZ2UifSk7IH0pOworCisKKyAgICAgICAgICAgIHZhciBjbGllbnQgPSBuZXcgQ2xpZW50KG51bGwsIG51bGwpIHtBdXRoZW50aWNhdGlvbk1hbmFnZXIgPSBhdXRoZW50aWNhdGlvbk1hbmFnZXJ9OworICAgICAgICAgICAgY2xpZW50LkxvZ2luKG51bGwsIG51bGwsIEF1dGhUeXBlLk5vbmUpOworICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrLlRlc3RzL0NsaWVudFRlc3RzL05vdGlmaWNhdGlvblRlc3RzLmNzIGIvVXNlcmdyaWQuU2RrLlRlc3RzL0NsaWVudFRlc3RzL05vdGlmaWNhdGlvblRlc3RzLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmOWE1ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsuVGVzdHMvQ2xpZW50VGVzdHMvTm90aWZpY2F0aW9uVGVzdHMuY3MKQEAgLTAsMCArMSwxNDkgQEAKK++7vy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBTeXN0ZW07Cit1c2luZyBOU3Vic3RpdHV0ZTsKK3VzaW5nIE5Vbml0LkZyYW1ld29yazsKK3VzaW5nIFVzZXJncmlkLlNkay5NYW5hZ2VyOwordXNpbmcgVXNlcmdyaWQuU2RrLk1vZGVsOwordXNpbmcgVXNlcmdyaWQuU2RrLlBheWxvYWQ7CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuVGVzdHMuQ2xpZW50VGVzdHMKK3sKKyAgICBbVGVzdEZpeHR1cmVdCisgICAgcHVibGljIGNsYXNzIE5vdGlmaWNhdGlvblRlc3RzCisgICAgeworICAgICAgICAjcmVnaW9uIFNldHVwL1RlYXJkb3duCisKKyAgICAgICAgW1NldFVwXQorICAgICAgICBwdWJsaWMgdm9pZCBTZXR1cCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIF9ub3RpZmljYXRpb25zTWFuYWdlciA9IFN1YnN0aXR1dGUuRm9yPElOb3RpZmljYXRpb25zTWFuYWdlcj4oKTsKKyAgICAgICAgICAgIF9lbnRpdHlNYW5hZ2VyID0gU3Vic3RpdHV0ZS5Gb3I8SUVudGl0eU1hbmFnZXI+KCk7CisgICAgICAgICAgICBfY2xpZW50ID0gbmV3IENsaWVudChudWxsLCBudWxsKSB7Tm90aWZpY2F0aW9uc01hbmFnZXIgPSBfbm90aWZpY2F0aW9uc01hbmFnZXIsIEVudGl0eU1hbmFnZXIgPSBfZW50aXR5TWFuYWdlcn07CisgICAgICAgIH0KKworICAgICAgICAjZW5kcmVnaW9uCisKKyAgICAgICAgcHJpdmF0ZSBJTm90aWZpY2F0aW9uc01hbmFnZXIgX25vdGlmaWNhdGlvbnNNYW5hZ2VyOworICAgICAgICBwcml2YXRlIElFbnRpdHlNYW5hZ2VyIF9lbnRpdHlNYW5hZ2VyOworICAgICAgICBwcml2YXRlIElDbGllbnQgX2NsaWVudDsKKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgQ2FuY2VsTm90aWZpY2F0aW9uU2hvdWxkRGVsZWdhdGVUb0VudGl0eU1hbmFnZXJXaXRoQ29ycmVjdFBhcmFtZXRlcnMoKQorICAgICAgICB7CisgICAgICAgICAgICBfY2xpZW50LkNhbmNlbE5vdGlmaWNhdGlvbigibm90aWZpY2F0aW9uSWRlbnRpZmllciIpOworCisgICAgICAgICAgICBfZW50aXR5TWFuYWdlci5SZWNlaXZlZCgxKS5VcGRhdGVFbnRpdHkoIi9ub3RpZmljYXRpb25zIiwgIm5vdGlmaWNhdGlvbklkZW50aWZpZXIiLCBBcmcuSXM8Q2FuY2VsTm90aWZpY2F0aW9uUGF5bG9hZD4ocCA9PiBwLkNhbmNlbGVkKSk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgQ3JlYXRlTm90aWZpZXJGb3JBbmRyb2lkU2hvdWxkRGVsZWdhdGVUb05vdGlmaWNhdGlvbnNNYW5hZ2VyKCkKKyAgICAgICAgeworICAgICAgICAgICAgX2NsaWVudC5DcmVhdGVOb3RpZmllckZvckFuZHJvaWQoIm5vdGlmaWVyTmFtZSIsICJhcGlLZXkiKTsKKworICAgICAgICAgICAgX25vdGlmaWNhdGlvbnNNYW5hZ2VyLlJlY2VpdmVkKDEpLkNyZWF0ZU5vdGlmaWVyRm9yQW5kcm9pZCgibm90aWZpZXJOYW1lIiwgImFwaUtleSIpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIFtFeHBlY3RlZEV4Y2VwdGlvbihFeHBlY3RlZEV4Y2VwdGlvbiA9IHR5cGVvZiAoVXNlcmdyaWRFeGNlcHRpb24pLCBFeHBlY3RlZE1lc3NhZ2UgPSAiRXhjZXB0aW9uIG1lc3NhZ2UiKV0KKyAgICAgICAgcHVibGljIHZvaWQgQ3JlYXRlTm90aWZpZXJGb3JBbmRyb2lkU2hvdWxkUGFzc09uVGhlRXhjZXB0aW9uKCkKKyAgICAgICAgeworICAgICAgICAgICAgX25vdGlmaWNhdGlvbnNNYW5hZ2VyCisgICAgICAgICAgICAgICAgLldoZW4obSA9PiBtLkNyZWF0ZU5vdGlmaWVyRm9yQW5kcm9pZChBcmcuQW55PHN0cmluZz4oKSwgQXJnLkFueTxzdHJpbmc+KCkpKQorICAgICAgICAgICAgICAgIC5EbyhtID0+IHsgdGhyb3cgbmV3IFVzZXJncmlkRXhjZXB0aW9uKG5ldyBVc2VyZ3JpZEVycm9yIHtEZXNjcmlwdGlvbiA9ICJFeGNlcHRpb24gbWVzc2FnZSJ9KTsgfSk7CisKKyAgICAgICAgICAgIF9jbGllbnQuQ3JlYXRlTm90aWZpZXJGb3JBbmRyb2lkKG51bGwsIG51bGwpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIENyZWF0ZU5vdGlmaWVyRm9yQXBwbGVTaG91bGREZWxlZ2F0ZVRvTm90aWZpY2F0aW9uc01hbmFnZXIoKQorICAgICAgICB7CisgICAgICAgICAgICBfY2xpZW50LkNyZWF0ZU5vdGlmaWVyRm9yQXBwbGUoIm5vdGlmaWVyTmFtZSIsICJkZXZlbG9wbWVudCIsICJjZXJ0aWZpY2F0ZUZpbGVQYXRoIik7CisKKyAgICAgICAgICAgIF9ub3RpZmljYXRpb25zTWFuYWdlci5SZWNlaXZlZCgxKS5DcmVhdGVOb3RpZmllckZvckFwcGxlKCJub3RpZmllck5hbWUiLCAiZGV2ZWxvcG1lbnQiLCAiY2VydGlmaWNhdGVGaWxlUGF0aCIpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIFtFeHBlY3RlZEV4Y2VwdGlvbihFeHBlY3RlZEV4Y2VwdGlvbiA9IHR5cGVvZiAoVXNlcmdyaWRFeGNlcHRpb24pLCBFeHBlY3RlZE1lc3NhZ2UgPSAiRXhjZXB0aW9uIG1lc3NhZ2UiKV0KKyAgICAgICAgcHVibGljIHZvaWQgQ3JlYXRlTm90aWZpZXJGb3JBcHBsZVNob3VsZFBhc3NPblRoZUV4Y2VwdGlvbigpCisgICAgICAgIHsKKyAgICAgICAgICAgIF9ub3RpZmljYXRpb25zTWFuYWdlcgorICAgICAgICAgICAgICAgIC5XaGVuKG0gPT4gbS5DcmVhdGVOb3RpZmllckZvckFwcGxlKEFyZy5Bbnk8c3RyaW5nPigpLCBBcmcuQW55PHN0cmluZz4oKSwgQXJnLkFueTxzdHJpbmc+KCkpKQorICAgICAgICAgICAgICAgIC5EbyhtID0+IHsgdGhyb3cgbmV3IFVzZXJncmlkRXhjZXB0aW9uKG5ldyBVc2VyZ3JpZEVycm9yIHtEZXNjcmlwdGlvbiA9ICJFeGNlcHRpb24gbWVzc2FnZSJ9KTsgfSk7CisKKyAgICAgICAgICAgIF9jbGllbnQuQ3JlYXRlTm90aWZpZXJGb3JBcHBsZShudWxsLCBudWxsLCBudWxsKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBEZWxldGVOb3RpZmllclNob3VsZERlbGVnYXRlVG9FbnRpdHlNYW5hZ2VyV2l0aENvcnJlY3RQYXJhbWV0ZXJzKCkKKyAgICAgICAgeworICAgICAgICAgICAgX2NsaWVudC5EZWxldGVOb3RpZmllcigibm90aWZpZXJJZGVudGlmaWVyIik7CisKKyAgICAgICAgICAgIF9lbnRpdHlNYW5hZ2VyLlJlY2VpdmVkKDEpLkRlbGV0ZUVudGl0eSgiL25vdGlmaWVycyIsICJub3RpZmllcklkZW50aWZpZXIiKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBHZXROb3RpZmllclNob3VsZERlbGVnYXRlVG9FbnRpdHlNYW5hZ2VyV2l0aENvcnJlY3RQYXJhbWV0ZXJzKCkKKyAgICAgICAgeworICAgICAgICAgICAgX2NsaWVudC5HZXROb3RpZmllcjxVc2VyZ3JpZE5vdGlmaWVyPigibm90aWZpZXJJZGVudGlmaWVyIik7CisKKyAgICAgICAgICAgIF9lbnRpdHlNYW5hZ2VyLlJlY2VpdmVkKDEpLkdldEVudGl0eTxVc2VyZ3JpZE5vdGlmaWVyPigiL25vdGlmaWVycyIsICJub3RpZmllcklkZW50aWZpZXIiKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBbRXhwZWN0ZWRFeGNlcHRpb24oRXhwZWN0ZWRFeGNlcHRpb24gPSB0eXBlb2YgKFVzZXJncmlkRXhjZXB0aW9uKSwgRXhwZWN0ZWRNZXNzYWdlID0gIkV4Y2VwdGlvbiBtZXNzYWdlIildCisgICAgICAgIHB1YmxpYyB2b2lkIEdldE5vdGlmaWVyU2hvdWxkUGFzc09uVGhlRXhjZXB0aW9uKCkKKyAgICAgICAgeworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIKKyAgICAgICAgICAgICAgICAuV2hlbihtID0+IG0uR2V0RW50aXR5PFVzZXJncmlkTm90aWZpZXI+KEFyZy5Bbnk8c3RyaW5nPigpLCBBcmcuQW55PHN0cmluZz4oKSkpCisgICAgICAgICAgICAgICAgLkRvKG0gPT4geyB0aHJvdyBuZXcgVXNlcmdyaWRFeGNlcHRpb24obmV3IFVzZXJncmlkRXJyb3Ige0Rlc2NyaXB0aW9uID0gIkV4Y2VwdGlvbiBtZXNzYWdlIn0pOyB9KTsKKworICAgICAgICAgICAgX2NsaWVudC5HZXROb3RpZmllcjxVc2VyZ3JpZE5vdGlmaWVyPihudWxsKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBHZXROb3RpZmllclNob3VsZFJldHVybk51bGxGb3JVbmV4aXN0aW5nTm90aWZpZXIoKQorICAgICAgICB7CisgICAgICAgICAgICBfZW50aXR5TWFuYWdlci5HZXRFbnRpdHk8VXNlcmdyaWROb3RpZmllcj4oIi9ub3RpZmllcnMiLCAibm90aWZpZXJJZGVudGlmaWVyIikuUmV0dXJucyh4ID0+IG51bGwpOworCisgICAgICAgICAgICB2YXIgcmV0dXJuZWRFbnRpdHkgPSBfY2xpZW50LkdldE5vdGlmaWVyPFVzZXJncmlkTm90aWZpZXI+KCJub3RpZmllcklkZW50aWZpZXIiKTsKKworICAgICAgICAgICAgQXNzZXJ0LklzTnVsbChyZXR1cm5lZEVudGl0eSk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgR2V0Tm90aWZpZXJTaG91bGRSZXR1cm5Vc2VyZ3JpZE5vdGlmaWVyRnJvbUVudGl0eU1hbmFnZXIoKSB7CisgICAgICAgICAgICB2YXIgZW50aXR5ID0gbmV3IFVzZXJncmlkTm90aWZpZXIoKTsKKyAgICAgICAgICAgIF9lbnRpdHlNYW5hZ2VyLkdldEVudGl0eTxVc2VyZ3JpZE5vdGlmaWVyPigiL25vdGlmaWVycyIsICJub3RpZmllcklkZW50aWZpZXIiKS5SZXR1cm5zKHggPT4gZW50aXR5KTsKKworICAgICAgICAgICAgdmFyIHJldHVybmVkRW50aXR5ID0gX2NsaWVudC5HZXROb3RpZmllcjxVc2VyZ3JpZE5vdGlmaWVyPigibm90aWZpZXJJZGVudGlmaWVyIik7CisKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbChlbnRpdHksIHJldHVybmVkRW50aXR5KTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBQdWJsaXNoTm90aWZpY2F0aW9uU2hvdWxkRGVsZWdhdGVUb05vdGlmaWNhdGlvbnNNYW5hZ2VyV2l0aENvcnJlY3RQYXJhbWV0ZXJzKCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIG5vdGlmaWNhdGlvbnMgPSBuZXcgTm90aWZpY2F0aW9uW10ge25ldyBBcHBsZU5vdGlmaWNhdGlvbigibm90aWZpZXJOYW1lIiwgIm1lc3NhZ2UiLCAiY2hpbWUiKX07CisgICAgICAgICAgICBJTm90aWZpY2F0aW9uUmVjaXBpZW50cyByZWNpcGllbnRzID0gbmV3IE5vdGlmaWNhdGlvblJlY2lwaWVudHMoKS5BZGRVc2VyV2l0aE5hbWUoInVzZXJuYW1lIik7CisgICAgICAgICAgICB2YXIgc2NoZWR1bGVyU2V0dGluZ3MgPSBuZXcgTm90aWZpY2F0aW9uU2NoZWR1bGVyU2V0dGluZ3Mge0RlbGl2ZXJBdCA9IERhdGVUaW1lLk5vdy5BZGREYXlzKDEpfTsKKworICAgICAgICAgICAgX2NsaWVudC5QdWJsaXNoTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbnMsIHJlY2lwaWVudHMsIHNjaGVkdWxlclNldHRpbmdzKTsKKworICAgICAgICAgICAgX25vdGlmaWNhdGlvbnNNYW5hZ2VyLlJlY2VpdmVkKDEpLlB1Ymxpc2hOb3RpZmljYXRpb24obm90aWZpY2F0aW9ucywgcmVjaXBpZW50cywgc2NoZWR1bGVyU2V0dGluZ3MpOworICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrLlRlc3RzL0NsaWVudFRlc3RzL1VzZXJUZXN0cy5jcyBiL1VzZXJncmlkLlNkay5UZXN0cy9DbGllbnRUZXN0cy9Vc2VyVGVzdHMuY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQ3YTNiYgotLS0gL2Rldi9udWxsCisrKyBiL1VzZXJncmlkLlNkay5UZXN0cy9DbGllbnRUZXN0cy9Vc2VyVGVzdHMuY3MKQEAgLTAsMCArMSwxNTMgQEAKK++7vy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBOU3Vic3RpdHV0ZTsKK3VzaW5nIE5Vbml0LkZyYW1ld29yazsKK3VzaW5nIFVzZXJncmlkLlNkay5NYW5hZ2VyOwordXNpbmcgVXNlcmdyaWQuU2RrLk1vZGVsOworCituYW1lc3BhY2UgVXNlcmdyaWQuU2RrLlRlc3RzLkNsaWVudFRlc3RzCit7CisgICAgW1Rlc3RGaXh0dXJlXQorICAgIHB1YmxpYyBjbGFzcyBVc2VyVGVzdHMKKyAgICB7CisgICAgICAgICNyZWdpb24gU2V0dXAvVGVhcmRvd24KKworICAgICAgICBbU2V0VXBdCisgICAgICAgIHB1YmxpYyB2b2lkIFNldHVwKCkKKyAgICAgICAgeworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIgPSBTdWJzdGl0dXRlLkZvcjxJRW50aXR5TWFuYWdlcj4oKTsKKyAgICAgICAgICAgIF9hdXRoZW50aWNhdGlvbk1hbmFnZXIgPSBTdWJzdGl0dXRlLkZvcjxJQXV0aGVudGljYXRpb25NYW5hZ2VyPigpOworICAgICAgICAgICAgX2NsaWVudCA9IG5ldyBDbGllbnQobnVsbCwgbnVsbCkge0VudGl0eU1hbmFnZXIgPSBfZW50aXR5TWFuYWdlciwgQXV0aGVudGljYXRpb25NYW5hZ2VyID0gX2F1dGhlbnRpY2F0aW9uTWFuYWdlcn07CisgICAgICAgIH0KKworICAgICAgICAjZW5kcmVnaW9uCisKKyAgICAgICAgcHJpdmF0ZSBJRW50aXR5TWFuYWdlciBfZW50aXR5TWFuYWdlcjsKKyAgICAgICAgcHJpdmF0ZSBJQXV0aGVudGljYXRpb25NYW5hZ2VyIF9hdXRoZW50aWNhdGlvbk1hbmFnZXI7CisgICAgICAgIHByaXZhdGUgSUNsaWVudCBfY2xpZW50OworCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBDaGFuZ2VQYXNzd29yZFNob3VsZERlbGVnYXRlVG9BdXRoZW50aWNhdGlvbk1hbmFnZXIoKQorICAgICAgICB7CisgICAgICAgICAgICBfY2xpZW50LkNoYW5nZVBhc3N3b3JkKCJ1c2VyTmFtZSIsICJvbGRQYXNzd29yZCIsICJuZXdQYXNzd29yZCIpOworCisgICAgICAgICAgICBfYXV0aGVudGljYXRpb25NYW5hZ2VyLlJlY2VpdmVkKDEpLkNoYW5nZVBhc3N3b3JkKCJ1c2VyTmFtZSIsICJvbGRQYXNzd29yZCIsICJuZXdQYXNzd29yZCIpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIENyZWF0ZVVzZXJTaG91bGREZWxlZ2F0ZVRvRW50aXR5TWFuYWdlcldpdGhDb3JyZWN0Q29sbGVjdGlvbk5hbWVBbmRVc2VyKCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIHVzZXIgPSBuZXcgVXNlcmdyaWRVc2VyKCk7CisKKyAgICAgICAgICAgIF9jbGllbnQuQ3JlYXRlVXNlcih1c2VyKTsKKworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIuUmVjZWl2ZWQoMSkuQ3JlYXRlRW50aXR5KCJ1c2VycyIsIHVzZXIpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIFtFeHBlY3RlZEV4Y2VwdGlvbihFeHBlY3RlZEV4Y2VwdGlvbiA9IHR5cGVvZiAoVXNlcmdyaWRFeGNlcHRpb24pLCBFeHBlY3RlZE1lc3NhZ2UgPSAiRXhjZXB0aW9uIG1lc3NhZ2UiKV0KKyAgICAgICAgcHVibGljIHZvaWQgQ3JlYXRlVXNlclNob3VsZFBhc3NPblRoZUV4Y2VwdGlvbigpCisgICAgICAgIHsKKyAgICAgICAgICAgIF9lbnRpdHlNYW5hZ2VyCisgICAgICAgICAgICAgICAgLldoZW4obSA9PiBtLkNyZWF0ZUVudGl0eSgidXNlcnMiLCBBcmcuQW55PFVzZXJncmlkVXNlcj4oKSkpCisgICAgICAgICAgICAgICAgLkRvKG0gPT4geyB0aHJvdyBuZXcgVXNlcmdyaWRFeGNlcHRpb24obmV3IFVzZXJncmlkRXJyb3Ige0Rlc2NyaXB0aW9uID0gIkV4Y2VwdGlvbiBtZXNzYWdlIn0pOyB9KTsKKworICAgICAgICAgICAgX2NsaWVudC5DcmVhdGVVc2VyPFVzZXJncmlkVXNlcj4obnVsbCk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgRGVsZXRlVXNlclNob3VsZERlbGVnYXRlVG9FbnRpdHlNYW5hZ2VycldpdGhDb3JyZWN0Q29sbGVjdGlvbk5hbWVBbmRJZGVudGZpZXIoKQorICAgICAgICB7CisgICAgICAgICAgICBfY2xpZW50LkRlbGV0ZVVzZXIoInVzZXJOYW1lIik7CisKKyAgICAgICAgICAgIF9lbnRpdHlNYW5hZ2VyLlJlY2VpdmVkKDEpLkRlbGV0ZUVudGl0eSgidXNlcnMiLCAidXNlck5hbWUiKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBbRXhwZWN0ZWRFeGNlcHRpb24oRXhwZWN0ZWRFeGNlcHRpb24gPSB0eXBlb2YgKFVzZXJncmlkRXhjZXB0aW9uKSwgRXhwZWN0ZWRNZXNzYWdlID0gIkV4Y2VwdGlvbiBtZXNzYWdlIildCisgICAgICAgIHB1YmxpYyB2b2lkIERlbGV0ZVVzZXJTaG91bGRQYXNzT25UaGVFeGNlcHRpb24oKQorICAgICAgICB7CisgICAgICAgICAgICBfZW50aXR5TWFuYWdlcgorICAgICAgICAgICAgICAgIC5XaGVuKG0gPT4gbS5EZWxldGVFbnRpdHkoInVzZXJzIiwgQXJnLkFueTxzdHJpbmc+KCkpKQorICAgICAgICAgICAgICAgIC5EbyhtID0+IHsgdGhyb3cgbmV3IFVzZXJncmlkRXhjZXB0aW9uKG5ldyBVc2VyZ3JpZEVycm9yIHtEZXNjcmlwdGlvbiA9ICJFeGNlcHRpb24gbWVzc2FnZSJ9KTsgfSk7CisKKyAgICAgICAgICAgIF9jbGllbnQuRGVsZXRlVXNlcihudWxsKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBHZXRVc2VyU2hvdWxkRGVsZWdhdGVUb0VudGl0eU1hbmFnZXJXaXRoQ29ycmVjdENvbGxlY3Rpb25OYW1lQW5kSWRlbnRpZmllcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIF9jbGllbnQuR2V0VXNlcjxVc2VyZ3JpZFVzZXI+KCJpZGVudGlmaWVyIik7CisKKyAgICAgICAgICAgIF9lbnRpdHlNYW5hZ2VyLlJlY2VpdmVkKDEpLkdldEVudGl0eTxVc2VyZ3JpZFVzZXI+KCJ1c2VycyIsICJpZGVudGlmaWVyIik7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgW0V4cGVjdGVkRXhjZXB0aW9uKEV4cGVjdGVkRXhjZXB0aW9uID0gdHlwZW9mIChVc2VyZ3JpZEV4Y2VwdGlvbiksIEV4cGVjdGVkTWVzc2FnZSA9ICJFeGNlcHRpb24gbWVzc2FnZSIpXQorICAgICAgICBwdWJsaWMgdm9pZCBHZXRVc2VyU2hvdWxkUGFzc09uVGhlRXhjZXB0aW9uKCkKKyAgICAgICAgeworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIKKyAgICAgICAgICAgICAgICAuV2hlbihtID0+IG0uR2V0RW50aXR5PFVzZXJncmlkVXNlcj4oInVzZXJzIiwgQXJnLkFueTxzdHJpbmc+KCkpKQorICAgICAgICAgICAgICAgIC5EbyhtID0+IHsgdGhyb3cgbmV3IFVzZXJncmlkRXhjZXB0aW9uKG5ldyBVc2VyZ3JpZEVycm9yIHtEZXNjcmlwdGlvbiA9ICJFeGNlcHRpb24gbWVzc2FnZSJ9KTsgfSk7CisKKyAgICAgICAgICAgIF9jbGllbnQuR2V0VXNlcjxVc2VyZ3JpZFVzZXI+KG51bGwpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIEdldFVzZXJTaG91bGRSZXR1cm5OdWxsRm9yVW5leGlzdGluZ1VzZXIoKQorICAgICAgICB7CisgICAgICAgICAgICBfZW50aXR5TWFuYWdlci5HZXRFbnRpdHk8VXNlcmdyaWRVc2VyPigidXNlcnMiLCAiaWRlbnRpZmllciIpLlJldHVybnMoKHgpID0+IG51bGwpOworCisgICAgICAgICAgICB2YXIgdXNlcmdyaWRVc2VyID0gX2NsaWVudC5HZXRVc2VyPFVzZXJncmlkVXNlcj4oImlkZW50aWZpZXIiKTsKKworICAgICAgICAgICAgQXNzZXJ0LklzTnVsbCh1c2VyZ3JpZFVzZXIpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIEdldFVzZXJTaG91bGRSZXR1cm5Vc2VyZ3JpZFVzZXIoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgdXNlcmdyaWRVc2VyID0gbmV3IFVzZXJncmlkVXNlcigpOworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIuR2V0RW50aXR5PFVzZXJncmlkVXNlcj4oInVzZXJzIiwgImlkZW50aWZpZXIiKS5SZXR1cm5zKCh4KSA9PiB1c2VyZ3JpZFVzZXIpOworCisgICAgICAgICAgICB2YXIgcmV0dXJuZWRVc2VyID0gX2NsaWVudC5HZXRVc2VyPFVzZXJncmlkVXNlcj4oImlkZW50aWZpZXIiKTsKKworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKHVzZXJncmlkVXNlciwgcmV0dXJuZWRVc2VyKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBVcGRhdGVVc2VyU2hvdWxkRGVsZWdhdGVUb0VudGl0eU1hbmFnZXJyV2l0aENvcnJlY3RDb2xsZWN0aW9uTmFtZUFuZFVzZXJOYW1lQXNUaGVJZGVudGlmaWVyKCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIHVzZXIgPSBuZXcgVXNlcmdyaWRVc2VyIHtVc2VyTmFtZSA9ICJ1c2VyTmFtZSJ9OworCisgICAgICAgICAgICBfY2xpZW50LlVwZGF0ZVVzZXIodXNlcik7CisKKyAgICAgICAgICAgIF9lbnRpdHlNYW5hZ2VyLlJlY2VpdmVkKDEpLlVwZGF0ZUVudGl0eSgidXNlcnMiLCB1c2VyLlVzZXJOYW1lLCB1c2VyKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBbRXhwZWN0ZWRFeGNlcHRpb24oRXhwZWN0ZWRFeGNlcHRpb24gPSB0eXBlb2YgKFVzZXJncmlkRXhjZXB0aW9uKSwgRXhwZWN0ZWRNZXNzYWdlID0gIkV4Y2VwdGlvbiBtZXNzYWdlIildCisgICAgICAgIHB1YmxpYyB2b2lkIFVwZGF0ZVVzZXJTaG91bGRQYXNzT25UaGVFeGNlcHRpb24oKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgdXNlciA9IG5ldyBVc2VyZ3JpZFVzZXIge1VzZXJOYW1lID0gInVzZXJOYW1lIn07CisKKyAgICAgICAgICAgIF9lbnRpdHlNYW5hZ2VyCisgICAgICAgICAgICAgICAgLldoZW4obSA9PiBtLlVwZGF0ZUVudGl0eSgidXNlcnMiLCB1c2VyLlVzZXJOYW1lLCB1c2VyKSkKKyAgICAgICAgICAgICAgICAuRG8obSA9PiB7IHRocm93IG5ldyBVc2VyZ3JpZEV4Y2VwdGlvbihuZXcgVXNlcmdyaWRFcnJvciB7RGVzY3JpcHRpb24gPSAiRXhjZXB0aW9uIG1lc3NhZ2UifSk7IH0pOworCisgICAgICAgICAgICBfY2xpZW50LlVwZGF0ZVVzZXIodXNlcik7CisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsuVGVzdHMvQ29ubmVjdGlvbk1hbmFnZXJUZXN0cy5jcyBiL1VzZXJncmlkLlNkay5UZXN0cy9Db25uZWN0aW9uTWFuYWdlclRlc3RzLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiZTUzNmUKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsuVGVzdHMvQ29ubmVjdGlvbk1hbmFnZXJUZXN0cy5jcwpAQCAtMCwwICsxLDI0MCBAQAor77u/Ly8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKy8vIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKwordXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7Cit1c2luZyBTeXN0ZW0uTmV0OwordXNpbmcgTlN1YnN0aXR1dGU7Cit1c2luZyBOVW5pdC5GcmFtZXdvcms7Cit1c2luZyBSZXN0U2hhcnA7Cit1c2luZyBVc2VyZ3JpZC5TZGsuTWFuYWdlcjsKK3VzaW5nIFVzZXJncmlkLlNkay5Nb2RlbDsKK3VzaW5nIFVzZXJncmlkLlNkay5QYXlsb2FkOworCituYW1lc3BhY2UgVXNlcmdyaWQuU2RrLlRlc3RzCit7CisgICAgW1Rlc3RGaXh0dXJlXQorICAgIHB1YmxpYyBjbGFzcyBDb25uZWN0aW9uTWFuYWdlclRlc3RzCisgICAgeworICAgICAgICBbU2V0VXBdCisgICAgICAgIHB1YmxpYyB2b2lkIFNldHVwKCkKKyAgICAgICAgeworICAgICAgICAgICAgX3JlcXVlc3QgPSBTdWJzdGl0dXRlLkZvcjxJVXNlcmdyaWRSZXF1ZXN0PigpOworICAgICAgICAgICAgX2Nvbm5lY3Rpb25NYW5hZ2VyID0gbmV3IENvbm5lY3Rpb25NYW5hZ2VyKF9yZXF1ZXN0KTsKKyAgICAgICAgfQorCisgICAgICAgIHByaXZhdGUgSVVzZXJncmlkUmVxdWVzdCBfcmVxdWVzdDsKKyAgICAgICAgcHJpdmF0ZSBDb25uZWN0aW9uTWFuYWdlciBfY29ubmVjdGlvbk1hbmFnZXI7CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIENyZWF0ZUNvbm5lY3Rpb25TaG91bGRQb3N0VG9Db3JyZWN0RW5kcG9pbnQoKSB7CisgICAgICAgICAgICB2YXIgY29ubmVjdGlvbiA9IG5ldyBDb25uZWN0aW9uCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBDb25uZWN0b3JDb2xsZWN0aW9uTmFtZSA9ICJ1c2VycyIsCisgICAgICAgICAgICAgICAgICAgIENvbm5lY3RvcklkZW50aWZpZXIgPSAidXNlck5hbWUiLAorICAgICAgICAgICAgICAgICAgICBDb25uZWN0ZWVDb2xsZWN0aW9uTmFtZSA9ICJkZXZpY2VzIiwKKyAgICAgICAgICAgICAgICAgICAgQ29ubmVjdGVlSWRlbnRpZmllciA9ICJkZXZpY2VOYW1lIiwKKyAgICAgICAgICAgICAgICAgICAgQ29ubmVjdGlvbk5hbWUgPSAiaGFzIgorICAgICAgICAgICAgICAgIH07CisgICAgICAgICAgICBJUmVzdFJlc3BvbnNlIHJlc3RSZXNwb25zZSA9IEhlbHBlcnMuU2V0VXBSZXN0UmVzcG9uc2UoSHR0cFN0YXR1c0NvZGUuT0spOworCisgICAgICAgICAgICBfcmVxdWVzdAorICAgICAgICAgICAgICAgIC5FeGVjdXRlSnNvblJlcXVlc3QoQXJnLkFueTxzdHJpbmc+KCksIEFyZy5Bbnk8TWV0aG9kPigpLCBBcmcuQW55PG9iamVjdD4oKSkKKyAgICAgICAgICAgICAgICAuUmV0dXJucyhyZXN0UmVzcG9uc2UpOworCisgICAgICAgICAgICBfY29ubmVjdGlvbk1hbmFnZXIuQ3JlYXRlQ29ubmVjdGlvbihjb25uZWN0aW9uKTsKKworICAgICAgICAgICAgX3JlcXVlc3QKKyAgICAgICAgICAgICAgICAuUmVjZWl2ZWQoMSkKKyAgICAgICAgICAgICAgICAuRXhlY3V0ZUpzb25SZXF1ZXN0KAorICAgICAgICAgICAgICAgICAgICAiL3VzZXJzL3VzZXJOYW1lL2hhcy9kZXZpY2VzL2RldmljZU5hbWUiLAorICAgICAgICAgICAgICAgICAgICBNZXRob2QuUE9TVCk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgQ3JlYXRlQ29ubmVjdGlvblNob3VsZFRocm93VXNlcmdyaWRFeGNlcHRpb25XaGVuQmFkUmVzcG9uc2UoKSB7CisgICAgICAgICAgICB2YXIgY29ubmVjdGlvbiA9IG5ldyBDb25uZWN0aW9uKCk7CisgICAgICAgICAgICB2YXIgcmVzdFJlc3BvbnNlQ29udGVudCA9IG5ldyBVc2VyZ3JpZEVycm9yIHtEZXNjcmlwdGlvbiA9ICJFeGNlcHRpb24gbWVzc2FnZSIsIEVycm9yID0gImVycm9yIGNvZGUifTsKKyAgICAgICAgICAgIElSZXN0UmVzcG9uc2U8TG9naW5SZXNwb25zZT4gcmVzdFJlc3BvbnNlV2l0aEJhZFJlcXVlc3QgPSBIZWxwZXJzLlNldFVwUmVzdFJlc3BvbnNlV2l0aENvbnRlbnQ8TG9naW5SZXNwb25zZT4oSHR0cFN0YXR1c0NvZGUuQmFkUmVxdWVzdCwgcmVzdFJlc3BvbnNlQ29udGVudCk7CisKKyAgICAgICAgICAgIF9yZXF1ZXN0CisgICAgICAgICAgICAgICAgLkV4ZWN1dGVKc29uUmVxdWVzdChBcmcuQW55PHN0cmluZz4oKSwgQXJnLkFueTxNZXRob2Q+KCksIEFyZy5Bbnk8b2JqZWN0PigpKQorICAgICAgICAgICAgICAgIC5SZXR1cm5zKHJlc3RSZXNwb25zZVdpdGhCYWRSZXF1ZXN0KTsKKworICAgICAgICAgICAgdHJ5CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgX2Nvbm5lY3Rpb25NYW5hZ2VyLkNyZWF0ZUNvbm5lY3Rpb24oY29ubmVjdGlvbik7CisgICAgICAgICAgICAgICAgbmV3IEFzc2VydGlvbkV4Y2VwdGlvbigiVXNlckdyaWRFeGNlcHRpb24gd2FzIGV4cGVjdGVkIHRvIGJlIHRocm93biBoZXJlIik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjYXRjaCAoVXNlcmdyaWRFeGNlcHRpb24gZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoImVycm9yIGNvZGUiLCBlLkVycm9yQ29kZSk7CisgICAgICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKCJFeGNlcHRpb24gbWVzc2FnZSIsIGUuTWVzc2FnZSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgR2V0Q29ubmVjdGlvbnNSZXR1cm5zQ29ubmVjdGlvbnNBc0xpc3QoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgY29ubmVjdGlvbiA9IG5ldyBDb25uZWN0aW9uCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgQ29ubmVjdG9yQ29sbGVjdGlvbk5hbWUgPSAidXNlcnMiLAorICAgICAgICAgICAgICAgIENvbm5lY3RvcklkZW50aWZpZXIgPSAidXNlck5hbWUiLAorICAgICAgICAgICAgICAgIENvbm5lY3Rpb25OYW1lID0gImhhcyIKKyAgICAgICAgICAgIH07CisKKyAgICAgICAgICAgIHZhciBleHBlY3RlZEVudGl0aWVzID0gbmV3IExpc3Q8VXNlcmdyaWRFbnRpdHk+KCk7CisgICAgICAgICAgICB2YXIgcmVzcG9uc2VEYXRhID0gbmV3IFVzZXJncmlkR2V0UmVzcG9uc2U8VXNlcmdyaWRFbnRpdHk+KCkge0VudGl0aWVzID0gZXhwZWN0ZWRFbnRpdGllc307CisgICAgICAgICAgICBJUmVzdFJlc3BvbnNlIHJlc3RSZXNwb25zZSA9IEhlbHBlcnMuU2V0VXBSZXN0UmVzcG9uc2VXaXRoQ29udGVudDxVc2VyZ3JpZEdldFJlc3BvbnNlPFVzZXJncmlkRW50aXR5Pj4oSHR0cFN0YXR1c0NvZGUuT0ssIHJlc3BvbnNlRGF0YSk7CisKKyAgICAgICAgICAgIF9yZXF1ZXN0CisgICAgICAgICAgICAgICAgLkV4ZWN1dGVKc29uUmVxdWVzdChBcmcuQW55PHN0cmluZz4oKSwgQXJnLkFueTxNZXRob2Q+KCksIEFyZy5Bbnk8b2JqZWN0PigpKQorICAgICAgICAgICAgICAgIC5SZXR1cm5zKHJlc3RSZXNwb25zZSk7CisKKyAgICAgICAgICAgIHZhciByZXR1cm5lZEVudGl0aWVzID0gX2Nvbm5lY3Rpb25NYW5hZ2VyLkdldENvbm5lY3Rpb25zKGNvbm5lY3Rpb24pOworCisgICAgICAgICAgICBfcmVxdWVzdAorICAgICAgICAgICAgICAgIC5SZWNlaXZlZCgxKQorICAgICAgICAgICAgICAgIC5FeGVjdXRlSnNvblJlcXVlc3QoIi91c2Vycy91c2VyTmFtZS9oYXMiLE1ldGhvZC5HRVQpOworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKGV4cGVjdGVkRW50aXRpZXMsIHJldHVybmVkRW50aXRpZXMpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIEdldENvbm5lY3Rpb25zUmV0dXJuc051bGxXaGVuQ29ubmVjdGlvbklzTm90Rm91bmQoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgY29ubmVjdGlvbiA9IG5ldyBDb25uZWN0aW9uCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgQ29ubmVjdG9yQ29sbGVjdGlvbk5hbWUgPSAidXNlcnMiLAorICAgICAgICAgICAgICAgIENvbm5lY3RvcklkZW50aWZpZXIgPSAidXNlck5hbWUiLAorICAgICAgICAgICAgICAgIENvbm5lY3Rpb25OYW1lID0gImhhcyIKKyAgICAgICAgICAgIH07CisgICAgICAgICAgICBJUmVzdFJlc3BvbnNlIHJlc3RSZXNwb25zZSA9IEhlbHBlcnMuU2V0VXBSZXN0UmVzcG9uc2UoSHR0cFN0YXR1c0NvZGUuTm90Rm91bmQpOworCisgICAgICAgICAgICBfcmVxdWVzdAorICAgICAgICAgICAgICAgIC5FeGVjdXRlSnNvblJlcXVlc3QoQXJnLkFueTxzdHJpbmc+KCksIEFyZy5Bbnk8TWV0aG9kPigpLCBBcmcuQW55PG9iamVjdD4oKSkKKyAgICAgICAgICAgICAgICAuUmV0dXJucyhyZXN0UmVzcG9uc2UpOworCisgICAgICAgICAgICB2YXIgcmV0dXJuZWRFbnRpdGllcyA9IF9jb25uZWN0aW9uTWFuYWdlci5HZXRDb25uZWN0aW9ucyhjb25uZWN0aW9uKTsKKworICAgICAgICAgICAgX3JlcXVlc3QKKyAgICAgICAgICAgICAgICAuUmVjZWl2ZWQoMSkKKyAgICAgICAgICAgICAgICAuRXhlY3V0ZUpzb25SZXF1ZXN0KCIvdXNlcnMvdXNlck5hbWUvaGFzIixNZXRob2QuR0VUKTsKKworICAgICAgICAgICAgQXNzZXJ0LklzTnVsbChyZXR1cm5lZEVudGl0aWVzKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBHZXRDb25uZWN0aW9uc09mU3BlY2lmaWNUeXBlUmV0dXJuc0Nvbm5lY3Rpb25zQXNMaXN0T2ZDb25uZWN0ZWVUeXBlKCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIGNvbm5lY3Rpb24gPSBuZXcgQ29ubmVjdGlvbgorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIENvbm5lY3RvckNvbGxlY3Rpb25OYW1lID0gInVzZXJzIiwKKyAgICAgICAgICAgICAgICBDb25uZWN0b3JJZGVudGlmaWVyID0gInVzZXJOYW1lIiwKKyAgICAgICAgICAgICAgICBDb25uZWN0ZWVDb2xsZWN0aW9uTmFtZSA9ICJkZXZpY2VzIiwKKyAgICAgICAgICAgICAgICBDb25uZWN0aW9uTmFtZSA9ICJoYXMiCisgICAgICAgICAgICB9OworICAgICAgICAgICAgdmFyIGV4cGVjdGVkRW50aXRpZXMgPSBuZXcgTGlzdDxVc2VyZ3JpZERldmljZT4oKTsKKyAgICAgICAgICAgIHZhciByZXNwb25zZURhdGEgPSBuZXcgVXNlcmdyaWRHZXRSZXNwb25zZTxVc2VyZ3JpZERldmljZT4oKSB7IEVudGl0aWVzID0gZXhwZWN0ZWRFbnRpdGllcyB9OworICAgICAgICAgICAgSVJlc3RSZXNwb25zZSByZXN0UmVzcG9uc2UgPSBIZWxwZXJzLlNldFVwUmVzdFJlc3BvbnNlV2l0aENvbnRlbnQ8VXNlcmdyaWRHZXRSZXNwb25zZTxVc2VyZ3JpZERldmljZT4+KEh0dHBTdGF0dXNDb2RlLk9LLCByZXNwb25zZURhdGEpOworCisgICAgICAgICAgICBfcmVxdWVzdAorICAgICAgICAgICAgICAgIC5FeGVjdXRlSnNvblJlcXVlc3QoQXJnLkFueTxzdHJpbmc+KCksIEFyZy5Bbnk8TWV0aG9kPigpLCBBcmcuQW55PG9iamVjdD4oKSkKKyAgICAgICAgICAgICAgICAuUmV0dXJucyhyZXN0UmVzcG9uc2UpOworCisgICAgICAgICAgICB2YXIgcmV0dXJuZWRFbnRpdGllcyA9IF9jb25uZWN0aW9uTWFuYWdlci5HZXRDb25uZWN0aW9uczxVc2VyZ3JpZERldmljZT4oY29ubmVjdGlvbik7CisKKyAgICAgICAgICAgIF9yZXF1ZXN0CisgICAgICAgICAgICAgICAgLlJlY2VpdmVkKDEpCisgICAgICAgICAgICAgICAgLkV4ZWN1dGVKc29uUmVxdWVzdCgiL3VzZXJzL3VzZXJOYW1lL2hhcy9kZXZpY2VzIiwgTWV0aG9kLkdFVCk7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoZXhwZWN0ZWRFbnRpdGllcywgcmV0dXJuZWRFbnRpdGllcyk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgR2V0Q29ubmVjdGlvbnNPZlNwZWNpZmljVHlwZVJldHVybnNOdWxsV2hlbkNvbm5lY3Rpb25Jc05vdEZvdW5kKCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIGNvbm5lY3Rpb24gPSBuZXcgQ29ubmVjdGlvbgorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIENvbm5lY3RvckNvbGxlY3Rpb25OYW1lID0gInVzZXJzIiwKKyAgICAgICAgICAgICAgICBDb25uZWN0b3JJZGVudGlmaWVyID0gInVzZXJOYW1lIiwKKyAgICAgICAgICAgICAgICBDb25uZWN0ZWVDb2xsZWN0aW9uTmFtZSA9ICJkZXZpY2VzIiwKKyAgICAgICAgICAgICAgICBDb25uZWN0aW9uTmFtZSA9ICJoYXMiCisgICAgICAgICAgICB9OworICAgICAgICAgICAgSVJlc3RSZXNwb25zZSByZXN0UmVzcG9uc2UgPSBIZWxwZXJzLlNldFVwUmVzdFJlc3BvbnNlKEh0dHBTdGF0dXNDb2RlLk5vdEZvdW5kKTsKKworICAgICAgICAgICAgX3JlcXVlc3QKKyAgICAgICAgICAgICAgICAuRXhlY3V0ZUpzb25SZXF1ZXN0KEFyZy5Bbnk8c3RyaW5nPigpLCBBcmcuQW55PE1ldGhvZD4oKSwgQXJnLkFueTxvYmplY3Q+KCkpCisgICAgICAgICAgICAgICAgLlJldHVybnMocmVzdFJlc3BvbnNlKTsKKworICAgICAgICAgICAgdmFyIHJldHVybmVkRW50aXRpZXMgPSBfY29ubmVjdGlvbk1hbmFnZXIuR2V0Q29ubmVjdGlvbnM8VXNlcmdyaWREZXZpY2U+KGNvbm5lY3Rpb24pOworCisgICAgICAgICAgICBfcmVxdWVzdAorICAgICAgICAgICAgICAgIC5SZWNlaXZlZCgxKQorICAgICAgICAgICAgICAgIC5FeGVjdXRlSnNvblJlcXVlc3QoIi91c2Vycy91c2VyTmFtZS9oYXMvZGV2aWNlcyIsTWV0aG9kLkdFVCk7CisKKyAgICAgICAgICAgIEFzc2VydC5Jc051bGwocmV0dXJuZWRFbnRpdGllcyk7CisgICAgICAgIH0KKworCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBEZWxldGVDb25uZWN0aW9uU2hvdWxkRGVsZXRlVG9Db3JyZWN0RW5kcG9pbnQoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgY29ubmVjdGlvbiA9IG5ldyBDb25uZWN0aW9uCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgQ29ubmVjdG9yQ29sbGVjdGlvbk5hbWUgPSAidXNlcnMiLAorICAgICAgICAgICAgICAgIENvbm5lY3RvcklkZW50aWZpZXIgPSAidXNlck5hbWUiLAorICAgICAgICAgICAgICAgIENvbm5lY3RlZUNvbGxlY3Rpb25OYW1lID0gImRldmljZXMiLAorICAgICAgICAgICAgICAgIENvbm5lY3RlZUlkZW50aWZpZXIgPSAiZGV2aWNlTmFtZSIsCisgICAgICAgICAgICAgICAgQ29ubmVjdGlvbk5hbWUgPSAiaGFzIgorICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIElSZXN0UmVzcG9uc2UgcmVzdFJlc3BvbnNlID0gSGVscGVycy5TZXRVcFJlc3RSZXNwb25zZShIdHRwU3RhdHVzQ29kZS5PSyk7CisKKyAgICAgICAgICAgIF9yZXF1ZXN0CisgICAgICAgICAgICAgICAgLkV4ZWN1dGVKc29uUmVxdWVzdChBcmcuQW55PHN0cmluZz4oKSwgQXJnLkFueTxNZXRob2Q+KCksIEFyZy5Bbnk8b2JqZWN0PigpKQorICAgICAgICAgICAgICAgIC5SZXR1cm5zKHJlc3RSZXNwb25zZSk7CisKKyAgICAgICAgICAgIF9jb25uZWN0aW9uTWFuYWdlci5EZWxldGVDb25uZWN0aW9uKGNvbm5lY3Rpb24pOworCisgICAgICAgICAgICBfcmVxdWVzdAorICAgICAgICAgICAgICAgIC5SZWNlaXZlZCgxKQorICAgICAgICAgICAgICAgIC5FeGVjdXRlSnNvblJlcXVlc3QoCisgICAgICAgICAgICAgICAgICAgICIvdXNlcnMvdXNlck5hbWUvaGFzL2RldmljZXMvZGV2aWNlTmFtZSIsCisgICAgICAgICAgICAgICAgICAgIE1ldGhvZC5ERUxFVEUpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIERlbGV0ZUNvbm5lY3Rpb25TaG91bGRUaHJvd1VzZXJncmlkRXhjZXB0aW9uV2hlbkJhZFJlc3BvbnNlKCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIGNvbm5lY3Rpb24gPSBuZXcgQ29ubmVjdGlvbigpOworICAgICAgICAgICAgdmFyIHJlc3RSZXNwb25zZUNvbnRlbnQgPSBuZXcgVXNlcmdyaWRFcnJvciB7IERlc2NyaXB0aW9uID0gIkV4Y2VwdGlvbiBtZXNzYWdlIiwgRXJyb3IgPSAiZXJyb3IgY29kZSIgfTsKKyAgICAgICAgICAgIElSZXN0UmVzcG9uc2U8TG9naW5SZXNwb25zZT4gcmVzdFJlc3BvbnNlV2l0aEJhZFJlcXVlc3QgPSBIZWxwZXJzLlNldFVwUmVzdFJlc3BvbnNlV2l0aENvbnRlbnQ8TG9naW5SZXNwb25zZT4oSHR0cFN0YXR1c0NvZGUuQmFkUmVxdWVzdCwgcmVzdFJlc3BvbnNlQ29udGVudCk7CisKKyAgICAgICAgICAgIF9yZXF1ZXN0CisgICAgICAgICAgICAgICAgLkV4ZWN1dGVKc29uUmVxdWVzdChBcmcuQW55PHN0cmluZz4oKSwgQXJnLkFueTxNZXRob2Q+KCksIEFyZy5Bbnk8b2JqZWN0PigpKQorICAgICAgICAgICAgICAgIC5SZXR1cm5zKHJlc3RSZXNwb25zZVdpdGhCYWRSZXF1ZXN0KTsKKworICAgICAgICAgICAgdHJ5CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgX2Nvbm5lY3Rpb25NYW5hZ2VyLkRlbGV0ZUNvbm5lY3Rpb24oY29ubmVjdGlvbik7CisgICAgICAgICAgICAgICAgbmV3IEFzc2VydGlvbkV4Y2VwdGlvbigiVXNlckdyaWRFeGNlcHRpb24gd2FzIGV4cGVjdGVkIHRvIGJlIHRocm93biBoZXJlIik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjYXRjaCAoVXNlcmdyaWRFeGNlcHRpb24gZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoImVycm9yIGNvZGUiLCBlLkVycm9yQ29kZSk7CisgICAgICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKCJFeGNlcHRpb24gbWVzc2FnZSIsIGUuTWVzc2FnZSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay5UZXN0cy9FbnRpdHlNYW5hZ2VyVGVzdHMuY3MgYi9Vc2VyZ3JpZC5TZGsuVGVzdHMvRW50aXR5TWFuYWdlclRlc3RzLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkMzQ1NmIKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsuVGVzdHMvRW50aXR5TWFuYWdlclRlc3RzLmNzCkBAIC0wLDAgKzEsNDQwIEBACivvu78vLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworCit1c2luZyBTeXN0ZW07Cit1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKK3VzaW5nIFN5c3RlbS5OZXQ7Cit1c2luZyBOU3Vic3RpdHV0ZTsKK3VzaW5nIE5Vbml0LkZyYW1ld29yazsKK3VzaW5nIFJlc3RTaGFycDsKK3VzaW5nIFVzZXJncmlkLlNkay5NYW5hZ2VyOwordXNpbmcgVXNlcmdyaWQuU2RrLk1vZGVsOwordXNpbmcgVXNlcmdyaWQuU2RrLlBheWxvYWQ7CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuVGVzdHMKK3sKKyAgICBbVGVzdEZpeHR1cmVdCisgICAgcHVibGljIGNsYXNzIEVudGl0eU1hbmFnZXJUZXN0cworICAgIHsKKworICAgICAgICBbU2V0VXBdCisgICAgICAgIHB1YmxpYyB2b2lkIFNldHVwKCkKKyAgICAgICAgeworICAgICAgICAgICAgX3JlcXVlc3QgPSBTdWJzdGl0dXRlLkZvcjxJVXNlcmdyaWRSZXF1ZXN0PigpOworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIgPSBuZXcgRW50aXR5TWFuYWdlcihfcmVxdWVzdCk7CisgICAgICAgIH0KKworICAgICAgICBwcml2YXRlIElVc2VyZ3JpZFJlcXVlc3QgX3JlcXVlc3Q7CisgICAgICAgIHByaXZhdGUgRW50aXR5TWFuYWdlciBfZW50aXR5TWFuYWdlcjsKKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgQ3JlYXRlRW50aXR5U2hvdWxkUG9zdFRvQ29ycmVjdEVuZFBvaW50KCkKKyAgICAgICAgeworICAgICAgICAgICAgY29uc3Qgc3RyaW5nIGNvbGxlY3Rpb25OYW1lID0gImNvbGxlY3Rpb24iOworICAgICAgICAgICAgdmFyIGVudGl0eVRvUG9zdCA9IG5ldyBGcmllbmQge05hbWUgPSAibmFtZTEiLCBBZ2UgPSAxfTsKKyAgICAgICAgICAgIHZhciByZXN0UmVzcG9uc2VDb250ZW50ID0gbmV3IFVzZXJncmlkR2V0UmVzcG9uc2U8RnJpZW5kPiB7RW50aXRpZXMgPSBuZXcgTGlzdDxGcmllbmQ+IHtlbnRpdHlUb1Bvc3R9LCBDdXJzb3IgPSAiY3Vyc29yIn07CisgICAgICAgICAgICBJUmVzdFJlc3BvbnNlPFVzZXJncmlkR2V0UmVzcG9uc2U8RnJpZW5kPj4gcmVzdFJlc3BvbnNlID0gSGVscGVycy5TZXRVcFJlc3RSZXNwb25zZVdpdGhDb250ZW50PFVzZXJncmlkR2V0UmVzcG9uc2U8RnJpZW5kPj4oSHR0cFN0YXR1c0NvZGUuT0ssIHJlc3RSZXNwb25zZUNvbnRlbnQpOworICAgICAgICAgICAgX3JlcXVlc3QKKyAgICAgICAgICAgICAgICAuRXhlY3V0ZUpzb25SZXF1ZXN0KEFyZy5Bbnk8c3RyaW5nPigpLCBBcmcuQW55PE1ldGhvZD4oKSwgQXJnLkFueTxvYmplY3Q+KCkpCisgICAgICAgICAgICAgICAgLlJldHVybnMocmVzdFJlc3BvbnNlKTsKKworICAgICAgICAgICAgRnJpZW5kIHJldHVybmVkRW50aXR5ID0gX2VudGl0eU1hbmFnZXIuQ3JlYXRlRW50aXR5KGNvbGxlY3Rpb25OYW1lLCBlbnRpdHlUb1Bvc3QpOworCisgICAgICAgICAgICBfcmVxdWVzdC5SZWNlaXZlZCgxKS5FeGVjdXRlSnNvblJlcXVlc3QoCisgICAgICAgICAgICAgICAgQXJnLklzKHN0cmluZy5Gb3JtYXQoIi97MH0iLCBjb2xsZWN0aW9uTmFtZSkpLAorICAgICAgICAgICAgICAgIEFyZy5JcyhNZXRob2QuUE9TVCksCisgICAgICAgICAgICAgICAgQXJnLklzKGVudGl0eVRvUG9zdCkpOworCisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoZW50aXR5VG9Qb3N0LkFnZSwgcmV0dXJuZWRFbnRpdHkuQWdlKTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbChlbnRpdHlUb1Bvc3QuTmFtZSwgcmV0dXJuZWRFbnRpdHkuTmFtZSk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgQ3JlYXRlRW50aXR5U2hvdWxkVHJhbnNsYXRlVG9Vc2VyR3JpZEVycm9yQW5kVGhyb3dXaGVuU2VydmljZVJldHVybnNCYWRSZXF1ZXN0KCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIHJlc3RSZXNwb25zZUNvbnRlbnQgPSBuZXcgVXNlcmdyaWRFcnJvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uID0gIlN1YmplY3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciA9ICJ1bmF1dGhvcml6ZWQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9OworICAgICAgICAgICAgY29uc3Qgc3RyaW5nIGNvbGxlY3Rpb25OYW1lID0gImNvbGxlY3Rpb24iOworICAgICAgICAgICAgSVJlc3RSZXNwb25zZTxVc2VyZ3JpZEVycm9yPiByZXN0UmVzcG9uc2UgPSBIZWxwZXJzLlNldFVwUmVzdFJlc3BvbnNlV2l0aENvbnRlbnQ8VXNlcmdyaWRFcnJvcj4oSHR0cFN0YXR1c0NvZGUuQmFkUmVxdWVzdCwgcmVzdFJlc3BvbnNlQ29udGVudCk7CisKKyAgICAgICAgICAgIF9yZXF1ZXN0CisgICAgICAgICAgICAgICAgLkV4ZWN1dGVKc29uUmVxdWVzdChBcmcuQW55PHN0cmluZz4oKSwgQXJnLkFueTxNZXRob2Q+KCksIEFyZy5Bbnk8b2JqZWN0PigpKQorICAgICAgICAgICAgICAgIC5SZXR1cm5zKHJlc3RSZXNwb25zZSk7CisKKyAgICAgICAgICAgIHRyeQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIF9lbnRpdHlNYW5hZ2VyLkNyZWF0ZUVudGl0eShjb2xsZWN0aW9uTmFtZSwgbmV3IG9iamVjdCgpKTsKKyAgICAgICAgICAgICAgICBuZXcgQXNzZXJ0aW9uRXhjZXB0aW9uKCJVc2VyR3JpZEV4Y2VwdGlvbiB3YXMgZXhwZWN0ZWQgdG8gYmUgdGhyb3duIGhlcmUiKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNhdGNoIChVc2VyZ3JpZEV4Y2VwdGlvbiBlKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCgidW5hdXRob3JpemVkIiwgZS5FcnJvckNvZGUpOworICAgICAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCgiU3ViamVjdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24iLCBlLk1lc3NhZ2UpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgRGVsZXRlRW50aXR5U2hvdWxkU2VuZERlbGV0ZVRvQ29ycmVjdEVuZFBvaW50KCkKKyAgICAgICAgeworICAgICAgICAgICAgY29uc3Qgc3RyaW5nIGNvbGxlY3Rpb24gPSAiY29sbGVjdGlvbiI7CisgICAgICAgICAgICBjb25zdCBzdHJpbmcgaWRlbnRpZmllciA9ICJpZGVudGlmaWVyIjsKKworICAgICAgICAgICAgSVJlc3RSZXNwb25zZSByZXN0UmVzcG9uc2UgPSBIZWxwZXJzLlNldFVwUmVzdFJlc3BvbnNlKEh0dHBTdGF0dXNDb2RlLk9LKTsKKworICAgICAgICAgICAgX3JlcXVlc3QKKyAgICAgICAgICAgICAgICAuRXhlY3V0ZUpzb25SZXF1ZXN0KEFyZy5Bbnk8c3RyaW5nPigpLCBBcmcuQW55PE1ldGhvZD4oKSwgQXJnLkFueTxvYmplY3Q+KCkpCisgICAgICAgICAgICAgICAgLlJldHVybnMocmVzdFJlc3BvbnNlKTsKKworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIuRGVsZXRlRW50aXR5KGNvbGxlY3Rpb24sIGlkZW50aWZpZXIpOworCisgICAgICAgICAgICBfcmVxdWVzdC5SZWNlaXZlZCgxKS5FeGVjdXRlSnNvblJlcXVlc3QoCisgICAgICAgICAgICAgICAgQXJnLklzKHN0cmluZy5Gb3JtYXQoIi97MH0vezF9IiwgY29sbGVjdGlvbiwgaWRlbnRpZmllcikpLAorICAgICAgICAgICAgICAgIEFyZy5JcyhNZXRob2QuREVMRVRFKSwKKyAgICAgICAgICAgICAgICBBcmcuQW55PG9iamVjdD4oKSk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgRGVsZXRlRW50aXR5U2hvdWxkVHJhbnNsYXRlVG9Vc2VyR3JpZEVycm9yQW5kVGhyb3dXaGVuU2VydmljZVJldHVybnNOb3RGb3VuZCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciByZXN0UmVzcG9uc2VDb250ZW50ID0gbmV3IFVzZXJncmlkRXJyb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbiA9ICJTZXJ2aWNlIHJlc291cmNlIG5vdCBmb3VuZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgPSAic2VydmljZV9yZXNvdXJjZV9ub3RfZm91bmQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9OworICAgICAgICAgICAgY29uc3Qgc3RyaW5nIGNvbGxlY3Rpb24gPSAiY29sbGVjdGlvbiI7CisgICAgICAgICAgICBjb25zdCBzdHJpbmcgaWRlbnRpZmllciA9ICJpZGVudGlmaWVyIjsKKworICAgICAgICAgICAgSVJlc3RSZXNwb25zZTxVc2VyZ3JpZEVycm9yPiByZXN0UmVzcG9uc2UgPSBIZWxwZXJzLlNldFVwUmVzdFJlc3BvbnNlV2l0aENvbnRlbnQ8VXNlcmdyaWRFcnJvcj4oSHR0cFN0YXR1c0NvZGUuTm90Rm91bmQsIHJlc3RSZXNwb25zZUNvbnRlbnQpOworCisgICAgICAgICAgICBfcmVxdWVzdAorICAgICAgICAgICAgICAgIC5FeGVjdXRlSnNvblJlcXVlc3QoQXJnLkFueTxzdHJpbmc+KCksIEFyZy5Bbnk8TWV0aG9kPigpLCBBcmcuQW55PG9iamVjdD4oKSkKKyAgICAgICAgICAgICAgICAuUmV0dXJucyhyZXN0UmVzcG9uc2UpOworCisgICAgICAgICAgICB0cnkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBfZW50aXR5TWFuYWdlci5EZWxldGVFbnRpdHkoY29sbGVjdGlvbiwgaWRlbnRpZmllcik7CisgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEFzc2VydGlvbkV4Y2VwdGlvbigiVXNlckdyaWRFeGNlcHRpb24gd2FzIGV4cGVjdGVkIHRvIGJlIHRocm93biBoZXJlIik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjYXRjaCAoVXNlcmdyaWRFeGNlcHRpb24gZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoInNlcnZpY2VfcmVzb3VyY2Vfbm90X2ZvdW5kIiwgZS5FcnJvckNvZGUpOworICAgICAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCgiU2VydmljZSByZXNvdXJjZSBub3QgZm91bmQiLCBlLk1lc3NhZ2UpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIEdldEVudGl0eVNob3VsZEdldFRvQ29ycmVjdEVuZFBvaW50KCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIHJlc3RSZXNwb25zZUNvbnRlbnQgPSBuZXcgVXNlcmdyaWRHZXRSZXNwb25zZTxGcmllbmQ+IHtFbnRpdGllcyA9IG5ldyBMaXN0PEZyaWVuZD4oKSwgQ3Vyc29yID0gIiJ9OworICAgICAgICAgICAgSVJlc3RSZXNwb25zZTxVc2VyZ3JpZEdldFJlc3BvbnNlPEZyaWVuZD4+IHJlc3RSZXNwb25zZSA9IEhlbHBlcnMuU2V0VXBSZXN0UmVzcG9uc2VXaXRoQ29udGVudDxVc2VyZ3JpZEdldFJlc3BvbnNlPEZyaWVuZD4+KEh0dHBTdGF0dXNDb2RlLk9LLCByZXN0UmVzcG9uc2VDb250ZW50KTsKKworICAgICAgICAgICAgX3JlcXVlc3QKKyAgICAgICAgICAgICAgICAuRXhlY3V0ZUpzb25SZXF1ZXN0KEFyZy5Bbnk8c3RyaW5nPigpLCBBcmcuQW55PE1ldGhvZD4oKSwgQXJnLkFueTxvYmplY3Q+KCkpCisgICAgICAgICAgICAgICAgLlJldHVybnMocmVzdFJlc3BvbnNlKTsKKworICAgICAgICAgICAgY29uc3Qgc3RyaW5nIGNvbGxlY3Rpb25OYW1lID0gImNvbGxlY3Rpb24iOworICAgICAgICAgICAgY29uc3Qgc3RyaW5nIGlkZW50aWZlciA9ICJpZGVudGlmaWVyIjsKKworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIuR2V0RW50aXR5PEZyaWVuZD4oY29sbGVjdGlvbk5hbWUsIGlkZW50aWZlcik7CisKKyAgICAgICAgICAgIF9yZXF1ZXN0LlJlY2VpdmVkKDEpLkV4ZWN1dGVKc29uUmVxdWVzdCgKKyAgICAgICAgICAgICAgICBBcmcuSXMoc3RyaW5nLkZvcm1hdCgiL3swfS97MX0iLCBjb2xsZWN0aW9uTmFtZSwgaWRlbnRpZmVyKSksCisgICAgICAgICAgICAgICAgQXJnLklzKE1ldGhvZC5HRVQpLAorICAgICAgICAgICAgICAgIEFyZy5Bbnk8b2JqZWN0PigpKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBHZXRFbnRpdHlTaG91bGRSZXR1cm5FbnRpdHlDb3JyZWN0bHkoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgZnJpZW5kID0gbmV3IEZyaWVuZCB7TmFtZSA9ICJuYW1lIiwgQWdlID0gMX07CisKKyAgICAgICAgICAgIGNvbnN0IHN0cmluZyByZXN0UmVzcG9uc2VDb250ZW50ID0gIntcImVudGl0aWVzXCI6IFsiICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInsiICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlwidXVpZFwiOiBcImJjYjM0M2JhLWQ2ZDEtMTFlMi1hMjk1LTdiNGI0NTA4MWQzYlwiLCIgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXCJ0eXBlXCI6IFwiZnJpZW5kXCIsIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcIm5hbWVcIjogXCJuYW1lXCIsIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcImFnZVwiOiAxLCIgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXCJjcmVhdGVkXCI6IDEzNzE0MjA3MDc2OTEsIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcIm1vZGlmaWVkXCI6IDEzNzE0MjA3MDc2OTEsIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcIm1ldGFkYXRhXCI6IHsiICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgXCJwYXRoXCI6IFwiL2ZyaWVuZHMvYmNiMzQzYmEtZDZkMS0xMWUyLWEyOTUtN2I0YjQ1MDgxZDNiXCIiICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIn0sIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ9IiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJdfSI7CisgICAgICAgICAgICBJUmVzdFJlc3BvbnNlPFVzZXJncmlkR2V0UmVzcG9uc2U8RnJpZW5kPj4gcmVzdFJlc3BvbnNlID0gSGVscGVycy5TZXRVcFJlc3RSZXNwb25zZVdpdGhDb250ZW50PFVzZXJncmlkR2V0UmVzcG9uc2U8RnJpZW5kPj4oSHR0cFN0YXR1c0NvZGUuT0ssIHJlc3RSZXNwb25zZUNvbnRlbnQpOworCisgICAgICAgICAgICBfcmVxdWVzdAorICAgICAgICAgICAgICAgIC5FeGVjdXRlSnNvblJlcXVlc3QoQXJnLkFueTxzdHJpbmc+KCksIEFyZy5Bbnk8TWV0aG9kPigpLCBBcmcuQW55PG9iamVjdD4oKSkKKyAgICAgICAgICAgICAgICAuUmV0dXJucyhyZXN0UmVzcG9uc2UpOworCisgICAgICAgICAgICBjb25zdCBzdHJpbmcgY29sbGVjdGlvbk5hbWUgPSAiY29sbGVjdGlvbiI7CisgICAgICAgICAgICBjb25zdCBzdHJpbmcgaWRlbnRpZmllciA9ICJpZGVudGlmaWVyIjsKKworICAgICAgICAgICAgRnJpZW5kIHJldHVybmVkRnJpZW5kID0gX2VudGl0eU1hbmFnZXIuR2V0RW50aXR5PEZyaWVuZD4oY29sbGVjdGlvbk5hbWUsIGlkZW50aWZpZXIpOworCisgICAgICAgICAgICBBc3NlcnQuSXNOb3ROdWxsKHJldHVybmVkRnJpZW5kKTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbChmcmllbmQuTmFtZSwgcmV0dXJuZWRGcmllbmQuTmFtZSk7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoZnJpZW5kLkFnZSwgcmV0dXJuZWRGcmllbmQuQWdlKTsKKyAgICAgICAgfQorCisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIEdldEVudGl0eVNob3VsZFJldHVybkZpcnN0RW50aXR5SW5MaXN0Q29ycmVjdGx5KCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIGZyaWVuZDEgPSBuZXcgRnJpZW5kIHtOYW1lID0gIm5hbWUxIiwgQWdlID0gMX07CisgICAgICAgICAgICB2YXIgZnJpZW5kMiA9IG5ldyBGcmllbmQge05hbWUgPSAibmFtZTIiLCBBZ2UgPSAyfTsKKworICAgICAgICAgICAgdmFyIGVudGl0aWVzID0gbmV3IExpc3Q8RnJpZW5kPiB7ZnJpZW5kMSwgZnJpZW5kMn07CisgICAgICAgICAgICB2YXIgcmVzdFJlc3BvbnNlQ29udGVudCA9IG5ldyBVc2VyZ3JpZEdldFJlc3BvbnNlPEZyaWVuZD4ge0VudGl0aWVzID0gZW50aXRpZXMsIEN1cnNvciA9ICJjdXJzb3IifTsKKyAgICAgICAgICAgIElSZXN0UmVzcG9uc2U8VXNlcmdyaWRHZXRSZXNwb25zZTxGcmllbmQ+PiByZXN0UmVzcG9uc2UgPSBIZWxwZXJzLlNldFVwUmVzdFJlc3BvbnNlV2l0aENvbnRlbnQ8VXNlcmdyaWRHZXRSZXNwb25zZTxGcmllbmQ+PihIdHRwU3RhdHVzQ29kZS5PSywgcmVzdFJlc3BvbnNlQ29udGVudCk7CisKKyAgICAgICAgICAgIF9yZXF1ZXN0CisgICAgICAgICAgICAgICAgLkV4ZWN1dGVKc29uUmVxdWVzdChBcmcuQW55PHN0cmluZz4oKSwgQXJnLkFueTxNZXRob2Q+KCksIEFyZy5Bbnk8b2JqZWN0PigpKQorICAgICAgICAgICAgICAgIC5SZXR1cm5zKHJlc3RSZXNwb25zZSk7CisKKyAgICAgICAgICAgIGNvbnN0IHN0cmluZyBjb2xsZWN0aW9uTmFtZSA9ICJjb2xsZWN0aW9uIjsKKyAgICAgICAgICAgIGNvbnN0IHN0cmluZyBpZGVudGlmaWVyID0gImlkZW50aWZpZXIiOworCisgICAgICAgICAgICBGcmllbmQgcmV0dXJuZWRGcmllbmQgPSBfZW50aXR5TWFuYWdlci5HZXRFbnRpdHk8RnJpZW5kPihjb2xsZWN0aW9uTmFtZSwgaWRlbnRpZmllcik7CisKKyAgICAgICAgICAgIEFzc2VydC5Jc05vdE51bGwocmV0dXJuZWRGcmllbmQpOworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKGZyaWVuZDEuTmFtZSwgcmV0dXJuZWRGcmllbmQuTmFtZSk7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoZnJpZW5kMS5BZ2UsIHJldHVybmVkRnJpZW5kLkFnZSk7CisgICAgICAgIH0KKworCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBVcGRhdGVFbnRpdHlTaG91bGRQdXRUb0NvcnJlY3RFbmRQb2ludCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNvbnN0IHN0cmluZyBjb2xsZWN0aW9uTmFtZSA9ICJjb2xsZWN0aW9uIjsKKyAgICAgICAgICAgIGNvbnN0IHN0cmluZyBpZGVudGlmaWVyID0gImlkZW50aWZpZXIiOworICAgICAgICAgICAgdmFyIGVudGl0eVRvUG9zdCA9IG5ldyB7Rmlyc3ROYW1lID0gImZpcnN0IiwgTGFzdE5hbWUgPSAibGFzdCJ9OworCisgICAgICAgICAgICBJUmVzdFJlc3BvbnNlIHJlc3RSZXNwb25zZSA9IEhlbHBlcnMuU2V0VXBSZXN0UmVzcG9uc2UoSHR0cFN0YXR1c0NvZGUuT0spOworCisgICAgICAgICAgICBfcmVxdWVzdAorICAgICAgICAgICAgICAgIC5FeGVjdXRlSnNvblJlcXVlc3QoQXJnLkFueTxzdHJpbmc+KCksIEFyZy5Bbnk8TWV0aG9kPigpLCBBcmcuQW55PG9iamVjdD4oKSkKKyAgICAgICAgICAgICAgICAuUmV0dXJucyhyZXN0UmVzcG9uc2UpOworCisgICAgICAgICAgICBfZW50aXR5TWFuYWdlci5VcGRhdGVFbnRpdHkoY29sbGVjdGlvbk5hbWUsIGlkZW50aWZpZXIsIGVudGl0eVRvUG9zdCk7CisKKyAgICAgICAgICAgIF9yZXF1ZXN0LlJlY2VpdmVkKDEpLkV4ZWN1dGVKc29uUmVxdWVzdCgKKyAgICAgICAgICAgICAgICBBcmcuSXMoc3RyaW5nLkZvcm1hdCgiL3swfS97MX0iLCBjb2xsZWN0aW9uTmFtZSwgaWRlbnRpZmllcikpLAorICAgICAgICAgICAgICAgIEFyZy5JcyhNZXRob2QuUFVUKSwKKyAgICAgICAgICAgICAgICBBcmcuSXMoZW50aXR5VG9Qb3N0KSk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgVXBkYXRlRW50aXR5U2hvdWxkVHJhbnNsYXRlVG9Vc2VyR3JpZEVycm9yQW5kVGhyb3dXaGVuU2VydmljZVJldHVybnNOb3RGb3VuZCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciByZXN0UmVzcG9uc2VDb250ZW50ID0gbmV3IFVzZXJncmlkRXJyb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbiA9ICJTZXJ2aWNlIHJlc291cmNlIG5vdCBmb3VuZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgPSAic2VydmljZV9yZXNvdXJjZV9ub3RfZm91bmQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9OworCisgICAgICAgICAgICBjb25zdCBzdHJpbmcgY29sbGVjdGlvbk5hbWUgPSAiY29sbGVjdGlvbiI7CisgICAgICAgICAgICBjb25zdCBzdHJpbmcgaWRlbnRpZmllciA9ICJpZGVudGlmaWVyIjsKKyAgICAgICAgICAgIHZhciBlbnRpdHlUb1Bvc3QgPSBuZXcge0ZpcnN0TmFtZSA9ICJmaXJzdCIsIExhc3ROYW1lID0gImxhc3QifTsKKworICAgICAgICAgICAgSVJlc3RSZXNwb25zZTxVc2VyZ3JpZEVycm9yPiByZXN0UmVzcG9uc2UgPSBIZWxwZXJzLlNldFVwUmVzdFJlc3BvbnNlV2l0aENvbnRlbnQ8VXNlcmdyaWRFcnJvcj4oSHR0cFN0YXR1c0NvZGUuTm90Rm91bmQsIHJlc3RSZXNwb25zZUNvbnRlbnQpOworCisgICAgICAgICAgICBfcmVxdWVzdAorICAgICAgICAgICAgICAgIC5FeGVjdXRlSnNvblJlcXVlc3QoQXJnLkFueTxzdHJpbmc+KCksIEFyZy5Bbnk8TWV0aG9kPigpLCBBcmcuQW55PG9iamVjdD4oKSkKKyAgICAgICAgICAgICAgICAuUmV0dXJucyhyZXN0UmVzcG9uc2UpOworCisgICAgICAgICAgICB0cnkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBfZW50aXR5TWFuYWdlci5VcGRhdGVFbnRpdHkoY29sbGVjdGlvbk5hbWUsIGlkZW50aWZpZXIsIGVudGl0eVRvUG9zdCk7CisgICAgICAgICAgICAgICAgbmV3IEFzc2VydGlvbkV4Y2VwdGlvbigiVXNlckdyaWRFeGNlcHRpb24gd2FzIGV4cGVjdGVkIHRvIGJlIHRocm93biBoZXJlIik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjYXRjaCAoVXNlcmdyaWRFeGNlcHRpb24gZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoInNlcnZpY2VfcmVzb3VyY2Vfbm90X2ZvdW5kIiwgZS5FcnJvckNvZGUpOworICAgICAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCgiU2VydmljZSByZXNvdXJjZSBub3QgZm91bmQiLCBlLk1lc3NhZ2UpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIEdldEVudGl0aWVzU2hvdWxkR2V0VG9Db3JyZWN0RW5kUG9pbnRXaXRoRGVmYXVsdExpbWl0QW5kUXVlcnkoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgcmVzdFJlc3BvbnNlQ29udGVudCA9IG5ldyBVc2VyZ3JpZEdldFJlc3BvbnNlPEZyaWVuZD4geyBFbnRpdGllcyA9IG5ldyBMaXN0PEZyaWVuZD4oKSwgQ3Vyc29yID0gIiIgfTsKKyAgICAgICAgICAgIHZhciByZXN0UmVzcG9uc2UgPSBIZWxwZXJzLlNldFVwUmVzdFJlc3BvbnNlV2l0aENvbnRlbnQ8VXNlcmdyaWRHZXRSZXNwb25zZTxGcmllbmQ+PihIdHRwU3RhdHVzQ29kZS5PSywgcmVzdFJlc3BvbnNlQ29udGVudCk7CisKKyAgICAgICAgICAgIF9yZXF1ZXN0CisgICAgICAgICAgICAgICAgLkV4ZWN1dGVKc29uUmVxdWVzdChBcmcuQW55PHN0cmluZz4oKSwgQXJnLkFueTxNZXRob2Q+KCksIEFyZy5Bbnk8b2JqZWN0PigpKQorICAgICAgICAgICAgICAgIC5SZXR1cm5zKHJlc3RSZXNwb25zZSk7CisKKyAgICAgICAgICAgIGNvbnN0IHN0cmluZyBjb2xsZWN0aW9uTmFtZSA9ICJjb2xsZWN0aW9uIjsKKworICAgICAgICAgICAgX2VudGl0eU1hbmFnZXIuR2V0RW50aXRpZXM8RnJpZW5kPihjb2xsZWN0aW9uTmFtZSk7CisKKyAgICAgICAgICAgIF9yZXF1ZXN0LlJlY2VpdmVkKDEpLkV4ZWN1dGVKc29uUmVxdWVzdCgKKyAgICAgICAgICAgICAgICBBcmcuSXMoc3RyaW5nLkZvcm1hdCgiL3swfT9saW1pdD0xMCIsIGNvbGxlY3Rpb25OYW1lKSksCisgICAgICAgICAgICAgICAgQXJnLklzKE1ldGhvZC5HRVQpLAorICAgICAgICAgICAgICAgIEFyZy5JczxvYmplY3Q+KHg9PiB4ID09IG51bGwpKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBHZXRFbnRpdGllc1Nob3VsZFJldHVybkxpc3RDb3JyZWN0bHkoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgZnJpZW5kMSA9IG5ldyBGcmllbmQgeyBOYW1lID0gIm5hbWUxIiwgQWdlID0gMSB9OworICAgICAgICAgICAgdmFyIGZyaWVuZDIgPSBuZXcgRnJpZW5kIHsgTmFtZSA9ICJuYW1lMiIsIEFnZSA9IDIgfTsKKyAgICAgICAgICAgIHZhciBlbnRpdGllcyA9IG5ldyBMaXN0PEZyaWVuZD4geyBmcmllbmQxLCBmcmllbmQyIH07CisgICAgICAgICAgICB2YXIgcmVzdFJlc3BvbnNlQ29udGVudCA9IG5ldyBVc2VyZ3JpZEdldFJlc3BvbnNlPEZyaWVuZD4geyBFbnRpdGllcyA9IGVudGl0aWVzLCBDdXJzb3IgPSAiY3Vyc29yIiB9OworICAgICAgICAgICAgdmFyIHJlc3RSZXNwb25zZSA9IEhlbHBlcnMuU2V0VXBSZXN0UmVzcG9uc2VXaXRoQ29udGVudDxVc2VyZ3JpZEdldFJlc3BvbnNlPEZyaWVuZD4+KEh0dHBTdGF0dXNDb2RlLk9LLCByZXN0UmVzcG9uc2VDb250ZW50KTsKKworICAgICAgICAgICAgX3JlcXVlc3QKKyAgICAgICAgICAgICAgICAuRXhlY3V0ZUpzb25SZXF1ZXN0KEFyZy5Bbnk8c3RyaW5nPigpLCBBcmcuQW55PE1ldGhvZD4oKSwgQXJnLkFueTxvYmplY3Q+KCkpCisgICAgICAgICAgICAgICAgLlJldHVybnMocmVzdFJlc3BvbnNlKTsKKworICAgICAgICAgICAgdmFyIGZyaWVuZHMgPSBfZW50aXR5TWFuYWdlci5HZXRFbnRpdGllczxGcmllbmQ+KCJjb2xsZWN0aW9uIik7CisKKyAgICAgICAgICAgIEFzc2VydC5Jc05vdE51bGwoZnJpZW5kcyk7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoZW50aXRpZXMuQ291bnQsIGZyaWVuZHMuQ291bnQpOworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKGZyaWVuZDEuTmFtZSwgZnJpZW5kc1swXS5OYW1lKTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbChmcmllbmQxLkFnZSwgZnJpZW5kc1swXS5BZ2UpOworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKGZyaWVuZDIuTmFtZSwgZnJpZW5kc1sxXS5OYW1lKTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbChmcmllbmQyLkFnZSwgZnJpZW5kc1sxXS5BZ2UpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIEdldE5leHRFbnRpdGllc1Nob3VsZFJldHVybkVtcHR5TGlzdElmQ2FsbGVkQmVmb3JlR2V0RW50aXRpZXMoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgZnJpZW5kcyA9IF9lbnRpdHlNYW5hZ2VyLkdldE5leHRFbnRpdGllczxGcmllbmQ+KCJjb2xsZWN0aW9uIik7CisKKyAgICAgICAgICAgIENvbGxlY3Rpb25Bc3NlcnQuSXNFbXB0eShmcmllbmRzKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBHZXROZXh0RW50aXRpZXNTaG91bGRHZXRUb0NvcnJlY3RFbmRQb2ludFdpdGhDb3JyZWN0Q3Vyc29yU3RhdGUoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgZnJpZW5kMSA9IG5ldyBGcmllbmQgeyBOYW1lID0gIm5hbWUxIiwgQWdlID0gMSB9OworICAgICAgICAgICAgdmFyIGZyaWVuZDIgPSBuZXcgRnJpZW5kIHsgTmFtZSA9ICJuYW1lMiIsIEFnZSA9IDIgfTsKKyAgICAgICAgICAgIHZhciBmcmllbmQzID0gbmV3IEZyaWVuZCB7IE5hbWUgPSAibmFtZTMiLCBBZ2UgPSAzIH07CisgICAgICAgICAgICB2YXIgZnJpZW5kNCA9IG5ldyBGcmllbmQgeyBOYW1lID0gIm5hbWU0IiwgQWdlID0gNCB9OworICAgICAgICAgICAgdmFyIGZyaWVuZDUgPSBuZXcgRnJpZW5kIHsgTmFtZSA9ICJuYW1lNSIsIEFnZSA9IDUgfTsKKyAgICAgICAgICAgIHZhciBmcmllbmQ2ID0gbmV3IEZyaWVuZCB7IE5hbWUgPSAibmFtZTYiLCBBZ2UgPSA2IH07CisgICAgICAgICAgICB2YXIgZW50aXRpZXMxID0gbmV3IExpc3Q8RnJpZW5kPiB7IGZyaWVuZDEsIGZyaWVuZDIgfTsKKyAgICAgICAgICAgIHZhciBlbnRpdGllczIgPSBuZXcgTGlzdDxGcmllbmQ+IHsgZnJpZW5kMywgZnJpZW5kNCB9OworICAgICAgICAgICAgdmFyIGVudGl0aWVzMyA9IG5ldyBMaXN0PEZyaWVuZD4geyBmcmllbmQ1LCBmcmllbmQ2IH07CisgICAgICAgICAgICB2YXIgcmVzdFJlc3BvbnNlQ29udGVudDEgPSBuZXcgVXNlcmdyaWRHZXRSZXNwb25zZTxGcmllbmQ+IHsgRW50aXRpZXMgPSBlbnRpdGllczEsIEN1cnNvciA9ICJjdXJzb3IxIiB9OworICAgICAgICAgICAgdmFyIHJlc3RSZXNwb25zZTEgPSBIZWxwZXJzLlNldFVwUmVzdFJlc3BvbnNlV2l0aENvbnRlbnQ8VXNlcmdyaWRHZXRSZXNwb25zZTxGcmllbmQ+PihIdHRwU3RhdHVzQ29kZS5PSywgcmVzdFJlc3BvbnNlQ29udGVudDEpOworICAgICAgICAgICAgdmFyIHJlc3RSZXNwb25zZUNvbnRlbnQyID0gbmV3IFVzZXJncmlkR2V0UmVzcG9uc2U8RnJpZW5kPiB7IEVudGl0aWVzID0gZW50aXRpZXMyLCBDdXJzb3IgPSAiY3Vyc29yMiIgfTsKKyAgICAgICAgICAgIHZhciByZXN0UmVzcG9uc2UyID0gSGVscGVycy5TZXRVcFJlc3RSZXNwb25zZVdpdGhDb250ZW50PFVzZXJncmlkR2V0UmVzcG9uc2U8RnJpZW5kPj4oSHR0cFN0YXR1c0NvZGUuT0ssIHJlc3RSZXNwb25zZUNvbnRlbnQyKTsKKyAgICAgICAgICAgIHZhciByZXN0UmVzcG9uc2VDb250ZW50MyA9IG5ldyBVc2VyZ3JpZEdldFJlc3BvbnNlPEZyaWVuZD4geyBFbnRpdGllcyA9IGVudGl0aWVzMyB9OworICAgICAgICAgICAgdmFyIHJlc3RSZXNwb25zZTMgPSBIZWxwZXJzLlNldFVwUmVzdFJlc3BvbnNlV2l0aENvbnRlbnQ8VXNlcmdyaWRHZXRSZXNwb25zZTxGcmllbmQ+PihIdHRwU3RhdHVzQ29kZS5PSywgcmVzdFJlc3BvbnNlQ29udGVudDMpOworCisgICAgICAgICAgICBfcmVxdWVzdAorICAgICAgICAgICAgICAgIC5FeGVjdXRlSnNvblJlcXVlc3QoIi9jb2xsZWN0aW9uP2xpbWl0PTEwIiwgTWV0aG9kLkdFVCwgQXJnLklzPG9iamVjdD4oeCA9PiB4ID09IG51bGwpKQorICAgICAgICAgICAgICAgIC5SZXR1cm5zKHJlc3RSZXNwb25zZTEpOworICAgICAgICAgICAgX3JlcXVlc3QKKyAgICAgICAgICAgICAgICAuRXhlY3V0ZUpzb25SZXF1ZXN0KCIvY29sbGVjdGlvbj9jdXJzb3I9Y3Vyc29yMSZsaW1pdD0xMCIsIE1ldGhvZC5HRVQsIEFyZy5JczxvYmplY3Q+KHggPT4geCA9PSBudWxsKSkKKyAgICAgICAgICAgICAgICAuUmV0dXJucyhyZXN0UmVzcG9uc2UyKTsKKyAgICAgICAgICAgIF9yZXF1ZXN0CisgICAgICAgICAgICAgICAgLkV4ZWN1dGVKc29uUmVxdWVzdCgiL2NvbGxlY3Rpb24/Y3Vyc29yPWN1cnNvcjImbGltaXQ9MTAiLCBNZXRob2QuR0VULCBBcmcuSXM8b2JqZWN0Pih4ID0+IHggPT0gbnVsbCkpCisgICAgICAgICAgICAgICAgLlJldHVybnMocmVzdFJlc3BvbnNlMyk7CisKKyAgICAgICAgICAgIFVzZXJncmlkQ29sbGVjdGlvbjxGcmllbmQ+IGxpc3QxID0gX2VudGl0eU1hbmFnZXIuR2V0RW50aXRpZXM8RnJpZW5kPigiY29sbGVjdGlvbiIpOworICAgICAgICAgICAgVXNlcmdyaWRDb2xsZWN0aW9uPEZyaWVuZD4gbGlzdDIgPSBfZW50aXR5TWFuYWdlci5HZXROZXh0RW50aXRpZXM8RnJpZW5kPigiY29sbGVjdGlvbiIpOworICAgICAgICAgICAgVXNlcmdyaWRDb2xsZWN0aW9uPEZyaWVuZD4gbGlzdDMgPSBfZW50aXR5TWFuYWdlci5HZXROZXh0RW50aXRpZXM8RnJpZW5kPigiY29sbGVjdGlvbiIpOworCisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoZW50aXRpZXMxWzBdLk5hbWUsbGlzdDFbMF0uTmFtZSk7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoZW50aXRpZXMxWzFdLkFnZSxsaXN0MVsxXS5BZ2UpOworICAgICAgICAgICAgQXNzZXJ0LklzVHJ1ZShsaXN0MS5IYXNOZXh0KTsKKyAgICAgICAgICAgIEFzc2VydC5Jc0ZhbHNlKGxpc3QxLkhhc1ByZXZpb3VzKTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbChlbnRpdGllczJbMF0uTmFtZSxsaXN0MlswXS5OYW1lKTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbChlbnRpdGllczJbMV0uQWdlLGxpc3QyWzFdLkFnZSk7CisgICAgICAgICAgICBBc3NlcnQuSXNUcnVlKGxpc3QyLkhhc05leHQpOworICAgICAgICAgICAgQXNzZXJ0LklzVHJ1ZShsaXN0Mi5IYXNQcmV2aW91cyk7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoZW50aXRpZXMzWzBdLk5hbWUsbGlzdDNbMF0uTmFtZSk7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoZW50aXRpZXMzWzFdLkFnZSxsaXN0M1sxXS5BZ2UpOworICAgICAgICAgICAgQXNzZXJ0LklzRmFsc2UobGlzdDMuSGFzTmV4dCk7CisgICAgICAgICAgICBBc3NlcnQuSXNUcnVlKGxpc3QzLkhhc1ByZXZpb3VzKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBHZXRQcmV2aW91c0VudGl0aWVzU2hvdWxkR2V0VG9Db3JyZWN0RW5kUG9pbnRXaXRoQ29ycmVjdEN1cnNvclN0YXRlKCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIGZyaWVuZDEgPSBuZXcgRnJpZW5kIHsgTmFtZSA9ICJuYW1lMSIsIEFnZSA9IDEgfTsKKyAgICAgICAgICAgIHZhciBmcmllbmQyID0gbmV3IEZyaWVuZCB7IE5hbWUgPSAibmFtZTIiLCBBZ2UgPSAyIH07CisgICAgICAgICAgICB2YXIgZnJpZW5kMyA9IG5ldyBGcmllbmQgeyBOYW1lID0gIm5hbWUzIiwgQWdlID0gMyB9OworICAgICAgICAgICAgdmFyIGZyaWVuZDQgPSBuZXcgRnJpZW5kIHsgTmFtZSA9ICJuYW1lNCIsIEFnZSA9IDQgfTsKKyAgICAgICAgICAgIHZhciBmcmllbmQ1ID0gbmV3IEZyaWVuZCB7IE5hbWUgPSAibmFtZTUiLCBBZ2UgPSA1IH07CisgICAgICAgICAgICB2YXIgZnJpZW5kNiA9IG5ldyBGcmllbmQgeyBOYW1lID0gIm5hbWU2IiwgQWdlID0gNiB9OworICAgICAgICAgICAgdmFyIGVudGl0aWVzMSA9IG5ldyBMaXN0PEZyaWVuZD4geyBmcmllbmQxLCBmcmllbmQyIH07CisgICAgICAgICAgICB2YXIgZW50aXRpZXMyID0gbmV3IExpc3Q8RnJpZW5kPiB7IGZyaWVuZDMsIGZyaWVuZDQgfTsKKyAgICAgICAgICAgIHZhciBlbnRpdGllczMgPSBuZXcgTGlzdDxGcmllbmQ+IHsgZnJpZW5kNSwgZnJpZW5kNiB9OworICAgICAgICAgICAgdmFyIHJlc3RSZXNwb25zZUNvbnRlbnQxID0gbmV3IFVzZXJncmlkR2V0UmVzcG9uc2U8RnJpZW5kPiB7IEVudGl0aWVzID0gZW50aXRpZXMxLCBDdXJzb3IgPSAiY3Vyc29yMSIgfTsKKyAgICAgICAgICAgIHZhciByZXN0UmVzcG9uc2UxID0gSGVscGVycy5TZXRVcFJlc3RSZXNwb25zZVdpdGhDb250ZW50PFVzZXJncmlkR2V0UmVzcG9uc2U8RnJpZW5kPj4oSHR0cFN0YXR1c0NvZGUuT0ssIHJlc3RSZXNwb25zZUNvbnRlbnQxKTsKKyAgICAgICAgICAgIHZhciByZXN0UmVzcG9uc2VDb250ZW50MiA9IG5ldyBVc2VyZ3JpZEdldFJlc3BvbnNlPEZyaWVuZD4geyBFbnRpdGllcyA9IGVudGl0aWVzMiwgQ3Vyc29yID0gImN1cnNvcjIiIH07CisgICAgICAgICAgICB2YXIgcmVzdFJlc3BvbnNlMiA9IEhlbHBlcnMuU2V0VXBSZXN0UmVzcG9uc2VXaXRoQ29udGVudDxVc2VyZ3JpZEdldFJlc3BvbnNlPEZyaWVuZD4+KEh0dHBTdGF0dXNDb2RlLk9LLCByZXN0UmVzcG9uc2VDb250ZW50Mik7CisgICAgICAgICAgICB2YXIgcmVzdFJlc3BvbnNlQ29udGVudDMgPSBuZXcgVXNlcmdyaWRHZXRSZXNwb25zZTxGcmllbmQ+IHsgRW50aXRpZXMgPSBlbnRpdGllczMgfTsKKyAgICAgICAgICAgIHZhciByZXN0UmVzcG9uc2UzID0gSGVscGVycy5TZXRVcFJlc3RSZXNwb25zZVdpdGhDb250ZW50PFVzZXJncmlkR2V0UmVzcG9uc2U8RnJpZW5kPj4oSHR0cFN0YXR1c0NvZGUuT0ssIHJlc3RSZXNwb25zZUNvbnRlbnQzKTsKKworICAgICAgICAgICAgX3JlcXVlc3QKKyAgICAgICAgICAgICAgIC5FeGVjdXRlSnNvblJlcXVlc3QoIi9jb2xsZWN0aW9uP2xpbWl0PTEwIiwgTWV0aG9kLkdFVCwgQXJnLklzPG9iamVjdD4oeCA9PiB4ID09IG51bGwpKQorICAgICAgICAgICAgICAgLlJldHVybnMocmVzdFJlc3BvbnNlMSk7CisgICAgICAgICAgICBfcmVxdWVzdAorICAgICAgICAgICAgICAgIC5FeGVjdXRlSnNvblJlcXVlc3QoIi9jb2xsZWN0aW9uP2N1cnNvcj1jdXJzb3IxJmxpbWl0PTEwIiwgTWV0aG9kLkdFVCwgQXJnLklzPG9iamVjdD4oeCA9PiB4ID09IG51bGwpKQorICAgICAgICAgICAgICAgIC5SZXR1cm5zKHJlc3RSZXNwb25zZTIpOworICAgICAgICAgICAgX3JlcXVlc3QKKyAgICAgICAgICAgICAgICAuRXhlY3V0ZUpzb25SZXF1ZXN0KCIvY29sbGVjdGlvbj9jdXJzb3I9Y3Vyc29yMiZsaW1pdD0xMCIsIE1ldGhvZC5HRVQsIEFyZy5JczxvYmplY3Q+KHggPT4geCA9PSBudWxsKSkKKyAgICAgICAgICAgICAgICAuUmV0dXJucyhyZXN0UmVzcG9uc2UzKTsKKyAgICAgICAgICAgIF9yZXF1ZXN0CisgICAgICAgICAgICAgICAgLkV4ZWN1dGVKc29uUmVxdWVzdCgiL2NvbGxlY3Rpb24/Y3Vyc29yPWN1cnNvcjEmbGltaXQ9MTAiLCBNZXRob2QuR0VULCBBcmcuSXM8b2JqZWN0Pih4ID0+IHggPT0gbnVsbCkpCisgICAgICAgICAgICAgICAgLlJldHVybnMocmVzdFJlc3BvbnNlMik7CisgICAgICAgICAgICBfcmVxdWVzdAorICAgICAgICAgICAgICAgIC5FeGVjdXRlSnNvblJlcXVlc3QoIi9jb2xsZWN0aW9uPyZsaW1pdD0xMCIsIE1ldGhvZC5HRVQsIEFyZy5JczxvYmplY3Q+KHggPT4geCA9PSBudWxsKSkKKyAgICAgICAgICAgICAgICAuUmV0dXJucyhyZXN0UmVzcG9uc2UxKTsKKworICAgICAgICAgICAgVXNlcmdyaWRDb2xsZWN0aW9uPEZyaWVuZD4gbGlzdDEgPSBfZW50aXR5TWFuYWdlci5HZXRFbnRpdGllczxGcmllbmQ+KCJjb2xsZWN0aW9uIik7CisgICAgICAgICAgICBVc2VyZ3JpZENvbGxlY3Rpb248RnJpZW5kPiBsaXN0MiA9IF9lbnRpdHlNYW5hZ2VyLkdldE5leHRFbnRpdGllczxGcmllbmQ+KCJjb2xsZWN0aW9uIik7CisgICAgICAgICAgICBVc2VyZ3JpZENvbGxlY3Rpb248RnJpZW5kPiBsaXN0MyA9IF9lbnRpdHlNYW5hZ2VyLkdldE5leHRFbnRpdGllczxGcmllbmQ+KCJjb2xsZWN0aW9uIik7CisgICAgICAgICAgICBVc2VyZ3JpZENvbGxlY3Rpb248RnJpZW5kPiBsaXN0NCA9IF9lbnRpdHlNYW5hZ2VyLkdldFByZXZpb3VzRW50aXRpZXM8RnJpZW5kPigiY29sbGVjdGlvbiIpOworICAgICAgICAgICAgVXNlcmdyaWRDb2xsZWN0aW9uPEZyaWVuZD4gbGlzdDUgPSBfZW50aXR5TWFuYWdlci5HZXRQcmV2aW91c0VudGl0aWVzPEZyaWVuZD4oImNvbGxlY3Rpb24iKTsKKworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKGVudGl0aWVzMVswXS5OYW1lLGxpc3QxWzBdLk5hbWUpOworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKGVudGl0aWVzMVsxXS5BZ2UsbGlzdDFbMV0uQWdlKTsKKyAgICAgICAgICAgIEFzc2VydC5Jc1RydWUobGlzdDEuSGFzTmV4dCk7CisgICAgICAgICAgICBBc3NlcnQuSXNGYWxzZShsaXN0MS5IYXNQcmV2aW91cyk7CisKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbChlbnRpdGllczJbMF0uTmFtZSxsaXN0MlswXS5OYW1lKTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbChlbnRpdGllczJbMV0uQWdlLGxpc3QyWzFdLkFnZSk7CisgICAgICAgICAgICBBc3NlcnQuSXNUcnVlKGxpc3QyLkhhc05leHQpOworICAgICAgICAgICAgQXNzZXJ0LklzVHJ1ZShsaXN0Mi5IYXNQcmV2aW91cyk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbChlbnRpdGllczNbMF0uTmFtZSxsaXN0M1swXS5OYW1lKTsKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbChlbnRpdGllczNbMV0uQWdlLGxpc3QzWzFdLkFnZSk7CisgICAgICAgICAgICBBc3NlcnQuSXNGYWxzZShsaXN0My5IYXNOZXh0KTsKKyAgICAgICAgICAgIEFzc2VydC5Jc1RydWUobGlzdDMuSGFzUHJldmlvdXMpOworCisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoZW50aXRpZXMyWzBdLk5hbWUsIGxpc3Q0WzBdLk5hbWUpOworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKGVudGl0aWVzMlsxXS5BZ2UsIGxpc3Q0WzFdLkFnZSk7CisgICAgICAgICAgICBBc3NlcnQuSXNUcnVlKGxpc3Q0Lkhhc05leHQpOworICAgICAgICAgICAgQXNzZXJ0LklzVHJ1ZShsaXN0NC5IYXNQcmV2aW91cyk7CisKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbChlbnRpdGllczFbMF0uTmFtZSwgbGlzdDVbMF0uTmFtZSk7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoZW50aXRpZXMxWzFdLkFnZSwgbGlzdDVbMV0uQWdlKTsKKyAgICAgICAgICAgIEFzc2VydC5Jc1RydWUobGlzdDUuSGFzTmV4dCk7CisgICAgICAgICAgICBBc3NlcnQuSXNGYWxzZShsaXN0NS5IYXNQcmV2aW91cyk7CisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsuVGVzdHMvRnJpZW5kLmNzIGIvVXNlcmdyaWQuU2RrLlRlc3RzL0ZyaWVuZC5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTZjYzMyCi0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrLlRlc3RzL0ZyaWVuZC5jcwpAQCAtMCwwICsxLDM1IEBACisvLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworCit1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKK3VzaW5nIFN5c3RlbS5OZXQ7Cit1c2luZyBOU3Vic3RpdHV0ZTsKK3VzaW5nIE5Vbml0LkZyYW1ld29yazsKK3VzaW5nIFJlc3RTaGFycDsKK3VzaW5nIFVzZXJncmlkLlNkay5Nb2RlbDsKK3VzaW5nIFVzZXJncmlkLlNkay5QYXlsb2FkOworCituYW1lc3BhY2UgVXNlcmdyaWQuU2RrLlRlc3RzCit7CisKKyAgICBwdWJsaWMgY2xhc3MgRnJpZW5kCisgICAgeworICAgICAgICBwdWJsaWMgc3RyaW5nIE5hbWUgeyBnZXQ7IHNldDsgfQorICAgICAgICBwdWJsaWMgaW50IEFnZSB7IGdldDsgc2V0OyB9CisgICAgfQorCisgICAKK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay5UZXN0cy9IZWxwZXJzLmNzIGIvVXNlcmdyaWQuU2RrLlRlc3RzL0hlbHBlcnMuY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE4OGQxNgotLS0gL2Rldi9udWxsCisrKyBiL1VzZXJncmlkLlNkay5UZXN0cy9IZWxwZXJzLmNzCkBAIC0wLDAgKzEsOTQgQEAKK++7vy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCisKK3VzaW5nIFN5c3RlbS5OZXQ7Cit1c2luZyBTeXN0ZW0uUmVmbGVjdGlvbjsKK3VzaW5nIE5TdWJzdGl0dXRlOwordXNpbmcgTmV3dG9uc29mdC5Kc29uOwordXNpbmcgUmVzdFNoYXJwOwordXNpbmcgVXNlcmdyaWQuU2RrLk1vZGVsOwordXNpbmcgVXNlcmdyaWQuU2RrLlBheWxvYWQ7CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuVGVzdHMKK3sKKwlpbnRlcm5hbCBzdGF0aWMgY2xhc3MgSGVscGVycworICAgIHsKKwkJaW50ZXJuYWwgc3RhdGljIHN0cmluZyBTZXJpYWxpemUodGhpcyBvYmplY3Qgb2JqKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gSnNvbkNvbnZlcnQuU2VyaWFsaXplT2JqZWN0KG9iaik7CisgICAgICAgIH0KKworCQlpbnRlcm5hbCBzdGF0aWMgSVJlc3RSZXNwb25zZTxUPiBTZXRVcFJlc3RSZXNwb25zZVdpdGhDb250ZW50PFQ+KEh0dHBTdGF0dXNDb2RlIGh0dHBTdGF0dXNDb2RlLCBvYmplY3QgcmVzcG9uc2VDb250ZW50KQorCQl7CisJCSAgICByZXR1cm4gU2V0VXBSZXN0UmVzcG9uc2VXaXRoQ29udGVudDxUPihodHRwU3RhdHVzQ29kZSwgcmVzcG9uc2VDb250ZW50LlNlcmlhbGl6ZSgpKTsKKwkJfQorCQkKKyAgICAgICAgaW50ZXJuYWwgc3RhdGljIElSZXN0UmVzcG9uc2U8VD4gU2V0VXBSZXN0UmVzcG9uc2VXaXRoQ29udGVudDxUPihIdHRwU3RhdHVzQ29kZSBodHRwU3RhdHVzQ29kZSwgc3RyaW5nIHJlc3BvbnNlQ29udGVudCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIHJlc3RSZXNwb25zZSA9IFN1YnN0aXR1dGUuRm9yPElSZXN0UmVzcG9uc2U8VD4+KCk7CisgICAgICAgICAgICByZXN0UmVzcG9uc2UuU3RhdHVzQ29kZS5SZXR1cm5zKGh0dHBTdGF0dXNDb2RlKTsKKyAgICAgICAgICAgIHJlc3RSZXNwb25zZS5Db250ZW50LlJldHVybnMocmVzcG9uc2VDb250ZW50KTsKKyAgICAgICAgICAgIHJldHVybiByZXN0UmVzcG9uc2U7CisgICAgICAgIH0KKworICAgICAgICBpbnRlcm5hbCBzdGF0aWMgSVJlc3RSZXNwb25zZSBTZXRVcFJlc3RSZXNwb25zZShIdHRwU3RhdHVzQ29kZSBodHRwU3RhdHVzQ29kZSkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIHJlc3RSZXNwb25zZSA9IFN1YnN0aXR1dGUuRm9yPElSZXN0UmVzcG9uc2U+KCk7CisgICAgICAgICAgICByZXN0UmVzcG9uc2UuU3RhdHVzQ29kZS5SZXR1cm5zKGh0dHBTdGF0dXNDb2RlKTsKKyAgICAgICAgICAgIHJldHVybiByZXN0UmVzcG9uc2U7CisgICAgICAgIH0KKworCQlpbnRlcm5hbCBzdGF0aWMgSVJlc3RSZXNwb25zZTxUPiBTZXRVcFJlc3RSZXNwb25zZVdpdGhEYXRhPFQ+KEh0dHBTdGF0dXNDb2RlIGh0dHBTdGF0dXNDb2RlLCBUIHJlc3BvbnNlRGF0YSkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIHJlc3RSZXNwb25zZSA9IFN1YnN0aXR1dGUuRm9yPElSZXN0UmVzcG9uc2U8VD4+KCk7CisgICAgICAgICAgICByZXN0UmVzcG9uc2UuU3RhdHVzQ29kZS5SZXR1cm5zKGh0dHBTdGF0dXNDb2RlKTsKKyAgICAgICAgICAgIHJlc3RSZXNwb25zZS5EYXRhLlJldHVybnMocmVzcG9uc2VEYXRhKTsKKyAgICAgICAgICAgIHJldHVybiByZXN0UmVzcG9uc2U7CisgICAgICAgIH0KKworICAgICAgICBpbnRlcm5hbCBzdGF0aWMgSVVzZXJncmlkUmVxdWVzdCBTZXRVcFVzZXJncmlkUmVxdWVzdFdpdGhSZXN0UmVzcG9uc2U8VD4oSVJlc3RSZXNwb25zZTxUPiByZXN0UmVzcG9uc2UpIHdoZXJlIFQgOiBuZXcoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgcmVxdWVzdCA9IFN1YnN0aXR1dGUuRm9yPElVc2VyZ3JpZFJlcXVlc3Q+KCk7CisgICAgICAgICAgICByZXF1ZXN0CisgICAgICAgICAgICAgICAgLkV4ZWN1dGVKc29uUmVxdWVzdDxUPihBcmcuQW55PHN0cmluZz4oKSwgQXJnLkFueTxNZXRob2Q+KCksIEFyZy5Bbnk8b2JqZWN0PigpKQorICAgICAgICAgICAgICAgIC5SZXR1cm5zKHJlc3RSZXNwb25zZSk7CisKKyAgICAgICAgICAgIHJldHVybiByZXF1ZXN0OworICAgICAgICB9CisKKwkJaW50ZXJuYWwgc3RhdGljIElVc2VyZ3JpZFJlcXVlc3QgSW5pdGlhbGl6ZVVzZXJHcmlkUmVxdWVzdFdpdGhBY2Nlc3NUb2tlbihzdHJpbmcgYWNjZXNzVG9rZW4pCisgICAgICAgIHsKKyAgICAgICAgICAgIElSZXN0UmVzcG9uc2U8TG9naW5SZXNwb25zZT4gbG9naW5SZXNwb25zZSA9IFNldFVwUmVzdFJlc3BvbnNlV2l0aERhdGEoSHR0cFN0YXR1c0NvZGUuT0ssIG5ldyBMb2dpblJlc3BvbnNlIHtBY2Nlc3NUb2tlbiA9IGFjY2Vzc1Rva2VufSk7CisKKyAgICAgICAgICAgIHZhciByZXF1ZXN0ID0gU3Vic3RpdHV0ZS5Gb3I8SVVzZXJncmlkUmVxdWVzdD4oKTsKKyAgICAgICAgICAgIHJlcXVlc3QKKyAgICAgICAgICAgICAgICAuRXhlY3V0ZUpzb25SZXF1ZXN0PExvZ2luUmVzcG9uc2U+KEFyZy5Bbnk8c3RyaW5nPigpLCBBcmcuQW55PE1ldGhvZD4oKSwgQXJnLkFueTxvYmplY3Q+KCkpCisgICAgICAgICAgICAgICAgLlJldHVybnMobG9naW5SZXNwb25zZSk7CisKKyAgICAgICAgICAgIHJldHVybiByZXF1ZXN0OworICAgICAgICB9CisKKyAgICAgICAgcHVibGljIHN0YXRpYyBvYmplY3QgR2V0UmVmbGVjdGVkUHJvcGVydHkodGhpcyBvYmplY3Qgb2JqLCBzdHJpbmcgcHJvcGVydHlOYW1lKQorICAgICAgICB7CisgICAgICAgICAgICBQcm9wZXJ0eUluZm8gcHJvcGVydHkgPSBvYmouR2V0VHlwZSgpLkdldFByb3BlcnR5KHByb3BlcnR5TmFtZSk7CisKKyAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PSBudWxsKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxsOworCisgICAgICAgICAgICByZXR1cm4gcHJvcGVydHkuR2V0VmFsdWUob2JqLCBudWxsKTsKKyAgICAgICAgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay5UZXN0cy9Nb2RlbC9Ob3RpZmljYXRpb25SZWNpcGllbnRzVGVzdHMuY3MgYi9Vc2VyZ3JpZC5TZGsuVGVzdHMvTW9kZWwvTm90aWZpY2F0aW9uUmVjaXBpZW50c1Rlc3RzLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzMmU3MzMKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsuVGVzdHMvTW9kZWwvTm90aWZpY2F0aW9uUmVjaXBpZW50c1Rlc3RzLmNzCkBAIC0wLDAgKzEsMTQ3IEBACivvu78vLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworCit1c2luZyBTeXN0ZW07Cit1c2luZyBOU3Vic3RpdHV0ZS5Db3JlOwordXNpbmcgTlVuaXQuRnJhbWV3b3JrOwordXNpbmcgVXNlcmdyaWQuU2RrLk1vZGVsOworCituYW1lc3BhY2UgVXNlcmdyaWQuU2RrLlRlc3RzLk1vZGVsCit7CisgICAgW1Rlc3RGaXh0dXJlXQorICAgIHB1YmxpYyBjbGFzcyBOb3RpZmljYXRpb25SZWNpcGllbnRzVGVzdHMKKyAgICB7CisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBOb3RpZmljYXRpb25SZWNpcGllbnRzQnVpbGRzUXVlcnkxKCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIHF1ZXJ5ID0gbmV3IE5vdGlmaWNhdGlvblJlY2lwaWVudHMoKQorICAgICAgICAgICAgICAgIC5BZGREZXZpY2VXaXRoTmFtZSgiZCIpCisgICAgICAgICAgICAgICAgLkFkZEdyb3VwV2l0aFBhdGgoInAiKQorICAgICAgICAgICAgICAgIC5BZGRVc2VyV2l0aE5hbWUoInUiKQorICAgICAgICAgICAgICAgIC5CdWlsZFF1ZXJ5KCk7CisKKyAgICAgICAgICAgIEFzc2VydC5BcmVFcXVhbCgiL2dyb3Vwcy9wL3VzZXJzL3UvZGV2aWNlcy9kL25vdGlmaWNhdGlvbnMiLCBxdWVyeSk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgTm90aWZpY2F0aW9uUmVjaXBpZW50c0J1aWxkc1F1ZXJ5MigpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBxdWVyeSA9IG5ldyBOb3RpZmljYXRpb25SZWNpcGllbnRzKCkKKyAgICAgICAgICAgICAgICAuQWRkRGV2aWNlV2l0aE5hbWUoImQiKQorICAgICAgICAgICAgICAgIC5BZGRHcm91cFdpdGhQYXRoKCJwIikKKyAgICAgICAgICAgICAgICAuQWRkVXNlcldpdGhVdWlkKCJ1IikKKyAgICAgICAgICAgICAgICAuQnVpbGRRdWVyeSgpOworCisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoIi9ncm91cHMvcC91c2Vycy91L2RldmljZXMvZC9ub3RpZmljYXRpb25zIiwgcXVlcnkpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIHB1YmxpYyB2b2lkIE5vdGlmaWNhdGlvblJlY2lwaWVudHNCdWlsZHNRdWVyeTMoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgcXVlcnkgPSBuZXcgTm90aWZpY2F0aW9uUmVjaXBpZW50cygpCisgICAgICAgICAgICAgICAgLkFkZERldmljZVdpdGhRdWVyeSgiZCIpCisgICAgICAgICAgICAgICAgLkFkZEdyb3VwV2l0aFF1ZXJ5KCJwIikKKyAgICAgICAgICAgICAgICAuQWRkVXNlcldpdGhRdWVyeSgidSIpCisgICAgICAgICAgICAgICAgLkJ1aWxkUXVlcnkoKTsKKworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKCIvZ3JvdXBzO3FsPXAvdXNlcnM7cWw9dS9kZXZpY2VzO3FsPWQvbm90aWZpY2F0aW9ucyIsIHF1ZXJ5KTsKKyAgICAgICAgfQorICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgTm90aWZpY2F0aW9uUmVjaXBpZW50c0J1aWxkc1F1ZXJ5NCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBxdWVyeSA9IG5ldyBOb3RpZmljYXRpb25SZWNpcGllbnRzKCkKKyAgICAgICAgICAgICAgICAuQWRkRGV2aWNlV2l0aFF1ZXJ5KHN0cmluZy5FbXB0eSkKKyAgICAgICAgICAgICAgICAuQWRkR3JvdXBXaXRoUXVlcnkoc3RyaW5nLkVtcHR5KQorICAgICAgICAgICAgICAgIC5BZGRVc2VyV2l0aFF1ZXJ5KHN0cmluZy5FbXB0eSkKKyAgICAgICAgICAgICAgICAuQnVpbGRRdWVyeSgpOworCisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoIi9ncm91cHM7cWw9L3VzZXJzO3FsPS9kZXZpY2VzO3FsPS9ub3RpZmljYXRpb25zIiwgcXVlcnkpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIFtFeHBlY3RlZEV4Y2VwdGlvbih0eXBlb2YoQXJndW1lbnRFeGNlcHRpb24pLCBFeHBlY3RlZE1lc3NhZ2UgPSAiVXNlciBuYW1lIGFuZCB1dWlkIGNhbiBub3QgYmUgYWRkZWQgYXQgdGhlIHNhbWUgdGltZS4iKV0KKyAgICAgICAgcHVibGljIHZvaWQgVXNlck5hbWVBbmRVdWlkQ2Fubm90QmVBZGRlZEF0VGhlU2FtZVRpbWUoKQorICAgICAgICB7CisgICAgICAgICAgICBuZXcgTm90aWZpY2F0aW9uUmVjaXBpZW50cygpCisgICAgICAgICAgICAgICAgLkFkZFVzZXJXaXRoTmFtZSgidSIpCisgICAgICAgICAgICAgICAgLkFkZFVzZXJXaXRoVXVpZCgiaSIpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIFtFeHBlY3RlZEV4Y2VwdGlvbih0eXBlb2YoQXJndW1lbnRFeGNlcHRpb24pLCBFeHBlY3RlZE1lc3NhZ2UgPSAiVXNlciBuYW1lIGFuZCB1dWlkIGNhbiBub3QgYmUgYWRkZWQgYXQgdGhlIHNhbWUgdGltZS4iKV0KKyAgICAgICAgcHVibGljIHZvaWQgVXNlclV1aWRBbmROYW1lQ2Fubm90QmVBZGRlZEF0VGhlU2FtZVRpbWUoKQorICAgICAgICB7CisgICAgICAgICAgICBuZXcgTm90aWZpY2F0aW9uUmVjaXBpZW50cygpCisgICAgICAgICAgICAgICAgLkFkZFVzZXJXaXRoVXVpZCgiaSIpCisgICAgICAgICAgICAgICAgLkFkZFVzZXJXaXRoTmFtZSgidSIpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIFtFeHBlY3RlZEV4Y2VwdGlvbih0eXBlb2YoQXJndW1lbnRFeGNlcHRpb24pLCBFeHBlY3RlZE1lc3NhZ2UgPSAiVXNlciBxdWVyeSBjYW4gbm90IGJlIGFkZGVkIHRvZ2V0aGVyIHdpdGggdXNlciBuYW1lIG9yIHV1aWQuIildCisgICAgICAgIHB1YmxpYyB2b2lkIFVzZXJVdWlkQW5kUXVlcnlDYW5ub3RCZUFkZGVkQXRUaGVTYW1lVGltZSgpCisgICAgICAgIHsKKyAgICAgICAgICAgIG5ldyBOb3RpZmljYXRpb25SZWNpcGllbnRzKCkKKyAgICAgICAgICAgICAgICAuQWRkVXNlcldpdGhVdWlkKCJpIikKKyAgICAgICAgICAgICAgICAuQWRkVXNlcldpdGhRdWVyeSgidSIpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIFtFeHBlY3RlZEV4Y2VwdGlvbih0eXBlb2YoQXJndW1lbnRFeGNlcHRpb24pLCBFeHBlY3RlZE1lc3NhZ2UgPSAiVXNlciBxdWVyeSBjYW4gbm90IGJlIGFkZGVkIHRvZ2V0aGVyIHdpdGggdXNlciBuYW1lIG9yIHV1aWQuIildCisgICAgICAgIHB1YmxpYyB2b2lkIFVzZXJOYW1lQW5kUXVlcnlDYW5ub3RCZUFkZGVkQXRUaGVTYW1lVGltZSgpCisgICAgICAgIHsKKyAgICAgICAgICAgIG5ldyBOb3RpZmljYXRpb25SZWNpcGllbnRzKCkKKyAgICAgICAgICAgICAgICAuQWRkVXNlcldpdGhOYW1lKCJpIikKKyAgICAgICAgICAgICAgICAuQWRkVXNlcldpdGhRdWVyeSgidSIpOworICAgICAgICB9CisKKyAgICAgICAgW1Rlc3RdCisgICAgICAgIFtFeHBlY3RlZEV4Y2VwdGlvbih0eXBlb2YoQXJndW1lbnRFeGNlcHRpb24pLCBFeHBlY3RlZE1lc3NhZ2UgPSAiR3JvdXAgcGF0aCBhbmQgcXVlcnkgY2FuIG5vdCBiZSBhZGRlZCBhdCB0aGUgc2FtZSB0aW1lLiIpXQorICAgICAgICBwdWJsaWMgdm9pZCBHcm91cFBhdGhBbmRRdWVyeUNhbm5vdEJlQWRkZWRBdFRoZVNhbWVUaW1lKCkKKyAgICAgICAgeworICAgICAgICAgICAgbmV3IE5vdGlmaWNhdGlvblJlY2lwaWVudHMoKQorICAgICAgICAgICAgICAgIC5BZGRHcm91cFdpdGhQYXRoKCJ1IikKKyAgICAgICAgICAgICAgICAuQWRkR3JvdXBXaXRoUXVlcnkoImkiKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBbRXhwZWN0ZWRFeGNlcHRpb24odHlwZW9mKEFyZ3VtZW50RXhjZXB0aW9uKSwgRXhwZWN0ZWRNZXNzYWdlID0gIkdyb3VwIHBhdGggYW5kIHF1ZXJ5IGNhbiBub3QgYmUgYWRkZWQgYXQgdGhlIHNhbWUgdGltZS4iKV0KKyAgICAgICAgcHVibGljIHZvaWQgR3JvdXBRdWVyeUFuZFBhdGhDYW5ub3RCZUFkZGVkQXRUaGVTYW1lVGltZSgpCisgICAgICAgIHsKKyAgICAgICAgICAgIG5ldyBOb3RpZmljYXRpb25SZWNpcGllbnRzKCkKKyAgICAgICAgICAgICAgICAuQWRkR3JvdXBXaXRoUXVlcnkoImkiKQorICAgICAgICAgICAgICAgIC5BZGRHcm91cFdpdGhQYXRoKCJ1Iik7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgW0V4cGVjdGVkRXhjZXB0aW9uKHR5cGVvZihBcmd1bWVudEV4Y2VwdGlvbiksIEV4cGVjdGVkTWVzc2FnZSA9ICJEZXZpY2UgbmFtZSBhbmQgcXVlcnkgY2FuIG5vdCBiZSBhZGRlZCBhdCB0aGUgc2FtZSB0aW1lLiIpXQorICAgICAgICBwdWJsaWMgdm9pZCBEZXZpY2VRdWVyeUFuZE5hbWVDYW5ub3RCZUFkZGVkQXRUaGVTYW1lVGltZSgpCisgICAgICAgIHsKKyAgICAgICAgICAgIG5ldyBOb3RpZmljYXRpb25SZWNpcGllbnRzKCkKKyAgICAgICAgICAgICAgICAuQWRkRGV2aWNlV2l0aFF1ZXJ5KCJpIikKKyAgICAgICAgICAgICAgICAuQWRkRGV2aWNlV2l0aE5hbWUoInUiKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBbRXhwZWN0ZWRFeGNlcHRpb24odHlwZW9mKEFyZ3VtZW50RXhjZXB0aW9uKSwgRXhwZWN0ZWRNZXNzYWdlID0gIkRldmljZSBuYW1lIGFuZCBxdWVyeSBjYW4gbm90IGJlIGFkZGVkIGF0IHRoZSBzYW1lIHRpbWUuIildCisgICAgICAgIHB1YmxpYyB2b2lkIERldmljZU5hbWVBbmRRdWVyeUNhbm5vdEJlQWRkZWRBdFRoZVNhbWVUaW1lKCkKKyAgICAgICAgeworICAgICAgICAgICAgbmV3IE5vdGlmaWNhdGlvblJlY2lwaWVudHMoKQorICAgICAgICAgICAgICAgIC5BZGREZXZpY2VXaXRoTmFtZSgiaSIpCisgICAgICAgICAgICAgICAgLkFkZERldmljZVdpdGhRdWVyeSgidSIpOworICAgICAgICB9CisKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsuVGVzdHMvTW9kZWwvTm90aWZpY2F0aW9uVGVzdHMuY3MgYi9Vc2VyZ3JpZC5TZGsuVGVzdHMvTW9kZWwvTm90aWZpY2F0aW9uVGVzdHMuY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmJlYTc0YwotLS0gL2Rldi9udWxsCisrKyBiL1VzZXJncmlkLlNkay5UZXN0cy9Nb2RlbC9Ob3RpZmljYXRpb25UZXN0cy5jcwpAQCAtMCwwICsxLDU1IEBACivvu78vLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworCit1c2luZyBOVW5pdC5GcmFtZXdvcms7Cit1c2luZyBVc2VyZ3JpZC5TZGsuTW9kZWw7CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuVGVzdHMuTW9kZWwKK3sKKyAgICBbVGVzdEZpeHR1cmVdCisgICAgcHVibGljIGNsYXNzIE5vdGlmaWNhdGlvblRlc3RzCisgICAgeworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgQW5kcm9pZE5vdGlmaWNhdGlvblNob3VsZFJldHVybkNvcnJlY3RQYXlsb2FkKCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIG5vdGlmaWNhdGlvbiA9IG5ldyBBbmRyb2lkTm90aWZpY2F0aW9uKCJub3RpZmllck5hbWUiLCAibm90aWZpY2F0aW9uIG1lc3NhZ2UiKTsKKyAgICAgICAgICAgIHZhciBwYXlsb2FkID0gbm90aWZpY2F0aW9uLkdldFBheWxvYWQoKTsKKworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKCJub3RpZmljYXRpb24gbWVzc2FnZSIsIHBheWxvYWQuR2V0UmVmbGVjdGVkUHJvcGVydHkoImRhdGEiKSk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgR29vZ2xlTm90aWZpY2F0aW9uU2hvdWxkUmV0dXJuQ29ycmVjdFBheWxvYWRXaXRoU291bmQoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgbm90aWZpY2F0aW9uID0gbmV3IEFwcGxlTm90aWZpY2F0aW9uKCJub3RpZmllck5hbWUiLCAibm90aWZpY2F0aW9uIG1lc3NhZ2UiLCAiY2hpbWUiKTsKKyAgICAgICAgICAgIHZhciBwYXlsb2FkID0gbm90aWZpY2F0aW9uLkdldFBheWxvYWQoKTsKKworICAgICAgICAgICAgdmFyIGFwcyA9IHBheWxvYWQuR2V0UmVmbGVjdGVkUHJvcGVydHkoImFwcyIpOworICAgICAgICAgICAgQXNzZXJ0LklzTm90TnVsbChhcHMpOworICAgICAgICAgICAgQXNzZXJ0LkFyZUVxdWFsKCJub3RpZmljYXRpb24gbWVzc2FnZSIsIGFwcy5HZXRSZWZsZWN0ZWRQcm9wZXJ0eSgiYWxlcnQiKSk7CisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoImNoaW1lIiwgYXBzLkdldFJlZmxlY3RlZFByb3BlcnR5KCJzb3VuZCIpKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBHb29nbGVOb3RpZmljYXRpb25TaG91bGRSZXR1cm5Db3JyZWN0UGF5bG9hZFdpdGhvdXRTb3VuZCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBub3RpZmljYXRpb24gPSBuZXcgQXBwbGVOb3RpZmljYXRpb24oIm5vdGlmaWVyTmFtZSIsICJub3RpZmljYXRpb24gbWVzc2FnZSIpOworICAgICAgICAgICAgdmFyIHBheWxvYWQgPSBub3RpZmljYXRpb24uR2V0UGF5bG9hZCgpOworCisgICAgICAgICAgICBBc3NlcnQuQXJlRXF1YWwoIm5vdGlmaWNhdGlvbiBtZXNzYWdlIiwgcGF5bG9hZCk7CisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsuVGVzdHMvTm90aWZpY2F0aW9uc01hbmFnZXJUZXN0cy5jcyBiL1VzZXJncmlkLlNkay5UZXN0cy9Ob3RpZmljYXRpb25zTWFuYWdlclRlc3RzLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlNTEzNWEKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsuVGVzdHMvTm90aWZpY2F0aW9uc01hbmFnZXJUZXN0cy5jcwpAQCAtMCwwICsxLDExOCBAQAor77u/Ly8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKy8vIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKwordXNpbmcgU3lzdGVtOwordXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7Cit1c2luZyBTeXN0ZW0uTmV0OwordXNpbmcgTlN1YnN0aXR1dGU7Cit1c2luZyBOVW5pdC5GcmFtZXdvcms7Cit1c2luZyBSZXN0U2hhcnA7Cit1c2luZyBVc2VyZ3JpZC5TZGsuTWFuYWdlcjsKK3VzaW5nIFVzZXJncmlkLlNkay5Nb2RlbDsKK3VzaW5nIFVzZXJncmlkLlNkay5QYXlsb2FkOworCituYW1lc3BhY2UgVXNlcmdyaWQuU2RrLlRlc3RzCit7CisgICAgW1Rlc3RGaXh0dXJlXQorICAgIHB1YmxpYyBjbGFzcyBOb3RpZmljYXRpb25zTWFuYWdlclRlc3RzCisgICAgeworICAgICAgICBwcml2YXRlIElVc2VyZ3JpZFJlcXVlc3QgX3JlcXVlc3Q7CisgICAgICAgIHByaXZhdGUgTm90aWZpY2F0aW9uc01hbmFnZXIgX25vdGlmaWNhdGlvbnNNYW5hZ2VyOworCisgICAgICAgIFtTZXRVcF0KKyAgICAgICAgcHVibGljIHZvaWQgU2V0dXAoKQorICAgICAgICB7CisgICAgICAgICAgICBfcmVxdWVzdCA9IFN1YnN0aXR1dGUuRm9yPElVc2VyZ3JpZFJlcXVlc3Q+KCk7CisgICAgICAgICAgICBfbm90aWZpY2F0aW9uc01hbmFnZXIgPSBuZXcgTm90aWZpY2F0aW9uc01hbmFnZXIoX3JlcXVlc3QpOworICAgICAgICB9CisKKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgQ3JlYXRlTm90aWZpZXJGb3JBcHBsZUV4ZWN1dGVzTXVsdGlwYXJ0Rm9ybURhdGFSZXF1ZXN0V2l0aENvcnJlY3RQYXJhbWV0ZXJzKCkKKyAgICAgICAgeworICAgICAgICAgICAgSVJlc3RSZXNwb25zZSByZXN0UmVzcG9uc2UgPSBIZWxwZXJzLlNldFVwUmVzdFJlc3BvbnNlKEh0dHBTdGF0dXNDb2RlLk9LKTsKKyAgICAgICAgICAgIF9yZXF1ZXN0LkV4ZWN1dGVNdWx0aXBhcnRGb3JtRGF0YVJlcXVlc3QoQXJnLkFueTxzdHJpbmc+KCksIEFyZy5Bbnk8TWV0aG9kPigpLCBBcmcuQW55PElEaWN0aW9uYXJ5PHN0cmluZywgb2JqZWN0Pj4oKSwgQXJnLkFueTxJRGljdGlvbmFyeTxzdHJpbmcsIHN0cmluZz4+KCkpCisgICAgICAgICAgICAgICAgLlJldHVybnMocmVzdFJlc3BvbnNlKTsKKworICAgICAgICAgICAgX25vdGlmaWNhdGlvbnNNYW5hZ2VyLkNyZWF0ZU5vdGlmaWVyRm9yQXBwbGUoIm5vdGlmaWVyTmFtZSIsICJkZXZlbG9wbWVudCIsIEAiQzpcZmlsZVBhdGgiKTsKKworICAgICAgICAgICAgX3JlcXVlc3QuUmVjZWl2ZWQoMSkuRXhlY3V0ZU11bHRpcGFydEZvcm1EYXRhUmVxdWVzdCgKKyAgICAgICAgICAgICAgICAiL25vdGlmaWVycyIsCisgICAgICAgICAgICAgICAgTWV0aG9kLlBPU1QsCisgICAgICAgICAgICAgICAgQXJnLklzPElEaWN0aW9uYXJ5PHN0cmluZywgb2JqZWN0Pj4oZCA9PiAoc3RyaW5nKSBkWyJuYW1lIl0gPT0gIm5vdGlmaWVyTmFtZSIgJiYgKHN0cmluZykgZFsicHJvdmlkZXIiXSA9PSAiYXBwbGUiICYmIChzdHJpbmcpIGRbImVudmlyb25tZW50Il0gPT0gImRldmVsb3BtZW50IiksCisgICAgICAgICAgICAgICAgQXJnLklzPElEaWN0aW9uYXJ5PHN0cmluZywgc3RyaW5nPj4oZCA9PiBkWyJwMTJDZXJ0aWZpY2F0ZSJdID09IEAiQzpcZmlsZVBhdGgiKSk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgQ3JlYXRlTm90aWZpZXJGb3JBbmRyb2lkRXhlY3V0ZXNNdWx0aXBhcnRGb3JtRGF0YVJlcXVlc3RXaXRoQ29ycmVjdFBhcmFtZXRlcnMoKQorICAgICAgICB7CisgICAgICAgICAgICBJUmVzdFJlc3BvbnNlIHJlc3RSZXNwb25zZSA9IEhlbHBlcnMuU2V0VXBSZXN0UmVzcG9uc2UoSHR0cFN0YXR1c0NvZGUuT0spOworICAgICAgICAgICAgX3JlcXVlc3QuRXhlY3V0ZUpzb25SZXF1ZXN0KEFyZy5Bbnk8c3RyaW5nPigpLCBBcmcuQW55PE1ldGhvZD4oKSwgQXJnLkFueTxvYmplY3Q+KCkpCisgICAgICAgICAgICAgICAgLlJldHVybnMocmVzdFJlc3BvbnNlKTsKKworICAgICAgICAgICAgX25vdGlmaWNhdGlvbnNNYW5hZ2VyLkNyZWF0ZU5vdGlmaWVyRm9yQW5kcm9pZCgibm90aWZpZXJOYW1lIiwgImFwaUtleSIpOworCisgICAgICAgICAgICBfcmVxdWVzdC5SZWNlaXZlZCgxKS5FeGVjdXRlSnNvblJlcXVlc3QoCisgICAgICAgICAgICAgICAgIi9ub3RpZmllcnMiLAorICAgICAgICAgICAgICAgIE1ldGhvZC5QT1NULAorICAgICAgICAgICAgICAgIEFyZy5JczxBbmRyb2lkTm90aWZpZXJQYXlsb2FkPihwID0+IHAuQXBpS2V5ID09ICJhcGlLZXkiICYmIHAuTmFtZSA9PSAibm90aWZpZXJOYW1lIiAmJiBwLlByb3ZpZGVyID09ICJnb29nbGUiKSk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgUHVibGlzaE5vdGlmaWNhdGlvblBvc3RzQnlCdWlsZGluZ1F1ZXJ5QW5kUGF5bG9hZCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIElSZXN0UmVzcG9uc2UgcmVzdFJlc3BvbnNlID0gSGVscGVycy5TZXRVcFJlc3RSZXNwb25zZShIdHRwU3RhdHVzQ29kZS5PSyk7CisgICAgICAgICAgICBfcmVxdWVzdC5FeGVjdXRlSnNvblJlcXVlc3QoQXJnLkFueTxzdHJpbmc+KCksIEFyZy5Bbnk8TWV0aG9kPigpLCBBcmcuQW55PG9iamVjdD4oKSkKKyAgICAgICAgICAgICAgICAuUmV0dXJucyhyZXN0UmVzcG9uc2UpOworCisgICAgICAgICAgICB2YXIgcmVjaXBpZW50cyA9IFN1YnN0aXR1dGUuRm9yPElOb3RpZmljYXRpb25SZWNpcGllbnRzPigpOworICAgICAgICAgICAgcmVjaXBpZW50cy5CdWlsZFF1ZXJ5KCkuUmV0dXJucygicXVlcnkiKTsKKworICAgICAgICAgICAgdmFyIGFwcGxlTm90aWZpY2F0aW9uID0gbmV3IEFwcGxlTm90aWZpY2F0aW9uKCJhcHBsZU5vdGlmaWVyTmFtZSIsICJhcHBsZVRlc3RNZXNzZ2UiLCAiY2hpbWUiKTsKKyAgICAgICAgICAgIHZhciBnb29nbGVOb3RpZmljYXRpb24gPSBuZXcgQW5kcm9pZE5vdGlmaWNhdGlvbigiZ29vZ2xlTm90aWZpZXJOYW1lIiwgImFuZHJvaWRUZXN0TWVzc2FnZSIpOworCisgICAgICAgICAgICB2YXIgZGVsaXZlckF0ID0gRGF0ZVRpbWUuTm93LkFkZERheXMoMSk7CisgICAgICAgICAgICB2YXIgZXhwaXJlQXQgPSBEYXRlVGltZS5Ob3cuQWRkRGF5cygyKTsKKworICAgICAgICAgICAgdmFyIHNjaGVkdWxlclNldHRpbmdzID0gbmV3IE5vdGlmaWNhdGlvblNjaGVkdWxlclNldHRpbmdzIHtEZWxpdmVyQXQgPSBkZWxpdmVyQXQsIEV4cGlyZUF0ID0gZXhwaXJlQXR9OworCisgICAgICAgICAgICAvL2NhbGwgUHVibGlzaE5vdGlmaWNhdGlvbgorICAgICAgICAgICAgX25vdGlmaWNhdGlvbnNNYW5hZ2VyLlB1Ymxpc2hOb3RpZmljYXRpb24obmV3IE5vdGlmaWNhdGlvbltdIHthcHBsZU5vdGlmaWNhdGlvbiwgZ29vZ2xlTm90aWZpY2F0aW9ufSwgcmVjaXBpZW50cywgc2NoZWR1bGVyU2V0dGluZ3MpOworCisgICAgICAgICAgICAvL2Fzc2VydAorICAgICAgICAgICAgcmVjaXBpZW50cy5SZWNlaXZlZCgxKS5CdWlsZFF1ZXJ5KCk7CisKKyAgICAgICAgICAgIEZ1bmM8Tm90aWZpY2F0aW9uUGF5bG9hZCwgYm9vbD4gdmFsaWRhdGVQYXlsb2FkID0gcCA9PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaXNWYWxpZCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNWYWxpZCAmPSBwLkRlbGl2ZXJBdCA9PSBkZWxpdmVyQXQuVG9Vbml4VGltZSgpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzVmFsaWQgJj0gcC5FeHBpcmVBdCA9PSBleHBpcmVBdC5Ub1VuaXhUaW1lKCk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgYXBwbGVQYXlsb2FkID0gcC5QYXlsb2Fkc1siYXBwbGVOb3RpZmllck5hbWUiXS5HZXRSZWZsZWN0ZWRQcm9wZXJ0eSgiYXBzIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNWYWxpZCAmPSAoc3RyaW5nKSBhcHBsZVBheWxvYWQuR2V0UmVmbGVjdGVkUHJvcGVydHkoImFsZXJ0IikgPT0gImFwcGxlVGVzdE1lc3NnZSI7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNWYWxpZCAmPSAoc3RyaW5nKSBhcHBsZVBheWxvYWQuR2V0UmVmbGVjdGVkUHJvcGVydHkoInNvdW5kIikgPT0gImNoaW1lIjsKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBnb29nbGVQYXlsb2FkID0gcC5QYXlsb2Fkc1siZ29vZ2xlTm90aWZpZXJOYW1lIl0uR2V0UmVmbGVjdGVkUHJvcGVydHkoImRhdGEiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkICY9IChzdHJpbmcpIGdvb2dsZVBheWxvYWQgPT0gImFuZHJvaWRUZXN0TWVzc2FnZSI7CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXNWYWxpZDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07CisgICAgICAgICAgICBfcmVxdWVzdC5SZWNlaXZlZCgxKS5FeGVjdXRlSnNvblJlcXVlc3QoInF1ZXJ5IiwgTWV0aG9kLlBPU1QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJnLklzPE5vdGlmaWNhdGlvblBheWxvYWQ+KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwID0+IHZhbGlkYXRlUGF5bG9hZChwKSkpOworICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrLlRlc3RzL1Byb3BlcnRpZXMvQXNzZW1ibHlJbmZvLmNzIGIvVXNlcmdyaWQuU2RrLlRlc3RzL1Byb3BlcnRpZXMvQXNzZW1ibHlJbmZvLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhZTMzNTYKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsuVGVzdHMvUHJvcGVydGllcy9Bc3NlbWJseUluZm8uY3MKQEAgLTAsMCArMSw1NyBAQAor77u/Ly8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKy8vIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKK3VzaW5nIFN5c3RlbS5SZWZsZWN0aW9uOwordXNpbmcgU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlczsKK3VzaW5nIFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlczsKKworLy8gR2VuZXJhbCBJbmZvcm1hdGlvbiBhYm91dCBhbiBhc3NlbWJseSBpcyBjb250cm9sbGVkIHRocm91Z2ggdGhlIGZvbGxvd2luZyAKKy8vIHNldCBvZiBhdHRyaWJ1dGVzLiBDaGFuZ2UgdGhlc2UgYXR0cmlidXRlIHZhbHVlcyB0byBtb2RpZnkgdGhlIGluZm9ybWF0aW9uCisvLyBhc3NvY2lhdGVkIHdpdGggYW4gYXNzZW1ibHkuCisKK1thc3NlbWJseTogQXNzZW1ibHlUaXRsZSgiVXNlcmdyaWQuU2RrLlRlc3RzIildCitbYXNzZW1ibHk6IEFzc2VtYmx5RGVzY3JpcHRpb24oIiIpXQorW2Fzc2VtYmx5OiBBc3NlbWJseUNvbmZpZ3VyYXRpb24oIiIpXQorW2Fzc2VtYmx5OiBBc3NlbWJseUNvbXBhbnkoIk1pY3Jvc29mdCIpXQorW2Fzc2VtYmx5OiBBc3NlbWJseVByb2R1Y3QoIlVzZXJncmlkLlNkay5UZXN0cyIpXQorW2Fzc2VtYmx5OiBBc3NlbWJseUNvcHlyaWdodCgiQ29weXJpZ2h0IMKpIE1pY3Jvc29mdCAyMDEzIildCitbYXNzZW1ibHk6IEFzc2VtYmx5VHJhZGVtYXJrKCIiKV0KK1thc3NlbWJseTogQXNzZW1ibHlDdWx0dXJlKCIiKV0KKworLy8gU2V0dGluZyBDb21WaXNpYmxlIHRvIGZhbHNlIG1ha2VzIHRoZSB0eXBlcyBpbiB0aGlzIGFzc2VtYmx5IG5vdCB2aXNpYmxlIAorLy8gdG8gQ09NIGNvbXBvbmVudHMuICBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgYSB0eXBlIGluIHRoaXMgYXNzZW1ibHkgZnJvbSAKKy8vIENPTSwgc2V0IHRoZSBDb21WaXNpYmxlIGF0dHJpYnV0ZSB0byB0cnVlIG9uIHRoYXQgdHlwZS4KKworW2Fzc2VtYmx5OiBDb21WaXNpYmxlKGZhbHNlKV0KKworLy8gVGhlIGZvbGxvd2luZyBHVUlEIGlzIGZvciB0aGUgSUQgb2YgdGhlIHR5cGVsaWIgaWYgdGhpcyBwcm9qZWN0IGlzIGV4cG9zZWQgdG8gQ09NCisKK1thc3NlbWJseTogR3VpZCgiN2YxMmJjNjgtOTdhZS00MWM4LWJjNTUtODdlZjJlY2ZiMmY3IildCisKKy8vIFZlcnNpb24gaW5mb3JtYXRpb24gZm9yIGFuIGFzc2VtYmx5IGNvbnNpc3RzIG9mIHRoZSBmb2xsb3dpbmcgZm91ciB2YWx1ZXM6CisvLworLy8gICAgICBNYWpvciBWZXJzaW9uCisvLyAgICAgIE1pbm9yIFZlcnNpb24gCisvLyAgICAgIEJ1aWxkIE51bWJlcgorLy8gICAgICBSZXZpc2lvbgorLy8KKy8vIFlvdSBjYW4gc3BlY2lmeSBhbGwgdGhlIHZhbHVlcyBvciB5b3UgY2FuIGRlZmF1bHQgdGhlIEJ1aWxkIGFuZCBSZXZpc2lvbiBOdW1iZXJzIAorLy8gYnkgdXNpbmcgdGhlICcqJyBhcyBzaG93biBiZWxvdzoKKy8vIFthc3NlbWJseTogQXNzZW1ibHlWZXJzaW9uKCIxLjAuKiIpXQorCitbYXNzZW1ibHk6IEFzc2VtYmx5VmVyc2lvbigiMC4xLjAuMCIpXQorW2Fzc2VtYmx5OiBBc3NlbWJseUZpbGVWZXJzaW9uKCIwLjEuMC4wIildCisKK1thc3NlbWJseTogSW50ZXJuYWxzVmlzaWJsZVRvKCJEeW5hbWljUHJveHlHZW5Bc3NlbWJseTIiKV0KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay5UZXN0cy9Vc2VyZ3JpZC5TZGsuVGVzdHMuY3Nwcm9qIGIvVXNlcmdyaWQuU2RrLlRlc3RzL1VzZXJncmlkLlNkay5UZXN0cy5jc3Byb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTNhZmYwNAotLS0gL2Rldi9udWxsCisrKyBiL1VzZXJncmlkLlNkay5UZXN0cy9Vc2VyZ3JpZC5TZGsuVGVzdHMuY3Nwcm9qCkBAIC0wLDAgKzEsMTEwIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPCEtLQorIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKy0tPgorCis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPENvbmZpZ3VyYXRpb24gQ29uZGl0aW9uPSIgJyQoQ29uZmlndXJhdGlvbiknID09ICcnICI+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgPFBsYXRmb3JtIENvbmRpdGlvbj0iICckKFBsYXRmb3JtKScgPT0gJycgIj5BbnlDUFU8L1BsYXRmb3JtPgorICAgIDxQcm9kdWN0VmVyc2lvbj44LjAuMzA3MDM8L1Byb2R1Y3RWZXJzaW9uPgorICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICA8UHJvamVjdEd1aWQ+ezlDMjVDRkJBLTFGNTctNERGMy1CMEExLTUyRDFGOTBGMjRFNn08L1Byb2plY3RHdWlkPgorICAgIDxPdXRwdXRUeXBlPkxpYnJhcnk8L091dHB1dFR5cGU+CisgICAgPEFwcERlc2lnbmVyRm9sZGVyPlByb3BlcnRpZXM8L0FwcERlc2lnbmVyRm9sZGVyPgorICAgIDxSb290TmFtZXNwYWNlPlVzZXJncmlkLlNkay5UZXN0czwvUm9vdE5hbWVzcGFjZT4KKyAgICA8QXNzZW1ibHlOYW1lPlVzZXJncmlkLlNkay5UZXN0czwvQXNzZW1ibHlOYW1lPgorICAgIDxUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPnY0LjA8L1RhcmdldEZyYW1ld29ya1ZlcnNpb24+CisgICAgPEZpbGVBbGlnbm1lbnQ+NTEyPC9GaWxlQWxpZ25tZW50PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iICckKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJyA9PSAnRGVidWd8QW55Q1BVJyAiPgorICAgIDxEZWJ1Z1N5bWJvbHM+dHJ1ZTwvRGVidWdTeW1ib2xzPgorICAgIDxEZWJ1Z1R5cGU+ZnVsbDwvRGVidWdUeXBlPgorICAgIDxPcHRpbWl6ZT5mYWxzZTwvT3B0aW1pemU+CisgICAgPE91dHB1dFBhdGg+YmluXERlYnVnXDwvT3V0cHV0UGF0aD4KKyAgICA8RGVmaW5lQ29uc3RhbnRzPkRFQlVHO1RSQUNFPC9EZWZpbmVDb25zdGFudHM+CisgICAgPEVycm9yUmVwb3J0PnByb21wdDwvRXJyb3JSZXBvcnQ+CisgICAgPFdhcm5pbmdMZXZlbD40PC9XYXJuaW5nTGV2ZWw+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSIgJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknID09ICdSZWxlYXNlfEFueUNQVScgIj4KKyAgICA8RGVidWdUeXBlPnBkYm9ubHk8L0RlYnVnVHlwZT4KKyAgICA8T3B0aW1pemU+dHJ1ZTwvT3B0aW1pemU+CisgICAgPE91dHB1dFBhdGg+YmluXFJlbGVhc2VcPC9PdXRwdXRQYXRoPgorICAgIDxEZWZpbmVDb25zdGFudHM+VFJBQ0U8L0RlZmluZUNvbnN0YW50cz4KKyAgICA8RXJyb3JSZXBvcnQ+cHJvbXB0PC9FcnJvclJlcG9ydD4KKyAgICA8V2FybmluZ0xldmVsPjQ8L1dhcm5pbmdMZXZlbD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0ibnVuaXQuZnJhbWV3b3JrIj4KKyAgICAgIDxIaW50UGF0aD4uLlxwYWNrYWdlc1xOVW5pdC4yLjYuMlxsaWJcbnVuaXQuZnJhbWV3b3JrLmRsbDwvSGludFBhdGg+CisgICAgPC9SZWZlcmVuY2U+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJTeXN0ZW0iIC8+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJTeXN0ZW0uQ29yZSIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlN5c3RlbS5YbWwuTGlucSIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlN5c3RlbS5EYXRhLkRhdGFTZXRFeHRlbnNpb25zIiAvPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iTWljcm9zb2Z0LkNTaGFycCIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlN5c3RlbS5EYXRhIiAvPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iU3lzdGVtLlhtbCIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9Ik5TdWJzdGl0dXRlIj4KKyAgICAgIDxIaW50UGF0aD4uLlxwYWNrYWdlc1xOU3Vic3RpdHV0ZS4xLjYuMC4wXGxpYlxORVQ0MFxOU3Vic3RpdHV0ZS5kbGw8L0hpbnRQYXRoPgorICAgIDwvUmVmZXJlbmNlPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iTmV3dG9uc29mdC5Kc29uIj4KKyAgICAgIDxIaW50UGF0aD4uLlxwYWNrYWdlc1xOZXd0b25zb2Z0Lkpzb24uNC41LjExXGxpYlxuZXQ0MFxOZXd0b25zb2Z0Lkpzb24uZGxsPC9IaW50UGF0aD4KKyAgICA8L1JlZmVyZW5jZT4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlJlc3RTaGFycCI+CisgICAgICA8SGludFBhdGg+Li5ccGFja2FnZXNcUmVzdFNoYXJwLjEwNC4xXGxpYlxuZXQ0XFJlc3RTaGFycC5kbGw8L0hpbnRQYXRoPgorICAgIDwvUmVmZXJlbmNlPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJDbGllbnRUZXN0c1xDb25uZWN0aW9uVGVzdHMuY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iQ2xpZW50VGVzdHNcQWN0aXZpdHlUZXN0cy5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJDbGllbnRUZXN0c1xGZWVkVGVzdHMuY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iQ2xpZW50VGVzdHNcTm90aWZpY2F0aW9uVGVzdHMuY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iQ2xpZW50VGVzdHNcRGV2aWNlVGVzdHMuY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iQ2xpZW50VGVzdHNcR3JvdXBUZXN0cy5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJDbGllbnRUZXN0c1xVc2VyVGVzdHMuY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iQ2xpZW50VGVzdHNcRW50aXR5VGVzdHMuY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iQ2xpZW50VGVzdHNcTG9naW5UZXN0cy5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJDb25uZWN0aW9uTWFuYWdlclRlc3RzLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9IlVzZXJncmlkUmVxdWVzdFRlc3RzLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9Ik1vZGVsXE5vdGlmaWNhdGlvblJlY2lwaWVudHNUZXN0cy5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJNb2RlbFxOb3RpZmljYXRpb25UZXN0cy5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJOb3RpZmljYXRpb25zTWFuYWdlclRlc3RzLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9IkVudGl0eU1hbmFnZXJUZXN0cy5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJIZWxwZXJzLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9IkF1dGhlbnRpY2F0aW9uTWFuYWdlclRlc3RzLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9IlByb3BlcnRpZXNcQXNzZW1ibHlJbmZvLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9IkZyaWVuZC5jcyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPE5vbmUgSW5jbHVkZT0icGFja2FnZXMuY29uZmlnIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSIuLlxVc2VyZ3JpZC5TZGtcVXNlcmdyaWQuU2RrLmNzcHJvaiI+CisgICAgICA8UHJvamVjdD57NDM3RDEwOEYtNTI4Qy00QjJBLUIzOTktMDZDRjAyREVCMDhCfTwvUHJvamVjdD4KKyAgICAgIDxOYW1lPlVzZXJncmlkLlNkazwvTmFtZT4KKyAgICA8L1Byb2plY3RSZWZlcmVuY2U+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwIC8+CisgIDxJbXBvcnQgUHJvamVjdD0iJChNU0J1aWxkVG9vbHNQYXRoKVxNaWNyb3NvZnQuQ1NoYXJwLnRhcmdldHMiIC8+CisgIDwhLS0gVG8gbW9kaWZ5IHlvdXIgYnVpbGQgcHJvY2VzcywgYWRkIHlvdXIgdGFzayBpbnNpZGUgb25lIG9mIHRoZSB0YXJnZXRzIGJlbG93IGFuZCB1bmNvbW1lbnQgaXQuIAorICAgICAgIE90aGVyIHNpbWlsYXIgZXh0ZW5zaW9uIHBvaW50cyBleGlzdCwgc2VlIE1pY3Jvc29mdC5Db21tb24udGFyZ2V0cy4KKyAgPFRhcmdldCBOYW1lPSJCZWZvcmVCdWlsZCI+CisgIDwvVGFyZ2V0PgorICA8VGFyZ2V0IE5hbWU9IkFmdGVyQnVpbGQiPgorICA8L1RhcmdldD4KKyAgLS0+Cis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsuVGVzdHMvVXNlcmdyaWRSZXF1ZXN0VGVzdHMuY3MgYi9Vc2VyZ3JpZC5TZGsuVGVzdHMvVXNlcmdyaWRSZXF1ZXN0VGVzdHMuY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjVmYjdmMQotLS0gL2Rldi9udWxsCisrKyBiL1VzZXJncmlkLlNkay5UZXN0cy9Vc2VyZ3JpZFJlcXVlc3RUZXN0cy5jcwpAQCAtMCwwICsxLDE0MCBAQAor77u/Ly8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKy8vIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKwordXNpbmcgU3lzdGVtOwordXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7Cit1c2luZyBOU3Vic3RpdHV0ZTsKK3VzaW5nIE5Vbml0LkZyYW1ld29yazsKK3VzaW5nIFJlc3RTaGFycDsKK3VzaW5nIFJlc3RTaGFycC5TZXJpYWxpemVyczsKKworbmFtZXNwYWNlIFVzZXJncmlkLlNkay5UZXN0cworeworICAgIFtUZXN0Rml4dHVyZV0KKyAgICBwdWJsaWMgY2xhc3MgVXNlcmdyaWRSZXF1ZXN0VGVzdHMKKyAgICB7CisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBFeGVjdXRlSnNvblJlcXVlc3RBZGRzQXV0aG9yaXphdGlvbkhlYWRlcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciByZXN0Q2xpZW50ID0gU3Vic3RpdHV0ZS5Gb3I8SVJlc3RDbGllbnQ+KCk7CisgICAgICAgICAgICB2YXIgdXNlcmdyaWRSZXF1ZXN0ID0gbmV3IFVzZXJncmlkUmVxdWVzdCgiaHR0cDovL3VzZXJncmlkLmNvbSIsICJvcmciLCAiYXBwIiwgcmVzdENsaWVudCk7CisgICAgICAgICAgICB1c2VyZ3JpZFJlcXVlc3QuQWNjZXNzVG9rZW4gPSAiYWNjZXNzVG9rZW4iOworCisgICAgICAgICAgICB1c2VyZ3JpZFJlcXVlc3QuRXhlY3V0ZUpzb25SZXF1ZXN0KCIvcmVzb3VyY2UiLCBNZXRob2QuUE9TVCk7CisKKworICAgICAgICAgICAgRnVuYzxSZXN0UmVxdWVzdCwgYm9vbD4gVmFsaWRhdGVSZXF1ZXN0ID0gciA9PiByLlBhcmFtZXRlcnNbMF0uTmFtZSA9PSAiQXV0aG9yaXphdGlvbiIgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZylyLlBhcmFtZXRlcnNbMF0uVmFsdWUgPT0gIkJlYXJlciBhY2Nlc3NUb2tlbiIgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgci5QYXJhbWV0ZXJzWzBdLlR5cGUgPT0gUGFyYW1ldGVyVHlwZS5IdHRwSGVhZGVyICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIuTWV0aG9kID09IE1ldGhvZC5QT1NUOworICAgICAgICAgICAgcmVzdENsaWVudC5SZWNlaXZlZCgxKS5FeGVjdXRlKEFyZy5JczxSZXN0UmVxdWVzdD4ocj0+VmFsaWRhdGVSZXF1ZXN0KHIpKSk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgR2VuZXJpY0V4ZWN1dGVKc29uUmVxdWVzdEFkZHNBdXRob3JpemF0aW9uSGVhZGVyKCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIHJlc3RDbGllbnQgPSBTdWJzdGl0dXRlLkZvcjxJUmVzdENsaWVudD4oKTsKKyAgICAgICAgICAgIHZhciB1c2VyZ3JpZFJlcXVlc3QgPSBuZXcgVXNlcmdyaWRSZXF1ZXN0KCJodHRwOi8vdXNlcmdyaWQuY29tIiwgIm9yZyIsICJhcHAiLCByZXN0Q2xpZW50KTsKKyAgICAgICAgICAgIHVzZXJncmlkUmVxdWVzdC5BY2Nlc3NUb2tlbiA9ICJhY2Nlc3NUb2tlbiI7CisKKyAgICAgICAgICAgIHVzZXJncmlkUmVxdWVzdC5FeGVjdXRlSnNvblJlcXVlc3Q8b2JqZWN0PigiL3Jlc291cmNlIiwgTWV0aG9kLlBPU1QpOworCisKKyAgICAgICAgICAgIEZ1bmM8UmVzdFJlcXVlc3QsIGJvb2w+IFZhbGlkYXRlUmVxdWVzdCA9IHIgPT4gci5QYXJhbWV0ZXJzWzBdLk5hbWUgPT0gIkF1dGhvcml6YXRpb24iICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmcpci5QYXJhbWV0ZXJzWzBdLlZhbHVlID09ICJCZWFyZXIgYWNjZXNzVG9rZW4iICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIuUGFyYW1ldGVyc1swXS5UeXBlID09IFBhcmFtZXRlclR5cGUuSHR0cEhlYWRlciAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByLk1ldGhvZCA9PSBNZXRob2QuUE9TVDsKKyAgICAgICAgICAgIHJlc3RDbGllbnQuUmVjZWl2ZWQoMSkuRXhlY3V0ZTxvYmplY3Q+KEFyZy5JczxSZXN0UmVxdWVzdD4ocj0+VmFsaWRhdGVSZXF1ZXN0KHIpKSk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgRXhlY3V0ZUpzb25SZXF1ZXN0QWRkc0JvZHlBc0pzb25BbmRTZXRzU2VyaWFsaXplcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciByZXN0Q2xpZW50ID0gU3Vic3RpdHV0ZS5Gb3I8SVJlc3RDbGllbnQ+KCk7CisgICAgICAgICAgICB2YXIgYm9keSA9IG5ldyB7ZGF0YT0idGVzdCJ9OworICAgICAgICAgICAgdmFyIHVzZXJncmlkUmVxdWVzdCA9IG5ldyBVc2VyZ3JpZFJlcXVlc3QoImh0dHA6Ly91c2VyZ3JpZC5jb20iLCAib3JnIiwgImFwcCIsIHJlc3RDbGllbnQpOworCisgICAgICAgICAgICB1c2VyZ3JpZFJlcXVlc3QuRXhlY3V0ZUpzb25SZXF1ZXN0KCIvcmVzb3VyY2UiLCBNZXRob2QuUE9TVCwgYm9keSk7CisKKworICAgICAgICAgICAgRnVuYzxSZXN0UmVxdWVzdCwgYm9vbD4gVmFsaWRhdGVSZXF1ZXN0ID0gciA9PiAKKyAgICAgICAgICAgICAgICAoc3RyaW5nKXIuUGFyYW1ldGVyc1swXS5WYWx1ZSA9PSAie1wiZGF0YVwiOlwidGVzdFwifSImJiAKKyAgICAgICAgICAgICAgICByLlJlcXVlc3RGb3JtYXQgPT0gRGF0YUZvcm1hdC5Kc29uICYmCisgICAgICAgICAgICAgICAgci5Kc29uU2VyaWFsaXplciBpcyBSZXN0U2hhcnBKc29uU2VyaWFsaXplcjsKKyAgICAgICAgICAgIHJlc3RDbGllbnQuUmVjZWl2ZWQoMSkuRXhlY3V0ZShBcmcuSXM8UmVzdFJlcXVlc3Q+KHIgPT4gVmFsaWRhdGVSZXF1ZXN0KHIpKSk7CisgICAgICAgIH0KKworICAgICAgICBbVGVzdF0KKyAgICAgICAgcHVibGljIHZvaWQgR2VuZXJpY0V4ZWN1dGVKc29uUmVxdWVzdEFkZHNCb2R5QXNKc29uQW5kU2V0c1NlcmlhbGl6ZXIoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgcmVzdENsaWVudCA9IFN1YnN0aXR1dGUuRm9yPElSZXN0Q2xpZW50PigpOworICAgICAgICAgICAgdmFyIGJvZHkgPSBuZXcge2RhdGE9InRlc3QifTsKKyAgICAgICAgICAgIHZhciB1c2VyZ3JpZFJlcXVlc3QgPSBuZXcgVXNlcmdyaWRSZXF1ZXN0KCJodHRwOi8vdXNlcmdyaWQuY29tIiwgIm9yZyIsICJhcHAiLCByZXN0Q2xpZW50KTsKKworICAgICAgICAgICAgdXNlcmdyaWRSZXF1ZXN0LkV4ZWN1dGVKc29uUmVxdWVzdDxvYmplY3Q+KCIvcmVzb3VyY2UiLCBNZXRob2QuUE9TVCwgYm9keSk7CisKKworICAgICAgICAgICAgRnVuYzxSZXN0UmVxdWVzdCwgYm9vbD4gVmFsaWRhdGVSZXF1ZXN0ID0gciA9PiAKKyAgICAgICAgICAgICAgICAoc3RyaW5nKXIuUGFyYW1ldGVyc1swXS5WYWx1ZSA9PSAie1wiZGF0YVwiOlwidGVzdFwifSImJiAKKyAgICAgICAgICAgICAgICByLlJlcXVlc3RGb3JtYXQgPT0gRGF0YUZvcm1hdC5Kc29uICYmCisgICAgICAgICAgICAgICAgci5Kc29uU2VyaWFsaXplciBpcyBSZXN0U2hhcnBKc29uU2VyaWFsaXplcjsKKyAgICAgICAgICAgIHJlc3RDbGllbnQuUmVjZWl2ZWQoMSkuRXhlY3V0ZTxvYmplY3Q+KEFyZy5JczxSZXN0UmVxdWVzdD4ociA9PiBWYWxpZGF0ZVJlcXVlc3QocikpKTsKKyAgICAgICAgfQorCisgICAgICAgIFtUZXN0XQorICAgICAgICBwdWJsaWMgdm9pZCBFeGVjdXRlTXVsdGlwYXJ0Rm9ybURhdGFSZXF1ZXN0QWRkc0Zvcm1zUGFyYW1ldGVyc0FuZEZpbGVQYXJhbWV0ZXJzKCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIHJlc3RDbGllbnQgPSBTdWJzdGl0dXRlLkZvcjxJUmVzdENsaWVudD4oKTsKKyAgICAgICAgICAgIHZhciB1c2VyZ3JpZFJlcXVlc3QgPSBuZXcgVXNlcmdyaWRSZXF1ZXN0KCJodHRwOi8vdXNlcmdyaWQuY29tIiwgIm9yZyIsICJhcHAiLCByZXN0Q2xpZW50KTsKKworICAgICAgICAgICAgSURpY3Rpb25hcnk8c3RyaW5nLCBvYmplY3Q+IGZvcm1QYXJhbWV0ZXJzID0gbmV3IERpY3Rpb25hcnk8c3RyaW5nLCBvYmplY3Q+KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsicGFyYW0xIiwgInZhbHVlMSJ9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7InBhcmFtMiIsICJ2YWx1ZTIifQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07CisKKyAgICAgICAgICAgIElEaWN0aW9uYXJ5PHN0cmluZywgc3RyaW5nPiBmaWxlUGFyYW1ldGVycyA9IG5ldyBEaWN0aW9uYXJ5PHN0cmluZywgc3RyaW5nPigpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImZpbGVQYXJhbTEiLCAiZmlsZVBhdGgxIn0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9OworCisgICAgICAgICAgICB1c2VyZ3JpZFJlcXVlc3QuRXhlY3V0ZU11bHRpcGFydEZvcm1EYXRhUmVxdWVzdCgiL3Jlc291cmNlIiwgTWV0aG9kLlBPU1QsIGZvcm1QYXJhbWV0ZXJzLCBmaWxlUGFyYW1ldGVycyk7CisKKworICAgICAgICAgICAgRnVuYzxSZXN0UmVxdWVzdCwgYm9vbD4gVmFsaWRhdGVSZXF1ZXN0ID0gciA9PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc1ZhbGlkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNWYWxpZCAmPSByLlBhcmFtZXRlcnNbMF0uTmFtZSA9PSAicGFyYW0xIjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNWYWxpZCAmPSAoc3RyaW5nKXIuUGFyYW1ldGVyc1swXS5WYWx1ZSA9PSAidmFsdWUxIjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNWYWxpZCAmPSByLlBhcmFtZXRlcnNbMF0uVHlwZSA9PSBQYXJhbWV0ZXJUeXBlLkdldE9yUG9zdDsKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkICY9IHIuUGFyYW1ldGVyc1sxXS5OYW1lID09ICJwYXJhbTIiOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkICY9IChzdHJpbmcpci5QYXJhbWV0ZXJzWzFdLlZhbHVlID09ICJ2YWx1ZTIiOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkICY9IHIuUGFyYW1ldGVyc1sxXS5UeXBlID09IFBhcmFtZXRlclR5cGUuR2V0T3JQb3N0OworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzVmFsaWQgJj0gci5GaWxlc1swXS5OYW1lID09ICJmaWxlUGFyYW0xIjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNWYWxpZCAmPSByLkZpbGVzWzBdLkZpbGVOYW1lID09ICJmaWxlUGF0aDEiOworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpc1ZhbGlkOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07CisKKworICAgICAgICAgICAgcmVzdENsaWVudC5SZWNlaXZlZCgxKS5FeGVjdXRlKEFyZy5JczxSZXN0UmVxdWVzdD4ociA9PiBWYWxpZGF0ZVJlcXVlc3QocikpKTsKKworCisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsuVGVzdHMvcGFja2FnZXMuY29uZmlnIGIvVXNlcmdyaWQuU2RrLlRlc3RzL3BhY2thZ2VzLmNvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mM2I1ZGM5Ci0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrLlRlc3RzL3BhY2thZ2VzLmNvbmZpZwpAQCAtMCwwICsxLDI0IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPCEtLQorIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKy0tPgorCis8cGFja2FnZXM+CisgIDxwYWNrYWdlIGlkPSJOZXd0b25zb2Z0Lkpzb24iIHZlcnNpb249IjQuNS4xMSIgdGFyZ2V0RnJhbWV3b3JrPSJuZXQ0MCIgLz4KKyAgPHBhY2thZ2UgaWQ9Ik5TdWJzdGl0dXRlIiB2ZXJzaW9uPSIxLjYuMC4wIiB0YXJnZXRGcmFtZXdvcms9Im5ldDQwIiAvPgorICA8cGFja2FnZSBpZD0iTlVuaXQiIHZlcnNpb249IjIuNi4yIiB0YXJnZXRGcmFtZXdvcms9Im5ldDQwIiAvPgorICA8cGFja2FnZSBpZD0iUmVzdFNoYXJwIiB2ZXJzaW9uPSIxMDQuMSIgdGFyZ2V0RnJhbWV3b3JrPSJuZXQ0MCIgLz4KKzwvcGFja2FnZXM+CmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsvQ2xpZW50LmNzIGIvVXNlcmdyaWQuU2RrL0NsaWVudC5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ODcwYzMzCi0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrL0NsaWVudC5jcwpAQCAtMCwwICsxLDI2MiBAQAor77u/Ly8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKy8vIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKK3VzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljOwordXNpbmcgU3lzdGVtLk5ldDsKK3VzaW5nIE5ld3RvbnNvZnQuSnNvbjsKK3VzaW5nIFJlc3RTaGFycDsKK3VzaW5nIFVzZXJncmlkLlNkay5NYW5hZ2VyOwordXNpbmcgVXNlcmdyaWQuU2RrLk1vZGVsOwordXNpbmcgVXNlcmdyaWQuU2RrLlBheWxvYWQ7Cit1c2luZyBBdXRoZW50aWNhdGlvbk1hbmFnZXIgPSBVc2VyZ3JpZC5TZGsuTWFuYWdlci5BdXRoZW50aWNhdGlvbk1hbmFnZXI7CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsgeworICAgIHB1YmxpYyBjbGFzcyBDbGllbnQgOiBJQ2xpZW50IHsKKyAgICAgICAgcHJpdmF0ZSBjb25zdCBzdHJpbmcgVXNlckdyaWRFbmRQb2ludCA9ICJodHRwOi8vYXBpLnVzZXJncmlkLmNvbSI7CisgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgSVVzZXJncmlkUmVxdWVzdCBfcmVxdWVzdDsKKworICAgICAgICBwcml2YXRlIElBdXRoZW50aWNhdGlvbk1hbmFnZXIgX2F1dGhlbnRpY2F0aW9uTWFuYWdlcjsKKyAgICAgICAgcHJpdmF0ZSBJQ29ubmVjdGlvbk1hbmFnZXIgX2Nvbm5lY3Rpb25NYW5hZ2VyOworICAgICAgICBwcml2YXRlIElFbnRpdHlNYW5hZ2VyIF9lbnRpdHlNYW5hZ2VyOworICAgICAgICBwcml2YXRlIElOb3RpZmljYXRpb25zTWFuYWdlciBfbm90aWZpY2F0aW9uc01hbmFnZXI7CisKKyAgICAgICAgcHVibGljIENsaWVudChzdHJpbmcgb3JnYW5pemF0aW9uLCBzdHJpbmcgYXBwbGljYXRpb24pCisgICAgICAgICAgICA6IHRoaXMob3JnYW5pemF0aW9uLCBhcHBsaWNhdGlvbiwgVXNlckdyaWRFbmRQb2ludCwgbmV3IFVzZXJncmlkUmVxdWVzdChVc2VyR3JpZEVuZFBvaW50LCBvcmdhbml6YXRpb24sIGFwcGxpY2F0aW9uKSkge30KKworICAgICAgICBwdWJsaWMgQ2xpZW50KHN0cmluZyBvcmdhbml6YXRpb24sIHN0cmluZyBhcHBsaWNhdGlvbiwgc3RyaW5nIHVyaSA9IFVzZXJHcmlkRW5kUG9pbnQpCisgICAgICAgICAgICA6IHRoaXMob3JnYW5pemF0aW9uLCBhcHBsaWNhdGlvbiwgdXJpLCBuZXcgVXNlcmdyaWRSZXF1ZXN0KHVyaSwgb3JnYW5pemF0aW9uLCBhcHBsaWNhdGlvbikpIHt9CisKKyAgICAgICAgaW50ZXJuYWwgQ2xpZW50KHN0cmluZyBvcmdhbml6YXRpb24sIHN0cmluZyBhcHBsaWNhdGlvbiwgc3RyaW5nIHVyaSA9IFVzZXJHcmlkRW5kUG9pbnQsIElVc2VyZ3JpZFJlcXVlc3QgcmVxdWVzdCA9IG51bGwpIHsKKyAgICAgICAgICAgIF9yZXF1ZXN0ID0gcmVxdWVzdCA/PyBuZXcgVXNlcmdyaWRSZXF1ZXN0KHVyaSwgb3JnYW5pemF0aW9uLCBhcHBsaWNhdGlvbik7CisgICAgICAgIH0KKworICAgICAgICBpbnRlcm5hbCBJQXV0aGVudGljYXRpb25NYW5hZ2VyIEF1dGhlbnRpY2F0aW9uTWFuYWdlciB7CisgICAgICAgICAgICBnZXQgeyByZXR1cm4gX2F1dGhlbnRpY2F0aW9uTWFuYWdlciA/PyAoX2F1dGhlbnRpY2F0aW9uTWFuYWdlciA9IG5ldyBBdXRoZW50aWNhdGlvbk1hbmFnZXIoX3JlcXVlc3QpKTsgfQorICAgICAgICAgICAgc2V0IHsgX2F1dGhlbnRpY2F0aW9uTWFuYWdlciA9IHZhbHVlOyB9CisgICAgICAgIH0KKworICAgICAgICBpbnRlcm5hbCBJRW50aXR5TWFuYWdlciBFbnRpdHlNYW5hZ2VyIHsKKyAgICAgICAgICAgIGdldCB7IHJldHVybiBfZW50aXR5TWFuYWdlciA/PyAoX2VudGl0eU1hbmFnZXIgPSBuZXcgRW50aXR5TWFuYWdlcihfcmVxdWVzdCkpOyB9CisgICAgICAgICAgICBzZXQgeyBfZW50aXR5TWFuYWdlciA9IHZhbHVlOyB9CisgICAgICAgIH0KKworICAgICAgICBpbnRlcm5hbCBJQ29ubmVjdGlvbk1hbmFnZXIgQ29ubmVjdGlvbk1hbmFnZXIgeworICAgICAgICAgICAgZ2V0IHsgcmV0dXJuIF9jb25uZWN0aW9uTWFuYWdlciA/PyAoX2Nvbm5lY3Rpb25NYW5hZ2VyID0gbmV3IENvbm5lY3Rpb25NYW5hZ2VyKF9yZXF1ZXN0KSk7IH0KKyAgICAgICAgICAgIHNldCB7IF9jb25uZWN0aW9uTWFuYWdlciA9IHZhbHVlOyB9CisgICAgICAgIH0KKworICAgICAgICBpbnRlcm5hbCBJTm90aWZpY2F0aW9uc01hbmFnZXIgTm90aWZpY2F0aW9uc01hbmFnZXIgeworICAgICAgICAgICAgZ2V0IHsgcmV0dXJuIF9ub3RpZmljYXRpb25zTWFuYWdlciA/PyAoX25vdGlmaWNhdGlvbnNNYW5hZ2VyID0gbmV3IE5vdGlmaWNhdGlvbnNNYW5hZ2VyKF9yZXF1ZXN0KSk7IH0KKyAgICAgICAgICAgIHNldCB7IF9ub3RpZmljYXRpb25zTWFuYWdlciA9IHZhbHVlOyB9CisgICAgICAgIH0KKworICAgICAgICBwdWJsaWMgdm9pZCBMb2dpbihzdHJpbmcgbG9naW5JZCwgc3RyaW5nIHNlY3JldCwgQXV0aFR5cGUgYXV0aFR5cGUpIHsKKyAgICAgICAgICAgIEF1dGhlbnRpY2F0aW9uTWFuYWdlci5Mb2dpbihsb2dpbklkLCBzZWNyZXQsIGF1dGhUeXBlKTsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyBUIENyZWF0ZUVudGl0eTxUPihzdHJpbmcgY29sbGVjdGlvbiwgVCBlbnRpdHkpIHsKKyAgICAgICAgICAgIHJldHVybiBFbnRpdHlNYW5hZ2VyLkNyZWF0ZUVudGl0eShjb2xsZWN0aW9uLCBlbnRpdHkpOworICAgICAgICB9CisKKyAgICAgICAgcHVibGljIHZvaWQgRGVsZXRlRW50aXR5KHN0cmluZyBjb2xsZWN0aW9uLCBzdHJpbmcgbmFtZSkgeworICAgICAgICAgICAgRW50aXR5TWFuYWdlci5EZWxldGVFbnRpdHkoY29sbGVjdGlvbiwgbmFtZSk7CisgICAgICAgIH0KKworICAgICAgICBwdWJsaWMgdm9pZCBVcGRhdGVFbnRpdHk8VD4oc3RyaW5nIGNvbGxlY3Rpb24sIHN0cmluZyBpZGVudGlmaWVyLCBUIGVudGl0eSkgeworICAgICAgICAgICAgRW50aXR5TWFuYWdlci5VcGRhdGVFbnRpdHkoY29sbGVjdGlvbiwgaWRlbnRpZmllciwgZW50aXR5KTsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyBUIEdldEVudGl0eTxUPihzdHJpbmcgY29sbGVjdGlvbk5hbWUsIHN0cmluZyBlbnRpdHlJZGVudGlmaWVyKSB7CisgICAgICAgICAgICByZXR1cm4gRW50aXR5TWFuYWdlci5HZXRFbnRpdHk8VD4oY29sbGVjdGlvbk5hbWUsIGVudGl0eUlkZW50aWZpZXIpOworICAgICAgICB9CisKKyAgICAgICAgcHVibGljIFQgR2V0VXNlcjxUPihzdHJpbmcgaWRlbnRpZmVyIC8qdXNlcm5hbWUgb3IgdXVpZCBvciBlbWFpbCovKSB3aGVyZSBUIDogVXNlcmdyaWRVc2VyIHsKKyAgICAgICAgICAgIHZhciB1c2VyID0gR2V0RW50aXR5PFQ+KCJ1c2VycyIsIGlkZW50aWZlcik7CisgICAgICAgICAgICBpZiAodXNlciA9PSBudWxsKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxsOworCisgICAgICAgICAgICByZXR1cm4gdXNlcjsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyB2b2lkIENyZWF0ZVVzZXI8VD4oVCB1c2VyKSB3aGVyZSBUIDogVXNlcmdyaWRVc2VyIHsKKyAgICAgICAgICAgIENyZWF0ZUVudGl0eSgidXNlcnMiLCB1c2VyKTsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyB2b2lkIFVwZGF0ZVVzZXI8VD4oVCB1c2VyKSB3aGVyZSBUIDogVXNlcmdyaWRVc2VyIHsKKyAgICAgICAgICAgIFVwZGF0ZUVudGl0eSgidXNlcnMiLCB1c2VyLlVzZXJOYW1lLCB1c2VyKTsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyB2b2lkIERlbGV0ZVVzZXIoc3RyaW5nIGlkZW50aWZlciAvKnVzZXJuYW1lIG9yIHV1aWQgb3IgZW1haWwqLykgeworICAgICAgICAgICAgRGVsZXRlRW50aXR5KCJ1c2VycyIsIGlkZW50aWZlcik7CisgICAgICAgIH0KKworICAgICAgICBwdWJsaWMgdm9pZCBDaGFuZ2VQYXNzd29yZChzdHJpbmcgaWRlbnRpZmVyIC8qdXNlcm5hbWUgb3IgdXVpZCBvciBlbWFpbCovLCBzdHJpbmcgb2xkUGFzc3dvcmQsIHN0cmluZyBuZXdQYXNzd29yZCkgeworICAgICAgICAgICAgQXV0aGVudGljYXRpb25NYW5hZ2VyLkNoYW5nZVBhc3N3b3JkKGlkZW50aWZlciwgb2xkUGFzc3dvcmQsIG5ld1Bhc3N3b3JkKTsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyB2b2lkIENyZWF0ZUdyb3VwPFQ+KFQgZ3JvdXApIHdoZXJlIFQgOiBVc2VyZ3JpZEdyb3VwIHsKKyAgICAgICAgICAgIENyZWF0ZUVudGl0eSgiZ3JvdXBzIiwgZ3JvdXApOworICAgICAgICB9CisKKyAgICAgICAgcHVibGljIHZvaWQgRGVsZXRlR3JvdXAoc3RyaW5nIHBhdGgpIHsKKyAgICAgICAgICAgIERlbGV0ZUVudGl0eSgiZ3JvdXBzIiwgcGF0aCk7CisgICAgICAgIH0KKworICAgICAgICBwdWJsaWMgVCBHZXRHcm91cDxUPihzdHJpbmcgaWRlbnRpZmVyIC8qdXVpZCBvciBwYXRoKi8pIHdoZXJlIFQgOiBVc2VyZ3JpZEdyb3VwIHsKKyAgICAgICAgICAgIHZhciB1c2VyZ3JpZEdyb3VwID0gRW50aXR5TWFuYWdlci5HZXRFbnRpdHk8VD4oImdyb3VwcyIsIGlkZW50aWZlcik7CisgICAgICAgICAgICBpZiAodXNlcmdyaWRHcm91cCA9PSBudWxsKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxsOworCisgICAgICAgICAgICByZXR1cm4gdXNlcmdyaWRHcm91cDsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyB2b2lkIFVwZGF0ZUdyb3VwPFQ+KFQgZ3JvdXApIHdoZXJlIFQgOiBVc2VyZ3JpZEdyb3VwIHsKKyAgICAgICAgICAgIFVwZGF0ZUVudGl0eSgiZ3JvdXBzIiwgZ3JvdXAuUGF0aCwgZ3JvdXApOworICAgICAgICB9CisKKyAgICAgICAgcHVibGljIHZvaWQgQWRkVXNlclRvR3JvdXAoc3RyaW5nIGdyb3VwSWRlbnRpZmllciwgc3RyaW5nIHVzZXJOYW1lKSB7CisgICAgICAgICAgICBFbnRpdHlNYW5hZ2VyLkNyZWF0ZUVudGl0eTxvYmplY3Q+KHN0cmluZy5Gb3JtYXQoIi9ncm91cHMvezB9L3VzZXJzL3sxfSIsIGdyb3VwSWRlbnRpZmllciwgdXNlck5hbWUpLCBudWxsKTsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyB2b2lkIERlbGV0ZVVzZXJGcm9tR3JvdXAoc3RyaW5nIGdyb3VwSWRlbnRpZmllciwgc3RyaW5nIHVzZXJJZGVudGlmaWVyKSB7CisgICAgICAgICAgICBEZWxldGVFbnRpdHkoIi9ncm91cHMvIiArIGdyb3VwSWRlbnRpZmllciArICIvdXNlcnMiLCB1c2VySWRlbnRpZmllcik7CisgICAgICAgIH0KKworICAgICAgICBwdWJsaWMgSUxpc3Q8VD4gR2V0QWxsVXNlcnNJbkdyb3VwPFQ+KHN0cmluZyBncm91cE5hbWUpIHdoZXJlIFQgOiBVc2VyZ3JpZFVzZXIgeworICAgICAgICAgICAgSVJlc3RSZXNwb25zZSByZXNwb25zZSA9IF9yZXF1ZXN0LkV4ZWN1dGVKc29uUmVxdWVzdChzdHJpbmcuRm9ybWF0KCIvZ3JvdXBzL3swfS91c2VycyIsIGdyb3VwTmFtZSksIE1ldGhvZC5HRVQpOworICAgICAgICAgICAgVmFsaWRhdGVSZXNwb25zZShyZXNwb25zZSk7CisKKyAgICAgICAgICAgIHZhciByZXNwb25zZU9iamVjdCA9IEpzb25Db252ZXJ0LkRlc2VyaWFsaXplT2JqZWN0PFVzZXJncmlkR2V0UmVzcG9uc2U8VD4+KHJlc3BvbnNlLkNvbnRlbnQpOworICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlT2JqZWN0LkVudGl0aWVzOworICAgICAgICB9CisKKyAgICAgICAgcHVibGljIFVzZXJncmlkQ29sbGVjdGlvbjxUPiBHZXRFbnRpdGllczxUPihzdHJpbmcgY29sbGVjdGlvbiwgaW50IGxpbWl0ID0gMTAsIHN0cmluZyBxdWVyeSA9IG51bGwpIHsKKyAgICAgICAgICAgIHJldHVybiBFbnRpdHlNYW5hZ2VyLkdldEVudGl0aWVzPFQ+KGNvbGxlY3Rpb24sIGxpbWl0LCBxdWVyeSk7CisgICAgICAgIH0KKworICAgICAgICBwdWJsaWMgVXNlcmdyaWRDb2xsZWN0aW9uPFQ+IEdldE5leHRFbnRpdGllczxUPihzdHJpbmcgY29sbGVjdGlvbiwgc3RyaW5nIHF1ZXJ5ID0gbnVsbCkgeworICAgICAgICAgICAgcmV0dXJuIEVudGl0eU1hbmFnZXIuR2V0TmV4dEVudGl0aWVzPFQ+KGNvbGxlY3Rpb24sIHF1ZXJ5KTsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyBVc2VyZ3JpZENvbGxlY3Rpb248VD4gR2V0UHJldmlvdXNFbnRpdGllczxUPihzdHJpbmcgY29sbGVjdGlvbiwgc3RyaW5nIHF1ZXJ5ID0gbnVsbCkgeworICAgICAgICAgICAgcmV0dXJuIEVudGl0eU1hbmFnZXIuR2V0UHJldmlvdXNFbnRpdGllczxUPihjb2xsZWN0aW9uLCBxdWVyeSk7CisgICAgICAgIH0KKworICAgICAgICBwdWJsaWMgdm9pZCBDcmVhdGVDb25uZWN0aW9uKENvbm5lY3Rpb24gY29ubmVjdGlvbikgeworICAgICAgICAgICAgQ29ubmVjdGlvbk1hbmFnZXIuQ3JlYXRlQ29ubmVjdGlvbihjb25uZWN0aW9uKTsKKyAgICAgICAgfQorICAgICAgICBwdWJsaWMgSUxpc3Q8VXNlcmdyaWRFbnRpdHk+IEdldENvbm5lY3Rpb25zKENvbm5lY3Rpb24gY29ubmVjdGlvbikgeworICAgICAgICAgICAgcmV0dXJuIENvbm5lY3Rpb25NYW5hZ2VyLkdldENvbm5lY3Rpb25zKGNvbm5lY3Rpb24pOworICAgICAgICB9CisgICAgICAgIHB1YmxpYyBJTGlzdDxUQ29ubmVjdGVlPiBHZXRDb25uZWN0aW9uczxUQ29ubmVjdGVlPihDb25uZWN0aW9uIGNvbm5lY3Rpb24pIHsKKyAgICAgICAgICAgIHJldHVybiBDb25uZWN0aW9uTWFuYWdlci5HZXRDb25uZWN0aW9uczxUQ29ubmVjdGVlPihjb25uZWN0aW9uKTsKKyAgICAgICAgfQorICAgICAgICBwdWJsaWMgdm9pZCBEZWxldGVDb25uZWN0aW9uKENvbm5lY3Rpb24gY29ubmVjdGlvbikgeworICAgICAgICAgICAgQ29ubmVjdGlvbk1hbmFnZXIuRGVsZXRlQ29ubmVjdGlvbihjb25uZWN0aW9uKTsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyB2b2lkIFBvc3RBY3Rpdml0eTxUPihzdHJpbmcgdXNlcklkZW50aWZpZXIsIFQgYWN0aXZpdHkpIHdoZXJlIFQgOiBVc2VyZ3JpZEFjdGl2aXR5IHsKKyAgICAgICAgICAgIHN0cmluZyBjb2xsZWN0aW9uID0gc3RyaW5nLkZvcm1hdCgiL3VzZXJzL3swfS9hY3Rpdml0aWVzIiwgdXNlcklkZW50aWZpZXIpOworICAgICAgICAgICAgRW50aXR5TWFuYWdlci5DcmVhdGVFbnRpdHkoY29sbGVjdGlvbiwgYWN0aXZpdHkpOworICAgICAgICB9CisKKyAgICAgICAgcHVibGljIHZvaWQgUG9zdEFjdGl2aXR5VG9Hcm91cDxUPihzdHJpbmcgZ3JvdXBJZGVudGlmaWVyLCBUIGFjdGl2aXR5KSB3aGVyZSBUIDogVXNlcmdyaWRBY3Rpdml0eSB7CisgICAgICAgICAgICBzdHJpbmcgY29sbGVjdGlvbiA9IHN0cmluZy5Gb3JtYXQoIi9ncm91cHMvezB9L2FjdGl2aXRpZXMiLCBncm91cElkZW50aWZpZXIpOworICAgICAgICAgICAgRW50aXR5TWFuYWdlci5DcmVhdGVFbnRpdHkoY29sbGVjdGlvbiwgYWN0aXZpdHkpOworICAgICAgICB9CisKKyAgICAgICAgcHVibGljIHZvaWQgUG9zdEFjdGl2aXR5VG9Vc2Vyc0ZvbGxvd2Vyc0luR3JvdXA8VD4oc3RyaW5nIHVzZXJJZGVudGlmaWVyLCBzdHJpbmcgZ3JvdXBJZGVudGlmaWVyLCBUIGFjdGl2aXR5KSB3aGVyZSBUIDogVXNlcmdyaWRBY3Rpdml0eSB7CisgICAgICAgICAgICBzdHJpbmcgY29sbGVjdGlvbiA9IHN0cmluZy5Gb3JtYXQoIi9ncm91cHMvezB9L3VzZXJzL3sxfS9hY3Rpdml0aWVzIiwgZ3JvdXBJZGVudGlmaWVyLCB1c2VySWRlbnRpZmllcik7CisgICAgICAgICAgICBFbnRpdHlNYW5hZ2VyLkNyZWF0ZUVudGl0eShjb2xsZWN0aW9uLCBhY3Rpdml0eSk7CisgICAgICAgIH0KKworICAgICAgICBwdWJsaWMgVXNlcmdyaWRDb2xsZWN0aW9uPFQ+IEdldFVzZXJBY3Rpdml0aWVzPFQ+KHN0cmluZyB1c2VySWRlbnRpZmllcikgd2hlcmUgVCA6IFVzZXJncmlkQWN0aXZpdHkgeworICAgICAgICAgICAgc3RyaW5nIGNvbGxlY3Rpb24gPSBzdHJpbmcuRm9ybWF0KCIvdXNlcnMvezB9L2FjdGl2aXRpZXMiLCB1c2VySWRlbnRpZmllcik7CisgICAgICAgICAgICByZXR1cm4gRW50aXR5TWFuYWdlci5HZXRFbnRpdGllczxUPihjb2xsZWN0aW9uKTsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyBVc2VyZ3JpZENvbGxlY3Rpb248VD4gR2V0R3JvdXBBY3Rpdml0aWVzPFQ+KHN0cmluZyBncm91cElkZW50aWZpZXIpIHdoZXJlIFQgOiBVc2VyZ3JpZEFjdGl2aXR5IHsKKyAgICAgICAgICAgIHN0cmluZyBjb2xsZWN0aW9uID0gc3RyaW5nLkZvcm1hdCgiL2dyb3Vwcy97MH0vYWN0aXZpdGllcyIsIGdyb3VwSWRlbnRpZmllcik7CisgICAgICAgICAgICByZXR1cm4gRW50aXR5TWFuYWdlci5HZXRFbnRpdGllczxUPihjb2xsZWN0aW9uKTsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyBUIEdldERldmljZTxUPihzdHJpbmcgaWRlbnRpZmVyKSB3aGVyZSBUIDogVXNlcmdyaWREZXZpY2UgeworICAgICAgICAgICAgdmFyIGRldmljZSA9IEdldEVudGl0eTxUPigiZGV2aWNlcyIsIGlkZW50aWZlcik7CisgICAgICAgICAgICBpZiAoZGV2aWNlID09IG51bGwpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CisKKyAgICAgICAgICAgIHJldHVybiBkZXZpY2U7CisgICAgICAgIH0KKworICAgICAgICBwdWJsaWMgdm9pZCBVcGRhdGVEZXZpY2U8VD4oVCBkZXZpY2UpIHdoZXJlIFQgOiBVc2VyZ3JpZERldmljZSB7CisgICAgICAgICAgICBVcGRhdGVFbnRpdHkoImRldmljZXMiLCBkZXZpY2UuTmFtZSwgZGV2aWNlKTsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyB2b2lkIENyZWF0ZURldmljZTxUPihUIGRldmljZSkgd2hlcmUgVCA6IFVzZXJncmlkRGV2aWNlIHsKKyAgICAgICAgICAgIENyZWF0ZUVudGl0eSgiZGV2aWNlcyIsIGRldmljZSk7CisgICAgICAgIH0KKworICAgICAgICBwdWJsaWMgdm9pZCBEZWxldGVEZXZpY2Uoc3RyaW5nIGlkZW50aWZlcikgeworICAgICAgICAgICAgRGVsZXRlRW50aXR5KCJkZXZpY2VzIiwgaWRlbnRpZmVyKTsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyB2b2lkIENyZWF0ZU5vdGlmaWVyRm9yQXBwbGUoc3RyaW5nIG5vdGlmaWVyTmFtZSwgc3RyaW5nIGVudmlyb25tZW50LCBzdHJpbmcgcDEyQ2VydGlmaWNhdGVQYXRoKSB7CisgICAgICAgICAgICBOb3RpZmljYXRpb25zTWFuYWdlci5DcmVhdGVOb3RpZmllckZvckFwcGxlKG5vdGlmaWVyTmFtZSwgZW52aXJvbm1lbnQsIHAxMkNlcnRpZmljYXRlUGF0aCk7CisgICAgICAgIH0KKworICAgICAgICBwdWJsaWMgdm9pZCBDcmVhdGVOb3RpZmllckZvckFuZHJvaWQoc3RyaW5nIG5vdGlmaWVyTmFtZSwgc3RyaW5nIGFwaUtleSkgeworICAgICAgICAgICAgTm90aWZpY2F0aW9uc01hbmFnZXIuQ3JlYXRlTm90aWZpZXJGb3JBbmRyb2lkKG5vdGlmaWVyTmFtZSwgYXBpS2V5KTsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyBUIEdldE5vdGlmaWVyPFQ+KHN0cmluZyBpZGVudGlmZXIgLyp1dWlkIG9yIG5vdGlmaWVyIG5hbWUqLykgd2hlcmUgVCA6IFVzZXJncmlkTm90aWZpZXIgeworICAgICAgICAgICAgdmFyIHVzZXJncmlkTm90aWZpZXIgPSBFbnRpdHlNYW5hZ2VyLkdldEVudGl0eTxUPigiL25vdGlmaWVycyIsIGlkZW50aWZlcik7CisgICAgICAgICAgICBpZiAodXNlcmdyaWROb3RpZmllciA9PSBudWxsKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxsOworCisgICAgICAgICAgICByZXR1cm4gdXNlcmdyaWROb3RpZmllcjsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyB2b2lkIERlbGV0ZU5vdGlmaWVyKHN0cmluZyBub3RpZmllck5hbWUpIHsKKyAgICAgICAgICAgIEVudGl0eU1hbmFnZXIuRGVsZXRlRW50aXR5KCIvbm90aWZpZXJzIiwgbm90aWZpZXJOYW1lKTsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyB2b2lkIFB1Ymxpc2hOb3RpZmljYXRpb24oSUVudW1lcmFibGU8Tm90aWZpY2F0aW9uPiBub3RpZmljYXRpb25zLCBJTm90aWZpY2F0aW9uUmVjaXBpZW50cyByZWNpcGllbnRzLCBOb3RpZmljYXRpb25TY2hlZHVsZXJTZXR0aW5ncyBzY2hlZHVsZXJTZXR0aW5ncyA9IG51bGwpIHsKKyAgICAgICAgICAgIE5vdGlmaWNhdGlvbnNNYW5hZ2VyLlB1Ymxpc2hOb3RpZmljYXRpb24obm90aWZpY2F0aW9ucywgcmVjaXBpZW50cywgc2NoZWR1bGVyU2V0dGluZ3MpOworICAgICAgICB9CisKKyAgICAgICAgcHVibGljIHZvaWQgQ2FuY2VsTm90aWZpY2F0aW9uKHN0cmluZyBub3RpZmljYXRpb25JZGVudGlmaWVyKSB7CisgICAgICAgICAgICBFbnRpdHlNYW5hZ2VyLlVwZGF0ZUVudGl0eSgiL25vdGlmaWNhdGlvbnMiLCBub3RpZmljYXRpb25JZGVudGlmaWVyLCBuZXcgQ2FuY2VsTm90aWZpY2F0aW9uUGF5bG9hZCB7Q2FuY2VsZWQgPSB0cnVlfSk7CisgICAgICAgIH0KKworICAgICAgICAvL1RPRE86IElMaXN0PworICAgICAgICBwdWJsaWMgVXNlcmdyaWRDb2xsZWN0aW9uPFQ+IEdldFVzZXJGZWVkPFQ+KHN0cmluZyB1c2VySWRlbnRpZmllcikgd2hlcmUgVCA6IFVzZXJncmlkQWN0aXZpdHkgeworICAgICAgICAgICAgc3RyaW5nIGNvbGxlY3Rpb24gPSBzdHJpbmcuRm9ybWF0KCIvdXNlcnMvezB9L2ZlZWQiLCB1c2VySWRlbnRpZmllcik7CisgICAgICAgICAgICByZXR1cm4gRW50aXR5TWFuYWdlci5HZXRFbnRpdGllczxUPihjb2xsZWN0aW9uKTsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyBVc2VyZ3JpZENvbGxlY3Rpb248VD4gR2V0R3JvdXBGZWVkPFQ+KHN0cmluZyBncm91cElkZW50aWZpZXIpIHdoZXJlIFQgOiBVc2VyZ3JpZEFjdGl2aXR5IHsKKyAgICAgICAgICAgIHN0cmluZyBjb2xsZWN0aW9uID0gc3RyaW5nLkZvcm1hdCgiL2dyb3Vwcy97MH0vZmVlZCIsIGdyb3VwSWRlbnRpZmllcik7CisgICAgICAgICAgICByZXR1cm4gRW50aXR5TWFuYWdlci5HZXRFbnRpdGllczxUPihjb2xsZWN0aW9uKTsKKyAgICAgICAgfQorCisKKyAgICAgICAgcHJpdmF0ZSBzdGF0aWMgdm9pZCBWYWxpZGF0ZVJlc3BvbnNlKElSZXN0UmVzcG9uc2UgcmVzcG9uc2UpIHsKKyAgICAgICAgICAgIGlmIChyZXNwb25zZS5TdGF0dXNDb2RlICE9IEh0dHBTdGF0dXNDb2RlLk9LKSB7CisgICAgICAgICAgICAgICAgdmFyIHVzZXJHcmlkRXJyb3IgPSBKc29uQ29udmVydC5EZXNlcmlhbGl6ZU9iamVjdDxVc2VyZ3JpZEVycm9yPihyZXNwb25zZS5Db250ZW50KTsKKyAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVXNlcmdyaWRFeGNlcHRpb24odXNlckdyaWRFcnJvcik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsvSUNsaWVudC5jcyBiL1VzZXJncmlkLlNkay9JQ2xpZW50LmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyZmE4MjcKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsvSUNsaWVudC5jcwpAQCAtMCwwICsxLDczIEBACivvu78vLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKwordXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7Cit1c2luZyBVc2VyZ3JpZC5TZGsuTW9kZWw7CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsKK3sKKyAgICBwdWJsaWMgaW50ZXJmYWNlIElDbGllbnQKKyAgICB7CisgICAgICAgIHZvaWQgTG9naW4oc3RyaW5nIGxvZ2luSWQsIHN0cmluZyBzZWNyZXQsIEF1dGhUeXBlIGF1dGhUeXBlKTsKKyAgICAgICAgVCBDcmVhdGVFbnRpdHk8VD4oc3RyaW5nIGNvbGxlY3Rpb24sIFQgZW50aXR5KTsKKyAgICAgICAgdm9pZCBEZWxldGVFbnRpdHkoc3RyaW5nIGNvbGxlY3Rpb24sIHN0cmluZyBuYW1lKTsKKyAgICAgICAgdm9pZCBVcGRhdGVFbnRpdHk8VD4oc3RyaW5nIGNvbGxlY3Rpb24sIHN0cmluZyBpZGVudGlmaWVyLCBUIGVudGl0eSk7CisgICAgICAgIFQgR2V0RW50aXR5PFQ+KHN0cmluZyBjb2xsZWN0aW9uTmFtZSwgc3RyaW5nIGlkZW50aWZlcik7CisgICAgICAgIAorICAgICAgICBUIEdldFVzZXI8VD4oc3RyaW5nIGlkZW50aWZlciAvKnVzZXJuYW1lIG9yIHV1aWQgb3IgZW1haWwqLykgd2hlcmUgVCA6IFVzZXJncmlkVXNlcjsKKyAgICAgICAgdm9pZCBDcmVhdGVVc2VyPFQ+KFQgdXNlcikgd2hlcmUgVCA6IFVzZXJncmlkVXNlcjsKKyAgICAgICAgdm9pZCBVcGRhdGVVc2VyPFQ+KFQgdXNlcikgd2hlcmUgVCA6IFVzZXJncmlkVXNlcjsKKyAgICAgICAgdm9pZCBEZWxldGVVc2VyKHN0cmluZyBpZGVudGlmZXIgLyp1c2VybmFtZSBvciB1dWlkIG9yIGVtYWlsKi8pOworICAgICAgICB2b2lkIENoYW5nZVBhc3N3b3JkKHN0cmluZyBpZGVudGlmZXIgLyp1c2VybmFtZSBvciB1dWlkIG9yIGVtYWlsKi8sIHN0cmluZyBvbGRQYXNzd29yZCwgc3RyaW5nIG5ld1Bhc3N3b3JkKTsKKyAgICAgICAgdm9pZCBDcmVhdGVHcm91cDxUPihUIGdyb3VwKSB3aGVyZSBUIDogVXNlcmdyaWRHcm91cDsKKyAgICAgICAgdm9pZCBEZWxldGVHcm91cChzdHJpbmcgcGF0aCk7CisgICAgICAgIFQgR2V0R3JvdXA8VD4oc3RyaW5nIGlkZW50aWZlciAvKnV1aWQgb3IgcGF0aCovKSB3aGVyZSBUIDogVXNlcmdyaWRHcm91cDsKKyAgICAgICAgdm9pZCBVcGRhdGVHcm91cDxUPihUIGdyb3VwKSB3aGVyZSBUIDogVXNlcmdyaWRHcm91cDsKKyAgICAgICAgdm9pZCBBZGRVc2VyVG9Hcm91cChzdHJpbmcgZ3JvdXBJZGVudGlmaWVyLCBzdHJpbmcgdXNlck5hbWUpOworICAgICAgICB2b2lkIERlbGV0ZVVzZXJGcm9tR3JvdXAoc3RyaW5nIGdyb3VwSWRlbnRpZmllciwgc3RyaW5nIHVzZXJJZGVudGlmaWVyKTsKKyAgICAgICAgSUxpc3Q8VD4gR2V0QWxsVXNlcnNJbkdyb3VwPFQ+KHN0cmluZyBncm91cE5hbWUpIHdoZXJlIFQgOiBVc2VyZ3JpZFVzZXI7CisgICAgICAgIAorICAgICAgICBVc2VyZ3JpZENvbGxlY3Rpb248VD4gR2V0RW50aXRpZXM8VD4oc3RyaW5nIGNvbGxlY3Rpb24sIGludCBsaW1pdCA9IDEwLCBzdHJpbmcgcXVlcnkgPSBudWxsKTsKKyAgICAgICAgVXNlcmdyaWRDb2xsZWN0aW9uPFQ+IEdldE5leHRFbnRpdGllczxUPihzdHJpbmcgY29sbGVjdGlvbiwgc3RyaW5nIHF1ZXJ5ID0gbnVsbCk7CisgICAgICAgIFVzZXJncmlkQ29sbGVjdGlvbjxUPiBHZXRQcmV2aW91c0VudGl0aWVzPFQ+KHN0cmluZyBjb2xsZWN0aW9uLCBzdHJpbmcgcXVlcnkgPSBudWxsKTsKKworICAgICAgICB2b2lkIENyZWF0ZUNvbm5lY3Rpb24oQ29ubmVjdGlvbiBjb25uZWN0aW9uKTsKKyAgICAgICAgSUxpc3Q8VXNlcmdyaWRFbnRpdHk+IEdldENvbm5lY3Rpb25zKENvbm5lY3Rpb24gY29ubmVjdGlvbik7CisgICAgICAgIElMaXN0PFRDb25uZWN0ZWU+IEdldENvbm5lY3Rpb25zPFRDb25uZWN0ZWU+KENvbm5lY3Rpb24gY29ubmVjdGlvbik7CisgICAgICAgIHZvaWQgRGVsZXRlQ29ubmVjdGlvbihDb25uZWN0aW9uIGNvbm5lY3Rpb24pOworICAgICAgICAKKyAgICAgICAgdm9pZCBQb3N0QWN0aXZpdHk8VD4oc3RyaW5nIHVzZXJJZGVudGlmaWVyLCBUIGFjdGl2aXR5KSB3aGVyZSBUOlVzZXJncmlkQWN0aXZpdHk7CisgICAgICAgIHZvaWQgUG9zdEFjdGl2aXR5VG9Hcm91cDxUPihzdHJpbmcgZ3JvdXBJZGVudGlmaWVyLCBUIGFjdGl2aXR5KSB3aGVyZSBUOlVzZXJncmlkQWN0aXZpdHk7CisgICAgICAgIHZvaWQgUG9zdEFjdGl2aXR5VG9Vc2Vyc0ZvbGxvd2Vyc0luR3JvdXA8VD4oc3RyaW5nIHVzZXJJZGVudGlmaWVyLCBzdHJpbmcgZ3JvdXBJZGVudGlmaWVyLCBUIGFjdGl2aXR5KSB3aGVyZSBUOlVzZXJncmlkQWN0aXZpdHk7CisgICAgICAgIFVzZXJncmlkQ29sbGVjdGlvbjxUPiBHZXRVc2VyQWN0aXZpdGllczxUPihzdHJpbmcgdXNlcklkZW50aWZpZXIpIHdoZXJlIFQ6VXNlcmdyaWRBY3Rpdml0eTsKKyAgICAgICAgVXNlcmdyaWRDb2xsZWN0aW9uPFQ+IEdldEdyb3VwQWN0aXZpdGllczxUPihzdHJpbmcgZ3JvdXBJZGVudGlmaWVyKSB3aGVyZSBUOlVzZXJncmlkQWN0aXZpdHk7CisgICAgICAgIFVzZXJncmlkQ29sbGVjdGlvbjxUPiBHZXRVc2VyRmVlZDxUPihzdHJpbmcgdXNlcklkZW50aWZpZXIpIHdoZXJlIFQgOiBVc2VyZ3JpZEFjdGl2aXR5OworICAgICAgICBVc2VyZ3JpZENvbGxlY3Rpb248VD4gR2V0R3JvdXBGZWVkPFQ+KHN0cmluZyBncm91cElkZW50aWZpZXIpIHdoZXJlIFQgOiBVc2VyZ3JpZEFjdGl2aXR5OworCisKKyAgICAgICAgdm9pZCBDcmVhdGVOb3RpZmllckZvckFwcGxlKHN0cmluZyBub3RpZmllck5hbWUsIHN0cmluZyBlbnZpcm9ubWVudCwgc3RyaW5nIHAxMkNlcnRpZmljYXRlUGF0aCk7CisgICAgICAgIHZvaWQgQ3JlYXRlTm90aWZpZXJGb3JBbmRyb2lkKHN0cmluZyBub3RpZmllck5hbWUsIHN0cmluZyBhcGlLZXkpOworICAgICAgICBUIEdldE5vdGlmaWVyPFQ+KHN0cmluZyBpZGVudGlmZXIvKnV1aWQgb3Igbm90aWZpZXIgbmFtZSovKSB3aGVyZSBUIDogVXNlcmdyaWROb3RpZmllcjsKKyAgICAgICAgdm9pZCBEZWxldGVOb3RpZmllcihzdHJpbmcgbm90aWZpZXJOYW1lKTsKKyAgICAgICAgCisgICAgICAgIAorICAgICAgICBUIEdldERldmljZTxUPihzdHJpbmcgaWRlbnRpZmVyKSB3aGVyZSBUIDogVXNlcmdyaWREZXZpY2U7CisgICAgICAgIHZvaWQgVXBkYXRlRGV2aWNlPFQ+KFQgZGV2aWNlKSB3aGVyZSBUIDogVXNlcmdyaWREZXZpY2U7CisgICAgICAgIHZvaWQgQ3JlYXRlRGV2aWNlPFQ+KFQgZGV2aWNlKSB3aGVyZSBUIDogVXNlcmdyaWREZXZpY2U7CisgICAgICAgIHZvaWQgRGVsZXRlRGV2aWNlKHN0cmluZyBpZGVudGlmZXIpOworICAgICAgICB2b2lkIFB1Ymxpc2hOb3RpZmljYXRpb24gKElFbnVtZXJhYmxlPE5vdGlmaWNhdGlvbj4gbm90aWZpY2F0aW9ucywgSU5vdGlmaWNhdGlvblJlY2lwaWVudHMgcmVjaXBpZW50cywgTm90aWZpY2F0aW9uU2NoZWR1bGVyU2V0dGluZ3Mgc2NoZWR1bGVyU2V0dGluZ3MgPSBudWxsICk7CisgICAgICAgIHZvaWQgQ2FuY2VsTm90aWZpY2F0aW9uKHN0cmluZyBub3RpZmljYXRpb25JZGVudGlmaWVyKTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsvSVVzZXJncmlkUmVxdWVzdC5jcyBiL1VzZXJncmlkLlNkay9JVXNlcmdyaWRSZXF1ZXN0LmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2ODQyYjEKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsvSVVzZXJncmlkUmVxdWVzdC5jcwpAQCAtMCwwICsxLDI4IEBACisvLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKwordXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7Cit1c2luZyBSZXN0U2hhcnA7CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsKK3sKKyAgICBwdWJsaWMgaW50ZXJmYWNlIElVc2VyZ3JpZFJlcXVlc3QKKyAgICB7CisgICAgICAgIElSZXN0UmVzcG9uc2U8VD4gRXhlY3V0ZUpzb25SZXF1ZXN0PFQ+KHN0cmluZyByZXNvdXJjZSwgTWV0aG9kIG1ldGhvZCwgb2JqZWN0IGJvZHkgPSBudWxsKSB3aGVyZSBUIDogbmV3KCk7CisgICAgICAgIElSZXN0UmVzcG9uc2UgRXhlY3V0ZUpzb25SZXF1ZXN0KHN0cmluZyByZXNvdXJjZSwgTWV0aG9kIG1ldGhvZCwgb2JqZWN0IGJvZHkgPSBudWxsKTsKKyAgICAgICAgSVJlc3RSZXNwb25zZSBFeGVjdXRlTXVsdGlwYXJ0Rm9ybURhdGFSZXF1ZXN0KHN0cmluZyByZXNvdXJjZSwgTWV0aG9kIG1ldGhvZCwgSURpY3Rpb25hcnk8c3RyaW5nLCBvYmplY3Q+IGZvcm1QYXJhbWV0ZXJzLCBJRGljdGlvbmFyeTxzdHJpbmcsIHN0cmluZz4gZmlsZVBhcmFtZXRlcnMpOworICAgICAgICBzdHJpbmcgQWNjZXNzVG9rZW4geyBnZXQ7IHNldDsgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay9NYW5hZ2VyL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5jcyBiL1VzZXJncmlkLlNkay9NYW5hZ2VyL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNzMzNjgzCi0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrL01hbmFnZXIvQXV0aGVudGljYXRpb25NYW5hZ2VyLmNzCkBAIC0wLDAgKzEsNzQgQEAKKy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBSZXN0U2hhcnA7Cit1c2luZyBVc2VyZ3JpZC5TZGsuTW9kZWw7Cit1c2luZyBVc2VyZ3JpZC5TZGsuUGF5bG9hZDsKKworbmFtZXNwYWNlIFVzZXJncmlkLlNkay5NYW5hZ2VyCit7CisgICAgaW50ZXJuYWwgY2xhc3MgQXV0aGVudGljYXRpb25NYW5hZ2VyIDogTWFuYWdlckJhc2UsIElBdXRoZW50aWNhdGlvbk1hbmFnZXIKKyAgICB7CisgICAgICAgIHB1YmxpYyBBdXRoZW50aWNhdGlvbk1hbmFnZXIoSVVzZXJncmlkUmVxdWVzdCByZXF1ZXN0KSA6IGJhc2UocmVxdWVzdCkKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgcHVibGljIHZvaWQgQ2hhbmdlUGFzc3dvcmQoc3RyaW5nIHVzZXJOYW1lLCBzdHJpbmcgb2xkUGFzc3dvcmQsIHN0cmluZyBuZXdQYXNzd29yZCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIHBheWxvYWQgPSBuZXcgQ2hhbmdlUGFzc3dvcmRQYXlsb2FkIHtPbGRQYXNzd29yZCA9IG9sZFBhc3N3b3JkLCBOZXdQYXNzd29yZCA9IG5ld1Bhc3N3b3JkfTsKKyAgICAgICAgICAgIElSZXN0UmVzcG9uc2UgcmVzcG9uc2UgPSBSZXF1ZXN0LkV4ZWN1dGVKc29uUmVxdWVzdChzdHJpbmcuRm9ybWF0KCIvdXNlcnMvezB9L3Bhc3N3b3JkIiwgdXNlck5hbWUpLCBNZXRob2QuUE9TVCwgcGF5bG9hZCk7CisgICAgICAgICAgICBWYWxpZGF0ZVJlc3BvbnNlKHJlc3BvbnNlKTsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyB2b2lkIExvZ2luKHN0cmluZyBsb2dpbklkLCBzdHJpbmcgc2VjcmV0LCBBdXRoVHlwZSBhdXRoVHlwZSkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKGF1dGhUeXBlID09IEF1dGhUeXBlLk5vbmUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgUmVxdWVzdC5BY2Nlc3NUb2tlbiA9IG51bGw7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBvYmplY3QgYm9keSA9IEdldExvZ2luQm9keShsb2dpbklkLCBzZWNyZXQsIGF1dGhUeXBlKTsKKworICAgICAgICAgICAgSVJlc3RSZXNwb25zZTxMb2dpblJlc3BvbnNlPiByZXNwb25zZSA9IFJlcXVlc3QuRXhlY3V0ZUpzb25SZXF1ZXN0PExvZ2luUmVzcG9uc2U+KCIvdG9rZW4iLCBNZXRob2QuUE9TVCwgYm9keSk7CisgICAgICAgICAgICBWYWxpZGF0ZVJlc3BvbnNlKHJlc3BvbnNlKTsKKworICAgICAgICAgICAgUmVxdWVzdC5BY2Nlc3NUb2tlbiA9IHJlc3BvbnNlLkRhdGEuQWNjZXNzVG9rZW47CisgICAgICAgIH0KKworICAgICAgICBwcml2YXRlIG9iamVjdCBHZXRMb2dpbkJvZHkoc3RyaW5nIGxvZ2luSWQsIHN0cmluZyBzZWNyZXQsIEF1dGhUeXBlIGF1dGhUeXBlKQorICAgICAgICB7CisgICAgICAgICAgICBvYmplY3QgYm9keSA9IG51bGw7CisKKyAgICAgICAgICAgIGlmIChhdXRoVHlwZSA9PSBBdXRoVHlwZS5Pcmdhbml6YXRpb24gfHwgYXV0aFR5cGUgPT0gQXV0aFR5cGUuQXBwbGljYXRpb24pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYm9keSA9IG5ldyBDbGllbnRJZExvZ2luUGF5bG9hZAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBDbGllbnRJZCA9IGxvZ2luSWQsCisgICAgICAgICAgICAgICAgICAgICAgICBDbGllbnRTZWNyZXQgPSBzZWNyZXQKKyAgICAgICAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgaWYgKGF1dGhUeXBlID09IEF1dGhUeXBlLlVzZXIpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYm9keSA9IG5ldyBVc2VyTG9naW5QYXlsb2FkCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFVzZXJOYW1lID0gbG9naW5JZCwKKyAgICAgICAgICAgICAgICAgICAgICAgIFBhc3N3b3JkID0gc2VjcmV0CisgICAgICAgICAgICAgICAgICAgIH07CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4gYm9keTsKKyAgICAgICAgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay9NYW5hZ2VyL0Nvbm5lY3Rpb25NYW5hZ2VyLmNzIGIvVXNlcmdyaWQuU2RrL01hbmFnZXIvQ29ubmVjdGlvbk1hbmFnZXIuY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzI1M2FmNgotLS0gL2Rldi9udWxsCisrKyBiL1VzZXJncmlkLlNkay9NYW5hZ2VyL0Nvbm5lY3Rpb25NYW5hZ2VyLmNzCkBAIC0wLDAgKzEsOTkgQEAKKy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKK3VzaW5nIFN5c3RlbS5OZXQ7Cit1c2luZyBOZXd0b25zb2Z0Lkpzb247Cit1c2luZyBSZXN0U2hhcnA7Cit1c2luZyBVc2VyZ3JpZC5TZGsuTW9kZWw7Cit1c2luZyBVc2VyZ3JpZC5TZGsuUGF5bG9hZDsKKworbmFtZXNwYWNlIFVzZXJncmlkLlNkay5NYW5hZ2VyCit7CisgICAgaW50ZXJuYWwgY2xhc3MgQ29ubmVjdGlvbk1hbmFnZXIgOiBNYW5hZ2VyQmFzZSwgSUNvbm5lY3Rpb25NYW5hZ2VyCisgICAgeworICAgICAgICBpbnRlcm5hbCBDb25uZWN0aW9uTWFuYWdlcihJVXNlcmdyaWRSZXF1ZXN0IHJlcXVlc3QpIDogYmFzZShyZXF1ZXN0KQorICAgICAgICB7CisgICAgICAgIH0KKworICAgICAgICBwdWJsaWMgdm9pZCBDcmVhdGVDb25uZWN0aW9uKENvbm5lY3Rpb24gY29ubmVjdGlvbikgCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIGUuZy4gL3VzZXIvZnJlZC9mb2xsb3dpbmcvdXNlci9iYXJuZXkKKyAgICAgICAgICAgIElSZXN0UmVzcG9uc2UgcmVzcG9uc2UgPSBSZXF1ZXN0LkV4ZWN1dGVKc29uUmVxdWVzdChzdHJpbmcuRm9ybWF0KAorICAgICAgICAgICAgICAgICIvezB9L3sxfS97Mn0vezN9L3s0fSIsCisgICAgICAgICAgICAgICAgY29ubmVjdGlvbi5Db25uZWN0b3JDb2xsZWN0aW9uTmFtZSwKKyAgICAgICAgICAgICAgICBjb25uZWN0aW9uLkNvbm5lY3RvcklkZW50aWZpZXIsCisgICAgICAgICAgICAgICAgY29ubmVjdGlvbi5Db25uZWN0aW9uTmFtZSwKKyAgICAgICAgICAgICAgICBjb25uZWN0aW9uLkNvbm5lY3RlZUNvbGxlY3Rpb25OYW1lLAorICAgICAgICAgICAgICAgIGNvbm5lY3Rpb24uQ29ubmVjdGVlSWRlbnRpZmllciksIE1ldGhvZC5QT1NUKTsKKworICAgICAgICAgICAgVmFsaWRhdGVSZXNwb25zZShyZXNwb25zZSk7CisgICAgICAgIH0KKworICAgICAgICBwdWJsaWMgSUxpc3Q8VXNlcmdyaWRFbnRpdHk+IEdldENvbm5lY3Rpb25zKENvbm5lY3Rpb24gY29ubmVjdGlvbikgCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIGUuZy4gL3VzZXIvZnJlZC9mb2xsb3dpbmcKKyAgICAgICAgICAgIElSZXN0UmVzcG9uc2UgcmVzcG9uc2UgPSBSZXF1ZXN0LkV4ZWN1dGVKc29uUmVxdWVzdChzdHJpbmcuRm9ybWF0KCIvezB9L3sxfS97Mn0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGlvbi5Db25uZWN0b3JDb2xsZWN0aW9uTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb24uQ29ubmVjdG9ySWRlbnRpZmllciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb24uQ29ubmVjdGlvbk5hbWUpLCBNZXRob2QuR0VUKTsKKworICAgICAgICAgICAgaWYgKHJlc3BvbnNlLlN0YXR1c0NvZGUgPT0gSHR0cFN0YXR1c0NvZGUuTm90Rm91bmQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHQoTGlzdDxVc2VyZ3JpZEVudGl0eT4pOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBWYWxpZGF0ZVJlc3BvbnNlKHJlc3BvbnNlKTsKKworICAgICAgICAgICAgdmFyIGVudGl0eSA9IEpzb25Db252ZXJ0LkRlc2VyaWFsaXplT2JqZWN0PFVzZXJncmlkR2V0UmVzcG9uc2U8VXNlcmdyaWRFbnRpdHk+PihyZXNwb25zZS5Db250ZW50KTsKKworICAgICAgICAgICAgcmV0dXJuIGVudGl0eS5FbnRpdGllczsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyBJTGlzdDxUQ29ubmVjdGVlPiBHZXRDb25uZWN0aW9uczxUQ29ubmVjdGVlPihDb25uZWN0aW9uIGNvbm5lY3Rpb24pIAorICAgICAgICB7CisgICAgICAgICAgICAvLyBlLmcuIC91c2VyL2ZyZWQvZm9sbG93aW5nL3VzZXIKKyAgICAgICAgICAgIElSZXN0UmVzcG9uc2UgcmVzcG9uc2UgPSBSZXF1ZXN0LkV4ZWN1dGVKc29uUmVxdWVzdChzdHJpbmcuRm9ybWF0KCIvezB9L3sxfS97Mn0vezN9IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb24uQ29ubmVjdG9yQ29sbGVjdGlvbk5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uLkNvbm5lY3RvcklkZW50aWZpZXIsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGlvbi5Db25uZWN0aW9uTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb24uQ29ubmVjdGVlQ29sbGVjdGlvbk5hbWUpLCBNZXRob2QuR0VUKTsKKworICAgICAgICAgICAgaWYgKHJlc3BvbnNlLlN0YXR1c0NvZGUgPT0gSHR0cFN0YXR1c0NvZGUuTm90Rm91bmQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHQoTGlzdDxUQ29ubmVjdGVlPik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIFZhbGlkYXRlUmVzcG9uc2UocmVzcG9uc2UpOworCisgICAgICAgICAgICB2YXIgZW50aXR5ID0gSnNvbkNvbnZlcnQuRGVzZXJpYWxpemVPYmplY3Q8VXNlcmdyaWRHZXRSZXNwb25zZTxUQ29ubmVjdGVlPj4ocmVzcG9uc2UuQ29udGVudCk7CisKKyAgICAgICAgICAgIHJldHVybiBlbnRpdHkuRW50aXRpZXM7CisgICAgICAgIH0KKworICAgICAgICBwdWJsaWMgdm9pZCBEZWxldGVDb25uZWN0aW9uKENvbm5lY3Rpb24gY29ubmVjdGlvbikKKyAgICAgICAgeworICAgICAgICAgICAgSVJlc3RSZXNwb25zZSByZXNwb25zZSA9IFJlcXVlc3QuRXhlY3V0ZUpzb25SZXF1ZXN0KHN0cmluZy5Gb3JtYXQoCisgICAgICAgICAgICAgICAgIi97MH0vezF9L3syfS97M30vezR9IiwKKyAgICAgICAgICAgICAgICBjb25uZWN0aW9uLkNvbm5lY3RvckNvbGxlY3Rpb25OYW1lLAorICAgICAgICAgICAgICAgIGNvbm5lY3Rpb24uQ29ubmVjdG9ySWRlbnRpZmllciwKKyAgICAgICAgICAgICAgICBjb25uZWN0aW9uLkNvbm5lY3Rpb25OYW1lLAorICAgICAgICAgICAgICAgIGNvbm5lY3Rpb24uQ29ubmVjdGVlQ29sbGVjdGlvbk5hbWUsCisgICAgICAgICAgICAgICAgY29ubmVjdGlvbi5Db25uZWN0ZWVJZGVudGlmaWVyKSwgTWV0aG9kLkRFTEVURSk7CisKKyAgICAgICAgICAgIFZhbGlkYXRlUmVzcG9uc2UocmVzcG9uc2UpOworICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrL01hbmFnZXIvRW50aXR5TWFuYWdlci5jcyBiL1VzZXJncmlkLlNkay9NYW5hZ2VyL0VudGl0eU1hbmFnZXIuY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQ5ZDE2ZQotLS0gL2Rldi9udWxsCisrKyBiL1VzZXJncmlkLlNkay9NYW5hZ2VyL0VudGl0eU1hbmFnZXIuY3MKQEAgLTAsMCArMSwxNzcgQEAKKy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBTeXN0ZW07Cit1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKK3VzaW5nIFN5c3RlbS5MaW5xOwordXNpbmcgU3lzdGVtLk5ldDsKK3VzaW5nIE5ld3RvbnNvZnQuSnNvbjsKK3VzaW5nIE5ld3RvbnNvZnQuSnNvbi5MaW5xOwordXNpbmcgUmVzdFNoYXJwOwordXNpbmcgVXNlcmdyaWQuU2RrLk1vZGVsOwordXNpbmcgVXNlcmdyaWQuU2RrLlBheWxvYWQ7CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuTWFuYWdlciB7CisgICAgaW50ZXJuYWwgY2xhc3MgRW50aXR5TWFuYWdlciA6IE1hbmFnZXJCYXNlLCBJRW50aXR5TWFuYWdlciB7CisgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgSURpY3Rpb25hcnk8VHlwZSwgU3RhY2s8c3RyaW5nPj4gX2N1cnNvclN0YXRlcyA9IG5ldyBEaWN0aW9uYXJ5PFR5cGUsIFN0YWNrPHN0cmluZz4+KCk7CisgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgSURpY3Rpb25hcnk8VHlwZSwgaW50PiBfcGFnZVNpemVzID0gbmV3IERpY3Rpb25hcnk8VHlwZSwgaW50PigpOworCisgICAgICAgIGludGVybmFsIEVudGl0eU1hbmFnZXIoSVVzZXJncmlkUmVxdWVzdCByZXF1ZXN0KSA6IGJhc2UocmVxdWVzdCkge30KKworICAgICAgICBwdWJsaWMgVCBDcmVhdGVFbnRpdHk8VD4oc3RyaW5nIGNvbGxlY3Rpb24sIFQgZW50aXR5KSB7CisgICAgICAgICAgICBJUmVzdFJlc3BvbnNlIHJlc3BvbnNlID0gUmVxdWVzdC5FeGVjdXRlSnNvblJlcXVlc3QoIi8iICsgY29sbGVjdGlvbiwgTWV0aG9kLlBPU1QsIGVudGl0eSk7CisgICAgICAgICAgICBWYWxpZGF0ZVJlc3BvbnNlKHJlc3BvbnNlKTsKKyAgICAgICAgICAgIHZhciByZXR1cm5lZEVudGl0eSA9IEpzb25Db252ZXJ0LkRlc2VyaWFsaXplT2JqZWN0PFVzZXJncmlkR2V0UmVzcG9uc2U8VD4+KHJlc3BvbnNlLkNvbnRlbnQpOworCisgICAgICAgICAgICByZXR1cm4gcmV0dXJuZWRFbnRpdHkuRW50aXRpZXMuRmlyc3RPckRlZmF1bHQoKTsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyB2b2lkIERlbGV0ZUVudGl0eShzdHJpbmcgY29sbGVjdGlvbiwgc3RyaW5nIGlkZW50aWZlcikgeworICAgICAgICAgICAgSVJlc3RSZXNwb25zZSByZXNwb25zZSA9IFJlcXVlc3QuRXhlY3V0ZUpzb25SZXF1ZXN0KHN0cmluZy5Gb3JtYXQoIi97MH0vezF9IiwgY29sbGVjdGlvbiwgaWRlbnRpZmVyKSwgTWV0aG9kLkRFTEVURSk7CisgICAgICAgICAgICBWYWxpZGF0ZVJlc3BvbnNlKHJlc3BvbnNlKTsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyB2b2lkIFVwZGF0ZUVudGl0eTxUPihzdHJpbmcgY29sbGVjdGlvbiwgc3RyaW5nIGlkZW50aWZlciwgVCBlbnRpdHkpIHsKKyAgICAgICAgICAgIElSZXN0UmVzcG9uc2UgcmVzcG9uc2UgPSBSZXF1ZXN0LkV4ZWN1dGVKc29uUmVxdWVzdChzdHJpbmcuRm9ybWF0KCIvezB9L3sxfSIsIGNvbGxlY3Rpb24sIGlkZW50aWZlciksIE1ldGhvZC5QVVQsIGVudGl0eSk7CisgICAgICAgICAgICBWYWxpZGF0ZVJlc3BvbnNlKHJlc3BvbnNlKTsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyBUIEdldEVudGl0eTxUPihzdHJpbmcgY29sbGVjdGlvbk5hbWUsIHN0cmluZyBpZGVudGlmZXIpIHsKKyAgICAgICAgICAgIElSZXN0UmVzcG9uc2UgcmVzcG9uc2UgPSBSZXF1ZXN0LkV4ZWN1dGVKc29uUmVxdWVzdChzdHJpbmcuRm9ybWF0KCIvezB9L3sxfSIsIGNvbGxlY3Rpb25OYW1lLCBpZGVudGlmZXIpLCBNZXRob2QuR0VUKTsKKworICAgICAgICAgICAgaWYgKHJlc3BvbnNlLlN0YXR1c0NvZGUgPT0gSHR0cFN0YXR1c0NvZGUuTm90Rm91bmQpCisgICAgICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHQoVCk7CisgICAgICAgICAgICBWYWxpZGF0ZVJlc3BvbnNlKHJlc3BvbnNlKTsKKworICAgICAgICAgICAgdmFyIGVudGl0eSA9IEpzb25Db252ZXJ0LkRlc2VyaWFsaXplT2JqZWN0PFVzZXJncmlkR2V0UmVzcG9uc2U8VD4+KHJlc3BvbnNlLkNvbnRlbnQpOworCisgICAgICAgICAgICByZXR1cm4gZW50aXR5LkVudGl0aWVzLkZpcnN0T3JEZWZhdWx0KCk7CisgICAgICAgIH0KKworICAgICAgICBwdWJsaWMgVXNlcmdyaWRDb2xsZWN0aW9uPFQ+IEdldEVudGl0aWVzPFQ+KHN0cmluZyBjb2xsZWN0aW9uTmFtZSwgaW50IGxpbWl0ID0gMTAsIHN0cmluZyBxdWVyeSA9IG51bGwpIHsKKyAgICAgICAgICAgIF9wYWdlU2l6ZXMuUmVtb3ZlKHR5cGVvZiAoVCkpOworICAgICAgICAgICAgX3BhZ2VTaXplcy5BZGQodHlwZW9mIChUKSwgbGltaXQpOworCisgICAgICAgICAgICBzdHJpbmcgdXJsID0gc3RyaW5nLkZvcm1hdCgiL3swfT9saW1pdD17MX0iLCBjb2xsZWN0aW9uTmFtZSwgbGltaXQpOworICAgICAgICAgICAgaWYgKHF1ZXJ5ICE9IG51bGwpCisgICAgICAgICAgICAgICAgdXJsICs9ICImcXVlcnk9IiArIHF1ZXJ5OworCisgICAgICAgICAgICBJUmVzdFJlc3BvbnNlIHJlc3BvbnNlID0gUmVxdWVzdC5FeGVjdXRlSnNvblJlcXVlc3QodXJsLCBNZXRob2QuR0VUKTsKKworICAgICAgICAgICAgaWYgKHJlc3BvbnNlLlN0YXR1c0NvZGUgPT0gSHR0cFN0YXR1c0NvZGUuTm90Rm91bmQpCisgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBVc2VyZ3JpZENvbGxlY3Rpb248VD4oKTsKKworICAgICAgICAgICAgVmFsaWRhdGVSZXNwb25zZShyZXNwb25zZSk7CisKKyAgICAgICAgICAgIHZhciBnZXRSZXNwb25zZSA9IEpzb25Db252ZXJ0LkRlc2VyaWFsaXplT2JqZWN0PFVzZXJncmlkR2V0UmVzcG9uc2U8VD4+KHJlc3BvbnNlLkNvbnRlbnQpOworICAgICAgICAgICAgdmFyIGNvbGxlY3Rpb24gPSBuZXcgVXNlcmdyaWRDb2xsZWN0aW9uPFQ+KGdldFJlc3BvbnNlLkVudGl0aWVzKTsKKworICAgICAgICAgICAgX2N1cnNvclN0YXRlcy5SZW1vdmUodHlwZW9mIChUKSk7CisKKyAgICAgICAgICAgIGlmIChnZXRSZXNwb25zZS5DdXJzb3IgIT0gbnVsbCkgeworICAgICAgICAgICAgICAgIGNvbGxlY3Rpb24uSGFzTmV4dCA9IHRydWU7CisgICAgICAgICAgICAgICAgY29sbGVjdGlvbi5IYXNQcmV2aW91cyA9IGZhbHNlOworICAgICAgICAgICAgICAgIF9jdXJzb3JTdGF0ZXMuQWRkKHR5cGVvZiAoVCksIG5ldyBTdGFjazxzdHJpbmc+KG5ld1tdIHtudWxsLCBudWxsLCBnZXRSZXNwb25zZS5DdXJzb3J9KSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHJldHVybiBjb2xsZWN0aW9uOworICAgICAgICB9CisKKyAgICAgICAgcHVibGljIFVzZXJncmlkQ29sbGVjdGlvbjxUPiBHZXROZXh0RW50aXRpZXM8VD4oc3RyaW5nIGNvbGxlY3Rpb25OYW1lLCBzdHJpbmcgcXVlcnkgPSBudWxsKSB7CisgICAgICAgICAgICBpZiAoIV9jdXJzb3JTdGF0ZXMuQ29udGFpbnNLZXkodHlwZW9mIChUKSkpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFVzZXJncmlkQ29sbGVjdGlvbjxUPigpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBTdGFjazxzdHJpbmc+IHN0YWNrID0gX2N1cnNvclN0YXRlc1t0eXBlb2YgKFQpXTsKKyAgICAgICAgICAgIHN0cmluZyBjdXJzb3IgPSBzdGFjay5QZWVrKCk7CisKKyAgICAgICAgICAgIGlmIChjdXJzb3IgPT0gbnVsbCkgeworICAgICAgICAgICAgICAgIHJldHVybiBuZXcgVXNlcmdyaWRDb2xsZWN0aW9uPFQ+IHtIYXNOZXh0ID0gZmFsc2UsIEhhc1ByZXZpb3VzID0gdHJ1ZX07CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGludCBsaW1pdCA9IF9wYWdlU2l6ZXNbdHlwZW9mIChUKV07CisKKyAgICAgICAgICAgIHN0cmluZyB1cmwgPSBzdHJpbmcuRm9ybWF0KCIvezB9P2N1cnNvcj17MX0mbGltaXQ9ezJ9IiwgY29sbGVjdGlvbk5hbWUsIGN1cnNvciwgbGltaXQpOworICAgICAgICAgICAgaWYgKHF1ZXJ5ICE9IG51bGwpCisgICAgICAgICAgICAgICAgdXJsICs9ICImcXVlcnk9IiArIHF1ZXJ5OworCisgICAgICAgICAgICBJUmVzdFJlc3BvbnNlIHJlc3BvbnNlID0gUmVxdWVzdC5FeGVjdXRlSnNvblJlcXVlc3QodXJsLCBNZXRob2QuR0VUKTsKKworICAgICAgICAgICAgaWYgKHJlc3BvbnNlLlN0YXR1c0NvZGUgPT0gSHR0cFN0YXR1c0NvZGUuTm90Rm91bmQpCisgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBVc2VyZ3JpZENvbGxlY3Rpb248VD4oKTsKKworICAgICAgICAgICAgVmFsaWRhdGVSZXNwb25zZShyZXNwb25zZSk7CisKKyAgICAgICAgICAgIHZhciBnZXRSZXNwb25zZSA9IEpzb25Db252ZXJ0LkRlc2VyaWFsaXplT2JqZWN0PFVzZXJncmlkR2V0UmVzcG9uc2U8VD4+KHJlc3BvbnNlLkNvbnRlbnQpOworICAgICAgICAgICAgdmFyIGNvbGxlY3Rpb24gPSBuZXcgVXNlcmdyaWRDb2xsZWN0aW9uPFQ+KGdldFJlc3BvbnNlLkVudGl0aWVzKTsKKworICAgICAgICAgICAgaWYgKGdldFJlc3BvbnNlLkN1cnNvciAhPSBudWxsKSB7CisgICAgICAgICAgICAgICAgY29sbGVjdGlvbi5IYXNOZXh0ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBzdGFjay5QdXNoKGdldFJlc3BvbnNlLkN1cnNvcik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBzdGFjay5QdXNoKG51bGwpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBjb2xsZWN0aW9uLkhhc1ByZXZpb3VzID0gdHJ1ZTsKKworICAgICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb247CisgICAgICAgIH0KKworICAgICAgICBwdWJsaWMgVXNlcmdyaWRDb2xsZWN0aW9uPFQ+IEdldFByZXZpb3VzRW50aXRpZXM8VD4oc3RyaW5nIGNvbGxlY3Rpb25OYW1lLCBzdHJpbmcgcXVlcnkgPSBudWxsKSB7CisgICAgICAgICAgICBpZiAoIV9jdXJzb3JTdGF0ZXMuQ29udGFpbnNLZXkodHlwZW9mIChUKSkpIHsKKyAgICAgICAgICAgICAgICB2YXIgZXJyb3IgPSBuZXcgVXNlcmdyaWRFcnJvcgorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciA9ICJjdXJzb3Jfbm90X2luaXRpYWxpemVkIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uID0gIkNhbGwgR2V0RW50aXRpZXMgbWV0aG9kIHRvIGluaXRpYWxpemUgdGhlIGN1cnNvciIKKyAgICAgICAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVXNlcmdyaWRFeGNlcHRpb24oZXJyb3IpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBTdGFjazxzdHJpbmc+IHN0YWNrID0gX2N1cnNvclN0YXRlc1t0eXBlb2YgKFQpXTsKKyAgICAgICAgICAgIHN0YWNrLlBvcCgpOworICAgICAgICAgICAgc3RhY2suUG9wKCk7CisgICAgICAgICAgICBzdHJpbmcgY3Vyc29yID0gc3RhY2suUGVlaygpOworCisgICAgICAgICAgICBpbnQgbGltaXQgPSBfcGFnZVNpemVzW3R5cGVvZiAoVCldOworCisgICAgICAgICAgICBpZiAoY3Vyc29yID09IG51bGwpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gR2V0RW50aXRpZXM8VD4oY29sbGVjdGlvbk5hbWUsIGxpbWl0KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgc3RyaW5nIHVybCA9IHN0cmluZy5Gb3JtYXQoIi97MH0/Y3Vyc29yPXsxfSZsaW1pdD17Mn0iLCBjb2xsZWN0aW9uTmFtZSwgY3Vyc29yLCBsaW1pdCk7CisgICAgICAgICAgICBpZiAocXVlcnkgIT0gbnVsbCkKKyAgICAgICAgICAgICAgICB1cmwgKz0gIiZxdWVyeT0iICsgcXVlcnk7CisKKyAgICAgICAgICAgIElSZXN0UmVzcG9uc2UgcmVzcG9uc2UgPSBSZXF1ZXN0LkV4ZWN1dGVKc29uUmVxdWVzdCh1cmwsIE1ldGhvZC5HRVQpOworCisgICAgICAgICAgICBpZiAocmVzcG9uc2UuU3RhdHVzQ29kZSA9PSBIdHRwU3RhdHVzQ29kZS5Ob3RGb3VuZCkKKyAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFVzZXJncmlkQ29sbGVjdGlvbjxUPigpOworCisgICAgICAgICAgICBWYWxpZGF0ZVJlc3BvbnNlKHJlc3BvbnNlKTsKKworICAgICAgICAgICAgdmFyIGdldFJlc3BvbnNlID0gSnNvbkNvbnZlcnQuRGVzZXJpYWxpemVPYmplY3Q8VXNlcmdyaWRHZXRSZXNwb25zZTxUPj4ocmVzcG9uc2UuQ29udGVudCk7CisgICAgICAgICAgICB2YXIgY29sbGVjdGlvbiA9IG5ldyBVc2VyZ3JpZENvbGxlY3Rpb248VD4oZ2V0UmVzcG9uc2UuRW50aXRpZXMpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBIYXNOZXh0ID0gdHJ1ZSwgCisgICAgICAgICAgICAgICAgICAgIEhhc1ByZXZpb3VzID0gdHJ1ZQorICAgICAgICAgICAgICAgIH07CisKKyAgICAgICAgICAgIHN0YWNrLlB1c2goZ2V0UmVzcG9uc2UuQ3Vyc29yKTsKKworICAgICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb247CisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsvTWFuYWdlci9JQXV0aGVudGljYXRpb25NYW5hZ2VyLmNzIGIvVXNlcmdyaWQuU2RrL01hbmFnZXIvSUF1dGhlbnRpY2F0aW9uTWFuYWdlci5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OTdlYmQwCi0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrL01hbmFnZXIvSUF1dGhlbnRpY2F0aW9uTWFuYWdlci5jcwpAQCAtMCwwICsxLDI1IEBACisvLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKwordXNpbmcgVXNlcmdyaWQuU2RrLk1vZGVsOworCituYW1lc3BhY2UgVXNlcmdyaWQuU2RrLk1hbmFnZXIKK3sKKyAgICBpbnRlcm5hbCBpbnRlcmZhY2UgSUF1dGhlbnRpY2F0aW9uTWFuYWdlcgorICAgIHsKKyAgICAgICAgdm9pZCBDaGFuZ2VQYXNzd29yZChzdHJpbmcgdXNlck5hbWUsIHN0cmluZyBvbGRQYXNzd29yZCwgc3RyaW5nIG5ld1Bhc3N3b3JkKTsKKyAgICAgICAgdm9pZCBMb2dpbihzdHJpbmcgbG9naW5JZCwgc3RyaW5nIHNlY3JldCwgQXV0aFR5cGUgYXV0aFR5cGUpOworICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay9NYW5hZ2VyL0lDb25uZWN0aW9uTWFuYWdlci5jcyBiL1VzZXJncmlkLlNkay9NYW5hZ2VyL0lDb25uZWN0aW9uTWFuYWdlci5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NjNiMTY0Ci0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrL01hbmFnZXIvSUNvbm5lY3Rpb25NYW5hZ2VyLmNzCkBAIC0wLDAgKzEsMjYgQEAKKy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKK3VzaW5nIFVzZXJncmlkLlNkay5Nb2RlbDsKKworbmFtZXNwYWNlIFVzZXJncmlkLlNkay5NYW5hZ2VyIHsKKyAgICBpbnRlcm5hbCBpbnRlcmZhY2UgSUNvbm5lY3Rpb25NYW5hZ2VyIHsKKyAgICAgICAgdm9pZCBDcmVhdGVDb25uZWN0aW9uKENvbm5lY3Rpb24gY29ubmVjdGlvbik7CisgICAgICAgIElMaXN0PFVzZXJncmlkRW50aXR5PiBHZXRDb25uZWN0aW9ucyhDb25uZWN0aW9uIGNvbm5lY3Rpb24pOworICAgICAgICBJTGlzdDxUQ29ubmVjdGVlPiBHZXRDb25uZWN0aW9uczxUQ29ubmVjdGVlPihDb25uZWN0aW9uIGNvbm5lY3Rpb24pOworICAgICAgICB2b2lkIERlbGV0ZUNvbm5lY3Rpb24oQ29ubmVjdGlvbiBjb25uZWN0aW9uKTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsvTWFuYWdlci9JRW50aXR5TWFuYWdlci5jcyBiL1VzZXJncmlkLlNkay9NYW5hZ2VyL0lFbnRpdHlNYW5hZ2VyLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhYjhhMWYKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsvTWFuYWdlci9JRW50aXR5TWFuYWdlci5jcwpAQCAtMCwwICsxLDMwIEBACivvu78vLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKwordXNpbmcgVXNlcmdyaWQuU2RrLk1vZGVsOworCituYW1lc3BhY2UgVXNlcmdyaWQuU2RrLk1hbmFnZXIKK3sKKyAgICBwdWJsaWMgaW50ZXJmYWNlIElFbnRpdHlNYW5hZ2VyCisgICAgeworICAgICAgICBUIENyZWF0ZUVudGl0eTxUPihzdHJpbmcgY29sbGVjdGlvbiwgVCBlbnRpdHkpOworICAgICAgICB2b2lkIERlbGV0ZUVudGl0eShzdHJpbmcgY29sbGVjdGlvbiwgc3RyaW5nIGlkZW50aWZlciAvKm5hbWUgb3IgdXVpZCovKTsKKyAgICAgICAgdm9pZCBVcGRhdGVFbnRpdHk8VD4oc3RyaW5nIGNvbGxlY3Rpb24sIHN0cmluZyBpZGVudGlmZXIgLypuYW1lIG9yIHV1aWQqLywgVCBlbnRpdHkpOworICAgICAgICBUIEdldEVudGl0eTxUPihzdHJpbmcgY29sbGVjdGlvbk5hbWUsIHN0cmluZyBpZGVudGlmZXIgLypuYW1lIG9yIHV1aWQqLyk7CisJCVVzZXJncmlkQ29sbGVjdGlvbjxUPiBHZXRFbnRpdGllczxUPiAoc3RyaW5nIGNvbGxlY3Rpb25OYW1lLCBpbnQgbGltaXQgPSAxMCwgc3RyaW5nIHF1ZXJ5ID0gbnVsbCk7CisJCVVzZXJncmlkQ29sbGVjdGlvbjxUPiBHZXROZXh0RW50aXRpZXM8VD4oc3RyaW5nIGNvbGxlY3Rpb25OYW1lLCBzdHJpbmcgcXVlcnkgPSBudWxsKTsKKwkJVXNlcmdyaWRDb2xsZWN0aW9uPFQ+IEdldFByZXZpb3VzRW50aXRpZXM8VD4oc3RyaW5nIGNvbGxlY3Rpb25OYW1lLCBzdHJpbmcgcXVlcnkgPSBudWxsKTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsvTWFuYWdlci9JTm90aWZpY2F0aW9uc01hbmFnZXIuY3MgYi9Vc2VyZ3JpZC5TZGsvTWFuYWdlci9JTm90aWZpY2F0aW9uc01hbmFnZXIuY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzRmZDFlYQotLS0gL2Rldi9udWxsCisrKyBiL1VzZXJncmlkLlNkay9NYW5hZ2VyL0lOb3RpZmljYXRpb25zTWFuYWdlci5jcwpAQCAtMCwwICsxLDI3IEBACisvLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKwordXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7Cit1c2luZyBVc2VyZ3JpZC5TZGsuTW9kZWw7CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuTWFuYWdlcgoreworICAgIGludGVybmFsIGludGVyZmFjZSBJTm90aWZpY2F0aW9uc01hbmFnZXIKKyAgICB7CisgICAgICAgIHZvaWQgQ3JlYXRlTm90aWZpZXJGb3JBcHBsZShzdHJpbmcgbm90aWZpZXJOYW1lLCBzdHJpbmcgZW52aXJvbm1lbnQsIHN0cmluZyBwMTJDZXJ0aWZpY2F0ZVBhdGgpOworICAgICAgICB2b2lkIENyZWF0ZU5vdGlmaWVyRm9yQW5kcm9pZChzdHJpbmcgbm90aWZpZXJOYW1lLCBzdHJpbmcgYXBpS2V5KTsKKwkJdm9pZCBQdWJsaXNoTm90aWZpY2F0aW9uIChJRW51bWVyYWJsZTxOb3RpZmljYXRpb24+IG5vdGlmaWNhdGlvbiwgSU5vdGlmaWNhdGlvblJlY2lwaWVudHMgcmVjaXBpZW50cywgTm90aWZpY2F0aW9uU2NoZWR1bGVyU2V0dGluZ3Mgc2NoZWR1bGluZ1NldHRpbmdzID0gbnVsbCk7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrL01hbmFnZXIvTWFuYWdlckJhc2UuY3MgYi9Vc2VyZ3JpZC5TZGsvTWFuYWdlci9NYW5hZ2VyQmFzZS5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMGFhMTY3Ci0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrL01hbmFnZXIvTWFuYWdlckJhc2UuY3MKQEAgLTAsMCArMSw0MiBAQAorLy8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKy8vIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKK3VzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljOwordXNpbmcgU3lzdGVtLk5ldDsKK3VzaW5nIE5ld3RvbnNvZnQuSnNvbjsKK3VzaW5nIFJlc3RTaGFycDsKK3VzaW5nIFVzZXJncmlkLlNkay5Nb2RlbDsKKworbmFtZXNwYWNlIFVzZXJncmlkLlNkay5NYW5hZ2VyCit7CisJaW50ZXJuYWwgYWJzdHJhY3QgY2xhc3MgTWFuYWdlckJhc2UKKyAgICB7CisgICAgICAgIHByb3RlY3RlZCByZWFkb25seSBJVXNlcmdyaWRSZXF1ZXN0IFJlcXVlc3Q7CisKKyAgICAgICAgaW50ZXJuYWwgTWFuYWdlckJhc2UoSVVzZXJncmlkUmVxdWVzdCByZXF1ZXN0KQorICAgICAgICB7CisgICAgICAgICAgICBSZXF1ZXN0ID0gcmVxdWVzdDsKKyAgICAgICAgfQorCisgICAgICAgIHByb3RlY3RlZCB2b2lkIFZhbGlkYXRlUmVzcG9uc2UoSVJlc3RSZXNwb25zZSByZXNwb25zZSkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKHJlc3BvbnNlLlN0YXR1c0NvZGUgIT0gSHR0cFN0YXR1c0NvZGUuT0spCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdmFyIHVzZXJHcmlkRXJyb3IgPSBKc29uQ29udmVydC5EZXNlcmlhbGl6ZU9iamVjdDxVc2VyZ3JpZEVycm9yPihyZXNwb25zZS5Db250ZW50KTsKKyAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVXNlcmdyaWRFeGNlcHRpb24odXNlckdyaWRFcnJvcik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsvTWFuYWdlci9Ob3RpZmljYXRpb25zTWFuYWdlci5jcyBiL1VzZXJncmlkLlNkay9NYW5hZ2VyL05vdGlmaWNhdGlvbnNNYW5hZ2VyLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2ZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsvTWFuYWdlci9Ob3RpZmljYXRpb25zTWFuYWdlci5jcwpAQCAtMCwwICsxLDc3IEBACisvLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKwordXNpbmcgU3lzdGVtOwordXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7Cit1c2luZyBSZXN0U2hhcnA7Cit1c2luZyBVc2VyZ3JpZC5TZGsuTW9kZWw7Cit1c2luZyBVc2VyZ3JpZC5TZGsuUGF5bG9hZDsKKworbmFtZXNwYWNlIFVzZXJncmlkLlNkay5NYW5hZ2VyCit7CisgICAgaW50ZXJuYWwgY2xhc3MgTm90aWZpY2F0aW9uc01hbmFnZXIgOiBNYW5hZ2VyQmFzZSwgSU5vdGlmaWNhdGlvbnNNYW5hZ2VyCisgICAgeworICAgICAgICBwdWJsaWMgTm90aWZpY2F0aW9uc01hbmFnZXIoSVVzZXJncmlkUmVxdWVzdCByZXF1ZXN0KSA6IGJhc2UocmVxdWVzdCkKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgcHVibGljIHZvaWQgQ3JlYXRlTm90aWZpZXJGb3JBcHBsZShzdHJpbmcgbm90aWZpZXJOYW1lLCBzdHJpbmcgZW52aXJvbm1lbnQsIHN0cmluZyBwMTJDZXJ0aWZpY2F0ZVBhdGgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBmb3JtUGFyYW1ldGVycyA9IG5ldyBEaWN0aW9uYXJ5PHN0cmluZywgb2JqZWN0PgorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgeyJuYW1lIiwgbm90aWZpZXJOYW1lfSwKKyAgICAgICAgICAgICAgICAgICAgeyJwcm92aWRlciIsICJhcHBsZSJ9LAorICAgICAgICAgICAgICAgICAgICB7ImVudmlyb25tZW50IiwgZW52aXJvbm1lbnR9CisgICAgICAgICAgICAgICAgfTsKKworICAgICAgICAgICAgdmFyIGZpbGVQYXJhbWV0ZXJzID0gbmV3IERpY3Rpb25hcnk8c3RyaW5nLCBzdHJpbmc+CisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB7InAxMkNlcnRpZmljYXRlIiwgcDEyQ2VydGlmaWNhdGVQYXRofQorICAgICAgICAgICAgICAgIH07CisKKworICAgICAgICAgICAgSVJlc3RSZXNwb25zZSByZXNwb25zZSA9IFJlcXVlc3QuRXhlY3V0ZU11bHRpcGFydEZvcm1EYXRhUmVxdWVzdCgiL25vdGlmaWVycyIsIE1ldGhvZC5QT1NULCBmb3JtUGFyYW1ldGVycywgZmlsZVBhcmFtZXRlcnMpOworICAgICAgICAgICAgVmFsaWRhdGVSZXNwb25zZShyZXNwb25zZSk7CisgICAgICAgIH0KKworICAgICAgICBwdWJsaWMgdm9pZCBDcmVhdGVOb3RpZmllckZvckFuZHJvaWQoc3RyaW5nIG5vdGlmaWVyTmFtZSwgc3RyaW5nIGFwaUtleSkKKyAgICAgICAgeworICAgICAgICAgICAgSVJlc3RSZXNwb25zZSByZXNwb25zZSA9IFJlcXVlc3QuRXhlY3V0ZUpzb25SZXF1ZXN0KCIvbm90aWZpZXJzIiwgTWV0aG9kLlBPU1QsIG5ldyBBbmRyb2lkTm90aWZpZXJQYXlsb2FkIHtBcGlLZXkgPSBhcGlLZXksIE5hbWUgPSBub3RpZmllck5hbWV9KTsKKyAgICAgICAgICAgIFZhbGlkYXRlUmVzcG9uc2UocmVzcG9uc2UpOworICAgICAgICB9CisKKyAgICAgICAgcHVibGljIHZvaWQgUHVibGlzaE5vdGlmaWNhdGlvbihJRW51bWVyYWJsZTxOb3RpZmljYXRpb24+IG5vdGlmaWNhdGlvbnMsIElOb3RpZmljYXRpb25SZWNpcGllbnRzIHJlY2lwaWVudHMsIE5vdGlmaWNhdGlvblNjaGVkdWxlclNldHRpbmdzIHNjaGVkdWxlclNldHRpbmdzID0gbnVsbCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIHBheWxvYWQgPSBuZXcgTm90aWZpY2F0aW9uUGF5bG9hZCgpOworICAgICAgICAgICAgZm9yZWFjaCAoTm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbiBpbiBub3RpZmljYXRpb25zKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHBheWxvYWQuUGF5bG9hZHMuQWRkKG5vdGlmaWNhdGlvbi5Ob3RpZmllcklkZW50aWZpZXIsIG5vdGlmaWNhdGlvbi5HZXRQYXlsb2FkKCkpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoc2NoZWR1bGVyU2V0dGluZ3MgIT0gbnVsbCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAoc2NoZWR1bGVyU2V0dGluZ3MuRGVsaXZlckF0ICE9IERhdGVUaW1lLk1pblZhbHVlKQorICAgICAgICAgICAgICAgICAgICBwYXlsb2FkLkRlbGl2ZXJBdCA9IHNjaGVkdWxlclNldHRpbmdzLkRlbGl2ZXJBdC5Ub1VuaXhUaW1lKCk7CisgICAgICAgICAgICAgICAgaWYgKHNjaGVkdWxlclNldHRpbmdzLkV4cGlyZUF0ICE9IERhdGVUaW1lLk1pblZhbHVlKQorICAgICAgICAgICAgICAgICAgICBwYXlsb2FkLkV4cGlyZUF0ID0gc2NoZWR1bGVyU2V0dGluZ3MuRXhwaXJlQXQuVG9Vbml4VGltZSgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBzdHJpbmcgcXVlcnkgPSByZWNpcGllbnRzLkJ1aWxkUXVlcnkoKTsKKworICAgICAgICAgICAgSVJlc3RSZXNwb25zZSByZXNwb25zZSA9IFJlcXVlc3QuRXhlY3V0ZUpzb25SZXF1ZXN0KHF1ZXJ5LCBNZXRob2QuUE9TVCwgcGF5bG9hZCk7CisgICAgICAgICAgICBWYWxpZGF0ZVJlc3BvbnNlKHJlc3BvbnNlKTsKKyAgICAgICAgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay9Nb2RlbC9BbmRyb2lkTm90aWZpY2F0aW9uLmNzIGIvVXNlcmdyaWQuU2RrL01vZGVsL0FuZHJvaWROb3RpZmljYXRpb24uY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjNlNDI2MAotLS0gL2Rldi9udWxsCisrKyBiL1VzZXJncmlkLlNkay9Nb2RlbC9BbmRyb2lkTm90aWZpY2F0aW9uLmNzCkBAIC0wLDAgKzEsMzcgQEAKKy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBTeXN0ZW07Cit1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKK3VzaW5nIFN5c3RlbS5EeW5hbWljOwordXNpbmcgUmVzdFNoYXJwOwordXNpbmcgVXNlcmdyaWQuU2RrLlBheWxvYWQ7CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuTW9kZWwKK3sKKworICAgIHB1YmxpYyBjbGFzcyBBbmRyb2lkTm90aWZpY2F0aW9uIDogTm90aWZpY2F0aW9uCisgICAgeworICAgICAgICBwdWJsaWMgQW5kcm9pZE5vdGlmaWNhdGlvbihzdHJpbmcgbm90aWZpZXJJZGVudGlmaWVyLCBzdHJpbmcgbWVzc2FnZSkgOiBiYXNlKG5vdGlmaWVySWRlbnRpZmllciwgbWVzc2FnZSkKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgaW50ZXJuYWwgb3ZlcnJpZGUgb2JqZWN0IEdldFBheWxvYWQoKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gbmV3IHtkYXRhID0gTWVzc2FnZX07CisgICAgICAgIH0KKyAgICB9CisgICAgCit9CmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsvTW9kZWwvQXBwbGVOb3RpZmljYXRpb24uY3MgYi9Vc2VyZ3JpZC5TZGsvTW9kZWwvQXBwbGVOb3RpZmljYXRpb24uY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM5MjI5ZAotLS0gL2Rldi9udWxsCisrKyBiL1VzZXJncmlkLlNkay9Nb2RlbC9BcHBsZU5vdGlmaWNhdGlvbi5jcwpAQCAtMCwwICsxLDQ5IEBACisvLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKwordXNpbmcgU3lzdGVtOwordXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7Cit1c2luZyBTeXN0ZW0uRHluYW1pYzsKK3VzaW5nIFJlc3RTaGFycDsKK3VzaW5nIFVzZXJncmlkLlNkay5QYXlsb2FkOworCituYW1lc3BhY2UgVXNlcmdyaWQuU2RrLk1vZGVsCit7CisKKyAgICBwdWJsaWMgY2xhc3MgQXBwbGVOb3RpZmljYXRpb24gOiBOb3RpZmljYXRpb24KKyAgICB7CisgICAgICAgIHB1YmxpYyBBcHBsZU5vdGlmaWNhdGlvbihzdHJpbmcgbm90aWZpZXJJZGVudGlmaWVyLCBzdHJpbmcgbWVzc2FnZSwgc3RyaW5nIHNvdW5kID0gbnVsbCkKKyAgICAgICAgICAgIDogYmFzZShub3RpZmllcklkZW50aWZpZXIsIG1lc3NhZ2UpCisgICAgICAgIHsKKyAgICAgICAgICAgIFNvdW5kID0gc291bmQ7CisgICAgICAgIH0KKworICAgICAgICBwdWJsaWMgc3RyaW5nIFNvdW5kIHsgZ2V0OyBzZXQ7IH0KKworICAgICAgICBpbnRlcm5hbCBvdmVycmlkZSBvYmplY3QgR2V0UGF5bG9hZCgpCisgICAgICAgIHsKKworICAgICAgICAgICAgaWYgKFNvdW5kICE9IG51bGwpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyB7YXBzID0gbmV3IHthbGVydCA9IE1lc3NhZ2UsIHNvdW5kID0gU291bmR9fTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gTWVzc2FnZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworfQpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrL01vZGVsL0F1dGhUeXBlLmNzIGIvVXNlcmdyaWQuU2RrL01vZGVsL0F1dGhUeXBlLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxOTIyY2UKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsvTW9kZWwvQXV0aFR5cGUuY3MKQEAgLTAsMCArMSwyNSBAQAorLy8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKy8vIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuTW9kZWwKK3sKKyAgICBwdWJsaWMgZW51bSBBdXRoVHlwZQorICAgIHsKKyAgICAgICAgT3JnYW5pemF0aW9uLAorCQlBcHBsaWNhdGlvbiwKKyAgICAgICAgVXNlciwKKyAgICAgICAgTm9uZQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay9Nb2RlbC9Db25uZWN0aW9uLmNzIGIvVXNlcmdyaWQuU2RrL01vZGVsL0Nvbm5lY3Rpb24uY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjA0NDM1MAotLS0gL2Rldi9udWxsCisrKyBiL1VzZXJncmlkLlNkay9Nb2RlbC9Db25uZWN0aW9uLmNzCkBAIC0wLDAgKzEsMjQgQEAKKy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCituYW1lc3BhY2UgVXNlcmdyaWQuU2RrLk1vZGVsIHsKKyAgICBwdWJsaWMgY2xhc3MgQ29ubmVjdGlvbiB7CisgICAgICAgIHB1YmxpYyBzdHJpbmcgQ29ubmVjdG9yQ29sbGVjdGlvbk5hbWUgeyBnZXQ7IHNldDsgfQorICAgICAgICBwdWJsaWMgc3RyaW5nIENvbm5lY3RvcklkZW50aWZpZXIgeyBnZXQ7IHNldDsgfQorICAgICAgICBwdWJsaWMgc3RyaW5nIENvbm5lY3RlZUNvbGxlY3Rpb25OYW1lIHsgZ2V0OyBzZXQ7IH0KKyAgICAgICAgcHVibGljIHN0cmluZyBDb25uZWN0ZWVJZGVudGlmaWVyIHsgZ2V0OyBzZXQ7IH0KKyAgICAgICAgcHVibGljIHN0cmluZyBDb25uZWN0aW9uTmFtZSB7IGdldDsgc2V0OyB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrL01vZGVsL0lOb3RpZmljYXRpb25SZWNpcGllbnRzLmNzIGIvVXNlcmdyaWQuU2RrL01vZGVsL0lOb3RpZmljYXRpb25SZWNpcGllbnRzLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmNGQwNWMKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsvTW9kZWwvSU5vdGlmaWNhdGlvblJlY2lwaWVudHMuY3MKQEAgLTAsMCArMSwzMiBAQAorLy8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKy8vIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKK3VzaW5nIFN5c3RlbTsKKworbmFtZXNwYWNlIFVzZXJncmlkLlNkay5Nb2RlbAoreworCXB1YmxpYyBpbnRlcmZhY2UgSU5vdGlmaWNhdGlvblJlY2lwaWVudHMKKwl7CisJCUlOb3RpZmljYXRpb25SZWNpcGllbnRzIEFkZFVzZXJXaXRoTmFtZShzdHJpbmcgbmFtZSk7CisJCUlOb3RpZmljYXRpb25SZWNpcGllbnRzIEFkZFVzZXJXaXRoVXVpZChzdHJpbmcgdXVpZCk7CisJCUlOb3RpZmljYXRpb25SZWNpcGllbnRzIEFkZFVzZXJXaXRoUXVlcnkoc3RyaW5nIHF1ZXJ5KTsKKwkJSU5vdGlmaWNhdGlvblJlY2lwaWVudHMgQWRkR3JvdXBXaXRoUGF0aChzdHJpbmcgcGF0aCk7CisJCUlOb3RpZmljYXRpb25SZWNpcGllbnRzIEFkZEdyb3VwV2l0aFF1ZXJ5KHN0cmluZyBxdWVyeSk7CisJCUlOb3RpZmljYXRpb25SZWNpcGllbnRzIEFkZERldmljZVdpdGhOYW1lKHN0cmluZyBuYW1lKTsKKwkJSU5vdGlmaWNhdGlvblJlY2lwaWVudHMgQWRkRGV2aWNlV2l0aFF1ZXJ5KHN0cmluZyBxdWVyeSk7CisJCXN0cmluZyBCdWlsZFF1ZXJ5KCk7CisJfQorfQorCmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsvTW9kZWwvTm90aWZpY2F0aW9uLmNzIGIvVXNlcmdyaWQuU2RrL01vZGVsL05vdGlmaWNhdGlvbi5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZTk0OTkzCi0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrL01vZGVsL05vdGlmaWNhdGlvbi5jcwpAQCAtMCwwICsxLDMxIEBACisvLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworbmFtZXNwYWNlIFVzZXJncmlkLlNkay5Nb2RlbAoreworICAgIHB1YmxpYyBhYnN0cmFjdCBjbGFzcyBOb3RpZmljYXRpb24KKyAgICB7CisgICAgICAgIHByb3RlY3RlZCBOb3RpZmljYXRpb24oc3RyaW5nIG5vdGlmaWVySWRlbnRpZmllciwgc3RyaW5nIG1lc3NhZ2UpCisgICAgICAgIHsKKyAgICAgICAgICAgIE5vdGlmaWVySWRlbnRpZmllciA9IG5vdGlmaWVySWRlbnRpZmllcjsKKyAgICAgICAgICAgIE1lc3NhZ2UgPSBtZXNzYWdlOworICAgICAgICB9CisKKyAgICAgICAgcHVibGljIHN0cmluZyBOb3RpZmllcklkZW50aWZpZXIgeyBnZXQ7IHNldDsgfQorICAgICAgICBwdWJsaWMgc3RyaW5nIE1lc3NhZ2UgeyBnZXQ7IHNldDsgfQorCisgICAgICAgIGludGVybmFsIGFic3RyYWN0IG9iamVjdCBHZXRQYXlsb2FkKCk7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrL01vZGVsL05vdGlmaWNhdGlvblJlY2lwaWVudHMuY3MgYi9Vc2VyZ3JpZC5TZGsvTW9kZWwvTm90aWZpY2F0aW9uUmVjaXBpZW50cy5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYWE3OWNkCi0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrL01vZGVsL05vdGlmaWNhdGlvblJlY2lwaWVudHMuY3MKQEAgLTAsMCArMSwxMzcgQEAKKy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBTeXN0ZW07CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuTW9kZWwKK3sKKwlwdWJsaWMgY2xhc3MgTm90aWZpY2F0aW9uUmVjaXBpZW50cyA6IElOb3RpZmljYXRpb25SZWNpcGllbnRzCisJeworCQlzdHJpbmcgX3VzZXJOYW1lOworCQlzdHJpbmcgX3VzZXJVdWlkOworCQlzdHJpbmcgX3VzZXJRdWVyeTsKKwkJc3RyaW5nIF9ncm91cFBhdGg7CisJCXN0cmluZyBfZ3JvdXBRdWVyeTsKKwkJc3RyaW5nIF9kZXZpY2VOYW1lOworCQlzdHJpbmcgX2RldmljZVF1ZXJ5OworCisJCXB1YmxpYyBJTm90aWZpY2F0aW9uUmVjaXBpZW50cyBBZGRVc2VyV2l0aE5hbWUgKHN0cmluZyBuYW1lKQorCQl7CisgICAgICAgICAgICBpZiAoX3VzZXJVdWlkICE9IG51bGwpCisgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50RXhjZXB0aW9uKCJVc2VyIG5hbWUgYW5kIHV1aWQgY2FuIG5vdCBiZSBhZGRlZCBhdCB0aGUgc2FtZSB0aW1lLiIpOworICAgICAgICAgICAgX3VzZXJOYW1lID0gbmFtZTsKKwkJCXJldHVybiB0aGlzOworCQl9CisKKwkJcHVibGljIElOb3RpZmljYXRpb25SZWNpcGllbnRzIEFkZFVzZXJXaXRoVXVpZCAoc3RyaW5nIHV1aWQpCisJCXsKKwkJCWlmIChfdXNlck5hbWUgIT0gbnVsbCkKKwkJCQl0aHJvdyBuZXcgQXJndW1lbnRFeGNlcHRpb24gKCJVc2VyIG5hbWUgYW5kIHV1aWQgY2FuIG5vdCBiZSBhZGRlZCBhdCB0aGUgc2FtZSB0aW1lLiIpOworCisJCQlfdXNlclV1aWQgPSB1dWlkOworCQkJcmV0dXJuIHRoaXM7CisJCX0KKworCQlwdWJsaWMgSU5vdGlmaWNhdGlvblJlY2lwaWVudHMgQWRkVXNlcldpdGhRdWVyeSAoc3RyaW5nIHF1ZXJ5KQorCQl7CisgICAgICAgICAgICBpZiAoX3VzZXJOYW1lICE9IG51bGwgfHwgX3VzZXJVdWlkICE9IG51bGwpCisgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50RXhjZXB0aW9uKCJVc2VyIHF1ZXJ5IGNhbiBub3QgYmUgYWRkZWQgdG9nZXRoZXIgd2l0aCB1c2VyIG5hbWUgb3IgdXVpZC4iKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgX3VzZXJRdWVyeSA9IHF1ZXJ5OworCQkJcmV0dXJuIHRoaXM7CisJCX0KKworCQlwdWJsaWMgSU5vdGlmaWNhdGlvblJlY2lwaWVudHMgQWRkR3JvdXBXaXRoUGF0aCAoc3RyaW5nIHBhdGgpCisJCXsKKyAgICAgICAgICAgIGlmIChfZ3JvdXBRdWVyeSAhPSBudWxsKQorICAgICAgICAgICAgICAgIHRocm93IG5ldyBBcmd1bWVudEV4Y2VwdGlvbigiR3JvdXAgcGF0aCBhbmQgcXVlcnkgY2FuIG5vdCBiZSBhZGRlZCBhdCB0aGUgc2FtZSB0aW1lLiIpOworICAgICAgICAgICAgCisgICAgICAgICAgICBfZ3JvdXBQYXRoID0gcGF0aDsKKwkJCXJldHVybiB0aGlzOworCQl9CisKKwkJcHVibGljIElOb3RpZmljYXRpb25SZWNpcGllbnRzIEFkZEdyb3VwV2l0aFF1ZXJ5IChzdHJpbmcgcXVlcnkpCisJCXsKKyAgICAgICAgICAgIGlmIChfZ3JvdXBQYXRoICE9IG51bGwpCisgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50RXhjZXB0aW9uKCJHcm91cCBwYXRoIGFuZCBxdWVyeSBjYW4gbm90IGJlIGFkZGVkIGF0IHRoZSBzYW1lIHRpbWUuIik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIF9ncm91cFF1ZXJ5ID0gcXVlcnk7CisJCQlyZXR1cm4gdGhpczsKKwkJfQorCisJCXB1YmxpYyBJTm90aWZpY2F0aW9uUmVjaXBpZW50cyBBZGREZXZpY2VXaXRoTmFtZSAoc3RyaW5nIG5hbWUpCisJCXsKKyAgICAgICAgICAgIGlmIChfZGV2aWNlUXVlcnkgIT0gbnVsbCkKKyAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQXJndW1lbnRFeGNlcHRpb24oIkRldmljZSBuYW1lIGFuZCBxdWVyeSBjYW4gbm90IGJlIGFkZGVkIGF0IHRoZSBzYW1lIHRpbWUuIik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIF9kZXZpY2VOYW1lID0gbmFtZTsKKwkJCXJldHVybiB0aGlzOworCQl9CisKKwkJcHVibGljIElOb3RpZmljYXRpb25SZWNpcGllbnRzIEFkZERldmljZVdpdGhRdWVyeSAoc3RyaW5nIHF1ZXJ5KQorCQl7CisgICAgICAgICAgICBpZiAoX2RldmljZU5hbWUgIT0gbnVsbCkKKyAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQXJndW1lbnRFeGNlcHRpb24oIkRldmljZSBuYW1lIGFuZCBxdWVyeSBjYW4gbm90IGJlIGFkZGVkIGF0IHRoZSBzYW1lIHRpbWUuIik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIF9kZXZpY2VRdWVyeSA9IHF1ZXJ5OworCQkJcmV0dXJuIHRoaXM7CisJCX0KKworCQlwdWJsaWMgc3RyaW5nIEJ1aWxkUXVlcnkoKQorCQl7CisJCQl2YXIgcXVlcnkgPSBzdHJpbmcuRW1wdHk7CisKKwkJCWlmIChfZ3JvdXBQYXRoICE9IG51bGwpCisJCQl7CisJCQkJcXVlcnkgKz0gc3RyaW5nLkZvcm1hdCAoIi9ncm91cHMvezB9IiwgX2dyb3VwUGF0aCk7CisJCQl9CisKKwkJCWlmIChfZ3JvdXBRdWVyeSAhPSBudWxsKQorCQkJeworCQkJCXF1ZXJ5ICs9IHN0cmluZy5Gb3JtYXQgKCIvZ3JvdXBzO3FsPXswfSIsIF9ncm91cFF1ZXJ5KTsKKwkJCX0KKworCQkJaWYgKF91c2VyTmFtZSAhPSBudWxsKQorCQkJeworCQkJCXF1ZXJ5ICs9IHN0cmluZy5Gb3JtYXQgKCIvdXNlcnMvezB9IiwgX3VzZXJOYW1lKTsKKwkJCX0KKworCQkJaWYgKF91c2VyVXVpZCAhPSBudWxsKQorCQkJeworCQkJCXF1ZXJ5ICs9IHN0cmluZy5Gb3JtYXQgKCIvdXNlcnMvezB9IiwgX3VzZXJVdWlkKTsKKwkJCX0KKworCQkJaWYgKF91c2VyUXVlcnkgIT0gbnVsbCkKKwkJCXsKKwkJCQlxdWVyeSArPSBzdHJpbmcuRm9ybWF0ICgiL3VzZXJzO3FsPXswfSIsIF91c2VyUXVlcnkpOworCQkJfQorCisJCQlpZiAoX2RldmljZU5hbWUgIT0gbnVsbCkKKwkJCXsKKwkJCQlxdWVyeSArPSBzdHJpbmcuRm9ybWF0ICgiL2RldmljZXMvezB9IiwgX2RldmljZU5hbWUpOworCQkJfQorCisJCQlpZiAoX2RldmljZVF1ZXJ5ICE9IG51bGwpCisJCQl7CisJCQkJcXVlcnkgKz0gc3RyaW5nLkZvcm1hdCAoIi9kZXZpY2VzO3FsPXswfSIsIF9kZXZpY2VRdWVyeSk7CisJCQl9CisKKwkJCXF1ZXJ5ICs9ICIvbm90aWZpY2F0aW9ucyI7CisKKwkJCXJldHVybiBxdWVyeTsKKwkJfQorCX0KK30KKwpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrL01vZGVsL05vdGlmaWNhdGlvblNjaGVkdWxlclNldHRpbmdzLmNzIGIvVXNlcmdyaWQuU2RrL01vZGVsL05vdGlmaWNhdGlvblNjaGVkdWxlclNldHRpbmdzLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1YjcyNjEKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsvTW9kZWwvTm90aWZpY2F0aW9uU2NoZWR1bGVyU2V0dGluZ3MuY3MKQEAgLTAsMCArMSwzNSBAQAorLy8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKy8vIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKK3VzaW5nIFN5c3RlbTsKK3VzaW5nIE5ld3RvbnNvZnQuSnNvbjsKKworbmFtZXNwYWNlIFVzZXJncmlkLlNkay5Nb2RlbAoreworCXB1YmxpYyBjbGFzcyBOb3RpZmljYXRpb25TY2hlZHVsZXJTZXR0aW5ncworCXsKKwkJW0pzb25Qcm9wZXJ0eSgiZGVsaXZlciIpXQorCQlwdWJsaWMgRGF0ZVRpbWUgRGVsaXZlckF0IHtnZXQ7c2V0O30KKwkJW0pzb25Qcm9wZXJ0eSgiZXhwaXJlIildCisJCXB1YmxpYyBEYXRlVGltZSBFeHBpcmVBdCB7IGdldDsgc2V0O30KKworCQlwdWJsaWMgTm90aWZpY2F0aW9uU2NoZWR1bGVyU2V0dGluZ3MoKQorCQl7CisJCQlEZWxpdmVyQXQgPSBEYXRlVGltZS5NaW5WYWx1ZTsKKwkJCUV4cGlyZUF0ID0gRGF0ZVRpbWUuTWluVmFsdWU7CisJCX0KKwl9Cit9CisKZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay9Nb2RlbC9Vbml4RGF0ZVRpbWVIZWxwZXIuY3MgYi9Vc2VyZ3JpZC5TZGsvTW9kZWwvVW5peERhdGVUaW1lSGVscGVyLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyYjgwMTcKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsvTW9kZWwvVW5peERhdGVUaW1lSGVscGVyLmNzCkBAIC0wLDAgKzEsNTMgQEAKKy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBTeXN0ZW07CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsKK3sKKwlwdWJsaWMgc3RhdGljIGNsYXNzIFVuaXhEYXRlVGltZUhlbHBlcgorCXsKKwkJcHJpdmF0ZSBjb25zdCBzdHJpbmcgSW52YWxpZFVuaXhFcG9jaEVycm9yTWVzc2FnZSA9ICJVbml4IGVwb2Mgc3RhcnRzIEphbnVhcnkgMXN0LCAxOTcwIjsKKworCQkvLy8gPHN1bW1hcnk+CisJCS8vLyAgIENvbnZlcnQgYSBsb25nIGludG8gYSBEYXRlVGltZQorCQkvLy8gPC9zdW1tYXJ5PgorCQlwdWJsaWMgc3RhdGljIERhdGVUaW1lIEZyb21Vbml4VGltZSh0aGlzIEludDY0IHNlbGYpCisJCXsKKwkJCXZhciByZXQgPSBuZXcgRGF0ZVRpbWUoMTk3MCwgMSwgMSk7CisJCQlyZXR1cm4gcmV0LkFkZFNlY29uZHMoc2VsZi8xMDAwKTsKKwkJfQorCisJCS8vLyA8c3VtbWFyeT4KKwkJLy8vICAgQ29udmVydCBhIERhdGVUaW1lIGludG8gYSBsb25nCisJCS8vLyA8L3N1bW1hcnk+CisJCXB1YmxpYyBzdGF0aWMgSW50NjQgVG9Vbml4VGltZSh0aGlzIERhdGVUaW1lIHNlbGYpCisJCXsKKworCQkJaWYgKHNlbGYgPT0gRGF0ZVRpbWUuTWluVmFsdWUpCisJCQl7CisJCQkJcmV0dXJuIDA7CisJCQl9CisKKwkJCXZhciBlcG9jID0gbmV3IERhdGVUaW1lKDE5NzAsIDEsIDEpOworCQkJdmFyIGRlbHRhID0gc2VsZiAtIGVwb2M7CisKKwkJCWlmIChkZWx0YS5Ub3RhbFNlY29uZHMgPCAwKSB0aHJvdyBuZXcgQXJndW1lbnRPdXRPZlJhbmdlRXhjZXB0aW9uKEludmFsaWRVbml4RXBvY2hFcnJvck1lc3NhZ2UpOworCisJCQlyZXR1cm4gKGxvbmcpIGRlbHRhLlRvdGFsU2Vjb25kcyAqIDEwMDA7CisJCX0KKwl9Cit9CisKZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay9Nb2RlbC9Vc2VyR3JpZEVudGl0eS5jcyBiL1VzZXJncmlkLlNkay9Nb2RlbC9Vc2VyR3JpZEVudGl0eS5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ODlhNDNhCi0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrL01vZGVsL1VzZXJHcmlkRW50aXR5LmNzCkBAIC0wLDAgKzEsNDUgQEAKKy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBTeXN0ZW07Cit1c2luZyBOZXd0b25zb2Z0Lkpzb247CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuTW9kZWwKK3sKKyAgICBwdWJsaWMgY2xhc3MgVXNlcmdyaWRFbnRpdHkKKyAgICB7CisgICAgICAgIHB1YmxpYyBzdHJpbmcgVXVpZCB7IGdldDsgc2V0OyB9CisgICAgICAgIHB1YmxpYyBzdHJpbmcgVHlwZSB7IGdldDsgc2V0OyB9CisgICAgICAgIHB1YmxpYyBzdHJpbmcgTmFtZSB7IGdldDsgc2V0OyB9CisKKyAgICAgICAgW0pzb25Qcm9wZXJ0eSgiY3JlYXRlZCIpXQorICAgICAgICBwcml2YXRlIGxvbmcgY3JlYXRlZExvbmcgeyBnZXQ7IHNldDsgfQorCisgICAgICAgIFtKc29uSWdub3JlXQorICAgICAgICBwdWJsaWMgRGF0ZVRpbWUgQ3JlYXRlZERhdGUKKyAgICAgICAgeworICAgICAgICAgICAgZ2V0IHsgcmV0dXJuIGNyZWF0ZWRMb25nLkZyb21Vbml4VGltZSgpOyB9CisgICAgICAgIH0KKworICAgICAgICBbSnNvblByb3BlcnR5KCJtb2RpZmllZCIpXQorICAgICAgICBwcml2YXRlIGxvbmcgbW9kaWZpZWRMb25nIHsgZ2V0OyBzZXQ7IH0KKworICAgICAgICBbSnNvbklnbm9yZV0KKyAgICAgICAgcHVibGljIERhdGVUaW1lIE1vZGlmaWVkRGF0ZQorICAgICAgICB7CisgICAgICAgICAgICBnZXQgeyByZXR1cm4gbW9kaWZpZWRMb25nLkZyb21Vbml4VGltZSgpOyB9CisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsvTW9kZWwvVXNlcmdyaWRBY3Rpdml0eS5jcyBiL1VzZXJncmlkLlNkay9Nb2RlbC9Vc2VyZ3JpZEFjdGl2aXR5LmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkMzliMGEKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsvTW9kZWwvVXNlcmdyaWRBY3Rpdml0eS5jcwpAQCAtMCwwICsxLDUwIEBACisvLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKwordXNpbmcgU3lzdGVtOwordXNpbmcgTmV3dG9uc29mdC5Kc29uOworCituYW1lc3BhY2UgVXNlcmdyaWQuU2RrLk1vZGVsCit7CisJcHVibGljIGNsYXNzIFVzZXJncmlkQWN0aXZpdHkKKwl7CisJCXB1YmxpYyBVc2VyZ3JpZEFjdGl2aXR5KCl7fQorCisJCXB1YmxpYyBVc2VyZ3JpZEFjdGl2aXR5KFVzZXJncmlkVXNlciB1c2VyLCBVc2VyZ3JpZEltYWdlIGltYWdlID0gbnVsbCl7CisJCQlBY3RvciA9IG5ldyBVc2VyZ3JpZEFjdG9yIHsKKwkJCQlEaXNwbGF5TmFtZSA9IHVzZXIuTmFtZSwKKwkJCQlFbWFpbCA9IHVzZXIuRW1haWwsCisJCQkJSW1hZ2UgPSBpbWFnZSwKKwkJCQlVc2VyTmFtZSA9IHVzZXIuVXNlck5hbWUsCisJCQkJVXVpZCA9IHVzZXIuVXVpZAorCQkJfTsKKwkJfQorCisJCXB1YmxpYyBVc2VyZ3JpZEFjdG9yIEFjdG9yIHtnZXQ7c2V0O30KKworCQlwdWJsaWMgc3RyaW5nIFZlcmIge2dldDtzZXQ7fQorCisJCXB1YmxpYyBzdHJpbmcgQ29udGVudCB7IGdldDsgc2V0O30KKworCQlbSnNvblByb3BlcnR5KCJwdWJsaXNoZWQiKV0KKwkJcHJpdmF0ZSBsb25nIFB1Ymxpc2hlZExvbmcgeyAgZ2V0OyAgc2V0O30KKworCQlbSnNvbklnbm9yZV0KKwkJcHVibGljIERhdGVUaW1lIFB1Ymxpc2hlZERhdGUgeworCQkJZ2V0IHsgcmV0dXJuIFB1Ymxpc2hlZExvbmcuRnJvbVVuaXhUaW1lKCk7IH0KKwkJfQorCX0KK30KKwpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrL01vZGVsL1VzZXJncmlkQWN0b3IuY3MgYi9Vc2VyZ3JpZC5TZGsvTW9kZWwvVXNlcmdyaWRBY3Rvci5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZTU2MmVjCi0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrL01vZGVsL1VzZXJncmlkQWN0b3IuY3MKQEAgLTAsMCArMSwyOSBAQAorLy8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKy8vIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKK3VzaW5nIFN5c3RlbTsKKworbmFtZXNwYWNlIFVzZXJncmlkLlNkaworeworCXB1YmxpYyBjbGFzcyBVc2VyZ3JpZEFjdG9yCisJeworCQlwdWJsaWMgc3RyaW5nIERpc3BsYXlOYW1lIHtnZXQ7c2V0O30KKwkJcHVibGljIHN0cmluZyBVdWlkIHsgZ2V0OyBzZXQ7fQorCQlwdWJsaWMgc3RyaW5nIFVzZXJOYW1lIHtnZXQ7c2V0O30KKwkJcHVibGljIFVzZXJncmlkSW1hZ2UgSW1hZ2Uge2dldDtzZXQ7fQorCQlwdWJsaWMgc3RyaW5nIEVtYWlsIHtnZXQ7c2V0O30KKwl9Cit9CisKZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay9Nb2RlbC9Vc2VyZ3JpZENvbGxlY3Rpb24uY3MgYi9Vc2VyZ3JpZC5TZGsvTW9kZWwvVXNlcmdyaWRDb2xsZWN0aW9uLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhODAxYTQKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsvTW9kZWwvVXNlcmdyaWRDb2xsZWN0aW9uLmNzCkBAIC0wLDAgKzEsMzAgQEAKKy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBTeXN0ZW07Cit1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKKworbmFtZXNwYWNlIFVzZXJncmlkLlNkaworeworCXB1YmxpYyBjbGFzcyBVc2VyZ3JpZENvbGxlY3Rpb248VD4gOiBMaXN0PFQ+CisJeworCQlwdWJsaWMgVXNlcmdyaWRDb2xsZWN0aW9uKCkgOiBiYXNlKCkge30KKwkJcHVibGljIFVzZXJncmlkQ29sbGVjdGlvbihJRW51bWVyYWJsZTxUPiBpdGVtcykgOiBiYXNlKGl0ZW1zKSB7fQorCisJCXB1YmxpYyBib29sIEhhc05leHQge2dldDtzZXQ7fQorCQlwdWJsaWMgYm9vbCBIYXNQcmV2aW91cyB7Z2V0O3NldDt9CisJfQorfQorCmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsvTW9kZWwvVXNlcmdyaWREZXZpY2UuY3MgYi9Vc2VyZ3JpZC5TZGsvTW9kZWwvVXNlcmdyaWREZXZpY2UuY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjA4MzdhOQotLS0gL2Rldi9udWxsCisrKyBiL1VzZXJncmlkLlNkay9Nb2RlbC9Vc2VyZ3JpZERldmljZS5jcwpAQCAtMCwwICsxLDIyIEBACisvLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKwordXNpbmcgU3lzdGVtOworCituYW1lc3BhY2UgVXNlcmdyaWQuU2RrLk1vZGVsCit7CisJcHVibGljIGNsYXNzIFVzZXJncmlkRGV2aWNlIDogVXNlcmdyaWRFbnRpdHkge30KK30KKwpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrL01vZGVsL1VzZXJncmlkRW50aXR5U2VyaWFsaXplci5jcyBiL1VzZXJncmlkLlNkay9Nb2RlbC9Vc2VyZ3JpZEVudGl0eVNlcmlhbGl6ZXIuY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNhODRlZAotLS0gL2Rldi9udWxsCisrKyBiL1VzZXJncmlkLlNkay9Nb2RlbC9Vc2VyZ3JpZEVudGl0eVNlcmlhbGl6ZXIuY3MKQEAgLTAsMCArMSw1MSBAQAorLy8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKy8vIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKK3VzaW5nIFN5c3RlbTsKK3VzaW5nIE5ld3RvbnNvZnQuSnNvbjsKK3VzaW5nIE5ld3RvbnNvZnQuSnNvbi5MaW5xOworCituYW1lc3BhY2UgVXNlcmdyaWQuU2RrLk1vZGVsCit7CisJcHVibGljIGNsYXNzIEVudGl0eVNlcmlhbGl6ZXIgOiBKc29uQ29udmVydGVyCisJeworCQlwdWJsaWMgb3ZlcnJpZGUgb2JqZWN0IFJlYWRKc29uIChKc29uUmVhZGVyIHJlYWRlciwgVHlwZSBvYmplY3RUeXBlLCBvYmplY3QgZXhpc3RpbmdWYWx1ZSwgSnNvblNlcmlhbGl6ZXIgc2VyaWFsaXplcikKKwkJeworCQkJdmFyIGpzb25TZXJpYWxpemVyID0gbmV3IEpzb25TZXJpYWxpemVyICgpOworCisJCQl2YXIgb2JqID0gSk9iamVjdC5Mb2FkKHJlYWRlcik7IAorCQkJdmFyIHIxID0gb2JqLkNyZWF0ZVJlYWRlcigpOworCQkJdmFyIHIyID0gb2JqLkNyZWF0ZVJlYWRlciAoKTsKKworCQkJdmFyIHVzZXJncmlkRW50aXR5ID0ganNvblNlcmlhbGl6ZXIuRGVzZXJpYWxpemUgKHIxLCBvYmplY3RUeXBlKTsKKwkJCXZhciBlbnRpdHlQcm9wZXJ0eSA9IHVzZXJncmlkRW50aXR5LkdldFR5cGUgKCkuR2V0UHJvcGVydHkgKCJFbnRpdHkiKTsKKwkJCXZhciBlbnRpdHkgPSBqc29uU2VyaWFsaXplci5EZXNlcmlhbGl6ZShyMiwgZW50aXR5UHJvcGVydHkuUHJvcGVydHlUeXBlKTsKKwkJCWVudGl0eVByb3BlcnR5LlNldFZhbHVlICh1c2VyZ3JpZEVudGl0eSwgZW50aXR5LCBudWxsKTsKKworCQkJcmV0dXJuIHVzZXJncmlkRW50aXR5OworCQl9CisKKwkJcHVibGljIG92ZXJyaWRlIHZvaWQgV3JpdGVKc29uIChKc29uV3JpdGVyIHdyaXRlciwgb2JqZWN0IHZhbHVlLCBKc29uU2VyaWFsaXplciBzZXJpYWxpemVyKQorCQl7CisJCQl0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFeGNlcHRpb24gKCk7CisJCX0KKworCQlwdWJsaWMgb3ZlcnJpZGUgYm9vbCBDYW5Db252ZXJ0IChUeXBlIG9iamVjdFR5cGUpCisJCXsKKwkJCXJldHVybiB0eXBlb2YoVXNlcmdyaWRFbnRpdHkpLklzQXNzaWduYWJsZUZyb20gKG9iamVjdFR5cGUpOworCQl9CisJfQorfQorCmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsvTW9kZWwvVXNlcmdyaWRFcnJvci5jcyBiL1VzZXJncmlkLlNkay9Nb2RlbC9Vc2VyZ3JpZEVycm9yLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3MDQzM2IKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsvTW9kZWwvVXNlcmdyaWRFcnJvci5jcwpAQCAtMCwwICsxLDMxIEBACivvu78vLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKwordXNpbmcgTmV3dG9uc29mdC5Kc29uOworCituYW1lc3BhY2UgVXNlcmdyaWQuU2RrLk1vZGVsCit7CisgICAgcHVibGljIGNsYXNzIFVzZXJncmlkRXJyb3IKKyAgICB7CisgICAgICAgIFtKc29uUHJvcGVydHkoUHJvcGVydHlOYW1lID0gImVycm9yIildCisgICAgICAgIHB1YmxpYyBzdHJpbmcgRXJyb3IgeyBnZXQ7IHNldDsgfQorCisgICAgICAgIFtKc29uUHJvcGVydHkoUHJvcGVydHlOYW1lID0gImV4Y2VwdGlvbiIpXQorICAgICAgICBwdWJsaWMgc3RyaW5nIEV4Y2VwdGlvbiB7IGdldDsgc2V0OyB9CisKKyAgICAgICAgW0pzb25Qcm9wZXJ0eShQcm9wZXJ0eU5hbWUgPSAiZXJyb3JfZGVzY3JpcHRpb24iKV0KKyAgICAgICAgcHVibGljIHN0cmluZyBEZXNjcmlwdGlvbiB7IGdldDsgc2V0OyB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrL01vZGVsL1VzZXJncmlkRXhjZXB0aW9uLmNzIGIvVXNlcmdyaWQuU2RrL01vZGVsL1VzZXJncmlkRXhjZXB0aW9uLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3Zjk4MTYKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsvTW9kZWwvVXNlcmdyaWRFeGNlcHRpb24uY3MKQEAgLTAsMCArMSwzMCBAQAorLy8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKy8vIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKK3VzaW5nIFN5c3RlbTsKK3VzaW5nIFVzZXJncmlkLlNkay5Nb2RlbDsKKworbmFtZXNwYWNlIFVzZXJncmlkLlNkay5Nb2RlbAoreworICAgIHB1YmxpYyBjbGFzcyBVc2VyZ3JpZEV4Y2VwdGlvbiA6IEV4Y2VwdGlvbgorICAgIHsKKwkJcHVibGljIFVzZXJncmlkRXhjZXB0aW9uKFVzZXJncmlkRXJyb3IgZXJyb3IpIDogYmFzZShlcnJvci5EZXNjcmlwdGlvbikKKwkJeworCQkJRXJyb3JDb2RlID0gZXJyb3IuRXJyb3I7CisJCX0KKworCQlwdWJsaWMgc3RyaW5nIEVycm9yQ29kZSB7IGdldDsgc2V0OyB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrL01vZGVsL1VzZXJncmlkR3JvdXAuY3MgYi9Vc2VyZ3JpZC5TZGsvTW9kZWwvVXNlcmdyaWRHcm91cC5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YmUyMGY2Ci0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrL01vZGVsL1VzZXJncmlkR3JvdXAuY3MKQEAgLTAsMCArMSwyNCBAQAorLy8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKy8vIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuTW9kZWwKK3sKKyAgICBwdWJsaWMgY2xhc3MgVXNlcmdyaWRHcm91cCA6IFVzZXJncmlkRW50aXR5CisgICAgeworICAgICAgICBwdWJsaWMgc3RyaW5nIFRpdGxlIHsgZ2V0OyBzZXQ7IH0KKyAgICAgICAgcHVibGljIHN0cmluZyBQYXRoIHsgZ2V0OyBzZXQ7IH0KKworICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay9Nb2RlbC9Vc2VyZ3JpZEltYWdlLmNzIGIvVXNlcmdyaWQuU2RrL01vZGVsL1VzZXJncmlkSW1hZ2UuY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTNkN2EyNAotLS0gL2Rldi9udWxsCisrKyBiL1VzZXJncmlkLlNkay9Nb2RlbC9Vc2VyZ3JpZEltYWdlLmNzCkBAIC0wLDAgKzEsMjggQEAKKy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBTeXN0ZW07CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsKK3sKKwlwdWJsaWMgY2xhc3MgVXNlcmdyaWRJbWFnZQorCXsKKwkJcHVibGljIGludCBEdXJhdGlvbiB7Z2V0O3NldDt9CisJCXB1YmxpYyBpbnQgSGVpZ2h0IHtnZXQ7c2V0O30KKwkJcHVibGljIGludCBXaWR0aCB7Z2V0O3NldDt9CisJCXB1YmxpYyBzdHJpbmcgVXJsIHtnZXQ7c2V0O30KKwl9Cit9CisKZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay9Nb2RlbC9Vc2VyZ3JpZE5vdGlmaWVyLmNzIGIvVXNlcmdyaWQuU2RrL01vZGVsL1VzZXJncmlkTm90aWZpZXIuY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTZmNjk2NAotLS0gL2Rldi9udWxsCisrKyBiL1VzZXJncmlkLlNkay9Nb2RlbC9Vc2VyZ3JpZE5vdGlmaWVyLmNzCkBAIC0wLDAgKzEsMjMgQEAKKy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCituYW1lc3BhY2UgVXNlcmdyaWQuU2RrLk1vZGVsCit7CisgICAgcHVibGljIGNsYXNzIFVzZXJncmlkTm90aWZpZXIgOiBVc2VyZ3JpZEVudGl0eQorICAgIHsKKyAgICAgICAgcHVibGljIHN0cmluZyBQcm92aWRlciB7IGdldDsgc2V0OyB9CisgICAgICAgIHB1YmxpYyBzdHJpbmcgRW52aXJvbm1lbnQgeyBnZXQ7IHNldDsgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay9Nb2RlbC9Vc2VyZ3JpZFVzZXIuY3MgYi9Vc2VyZ3JpZC5TZGsvTW9kZWwvVXNlcmdyaWRVc2VyLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiZGRiMmMKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsvTW9kZWwvVXNlcmdyaWRVc2VyLmNzCkBAIC0wLDAgKzEsMjcgQEAKKy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBOZXd0b25zb2Z0Lkpzb247CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuTW9kZWwKK3sKKyAgICBwdWJsaWMgY2xhc3MgVXNlcmdyaWRVc2VyIDogVXNlcmdyaWRFbnRpdHkKKyAgICB7CisgICAgICAgIFtKc29uUHJvcGVydHkoInVzZXJuYW1lIildCisgICAgICAgIHB1YmxpYyBzdHJpbmcgVXNlck5hbWUgeyBnZXQ7IHNldDsgfQorICAgICAgICBbSnNvblByb3BlcnR5KCJlbWFpbCIpXQorICAgICAgICBwdWJsaWMgc3RyaW5nIEVtYWlsIHsgZ2V0OyBzZXQ7IH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsvUGF5bG9hZC9BbmRyb2lkTm90aWZpZXJQYXlsb2FkLmNzIGIvVXNlcmdyaWQuU2RrL1BheWxvYWQvQW5kcm9pZE5vdGlmaWVyUGF5bG9hZC5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYzQxNzIzCi0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrL1BheWxvYWQvQW5kcm9pZE5vdGlmaWVyUGF5bG9hZC5jcwpAQCAtMCwwICsxLDI5IEBACisvLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworbmFtZXNwYWNlIFVzZXJncmlkLlNkay5QYXlsb2FkCit7CisgICAgaW50ZXJuYWwgY2xhc3MgQW5kcm9pZE5vdGlmaWVyUGF5bG9hZAorICAgIHsKKyAgICAgICAgcHVibGljIHN0cmluZyBOYW1lIHsgZ2V0OyBzZXQ7IH0KKworICAgICAgICBwdWJsaWMgc3RyaW5nIFByb3ZpZGVyCisgICAgICAgIHsKKyAgICAgICAgICAgIGdldCB7IHJldHVybiAiZ29vZ2xlIjsgfQorICAgICAgICB9CisKKyAgICAgICAgcHVibGljIHN0cmluZyBBcGlLZXkgeyBnZXQ7IHNldDsgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay9QYXlsb2FkL0NhbmNlbE5vdGlmaWNhdGlvblBheWxvYWQuY3MgYi9Vc2VyZ3JpZC5TZGsvUGF5bG9hZC9DYW5jZWxOb3RpZmljYXRpb25QYXlsb2FkLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhMzY5NGIKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsvUGF5bG9hZC9DYW5jZWxOb3RpZmljYXRpb25QYXlsb2FkLmNzCkBAIC0wLDAgKzEsMjUgQEAKKy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBOZXd0b25zb2Z0Lkpzb247CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuUGF5bG9hZAoreworICAgIGludGVybmFsIGNsYXNzIENhbmNlbE5vdGlmaWNhdGlvblBheWxvYWQKKyAgICB7CisgICAgICAgIFtKc29uUHJvcGVydHkoUHJvcGVydHlOYW1lID0gImNhbmNlbGVkIildCisgICAgICAgIGludGVybmFsIGJvb2wgQ2FuY2VsZWQgeyBnZXQ7IHNldDsgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay9QYXlsb2FkL0NoYW5nZVBhc3N3b3JkUGF5bG9hZC5jcyBiL1VzZXJncmlkLlNkay9QYXlsb2FkL0NoYW5nZVBhc3N3b3JkUGF5bG9hZC5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTQzNjY0Ci0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrL1BheWxvYWQvQ2hhbmdlUGFzc3dvcmRQYXlsb2FkLmNzCkBAIC0wLDAgKzEsMjggQEAKKy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBOZXd0b25zb2Z0Lkpzb247CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuUGF5bG9hZAoreworCWludGVybmFsIGNsYXNzIENoYW5nZVBhc3N3b3JkUGF5bG9hZAorICAgIHsKKyAgICAgICAgW0pzb25Qcm9wZXJ0eShQcm9wZXJ0eU5hbWUgPSAib2xkcGFzc3dvcmQiKV0KKwkJaW50ZXJuYWwgc3RyaW5nIE9sZFBhc3N3b3JkIHsgZ2V0OyBzZXQ7IH0KKworICAgICAgICBbSnNvblByb3BlcnR5KFByb3BlcnR5TmFtZSA9ICJuZXdwYXNzd29yZCIpXQorCQlpbnRlcm5hbCBzdHJpbmcgTmV3UGFzc3dvcmQgeyBnZXQ7IHNldDsgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay9QYXlsb2FkL0NsaWVudElkTG9naW5QYXlsb2FkLmNzIGIvVXNlcmdyaWQuU2RrL1BheWxvYWQvQ2xpZW50SWRMb2dpblBheWxvYWQuY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjdiMTU1YgotLS0gL2Rldi9udWxsCisrKyBiL1VzZXJncmlkLlNkay9QYXlsb2FkL0NsaWVudElkTG9naW5QYXlsb2FkLmNzCkBAIC0wLDAgKzEsMzQgQEAKK++7vy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBOZXd0b25zb2Z0Lkpzb247CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuUGF5bG9hZAoreworCWludGVybmFsIGNsYXNzIENsaWVudElkTG9naW5QYXlsb2FkCisgICAgeworICAgICAgICBbSnNvblByb3BlcnR5KFByb3BlcnR5TmFtZSA9ICJncmFudF90eXBlIildCisJCWludGVybmFsIHN0cmluZyBHcmFudFR5cGUKKyAgICAgICAgeworICAgICAgICAgICAgZ2V0IHsgcmV0dXJuICJjbGllbnRfY3JlZGVudGlhbHMiOyB9CisgICAgICAgIH0KKworICAgICAgICBbSnNvblByb3BlcnR5KFByb3BlcnR5TmFtZSA9ICJjbGllbnRfaWQiKV0KKwkJaW50ZXJuYWwgc3RyaW5nIENsaWVudElkIHsgZ2V0OyBzZXQ7IH0KKworICAgICAgICBbSnNvblByb3BlcnR5KFByb3BlcnR5TmFtZSA9ICJjbGllbnRfc2VjcmV0IildCisJCWludGVybmFsIHN0cmluZyBDbGllbnRTZWNyZXQgeyBnZXQ7IHNldDsgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay9QYXlsb2FkL0xvZ2luUmVzcG9uc2UuY3MgYi9Vc2VyZ3JpZC5TZGsvUGF5bG9hZC9Mb2dpblJlc3BvbnNlLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3YmVlMzUKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsvUGF5bG9hZC9Mb2dpblJlc3BvbnNlLmNzCkBAIC0wLDAgKzEsMjUgQEAKKy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBOZXd0b25zb2Z0Lkpzb247CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuUGF5bG9hZAoreworICAgIGludGVybmFsIGNsYXNzIExvZ2luUmVzcG9uc2UKKyAgICB7CisgICAgICAgIFtKc29uUHJvcGVydHkoUHJvcGVydHlOYW1lID0gImFjY2Vzc190b2tlbiIpXQorICAgICAgICBwdWJsaWMgc3RyaW5nIEFjY2Vzc1Rva2VuIHsgZ2V0OyBzZXQ7IH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsvUGF5bG9hZC9Ob3RpZmljYXRpb25QYXlsb2FkLmNzIGIvVXNlcmdyaWQuU2RrL1BheWxvYWQvTm90aWZpY2F0aW9uUGF5bG9hZC5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTlhZjNhCi0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrL1BheWxvYWQvTm90aWZpY2F0aW9uUGF5bG9hZC5jcwpAQCAtMCwwICsxLDM4IEBACisvLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKwordXNpbmcgU3lzdGVtOwordXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7Cit1c2luZyBTeXN0ZW0uRHluYW1pYzsKK3VzaW5nIFJlc3RTaGFycDsKK3VzaW5nIE5ld3RvbnNvZnQuSnNvbjsKKworbmFtZXNwYWNlIFVzZXJncmlkLlNkay5QYXlsb2FkCit7CisgICAgaW50ZXJuYWwgY2xhc3MgTm90aWZpY2F0aW9uUGF5bG9hZAorICAgIHsKKyAgICAgICAgCisgICAgICAgIHB1YmxpYyBJRGljdGlvbmFyeTxzdHJpbmcsIG9iamVjdD4gIFBheWxvYWRzIHsgZ2V0OyBzZXQ7IH0KKwkJW0pzb25Qcm9wZXJ0eSgiZGVsaXZlciIsIE51bGxWYWx1ZUhhbmRsaW5nID0gTnVsbFZhbHVlSGFuZGxpbmcuSWdub3JlKV0KKwkJcHVibGljIGxvbmc/IERlbGl2ZXJBdCB7Z2V0O3NldDt9CisJCVtKc29uUHJvcGVydHkoImV4cGlyZSIsIE51bGxWYWx1ZUhhbmRsaW5nID0gTnVsbFZhbHVlSGFuZGxpbmcuSWdub3JlKV0KKwkJcHVibGljIGxvbmc/IEV4cGlyZUF0IHsgZ2V0OyBzZXQ7fQorCisgICAgICAgIHB1YmxpYyBOb3RpZmljYXRpb25QYXlsb2FkKCkKKyAgICAgICAgeworICAgICAgICAgICAgUGF5bG9hZHMgPSBuZXcgRGljdGlvbmFyeTxzdHJpbmcsIG9iamVjdD4oKTsKKyAgICAgICAgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay9QYXlsb2FkL1VzZXJMb2dpblBheWxvYWQuY3MgYi9Vc2VyZ3JpZC5TZGsvUGF5bG9hZC9Vc2VyTG9naW5QYXlsb2FkLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0NWNhNzEKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsvUGF5bG9hZC9Vc2VyTG9naW5QYXlsb2FkLmNzCkBAIC0wLDAgKzEsMzQgQEAKK++7vy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBOZXd0b25zb2Z0Lkpzb247CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsuUGF5bG9hZAoreworCWludGVybmFsIGNsYXNzIFVzZXJMb2dpblBheWxvYWQKKyAgICB7CisgICAgICAgIFtKc29uUHJvcGVydHkoUHJvcGVydHlOYW1lID0gImdyYW50X3R5cGUiKV0KKwkJaW50ZXJuYWwgc3RyaW5nIEdyYW50VHlwZQorICAgICAgICB7CisgICAgICAgICAgICBnZXQgeyByZXR1cm4gInBhc3N3b3JkIjsgfQorICAgICAgICB9CisKKyAgICAgICAgW0pzb25Qcm9wZXJ0eShQcm9wZXJ0eU5hbWUgPSAidXNlcm5hbWUiKV0KKwkJaW50ZXJuYWwgc3RyaW5nIFVzZXJOYW1lIHsgZ2V0OyBzZXQ7IH0KKworICAgICAgICBbSnNvblByb3BlcnR5KFByb3BlcnR5TmFtZSA9ICJwYXNzd29yZCIpXQorCQlpbnRlcm5hbCBzdHJpbmcgUGFzc3dvcmQgeyBnZXQ7IHNldDsgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay9QYXlsb2FkL1VzZXJncmlkR2V0UmVzcG9uc2UuY3MgYi9Vc2VyZ3JpZC5TZGsvUGF5bG9hZC9Vc2VyZ3JpZEdldFJlc3BvbnNlLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyOWM3YjkKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5TZGsvUGF5bG9hZC9Vc2VyZ3JpZEdldFJlc3BvbnNlLmNzCkBAIC0wLDAgKzEsMjggQEAKKy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKK3VzaW5nIE5ld3RvbnNvZnQuSnNvbjsKKworbmFtZXNwYWNlIFVzZXJncmlkLlNkay5QYXlsb2FkCit7CisgICAgcHVibGljIGNsYXNzIFVzZXJncmlkR2V0UmVzcG9uc2U8VD4KKyAgICB7CisgICAgICAgIFtKc29uUHJvcGVydHkoUHJvcGVydHlOYW1lID0gImN1cnNvciIpXSAKKwkJaW50ZXJuYWwgc3RyaW5nIEN1cnNvcjsKKyAgICAgICAgW0pzb25Qcm9wZXJ0eShQcm9wZXJ0eU5hbWUgPSAiZW50aXRpZXMiKV0gCisJCWludGVybmFsIElMaXN0PFQ+IEVudGl0aWVzOworICAgIH0KK30KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay9Qcm9wZXJ0aWVzL0Fzc2VtYmx5SW5mby5jcyBiL1VzZXJncmlkLlNkay9Qcm9wZXJ0aWVzL0Fzc2VtYmx5SW5mby5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iY2E2YzQ5Ci0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrL1Byb3BlcnRpZXMvQXNzZW1ibHlJbmZvLmNzCkBAIC0wLDAgKzEsNTEgQEAKK++7vy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBTeXN0ZW0uUmVmbGVjdGlvbjsKK3VzaW5nIFN5c3RlbS5SdW50aW1lLkNvbXBpbGVyU2VydmljZXM7Cit1c2luZyBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXM7CisKKy8vIEdlbmVyYWwgSW5mb3JtYXRpb24gYWJvdXQgYW4gYXNzZW1ibHkgaXMgY29udHJvbGxlZCB0aHJvdWdoIHRoZSBmb2xsb3dpbmcgCisvLyBzZXQgb2YgYXR0cmlidXRlcy4gQ2hhbmdlIHRoZXNlIGF0dHJpYnV0ZSB2YWx1ZXMgdG8gbW9kaWZ5IHRoZSBpbmZvcm1hdGlvbgorLy8gYXNzb2NpYXRlZCB3aXRoIGFuIGFzc2VtYmx5LgorCitbYXNzZW1ibHk6IEFzc2VtYmx5VGl0bGUoIlVzZXJncmlkLlNkayIpXQorW2Fzc2VtYmx5OiBBc3NlbWJseUNvbXBhbnkoIkFwaWdlZSIpXQorCisvLyBTZXR0aW5nIENvbVZpc2libGUgdG8gZmFsc2UgbWFrZXMgdGhlIHR5cGVzIGluIHRoaXMgYXNzZW1ibHkgbm90IHZpc2libGUgCisvLyB0byBDT00gY29tcG9uZW50cy4gIElmIHlvdSBuZWVkIHRvIGFjY2VzcyBhIHR5cGUgaW4gdGhpcyBhc3NlbWJseSBmcm9tIAorLy8gQ09NLCBzZXQgdGhlIENvbVZpc2libGUgYXR0cmlidXRlIHRvIHRydWUgb24gdGhhdCB0eXBlLgorCitbYXNzZW1ibHk6IENvbVZpc2libGUoZmFsc2UpXQorCisvLyBUaGUgZm9sbG93aW5nIEdVSUQgaXMgZm9yIHRoZSBJRCBvZiB0aGUgdHlwZWxpYiBpZiB0aGlzIHByb2plY3QgaXMgZXhwb3NlZCB0byBDT00KKworW2Fzc2VtYmx5OiBHdWlkKCI4NzE4ZTUzOS04OGU3LTQ0Y2UtOGM4Zi1iMmNhMzc2MzJhODEiKV0KKworLy8gVmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgYW4gYXNzZW1ibHkgY29uc2lzdHMgb2YgdGhlIGZvbGxvd2luZyBmb3VyIHZhbHVlczoKKy8vCisvLyAgICAgIE1ham9yIFZlcnNpb24KKy8vICAgICAgTWlub3IgVmVyc2lvbiAKKy8vICAgICAgQnVpbGQgTnVtYmVyCisvLyAgICAgIFJldmlzaW9uCisvLworLy8gWW91IGNhbiBzcGVjaWZ5IGFsbCB0aGUgdmFsdWVzIG9yIHlvdSBjYW4gZGVmYXVsdCB0aGUgQnVpbGQgYW5kIFJldmlzaW9uIE51bWJlcnMgCisvLyBieSB1c2luZyB0aGUgJyonIGFzIHNob3duIGJlbG93OgorLy8gW2Fzc2VtYmx5OiBBc3NlbWJseVZlcnNpb24oIjEuMC4qIildCisKK1thc3NlbWJseTogQXNzZW1ibHlWZXJzaW9uKCIwLjEuMC4wIildCitbYXNzZW1ibHk6IEFzc2VtYmx5RmlsZVZlcnNpb24oIjAuMS4wLjAiKV0KK1thc3NlbWJseTogSW50ZXJuYWxzVmlzaWJsZVRvKCJEeW5hbWljUHJveHlHZW5Bc3NlbWJseTIiKV0KK1thc3NlbWJseTogSW50ZXJuYWxzVmlzaWJsZVRvKCJVc2VyZ3JpZC5TZGsuVGVzdHMiKV0KZGlmZiAtLWdpdCBhL1VzZXJncmlkLlNkay9SZXN0U2hhcnBKc29uU2VyaWFsaXplci5jcyBiL1VzZXJncmlkLlNkay9SZXN0U2hhcnBKc29uU2VyaWFsaXplci5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZjQ1NTdjCi0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrL1Jlc3RTaGFycEpzb25TZXJpYWxpemVyLmNzCkBAIC0wLDAgKzEsMzggQEAKK++7vy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBOZXd0b25zb2Z0Lkpzb247Cit1c2luZyBOZXd0b25zb2Z0Lkpzb24uU2VyaWFsaXphdGlvbjsKK3VzaW5nIFJlc3RTaGFycC5TZXJpYWxpemVyczsKKworbmFtZXNwYWNlIFVzZXJncmlkLlNkaworeworCXB1YmxpYyBjbGFzcyBSZXN0U2hhcnBKc29uU2VyaWFsaXplciA6IElTZXJpYWxpemVyCisgICAgeworCQlwdWJsaWMgc3RyaW5nIFNlcmlhbGl6ZShvYmplY3Qgb2JqKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgc2VyaWFsaXplT2JqZWN0ID0gSnNvbkNvbnZlcnQuU2VyaWFsaXplT2JqZWN0KG9iaiwgbmV3IEpzb25TZXJpYWxpemVyU2V0dGluZ3MoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250cmFjdFJlc29sdmVyID0gbmV3IENhbWVsQ2FzZVByb3BlcnR5TmFtZXNDb250cmFjdFJlc29sdmVyKCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICByZXR1cm4gc2VyaWFsaXplT2JqZWN0OworICAgICAgICB9CisKKwkJcHVibGljIHN0cmluZyBSb290RWxlbWVudCB7IGdldDsgc2V0OyB9CisJCXB1YmxpYyBzdHJpbmcgTmFtZXNwYWNlIHsgZ2V0OyBzZXQ7IH0KKwkJcHVibGljIHN0cmluZyBEYXRlRm9ybWF0IHsgZ2V0OyBzZXQ7IH0KKwkJcHVibGljIHN0cmluZyBDb250ZW50VHlwZSB7IGdldDsgc2V0OyB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuU2RrL1VzZXJncmlkLlNkay5jc3Byb2ogYi9Vc2VyZ3JpZC5TZGsvVXNlcmdyaWQuU2RrLmNzcHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNDIyNzcxCi0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrL1VzZXJncmlkLlNkay5jc3Byb2oKQEAgLTAsMCArMSwxMjQgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8IS0tCisgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorLS0+CisKKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8Q29uZmlndXJhdGlvbiBDb25kaXRpb249IiAnJChDb25maWd1cmF0aW9uKScgPT0gJycgIj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICA8UGxhdGZvcm0gQ29uZGl0aW9uPSIgJyQoUGxhdGZvcm0pJyA9PSAnJyAiPkFueUNQVTwvUGxhdGZvcm0+CisgICAgPFByb2R1Y3RWZXJzaW9uPjguMC4zMDcwMzwvUHJvZHVjdFZlcnNpb24+CisgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgIDxQcm9qZWN0R3VpZD57NDM3RDEwOEYtNTI4Qy00QjJBLUIzOTktMDZDRjAyREVCMDhCfTwvUHJvamVjdEd1aWQ+CisgICAgPE91dHB1dFR5cGU+TGlicmFyeTwvT3V0cHV0VHlwZT4KKyAgICA8QXBwRGVzaWduZXJGb2xkZXI+UHJvcGVydGllczwvQXBwRGVzaWduZXJGb2xkZXI+CisgICAgPFJvb3ROYW1lc3BhY2U+VXNlcmdyaWQuU2RrPC9Sb290TmFtZXNwYWNlPgorICAgIDxBc3NlbWJseU5hbWU+VXNlcmdyaWQuU2RrPC9Bc3NlbWJseU5hbWU+CisgICAgPFRhcmdldEZyYW1ld29ya1ZlcnNpb24+djQuMDwvVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj4KKyAgICA8RmlsZUFsaWdubWVudD41MTI8L0ZpbGVBbGlnbm1lbnQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSIgJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknID09ICdEZWJ1Z3xBbnlDUFUnICI+CisgICAgPERlYnVnU3ltYm9scz50cnVlPC9EZWJ1Z1N5bWJvbHM+CisgICAgPERlYnVnVHlwZT5mdWxsPC9EZWJ1Z1R5cGU+CisgICAgPE9wdGltaXplPmZhbHNlPC9PcHRpbWl6ZT4KKyAgICA8T3V0cHV0UGF0aD5iaW5cRGVidWdcPC9PdXRwdXRQYXRoPgorICAgIDxEZWZpbmVDb25zdGFudHM+REVCVUc7VFJBQ0U8L0RlZmluZUNvbnN0YW50cz4KKyAgICA8RXJyb3JSZXBvcnQ+cHJvbXB0PC9FcnJvclJlcG9ydD4KKyAgICA8V2FybmluZ0xldmVsPjQ8L1dhcm5pbmdMZXZlbD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IiAnJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKScgPT0gJ1JlbGVhc2V8QW55Q1BVJyAiPgorICAgIDxEZWJ1Z1R5cGU+cGRib25seTwvRGVidWdUeXBlPgorICAgIDxPcHRpbWl6ZT50cnVlPC9PcHRpbWl6ZT4KKyAgICA8T3V0cHV0UGF0aD5iaW5cUmVsZWFzZVw8L091dHB1dFBhdGg+CisgICAgPERlZmluZUNvbnN0YW50cz5UUkFDRTwvRGVmaW5lQ29uc3RhbnRzPgorICAgIDxFcnJvclJlcG9ydD5wcm9tcHQ8L0Vycm9yUmVwb3J0PgorICAgIDxXYXJuaW5nTGV2ZWw+NDwvV2FybmluZ0xldmVsPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJTeXN0ZW0iIC8+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJTeXN0ZW0uQ29yZSIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlN5c3RlbS5YbWwuTGlucSIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlN5c3RlbS5EYXRhLkRhdGFTZXRFeHRlbnNpb25zIiAvPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iTWljcm9zb2Z0LkNTaGFycCIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlN5c3RlbS5EYXRhIiAvPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iU3lzdGVtLlhtbCIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlN5c3RlbS5Db25maWd1cmF0aW9uIiAvPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iTmV3dG9uc29mdC5Kc29uIj4KKyAgICAgIDxIaW50UGF0aD4uLlxwYWNrYWdlc1xOZXd0b25zb2Z0Lkpzb24uNC41LjExXGxpYlxuZXQ0MFxOZXd0b25zb2Z0Lkpzb24uZGxsPC9IaW50UGF0aD4KKyAgICA8L1JlZmVyZW5jZT4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlJlc3RTaGFycCI+CisgICAgICA8SGludFBhdGg+Li5ccGFja2FnZXNcUmVzdFNoYXJwLjEwNC4xXGxpYlxuZXQ0XFJlc3RTaGFycC5kbGw8L0hpbnRQYXRoPgorICAgIDwvUmVmZXJlbmNlPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJDbGllbnQuY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iSUNsaWVudC5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJJVXNlcmdyaWRSZXF1ZXN0LmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9Ik1hbmFnZXJcSU5vdGlmaWNhdGlvbnNNYW5hZ2VyLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9Ik1hbmFnZXJcTm90aWZpY2F0aW9uc01hbmFnZXIuY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iTW9kZWxcQ29ubmVjdGlvbi5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJNb2RlbFxVc2VyZ3JpZEVudGl0eS5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJNb2RlbFxVc2VyZ3JpZEVycm9yLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9Ik1vZGVsXFVzZXJncmlkTm90aWZpZXIuY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iUGF5bG9hZFxBbmRyb2lkTm90aWZpZXJQYXlsb2FkLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9IlBheWxvYWRcQ2FuY2VsTm90aWZpY2F0aW9uUGF5bG9hZC5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJQcm9wZXJ0aWVzXEFzc2VtYmx5SW5mby5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJSZXN0U2hhcnBKc29uU2VyaWFsaXplci5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJVc2VyZ3JpZFJlcXVlc3QuY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iTW9kZWxcVXNlcmdyaWRVc2VyLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9Ik1vZGVsXFVzZXJncmlkR3JvdXAuY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iUGF5bG9hZFxVc2VyTG9naW5QYXlsb2FkLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9IlBheWxvYWRcQ2hhbmdlUGFzc3dvcmRQYXlsb2FkLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9IlBheWxvYWRcQ2xpZW50SWRMb2dpblBheWxvYWQuY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iUGF5bG9hZFxMb2dpblJlc3BvbnNlLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9IlBheWxvYWRcVXNlcmdyaWRHZXRSZXNwb25zZS5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJNYW5hZ2VyXEVudGl0eU1hbmFnZXIuY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iTWFuYWdlclxJQXV0aGVudGljYXRpb25NYW5hZ2VyLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9Ik1hbmFnZXJcSUNvbm5lY3Rpb25NYW5hZ2VyLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9Ik1hbmFnZXJcSUVudGl0eU1hbmFnZXIuY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iTWFuYWdlclxNYW5hZ2VyQmFzZS5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJNb2RlbFxVc2VyZ3JpZEV4Y2VwdGlvbi5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJNb2RlbFxBdXRoVHlwZS5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJNYW5hZ2VyXEF1dGhlbnRpY2F0aW9uTWFuYWdlci5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJNYW5hZ2VyXENvbm5lY3Rpb25NYW5hZ2VyLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9Ik1vZGVsXFVzZXJncmlkQ29sbGVjdGlvbi5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJNb2RlbFxVc2VyZ3JpZEVudGl0eVNlcmlhbGl6ZXIuY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iTW9kZWxcVXNlcmdyaWRBY3Rpdml0eS5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJNb2RlbFxVc2VyZ3JpZEFjdG9yLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9Ik1vZGVsXFVzZXJncmlkSW1hZ2UuY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iTW9kZWxcVW5peERhdGVUaW1lSGVscGVyLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9Ik1vZGVsXElOb3RpZmljYXRpb25SZWNpcGllbnRzLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9Ik1vZGVsXE5vdGlmaWNhdGlvblJlY2lwaWVudHMuY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iTW9kZWxcTm90aWZpY2F0aW9uLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9Ik1vZGVsXEFuZHJvaWROb3RpZmljYXRpb24uY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iTW9kZWxcQXBwbGVOb3RpZmljYXRpb24uY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iUGF5bG9hZFxOb3RpZmljYXRpb25QYXlsb2FkLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9Ik1vZGVsXE5vdGlmaWNhdGlvblNjaGVkdWxlclNldHRpbmdzLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9Ik1vZGVsXFVzZXJncmlkRGV2aWNlLmNzIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Tm9uZSBJbmNsdWRlPSJwYWNrYWdlcy5jb25maWciIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoTVNCdWlsZFRvb2xzUGF0aClcTWljcm9zb2Z0LkNTaGFycC50YXJnZXRzIiAvPgorICA8IS0tIFRvIG1vZGlmeSB5b3VyIGJ1aWxkIHByb2Nlc3MsIGFkZCB5b3VyIHRhc2sgaW5zaWRlIG9uZSBvZiB0aGUgdGFyZ2V0cyBiZWxvdyBhbmQgdW5jb21tZW50IGl0LiAKKyAgICAgICBPdGhlciBzaW1pbGFyIGV4dGVuc2lvbiBwb2ludHMgZXhpc3QsIHNlZSBNaWNyb3NvZnQuQ29tbW9uLnRhcmdldHMuCisgIDxUYXJnZXQgTmFtZT0iQmVmb3JlQnVpbGQiPgorICA8L1RhcmdldD4KKyAgPFRhcmdldCBOYW1lPSJBZnRlckJ1aWxkIj4KKyAgPC9UYXJnZXQ+CisgIC0tPgorICA8SXRlbUdyb3VwIC8+Cis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsvVXNlcmdyaWRSZXF1ZXN0LmNzIGIvVXNlcmdyaWQuU2RrL1VzZXJncmlkUmVxdWVzdC5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNDM0ZmRiCi0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrL1VzZXJncmlkUmVxdWVzdC5jcwpAQCAtMCwwICsxLDkxIEBACivvu78vLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKwordXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7Cit1c2luZyBSZXN0U2hhcnA7CisKK25hbWVzcGFjZSBVc2VyZ3JpZC5TZGsKK3sKKyAgICBpbnRlcm5hbCBjbGFzcyBVc2VyZ3JpZFJlcXVlc3QgOiBJVXNlcmdyaWRSZXF1ZXN0CisgICAgeworICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHN0cmluZyBfYXBwbGljYXRpb247CisgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc3RyaW5nIF9vcmdhbml6YXRpb247CisgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgSVJlc3RDbGllbnQgX3Jlc3RDbGllbnQ7CisKKyAgICAgICAgcHVibGljIFVzZXJncmlkUmVxdWVzdChzdHJpbmcgYmFzZVVyaSwgc3RyaW5nIG9yZ2FuaXphdGlvbiwgc3RyaW5nIGFwcGxpY2F0aW9uLCBJUmVzdENsaWVudCByZXN0Q2xpZW50ID0gbnVsbCkKKyAgICAgICAgeworICAgICAgICAgICAgX29yZ2FuaXphdGlvbiA9IG9yZ2FuaXphdGlvbjsKKyAgICAgICAgICAgIF9hcHBsaWNhdGlvbiA9IGFwcGxpY2F0aW9uOworICAgICAgICAgICAgX3Jlc3RDbGllbnQgPSByZXN0Q2xpZW50ID8/IG5ldyBSZXN0Q2xpZW50KGJhc2VVcmkpOworICAgICAgICB9CisKKyAgICAgICAgcHVibGljIHN0cmluZyBBY2Nlc3NUb2tlbiB7IGdldDsgc2V0OyB9CisKKyAgICAgICAgcHVibGljIElSZXN0UmVzcG9uc2U8VD4gRXhlY3V0ZUpzb25SZXF1ZXN0PFQ+KHN0cmluZyByZXNvdXJjZSwgTWV0aG9kIG1ldGhvZCwgb2JqZWN0IGJvZHkgPSBudWxsKSB3aGVyZSBUIDogbmV3KCkKKyAgICAgICAgeworICAgICAgICAgICAgUmVzdFJlcXVlc3QgcmVxdWVzdCA9IEdldFJlcXVlc3QocmVzb3VyY2UsIG1ldGhvZCk7CisgICAgICAgICAgICBBZGRCb2R5QXNKc29uKGJvZHksIHJlcXVlc3QpOworICAgICAgICAgICAgSVJlc3RSZXNwb25zZTxUPiByZXNwb25zZSA9IF9yZXN0Q2xpZW50LkV4ZWN1dGU8VD4ocmVxdWVzdCk7CisgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7CisgICAgICAgIH0KKworICAgICAgICBwdWJsaWMgSVJlc3RSZXNwb25zZSBFeGVjdXRlSnNvblJlcXVlc3Qoc3RyaW5nIHJlc291cmNlLCBNZXRob2QgbWV0aG9kLCBvYmplY3QgYm9keSA9IG51bGwpCisgICAgICAgIHsKKyAgICAgICAgICAgIFJlc3RSZXF1ZXN0IHJlcXVlc3QgPSBHZXRSZXF1ZXN0KHJlc291cmNlLCBtZXRob2QpOworICAgICAgICAgICAgQWRkQm9keUFzSnNvbihib2R5LCByZXF1ZXN0KTsKKyAgICAgICAgICAgIElSZXN0UmVzcG9uc2UgcmVzcG9uc2UgPSBfcmVzdENsaWVudC5FeGVjdXRlKHJlcXVlc3QpOworICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlOworICAgICAgICB9CisKKyAgICAgICAgcHVibGljIElSZXN0UmVzcG9uc2UgRXhlY3V0ZU11bHRpcGFydEZvcm1EYXRhUmVxdWVzdChzdHJpbmcgcmVzb3VyY2UsIE1ldGhvZCBtZXRob2QsIElEaWN0aW9uYXJ5PHN0cmluZywgb2JqZWN0PiBmb3JtUGFyYW1ldGVycywgSURpY3Rpb25hcnk8c3RyaW5nLCBzdHJpbmc+IGZpbGVQYXJhbWV0ZXJzKQorICAgICAgICB7CisgICAgICAgICAgICBSZXN0UmVxdWVzdCByZXF1ZXN0ID0gR2V0UmVxdWVzdChyZXNvdXJjZSwgbWV0aG9kKTsKKyAgICAgICAgICAgIGZvcmVhY2ggKHZhciBwYXJhbWV0ZXIgaW4gZm9ybVBhcmFtZXRlcnMpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmVxdWVzdC5BZGRQYXJhbWV0ZXIocGFyYW1ldGVyLktleSwgcGFyYW1ldGVyLlZhbHVlLCBQYXJhbWV0ZXJUeXBlLkdldE9yUG9zdCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmb3JlYWNoICh2YXIgcGFyYW1ldGVyIGluIGZpbGVQYXJhbWV0ZXJzKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJlcXVlc3QuQWRkRmlsZShwYXJhbWV0ZXIuS2V5LCBwYXJhbWV0ZXIuVmFsdWUpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBJUmVzdFJlc3BvbnNlIHJlc3BvbnNlID0gX3Jlc3RDbGllbnQuRXhlY3V0ZShyZXF1ZXN0KTsKKyAgICAgICAgICAgIHJldHVybiByZXNwb25zZTsKKyAgICAgICAgfQorCisgICAgICAgIHByaXZhdGUgUmVzdFJlcXVlc3QgR2V0UmVxdWVzdChzdHJpbmcgcmVzb3VyY2UsIE1ldGhvZCBtZXRob2QpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IFJlc3RSZXF1ZXN0KHN0cmluZy5Gb3JtYXQoInswfS97MX17Mn0iLCBfb3JnYW5pemF0aW9uLCBfYXBwbGljYXRpb24sIHJlc291cmNlKSwgbWV0aG9kKTsKKyAgICAgICAgICAgIEFkZEF1dGhvcml6YXRpb25IZWFkZXIocmVxdWVzdCk7CisgICAgICAgICAgICByZXR1cm4gcmVxdWVzdDsKKyAgICAgICAgfQorCisgICAgICAgIHByaXZhdGUgc3RhdGljIHZvaWQgQWRkQm9keUFzSnNvbihvYmplY3QgYm9keSwgUmVzdFJlcXVlc3QgcmVxdWVzdCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKGJvZHkgIT0gbnVsbCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXF1ZXN0Lkpzb25TZXJpYWxpemVyID0gbmV3IFJlc3RTaGFycEpzb25TZXJpYWxpemVyKCk7CisgICAgICAgICAgICAgICAgcmVxdWVzdC5SZXF1ZXN0Rm9ybWF0ID0gRGF0YUZvcm1hdC5Kc29uOworICAgICAgICAgICAgICAgIHJlcXVlc3QuQWRkQm9keShib2R5KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIHByaXZhdGUgdm9pZCBBZGRBdXRob3JpemF0aW9uSGVhZGVyKFJlc3RSZXF1ZXN0IHJlcXVlc3QpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChBY2Nlc3NUb2tlbiAhPSBudWxsKQorICAgICAgICAgICAgICAgIHJlcXVlc3QuQWRkSGVhZGVyKCJBdXRob3JpemF0aW9uIiwgc3RyaW5nLkZvcm1hdCgiQmVhcmVyIHswfSIsIEFjY2Vzc1Rva2VuKSk7CisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Vc2VyZ3JpZC5TZGsvcGFja2FnZXMuY29uZmlnIGIvVXNlcmdyaWQuU2RrL3BhY2thZ2VzLmNvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMGZkZWEyCi0tLSAvZGV2L251bGwKKysrIGIvVXNlcmdyaWQuU2RrL3BhY2thZ2VzLmNvbmZpZwpAQCAtMCwwICsxLDIyIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPCEtLQorIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKy0tPgorCis8cGFja2FnZXM+CisgIDxwYWNrYWdlIGlkPSJOZXd0b25zb2Z0Lkpzb24iIHZlcnNpb249IjQuNS4xMSIgdGFyZ2V0RnJhbWV3b3JrPSJuZXQ0MCIgLz4KKyAgPHBhY2thZ2UgaWQ9IlJlc3RTaGFycCIgdmVyc2lvbj0iMTA0LjEiIHRhcmdldEZyYW1ld29yaz0ibmV0NDAiIC8+Cis8L3BhY2thZ2VzPgpkaWZmIC0tZ2l0IGEvVXNlcmdyaWQuc2xuIGIvVXNlcmdyaWQuc2xuCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjYzU5N2QKLS0tIC9kZXYvbnVsbAorKysgYi9Vc2VyZ3JpZC5zbG4KQEAgLTAsMCArMSw0OSBAQAor77u/IyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyMgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisjIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyMgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyMgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyMgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyMKKyMgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorIworIyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisjIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisjIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisjIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCitNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyBTb2x1dGlvbiBGaWxlLCBGb3JtYXQgVmVyc2lvbiAxMS4wMAorIyBWaXN1YWwgU3R1ZGlvIDIwMTAKK1Byb2plY3QoIntGQUUwNEVDMC0zMDFGLTExRDMtQkY0Qi0wMEMwNEY3OUVGQkN9IikgPSAiVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMiLCAiVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHNcVXNlcmdyaWQuU2RrLkludGVncmF0aW9uVGVzdHMuY3Nwcm9qIiwgInswMjc4QTBBNC1GNUU5LTQxRjctQTg2RS1DRDM3NkQzRkU1RTJ9IgorRW5kUHJvamVjdAorUHJvamVjdCgie0ZBRTA0RUMwLTMwMUYtMTFEMy1CRjRCLTAwQzA0Rjc5RUZCQ30iKSA9ICJVc2VyZ3JpZC5TZGsuVGVzdHMiLCAiVXNlcmdyaWQuU2RrLlRlc3RzXFVzZXJncmlkLlNkay5UZXN0cy5jc3Byb2oiLCAiezlDMjVDRkJBLTFGNTctNERGMy1CMEExLTUyRDFGOTBGMjRFNn0iCitFbmRQcm9qZWN0CitQcm9qZWN0KCJ7RkFFMDRFQzAtMzAxRi0xMUQzLUJGNEItMDBDMDRGNzlFRkJDfSIpID0gIlVzZXJncmlkLlNkayIsICJVc2VyZ3JpZC5TZGtcVXNlcmdyaWQuU2RrLmNzcHJvaiIsICJ7NDM3RDEwOEYtNTI4Qy00QjJBLUIzOTktMDZDRjAyREVCMDhCfSIKK0VuZFByb2plY3QKK0dsb2JhbAorCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Db25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHByZVNvbHV0aW9uCisJCURlYnVnfEFueSBDUFUgPSBEZWJ1Z3xBbnkgQ1BVCisJCVJlbGVhc2V8QW55IENQVSA9IFJlbGVhc2V8QW55IENQVQorCUVuZEdsb2JhbFNlY3Rpb24KKwlHbG9iYWxTZWN0aW9uKFByb2plY3RDb25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHBvc3RTb2x1dGlvbgorCQl7MDI3OEEwQTQtRjVFOS00MUY3LUE4NkUtQ0QzNzZEM0ZFNUUyfS5EZWJ1Z3xBbnkgQ1BVLkFjdGl2ZUNmZyA9IERlYnVnfEFueSBDUFUKKwkJezAyNzhBMEE0LUY1RTktNDFGNy1BODZFLUNEMzc2RDNGRTVFMn0uRGVidWd8QW55IENQVS5CdWlsZC4wID0gRGVidWd8QW55IENQVQorCQl7MDI3OEEwQTQtRjVFOS00MUY3LUE4NkUtQ0QzNzZEM0ZFNUUyfS5SZWxlYXNlfEFueSBDUFUuQWN0aXZlQ2ZnID0gUmVsZWFzZXxBbnkgQ1BVCisJCXswMjc4QTBBNC1GNUU5LTQxRjctQTg2RS1DRDM3NkQzRkU1RTJ9LlJlbGVhc2V8QW55IENQVS5CdWlsZC4wID0gUmVsZWFzZXxBbnkgQ1BVCisJCXs0MzdEMTA4Ri01MjhDLTRCMkEtQjM5OS0wNkNGMDJERUIwOEJ9LkRlYnVnfEFueSBDUFUuQWN0aXZlQ2ZnID0gRGVidWd8QW55IENQVQorCQl7NDM3RDEwOEYtNTI4Qy00QjJBLUIzOTktMDZDRjAyREVCMDhCfS5EZWJ1Z3xBbnkgQ1BVLkJ1aWxkLjAgPSBEZWJ1Z3xBbnkgQ1BVCisJCXs0MzdEMTA4Ri01MjhDLTRCMkEtQjM5OS0wNkNGMDJERUIwOEJ9LlJlbGVhc2V8QW55IENQVS5BY3RpdmVDZmcgPSBSZWxlYXNlfEFueSBDUFUKKwkJezQzN0QxMDhGLTUyOEMtNEIyQS1CMzk5LTA2Q0YwMkRFQjA4Qn0uUmVsZWFzZXxBbnkgQ1BVLkJ1aWxkLjAgPSBSZWxlYXNlfEFueSBDUFUKKwkJezlDMjVDRkJBLTFGNTctNERGMy1CMEExLTUyRDFGOTBGMjRFNn0uRGVidWd8QW55IENQVS5BY3RpdmVDZmcgPSBEZWJ1Z3xBbnkgQ1BVCisJCXs5QzI1Q0ZCQS0xRjU3LTRERjMtQjBBMS01MkQxRjkwRjI0RTZ9LkRlYnVnfEFueSBDUFUuQnVpbGQuMCA9IERlYnVnfEFueSBDUFUKKwkJezlDMjVDRkJBLTFGNTctNERGMy1CMEExLTUyRDFGOTBGMjRFNn0uUmVsZWFzZXxBbnkgQ1BVLkFjdGl2ZUNmZyA9IFJlbGVhc2V8QW55IENQVQorCQl7OUMyNUNGQkEtMUY1Ny00REYzLUIwQTEtNTJEMUY5MEYyNEU2fS5SZWxlYXNlfEFueSBDUFUuQnVpbGQuMCA9IFJlbGVhc2V8QW55IENQVQorCUVuZEdsb2JhbFNlY3Rpb24KKwlHbG9iYWxTZWN0aW9uKE1vbm9EZXZlbG9wUHJvcGVydGllcykgPSBwcmVTb2x1dGlvbgorCQlTdGFydHVwSXRlbSA9IFVzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzXFVzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzLmNzcHJvagorCUVuZEdsb2JhbFNlY3Rpb24KKwlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uUHJvcGVydGllcykgPSBwcmVTb2x1dGlvbgorCQlIaWRlU29sdXRpb25Ob2RlID0gRkFMU0UKKwlFbmRHbG9iYWxTZWN0aW9uCitFbmRHbG9iYWwKZGlmZiAtLWdpdCBhL25ldy1wcm9qZWN0LXRlbXBsYXRlL25ldy1wcm9qZWN0LXRlbXBsYXRlLnNsbiBiL25ldy1wcm9qZWN0LXRlbXBsYXRlL25ldy1wcm9qZWN0LXRlbXBsYXRlLnNsbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YzAyMzAxCi0tLSAvZGV2L251bGwKKysrIGIvbmV3LXByb2plY3QtdGVtcGxhdGUvbmV3LXByb2plY3QtdGVtcGxhdGUuc2xuCkBAIC0wLDAgKzEsMzcgQEAKK++7vyMgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisjIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorIyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisjIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisjICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisjIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisjCisjICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyMKKyMgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorIyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyMgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworCitNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyBTb2x1dGlvbiBGaWxlLCBGb3JtYXQgVmVyc2lvbiAxMi4wMAorIyBWaXN1YWwgU3R1ZGlvIDIwMTMKK1Zpc3VhbFN0dWRpb1ZlcnNpb24gPSAxMi4wLjIwODI3LjMKK01pbmltdW1WaXN1YWxTdHVkaW9WZXJzaW9uID0gMTAuMC40MDIxOS4xCitQcm9qZWN0KCJ7RkFFMDRFQzAtMzAxRi0xMUQzLUJGNEItMDBDMDRGNzlFRkJDfSIpID0gIm5ldy1wcm9qZWN0LXRlbXBsYXRlIiwgIm5ldy1wcm9qZWN0LXRlbXBsYXRlXG5ldy1wcm9qZWN0LXRlbXBsYXRlLmNzcHJvaiIsICJ7NDA5M0M2MDItREYyMi00QUM3LUFFQ0UtREJENzIxNkU0MjUyfSIKK0VuZFByb2plY3QKK0dsb2JhbAorCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Db25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHByZVNvbHV0aW9uCisJCURlYnVnfEFueSBDUFUgPSBEZWJ1Z3xBbnkgQ1BVCisJCVJlbGVhc2V8QW55IENQVSA9IFJlbGVhc2V8QW55IENQVQorCUVuZEdsb2JhbFNlY3Rpb24KKwlHbG9iYWxTZWN0aW9uKFByb2plY3RDb25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHBvc3RTb2x1dGlvbgorCQl7NDA5M0M2MDItREYyMi00QUM3LUFFQ0UtREJENzIxNkU0MjUyfS5EZWJ1Z3xBbnkgQ1BVLkFjdGl2ZUNmZyA9IERlYnVnfEFueSBDUFUKKwkJezQwOTNDNjAyLURGMjItNEFDNy1BRUNFLURCRDcyMTZFNDI1Mn0uRGVidWd8QW55IENQVS5CdWlsZC4wID0gRGVidWd8QW55IENQVQorCQl7NDA5M0M2MDItREYyMi00QUM3LUFFQ0UtREJENzIxNkU0MjUyfS5SZWxlYXNlfEFueSBDUFUuQWN0aXZlQ2ZnID0gUmVsZWFzZXxBbnkgQ1BVCisJCXs0MDkzQzYwMi1ERjIyLTRBQzctQUVDRS1EQkQ3MjE2RTQyNTJ9LlJlbGVhc2V8QW55IENQVS5CdWlsZC4wID0gUmVsZWFzZXxBbnkgQ1BVCisJRW5kR2xvYmFsU2VjdGlvbgorCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Qcm9wZXJ0aWVzKSA9IHByZVNvbHV0aW9uCisJCUhpZGVTb2x1dGlvbk5vZGUgPSBGQUxTRQorCUVuZEdsb2JhbFNlY3Rpb24KK0VuZEdsb2JhbApkaWZmIC0tZ2l0IGEvbmV3LXByb2plY3QtdGVtcGxhdGUvbmV3LXByb2plY3QtdGVtcGxhdGUvQXBwLmNvbmZpZyBiL25ldy1wcm9qZWN0LXRlbXBsYXRlL25ldy1wcm9qZWN0LXRlbXBsYXRlL0FwcC5jb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmRlYTgzOQotLS0gL2Rldi9udWxsCisrKyBiL25ldy1wcm9qZWN0LXRlbXBsYXRlL25ldy1wcm9qZWN0LXRlbXBsYXRlL0FwcC5jb25maWcKQEAgLTAsMCArMSwyMiBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiID8+Cis8IS0tCisgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorLS0+Cis8Y29uZmlndXJhdGlvbj4KKyAgICA8c3RhcnR1cD4gCisgICAgICAgIDxzdXBwb3J0ZWRSdW50aW1lIHZlcnNpb249InY0LjAiIHNrdT0iLk5FVEZyYW1ld29yayxWZXJzaW9uPXY0LjUiIC8+CisgICAgPC9zdGFydHVwPgorPC9jb25maWd1cmF0aW9uPgpkaWZmIC0tZ2l0IGEvbmV3LXByb2plY3QtdGVtcGxhdGUvbmV3LXByb2plY3QtdGVtcGxhdGUvUHJvZ3JhbS5jcyBiL25ldy1wcm9qZWN0LXRlbXBsYXRlL25ldy1wcm9qZWN0LXRlbXBsYXRlL1Byb2dyYW0uY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzUwOWM4MAotLS0gL2Rldi9udWxsCisrKyBiL25ldy1wcm9qZWN0LXRlbXBsYXRlL25ldy1wcm9qZWN0LXRlbXBsYXRlL1Byb2dyYW0uY3MKQEAgLTAsMCArMSw5MSBAQAorLy8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKy8vIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKwordXNpbmcgU3lzdGVtOwordXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7Cit1c2luZyBTeXN0ZW0uTGlucTsKK3VzaW5nIFN5c3RlbS5UZXh0OwordXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKKworbmFtZXNwYWNlIG5ld19wcm9qZWN0X3RlbXBsYXRlCit7CisgICAgY2xhc3MgQm9vayA6IFVzZXJncmlkLlNkay5Nb2RlbC5Vc2VyZ3JpZEVudGl0eQorICAgIHsKKyAgICAgICAgcHVibGljIHN0cmluZyB0aXRsZSB7IGdldDsgc2V0OyB9CisgICAgfQorCisgICAgY2xhc3MgUHJvZ3JhbQorICAgIHsKKyAgICAgICAgc3RhdGljIHZvaWQgTWFpbihzdHJpbmdbXSBhcmdzKQorICAgICAgICB7CisgICAgICAgICAgICAvL1N0YXJ0IGJ5IHJlcGxhY2luZyA8b3JnIG5hbWU+IHdpdGggeW91ciBBcHAgU2VydmljZXMgb3JnYW5pemF0aW9uIG5hbWUhCisgICAgICAgICAgICB2YXIgY2xpZW50ID0gbmV3IFVzZXJncmlkLlNkay5DbGllbnQoIDxvcmcgbmFtZT4sICJzYW5kYm94Iik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIC8vVW5jb21tZW50IHRoaXMgbGluZSBpZiB5b3UgYXJlIG5vdCB1c2luZyB5b3VyIEFwcCBTZXJ2aWNlcyAnc2FuZGJveCcgYXBwbGljYXRpb24KKyAgICAgICAgICAgIC8vY2xpZW50LkxvZ2luKDxsb2dpbiBpZD4sIDxwYXNzd29yZD4sIFVzZXJncmlkLlNkay5Nb2RlbC5BdXRoVHlwZS5Vc2VyKTsKKworICAgICAgICAgICAgLy8KKyAgICAgICAgICAgIC8vIFByaW50IG91dCB0aGUgYm9va3MgZnJvbSB0aGUgYm9va3MgY29sbGVjdGlvbgorICAgICAgICAgICAgLy8KKworICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoIkJvb2sgTnVtYmVyXHRCb29rIFRpdGxlIik7CisgICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiPT09PT09PT09PT1cdD09PT09PT09PT0iKTsKKyAgICAgICAgICAgIHZhciBib29rcyA9IGNsaWVudC5HZXRFbnRpdGllczxCb29rPigiYm9va3MiKTsKKyAgICAgICAgICAgIGludCBqID0gMTsKKyAgICAgICAgICAgIGRvCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBib29rcy5Db3VudDsgaSsrKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgQm9vayBiID0gYm9va3NbaV07CisgICAgICAgICAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKGogKyAiXHRcdCIgKyBiLnRpdGxlKTsKKyAgICAgICAgICAgICAgICAgICAgaisrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBib29rcyA9IGNsaWVudC5HZXROZXh0RW50aXRpZXM8Qm9vaz4oImJvb2tzIik7CisgICAgICAgICAgICB9IHdoaWxlIChib29rcy5Db3VudCA+IDApOworCisgICAgICAgICAgICAvLworICAgICAgICAgICAgLy8gQ3JlYXRlIGEgbmV3IGJvb2sgYW5kIGFkZCBpdCB0byB0aGUgZGF0YWJhc2UKKyAgICAgICAgICAgIC8vCisgICAgICAgICAgICBCb29rIG5ld0Jvb2sgPSBuZXcgQm9vaygpOworICAgICAgICAgICAgbmV3Qm9vay50aXRsZSA9ICJUaGUgT2xkIE1hbiBhbmQgdGhlIFNlYSI7CisgICAgICAgICAgICBjbGllbnQuQ3JlYXRlRW50aXR5PEJvb2s+KCJib29rcyIsIG5ld0Jvb2spOworCisgICAgICAgICAgICAvLworICAgICAgICAgICAgLy8gQ2hhbmdlL1VwZGF0ZSBFbnRpdGllcworICAgICAgICAgICAgLy8KKyAgICAgICAgICAgIGJvb2tzID0gY2xpZW50LkdldEVudGl0aWVzPEJvb2s+KCJib29rcyIsIDEwLCBudWxsKTsKKyAgICAgICAgICAgIGZvciAoaW50IGsgPSAwOyBrIDwgYm9va3MuQ291bnQ7IGsrKykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBCb29rIGIgPSBib29rc1trXTsKKyAgICAgICAgICAgICAgICBCb29rIHVwZGF0ZWRCb29rID0gbmV3IEJvb2soKTsKKyAgICAgICAgICAgICAgICB1cGRhdGVkQm9vay50aXRsZSA9ICJBbm90aGVyIFRpdGxlIjsKKyAgICAgICAgICAgICAgICBjbGllbnQuVXBkYXRlRW50aXR5PEJvb2s+KCJib29rcyIsIGIuVXVpZCwgdXBkYXRlZEJvb2spOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLworICAgICAgICAgICAgLy8gRGVsZXRlIEVudGl0aWVzCisgICAgICAgICAgICAvLworICAgICAgICAgICAgYm9va3MgPSBjbGllbnQuR2V0RW50aXRpZXM8Qm9vaz4oImJvb2tzIiwgMTAsICJ3aGVyZSB0aXRsZSBjb250YWlucyAnQW5vdGhlciciKTsKKyAgICAgICAgICAgIGZvciAoaW50IGsgPSAwOyBrIDwgYm9va3MuQ291bnQ7IGsrKykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBCb29rIGIgPSBib29rc1trXTsKKyAgICAgICAgICAgICAgICBjbGllbnQuRGVsZXRlRW50aXR5KCJib29rcyIsIGIuVXVpZCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIENvbnNvbGUuUmVhZCgpOworICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvbmV3LXByb2plY3QtdGVtcGxhdGUvbmV3LXByb2plY3QtdGVtcGxhdGUvUHJvcGVydGllcy9Bc3NlbWJseUluZm8uY3MgYi9uZXctcHJvamVjdC10ZW1wbGF0ZS9uZXctcHJvamVjdC10ZW1wbGF0ZS9Qcm9wZXJ0aWVzL0Fzc2VtYmx5SW5mby5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43N2FmM2JiCi0tLSAvZGV2L251bGwKKysrIGIvbmV3LXByb2plY3QtdGVtcGxhdGUvbmV3LXByb2plY3QtdGVtcGxhdGUvUHJvcGVydGllcy9Bc3NlbWJseUluZm8uY3MKQEAgLTAsMCArMSw1MSBAQAor77u/Ly8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKy8vIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKK3VzaW5nIFN5c3RlbS5SZWZsZWN0aW9uOwordXNpbmcgU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlczsKK3VzaW5nIFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlczsKKworLy8gR2VuZXJhbCBJbmZvcm1hdGlvbiBhYm91dCBhbiBhc3NlbWJseSBpcyBjb250cm9sbGVkIHRocm91Z2ggdGhlIGZvbGxvd2luZyAKKy8vIHNldCBvZiBhdHRyaWJ1dGVzLiBDaGFuZ2UgdGhlc2UgYXR0cmlidXRlIHZhbHVlcyB0byBtb2RpZnkgdGhlIGluZm9ybWF0aW9uCisvLyBhc3NvY2lhdGVkIHdpdGggYW4gYXNzZW1ibHkuCitbYXNzZW1ibHk6IEFzc2VtYmx5VGl0bGUoIm5ldy1wcm9qZWN0LXRlbXBsYXRlIildCitbYXNzZW1ibHk6IEFzc2VtYmx5RGVzY3JpcHRpb24oIiIpXQorW2Fzc2VtYmx5OiBBc3NlbWJseUNvbmZpZ3VyYXRpb24oIiIpXQorW2Fzc2VtYmx5OiBBc3NlbWJseUNvbXBhbnkoIiIpXQorW2Fzc2VtYmx5OiBBc3NlbWJseVByb2R1Y3QoIm5ldy1wcm9qZWN0LXRlbXBsYXRlIildCitbYXNzZW1ibHk6IEFzc2VtYmx5Q29weXJpZ2h0KCJDb3B5cmlnaHQgwqkgIDIwMTMiKV0KK1thc3NlbWJseTogQXNzZW1ibHlUcmFkZW1hcmsoIiIpXQorW2Fzc2VtYmx5OiBBc3NlbWJseUN1bHR1cmUoIiIpXQorCisvLyBTZXR0aW5nIENvbVZpc2libGUgdG8gZmFsc2UgbWFrZXMgdGhlIHR5cGVzIGluIHRoaXMgYXNzZW1ibHkgbm90IHZpc2libGUgCisvLyB0byBDT00gY29tcG9uZW50cy4gIElmIHlvdSBuZWVkIHRvIGFjY2VzcyBhIHR5cGUgaW4gdGhpcyBhc3NlbWJseSBmcm9tIAorLy8gQ09NLCBzZXQgdGhlIENvbVZpc2libGUgYXR0cmlidXRlIHRvIHRydWUgb24gdGhhdCB0eXBlLgorW2Fzc2VtYmx5OiBDb21WaXNpYmxlKGZhbHNlKV0KKworLy8gVGhlIGZvbGxvd2luZyBHVUlEIGlzIGZvciB0aGUgSUQgb2YgdGhlIHR5cGVsaWIgaWYgdGhpcyBwcm9qZWN0IGlzIGV4cG9zZWQgdG8gQ09NCitbYXNzZW1ibHk6IEd1aWQoIjkyMzI1NTA2LTA5MjctNDdkZi1iZTViLWRiOWMzNjA4ZGU5ZCIpXQorCisvLyBWZXJzaW9uIGluZm9ybWF0aW9uIGZvciBhbiBhc3NlbWJseSBjb25zaXN0cyBvZiB0aGUgZm9sbG93aW5nIGZvdXIgdmFsdWVzOgorLy8KKy8vICAgICAgTWFqb3IgVmVyc2lvbgorLy8gICAgICBNaW5vciBWZXJzaW9uIAorLy8gICAgICBCdWlsZCBOdW1iZXIKKy8vICAgICAgUmV2aXNpb24KKy8vCisvLyBZb3UgY2FuIHNwZWNpZnkgYWxsIHRoZSB2YWx1ZXMgb3IgeW91IGNhbiBkZWZhdWx0IHRoZSBCdWlsZCBhbmQgUmV2aXNpb24gTnVtYmVycyAKKy8vIGJ5IHVzaW5nIHRoZSAnKicgYXMgc2hvd24gYmVsb3c6CisvLyBbYXNzZW1ibHk6IEFzc2VtYmx5VmVyc2lvbigiMS4wLioiKV0KK1thc3NlbWJseTogQXNzZW1ibHlWZXJzaW9uKCIxLjAuMC4wIildCitbYXNzZW1ibHk6IEFzc2VtYmx5RmlsZVZlcnNpb24oIjEuMC4wLjAiKV0KZGlmZiAtLWdpdCBhL25ldy1wcm9qZWN0LXRlbXBsYXRlL25ldy1wcm9qZWN0LXRlbXBsYXRlL25ldy1wcm9qZWN0LXRlbXBsYXRlLmNzcHJvaiBiL25ldy1wcm9qZWN0LXRlbXBsYXRlL25ldy1wcm9qZWN0LXRlbXBsYXRlL25ldy1wcm9qZWN0LXRlbXBsYXRlLmNzcHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZjdhMTcwCi0tLSAvZGV2L251bGwKKysrIGIvbmV3LXByb2plY3QtdGVtcGxhdGUvbmV3LXByb2plY3QtdGVtcGxhdGUvbmV3LXByb2plY3QtdGVtcGxhdGUuY3Nwcm9qCkBAIC0wLDAgKzEsODQgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8IS0tCisgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorLS0+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjEyLjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxJbXBvcnQgUHJvamVjdD0iJChNU0J1aWxkRXh0ZW5zaW9uc1BhdGgpXCQoTVNCdWlsZFRvb2xzVmVyc2lvbilcTWljcm9zb2Z0LkNvbW1vbi5wcm9wcyIgQ29uZGl0aW9uPSJFeGlzdHMoJyQoTVNCdWlsZEV4dGVuc2lvbnNQYXRoKVwkKE1TQnVpbGRUb29sc1ZlcnNpb24pXE1pY3Jvc29mdC5Db21tb24ucHJvcHMnKSIgLz4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPENvbmZpZ3VyYXRpb24gQ29uZGl0aW9uPSIgJyQoQ29uZmlndXJhdGlvbiknID09ICcnICI+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgPFBsYXRmb3JtIENvbmRpdGlvbj0iICckKFBsYXRmb3JtKScgPT0gJycgIj5BbnlDUFU8L1BsYXRmb3JtPgorICAgIDxQcm9qZWN0R3VpZD57NDA5M0M2MDItREYyMi00QUM3LUFFQ0UtREJENzIxNkU0MjUyfTwvUHJvamVjdEd1aWQ+CisgICAgPE91dHB1dFR5cGU+RXhlPC9PdXRwdXRUeXBlPgorICAgIDxBcHBEZXNpZ25lckZvbGRlcj5Qcm9wZXJ0aWVzPC9BcHBEZXNpZ25lckZvbGRlcj4KKyAgICA8Um9vdE5hbWVzcGFjZT5uZXdfcHJvamVjdF90ZW1wbGF0ZTwvUm9vdE5hbWVzcGFjZT4KKyAgICA8QXNzZW1ibHlOYW1lPm5ldy1wcm9qZWN0LXRlbXBsYXRlPC9Bc3NlbWJseU5hbWU+CisgICAgPFRhcmdldEZyYW1ld29ya1ZlcnNpb24+djQuNTwvVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj4KKyAgICA8RmlsZUFsaWdubWVudD41MTI8L0ZpbGVBbGlnbm1lbnQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSIgJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknID09ICdEZWJ1Z3xBbnlDUFUnICI+CisgICAgPFBsYXRmb3JtVGFyZ2V0PkFueUNQVTwvUGxhdGZvcm1UYXJnZXQ+CisgICAgPERlYnVnU3ltYm9scz50cnVlPC9EZWJ1Z1N5bWJvbHM+CisgICAgPERlYnVnVHlwZT5mdWxsPC9EZWJ1Z1R5cGU+CisgICAgPE9wdGltaXplPmZhbHNlPC9PcHRpbWl6ZT4KKyAgICA8T3V0cHV0UGF0aD5iaW5cRGVidWdcPC9PdXRwdXRQYXRoPgorICAgIDxEZWZpbmVDb25zdGFudHM+REVCVUc7VFJBQ0U8L0RlZmluZUNvbnN0YW50cz4KKyAgICA8RXJyb3JSZXBvcnQ+cHJvbXB0PC9FcnJvclJlcG9ydD4KKyAgICA8V2FybmluZ0xldmVsPjQ8L1dhcm5pbmdMZXZlbD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IiAnJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKScgPT0gJ1JlbGVhc2V8QW55Q1BVJyAiPgorICAgIDxQbGF0Zm9ybVRhcmdldD5BbnlDUFU8L1BsYXRmb3JtVGFyZ2V0PgorICAgIDxEZWJ1Z1R5cGU+cGRib25seTwvRGVidWdUeXBlPgorICAgIDxPcHRpbWl6ZT50cnVlPC9PcHRpbWl6ZT4KKyAgICA8T3V0cHV0UGF0aD5iaW5cUmVsZWFzZVw8L091dHB1dFBhdGg+CisgICAgPERlZmluZUNvbnN0YW50cz5UUkFDRTwvRGVmaW5lQ29uc3RhbnRzPgorICAgIDxFcnJvclJlcG9ydD5wcm9tcHQ8L0Vycm9yUmVwb3J0PgorICAgIDxXYXJuaW5nTGV2ZWw+NDwvV2FybmluZ0xldmVsPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJOZXd0b25zb2Z0Lkpzb24sIFZlcnNpb249NC41LjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMGFkNGZlNmIyYTZhZWVkLCBwcm9jZXNzb3JBcmNoaXRlY3R1cmU9TVNJTCI+CisgICAgICA8U3BlY2lmaWNWZXJzaW9uPkZhbHNlPC9TcGVjaWZpY1ZlcnNpb24+CisgICAgICA8SGludFBhdGg+Li5cLi5cLi5cLi5cR2l0SHViXHVzZXJncmlkLS5uZXQtc2RrXFVzZXJncmlkLlNka1xiaW5cRGVidWdcTmV3dG9uc29mdC5Kc29uLmRsbDwvSGludFBhdGg+CisgICAgPC9SZWZlcmVuY2U+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJSZXN0U2hhcnAiPgorICAgICAgPEhpbnRQYXRoPi4uXC4uXC4uXC4uXEdpdEh1Ylx1c2VyZ3JpZC0ubmV0LXNka1xVc2VyZ3JpZC5TZGtcYmluXERlYnVnXFJlc3RTaGFycC5kbGw8L0hpbnRQYXRoPgorICAgIDwvUmVmZXJlbmNlPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iU3lzdGVtIiAvPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iU3lzdGVtLkNvcmUiIC8+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJTeXN0ZW0uWG1sLkxpbnEiIC8+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJTeXN0ZW0uRGF0YS5EYXRhU2V0RXh0ZW5zaW9ucyIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9Ik1pY3Jvc29mdC5DU2hhcnAiIC8+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJTeXN0ZW0uRGF0YSIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlN5c3RlbS5YbWwiIC8+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJVc2VyZ3JpZC5TZGsiPgorICAgICAgPEhpbnRQYXRoPi4uXC4uXC4uXC4uXEdpdEh1Ylx1c2VyZ3JpZC0ubmV0LXNka1xVc2VyZ3JpZC5TZGtcYmluXERlYnVnXFVzZXJncmlkLlNkay5kbGw8L0hpbnRQYXRoPgorICAgIDwvUmVmZXJlbmNlPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJQcm9ncmFtLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9IlByb3BlcnRpZXNcQXNzZW1ibHlJbmZvLmNzIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Tm9uZSBJbmNsdWRlPSJBcHAuY29uZmlnIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKE1TQnVpbGRUb29sc1BhdGgpXE1pY3Jvc29mdC5DU2hhcnAudGFyZ2V0cyIgLz4KKyAgPCEtLSBUbyBtb2RpZnkgeW91ciBidWlsZCBwcm9jZXNzLCBhZGQgeW91ciB0YXNrIGluc2lkZSBvbmUgb2YgdGhlIHRhcmdldHMgYmVsb3cgYW5kIHVuY29tbWVudCBpdC4gCisgICAgICAgT3RoZXIgc2ltaWxhciBleHRlbnNpb24gcG9pbnRzIGV4aXN0LCBzZWUgTWljcm9zb2Z0LkNvbW1vbi50YXJnZXRzLgorICA8VGFyZ2V0IE5hbWU9IkJlZm9yZUJ1aWxkIj4KKyAgPC9UYXJnZXQ+CisgIDxUYXJnZXQgTmFtZT0iQWZ0ZXJCdWlsZCI+CisgIDwvVGFyZ2V0PgorICAtLT4KKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3BhY2thZ2VzL05TdWJzdGl0dXRlLjEuNi4wLjAvTElDRU5TRS50eHQgYi9wYWNrYWdlcy9OU3Vic3RpdHV0ZS4xLjYuMC4wL0xJQ0VOU0UudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkMTMzN2QKLS0tIC9kZXYvbnVsbAorKysgYi9wYWNrYWdlcy9OU3Vic3RpdHV0ZS4xLjYuMC4wL0xJQ0VOU0UudHh0CkBAIC0wLDAgKzEsMjcgQEAKK0NvcHlyaWdodCAoYykgMjAwOSBBbnRob255IEVnZXJ0b24gKG5zdWJzdGl0dXRlQGRlbGZpc2guY29tKSBhbmQgRGF2aWQgVGNoZXBhayAoZGF2ZUBkYXZlc3F1YXJlZC5uZXQpCitBbGwgcmlnaHRzIHJlc2VydmVkLgorIAorUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwKK2FyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKyAKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAgICBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAgICAqIE5laXRoZXIgdGhlIG5hbWVzIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVycyBub3IgdGhlIG5hbWVzIG9mIAorICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMKKyAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKK0FOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKK0ZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCitEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKK0NBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCitPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworWyBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2JzZC1saWNlbnNlLnBocCBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcGFja2FnZXMvTlN1YnN0aXR1dGUuMS42LjAuMC9OU3Vic3RpdHV0ZS4xLjYuMC4wLm51c3BlYyBiL3BhY2thZ2VzL05TdWJzdGl0dXRlLjEuNi4wLjAvTlN1YnN0aXR1dGUuMS42LjAuMC5udXNwZWMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTlkM2QwMgotLS0gL2Rldi9udWxsCisrKyBiL3BhY2thZ2VzL05TdWJzdGl0dXRlLjEuNi4wLjAvTlN1YnN0aXR1dGUuMS42LjAuMC5udXNwZWMKQEAgLTAsMCArMSwxOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8cGFja2FnZSB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9wYWNrYWdpbmcvMjAxMC8wNy9udXNwZWMueHNkIj4KKyAgPG1ldGFkYXRhPgorICAgIDxpZD5OU3Vic3RpdHV0ZTwvaWQ+CisgICAgPHZlcnNpb24+MS42LjAuMDwvdmVyc2lvbj4KKyAgICA8dGl0bGU+TlN1YnN0aXR1dGU8L3RpdGxlPgorICAgIDxhdXRob3JzPkFudGhvbnkgRWdlcnRvbiwgRGF2aWQgVGNoZXBhazwvYXV0aG9ycz4KKyAgICA8b3duZXJzPkFudGhvbnkgRWdlcnRvbiwgRGF2aWQgVGNoZXBhazwvb3duZXJzPgorICAgIDxsaWNlbnNlVXJsPmh0dHBzOi8vZ2l0aHViLmNvbS9uc3Vic3RpdHV0ZS9OU3Vic3RpdHV0ZS9yYXcvbWFzdGVyL0xJQ0VOU0UudHh0PC9saWNlbnNlVXJsPgorICAgIDxwcm9qZWN0VXJsPmh0dHA6Ly9uc3Vic3RpdHV0ZS5naXRodWIuY29tLzwvcHJvamVjdFVybD4KKyAgICA8aWNvblVybD5odHRwOi8vbnN1YnN0aXR1dGUuZ2l0aHViLmNvbS9pbWFnZXMvbnN1YnN0aXR1dGUtMTAweDEwMC5wbmc8L2ljb25Vcmw+CisgICAgPHJlcXVpcmVMaWNlbnNlQWNjZXB0YW5jZT5mYWxzZTwvcmVxdWlyZUxpY2Vuc2VBY2NlcHRhbmNlPgorICAgIDxkZXNjcmlwdGlvbj5OU3Vic3RpdHV0ZSBpcyBhIGZyaWVuZGx5IHN1YnN0aXR1dGUgZm9yIC5ORVQgbW9ja2luZyBmcmFtZXdvcmtzLiBJdCBoYXMgYSBzaW1wbGUsIHN1Y2NpbmN0IHN5bnRheCB0byBoZWxwIGRldmVsb3BlcnMgd3JpdGUgY2xlYXJlciB0ZXN0cy4gTlN1YnN0aXR1dGUgaXMgZGVzaWduZWQgZm9yIEFycmFuZ2UtQWN0LUFzc2VydCAoQUFBKSB0ZXN0aW5nIGFuZCB3aXRoIFRlc3QgRHJpdmVuIERldmVsb3BtZW50IChUREQpIGluIG1pbmQuPC9kZXNjcmlwdGlvbj4KKyAgICA8cmVsZWFzZU5vdGVzIC8+CisgICAgPGNvcHlyaWdodCAvPgorICAgIDxsYW5ndWFnZSAvPgorICAgIDx0YWdzPm1vY2tpbmcgbW9ja3MgdGVzdGluZyB1bml0LXRlc3RpbmcgVEREIEFBQTwvdGFncz4KKyAgPC9tZXRhZGF0YT4KKzwvcGFja2FnZT4KZGlmZiAtLWdpdCBhL3BhY2thZ2VzL05TdWJzdGl0dXRlLjEuNi4wLjAvYWNrbm93bGVkZ2VtZW50cy50eHQgYi9wYWNrYWdlcy9OU3Vic3RpdHV0ZS4xLjYuMC4wL2Fja25vd2xlZGdlbWVudHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4ZmVkZWEKLS0tIC9kZXYvbnVsbAorKysgYi9wYWNrYWdlcy9OU3Vic3RpdHV0ZS4xLjYuMC4wL2Fja25vd2xlZGdlbWVudHMudHh0CkBAIC0wLDAgKzEsNjMgQEAKKworVGhlIGFpbSBvZiB0aGlzIGZpbGUgaXMgdG8gYWNrbm93bGVkZ2UgdGhlIHNvZnR3YXJlIHByb2plY3RzIHRoYXQgaGF2ZSBiZWVuIAordXNlZCB0byBjcmVhdGUgTlN1YnN0aXR1dGUsIHBhcnRpY3VsYXJseSB0aG9zZSBkaXN0cmlidXRlZCBhcyBPcGVuIFNvdXJjZSAKK1NvZnR3YXJlLiBUaGV5IGhhdmUgYmVlbiBpbnZhbHVhYmxlIGluIGhlbHBpbmcgdXMgcHJvZHVjZSB0aGlzIHNvZnR3YXJlLgorCisjIFNvZnR3YXJlIGRpc3RyaWJ1dGVkIHdpdGgvY29tcGlsZWQgaW50byBOU3Vic3RpdHV0ZQorCisjIyBDYXN0bGUuQ29yZQorTlN1YnN0aXR1dGUgaXMgYnVpbHQgb24gdGhlIENhc3RsZS5Db3JlIGxpYnJhcnksIHBhcnRpY3VsYXJseSBDYXN0bGUuRHluYW1pY1Byb3h5IAord2hpY2ggaXMgdXNlZCBmb3IgZ2VuZXJhdGluZyBwcm94aWVzIGZvciB0eXBlcyBhbmQgaW50ZXJjZXB0aW5nIGNhbGxzIAorbWFkZSB0byB0aGVtIHNvIHRoYXQgTlN1YnN0aXR1dGUgY2FuIHJlY29yZCB0aGVtLiAKKworQ2FzdGxlLkNvcmUgaXMgbWFpbnRhaW5lZCBieSB0aGUgQ2FzdGxlIFByb2plY3QgW2h0dHA6Ly93d3cuY2FzdGxlcHJvamVjdC5vcmcvXSAKK2FuZCBpcyByZWxlYXNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wIAorW2h0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMC5odG1sXS4KKworIyBTb2Z0d2FyZSB1c2VkIHRvIGhlbHAgYnVpbGQgTlN1YnN0aXR1dGUKKworIyMgTlVuaXQgW2h0dHA6Ly93d3cubnVuaXQub3JnL10KK05Vbml0IGlzIHVzZWQgZm9yIGNvZGluZyBhbmQgcnVubmluZyB1bml0IGFuZCBpbnRlZ3JhdGlvbiB0ZXN0cyBmb3IgTlN1YnN0aXR1dGUuIEl0IGlzIGRpc3RyaWJ1dGVkIHVuZGVyIGFuIG9wZW4gc291cmNlIHpsaWIvbGlicG5nIGJhc2VkIGxpY2Vuc2UgW2h0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvemxpYi1saWNlbnNlLmh0bWxdLgorCisjIyBSaGlubyBNb2NrcyBbaHR0cDovL3d3dy5heWVuZGUuY29tL3Byb2plY3RzL3JoaW5vLW1vY2tzLmFzcHhdCitVc2VkIGZvciBtb2NraW5nIHBhcnRzIG9mIHRoZSBOU3Vic3RpdHV0ZSBtb2NraW5nIGZyYW1ld29yayBmb3IgdGVzdGluZy4gSXQgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJTRCBsaWNlbnNlIFtodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2JzZC1saWNlbnNlLnBocF0uCisKKyMjIE1vcSBbaHR0cDovL21vcS5tZS9dCitNb3EgaXMgbm90IHVzZWQgaW4gTlN1YnN0aXR1dGUsIGJ1dCB3YXMgYSBncmVhdCBzb3VyY2Ugb2YgaW5zcGlyYXRpb24uIE1vcSBwaW9uZWVyZWQgQXJyYW5nZS1BY3QtQXNzZXJ0IChBQUEpIG1vY2tpbmcgc3ludGF4IGZvciAuTkVULCBhcyB3ZWxsIGFzIHJlbW92aW5nIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIG1vY2tzIGFuZCBzdHVicywgYm90aCBvZiB3aGljaCBoYXZlIGJlY29tZSBpbXBvcnRhbnQgcGFydHMgb2YgTlN1YnN0aXR1dGUuIE1vcSBpcyBhdmFpbGFibGUgdW5kZXIgdGhlIEJTRCBsaWNlbnNlIFtodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2JzZC1saWNlbnNlLnBocF0uCisKKyMjIE51UGFjayBbaHR0cDovL251cGFjay5jb2RlcGxleC5jb20vXQorVXNlZCBmb3IgcGFja2FnaW5nIE5TdWJzdGl0dXRlIGZvciBkaXN0cmlidXRpb24gYXMgYSBudSBwYWNrYWdlLiBEaXN0cmlidXRlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wIFtodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAuaHRtbF0uCisKKyMjIEpla3lsbCBbaHR0cDovL2pla3lsbHJiLmNvbS9dCitTdGF0aWMgd2Vic2l0ZSBnZW5lcmF0b3Igd3JpdHRlbiBpbiBSdWJ5LCB1c2VkIGZvciBOU3Vic3RpdHV0ZSdzIHdlYnNpdGUgYW5kIGRvY3VtZW50YXRpb24uIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBbaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ic2QtbGljZW5zZS5waHBdLgorCisjIyBTeW50YXhIaWdobGlnaHRlciBbaHR0cDovL2FsZXhnb3JiYXRjaGV2LmNvbS9TeW50YXhIaWdobGlnaHRlci9dCitPcGVuIHNvdXJjZSwgSmF2YVNjcmlwdCwgY2xpZW50LXNpZGUgY29kZSBoaWdobGlnaHRlciB1c2VkIGZvciBoaWdobGlnaHRpbmcgY29kZSBzYW1wbGVzIG9uIHRoZSBOU3Vic3RpdHV0ZSB3ZWJzaXRlLiBEaXN0cmlidXRlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTUlUX0xpY2Vuc2VdIGFuZCB0aGUgR1BMIFtodHRwOi8vd3d3LmdudS5vcmcvY29weWxlZnQvbGVzc2VyLmh0bWxdLgorCisjIyBSdWJ5IChhbmQgbGlicmFyaWVzKSBbaHR0cDovL3d3dy5ydWJ5LWxhbmcub3JnXQorUnVieSBpcyB1c2VkIGZvciBOU3Vic3RpdHV0ZSdzIGJ1aWxkLiBUaGUgcmFrZSBsaWJyYXJ5IGlzIHVzZWQgdG8gcnVuIHRoZSBidWlsZDsgY3VzdG9tIFJ1YnkgY29kZSBpcyB1c2VkIHRvIGV4dHJhY3QgYW5kIHRlc3QgY29kZSBzYW1wbGVzIGZyb20gZG9jdW1lbnRhdGlvbjsgcnNwZWMgaXMgdXNlZCB0byB0ZXN0IHRoYXQgUnVieSBjb2RlOyBNYXJrZG93biBpcyB1c2VkIGZvciBkb2N1bWVudGF0aW9uOyBnZW1zIGZvciBpbnN0YWxsaW5nIGFsbCB0aGlzIHN0dWZmOyBSdWJ5SW5zdGFsbGVyIGZvciBXaW5kb3dzIGFuZCBEZXZLaXQgZm9yIGludGVyb3Agd2l0aCBXaW5kb3dzOyBhbmQgbXVjaCBtb3JlLiBSdWJ5IGlzIGF3ZXNvbWUsIGFzIGFyZSB0aGUgbWFueSBwcm9qZWN0cyBjb250cmlidXRlZCB0byB0aGUgUnVieSBjb21tdW5pdHkgdGhhdCBtYWtlIGRldmVsb3BlcnMnIGxpdmVzIGF3ZXNvbWUuCisKK1J1YnkgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFJ1YnkgbGljZW5zZSBbaHR0cDovL3d3dy5ydWJ5LWxhbmcub3JnL2VuL0xJQ0VOU0UudHh0XS4gVGhlIGxpYnJhcmllcyBtZW50aW9uZWQgYXJlIGF2YWlsYWJsZSB1bmRlciBhIHZhcmlldHkgb2YgbGljZW5zZXMuIFBsZWFzZSBzZWUgdGhlaXIgd2Vic2l0ZXMgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisKKyMjIE1pY3Jvc29mdCAuTkVUIEZyYW1ld29yayBbaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL25ldC9dCitOU3Vic3RpdHV0ZSBpcyBjb2RlZCBpbiBDIyBhbmQgY29tcGlsZWQgdXNpbmcgTWljcm9zb2Z0IC5ORVQuIEl0IGNhbiBhbHNvIHJ1biBhbmQgY29tcGlsZSB1bmRlciBNb25vIFtodHRwOi8vd3d3Lm1vbm8tcHJvamVjdC5jb21dLCBhbiBvcGVuIHNvdXJjZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgb3BlbiAuTkVUIHN0YW5kYXJkcyBmb3IgQyMgYW5kIHRoZSBDTEkuCisKK01pY3Jvc29mdCdzIC5ORVQgRnJhbWV3b3JrIGlzIGF2YWlsYWJsZSB1bmRlciBhIEVVTEEgKGFuZCBwb3NzaWJseSBvdGhlciBsaWNlbnNlcyBsaWtlIE1TIFJlZmVyZW5jZSBTb3VyY2UgTGljZW5zZSkuCitNb25vIGlzIGF2YWlsYWJsZSB1bmRlciBmb3VyIG9wZW4gc291cmNlIGxpY2Vuc2VzIGZvciBkaWZmZXJlbnQgcGFydHMgb2YgdGhlIHByb2plY3QgKGluY2x1ZGluZyBNSVQvWDExLCBHUEwsIE1TLVBsKS4gVGhlc2UgYXJlIGRlc2NyaWJlZCBvbiB0aGUgcHJvamVjdCBzaXRlIFtodHRwOi8vd3d3Lm1vbm8tcHJvamVjdC5jb20vTGljZW5zaW5nXS4KKworIyMgTWljcm9zb2Z0IElsbWVyZ2UgW2h0dHA6Ly9yZXNlYXJjaC5taWNyb3NvZnQuY29tL2VuLXVzL3Blb3BsZS9tYmFybmV0dC9pbG1lcmdlLmFzcHhdCitVc2VkIGZvciBjb21iaW5pbmcgYXNzZW1ibGllcyBzbyBOU3Vic3RpdHV0ZSBjYW4gYmUgZGlzdHJpYnV0ZWQgYXMgYSBzaW5nbGUgRExMLiBBdmFpbGFibGUgZm9yIHVzZSB1bmRlciBhIEVVTEEgYXMgZGVzY3JpYmVkIG9uIHRoZSBpbG1lcmdlIHNpdGUuCisKKyMjIE1pY3Jvc29mdCBSZWFjdGl2ZSBFeHRlbnNpb25zIGZvciAuTkVUIChSeCkgW2h0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvZGV2bGFicy9lZTc5NDg5Nl0KK1VzZWQgdG8gcHJvdmlkZSAuTkVUIDMuNSB3aXRoIHNvbWUgb2YgdGhlIG5lYXQgY29uY3VycmVuY3kgaGVscGVyIGNsYXNzZXMgdGhhdCBzaGlwIHdpdGggb3V0IG9mIHRoZSBib3ggd2l0aCAuTkVUIDQuMC4gRGlzdHJpYnV0ZWQgdW5kZXIgYSBFVUxBIFtodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2RldmxhYnMvZmYzOTQwOTldLgorCisjIyA3LVppcCBbaHR0cDovL3d3dy43LXppcC5vcmcvXQorNy16aXAgaXMgdXNlZCB0byBaSVAgdXAgTlN1YnN0aXR1dGUgZGlzdHJpYnV0aW9ucyBhcyBwYXJ0IG9mIHRoZSBhdXRvbWF0ZWQgYnVpbGQgcHJvY2Vzcy4gRGlzdHJpYnV0ZWQgdW5kZXIgYSBtaXhlZCBHTlUgTEdQTCAvIHVuUkFSIGxpY2VuY2UgW2h0dHA6Ly93d3cuNy16aXAub3JnL2xpY2Vuc2UudHh0XS4KKworIyBPdGhlciBhY2tub3dsZWRnZW1lbnRzCisKKyMjIFNvZnR3YXJlIGRldmVsb3BlcnMKK1llcywgeW91ISBUbyBldmVyeW9uZSB3aG8gaGFzIHRyaWVkIHRvIGdldCBiZXR0ZXIgYXQgdGhlIGNyYWZ0IGFuZCBzY2llbmNlIG9mIHByb2dyYW1taW5nLCBlc3BlY2lhbGx5IHRob3NlIG9mIHlvdSB3aG8gaGF2ZSB0YWxrZWQsIHR3ZWV0ZWQsIGJsb2dnZWQsIHNjcmVlbmNhc3RlZCwgYW5kL29yIGNvbnRyaWJ1dGVkIHNvZnR3YXJlIG9yIGlkZWFzIHRvIHRoZSBjb21tdW5pdHkuCisKK05vIHNvZnR3YXJlIGRldmVsb3BlcnMgd2VyZSBoYXJtZWQgdG8gYW55IHNpZ25pZmljYW50IGV4dGVudCBkdXJpbmcgdGhlIHByb2R1Y3Rpb24gb2YgTlN1YnN0aXR1dGUsIGFsdGhvdWdoIHNvbWUgaGFkIHRvIGdldCBieSBvbiByZWR1Y2VkIHNsZWVwLgorCmRpZmYgLS1naXQgYS9wYWNrYWdlcy9OVW5pdC4yLjYuMi9OVW5pdC4yLjYuMi5udXNwZWMgYi9wYWNrYWdlcy9OVW5pdC4yLjYuMi9OVW5pdC4yLjYuMi5udXNwZWMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDFlNDNlMgotLS0gL2Rldi9udWxsCisrKyBiL3BhY2thZ2VzL05Vbml0LjIuNi4yL05Vbml0LjIuNi4yLm51c3BlYwpAQCAtMCwwICsxLDMxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxwYWNrYWdlIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3BhY2thZ2luZy8yMDExLzA4L251c3BlYy54c2QiPgorICA8bWV0YWRhdGE+CisgICAgPGlkPk5Vbml0PC9pZD4KKyAgICA8dmVyc2lvbj4yLjYuMjwvdmVyc2lvbj4KKyAgICA8dGl0bGU+TlVuaXQ8L3RpdGxlPgorICAgIDxhdXRob3JzPkNoYXJsaWUgUG9vbGU8L2F1dGhvcnM+CisgICAgPG93bmVycz5DaGFybGllIFBvb2xlPC9vd25lcnM+CisgICAgPGxpY2Vuc2VVcmw+aHR0cDovL251bml0Lm9yZy9udWdldC9saWNlbnNlLmh0bWw8L2xpY2Vuc2VVcmw+CisgICAgPHByb2plY3RVcmw+aHR0cDovL251bml0Lm9yZy88L3Byb2plY3RVcmw+CisgICAgPGljb25Vcmw+aHR0cDovL251bml0Lm9yZy9udWdldC9udW5pdF8zMngzMi5wbmc8L2ljb25Vcmw+CisgICAgPHJlcXVpcmVMaWNlbnNlQWNjZXB0YW5jZT5mYWxzZTwvcmVxdWlyZUxpY2Vuc2VBY2NlcHRhbmNlPgorICAgIDxkZXNjcmlwdGlvbj5OVW5pdCBmZWF0dXJlcyBhIGZsdWVudCBhc3NlcnQgc3ludGF4LCBwYXJhbWV0ZXJpemVkLCBnZW5lcmljIGFuZCB0aGVvcnkgdGVzdHMgYW5kIGlzIHVzZXItZXh0ZW5zaWJsZS4gQSBudW1iZXIgb2YgcnVubmVycywgYm90aCBmcm9tIHRoZSBOVW5pdCBwcm9qZWN0IGFuZCBieSB0aGlyZCBwYXJ0aWVzLCBhcmUgYWJsZSB0byBleGVjdXRlIE5Vbml0IHRlc3RzLgorCitWZXJzaW9uIDIuNiBpcyB0aGUgc2V2ZW50aCBtYWpvciByZWxlYXNlIG9mIHRoaXMgd2VsbC1rbm93biBhbmQgd2VsbC10ZXN0ZWQgcHJvZ3JhbW1pbmcgdG9vbC4KKworVGhpcyBwYWNrYWdlIGluY2x1ZGVzIG9ubHkgdGhlIGZyYW1ld29yayBhc3NlbWJseS4gWW91IHdpbGwgbmVlZCB0byBpbnN0YWxsIHRoZSBOVW5pdC5SdW5uZXJzIHBhY2thZ2UgdW5sZXNzIHlvdSBhcmUgdXNpbmcgYSB0aGlyZC1wYXJ0eSBydW5uZXIuPC9kZXNjcmlwdGlvbj4KKyAgICA8c3VtbWFyeT5OVW5pdCBpcyBhIHVuaXQtdGVzdGluZyBmcmFtZXdvcmsgZm9yIGFsbCAuTmV0IGxhbmd1YWdlcyB3aXRoIGEgc3Ryb25nIFRERCBmb2N1cy48L3N1bW1hcnk+CisgICAgPHJlbGVhc2VOb3Rlcz5WZXJzaW9uIDIuNiBpcyB0aGUgc2V2ZW50aCBtYWpvciByZWxlYXNlIG9mIE5Vbml0LgorCitVbmxpa2UgZWFybGllciB2ZXJzaW9ucywgdGhpcyBwYWNrYWdlIGluY2x1ZGVzIG9ubHkgdGhlIGZyYW1ld29yayBhc3NlbWJseS4gWW91IHdpbGwgbmVlZCB0byBpbnN0YWxsIHRoZSBOVW5pdC5SdW5uZXJzIHBhY2thZ2UgdW5sZXNzIHlvdSBhcmUgdXNpbmcgYSB0aGlyZC1wYXJ0eSBydW5uZXIuCisKK1RoZSBudW5pdC5tb2NrcyBhc3NlbWJseSBpcyBub3cgcHJvdmlkZWQgYnkgdGhlIE5Vbml0Lk1vY2tzIHBhY2thZ2UuIFRoZSBwbnVuaXQuZnJhbWV3b3JrIGFzc2VtYmx5IGlzIHByb3ZpZGVkIGJ5IHRoZSBwTlVuaXQgcGFja2FnZS48L3JlbGVhc2VOb3Rlcz4KKyAgICA8Y29weXJpZ2h0IC8+CisgICAgPGxhbmd1YWdlPmVuLVVTPC9sYW5ndWFnZT4KKyAgICA8dGFncz50ZXN0IHRlc3RpbmcgdGRkIGZyYW1ld29yayBmbHVlbnQgYXNzZXJ0IHRoZW9yeSBwbHVnaW4gYWRkaW48L3RhZ3M+CisgICAgPHJlZmVyZW5jZXM+CisgICAgICA8cmVmZXJlbmNlIGZpbGU9Im51bml0LmZyYW1ld29yay5kbGwiIC8+CisgICAgPC9yZWZlcmVuY2VzPgorICA8L21ldGFkYXRhPgorPC9wYWNrYWdlPgpkaWZmIC0tZ2l0IGEvcGFja2FnZXMvTlVuaXQuMi42LjIvbGljZW5zZS50eHQgYi9wYWNrYWdlcy9OVW5pdC4yLjYuMi9saWNlbnNlLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MzBhNmUwCi0tLSAvZGV2L251bGwKKysrIGIvcGFja2FnZXMvTlVuaXQuMi42LjIvbGljZW5zZS50eHQKQEAgLTAsMCArMSwxNSBAQAorQ29weXJpZ2h0IKkgMjAwMi0yMDEyIENoYXJsaWUgUG9vbGUKK0NvcHlyaWdodCCpIDIwMDItMjAwNCBKYW1lcyBXLiBOZXdraXJrLCBNaWNoYWVsIEMuIFR3bywgQWxleGVpIEEuIFZvcm9udHNvdgorQ29weXJpZ2h0IKkgMjAwMC0yMDAyIFBoaWxpcCBBLiBDcmFpZworCitUaGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkICdhcy1pcycsIHdpdGhvdXQgYW55IGV4cHJlc3Mgb3IgaW1wbGllZCB3YXJyYW50eS4gSW4gbm8gZXZlbnQgd2lsbCB0aGUgYXV0aG9ycyBiZSBoZWxkIGxpYWJsZSBmb3IgYW55IGRhbWFnZXMgYXJpc2luZyBmcm9tIHRoZSB1c2Ugb2YgdGhpcyBzb2Z0d2FyZS4KKworUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGFueW9uZSB0byB1c2UgdGhpcyBzb2Z0d2FyZSBmb3IgYW55IHB1cnBvc2UsIGluY2x1ZGluZyBjb21tZXJjaWFsIGFwcGxpY2F0aW9ucywgYW5kIHRvIGFsdGVyIGl0IGFuZCByZWRpc3RyaWJ1dGUgaXQgZnJlZWx5LCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgcmVzdHJpY3Rpb25zOgorCisxLiBUaGUgb3JpZ2luIG9mIHRoaXMgc29mdHdhcmUgbXVzdCBub3QgYmUgbWlzcmVwcmVzZW50ZWQ7IHlvdSBtdXN0IG5vdCBjbGFpbSB0aGF0IHlvdSB3cm90ZSB0aGUgb3JpZ2luYWwgc29mdHdhcmUuIElmIHlvdSB1c2UgdGhpcyBzb2Z0d2FyZSBpbiBhIHByb2R1Y3QsIGFuIGFja25vd2xlZGdtZW50IChzZWUgdGhlIGZvbGxvd2luZykgaW4gdGhlIHByb2R1Y3QgZG9jdW1lbnRhdGlvbiBpcyByZXF1aXJlZC4KKworUG9ydGlvbnMgQ29weXJpZ2h0IKkgMjAwMi0yMDEyIENoYXJsaWUgUG9vbGUgb3IgQ29weXJpZ2h0IKkgMjAwMi0yMDA0IEphbWVzIFcuIE5ld2tpcmssIE1pY2hhZWwgQy4gVHdvLCBBbGV4ZWkgQS4gVm9yb250c292IG9yIENvcHlyaWdodCCpIDIwMDAtMjAwMiBQaGlsaXAgQS4gQ3JhaWcKKworMi4gQWx0ZXJlZCBzb3VyY2UgdmVyc2lvbnMgbXVzdCBiZSBwbGFpbmx5IG1hcmtlZCBhcyBzdWNoLCBhbmQgbXVzdCBub3QgYmUgbWlzcmVwcmVzZW50ZWQgYXMgYmVpbmcgdGhlIG9yaWdpbmFsIHNvZnR3YXJlLgorCiszLiBUaGlzIG5vdGljZSBtYXkgbm90IGJlIHJlbW92ZWQgb3IgYWx0ZXJlZCBmcm9tIGFueSBzb3VyY2UgZGlzdHJpYnV0aW9uLgpkaWZmIC0tZ2l0IGEvcGFja2FnZXMvTmV3dG9uc29mdC5Kc29uLjQuNS4xMS9MSUNFTlNFLnR4dCBiL3BhY2thZ2VzL05ld3RvbnNvZnQuSnNvbi40LjUuMTEvTElDRU5TRS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGFhNGEyMQotLS0gL2Rldi9udWxsCisrKyBiL3BhY2thZ2VzL05ld3RvbnNvZnQuSnNvbi40LjUuMTEvTElDRU5TRS50eHQKQEAgLTAsMCArMSwyMSBAQAorVGhlIE1JVCBMaWNlbnNlIChNSVQpCisKK0NvcHlyaWdodCAoYykgMjAwNyBKYW1lcyBOZXd0b24tS2luZworCitQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IAorb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgCitpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIAordG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgCitvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gCitkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisKKworVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIAorY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKworVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IgSU1QTElFRCwgCitJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgCitBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgCitIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gCitPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgCitTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wYWNrYWdlcy9OZXd0b25zb2Z0Lkpzb24uNC41LjExL05ld3RvbnNvZnQuSnNvbi40LjUuMTEubnVzcGVjIGIvcGFja2FnZXMvTmV3dG9uc29mdC5Kc29uLjQuNS4xMS9OZXd0b25zb2Z0Lkpzb24uNC41LjExLm51c3BlYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGM2MTZlCi0tLSAvZGV2L251bGwKKysrIGIvcGFja2FnZXMvTmV3dG9uc29mdC5Kc29uLjQuNS4xMS9OZXd0b25zb2Z0Lkpzb24uNC41LjExLm51c3BlYwpAQCAtMCwwICsxLDE5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxwYWNrYWdlIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3BhY2thZ2luZy8yMDExLzA4L251c3BlYy54c2QiPgorICA8bWV0YWRhdGE+CisgICAgPGlkPk5ld3RvbnNvZnQuSnNvbjwvaWQ+CisgICAgPHZlcnNpb24+NC41LjExPC92ZXJzaW9uPgorICAgIDx0aXRsZT5Kc29uLk5FVDwvdGl0bGU+CisgICAgPGF1dGhvcnM+SmFtZXMgTmV3dG9uLUtpbmc8L2F1dGhvcnM+CisgICAgPG93bmVycz5KYW1lcyBOZXd0b24tS2luZzwvb3duZXJzPgorICAgIDxsaWNlbnNlVXJsPmh0dHA6Ly9qc29uLmNvZGVwbGV4LmNvbS9saWNlbnNlPC9saWNlbnNlVXJsPgorICAgIDxwcm9qZWN0VXJsPmh0dHA6Ly9qYW1lcy5uZXd0b25raW5nLmNvbS9wcm9qZWN0cy9qc29uLW5ldC5hc3B4PC9wcm9qZWN0VXJsPgorICAgIDxyZXF1aXJlTGljZW5zZUFjY2VwdGFuY2U+ZmFsc2U8L3JlcXVpcmVMaWNlbnNlQWNjZXB0YW5jZT4KKyAgICA8ZGVzY3JpcHRpb24+SnNvbi5ORVQgaXMgYSBwb3B1bGFyIGhpZ2gtcGVyZm9ybWFuY2UgSlNPTiBmcmFtZXdvcmsgZm9yIC5ORVQ8L2Rlc2NyaXB0aW9uPgorICAgIDxsYW5ndWFnZT5lbi1VUzwvbGFuZ3VhZ2U+CisgICAgPHRhZ3M+anNvbjwvdGFncz4KKyAgICA8cmVmZXJlbmNlcz4KKyAgICAgIDxyZWZlcmVuY2UgZmlsZT0iTmV3dG9uc29mdC5Kc29uLmRsbCIgLz4KKyAgICA8L3JlZmVyZW5jZXM+CisgIDwvbWV0YWRhdGE+Cis8L3BhY2thZ2U+CmRpZmYgLS1naXQgYS9wYWNrYWdlcy9SZXN0U2hhcnAuMTA0LjEvTElDRU5TRS50eHQgYi9wYWNrYWdlcy9SZXN0U2hhcnAuMTA0LjEvTElDRU5TRS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDY0NTY5NQotLS0gL2Rldi9udWxsCisrKyBiL3BhY2thZ2VzL1Jlc3RTaGFycC4xMDQuMS9MSUNFTlNFLnR4dApAQCAtMCwwICsxLDIwMiBAQAorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcGFjaGUgTGljZW5zZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbiAyLjAsIEphbnVhcnkgMjAwNAorICAgICAgICAgICAgICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzLworCisgICBURVJNUyBBTkQgQ09ORElUSU9OUyBGT1IgVVNFLCBSRVBST0RVQ1RJT04sIEFORCBESVNUUklCVVRJT04KKworICAgMS4gRGVmaW5pdGlvbnMuCisKKyAgICAgICJMaWNlbnNlIiBzaGFsbCBtZWFuIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgdXNlLCByZXByb2R1Y3Rpb24sCisgICAgICBhbmQgZGlzdHJpYnV0aW9uIGFzIGRlZmluZWQgYnkgU2VjdGlvbnMgMSB0aHJvdWdoIDkgb2YgdGhpcyBkb2N1bWVudC4KKworICAgICAgIkxpY2Vuc29yIiBzaGFsbCBtZWFuIHRoZSBjb3B5cmlnaHQgb3duZXIgb3IgZW50aXR5IGF1dGhvcml6ZWQgYnkKKyAgICAgIHRoZSBjb3B5cmlnaHQgb3duZXIgdGhhdCBpcyBncmFudGluZyB0aGUgTGljZW5zZS4KKworICAgICAgIkxlZ2FsIEVudGl0eSIgc2hhbGwgbWVhbiB0aGUgdW5pb24gb2YgdGhlIGFjdGluZyBlbnRpdHkgYW5kIGFsbAorICAgICAgb3RoZXIgZW50aXRpZXMgdGhhdCBjb250cm9sLCBhcmUgY29udHJvbGxlZCBieSwgb3IgYXJlIHVuZGVyIGNvbW1vbgorICAgICAgY29udHJvbCB3aXRoIHRoYXQgZW50aXR5LiBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwKKyAgICAgICJjb250cm9sIiBtZWFucyAoaSkgdGhlIHBvd2VyLCBkaXJlY3Qgb3IgaW5kaXJlY3QsIHRvIGNhdXNlIHRoZQorICAgICAgZGlyZWN0aW9uIG9yIG1hbmFnZW1lbnQgb2Ygc3VjaCBlbnRpdHksIHdoZXRoZXIgYnkgY29udHJhY3Qgb3IKKyAgICAgIG90aGVyd2lzZSwgb3IgKGlpKSBvd25lcnNoaXAgb2YgZmlmdHkgcGVyY2VudCAoNTAlKSBvciBtb3JlIG9mIHRoZQorICAgICAgb3V0c3RhbmRpbmcgc2hhcmVzLCBvciAoaWlpKSBiZW5lZmljaWFsIG93bmVyc2hpcCBvZiBzdWNoIGVudGl0eS4KKworICAgICAgIllvdSIgKG9yICJZb3VyIikgc2hhbGwgbWVhbiBhbiBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eQorICAgICAgZXhlcmNpc2luZyBwZXJtaXNzaW9ucyBncmFudGVkIGJ5IHRoaXMgTGljZW5zZS4KKworICAgICAgIlNvdXJjZSIgZm9ybSBzaGFsbCBtZWFuIHRoZSBwcmVmZXJyZWQgZm9ybSBmb3IgbWFraW5nIG1vZGlmaWNhdGlvbnMsCisgICAgICBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHNvZnR3YXJlIHNvdXJjZSBjb2RlLCBkb2N1bWVudGF0aW9uCisgICAgICBzb3VyY2UsIGFuZCBjb25maWd1cmF0aW9uIGZpbGVzLgorCisgICAgICAiT2JqZWN0IiBmb3JtIHNoYWxsIG1lYW4gYW55IGZvcm0gcmVzdWx0aW5nIGZyb20gbWVjaGFuaWNhbAorICAgICAgdHJhbnNmb3JtYXRpb24gb3IgdHJhbnNsYXRpb24gb2YgYSBTb3VyY2UgZm9ybSwgaW5jbHVkaW5nIGJ1dAorICAgICAgbm90IGxpbWl0ZWQgdG8gY29tcGlsZWQgb2JqZWN0IGNvZGUsIGdlbmVyYXRlZCBkb2N1bWVudGF0aW9uLAorICAgICAgYW5kIGNvbnZlcnNpb25zIHRvIG90aGVyIG1lZGlhIHR5cGVzLgorCisgICAgICAiV29yayIgc2hhbGwgbWVhbiB0aGUgd29yayBvZiBhdXRob3JzaGlwLCB3aGV0aGVyIGluIFNvdXJjZSBvcgorICAgICAgT2JqZWN0IGZvcm0sIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSBMaWNlbnNlLCBhcyBpbmRpY2F0ZWQgYnkgYQorICAgICAgY29weXJpZ2h0IG5vdGljZSB0aGF0IGlzIGluY2x1ZGVkIGluIG9yIGF0dGFjaGVkIHRvIHRoZSB3b3JrCisgICAgICAoYW4gZXhhbXBsZSBpcyBwcm92aWRlZCBpbiB0aGUgQXBwZW5kaXggYmVsb3cpLgorCisgICAgICAiRGVyaXZhdGl2ZSBXb3JrcyIgc2hhbGwgbWVhbiBhbnkgd29yaywgd2hldGhlciBpbiBTb3VyY2Ugb3IgT2JqZWN0CisgICAgICBmb3JtLCB0aGF0IGlzIGJhc2VkIG9uIChvciBkZXJpdmVkIGZyb20pIHRoZSBXb3JrIGFuZCBmb3Igd2hpY2ggdGhlCisgICAgICBlZGl0b3JpYWwgcmV2aXNpb25zLCBhbm5vdGF0aW9ucywgZWxhYm9yYXRpb25zLCBvciBvdGhlciBtb2RpZmljYXRpb25zCisgICAgICByZXByZXNlbnQsIGFzIGEgd2hvbGUsIGFuIG9yaWdpbmFsIHdvcmsgb2YgYXV0aG9yc2hpcC4gRm9yIHRoZSBwdXJwb3NlcworICAgICAgb2YgdGhpcyBMaWNlbnNlLCBEZXJpdmF0aXZlIFdvcmtzIHNoYWxsIG5vdCBpbmNsdWRlIHdvcmtzIHRoYXQgcmVtYWluCisgICAgICBzZXBhcmFibGUgZnJvbSwgb3IgbWVyZWx5IGxpbmsgKG9yIGJpbmQgYnkgbmFtZSkgdG8gdGhlIGludGVyZmFjZXMgb2YsCisgICAgICB0aGUgV29yayBhbmQgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLgorCisgICAgICAiQ29udHJpYnV0aW9uIiBzaGFsbCBtZWFuIGFueSB3b3JrIG9mIGF1dGhvcnNoaXAsIGluY2x1ZGluZworICAgICAgdGhlIG9yaWdpbmFsIHZlcnNpb24gb2YgdGhlIFdvcmsgYW5kIGFueSBtb2RpZmljYXRpb25zIG9yIGFkZGl0aW9ucworICAgICAgdG8gdGhhdCBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiwgdGhhdCBpcyBpbnRlbnRpb25hbGx5CisgICAgICBzdWJtaXR0ZWQgdG8gTGljZW5zb3IgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yayBieSB0aGUgY29weXJpZ2h0IG93bmVyCisgICAgICBvciBieSBhbiBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eSBhdXRob3JpemVkIHRvIHN1Ym1pdCBvbiBiZWhhbGYgb2YKKyAgICAgIHRoZSBjb3B5cmlnaHQgb3duZXIuIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLCAic3VibWl0dGVkIgorICAgICAgbWVhbnMgYW55IGZvcm0gb2YgZWxlY3Ryb25pYywgdmVyYmFsLCBvciB3cml0dGVuIGNvbW11bmljYXRpb24gc2VudAorICAgICAgdG8gdGhlIExpY2Vuc29yIG9yIGl0cyByZXByZXNlbnRhdGl2ZXMsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8KKyAgICAgIGNvbW11bmljYXRpb24gb24gZWxlY3Ryb25pYyBtYWlsaW5nIGxpc3RzLCBzb3VyY2UgY29kZSBjb250cm9sIHN5c3RlbXMsCisgICAgICBhbmQgaXNzdWUgdHJhY2tpbmcgc3lzdGVtcyB0aGF0IGFyZSBtYW5hZ2VkIGJ5LCBvciBvbiBiZWhhbGYgb2YsIHRoZQorICAgICAgTGljZW5zb3IgZm9yIHRoZSBwdXJwb3NlIG9mIGRpc2N1c3NpbmcgYW5kIGltcHJvdmluZyB0aGUgV29yaywgYnV0CisgICAgICBleGNsdWRpbmcgY29tbXVuaWNhdGlvbiB0aGF0IGlzIGNvbnNwaWN1b3VzbHkgbWFya2VkIG9yIG90aGVyd2lzZQorICAgICAgZGVzaWduYXRlZCBpbiB3cml0aW5nIGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIgYXMgIk5vdCBhIENvbnRyaWJ1dGlvbi4iCisKKyAgICAgICJDb250cmlidXRvciIgc2hhbGwgbWVhbiBMaWNlbnNvciBhbmQgYW55IGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5CisgICAgICBvbiBiZWhhbGYgb2Ygd2hvbSBhIENvbnRyaWJ1dGlvbiBoYXMgYmVlbiByZWNlaXZlZCBieSBMaWNlbnNvciBhbmQKKyAgICAgIHN1YnNlcXVlbnRseSBpbmNvcnBvcmF0ZWQgd2l0aGluIHRoZSBXb3JrLgorCisgICAyLiBHcmFudCBvZiBDb3B5cmlnaHQgTGljZW5zZS4gU3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YKKyAgICAgIHRoaXMgTGljZW5zZSwgZWFjaCBDb250cmlidXRvciBoZXJlYnkgZ3JhbnRzIHRvIFlvdSBhIHBlcnBldHVhbCwKKyAgICAgIHdvcmxkd2lkZSwgbm9uLWV4Y2x1c2l2ZSwgbm8tY2hhcmdlLCByb3lhbHR5LWZyZWUsIGlycmV2b2NhYmxlCisgICAgICBjb3B5cmlnaHQgbGljZW5zZSB0byByZXByb2R1Y2UsIHByZXBhcmUgRGVyaXZhdGl2ZSBXb3JrcyBvZiwKKyAgICAgIHB1YmxpY2x5IGRpc3BsYXksIHB1YmxpY2x5IHBlcmZvcm0sIHN1YmxpY2Vuc2UsIGFuZCBkaXN0cmlidXRlIHRoZQorICAgICAgV29yayBhbmQgc3VjaCBEZXJpdmF0aXZlIFdvcmtzIGluIFNvdXJjZSBvciBPYmplY3QgZm9ybS4KKworICAgMy4gR3JhbnQgb2YgUGF0ZW50IExpY2Vuc2UuIFN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mCisgICAgICB0aGlzIExpY2Vuc2UsIGVhY2ggQ29udHJpYnV0b3IgaGVyZWJ5IGdyYW50cyB0byBZb3UgYSBwZXJwZXR1YWwsCisgICAgICB3b3JsZHdpZGUsIG5vbi1leGNsdXNpdmUsIG5vLWNoYXJnZSwgcm95YWx0eS1mcmVlLCBpcnJldm9jYWJsZQorICAgICAgKGV4Y2VwdCBhcyBzdGF0ZWQgaW4gdGhpcyBzZWN0aW9uKSBwYXRlbnQgbGljZW5zZSB0byBtYWtlLCBoYXZlIG1hZGUsCisgICAgICB1c2UsIG9mZmVyIHRvIHNlbGwsIHNlbGwsIGltcG9ydCwgYW5kIG90aGVyd2lzZSB0cmFuc2ZlciB0aGUgV29yaywKKyAgICAgIHdoZXJlIHN1Y2ggbGljZW5zZSBhcHBsaWVzIG9ubHkgdG8gdGhvc2UgcGF0ZW50IGNsYWltcyBsaWNlbnNhYmxlCisgICAgICBieSBzdWNoIENvbnRyaWJ1dG9yIHRoYXQgYXJlIG5lY2Vzc2FyaWx5IGluZnJpbmdlZCBieSB0aGVpcgorICAgICAgQ29udHJpYnV0aW9uKHMpIGFsb25lIG9yIGJ5IGNvbWJpbmF0aW9uIG9mIHRoZWlyIENvbnRyaWJ1dGlvbihzKQorICAgICAgd2l0aCB0aGUgV29yayB0byB3aGljaCBzdWNoIENvbnRyaWJ1dGlvbihzKSB3YXMgc3VibWl0dGVkLiBJZiBZb3UKKyAgICAgIGluc3RpdHV0ZSBwYXRlbnQgbGl0aWdhdGlvbiBhZ2FpbnN0IGFueSBlbnRpdHkgKGluY2x1ZGluZyBhCisgICAgICBjcm9zcy1jbGFpbSBvciBjb3VudGVyY2xhaW0gaW4gYSBsYXdzdWl0KSBhbGxlZ2luZyB0aGF0IHRoZSBXb3JrCisgICAgICBvciBhIENvbnRyaWJ1dGlvbiBpbmNvcnBvcmF0ZWQgd2l0aGluIHRoZSBXb3JrIGNvbnN0aXR1dGVzIGRpcmVjdAorICAgICAgb3IgY29udHJpYnV0b3J5IHBhdGVudCBpbmZyaW5nZW1lbnQsIHRoZW4gYW55IHBhdGVudCBsaWNlbnNlcworICAgICAgZ3JhbnRlZCB0byBZb3UgdW5kZXIgdGhpcyBMaWNlbnNlIGZvciB0aGF0IFdvcmsgc2hhbGwgdGVybWluYXRlCisgICAgICBhcyBvZiB0aGUgZGF0ZSBzdWNoIGxpdGlnYXRpb24gaXMgZmlsZWQuCisKKyAgIDQuIFJlZGlzdHJpYnV0aW9uLiBZb3UgbWF5IHJlcHJvZHVjZSBhbmQgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlCisgICAgICBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiBpbiBhbnkgbWVkaXVtLCB3aXRoIG9yIHdpdGhvdXQKKyAgICAgIG1vZGlmaWNhdGlvbnMsIGFuZCBpbiBTb3VyY2Ugb3IgT2JqZWN0IGZvcm0sIHByb3ZpZGVkIHRoYXQgWW91CisgICAgICBtZWV0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKworICAgICAgKGEpIFlvdSBtdXN0IGdpdmUgYW55IG90aGVyIHJlY2lwaWVudHMgb2YgdGhlIFdvcmsgb3IKKyAgICAgICAgICBEZXJpdmF0aXZlIFdvcmtzIGEgY29weSBvZiB0aGlzIExpY2Vuc2U7IGFuZAorCisgICAgICAoYikgWW91IG11c3QgY2F1c2UgYW55IG1vZGlmaWVkIGZpbGVzIHRvIGNhcnJ5IHByb21pbmVudCBub3RpY2VzCisgICAgICAgICAgc3RhdGluZyB0aGF0IFlvdSBjaGFuZ2VkIHRoZSBmaWxlczsgYW5kCisKKyAgICAgIChjKSBZb3UgbXVzdCByZXRhaW4sIGluIHRoZSBTb3VyY2UgZm9ybSBvZiBhbnkgRGVyaXZhdGl2ZSBXb3JrcworICAgICAgICAgIHRoYXQgWW91IGRpc3RyaWJ1dGUsIGFsbCBjb3B5cmlnaHQsIHBhdGVudCwgdHJhZGVtYXJrLCBhbmQKKyAgICAgICAgICBhdHRyaWJ1dGlvbiBub3RpY2VzIGZyb20gdGhlIFNvdXJjZSBmb3JtIG9mIHRoZSBXb3JrLAorICAgICAgICAgIGV4Y2x1ZGluZyB0aG9zZSBub3RpY2VzIHRoYXQgZG8gbm90IHBlcnRhaW4gdG8gYW55IHBhcnQgb2YKKyAgICAgICAgICB0aGUgRGVyaXZhdGl2ZSBXb3JrczsgYW5kCisKKyAgICAgIChkKSBJZiB0aGUgV29yayBpbmNsdWRlcyBhICJOT1RJQ0UiIHRleHQgZmlsZSBhcyBwYXJ0IG9mIGl0cworICAgICAgICAgIGRpc3RyaWJ1dGlvbiwgdGhlbiBhbnkgRGVyaXZhdGl2ZSBXb3JrcyB0aGF0IFlvdSBkaXN0cmlidXRlIG11c3QKKyAgICAgICAgICBpbmNsdWRlIGEgcmVhZGFibGUgY29weSBvZiB0aGUgYXR0cmlidXRpb24gbm90aWNlcyBjb250YWluZWQKKyAgICAgICAgICB3aXRoaW4gc3VjaCBOT1RJQ0UgZmlsZSwgZXhjbHVkaW5nIHRob3NlIG5vdGljZXMgdGhhdCBkbyBub3QKKyAgICAgICAgICBwZXJ0YWluIHRvIGFueSBwYXJ0IG9mIHRoZSBEZXJpdmF0aXZlIFdvcmtzLCBpbiBhdCBsZWFzdCBvbmUKKyAgICAgICAgICBvZiB0aGUgZm9sbG93aW5nIHBsYWNlczogd2l0aGluIGEgTk9USUNFIHRleHQgZmlsZSBkaXN0cmlidXRlZAorICAgICAgICAgIGFzIHBhcnQgb2YgdGhlIERlcml2YXRpdmUgV29ya3M7IHdpdGhpbiB0aGUgU291cmNlIGZvcm0gb3IKKyAgICAgICAgICBkb2N1bWVudGF0aW9uLCBpZiBwcm92aWRlZCBhbG9uZyB3aXRoIHRoZSBEZXJpdmF0aXZlIFdvcmtzOyBvciwKKyAgICAgICAgICB3aXRoaW4gYSBkaXNwbGF5IGdlbmVyYXRlZCBieSB0aGUgRGVyaXZhdGl2ZSBXb3JrcywgaWYgYW5kCisgICAgICAgICAgd2hlcmV2ZXIgc3VjaCB0aGlyZC1wYXJ0eSBub3RpY2VzIG5vcm1hbGx5IGFwcGVhci4gVGhlIGNvbnRlbnRzCisgICAgICAgICAgb2YgdGhlIE5PVElDRSBmaWxlIGFyZSBmb3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5IGFuZAorICAgICAgICAgIGRvIG5vdCBtb2RpZnkgdGhlIExpY2Vuc2UuIFlvdSBtYXkgYWRkIFlvdXIgb3duIGF0dHJpYnV0aW9uCisgICAgICAgICAgbm90aWNlcyB3aXRoaW4gRGVyaXZhdGl2ZSBXb3JrcyB0aGF0IFlvdSBkaXN0cmlidXRlLCBhbG9uZ3NpZGUKKyAgICAgICAgICBvciBhcyBhbiBhZGRlbmR1bSB0byB0aGUgTk9USUNFIHRleHQgZnJvbSB0aGUgV29yaywgcHJvdmlkZWQKKyAgICAgICAgICB0aGF0IHN1Y2ggYWRkaXRpb25hbCBhdHRyaWJ1dGlvbiBub3RpY2VzIGNhbm5vdCBiZSBjb25zdHJ1ZWQKKyAgICAgICAgICBhcyBtb2RpZnlpbmcgdGhlIExpY2Vuc2UuCisKKyAgICAgIFlvdSBtYXkgYWRkIFlvdXIgb3duIGNvcHlyaWdodCBzdGF0ZW1lbnQgdG8gWW91ciBtb2RpZmljYXRpb25zIGFuZAorICAgICAgbWF5IHByb3ZpZGUgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQgbGljZW5zZSB0ZXJtcyBhbmQgY29uZGl0aW9ucworICAgICAgZm9yIHVzZSwgcmVwcm9kdWN0aW9uLCBvciBkaXN0cmlidXRpb24gb2YgWW91ciBtb2RpZmljYXRpb25zLCBvcgorICAgICAgZm9yIGFueSBzdWNoIERlcml2YXRpdmUgV29ya3MgYXMgYSB3aG9sZSwgcHJvdmlkZWQgWW91ciB1c2UsCisgICAgICByZXByb2R1Y3Rpb24sIGFuZCBkaXN0cmlidXRpb24gb2YgdGhlIFdvcmsgb3RoZXJ3aXNlIGNvbXBsaWVzIHdpdGgKKyAgICAgIHRoZSBjb25kaXRpb25zIHN0YXRlZCBpbiB0aGlzIExpY2Vuc2UuCisKKyAgIDUuIFN1Ym1pc3Npb24gb2YgQ29udHJpYnV0aW9ucy4gVW5sZXNzIFlvdSBleHBsaWNpdGx5IHN0YXRlIG90aGVyd2lzZSwKKyAgICAgIGFueSBDb250cmlidXRpb24gaW50ZW50aW9uYWxseSBzdWJtaXR0ZWQgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yaworICAgICAgYnkgWW91IHRvIHRoZSBMaWNlbnNvciBzaGFsbCBiZSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YKKyAgICAgIHRoaXMgTGljZW5zZSwgd2l0aG91dCBhbnkgYWRkaXRpb25hbCB0ZXJtcyBvciBjb25kaXRpb25zLgorICAgICAgTm90d2l0aHN0YW5kaW5nIHRoZSBhYm92ZSwgbm90aGluZyBoZXJlaW4gc2hhbGwgc3VwZXJzZWRlIG9yIG1vZGlmeQorICAgICAgdGhlIHRlcm1zIG9mIGFueSBzZXBhcmF0ZSBsaWNlbnNlIGFncmVlbWVudCB5b3UgbWF5IGhhdmUgZXhlY3V0ZWQKKyAgICAgIHdpdGggTGljZW5zb3IgcmVnYXJkaW5nIHN1Y2ggQ29udHJpYnV0aW9ucy4KKworICAgNi4gVHJhZGVtYXJrcy4gVGhpcyBMaWNlbnNlIGRvZXMgbm90IGdyYW50IHBlcm1pc3Npb24gdG8gdXNlIHRoZSB0cmFkZQorICAgICAgbmFtZXMsIHRyYWRlbWFya3MsIHNlcnZpY2UgbWFya3MsIG9yIHByb2R1Y3QgbmFtZXMgb2YgdGhlIExpY2Vuc29yLAorICAgICAgZXhjZXB0IGFzIHJlcXVpcmVkIGZvciByZWFzb25hYmxlIGFuZCBjdXN0b21hcnkgdXNlIGluIGRlc2NyaWJpbmcgdGhlCisgICAgICBvcmlnaW4gb2YgdGhlIFdvcmsgYW5kIHJlcHJvZHVjaW5nIHRoZSBjb250ZW50IG9mIHRoZSBOT1RJQ0UgZmlsZS4KKworICAgNy4gRGlzY2xhaW1lciBvZiBXYXJyYW50eS4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yCisgICAgICBhZ3JlZWQgdG8gaW4gd3JpdGluZywgTGljZW5zb3IgcHJvdmlkZXMgdGhlIFdvcmsgKGFuZCBlYWNoCisgICAgICBDb250cmlidXRvciBwcm92aWRlcyBpdHMgQ29udHJpYnV0aW9ucykgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvcgorICAgICAgaW1wbGllZCwgaW5jbHVkaW5nLCB3aXRob3V0IGxpbWl0YXRpb24sIGFueSB3YXJyYW50aWVzIG9yIGNvbmRpdGlvbnMKKyAgICAgIG9mIFRJVExFLCBOT04tSU5GUklOR0VNRU5ULCBNRVJDSEFOVEFCSUxJVFksIG9yIEZJVE5FU1MgRk9SIEEKKyAgICAgIFBBUlRJQ1VMQVIgUFVSUE9TRS4gWW91IGFyZSBzb2xlbHkgcmVzcG9uc2libGUgZm9yIGRldGVybWluaW5nIHRoZQorICAgICAgYXBwcm9wcmlhdGVuZXNzIG9mIHVzaW5nIG9yIHJlZGlzdHJpYnV0aW5nIHRoZSBXb3JrIGFuZCBhc3N1bWUgYW55CisgICAgICByaXNrcyBhc3NvY2lhdGVkIHdpdGggWW91ciBleGVyY2lzZSBvZiBwZXJtaXNzaW9ucyB1bmRlciB0aGlzIExpY2Vuc2UuCisKKyAgIDguIExpbWl0YXRpb24gb2YgTGlhYmlsaXR5LiBJbiBubyBldmVudCBhbmQgdW5kZXIgbm8gbGVnYWwgdGhlb3J5LAorICAgICAgd2hldGhlciBpbiB0b3J0IChpbmNsdWRpbmcgbmVnbGlnZW5jZSksIGNvbnRyYWN0LCBvciBvdGhlcndpc2UsCisgICAgICB1bmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgKHN1Y2ggYXMgZGVsaWJlcmF0ZSBhbmQgZ3Jvc3NseQorICAgICAgbmVnbGlnZW50IGFjdHMpIG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzaGFsbCBhbnkgQ29udHJpYnV0b3IgYmUKKyAgICAgIGxpYWJsZSB0byBZb3UgZm9yIGRhbWFnZXMsIGluY2x1ZGluZyBhbnkgZGlyZWN0LCBpbmRpcmVjdCwgc3BlY2lhbCwKKyAgICAgIGluY2lkZW50YWwsIG9yIGNvbnNlcXVlbnRpYWwgZGFtYWdlcyBvZiBhbnkgY2hhcmFjdGVyIGFyaXNpbmcgYXMgYQorICAgICAgcmVzdWx0IG9mIHRoaXMgTGljZW5zZSBvciBvdXQgb2YgdGhlIHVzZSBvciBpbmFiaWxpdHkgdG8gdXNlIHRoZQorICAgICAgV29yayAoaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBkYW1hZ2VzIGZvciBsb3NzIG9mIGdvb2R3aWxsLAorICAgICAgd29yayBzdG9wcGFnZSwgY29tcHV0ZXIgZmFpbHVyZSBvciBtYWxmdW5jdGlvbiwgb3IgYW55IGFuZCBhbGwKKyAgICAgIG90aGVyIGNvbW1lcmNpYWwgZGFtYWdlcyBvciBsb3NzZXMpLCBldmVuIGlmIHN1Y2ggQ29udHJpYnV0b3IKKyAgICAgIGhhcyBiZWVuIGFkdmlzZWQgb2YgdGhlIHBvc3NpYmlsaXR5IG9mIHN1Y2ggZGFtYWdlcy4KKworICAgOS4gQWNjZXB0aW5nIFdhcnJhbnR5IG9yIEFkZGl0aW9uYWwgTGlhYmlsaXR5LiBXaGlsZSByZWRpc3RyaWJ1dGluZworICAgICAgdGhlIFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLCBZb3UgbWF5IGNob29zZSB0byBvZmZlciwKKyAgICAgIGFuZCBjaGFyZ2UgYSBmZWUgZm9yLCBhY2NlcHRhbmNlIG9mIHN1cHBvcnQsIHdhcnJhbnR5LCBpbmRlbW5pdHksCisgICAgICBvciBvdGhlciBsaWFiaWxpdHkgb2JsaWdhdGlvbnMgYW5kL29yIHJpZ2h0cyBjb25zaXN0ZW50IHdpdGggdGhpcworICAgICAgTGljZW5zZS4gSG93ZXZlciwgaW4gYWNjZXB0aW5nIHN1Y2ggb2JsaWdhdGlvbnMsIFlvdSBtYXkgYWN0IG9ubHkKKyAgICAgIG9uIFlvdXIgb3duIGJlaGFsZiBhbmQgb24gWW91ciBzb2xlIHJlc3BvbnNpYmlsaXR5LCBub3Qgb24gYmVoYWxmCisgICAgICBvZiBhbnkgb3RoZXIgQ29udHJpYnV0b3IsIGFuZCBvbmx5IGlmIFlvdSBhZ3JlZSB0byBpbmRlbW5pZnksCisgICAgICBkZWZlbmQsIGFuZCBob2xkIGVhY2ggQ29udHJpYnV0b3IgaGFybWxlc3MgZm9yIGFueSBsaWFiaWxpdHkKKyAgICAgIGluY3VycmVkIGJ5LCBvciBjbGFpbXMgYXNzZXJ0ZWQgYWdhaW5zdCwgc3VjaCBDb250cmlidXRvciBieSByZWFzb24KKyAgICAgIG9mIHlvdXIgYWNjZXB0aW5nIGFueSBzdWNoIHdhcnJhbnR5IG9yIGFkZGl0aW9uYWwgbGlhYmlsaXR5LgorCisgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKKworICAgQVBQRU5ESVg6IEhvdyB0byBhcHBseSB0aGUgQXBhY2hlIExpY2Vuc2UgdG8geW91ciB3b3JrLgorCisgICAgICBUbyBhcHBseSB0aGUgQXBhY2hlIExpY2Vuc2UgdG8geW91ciB3b3JrLCBhdHRhY2ggdGhlIGZvbGxvd2luZworICAgICAgYm9pbGVycGxhdGUgbm90aWNlLCB3aXRoIHRoZSBmaWVsZHMgZW5jbG9zZWQgYnkgYnJhY2tldHMgIltdIgorICAgICAgcmVwbGFjZWQgd2l0aCB5b3VyIG93biBpZGVudGlmeWluZyBpbmZvcm1hdGlvbi4gKERvbid0IGluY2x1ZGUKKyAgICAgIHRoZSBicmFja2V0cyEpICBUaGUgdGV4dCBzaG91bGQgYmUgZW5jbG9zZWQgaW4gdGhlIGFwcHJvcHJpYXRlCisgICAgICBjb21tZW50IHN5bnRheCBmb3IgdGhlIGZpbGUgZm9ybWF0LiBXZSBhbHNvIHJlY29tbWVuZCB0aGF0IGEKKyAgICAgIGZpbGUgb3IgY2xhc3MgbmFtZSBhbmQgZGVzY3JpcHRpb24gb2YgcHVycG9zZSBiZSBpbmNsdWRlZCBvbiB0aGUKKyAgICAgIHNhbWUgInByaW50ZWQgcGFnZSIgYXMgdGhlIGNvcHlyaWdodCBub3RpY2UgZm9yIGVhc2llcgorICAgICAgaWRlbnRpZmljYXRpb24gd2l0aGluIHRoaXJkLXBhcnR5IGFyY2hpdmVzLgorCisgICBDb3B5cmlnaHQgW3l5eXldIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0KKworICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KZGlmZiAtLWdpdCBhL3BhY2thZ2VzL1Jlc3RTaGFycC4xMDQuMS9SZXN0U2hhcnAuMTA0LjEubnVzcGVjIGIvcGFja2FnZXMvUmVzdFNoYXJwLjEwNC4xL1Jlc3RTaGFycC4xMDQuMS5udXNwZWMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmEwM2VkMwotLS0gL2Rldi9udWxsCisrKyBiL3BhY2thZ2VzL1Jlc3RTaGFycC4xMDQuMS9SZXN0U2hhcnAuMTA0LjEubnVzcGVjCkBAIC0wLDAgKzEsMjQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHBhY2thZ2UgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vcGFja2FnaW5nLzIwMTEvMDgvbnVzcGVjLnhzZCI+CisgIDxtZXRhZGF0YT4KKyAgICA8aWQ+UmVzdFNoYXJwPC9pZD4KKyAgICA8dmVyc2lvbj4xMDQuMTwvdmVyc2lvbj4KKyAgICA8dGl0bGU+UmVzdFNoYXJwPC90aXRsZT4KKyAgICA8YXV0aG9ycz5Kb2huIFNoZWVoYW4sICBSZXN0U2hhcnAgQ29tbXVuaXR5PC9hdXRob3JzPgorICAgIDxvd25lcnM+Sm9obiBTaGVlaGFuLCAgUmVzdFNoYXJwIENvbW11bml0eTwvb3duZXJzPgorICAgIDxsaWNlbnNlVXJsPmh0dHBzOi8vZ2l0aHViLmNvbS9yZXN0c2hhcnAvUmVzdFNoYXJwL2Jsb2IvbWFzdGVyL0xJQ0VOU0UudHh0PC9saWNlbnNlVXJsPgorICAgIDxwcm9qZWN0VXJsPmh0dHA6Ly9yZXN0c2hhcnAub3JnLzwvcHJvamVjdFVybD4KKyAgICA8aWNvblVybD5odHRwOi8vZGwuZHJvcGJveC5jb20vdS8xODI3L3Jlc3RzaGFycDEwMC5wbmc8L2ljb25Vcmw+CisgICAgPHJlcXVpcmVMaWNlbnNlQWNjZXB0YW5jZT5mYWxzZTwvcmVxdWlyZUxpY2Vuc2VBY2NlcHRhbmNlPgorICAgIDxkZXNjcmlwdGlvbj5TaW1wbGUgUkVTVCBhbmQgSFRUUCBBUEkgQ2xpZW50PC9kZXNjcmlwdGlvbj4KKyAgICA8cmVsZWFzZU5vdGVzPkZvciBmdWxsIHJlbGVhc2Ugbm90ZXMgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9yZXN0c2hhcnAvUmVzdFNoYXJwL2Jsb2IvbWFzdGVyL3JlbGVhc2Vub3Rlcy5tYXJrZG93bjwvcmVsZWFzZU5vdGVzPgorICAgIDxjb3B5cmlnaHQgLz4KKyAgICA8bGFuZ3VhZ2U+ZW4tVVM8L2xhbmd1YWdlPgorICAgIDx0YWdzPlJFU1QgSFRUUCBBUEkgSlNPTiBYTUw8L3RhZ3M+CisgICAgPHJlZmVyZW5jZXM+CisgICAgICA8cmVmZXJlbmNlIGZpbGU9IlJlc3RTaGFycC5kbGwiIC8+CisgICAgICA8cmVmZXJlbmNlIGZpbGU9IlJlc3RTaGFycC5XaW5kb3dzUGhvbmUuZGxsIiAvPgorICAgICAgPHJlZmVyZW5jZSBmaWxlPSJSZXN0U2hhcnAuU2lsdmVybGlnaHQuZGxsIiAvPgorICAgIDwvcmVmZXJlbmNlcz4KKyAgPC9tZXRhZGF0YT4KKzwvcGFja2FnZT4KZGlmZiAtLWdpdCBhL3BhY2thZ2VzL3JlcG9zaXRvcmllcy5jb25maWcgYi9wYWNrYWdlcy9yZXBvc2l0b3JpZXMuY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjZjNhODUKLS0tIC9kZXYvbnVsbAorKysgYi9wYWNrYWdlcy9yZXBvc2l0b3JpZXMuY29uZmlnCkBAIC0wLDAgKzEsMjIgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8IS0tCisgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorLS0+Cis8cmVwb3NpdG9yaWVzPgorICA8cmVwb3NpdG9yeSBwYXRoPSIuLlxTZGsuVGVzdFxwYWNrYWdlcy5jb25maWciIC8+CisgIDxyZXBvc2l0b3J5IHBhdGg9Ii4uXFNka1xwYWNrYWdlcy5jb25maWciIC8+CisgIDxyZXBvc2l0b3J5IHBhdGg9Ii4uXFVzZXJncmlkLlNkay5JbnRlZ3JhdGlvblRlc3RzXHBhY2thZ2VzLmNvbmZpZyIgLz4KKzwvcmVwb3NpdG9yaWVzPgpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9SRUFETUUubWQgYi9zYW1wbGVzL1JFQURNRS5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYWI0ZGZmCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9SRUFETUUubWQKQEAgLTAsMCArMSBAQAorI3NhbXBsZXMgZGlyZWN0b3J5ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9Mb2NhdGlvbkRvdE5ldFNhbXBsZS5zbG4gYi9zYW1wbGVzL2xvY2F0aW9uU2FtcGxlL0xvY2F0aW9uRG90TmV0U2FtcGxlLnNsbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNGE5NDMwCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9Mb2NhdGlvbkRvdE5ldFNhbXBsZS5zbG4KQEAgLTAsMCArMSwzNiBAQAor77u/IyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyMgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisjIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyMgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyMgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyMgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyMKKyMgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorIworIyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisjIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisjIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisjIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCitNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyBTb2x1dGlvbiBGaWxlLCBGb3JtYXQgVmVyc2lvbiAxMi4wMAorIyBWaXN1YWwgU3R1ZGlvIDIwMTMKK1Zpc3VhbFN0dWRpb1ZlcnNpb24gPSAxMi4wLjIwODI3LjMKK01pbmltdW1WaXN1YWxTdHVkaW9WZXJzaW9uID0gMTAuMC40MDIxOS4xCitQcm9qZWN0KCJ7RkFFMDRFQzAtMzAxRi0xMUQzLUJGNEItMDBDMDRGNzlFRkJDfSIpID0gIkxvY2F0aW9uRG90TmV0U2FtcGxlIiwgIkxvY2F0aW9uRG90TmV0U2FtcGxlXExvY2F0aW9uRG90TmV0U2FtcGxlLmNzcHJvaiIsICJ7NkY4MzA2MzktNkU4NC00RkJDLUI5NzUtNDk1MjFGMzBERTgzfSIKK0VuZFByb2plY3QKK0dsb2JhbAorCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Db25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHByZVNvbHV0aW9uCisJCURlYnVnfEFueSBDUFUgPSBEZWJ1Z3xBbnkgQ1BVCisJCVJlbGVhc2V8QW55IENQVSA9IFJlbGVhc2V8QW55IENQVQorCUVuZEdsb2JhbFNlY3Rpb24KKwlHbG9iYWxTZWN0aW9uKFByb2plY3RDb25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHBvc3RTb2x1dGlvbgorCQl7NkY4MzA2MzktNkU4NC00RkJDLUI5NzUtNDk1MjFGMzBERTgzfS5EZWJ1Z3xBbnkgQ1BVLkFjdGl2ZUNmZyA9IERlYnVnfEFueSBDUFUKKwkJezZGODMwNjM5LTZFODQtNEZCQy1COTc1LTQ5NTIxRjMwREU4M30uRGVidWd8QW55IENQVS5CdWlsZC4wID0gRGVidWd8QW55IENQVQorCQl7NkY4MzA2MzktNkU4NC00RkJDLUI5NzUtNDk1MjFGMzBERTgzfS5SZWxlYXNlfEFueSBDUFUuQWN0aXZlQ2ZnID0gUmVsZWFzZXxBbnkgQ1BVCisJCXs2RjgzMDYzOS02RTg0LTRGQkMtQjk3NS00OTUyMUYzMERFODN9LlJlbGVhc2V8QW55IENQVS5CdWlsZC4wID0gUmVsZWFzZXxBbnkgQ1BVCisJRW5kR2xvYmFsU2VjdGlvbgorCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Qcm9wZXJ0aWVzKSA9IHByZVNvbHV0aW9uCisJCUhpZGVTb2x1dGlvbk5vZGUgPSBGQUxTRQorCUVuZEdsb2JhbFNlY3Rpb24KK0VuZEdsb2JhbApkaWZmIC0tZ2l0IGEvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9Mb2NhdGlvbkRvdE5ldFNhbXBsZS9BcHAuY29uZmlnIGIvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9Mb2NhdGlvbkRvdE5ldFNhbXBsZS9BcHAuY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkZWE4MzkKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL2xvY2F0aW9uU2FtcGxlL0xvY2F0aW9uRG90TmV0U2FtcGxlL0FwcC5jb25maWcKQEAgLTAsMCArMSwyMiBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiID8+Cis8IS0tCisgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorLS0+Cis8Y29uZmlndXJhdGlvbj4KKyAgICA8c3RhcnR1cD4gCisgICAgICAgIDxzdXBwb3J0ZWRSdW50aW1lIHZlcnNpb249InY0LjAiIHNrdT0iLk5FVEZyYW1ld29yayxWZXJzaW9uPXY0LjUiIC8+CisgICAgPC9zdGFydHVwPgorPC9jb25maWd1cmF0aW9uPgpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9Mb2NhdGlvbkRvdE5ldFNhbXBsZS9Gb3JtMS5EZXNpZ25lci5jcyBiL3NhbXBsZXMvbG9jYXRpb25TYW1wbGUvTG9jYXRpb25Eb3ROZXRTYW1wbGUvRm9ybTEuRGVzaWduZXIuY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWU4MzY5NAotLS0gL2Rldi9udWxsCisrKyBiL3NhbXBsZXMvbG9jYXRpb25TYW1wbGUvTG9jYXRpb25Eb3ROZXRTYW1wbGUvRm9ybTEuRGVzaWduZXIuY3MKQEAgLTAsMCArMSwyNjkgQEAKK++7vy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCituYW1lc3BhY2UgTG9jYXRpb25Eb3ROZXRTYW1wbGUKK3sKKyAgICBwYXJ0aWFsIGNsYXNzIEZvcm0xCisgICAgeworICAgICAgICAvLy8gPHN1bW1hcnk+CisgICAgICAgIC8vLyBSZXF1aXJlZCBkZXNpZ25lciB2YXJpYWJsZS4KKyAgICAgICAgLy8vIDwvc3VtbWFyeT4KKyAgICAgICAgcHJpdmF0ZSBTeXN0ZW0uQ29tcG9uZW50TW9kZWwuSUNvbnRhaW5lciBjb21wb25lbnRzID0gbnVsbDsKKworICAgICAgICAvLy8gPHN1bW1hcnk+CisgICAgICAgIC8vLyBDbGVhbiB1cCBhbnkgcmVzb3VyY2VzIGJlaW5nIHVzZWQuCisgICAgICAgIC8vLyA8L3N1bW1hcnk+CisgICAgICAgIC8vLyA8cGFyYW0gbmFtZT0iZGlzcG9zaW5nIj50cnVlIGlmIG1hbmFnZWQgcmVzb3VyY2VzIHNob3VsZCBiZSBkaXNwb3NlZDsgb3RoZXJ3aXNlLCBmYWxzZS48L3BhcmFtPgorICAgICAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdm9pZCBEaXNwb3NlKGJvb2wgZGlzcG9zaW5nKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoZGlzcG9zaW5nICYmIChjb21wb25lbnRzICE9IG51bGwpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbXBvbmVudHMuRGlzcG9zZSgpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYmFzZS5EaXNwb3NlKGRpc3Bvc2luZyk7CisgICAgICAgIH0KKworICAgICAgICAjcmVnaW9uIFdpbmRvd3MgRm9ybSBEZXNpZ25lciBnZW5lcmF0ZWQgY29kZQorCisgICAgICAgIC8vLyA8c3VtbWFyeT4KKyAgICAgICAgLy8vIFJlcXVpcmVkIG1ldGhvZCBmb3IgRGVzaWduZXIgc3VwcG9ydCAtIGRvIG5vdCBtb2RpZnkKKyAgICAgICAgLy8vIHRoZSBjb250ZW50cyBvZiB0aGlzIG1ldGhvZCB3aXRoIHRoZSBjb2RlIGVkaXRvci4KKyAgICAgICAgLy8vIDwvc3VtbWFyeT4KKyAgICAgICAgcHJpdmF0ZSB2b2lkIEluaXRpYWxpemVDb21wb25lbnQoKQorICAgICAgICB7CisgICAgICAgICAgICB0aGlzLmdNYXAgPSBuZXcgR01hcC5ORVQuV2luZG93c0Zvcm1zLkdNYXBDb250cm9sKCk7CisgICAgICAgICAgICB0aGlzLmxhYmVsMSA9IG5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MYWJlbCgpOworICAgICAgICAgICAgdGhpcy5sYWJlbDIgPSBuZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuTGFiZWwoKTsKKyAgICAgICAgICAgIHRoaXMudHh0U3RyZWV0QWRkcmVzcyA9IG5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5UZXh0Qm94KCk7CisgICAgICAgICAgICB0aGlzLmxhYmVsMyA9IG5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MYWJlbCgpOworICAgICAgICAgICAgdGhpcy50eHRDaXR5ID0gbmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLlRleHRCb3goKTsKKyAgICAgICAgICAgIHRoaXMubGFiZWw0ID0gbmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxhYmVsKCk7CisgICAgICAgICAgICB0aGlzLnR4dFN0YXRlID0gbmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLlRleHRCb3goKTsKKyAgICAgICAgICAgIHRoaXMubGFiZWw1ID0gbmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxhYmVsKCk7CisgICAgICAgICAgICB0aGlzLmJ0blN1Ym1pdCA9IG5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5CdXR0b24oKTsKKyAgICAgICAgICAgIHRoaXMubGFiZWw2ID0gbmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxhYmVsKCk7CisgICAgICAgICAgICB0aGlzLnR4dFppcCA9IG5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5UZXh0Qm94KCk7CisgICAgICAgICAgICB0aGlzLmxhYmVsNyA9IG5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MYWJlbCgpOworICAgICAgICAgICAgdGhpcy5zdG9yZUxpc3QgPSBuZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdEJveCgpOworICAgICAgICAgICAgdGhpcy5sYWJlbDggPSBuZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuTGFiZWwoKTsKKyAgICAgICAgICAgIHRoaXMudHh0U3RvcmVEZXRhaWxzID0gbmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxhYmVsKCk7CisgICAgICAgICAgICB0aGlzLlN1c3BlbmRMYXlvdXQoKTsKKyAgICAgICAgICAgIC8vIAorICAgICAgICAgICAgLy8gZ01hcAorICAgICAgICAgICAgLy8gCisgICAgICAgICAgICB0aGlzLmdNYXAuQmVhcmluZyA9IDBGOworICAgICAgICAgICAgdGhpcy5nTWFwLkNhbkRyYWdNYXAgPSB0cnVlOworICAgICAgICAgICAgdGhpcy5nTWFwLkdyYXlTY2FsZU1vZGUgPSBmYWxzZTsKKyAgICAgICAgICAgIHRoaXMuZ01hcC5MZXZlbHNLZWVwSW5NZW1tb3J5ID0gNTsKKyAgICAgICAgICAgIHRoaXMuZ01hcC5Mb2NhdGlvbiA9IG5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCgwLCAwKTsKKyAgICAgICAgICAgIHRoaXMuZ01hcC5NYXJrZXJzRW5hYmxlZCA9IHRydWU7CisgICAgICAgICAgICB0aGlzLmdNYXAuTWF4Wm9vbSA9IDE4OworICAgICAgICAgICAgdGhpcy5nTWFwLk1pblpvb20gPSAyOworICAgICAgICAgICAgdGhpcy5nTWFwLk1vdXNlV2hlZWxab29tVHlwZSA9IEdNYXAuTkVULk1vdXNlV2hlZWxab29tVHlwZS5Nb3VzZVBvc2l0aW9uQW5kQ2VudGVyOworICAgICAgICAgICAgdGhpcy5nTWFwLk5hbWUgPSAiZ01hcCI7CisgICAgICAgICAgICB0aGlzLmdNYXAuTmVnYXRpdmVNb2RlID0gZmFsc2U7CisgICAgICAgICAgICB0aGlzLmdNYXAuUG9seWdvbnNFbmFibGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIHRoaXMuZ01hcC5SZXRyeUxvYWRUaWxlID0gMDsKKyAgICAgICAgICAgIHRoaXMuZ01hcC5Sb3V0ZXNFbmFibGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIHRoaXMuZ01hcC5TaG93VGlsZUdyaWRMaW5lcyA9IGZhbHNlOworICAgICAgICAgICAgdGhpcy5nTWFwLlNpemUgPSBuZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSg4MzEsIDY2NSk7CisgICAgICAgICAgICB0aGlzLmdNYXAuVGFiSW5kZXggPSAwOworICAgICAgICAgICAgdGhpcy5nTWFwLlpvb20gPSAxMUQ7CisgICAgICAgICAgICAvLyAKKyAgICAgICAgICAgIC8vIGxhYmVsMQorICAgICAgICAgICAgLy8gCisgICAgICAgICAgICB0aGlzLmxhYmVsMS5BdXRvU2l6ZSA9IHRydWU7CisgICAgICAgICAgICB0aGlzLmxhYmVsMS5Gb250ID0gbmV3IFN5c3RlbS5EcmF3aW5nLkZvbnQoIk1pY3Jvc29mdCBTYW5zIFNlcmlmIiwgMTJGLCBTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUuUmVndWxhciwgU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0LlBvaW50LCAoKGJ5dGUpKDApKSk7CisgICAgICAgICAgICB0aGlzLmxhYmVsMS5Mb2NhdGlvbiA9IG5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCg5NzEsIDIyKTsKKyAgICAgICAgICAgIHRoaXMubGFiZWwxLk5hbWUgPSAibGFiZWwxIjsKKyAgICAgICAgICAgIHRoaXMubGFiZWwxLlNpemUgPSBuZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSg4NSwgMjUpOworICAgICAgICAgICAgdGhpcy5sYWJlbDEuVGFiSW5kZXggPSAxOworICAgICAgICAgICAgdGhpcy5sYWJlbDEuVGV4dCA9ICJBZGRyZXNzIjsKKyAgICAgICAgICAgIC8vIAorICAgICAgICAgICAgLy8gbGFiZWwyCisgICAgICAgICAgICAvLyAKKyAgICAgICAgICAgIHRoaXMubGFiZWwyLkF1dG9TaXplID0gdHJ1ZTsKKyAgICAgICAgICAgIHRoaXMubGFiZWwyLkZvbnQgPSBuZXcgU3lzdGVtLkRyYXdpbmcuRm9udCgiTWljcm9zb2Z0IFNhbnMgU2VyaWYiLCAxMC4yRiwgU3lzdGVtLkRyYXdpbmcuRm9udFN0eWxlLlJlZ3VsYXIsIFN5c3RlbS5EcmF3aW5nLkdyYXBoaWNzVW5pdC5Qb2ludCwgKChieXRlKSgwKSkpOworICAgICAgICAgICAgdGhpcy5sYWJlbDIuTG9jYXRpb24gPSBuZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoODM3LCA3NSk7CisgICAgICAgICAgICB0aGlzLmxhYmVsMi5OYW1lID0gImxhYmVsMiI7CisgICAgICAgICAgICB0aGlzLmxhYmVsMi5TaXplID0gbmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoMTIxLCAyMCk7CisgICAgICAgICAgICB0aGlzLmxhYmVsMi5UYWJJbmRleCA9IDI7CisgICAgICAgICAgICB0aGlzLmxhYmVsMi5UZXh0ID0gIlN0cmVldCBBZGRyZXNzIjsKKyAgICAgICAgICAgIC8vIAorICAgICAgICAgICAgLy8gdHh0U3RyZWV0QWRkcmVzcworICAgICAgICAgICAgLy8gCisgICAgICAgICAgICB0aGlzLnR4dFN0cmVldEFkZHJlc3MuTG9jYXRpb24gPSBuZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoOTc2LCA3NSk7CisgICAgICAgICAgICB0aGlzLnR4dFN0cmVldEFkZHJlc3MuTmFtZSA9ICJ0eHRTdHJlZXRBZGRyZXNzIjsKKyAgICAgICAgICAgIHRoaXMudHh0U3RyZWV0QWRkcmVzcy5TaXplID0gbmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoMjkxLCAyMik7CisgICAgICAgICAgICB0aGlzLnR4dFN0cmVldEFkZHJlc3MuVGFiSW5kZXggPSAzOworICAgICAgICAgICAgLy8gCisgICAgICAgICAgICAvLyBsYWJlbDMKKyAgICAgICAgICAgIC8vIAorICAgICAgICAgICAgdGhpcy5sYWJlbDMuQXV0b1NpemUgPSB0cnVlOworICAgICAgICAgICAgdGhpcy5sYWJlbDMuRm9udCA9IG5ldyBTeXN0ZW0uRHJhd2luZy5Gb250KCJNaWNyb3NvZnQgU2FucyBTZXJpZiIsIDEwLjJGLCBTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUuUmVndWxhciwgU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0LlBvaW50LCAoKGJ5dGUpKDApKSk7CisgICAgICAgICAgICB0aGlzLmxhYmVsMy5Mb2NhdGlvbiA9IG5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCg4NDEsIDEyMSk7CisgICAgICAgICAgICB0aGlzLmxhYmVsMy5OYW1lID0gImxhYmVsMyI7CisgICAgICAgICAgICB0aGlzLmxhYmVsMy5TaXplID0gbmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoMzgsIDIwKTsKKyAgICAgICAgICAgIHRoaXMubGFiZWwzLlRhYkluZGV4ID0gNDsKKyAgICAgICAgICAgIHRoaXMubGFiZWwzLlRleHQgPSAiQ2l0eSI7CisgICAgICAgICAgICAvLyAKKyAgICAgICAgICAgIC8vIHR4dENpdHkKKyAgICAgICAgICAgIC8vIAorICAgICAgICAgICAgdGhpcy50eHRDaXR5LkxvY2F0aW9uID0gbmV3IFN5c3RlbS5EcmF3aW5nLlBvaW50KDk3NiwgMTIxKTsKKyAgICAgICAgICAgIHRoaXMudHh0Q2l0eS5OYW1lID0gInR4dENpdHkiOworICAgICAgICAgICAgdGhpcy50eHRDaXR5LlNpemUgPSBuZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSgyNzgsIDIyKTsKKyAgICAgICAgICAgIHRoaXMudHh0Q2l0eS5UYWJJbmRleCA9IDU7CisgICAgICAgICAgICAvLyAKKyAgICAgICAgICAgIC8vIGxhYmVsNAorICAgICAgICAgICAgLy8gCisgICAgICAgICAgICB0aGlzLmxhYmVsNC5BdXRvU2l6ZSA9IHRydWU7CisgICAgICAgICAgICB0aGlzLmxhYmVsNC5Gb250ID0gbmV3IFN5c3RlbS5EcmF3aW5nLkZvbnQoIk1pY3Jvc29mdCBTYW5zIFNlcmlmIiwgMTAuMkYsIFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZS5SZWd1bGFyLCBTeXN0ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQuUG9pbnQsICgoYnl0ZSkoMCkpKTsKKyAgICAgICAgICAgIHRoaXMubGFiZWw0LkxvY2F0aW9uID0gbmV3IFN5c3RlbS5EcmF3aW5nLlBvaW50KDg0MSwgMTcyKTsKKyAgICAgICAgICAgIHRoaXMubGFiZWw0Lk5hbWUgPSAibGFiZWw0IjsKKyAgICAgICAgICAgIHRoaXMubGFiZWw0LlNpemUgPSBuZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSg0OCwgMjApOworICAgICAgICAgICAgdGhpcy5sYWJlbDQuVGFiSW5kZXggPSA2OworICAgICAgICAgICAgdGhpcy5sYWJlbDQuVGV4dCA9ICJTdGF0ZSI7CisgICAgICAgICAgICAvLyAKKyAgICAgICAgICAgIC8vIHR4dFN0YXRlCisgICAgICAgICAgICAvLyAKKyAgICAgICAgICAgIHRoaXMudHh0U3RhdGUuTG9jYXRpb24gPSBuZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoOTc2LCAxNzIpOworICAgICAgICAgICAgdGhpcy50eHRTdGF0ZS5OYW1lID0gInR4dFN0YXRlIjsKKyAgICAgICAgICAgIHRoaXMudHh0U3RhdGUuU2l6ZSA9IG5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDI3OCwgMjIpOworICAgICAgICAgICAgdGhpcy50eHRTdGF0ZS5UYWJJbmRleCA9IDc7CisgICAgICAgICAgICAvLyAKKyAgICAgICAgICAgIC8vIGxhYmVsNQorICAgICAgICAgICAgLy8gCisgICAgICAgICAgICB0aGlzLmxhYmVsNS5BdXRvU2l6ZSA9IHRydWU7CisgICAgICAgICAgICB0aGlzLmxhYmVsNS5Gb250ID0gbmV3IFN5c3RlbS5EcmF3aW5nLkZvbnQoIk1pY3Jvc29mdCBTYW5zIFNlcmlmIiwgMTAuMkYsIFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZS5SZWd1bGFyLCBTeXN0ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQuUG9pbnQsICgoYnl0ZSkoMCkpKTsKKyAgICAgICAgICAgIHRoaXMubGFiZWw1LkxvY2F0aW9uID0gbmV3IFN5c3RlbS5EcmF3aW5nLlBvaW50KDg0NSwgMjE3KTsKKyAgICAgICAgICAgIHRoaXMubGFiZWw1Lk5hbWUgPSAibGFiZWw1IjsKKyAgICAgICAgICAgIHRoaXMubGFiZWw1LlNpemUgPSBuZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSgwLCAyMCk7CisgICAgICAgICAgICB0aGlzLmxhYmVsNS5UYWJJbmRleCA9IDg7CisgICAgICAgICAgICAvLyAKKyAgICAgICAgICAgIC8vIGJ0blN1Ym1pdAorICAgICAgICAgICAgLy8gCisgICAgICAgICAgICB0aGlzLmJ0blN1Ym1pdC5Gb250ID0gbmV3IFN5c3RlbS5EcmF3aW5nLkZvbnQoIk1pY3Jvc29mdCBTYW5zIFNlcmlmIiwgMTJGLCBTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUuQm9sZCwgU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0LlBvaW50LCAoKGJ5dGUpKDApKSk7CisgICAgICAgICAgICB0aGlzLmJ0blN1Ym1pdC5Mb2NhdGlvbiA9IG5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCgxMTc5LCAyNzUpOworICAgICAgICAgICAgdGhpcy5idG5TdWJtaXQuTmFtZSA9ICJidG5TdWJtaXQiOworICAgICAgICAgICAgdGhpcy5idG5TdWJtaXQuU2l6ZSA9IG5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDg4LCA0Mik7CisgICAgICAgICAgICB0aGlzLmJ0blN1Ym1pdC5UYWJJbmRleCA9IDEwOworICAgICAgICAgICAgdGhpcy5idG5TdWJtaXQuVGV4dCA9ICJTdWJtaXQiOworICAgICAgICAgICAgdGhpcy5idG5TdWJtaXQuVXNlVmlzdWFsU3R5bGVCYWNrQ29sb3IgPSB0cnVlOworICAgICAgICAgICAgdGhpcy5idG5TdWJtaXQuQ2xpY2sgKz0gbmV3IFN5c3RlbS5FdmVudEhhbmRsZXIodGhpcy5idG5TdWJtaXRfQ2xpY2spOworICAgICAgICAgICAgLy8gCisgICAgICAgICAgICAvLyBsYWJlbDYKKyAgICAgICAgICAgIC8vIAorICAgICAgICAgICAgdGhpcy5sYWJlbDYuQXV0b1NpemUgPSB0cnVlOworICAgICAgICAgICAgdGhpcy5sYWJlbDYuTG9jYXRpb24gPSBuZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoODQxLCAyMjYpOworICAgICAgICAgICAgdGhpcy5sYWJlbDYuTmFtZSA9ICJsYWJlbDYiOworICAgICAgICAgICAgdGhpcy5sYWJlbDYuU2l6ZSA9IG5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDY1LCAxNyk7CisgICAgICAgICAgICB0aGlzLmxhYmVsNi5UYWJJbmRleCA9IDExOworICAgICAgICAgICAgdGhpcy5sYWJlbDYuVGV4dCA9ICJaaXAgQ29kZSI7CisgICAgICAgICAgICAvLyAKKyAgICAgICAgICAgIC8vIHR4dFppcAorICAgICAgICAgICAgLy8gCisgICAgICAgICAgICB0aGlzLnR4dFppcC5Mb2NhdGlvbiA9IG5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCg5NzYsIDIyNik7CisgICAgICAgICAgICB0aGlzLnR4dFppcC5OYW1lID0gInR4dFppcCI7CisgICAgICAgICAgICB0aGlzLnR4dFppcC5TaXplID0gbmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoMTQzLCAyMik7CisgICAgICAgICAgICB0aGlzLnR4dFppcC5UYWJJbmRleCA9IDEyOworICAgICAgICAgICAgLy8gCisgICAgICAgICAgICAvLyBsYWJlbDcKKyAgICAgICAgICAgIC8vIAorICAgICAgICAgICAgdGhpcy5sYWJlbDcuQXV0b1NpemUgPSB0cnVlOworICAgICAgICAgICAgdGhpcy5sYWJlbDcuRm9udCA9IG5ldyBTeXN0ZW0uRHJhd2luZy5Gb250KCJNaWNyb3NvZnQgU2FucyBTZXJpZiIsIDEyRiwgU3lzdGVtLkRyYXdpbmcuRm9udFN0eWxlLlJlZ3VsYXIsIFN5c3RlbS5EcmF3aW5nLkdyYXBoaWNzVW5pdC5Qb2ludCwgKChieXRlKSgwKSkpOworICAgICAgICAgICAgdGhpcy5sYWJlbDcuTG9jYXRpb24gPSBuZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoODQ0LCAzMTMpOworICAgICAgICAgICAgdGhpcy5sYWJlbDcuTmFtZSA9ICJsYWJlbDciOworICAgICAgICAgICAgdGhpcy5sYWJlbDcuU2l6ZSA9IG5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDE0OCwgMjUpOworICAgICAgICAgICAgdGhpcy5sYWJlbDcuVGFiSW5kZXggPSAxMzsKKyAgICAgICAgICAgIHRoaXMubGFiZWw3LlRleHQgPSAiU3RvcmUgTG9jYXRpb25zIjsKKyAgICAgICAgICAgIC8vIAorICAgICAgICAgICAgLy8gc3RvcmVMaXN0CisgICAgICAgICAgICAvLyAKKyAgICAgICAgICAgIHRoaXMuc3RvcmVMaXN0LkZvcm1hdHRpbmdFbmFibGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIHRoaXMuc3RvcmVMaXN0Lkl0ZW1IZWlnaHQgPSAxNjsKKyAgICAgICAgICAgIHRoaXMuc3RvcmVMaXN0LkxvY2F0aW9uID0gbmV3IFN5c3RlbS5EcmF3aW5nLlBvaW50KDg0NCwgMzQxKTsKKyAgICAgICAgICAgIHRoaXMuc3RvcmVMaXN0Lk5hbWUgPSAic3RvcmVMaXN0IjsKKyAgICAgICAgICAgIHRoaXMuc3RvcmVMaXN0LlNpemUgPSBuZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSg0NzMsIDEwMCk7CisgICAgICAgICAgICB0aGlzLnN0b3JlTGlzdC5UYWJJbmRleCA9IDE0OworICAgICAgICAgICAgdGhpcy5zdG9yZUxpc3QuU2VsZWN0ZWRJbmRleENoYW5nZWQgKz0gbmV3IFN5c3RlbS5FdmVudEhhbmRsZXIodGhpcy5zdG9yZUxpc3RfU2VsZWN0ZWRJbmRleENoYW5nZWQpOworICAgICAgICAgICAgLy8gCisgICAgICAgICAgICAvLyBsYWJlbDgKKyAgICAgICAgICAgIC8vIAorICAgICAgICAgICAgdGhpcy5sYWJlbDguQXV0b1NpemUgPSB0cnVlOworICAgICAgICAgICAgdGhpcy5sYWJlbDguRm9udCA9IG5ldyBTeXN0ZW0uRHJhd2luZy5Gb250KCJNaWNyb3NvZnQgU2FucyBTZXJpZiIsIDEyRiwgU3lzdGVtLkRyYXdpbmcuRm9udFN0eWxlLlJlZ3VsYXIsIFN5c3RlbS5EcmF3aW5nLkdyYXBoaWNzVW5pdC5Qb2ludCwgKChieXRlKSgwKSkpOworICAgICAgICAgICAgdGhpcy5sYWJlbDguTG9jYXRpb24gPSBuZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoODQ0LCA0NTkpOworICAgICAgICAgICAgdGhpcy5sYWJlbDguTmFtZSA9ICJsYWJlbDgiOworICAgICAgICAgICAgdGhpcy5sYWJlbDguU2l6ZSA9IG5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDEyMywgMjUpOworICAgICAgICAgICAgdGhpcy5sYWJlbDguVGFiSW5kZXggPSAxNTsKKyAgICAgICAgICAgIHRoaXMubGFiZWw4LlRleHQgPSAiU3RvcmUgRGV0YWlscyI7CisgICAgICAgICAgICAvLyAKKyAgICAgICAgICAgIC8vIHR4dFN0b3JlRGV0YWlscworICAgICAgICAgICAgLy8gCisgICAgICAgICAgICB0aGlzLnR4dFN0b3JlRGV0YWlscy5BdXRvU2l6ZSA9IHRydWU7CisgICAgICAgICAgICB0aGlzLnR4dFN0b3JlRGV0YWlscy5Mb2NhdGlvbiA9IG5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCg4NDUsIDQ4NCk7CisgICAgICAgICAgICB0aGlzLnR4dFN0b3JlRGV0YWlscy5OYW1lID0gInR4dFN0b3JlRGV0YWlscyI7CisgICAgICAgICAgICB0aGlzLnR4dFN0b3JlRGV0YWlscy5TaXplID0gbmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoMCwgMTcpOworICAgICAgICAgICAgdGhpcy50eHRTdG9yZURldGFpbHMuVGFiSW5kZXggPSAxNjsKKyAgICAgICAgICAgIC8vIAorICAgICAgICAgICAgLy8gRm9ybTEKKyAgICAgICAgICAgIC8vIAorICAgICAgICAgICAgdGhpcy5BdXRvU2NhbGVEaW1lbnNpb25zID0gbmV3IFN5c3RlbS5EcmF3aW5nLlNpemVGKDhGLCAxNkYpOworICAgICAgICAgICAgdGhpcy5BdXRvU2NhbGVNb2RlID0gU3lzdGVtLldpbmRvd3MuRm9ybXMuQXV0b1NjYWxlTW9kZS5Gb250OworICAgICAgICAgICAgdGhpcy5DbGllbnRTaXplID0gbmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoMTM2NiwgNjc3KTsKKyAgICAgICAgICAgIHRoaXMuQ29udHJvbHMuQWRkKHRoaXMudHh0U3RvcmVEZXRhaWxzKTsKKyAgICAgICAgICAgIHRoaXMuQ29udHJvbHMuQWRkKHRoaXMubGFiZWw4KTsKKyAgICAgICAgICAgIHRoaXMuQ29udHJvbHMuQWRkKHRoaXMuc3RvcmVMaXN0KTsKKyAgICAgICAgICAgIHRoaXMuQ29udHJvbHMuQWRkKHRoaXMubGFiZWw3KTsKKyAgICAgICAgICAgIHRoaXMuQ29udHJvbHMuQWRkKHRoaXMudHh0WmlwKTsKKyAgICAgICAgICAgIHRoaXMuQ29udHJvbHMuQWRkKHRoaXMubGFiZWw2KTsKKyAgICAgICAgICAgIHRoaXMuQ29udHJvbHMuQWRkKHRoaXMuYnRuU3VibWl0KTsKKyAgICAgICAgICAgIHRoaXMuQ29udHJvbHMuQWRkKHRoaXMubGFiZWw1KTsKKyAgICAgICAgICAgIHRoaXMuQ29udHJvbHMuQWRkKHRoaXMudHh0U3RhdGUpOworICAgICAgICAgICAgdGhpcy5Db250cm9scy5BZGQodGhpcy5sYWJlbDQpOworICAgICAgICAgICAgdGhpcy5Db250cm9scy5BZGQodGhpcy50eHRDaXR5KTsKKyAgICAgICAgICAgIHRoaXMuQ29udHJvbHMuQWRkKHRoaXMubGFiZWwzKTsKKyAgICAgICAgICAgIHRoaXMuQ29udHJvbHMuQWRkKHRoaXMudHh0U3RyZWV0QWRkcmVzcyk7CisgICAgICAgICAgICB0aGlzLkNvbnRyb2xzLkFkZCh0aGlzLmxhYmVsMik7CisgICAgICAgICAgICB0aGlzLkNvbnRyb2xzLkFkZCh0aGlzLmxhYmVsMSk7CisgICAgICAgICAgICB0aGlzLkNvbnRyb2xzLkFkZCh0aGlzLmdNYXApOworICAgICAgICAgICAgdGhpcy5OYW1lID0gIkZvcm0xIjsKKyAgICAgICAgICAgIHRoaXMuVGV4dCA9ICJGb3JtMSI7CisgICAgICAgICAgICB0aGlzLkxvYWQgKz0gbmV3IFN5c3RlbS5FdmVudEhhbmRsZXIodGhpcy5Gb3JtMV9Mb2FkKTsKKyAgICAgICAgICAgIHRoaXMuUmVzdW1lTGF5b3V0KGZhbHNlKTsKKyAgICAgICAgICAgIHRoaXMuUGVyZm9ybUxheW91dCgpOworCisgICAgICAgIH0KKworICAgICAgICAjZW5kcmVnaW9uCisKKyAgICAgICAgcHJpdmF0ZSBHTWFwLk5FVC5XaW5kb3dzRm9ybXMuR01hcENvbnRyb2wgZ01hcDsKKyAgICAgICAgcHJpdmF0ZSBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MYWJlbCBsYWJlbDE7CisgICAgICAgIHByaXZhdGUgU3lzdGVtLldpbmRvd3MuRm9ybXMuTGFiZWwgbGFiZWwyOworICAgICAgICBwcml2YXRlIFN5c3RlbS5XaW5kb3dzLkZvcm1zLlRleHRCb3ggdHh0U3RyZWV0QWRkcmVzczsKKyAgICAgICAgcHJpdmF0ZSBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MYWJlbCBsYWJlbDM7CisgICAgICAgIHByaXZhdGUgU3lzdGVtLldpbmRvd3MuRm9ybXMuVGV4dEJveCB0eHRDaXR5OworICAgICAgICBwcml2YXRlIFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxhYmVsIGxhYmVsNDsKKyAgICAgICAgcHJpdmF0ZSBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5UZXh0Qm94IHR4dFN0YXRlOworICAgICAgICBwcml2YXRlIFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxhYmVsIGxhYmVsNTsKKyAgICAgICAgcHJpdmF0ZSBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5CdXR0b24gYnRuU3VibWl0OworICAgICAgICBwcml2YXRlIFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxhYmVsIGxhYmVsNjsKKyAgICAgICAgcHJpdmF0ZSBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5UZXh0Qm94IHR4dFppcDsKKyAgICAgICAgcHJpdmF0ZSBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MYWJlbCBsYWJlbDc7CisgICAgICAgIHByaXZhdGUgU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdEJveCBzdG9yZUxpc3Q7CisgICAgICAgIHByaXZhdGUgU3lzdGVtLldpbmRvd3MuRm9ybXMuTGFiZWwgbGFiZWw4OworICAgICAgICBwcml2YXRlIFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxhYmVsIHR4dFN0b3JlRGV0YWlsczsKKyAgICB9Cit9CisKZGlmZiAtLWdpdCBhL3NhbXBsZXMvbG9jYXRpb25TYW1wbGUvTG9jYXRpb25Eb3ROZXRTYW1wbGUvRm9ybTEuY3MgYi9zYW1wbGVzL2xvY2F0aW9uU2FtcGxlL0xvY2F0aW9uRG90TmV0U2FtcGxlL0Zvcm0xLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyOTdkMjcKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL2xvY2F0aW9uU2FtcGxlL0xvY2F0aW9uRG90TmV0U2FtcGxlL0Zvcm0xLmNzCkBAIC0wLDAgKzEsMTQ4IEBACisKKy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBTeXN0ZW07Cit1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKK3VzaW5nIFN5c3RlbS5Db21wb25lbnRNb2RlbDsKK3VzaW5nIFN5c3RlbS5EYXRhOwordXNpbmcgU3lzdGVtLkRyYXdpbmc7Cit1c2luZyBTeXN0ZW0uTGlucTsKK3VzaW5nIFN5c3RlbS5UZXh0OwordXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKK3VzaW5nIFN5c3RlbS5XaW5kb3dzLkZvcm1zOwordXNpbmcgR2VvY29kZXI7CisvLyBodHRwczovL2dpdGh1Yi5jb20vYm1vbnRnb21lcnkvR2VvY29kZXIKKworbmFtZXNwYWNlIExvY2F0aW9uRG90TmV0U2FtcGxlCit7CisgICAgcHVibGljIHBhcnRpYWwgY2xhc3MgRm9ybTEgOiBGb3JtCisgICAgeworICAgICAgICBwcml2YXRlIEdlb2NvZGVyLkxvY2F0aW9uIG1hcENlbnRlcntnZXQ7IHNldDt9CisgICAgICAgIHByaXZhdGUgR01hcC5ORVQuV2luZG93c0Zvcm1zLk1hcmtlcnMuR01hcE1hcmtlckdvb2dsZUdyZWVuIGN1cnJlbnRQb3NpdGlvbiB7IGdldDsgc2V0OyB9CisgICAgICAgIHByaXZhdGUgR01hcC5ORVQuV2luZG93c0Zvcm1zLkdNYXBPdmVybGF5IG1hcmtlck92ZXJsYXkgeyBnZXQ7IHNldDsgfQorICAgICAgICBwcml2YXRlIFVzZXJncmlkLlNkay5DbGllbnQgY2xpZW50IHsgZ2V0OyBzZXQ7IH0KKyAgICAgICAgcHJpdmF0ZSBVc2VyZ3JpZC5TZGsuVXNlcmdyaWRDb2xsZWN0aW9uPFN0b3JlPiBzdG9yZXM7CisgICAgICAgIHByaXZhdGUgc3RyaW5nIG9yZ05hbWUgPSAibW1hbGxveUBhcGlnZWUuY29tIjsKKyAgICAgICAgcHJpdmF0ZSBzdHJpbmcgYXBwTmFtZSA9ICJ0ZXN0YXBwIjsKKyAgICAgICAgcHJpdmF0ZSBzdHJpbmcgY29sbGVjdGlvbiA9ICJ0YXJnZXRzIjsKKworICAgICAgICBwdWJsaWMgRm9ybTEoKQorICAgICAgICB7CisgICAgICAgICAgICBJbml0aWFsaXplQ29tcG9uZW50KCk7CisgICAgICAgICAgICBjdXJyZW50UG9zaXRpb24gPSBudWxsOworICAgICAgICAgICAgY2xpZW50ID0gbmV3IFVzZXJncmlkLlNkay5DbGllbnQoIm1tYWxsb3lAYXBpZ2VlLmNvbSIsICJ0ZXN0YXBwIik7CisgICAgICAgIH0KKworICAgICAgIAorICAgICAgICBwcml2YXRlIHZvaWQgYnRuU3VibWl0X0NsaWNrKG9iamVjdCBzZW5kZXIsIEV2ZW50QXJncyBlKQorICAgICAgICB7CisKKyAgICAgICAgICAgIHN0cmluZyBhZGRyZXNzID0gIiI7CisgICAgICAgICAgICBpZiAodHh0U3RyZWV0QWRkcmVzcy5UZXh0ICE9ICIiICYmIHR4dENpdHkuVGV4dCAhPSAiIiAmJiB0eHRTdGF0ZS5UZXh0ICE9ICIiKSB7IGFkZHJlc3MgPSB0eHRTdHJlZXRBZGRyZXNzLlRleHQgKyAiLCIgKyB0eHRDaXR5LlRleHQgKyAiLCIgKyB0eHRTdGF0ZS5UZXh0OyB9CisgICAgICAgICAgICBlbHNlIGlmICh0eHRDaXR5LlRleHQgIT0gIiIgJiYgdHh0U3RhdGUuVGV4dCAhPSAiIil7IGFkZHJlc3MgPSB0eHRDaXR5LlRleHQgKyAiLCIgKyB0eHRTdGF0ZS5UZXh0O30KKyAgICAgICAgICAgIGVsc2UgaWYgKHR4dFppcC5UZXh0ICE9ICIiKSB7IGFkZHJlc3MgPSB0eHRaaXAuVGV4dDsgfQorCisgICAgICAgICAgICBpZiAoYWRkcmVzcyA9PSAiIikgeyBNZXNzYWdlQm94LlNob3coIkVudGVyIGEgdmFsaWQgYWRkcmVzcywgY2l0eSwgb3IgemlwIGNvZGUiKTt9CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICB2YXIgZ2VvY29kZXIgPSBuZXcgR2VvY29kZXIuR2VvY29kZVNlcnZpY2UoKTsKKyAgICAgICAgICAgICAgICB2YXIgbG9jYXRpb24gPSBnZW9jb2Rlci5HZW9jb2RlTG9jYXRpb24oYWRkcmVzcyk7CisgICAgICAgICAgICAgICAgc3RvcmVMaXN0Lkl0ZW1zLkNsZWFyKCk7CisgICAgICAgICAgICAgICAgdHh0U3RvcmVEZXRhaWxzLlRleHQgPSAiIjsKKyAgICAgICAgICAgICAgICBtYXJrZXJPdmVybGF5Lk1hcmtlcnMuQ2xlYXIoKTsgCisgICAgICAgICAgICAgICAgY2VudGVyTWFwKGxvY2F0aW9uKTsgCisgICAgICAgICAgICAgICAgbWFya0N1cnJlbnRMb2NhdGlvbihsb2NhdGlvbik7CisgICAgICAgICAgICAgICAgc3RvcmVzID0gZmluZFN0b3JlcygpOworICAgICAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc3RvcmVzLkNvdW50OyBpKyspIHsgbWFya1N0b3JlTG9jYXRpb24oc3RvcmVzW2ldKTsgfQorICAgICAgICAgICAgICAgIGFkZFN0b3Jlc1RvTGlzdCgpOworCisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgfQorCisgICAgICAgIHByaXZhdGUgdm9pZCBjZW50ZXJNYXAoR2VvY29kZXIuTG9jYXRpb24gbG9jYXRpb24pCisgICAgICAgIHsKKyAgICAgICAgICAgIG1hcENlbnRlciA9IGxvY2F0aW9uOworICAgICAgICAgICAgdmFyIGxhdCA9IG1hcENlbnRlci5MYXRpdHVkZTsKKyAgICAgICAgICAgIHZhciBsb24gPSBtYXBDZW50ZXIuTG9uZ2l0dWRlOworICAgICAgICAgICAgZ01hcC5Qb3NpdGlvbiA9IG5ldyBHTWFwLk5FVC5Qb2ludExhdExuZyhsYXQsIGxvbik7CisKKyAgICAgICAgfQorICAgICAgICBwcml2YXRlIHZvaWQgbWFya0N1cnJlbnRMb2NhdGlvbihHZW9jb2Rlci5Mb2NhdGlvbiBsb2NhdGlvbikKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIGxhdCA9IGxvY2F0aW9uLkxhdGl0dWRlOworICAgICAgICAgICAgdmFyIGxvbiA9IGxvY2F0aW9uLkxvbmdpdHVkZTsKKyAgICAgICAgICAgIEdNYXAuTkVULldpbmRvd3NGb3Jtcy5NYXJrZXJzLkdNYXBNYXJrZXJHb29nbGVHcmVlbiBtID0gbmV3IEdNYXAuTkVULldpbmRvd3NGb3Jtcy5NYXJrZXJzLkdNYXBNYXJrZXJHb29nbGVHcmVlbihuZXcgR01hcC5ORVQuUG9pbnRMYXRMbmcobGF0LCBsb24pKTsKKyAgICAgICAgICAgIGN1cnJlbnRQb3NpdGlvbiA9IG07CisgICAgICAgICAgICBtYXJrZXJPdmVybGF5Lk1hcmtlcnMuQWRkKG0pOworICAgICAgICAgICAgbS5Ub29sVGlwVGV4dCA9ICJDdXJyZW50IFBvc2l0aW9uIjsKKyAgICAgICAgfQorCisgICAgICAgIHByaXZhdGUgdm9pZCBtYXJrU3RvcmVMb2NhdGlvbihTdG9yZSBzdG9yZSkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIGxhdCA9IENvbnZlcnQuVG9Eb3VibGUoc3RvcmUubG9jYXRpb24ubGF0aXR1ZGUpOworICAgICAgICAgICAgdmFyIGxvbiA9IENvbnZlcnQuVG9Eb3VibGUoc3RvcmUubG9jYXRpb24ubG9uZ2l0dWRlKTsKKyAgICAgICAgICAgIEdNYXAuTkVULldpbmRvd3NGb3Jtcy5NYXJrZXJzLkdNYXBNYXJrZXJHb29nbGVSZWQgbSA9IG5ldyBHTWFwLk5FVC5XaW5kb3dzRm9ybXMuTWFya2Vycy5HTWFwTWFya2VyR29vZ2xlUmVkKG5ldyBHTWFwLk5FVC5Qb2ludExhdExuZyhsYXQsIGxvbikpOworICAgICAgICAgICAgc3RyaW5nIHRvb2x0aXB0ZXh0ID0gc3RvcmUubmFtZSArICJcbiIgKyBzdG9yZS5sb2NhdGlvbi5kaXNwbGF5QWRkcmVzczsKKyAgICAgICAgICAgIG0uVG9vbFRpcFRleHQgPSB0b29sdGlwdGV4dDsKKyAgICAgICAgICAgIG1hcmtlck92ZXJsYXkuTWFya2Vycy5BZGQobSk7CisgICAgICAgIH0KKworICAgICAgICBwcml2YXRlIHZvaWQgYWRkU3RvcmVzVG9MaXN0KCkKKyAgICAgICAgeworICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzdG9yZXMuQ291bnQ7IGkrKykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBzdG9yZUxpc3QuSXRlbXMuQWRkKHN0b3Jlc1tpXS5uYW1lKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIHByaXZhdGUgdm9pZCBGb3JtMV9Mb2FkKG9iamVjdCBzZW5kZXIsIEV2ZW50QXJncyBlKQorICAgICAgICB7CisgICAgICAgICAgICB0aGlzLlRleHQgPSAiU3RvcmUgRmluZGVyIjsKKyAgICAgICAgICAgIGdNYXAuTWFwUHJvdmlkZXIgPSBHTWFwLk5FVC5NYXBQcm92aWRlcnMuR29vZ2xlTWFwUHJvdmlkZXIuSW5zdGFuY2U7CisgICAgICAgICAgICBHTWFwLk5FVC5HTWFwcy5JbnN0YW5jZS5Nb2RlID0gR01hcC5ORVQuQWNjZXNzTW9kZS5TZXJ2ZXJPbmx5OworICAgICAgICAgICAgdmFyIGdlb2NvZGVyID0gbmV3IEdlb2NvZGVyLkdlb2NvZGVTZXJ2aWNlKCk7CisgICAgICAgICAgICB2YXIgbG9jYXRpb24gPSBnZW9jb2Rlci5HZW9jb2RlTG9jYXRpb24oIlBhbG8gQWx0bywgQ0EiKTsKKyAgICAgICAgICAgIGNlbnRlck1hcChsb2NhdGlvbik7CisgICAgICAgICAgICBtYXJrZXJPdmVybGF5ID0gbmV3IEdNYXAuTkVULldpbmRvd3NGb3Jtcy5HTWFwT3ZlcmxheShnTWFwLCAibWFya2VycyIpOworICAgICAgICAgICAgZ01hcC5PdmVybGF5cy5BZGQobWFya2VyT3ZlcmxheSk7CisgICAgICAgIH0KKworICAgICAgICBwcml2YXRlIFVzZXJncmlkLlNkay5Vc2VyZ3JpZENvbGxlY3Rpb248U3RvcmU+IGZpbmRTdG9yZXMoKQorICAgICAgICB7CisgICAgICAgICAgICBzdHJpbmcgbGF0bG9uID0gbWFwQ2VudGVyLkxhdGl0dWRlICsgIiwiICsgbWFwQ2VudGVyLkxvbmdpdHVkZTsKKyAgICAgICAgICAgIHJldHVybiBjbGllbnQuR2V0RW50aXRpZXM8U3RvcmU+KGNvbGxlY3Rpb24sIDIwLCAibG9jYXRpb24gd2l0aGluIDE1MDAwIG9mICIgKyBsYXRsb24pOworICAgICAgICB9CisKKyAgICAgICAgcHJpdmF0ZSB2b2lkIHN0b3JlTGlzdF9TZWxlY3RlZEluZGV4Q2hhbmdlZChvYmplY3Qgc2VuZGVyLCBFdmVudEFyZ3MgZSkKKyAgICAgICAgeworICAgICAgICAgICAgU3RvcmUgc2VsZWN0ZWRTdG9yZSA9IHN0b3Jlc1tzdG9yZUxpc3QuU2VsZWN0ZWRJbmRleF07CisgICAgICAgICAgICB0eHRTdG9yZURldGFpbHMuVGV4dCA9ICJTdG9yZSBOYW1lOiAiICsgc2VsZWN0ZWRTdG9yZS5uYW1lICsgIlxuIiArICJIb3VyczoiOworICAgICAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBzZWxlY3RlZFN0b3JlLmhvdXJzLkNvdW50KCk7IGorKykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0eHRTdG9yZURldGFpbHMuVGV4dCArPSAiXG4iICsgc2VsZWN0ZWRTdG9yZS5ob3Vyc1tqXTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHR4dFN0b3JlRGV0YWlscy5UZXh0ICs9ICJcblxuU2VydmljZXM6ICI7CisgICAgICAgICAgICBmb3IgKGludCBrID0gMDsgayA8IHNlbGVjdGVkU3RvcmUuc2VydmljZXMuQ291bnQoKTsgaysrKQorICAgICAgICAgICAgeyAgICAgICAgICAKKyAgICAgICAgICAgICAgICB0eHRTdG9yZURldGFpbHMuVGV4dCArPSBzZWxlY3RlZFN0b3JlLnNlcnZpY2VzW2tdOworICAgICAgICAgICAgICAgIGlmIChrICE9IHNlbGVjdGVkU3RvcmUuc2VydmljZXMuQ291bnQoKS0xKSB7IHR4dFN0b3JlRGV0YWlscy5UZXh0ICs9ICIsIjsgfQorICAgICAgICAgICAgICAgIGlmIChrICE9IDAgJiYgayAlIDQgPT0gMCkgeyB0eHRTdG9yZURldGFpbHMuVGV4dCArPSAiXG4iOyB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAKKyAgICAgICAgfQorCisgICAgfQorfQpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9Mb2NhdGlvbkRvdE5ldFNhbXBsZS9Gb3JtMS5yZXN4IGIvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9Mb2NhdGlvbkRvdE5ldFNhbXBsZS9Gb3JtMS5yZXN4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1ZDFkNzgKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL2xvY2F0aW9uU2FtcGxlL0xvY2F0aW9uRG90TmV0U2FtcGxlL0Zvcm0xLnJlc3gKQEAgLTAsMCArMSwxMzcgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8IS0tCisgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorLS0+CisKKzxyb290PgorICA8IS0tIAorICAgIE1pY3Jvc29mdCBSZXNYIFNjaGVtYSAKKyAgICAKKyAgICBWZXJzaW9uIDIuMAorICAgIAorICAgIFRoZSBwcmltYXJ5IGdvYWxzIG9mIHRoaXMgZm9ybWF0IGlzIHRvIGFsbG93IGEgc2ltcGxlIFhNTCBmb3JtYXQgCisgICAgdGhhdCBpcyBtb3N0bHkgaHVtYW4gcmVhZGFibGUuIFRoZSBnZW5lcmF0aW9uIGFuZCBwYXJzaW5nIG9mIHRoZSAKKyAgICB2YXJpb3VzIGRhdGEgdHlwZXMgYXJlIGRvbmUgdGhyb3VnaCB0aGUgVHlwZUNvbnZlcnRlciBjbGFzc2VzIAorICAgIGFzc29jaWF0ZWQgd2l0aCB0aGUgZGF0YSB0eXBlcy4KKyAgICAKKyAgICBFeGFtcGxlOgorICAgIAorICAgIC4uLiBhZG8ubmV0L1hNTCBoZWFkZXJzICYgc2NoZW1hIC4uLgorICAgIDxyZXNoZWFkZXIgbmFtZT0icmVzbWltZXR5cGUiPnRleHQvbWljcm9zb2Z0LXJlc3g8L3Jlc2hlYWRlcj4KKyAgICA8cmVzaGVhZGVyIG5hbWU9InZlcnNpb24iPjIuMDwvcmVzaGVhZGVyPgorICAgIDxyZXNoZWFkZXIgbmFtZT0icmVhZGVyIj5TeXN0ZW0uUmVzb3VyY2VzLlJlc1hSZXNvdXJjZVJlYWRlciwgU3lzdGVtLldpbmRvd3MuRm9ybXMsIC4uLjwvcmVzaGVhZGVyPgorICAgIDxyZXNoZWFkZXIgbmFtZT0id3JpdGVyIj5TeXN0ZW0uUmVzb3VyY2VzLlJlc1hSZXNvdXJjZVdyaXRlciwgU3lzdGVtLldpbmRvd3MuRm9ybXMsIC4uLjwvcmVzaGVhZGVyPgorICAgIDxkYXRhIG5hbWU9Ik5hbWUxIj48dmFsdWU+dGhpcyBpcyBteSBsb25nIHN0cmluZzwvdmFsdWU+PGNvbW1lbnQ+dGhpcyBpcyBhIGNvbW1lbnQ8L2NvbW1lbnQ+PC9kYXRhPgorICAgIDxkYXRhIG5hbWU9IkNvbG9yMSIgdHlwZT0iU3lzdGVtLkRyYXdpbmcuQ29sb3IsIFN5c3RlbS5EcmF3aW5nIj5CbHVlPC9kYXRhPgorICAgIDxkYXRhIG5hbWU9IkJpdG1hcDEiIG1pbWV0eXBlPSJhcHBsaWNhdGlvbi94LW1pY3Jvc29mdC5uZXQub2JqZWN0LmJpbmFyeS5iYXNlNjQiPgorICAgICAgICA8dmFsdWU+W2Jhc2U2NCBtaW1lIGVuY29kZWQgc2VyaWFsaXplZCAuTkVUIEZyYW1ld29yayBvYmplY3RdPC92YWx1ZT4KKyAgICA8L2RhdGE+CisgICAgPGRhdGEgbmFtZT0iSWNvbjEiIHR5cGU9IlN5c3RlbS5EcmF3aW5nLkljb24sIFN5c3RlbS5EcmF3aW5nIiBtaW1ldHlwZT0iYXBwbGljYXRpb24veC1taWNyb3NvZnQubmV0Lm9iamVjdC5ieXRlYXJyYXkuYmFzZTY0Ij4KKyAgICAgICAgPHZhbHVlPltiYXNlNjQgbWltZSBlbmNvZGVkIHN0cmluZyByZXByZXNlbnRpbmcgYSBieXRlIGFycmF5IGZvcm0gb2YgdGhlIC5ORVQgRnJhbWV3b3JrIG9iamVjdF08L3ZhbHVlPgorICAgICAgICA8Y29tbWVudD5UaGlzIGlzIGEgY29tbWVudDwvY29tbWVudD4KKyAgICA8L2RhdGE+CisgICAgICAgICAgICAgICAgCisgICAgVGhlcmUgYXJlIGFueSBudW1iZXIgb2YgInJlc2hlYWRlciIgcm93cyB0aGF0IGNvbnRhaW4gc2ltcGxlIAorICAgIG5hbWUvdmFsdWUgcGFpcnMuCisgICAgCisgICAgRWFjaCBkYXRhIHJvdyBjb250YWlucyBhIG5hbWUsIGFuZCB2YWx1ZS4gVGhlIHJvdyBhbHNvIGNvbnRhaW5zIGEgCisgICAgdHlwZSBvciBtaW1ldHlwZS4gVHlwZSBjb3JyZXNwb25kcyB0byBhIC5ORVQgY2xhc3MgdGhhdCBzdXBwb3J0IAorICAgIHRleHQvdmFsdWUgY29udmVyc2lvbiB0aHJvdWdoIHRoZSBUeXBlQ29udmVydGVyIGFyY2hpdGVjdHVyZS4gCisgICAgQ2xhc3NlcyB0aGF0IGRvbid0IHN1cHBvcnQgdGhpcyBhcmUgc2VyaWFsaXplZCBhbmQgc3RvcmVkIHdpdGggdGhlIAorICAgIG1pbWV0eXBlIHNldC4KKyAgICAKKyAgICBUaGUgbWltZXR5cGUgaXMgdXNlZCBmb3Igc2VyaWFsaXplZCBvYmplY3RzLCBhbmQgdGVsbHMgdGhlIAorICAgIFJlc1hSZXNvdXJjZVJlYWRlciBob3cgdG8gZGVwZXJzaXN0IHRoZSBvYmplY3QuIFRoaXMgaXMgY3VycmVudGx5IG5vdCAKKyAgICBleHRlbnNpYmxlLiBGb3IgYSBnaXZlbiBtaW1ldHlwZSB0aGUgdmFsdWUgbXVzdCBiZSBzZXQgYWNjb3JkaW5nbHk6CisgICAgCisgICAgTm90ZSAtIGFwcGxpY2F0aW9uL3gtbWljcm9zb2Z0Lm5ldC5vYmplY3QuYmluYXJ5LmJhc2U2NCBpcyB0aGUgZm9ybWF0IAorICAgIHRoYXQgdGhlIFJlc1hSZXNvdXJjZVdyaXRlciB3aWxsIGdlbmVyYXRlLCBob3dldmVyIHRoZSByZWFkZXIgY2FuIAorICAgIHJlYWQgYW55IG9mIHRoZSBmb3JtYXRzIGxpc3RlZCBiZWxvdy4KKyAgICAKKyAgICBtaW1ldHlwZTogYXBwbGljYXRpb24veC1taWNyb3NvZnQubmV0Lm9iamVjdC5iaW5hcnkuYmFzZTY0CisgICAgdmFsdWUgICA6IFRoZSBvYmplY3QgbXVzdCBiZSBzZXJpYWxpemVkIHdpdGggCisgICAgICAgICAgICA6IFN5c3RlbS5SdW50aW1lLlNlcmlhbGl6YXRpb24uRm9ybWF0dGVycy5CaW5hcnkuQmluYXJ5Rm9ybWF0dGVyCisgICAgICAgICAgICA6IGFuZCB0aGVuIGVuY29kZWQgd2l0aCBiYXNlNjQgZW5jb2RpbmcuCisgICAgCisgICAgbWltZXR5cGU6IGFwcGxpY2F0aW9uL3gtbWljcm9zb2Z0Lm5ldC5vYmplY3Quc29hcC5iYXNlNjQKKyAgICB2YWx1ZSAgIDogVGhlIG9iamVjdCBtdXN0IGJlIHNlcmlhbGl6ZWQgd2l0aCAKKyAgICAgICAgICAgIDogU3lzdGVtLlJ1bnRpbWUuU2VyaWFsaXphdGlvbi5Gb3JtYXR0ZXJzLlNvYXAuU29hcEZvcm1hdHRlcgorICAgICAgICAgICAgOiBhbmQgdGhlbiBlbmNvZGVkIHdpdGggYmFzZTY0IGVuY29kaW5nLgorCisgICAgbWltZXR5cGU6IGFwcGxpY2F0aW9uL3gtbWljcm9zb2Z0Lm5ldC5vYmplY3QuYnl0ZWFycmF5LmJhc2U2NAorICAgIHZhbHVlICAgOiBUaGUgb2JqZWN0IG11c3QgYmUgc2VyaWFsaXplZCBpbnRvIGEgYnl0ZSBhcnJheSAKKyAgICAgICAgICAgIDogdXNpbmcgYSBTeXN0ZW0uQ29tcG9uZW50TW9kZWwuVHlwZUNvbnZlcnRlcgorICAgICAgICAgICAgOiBhbmQgdGhlbiBlbmNvZGVkIHdpdGggYmFzZTY0IGVuY29kaW5nLgorICAgIC0tPgorICA8eHNkOnNjaGVtYSBpZD0icm9vdCIgeG1sbnM9IiIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6bXNkYXRhPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOnhtbC1tc2RhdGEiPgorICAgIDx4c2Q6aW1wb3J0IG5hbWVzcGFjZT0iaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIiAvPgorICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJyb290IiBtc2RhdGE6SXNEYXRhU2V0PSJ0cnVlIj4KKyAgICAgIDx4c2Q6Y29tcGxleFR5cGU+CisgICAgICAgIDx4c2Q6Y2hvaWNlIG1heE9jY3Vycz0idW5ib3VuZGVkIj4KKyAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0ibWV0YWRhdGEiPgorICAgICAgICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgICAgPHhzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0idmFsdWUiIHR5cGU9InhzZDpzdHJpbmciIG1pbk9jY3Vycz0iMCIgLz4KKyAgICAgICAgICAgICAgPC94c2Q6c2VxdWVuY2U+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9Im5hbWUiIHVzZT0icmVxdWlyZWQiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9InR5cGUiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9Im1pbWV0eXBlIiB0eXBlPSJ4c2Q6c3RyaW5nIiAvPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSByZWY9InhtbDpzcGFjZSIgLz4KKyAgICAgICAgICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgIDwveHNkOmVsZW1lbnQ+CisgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImFzc2VtYmx5Ij4KKyAgICAgICAgICAgIDx4c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9ImFsaWFzIiB0eXBlPSJ4c2Q6c3RyaW5nIiAvPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJuYW1lIiB0eXBlPSJ4c2Q6c3RyaW5nIiAvPgorICAgICAgICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iZGF0YSI+CisgICAgICAgICAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgICAgICA8eHNkOnNlcXVlbmNlPgorICAgICAgICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdHlwZT0ieHNkOnN0cmluZyIgbWluT2NjdXJzPSIwIiBtc2RhdGE6T3JkaW5hbD0iMSIgLz4KKyAgICAgICAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iY29tbWVudCIgdHlwZT0ieHNkOnN0cmluZyIgbWluT2NjdXJzPSIwIiBtc2RhdGE6T3JkaW5hbD0iMiIgLz4KKyAgICAgICAgICAgICAgPC94c2Q6c2VxdWVuY2U+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9Im5hbWUiIHR5cGU9InhzZDpzdHJpbmciIHVzZT0icmVxdWlyZWQiIG1zZGF0YTpPcmRpbmFsPSIxIiAvPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJ0eXBlIiB0eXBlPSJ4c2Q6c3RyaW5nIiBtc2RhdGE6T3JkaW5hbD0iMyIgLz4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibWltZXR5cGUiIHR5cGU9InhzZDpzdHJpbmciIG1zZGF0YTpPcmRpbmFsPSI0IiAvPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSByZWY9InhtbDpzcGFjZSIgLz4KKyAgICAgICAgICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgIDwveHNkOmVsZW1lbnQ+CisgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InJlc2hlYWRlciI+CisgICAgICAgICAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgICAgICA8eHNkOnNlcXVlbmNlPgorICAgICAgICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdHlwZT0ieHNkOnN0cmluZyIgbWluT2NjdXJzPSIwIiBtc2RhdGE6T3JkaW5hbD0iMSIgLz4KKyAgICAgICAgICAgICAgPC94c2Q6c2VxdWVuY2U+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9Im5hbWUiIHR5cGU9InhzZDpzdHJpbmciIHVzZT0icmVxdWlyZWQiIC8+CisgICAgICAgICAgICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgICA8L3hzZDpjaG9pY2U+CisgICAgICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgICA8L3hzZDplbGVtZW50PgorICA8L3hzZDpzY2hlbWE+CisgIDxyZXNoZWFkZXIgbmFtZT0icmVzbWltZXR5cGUiPgorICAgIDx2YWx1ZT50ZXh0L21pY3Jvc29mdC1yZXN4PC92YWx1ZT4KKyAgPC9yZXNoZWFkZXI+CisgIDxyZXNoZWFkZXIgbmFtZT0idmVyc2lvbiI+CisgICAgPHZhbHVlPjIuMDwvdmFsdWU+CisgIDwvcmVzaGVhZGVyPgorICA8cmVzaGVhZGVyIG5hbWU9InJlYWRlciI+CisgICAgPHZhbHVlPlN5c3RlbS5SZXNvdXJjZXMuUmVzWFJlc291cmNlUmVhZGVyLCBTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODk8L3ZhbHVlPgorICA8L3Jlc2hlYWRlcj4KKyAgPHJlc2hlYWRlciBuYW1lPSJ3cml0ZXIiPgorICAgIDx2YWx1ZT5TeXN0ZW0uUmVzb3VyY2VzLlJlc1hSZXNvdXJjZVdyaXRlciwgU3lzdGVtLldpbmRvd3MuRm9ybXMsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5PC92YWx1ZT4KKyAgPC9yZXNoZWFkZXI+Cis8L3Jvb3Q+CmRpZmYgLS1naXQgYS9zYW1wbGVzL2xvY2F0aW9uU2FtcGxlL0xvY2F0aW9uRG90TmV0U2FtcGxlL0xvY2F0aW9uRG90TmV0U2FtcGxlLmNzcHJvaiBiL3NhbXBsZXMvbG9jYXRpb25TYW1wbGUvTG9jYXRpb25Eb3ROZXRTYW1wbGUvTG9jYXRpb25Eb3ROZXRTYW1wbGUuY3Nwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2N2U1NTkKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL2xvY2F0aW9uU2FtcGxlL0xvY2F0aW9uRG90TmV0U2FtcGxlL0xvY2F0aW9uRG90TmV0U2FtcGxlLmNzcHJvagpAQCAtMCwwICsxLDEyOSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhLS0KKyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCistLT4KKworPFByb2plY3QgVG9vbHNWZXJzaW9uPSIxMi4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8SW1wb3J0IFByb2plY3Q9IiQoTVNCdWlsZEV4dGVuc2lvbnNQYXRoKVwkKE1TQnVpbGRUb29sc1ZlcnNpb24pXE1pY3Jvc29mdC5Db21tb24ucHJvcHMiIENvbmRpdGlvbj0iRXhpc3RzKCckKE1TQnVpbGRFeHRlbnNpb25zUGF0aClcJChNU0J1aWxkVG9vbHNWZXJzaW9uKVxNaWNyb3NvZnQuQ29tbW9uLnByb3BzJykiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxDb25maWd1cmF0aW9uIENvbmRpdGlvbj0iICckKENvbmZpZ3VyYXRpb24pJyA9PSAnJyAiPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgIDxQbGF0Zm9ybSBDb25kaXRpb249IiAnJChQbGF0Zm9ybSknID09ICcnICI+QW55Q1BVPC9QbGF0Zm9ybT4KKyAgICA8UHJvamVjdEd1aWQ+ezZGODMwNjM5LTZFODQtNEZCQy1COTc1LTQ5NTIxRjMwREU4M308L1Byb2plY3RHdWlkPgorICAgIDxPdXRwdXRUeXBlPldpbkV4ZTwvT3V0cHV0VHlwZT4KKyAgICA8QXBwRGVzaWduZXJGb2xkZXI+UHJvcGVydGllczwvQXBwRGVzaWduZXJGb2xkZXI+CisgICAgPFJvb3ROYW1lc3BhY2U+TG9jYXRpb25Eb3ROZXRTYW1wbGU8L1Jvb3ROYW1lc3BhY2U+CisgICAgPEFzc2VtYmx5TmFtZT5Mb2NhdGlvbkRvdE5ldFNhbXBsZTwvQXNzZW1ibHlOYW1lPgorICAgIDxUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPnY0LjU8L1RhcmdldEZyYW1ld29ya1ZlcnNpb24+CisgICAgPEZpbGVBbGlnbm1lbnQ+NTEyPC9GaWxlQWxpZ25tZW50PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iICckKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJyA9PSAnRGVidWd8QW55Q1BVJyAiPgorICAgIDxQbGF0Zm9ybVRhcmdldD5BbnlDUFU8L1BsYXRmb3JtVGFyZ2V0PgorICAgIDxEZWJ1Z1N5bWJvbHM+dHJ1ZTwvRGVidWdTeW1ib2xzPgorICAgIDxEZWJ1Z1R5cGU+ZnVsbDwvRGVidWdUeXBlPgorICAgIDxPcHRpbWl6ZT5mYWxzZTwvT3B0aW1pemU+CisgICAgPE91dHB1dFBhdGg+YmluXERlYnVnXDwvT3V0cHV0UGF0aD4KKyAgICA8RGVmaW5lQ29uc3RhbnRzPkRFQlVHO1RSQUNFPC9EZWZpbmVDb25zdGFudHM+CisgICAgPEVycm9yUmVwb3J0PnByb21wdDwvRXJyb3JSZXBvcnQ+CisgICAgPFdhcm5pbmdMZXZlbD40PC9XYXJuaW5nTGV2ZWw+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSIgJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknID09ICdSZWxlYXNlfEFueUNQVScgIj4KKyAgICA8UGxhdGZvcm1UYXJnZXQ+QW55Q1BVPC9QbGF0Zm9ybVRhcmdldD4KKyAgICA8RGVidWdUeXBlPnBkYm9ubHk8L0RlYnVnVHlwZT4KKyAgICA8T3B0aW1pemU+dHJ1ZTwvT3B0aW1pemU+CisgICAgPE91dHB1dFBhdGg+YmluXFJlbGVhc2VcPC9PdXRwdXRQYXRoPgorICAgIDxEZWZpbmVDb25zdGFudHM+VFJBQ0U8L0RlZmluZUNvbnN0YW50cz4KKyAgICA8RXJyb3JSZXBvcnQ+cHJvbXB0PC9FcnJvclJlcG9ydD4KKyAgICA8V2FybmluZ0xldmVsPjQ8L1dhcm5pbmdMZXZlbD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iQlNFLldpbmRvd3MuRm9ybXMiPgorICAgICAgPEhpbnRQYXRoPmJpblxCU0UuV2luZG93cy5Gb3Jtcy5kbGw8L0hpbnRQYXRoPgorICAgIDwvUmVmZXJlbmNlPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iR2VvY29kZXIiPgorICAgICAgPEhpbnRQYXRoPi4uXHBhY2thZ2VzXEdlb2NvZGVyLjAuMS4wLjBcbGliXG5ldDQ1XEdlb2NvZGVyLmRsbDwvSGludFBhdGg+CisgICAgPC9SZWZlcmVuY2U+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJHTWFwLk5FVC5Db3JlIj4KKyAgICAgIDxIaW50UGF0aD5iaW5cR01hcC5ORVQuQ29yZS5kbGw8L0hpbnRQYXRoPgorICAgIDwvUmVmZXJlbmNlPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iR01hcC5ORVQuV2luZG93c0Zvcm1zIj4KKyAgICAgIDxIaW50UGF0aD5iaW5cR01hcC5ORVQuV2luZG93c0Zvcm1zLmRsbDwvSGludFBhdGg+CisgICAgPC9SZWZlcmVuY2U+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJOZXd0b25zb2Z0Lkpzb24sIFZlcnNpb249NC41LjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMGFkNGZlNmIyYTZhZWVkLCBwcm9jZXNzb3JBcmNoaXRlY3R1cmU9TVNJTCI+CisgICAgICA8U3BlY2lmaWNWZXJzaW9uPkZhbHNlPC9TcGVjaWZpY1ZlcnNpb24+CisgICAgICA8SGludFBhdGg+Li5cLi5cLi5cLi5cR2l0SHViXHVzZXJncmlkLS5uZXQtc2RrXFVzZXJncmlkLlNka1xiaW5cRGVidWdcTmV3dG9uc29mdC5Kc29uLmRsbDwvSGludFBhdGg+CisgICAgPC9SZWZlcmVuY2U+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJSZXN0U2hhcnAiPgorICAgICAgPEhpbnRQYXRoPi4uXC4uXC4uXC4uXEdpdEh1Ylx1c2VyZ3JpZC0ubmV0LXNka1xVc2VyZ3JpZC5TZGtcYmluXERlYnVnXFJlc3RTaGFycC5kbGw8L0hpbnRQYXRoPgorICAgIDwvUmVmZXJlbmNlPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iU3lzdGVtIiAvPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iU3lzdGVtLkNvcmUiIC8+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJTeXN0ZW0uWG1sLkxpbnEiIC8+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJTeXN0ZW0uRGF0YS5EYXRhU2V0RXh0ZW5zaW9ucyIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9Ik1pY3Jvc29mdC5DU2hhcnAiIC8+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJTeXN0ZW0uRGF0YSIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlN5c3RlbS5EZXBsb3ltZW50IiAvPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iU3lzdGVtLkRyYXdpbmciIC8+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJTeXN0ZW0uV2luZG93cy5Gb3JtcyIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlN5c3RlbS5YbWwiIC8+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJVc2VyZ3JpZC5TZGsiPgorICAgICAgPEhpbnRQYXRoPi4uXC4uXC4uXC4uXEdpdEh1Ylx1c2VyZ3JpZC0ubmV0LXNka1xVc2VyZ3JpZC5TZGtcYmluXERlYnVnXFVzZXJncmlkLlNkay5kbGw8L0hpbnRQYXRoPgorICAgIDwvUmVmZXJlbmNlPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJGb3JtMS5jcyI+CisgICAgICA8U3ViVHlwZT5Gb3JtPC9TdWJUeXBlPgorICAgIDwvQ29tcGlsZT4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJGb3JtMS5EZXNpZ25lci5jcyI+CisgICAgICA8RGVwZW5kZW50VXBvbj5Gb3JtMS5jczwvRGVwZW5kZW50VXBvbj4KKyAgICA8L0NvbXBpbGU+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iUHJvZ3JhbS5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJQcm9wZXJ0aWVzXEFzc2VtYmx5SW5mby5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJTdG9yZS5jcyIgLz4KKyAgICA8RW1iZWRkZWRSZXNvdXJjZSBJbmNsdWRlPSJGb3JtMS5yZXN4Ij4KKyAgICAgIDxEZXBlbmRlbnRVcG9uPkZvcm0xLmNzPC9EZXBlbmRlbnRVcG9uPgorICAgIDwvRW1iZWRkZWRSZXNvdXJjZT4KKyAgICA8RW1iZWRkZWRSZXNvdXJjZSBJbmNsdWRlPSJQcm9wZXJ0aWVzXFJlc291cmNlcy5yZXN4Ij4KKyAgICAgIDxHZW5lcmF0b3I+UmVzWEZpbGVDb2RlR2VuZXJhdG9yPC9HZW5lcmF0b3I+CisgICAgICA8TGFzdEdlbk91dHB1dD5SZXNvdXJjZXMuRGVzaWduZXIuY3M8L0xhc3RHZW5PdXRwdXQ+CisgICAgICA8U3ViVHlwZT5EZXNpZ25lcjwvU3ViVHlwZT4KKyAgICA8L0VtYmVkZGVkUmVzb3VyY2U+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iUHJvcGVydGllc1xSZXNvdXJjZXMuRGVzaWduZXIuY3MiPgorICAgICAgPEF1dG9HZW4+VHJ1ZTwvQXV0b0dlbj4KKyAgICAgIDxEZXBlbmRlbnRVcG9uPlJlc291cmNlcy5yZXN4PC9EZXBlbmRlbnRVcG9uPgorICAgIDwvQ29tcGlsZT4KKyAgICA8Tm9uZSBJbmNsdWRlPSJwYWNrYWdlcy5jb25maWciIC8+CisgICAgPE5vbmUgSW5jbHVkZT0iUHJvcGVydGllc1xTZXR0aW5ncy5zZXR0aW5ncyI+CisgICAgICA8R2VuZXJhdG9yPlNldHRpbmdzU2luZ2xlRmlsZUdlbmVyYXRvcjwvR2VuZXJhdG9yPgorICAgICAgPExhc3RHZW5PdXRwdXQ+U2V0dGluZ3MuRGVzaWduZXIuY3M8L0xhc3RHZW5PdXRwdXQ+CisgICAgPC9Ob25lPgorICAgIDxDb21waWxlIEluY2x1ZGU9IlByb3BlcnRpZXNcU2V0dGluZ3MuRGVzaWduZXIuY3MiPgorICAgICAgPEF1dG9HZW4+VHJ1ZTwvQXV0b0dlbj4KKyAgICAgIDxEZXBlbmRlbnRVcG9uPlNldHRpbmdzLnNldHRpbmdzPC9EZXBlbmRlbnRVcG9uPgorICAgICAgPERlc2lnblRpbWVTaGFyZWRJbnB1dD5UcnVlPC9EZXNpZ25UaW1lU2hhcmVkSW5wdXQ+CisgICAgPC9Db21waWxlPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Tm9uZSBJbmNsdWRlPSJBcHAuY29uZmlnIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKE1TQnVpbGRUb29sc1BhdGgpXE1pY3Jvc29mdC5DU2hhcnAudGFyZ2V0cyIgLz4KKyAgPCEtLSBUbyBtb2RpZnkgeW91ciBidWlsZCBwcm9jZXNzLCBhZGQgeW91ciB0YXNrIGluc2lkZSBvbmUgb2YgdGhlIHRhcmdldHMgYmVsb3cgYW5kIHVuY29tbWVudCBpdC4gCisgICAgICAgT3RoZXIgc2ltaWxhciBleHRlbnNpb24gcG9pbnRzIGV4aXN0LCBzZWUgTWljcm9zb2Z0LkNvbW1vbi50YXJnZXRzLgorICA8VGFyZ2V0IE5hbWU9IkJlZm9yZUJ1aWxkIj4KKyAgPC9UYXJnZXQ+CisgIDxUYXJnZXQgTmFtZT0iQWZ0ZXJCdWlsZCI+CisgIDwvVGFyZ2V0PgorICAtLT4KKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3NhbXBsZXMvbG9jYXRpb25TYW1wbGUvTG9jYXRpb25Eb3ROZXRTYW1wbGUvUHJvZ3JhbS5jcyBiL3NhbXBsZXMvbG9jYXRpb25TYW1wbGUvTG9jYXRpb25Eb3ROZXRTYW1wbGUvUHJvZ3JhbS5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NjY0ZmZjCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9Mb2NhdGlvbkRvdE5ldFNhbXBsZS9Qcm9ncmFtLmNzCkBAIC0wLDAgKzEsMzcgQEAKK++7vy8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorLy8gY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisvLyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisvLyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorLy8gKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKy8vIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisvLworLy8gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCit1c2luZyBTeXN0ZW07Cit1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKK3VzaW5nIFN5c3RlbS5MaW5xOwordXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKK3VzaW5nIFN5c3RlbS5XaW5kb3dzLkZvcm1zOworCituYW1lc3BhY2UgTG9jYXRpb25Eb3ROZXRTYW1wbGUKK3sKKyAgICBzdGF0aWMgY2xhc3MgUHJvZ3JhbQorICAgIHsKKyAgICAgICAgLy8vIDxzdW1tYXJ5PgorICAgICAgICAvLy8gVGhlIG1haW4gZW50cnkgcG9pbnQgZm9yIHRoZSBhcHBsaWNhdGlvbi4KKyAgICAgICAgLy8vIDwvc3VtbWFyeT4KKyAgICAgICAgW1NUQVRocmVhZF0KKyAgICAgICAgc3RhdGljIHZvaWQgTWFpbigpCisgICAgICAgIHsKKyAgICAgICAgICAgIEFwcGxpY2F0aW9uLkVuYWJsZVZpc3VhbFN0eWxlcygpOworICAgICAgICAgICAgQXBwbGljYXRpb24uU2V0Q29tcGF0aWJsZVRleHRSZW5kZXJpbmdEZWZhdWx0KGZhbHNlKTsKKyAgICAgICAgICAgIEFwcGxpY2F0aW9uLlJ1bihuZXcgRm9ybTEoKSk7CisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9zYW1wbGVzL2xvY2F0aW9uU2FtcGxlL0xvY2F0aW9uRG90TmV0U2FtcGxlL1Byb3BlcnRpZXMvQXNzZW1ibHlJbmZvLmNzIGIvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9Mb2NhdGlvbkRvdE5ldFNhbXBsZS9Qcm9wZXJ0aWVzL0Fzc2VtYmx5SW5mby5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZTA1MTg5Ci0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9Mb2NhdGlvbkRvdE5ldFNhbXBsZS9Qcm9wZXJ0aWVzL0Fzc2VtYmx5SW5mby5jcwpAQCAtMCwwICsxLDUxIEBACivvu78vLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKwordXNpbmcgU3lzdGVtLlJlZmxlY3Rpb247Cit1c2luZyBTeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzOwordXNpbmcgU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzOworCisvLyBHZW5lcmFsIEluZm9ybWF0aW9uIGFib3V0IGFuIGFzc2VtYmx5IGlzIGNvbnRyb2xsZWQgdGhyb3VnaCB0aGUgZm9sbG93aW5nIAorLy8gc2V0IG9mIGF0dHJpYnV0ZXMuIENoYW5nZSB0aGVzZSBhdHRyaWJ1dGUgdmFsdWVzIHRvIG1vZGlmeSB0aGUgaW5mb3JtYXRpb24KKy8vIGFzc29jaWF0ZWQgd2l0aCBhbiBhc3NlbWJseS4KK1thc3NlbWJseTogQXNzZW1ibHlUaXRsZSgiTG9jYXRpb25Eb3ROZXRTYW1wbGUiKV0KK1thc3NlbWJseTogQXNzZW1ibHlEZXNjcmlwdGlvbigiIildCitbYXNzZW1ibHk6IEFzc2VtYmx5Q29uZmlndXJhdGlvbigiIildCitbYXNzZW1ibHk6IEFzc2VtYmx5Q29tcGFueSgiIildCitbYXNzZW1ibHk6IEFzc2VtYmx5UHJvZHVjdCgiTG9jYXRpb25Eb3ROZXRTYW1wbGUiKV0KK1thc3NlbWJseTogQXNzZW1ibHlDb3B5cmlnaHQoIkNvcHlyaWdodCDCqSAgMjAxMyIpXQorW2Fzc2VtYmx5OiBBc3NlbWJseVRyYWRlbWFyaygiIildCitbYXNzZW1ibHk6IEFzc2VtYmx5Q3VsdHVyZSgiIildCisKKy8vIFNldHRpbmcgQ29tVmlzaWJsZSB0byBmYWxzZSBtYWtlcyB0aGUgdHlwZXMgaW4gdGhpcyBhc3NlbWJseSBub3QgdmlzaWJsZSAKKy8vIHRvIENPTSBjb21wb25lbnRzLiAgSWYgeW91IG5lZWQgdG8gYWNjZXNzIGEgdHlwZSBpbiB0aGlzIGFzc2VtYmx5IGZyb20gCisvLyBDT00sIHNldCB0aGUgQ29tVmlzaWJsZSBhdHRyaWJ1dGUgdG8gdHJ1ZSBvbiB0aGF0IHR5cGUuCitbYXNzZW1ibHk6IENvbVZpc2libGUoZmFsc2UpXQorCisvLyBUaGUgZm9sbG93aW5nIEdVSUQgaXMgZm9yIHRoZSBJRCBvZiB0aGUgdHlwZWxpYiBpZiB0aGlzIHByb2plY3QgaXMgZXhwb3NlZCB0byBDT00KK1thc3NlbWJseTogR3VpZCgiOWJkNjgzNTAtYzdhMC00YjY1LWFhM2EtZWU1MzBjNGJhOTg3IildCisKKy8vIFZlcnNpb24gaW5mb3JtYXRpb24gZm9yIGFuIGFzc2VtYmx5IGNvbnNpc3RzIG9mIHRoZSBmb2xsb3dpbmcgZm91ciB2YWx1ZXM6CisvLworLy8gICAgICBNYWpvciBWZXJzaW9uCisvLyAgICAgIE1pbm9yIFZlcnNpb24gCisvLyAgICAgIEJ1aWxkIE51bWJlcgorLy8gICAgICBSZXZpc2lvbgorLy8KKy8vIFlvdSBjYW4gc3BlY2lmeSBhbGwgdGhlIHZhbHVlcyBvciB5b3UgY2FuIGRlZmF1bHQgdGhlIEJ1aWxkIGFuZCBSZXZpc2lvbiBOdW1iZXJzIAorLy8gYnkgdXNpbmcgdGhlICcqJyBhcyBzaG93biBiZWxvdzoKKy8vIFthc3NlbWJseTogQXNzZW1ibHlWZXJzaW9uKCIxLjAuKiIpXQorW2Fzc2VtYmx5OiBBc3NlbWJseVZlcnNpb24oIjEuMC4wLjAiKV0KK1thc3NlbWJseTogQXNzZW1ibHlGaWxlVmVyc2lvbigiMS4wLjAuMCIpXQpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9Mb2NhdGlvbkRvdE5ldFNhbXBsZS9Qcm9wZXJ0aWVzL1Jlc291cmNlcy5EZXNpZ25lci5jcyBiL3NhbXBsZXMvbG9jYXRpb25TYW1wbGUvTG9jYXRpb25Eb3ROZXRTYW1wbGUvUHJvcGVydGllcy9SZXNvdXJjZXMuRGVzaWduZXIuY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzg0ZjQ4MwotLS0gL2Rldi9udWxsCisrKyBiL3NhbXBsZXMvbG9jYXRpb25TYW1wbGUvTG9jYXRpb25Eb3ROZXRTYW1wbGUvUHJvcGVydGllcy9SZXNvdXJjZXMuRGVzaWduZXIuY3MKQEAgLTAsMCArMSw4NiBAQAor77u/Ly8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKy8vIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyA8YXV0by1nZW5lcmF0ZWQ+CisvLyAgICAgVGhpcyBjb2RlIHdhcyBnZW5lcmF0ZWQgYnkgYSB0b29sLgorLy8gICAgIFJ1bnRpbWUgVmVyc2lvbjo0LjAuMzAzMTkuMTgzMzEKKy8vCisvLyAgICAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmCisvLyAgICAgdGhlIGNvZGUgaXMgcmVnZW5lcmF0ZWQuCisvLyA8L2F1dG8tZ2VuZXJhdGVkPgorLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworbmFtZXNwYWNlIExvY2F0aW9uRG90TmV0U2FtcGxlLlByb3BlcnRpZXMKK3sKKworCisgICAgLy8vIDxzdW1tYXJ5PgorICAgIC8vLyAgIEEgc3Ryb25nbHktdHlwZWQgcmVzb3VyY2UgY2xhc3MsIGZvciBsb29raW5nIHVwIGxvY2FsaXplZCBzdHJpbmdzLCBldGMuCisgICAgLy8vIDwvc3VtbWFyeT4KKyAgICAvLyBUaGlzIGNsYXNzIHdhcyBhdXRvLWdlbmVyYXRlZCBieSB0aGUgU3Ryb25nbHlUeXBlZFJlc291cmNlQnVpbGRlcgorICAgIC8vIGNsYXNzIHZpYSBhIHRvb2wgbGlrZSBSZXNHZW4gb3IgVmlzdWFsIFN0dWRpby4KKyAgICAvLyBUbyBhZGQgb3IgcmVtb3ZlIGEgbWVtYmVyLCBlZGl0IHlvdXIgLlJlc1ggZmlsZSB0aGVuIHJlcnVuIFJlc0dlbgorICAgIC8vIHdpdGggdGhlIC9zdHIgb3B0aW9uLCBvciByZWJ1aWxkIHlvdXIgVlMgcHJvamVjdC4KKyAgICBbZ2xvYmFsOjpTeXN0ZW0uQ29kZURvbS5Db21waWxlci5HZW5lcmF0ZWRDb2RlQXR0cmlidXRlKCJTeXN0ZW0uUmVzb3VyY2VzLlRvb2xzLlN0cm9uZ2x5VHlwZWRSZXNvdXJjZUJ1aWxkZXIiLCAiNC4wLjAuMCIpXQorICAgIFtnbG9iYWw6OlN5c3RlbS5EaWFnbm9zdGljcy5EZWJ1Z2dlck5vblVzZXJDb2RlQXR0cmlidXRlKCldCisgICAgW2dsb2JhbDo6U3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcy5Db21waWxlckdlbmVyYXRlZEF0dHJpYnV0ZSgpXQorICAgIGludGVybmFsIGNsYXNzIFJlc291cmNlcworICAgIHsKKworICAgICAgICBwcml2YXRlIHN0YXRpYyBnbG9iYWw6OlN5c3RlbS5SZXNvdXJjZXMuUmVzb3VyY2VNYW5hZ2VyIHJlc291cmNlTWFuOworCisgICAgICAgIHByaXZhdGUgc3RhdGljIGdsb2JhbDo6U3lzdGVtLkdsb2JhbGl6YXRpb24uQ3VsdHVyZUluZm8gcmVzb3VyY2VDdWx0dXJlOworCisgICAgICAgIFtnbG9iYWw6OlN5c3RlbS5EaWFnbm9zdGljcy5Db2RlQW5hbHlzaXMuU3VwcHJlc3NNZXNzYWdlQXR0cmlidXRlKCJNaWNyb3NvZnQuUGVyZm9ybWFuY2UiLCAiQ0ExODExOkF2b2lkVW5jYWxsZWRQcml2YXRlQ29kZSIpXQorICAgICAgICBpbnRlcm5hbCBSZXNvdXJjZXMoKQorICAgICAgICB7CisgICAgICAgIH0KKworICAgICAgICAvLy8gPHN1bW1hcnk+CisgICAgICAgIC8vLyAgIFJldHVybnMgdGhlIGNhY2hlZCBSZXNvdXJjZU1hbmFnZXIgaW5zdGFuY2UgdXNlZCBieSB0aGlzIGNsYXNzLgorICAgICAgICAvLy8gPC9zdW1tYXJ5PgorICAgICAgICBbZ2xvYmFsOjpTeXN0ZW0uQ29tcG9uZW50TW9kZWwuRWRpdG9yQnJvd3NhYmxlQXR0cmlidXRlKGdsb2JhbDo6U3lzdGVtLkNvbXBvbmVudE1vZGVsLkVkaXRvckJyb3dzYWJsZVN0YXRlLkFkdmFuY2VkKV0KKyAgICAgICAgaW50ZXJuYWwgc3RhdGljIGdsb2JhbDo6U3lzdGVtLlJlc291cmNlcy5SZXNvdXJjZU1hbmFnZXIgUmVzb3VyY2VNYW5hZ2VyCisgICAgICAgIHsKKyAgICAgICAgICAgIGdldAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmICgocmVzb3VyY2VNYW4gPT0gbnVsbCkpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBnbG9iYWw6OlN5c3RlbS5SZXNvdXJjZXMuUmVzb3VyY2VNYW5hZ2VyIHRlbXAgPSBuZXcgZ2xvYmFsOjpTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlTWFuYWdlcigiTG9jYXRpb25Eb3ROZXRTYW1wbGUuUHJvcGVydGllcy5SZXNvdXJjZXMiLCB0eXBlb2YoUmVzb3VyY2VzKS5Bc3NlbWJseSk7CisgICAgICAgICAgICAgICAgICAgIHJlc291cmNlTWFuID0gdGVtcDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcmV0dXJuIHJlc291cmNlTWFuOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgLy8vIDxzdW1tYXJ5PgorICAgICAgICAvLy8gICBPdmVycmlkZXMgdGhlIGN1cnJlbnQgdGhyZWFkJ3MgQ3VycmVudFVJQ3VsdHVyZSBwcm9wZXJ0eSBmb3IgYWxsCisgICAgICAgIC8vLyAgIHJlc291cmNlIGxvb2t1cHMgdXNpbmcgdGhpcyBzdHJvbmdseSB0eXBlZCByZXNvdXJjZSBjbGFzcy4KKyAgICAgICAgLy8vIDwvc3VtbWFyeT4KKyAgICAgICAgW2dsb2JhbDo6U3lzdGVtLkNvbXBvbmVudE1vZGVsLkVkaXRvckJyb3dzYWJsZUF0dHJpYnV0ZShnbG9iYWw6OlN5c3RlbS5Db21wb25lbnRNb2RlbC5FZGl0b3JCcm93c2FibGVTdGF0ZS5BZHZhbmNlZCldCisgICAgICAgIGludGVybmFsIHN0YXRpYyBnbG9iYWw6OlN5c3RlbS5HbG9iYWxpemF0aW9uLkN1bHR1cmVJbmZvIEN1bHR1cmUKKyAgICAgICAgeworICAgICAgICAgICAgZ2V0CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIHJlc291cmNlQ3VsdHVyZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHNldAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJlc291cmNlQ3VsdHVyZSA9IHZhbHVlOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9Mb2NhdGlvbkRvdE5ldFNhbXBsZS9Qcm9wZXJ0aWVzL1Jlc291cmNlcy5yZXN4IGIvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9Mb2NhdGlvbkRvdE5ldFNhbXBsZS9Qcm9wZXJ0aWVzL1Jlc291cmNlcy5yZXN4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2NWMxODYKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL2xvY2F0aW9uU2FtcGxlL0xvY2F0aW9uRG90TmV0U2FtcGxlL1Byb3BlcnRpZXMvUmVzb3VyY2VzLnJlc3gKQEAgLTAsMCArMSwxMzMgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8IS0tCisgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorLS0+Cis8cm9vdD4KKyAgPCEtLSAKKyAgICBNaWNyb3NvZnQgUmVzWCBTY2hlbWEgCisgICAgCisgICAgVmVyc2lvbiAyLjAKKyAgICAKKyAgICBUaGUgcHJpbWFyeSBnb2FscyBvZiB0aGlzIGZvcm1hdCBpcyB0byBhbGxvdyBhIHNpbXBsZSBYTUwgZm9ybWF0IAorICAgIHRoYXQgaXMgbW9zdGx5IGh1bWFuIHJlYWRhYmxlLiBUaGUgZ2VuZXJhdGlvbiBhbmQgcGFyc2luZyBvZiB0aGUgCisgICAgdmFyaW91cyBkYXRhIHR5cGVzIGFyZSBkb25lIHRocm91Z2ggdGhlIFR5cGVDb252ZXJ0ZXIgY2xhc3NlcyAKKyAgICBhc3NvY2lhdGVkIHdpdGggdGhlIGRhdGEgdHlwZXMuCisgICAgCisgICAgRXhhbXBsZToKKyAgICAKKyAgICAuLi4gYWRvLm5ldC9YTUwgaGVhZGVycyAmIHNjaGVtYSAuLi4KKyAgICA8cmVzaGVhZGVyIG5hbWU9InJlc21pbWV0eXBlIj50ZXh0L21pY3Jvc29mdC1yZXN4PC9yZXNoZWFkZXI+CisgICAgPHJlc2hlYWRlciBuYW1lPSJ2ZXJzaW9uIj4yLjA8L3Jlc2hlYWRlcj4KKyAgICA8cmVzaGVhZGVyIG5hbWU9InJlYWRlciI+U3lzdGVtLlJlc291cmNlcy5SZXNYUmVzb3VyY2VSZWFkZXIsIFN5c3RlbS5XaW5kb3dzLkZvcm1zLCAuLi48L3Jlc2hlYWRlcj4KKyAgICA8cmVzaGVhZGVyIG5hbWU9IndyaXRlciI+U3lzdGVtLlJlc291cmNlcy5SZXNYUmVzb3VyY2VXcml0ZXIsIFN5c3RlbS5XaW5kb3dzLkZvcm1zLCAuLi48L3Jlc2hlYWRlcj4KKyAgICA8ZGF0YSBuYW1lPSJOYW1lMSI+PHZhbHVlPnRoaXMgaXMgbXkgbG9uZyBzdHJpbmc8L3ZhbHVlPjxjb21tZW50PnRoaXMgaXMgYSBjb21tZW50PC9jb21tZW50PjwvZGF0YT4KKyAgICA8ZGF0YSBuYW1lPSJDb2xvcjEiIHR5cGU9IlN5c3RlbS5EcmF3aW5nLkNvbG9yLCBTeXN0ZW0uRHJhd2luZyI+Qmx1ZTwvZGF0YT4KKyAgICA8ZGF0YSBuYW1lPSJCaXRtYXAxIiBtaW1ldHlwZT0iYXBwbGljYXRpb24veC1taWNyb3NvZnQubmV0Lm9iamVjdC5iaW5hcnkuYmFzZTY0Ij4KKyAgICAgICAgPHZhbHVlPltiYXNlNjQgbWltZSBlbmNvZGVkIHNlcmlhbGl6ZWQgLk5FVCBGcmFtZXdvcmsgb2JqZWN0XTwvdmFsdWU+CisgICAgPC9kYXRhPgorICAgIDxkYXRhIG5hbWU9Ikljb24xIiB0eXBlPSJTeXN0ZW0uRHJhd2luZy5JY29uLCBTeXN0ZW0uRHJhd2luZyIgbWltZXR5cGU9ImFwcGxpY2F0aW9uL3gtbWljcm9zb2Z0Lm5ldC5vYmplY3QuYnl0ZWFycmF5LmJhc2U2NCI+CisgICAgICAgIDx2YWx1ZT5bYmFzZTY0IG1pbWUgZW5jb2RlZCBzdHJpbmcgcmVwcmVzZW50aW5nIGEgYnl0ZSBhcnJheSBmb3JtIG9mIHRoZSAuTkVUIEZyYW1ld29yayBvYmplY3RdPC92YWx1ZT4KKyAgICAgICAgPGNvbW1lbnQ+VGhpcyBpcyBhIGNvbW1lbnQ8L2NvbW1lbnQ+CisgICAgPC9kYXRhPgorICAgICAgICAgICAgICAgIAorICAgIFRoZXJlIGFyZSBhbnkgbnVtYmVyIG9mICJyZXNoZWFkZXIiIHJvd3MgdGhhdCBjb250YWluIHNpbXBsZSAKKyAgICBuYW1lL3ZhbHVlIHBhaXJzLgorICAgIAorICAgIEVhY2ggZGF0YSByb3cgY29udGFpbnMgYSBuYW1lLCBhbmQgdmFsdWUuIFRoZSByb3cgYWxzbyBjb250YWlucyBhIAorICAgIHR5cGUgb3IgbWltZXR5cGUuIFR5cGUgY29ycmVzcG9uZHMgdG8gYSAuTkVUIGNsYXNzIHRoYXQgc3VwcG9ydCAKKyAgICB0ZXh0L3ZhbHVlIGNvbnZlcnNpb24gdGhyb3VnaCB0aGUgVHlwZUNvbnZlcnRlciBhcmNoaXRlY3R1cmUuIAorICAgIENsYXNzZXMgdGhhdCBkb24ndCBzdXBwb3J0IHRoaXMgYXJlIHNlcmlhbGl6ZWQgYW5kIHN0b3JlZCB3aXRoIHRoZSAKKyAgICBtaW1ldHlwZSBzZXQuCisgICAgCisgICAgVGhlIG1pbWV0eXBlIGlzIHVzZWQgZm9yIHNlcmlhbGl6ZWQgb2JqZWN0cywgYW5kIHRlbGxzIHRoZSAKKyAgICBSZXNYUmVzb3VyY2VSZWFkZXIgaG93IHRvIGRlcGVyc2lzdCB0aGUgb2JqZWN0LiBUaGlzIGlzIGN1cnJlbnRseSBub3QgCisgICAgZXh0ZW5zaWJsZS4gRm9yIGEgZ2l2ZW4gbWltZXR5cGUgdGhlIHZhbHVlIG11c3QgYmUgc2V0IGFjY29yZGluZ2x5OgorICAgIAorICAgIE5vdGUgLSBhcHBsaWNhdGlvbi94LW1pY3Jvc29mdC5uZXQub2JqZWN0LmJpbmFyeS5iYXNlNjQgaXMgdGhlIGZvcm1hdCAKKyAgICB0aGF0IHRoZSBSZXNYUmVzb3VyY2VXcml0ZXIgd2lsbCBnZW5lcmF0ZSwgaG93ZXZlciB0aGUgcmVhZGVyIGNhbiAKKyAgICByZWFkIGFueSBvZiB0aGUgZm9ybWF0cyBsaXN0ZWQgYmVsb3cuCisgICAgCisgICAgbWltZXR5cGU6IGFwcGxpY2F0aW9uL3gtbWljcm9zb2Z0Lm5ldC5vYmplY3QuYmluYXJ5LmJhc2U2NAorICAgIHZhbHVlICAgOiBUaGUgb2JqZWN0IG11c3QgYmUgc2VyaWFsaXplZCB3aXRoIAorICAgICAgICAgICAgOiBTeXN0ZW0uU2VyaWFsaXphdGlvbi5Gb3JtYXR0ZXJzLkJpbmFyeS5CaW5hcnlGb3JtYXR0ZXIKKyAgICAgICAgICAgIDogYW5kIHRoZW4gZW5jb2RlZCB3aXRoIGJhc2U2NCBlbmNvZGluZy4KKyAgICAKKyAgICBtaW1ldHlwZTogYXBwbGljYXRpb24veC1taWNyb3NvZnQubmV0Lm9iamVjdC5zb2FwLmJhc2U2NAorICAgIHZhbHVlICAgOiBUaGUgb2JqZWN0IG11c3QgYmUgc2VyaWFsaXplZCB3aXRoIAorICAgICAgICAgICAgOiBTeXN0ZW0uUnVudGltZS5TZXJpYWxpemF0aW9uLkZvcm1hdHRlcnMuU29hcC5Tb2FwRm9ybWF0dGVyCisgICAgICAgICAgICA6IGFuZCB0aGVuIGVuY29kZWQgd2l0aCBiYXNlNjQgZW5jb2RpbmcuCisKKyAgICBtaW1ldHlwZTogYXBwbGljYXRpb24veC1taWNyb3NvZnQubmV0Lm9iamVjdC5ieXRlYXJyYXkuYmFzZTY0CisgICAgdmFsdWUgICA6IFRoZSBvYmplY3QgbXVzdCBiZSBzZXJpYWxpemVkIGludG8gYSBieXRlIGFycmF5IAorICAgICAgICAgICAgOiB1c2luZyBhIFN5c3RlbS5Db21wb25lbnRNb2RlbC5UeXBlQ29udmVydGVyCisgICAgICAgICAgICA6IGFuZCB0aGVuIGVuY29kZWQgd2l0aCBiYXNlNjQgZW5jb2RpbmcuCisgICAgLS0+CisgIDx4c2Q6c2NoZW1hIGlkPSJyb290IiB4bWxucz0iIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczptc2RhdGE9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206eG1sLW1zZGF0YSI+CisgICAgPHhzZDplbGVtZW50IG5hbWU9InJvb3QiIG1zZGF0YTpJc0RhdGFTZXQ9InRydWUiPgorICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgPHhzZDpjaG9pY2UgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJtZXRhZGF0YSI+CisgICAgICAgICAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgICAgICA8eHNkOnNlcXVlbmNlPgorICAgICAgICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdHlwZT0ieHNkOnN0cmluZyIgbWluT2NjdXJzPSIwIiAvPgorICAgICAgICAgICAgICA8L3hzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibmFtZSIgdHlwZT0ieHNkOnN0cmluZyIgLz4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0idHlwZSIgdHlwZT0ieHNkOnN0cmluZyIgLz4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibWltZXR5cGUiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICAgICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJhc3NlbWJseSI+CisgICAgICAgICAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJhbGlhcyIgdHlwZT0ieHNkOnN0cmluZyIgLz4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibmFtZSIgdHlwZT0ieHNkOnN0cmluZyIgLz4KKyAgICAgICAgICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgIDwveHNkOmVsZW1lbnQ+CisgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImRhdGEiPgorICAgICAgICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgICAgPHhzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0idmFsdWUiIHR5cGU9InhzZDpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbXNkYXRhOk9yZGluYWw9IjEiIC8+CisgICAgICAgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImNvbW1lbnQiIHR5cGU9InhzZDpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbXNkYXRhOk9yZGluYWw9IjIiIC8+CisgICAgICAgICAgICAgIDwveHNkOnNlcXVlbmNlPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJuYW1lIiB0eXBlPSJ4c2Q6c3RyaW5nIiBtc2RhdGE6T3JkaW5hbD0iMSIgLz4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0idHlwZSIgdHlwZT0ieHNkOnN0cmluZyIgbXNkYXRhOk9yZGluYWw9IjMiIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9Im1pbWV0eXBlIiB0eXBlPSJ4c2Q6c3RyaW5nIiBtc2RhdGE6T3JkaW5hbD0iNCIgLz4KKyAgICAgICAgICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgIDwveHNkOmVsZW1lbnQ+CisgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InJlc2hlYWRlciI+CisgICAgICAgICAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgICAgICA8eHNkOnNlcXVlbmNlPgorICAgICAgICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdHlwZT0ieHNkOnN0cmluZyIgbWluT2NjdXJzPSIwIiBtc2RhdGE6T3JkaW5hbD0iMSIgLz4KKyAgICAgICAgICAgICAgPC94c2Q6c2VxdWVuY2U+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9Im5hbWUiIHR5cGU9InhzZDpzdHJpbmciIHVzZT0icmVxdWlyZWQiIC8+CisgICAgICAgICAgICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgICA8L3hzZDpjaG9pY2U+CisgICAgICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgICA8L3hzZDplbGVtZW50PgorICA8L3hzZDpzY2hlbWE+CisgIDxyZXNoZWFkZXIgbmFtZT0icmVzbWltZXR5cGUiPgorICAgIDx2YWx1ZT50ZXh0L21pY3Jvc29mdC1yZXN4PC92YWx1ZT4KKyAgPC9yZXNoZWFkZXI+CisgIDxyZXNoZWFkZXIgbmFtZT0idmVyc2lvbiI+CisgICAgPHZhbHVlPjIuMDwvdmFsdWU+CisgIDwvcmVzaGVhZGVyPgorICA8cmVzaGVhZGVyIG5hbWU9InJlYWRlciI+CisgICAgPHZhbHVlPlN5c3RlbS5SZXNvdXJjZXMuUmVzWFJlc291cmNlUmVhZGVyLCBTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODk8L3ZhbHVlPgorICA8L3Jlc2hlYWRlcj4KKyAgPHJlc2hlYWRlciBuYW1lPSJ3cml0ZXIiPgorICAgIDx2YWx1ZT5TeXN0ZW0uUmVzb3VyY2VzLlJlc1hSZXNvdXJjZVdyaXRlciwgU3lzdGVtLldpbmRvd3MuRm9ybXMsIFZlcnNpb249Mi4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5PC92YWx1ZT4KKyAgPC9yZXNoZWFkZXI+Cis8L3Jvb3Q+CmRpZmYgLS1naXQgYS9zYW1wbGVzL2xvY2F0aW9uU2FtcGxlL0xvY2F0aW9uRG90TmV0U2FtcGxlL1Byb3BlcnRpZXMvU2V0dGluZ3MuRGVzaWduZXIuY3MgYi9zYW1wbGVzL2xvY2F0aW9uU2FtcGxlL0xvY2F0aW9uRG90TmV0U2FtcGxlL1Byb3BlcnRpZXMvU2V0dGluZ3MuRGVzaWduZXIuY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjlhYjQxOAotLS0gL2Rldi9udWxsCisrKyBiL3NhbXBsZXMvbG9jYXRpb25TYW1wbGUvTG9jYXRpb25Eb3ROZXRTYW1wbGUvUHJvcGVydGllcy9TZXR0aW5ncy5EZXNpZ25lci5jcwpAQCAtMCwwICsxLDQ1IEBACivvu78vLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKy8vIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorLy8gdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorLy8gVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKy8vICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisvLyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorLy8KKy8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKy8vCisvLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisvLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisvLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisvLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vIDxhdXRvLWdlbmVyYXRlZD4KKy8vICAgICBUaGlzIGNvZGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wuCisvLyAgICAgUnVudGltZSBWZXJzaW9uOjQuMC4zMDMxOS4xODMzMQorLy8KKy8vICAgICBDaGFuZ2VzIHRvIHRoaXMgZmlsZSBtYXkgY2F1c2UgaW5jb3JyZWN0IGJlaGF2aW9yIGFuZCB3aWxsIGJlIGxvc3QgaWYKKy8vICAgICB0aGUgY29kZSBpcyByZWdlbmVyYXRlZC4KKy8vIDwvYXV0by1nZW5lcmF0ZWQ+CisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCituYW1lc3BhY2UgTG9jYXRpb25Eb3ROZXRTYW1wbGUuUHJvcGVydGllcworeworCisKKyAgICBbZ2xvYmFsOjpTeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzLkNvbXBpbGVyR2VuZXJhdGVkQXR0cmlidXRlKCldCisgICAgW2dsb2JhbDo6U3lzdGVtLkNvZGVEb20uQ29tcGlsZXIuR2VuZXJhdGVkQ29kZUF0dHJpYnV0ZSgiTWljcm9zb2Z0LlZpc3VhbFN0dWRpby5FZGl0b3JzLlNldHRpbmdzRGVzaWduZXIuU2V0dGluZ3NTaW5nbGVGaWxlR2VuZXJhdG9yIiwgIjExLjAuMC4wIildCisgICAgaW50ZXJuYWwgc2VhbGVkIHBhcnRpYWwgY2xhc3MgU2V0dGluZ3MgOiBnbG9iYWw6OlN5c3RlbS5Db25maWd1cmF0aW9uLkFwcGxpY2F0aW9uU2V0dGluZ3NCYXNlCisgICAgeworCisgICAgICAgIHByaXZhdGUgc3RhdGljIFNldHRpbmdzIGRlZmF1bHRJbnN0YW5jZSA9ICgoU2V0dGluZ3MpKGdsb2JhbDo6U3lzdGVtLkNvbmZpZ3VyYXRpb24uQXBwbGljYXRpb25TZXR0aW5nc0Jhc2UuU3luY2hyb25pemVkKG5ldyBTZXR0aW5ncygpKSkpOworCisgICAgICAgIHB1YmxpYyBzdGF0aWMgU2V0dGluZ3MgRGVmYXVsdAorICAgICAgICB7CisgICAgICAgICAgICBnZXQKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gZGVmYXVsdEluc3RhbmNlOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9Mb2NhdGlvbkRvdE5ldFNhbXBsZS9Qcm9wZXJ0aWVzL1NldHRpbmdzLnNldHRpbmdzIGIvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9Mb2NhdGlvbkRvdE5ldFNhbXBsZS9Qcm9wZXJ0aWVzL1NldHRpbmdzLnNldHRpbmdzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzYjczMTYKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL2xvY2F0aW9uU2FtcGxlL0xvY2F0aW9uRG90TmV0U2FtcGxlL1Byb3BlcnRpZXMvU2V0dGluZ3Muc2V0dGluZ3MKQEAgLTAsMCArMSwyMyBAQAor77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KKzwhLS0KKyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCistLT4KKzxTZXR0aW5nc0ZpbGUgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vVmlzdWFsU3R1ZGlvLzIwMDQvMDEvc2V0dGluZ3MiIEN1cnJlbnRQcm9maWxlPSIoRGVmYXVsdCkiPgorICA8UHJvZmlsZXM+CisgICAgPFByb2ZpbGUgTmFtZT0iKERlZmF1bHQpIiAvPgorICA8L1Byb2ZpbGVzPgorICA8U2V0dGluZ3MgLz4KKzwvU2V0dGluZ3NGaWxlPgpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9Mb2NhdGlvbkRvdE5ldFNhbXBsZS9TdG9yZS5jcyBiL3NhbXBsZXMvbG9jYXRpb25TYW1wbGUvTG9jYXRpb25Eb3ROZXRTYW1wbGUvU3RvcmUuY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmIyODc0NAotLS0gL2Rldi9udWxsCisrKyBiL3NhbXBsZXMvbG9jYXRpb25TYW1wbGUvTG9jYXRpb25Eb3ROZXRTYW1wbGUvU3RvcmUuY3MKQEAgLTAsMCArMSw0NSBAQAor77u/Ly8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisvLyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKy8vIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKy8vIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisvLyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorLy8gdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisvLworLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKK3VzaW5nIFN5c3RlbTsKK3VzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljOwordXNpbmcgU3lzdGVtLkxpbnE7Cit1c2luZyBTeXN0ZW0uVGV4dDsKK3VzaW5nIFN5c3RlbS5UaHJlYWRpbmcuVGFza3M7CisKK25hbWVzcGFjZSBMb2NhdGlvbkRvdE5ldFNhbXBsZQoreworICAgIGNsYXNzIFN0b3JlCisgICAgeworICAgICAgICBwdWJsaWMgc3RyaW5nIHV1aWQgeyBnZXQ7IHNldDsgfQorICAgICAgICBwdWJsaWMgc3RyaW5nIHR5cGUgeyBnZXQ7IHNldDsgfQorICAgICAgICBwdWJsaWMgc3RyaW5nIG5hbWUgeyBnZXQ7IHNldDsgfQorICAgICAgICBwdWJsaWMgc3RyaW5nW10gaG91cnMgeyBnZXQ7IHNldDsgfQorICAgICAgICBwdWJsaWMgbG9jYXRpb24gbG9jYXRpb24geyBnZXQ7IHNldDsgfQorICAgICAgICBwdWJsaWMgc3RyaW5nIHBoYXJtYWN5IHsgZ2V0OyBzZXQ7IH0KKyAgICAgICAgcHVibGljIHN0cmluZ1tdIHNlcnZpY2VzIHsgZ2V0OyBzZXQ7IH0KKyAgICAgICAgcHVibGljIHN0cmluZyBzdG9yZU51bWJlciB7IGdldDsgc2V0OyB9CisgICAgICAgIHB1YmxpYyBzdHJpbmcgc3VwZXJ0YXJnZXQgeyBnZXQ7IHNldDsgfQorCisgICAgfQorCisgICAgY2xhc3MgbG9jYXRpb24KKyAgICB7CisgICAgICAgIHB1YmxpYyBzdHJpbmcgc3RhdGVDb2RlIHsgZ2V0OyBzZXQ7IH0KKyAgICAgICAgcHVibGljIHN0cmluZyBsYXRpdHVkZSB7IGdldDsgc2V0OyB9CisgICAgICAgIHB1YmxpYyBzdHJpbmcgbG9uZ2l0dWRlIHsgZ2V0OyBzZXQ7IH0KKyAgICAgICAgcHVibGljIHN0cmluZyBkaXNwbGF5QWRkcmVzcyB7IGdldDsgc2V0OyB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9Mb2NhdGlvbkRvdE5ldFNhbXBsZS9wYWNrYWdlcy5jb25maWcgYi9zYW1wbGVzL2xvY2F0aW9uU2FtcGxlL0xvY2F0aW9uRG90TmV0U2FtcGxlL3BhY2thZ2VzLmNvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYjA0YjI1Ci0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9Mb2NhdGlvbkRvdE5ldFNhbXBsZS9wYWNrYWdlcy5jb25maWcKQEAgLTAsMCArMSwyMSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhLS0KKyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCistLT4KKworPHBhY2thZ2VzPgorICA8cGFja2FnZSBpZD0iR2VvY29kZXIiIHZlcnNpb249IjAuMS4wLjAiIHRhcmdldEZyYW1ld29yaz0ibmV0NDUiIC8+Cis8L3BhY2thZ2VzPgpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9SZWFkTWUubWQgYi9zYW1wbGVzL2xvY2F0aW9uU2FtcGxlL1JlYWRNZS5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MjgzZjZmCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9SZWFkTWUubWQKQEAgLTAsMCArMSwyMCBAQAorI0FwcCBTZXJ2aWNlcyAuTkVUIExvY2F0aW9uLWJhc2VkIHNhbXBsZSBhcHBsaWNhdGlvbgorCisjI1NldHVwIEluc3RydWN0aW9ucworRmlyc3QsIHlvdSBtdXN0IGxvYWQgdGhlIHN0b3JlIGRhdGEgaW50byBhIGNvbGxlY3Rpb24gb24geW91ciBBcHAgU2VydmljZXMgb3JnLiAgVGhpcyBpcyBkb25lIHdpdGggdGhlIGZvbGxvd2luZyBjdXJsIGNvbW1hbmQ6CisJY3VybCAtWCBQT1NUIC1kICdAc3RvcmVzLmpzb24nIGh0dHBzOi8vYXBpLnVzZXJncmlkLmNvbS88WU9VUiBPUkdBTklaQVRJT04+LzxZT1VSIEFQUD4vPFlPVVIgQ09MTEVDVElPTj4KK05leHQgeW91IG11c3QgbWFrZSBzdXJlIGFsbCBvZiB5b3VyIHJlZmVyZW5jZXMgYXJlIGluIG9yZGVyLiAgSXQgaXMgYXNzdW1lZCB0aGF0IHlvdSBoYXZlIGFscmVhZHkgYnVpbHQgdGhlIEFwcCBTZXJ2aWNlcyAuTkVUIFNESyBhbmQgaGF2ZSB0aG9zZQorYXZhaWxhYmxlLiAgRnJvbSB3aXRoaW4gVmlzdWFsIFN0dWRpbywgY2hvb3NlIFByb2plY3QgPiBBZGQgUmVmZXJlbmNlIGFuZCBiZSBzdXJlIHRvIGFkZCByZWZlcmVuY2VzIHRvOgorLSBVc2VyZ3JpZC5TZGsuZGxsCistIFJlc3RTaGFycC5kbGwKKz0gTmV3dG9uc29mdC5Kc29uLmRsbAorVGhlbiwgeW91IHdpbGwgbmVlZCB0byBhZGQgcmVmZXJlbmNlcyB0byB0aGUgR01hcC5OZXQgbGlicmFyaWVzCistIEdNYXAuTkVULkNvcmUuZGxsCistIEdNYXAuTkVULldpbmRvd3NGb3JtLmRsbAorVGhlc2UgZmlsZXMgY2FuIGJlIGZvdW5kIG9mZiB0aGUgSG90IEJ1aWxkIHBhZ2UgYXQgaHR0cDovL2dyZWF0bWFwcy5jb2RlcGxleC5jb20vcmVsZWFzZXMvdmlldy83MzE2MgorTmV4dCwgaW5zdGFsbCB0aGUgR2VvY29kaW5nIE51R2V0IGxpYnJhcnkgYnkgdHlwaW5nICJJbnN0YWxsLVBhY2thZ2UgR2VvY29kZXIiIGluIHRoZSBQYWNrYWdlIE1hbmFnZXIKKworSW4gdGhlIGZpbGUgRm9ybTEuY3MsIGNoYW5nZSB0aGUgb3JnIGFuZCBhcHAgbmFtZXMgdG8gbWF0Y2ggeW91ciBhY2NvdW50LiAgTm90ZSB0aGF0IGl0IGlzIGFzc3VtZWQgeW91IGFyZSB1c2luZyBhIHNhbmRib3ggYWNjb3VudCB0aGF0IGRvZXMgbm90CityZXF1aXJlIGEgc2VwYXJhdGUgbG9naW4gc3RlcC4gIElmIHRoYXQgaXMgbm90IHRoZSBjYXNlLCBhZGQgYSBjYWxsIHRvIGNsaWVudC5Mb2dpbigpIHdpdGggdGhlIGFwcHJvcHJpYXRlIGNyZWRlbnRpYWxzLgorCitBZnRlciB0aGVzZSBzZXR1cCBzdGVwcywgeW91IHNob3VsZCBiZSBhYmxlIHRvIGNvbXBpbGUgYW5kIHJ1biB0aGUgYXBwbGljYXRpb24uClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9wYWNrYWdlcy9HZW9jb2Rlci4wLjEuMC4wL0dlb2NvZGVyLjAuMS4wLjAubnVwa2cgYi9zYW1wbGVzL2xvY2F0aW9uU2FtcGxlL3BhY2thZ2VzL0dlb2NvZGVyLjAuMS4wLjAvR2VvY29kZXIuMC4xLjAuMC5udXBrZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YmQ3M2VmCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9wYWNrYWdlcy9HZW9jb2Rlci4wLjEuMC4wL0dlb2NvZGVyLjAuMS4wLjAubnVwa2cKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9wYWNrYWdlcy9HZW9jb2Rlci4wLjEuMC4wL0dlb2NvZGVyLjAuMS4wLjAubnVzcGVjIGIvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9wYWNrYWdlcy9HZW9jb2Rlci4wLjEuMC4wL0dlb2NvZGVyLjAuMS4wLjAubnVzcGVjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmZDI4OWEKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL2xvY2F0aW9uU2FtcGxlL3BhY2thZ2VzL0dlb2NvZGVyLjAuMS4wLjAvR2VvY29kZXIuMC4xLjAuMC5udXNwZWMKQEAgLTAsMCArMSwzMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IS0tCisgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorLS0+Cis8cGFja2FnZSB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9wYWNrYWdpbmcvMjAxMS8wOC9udXNwZWMueHNkIj4KKyAgPG1ldGFkYXRhPgorICAgIDxpZD5HZW9jb2RlcjwvaWQ+CisgICAgPHZlcnNpb24+MC4xLjAuMDwvdmVyc2lvbj4KKyAgICA8dGl0bGU+R2VvY29kZXI8L3RpdGxlPgorICAgIDxhdXRob3JzPkJyYW5kb24gTW9udGdvbWVyeTwvYXV0aG9ycz4KKyAgICA8b3duZXJzPkJyYW5kb24gTW9udGdvbWVyeTwvb3duZXJzPgorICAgIDxwcm9qZWN0VXJsPmh0dHA6Ly9naXRodWIuY29tL2Jtb250Z29tZXJ5L0dlb2NvZGVyPC9wcm9qZWN0VXJsPgorICAgIDxyZXF1aXJlTGljZW5zZUFjY2VwdGFuY2U+ZmFsc2U8L3JlcXVpcmVMaWNlbnNlQWNjZXB0YW5jZT4KKyAgICA8ZGVzY3JpcHRpb24+QSBzaW1wbGUgLk5FVCBsaWJyYXJ5IHdoaWNoIHV0aWxpemVzIEdvb2dsZSdzIEdlb2NvZGluZyBBUEkgdG8gZ2VvY29kZSBzdHJlZXQgYWRkcmVzc2VzLjwvZGVzY3JpcHRpb24+CisgICAgPHJlbGVhc2VOb3RlcyAvPgorICAgIDxjb3B5cmlnaHQ+Q29weXJpZ2h0IDIwMTM8L2NvcHlyaWdodD4KKyAgICA8dGFncz5HZW9jb2RpbmcgLk5FVDwvdGFncz4KKyAgPC9tZXRhZGF0YT4KKzwvcGFja2FnZT4KZGlmZiAtLWdpdCBhL3NhbXBsZXMvbG9jYXRpb25TYW1wbGUvcGFja2FnZXMvR2VvY29kZXIuMC4xLjAuMC9SRUFETUUudHh0IGIvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9wYWNrYWdlcy9HZW9jb2Rlci4wLjEuMC4wL1JFQURNRS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTMwZWM3MwotLS0gL2Rldi9udWxsCisrKyBiL3NhbXBsZXMvbG9jYXRpb25TYW1wbGUvcGFja2FnZXMvR2VvY29kZXIuMC4xLjAuMC9SRUFETUUudHh0CkBAIC0wLDAgKzEsMyBAQAorQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gcG9saWN5IHByZXZlbnRzIHVzIGZyb20gaW5jbHVkaW5nIERMTHMgYW5kIG90aGVyIGJpbmFyeSBmaWxlcyBpbiBvdXIgcmVsZWFzZXMuCisKK1lvdSB3aWxsIGhhdmUgdG8gZG93bmxvYWQgdGhpcyBwYWNrYWdlIGFuZCBwbGFjZSBpdCBpbiB0aGlzIGRpcmVjdG9yeSB5b3Vyc2VsZi4gClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9wYWNrYWdlcy9HZW9jb2Rlci4wLjEuMC4wL2xpYi9uZXQ0NS9HZW9jb2Rlci5kbGwgYi9zYW1wbGVzL2xvY2F0aW9uU2FtcGxlL3BhY2thZ2VzL0dlb2NvZGVyLjAuMS4wLjAvbGliL25ldDQ1L0dlb2NvZGVyLmRsbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMDc5OThkCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9wYWNrYWdlcy9HZW9jb2Rlci4wLjEuMC4wL2xpYi9uZXQ0NS9HZW9jb2Rlci5kbGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9wYWNrYWdlcy9yZXBvc2l0b3JpZXMuY29uZmlnIGIvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9wYWNrYWdlcy9yZXBvc2l0b3JpZXMuY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4MDk5MGUKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL2xvY2F0aW9uU2FtcGxlL3BhY2thZ2VzL3JlcG9zaXRvcmllcy5jb25maWcKQEAgLTAsMCArMSwyMCBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhLS0KKyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCistLT4KKzxyZXBvc2l0b3JpZXM+CisgIDxyZXBvc2l0b3J5IHBhdGg9Ii4uXExvY2F0aW9uRG90TmV0U2FtcGxlXHBhY2thZ2VzLmNvbmZpZyIgLz4KKzwvcmVwb3NpdG9yaWVzPgpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9sb2NhdGlvblNhbXBsZS9zdG9yZXMuanNvbiBiL3NhbXBsZXMvbG9jYXRpb25TYW1wbGUvc3RvcmVzLmpzb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjhhOGFjNwotLS0gL2Rldi9udWxsCisrKyBiL3NhbXBsZXMvbG9jYXRpb25TYW1wbGUvc3RvcmVzLmpzb24KQEAgLTAsMCArMSBAQAorW3sibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQUwiLCJsYXRpdHVkZSI6MzMuMjI2NSwibG9uZ2l0dWRlIjotODYuODA1OCwiZGlzcGxheUFkZHJlc3MiOiIyNTAgUyBDb2xvbmlhbCBEciwgQWxhYmFzdGVyLCBBTCwgMzUwMDcifSwic3RvcmVOdW1iZXIiOjIyNzYsIm5hbWUiOiJBbGFiYXN0ZXIiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFMIiwibGF0aXR1ZGUiOjMwLjY3MywibG9uZ2l0dWRlIjotODguMTI0OCwiZGlzcGxheUFkZHJlc3MiOiIzMTUwIEJlbCBBaXIgTWFsbCwgTW9iaWxlLCBBTCwgMzY2MDYifSwic3RvcmVOdW1iZXIiOjc5NywibmFtZSI6IkJlbC1BaXIiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQUwiLCJsYXRpdHVkZSI6MzMuMzMzOSwibG9uZ2l0dWRlIjotODYuOTkwNSwiZGlzcGxheUFkZHJlc3MiOiI0ODg5IFByb21lbmFkZSBQa3d5LCBCZXNzZW1lciwgQUwsIDM1MDIyIn0sInN0b3JlTnVtYmVyIjoyMzc1LCJuYW1lIjoiQmVzc2VtZXIiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFMIiwibGF0aXR1ZGUiOjMzLjQyNTgsImxvbmdpdHVkZSI6LTg2LjcxMTgsImRpc3BsYXlBZGRyZXNzIjoiNDYxNiBIaWdod2F5IDI4MCBTLCBCaXJtaW5naGFtLCBBTCwgMzUyNDIifSwic3RvcmVOdW1iZXIiOjE3NzIsIm5hbWUiOiJCaXJtaW5naGFtIDI4MCBDb3JyaWRvciBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQUwiLCJsYXRpdHVkZSI6MzAuNjAyNywibG9uZ2l0dWRlIjotODcuODk2NCwiZGlzcGxheUFkZHJlc3MiOiIxNjk4IFVTIEhpZ2h3YXkgOTgsIERhcGhuZSwgQUwsIDM2NTI2In0sInN0b3JlTnVtYmVyIjoxMjc0LCJuYW1lIjoiRGFwaG5lIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBTCIsImxhdGl0dWRlIjozNC41NjA0LCJsb25naXR1ZGUiOi04Ni45NzE4LCJkaXNwbGF5QWRkcmVzcyI6IjEyMzUgUG9pbnQgTWFsbGFyZCBQYXJrd2F5IFNFLCBEZWNhdHVyLCBBTCwgMzU2MDEifSwic3RvcmVOdW1iZXIiOjIwODQsIm5hbWUiOiJEZWNhdHVyIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBTCIsImxhdGl0dWRlIjozMS4yNjcyLCJsb25naXR1ZGUiOi04NS40NDA5LCJkaXNwbGF5QWRkcmVzcyI6IjQ2MDEgTW9udGdvbWVyeSBId3kgU3RlIDMwMCwgRG90aGFuLCBBTCwgMzYzMDMifSwic3RvcmVOdW1iZXIiOjE0NjgsIm5hbWUiOiJEb3RoYW4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQUwiLCJsYXRpdHVkZSI6MzQuODQyLCJsb25naXR1ZGUiOi04Ny42MzUsImRpc3BsYXlBZGRyZXNzIjoiMzcyIENveCBDcmVlayBQa3d5LCBGbG9yZW5jZSwgQUwsIDM1NjMwIn0sInN0b3JlTnVtYmVyIjoxMzIyLCJuYW1lIjoiRmxvcmVuY2UiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBTCIsImxhdGl0dWRlIjozMy42MDY4LCJsb25naXR1ZGUiOi04Ni44MDYzLCJkaXNwbGF5QWRkcmVzcyI6IjM0ODkgTG93ZXJ5IFBrd3ksIEZ1bHRvbmRhbGUsIEFMLCAzNTA2OCJ9LCJzdG9yZU51bWJlciI6MjM1NSwibmFtZSI6IkZ1bHRvbmRhbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFMIiwibGF0aXR1ZGUiOjMwLjMwMzEsImxvbmdpdHVkZSI6LTg3LjY4MDcsImRpc3BsYXlBZGRyZXNzIjoiMzgyMCBHdWxmIFNob3JlcyBQa3d5LCBHdWxmIFNob3JlcywgQUwsIDM2NTQyIn0sInN0b3JlTnVtYmVyIjoyMTU0LCJuYW1lIjoiR3VsZiBTaG9yZXMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBTCIsImxhdGl0dWRlIjozMy4zNjExLCJsb25naXR1ZGUiOi04Ni44NTI2LCJkaXNwbGF5QWRkcmVzcyI6IjU1NjEgR3JvdmUgQmx2ZCwgQmlybWluZ2hhbSwgQUwsIDM1MjI2In0sInN0b3JlTnVtYmVyIjoyNTAzLCJuYW1lIjoiSG9vdmVyIFdlc3QgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFMIiwibGF0aXR1ZGUiOjM0LjY3MjksImxvbmdpdHVkZSI6LTg2LjU0MTQsImRpc3BsYXlBZGRyZXNzIjoiMjc1MCBDYXJsIFQgSm9uZXMgRHIgU0UgU3RlIDcsIEh1bnRzdmlsbGUsIEFMLCAzNTgwMiJ9LCJzdG9yZU51bWJlciI6MTM2NywibmFtZSI6Ikh1bnRzdmlsbGUgU291dGggU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQUwiLCJsYXRpdHVkZSI6MzQuNzQxOCwibG9uZ2l0dWRlIjotODYuNjgxOCwiZGlzcGxheUFkZHJlc3MiOiI2Mjc1IFVuaXZlcnNpdHkgRHIgTlcsIEh1bnRzdmlsbGUsIEFMLCAzNTgwNiJ9LCJzdG9yZU51bWJlciI6MTM0NiwibmFtZSI6Ikh1bnRzdmlsbGUgV2VzdCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQUwiLCJsYXRpdHVkZSI6MzQuNzQ5MiwibG9uZ2l0dWRlIjotODYuNzU1NywiZGlzcGxheUFkZHJlc3MiOiI4MjA3IEhJR0hXQVkgNzIgVywgTWFkaXNvbiwgQUwsIDM1NzU4In0sInN0b3JlTnVtYmVyIjoyODE2LCJuYW1lIjoiTWFkaXNvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFMIiwibGF0aXR1ZGUiOjMwLjY3NDEsImxvbmdpdHVkZSI6LTg4LjIyOCwiZGlzcGxheUFkZHJlc3MiOiI3OTAgU2NoaWxsaW5nZXIgUmQgUywgTW9iaWxlLCBBTCwgMzY2OTUifSwic3RvcmVOdW1iZXIiOjEzNzYsIm5hbWUiOiJNb2JpbGUgV2VzdCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFMIiwibGF0aXR1ZGUiOjMyLjM2MDksImxvbmdpdHVkZSI6LTg2LjE2MjEsImRpc3BsYXlBZGRyZXNzIjoiMjU3NiBCZXJyeWhpbGwgUmQsIE1vbnRnb21lcnksIEFMLCAzNjExNyJ9LCJzdG9yZU51bWJlciI6MTgyNSwibmFtZSI6Ik1vbnRnb21lcnkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBTCIsImxhdGl0dWRlIjozMi42MTc4LCJsb25naXR1ZGUiOi04NS40MTAxLCJkaXNwbGF5QWRkcmVzcyI6IjI2NDAgRW50ZXJwcmlzZSBEciwgT3BlbGlrYSwgQUwsIDM2ODAxIn0sInN0b3JlTnVtYmVyIjoxNDk5LCJuYW1lIjoiT3BlbGlrYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFMIiwibGF0aXR1ZGUiOjMzLjYwOTgsImxvbmdpdHVkZSI6LTg1Ljc4MzYsImRpc3BsYXlBZGRyZXNzIjoiNDAwIE94Zm9yZCBFeGNoYW5nZSBCbHZkLCBPeGZvcmQsIEFMLCAzNjIwMyJ9LCJzdG9yZU51bWJlciI6MjE1MywibmFtZSI6Ik94Zm9yZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFMIiwibGF0aXR1ZGUiOjMyLjQ1NzcsImxvbmdpdHVkZSI6LTg2LjM5NiwiZGlzcGxheUFkZHJlc3MiOiIyNzU0IExlZ2VuZHMgUGt3eSwgUHJhdHR2aWxsZSwgQUwsIDM2MDY2In0sInN0b3JlTnVtYmVyIjoyMjc0LCJuYW1lIjoiUHJhdHR2aWxsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBTCIsImxhdGl0dWRlIjozMy42MDQ3LCJsb25naXR1ZGUiOi04Ni42MzcxLCJkaXNwbGF5QWRkcmVzcyI6IjE2NTQgR2Fkc2RlbiBId3ksIEJpcm1pbmdoYW0sIEFMLCAzNTIzNSJ9LCJzdG9yZU51bWJlciI6MTc3MywibmFtZSI6IlRydXNzdmlsbGUgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQUwiLCJsYXRpdHVkZSI6MzMuMTkzMywibG9uZ2l0dWRlIjotODcuNTE4MiwiZGlzcGxheUFkZHJlc3MiOiIxOTAxIDEzdGggQXZlIEUsIFR1c2NhbG9vc2EsIEFMLCAzNTQwNCJ9LCJzdG9yZU51bWJlciI6MTc4NywibmFtZSI6IlR1c2NhbG9vc2EgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFLIiwibGF0aXR1ZGUiOjYxLjIyNzYsImxvbmdpdHVkZSI6LTE0OS43NDMsImRpc3BsYXlBZGRyZXNzIjoiMTIwMCBOIE11bGRvb24gUmQsIEFuY2hvcmFnZSwgQUssIDk5NTA0In0sInN0b3JlTnVtYmVyIjoyMzcxLCJuYW1lIjoiQW5jaG9yYWdlIE5FIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlN0YXJidWNrcyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQUsiLCJsYXRpdHVkZSI6NjEuMTI5NSwibG9uZ2l0dWRlIjotMTQ5Ljg4MiwiZGlzcGxheUFkZHJlc3MiOiIxNTAgVyAxMDB0aCBBdmUsIEFuY2hvcmFnZSwgQUssIDk5NTE1In0sInN0b3JlTnVtYmVyIjoyMzcyLCJuYW1lIjoiQW5jaG9yYWdlIFNvdXRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlN0YXJidWNrcyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFLIiwibGF0aXR1ZGUiOjYxLjU3NzQsImxvbmdpdHVkZSI6LTE0OS40MDUsImRpc3BsYXlBZGRyZXNzIjoiMTgwMSBFIFBhcmtzIEh3eSwgV2FzaWxsYSwgQUssIDk5NjU0In0sInN0b3JlTnVtYmVyIjoyMzM5LCJuYW1lIjoiV2FzaWxsYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJTdGFyYnVja3MiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFaIiwibGF0aXR1ZGUiOjMzLjMyMTQsImxvbmdpdHVkZSI6LTExMS45ODEsImRpc3BsYXlBZGRyZXNzIjoiNDczNCBFIFJheSBSZCwgUGhvZW5peCwgQVosIDg1MDQ0In0sInN0b3JlTnVtYmVyIjo5MDksIm5hbWUiOiJBaHdhdHVrZWUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQVoiLCJsYXRpdHVkZSI6MzMuNDc4OSwibG9uZ2l0dWRlIjotMTExLjk4NCwiZGlzcGxheUFkZHJlc3MiOiI0NTE1IEUgVGhvbWFzIFJkLCBQaG9lbml4LCBBWiwgODUwMTgifSwic3RvcmVOdW1iZXIiOjk1MCwibmFtZSI6IkFyY2FkaWEgQ3Jvc3NpbmciLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFaIiwibGF0aXR1ZGUiOjM1LjA1MTEsImxvbmdpdHVkZSI6LTExNC41OTIsImRpc3BsYXlBZGRyZXNzIjoiMzY5OSBId3kgOTUsIEJ1bGxoZWFkIENpdHksIEFaLCA4NjQ0MiJ9LCJzdG9yZU51bWJlciI6MjM2OCwibmFtZSI6IkJ1bGxoZWFkIENpdHkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQVoiLCJsYXRpdHVkZSI6MzIuODgwOSwibG9uZ2l0dWRlIjotMTExLjY4NCwiZGlzcGxheUFkZHJlc3MiOiI5NTEgTiBQcm9tZW5hZGUgUGt3eSwgQ2FzYSBHcmFuZGUsIEFaLCA4NTE5NCJ9LCJzdG9yZU51bWJlciI6MjM1MywibmFtZSI6IkNhc2EgR3JhbmRlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBWiIsImxhdGl0dWRlIjozMy4zMzgzLCJsb25naXR1ZGUiOi0xMTEuODQ0LCJkaXNwbGF5QWRkcmVzcyI6IjIxNTAgTiBBcml6b25hIEF2ZSwgQ2hhbmRsZXIsIEFaLCA4NTIyNSJ9LCJzdG9yZU51bWJlciI6MjUyLCJuYW1lIjoiQ2hhbmRsZXIiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFaIiwibGF0aXR1ZGUiOjMzLjI0OTksImxvbmdpdHVkZSI6LTExMS44MzgsImRpc3BsYXlBZGRyZXNzIjoiMzc3NyBTIEFSSVpPTkEgQVZFLCBDaGFuZGxlciwgQVosIDg1MjQ4In0sInN0b3JlTnVtYmVyIjoyNzQ3LCJuYW1lIjoiQ2hhbmRsZXIgU291dGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQVoiLCJsYXRpdHVkZSI6MzMuMjk2MywibG9uZ2l0dWRlIjotMTExLjg5OSwiZGlzcGxheUFkZHJlc3MiOiIzNDI1IFcgRnJ5ZSBSZCwgQ2hhbmRsZXIsIEFaLCA4NTIyNiJ9LCJzdG9yZU51bWJlciI6MTgzOCwibmFtZSI6IkNoYW5kbGVyIFdlc3QgU2FudGFuIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFaIiwibGF0aXR1ZGUiOjMzLjYzODEsImxvbmdpdHVkZSI6LTExMi4wNjksImRpc3BsYXlBZGRyZXNzIjoiMTY4MDYgTiA3dGggU3QsIFBob2VuaXgsIEFaLCA4NTAyMiJ9LCJzdG9yZU51bWJlciI6MjIzNiwibmFtZSI6IkRlZXIgVmFsbGV5IFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFaIiwibGF0aXR1ZGUiOjMzLjc3OTUsImxvbmdpdHVkZSI6LTExMS45MjMsImRpc3BsYXlBZGRyZXNzIjoiMzIzNTEgTiBTY290dHNkYWxlIFJkLCBTY290dHNkYWxlLCBBWiwgODUyNjIifSwic3RvcmVOdW1iZXIiOjEzMjcsIm5hbWUiOiJGYXIgTm9ydGggU2NvdHRzZGFsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBWiIsImxhdGl0dWRlIjozNS4xODQsImxvbmdpdHVkZSI6LTExMS42NiwiZGlzcGxheUFkZHJlc3MiOiIxNjUwIFMgTWlsdG9uIFJkLCBGbGFnc3RhZmYsIEFaLCA4NjAwMSJ9LCJzdG9yZU51bWJlciI6OTM1LCJuYW1lIjoiRmxhZ3N0YWZmIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFaIiwibGF0aXR1ZGUiOjMzLjU3MzgsImxvbmdpdHVkZSI6LTExMS43MTgsImRpc3BsYXlBZGRyZXNzIjoiMTY4MjUgRSBTaGVhIEJsdmQsIEZvdW50YWluIEhpbGxzLCBBWiwgODUyNjgifSwic3RvcmVOdW1iZXIiOjE0MzIsIm5hbWUiOiJGb3VudGFpbiBIaWxscyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQVoiLCJsYXRpdHVkZSI6MzMuMzM0MiwibG9uZ2l0dWRlIjotMTExLjc1NywiZGlzcGxheUFkZHJlc3MiOiIxNTE1IEUgV2FybmVyIFJkLCBHaWxiZXJ0LCBBWiwgODUyOTYifSwic3RvcmVOdW1iZXIiOjEyMDksIm5hbWUiOiJHaWxiZXJ0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFaIiwibGF0aXR1ZGUiOjMzLjMyMjgsImxvbmdpdHVkZSI6LTExMS42ODgsImRpc3BsYXlBZGRyZXNzIjoiNTExMCBTIFBvd2VyIFJkLCBNZXNhLCBBWiwgODUyMTIifSwic3RvcmVOdW1iZXIiOjE5NTksIm5hbWUiOiJHaWxiZXJ0IFNFIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFaIiwibGF0aXR1ZGUiOjMzLjI3OSwibG9uZ2l0dWRlIjotMTExLjc4OCwiZGlzcGxheUFkZHJlc3MiOiIzOTMxIFMgR2lsYmVydCBSZCwgR2lsYmVydCwgQVosIDg1Mjk3In0sInN0b3JlTnVtYmVyIjoxOTYwLCJuYW1lIjoiR2lsYmVydCBTVyBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBWiIsImxhdGl0dWRlIjozMy41ODA1LCJsb25naXR1ZGUiOi0xMTIuMTUzLCJkaXNwbGF5QWRkcmVzcyI6IjEwNDA0IE4gNDNyZCBBdmUsIEdsZW5kYWxlLCBBWiwgODUzMDIifSwic3RvcmVOdW1iZXIiOjIzNDEsIm5hbWUiOiJHbGVuZGFsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQVoiLCJsYXRpdHVkZSI6MzMuNDYzMiwibG9uZ2l0dWRlIjotMTEyLjM1NiwiZGlzcGxheUFkZHJlc3MiOiIxNTE1IE4gTGl0Y2hmaWVsZCBSZCwgR29vZHllYXIsIEFaLCA4NTM5NSJ9LCJzdG9yZU51bWJlciI6MTI0MiwibmFtZSI6Ikdvb2R5ZWFyIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBWiIsImxhdGl0dWRlIjozMy40Mzc1LCJsb25naXR1ZGUiOi0xMTIuNDIyLCJkaXNwbGF5QWRkcmVzcyI6Ijk5NSBTIENvdHRvbiBMbiwgR29vZHllYXIsIEFaLCA4NTMzOCJ9LCJzdG9yZU51bWJlciI6MjQwMCwibmFtZSI6Ikdvb2R5ZWFyIFdlc3QgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBWiIsImxhdGl0dWRlIjozMy4zOTQyLCJsb25naXR1ZGUiOi0xMTEuNzg2LCJkaXNwbGF5QWRkcmVzcyI6IjExMzUgUyBHaWxiZXJ0IFJkLCBNZXNhLCBBWiwgODUyMDQifSwic3RvcmVOdW1iZXIiOjI1MSwibmFtZSI6Ik1lc2EgQ2VudHJhbCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFaIiwibGF0aXR1ZGUiOjMzLjM4NzksImxvbmdpdHVkZSI6LTExMS42ODQsImRpc3BsYXlBZGRyZXNzIjoiMTUyNSBTIFBvd2VyIFJkLCBNZXNhLCBBWiwgODUyMDYifSwic3RvcmVOdW1iZXIiOjYzOSwibmFtZSI6Ik1lc2EgRWFzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBWiIsImxhdGl0dWRlIjozMy40NTM3LCJsb25naXR1ZGUiOi0xMTEuNjgyLCJkaXNwbGF5QWRkcmVzcyI6IjIxNTEgTiBQb3dlciBSZCwgTWVzYSwgQVosIDg1MjE1In0sInN0b3JlTnVtYmVyIjoxMzg2LCJuYW1lIjoiTWVzYSBSZWQgTW91bnRhaW4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFaIiwibGF0aXR1ZGUiOjMzLjM5MTksImxvbmdpdHVkZSI6LTExMS44NjUsImRpc3BsYXlBZGRyZXNzIjoiMTIzMCBTIExvbmdtb3JlIEF2ZSwgTWVzYSwgQVosIDg1MjAyIn0sInN0b3JlTnVtYmVyIjoxNDI5LCJuYW1lIjoiTWVzYSBXZXN0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQVoiLCJsYXRpdHVkZSI6MzMuNjI3NCwibG9uZ2l0dWRlIjotMTExLjg4OSwiZGlzcGxheUFkZHJlc3MiOiIxNTQ0NCBOIEZyYW5rIExsb3lkIFdyaWdodCBCbHZkLCBTY290dHNkYWxlLCBBWiwgODUyNjAifSwic3RvcmVOdW1iZXIiOjkzNiwibmFtZSI6Ik5vcnRoIFNjb3R0c2RhbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQVoiLCJsYXRpdHVkZSI6MzIuMzk5MiwibG9uZ2l0dWRlIjotMTEwLjk1OSwiZGlzcGxheUFkZHJlc3MiOiIxMDU1NSBOIE9yYWNsZSBSZCwgT3JvIFZhbGxleSwgQVosIDg1NzM3In0sInN0b3JlTnVtYmVyIjo3MDAsIm5hbWUiOiJPcm8gVmFsbGV5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFaIiwibGF0aXR1ZGUiOjMzLjYwMDgsImxvbmdpdHVkZSI6LTExMS45OSwiZGlzcGxheUFkZHJlc3MiOiIxMjYwMiBOIFBhcmFkaXNlIFZpbGxhZ2UgUGt3eSBXLCBQaG9lbml4LCBBWiwgODUwMzIifSwic3RvcmVOdW1iZXIiOjIzMywibmFtZSI6IlBhcmFkaXNlIFZhbGxleSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBWiIsImxhdGl0dWRlIjozMy43MDg4LCJsb25naXR1ZGUiOi0xMTIuMjc1LCJkaXNwbGF5QWRkcmVzcyI6IjI0ODkwIE4gTGFrZSBQbGVhc2FudCBQa3d5LCBQZW9yaWEsIEFaLCA4NTM4MyJ9LCJzdG9yZU51bWJlciI6MjIyNywibmFtZSI6IlBlb3JpYSBGYXIgTm9ydGggU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQVoiLCJsYXRpdHVkZSI6MzMuNjM1OCwibG9uZ2l0dWRlIjotMTEyLjIyOCwiZGlzcGxheUFkZHJlc3MiOiI4MDU1IFcgQmVsbCBSZCwgUGVvcmlhLCBBWiwgODUzODIifSwic3RvcmVOdW1iZXIiOjgyNSwibmFtZSI6IlBlb3JpYSBOb3J0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQVoiLCJsYXRpdHVkZSI6MzMuNTU0NiwibG9uZ2l0dWRlIjotMTEyLjI2MSwiZGlzcGxheUFkZHJlc3MiOiI5MzUwIFcgTm9ydGhlcm4gQXZlLCBHbGVuZGFsZSwgQVosIDg1MzA1In0sInN0b3JlTnVtYmVyIjoxMzYxLCJuYW1lIjoiUGVvcmlhIFNXIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBWiIsImxhdGl0dWRlIjozMy42NzQ3LCJsb25naXR1ZGUiOi0xMTEuOTc0LCJkaXNwbGF5QWRkcmVzcyI6IjIxMDAxIE4gVGF0dW0gQmx2ZCBTdGUgMjAsIFBob2VuaXgsIEFaLCA4NTA1MCJ9LCJzdG9yZU51bWJlciI6MTM2MCwibmFtZSI6IlBob2VuaXggTkUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFaIiwibGF0aXR1ZGUiOjMzLjY2NzEsImxvbmdpdHVkZSI6LTExMi4xMTksImRpc3BsYXlBZGRyZXNzIjoiMjcyNyBXIEFndWEgRnJpYSBGd3ksIFBob2VuaXgsIEFaLCA4NTAyNyJ9LCJzdG9yZU51bWJlciI6MTE0MSwibmFtZSI6IlBob2VuaXggTm9ydGggQ2VudHJhbCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBWiIsImxhdGl0dWRlIjozMy40MjM2LCJsb25naXR1ZGUiOi0xMTIuMjY5LCJkaXNwbGF5QWRkcmVzcyI6Ijk4MzAgVyBMb3dlciBCdWNrZXllIFJkLCBUb2xsZXNvbiwgQVosIDg1MzUzIn0sInN0b3JlTnVtYmVyIjoyMTQ5LCJuYW1lIjoiUGhvZW5peCBTVyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFaIiwibGF0aXR1ZGUiOjMzLjUyMjYsImxvbmdpdHVkZSI6LTExMi4wOTYsImRpc3BsYXlBZGRyZXNzIjoiNTcxNSBOIDE5dGggQXZlLCBQaG9lbml4LCBBWiwgODUwMTUifSwic3RvcmVOdW1iZXIiOjIzNTQsIm5hbWUiOiJQaG9lbml4IFNwZWN0cnVtIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBWiIsImxhdGl0dWRlIjozNC41NDg4LCJsb25naXR1ZGUiOi0xMTIuNDMyLCJkaXNwbGF5QWRkcmVzcyI6IjE4NTEgRSBIaWdod2F5IDY5LCBQcmVzY290dCwgQVosIDg2MzAxIn0sInN0b3JlTnVtYmVyIjo4ODQsIm5hbWUiOiJQcmVzY290dCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOltdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBWiIsImxhdGl0dWRlIjozMy4yNTM1LCJsb25naXR1ZGUiOi0xMTEuNjQxLCJkaXNwbGF5QWRkcmVzcyI6IjIxMzk4IFMgRWxsc3dvcnRoIExvb3AgUmQsIFF1ZWVuIENyZWVrLCBBWiwgODUxNDIifSwic3RvcmVOdW1iZXIiOjIzNjUsIm5hbWUiOiJRdWVlbiBDcmVlayBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBWiIsImxhdGl0dWRlIjozMy41NDAzLCJsb25naXR1ZGUiOi0xMTEuODg4LCJkaXNwbGF5QWRkcmVzcyI6IjkwMDAgRSBJbmRpYW4gQmVuZCBSZCwgU2NvdHRzZGFsZSwgQVosIDg1MjUwIn0sInN0b3JlTnVtYmVyIjozNjMsIm5hbWUiOiJTY290dHNkYWxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBWiIsImxhdGl0dWRlIjozMS41NTU5LCJsb25naXR1ZGUiOi0xMTAuMjU1LCJkaXNwbGF5QWRkcmVzcyI6IjQxNTEgRSBIaWdod2F5IDkwLCBTaWVycmEgVmlzdGEsIEFaLCA4NTYzNSJ9LCJzdG9yZU51bWJlciI6NzM1LCJuYW1lIjoiU2llcnJhIFZpc3RhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFaIiwibGF0aXR1ZGUiOjMzLjM3OTEsImxvbmdpdHVkZSI6LTExMi4wMzQsImRpc3BsYXlBZGRyZXNzIjoiMjE0MCBFIEJhc2VsaW5lIFJkLCBQaG9lbml4LCBBWiwgODUwNDIifSwic3RvcmVOdW1iZXIiOjE5MDUsIm5hbWUiOiJTb3V0aCBNb3VudGFpbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBWiIsImxhdGl0dWRlIjozMy42MzcxLCJsb25naXR1ZGUiOi0xMTIuMzUyLCJkaXNwbGF5QWRkcmVzcyI6IjEzNzMxIFcgQmVsbCBSZCwgU3VycHJpc2UsIEFaLCA4NTM3NCJ9LCJzdG9yZU51bWJlciI6MTMzNSwibmFtZSI6IlN1cnByaXNlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBWiIsImxhdGl0dWRlIjozMy40MzEyLCJsb25naXR1ZGUiOi0xMTEuOTA0LCJkaXNwbGF5QWRkcmVzcyI6IjE4MDAgRSBSaW8gU2FsYWRvIFBrd3kgU3RlIDEyMCwgVGVtcGUsIEFaLCA4NTI4MSJ9LCJzdG9yZU51bWJlciI6MjE3NiwibmFtZSI6IlRlbXBlIE5FIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBWiIsImxhdGl0dWRlIjozMy4zNzk1LCJsb25naXR1ZGUiOi0xMTEuOTA4LCJkaXNwbGF5QWRkcmVzcyI6IjE4MTggRSBCYXNlbGluZSBSZCwgVGVtcGUsIEFaLCA4NTI4MyJ9LCJzdG9yZU51bWJlciI6MzE5LCJuYW1lIjoiVGVtcGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFaIiwibGF0aXR1ZGUiOjMyLjIyMjgsImxvbmdpdHVkZSI6LTExMC44OCwiZGlzcGxheUFkZHJlc3MiOiI1MjU1IEUgQnJvYWR3YXkgQmx2ZCwgVHVjc29uLCBBWiwgODU3MTEifSwic3RvcmVOdW1iZXIiOjE3OSwibmFtZSI6IlR1Y3NvbiBCcm9hZHdheSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQVoiLCJsYXRpdHVkZSI6MzIuMjIyOCwibG9uZ2l0dWRlIjotMTEwLjkxOCwiZGlzcGxheUFkZHJlc3MiOiIzNjk5IEUgQnJvYWR3YXkgQmx2ZCwgVHVjc29uLCBBWiwgODU3MTYifSwic3RvcmVOdW1iZXIiOjE0MzksIm5hbWUiOiJUdWNzb24gRWwgQ29uIE1hbGwiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFaIiwibGF0aXR1ZGUiOjMyLjI0OTMsImxvbmdpdHVkZSI6LTExMC44NTMsImRpc3BsYXlBZGRyZXNzIjoiNjUwMCBFIEdyYW50IFJkLCBUdWNzb24sIEFaLCA4NTcxNSJ9LCJzdG9yZU51bWJlciI6ODU1LCJuYW1lIjoiVHVjc29uIE5FIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFaIiwibGF0aXR1ZGUiOjMyLjMzNTQsImxvbmdpdHVkZSI6LTExMS4wNDksImRpc3BsYXlBZGRyZXNzIjoiMzkwMSBXIEluYSBSZCwgVHVjc29uLCBBWiwgODU3NDEifSwic3RvcmVOdW1iZXIiOjg1NCwibmFtZSI6IlR1Y3NvbiBOVyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBWiIsImxhdGl0dWRlIjozMi4yODAyLCJsb25naXR1ZGUiOi0xMTAuOTc3LCJkaXNwbGF5QWRkcmVzcyI6IjQwNDAgTiBPcmFjbGUgUmQsIFR1Y3NvbiwgQVosIDg1NzA1In0sInN0b3JlTnVtYmVyIjoyMTQwLCJuYW1lIjoiVHVjc29uIE5vcnRoIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFaIiwibGF0aXR1ZGUiOjMyLjIwODEsImxvbmdpdHVkZSI6LTExMC43ODgsImRpc3BsYXlBZGRyZXNzIjoiOTYxNSBFIE9sZCBTcGFuaXNoIFRybCwgVHVjc29uLCBBWiwgODU3NDgifSwic3RvcmVOdW1iZXIiOjE4NjMsIm5hbWUiOiJUdWNzb24gU0UiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFaIiwibGF0aXR1ZGUiOjMyLjE2MDYsImxvbmdpdHVkZSI6LTExMC45ODksImRpc3BsYXlBZGRyZXNzIjoiMTIyNSBXIElydmluZ3RvbiBSZCwgVHVjc29uLCBBWiwgODU3MTQifSwic3RvcmVOdW1iZXIiOjEzMTYsIm5hbWUiOiJUdWNzb24gU1ciLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBWiIsImxhdGl0dWRlIjozMy40NzU4LCJsb25naXR1ZGUiOi0xMTIuMjE4LCJkaXNwbGF5QWRkcmVzcyI6Ijc0MDkgVyBWaXJnaW5pYSBBdmUsIFBob2VuaXgsIEFaLCA4NTAzNSJ9LCJzdG9yZU51bWJlciI6ODUxLCJuYW1lIjoiV2VzdHJpZGdlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBWiIsImxhdGl0dWRlIjozMi43MDA2LCJsb25naXR1ZGUiOi0xMTQuNjAyLCJkaXNwbGF5QWRkcmVzcyI6IjE0NTAgUyBZdW1hIFBhbG1zIFBrd3ksIFl1bWEsIEFaLCA4NTM2NSJ9LCJzdG9yZU51bWJlciI6MjA4MywibmFtZSI6Ill1bWEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBUiIsImxhdGl0dWRlIjozNC42MDQzLCJsb25naXR1ZGUiOi05Mi41MzIxLCJkaXNwbGF5QWRkcmVzcyI6IjczNzcgQWxjb2EgUmQsIEJyeWFudCwgQVIsIDcyMDIyIn0sInN0b3JlTnVtYmVyIjoyMjA0LCJuYW1lIjoiQnJ5YW50Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQVIiLCJsYXRpdHVkZSI6MzUuMDg3MSwibG9uZ2l0dWRlIjotOTIuNDEzNSwiZGlzcGxheUFkZHJlc3MiOiI1MDEgRWxzaW5nZXIgQmx2ZCwgQ29ud2F5LCBBUiwgNzIwMzIifSwic3RvcmVOdW1iZXIiOjE4OTEsIm5hbWUiOiJDb253YXkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQVIiLCJsYXRpdHVkZSI6MzYuMTE1NywibG9uZ2l0dWRlIjotOTQuMTU1NSwiZGlzcGxheUFkZHJlc3MiOiIzNTQ1IE4gU2hpbG9oIERyLCBGYXlldHRldmlsbGUsIEFSLCA3MjcwMyJ9LCJzdG9yZU51bWJlciI6MTQ3MCwibmFtZSI6IkZheWV0dGV2aWxsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFSIiwibGF0aXR1ZGUiOjM1LjMzOTQsImxvbmdpdHVkZSI6LTk0LjM4OTYsImRpc3BsYXlBZGRyZXNzIjoiNDAwMSBQaG9lbml4IEF2ZSwgRm9ydCBTbWl0aCwgQVIsIDcyOTAzIn0sInN0b3JlTnVtYmVyIjoyMjg0LCJuYW1lIjoiRm9ydCBTbWl0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQVIiLCJsYXRpdHVkZSI6MzUuODIyOCwibG9uZ2l0dWRlIjotOTAuNjY2OCwiZGlzcGxheUFkZHJlc3MiOiIzMDAwIEUgSGlnaGxhbmQgRHIgU3RlIEEsIEpvbmVzYm9ybywgQVIsIDcyNDAxIn0sInN0b3JlTnVtYmVyIjoxOTE5LCJuYW1lIjoiSm9uZXNib3JvIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQVIiLCJsYXRpdHVkZSI6MzQuNzg4NiwibG9uZ2l0dWRlIjotOTIuMjI4NCwiZGlzcGxheUFkZHJlc3MiOiI0MDAwIE1jQ2FpbiBCbHZkLCBOb3J0aCBMaXR0bGUgUm9jaywgQVIsIDcyMTE2In0sInN0b3JlTnVtYmVyIjoxNjIsIm5hbWUiOiJMaXR0bGUgUm9jayBOb3J0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOltdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBUiIsImxhdGl0dWRlIjozNC43NDkzLCJsb25naXR1ZGUiOi05Mi4zNDQ4LCJkaXNwbGF5QWRkcmVzcyI6IjQyMCBTIFVuaXZlcnNpdHkgQXZlLCBMaXR0bGUgUm9jaywgQVIsIDcyMjA1In0sInN0b3JlTnVtYmVyIjoyNzM3LCJuYW1lIjoiTGl0dGxlIFJvY2sgVW5pdmVyIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkFSIiwibGF0aXR1ZGUiOjM0Ljc1NTYsImxvbmdpdHVkZSI6LTkyLjQxNCwiZGlzcGxheUFkZHJlc3MiOiIxMjcwMCBDaGVuYWwgUGt3eSwgTGl0dGxlIFJvY2ssIEFSLCA3MjIxMSJ9LCJzdG9yZU51bWJlciI6MTExNCwibmFtZSI6IkxpdHRsZSBSb2NrIFdlc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJBUiIsImxhdGl0dWRlIjozNi4yOTk1LCJsb25naXR1ZGUiOi05NC4xNzM1LCJkaXNwbGF5QWRkcmVzcyI6IjI0MDQgUHJvbWVuYWRlIEJsdmQsIFJvZ2VycywgQVIsIDcyNzU4In0sInN0b3JlTnVtYmVyIjoyNDk4LCJuYW1lIjoiUm9nZXJzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzcuODgzMiwibG9uZ2l0dWRlIjotMTIyLjMwNywiZGlzcGxheUFkZHJlc3MiOiIxMDU3IEVhc3RzaG9yZSBId3ksIEFsYmFueSwgQ0EsIDk0NzEwIn0sInN0b3JlTnVtYmVyIjoxOTI2LCJuYW1lIjoiQWxiYW55Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM0LjA5MDgsImxvbmdpdHVkZSI6LTExOC4xNDgsImRpc3BsYXlBZGRyZXNzIjoiMjEyMCBXIE1haW4gU3QsIEFsaGFtYnJhLCBDQSwgOTE4MDEifSwic3RvcmVOdW1iZXIiOjE4NCwibmFtZSI6IkFsaGFtYnJhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMzLjU3MDgsImxvbmdpdHVkZSI6LTExNy43MDUsImRpc3BsYXlBZGRyZXNzIjoiMjY5MzIgTGEgUGF6IFJkLCBBbGlzbyBWaWVqbywgQ0EsIDkyNjU2In0sInN0b3JlTnVtYmVyIjoyNTksIm5hbWUiOiJBbGlzbyBWaWVqbyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy44NjU4LCJsb25naXR1ZGUiOi0xMTcuNzQ3LCJkaXNwbGF5QWRkcmVzcyI6IjgxNDggRSBTYW50YSBBbmEgQ2FueW9uIFJkLCBBbmFoZWltLCBDQSwgOTI4MDgifSwic3RvcmVOdW1iZXIiOjY3NywibmFtZSI6IkFuYWhlaW0gSGlsbHMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkluLVN0b3JlIEFwcGxlIFN0b3JlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy44MzEyLCJsb25naXR1ZGUiOi0xMTcuOTQzLCJkaXNwbGF5QWRkcmVzcyI6IjEwMSBTIEV1Y2xpZCBTdCwgQW5haGVpbSwgQ0EsIDkyODAyIn0sInN0b3JlTnVtYmVyIjoyNDIxLCJuYW1lIjoiQW5haGVpbSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzcuOTY0LCJsb25naXR1ZGUiOi0xMjEuNzM4LCJkaXNwbGF5QWRkcmVzcyI6IjU3NjkgTG9uZSBUcmVlIFdheSwgQW50aW9jaCwgQ0EsIDk0NTMxIn0sInN0b3JlTnVtYmVyIjoxODE5LCJuYW1lIjoiQW50aW9jaCBTbGF0dGVuIFJhbmNoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM0LjUyNzYsImxvbmdpdHVkZSI6LTExNy4yMTksImRpc3BsYXlBZGRyZXNzIjoiMjAyODggVVMgSHd5IDE4LCBBcHBsZSBWYWxsZXksIENBLCA5MjMwNyJ9LCJzdG9yZU51bWJlciI6MjI2MCwibmFtZSI6IkFwcGxlIFZhbGxleSBOb3J0aCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNy4zNDA0LCJsb25naXR1ZGUiOi0xMjAuNjExLCJkaXNwbGF5QWRkcmVzcyI6IjEwMDAgQ29tbWVyY2UgQXZlLCBBdHdhdGVyLCBDQSwgOTUzMDEifSwic3RvcmVOdW1iZXIiOjIzODYsIm5hbWUiOiJBdHdhdGVyIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM4Ljk0MzEsImxvbmdpdHVkZSI6LTEyMS4wOTYsImRpc3BsYXlBZGRyZXNzIjoiMjcwMCBCZWxsIFJkLCBBdWJ1cm4sIENBLCA5NTYwMyJ9LCJzdG9yZU51bWJlciI6MTA5NywibmFtZSI6IkF1YnVybiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNC4xMzcxLCJsb25naXR1ZGUiOi0xMTcuOTA4LCJkaXNwbGF5QWRkcmVzcyI6IjgwOSBOIEF6dXNhIEF2ZSwgQXp1c2EsIENBLCA5MTcwMiJ9LCJzdG9yZU51bWJlciI6MjYyNywibmFtZSI6IkF6dXNhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM1LjMzNjUsImxvbmdpdHVkZSI6LTExOS4wMzYsImRpc3BsYXlBZGRyZXNzIjoiMjkwMSBNaW5nIEF2ZSwgQmFrZXJzZmllbGQsIENBLCA5MzMwNCJ9LCJzdG9yZU51bWJlciI6MjUyNCwibmFtZSI6IkJha2Vyc2ZpZWxkIENlbnRyYWwiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNS4zOTM5LCJsb25naXR1ZGUiOi0xMTguOTU2LCJkaXNwbGF5QWRkcmVzcyI6IjM0MDEgTWFsbCBWaWV3IFJkLCBCYWtlcnNmaWVsZCwgQ0EsIDkzMzA2In0sInN0b3JlTnVtYmVyIjo2MTQsIm5hbWUiOiJCYWtlcnNmaWVsZCBORSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzUuMzg0NiwibG9uZ2l0dWRlIjotMTE5LjEwMywiZGlzcGxheUFkZHJlc3MiOiI5MTAwIFJvc2VkYWxlIEh3eSwgQmFrZXJzZmllbGQsIENBLCA5MzMxMiJ9LCJzdG9yZU51bWJlciI6MTM4NCwibmFtZSI6IkJha2Vyc2ZpZWxkIE5XIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzUuMzQ5OSwibG9uZ2l0dWRlIjotMTE5LjEyNSwiZGlzcGxheUFkZHJlc3MiOiIxMTAwMCBTdG9ja2RhbGUgSHd5LCBCYWtlcnNmaWVsZCwgQ0EsIDkzMzExIn0sInN0b3JlTnVtYmVyIjoyNzE1LCJuYW1lIjoiQmFrZXJzZmllbGQgV2VzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzIuODIxOCwibG9uZ2l0dWRlIjotMTE3LjE3OSwiZGlzcGxheUFkZHJlc3MiOiI1NjgwIEJhbGJvYSBBdmUsIFNhbiBEaWVnbywgQ0EsIDkyMTExIn0sInN0b3JlTnVtYmVyIjoyNDY1LCJuYW1lIjoiQmFsYm9hIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM0LjA2OTgsImxvbmdpdHVkZSI6LTExNy45NzgsImRpc3BsYXlBZGRyZXNzIjoiMzEwMCBCYWxkd2luIFBhcmsgQmx2ZCwgQmFsZHdpbiBQYXJrLCBDQSwgOTE3MDYifSwic3RvcmVOdW1iZXIiOjEwMzMsIm5hbWUiOiJCYWxkd2luIFBhcmsiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM4LjY3MjgsImxvbmdpdHVkZSI6LTEyMS4yNzQsImRpc3BsYXlBZGRyZXNzIjoiNTgzNyBTdW5yaXNlIEJsdmQsIENpdHJ1cyBIZWlnaHRzLCBDQSwgOTU2MTAifSwic3RvcmVOdW1iZXIiOjExMjEsIm5hbWUiOiJCaXJkY2FnZS1DaXRydXMgSGVpZ2h0cyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy45MTg5LCJsb25naXR1ZGUiOi0xMTcuODg4LCJkaXNwbGF5QWRkcmVzcyI6Ijg1NSBFIEJpcmNoIFN0LCBCcmVhLCBDQSwgOTI4MjEifSwic3RvcmVOdW1iZXIiOjI0ODIsIm5hbWUiOiJCcmVhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy43NjE4LCJsb25naXR1ZGUiOi0xMTcuOTU2LCJkaXNwbGF5QWRkcmVzcyI6IjEzODMxIEJyb29raHVyc3QgU3QsIEdhcmRlbiBHcm92ZSwgQ0EsIDkyODQzIn0sInN0b3JlTnVtYmVyIjoxOTMsIm5hbWUiOiJCcm9va2h1cnN0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMzLjg1NzUsImxvbmdpdHVkZSI6LTExOC4wLCJkaXNwbGF5QWRkcmVzcyI6Ijc1MzAgT3JhbmdldGhvcnBlIEF2ZSwgQnVlbmEgUGFyaywgQ0EsIDkwNjIxIn0sInN0b3JlTnVtYmVyIjoyMDgyLCJuYW1lIjoiQnVlbmEgUGFyayIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzQuMTg5MywibG9uZ2l0dWRlIjotMTE4LjMzLCJkaXNwbGF5QWRkcmVzcyI6IjE4MDAgVyBFbXBpcmUgQXZlLCBCdXJiYW5rLCBDQSwgOTE1MDQifSwic3RvcmVOdW1iZXIiOjEzNjIsIm5hbWUiOiJCdXJiYW5rIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNC4yMTczLCJsb25naXR1ZGUiOi0xMTkuMDczLCJkaXNwbGF5QWRkcmVzcyI6IjIwOSBXIFZlbnR1cmEgQmx2ZCwgQ2FtYXJpbGxvLCBDQSwgOTMwMTAifSwic3RvcmVOdW1iZXIiOjEwMjcsIm5hbWUiOiJDYW1hcmlsbG8iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM2Ljk3NTIsImxvbmdpdHVkZSI6LTEyMS45NjYsImRpc3BsYXlBZGRyZXNzIjoiMTgyNSA0MXN0IEF2ZSwgQ2FwaXRvbGEsIENBLCA5NTAxMCJ9LCJzdG9yZU51bWJlciI6Mjc5NSwibmFtZSI6IkNhcGl0b2xhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuODQ2MSwibG9uZ2l0dWRlIjotMTE4LjI2MywiZGlzcGxheUFkZHJlc3MiOiIyMDcwMCBTIEF2YWxvbiBCbHZkIFN0ZSA3MDAsIENhcnNvbiwgQ0EsIDkwNzQ2In0sInN0b3JlTnVtYmVyIjoyMDI2LCJuYW1lIjoiQ2Fyc29uIE5vcnRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJJbi1TdG9yZSBBcHBsZSBTdG9yZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMzLjgwOTUsImxvbmdpdHVkZSI6LTExOC4yODYsImRpc3BsYXlBZGRyZXNzIjoiNjUxIFcgU2VwdWx2ZWRhIEJsdmQsIENhcnNvbiwgQ0EsIDkwNzQ1In0sInN0b3JlTnVtYmVyIjoyMzI4LCJuYW1lIjoiQ2Fyc29uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMzLjg0NzIsImxvbmdpdHVkZSI6LTExOC4wNjMsImRpc3BsYXlBZGRyZXNzIjoiMjAyMDAgQmxvb21maWVsZCBBdmUsIENlcnJpdG9zLCBDQSwgOTA3MDMifSwic3RvcmVOdW1iZXIiOjI4OSwibmFtZSI6IkNlcnJpdG9zIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuODU5NCwibG9uZ2l0dWRlIjotMTE4LjA4OSwiZGlzcGxheUFkZHJlc3MiOiIxMTUyNSBTb3V0aCBTdCwgQ2Vycml0b3MsIENBLCA5MDcwMyJ9LCJzdG9yZU51bWJlciI6MTMwNSwibmFtZSI6IkNlcnJpdG9zIFdlc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozOS43MjU2LCJsb25naXR1ZGUiOi0xMjEuODA3LCJkaXNwbGF5QWRkcmVzcyI6IjE5NTEgRSAyMHRoIFN0LCBDaGljbywgQ0EsIDk1OTI4In0sInN0b3JlTnVtYmVyIjozMTcsIm5hbWUiOiJDaGljbyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNC4wMDIyLCJsb25naXR1ZGUiOi0xMTcuNzE5LCJkaXNwbGF5QWRkcmVzcyI6IjM5NDQgR3JhbmQgQXZlLCBDaGlubywgQ0EsIDkxNzEwIn0sInN0b3JlTnVtYmVyIjo5MTIsIm5hbWUiOiJDaGlubyBIaWxscyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzQuMDMxMiwibG9uZ2l0dWRlIjotMTE3LjY4NCwiZGlzcGxheUFkZHJlc3MiOiI1NTU1IFBoaWxhZGVscGhpYSBTdCwgQ2hpbm8sIENBLCA5MTcxMCJ9LCJzdG9yZU51bWJlciI6MjU4LCJuYW1lIjoiQ2hpbm8iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMyLjYwNDYsImxvbmdpdHVkZSI6LTExNy4wOCwiZGlzcGxheUFkZHJlc3MiOiIxMjQwIEJyb2Fkd2F5LCBDaHVsYSBWaXN0YSwgQ0EsIDkxOTExIn0sInN0b3JlTnVtYmVyIjoyMDMsIm5hbWUiOiJDaHVsYSBWaXN0YSBCcm9hZHdheSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMi42NDk4LCJsb25naXR1ZGUiOi0xMTYuOTY5LCJkaXNwbGF5QWRkcmVzcyI6IjkxMCBFYXN0bGFrZSBQa3d5LCBDaHVsYSBWaXN0YSwgQ0EsIDkxOTE0In0sInN0b3JlTnVtYmVyIjoxODE1LCJuYW1lIjoiQ2h1bGEgVmlzdGEgRWFzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzIuNjUxMiwibG9uZ2l0dWRlIjotMTE3LjA4OSwiZGlzcGxheUFkZHJlc3MiOiI0MCBOIDR0aCBBdmUsIENodWxhIFZpc3RhLCBDQSwgOTE5MTAifSwic3RvcmVOdW1iZXIiOjIwNCwibmFtZSI6IkNodWxhIFZpc3RhIE5vcnRoIDR0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiVGFyZ2V0IE1vYmlsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNi44Mzg2LCJsb25naXR1ZGUiOi0xMTkuNzI4LCJkaXNwbGF5QWRkcmVzcyI6IjY5NSBXIEhlcm5kb24gQXZlLCBDbG92aXMsIENBLCA5MzYxMiJ9LCJzdG9yZU51bWJlciI6MjAxOCwibmFtZSI6IkNsb3ZpcyBOVyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNi44MDY3LCJsb25naXR1ZGUiOi0xMTkuNjk4LCJkaXNwbGF5QWRkcmVzcyI6IjkwMCBTaGF3IEF2ZSwgQ2xvdmlzLCBDQSwgOTM2MTIifSwic3RvcmVOdW1iZXIiOjM1OCwibmFtZSI6IkNsb3ZpcyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzcuNjczNiwibG9uZ2l0dWRlIjotMTIyLjQ2NSwiZGlzcGxheUFkZHJlc3MiOiI1MDAxIEp1bmlwZXJvIFNlcnJhIEJsdmQsIENvbG1hLCBDQSwgOTQwMTQifSwic3RvcmVOdW1iZXIiOjMyMCwibmFtZSI6IkNvbG1hIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJJbi1TdG9yZSBBcHBsZSBTdG9yZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzQuMDE4NCwibG9uZ2l0dWRlIjotMTE4LjE1MiwiZGlzcGxheUFkZHJlc3MiOiI1NjAwIFdoaXR0aWVyIEJsdmQsIExvcyBBbmdlbGVzLCBDQSwgOTAwMjIifSwic3RvcmVOdW1iZXIiOjE4OSwibmFtZSI6IkNvbW1lcmNlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuODgsImxvbmdpdHVkZSI6LTExOC4yMTksImRpc3BsYXlBZGRyZXNzIjoiMTYyMSBTIEFsYW1lZGEgU3QsIENvbXB0b24sIENBLCA5MDIyMCJ9LCJzdG9yZU51bWJlciI6MjI3NSwibmFtZSI6IkNvbXB0b24tUmFuY2hvIERvbSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy44MjQ0LCJsb25naXR1ZGUiOi0xMTcuNTExLCJkaXNwbGF5QWRkcmVzcyI6IjI2MTUgVHVzY2FubnkgU3QsIENvcm9uYSwgQ0EsIDkyODgxIn0sInN0b3JlTnVtYmVyIjoxNTQ4LCJuYW1lIjoiQ29yb25hIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMzLjY4MjUsImxvbmdpdHVkZSI6LTExNy45MTgsImRpc3BsYXlBZGRyZXNzIjoiMzAzMCBIYXJib3IgQmx2ZCBTdGUgQSwgQ29zdGEgTWVzYSwgQ0EsIDkyNjI2In0sInN0b3JlTnVtYmVyIjoxMjkzLCJuYW1lIjoiQ29zdGEgTWVzYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuOTk5NCwibG9uZ2l0dWRlIjotMTE4LjM5NCwiZGlzcGxheUFkZHJlc3MiOiIxMDgyMCBKZWZmZXJzb24gQmx2ZCwgQ3VsdmVyIENpdHksIENBLCA5MDIzMCJ9LCJzdG9yZU51bWJlciI6MTk4LCJuYW1lIjoiQ3VsdmVyIENpdHkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuOTg1LCJsb25naXR1ZGUiOi0xMTguMzk0LCJkaXNwbGF5QWRkcmVzcyI6IjYwMDAgU2VwdWx2ZWRhIEJsdmQsIEN1bHZlciBDaXR5LCBDQSwgOTAyMzAifSwic3RvcmVOdW1iZXIiOjI2MzIsIm5hbWUiOiJDdWx2ZXIgQ2l0eSBTb3V0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNy4zMjQsImxvbmdpdHVkZSI6LTEyMi4wMzYsImRpc3BsYXlBZGRyZXNzIjoiMjA3NDUgU3RldmVucyBDcmVlayBCbHZkLCBDdXBlcnRpbm8sIENBLCA5NTAxNCJ9LCJzdG9yZU51bWJlciI6MzIzLCJuYW1lIjoiQ3VwZXJ0aW5vIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMzLjgwMzksImxvbmdpdHVkZSI6LTExOC4wMTIsImRpc3BsYXlBZGRyZXNzIjoiNjgzNSBLYXRlbGxhIEF2ZSwgQ3lwcmVzcywgQ0EsIDkwNjMwIn0sInN0b3JlTnVtYmVyIjoyMjksIm5hbWUiOiJDeXByZXNzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNy42NzA0LCJsb25naXR1ZGUiOi0xMjIuNDcxLCJkaXNwbGF5QWRkcmVzcyI6IjEzMyBTZXJyYW1vbnRlIEN0ciwgRGFseSBDaXR5LCBDQSwgOTQwMTUifSwic3RvcmVOdW1iZXIiOjE0MDcsIm5hbWUiOiJEYWx5IENpdHkgU2VycmFtb250ZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzguNTU0MiwibG9uZ2l0dWRlIjotMTIxLjY5OSwiZGlzcGxheUFkZHJlc3MiOiI0NjAxIDJuZCBTdCwgRGF2aXMsIENBLCA5NTYxOCJ9LCJzdG9yZU51bWJlciI6MjQ1NSwibmFtZSI6IkRhdmlzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNC4wMDM0LCJsb25naXR1ZGUiOi0xMTcuODIxLCJkaXNwbGF5QWRkcmVzcyI6Ijc0NyBHcmFuZCBBdmUsIERpYW1vbmQgQmFyLCBDQSwgOTE3NjUifSwic3RvcmVOdW1iZXIiOjIxNzksIm5hbWUiOiJEaWFtb25kIEJhciIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiSW4tU3RvcmUgQXBwbGUgU3RvcmUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNC4xMzgyLCJsb25naXR1ZGUiOi0xMTcuOTgzLCJkaXNwbGF5QWRkcmVzcyI6IjEwNTAgSHVudGluZ3RvbiBEciwgRHVhcnRlLCBDQSwgOTEwMTAifSwic3RvcmVOdW1iZXIiOjMwMiwibmFtZSI6IkR1YXJ0ZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzcuNzAyOSwibG9uZ2l0dWRlIjotMTIxLjg1NCwiZGlzcGxheUFkZHJlc3MiOiIyODAwIER1YmxpbiBCbHZkLCBEdWJsaW4sIENBLCA5NDU2OCJ9LCJzdG9yZU51bWJlciI6Mjc3MSwibmFtZSI6IkR1YmxpbiBFYXN0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM3LjcwNjgsImxvbmdpdHVkZSI6LTEyMS45MzEsImRpc3BsYXlBZGRyZXNzIjoiNzIwMCBBbWFkb3IgUGxhemEgUmQsIER1YmxpbiwgQ0EsIDk0NTY4In0sInN0b3JlTnVtYmVyIjozMjgsIm5hbWUiOiJEdWJsaW4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMzLjk3NzcsImxvbmdpdHVkZSI6LTExNy41NTQsImRpc3BsYXlBZGRyZXNzIjoiMTI0NzEgTGltb25pdGUgQXZlLCBFYXN0dmFsZSwgQ0EsIDkxNzUyIn0sInN0b3JlTnVtYmVyIjoxOTYxLCJuYW1lIjoiRWFzdHZhbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzIuODA5MSwibG9uZ2l0dWRlIjotMTE2Ljk2LCJkaXNwbGF5QWRkcmVzcyI6IjI1MCBCcm9hZHdheSwgRWwgQ2Fqb24sIENBLCA5MjAyMSJ9LCJzdG9yZU51bWJlciI6MzA0LCJuYW1lIjoiRWwgQ2Fqb24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMi44MTMzLCJsb25naXR1ZGUiOi0xMTUuNTY5LCJkaXNwbGF5QWRkcmVzcyI6IjIyOTUgTiBJbXBlcmlhbCBBdmUsIEVsIENlbnRybywgQ0EsIDkyMjQzIn0sInN0b3JlTnVtYmVyIjoxODE2LCJuYW1lIjoiRWwgQ2VudHJvIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzguNjQ5OCwibG9uZ2l0dWRlIjotMTIxLjA2MywiZGlzcGxheUFkZHJlc3MiOiI0NDAwIFRvd24gQ2VudGVyIEJsdmQsIEVsIERvcmFkbyBIaWxscywgQ0EsIDk1NzYyIn0sInN0b3JlTnVtYmVyIjoyMjcwLCJuYW1lIjoiRWwgRG9yYWRvIEhpbGxzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozOC40MjY2LCJsb25naXR1ZGUiOi0xMjEuNDE2LCJkaXNwbGF5QWRkcmVzcyI6Ijc1MDUgTGFndW5hIEJsdmQsIEVsayBHcm92ZSwgQ0EsIDk1NzU4In0sInN0b3JlTnVtYmVyIjoxMDI1LCJuYW1lIjoiRWxrIEdyb3ZlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy4wNjMzLCJsb25naXR1ZGUiOi0xMTcuMjY1LCJkaXNwbGF5QWRkcmVzcyI6IjEwMTAgTiBFbCBDYW1pbm8gUmVhbCwgRW5jaW5pdGFzLCBDQSwgOTIwMjQifSwic3RvcmVOdW1iZXIiOjEwMjksIm5hbWUiOiJFbmNpbml0YXMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMzLjExMzUsImxvbmdpdHVkZSI6LTExNy4xLCJkaXNwbGF5QWRkcmVzcyI6IjEyODAgQXV0byBQYXJrIFdheSwgRXNjb25kaWRvLCBDQSwgOTIwMjkifSwic3RvcmVOdW1iZXIiOjI3NCwibmFtZSI6IkVzY29uZGlkbyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuMDY5OSwibG9uZ2l0dWRlIjotMTE3LjA2NSwiZGlzcGxheUFkZHJlc3MiOiIyODAgRSBWaWEgUmFuY2hvIFBrd3ksIEVzY29uZGlkbywgQ0EsIDkyMDI1In0sInN0b3JlTnVtYmVyIjoyODAyLCJuYW1lIjoiRXNjb25kaWRvIFNvdXRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjQwLjgwNTUsImxvbmdpdHVkZSI6LTEyNC4xNDUsImRpc3BsYXlBZGRyZXNzIjoiMjUyNSA0dGggU3QsIEV1cmVrYSwgQ0EsIDk1NTAxIn0sInN0b3JlTnVtYmVyIjoxNDIxLCJuYW1lIjoiRXVyZWthIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM4LjI0NjYsImxvbmdpdHVkZSI6LTEyMi4wNjksImRpc3BsYXlBZGRyZXNzIjoiMjA1OSBDYWRlbmFzc28gRHIsIEZhaXJmaWVsZCwgQ0EsIDk0NTMzIn0sInN0b3JlTnVtYmVyIjo2NzUsIm5hbWUiOiJGYWlyZmllbGQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozOC42NzE3LCJsb25naXR1ZGUiOi0xMjEuMTUyLCJkaXNwbGF5QWRkcmVzcyI6IjQzMCBCbHVlIFJhdmluZSBSZCwgRm9sc29tLCBDQSwgOTU2MzAifSwic3RvcmVOdW1iZXIiOjEwOTgsIm5hbWUiOiJGb2xzb20iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzQuMTUxOSwibG9uZ2l0dWRlIjotMTE3LjQ3NCwiZGlzcGxheUFkZHJlc3MiOiIxNTI3MiBTdW1taXQgQXZlLCBGb250YW5hLCBDQSwgOTIzMzYifSwic3RvcmVOdW1iZXIiOjE5NTgsIm5hbWUiOiJGb250YW5hIE5vcnRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNC4wNjQ5LCJsb25naXR1ZGUiOi0xMTcuNDM0LCJkaXNwbGF5QWRkcmVzcyI6IjE2OTY0IFNsb3ZlciBBdmUsIEZvbnRhbmEsIENBLCA5MjMzNyJ9LCJzdG9yZU51bWJlciI6NjYwLCJuYW1lIjoiRm9udGFuYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuNjc3NiwibG9uZ2l0dWRlIjotMTE3LjY2NCwiZGlzcGxheUFkZHJlc3MiOiIyNjc2MiBQb3J0b2xhIFBrd3ksIEZvb3RoaWxsIFJhbmNoLCBDQSwgOTI2MTAifSwic3RvcmVOdW1iZXIiOjkxMywibmFtZSI6IkZvb3RoaWxsIFJhbmNoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM3LjU0NTEsImxvbmdpdHVkZSI6LTEyMS45ODUsImRpc3BsYXlBZGRyZXNzIjoiMzkyMDEgRnJlbW9udCBCbHZkLCBGcmVtb250LCBDQSwgOTQ1MzgifSwic3RvcmVOdW1iZXIiOjE0MjIsIm5hbWUiOiJGcmVtb250IEh1YiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNy41MDE4LCJsb25naXR1ZGUiOi0xMjEuOTY4LCJkaXNwbGF5QWRkcmVzcyI6IjQzOTUwIFBhY2lmaWMgQ29tbW9ucyBCbHZkLCBGcmVtb250LCBDQSwgOTQ1MzgifSwic3RvcmVOdW1iZXIiOjI2MTUsIm5hbWUiOiJGcmVtb250IFNvdXRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzYuODIyMiwibG9uZ2l0dWRlIjotMTE5Ljc4OCwiZGlzcGxheUFkZHJlc3MiOiI1NzQwIE4gQmxhY2tzdG9uZSBBdmUsIEZyZXNubywgQ0EsIDkzNzEwIn0sInN0b3JlTnVtYmVyIjoxNDE3LCJuYW1lIjoiRnJlc25vIENlbnRyYWwiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzYuODQ1OSwibG9uZ2l0dWRlIjotMTE5Ljc4OCwiZGlzcGxheUFkZHJlc3MiOiI3NjAwIE4gQmxhY2tzdG9uZSBBdmUsIEZyZXNubywgQ0EsIDkzNzIwIn0sInN0b3JlTnVtYmVyIjo5MTEsIm5hbWUiOiJGcmVzbm8gTm9ydGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzYuNzgwMywibG9uZ2l0dWRlIjotMTE5Ljc3MiwiZGlzcGxheUFkZHJlc3MiOiIzMTczIEUgU2hpZWxkcyBBdmUsIEZyZXNubywgQ0EsIDkzNzI2In0sInN0b3JlTnVtYmVyIjozMTQsIm5hbWUiOiJGcmVzbm8gU291dGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM2LjgwOTcsImxvbmdpdHVkZSI6LTExOS44NDcsImRpc3BsYXlBZGRyZXNzIjoiMzE1MCBXIFNoYXcgQXZlLCBGcmVzbm8sIENBLCA5MzcxMSJ9LCJzdG9yZU51bWJlciI6Mjc1LCJuYW1lIjoiRnJlc25vIFdlc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMzLjg4ODcsImxvbmdpdHVkZSI6LTExNy44NzQsImRpc3BsYXlBZGRyZXNzIjoiMjkyMCBZb3JiYSBMaW5kYSBCbHZkLCBGdWxsZXJ0b24sIENBLCA5MjgzMSJ9LCJzdG9yZU51bWJlciI6MjkzLCJuYW1lIjoiRnVsbGVydG9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMzLjg1ODQsImxvbmdpdHVkZSI6LTExNy45MjUsImRpc3BsYXlBZGRyZXNzIjoiMjAwIFcgT3JhbmdldGhvcnBlIEF2ZSwgRnVsbGVydG9uLCBDQSwgOTI4MzIifSwic3RvcmVOdW1iZXIiOjE0MTgsIm5hbWUiOiJGdWxsZXJ0b24gU291dGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMzLjc4NzUsImxvbmdpdHVkZSI6LTExNy45MTQsImRpc3BsYXlBZGRyZXNzIjoiMTIxMDAgSGFyYm9yIEJsdmQsIEdhcmRlbiBHcm92ZSwgQ0EsIDkyODQwIn0sInN0b3JlTnVtYmVyIjoxOTIsIm5hbWUiOiJHYXJkZW4gR3JvdmUgSGFyYm9yIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMzLjg4NjYsImxvbmdpdHVkZSI6LTExOC4zMTcsImRpc3BsYXlBZGRyZXNzIjoiMjE2OSBXIFJlZG9uZG8gQmVhY2ggQmx2ZCwgR2FyZGVuYSwgQ0EsIDkwMjQ3In0sInN0b3JlTnVtYmVyIjoyOTAsIm5hbWUiOiJHYXJkZW5hIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJJbi1TdG9yZSBBcHBsZSBTdG9yZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM3LjAwMDksImxvbmdpdHVkZSI6LTEyMS41NTEsImRpc3BsYXlBZGRyZXNzIjoiNjcwNSBDYW1pbm8gQXJyb3lvLCBHaWxyb3ksIENBLCA5NTAyMCJ9LCJzdG9yZU51bWJlciI6MTg1MSwibmFtZSI6IkdpbHJveSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzQuMTQ0NSwibG9uZ2l0dWRlIjotMTE4LjI1OSwiZGlzcGxheUFkZHJlc3MiOiIyMTk1IEdsZW5kYWxlIEdhbGxlcmlhLCBHbGVuZGFsZSwgQ0EsIDkxMjEwIn0sInN0b3JlTnVtYmVyIjoyMzA3LCJuYW1lIjoiR2xlbmRhbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzQuMjcyNywibG9uZ2l0dWRlIjotMTE4LjUwMywiZGlzcGxheUFkZHJlc3MiOiIxMTEzMyBCYWxib2EgQmx2ZCwgR3JhbmFkYSBIaWxscywgQ0EsIDkxMzQ0In0sInN0b3JlTnVtYmVyIjoyMzI5LCJuYW1lIjoiR3JhbmFkYSBIaWxscyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzYuMzIzNywibG9uZ2l0dWRlIjotMTE5LjY3NSwiZGlzcGxheUFkZHJlc3MiOiIxNDAgTiAxMnRoIEF2ZSwgSGFuZm9yZCwgQ0EsIDkzMjMwIn0sInN0b3JlTnVtYmVyIjoxOTA2LCJuYW1lIjoiSGFuZm9yZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy45MjI3LCJsb25naXR1ZGUiOi0xMTguMzE5LCJkaXNwbGF5QWRkcmVzcyI6IjI3MDAgVyAxMjB0aCBTdCwgSGF3dGhvcm5lLCBDQSwgOTAyNTAifSwic3RvcmVOdW1iZXIiOjIyODAsIm5hbWUiOiJIYXd0aG9ybmUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM3LjY2NjYsImxvbmdpdHVkZSI6LTEyMi4xMjEsImRpc3BsYXlBZGRyZXNzIjoiMTk2NjEgSGVzcGVyaWFuIEJsdmQsIEhheXdhcmQsIENBLCA5NDU0MSJ9LCJzdG9yZU51bWJlciI6MjE4NSwibmFtZSI6IkhheXdhcmQgTm9ydGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNy42MDc3LCJsb25naXR1ZGUiOi0xMjIuMDYzLCJkaXNwbGF5QWRkcmVzcyI6IjI0OTkgV2hpcHBsZSBSZCwgSGF5d2FyZCwgQ0EsIDk0NTQ0In0sInN0b3JlTnVtYmVyIjoxNDcyLCJuYW1lIjoiSGF5d2FyZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuNzQ2LCJsb25naXR1ZGUiOi0xMTcuMDA5LCJkaXNwbGF5QWRkcmVzcyI6IjM1MjcgVyBGbG9yaWRhIEF2ZSwgSGVtZXQsIENBLCA5MjU0NSJ9LCJzdG9yZU51bWJlciI6NzYxLCJuYW1lIjoiSGVtZXQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNC40MjQ3LCJsb25naXR1ZGUiOi0xMTcuMzg1LCJkaXNwbGF5QWRkcmVzcyI6IjEyNzk1IE1haW4gU3QsIEhlc3BlcmlhLCBDQSwgOTIzNDUifSwic3RvcmVOdW1iZXIiOjI0NjgsIm5hbWUiOiJIZXNwZXJpYSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuNjcwOCwibG9uZ2l0dWRlIjotMTE3Ljk1NSwiZGlzcGxheUFkZHJlc3MiOiI5ODgyIEFkYW1zIEF2ZSwgSHVudGluZ3RvbiBCZWFjaCwgQ0EsIDkyNjQ2In0sInN0b3JlTnVtYmVyIjoyMDUxLCJuYW1lIjoiSHVudGluZ3RvbiBCZWFjaCBFYXN0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJJbi1TdG9yZSBBcHBsZSBTdG9yZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMzLjczOTQsImxvbmdpdHVkZSI6LTExNi4yMTgsImRpc3BsYXlBZGRyZXNzIjoiNDI2MjUgSmFja3NvbiBTdCwgSW5kaW8sIENBLCA5MjIwMyJ9LCJzdG9yZU51bWJlciI6MjQ0MSwibmFtZSI6IkluZGlvIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy45NDc4LCJsb25naXR1ZGUiOi0xMTguMzMzLCJkaXNwbGF5QWRkcmVzcyI6IjM0NzEgVyBDZW50dXJ5IEJsdmQsIEluZ2xld29vZCwgQ0EsIDkwMzAzIn0sInN0b3JlTnVtYmVyIjoxMzI5LCJuYW1lIjoiSW5nbGV3b29kIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkluLVN0b3JlIEFwcGxlIFN0b3JlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuNzI3OCwibG9uZ2l0dWRlIjotMTE3Ljc4NSwiZGlzcGxheUFkZHJlc3MiOiIxMzIwMCBKYW1ib3JlZSBSZCwgSXJ2aW5lLCBDQSwgOTI2MDIifSwic3RvcmVOdW1iZXIiOjEyMzgsIm5hbWUiOiJJcnZpbmUgTm9ydGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiV2luZSBBdmFpbGFibGUiLCJJbi1TdG9yZSBBcHBsZSBTdG9yZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuNjgzNiwibG9uZ2l0dWRlIjotMTE3LjgxLCJkaXNwbGF5QWRkcmVzcyI6IjM3NTAgQmFycmFuY2EgUGt3eSwgSXJ2aW5lLCBDQSwgOTI2MDYifSwic3RvcmVOdW1iZXIiOjMzNiwibmFtZSI6IklydmluZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuNjUyOSwibG9uZ2l0dWRlIjotMTE3Ljc0NCwiZGlzcGxheUFkZHJlc3MiOiIxMTUgRm9ydHVuZSBEciwgSXJ2aW5lLCBDQSwgOTI2MTgifSwic3RvcmVOdW1iZXIiOjIxMjgsIm5hbWUiOiJJcnZpbmUgU3BlY3RydW0iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMyLjgxNjIsImxvbmdpdHVkZSI6LTExNy4xNTEsImRpc3BsYXlBZGRyZXNzIjoiODAwMSBPdGhlbGxvIEF2ZSwgU2FuIERpZWdvLCBDQSwgOTIxMTEifSwic3RvcmVOdW1iZXIiOjIwNSwibmFtZSI6IktlYXJueSBNZXNhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJGcmVzaCBHcm9jZXJ5IiwiV2luZSBBdmFpbGFibGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzQuMDQ4OSwibG9uZ2l0dWRlIjotMTE4LjI2MSwiZGlzcGxheUFkZHJlc3MiOiI3MzUgUyBGaWd1ZXJvYSBTdCwgTG9zIEFuZ2VsZXMsIENBLCA5MDAxNyJ9LCJzdG9yZU51bWJlciI6Mjc3NiwibmFtZSI6IkxBIENlbnRyYWwiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiSW4tU3RvcmUgQXBwbGUgU3RvcmUiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDc6MDAgYS5tLi0gOTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDk6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIkZyb20gMTEvMjUvMTIgLSAxMi8yMi8xMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLUZyaSA3OjAwIEFNIHRvIDEwOjAwIFBNIFNhdCA4OjAwIEFNIHRvIDEwOjAwIFBNIFN1biA4OjAwIEFNIHRvIDEwOjAwIFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzQuMDYyOSwibG9uZ2l0dWRlIjotMTE4LjQ0NCwiZGlzcGxheUFkZHJlc3MiOiIxMDg2MSBXZXlidXJuIEF2ZSwgTG9zIEFuZ2VsZXMsIENBLCA5MDAyNCJ9LCJzdG9yZU51bWJlciI6Mjc3NCwibmFtZSI6IkxBIFdlc3R3b29kIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiSW4tU3RvcmUgQXBwbGUgU3RvcmUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA3OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgYmUgb3BlbiBNb24tRnJpIDc6MDAgQU0gdG8gMTE6MDAgUE0gU2F0IDg6MDAgQU0gdG8gMTE6MDAgUE0gU3VuIDg6MDAgQU0gdG8gMTA6MDAgUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy45MTYxLCJsb25naXR1ZGUiOi0xMTcuOTU4LCJkaXNwbGF5QWRkcmVzcyI6IjEwMDAgVyBJbXBlcmlhbCBId3ksIExhIEhhYnJhLCBDQSwgOTA2MzEifSwic3RvcmVOdW1iZXIiOjIzOTcsIm5hbWUiOiJMYSBIYWJyYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuNzEwNCwibG9uZ2l0dWRlIjotMTE2LjI5MSwiZGlzcGxheUFkZHJlc3MiOiI3ODkzNSBVUyBId3kgMTExLCBMYSBRdWludGEsIENBLCA5MjI1MyJ9LCJzdG9yZU51bWJlciI6MTg2NywibmFtZSI6IkxhIFF1aW50YSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy42ODk3LCJsb25naXR1ZGUiOi0xMTcuMzQyLCJkaXNwbGF5QWRkcmVzcyI6IjE4Mjg3IENvbGxpZXIgQXZlLCBMYWtlIEVsc2lub3JlLCBDQSwgOTI1MzAifSwic3RvcmVOdW1iZXIiOjIxOTUsIm5hbWUiOiJMYWtlIEVsc2lub3JlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuODUyMiwibG9uZ2l0dWRlIjotMTE4LjE0MSwiZGlzcGxheUFkZHJlc3MiOiIxNDEgTGFrZXdvb2QgQ2VudGVyIE1hbGwsIExha2V3b29kLCBDQSwgOTA3MTIifSwic3RvcmVOdW1iZXIiOjE0MDksIm5hbWUiOiJMYWtld29vZCBDZW50ZXIgTWFsbCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzQuNjczNywibG9uZ2l0dWRlIjotMTE4LjE0OSwiZGlzcGxheUFkZHJlc3MiOiI0MzUyNSAxMHRoIFN0IFcsIExhbmNhc3RlciwgQ0EsIDkzNTM0In0sInN0b3JlTnVtYmVyIjoyNDUsIm5hbWUiOiJMYW5jYXN0ZXIiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzcuODA4NywibG9uZ2l0dWRlIjotMTIxLjI5OSwiZGlzcGxheUFkZHJlc3MiOiIxNjg1OCBHb2xkZW4gVmFsbGV5IFBrd3ksIExhdGhyb3AsIENBLCA5NTMzMCJ9LCJzdG9yZU51bWJlciI6MjM0NywibmFtZSI6IkxhdGhyb3AiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNC4xMTAxLCJsb25naXR1ZGUiOi0xMTcuNzYsImRpc3BsYXlBZGRyZXNzIjoiMjQ2MiBGb290aGlsbCBCbHZkLCBMYSBWZXJuZSwgQ0EsIDkxNzUwIn0sInN0b3JlTnVtYmVyIjoyMjYsIm5hbWUiOiJMYXZlcm5lIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJJbi1TdG9yZSBBcHBsZSBTdG9yZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMyLjc0MTQsImxvbmdpdHVkZSI6LTExNy4wNTQsImRpc3BsYXlBZGRyZXNzIjoiMzQyNCBDb2xsZWdlIEF2ZSwgU2FuIERpZWdvLCBDQSwgOTIxMTUifSwic3RvcmVOdW1iZXIiOjE4NDYsIm5hbWUiOiJMZW1vbiBHcm92ZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzguODczMiwibG9uZ2l0dWRlIjotMTIxLjMwMSwiZGlzcGxheUFkZHJlc3MiOiI5NTAgR3JvdmVsYW5kIExOLCBMaW5jb2xuLCBDQSwgOTU2NDgifSwic3RvcmVOdW1iZXIiOjIyMTQsIm5hbWUiOiJMaW5jb2xuIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzcuNzAxNCwibG9uZ2l0dWRlIjotMTIxLjc0NywiZGlzcGxheUFkZHJlc3MiOiI0MzAwIExhcyBQb3NpdGFzIFJkLCBMaXZlcm1vcmUsIENBLCA5NDU1MSJ9LCJzdG9yZU51bWJlciI6ODI4LCJuYW1lIjoiTGl2ZXJtb3JlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM4LjExNywibG9uZ2l0dWRlIjotMTIxLjMwNCwiZGlzcGxheUFkZHJlc3MiOiIyMzU1IFcgS2V0dGxlbWFuIExuLCBMb2RpLCBDQSwgOTUyNDIifSwic3RvcmVOdW1iZXIiOjg1MywibmFtZSI6IkxvZGkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuNzk4NywibG9uZ2l0dWRlIjotMTE4LjEyMywiZGlzcGxheUFkZHJlc3MiOiIyMjcwIE4gQmVsbGZsb3dlciBCbHZkLCBMb25nIEJlYWNoLCBDQSwgOTA4MTUifSwic3RvcmVOdW1iZXIiOjE5NSwibmFtZSI6IkxvbmcgQmVhY2ggQmVsbGZsb3dlciIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy44NzczLCJsb25naXR1ZGUiOi0xMTguMTY2LCJkaXNwbGF5QWRkcmVzcyI6IjY3NTAgQ2hlcnJ5IEF2ZSwgTG9uZyBCZWFjaCwgQ0EsIDkwODA1In0sInN0b3JlTnVtYmVyIjoyNDI0LCJuYW1lIjoiTG9uZyBCZWFjaCBOVyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNC4xNDE0LCJsb25naXR1ZGUiOi0xMTguMjI1LCJkaXNwbGF5QWRkcmVzcyI6IjI2MjYgQ29sb3JhZG8gQmx2ZCwgTG9zIEFuZ2VsZXMsIENBLCA5MDA0MSJ9LCJzdG9yZU51bWJlciI6MTQwOCwibmFtZSI6IkxvcyBBbmdlbGVzIEVhZ2xlIFJvY2siLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzQuMDIyNiwibG9uZ2l0dWRlIjotMTE4LjM3MywiZGlzcGxheUFkZHJlc3MiOiIzNTM1IFMgTGEgQ2llbmVnYSBCbHZkLCBMb3MgQW5nZWxlcywgQ0EsIDkwMDE2In0sInN0b3JlTnVtYmVyIjoxMzA2LCJuYW1lIjoiTG9zIEFuZ2VsZXMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiSW4tU3RvcmUgQXBwbGUgU3RvcmUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM0LjE5MjksImxvbmdpdHVkZSI6LTExOC42MDQsImRpc3BsYXlBZGRyZXNzIjoiNjcwMCBUb3BhbmdhIENhbnlvbiBCbHZkLCBDYW5vZ2EgUGFyaywgQ0EsIDkxMzAzIn0sInN0b3JlTnVtYmVyIjoyMTQzLCJuYW1lIjoiTG9zIEFuZ2VsZXMgVG9wYW5nYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiSW4tU3RvcmUgQXBwbGUgU3RvcmUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNy4wNTM1LCJsb25naXR1ZGUiOi0xMjAuODc2LCJkaXNwbGF5QWRkcmVzcyI6IjE0MDUgVyBQYWNoZWNvIEJsdmQsIExvcyBCYW5vcywgQ0EsIDkzNjM1In0sInN0b3JlTnVtYmVyIjoyMzU5LCJuYW1lIjoiTG9zIEJhbm9zIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuODg4OSwibG9uZ2l0dWRlIjotMTE4LjM5NSwiZGlzcGxheUFkZHJlc3MiOiIxMjAwIE4gU2VwdWx2ZWRhIEJsdmQsIE1hbmhhdHRhbiBCZWFjaCwgQ0EsIDkwMjY2In0sInN0b3JlTnVtYmVyIjoxOTksIm5hbWUiOiJNYW5oYXR0YW4gQmVhY2giLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzcuNzk1MiwibG9uZ2l0dWRlIjotMTIxLjE5NywiZGlzcGxheUFkZHJlc3MiOiIyODAgU3ByZWNrZWxzIEF2ZSwgTWFudGVjYSwgQ0EsIDk1MzM2In0sInN0b3JlTnVtYmVyIjoxNTI2LCJuYW1lIjoiTWFudGVjYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNi42Njc5LCJsb25naXR1ZGUiOi0xMjEuODExLCJkaXNwbGF5QWRkcmVzcyI6IjEzMyBHZW5lcmFsIFN0aWx3ZWxsIERyLCBNYXJpbmEsIENBLCA5MzkzMyJ9LCJzdG9yZU51bWJlciI6MjMwNiwibmFtZSI6Ik1hcmluYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy42ODIsImxvbmdpdHVkZSI6LTExNy4xNzQsImRpc3BsYXlBZGRyZXNzIjoiMzAzNDAgSGF1biBSZCwgTWVuaWZlZSwgQ0EsIDkyNTg0In0sInN0b3JlTnVtYmVyIjoyNDcxLCJuYW1lIjoiTWVuaWZlZSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzcuMzIyNSwibG9uZ2l0dWRlIjotMTIwLjQ4NSwiZGlzcGxheUFkZHJlc3MiOiIzMjgwIFIgU3QsIE1lcmNlZCwgQ0EsIDk1MzQ4In0sInN0b3JlTnVtYmVyIjo2NDEsIm5hbWUiOiJNZXJjZWQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMi45MTA5LCJsb25naXR1ZGUiOi0xMTcuMTQ2LCJkaXNwbGF5QWRkcmVzcyI6IjgyNTEgTWlyYSBNZXNhIEJsdmQsIFNhbiBEaWVnbywgQ0EsIDkyMTI2In0sInN0b3JlTnVtYmVyIjozMDUsIm5hbWUiOiJNaXJhIE1lc2EiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkluLVN0b3JlIEFwcGxlIFN0b3JlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuNjIzMSwibG9uZ2l0dWRlIjotMTE3LjY4MywiZGlzcGxheUFkZHJlc3MiOiIyNTYwMSBKZXJvbmltbyBSZCwgTWlzc2lvbiBWaWVqbywgQ0EsIDkyNjkxIn0sInN0b3JlTnVtYmVyIjoyMTYzLCJuYW1lIjoiTWlzc2lvbiBWaWVqbyBOIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJJbi1TdG9yZSBBcHBsZSBTdG9yZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMzLjYwNjIsImxvbmdpdHVkZSI6LTExNy42ODksImRpc3BsYXlBZGRyZXNzIjoiMjQ1MDAgQWxpY2lhIFBrd3ksIE1pc3Npb24gVmllam8sIENBLCA5MjY5MSJ9LCJzdG9yZU51bWJlciI6MzAwLCJuYW1lIjoiTWlzc2lvbiBWaWVqbyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM3LjY4NzEsImxvbmdpdHVkZSI6LTEyMC45OTYsImRpc3BsYXlBZGRyZXNzIjoiMzQwNSBNY2hlbnJ5IEF2ZSwgTW9kZXN0bywgQ0EsIDk1MzUwIn0sInN0b3JlTnVtYmVyIjoyNzMsIm5hbWUiOiJNb2Rlc3RvIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM0LjA4OTQsImxvbmdpdHVkZSI6LTExNy42OTIsImRpc3BsYXlBZGRyZXNzIjoiOTA1MiBDZW50cmFsIEF2ZSwgTW9udGNsYWlyLCBDQSwgOTE3NjMifSwic3RvcmVOdW1iZXIiOjE0MjMsIm5hbWUiOiJNb250Y2xhaXIiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM0LjI3OTIsImxvbmdpdHVkZSI6LTExOC44NjYsImRpc3BsYXlBZGRyZXNzIjoiODAwIE5ldyBMb3MgQW5nZWxlcyBBdmUsIE1vb3JwYXJrLCBDQSwgOTMwMjEifSwic3RvcmVOdW1iZXIiOjE1NDcsIm5hbWUiOiJNb29ycGFyayIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiSW4tU3RvcmUgQXBwbGUgU3RvcmUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy45MzczLCJsb25naXR1ZGUiOi0xMTcuMTg5LCJkaXNwbGF5QWRkcmVzcyI6IjI3MTAwIEV1Y2FseXB0dXMgQXZlLCBNb3Jlbm8gVmFsbGV5LCBDQSwgOTI1NTUifSwic3RvcmVOdW1iZXIiOjIzMDksIm5hbWUiOiJNb3Jlbm8gVmFsbGV5IEVhc3QgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzcuMTU3NSwibG9uZ2l0dWRlIjotMTIxLjY1NCwiZGlzcGxheUFkZHJlc3MiOiIxMDYxIENvY2hyYW5lIFJkLCBNb3JnYW4gSGlsbCwgQ0EsIDk1MDM3In0sInN0b3JlTnVtYmVyIjoyMjUyLCJuYW1lIjoiTW9yZ2FuIEhpbGwiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNy40MDA3LCJsb25naXR1ZGUiOi0xMjIuMTA2LCJkaXNwbGF5QWRkcmVzcyI6IjU1NSBTaG93ZXJzIERyLCBNb3VudGFpbiBWaWV3LCBDQSwgOTQwNDAifSwic3RvcmVOdW1iZXIiOjMyMiwibmFtZSI6Ik1vdW50YWluIFZpZXciLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuNjA0MiwibG9uZ2l0dWRlIjotMTE3LjE3NCwiZGlzcGxheUFkZHJlc3MiOiIyNzgxOCBDbGludG9uIEtlaXRoIFJkLCBNdXJyaWV0YSwgQ0EsIDkyNTYyIn0sInN0b3JlTnVtYmVyIjoyNDk5LCJuYW1lIjoiTXVycmlldGEgTm9ydGggU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMzLjU2NTYsImxvbmdpdHVkZSI6LTExNy4yMDQsImRpc3BsYXlBZGRyZXNzIjoiNDEwNDAgQ2FsaWZvcm5pYSBPYWtzIFJkLCBNdXJyaWV0YSwgQ0EsIDkyNTYyIn0sInN0b3JlTnVtYmVyIjoxMjgzLCJuYW1lIjoiTXVycmlldGEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzguMzIyMSwibG9uZ2l0dWRlIjotMTIyLjMwOCwiZGlzcGxheUFkZHJlc3MiOiI0MDAwIEJlbCBBaXJlIFBsYXphLCBOYXBhLCBDQSwgOTQ1NTgifSwic3RvcmVOdW1iZXIiOjE0MzgsIm5hbWUiOiJOYXBhIE5vcnRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzguMjgyNCwibG9uZ2l0dWRlIjotMTIyLjI3NywiZGlzcGxheUFkZHJlc3MiOiIyMDUgU29zY29sIEF2ZSwgTmFwYSwgQ0EsIDk0NTU5In0sInN0b3JlTnVtYmVyIjoxMDI2LCJuYW1lIjoiTmFwYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMyLjY1NjEsImxvbmdpdHVkZSI6LTExNy4wNjYsImRpc3BsYXlBZGRyZXNzIjoiMzA2MCBQbGF6YSBCb25pdGEgUmQsIE5hdGlvbmFsIENpdHksIENBLCA5MTk1MCJ9LCJzdG9yZU51bWJlciI6MjIzMiwibmFtZSI6Ik5hdGwgQ3R5IFBsIEJvbml0YSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy45MDA3LCJsb25naXR1ZGUiOi0xMTcuNTY0LCJkaXNwbGF5QWRkcmVzcyI6IjEyOTAgSGFtbmVyIEF2ZSwgTm9yY28sIENBLCA5Mjg2MCJ9LCJzdG9yZU51bWJlciI6NzM2LCJuYW1lIjoiTm9yY28iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM0LjE4NzksImxvbmdpdHVkZSI6LTExOC4zNzIsImRpc3BsYXlBZGRyZXNzIjoiMTEwNTEgVmljdG9yeSBCbHZkLCBOb3J0aCBIb2xseXdvb2QsIENBLCA5MTYwNiJ9LCJzdG9yZU51bWJlciI6Mjk0LCJuYW1lIjoiTm9ydGggSG9sbHl3b29kIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM0LjIzNDcsImxvbmdpdHVkZSI6LTExOC41MDMsImRpc3BsYXlBZGRyZXNzIjoiODk5OSBCYWxib2EgQmx2ZCwgTm9ydGhyaWRnZSwgQ0EsIDkxMzI1In0sInN0b3JlTnVtYmVyIjoyMDIwLCJuYW1lIjoiTm9ydGhyaWRnZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNC4yMzA5LCJsb25naXR1ZGUiOi0xMTguNTYxLCJkaXNwbGF5QWRkcmVzcyI6Ijg4NDAgQ29yYmluIEF2ZSwgTm9ydGhyaWRnZSwgQ0EsIDkxMzI0In0sInN0b3JlTnVtYmVyIjoyOTksIm5hbWUiOiJOb3J0aHJpZGdlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuOTE4NCwibG9uZ2l0dWRlIjotMTE4LjA3NiwiZGlzcGxheUFkZHJlc3MiOiIxMjA1MSBJbXBlcmlhbCBId3ksIE5vcndhbGssIENBLCA5MDY1MCJ9LCJzdG9yZU51bWJlciI6MTQyNCwibmFtZSI6Ik5vcndhbGsgRWFzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy45MjU1LCJsb25naXR1ZGUiOi0xMTguMTA3LCJkaXNwbGF5QWRkcmVzcyI6IjEwNjAwIEZpcmVzdG9uZSBCbHZkLCBOb3J3YWxrLCBDQSwgOTA2NTAifSwic3RvcmVOdW1iZXIiOjEzNDAsIm5hbWUiOiJOb3J3YWxrIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozOC4wOSwibG9uZ2l0dWRlIjotMTIyLjU1MywiZGlzcGxheUFkZHJlc3MiOiIyMDAgVmludGFnZSBXYXksIE5vdmF0bywgQ0EsIDk0OTQ1In0sInN0b3JlTnVtYmVyIjo2OTIsIm5hbWUiOiJOb3ZhdG8iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM3LjgyODQsImxvbmdpdHVkZSI6LTEyMi4yOSwiZGlzcGxheUFkZHJlc3MiOiIxNTU1IDQwdGggU3RyZWV0LCBFbWVyeXZpbGxlLCBDQSwgOTQ2MDgifSwic3RvcmVOdW1iZXIiOjI3NjcsIm5hbWUiOiJPYWtsYW5kLUVtZXJ5dmlsbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkluLVN0b3JlIEFwcGxlIFN0b3JlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy4xODQxLCJsb25naXR1ZGUiOi0xMTcuMzMsImRpc3BsYXlBZGRyZXNzIjoiMjI1NSBTIEVsIENhbWlubyBSZWFsLCBPY2VhbnNpZGUsIENBLCA5MjA1NCJ9LCJzdG9yZU51bWJlciI6MzAzLCJuYW1lIjoiT2NlYW5zaWRlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM0LjA3NTQsImxvbmdpdHVkZSI6LTExNy41NjQsImRpc3BsYXlBZGRyZXNzIjoiNDIwMCBFIDR0aCBTdCwgT250YXJpbywgQ0EsIDkxNzY0In0sInN0b3JlTnVtYmVyIjoyMjQ1LCJuYW1lIjoiT250YXJpbyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuODI0MiwibG9uZ2l0dWRlIjotMTE3LjgzNSwiZGlzcGxheUFkZHJlc3MiOiIyMTkxIE4gVHVzdGluIFN0LCBPcmFuZ2UsIENBLCA5Mjg2NSJ9LCJzdG9yZU51bWJlciI6MjMwLCJuYW1lIjoiT3JhbmdlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM0LjA3ODcsImxvbmdpdHVkZSI6LTExNy4yOTIsImRpc3BsYXlBZGRyZXNzIjoiNDk5IFcgT3JhbmdlIFNob3cgUmQsIFNhbiBCZXJuYXJkaW5vLCBDQSwgOTI0MDgifSwic3RvcmVOdW1iZXIiOjE4OCwibmFtZSI6Ik9yYW5nZSBTaG93Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM0LjI0MjEsImxvbmdpdHVkZSI6LTExOS4xNzgsImRpc3BsYXlBZGRyZXNzIjoiMjg1MCBOIE9YTkFSRCBCTFZELCBPeG5hcmQgV2VzdCwgQ0EsIDkzMDM2In0sInN0b3JlTnVtYmVyIjoyNzYwLCJuYW1lIjoiT3huYXJkIFdlc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzQuMjQ1NSwibG9uZ2l0dWRlIjotMTE4LjQyLCJkaXNwbGF5QWRkcmVzcyI6Ijk3MjUgTGF1cmVsIENhbnlvbiBCbHZkLCBQYWNvaW1hLCBDQSwgOTEzMzEifSwic3RvcmVOdW1iZXIiOjE4MywibmFtZSI6IlBhY29pbWEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy43ODkzLCJsb25naXR1ZGUiOi0xMTYuNDgxLCJkaXNwbGF5QWRkcmVzcyI6IjY3NzUwIEUgUGFsbSBDYW55b24gRHIsIENhdGhlZHJhbCBDaXR5LCBDQSwgOTIyMzQifSwic3RvcmVOdW1iZXIiOjMwNywibmFtZSI6IlBhbG0gU3ByaW5ncyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNC41NzUyLCJsb25naXR1ZGUiOi0xMTguMDQ4LCJkaXNwbGF5QWRkcmVzcyI6IjM4MDE5IDQ3VGggU3QgRSwgUGFsbWRhbGUsIENBLCA5MzU1MiJ9LCJzdG9yZU51bWJlciI6MjM1MCwibmFtZSI6IlBhbG1kYWxlIEVhc3QgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNC41OTk3LCJsb25naXR1ZGUiOi0xMTguMTQ3LCJkaXNwbGF5QWRkcmVzcyI6IjM5NDQwIDEwdGggU3QgVywgUGFsbWRhbGUsIENBLCA5MzU1MSJ9LCJzdG9yZU51bWJlciI6Njg1LCJuYW1lIjoiUGFsbWRhbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzQuMTQ3LCJsb25naXR1ZGUiOi0xMTguMDg2LCJkaXNwbGF5QWRkcmVzcyI6IjMxMjEgRSBDb2xvcmFkbyBCbHZkLCBQYXNhZGVuYSwgQ0EsIDkxMTA3In0sInN0b3JlTnVtYmVyIjoxMzMyLCJuYW1lIjoiUGFzYWRlbmEgRWFzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzQuMTQ2NiwibG9uZ2l0dWRlIjotMTE4LjEzNSwiZGlzcGxheUFkZHJlc3MiOiI3NzcgRSBDb2xvcmFkbyBCbHZkLCBQYXNhZGVuYSwgQ0EsIDkxMTAxIn0sInN0b3JlTnVtYmVyIjo4ODMsIm5hbWUiOiJQYXNhZGVuYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiSW4tU3RvcmUgQXBwbGUgU3RvcmUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM1LjU4NCwibG9uZ2l0dWRlIjotMTIwLjY5OCwiZGlzcGxheUFkZHJlc3MiOiIyMzA1IFRoZWF0cmUgRHIsIFBhc28gUm9ibGVzLCBDQSwgOTM0NDYifSwic3RvcmVOdW1iZXIiOjExMjAsIm5hbWUiOiJQYXNvIFJvYmxlcyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNC4wMDE2LCJsb25naXR1ZGUiOi0xMTguMDg2LCJkaXNwbGF5QWRkcmVzcyI6Ijg4MDAgV2hpdHRpZXIgQmx2ZCwgUGljbyBSaXZlcmEsIENBLCA5MDY2MCJ9LCJzdG9yZU51bWJlciI6MTQyNSwibmFtZSI6IlBpY28gUml2ZXJhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJJbi1TdG9yZSBBcHBsZSBTdG9yZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM3Ljk4NzgsImxvbmdpdHVkZSI6LTEyMi4zMDksImRpc3BsYXlBZGRyZXNzIjoiMTQwMCBGaXR6Z2VyYWxkIERyLCBQaW5vbGUsIENBLCA5NDU2NCJ9LCJzdG9yZU51bWJlciI6NzM3LCJuYW1lIjoiUGlub2xlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozOC4wMDgsImxvbmdpdHVkZSI6LTEyMS44NCwiZGlzcGxheUFkZHJlc3MiOiI0MzAxIENlbnR1cnkgQmx2ZCwgUGl0dHNidXJnLCBDQSwgOTQ1NjUifSwic3RvcmVOdW1iZXIiOjMzMiwibmFtZSI6IlBpdHRzYnVyZyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM3Ljk3NzYsImxvbmdpdHVkZSI6LTEyMi4wNjcsImRpc3BsYXlBZGRyZXNzIjoiNTYwIENvbnRyYSBDb3N0YSBCbHZkLCBQbGVhc2FudCBIaWxsLCBDQSwgOTQ1MjMifSwic3RvcmVOdW1iZXIiOjMzMCwibmFtZSI6IlBsZWFzYW50IEhpbGwiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM2LjA3ODIsImxvbmdpdHVkZSI6LTExOS4wNDgsImRpc3BsYXlBZGRyZXNzIjoiMTM2MyBXIEhlbmRlcnNvbiBBdmUsIFBvcnRlcnZpbGxlLCBDQSwgOTMyNTcifSwic3RvcmVOdW1iZXIiOjI0MjAsIm5hbWUiOiJQb3J0ZXJ2aWxsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMi45ODA0LCJsb25naXR1ZGUiOi0xMTcuMDYxLCJkaXNwbGF5QWRkcmVzcyI6IjE0ODIzIFBvbWVyYWRvIFJkLCBQb3dheSwgQ0EsIDkyMDY0In0sInN0b3JlTnVtYmVyIjoyOTYsIm5hbWUiOiJQb3dheSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkluLVN0b3JlIEFwcGxlIFN0b3JlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMzLjk5MTksImxvbmdpdHVkZSI6LTExNy45MTksImRpc3BsYXlBZGRyZXNzIjoiMTc3NTEgQ29saW1hIFJkLCBSb3dsYW5kIEhlaWdodHMsIENBLCA5MTc0OCJ9LCJzdG9yZU51bWJlciI6MjIyLCJuYW1lIjoiUHVlbnRlIEhpbGxzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy41MDYzLCJsb25naXR1ZGUiOi0xMTcuMTQ2LCJkaXNwbGF5QWRkcmVzcyI6IjI5Njc2IFJhbmNobyBDYWxpZm9ybmlhIFJkLCBUZW1lY3VsYSwgQ0EsIDkyNTkxIn0sInN0b3JlTnVtYmVyIjozNTksIm5hbWUiOiJSYW5jaG8gQ2FsaWZvcm5pYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzguNTk2NSwibG9uZ2l0dWRlIjotMTIxLjI4NSwiZGlzcGxheUFkZHJlc3MiOiIxMDg4MCBPbHNvbiBEciwgUmFuY2hvIENvcmRvdmEsIENBLCA5NTY3MCJ9LCJzdG9yZU51bWJlciI6MjQ2MywibmFtZSI6IlJhbmNobyBDb3Jkb3ZhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNC4xMDgxLCJsb25naXR1ZGUiOi0xMTcuNTc0LCJkaXNwbGF5QWRkcmVzcyI6IjEwNTc2IEZvb3RoaWxsIEJsdmQsIFJhbmNobyBDdWNhbW9uZ2EsIENBLCA5MTczMCJ9LCJzdG9yZU51bWJlciI6MzAxLCJuYW1lIjoiUmFuY2hvIEN1Y2Ftb25nYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzIuNzM5LCJsb25naXR1ZGUiOi0xMTYuOTM5LCJkaXNwbGF5QWRkcmVzcyI6IjI5MTEgSmFtYWNoYSBSZCwgRWwgQ2Fqb24sIENBLCA5MjAxOSJ9LCJzdG9yZU51bWJlciI6MTE0MCwibmFtZSI6IlJhbmNobyBTYW4gRGllZ28iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkluLVN0b3JlIEFwcGxlIFN0b3JlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuNjQxNywibG9uZ2l0dWRlIjotMTE3LjU5OCwiZGlzcGxheUFkZHJlc3MiOiIzMDYwMiBTYW50YSBNYXJnYXJpdGEgUGt3eSwgUmFuY2hvIFNhbnRhIE1hcmdhcml0YSwgQ0EsIDkyNjg4In0sInN0b3JlTnVtYmVyIjo5MTQsIm5hbWUiOiJSYW5jaG8gU2FudGEgTWFyZ2FyaXRhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjQwLjU4NjcsImxvbmdpdHVkZSI6LTEyMi4zNDksImRpc3BsYXlBZGRyZXNzIjoiMTI4MCBEYW5hIERyLCBSZWRkaW5nLCBDQSwgOTYwMDMifSwic3RvcmVOdW1iZXIiOjYxNSwibmFtZSI6IlJlZGRpbmciLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzQuMDcxNywibG9uZ2l0dWRlIjotMTE3LjIwNywiZGlzcGxheUFkZHJlc3MiOiIyNzMyMCBXIEx1Z29uaWEgQXZlLCBSZWRsYW5kcywgQ0EsIDkyMzc0In0sInN0b3JlTnVtYmVyIjoxODY5LCJuYW1lIjoiUmVkbGFuZHMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkluLVN0b3JlIEFwcGxlIFN0b3JlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy44Njg5LCJsb25naXR1ZGUiOi0xMTguMzU4LCJkaXNwbGF5QWRkcmVzcyI6IjE2MDEgS2luZ3NkYWxlIEF2ZSwgUmVkb25kbyBCZWFjaCwgQ0EsIDkwMjc4In0sInN0b3JlTnVtYmVyIjoxOTgwLCJuYW1lIjoiUmVkb25kbyBCZWFjaCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiSW4tU3RvcmUgQXBwbGUgU3RvcmUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM3LjQ3NTQsImxvbmdpdHVkZSI6LTEyMi4yMTgsImRpc3BsYXlBZGRyZXNzIjoiMjQ4NSBFbCBDYW1pbm8gUmVhbCwgUmVkd29vZCBDaXR5LCBDQSwgOTQwNjMifSwic3RvcmVOdW1iZXIiOjMyMSwibmFtZSI6IlJlZHdvb2QgQ2l0eSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiSW4tU3RvcmUgQXBwbGUgU3RvcmUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM3LjkzMiwibG9uZ2l0dWRlIjotMTIyLjMyNiwiZGlzcGxheUFkZHJlc3MiOiI0NTAwIE1hY2RvbmFsZCBBdmUsIFJpY2htb25kLCBDQSwgOTQ4MDUifSwic3RvcmVOdW1iZXIiOjE1MDcsIm5hbWUiOiJSaWNobW9uZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNy43MTM3LCJsb25naXR1ZGUiOi0xMjAuOTU1LCJkaXNwbGF5QWRkcmVzcyI6IjI0MjUgQ2xhcmliZWwgUmQsIFJpdmVyYmFuaywgQ0EsIDk1MzY3In0sInN0b3JlTnVtYmVyIjoyMDk2LCJuYW1lIjoiUml2ZXJiYW5rIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy45NDczLCJsb25naXR1ZGUiOi0xMTcuMzgyLCJkaXNwbGF5QWRkcmVzcyI6IjMzMzMgQXJsaW5ndG9uIEF2ZSwgUml2ZXJzaWRlLCBDQSwgOTI1MDYifSwic3RvcmVOdW1iZXIiOjI5MSwibmFtZSI6IlJpdmVyc2lkZSBBcmxpbmd0b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuOTA2NSwibG9uZ2l0dWRlIjotMTE3LjQ2LCJkaXNwbGF5QWRkcmVzcyI6IjM1MjAgVHlsZXIgU3QsIFJpdmVyc2lkZSwgQ0EsIDkyNTAzIn0sInN0b3JlTnVtYmVyIjoyMTIsIm5hbWUiOiJSaXZlcnNpZGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMzLjkzOSwibG9uZ2l0dWRlIjotMTE3LjI4MiwiZGlzcGxheUFkZHJlc3MiOiIyNzU1IENhbnlvbiBTcHJpbmdzIFBrd3ksIFJpdmVyc2lkZSwgQ0EsIDkyNTA3In0sInN0b3JlTnVtYmVyIjoxODQzLCJuYW1lIjoiUml2ZXJzaWRlIFNFIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozOC4zNDY3LCJsb25naXR1ZGUiOi0xMjIuNzIsImRpc3BsYXlBZGRyZXNzIjoiNDc1IFJvaG5lcnQgUGFyayBFeHB5IFcsIFJvaG5lcnQgUGFyaywgQ0EsIDk0OTI4In0sInN0b3JlTnVtYmVyIjo4NTIsIm5hbWUiOiJSb2huZXJ0IFBhcmsiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzQuMDc0OSwibG9uZ2l0dWRlIjotMTE4LjA3LCJkaXNwbGF5QWRkcmVzcyI6IjM2MDAgUm9zZW1lYWQgQmx2ZCwgUm9zZW1lYWQsIENBLCA5MTc3MCJ9LCJzdG9yZU51bWJlciI6MTQxMSwibmFtZSI6IlJvc2VtZWFkIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM4Ljc5MDksImxvbmdpdHVkZSI6LTEyMS4yOSwiZGlzcGxheUFkZHJlc3MiOiIxMDQ1MSBGYWlyd2F5IERyLCBSb3NldmlsbGUsIENBLCA5NTY3OCJ9LCJzdG9yZU51bWJlciI6MTUwMiwibmFtZSI6IlJvc2V2aWxsZSBOb3J0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozOC43NDYsImxvbmdpdHVkZSI6LTEyMS4yNTQsImRpc3BsYXlBZGRyZXNzIjoiMTkyNSBEb3VnbGFzIEJsdmQsIFJvc2V2aWxsZSwgQ0EsIDk1NjYxIn0sInN0b3JlTnVtYmVyIjoyNjcsIm5hbWUiOiJSb3NldmlsbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM4LjYwMDUsImxvbmdpdHVkZSI6LTEyMS40MDIsImRpc3BsYXlBZGRyZXNzIjoiMTkxOSBGdWx0b24gQXZlLCBTYWNyYW1lbnRvLCBDQSwgOTU4MjUifSwic3RvcmVOdW1iZXIiOjMxMiwibmFtZSI6IlNhY3JhbWVudG8gQXJkZW4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM4LjU0OTUsImxvbmdpdHVkZSI6LTEyMS40MjYsImRpc3BsYXlBZGRyZXNzIjoiNjUwNyA0dGggQXZlLCBTYWNyYW1lbnRvLCBDQSwgOTU4MTcifSwic3RvcmVOdW1iZXIiOjI0OTIsIm5hbWUiOiJTYWNyYW1lbnRvIEVhc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM4LjY2MTUsImxvbmdpdHVkZSI6LTEyMS4zNDksImRpc3BsYXlBZGRyZXNzIjoiNTAwMSBNYWRpc29uIEF2ZSwgU2FjcmFtZW50bywgQ0EsIDk1ODQxIn0sInN0b3JlTnVtYmVyIjozMTEsIm5hbWUiOiJTYWNyYW1lbnRvIE1hZGlzb24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIkZyZXNoIEdyb2NlcnkiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzguNjM3OCwibG9uZ2l0dWRlIjotMTIxLjUsImRpc3BsYXlBZGRyZXNzIjoiMzYwMSBOIEZyZWV3YXkgQmx2ZCwgU2FjcmFtZW50bywgQ0EsIDk1ODM0In0sInN0b3JlTnVtYmVyIjoyMTE1LCJuYW1lIjoiU2FjcmFtZW50byBOYXRvbWFzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozOC41NjIzLCJsb25naXR1ZGUiOi0xMjEuNDk4LCJkaXNwbGF5QWRkcmVzcyI6IjI1MDUgUml2ZXJzaWRlIEJsdmQsIFNhY3JhbWVudG8sIENBLCA5NTgxOCJ9LCJzdG9yZU51bWJlciI6MzEwLCJuYW1lIjoiU2FjcmFtZW50byBSaXZlcnNpZGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM4LjQ1OTEsImxvbmdpdHVkZSI6LTEyMS40MTUsImRpc3BsYXlBZGRyZXNzIjoiODEwMSBDb3N1bW5lcyBSaXZlciBCbHZkLCBTYWNyYW1lbnRvLCBDQSwgOTU4MjMifSwic3RvcmVOdW1iZXIiOjE1MjcsIm5hbWUiOiJTYWNyYW1lbnRvIFNXIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNi43MTQyLCJsb25naXR1ZGUiOi0xMjEuNjUzLCJkaXNwbGF5QWRkcmVzcyI6IjE2NDAgTiBNYWluIFN0LCBTYWxpbmFzLCBDQSwgOTM5MDYifSwic3RvcmVOdW1iZXIiOjY3NiwibmFtZSI6IlNhbGluYXMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM0LjEzODEsImxvbmdpdHVkZSI6LTExNy4yNDUsImRpc3BsYXlBZGRyZXNzIjoiMjM4MCBTdGVybGluZyBBdmUsIFNhbiBCZXJuYXJkaW5vLCBDQSwgOTI0MDQifSwic3RvcmVOdW1iZXIiOjI5NywibmFtZSI6IlNhbiBCZXJuYXJkaW5vIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6W10sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMzLjQ2MzksImxvbmdpdHVkZSI6LTExNy42MDYsImRpc3BsYXlBZGRyZXNzIjoiOTkwIEF2ZW5pZGEgVmlzdGEgSGVybW9zYSwgU2FuIENsZW1lbnRlLCBDQSwgOTI2NzMifSwic3RvcmVOdW1iZXIiOjI3MzAsIm5hbWUiOiJTYW4gQ2xlbWVudGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzIuNzY5MywibG9uZ2l0dWRlIjotMTE3LjE0NywiZGlzcGxheUFkZHJlc3MiOiIxMjg4IENhbWlubyBEZWwgUmlvIE4sIFNhbiBEaWVnbywgQ0EsIDkyMTA4In0sInN0b3JlTnVtYmVyIjoxNDEwLCJuYW1lIjoiU2FuIERpZWdvIE1pc3Npb24gVmFsbGV5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM0LjEwNDQsImxvbmdpdHVkZSI6LTExNy44MjMsImRpc3BsYXlBZGRyZXNzIjoiODg4IFcgQXJyb3cgSHd5LCBTYW4gRGltYXMsIENBLCA5MTc3MyJ9LCJzdG9yZU51bWJlciI6NzY3LCJuYW1lIjoiU2FuIERpbWFzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJJbi1TdG9yZSBBcHBsZSBTdG9yZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzcuNzg0NSwibG9uZ2l0dWRlIjotMTIyLjQwNCwiZGlzcGxheUFkZHJlc3MiOiI3ODkgTWlzc2lvbiBTdCwgU2FuIEZyYW5jaXNjbywgQ0EsIDk0MTAzIn0sInN0b3JlTnVtYmVyIjoyNzY2LCJuYW1lIjoiU2FuIEZyYW5jaXNjbyBDZW50cmFsIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkluLVN0b3JlIEFwcGxlIFN0b3JlIl0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA3OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgYmUgb3BlbiBNb24tRnJpIDc6MDAgQU0gdG8gMTE6MDAgUE0gU2F0IDg6MDAgQU0gdG8gMTE6MDAgUE0gU3VuIDg6MDAgQU0gdG8gMTA6MDAgUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNy4zNzIzLCJsb25naXR1ZGUiOi0xMjEuODQzLCJkaXNwbGF5QWRkcmVzcyI6IjQ1MCBOIENhcGl0YWwgQXZlLCBTYW4gSm9zZSwgQ0EsIDk1MTMzIn0sInN0b3JlTnVtYmVyIjoxNDI2LCJuYW1lIjoiU2FuIEpvc2UgQ2FwaXRvbCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM3LjMwMzYsImxvbmdpdHVkZSI6LTEyMS44NjcsImRpc3BsYXlBZGRyZXNzIjoiMjE2MSBNb250ZXJleSBId3ksIFNhbiBKb3NlLCBDQSwgOTUxMjUifSwic3RvcmVOdW1iZXIiOjIyODEsIm5hbWUiOiJTYW4gSm9zZSBDZW50cmFsIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzcuMzM4NywibG9uZ2l0dWRlIjotMTIxLjkwNSwiZGlzcGxheUFkZHJlc3MiOiI1MzMgQ29sZW1hbiBBdmUsIFNhbiBKb3NlLCBDQSwgOTUxMTAifSwic3RvcmVOdW1iZXIiOjIwODgsIm5hbWUiOiJTYW4gSm9zZSBDb2xsZWdlIFBhcmsiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzcuMzA3MSwibG9uZ2l0dWRlIjotMTIxLjgxMywiZGlzcGxheUFkZHJlc3MiOiIzMTU1IFNpbHZlciBDcmVlayBSZCwgU2FuIEpvc2UsIENBLCA5NTEyMSJ9LCJzdG9yZU51bWJlciI6MjIzOCwibmFtZSI6IlNhbiBKb3NlIEVhc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM3LjQxNDMsImxvbmdpdHVkZSI6LTEyMS44NzYsImRpc3BsYXlBZGRyZXNzIjoiMjE1NSBNb3JyaWxsIEF2ZSwgU2FuIEpvc2UsIENBLCA5NTEzMiJ9LCJzdG9yZU51bWJlciI6NjI2LCJuYW1lIjoiU2FuIEpvc2UgTGFuZGVzcyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzcuNDE4MSwibG9uZ2l0dWRlIjotMTIxLjk1NiwiZGlzcGxheUFkZHJlc3MiOiI5NSBIb2xnZXIgV2F5LCBTYW4gSm9zZSwgQ0EsIDk1MTM0In0sInN0b3JlTnVtYmVyIjoyNTgxLCJuYW1lIjoiU2FuIEpvc2UgTm9ydGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzcuMjUyMiwibG9uZ2l0dWRlIjotMTIxLjg2MywiZGlzcGxheUFkZHJlc3MiOiI4NzkgQmxvc3NvbSBIaWxsIFJkLCBTYW4gSm9zZSwgQ0EsIDk1MTIzIn0sInN0b3JlTnVtYmVyIjoxOTI3LCJuYW1lIjoiU2FuIEpvc2UgT2FrcmlkZ2UiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzcuMzM5NywibG9uZ2l0dWRlIjotMTIxLjg0MSwiZGlzcGxheUFkZHJlc3MiOiIxNzUwIFN0b3J5IFJkLCBTYW4gSm9zZSwgQ0EsIDk1MTIyIn0sInN0b3JlTnVtYmVyIjoxOTg0LCJuYW1lIjoiU2FuIEpvc2UgU3RvcnkgUm9hZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM3LjI2NDUsImxvbmdpdHVkZSI6LTEyMS45MTgsImRpc3BsYXlBZGRyZXNzIjoiMTgxMSBIaWxsc2RhbGUgQXZlLCBTYW4gSm9zZSwgQ0EsIDk1MTI0In0sInN0b3JlTnVtYmVyIjozMjQsIm5hbWUiOiJTYW4gSm9zZSBXZXN0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM3LjI5MTksImxvbmdpdHVkZSI6LTEyMS45ODksImRpc3BsYXlBZGRyZXNzIjoiMTYwMCBTYXJhdG9nYSBBdmUsIFNhbiBKb3NlLCBDQSwgOTUxMjkifSwic3RvcmVOdW1iZXIiOjE0MjcsIm5hbWUiOiJTYW4gSm9zZSBXZXN0Z2F0ZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNy42OTk3LCJsb25naXR1ZGUiOi0xMjIuMTI2LCJkaXNwbGF5QWRkcmVzcyI6IjE1NTU1IEUgMTR0aCBTdCBTdGUgNDAwLCBTYW4gTGVhbmRybywgQ0EsIDk0NTc4In0sInN0b3JlTnVtYmVyIjoxNDI4LCJuYW1lIjoiU2FuIExlYW5kcm8gQmF5ZmFpciIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzUuMjUyLCJsb25naXR1ZGUiOi0xMjAuNjg1LCJkaXNwbGF5QWRkcmVzcyI6IjExOTkwIExPUyBPU09TIFZBTExFWSBSRCwgU2FuIEx1aXMgT2Jpc3BvLCBDQSwgOTM0MDUifSwic3RvcmVOdW1iZXIiOjI3NTksIm5hbWUiOiJTYW4gTHVpcyBPYmlzcG8iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzcuNTU5MywibG9uZ2l0dWRlIjotMTIyLjI4MywiZGlzcGxheUFkZHJlc3MiOiIyMjIwIEJyaWRnZXBvaW50ZSBQa3d5LCBTYW4gTWF0ZW8sIENBLCA5NDQwNCJ9LCJzdG9yZU51bWJlciI6MTEyMiwibmFtZSI6IlNhbiBNYXRlbyBGYXNoaW9uIElzbGFuZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkluLVN0b3JlIEFwcGxlIFN0b3JlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy43NjAxLCJsb25naXR1ZGUiOi0xMTguMjkzLCJkaXNwbGF5QWRkcmVzcyI6IjE3MDEgTiBHYWZmZXkgU3QsIFNhbiBQZWRybywgQ0EsIDkwNzMxIn0sInN0b3JlTnVtYmVyIjoyNDcwLCJuYW1lIjoiU2FuIFBlZHJvIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNi42MjEyLCJsb25naXR1ZGUiOi0xMjEuODQ0LCJkaXNwbGF5QWRkcmVzcyI6IjIwNDAgQ2FsaWZvcm5pYSBBdmUsIFNhbmQgQ2l0eSwgQ0EsIDkzOTU1In0sInN0b3JlTnVtYmVyIjoxMDYyLCJuYW1lIjoiU2FuZCBDaXR5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy43NjExLCJsb25naXR1ZGUiOi0xMTcuODg4LCJkaXNwbGF5QWRkcmVzcyI6IjE0NDEgVyAxN3RoIFN0LCBTYW50YSBBbmEsIENBLCA5MjcwNiJ9LCJzdG9yZU51bWJlciI6MTkzNiwibmFtZSI6IlNhbnRhIEFuYSBOVyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy43MDI4LCJsb25naXR1ZGUiOi0xMTcuODg3LCJkaXNwbGF5QWRkcmVzcyI6IjMzMDAgUyBCcmlzdG9sIFN0LCBTYW50YSBBbmEsIENBLCA5MjcwNCJ9LCJzdG9yZU51bWJlciI6MjUwLCJuYW1lIjoiU2FudGEgQW5hIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiSW4tU3RvcmUgQXBwbGUgU3RvcmUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy43NTkxLCJsb25naXR1ZGUiOi0xMTcuODUxLCJkaXNwbGF5QWRkcmVzcyI6IjEzMzAgRSAxN3RoIFN0LCBTYW50YSBBbmEsIENBLCA5MjcwNSJ9LCJzdG9yZU51bWJlciI6Mjg2LCJuYW1lIjoiU2FudGEgQW5hIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzQuMzk1NCwibG9uZ2l0dWRlIjotMTE4LjQ2NCwiZGlzcGxheUFkZHJlc3MiOiIxOTEwNSBHb2xkZW4gVmFsbGV5IFJkLCBTYW50YSBDbGFyaXRhLCBDQSwgOTEzODcifSwic3RvcmVOdW1iZXIiOjIwMzAsIm5hbWUiOiJTYW50YSBDbGFyaXRhIEVhc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkluLVN0b3JlIEFwcGxlIFN0b3JlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy45Mzc1LCJsb25naXR1ZGUiOi0xMTguMDQ4LCJkaXNwbGF5QWRkcmVzcyI6IjEwNjIxIENhcm1lbml0YSBSZCwgU2FudGEgRmUgU3ByaW5ncywgQ0EsIDkwNjcwIn0sInN0b3JlTnVtYmVyIjoyMjcsIm5hbWUiOiJTYW50YSBGZSBTcHJpbmdzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzQuOTIxNywibG9uZ2l0dWRlIjotMTIwLjQzNSwiZGlzcGxheUFkZHJlc3MiOiIyMjMgRSBCZXR0ZXJhdmlhIFJkLCBTYW50YSBNYXJpYSwgQ0EsIDkzNDU0In0sInN0b3JlTnVtYmVyIjozMDksIm5hbWUiOiJTYW50YSBNYXJpYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMi44NDE5LCJsb25naXR1ZGUiOi0xMTYuOTgyLCJkaXNwbGF5QWRkcmVzcyI6Ijk4NDYgTWlzc2lvbiBHb3JnZSBSZCwgU2FudGVlLCBDQSwgOTIwNzEifSwic3RvcmVOdW1iZXIiOjE0ODUsIm5hbWUiOiJTYW50ZWUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkluLVN0b3JlIEFwcGxlIFN0b3JlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy43ODI3LCJsb25naXR1ZGUiOi0xMTguMDcsImRpc3BsYXlBZGRyZXNzIjoiMTIzMDAgU2VhbCBCZWFjaCBCbHZkLCBTZWFsIEJlYWNoLCBDQSwgOTA3NDAifSwic3RvcmVOdW1iZXIiOjEzMjgsIm5hbWUiOiJTZWFsIEJlYWNoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMzLjgxNjQsImxvbmdpdHVkZSI6LTExOC4xODIsImRpc3BsYXlBZGRyZXNzIjoiOTUwIEUgMzNyZCBTdCwgU2lnbmFsIEhpbGwsIENBLCA5MDc1NSJ9LCJzdG9yZU51bWJlciI6MjMxOSwibmFtZSI6IlNpZ25hbCBIaWxsIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzQuMjgxNSwibG9uZ2l0dWRlIjotMTE4Ljc0MiwiZGlzcGxheUFkZHJlc3MiOiIyOTA3IENvY2hyYW4gU3QsIFNpbWkgVmFsbGV5LCBDQSwgOTMwNjUifSwic3RvcmVOdW1iZXIiOjI0NiwibmFtZSI6IlNpbWkgVmFsbGV5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM0LjI3MzQsImxvbmdpdHVkZSI6LTExOC43OTgsImRpc3BsYXlBZGRyZXNzIjoiNTEgVGllcnJhIFJlamFkYSBSZCwgU2ltaSBWYWxsZXksIENBLCA5MzA2NSJ9LCJzdG9yZU51bWJlciI6MjQ2MiwibmFtZSI6IlNpbWkgVmFsbGV5IFdlc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy45NDgzLCJsb25naXR1ZGUiOi0xMTguMTY3LCJkaXNwbGF5QWRkcmVzcyI6IjU3MDAgRmlyZXN0b25lIEJsdmQsIFNvdXRoIEdhdGUsIENBLCA5MDI4MCJ9LCJzdG9yZU51bWJlciI6MTkwLCJuYW1lIjoiU291dGggR2F0ZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMi43NTIyLCJsb25naXR1ZGUiOi0xMTcuMjEsImRpc3BsYXlBZGRyZXNzIjoiMzI0NSBTcG9ydHMgQXJlbmEgQmx2ZCwgU2FuIERpZWdvLCBDQSwgOTIxMTAifSwic3RvcmVOdW1iZXIiOjIwMSwibmFtZSI6IlNwb3J0cyBBcmVuYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzguMDU1NiwibG9uZ2l0dWRlIjotMTIxLjM3NCwiZGlzcGxheUFkZHJlc3MiOiIxMDQyNCBUcmluaXR5IFBhcmt3YXksIFN0b2NrdG9uLCBDQSwgOTUyMTkifSwic3RvcmVOdW1iZXIiOjE4NjIsIm5hbWUiOiJTdG9ja3RvbiBOb3J0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzcuOTkyLCJsb25naXR1ZGUiOi0xMjEuMzE0LCJkaXNwbGF5QWRkcmVzcyI6IjQ3MDcgUGFjaWZpYyBBdmUsIFN0b2NrdG9uLCBDQSwgOTUyMDcifSwic3RvcmVOdW1iZXIiOjMxMywibmFtZSI6IlN0b2NrdG9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNy4zNzQxLCJsb25naXR1ZGUiOi0xMjIuMDMxLCJkaXNwbGF5QWRkcmVzcyI6IjI5OCBXIE1jS2lubGV5IEF2ZSwgU3Vubnl2YWxlLCBDQSwgOTQwODYifSwic3RvcmVOdW1iZXIiOjI1ODQsIm5hbWUiOiJTdW5ueXZhbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkluLVN0b3JlIEFwcGxlIFN0b3JlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNy42MzUyLCJsb25naXR1ZGUiOi0xMjIuNDE4LCJkaXNwbGF5QWRkcmVzcyI6IjExNTAgRWwgQ2FtaW5vIFJlYWwsIFNhbiBCcnVubywgQ0EsIDk0MDY2In0sInN0b3JlTnVtYmVyIjoxMDU0LCJuYW1lIjoiVGFuZm9yYW4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM0LjE5MTIsImxvbmdpdHVkZSI6LTExOC45MzUsImRpc3BsYXlBZGRyZXNzIjoiMjcwNSBUZWxsZXIgUmQsIFRob3VzYW5kIE9ha3MsIENBLCA5MTMyMCJ9LCJzdG9yZU51bWJlciI6MTEwMCwibmFtZSI6IlRob3VzYW5kIE9ha3MiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMzLjgyNjcsImxvbmdpdHVkZSI6LTExOC4zNDYsImRpc3BsYXlBZGRyZXNzIjoiMzQzMyBTZXB1bHZlZGEgQmx2ZCwgVG9ycmFuY2UsIENBLCA5MDUwNSJ9LCJzdG9yZU51bWJlciI6MjAwLCJuYW1lIjoiVG9ycmFuY2UiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzcuNzYwMSwibG9uZ2l0dWRlIjotMTIxLjQ1OSwiZGlzcGxheUFkZHJlc3MiOiIyODAwIE5hZ2xlZSBSZCwgVHJhY3ksIENBLCA5NTMwNCJ9LCJzdG9yZU51bWJlciI6NzM4LCJuYW1lIjoiVHJhY3kiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM2LjIyNTEsImxvbmdpdHVkZSI6LTExOS4zMTUsImRpc3BsYXlBZGRyZXNzIjoiMjE5NSBFIFByb3NwZXJpdHkgQXZlLCBUdWxhcmUsIENBLCA5MzI3NCJ9LCJzdG9yZU51bWJlciI6MjM0OSwibmFtZSI6IlR1bGFyZSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNy41MjA1LCJsb25naXR1ZGUiOi0xMjAuODc5LCJkaXNwbGF5QWRkcmVzcyI6IjMwMDAgQ291bnRyeXNpZGUgRHIsIFR1cmxvY2ssIENBLCA5NTM4MCJ9LCJzdG9yZU51bWJlciI6MTMwNCwibmFtZSI6IlR1cmxvY2siLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMzLjY5NjUsImxvbmdpdHVkZSI6LTExNy44MjcsImRpc3BsYXlBZGRyZXNzIjoiMjMwMCBQYXJrIEF2ZSwgVHVzdGluLCBDQSwgOTI3ODIifSwic3RvcmVOdW1iZXIiOjIxNTEsIm5hbWUiOiJUdXN0aW4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM0LjEzMywibG9uZ2l0dWRlIjotMTE3LjY0MSwiZGlzcGxheUFkZHJlc3MiOiIxOTMxIENhbXB1cyBBdmUsIFVwbGFuZCwgQ0EsIDkxNzg0In0sInN0b3JlTnVtYmVyIjoxODM0LCJuYW1lIjoiVXBsYW5kIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM4LjM2MzEsImxvbmdpdHVkZSI6LTEyMS45NjQsImRpc3BsYXlBZGRyZXNzIjoiMzAwMCBIYXJiaXNvbiBEciwgVmFjYXZpbGxlLCBDQSwgOTU2ODcifSwic3RvcmVOdW1iZXIiOjgyNywibmFtZSI6IlZhY2F2aWxsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNC40MjAzLCJsb25naXR1ZGUiOi0xMTguNTYxLCJkaXNwbGF5QWRkcmVzcyI6IjI0NDI1IE1hZ2ljIE1vdW50YWluIFBrd3ksIFZhbGVuY2lhLCBDQSwgOTEzNTUifSwic3RvcmVOdW1iZXIiOjI1NywibmFtZSI6IlZhbGVuY2lhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozOC4xMzE3LCJsb25naXR1ZGUiOi0xMjIuMjI0LCJkaXNwbGF5QWRkcmVzcyI6IjkwNCBBZG1pcmFsIENhbGxhZ2hhbiBMYW5lLCBWYWxsZWpvLCBDQSwgOTQ1OTEifSwic3RvcmVOdW1iZXIiOjMzMSwibmFtZSI6IlZhbGxlam8iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM0LjIxMjgsImxvbmdpdHVkZSI6LTExOC40NjEsImRpc3BsYXlBZGRyZXNzIjoiMTQ5MjAgUmF5bWVyIFN0LCBWYW4gTnV5cywgQ0EsIDkxNDA1In0sInN0b3JlTnVtYmVyIjoxMzA5LCJuYW1lIjoiVmFuIE51eXMgTm9ydGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM0LjE3NDMsImxvbmdpdHVkZSI6LTExOC40NjcsImRpc3BsYXlBZGRyZXNzIjoiNTcxMSBTZXB1bHZlZGEgQmx2ZCwgVmFuIE51eXMsIENBLCA5MTQxMSJ9LCJzdG9yZU51bWJlciI6MTMwNywibmFtZSI6IlZhbiBOdXlzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzQuMjYyMiwibG9uZ2l0dWRlIjotMTE5LjIzNywiZGlzcGxheUFkZHJlc3MiOiI0MjAwIEUgTWFpbiBTdCwgVmVudHVyYSwgQ0EsIDkzMDAzIn0sInN0b3JlTnVtYmVyIjoyOTgsIm5hbWUiOiJWZW50dXJhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzQuMjcwMiwibG9uZ2l0dWRlIjotMTE5LjI0OSwiZGlzcGxheUFkZHJlc3MiOiIyNDUgUyBNaWxscyBSZCwgVmVudHVyYSwgQ0EsIDkzMDAzIn0sInN0b3JlTnVtYmVyIjoyMzk4LCJuYW1lIjoiVmVudHVyYSBXZXN0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNC41MDYxLCJsb25naXR1ZGUiOi0xMTcuMzI5LCJkaXNwbGF5QWRkcmVzcyI6IjE1MzIxIFBhbG1kYWxlIFJkLCBWaWN0b3J2aWxsZSwgQ0EsIDkyMzkyIn0sInN0b3JlTnVtYmVyIjoyNzYsIm5hbWUiOiJWaWN0b3J2aWxsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM2LjM1NzYsImxvbmdpdHVkZSI6LTExOS4yOTYsImRpc3BsYXlBZGRyZXNzIjoiMzMwOCBOIERpbnViYSBCbHZkLCBWaXNhbGlhLCBDQSwgOTMyOTEifSwic3RvcmVOdW1iZXIiOjI0NjksIm5hbWUiOiJWaXNhbGlhIE5vcnRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM2LjI5MjEsImxvbmdpdHVkZSI6LTExOS4zMTcsImRpc3BsYXlBZGRyZXNzIjoiNDI0NyBTIE1vb25leSBCbHZkLCBWaXNhbGlhLCBDQSwgOTMyNzcifSwic3RvcmVOdW1iZXIiOjE4MDUsIm5hbWUiOiJWaXNhbGlhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy4xNjgyLCJsb25naXR1ZGUiOi0xMTcuMjE1LCJkaXNwbGF5QWRkcmVzcyI6IjE3NTEgVW5pdmVyc2l0eSBEciwgVmlzdGEsIENBLCA5MjA4MyJ9LCJzdG9yZU51bWJlciI6MTA0MCwibmFtZSI6IlZpc3RhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjMzLjEzNTksImxvbmdpdHVkZSI6LTExNy4yMjgsImRpc3BsYXlBZGRyZXNzIjoiMzE1MCBCdXNpbmVzcyBQYXJrIERyLCBWaXN0YSwgQ0EsIDkyMDgxIn0sInN0b3JlTnVtYmVyIjoyMTY1LCJuYW1lIjoiVmlzdGEgU291dGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkluLVN0b3JlIEFwcGxlIFN0b3JlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNy45MDQ2LCJsb25naXR1ZGUiOi0xMjIuMDY1LCJkaXNwbGF5QWRkcmVzcyI6IjE4NzEgTiBNYWluIFN0LCBXYWxudXQgQ3JlZWssIENBLCA5NDU5NiJ9LCJzdG9yZU51bWJlciI6MTIwOCwibmFtZSI6IldhbG51dCBDcmVlayIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiSW4tU3RvcmUgQXBwbGUgU3RvcmUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM2LjkxNTgsImxvbmdpdHVkZSI6LTEyMS43NzYsImRpc3BsYXlBZGRyZXNzIjoiMTQxNSBNYWluIFN0LCBXYXRzb252aWxsZSwgQ0EsIDk1MDc2In0sInN0b3JlTnVtYmVyIjoxMTQzLCJuYW1lIjoiV2F0c29udmlsbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM0LjA3MzYsImxvbmdpdHVkZSI6LTExNy44ODUsImRpc3BsYXlBZGRyZXNzIjoiMjgzMSBFIEVhc3RsYW5kIEN0ciBEciwgV2VzdCBDb3ZpbmEsIENBLCA5MTc5MSJ9LCJzdG9yZU51bWJlciI6MTAyOCwibmFtZSI6Ildlc3QgQ292aW5hIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNC4wNDA4LCJsb25naXR1ZGUiOi0xMTcuOTExLCJkaXNwbGF5QWRkcmVzcyI6IjIzNzAgUyBBenVzYSBBdmUsIFdlc3QgQ292aW5hLCBDQSwgOTE3OTIifSwic3RvcmVOdW1iZXIiOjIxNDcsIm5hbWUiOiJXZXN0IENvdmluYSBTb3V0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuODc5OSwibG9uZ2l0dWRlIjotMTE3Ljk2MywiZGlzcGxheUFkZHJlc3MiOiIxODkzIFcgTWFsdmVybiBBdmUsIEZ1bGxlcnRvbiwgQ0EsIDkyODMzIn0sInN0b3JlTnVtYmVyIjoxMzgzLCJuYW1lIjoiV2VzdCBGdWxsZXJ0b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNC4xOTA0LCJsb25naXR1ZGUiOi0xMTguNjI3LCJkaXNwbGF5QWRkcmVzcyI6IjY2MzUgRmFsbGJyb29rIEF2ZSwgV2VzdCBIaWxscywgQ0EsIDkxMzA3In0sInN0b3JlTnVtYmVyIjoyMjgsIm5hbWUiOiJXZXN0IEhpbGxzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozNC4wOTAxLCJsb25naXR1ZGUiOi0xMTguMzQ1LCJkaXNwbGF5QWRkcmVzcyI6IjcxMDAgU2FudGEgTW9uaWNhIEJsdmQgU3RlIDIwMSwgV2VzdCBIb2xseXdvb2QsIENBLCA5MDA0NiJ9LCJzdG9yZU51bWJlciI6MTg4NCwibmFtZSI6Ildlc3QgSG9sbHl3b29kIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJJbi1TdG9yZSBBcHBsZSBTdG9yZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzguNTQ5LCJsb25naXR1ZGUiOi0xMjEuNTM2LCJkaXNwbGF5QWRkcmVzcyI6IjIwMDUgVG93biBDZW50ZXIgUGx6LCBXZXN0IFNhY3JhbWVudG8sIENBLCA5NTY5MSJ9LCJzdG9yZU51bWJlciI6MjI2OCwibmFtZSI6Ildlc3QgU2FjcmFtZW50byIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy43NDY2LCJsb25naXR1ZGUiOi0xMTguMDExLCJkaXNwbGF5QWRkcmVzcyI6IjIwMCBXZXN0bWluc3RlciBNYWxsLCBXZXN0bWluc3RlciwgQ0EsIDkyNjgzIn0sInN0b3JlTnVtYmVyIjoyMzA0LCJuYW1lIjoiV2VzdG1pbnN0ZXIgTlciLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ0EiLCJsYXRpdHVkZSI6MzMuNzI1NiwibG9uZ2l0dWRlIjotMTE3Ljk4NiwiZGlzcGxheUFkZHJlc3MiOiIxNjQwMCBCZWFjaCBCbHZkLCBXZXN0bWluc3RlciwgQ0EsIDkyNjgzIn0sInN0b3JlTnVtYmVyIjoyNDksIm5hbWUiOiJXZXN0bWluc3RlciIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiSW4tU3RvcmUgQXBwbGUgU3RvcmUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDQSIsImxhdGl0dWRlIjozMy45NDM5LCJsb25naXR1ZGUiOi0xMTcuOTk2LCJkaXNwbGF5QWRkcmVzcyI6IjE1NjE0IFdoaXR0d29vZCBMbiwgV2hpdHRpZXIsIENBLCA5MDYwMyJ9LCJzdG9yZU51bWJlciI6MjAxOSwibmFtZSI6IldoaXR0aWVyIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJJbi1TdG9yZSBBcHBsZSBTdG9yZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM0LjE2NywibG9uZ2l0dWRlIjotMTE4LjU4NywiZGlzcGxheUFkZHJlc3MiOiIyMDgwMSBWZW50dXJhIEJsdmQsIFdvb2RsYW5kIEhpbGxzLCBDQSwgOTEzNjQifSwic3RvcmVOdW1iZXIiOjI4OCwibmFtZSI6Ildvb2RsYW5kIEhpbGxzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM4LjY3MjgsImxvbmdpdHVkZSI6LTEyMS43MjUsImRpc3BsYXlBZGRyZXNzIjoiMjE4NSBCcm9uemUgU3RhciBEciwgV29vZGxhbmQsIENBLCA5NTc3NiJ9LCJzdG9yZU51bWJlciI6MjQwOCwibmFtZSI6Ildvb2RsYW5kIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNBIiwibGF0aXR1ZGUiOjM5LjE0NiwibG9uZ2l0dWRlIjotMTIxLjYzMywiZGlzcGxheUFkZHJlc3MiOiIxMTUzIEJ1dHRlIEhvdXNlIFJkLCBZdWJhIENpdHksIENBLCA5NTk5MSJ9LCJzdG9yZU51bWJlciI6MzE4LCJuYW1lIjoiWXViYSBDaXR5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNPIiwibGF0aXR1ZGUiOjM5LjU5MzIsImxvbmdpdHVkZSI6LTEwNC44ODIsImRpc3BsYXlBZGRyZXNzIjoiNjc2NyBTIENsaW50b24gU3QsIEVuZ2xld29vZCwgQ08sIDgwMTEyIn0sInN0b3JlTnVtYmVyIjoxNDcsIm5hbWUiOiJBcmFwYWhvZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ08iLCJsYXRpdHVkZSI6MzkuODQwMSwibG9uZ2l0dWRlIjotMTA1LjA4NSwiZGlzcGxheUFkZHJlc3MiOiI3ODk5IFdhZHN3b3J0aCBCbHZkLCBBcnZhZGEsIENPLCA4MDAwMyJ9LCJzdG9yZU51bWJlciI6NDgsIm5hbWUiOiJBcnZhZGEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNPIiwibGF0aXR1ZGUiOjM5Ljc4NzIsImxvbmdpdHVkZSI6LTEwNS4xMTIsImRpc3BsYXlBZGRyZXNzIjoiNTA3MSBLaXBsaW5nIFN0LCBXaGVhdCBSaWRnZSwgQ08sIDgwMDMzIn0sInN0b3JlTnVtYmVyIjoyMDIxLCJuYW1lIjoiQXJ2YWRhIFNvdXRoIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDTyIsImxhdGl0dWRlIjozOS42MzY2LCJsb25naXR1ZGUiOi0xMDQuNzg5LCJkaXNwbGF5QWRkcmVzcyI6IjE2OTEwIEUgUXVpbmN5IEF2ZSwgQXVyb3JhLCBDTywgODAwMTUifSwic3RvcmVOdW1iZXIiOjI1NiwibmFtZSI6IkF1cm9yYSBTRSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNPIiwibGF0aXR1ZGUiOjM5LjU4MTEsImxvbmdpdHVkZSI6LTEwNC43MjMsImRpc3BsYXlBZGRyZXNzIjoiNzQwMCBTIEdhcnRyZWxsIFJkLCBBdXJvcmEsIENPLCA4MDAxNiJ9LCJzdG9yZU51bWJlciI6MTk3NiwibmFtZSI6IkF1cm9yYSBTYWRkbGUgUm9jayBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNPIiwibGF0aXR1ZGUiOjM5LjU5MjcsImxvbmdpdHVkZSI6LTEwNC44MDQsImRpc3BsYXlBZGRyZXNzIjoiMTU3MDAgRSBCcmlhcndvb2QgQ2lyLCBBdXJvcmEsIENPLCA4MDAxNiJ9LCJzdG9yZU51bWJlciI6MjQ1OCwibmFtZSI6IkF1cm9yYSBTb3V0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDTyIsImxhdGl0dWRlIjozOS43MDgxLCJsb25naXR1ZGUiOi0xMDQuODIzLCJkaXNwbGF5QWRkcmVzcyI6IjE0MjAwIEUgRWxsc3dvcnRoIEF2ZSwgQXVyb3JhLCBDTywgODAwMTIifSwic3RvcmVOdW1iZXIiOjE0NzEsIm5hbWUiOiJBdXJvcmEgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNPIiwibGF0aXR1ZGUiOjM5LjY5MzksImxvbmdpdHVkZSI6LTEwNC44NjMsImRpc3BsYXlBZGRyZXNzIjoiMTQwMCBTIEhhdmFuYSBTdCwgQXVyb3JhLCBDTywgODAwMTIifSwic3RvcmVOdW1iZXIiOjE0MTMsIm5hbWUiOiJBdXJvcmEgV2VzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ08iLCJsYXRpdHVkZSI6NDAuMDIxNiwibG9uZ2l0dWRlIjotMTA1LjI1NywiZGlzcGxheUFkZHJlc3MiOiIyODAwIFBlYXJsIFN0LCBCb3VsZGVyLCBDTywgODAzMDEifSwic3RvcmVOdW1iZXIiOjY0LCJuYW1lIjoiQm91bGRlciIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ08iLCJsYXRpdHVkZSI6MzkuOTU2NCwibG9uZ2l0dWRlIjotMTA0Ljc3NywiZGlzcGxheUFkZHJlc3MiOiIyMTcxIFByYWlyaWUgQ2VudGVyIFBrd3ksIEJyaWdodG9uLCBDTywgODA2MDEifSwic3RvcmVOdW1iZXIiOjIxODMsIm5hbWUiOiJCcmlnaHRvbiBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDTyIsImxhdGl0dWRlIjozOS40MDgyLCJsb25naXR1ZGUiOi0xMDQuODU3LCJkaXNwbGF5QWRkcmVzcyI6IjUwMTAgRm91bmRlcnMgUGt3eSwgQ2FzdGxlIFJvY2ssIENPLCA4MDEwOCJ9LCJzdG9yZU51bWJlciI6MTMyNiwibmFtZSI6IkNhc3RsZSBSb2NrIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNPIiwibGF0aXR1ZGUiOjM4LjgzODEsImxvbmdpdHVkZSI6LTEwNC43NTYsImRpc3BsYXlBZGRyZXNzIjoiMzM1IE4gQWNhZGVteSBCbHZkLCBDb2xvcmFkbyBTcHJpbmdzLCBDTywgODA5MDkifSwic3RvcmVOdW1iZXIiOjE4LCJuYW1lIjoiQ29sb3JhZG8gU3ByaW5ncyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOltdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNPIiwibGF0aXR1ZGUiOjM4Ljg4OCwibG9uZ2l0dWRlIjotMTA0LjcxOCwiZGlzcGxheUFkZHJlc3MiOiIzODEwIEJsb29taW5ndG9uIFN0LCBDb2xvcmFkbyBTcHJpbmdzLCBDTywgODA5MjIifSwic3RvcmVOdW1iZXIiOjE1MDEsIm5hbWUiOiJDb2xvcmFkbyBTcHJpbmdzIEVhc3QgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNPIiwibGF0aXR1ZGUiOjM4Ljk3MjYsImxvbmdpdHVkZSI6LTEwNC43NDUsImRpc3BsYXlBZGRyZXNzIjoiOTY3MCBQcm9taW5lbnQgUHQsIENvbG9yYWRvIFNwcmluZ3MsIENPLCA4MDkyNCJ9LCJzdG9yZU51bWJlciI6MjIyMSwibmFtZSI6IkNvbG9yYWRvIFNwcmluZ3MgTkUgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ08iLCJsYXRpdHVkZSI6MzguOTA1NCwibG9uZ2l0dWRlIjotMTA0Ljc4LCJkaXNwbGF5QWRkcmVzcyI6IjUyNDAgTiBBY2FkZW15IEJsdmQsIENvbG9yYWRvIFNwcmluZ3MsIENPLCA4MDkxOCJ9LCJzdG9yZU51bWJlciI6MTU0LCJuYW1lIjoiQ29sb3JhZG8gU3ByaW5ncyBOb3J0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNPIiwibGF0aXR1ZGUiOjM5LjYxMDgsImxvbmdpdHVkZSI6LTEwNS4xMDIsImRpc3BsYXlBZGRyZXNzIjoiOTM5MCBXIENyb3NzIERyLCBMaXR0bGV0b24sIENPLCA4MDEyMyJ9LCJzdG9yZU51bWJlciI6MTc3NiwibmFtZSI6IkRlbnZlciBTVyBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ08iLCJsYXRpdHVkZSI6MzkuNzg4NiwibG9uZ2l0dWRlIjotMTA0LjksImRpc3BsYXlBZGRyZXNzIjoiNzkzMCBOb3J0aGZpZWxkIEJsdmQsIERlbnZlciwgQ08sIDgwMjM4In0sInN0b3JlTnVtYmVyIjoyMDUyLCJuYW1lIjoiRGVudmVyIFN0YXBsZXRvbiBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ08iLCJsYXRpdHVkZSI6MzkuNzMyLCJsb25naXR1ZGUiOi0xMDUuMTU3LCJkaXNwbGF5QWRkcmVzcyI6IjE0NTAwIFcgQ29sZmF4IEF2ZSBVbml0IEIxLCBMYWtld29vZCwgQ08sIDgwNDAxIn0sInN0b3JlTnVtYmVyIjoxNTAwLCJuYW1lIjoiRGVudmVyIFdlc3QgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNPIiwibGF0aXR1ZGUiOjM5LjU2NTIsImxvbmdpdHVkZSI6LTEwNC45NjUsImRpc3BsYXlBZGRyZXNzIjoiMTk1MCBFIENvdW50eSBMaW5lIFJkLCBIaWdobGFuZHMgUmFuY2gsIENPLCA4MDEyNiJ9LCJzdG9yZU51bWJlciI6MjcxLCJuYW1lIjoiRG91Z2xhcyBDb3VudHkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ08iLCJsYXRpdHVkZSI6MzkuNzQ2MSwibG9uZ2l0dWRlIjotMTA1LjA1NiwiZGlzcGxheUFkZHJlc3MiOiIxOTg1IFNoZXJpZGFuIEJsdmQsIEVkZ2V3YXRlciwgQ08sIDgwMjE0In0sInN0b3JlTnVtYmVyIjoyMjI1LCJuYW1lIjoiRWRnZXdhdGVyIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNPIiwibGF0aXR1ZGUiOjQwLjUyNzUsImxvbmdpdHVkZSI6LTEwNS4wNzksImRpc3BsYXlBZGRyZXNzIjoiMTA1IFcgVHJvdXRtYW4gUGt3eSwgRm9ydCBDb2xsaW5zLCBDTywgODA1MjUifSwic3RvcmVOdW1iZXIiOjc5LCJuYW1lIjoiRm9ydCBDb2xsaW5zIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ08iLCJsYXRpdHVkZSI6NDAuNTI2NCwibG9uZ2l0dWRlIjotMTA1LjAyMiwiZGlzcGxheUFkZHJlc3MiOiIyOTM2IENvdW5jaWwgVHJlZSBBdmUsIEZvcnQgQ29sbGlucywgQ08sIDgwNTI1In0sInN0b3JlTnVtYmVyIjoyNDAzLCJuYW1lIjoiRm9ydCBDb2xsaW5zIEVhc3QgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNPIiwibGF0aXR1ZGUiOjM5LjcwODUsImxvbmdpdHVkZSI6LTEwNC45MzgsImRpc3BsYXlBZGRyZXNzIjoiNDMwMSBFIFZpcmdpbmlhIEF2ZSwgR2xlbmRhbGUsIENPLCA4MDI0NiJ9LCJzdG9yZU51bWJlciI6MTgwNiwibmFtZSI6IkdsZW5kYWxlIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNPIiwibGF0aXR1ZGUiOjM5LjU1NzgsImxvbmdpdHVkZSI6LTEwNy4zNTIsImRpc3BsYXlBZGRyZXNzIjoiMTEwIFcgTWVhZG93cyBEciwgR2xlbndvb2QgU3ByaW5ncywgQ08sIDgxNjAxIn0sInN0b3JlTnVtYmVyIjoyMDI5LCJuYW1lIjoiR2xlbndvb2QgU3ByaW5ncyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNPIiwibGF0aXR1ZGUiOjM5LjA5MjEsImxvbmdpdHVkZSI6LTEwOC42MDMsImRpc3BsYXlBZGRyZXNzIjoiMjQyNCBIaWdod2F5IDYgYW5kIDUwLCBHcmFuZCBKdW5jdGlvbiwgQ08sIDgxNTA1In0sInN0b3JlTnVtYmVyIjo5MywibmFtZSI6IkdyYW5kIEp1bmN0aW9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ08iLCJsYXRpdHVkZSI6NDAuMzkzNywibG9uZ2l0dWRlIjotMTA0Ljc1LCJkaXNwbGF5QWRkcmVzcyI6IjQ0MDAgQ2VudGVycGxhY2UgRHIsIEdyZWVsZXksIENPLCA4MDYzNCJ9LCJzdG9yZU51bWJlciI6MTgxMywibmFtZSI6IkdyZWVsZXkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ08iLCJsYXRpdHVkZSI6MzkuNTUsImxvbmdpdHVkZSI6LTEwNS4wMDYsImRpc3BsYXlBZGRyZXNzIjoiMTI2NSBTZ3QgSm9uIFN0aWxlcyBEciwgSGlnaGxhbmRzIFJhbmNoLCBDTywgODAxMjkifSwic3RvcmVOdW1iZXIiOjI3MTYsIm5hbWUiOiJIaWdobGFuZHMgUmFuY2ggU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNPIiwibGF0aXR1ZGUiOjM5LjcwODksImxvbmdpdHVkZSI6LTEwNS4wNzksImRpc3BsYXlBZGRyZXNzIjoiNDYwIFMgVmFuY2UgU3QsIExha2V3b29kLCBDTywgODAyMjYifSwic3RvcmVOdW1iZXIiOjI3MTcsIm5hbWUiOiJMYWtld29vZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ08iLCJsYXRpdHVkZSI6MzkuNTM0MSwibG9uZ2l0dWRlIjotMTA0Ljg4MiwiZGlzcGxheUFkZHJlc3MiOiIxMDAwMSBDb21tb25zIFN0LCBMb25lIFRyZWUsIENPLCA4MDEyNCJ9LCJzdG9yZU51bWJlciI6MjAyMywibmFtZSI6IkxvbmUgVHJlZSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNPIiwibGF0aXR1ZGUiOjQwLjE1MzQsImxvbmdpdHVkZSI6LTEwNS4xMzMsImRpc3BsYXlBZGRyZXNzIjoiNTUxIFMgSG92ZXIgUmQsIExvbmdtb250LCBDTywgODA1MDEifSwic3RvcmVOdW1iZXIiOjIyMTgsIm5hbWUiOiJMb25nbW9udCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDTyIsImxhdGl0dWRlIjo0MC40MDk1LCJsb25naXR1ZGUiOi0xMDUuMDA0LCJkaXNwbGF5QWRkcmVzcyI6IjE3MjUgUm9ja3kgTXRuIEF2ZSwgTG92ZWxhbmQsIENPLCA4MDUzOCJ9LCJzdG9yZU51bWJlciI6MTE3OCwibmFtZSI6IkxvdmVsYW5kIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNPIiwibGF0aXR1ZGUiOjM4LjQ0MzQsImxvbmdpdHVkZSI6LTEwNy44NjksImRpc3BsYXlBZGRyZXNzIjoiMzUzMCBXb2x2ZXJpbmUgRHIsIE1vbnRyb3NlLCBDTywgODE0MDEifSwic3RvcmVOdW1iZXIiOjIzNDMsIm5hbWUiOiJNb250cm9zZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ08iLCJsYXRpdHVkZSI6MzkuNTEyNSwibG9uZ2l0dWRlIjotMTA0Ljc3MiwiZGlzcGxheUFkZHJlc3MiOiIxMTE1MCBTIFR3ZW50eSBNaWxlIFJkLCBQYXJrZXIsIENPLCA4MDEzNCJ9LCJzdG9yZU51bWJlciI6MjIxOSwibmFtZSI6IlBhcmtlciBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ08iLCJsYXRpdHVkZSI6MzguMzAxNiwibG9uZ2l0dWRlIjotMTA0LjYwNSwiZGlzcGxheUFkZHJlc3MiOiIzMzAwIERpbGxvbiBEciwgUHVlYmxvLCBDTywgODEwMDgifSwic3RvcmVOdW1iZXIiOjYxOCwibmFtZSI6IlB1ZWJsbyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiVGFyZ2V0IE1vYmlsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNPIiwibGF0aXR1ZGUiOjM4Ljc5MjgsImxvbmdpdHVkZSI6LTEwNC44MDEsImRpc3BsYXlBZGRyZXNzIjoiMTYzMCBFIENoZXllbm5lIE1vdW50YWluIEJsdmQsIENvbG9yYWRvIFNwcmluZ3MsIENPLCA4MDkwNiJ9LCJzdG9yZU51bWJlciI6NzM5LCJuYW1lIjoiUyBDb2xvcmFkbyBTcHJpbmdzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaG90byBDZW50ZXIiLCJUYXJnZXQgTW9iaWxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNPIiwibGF0aXR1ZGUiOjM5LjY1MDYsImxvbmdpdHVkZSI6LTEwNS4wMDYsImRpc3BsYXlBZGRyZXNzIjoiMzY1MCBSaXZlcnBvaW50IFBrd3ksIFNoZXJpZGFuLCBDTywgODAxMTAifSwic3RvcmVOdW1iZXIiOjIyNjEsIm5hbWUiOiJTaGVyaWRhbiBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ08iLCJsYXRpdHVkZSI6MzkuNjM4MiwibG9uZ2l0dWRlIjotMTA2LjA3OCwiZGlzcGxheUFkZHJlc3MiOiJQTyBCb3ggMjY4NzAsIFNpbHZlcnRob3JuZSwgQ08sIDgwNDk3In0sInN0b3JlTnVtYmVyIjoxNTI1LCJuYW1lIjoiU2lsdmVydGhvcm5lIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNPIiwibGF0aXR1ZGUiOjM5Ljk1NjQsImxvbmdpdHVkZSI6LTEwNS4xNzMsImRpc3BsYXlBZGRyZXNzIjoiNDAwIE1hcnNoYWxsIFJkLCBTdXBlcmlvciwgQ08sIDgwMDI3In0sInN0b3JlTnVtYmVyIjoxNzY5LCJuYW1lIjoiU3VwZXJpb3IgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNPIiwibGF0aXR1ZGUiOjM5LjkxNjEsImxvbmdpdHVkZSI6LTEwNC45NzUsImRpc3BsYXlBZGRyZXNzIjoiMTAwMSBFIDEyMHRoIEF2ZSwgVGhvcm50b24sIENPLCA4MDIzMyJ9LCJzdG9yZU51bWJlciI6MTM3MiwibmFtZSI6IlRob3JudG9uIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDTyIsImxhdGl0dWRlIjozOS45NTg0LCJsb25naXR1ZGUiOi0xMDQuOTg5LCJkaXNwbGF5QWRkcmVzcyI6IjE0NDUxIE9yY2hhcmQgUGt3eSwgV2VzdG1pbnN0ZXIsIENPLCA4MDAyMyJ9LCJzdG9yZU51bWJlciI6MjE5NywibmFtZSI6Ildlc3RtaW5zdGVyIE5FIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDTyIsImxhdGl0dWRlIjozOS44ODcyLCJsb25naXR1ZGUiOi0xMDUuMDczLCJkaXNwbGF5QWRkcmVzcyI6IjEwNDQ1IFJlZWQgU3QsIFdlc3RtaW5zdGVyLCBDTywgODAwMjEifSwic3RvcmVOdW1iZXIiOjE5MjgsIm5hbWUiOiJXZXN0bWluc3RlciBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ1QiLCJsYXRpdHVkZSI6NDEuMzQwNywibG9uZ2l0dWRlIjotNzMuMDc5OSwiZGlzcGxheUFkZHJlc3MiOiIyMCBXIE1haW4gU3QsIEFuc29uaWEsIENULCAwNjQwMSJ9LCJzdG9yZU51bWJlciI6MjI0OSwibmFtZSI6IkFuc29uaWEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ1QiLCJsYXRpdHVkZSI6NDEuNDE1NSwibG9uZ2l0dWRlIjotNzMuNDAxNSwiZGlzcGxheUFkZHJlc3MiOiI3IFN0b255IEhpbGwgUmQsIEJldGhlbCwgQ1QsIDA2ODAxIn0sInN0b3JlTnVtYmVyIjoxNTI4LCJuYW1lIjoiQmV0aGVsIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkluLVN0b3JlIEFwcGxlIFN0b3JlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDVCIsImxhdGl0dWRlIjo0MS45OTUxLCJsb25naXR1ZGUiOi03Mi41ODI1LCJkaXNwbGF5QWRkcmVzcyI6IjkwIEVsbSBTdCwgRW5maWVsZCwgQ1QsIDA2MDgyIn0sInN0b3JlTnVtYmVyIjoxMjU1LCJuYW1lIjoiRW5maWVsZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNUIiwibGF0aXR1ZGUiOjQxLjg0MDQsImxvbmdpdHVkZSI6LTcxLjg4NDUsImRpc3BsYXlBZGRyZXNzIjoiMjE3NyBLaWxsaW5nbHkgQ01OUywgRGF5dmlsbGUsIENULCAwNjI0MSJ9LCJzdG9yZU51bWJlciI6MjQzMiwibmFtZSI6IktpbGxpbmdseSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNUIiwibGF0aXR1ZGUiOjQxLjU4NTksImxvbmdpdHVkZSI6LTcxLjk5NTMsImRpc3BsYXlBZGRyZXNzIjoiMTk1IFJpdmVyIFJkLCBMaXNib24sIENULCAwNjM1MSJ9LCJzdG9yZU51bWJlciI6MjQzMywibmFtZSI6Ikxpc2JvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDVCIsImxhdGl0dWRlIjo0MS41NTI2LCJsb25naXR1ZGUiOi03Mi44MTUzLCJkaXNwbGF5QWRkcmVzcyI6IjQ3NCBDaGFtYmVybGFpbiBId3ksIE1lcmlkZW4sIENULCAwNjQ1MSJ9LCJzdG9yZU51bWJlciI6MTM3MywibmFtZSI6Ik1lcmlkZW4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNUIiwibGF0aXR1ZGUiOjQxLjIzNTMsImxvbmdpdHVkZSI6LTczLjAzNDksImRpc3BsYXlBZGRyZXNzIjoiMTE5MSBCb3N0b24gUG9zdCBSZCwgTWlsZm9yZCwgQ1QsIDA2NDYwIn0sInN0b3JlTnVtYmVyIjoyMDQ1LCJuYW1lIjoiTWlsZm9yZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ1QiLCJsYXRpdHVkZSI6NDEuNzExLCJsb25naXR1ZGUiOi03Mi43NjQsImRpc3BsYXlBZGRyZXNzIjoiNDc1IEhhcnRmb3JkIFJkLCBOZXcgQnJpdGFpbiwgQ1QsIDA2MDUzIn0sInN0b3JlTnVtYmVyIjoxMjg5LCJuYW1lIjoiTmV3IEJyaXRhaW4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiQ1QiLCJsYXRpdHVkZSI6NDEuNjYwNSwibG9uZ2l0dWRlIjotNzIuNzI1NSwiZGlzcGxheUFkZHJlc3MiOiIzMjY1IEJlcmxpbiBUdXJucGlrZSwgTmV3aW5ndG9uLCBDVCwgMDYxMTEifSwic3RvcmVOdW1iZXIiOjE4MDIsIm5hbWUiOiJOZXdpbmd0b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNUIiwibGF0aXR1ZGUiOjQxLjM1MTEsImxvbmdpdHVkZSI6LTcyLjg3MTIsImRpc3BsYXlBZGRyZXNzIjoiMjAwIFVuaXZlcnNhbCBEciBOLCBOb3J0aCBIYXZlbiwgQ1QsIDA2NDczIn0sInN0b3JlTnVtYmVyIjoxOTE2LCJuYW1lIjoiTm9ydGggSGF2ZW4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNUIiwibGF0aXR1ZGUiOjQxLjI3OTQsImxvbmdpdHVkZSI6LTcyLjk4NzIsImRpc3BsYXlBZGRyZXNzIjoiMjUgQm9zdG9uIFBvc3QgUmQsIE9yYW5nZSwgQ1QsIDA2NDc3In0sInN0b3JlTnVtYmVyIjoxOTU1LCJuYW1lIjoiT3JhbmdlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDVCIsImxhdGl0dWRlIjo0MS44MDk4LCJsb25naXR1ZGUiOi03Mi41NDk3LCJkaXNwbGF5QWRkcmVzcyI6IjEyNSBCdWNrbGFuZCBIaWxscyBEciwgTWFuY2hlc3RlciwgQ1QsIDA2MDQyIn0sInN0b3JlTnVtYmVyIjoxMjQ5LCJuYW1lIjoiU291dGggV2luZHNvciIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNUIiwibGF0aXR1ZGUiOjQxLjYxMDgsImxvbmdpdHVkZSI6LTcyLjkwMTksImRpc3BsYXlBZGRyZXNzIjoiNjAwIEV4ZWN1dGl2ZSBCbHZkLCBTb3V0aGluZ3RvbiwgQ1QsIDA2NDg5In0sInN0b3JlTnVtYmVyIjoyNDM0LCJuYW1lIjoiU291dGhpbmd0b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNUIiwibGF0aXR1ZGUiOjQxLjA1NTMsImxvbmdpdHVkZSI6LTczLjU0MTcsImRpc3BsYXlBZGRyZXNzIjoiMjEgQnJvYWQgU3QsIFN0YW1mb3JkLCBDVCwgMDY5MDEifSwic3RvcmVOdW1iZXIiOjE1NDQsIm5hbWUiOiJTdGFtZm9yZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNUIiwibGF0aXR1ZGUiOjQxLjgxODUsImxvbmdpdHVkZSI6LTczLjA3NTcsImRpc3BsYXlBZGRyZXNzIjoiMTkyMiBFIE1haW4gU3QsIFRvcnJpbmd0b24sIENULCAwNjc5MCJ9LCJzdG9yZU51bWJlciI6MjMwNSwibmFtZSI6IlRvcnJpbmd0b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkNUIiwibGF0aXR1ZGUiOjQxLjIzMzUsImxvbmdpdHVkZSI6LTczLjE1MTgsImRpc3BsYXlBZGRyZXNzIjoiMTIwIEhhd2xleSBMbiwgVHJ1bWJ1bGwsIENULCAwNjYxMSJ9LCJzdG9yZU51bWJlciI6MTk1NiwibmFtZSI6IlRydW1idWxsIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDVCIsImxhdGl0dWRlIjo0MS4yMjk2LCJsb25naXR1ZGUiOi03My4yMjcsImRpc3BsYXlBZGRyZXNzIjoiNTA2NSBNYWluIFN0IFN0ZSBUYXJnZXQsIFRydW1idWxsLCBDVCwgMDY2MTEifSwic3RvcmVOdW1iZXIiOjIzNjEsIm5hbWUiOiJUcnVtYnVsbCBXZXN0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDVCIsImxhdGl0dWRlIjo0MS41ODMyLCJsb25naXR1ZGUiOi03My4wMzM3LCJkaXNwbGF5QWRkcmVzcyI6IjMwMCBDaGFzZSBBdmUsIFdhdGVyYnVyeSwgQ1QsIDA2NzA0In0sInN0b3JlTnVtYmVyIjoyMTU2LCJuYW1lIjoiV2F0ZXJidXJ5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDVCIsImxhdGl0dWRlIjo0MS4zNzczLCJsb25naXR1ZGUiOi03Mi4xNDk2LCJkaXNwbGF5QWRkcmVzcyI6IjkwMCBIYXJ0Zm9yZCBUcGtlLCBXYXRlcmZvcmQsIENULCAwNjM4NSJ9LCJzdG9yZU51bWJlciI6MTI2NywibmFtZSI6IldhdGVyZm9yZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJDVCIsImxhdGl0dWRlIjo0MS44OTE0LCJsb25naXR1ZGUiOi03Mi42NTI0LCJkaXNwbGF5QWRkcmVzcyI6IjEwNzUgS2VubmVkeSBSZCwgV2luZHNvciwgQ1QsIDA2MDk1In0sInN0b3JlTnVtYmVyIjoyMjEzLCJuYW1lIjoiV2luZHNvciIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiREUiLCJsYXRpdHVkZSI6MzkuODMwNSwibG9uZ2l0dWRlIjotNzUuNTQwOCwiZGlzcGxheUFkZHJlc3MiOiIxMDUwIEJyYW5keXdpbmUgUGt3eSwgV2lsbWluZ3RvbiwgREUsIDE5ODAzIn0sInN0b3JlTnVtYmVyIjoxMTQ2LCJuYW1lIjoiQnJhbmR5d2luZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiREUiLCJsYXRpdHVkZSI6MzkuNjgxMSwibG9uZ2l0dWRlIjotNzUuNjUyMiwiZGlzcGxheUFkZHJlc3MiOiI4MDAgQ2hyaXN0aWFuYSBNYWxsLCBOZXdhcmssIERFLCAxOTcwMiJ9LCJzdG9yZU51bWJlciI6Mjc2NCwibmFtZSI6IkNocmlzdGlhbmEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkRFIiwibGF0aXR1ZGUiOjM5LjE1OTQsImxvbmdpdHVkZSI6LTc1LjUxMDUsImRpc3BsYXlBZGRyZXNzIjoiMTQ4IEpvaG4gSHVubiBCcm93biBSZCwgRG92ZXIsIERFLCAxOTkwMSJ9LCJzdG9yZU51bWJlciI6MTMxMiwibmFtZSI6IkRvdmVyIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyOC42NjMxLCJsb25naXR1ZGUiOi04MS40MTc3LCJkaXNwbGF5QWRkcmVzcyI6Ijg4NiBXIFN0YXRlIFJvYWQgNDM2LCBBbHRhbW9udGUgU3ByaW5ncywgRkwsIDMyNzE0In0sInN0b3JlTnVtYmVyIjo2NDcsIm5hbWUiOiJBbHRhbW9udGUgU3ByaW5ncyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNS45NzE1LCJsb25naXR1ZGUiOi04MC4xNDEyLCJkaXNwbGF5QWRkcmVzcyI6IjIxMjY1IEJpc2NheW5lIEJsdmQsIEF2ZW50dXJhLCBGTCwgMzMxODAifSwic3RvcmVOdW1iZXIiOjEwNzQsIm5hbWUiOiJBdmVudHVyYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNS43MzU0LCJsb25naXR1ZGUiOi04MC4zMjA5LCJkaXNwbGF5QWRkcmVzcyI6Ijc3OTUgU1cgNDB0aCBTdCwgTWlhbWksIEZMLCAzMzE1NSJ9LCJzdG9yZU51bWJlciI6OTY4LCJuYW1lIjoiQmlyZCBSb2FkIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI4LjA2MzUsImxvbmdpdHVkZSI6LTgyLjcwNzIsImRpc3BsYXlBZGRyZXNzIjoiOTAwIEUgTGFrZSBSZCwgUGFsbSBIYXJib3IsIEZMLCAzNDY4NSJ9LCJzdG9yZU51bWJlciI6NjUyLCJuYW1lIjoiQm9vdCBSYW5jaCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNi41MzMyLCJsb25naXR1ZGUiOi04MC4wODY3LCJkaXNwbGF5QWRkcmVzcyI6IjY1MCBOIENvbmdyZXNzIEF2ZSwgQm95bnRvbiBCZWFjaCwgRkwsIDMzNDI2In0sInN0b3JlTnVtYmVyIjoyMjEwLCJuYW1lIjoiQm95bnRvbiBCZWFjaCBTRSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJDbGluaWMiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjYuNTI2MywibG9uZ2l0dWRlIjotODAuMTY1OCwiZGlzcGxheUFkZHJlc3MiOiIxMDIwMSBIYWdlbiBSYW5jaCBSZCwgQm95bnRvbiBCZWFjaCwgRkwsIDMzNDM3In0sInN0b3JlTnVtYmVyIjoyMDY3LCJuYW1lIjoiQm95bnRvbiBCZWFjaCBXZXN0IFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI3LjQzMjMsImxvbmdpdHVkZSI6LTgyLjU3ODQsImRpc3BsYXlBZGRyZXNzIjoiNjE1MCAxNHRoIFN0IFcsIEJyYWRlbnRvbiwgRkwsIDM0MjA3In0sInN0b3JlTnVtYmVyIjo4MTcsIm5hbWUiOiJCcmFkZW50b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI3LjkzNywibG9uZ2l0dWRlIjotODIuMzIzMywiZGlzcGxheUFkZHJlc3MiOiIxODcgQnJhbmRvbiBUb3duIENlbnRlciBEciwgQnJhbmRvbiwgRkwsIDMzNTExIn0sInN0b3JlTnVtYmVyIjo4MTIsIm5hbWUiOiJCcmFuZG9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI3Ljg5NTMsImxvbmdpdHVkZSI6LTgyLjMzMywiZGlzcGxheUFkZHJlc3MiOiIxMDE1MCBCbG9vbWluZ2RhbGUgQXZlLCBSaXZlcnZpZXcsIEZMLCAzMzU3OCJ9LCJzdG9yZU51bWJlciI6MjIzNSwibmFtZSI6IkJyYW5kb24gU291dGggU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI2LjY2OTQsImxvbmdpdHVkZSI6LTgxLjkzMzcsImRpc3BsYXlBZGRyZXNzIjoiMTg5MCBORSBQaW5lIElzbGFuZCBSb2FkICAsIENhcGUgQ29yYWwsIEZMLCAzMzkwOSJ9LCJzdG9yZU51bWJlciI6MjMxNiwibmFtZSI6IkNhcGUgQ29yYWwgTm9ydGggU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjYuNjA2NCwibG9uZ2l0dWRlIjotODEuOTc3MSwiZGlzcGxheUFkZHJlc3MiOiIyNDMwIFNhbnRhIEJhcmJhcmEgQmx2ZCwgQ2FwZSBDb3JhbCwgRkwsIDMzOTE0In0sInN0b3JlTnVtYmVyIjoxNDU0LCJuYW1lIjoiQ2FwZSBDb3JhbCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyOC42NzEzLCJsb25naXR1ZGUiOi04MS4zNDAyLCJkaXNwbGF5QWRkcmVzcyI6IjQ0MTAgUyBIaWdod2F5IDE3IDkyLCBDYXNzZWxiZXJyeSwgRkwsIDMyNzA3In0sInN0b3JlTnVtYmVyIjo4OTgsIm5hbWUiOiJDYXNzZWxiZXJyeSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNy45NTg5LCJsb25naXR1ZGUiOi04Mi43MjY4LCJkaXNwbGF5QWRkcmVzcyI6IjI3NDcgR3VsZiBUbyBCYXkgQmx2ZCwgQ2xlYXJ3YXRlciwgRkwsIDMzNzU5In0sInN0b3JlTnVtYmVyIjoxODIwLCJuYW1lIjoiQ2xlYXJ3YXRlciBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjguNTQ5MSwibG9uZ2l0dWRlIjotODEuNzA1MywiZGlzcGxheUFkZHJlc3MiOiIyNjYwIEVhc3QgSHd5IDUwLCBDbGVybW9udCwgRkwsIDM0NzExIn0sInN0b3JlTnVtYmVyIjoxNTE5LCJuYW1lIjoiQ2xlcm1vbnQgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjYuNDAzOSwibG9uZ2l0dWRlIjotODEuODA1NiwiZGlzcGxheUFkZHJlc3MiOiI4MDQwIE1lZGl0ZXJyYW5lYW4gRHIsIEVzdGVybywgRkwsIDMzOTI4In0sInN0b3JlTnVtYmVyIjoyMzE3LCJuYW1lIjoiQ29jb251dCBQb2ludCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNi4yOTcsImxvbmdpdHVkZSI6LTgwLjI1MTYsImRpc3BsYXlBZGRyZXNzIjoiOTYwMCBXZXN0dmlldyBEciwgQ29yYWwgU3ByaW5ncywgRkwsIDMzMDc2In0sInN0b3JlTnVtYmVyIjoyMjY1LCJuYW1lIjoiQ29yYWwgU3ByaW5ncyBOVyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI2LjI4NTQsImxvbmdpdHVkZSI6LTgwLjIwMzYsImRpc3BsYXlBZGRyZXNzIjoiNDQwMCBOIFN0YXRlIFJkIDcsIENvcmFsIFNwcmluZ3MsIEZMLCAzMzA3MyJ9LCJzdG9yZU51bWJlciI6MjE0NiwibmFtZSI6IkNvcmFsIFNwcmluZ3MgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI1LjU3NiwibG9uZ2l0dWRlIjotODAuMzc0NiwiZGlzcGxheUFkZHJlc3MiOiIyMDUwMCBTVyAxMTJ0aCBBdmUsIE1pYW1pLCBGTCwgMzMxODkifSwic3RvcmVOdW1iZXIiOjEwNzUsIm5hbWUiOiJDdXRsZXIgUmlkZ2UiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI1LjY5MjYsImxvbmdpdHVkZSI6LTgwLjMwNTQsImRpc3BsYXlBZGRyZXNzIjoiODM1MCBTIERpeGllIEh3eSwgTWlhbWksIEZMLCAzMzE0MyJ9LCJzdG9yZU51bWJlciI6MTAzOSwibmFtZSI6IkRhZGVsYW5kIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJJbi1TdG9yZSBBcHBsZSBTdG9yZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjYuMDQ2NywibG9uZ2l0dWRlIjotODAuMjUsImRpc3BsYXlBZGRyZXNzIjoiNTgwMCBTIFVuaXZlcnNpdHkgRHIsIERhdmllLCBGTCwgMzMzMjgifSwic3RvcmVOdW1iZXIiOjIwMjIsIm5hbWUiOiJEYXZpZSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJDbGluaWMiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjkuMTgzOSwibG9uZ2l0dWRlIjotODEuMDgwMSwiZGlzcGxheUFkZHJlc3MiOiIyMzgwIFcgSW50ZXJuYXRpb25hbCBTcGVlZHdheSBCbHZkLCBEYXl0b25hIEJlYWNoLCBGTCwgMzIxMTQifSwic3RvcmVOdW1iZXIiOjY4OCwibmFtZSI6IkRheXRvbmEgQmVhY2giLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNi4zMDMyLCJsb25naXR1ZGUiOi04MC4wOTI2LCJkaXNwbGF5QWRkcmVzcyI6IjEyMDAgUyBGZWRlcmFsIEh3eSwgRGVlcmZpZWxkIEJlYWNoLCBGTCwgMzM0NDEifSwic3RvcmVOdW1iZXIiOjEzMzcsIm5hbWUiOiJEZWVyZmllbGQgQmVhY2giLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI2LjMxODksImxvbmdpdHVkZSI6LTgwLjE1MTQsImRpc3BsYXlBZGRyZXNzIjoiMzU5OSBXIEhpbGxzYm9ybyBCbHZkLCBEZWVyZmllbGQgQmVhY2gsIEZMLCAzMzQ0MiJ9LCJzdG9yZU51bWJlciI6MjA5MiwibmFtZSI6IkRlZXJmaWVsZCBCZWFjaCBXIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkNsaW5pYyIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNi40MzY2LCJsb25naXR1ZGUiOi04MC4wODY4LCJkaXNwbGF5QWRkcmVzcyI6IjEyMDAgTGludG9uIEJsdmQsIERlbHJheSBCZWFjaCwgRkwsIDMzNDQ0In0sInN0b3JlTnVtYmVyIjo2NDIsIm5hbWUiOiJEZWxyYXkgQmVhY2giLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MzAuMzkxMiwibG9uZ2l0dWRlIjotODYuNDgwNywiZGlzcGxheUFkZHJlc3MiOiI4NTMgSGFyYm9yIEJsdmQsIERlc3RpbiwgRkwsIDMyNTQxIn0sInN0b3JlTnVtYmVyIjoyMDg1LCJuYW1lIjoiRGVzdGluIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI4LjU1NTEsImxvbmdpdHVkZSI6LTgxLjM0NTYsImRpc3BsYXlBZGRyZXNzIjoiNzE4IE1hZ3VpcmUgQmx2ZCwgT3JsYW5kbywgRkwsIDMyODAzIn0sInN0b3JlTnVtYmVyIjo2NDksIm5hbWUiOiJFYXN0IENvbG9uaWFsIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjozMC4xMDM3LCJsb25naXR1ZGUiOi04MS43MDgxLCJkaXNwbGF5QWRkcmVzcyI6IjE0OTAgQ291bnR5IFJkIDIyMCwgT3JhbmdlIFBhcmssIEZMLCAzMjAwMyJ9LCJzdG9yZU51bWJlciI6MTQ5NywibmFtZSI6IkZsZW1pbmcgSXNsYW5kIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjYuNjE1NSwibG9uZ2l0dWRlIjotODEuODAxNiwiZGlzcGxheUFkZHJlc3MiOiI5MzUwIER5bmFzdHkgRHIsIEZ0IE15ZXJzLCBGTCwgMzM5MDUifSwic3RvcmVOdW1iZXIiOjIzNjksIm5hbWUiOiJGb3J0IE15ZXJzIE5vcnRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNi41MDk2LCJsb25naXR1ZGUiOi04MS45NDQ2LCJkaXNwbGF5QWRkcmVzcyI6IjE1ODgwIFNhbiBDYXJsb3MgQmx2ZCwgRnQgTXllcnMsIEZMLCAzMzkwOCJ9LCJzdG9yZU51bWJlciI6MjM2MywibmFtZSI6IkZvcnQgTXllcnMgU1cgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjYuMTY4LCJsb25naXR1ZGUiOi04MC4xMTU4LCJkaXNwbGF5QWRkcmVzcyI6IjMyMDAgTiBGZWRlcmFsIEh3eSwgRm9ydCBMYXVkZXJkYWxlLCBGTCwgMzMzMDYifSwic3RvcmVOdW1iZXIiOjExNjMsIm5hbWUiOiJGdCBMYXVkZXJkYWxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI2LjU0MjMsImxvbmdpdHVkZSI6LTgxLjg2OTEsImRpc3BsYXlBZGRyZXNzIjoiMTM3MTEgUyBUYW1pYW1pIFRybCwgRm9ydCBNeWVycywgRkwsIDMzOTEyIn0sInN0b3JlTnVtYmVyIjo4MTgsIm5hbWUiOiJGdCBNeWVycyBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI5LjYyMTEsImxvbmdpdHVkZSI6LTgyLjM4MzYsImRpc3BsYXlBZGRyZXNzIjoiMzk3MCBTVyBBcmNoZXIgUmQsIEdhaW5lc3ZpbGxlLCBGTCwgMzI2MDgifSwic3RvcmVOdW1iZXIiOjY4NywibmFtZSI6IkdhaW5lc3ZpbGxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI3Ljg5NDMsImxvbmdpdHVkZSI6LTgyLjUwNDIsImRpc3BsYXlBZGRyZXNzIjoiMzYyNSBXIEdhbmR5IEJsdmQsIFRhbXBhLCBGTCwgMzM2MTEifSwic3RvcmVOdW1iZXIiOjEwNTEsIm5hbWUiOiJHYW5keSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNi42MTgzLCJsb25naXR1ZGUiOi04MC4xMzczLCJkaXNwbGF5QWRkcmVzcyI6IjU5MDAgTGFrZSBXb3J0aCBSZCwgR3JlZW5hY3JlcywgRkwsIDMzNDYzIn0sInN0b3JlTnVtYmVyIjoxMTEwLCJuYW1lIjoiR3JlZW5hY3JlcyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNS44NTMxLCJsb25naXR1ZGUiOi04MC4zMTc4LCJkaXNwbGF5QWRkcmVzcyI6IjE3NTAgVyAzN3RoIFN0LCBIaWFsZWFoLCBGTCwgMzMwMTIifSwic3RvcmVOdW1iZXIiOjIxMDksIm5hbWUiOiJIaWFsZWFoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI2LjAxMjYsImxvbmdpdHVkZSI6LTgwLjE3NDcsImRpc3BsYXlBZGRyZXNzIjoiMzAwIEhvbGx5d29vZCBNYWxsLCBIb2xseXdvb2QsIEZMLCAzMzAyMSJ9LCJzdG9yZU51bWJlciI6ODc3LCJuYW1lIjoiSG9sbHl3b29kIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyOC4zNjk5LCJsb25naXR1ZGUiOi04MS40MDY4LCJkaXNwbGF5QWRkcmVzcyI6IjIxNTUgVG93biBDZW50ZXIgQmx2ZCwgT3JsYW5kbywgRkwsIDMyODM3In0sInN0b3JlTnVtYmVyIjoxNzkwLCJuYW1lIjoiSHVudGVycyBDcmVlayBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MzAuMjUzOCwibG9uZ2l0dWRlIjotODEuMzkxLCJkaXNwbGF5QWRkcmVzcyI6IjQ5MCBNYXJzaCBMYW5kaW5nIFBrd3ksIEphY2tzb252aWxsZSBCZWFjaCwgRkwsIDMyMjUwIn0sInN0b3JlTnVtYmVyIjo5NjcsIm5hbWUiOiJKYWNrc29udmlsbGUgQmVhY2giLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjozMC4yODY4LCJsb25naXR1ZGUiOi04MS40NTczLCJkaXNwbGF5QWRkcmVzcyI6IjEzNzQwIEJlYWNoIEJsdmQsIEphY2tzb252aWxsZSwgRkwsIDMyMjI0In0sInN0b3JlTnVtYmVyIjoxOTIxLCJuYW1lIjoiSmFja3NvbnZpbGxlIEVhc3QgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjMwLjE4NzgsImxvbmdpdHVkZSI6LTgxLjYyOTIsImRpc3BsYXlBZGRyZXNzIjoiMTA0OTAgU2FuIEpvc2UgQmx2ZCwgSmFja3NvbnZpbGxlLCBGTCwgMzIyNTcifSwic3RvcmVOdW1iZXIiOjEzMDAsIm5hbWUiOiJKYWNrc29udmlsbGUgTWFuZGFyaW4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjozMC4yNjA4LCJsb25naXR1ZGUiOi04MS41MjQ3LCJkaXNwbGF5QWRkcmVzcyI6IjQ1NjcgUml2ZXIgQ2l0eSBEciwgSmFja3NvbnZpbGxlLCBGTCwgMzIyNDYifSwic3RvcmVOdW1iZXIiOjE5NzQsIm5hbWUiOiJKYWNrc29udmlsbGUgU3QgSm9obnMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjMwLjE5ODQsImxvbmdpdHVkZSI6LTgxLjgyNzIsImRpc3BsYXlBZGRyZXNzIjoiOTUyNSBDcm9zc2hpbGwgQmx2ZCwgSmFja3NvbnZpbGxlLCBGTCwgMzIyMjIifSwic3RvcmVOdW1iZXIiOjIyMzMsIm5hbWUiOiJKYWNrc29udmlsbGUgV2VzdCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNS42ODU0LCJsb25naXR1ZGUiOi04MC40MzcyLCJkaXNwbGF5QWRkcmVzcyI6IjE1MDA1IFNXIDg4dGggU3QsIE1pYW1pLCBGTCwgMzMxOTYifSwic3RvcmVOdW1iZXIiOjc0NiwibmFtZSI6IktlbmRhbGwiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjguMzA2NCwibG9uZ2l0dWRlIjotODEuNDQxMiwiZGlzcGxheUFkZHJlc3MiOiIzMDAzIFcgVmluZSBTdCwgS2lzc2ltbWVlLCBGTCwgMzQ3NDEifSwic3RvcmVOdW1iZXIiOjgyOSwibmFtZSI6Iktpc3NpbW1lZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyOC4zMzE4LCJsb25naXR1ZGUiOi04MS40NzE3LCJkaXNwbGF5QWRkcmVzcyI6IjQ3OTUgVyBJcmxvIEJyb25zb24gTWVtb3JpYWwgSHd5LCBLaXNzaW1tZWUsIEZMLCAzNDc0NiJ9LCJzdG9yZU51bWJlciI6MTkxOCwibmFtZSI6Iktpc3NpbW1lZSBXZXN0IFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI4LjkzNDUsImxvbmdpdHVkZSI6LTgxLjkzOTgsImRpc3BsYXlBZGRyZXNzIjoiNzE2IE4gVVMgSGlnaHdheSA0NDEvMjcsIFRoZSBWaWxsYWdlcywgRkwsIDMyMTU5In0sInN0b3JlTnVtYmVyIjoyMDU4LCJuYW1lIjoiTGFkeSBMYWtlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyOC43NTM4LCJsb25naXR1ZGUiOi04MS4zNDg0LCJkaXNwbGF5QWRkcmVzcyI6IjQxNTUgVyBMYWtlIE1hcnkgQmx2ZCwgTGFrZSBNYXJ5LCBGTCwgMzI3NDYifSwic3RvcmVOdW1iZXIiOjg0NSwibmFtZSI6Ikxha2UgTWFyeSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNi44MDYxLCJsb25naXR1ZGUiOi04MC4wODI3LCJkaXNwbGF5QWRkcmVzcyI6IjUwMCBOIENvbmdyZXNzIEF2ZSwgTGFrZSBQYXJrLCBGTCwgMzM0MDMifSwic3RvcmVOdW1iZXIiOjE5NDEsIm5hbWUiOiJMYWtlIFBhcmsvUGFsbSBCZWFjaCBHYXJkZW5zIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI4LjA5MjMsImxvbmdpdHVkZSI6LTgxLjk3MTIsImRpc3BsYXlBZGRyZXNzIjoiNDAwNSBIaWdod2F5IDk4IE4sIExha2VsYW5kLCBGTCwgMzM4MDkifSwic3RvcmVOdW1iZXIiOjE4NTksIm5hbWUiOiJMYWtlbGFuZCBOb3J0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI3Ljk5OTcsImxvbmdpdHVkZSI6LTgxLjk3MywiZGlzcGxheUFkZHJlc3MiOiIzNTcwIEhhcmRlbiBCbHZkLCBMYWtlbGFuZCwgRkwsIDMzODAzIn0sInN0b3JlTnVtYmVyIjoxMjk5LCJuYW1lIjoiTGFrZWxhbmQgU291dGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjcuODkzMSwibG9uZ2l0dWRlIjotODIuNzg0NiwiZGlzcGxheUFkZHJlc3MiOiIxMDUwMCBVbG1lcnRvbiBSZCwgTGFyZ28sIEZMLCAzMzc3MSJ9LCJzdG9yZU51bWJlciI6NjU0LCJuYW1lIjoiTGFyZ28iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjYuMTkxOSwibG9uZ2l0dWRlIjotODAuMjUzOCwiZGlzcGxheUFkZHJlc3MiOiI3NzMwIFcgQ29tbWVyY2lhbCBCbHZkLCBMYXVkZXJoaWxsLCBGTCwgMzMzNTEifSwic3RvcmVOdW1iZXIiOjE3NzgsIm5hbWUiOiJMYXVkZXJoaWxsIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNi40OSwibG9uZ2l0dWRlIjotODEuNzg4LCJkaXNwbGF5QWRkcmVzcyI6IjEwMDAwIEd1bGYgQ2VudGVyIERyLCBGb3J0IE15ZXJzLCBGTCwgMzM5MTMifSwic3RvcmVOdW1iZXIiOjIwNTksIm5hbWUiOiJMZWUgQ291bnR5IFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI4LjgyNjYsImxvbmdpdHVkZSI6LTgxLjc4NDQsImRpc3BsYXlBZGRyZXNzIjoiMTA0MDEgVVMgSGlnaHdheSA0NDEsIExlZXNidXJnLCBGTCwgMzQ3ODgifSwic3RvcmVOdW1iZXIiOjY5MSwibmFtZSI6IkxlZXNidXJnIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjMwLjQxMDUsImxvbmdpdHVkZSI6LTg2LjY1ODksImRpc3BsYXlBZGRyZXNzIjoiMjUwIEUgTWlyYWNsZSBTdHJpcCBQa3d5LCBNYXJ5IEVzdGhlciwgRkwsIDMyNTY5In0sInN0b3JlTnVtYmVyIjo3NDAsIm5hbWUiOiJNYXJ5IEVzdGhlciIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI4LjA4MDksImxvbmdpdHVkZSI6LTgwLjY2NTcsImRpc3BsYXlBZGRyZXNzIjoiMjc1MCBXIE5ldyBIYXZlbiBBdmUsIE1lbGJvdXJuZSBWaWxsYWdlLCBGTCwgMzI5MDQifSwic3RvcmVOdW1iZXIiOjY4OSwibmFtZSI6Ik1lbGJvdXJuZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjguMzg2MSwibG9uZ2l0dWRlIjotODAuNzA1MiwiZGlzcGxheUFkZHJlc3MiOiIyNTAgQ3JvY2tldHQgQmx2ZCwgTWVycml0dCBJc2xhbmQsIEZMLCAzMjk1MyJ9LCJzdG9yZU51bWJlciI6MTA1MywibmFtZSI6Ik1lcnJpdHQgSXNsYW5kIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI1LjgwODksImxvbmdpdHVkZSI6LTgwLjE5MzcsImRpc3BsYXlBZGRyZXNzIjoiMzQwMSBOIE1pYW1pIEF2ZSBTdGUgMTAwLCBNaWFtaSwgRkwsIDMzMTI3In0sInN0b3JlTnVtYmVyIjoyMTg4LCJuYW1lIjoiTWlhbWkgQ2VudHJhbCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNS45NDA1LCJsb25naXR1ZGUiOi04MC4yOTI3LCJkaXNwbGF5QWRkcmVzcyI6IjU2MDEgTlcgMTgzcmQgU3QsIE1pYW1pIEdhcmRlbnMsIEZMLCAzMzA1NSJ9LCJzdG9yZU51bWJlciI6MjE5NiwibmFtZSI6Ik1pYW1pIExha2VzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI1Ljk4LCJsb25naXR1ZGUiOi04MC4zNzIsImRpc3BsYXlBZGRyZXNzIjoiMTY5MDEgTWlyYW1hciBQa3d5LCBNaXJhbWFyLCBGTCwgMzMwMjcifSwic3RvcmVOdW1iZXIiOjE1MTIsIm5hbWUiOiJNaXJhbWFyIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI4LjgxOTgsImxvbmdpdHVkZSI6LTgxLjY3MSwiZGlzcGxheUFkZHJlc3MiOiIxNzQ1MCBVUyBIaWdod2F5IDQ0MSwgTW91bnQgRG9yYSwgRkwsIDMyNzU3In0sInN0b3JlTnVtYmVyIjoyMDYyLCJuYW1lIjoiTXQgRG9yYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI4LjIzMjMsImxvbmdpdHVkZSI6LTgxLjY0MzEsImRpc3BsYXlBZGRyZXNzIjoiNTAwMCBHcmFuZHZpZXcgUGt3eSwgRGF2ZW5wb3J0LCBGTCwgMzM4MzcifSwic3RvcmVOdW1iZXIiOjIzNjYsIm5hbWUiOiJORSBQb2xrIENvdW50eSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjYuMjcwOCwibG9uZ2l0dWRlIjotODEuNzM5NiwiZGlzcGxheUFkZHJlc3MiOiIyNDE1IFRhcnBvbiBCYXkgQmx2ZCwgTmFwbGVzLCBGTCwgMzQxMTkifSwic3RvcmVOdW1iZXIiOjIwNjMsIm5hbWUiOiJOYXBsZXMgTm9ydGggU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI2LjIwOTEsImxvbmdpdHVkZSI6LTgxLjc3MDQsImRpc3BsYXlBZGRyZXNzIjoiMjMyNCBQaW5lIFJpZGdlIFJkLCBOYXBsZXMsIEZMLCAzNDEwOSJ9LCJzdG9yZU51bWJlciI6ODk5LCJuYW1lIjoiTmFwbGVzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyOC4xNzI5LCJsb25naXR1ZGUiOi04Mi4zNTU2LCJkaXNwbGF5QWRkcmVzcyI6IjEyMDEgQ291bnR5IFJvYWQgNTgxLCBXZXNsZXkgQ2hhcGVsLCBGTCwgMzM1NDMifSwic3RvcmVOdW1iZXIiOjEzODIsIm5hbWUiOiJOZXcgVGFtcGEgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI4LjA4ODUsImxvbmdpdHVkZSI6LTgyLjUwNDksImRpc3BsYXlBZGRyZXNzIjoiMTUyNDAgTiBEYWxlIE1hYnJ5IEh3eSwgVGFtcGEsIEZMLCAzMzYxOCJ9LCJzdG9yZU51bWJlciI6NjU1LCJuYW1lIjoiTm9ydGggRGFsZSBNYWJyeSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNS45MDcsImxvbmdpdHVkZSI6LTgwLjE1NjUsImRpc3BsYXlBZGRyZXNzIjoiMTQwNzUgQmlzY2F5bmUgQmx2ZCwgTm9ydGggTWlhbWkgQmVhY2gsIEZMLCAzMzE4MSJ9LCJzdG9yZU51bWJlciI6MTAzOCwibmFtZSI6Ik5vcnRoIE1pYW1pIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNy4zMzY5LCJsb25naXR1ZGUiOi04Mi40NjMzLCJkaXNwbGF5QWRkcmVzcyI6IjUzNTAgRnJ1aXR2aWxsZSBSZCwgU2FyYXNvdGEsIEZMLCAzNDIzMiJ9LCJzdG9yZU51bWJlciI6Nzk5LCJuYW1lIjoiTm9ydGggU2FyYXNvdGEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjkuMTczOCwibG9uZ2l0dWRlIjotODIuMTU3MiwiZGlzcGxheUFkZHJlc3MiOiIyMDAwIFNXIENvbGxlZ2UgUmQsIE9jYWxhLCBGTCwgMzQ0NzEifSwic3RvcmVOdW1iZXIiOjg3MywibmFtZSI6Ik9jYWxhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI4LjkxNjEsImxvbmdpdHVkZSI6LTgxLjI5MjksImRpc3BsYXlBZGRyZXNzIjoiMjU3NSBFbnRlcnByaXNlIFJkLCBPcmFuZ2UgQ2l0eSwgRkwsIDMyNzYzIn0sInN0b3JlTnVtYmVyIjo4NzQsIm5hbWUiOiJPcmFuZ2UgQ2l0eSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjozMC4xODgzLCJsb25naXR1ZGUiOi04MS43MzY2LCJkaXNwbGF5QWRkcmVzcyI6IjE5MTkgV2VsbHMgUmQsIE9yYW5nZSBQYXJrLCBGTCwgMzIwNzMifSwic3RvcmVOdW1iZXIiOjE1MDMsIm5hbWUiOiJPcmFuZ2UgUGFyayBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyOC41MTU1LCJsb25naXR1ZGUiOi04MS4zNzk5LCJkaXNwbGF5QWRkcmVzcyI6IjEyMCBXIEdyYW50IFN0LCBPcmxhbmRvLCBGTCwgMzI4MDYifSwic3RvcmVOdW1iZXIiOjIzNzYsIm5hbWUiOiJPcmxhbmRvIC0gU29kbyBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjguNTk2MSwibG9uZ2l0dWRlIjotODEuMjg4LCJkaXNwbGF5QWRkcmVzcyI6IjM3NzAgTiBHb2xkZW5yb2QgUmQsIFdpbnRlciBQYXJrLCBGTCwgMzI3OTIifSwic3RvcmVOdW1iZXIiOjIwMzIsIm5hbWUiOiJPcmxhbmRvIEVhc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjguNDk0LCJsb25naXR1ZGUiOi04MS40Mjg3LCJkaXNwbGF5QWRkcmVzcyI6IjQ3NTAgTWlsbGVuaWEgUGxhemEgV2F5LCBPcmxhbmRvLCBGTCwgMzI4MzkifSwic3RvcmVOdW1iZXIiOjE1MTgsIm5hbWUiOiJPcmxhbmRvIE1pbGxlbmlhIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI4LjM0NSwibG9uZ2l0dWRlIjotODEuNjE0MywiZGlzcGxheUFkZHJlc3MiOiIzMjAwIFJvbGxpbmcgT2FrcyBCbHZkLCBLaXNzaW1tZWUsIEZMLCAzNDc0NyJ9LCJzdG9yZU51bWJlciI6MjM3MCwibmFtZSI6Ik9ybGFuZG8gU1cgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjguNDQ5NywibG9uZ2l0dWRlIjotODEuMzkxLCJkaXNwbGF5QWRkcmVzcyI6Ijg4MCBTYW5kIExha2UgUmQsIE9ybGFuZG8sIEZMLCAzMjgwOSJ9LCJzdG9yZU51bWJlciI6NjUwLCJuYW1lIjoiT3JsYW5kbyBTb3V0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjozMC4yMzUyLCJsb25naXR1ZGUiOi04MS42OTUzLCJkaXNwbGF5QWRkcmVzcyI6IjYzMzEgUm9vc2V2ZWx0IEJsdmQsIEphY2tzb252aWxsZSwgRkwsIDMyMjQ0In0sInN0b3JlTnVtYmVyIjoxODUzLCJuYW1lIjoiT3J0ZWdhIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjguNjU3NywibG9uZ2l0dWRlIjotODEuMjM0NCwiZGlzcGxheUFkZHJlc3MiOiI4MjAgT3ZpZWRvIE1hbGwgQmx2ZCwgT3ZpZWRvLCBGTCwgMzI3NjUifSwic3RvcmVOdW1iZXIiOjg5NywibmFtZSI6Ik92aWVkbyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MzAuNjAxMywibG9uZ2l0dWRlIjotODcuMTI2NSwiZGlzcGxheUFkZHJlc3MiOiI0NzI3IEh3eSA5MCwgUGFjZSwgRkwsIDMyNTcxIn0sInN0b3JlTnVtYmVyIjoyMjc5LCJuYW1lIjoiUGFjZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI5LjQ3NzMsImxvbmdpdHVkZSI6LTgxLjIxOTYsImRpc3BsYXlBZGRyZXNzIjoiNTEwMCBFIEh3eSAxMDAsIFBhbG0gQ29hc3QsIEZMLCAzMjE2NCJ9LCJzdG9yZU51bWJlciI6MjM2NCwibmFtZSI6IlBhbG0gQ29hc3QgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MzAuMTkxMSwibG9uZ2l0dWRlIjotODUuNjQ4OCwiZGlzcGxheUFkZHJlc3MiOiIyMzQwIEhpZ2h3YXkgNzcsIFBhbmFtYSBDaXR5LCBGTCwgMzI0MDUifSwic3RvcmVOdW1iZXIiOjgxMSwibmFtZSI6IlBhbmFtYSBDaXR5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI3LjgxMjEsImxvbmdpdHVkZSI6LTgyLjc1NTIsImRpc3BsYXlBZGRyZXNzIjoiNDQ1MCBQYXJrIFN0IE4sIFNhaW50IFBldGVyc2J1cmcsIEZMLCAzMzcwOSJ9LCJzdG9yZU51bWJlciI6MTAyMywibmFtZSI6IlBhcmsgJiBUeXJvbmUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjYuMDA5NywibG9uZ2l0dWRlIjotODAuMjk4NSwiZGlzcGxheUFkZHJlc3MiOiIxMTI1MyBQaW5lcyBCbHZkLCBQZW1icm9rZSBQaW5lcywgRkwsIDMzMDI2In0sInN0b3JlTnVtYmVyIjo5MjAsIm5hbWUiOiJQZW1icm9rZSBQaW5lcyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjozMC41MzAyLCJsb25naXR1ZGUiOi04Ny4yMjQsImRpc3BsYXlBZGRyZXNzIjoiMTc0OSBFIE5pbmUgTWlsZSBSZCwgUGVuc2Fjb2xhLCBGTCwgMzI1MTQifSwic3RvcmVOdW1iZXIiOjEyNzMsIm5hbWUiOiJQZW5zYWNvbGEgTkUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MzAuNDY4OSwibG9uZ2l0dWRlIjotODcuMjA5LCJkaXNwbGF5QWRkcmVzcyI6IjQ3MTEgQmF5b3UgQmx2ZCwgUGVuc2Fjb2xhLCBGTCwgMzI1MDMifSwic3RvcmVOdW1iZXIiOjY4NiwibmFtZSI6IlBlbnNhY29sYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjozMC4zNjM2LCJsb25naXR1ZGUiOi04Ny4zNTcyLCJkaXNwbGF5QWRkcmVzcyI6IjI5NTAgUyBCbHVlIEFuZ2VsIFBrd3ksIFBlbnNhY29sYSwgRkwsIDMyNTA2In0sInN0b3JlTnVtYmVyIjoyNDQ1LCJuYW1lIjoiUGVuc2Fjb2xhIFdlc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjMwLjIxODgsImxvbmdpdHVkZSI6LTg1Ljg2ODYsImRpc3BsYXlBZGRyZXNzIjoiMTU1NTUgU3RhcmZpc2ggU3QsIFBhbmFtYSBDaXR5IEJlYWNoLCBGTCwgMzI0MTMifSwic3RvcmVOdW1iZXIiOjIyMDgsIm5hbWUiOiJQaWVyIFBhcmsiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNy44Mzc4LCJsb25naXR1ZGUiOi04Mi42ODU4LCJkaXNwbGF5QWRkcmVzcyI6IjcxNTAgVVMgMTkgTiwgUGluZWxsYXMgUGFyaywgRkwsIDMzNzgxIn0sInN0b3JlTnVtYmVyIjoyMDY0LCJuYW1lIjoiUGluZWxsYXMgUGFyayIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjYuMTE3NiwibG9uZ2l0dWRlIjotODAuMjU4NCwiZGlzcGxheUFkZHJlc3MiOiI4MjAxIEZlZGVyYXRlZCBXZXN0IFJvYWR3YXksIFBsYW50YXRpb24sIEZMLCAzMzMyNCJ9LCJzdG9yZU51bWJlciI6MTQ4MCwibmFtZSI6IlBsYW50YXRpb24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI3LjAxMjgsImxvbmdpdHVkZSI6LTgyLjE0MTQsImRpc3BsYXlBZGRyZXNzIjoiMTQwMEEgVGFtaWFtaSBUcmwsIFBvcnQgQ2hhcmxvdHRlLCBGTCwgMzM5NDgifSwic3RvcmVOdW1iZXIiOjY5MCwibmFtZSI6IlBvcnQgQ2hhcmxvdHRlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI5LjExLCJsb25naXR1ZGUiOi04MS4wMjgsImRpc3BsYXlBZGRyZXNzIjoiMTc3MSBEdW5sYXd0b24gQXZlLCBQb3J0IE9yYW5nZSwgRkwsIDMyMTI3In0sInN0b3JlTnVtYmVyIjoxNzk1LCJuYW1lIjoiUG9ydCBPcmFuZ2UgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjcuMjY5OSwibG9uZ2l0dWRlIjotODAuNDI3OSwiZGlzcGxheUFkZHJlc3MiOiIxMDcyMCBTVyBWaWxsYWdlIFBrd3ksIFBvcnQgU3QgTHVjaWUsIEZMLCAzNDk4NyJ9LCJzdG9yZU51bWJlciI6MjI0OCwibmFtZSI6IlBvcnQgU3QgTHVjaWUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjMwLjMyODcsImxvbmdpdHVkZSI6LTgxLjU0ODQsImRpc3BsYXlBZGRyZXNzIjoiNDQ0IE1vbnVtZW50IFJkLCBKYWNrc29udmlsbGUsIEZMLCAzMjIyNSJ9LCJzdG9yZU51bWJlciI6NjQ1LCJuYW1lIjoiUmVnZW5jeSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNi43MTA4LCJsb25naXR1ZGUiOi04MC4yMDI5LCJkaXNwbGF5QWRkcmVzcyI6IjEwMTU1IE9rZWVjaG9iZWUgQmx2ZCwgV2VzdCBQYWxtIEJlYWNoLCBGTCwgMzM0MTEifSwic3RvcmVOdW1iZXIiOjE5MzUsIm5hbWUiOiJSb3lhbCBQYWxtIEJlYWNoIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkNsaW5pYyIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyOC43OTkzLCJsb25naXR1ZGUiOi04MS4zMzM3LCJkaXNwbGF5QWRkcmVzcyI6IjEyMDEgVyBQIEJhbGwgQmx2ZCwgU2FuZm9yZCwgRkwsIDMyNzcxIn0sInN0b3JlTnVtYmVyIjoxOTY2LCJuYW1lIjoiU2FuZm9yZCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjcuMjI4LCJsb25naXR1ZGUiOi04Mi40OTI0LCJkaXNwbGF5QWRkcmVzcyI6Ijg0MDEgUyBUYW1pYW1pIFRybCwgU2FyYXNvdGEsIEZMLCAzNDIzOCJ9LCJzdG9yZU51bWJlciI6NjY1LCJuYW1lIjoiU2FyYXNvdGEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI2LjE1MDksImxvbmdpdHVkZSI6LTgwLjMyMTYsImRpc3BsYXlBZGRyZXNzIjoiMTI4MDEgVyBTdW5yaXNlIEJsdmQsIFN1bnJpc2UsIEZMLCAzMzMyMyJ9LCJzdG9yZU51bWJlciI6ODE1LCJuYW1lIjoiU2F3Z3Jhc3MgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyOC4yMDQyLCJsb25naXR1ZGUiOi04Mi42NjQ2LCJkaXNwbGF5QWRkcmVzcyI6IjI5MDAgTGl0dGxlIFJkLCBUcmluaXR5LCBGTCwgMzQ2NTUifSwic3RvcmVOdW1iZXIiOjE5NjcsIm5hbWUiOiJTZXZlbiBTcHJpbmdzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjMwLjE5MjYsImxvbmdpdHVkZSI6LTgxLjU1MDksImRpc3BsYXlBZGRyZXNzIjoiOTA0MSBTb3V0aHNpZGUgQmx2ZCwgSmFja3NvbnZpbGxlLCBGTCwgMzIyNTYifSwic3RvcmVOdW1iZXIiOjY2OSwibmFtZSI6IlNvdXRoc2lkZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjguNDc3OCwibG9uZ2l0dWRlIjotODIuNDc4NCwiZGlzcGxheUFkZHJlc3MiOiIzMTAxIEFlcmlhbCBXYXksIFNwcmluZyBIaWxsLCBGTCwgMzQ2MDQifSwic3RvcmVOdW1iZXIiOjI0ODksIm5hbWUiOiJTcHJpbmcgSGlsbCBFYXN0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjguNDkzMiwibG9uZ2l0dWRlIjotODIuNTk5NiwiZGlzcGxheUFkZHJlc3MiOiI0NDAxIENvbW1lcmNpYWwgV2F5LCBTcHJpbmcgSGlsbCwgRkwsIDM0NjA2In0sInN0b3JlTnVtYmVyIjo5MTksIm5hbWUiOiJTcHJpbmcgSGlsbCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI5Ljg3NTgsImxvbmdpdHVkZSI6LTgxLjMyMjIsImRpc3BsYXlBZGRyZXNzIjoiMTQ0MCBVUyBId3kgMSBTLCBTYWludCBBdWd1c3RpbmUsIEZMLCAzMjA4NCJ9LCJzdG9yZU51bWJlciI6MTI5NCwibmFtZSI6IlN0IEF1Z3VzdGluZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNy44NDY0LCJsb25naXR1ZGUiOi04Mi42NDQyLCJkaXNwbGF5QWRkcmVzcyI6IjgxNTEgRHIgTWFydGluIEx1dGhlciBLaW5nIFN0IE4sIFNhaW50IFBldGVyc2J1cmcsIEZMLCAzMzcwMiJ9LCJzdG9yZU51bWJlciI6MTEzMSwibmFtZSI6IlN0IFBldGVyc2J1cmcgR2F0ZXdheSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNy4yMzY3LCJsb25naXR1ZGUiOi04MC4yNzIxLCJkaXNwbGF5QWRkcmVzcyI6IjI2NTAgTlcgRmVkZXJhbCBId3ksIFN0dWFydCwgRkwsIDM0OTk0In0sInN0b3JlTnVtYmVyIjo4MTYsIm5hbWUiOiJTdHVhcnQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjguMTg0MiwibG9uZ2l0dWRlIjotODIuNTUwOSwiZGlzcGxheUFkZHJlc3MiOiIxNjQwMCBTdGF0ZSBSZCA1NCwgT2Rlc3NhLCBGTCwgMzM1NTYifSwic3RvcmVOdW1iZXIiOjIyMDksIm5hbWUiOiJTdW5jb2FzdCBQYXNjbyBDb3VudHkgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjozMC41NjExLCJsb25naXR1ZGUiOi04NC4yMTQ4LCJkaXNwbGF5QWRkcmVzcyI6IjM3MDAgQnJhZGZvcmR2aWxsZSBSZCwgVGFsbGFoYXNzZWUsIEZMLCAzMjMwOSJ9LCJzdG9yZU51bWJlciI6MTk3MywibmFtZSI6IlRhbGxhaGFzc2VlIE5vcnRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjMwLjQzMjYsImxvbmdpdHVkZSI6LTg0LjI0NSwiZGlzcGxheUFkZHJlc3MiOiIyMTIwIEFwYWxhY2hlZSBQa3d5LCBUYWxsYWhhc3NlZSwgRkwsIDMyMzAxIn0sInN0b3JlTnVtYmVyIjo4NDQsIm5hbWUiOiJUYWxsYWhhc3NlZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNy45NTcyLCJsb25naXR1ZGUiOi04Mi41MDgsImRpc3BsYXlBZGRyZXNzIjoiMTU0NCBOIERhbGUgTWFicnkgSHd5LCBUYW1wYSwgRkwsIDMzNjA3In0sInN0b3JlTnVtYmVyIjoyMDQwLCJuYW1lIjoiVGFtcGEgQ2VudHJhbCBXYWx0ZXIncyBDcm9zc2luZyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjguMTczOCwibG9uZ2l0dWRlIjotODIuNDcwNSwiZGlzcGxheUFkZHJlc3MiOiIxMDQwIERhbGUgTWFicnkgSHd5LCBMdXR6LCBGTCwgMzM1NDgifSwic3RvcmVOdW1iZXIiOjIxMTgsIm5hbWUiOiJUYW1wYSBOb3J0aCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyOC4wMTY5LCJsb25naXR1ZGUiOi04Mi42MTIzLCJkaXNwbGF5QWRkcmVzcyI6IjExNjI3IFcgSGlsbHNib3JvdWdoIEF2ZSwgVGFtcGEsIEZMLCAzMzYzNSJ9LCJzdG9yZU51bWJlciI6MjI4OSwibmFtZSI6IlRhbXBhIFdlc3QgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI4LjU1MjEsImxvbmdpdHVkZSI6LTgwLjg0MTEsImRpc3BsYXlBZGRyZXNzIjoiMzA1NSBDb2x1bWJpYSBCbHZkLCBUaXR1c3ZpbGxlLCBGTCwgMzI3ODAifSwic3RvcmVOdW1iZXIiOjIyNjksIm5hbWUiOiJUaXR1c3ZpbGxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjI4LjAyNzIsImxvbmdpdHVkZSI6LTgyLjU0ODksImRpc3BsYXlBZGRyZXNzIjoiNjI5NSBXIFdhdGVycyBBdmUsIFRhbXBhLCBGTCwgMzM2MzQifSwic3RvcmVOdW1iZXIiOjc5OCwibmFtZSI6IlRvd24gJiBDb3VudHJ5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjcuMzg2NSwibG9uZ2l0dWRlIjotODIuNDU2OCwiZGlzcGxheUFkZHJlc3MiOiIxMDEgIE4gQ2F0dGxlbWVuIFJkLCBTYXJhc290YSwgRkwsIDM0MjQzIn0sInN0b3JlTnVtYmVyIjoyMDM0LCJuYW1lIjoiVW5pdmVyc2l0eSBQYXJrd2F5IFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyOC4wNzIzLCJsb25naXR1ZGUiOi04Mi40Mjc5LCJkaXNwbGF5QWRkcmVzcyI6IjEzNjU4IFVuaXZlcnNpdHkgUGxhemEgU3QsIFRhbXBhLCBGTCwgMzM2MTMifSwic3RvcmVOdW1iZXIiOjY1NiwibmFtZSI6IlVuaXZlcnNpdHkgUGxhemEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIkZyZXNoIEdyb2NlcnkiLCJXaW5lIEF2YWlsYWJsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNy4wNTIyLCJsb25naXR1ZGUiOi04Mi4zOTE4LCJkaXNwbGF5QWRkcmVzcyI6IjQyNzEgVGFtaWFtaSBUcmwgUywgVmVuaWNlLCBGTCwgMzQyOTMifSwic3RvcmVOdW1iZXIiOjgxMywibmFtZSI6IlZlbmljZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNy42NDAxLCJsb25naXR1ZGUiOi04MC40NDc5LCJkaXNwbGF5QWRkcmVzcyI6IjU4MDAgMjB0aCBTdCwgVmVybyBCZWFjaCwgRkwsIDMyOTY2In0sInN0b3JlTnVtYmVyIjoxMDUwLCJuYW1lIjoiVmVybyBCZWFjaCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyOC4yMjgxLCJsb25naXR1ZGUiOi04MC43MjAzLCJkaXNwbGF5QWRkcmVzcyI6Ijg0NTUgTiBXaWNraGFtIFJkLCBWaWVyYSwgRkwsIDMyOTQwIn0sInN0b3JlTnVtYmVyIjoxOTM0LCJuYW1lIjoiVmllcmEgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyOC41NTMsImxvbmdpdHVkZSI6LTgxLjIwMDIsImRpc3BsYXlBZGRyZXNzIjoiMzI1IE4gQWxhZmF5YSBUcmwsIE9ybGFuZG8sIEZMLCAzMjgyOCJ9LCJzdG9yZU51bWJlciI6MTc2MCwibmFtZSI6IldhdGVyZm9yZCBMYWtlcyBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNi41OTMyLCJsb25naXR1ZGUiOi04MC4yMDMxLCJkaXNwbGF5QWRkcmVzcyI6IjU5MDAgU3RhdGUgUmQgNywgTGFrZSBXb3J0aCwgRkwsIDMzNDQ5In0sInN0b3JlTnVtYmVyIjoyMDY1LCJuYW1lIjoiV2VsbGluZ3RvbiBTb3V0aCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJGTCIsImxhdGl0dWRlIjoyNi4zNTUzLCJsb25naXR1ZGUiOi04MC4yMDUyLCJkaXNwbGF5QWRkcmVzcyI6IjIxNjM3IFN0YXRlIFJvYWQgNywgQm9jYSBSYXRvbiwgRkwsIDMzNDI4In0sInN0b3JlTnVtYmVyIjo2MzgsIm5hbWUiOiJXZXN0IEJvY2EgUmF0b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjguMDM5NywibG9uZ2l0dWRlIjotODAuNjYyMiwiZGlzcGxheUFkZHJlc3MiOiI0MzA1IE5vcmZvbGsgUGt3eSwgV2VzdCBNZWxib3VybmUsIEZMLCAzMjkwNCJ9LCJzdG9yZU51bWJlciI6MjU0NywibmFtZSI6Ildlc3QgTWVsYm91cm5lIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjYuNzIyMywibG9uZ2l0dWRlIjotODAuMDg0OSwiZGlzcGxheUFkZHJlc3MiOiIxNzYwIFBhbG0gQmVhY2ggTGFrZXMgQmx2ZCwgV2VzdCBQYWxtIEJlYWNoLCBGTCwgMzM0MDEifSwic3RvcmVOdW1iZXIiOjI0MjcsIm5hbWUiOiJXZXN0IFBhbG0gQmVhY2giLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiRkwiLCJsYXRpdHVkZSI6MjguNTIzMSwibG9uZ2l0dWRlIjotODEuNTg1OCwiZGlzcGxheUFkZHJlc3MiOiIzMzQzIERhbmllbHMgUmQsIFdpbnRlciBHYXJkZW4sIEZMLCAzNDc4NyJ9LCJzdG9yZU51bWJlciI6MjI2NCwibmFtZSI6IldpbnRlciBHYXJkZW4gU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkZMIiwibGF0aXR1ZGUiOjMwLjYyNzgsImxvbmdpdHVkZSI6LTgxLjU0ODcsImRpc3BsYXlBZGRyZXNzIjoiNDYzNzM3IFN0YXRlIFJkIDIwMCwgWXVsZWUsIEZMLCAzMjA5NyJ9LCJzdG9yZU51bWJlciI6MjE1NSwibmFtZSI6Ill1bGVlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiR0EiLCJsYXRpdHVkZSI6MzQuMDM5OCwibG9uZ2l0dWRlIjotODQuNjgzNSwiZGlzcGxheUFkZHJlc3MiOiIzMzc4IENvYmIgUGt3eSBOVywgQWN3b3J0aCwgR0EsIDMwMTAxIn0sInN0b3JlTnVtYmVyIjoyMDkxLCJuYW1lIjoiQWN3b3J0aCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJHQSIsImxhdGl0dWRlIjozMS42MTg0LCJsb25naXR1ZGUiOi04NC4yMjA1LCJkaXNwbGF5QWRkcmVzcyI6IjI3MjEgRGF3c29uIFJkLCBBbGJhbnksIEdBLCAzMTcwNyJ9LCJzdG9yZU51bWJlciI6NzM0LCJuYW1lIjoiQWxiYW55Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiR0EiLCJsYXRpdHVkZSI6MzQuMDQ3LCJsb25naXR1ZGUiOi04NC4yODc0LCJkaXNwbGF5QWRkcmVzcyI6IjYwMDAgTiBQb2ludCBQa3d5LCBBbHBoYXJldHRhLCBHQSwgMzAwMjIifSwic3RvcmVOdW1iZXIiOjk3MCwibmFtZSI6IkFscGhhcmV0dGEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiR0EiLCJsYXRpdHVkZSI6MzMuOTQxOSwibG9uZ2l0dWRlIjotODMuNDQwNywiZGlzcGxheUFkZHJlc3MiOiIzMDY1IEF0bGFudGEgSHd5LCBBdGhlbnMsIEdBLCAzMDYwNiJ9LCJzdG9yZU51bWJlciI6MTQ1MywibmFtZSI6IkF0aGVucyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJHQSIsImxhdGl0dWRlIjozMy43NTcsImxvbmdpdHVkZSI6LTg0LjM0NjEsImRpc3BsYXlBZGRyZXNzIjoiMTI3NSBDYXJvbGluZSBTdCBORSwgQXRsYW50YSwgR0EsIDMwMzA3In0sInN0b3JlTnVtYmVyIjoxOTY0LCJuYW1lIjoiQXRsYW50YSBFZGdld29vZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkdBIiwibGF0aXR1ZGUiOjMzLjc5MzIsImxvbmdpdHVkZSI6LTg0LjM5OTQsImRpc3BsYXlBZGRyZXNzIjoiMzc1IDE4dGggU3QsIEF0bGFudGEsIEdBLCAzMDM2MyJ9LCJzdG9yZU51bWJlciI6MjEzNywibmFtZSI6IkF0bGFudGEgTWlkdG93biIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiR0EiLCJsYXRpdHVkZSI6MzMuOTMxLCJsb25naXR1ZGUiOi04NC4zNDEyLCJkaXNwbGF5QWRkcmVzcyI6IjEwMCBQZXJpbWV0ZXIgQ2VudGVyIFBsLCBBdGxhbnRhLCBHQSwgMzAzNDYifSwic3RvcmVOdW1iZXIiOjIwMzYsIm5hbWUiOiJBdGxhbnRhIFBlcmltZXRlciBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiR0EiLCJsYXRpdHVkZSI6MzMuNDkwOSwibG9uZ2l0dWRlIjotODIuMDgxMiwiZGlzcGxheUFkZHJlc3MiOiIyMzUgUm9iZXJ0IEMgRGFuaWVsIEpyIFBrd3ksIEF1Z3VzdGEsIEdBLCAzMDkwOSJ9LCJzdG9yZU51bWJlciI6MTA5MCwibmFtZSI6IkF1Z3VzdGEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkdBIiwibGF0aXR1ZGUiOjMzLjg1MiwibG9uZ2l0dWRlIjotODQuNjAzMiwiZGlzcGxheUFkZHJlc3MiOiI0MTI1IEF1c3RlbGwgUmQsIEF1c3RlbGwsIEdBLCAzMDEwNiJ9LCJzdG9yZU51bWJlciI6MTE2NCwibmFtZSI6IkF1c3RlbGwiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJHQSIsImxhdGl0dWRlIjozMS4yMDE5LCJsb25naXR1ZGUiOi04MS40ODE3LCJkaXNwbGF5QWRkcmVzcyI6IjIwMCBHbHlubiBJc2xlLCBCcnVuc3dpY2ssIEdBLCAzMTUyNSJ9LCJzdG9yZU51bWJlciI6MjMwMSwibmFtZSI6IkJydW5zd2ljayIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkdBIiwibGF0aXR1ZGUiOjMzLjg1MzIsImxvbmdpdHVkZSI6LTg0LjM1ODUsImRpc3BsYXlBZGRyZXNzIjoiMzUzNSBQZWFjaHRyZWUgUmQgTkUsIEF0bGFudGEsIEdBLCAzMDMyNiJ9LCJzdG9yZU51bWJlciI6MTE5NywibmFtZSI6IkJ1Y2toZWFkIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJHQSIsImxhdGl0dWRlIjozMy44MjUxLCJsb25naXR1ZGUiOi04NC4zNjYzLCJkaXNwbGF5QWRkcmVzcyI6IjI1MzkgUGllZG1vbnQgUmQgTkUsIEF0bGFudGEsIEdBLCAzMDMyNCJ9LCJzdG9yZU51bWJlciI6MjE3MSwibmFtZSI6IkJ1Y2toZWFkIFNvdXRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJHQSIsImxhdGl0dWRlIjozNC4wNywibG9uZ2l0dWRlIjotODMuOTgyNCwiZGlzcGxheUFkZHJlc3MiOiIzMjA1IFdvb2R3YXJkIENyb3NzaW5nIEJsdmQsIEJ1Zm9yZCwgR0EsIDMwNTE5In0sInN0b3JlTnVtYmVyIjoxMjA2LCJuYW1lIjoiQnVmb3JkIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJHQSIsImxhdGl0dWRlIjozNC4yMzUyLCJsb25naXR1ZGUiOi04NC40NTc5LCJkaXNwbGF5QWRkcmVzcyI6IjIwMjIgQ3VtbWluZyBId3ksIENhbnRvbiwgR0EsIDMwMTE0In0sInN0b3JlTnVtYmVyIjoyNDc2LCJuYW1lIjoiQ2FudG9uIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkdBIiwibGF0aXR1ZGUiOjMzLjU1ODUsImxvbmdpdHVkZSI6LTg1LjA3NjMsImRpc3BsYXlBZGRyZXNzIjoiMTEyOSBTIFBhcmsgU3QsIENhcnJvbGx0b24sIEdBLCAzMDExNyJ9LCJzdG9yZU51bWJlciI6MTA3MywibmFtZSI6IkNhcnJvbGx0b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiR0EiLCJsYXRpdHVkZSI6MzQuMTcyNSwibG9uZ2l0dWRlIjotODQuNzg2LCJkaXNwbGF5QWRkcmVzcyI6IjEwMCBDaGVyb2tlZSBQbCwgQ2FydGVyc3ZpbGxlLCBHQSwgMzAxMjEifSwic3RvcmVOdW1iZXIiOjk2OSwibmFtZSI6IkNhcnRlcnN2aWxsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhvdG8gQ2VudGVyIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkdBIiwibGF0aXR1ZGUiOjM0LjAzNTMsImxvbmdpdHVkZSI6LTg0LjQ2MDUsImRpc3BsYXlBZGRyZXNzIjoiMzA0MCBTaGFsbG93Zm9yZCBSZCwgTWFyaWV0dGEsIEdBLCAzMDA2MiJ9LCJzdG9yZU51bWJlciI6MTEwNiwibmFtZSI6IkNvYmIgTkUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlRhcmdldCBNb2JpbGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiR0EiLCJsYXRpdHVkZSI6MzQuMDA5NSwibG9uZ2l0dWRlIjotODQuNTczNSwiZGlzcGxheUFkZHJlc3MiOiI3NDAgRXJuZXN0IFcgQmFycmV0dCBQa3d5IE5XLCBLZW5uZXNhdywgR0EsIDMwMTQ0In0sInN0b3JlTnVtYmVyIjo5ODEsIm5hbWUiOiJDb2JiIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiR0EiLCJsYXRpdHVkZSI6MzIuNTM0MywibG9uZ2l0dWRlIjotODQuOTcxNiwiZGlzcGxheUFkZHJlc3MiOiIxNTkxIEJyYWRsZXkgUGFyayBEciwgQ29sdW1idXMsIEdBLCAzMTkwNCJ9LCJzdG9yZU51bWJlciI6MTE3OSwibmFtZSI6IkNvbHVtYnVzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkdBIiwibGF0aXR1ZGUiOjMzLjYzMTgsImxvbmdpdHVkZSI6LTg0LjAxNTcsImRpc3BsYXlBZGRyZXNzIjoiMjE5NSBId3kgMjAgU0UsIENvbnllcnMsIEdBLCAzMDAxMyJ9LCJzdG9yZU51bWJlciI6MjE3NCwibmFtZSI6IkNvbnllcnMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJHQSIsImxhdGl0dWRlIjozNC4xODYxLCJsb25naXR1ZGUiOi04NC4xMzQxLCJkaXNwbGF5QWRkcmVzcyI6IjE1MjUgTWFya2V0IFBsYWNlIEJsdmQsIEN1bW1pbmcsIEdBLCAzMDA0MSJ9LCJzdG9yZU51bWJlciI6MTM5NCwibmFtZSI6IkN1bW1pbmcgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiR0EiLCJsYXRpdHVkZSI6MzMuNzI2MSwibG9uZ2l0dWRlIjotODQuNzM0NiwiZGlzcGxheUFkZHJlc3MiOiIyOTUwIENoYXBlbCBIaWxsIFJkLCBEb3VnbGFzdmlsbGUsIEdBLCAzMDEzNSJ9LCJzdG9yZU51bWJlciI6MTE3MiwibmFtZSI6IkRvdWdsYXN2aWxsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkdBIiwibGF0aXR1ZGUiOjMzLjY1NzgsImxvbmdpdHVkZSI6LTg0LjUwMDMsImRpc3BsYXlBZGRyZXNzIjoiMzY2MCBNYXJrZXRwbGFjZSBCbHZkLCBFYXN0IFBvaW50LCBHQSwgMzAzNDQifSwic3RvcmVOdW1iZXIiOjE1NDYsIm5hbWUiOiJFYXN0IFBvaW50Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkdBIiwibGF0aXR1ZGUiOjMzLjUyNjcsImxvbmdpdHVkZSI6LTgyLjExODQsImRpc3BsYXlBZGRyZXNzIjoiNDIyMyBXYXNoaW5ndG9uIFJkLCBFdmFucywgR0EsIDMwODA5In0sInN0b3JlTnVtYmVyIjoyMDI3LCJuYW1lIjoiRXZhbnMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJHQSIsImxhdGl0dWRlIjozMy40ODA4LCJsb25naXR1ZGUiOi04NC40NDI3LCJkaXNwbGF5QWRkcmVzcyI6IjEwNyBQYXZpbGlvbiBQa3d5LCBGYXlldHRldmlsbGUsIEdBLCAzMDIxNCJ9LCJzdG9yZU51bWJlciI6Nzc4LCJuYW1lIjoiRmF5ZXR0ZXZpbGxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJHQSIsImxhdGl0dWRlIjozNC4xNzk1LCJsb25naXR1ZGUiOi04My45MTE3LCJkaXNwbGF5QWRkcmVzcyI6IjU4NjUgU3BvdXQgU3ByaW5ncyBSZCwgRmxvd2VyeSBCcmFuY2gsIEdBLCAzMDU0MiJ9LCJzdG9yZU51bWJlciI6MjM4NywibmFtZSI6IkZsb3dlcnkgQnJhbmNoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJHQSIsImxhdGl0dWRlIjozNC4yOTA1LCJsb25naXR1ZGUiOi04My44NDYsImRpc3BsYXlBZGRyZXNzIjoiNTE0IFNoYWxsb3dmb3JkIFJkIE5XLCBHYWluZXN2aWxsZSwgR0EsIDMwNTA0In0sInN0b3JlTnVtYmVyIjo3OTYsIm5hbWUiOiJHYWluZXN2aWxsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhvdG8gQ2VudGVyIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiR0EiLCJsYXRpdHVkZSI6MzMuOTUxLCJsb25naXR1ZGUiOi04NC4xNDM5LCJkaXNwbGF5QWRkcmVzcyI6IjM5MzUgVmVudHVyZSBEciwgRHVsdXRoLCBHQSwgMzAwOTYifSwic3RvcmVOdW1iZXIiOjE3NzksIm5hbWUiOiJHd2lubmV0dCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJHQSIsImxhdGl0dWRlIjozMy44ODYsImxvbmdpdHVkZSI6LTg0Ljc0NDUsImRpc3BsYXlBZGRyZXNzIjoiNTIyMCBKaW1teSBMZWUgU21pdGggUGt3eSwgSGlyYW0sIEdBLCAzMDE0MSJ9LCJzdG9yZU51bWJlciI6MTQwMCwibmFtZSI6IkhpcmFtIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJHQSIsImxhdGl0dWRlIjozNC4wOTYsImxvbmdpdHVkZSI6LTg0LjE3NDUsImRpc3BsYXlBZGRyZXNzIjoiMjYyNSBQZWFjaHRyZWUgUGt3eSwgU3V3YW5lZSwgR0EsIDMwMDI0In0sInN0b3JlTnVtYmVyIjoyMDU2LCJuYW1lIjoiSm9obidzIENyZWVrIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkdBIiwibGF0aXR1ZGUiOjMzLjk3MDQsImxvbmdpdHVkZSI6LTg0LjAxNSwiZGlzcGxheUFkZHJlc3MiOiI4NzUgTGF3cmVuY2V2aWxsZSBTdXdhbmVlIFJkICM0MDAwLCBMYXdyZW5jZXZpbGxlLCBHQSwgMzAwNDMifSwic3RvcmVOdW1iZXIiOjc0NywibmFtZSI6Ikxhd3JlbmNldmlsbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiR0EiLCJsYXRpdHVkZSI6MzMuNjkxNiwibG9uZ2l0dWRlIjotODQuMDkyNSwiZGlzcGxheUFkZHJlc3MiOiI4MTA5IE1hbGwgUGt3eSwgTGl0aG9uaWEsIEdBLCAzMDAzOCJ9LCJzdG9yZU51bWJlciI6MTkwOSwibmFtZSI6IkxpdGhvbmlhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJHQSIsImxhdGl0dWRlIjozMi44MTc2LCJsb25naXR1ZGUiOi04My43MTQ1LCJkaXNwbGF5QWRkcmVzcyI6IjQ2ODUgUHJlc2lkZW50aWFsIFBrd3ksIE1hY29uLCBHQSwgMzEyMDYifSwic3RvcmVOdW1iZXIiOjEzNzksIm5hbWUiOiJNYWNvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiR0EiLCJsYXRpdHVkZSI6MzMuOTg0NSwibG9uZ2l0dWRlIjotODQuNDI5MywiZGlzcGxheUFkZHJlc3MiOiIxNDAxIEpvaG5zb24gRmVycnkgUmQsIE1hcmlldHRhLCBHQSwgMzAwNjIifSwic3RvcmVOdW1iZXIiOjIxMjEsIm5hbWUiOiJNYXJpZXR0YSBFYXN0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJHQSIsImxhdGl0dWRlIjozMy40NjY4LCJsb25naXR1ZGUiOi04NC4yMTcsImRpc3BsYXlBZGRyZXNzIjoiMTg1MCBKb25lc2Jvcm8gUmQsIE1jZG9ub3VnaCwgR0EsIDMwMjUzIn0sInN0b3JlTnVtYmVyIjoxNDYxLCJuYW1lIjoiTWNEb25vdWdoIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiR0EiLCJsYXRpdHVkZSI6MzQuMDk5LCJsb25naXR1ZGUiOi04NC4yNjk0LCJkaXNwbGF5QWRkcmVzcyI6IjEzMDU1IEh3eSA5IE4sIE1pbHRvbiwgR0EsIDMwMDA0In0sInN0b3JlTnVtYmVyIjoyNDMxLCJuYW1lIjoiTWlsdG9uIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiR0EiLCJsYXRpdHVkZSI6MzMuNTY2OSwibG9uZ2l0dWRlIjotODQuMzI2MiwiZGlzcGxheUFkZHJlc3MiOiIxOTQwIE1vdW50IFppb24gUmQsIE1vcnJvdywgR0EsIDMwMjYwIn0sInN0b3JlTnVtYmVyIjo3NDgsIm5hbWUiOiJNb3Jyb3ciLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiR0EiLCJsYXRpdHVkZSI6MzMuMzkzMiwibG9uZ2l0dWRlIjotODQuNzU4OSwiZGlzcGxheUFkZHJlc3MiOiI1NTUgQnVsbHNib3JvIERyLCBOZXduYW4sIEdBLCAzMDI2NSJ9LCJzdG9yZU51bWJlciI6MTIyMywibmFtZSI6Ik5ld25hbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkdBIiwibGF0aXR1ZGUiOjMzLjk1MTMsImxvbmdpdHVkZSI6LTg0LjIzMjQsImRpc3BsYXlBZGRyZXNzIjoiMzIwMCBIb2xjb21iIEJyaWRnZSBSZCwgTm9yY3Jvc3MsIEdBLCAzMDA5MiJ9LCJzdG9yZU51bWJlciI6OTgyLCJuYW1lIjoiTm9yY3Jvc3MiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlN0YXJidWNrcyJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJHQSIsImxhdGl0dWRlIjozMy44MjgxLCJsb25naXR1ZGUiOi04NC4zMjUsImRpc3BsYXlBZGRyZXNzIjoiMjQwMCBOIERydWlkIEhpbGxzIFJkIE5FLCBBdGxhbnRhLCBHQSwgMzAzMjkifSwic3RvcmVOdW1iZXIiOjE0ODYsIm5hbWUiOiJOb3J0aCBEcnVpZCBIaWxscyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJHQSIsImxhdGl0dWRlIjozMy44NDUyLCJsb25naXR1ZGUiOi04NC4yNDU4LCJkaXNwbGF5QWRkcmVzcyI6IjQyNDEgTGF2aXN0YSBSZCwgVHVja2VyLCBHQSwgMzAwODQifSwic3RvcmVOdW1iZXIiOjEzOTAsIm5hbWUiOiJOb3J0aGxha2UiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkdBIiwibGF0aXR1ZGUiOjMzLjQ0MDIsImxvbmdpdHVkZSI6LTg0LjU4OTgsImRpc3BsYXlBZGRyZXNzIjoiMTIwOSBQZWFjaHRyZWUgUGt3eSBOLCBQZWFjaHRyZWUgQ2l0eSwgR0EsIDMwMjY5In0sInN0b3JlTnVtYmVyIjoyMTI5LCJuYW1lIjoiUGVhY2h0cmVlIENpdHkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJHQSIsImxhdGl0dWRlIjozNC4wMTQ4LCJsb25naXR1ZGUiOi04NC4xODg2LCJkaXNwbGF5QWRkcmVzcyI6IjU5NTAgU3RhdGUgQnJpZGdlIFJkLCBEdWx1dGgsIEdBLCAzMDA5NyJ9LCJzdG9yZU51bWJlciI6NzQ5LCJuYW1lIjoiUml2ZXJ3b29kIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkdBIiwibGF0aXR1ZGUiOjM0LjAsImxvbmdpdHVkZSI6LTg0LjI4MjQsImRpc3BsYXlBZGRyZXNzIjoiMjYwMCBIb2xjb21iIEJyaWRnZSBSZCwgQWxwaGFyZXR0YSwgR0EsIDMwMDIyIn0sInN0b3JlTnVtYmVyIjoyNDQzLCJuYW1lIjoiUm9zd2VsbCBFYXN0IFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkdBIiwibGF0aXR1ZGUiOjM0LjA2MzcsImxvbmdpdHVkZSI6LTg0LjM5NzYsImRpc3BsYXlBZGRyZXNzIjoiMTEzNSBXb29kc3RvY2sgUmQsIFJvc3dlbGwsIEdBLCAzMDA3NSJ9LCJzdG9yZU51bWJlciI6MTc2MSwibmFtZSI6IlJvc3dlbGwgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiR0EiLCJsYXRpdHVkZSI6MzMuOTA4MSwibG9uZ2l0dWRlIjotODQuMzc5OSwiZGlzcGxheUFkZHJlc3MiOiI1NTcwIFJvc3dlbGwgUmQsIFNhbmR5IFNwcmluZ3MsIEdBLCAzMDM0MiJ9LCJzdG9yZU51bWJlciI6MjMzMywibmFtZSI6IlNhbmR5IFNwcmluZ3MgUHJhZG8iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkdBIiwibGF0aXR1ZGUiOjMyLjA0MDYsImxvbmdpdHVkZSI6LTgxLjA2OTYsImRpc3BsYXlBZGRyZXNzIjoiMTkwNyBFIFZpY3RvcnkgRHIsIFNhdmFubmFoLCBHQSwgMzE0MDQifSwic3RvcmVOdW1iZXIiOjIzMzEsIm5hbWUiOiJTYXZhbm5haCBFYXN0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkdBIiwibGF0aXR1ZGUiOjMxLjk4MzksImxvbmdpdHVkZSI6LTgxLjE3NSwiZGlzcGxheUFkZHJlc3MiOiIxNDA2NSBBYmVyY29ybiBTdCwgU2F2YW5uYWgsIEdBLCAzMTQxOSJ9LCJzdG9yZU51bWJlciI6MTkxMCwibmFtZSI6IlNhdmFubmFoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkdBIiwibGF0aXR1ZGUiOjMzLjg5NzcsImxvbmdpdHVkZSI6LTg0LjQ3OSwiZGlzcGxheUFkZHJlc3MiOiIyMjAxIENvYmIgUGt3eSBTRSwgU215cm5hLCBHQSwgMzAwODAifSwic3RvcmVOdW1iZXIiOjM3MywibmFtZSI6IlNteXJuYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJHQSIsImxhdGl0dWRlIjozMy44NzUzLCJsb25naXR1ZGUiOi04NC4wMTU2LCJkaXNwbGF5QWRkcmVzcyI6IjE5MDUgU2NlbmljIEh3eSBOLCBTbmVsbHZpbGxlLCBHQSwgMzAwNzgifSwic3RvcmVOdW1iZXIiOjkxNywibmFtZSI6IlNuZWxsdmlsbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkdBIiwibGF0aXR1ZGUiOjMwLjg0MzMsImxvbmdpdHVkZSI6LTgzLjMxNjksImRpc3BsYXlBZGRyZXNzIjoiMTgxNSBOb3JtYW4gRHIsIFZhbGRvc3RhLCBHQSwgMzE2MDEifSwic3RvcmVOdW1iZXIiOjc1MCwibmFtZSI6IlZhbGRvc3RhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJGcmVzaCBHcm9jZXJ5IiwiV2luZSBBdmFpbGFibGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJHQSIsImxhdGl0dWRlIjozMi42MTY3LCJsb25naXR1ZGUiOi04My42ODU5LCJkaXNwbGF5QWRkcmVzcyI6IjI5MjkgV2F0c29uIEJsdmQsIFdhcm5lciBSb2JpbnMsIEdBLCAzMTA5MyJ9LCJzdG9yZU51bWJlciI6MTM4MCwibmFtZSI6Ildhcm5lciBSb2JpbnMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJHQSIsImxhdGl0dWRlIjozMy45NDc4LCJsb25naXR1ZGUiOi04NC42MjU2LCJkaXNwbGF5QWRkcmVzcyI6IjI1MzUgRGFsbGFzIEh3eSBTVywgTWFyaWV0dGEsIEdBLCAzMDA2NCJ9LCJzdG9yZU51bWJlciI6MTE2NSwibmFtZSI6Ildlc3QgTWFyaWV0dGEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiR0EiLCJsYXRpdHVkZSI6MzMuOTQ0MywibG9uZ2l0dWRlIjotODMuNzUzNywiZGlzcGxheUFkZHJlc3MiOiI5MTYgTG9nYW52aWxsZSBId3ksIEJldGhsZWhlbSwgR0EsIDMwNjIwIn0sInN0b3JlTnVtYmVyIjoyNDkzLCJuYW1lIjoiV2luZGVyIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJHQSIsImxhdGl0dWRlIjozNC4wODUzLCJsb25naXR1ZGUiOi04NC41NDU2LCJkaXNwbGF5QWRkcmVzcyI6IjE0MCBXb29kc3RvY2sgU3F1YXJlIEF2ZSwgV29vZHN0b2NrLCBHQSwgMzAxODkifSwic3RvcmVOdW1iZXIiOjE3ODAsIm5hbWUiOiJXb29kc3RvY2sgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSEkmc3RhdGVOYW1lPUhhd2FpaSIsImxhdGl0dWRlIjoxOS43MDA5LCJsb25naXR1ZGUiOi0xNTUuMDYsImRpc3BsYXlBZGRyZXNzIjoiMzkxIEUgTUFLQUFMQSBTVCwgSGlsbywgSEksIDk2NzIwIn0sInN0b3JlTnVtYmVyIjoyNjgyLCJuYW1lIjoiSGF3YWlpLUhpbG8iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJISSZzdGF0ZU5hbWU9SGF3YWlpIiwibGF0aXR1ZGUiOjE5LjY0ODQsImxvbmdpdHVkZSI6LTE1Ni4wMDMsImRpc3BsYXlBZGRyZXNzIjoiNzQtNTQ1NSBNYWthbGEgQmx2ZCwgS2FpbHVhLUtvbmEsIEhJLCA5Njc0MCJ9LCJzdG9yZU51bWJlciI6MjQxMiwibmFtZSI6Ikhhd2FpaS1Lb25hIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSEkmc3RhdGVOYW1lPUhhd2FpaSIsImxhdGl0dWRlIjoyMS4zNTU5LCJsb25naXR1ZGUiOi0xNTcuOTI5LCJkaXNwbGF5QWRkcmVzcyI6IjQzODAgTGF3ZWhhbmEgU3QsIEhvbm9sdWx1LCBISSwgOTY4MTgifSwic3RvcmVOdW1iZXIiOjI0MTAsIm5hbWUiOiJPYWh1LUhvbm9sdWx1IFdlc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJISSZzdGF0ZU5hbWU9SGF3YWlpIiwibGF0aXR1ZGUiOjIxLjMzMTUsImxvbmdpdHVkZSI6LTE1OC4wOTIsImRpc3BsYXlBZGRyZXNzIjoiNDQ1MCBLYXBvbGVpIFBrd3kgICwgS2Fwb2xlaSwgSEksIDk2NzA3In0sInN0b3JlTnVtYmVyIjoyNDExLCJuYW1lIjoiT2FodS1LYXBvbGVpIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUQiLCJsYXRpdHVkZSI6NDMuNjEwNSwibG9uZ2l0dWRlIjotMTE2LjI4NiwiZGlzcGxheUFkZHJlc3MiOiI2MzMgTiBNaWx3YXVrZWUgU3QsIEJvaXNlLCBJRCwgODM3MDQifSwic3RvcmVOdW1iZXIiOjYxNywibmFtZSI6IkJvaXNlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUQiLCJsYXRpdHVkZSI6NDMuNjYxOSwibG9uZ2l0dWRlIjotMTE2LjM1MywiZGlzcGxheUFkZHJlc3MiOiI2MjgwIE4gRWFnbGUgUmQsIEJvaXNlLCBJRCwgODM3MTMifSwic3RvcmVOdW1iZXIiOjEyMzAsIm5hbWUiOiJCb2lzZSBOVyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklEIiwibGF0aXR1ZGUiOjQ3LjczNDUsImxvbmdpdHVkZSI6LTExNi43OTEsImRpc3BsYXlBZGRyZXNzIjoiMzE1IFcgQ2FuZmllbGQgQXZlLCBDb2V1ciBkJ0FsZW5lLCBJRCwgODM4MTUifSwic3RvcmVOdW1iZXIiOjY3OSwibmFtZSI6IkNvZXVyIGQnQWxlbmUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklEIiwibGF0aXR1ZGUiOjQzLjQ3NzYsImxvbmdpdHVkZSI6LTExMS45ODMsImRpc3BsYXlBZGRyZXNzIjoiMjE3MSBTIDI1dGggRSwgSWRhaG8gRmFsbHMsIElELCA4MzQwNiJ9LCJzdG9yZU51bWJlciI6MTA4MiwibmFtZSI6IklkYWhvIEZhbGxzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6W10sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklEIiwibGF0aXR1ZGUiOjQzLjYwODgsImxvbmdpdHVkZSI6LTExNi41OSwiZGlzcGxheUFkZHJlc3MiOiIxNjMwMCBOIE1hcmtldCBQbGFjZSBCbHZkLCBOYW1wYSwgSUQsIDgzNjg3In0sInN0b3JlTnVtYmVyIjoyMjA2LCJuYW1lIjoiTmFtcGEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUQiLCJsYXRpdHVkZSI6NDIuNTkwNywibG9uZ2l0dWRlIjotMTE0LjQ2MiwiZGlzcGxheUFkZHJlc3MiOiIxNjExIEJsdWUgTGFrZXMgQmx2ZCBOLCBUd2luIEZhbGxzLCBJRCwgODMzMDEifSwic3RvcmVOdW1iZXIiOjY5OSwibmFtZSI6IlR3aW4gRmFsbHMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQyLjE2MjUsImxvbmdpdHVkZSI6LTg4LjMzOTksImRpc3BsYXlBZGRyZXNzIjoiNzUwIFMgUmFuZGFsbCBSZCwgQWxnb25xdWluLCBJTCwgNjAxMDIifSwic3RvcmVOdW1iZXIiOjE4MDEsIm5hbWUiOiJBbGdvbnF1aW4gU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6MzguOTIxMSwibG9uZ2l0dWRlIjotOTAuMTcwNywiZGlzcGxheUFkZHJlc3MiOiIzMDAgSG9tZXIgTSBBZGFtcyBQa3d5LCBBbHRvbiwgSUwsIDYyMDAyIn0sInN0b3JlTnVtYmVyIjo3OCwibmFtZSI6IkFsdG9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDIuMTAxOSwibG9uZ2l0dWRlIjotODcuOTYzNSwiZGlzcGxheUFkZHJlc3MiOiIxNzAwIEUgUmFuZCBSZCwgQXJsaW5ndG9uIEhlaWdodHMsIElMLCA2MDAwNCJ9LCJzdG9yZU51bWJlciI6MTE3NiwibmFtZSI6IkFybGluZ3RvbiBIZWlnaHRzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0MS44NTU2LCJsb25naXR1ZGUiOi04OC4zNDI2LCJkaXNwbGF5QWRkcmVzcyI6IjExNSBOIFJhbmRhbGwgUmQsIEJhdGF2aWEsIElMLCA2MDUxMCJ9LCJzdG9yZU51bWJlciI6ODM5LCJuYW1lIjoiQmF0YXZpYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0MS43NjI3LCJsb25naXR1ZGUiOi04Ny43NDMxLCJkaXNwbGF5QWRkcmVzcyI6IjcxMDAgUyBDaWNlcm8gQXZlLCBCZWRmb3JkIFBhcmssIElMLCA2MDYyOSJ9LCJzdG9yZU51bWJlciI6ODQxLCJuYW1lIjoiQmVkZm9yZCBQYXJrIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjM4LjUyNjQsImxvbmdpdHVkZSI6LTkwLjAzNCwiZGlzcGxheUFkZHJlc3MiOiI1NjAxIEJlbGxldmlsbGUgQ3Jvc3NpbmcgU3QsIEJlbGxldmlsbGUsIElMLCA2MjIyNiJ9LCJzdG9yZU51bWJlciI6MjMzMCwibmFtZSI6IkJlbGxldmlsbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQwLjUwNjQsImxvbmdpdHVkZSI6LTg4Ljk1NTUsImRpc3BsYXlBZGRyZXNzIjoiMzAxIFZldGVyYW5zIFBrd3ksIE5vcm1hbCwgSUwsIDYxNzYxIn0sInN0b3JlTnVtYmVyIjoxMzcsIm5hbWUiOiJCbG9vbWluZ3RvbiBOb3JtYWwiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDEuNzA0OCwibG9uZ2l0dWRlIjotODguMTIxOSwiZGlzcGxheUFkZHJlc3MiOiIxMTg4IFcgQm91Z2h0b24gUmQsIEJvbGluZ2Jyb29rLCBJTCwgNjA0NDAifSwic3RvcmVOdW1iZXIiOjg2NywibmFtZSI6IkJvbGluZ2Jyb29rIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDEuMTcyNywibG9uZ2l0dWRlIjotODcuODU0MiwiZGlzcGxheUFkZHJlc3MiOiIxNjE1IE4gU3RhdGUgUm91dGUgNTAsIEJvdXJib25uYWlzLCBJTCwgNjA5MTQifSwic3RvcmVOdW1iZXIiOjg5NSwibmFtZSI6IkJyYWRsZXkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDEuODUwNiwibG9uZ2l0dWRlIjotODcuODQ5NCwiZGlzcGxheUFkZHJlc3MiOiI4MDAgQnJvYWR2aWV3IFZpbGxhZ2UgU3EsIEJyb2FkdmlldywgSUwsIDYwMTU1In0sInN0b3JlTnVtYmVyIjoyMDgxLCJuYW1lIjoiQnJvYWR2aWV3IFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkNsaW5pYyIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0MS43MDQ4LCJsb25naXR1ZGUiOi04OC4xMjE5LCJkaXNwbGF5QWRkcmVzcyI6IjExODggVyBCb3VnaHRvbiBSZCwgQm9saW5nYnJvb2ssIElMLCA2MDQ0MCJ9LCJzdG9yZU51bWJlciI6ODY3LCJuYW1lIjoiQm9saW5nYnJvb2siLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0MS41OTgzLCJsb25naXR1ZGUiOi04Ny41NjU3LCJkaXNwbGF5QWRkcmVzcyI6IjE3MTcgRSBXZXN0IFJkLCBDYWx1bWV0IENpdHksIElMLCA2MDQwOSJ9LCJzdG9yZU51bWJlciI6ODQ2LCJuYW1lIjoiQ2FsdW1ldCBDaXR5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0MC4xNDE3LCJsb25naXR1ZGUiOi04OC4yNTU4LCJkaXNwbGF5QWRkcmVzcyI6IjIxMDIgTiBQcm9zcGVjdCBBdmUsIENoYW1wYWlnbiwgSUwsIDYxODIyIn0sInN0b3JlTnVtYmVyIjo5NDMsIm5hbWUiOiJDaGFtcGFpZ24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQxLjkyNzUsImxvbmdpdHVkZSI6LTg3Ljc4NzYsImRpc3BsYXlBZGRyZXNzIjoiNjUyNSBXIERpdmVyc2V5IEF2ZSwgQ2hpY2FnbywgSUwsIDYwNzA3In0sInN0b3JlTnVtYmVyIjoxOTI0LCJuYW1lIjoiQ2hpY2FnbyBCcmlja3lhcmQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQxLjgzNSwibG9uZ2l0dWRlIjotODcuNjc0OCwiZGlzcGxheUFkZHJlc3MiOiIxOTQwIFcgMzNyZCBTdCwgQ2hpY2FnbywgSUwsIDYwNjA4In0sInN0b3JlTnVtYmVyIjoyMDc4LCJuYW1lIjoiQ2hpY2FnbyBNY0tpbmxleSBQYXJrIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDEuOTQ1NCwibG9uZ2l0dWRlIjotODcuNzAwNSwiZGlzcGxheUFkZHJlc3MiOiIyOTM5IFcgQWRkaXNvbiBTdCwgQ2hpY2FnbywgSUwsIDYwNjE4In0sInN0b3JlTnVtYmVyIjoxNDM3LCJuYW1lIjoiQ2hpY2FnbyBNaWQgTm9ydGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDEuOTI5MSwibG9uZ2l0dWRlIjotODcuNjg1OCwiZGlzcGxheUFkZHJlc3MiOiIyNjU2IE4gRWxzdG9uIEF2ZSwgQ2hpY2FnbywgSUwsIDYwNjQ3In0sInN0b3JlTnVtYmVyIjo5NDIsIm5hbWUiOiJDaGljYWdvIE5lYXIgTm9ydGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkNsaW5pYyIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQxLjk5MTMsImxvbmdpdHVkZSI6LTg3LjY4MjMsImRpc3BsYXlBZGRyZXNzIjoiMjExMiBXIFBldGVyc29uIEF2ZSwgQ2hpY2FnbywgSUwsIDYwNjU5In0sInN0b3JlTnVtYmVyIjoyMDc5LCJuYW1lIjoiQ2hpY2FnbyBQZXRlcnNvbiBBdmUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDEuODY4MywibG9uZ2l0dWRlIjotODcuNjMxMiwiZGlzcGxheUFkZHJlc3MiOiIxMTU0IFMgQ2xhcmsgU3QsIENoaWNhZ28sIElMLCA2MDYwNSJ9LCJzdG9yZU51bWJlciI6MTg4OSwibmFtZSI6IkNoaWNhZ28gU291dGggTG9vcCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJDbGluaWMiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0MS43Mzg4LCJsb25naXR1ZGUiOi04Ny42MDY3LCJkaXNwbGF5QWRkcmVzcyI6Ijg1NjAgUyBDb3R0YWdlIEdyb3ZlIEF2ZSwgQ2hpY2FnbywgSUwsIDYwNjE5In0sInN0b3JlTnVtYmVyIjoxNDg4LCJuYW1lIjoiQ2hpY2FnbyBTb3V0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQxLjgxMjIsImxvbmdpdHVkZSI6LTg3LjcyMjgsImRpc3BsYXlBZGRyZXNzIjoiNDQzMyBTIFB1bGFza2kgUmQsIENoaWNhZ28sIElMLCA2MDYzMiJ9LCJzdG9yZU51bWJlciI6MTg3OSwibmFtZSI6IkNoaWNhZ28gU291dGggUHVsYXNraSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQxLjg4MTcsImxvbmdpdHVkZSI6LTg3LjYyNzQsImRpc3BsYXlBZGRyZXNzIjoiMSBTIFN0YXRlIFN0LCBDaGljYWdvLCBJTCwgNjA2MDMifSwic3RvcmVOdW1iZXIiOjI3OTksIm5hbWUiOiJDaGljYWdvIFN0YXRlIFN0LiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJJbi1TdG9yZSBBcHBsZSBTdG9yZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA3OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDg6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgYmUgb3BlbiBNb24tRnJpIDc6MDAgQU0gdG8gMTE6MDAgUE0gU2F0IDg6MDAgQU0gdG8gMTE6MDAgUE0gU3VuIDg6MDAgQU0gdG8gOTowMCBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQxLjg3NzIsImxvbmdpdHVkZSI6LTg3LjY1NTUsImRpc3BsYXlBZGRyZXNzIjoiMTEwMSBXIEphY2tzb24gQmx2ZCwgQ2hpY2FnbywgSUwsIDYwNjA3In0sInN0b3JlTnVtYmVyIjoyNzgxLCJuYW1lIjoiQ2hpY2FnbyBXZXN0IExvb3AiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkNsaW5pYyIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIl0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0MS45NjI5LCJsb25naXR1ZGUiOi04Ny42NTY3LCJkaXNwbGF5QWRkcmVzcyI6IjQ0NjYgTiBCcm9hZHdheSBTdCwgQ2hpY2FnbywgSUwsIDYwNjQwIn0sInN0b3JlTnVtYmVyIjoyMzczLCJuYW1lIjoiQ2hpY2FnbyBXaWxzb24gWWFyZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDEuODM5NSwibG9uZ2l0dWRlIjotODcuNzQxOCwiZGlzcGxheUFkZHJlc3MiOiIyOTAxIFMgQ2ljZXJvIEF2ZSwgQ2ljZXJvLCBJTCwgNjA4MDQifSwic3RvcmVOdW1iZXIiOjczMiwibmFtZSI6IkNpY2VybyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQxLjY1MTQsImxvbmdpdHVkZSI6LTg3Ljc0MDksImRpc3BsYXlBZGRyZXNzIjoiNTA3MSBDYWwgU2FnIFJkLCBDcmVzdHdvb2QsIElMLCA2MDQ0NSJ9LCJzdG9yZU51bWJlciI6ODY4LCJuYW1lIjoiQ3Jlc3R3b29kIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQyLjIyODQsImxvbmdpdHVkZSI6LTg4LjMwNTUsImRpc3BsYXlBZGRyZXNzIjoiNTU4MCBOb3J0aHdlc3QgSHd5LCBDcnlzdGFsIExha2UsIElMLCA2MDAxNCJ9LCJzdG9yZU51bWJlciI6MTE2NiwibmFtZSI6IkNyeXN0YWwgTGFrZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0MS45NTQzLCJsb25naXR1ZGUiOi04OC43MjU2LCJkaXNwbGF5QWRkcmVzcyI6IjI1NTUgU3ljYW1vcmUgUmQsIERla2FsYiwgSUwsIDYwMTE1In0sInN0b3JlTnVtYmVyIjoyNTU5LCJuYW1lIjoiRGVLYWxiIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjM5Ljg4OTksImxvbmdpdHVkZSI6LTg4Ljk1ODksImRpc3BsYXlBZGRyZXNzIjoiMzU1IFcgTW91bmQgUmQsIERlY2F0dXIsIElMLCA2MjUyNiJ9LCJzdG9yZU51bWJlciI6MTk1MSwibmFtZSI6IkRlY2F0dXIiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjozOC43ODM0LCJsb25naXR1ZGUiOi04OS45NDg4LCJkaXNwbGF5QWRkcmVzcyI6IjIzNTAgVHJveSBSZCwgRWR3YXJkc3ZpbGxlLCBJTCwgNjIwMjUifSwic3RvcmVOdW1iZXIiOjczMywibmFtZSI6IkVkd2FyZHN2aWxsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQyLjAyNTgsImxvbmdpdHVkZSI6LTg4LjM0MTMsImRpc3BsYXlBZGRyZXNzIjoiMzAwIFMgUmFuZGFsbCBSZCwgRWxnaW4sIElMLCA2MDEyMyJ9LCJzdG9yZU51bWJlciI6ODM0LCJuYW1lIjoiRWxnaW4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQyLjAyMDMsImxvbmdpdHVkZSI6LTg3LjcwNjEsImRpc3BsYXlBZGRyZXNzIjoiMjIwOSBIb3dhcmQgU3QsIEV2YW5zdG9uLCBJTCwgNjAyMDIifSwic3RvcmVOdW1iZXIiOjkyNywibmFtZSI6IkV2YW5zdG9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkNsaW5pYyIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6MzguNTcyNiwibG9uZ2l0dWRlIjotODkuOTg3MiwiZGlzcGxheUFkZHJlc3MiOiI0NzAxIE4gSWxsaW5vaXMgU3QsIEZhaXJ2aWV3IEhlaWdodHMsIElMLCA2MjIwOCJ9LCJzdG9yZU51bWJlciI6MjQxNCwibmFtZSI6IkZhaXJ2aWV3IEhlaWdodHMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDAuOTc1OSwibG9uZ2l0dWRlIjotOTAuMzg1MywiZGlzcGxheUFkZHJlc3MiOiIxMDcxIFcgQ2FybCBTYW5kYnVyZyBEciwgR2FsZXNidXJnLCBJTCwgNjE0MDEifSwic3RvcmVOdW1iZXIiOjg5MSwibmFtZSI6IkdhbGVzYnVyZyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQxLjkzNzgsImxvbmdpdHVkZSI6LTg4LjA5OTgsImRpc3BsYXlBZGRyZXNzIjoiMTc1IFcgQXJteSBUcmFpbCBSZCwgR2xlbmRhbGUgSGVpZ2h0cywgSUwsIDYwMTM5In0sInN0b3JlTnVtYmVyIjo4MzYsIm5hbWUiOiJHbGVuZGFsZSBIZWlnaHRzIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQyLjEwMjksImxvbmdpdHVkZSI6LTg3LjgxMzUsImRpc3BsYXlBZGRyZXNzIjoiMjI0MSBXaWxsb3cgUmQsIEdsZW52aWV3LCBJTCwgNjAwMjUifSwic3RvcmVOdW1iZXIiOjExNjcsIm5hbWUiOiJHbGVudmlldyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0Mi4wNTMxLCJsb25naXR1ZGUiOi04Ny44Mzg5LCJkaXNwbGF5QWRkcmVzcyI6IjIzOSBHb2xmIE1pbGwgQ3RyLCBOaWxlcywgSUwsIDYwNzE0In0sInN0b3JlTnVtYmVyIjoxMTI1LCJuYW1lIjoiR29sZiBNaWxscyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0Mi4zODMzLCJsb25naXR1ZGUiOi04Ny45NjU4LCJkaXNwbGF5QWRkcmVzcyI6IjY2MDEgR3JhbmQgQXZlLCBHdXJuZWUsIElMLCA2MDAzMSJ9LCJzdG9yZU51bWJlciI6ODY1LCJuYW1lIjoiR3VybmVlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0Mi4xOTE0LCJsb25naXR1ZGUiOi04Ny44MjUzLCJkaXNwbGF5QWRkcmVzcyI6IjIwOTkgU2tva2llIFZhbGxleSBSZCwgSGlnaGxhbmQgUGFyaywgSUwsIDYwMDM1In0sInN0b3JlTnVtYmVyIjoxMTY4LCJuYW1lIjoiSGlnaGxhbmQgUGFyayIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDEuODY3NywibG9uZ2l0dWRlIjotODcuODg2NywiZGlzcGxheUFkZHJlc3MiOiIxMzAgUyBNYW5uaGVpbSBSZCwgSGlsbHNpZGUsIElMLCA2MDE2MiJ9LCJzdG9yZU51bWJlciI6MjQ5MCwibmFtZSI6IkhpbGxzaWRlIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0MS43ODA4LCJsb25naXR1ZGUiOi04Ny44NjAxLCJkaXNwbGF5QWRkcmVzcyI6IjkyNTAgSm9saWV0IFJkLCBIb2Rna2lucywgSUwsIDYwNTI1In0sInN0b3JlTnVtYmVyIjo4NDMsIm5hbWUiOiJIb2Rna2lucyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDIuMDczNiwibG9uZ2l0dWRlIjotODguMTkxOCwiZGlzcGxheUFkZHJlc3MiOiIyODAwIE4gU3V0dG9uIFJkLCBIb2ZmTWFuIEVzdGF0ZXMsIElMLCA2MDE5MiJ9LCJzdG9yZU51bWJlciI6MjEyMiwibmFtZSI6IkhvZmZtYW4gRXN0YXRlcyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQxLjU2OSwibG9uZ2l0dWRlIjotODcuNjM0NiwiZGlzcGxheUFkZHJlc3MiOiIxNzYwNSBTIEhhbHN0ZWQgU3QsIEhvbWV3b29kLCBJTCwgNjA0MzAifSwic3RvcmVOdW1iZXIiOjE0NjAsIm5hbWUiOiJIb21ld29vZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQxLjU3NjYsImxvbmdpdHVkZSI6LTg4LjE1NDEsImRpc3BsYXlBZGRyZXNzIjoiMjcwMSBQbGFpbmZpZWxkIFJkLCBKb2xpZXQsIElMLCA2MDQzNSJ9LCJzdG9yZU51bWJlciI6ODk0LCJuYW1lIjoiSm9saWV0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQyLjE4NywibG9uZ2l0dWRlIjotODguMTAyOCwiZGlzcGxheUFkZHJlc3MiOiI1NTUgUyBSYW5kIFJkLCBMYWtlIFp1cmljaCwgSUwsIDYwMDQ3In0sInN0b3JlTnVtYmVyIjoxMDM2LCJuYW1lIjoiTGFrZSBadXJpY2giLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDEuNjQzNywibG9uZ2l0dWRlIjotODguMDA0MywiZGlzcGxheUFkZHJlc3MiOiIxMzQ2MCBTIEFyY2hlciBBdmUsIExlbW9udCwgSUwsIDYwNDM5In0sInN0b3JlTnVtYmVyIjoxMjEzLCJuYW1lIjoiTGVtb250Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDEuODQ0MywibG9uZ2l0dWRlIjotODguMDAzMywiZGlzcGxheUFkZHJlc3MiOiI2MCBZb3JrdG93biBTaG9wcGluZyBDdHIsIExvbWJhcmQsIElMLCA2MDE0OCJ9LCJzdG9yZU51bWJlciI6MTAyNCwibmFtZSI6IkxvbWJhcmQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQyLjM2NywibG9uZ2l0dWRlIjotODkuMDI3NiwiZGlzcGxheUFkZHJlc3MiOiI5ODMzIE4gQWxwaW5lIFJkLCBNYWNoZXNuZXkgUGFyaywgSUwsIDYxMTE1In0sInN0b3JlTnVtYmVyIjoxNzk5LCJuYW1lIjoiTWFjaGVzbmV5IFBhcmsiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6MzcuNzQ2OSwibG9uZ2l0dWRlIjotODguOTc1OSwiZGlzcGxheUFkZHJlc3MiOiIzMDAwIFcgRGV5b3VuZyBTdCwgTWFyaW9uLCBJTCwgNjI5NTkifSwic3RvcmVOdW1iZXIiOjY3NCwibmFtZSI6Ik1hcmlvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDEuNDk5OCwibG9uZ2l0dWRlIjotODcuNzMsImRpc3BsYXlBZGRyZXNzIjoiNDY0NyBQcm9tZW5hZGUgV2F5LCBNYXR0ZXNvbiwgSUwsIDYwNDQzIn0sInN0b3JlTnVtYmVyIjoyMjYzLCJuYW1lIjoiTWF0dGVzb24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQyLjM1MywibG9uZ2l0dWRlIjotODguMjY1OCwiZGlzcGxheUFkZHJlc3MiOiIxODYwIE4gUmljaG1vbmQgUmQsIE1jaGVucnksIElMLCA2MDA1MSJ9LCJzdG9yZU51bWJlciI6ODkyLCJuYW1lIjoiTWNIZW5yeSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQxLjkwNTcsImxvbmdpdHVkZSI6LTg3Ljg0MzgsImRpc3BsYXlBZGRyZXNzIjoiODUwIFcgTm9ydGggQXZlLCBNZWxyb3NlIFBhcmssIElMLCA2MDE2MCJ9LCJzdG9yZU51bWJlciI6ODM3LCJuYW1lIjoiTWVscm9zZSBQYXJrIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQyLjI4NDEsImxvbmdpdHVkZSI6LTg4LjA0NTIsImRpc3BsYXlBZGRyZXNzIjoiMzEwMCBXIElMIFJ0ZSA2MCwgTXVuZGVsZWluLCBJTCwgNjAwNjAifSwic3RvcmVOdW1iZXIiOjE5MTIsIm5hbWUiOiJNdW5kZWxlaW4gU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiQ2xpbmljIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDEuNzcxNSwibG9uZ2l0dWRlIjotODguMjA0MSwiZGlzcGxheUFkZHJlc3MiOiIxOTUxIFcgSmVmZmVyc29uIEF2ZSwgTmFwZXJ2aWxsZSwgSUwsIDYwNTQwIn0sInN0b3JlTnVtYmVyIjo4NDAsIm5hbWUiOiJOYXBlcnZpbGxlIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQxLjUwNzQsImxvbmdpdHVkZSI6LTg3LjkyMTEsImRpc3BsYXlBZGRyZXNzIjoiMjM3MCBFIExpbmNvbG4gSHd5LCBOZXcgTGVub3gsIElMLCA2MDQ1MSJ9LCJzdG9yZU51bWJlciI6MjAyOCwibmFtZSI6Ik5ldyBMZW5veCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0Mi4wMTI4LCJsb25naXR1ZGUiOi04Ny43ODAyLCJkaXNwbGF5QWRkcmVzcyI6IjYxNTAgVyBUb3VoeSBBdmUsIE5pbGVzLCBJTCwgNjA3MTQifSwic3RvcmVOdW1iZXIiOjkyOCwibmFtZSI6Ik5pbGVzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0MS45NTUzLCJsb25naXR1ZGUiOi04Ny44MDg0LCJkaXNwbGF5QWRkcmVzcyI6IjQwNTAgTiBIYXJsZW0gQXZlLCBOb3JyaWRnZSwgSUwsIDYwNzA2In0sInN0b3JlTnVtYmVyIjoxODg4LCJuYW1lIjoiTm9ycmlkZ2UiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQxLjc5OSwibG9uZ2l0dWRlIjotODguMzY1MSwiZGlzcGxheUFkZHJlc3MiOiIxODAwIE9yY2hhcmQgR2F0ZXdheSBCbHZkLCBOb3J0aCBBdXJvcmEsIElMLCA2MDU0MiJ9LCJzdG9yZU51bWJlciI6MjE3NywibmFtZSI6Ik5vcnRoIEF1cm9yYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDEuNzIxMSwibG9uZ2l0dWRlIjotODcuNzI1LCJkaXNwbGF5QWRkcmVzcyI6IjQxMjAgVyA5NXRoIFN0LCBPYWsgTGF3biwgSUwsIDYwNDUzIn0sInN0b3JlTnVtYmVyIjoyMDg3LCJuYW1lIjoiT2FrIExhd24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQxLjYwMzUsImxvbmdpdHVkZSI6LTg3Ljg0OTMsImRpc3BsYXlBZGRyZXNzIjoiMTU4NTAgUyA5NHRoIEF2ZSwgT3JsYW5kIFBhcmssIElMLCA2MDQ2MiJ9LCJzdG9yZU51bWJlciI6ODQyLCJuYW1lIjoiT3JsYW5kIFBhcmsiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQxLjY5NjcsImxvbmdpdHVkZSI6LTg4LjMxNjcsImRpc3BsYXlBZGRyZXNzIjoiMzAyMCBSb3V0ZSAzNCwgT3N3ZWdvLCBJTCwgNjA1NDMifSwic3RvcmVOdW1iZXIiOjE0MDIsIm5hbWUiOiJPc3dlZ28iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDIuMTM3NCwibG9uZ2l0dWRlIjotODguMDI3LCJkaXNwbGF5QWRkcmVzcyI6IjY3OSBFIER1bmRlZSBSZCwgUGFsYXRpbmUsIElMLCA2MDA3NCJ9LCJzdG9yZU51bWJlciI6NzUzLCJuYW1lIjoiUGFsYXRpbmUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQwLjc0ODQsImxvbmdpdHVkZSI6LTg5LjYzNTIsImRpc3BsYXlBZGRyZXNzIjoiNTAwMSBOIEJpZyBIb2xsb3cgUmQsIFBlb3JpYSwgSUwsIDYxNjE1In0sInN0b3JlTnVtYmVyIjo4NzEsIm5hbWUiOiJQZW9yaWEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0MS4zNjI2LCJsb25naXR1ZGUiOi04OS4xMjkzLCJkaXNwbGF5QWRkcmVzcyI6IjQzNzAgVmVudHVyZSBEciwgUGVydSwgSUwsIDYxMzU0In0sInN0b3JlTnVtYmVyIjo5MjksIm5hbWUiOiJQZXJ1Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDEuNjQ5OCwibG9uZ2l0dWRlIjotODguMjA1MiwiZGlzcGxheUFkZHJlc3MiOiIxMjgwMCBTIFN0YXRlIFJvdXRlIDU5LCBQbGFpbmZpZWxkLCBJTCwgNjA1ODUifSwic3RvcmVOdW1iZXIiOjE0MDMsIm5hbWUiOiJQbGFpbmZpZWxkIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0Mi4yNjkzLCJsb25naXR1ZGUiOi04OC45ODc1LCJkaXNwbGF5QWRkcmVzcyI6IjY1NjAgRSBTdGF0ZSBTdCwgUm9ja2ZvcmQsIElMLCA2MTEwOCJ9LCJzdG9yZU51bWJlciI6ODEwLCJuYW1lIjoiUm9ja2ZvcmQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0MS42MTIyLCJsb25naXR1ZGUiOi04OC4xMjEzLCJkaXNwbGF5QWRkcmVzcyI6IjM0OSBTIFdlYmVyIFJkLCBSb21lb3ZpbGxlLCBJTCwgNjA0NDYifSwic3RvcmVOdW1iZXIiOjIyOTMsIm5hbWUiOiJSb21lb3ZpbGxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDIuMDA2NywibG9uZ2l0dWRlIjotODcuODg2MiwiZGlzcGxheUFkZHJlc3MiOiI3MDAwIE1hbm5oZWltIFJkLCBSb3NlbW9udCwgSUwsIDYwMDE4In0sInN0b3JlTnVtYmVyIjoxMzQyLCJuYW1lIjoiUm9zZW1vbnQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0MS40NjkyLCJsb25naXR1ZGUiOi05MC41MjQ3LCJkaXNwbGF5QWRkcmVzcyI6IjkwMCA0Mm5kIEF2ZW51ZSBEciwgTW9saW5lLCBJTCwgNjEyNjUifSwic3RvcmVOdW1iZXIiOjkyNiwibmFtZSI6IlNXIE1vbGluZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6MzguNTcyOSwibG9uZ2l0dWRlIjotODkuOTIzOCwiZGlzcGxheUFkZHJlc3MiOiIzNDAwIEdyZWVuIE1vdW50Y3Jvc3NpbmcgRHIsIFNoaWxvaCwgSUwsIDYyMjY5In0sInN0b3JlTnVtYmVyIjoxNTM5LCJuYW1lIjoiU2hpbG9oIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQxLjU0MjUsImxvbmdpdHVkZSI6LTg4LjIwMjcsImRpc3BsYXlBZGRyZXNzIjoiMTExMSBCcm9vayBGb3Jlc3QgQXZlLCBTaG9yZXdvb2QsIElMLCA2MDQwNCJ9LCJzdG9yZU51bWJlciI6MTg4MSwibmFtZSI6IlNob3Jld29vZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0MS45NzU2LCJsb25naXR1ZGUiOi04OC4zNDM5LCJkaXNwbGF5QWRkcmVzcyI6IjUzMCBSYW5kYWxsIFJkLCBTb3V0aCBFbGdpbiwgSUwsIDYwMTc3In0sInN0b3JlTnVtYmVyIjoxODk2LCJuYW1lIjoiU291dGggRWxnaW4gU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6MzkuNzQ5NCwibG9uZ2l0dWRlIjotODkuNzEwMSwiZGlzcGxheUFkZHJlc3MiOiIzNDQ1IEZyZWVkb20gRHIsIFNwcmluZ2ZpZWxkLCBJTCwgNjI3MDQifSwic3RvcmVOdW1iZXIiOjY3MCwibmFtZSI6IlNwcmluZ2ZpZWxkIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQxLjkxODYsImxvbmdpdHVkZSI6LTg4LjI2NDUsImRpc3BsYXlBZGRyZXNzIjoiMzg4NSBFIE1haW4gU3QsIFN0IENoYXJsZXMsIElMLCA2MDE3NCJ9LCJzdG9yZU51bWJlciI6MTMyMywibmFtZSI6IlN0IENoYXJsZXMgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDIuMDE3OSwibG9uZ2l0dWRlIjotODguMjAxNCwiZGlzcGxheUFkZHJlc3MiOiIxMDAxIFN1dHRvbiBSZCwgU3RyZWFtd29vZCwgSUwsIDYwMTA3In0sInN0b3JlTnVtYmVyIjoxOTUwLCJuYW1lIjoiU3RyZWFtd29vZCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0MS41NDY4LCJsb25naXR1ZGUiOi04Ny43OTgsImRpc3BsYXlBZGRyZXNzIjoiNzMwMCAxOTFzdCBTdCwgVGlubGV5IFBhcmssIElMLCA2MDQ4NyJ9LCJzdG9yZU51bWJlciI6MjAzNSwibmFtZSI6IlRpbmxleSBQYXJrIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkNsaW5pYyIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0Mi4yMzksImxvbmdpdHVkZSI6LTg3Ljk1NzksImRpc3BsYXlBZGRyZXNzIjoiMzEzIEUgVG93bmxpbmUgUmQsIFZlcm5vbiBIaWxscywgSUwsIDYwMDYxIn0sInN0b3JlTnVtYmVyIjo4MzMsIm5hbWUiOiJWZXJub24gSGlsbHMgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJDbGluaWMiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDEuOTA2OCwibG9uZ2l0dWRlIjotODcuOTc3NCwiZGlzcGxheUFkZHJlc3MiOiI1MCBFIE5vcnRoIEF2ZSwgVmlsbGEgUGFyaywgSUwsIDYwMTgxIn0sInN0b3JlTnVtYmVyIjo5NTcsIm5hbWUiOiJWaWxsYSBQYXJrIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQxLjgwMDgsImxvbmdpdHVkZSI6LTg4LjE3MDUsImRpc3BsYXlBZGRyZXNzIjoiMjgyMDEgRGllaGwgUmQsIFdhcnJlbnZpbGxlLCBJTCwgNjA1NTUifSwic3RvcmVOdW1iZXIiOjE5MDMsIm5hbWUiOiJXYXJyZW52aWxsZSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJDbGluaWMiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDIuNDA3OSwibG9uZ2l0dWRlIjotODcuODU2MSwiZGlzcGxheUFkZHJlc3MiOiIzMDUwIE4gTGV3aXMgQXZlLCBXYXVrZWdhbiwgSUwsIDYwMDg3In0sInN0b3JlTnVtYmVyIjoxMDcwLCJuYW1lIjoiV2F1a2VnYW4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0Mi4wOTcxLCJsb25naXR1ZGUiOi04OC4yOTQ1LCJkaXNwbGF5QWRkcmVzcyI6Ijk5OSBXIE1haW4gU3QsIFdlc3QgRHVuZGVlLCBJTCwgNjAxMTgifSwic3RvcmVOdW1iZXIiOjkwMywibmFtZSI6Ildlc3QgRHVuZGVlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0Mi4wMjM2LCJsb25naXR1ZGUiOi04OC4xNDU4LCJkaXNwbGF5QWRkcmVzcyI6IjI2MjEgVyBTY2hhdW1idXJnIFJkLCBTY2hhdW1idXJnLCBJTCwgNjAxOTQifSwic3RvcmVOdW1iZXIiOjgzNSwibmFtZSI6Ildlc3QgU2NoYXVtYnVyZyBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDEuODU4OCwibG9uZ2l0dWRlIjotODguMTQwMywiZGlzcGxheUFkZHJlc3MiOiI2MDEgUyBDb3VudHkgRmFybSBSZCwgV2hlYXRvbiwgSUwsIDYwMTg3In0sInN0b3JlTnVtYmVyIjo4MzgsIm5hbWUiOiJXaGVhdG9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQyLjE1NDQsImxvbmdpdHVkZSI6LTg3Ljk1MSwiZGlzcGxheUFkZHJlc3MiOiIxNDAwIFcgTGFrZSBDb29rIFJkLCBXaGVlbGluZywgSUwsIDYwMDkwIn0sInN0b3JlTnVtYmVyIjoxMzg1LCJuYW1lIjoiV2hlZWxpbmciLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0MS43NDkxLCJsb25naXR1ZGUiOi04Ny45NDQsImRpc3BsYXlBZGRyZXNzIjoiNzYwMSBLaW5nZXJ5IEh3eSwgV2lsbG93YnJvb2ssIElMLCA2MDUyNyJ9LCJzdG9yZU51bWJlciI6MTg4MiwibmFtZSI6IldpbGxvd2Jyb29rIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDEuOTY3LCJsb25naXR1ZGUiOi04Ny45OTI5LCJkaXNwbGF5QWRkcmVzcyI6IjQwMSBXIElydmluZyBQYXJrIFJkLCBXb29kIERhbGUsIElMLCA2MDE5MSJ9LCJzdG9yZU51bWJlciI6ODkzLCJuYW1lIjoiV29vZCBEYWxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklMIiwibGF0aXR1ZGUiOjQyLjAzODYsImxvbmdpdHVkZSI6LTg4LjA0NjIsImRpc3BsYXlBZGRyZXNzIjoiMTIzNSBFIEhpZ2dpbnMgUmQsIFNjaGF1bWJ1cmcsIElMLCA2MDE3MyJ9LCJzdG9yZU51bWJlciI6ODgwLCJuYW1lIjoiV29vZGZpZWxkIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUwiLCJsYXRpdHVkZSI6NDEuNzcxMSwibG9uZ2l0dWRlIjotODguMDM5LCJkaXNwbGF5QWRkcmVzcyI6IjIzMzMgNjNyZCBTdCwgV29vZHJpZGdlLCBJTCwgNjA1MTcifSwic3RvcmVOdW1iZXIiOjg2NiwibmFtZSI6Ildvb2RyaWRnZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTCIsImxhdGl0dWRlIjo0MS42NjEyLCJsb25naXR1ZGUiOi04OC40NjA0LCJkaXNwbGF5QWRkcmVzcyI6IjE2NTIgTiBCZWVjaGVyIFJkLCBZb3JrdmlsbGUsIElMLCA2MDU2MCJ9LCJzdG9yZU51bWJlciI6MjM3OCwibmFtZSI6Illvcmt2aWxsZSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTiIsImxhdGl0dWRlIjo0MC4wNTk5LCJsb25naXR1ZGUiOi04NS42NTUxLCJkaXNwbGF5QWRkcmVzcyI6IjU1MDEgUyBTY2F0dGVyZmllbGQgUmQsIEFuZGVyc29uLCBJTiwgNDYwMTMifSwic3RvcmVOdW1iZXIiOjEwNywibmFtZSI6IkFuZGVyc29uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJUYXJnZXQgTW9iaWxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSU4iLCJsYXRpdHVkZSI6MzkuNzYxLCJsb25naXR1ZGUiOi04Ni4zNDIzLCJkaXNwbGF5QWRkcmVzcyI6IjEwMjA5IEUgVVMgSGlnaHdheSAzNiwgQXZvbiwgSU4sIDQ2MTIzIn0sInN0b3JlTnVtYmVyIjoxNzg4LCJuYW1lIjoiQXZvbiBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTiIsImxhdGl0dWRlIjozOS4xNjIxLCJsb25naXR1ZGUiOi04Ni40OTQyLCJkaXNwbGF5QWRkcmVzcyI6IjI5NjYgRSAzcmQgU3QsIEJsb29taW5ndG9uLCBJTiwgNDc0MDEifSwic3RvcmVOdW1iZXIiOjE4NzgsIm5hbWUiOiJCbG9vbWluZ3RvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTiIsImxhdGl0dWRlIjo0MC4wMDgzLCJsb25naXR1ZGUiOi04Ni4xMjg2LCJkaXNwbGF5QWRkcmVzcyI6IjE1MTYwIE4gTWVyaWRpYW4gU3QsIENhcm1lbCwgSU4sIDQ2MDMyIn0sInN0b3JlTnVtYmVyIjoxMDYzLCJuYW1lIjoiQ2FybWVsIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklOIiwibGF0aXR1ZGUiOjM5LjkzNjQsImxvbmdpdHVkZSI6LTg2LjIzMjQsImRpc3BsYXlBZGRyZXNzIjoiMTA0MDEgTiBNaWNoaWdhbiBSZCwgQ2FybWVsLCBJTiwgNDYwMzIifSwic3RvcmVOdW1iZXIiOjEzNjYsIm5hbWUiOiJDYXJtZWwgV2VzdCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSU4iLCJsYXRpdHVkZSI6MzkuOTEwMiwibG9uZ2l0dWRlIjotODYuMDU4NiwiZGlzcGxheUFkZHJlc3MiOiI4NDQ4IENlbnRlciBSdW4gRHIsIEluZGlhbmFwb2xpcywgSU4sIDQ2MjUwIn0sInN0b3JlTnVtYmVyIjo2MzUsIm5hbWUiOiJDYXN0bGV0b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklOIiwibGF0aXR1ZGUiOjM5LjIxOTIsImxvbmdpdHVkZSI6LTg1Ljg4NSwiZGlzcGxheUFkZHJlc3MiOiIxODY1IE4gTmF0aW9uYWwgUmQsIENvbHVtYnVzLCBJTiwgNDcyMDEifSwic3RvcmVOdW1iZXIiOjE5MTEsIm5hbWUiOiJDb2x1bWJ1cyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklOIiwibGF0aXR1ZGUiOjM5LjgyMTQsImxvbmdpdHVkZSI6LTg2LjI4MDEsImRpc3BsYXlBZGRyZXNzIjoiNjkyNSBXIDM4dGggU3QsIEluZGlhbmFwb2xpcywgSU4sIDQ2MjU0In0sInN0b3JlTnVtYmVyIjo4ODEsIm5hbWUiOiJFYWdsZSBDcmVlayIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklOIiwibGF0aXR1ZGUiOjM4LjAxNTcsImxvbmdpdHVkZSI6LTg3LjU3NjQsImRpc3BsYXlBZGRyZXNzIjoiNDAwMCAxc3QgQXZlLCBFdmFuc3ZpbGxlLCBJTiwgNDc3MTAifSwic3RvcmVOdW1iZXIiOjEwOCwibmFtZSI6IkV2YW5zdmlsbGUgTm9ydGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSU4iLCJsYXRpdHVkZSI6MzcuOTc1NiwibG9uZ2l0dWRlIjotODcuNDcwOSwiZGlzcGxheUFkZHJlc3MiOiI2NjI1IEUgTGxveWQgRXhweSwgRXZhbnN2aWxsZSwgSU4sIDQ3NzE1In0sInN0b3JlTnVtYmVyIjoxNDgxLCJuYW1lIjoiRXZhbnN2aWxsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSU4iLCJsYXRpdHVkZSI6MzkuOTU5MSwibG9uZ2l0dWRlIjotODYuMDEwOCwiZGlzcGxheUFkZHJlc3MiOiIxMTc1MCBDb21tZXJjaWFsIERyLCBGaXNoZXJzLCBJTiwgNDYwMzgifSwic3RvcmVOdW1iZXIiOjEzNTAsIm5hbWUiOiJGaXNoZXJzIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTiIsImxhdGl0dWRlIjo0MS4wNzY1LCJsb25naXR1ZGUiOi04NS4yMDMxLCJkaXNwbGF5QWRkcmVzcyI6IjExMDIgUyBUaG9tYXMgUmQsIEZvcnQgV2F5bmUsIElOLCA0NjgwNCJ9LCJzdG9yZU51bWJlciI6MjQ0MCwibmFtZSI6IkZvcnQgV2F5bmUgU1ciLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSU4iLCJsYXRpdHVkZSI6NDEuMTExMSwibG9uZ2l0dWRlIjotODUuMTM2NCwiZGlzcGxheUFkZHJlc3MiOiIzODAxIENvbGR3YXRlciBSZCwgRm9ydCBXYXluZSwgSU4sIDQ2ODA1In0sInN0b3JlTnVtYmVyIjoyMjE3LCJuYW1lIjoiRnQgV2F5bmUgR2xlbmJyb29rIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklOIiwibGF0aXR1ZGUiOjQxLjEyMiwibG9uZ2l0dWRlIjotODUuMDYzOSwiZGlzcGxheUFkZHJlc3MiOiI2MTE5IFN0ZWxsaG9ybiBSZCwgRm9ydCBXYXluZSwgSU4sIDQ2ODE1In0sInN0b3JlTnVtYmVyIjoxOTMzLCJuYW1lIjoiRnQgV2F5bmUgTkUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSU4iLCJsYXRpdHVkZSI6NDEuNjIyMiwibG9uZ2l0dWRlIjotODUuOTA1MSwiZGlzcGxheUFkZHJlc3MiOiIzOTM4IE1pZHdheSBSZCwgR29zaGVuLCBJTiwgNDY1MjYifSwic3RvcmVOdW1iZXIiOjE0NDYsIm5hbWUiOiJHb3NoZW4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTiIsImxhdGl0dWRlIjozOS42MDMyLCJsb25naXR1ZGUiOi04Ni4xNTc5LCJkaXNwbGF5QWRkcmVzcyI6Ijg5NSBTIFN0YXRlIFJkIDEzNSwgR3JlZW53b29kLCBJTiwgNDYxNDMifSwic3RvcmVOdW1iZXIiOjEzNjQsIm5hbWUiOiJHcmVlbndvb2QgU291dGggU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklOIiwibGF0aXR1ZGUiOjQxLjUyNCwibG9uZ2l0dWRlIjotODcuNDY4NSwiZGlzcGxheUFkZHJlc3MiOiIxMDQ1MSBJbmRpYW5hcG9saXMgQmx2ZCwgSGlnaGxhbmQsIElOLCA0NjMyMiJ9LCJzdG9yZU51bWJlciI6NzMxLCJuYW1lIjoiSGlnaGxhbmQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklOIiwibGF0aXR1ZGUiOjM5Ljg2NjcsImxvbmdpdHVkZSI6LTg2LjExOTgsImRpc3BsYXlBZGRyZXNzIjoiNjEwMSBOIEtleXN0b25lIEF2ZSwgSW5kaWFuYXBvbGlzLCBJTiwgNDYyMjAifSwic3RvcmVOdW1iZXIiOjIzOTEsIm5hbWUiOiJJbmR5IEdsZW5kYWxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklOIiwibGF0aXR1ZGUiOjQwLjQ3NTMsImxvbmdpdHVkZSI6LTg2LjEwODksImRpc3BsYXlBZGRyZXNzIjoiMTAzNyBTIFJlZWQgUmQsIEtva29tbywgSU4sIDQ2OTAyIn0sInN0b3JlTnVtYmVyIjoxMTEsIm5hbWUiOiJLb2tvbW8iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSU4iLCJsYXRpdHVkZSI6NDAuNDE5MywibG9uZ2l0dWRlIjotODYuODQ3MywiZGlzcGxheUFkZHJlc3MiOiIzNjMwIFNvdXRoIFN0cmVldCwgTGFmYXlldHRlLCBJTiwgNDc5MDUifSwic3RvcmVOdW1iZXIiOjE3NjIsIm5hbWUiOiJMYWZheWV0dGUgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklOIiwibGF0aXR1ZGUiOjQxLjQ2OTcsImxvbmdpdHVkZSI6LTg3LjMwNDEsImRpc3BsYXlBZGRyZXNzIjoiMjY2MSBFIFVTIEhpZ2h3YXkgMzAsIE1lcnJpbGx2aWxsZSwgSU4sIDQ2NDEwIn0sInN0b3JlTnVtYmVyIjo4NzAsIm5hbWUiOiJMYWtlIENvdW50eSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSU4iLCJsYXRpdHVkZSI6NDEuNzE4MiwibG9uZ2l0dWRlIjotODYuMTc1OCwiZGlzcGxheUFkZHJlc3MiOiIxNTUgVW5pdmVyc2l0eSBEciBFLCBHcmFuZ2VyLCBJTiwgNDY1MzAifSwic3RvcmVOdW1iZXIiOjE0NDUsIm5hbWUiOiJNaXNoYXdha2EgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklOIiwibGF0aXR1ZGUiOjQwLjIyMTcsImxvbmdpdHVkZSI6LTg1LjM4MDgsImRpc3BsYXlBZGRyZXNzIjoiMzYwMSBOIEJhcnIgU3QsIE11bmNpZSwgSU4sIDQ3MzAzIn0sInN0b3JlTnVtYmVyIjoxNTMwLCJuYW1lIjoiTXVuY2llIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSU4iLCJsYXRpdHVkZSI6NDEuNTY3LCJsb25naXR1ZGUiOi04Ny41MDc2LCJkaXNwbGF5QWRkcmVzcyI6IjgwMDUgQ2FsdW1ldCBBdmUsIE11bnN0ZXIsIElOLCA0NjMyMSJ9LCJzdG9yZU51bWJlciI6MTkxMywibmFtZSI6Ik11bnN0ZXIiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklOIiwibGF0aXR1ZGUiOjM4LjMwNTMsImxvbmdpdHVkZSI6LTg1Ljg0MTYsImRpc3BsYXlBZGRyZXNzIjoiMjIwOSBTdGF0ZSBTdCwgTmV3IEFsYmFueSwgSU4sIDQ3MTUwIn0sInN0b3JlTnVtYmVyIjoxMzksIm5hbWUiOiJOZXcgQWxiYW55Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklOIiwibGF0aXR1ZGUiOjM5LjkxNDgsImxvbmdpdHVkZSI6LTg2LjEzOTQsImRpc3BsYXlBZGRyZXNzIjoiMTMwMCBFIDg2dGggU3QgU3RlIDM1LCBJbmRpYW5hcG9saXMsIElOLCA0NjI0MCJ9LCJzdG9yZU51bWJlciI6MTg0OCwibmFtZSI6Ik5vcmEgUGxhemEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSU4iLCJsYXRpdHVkZSI6MzkuNzE1NywibG9uZ2l0dWRlIjotODYuMzU1MywiZGlzcGxheUFkZHJlc3MiOiIyNjczIEUgTWFpbiBTdCwgUGxhaW5maWVsZCwgSU4sIDQ2MTY4In0sInN0b3JlTnVtYmVyIjo3NzMsIm5hbWUiOiJQbGFpbmZpZWxkIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJUYXJnZXQgTW9iaWxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklOIiwibGF0aXR1ZGUiOjQxLjYyNzgsImxvbmdpdHVkZSI6LTg2LjIyOTEsImRpc3BsYXlBZGRyZXNzIjoiMTQwMCBFIElyZWxhbmQgUmQsIFNvdXRoIEJlbmQsIElOLCA0NjYxNCJ9LCJzdG9yZU51bWJlciI6MTkwMiwibmFtZSI6IlNvdXRoIEJlbmQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTiIsImxhdGl0dWRlIjozOS42Njc1LCJsb25naXR1ZGUiOi04Ni4wODQ5LCJkaXNwbGF5QWRkcmVzcyI6IjQ4NTAgRSBTb3V0aHBvcnQgUmQsIEluZGlhbmFwb2xpcywgSU4sIDQ2MjM3In0sInN0b3JlTnVtYmVyIjoxNzg5LCJuYW1lIjoiU291dGhwb3J0IFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTiIsImxhdGl0dWRlIjo0MS40Mzk5LCJsb25naXR1ZGUiOi04Ny40NjgxLCJkaXNwbGF5QWRkcmVzcyI6Ijk4ODUgV2lja2VyIEF2ZSwgU3QgSm9obiwgSU4sIDQ2MzczIn0sInN0b3JlTnVtYmVyIjoyMDQ4LCJuYW1lIjoiU3QgSm9obiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJTiIsImxhdGl0dWRlIjo0MS40NjcsImxvbmdpdHVkZSI6LTg3LjAzMDIsImRpc3BsYXlBZGRyZXNzIjoiMjQyMCBMYXBvcnRlIEF2ZSwgVmFscGFyYWlzbywgSU4sIDQ2MzgzIn0sInN0b3JlTnVtYmVyIjoxMjg2LCJuYW1lIjoiVmFscGFyYWlzbyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSU4iLCJsYXRpdHVkZSI6MzkuNzc3MSwibG9uZ2l0dWRlIjotODUuOTg2OSwiZGlzcGxheUFkZHJlc3MiOiIxMDIwMiBFIFdhc2hpbmd0b24gU3QsIEluZGlhbmFwb2xpcywgSU4sIDQ2MjI5In0sInN0b3JlTnVtYmVyIjoxMjE0LCJuYW1lIjoiV2FzaGluZ3RvbiBTcXVhcmUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUG9ydHJhaXQgU3R1ZGlvIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklOIiwibGF0aXR1ZGUiOjM4LjMyNjgsImxvbmdpdHVkZSI6LTg1Ljc2NjUsImRpc3BsYXlBZGRyZXNzIjoiMTEyNSBWZXRlcmFucyBQa3d5LCBDbGFya3N2aWxsZSwgSU4sIDQ3MTI5In0sInN0b3JlTnVtYmVyIjoyMDY4LCJuYW1lIjoiV2F0ZXJmb3JkIFBhcmsiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUEiLCJsYXRpdHVkZSI6NDEuNjQyMSwibG9uZ2l0dWRlIjotOTMuNTA2MywiZGlzcGxheUFkZHJlc3MiOiIzNDE0IDh0aCBTdCBTVywgQWx0b29uYSwgSUEsIDUwMDA5In0sInN0b3JlTnVtYmVyIjoxOTM5LCJuYW1lIjoiQWx0b29uYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJQSIsImxhdGl0dWRlIjo0Mi4wMTk0LCJsb25naXR1ZGUiOi05My42MDc0LCJkaXNwbGF5QWRkcmVzcyI6IjMyMCBTIER1ZmYgQXZlLCBBbWVzLCBJQSwgNTAwMTAifSwic3RvcmVOdW1iZXIiOjExNzAsIm5hbWUiOiJBbWVzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUEiLCJsYXRpdHVkZSI6NDEuNzA5NCwibG9uZ2l0dWRlIjotOTMuNTc5MSwiZGlzcGxheUFkZHJlc3MiOiIyMTM1IFNFIERlbGF3YXJlIEF2ZSwgQW5rZW55LCBJQSwgNTAwMjEifSwic3RvcmVOdW1iZXIiOjE3NjcsIm5hbWUiOiJBbmtlbnkgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUEiLCJsYXRpdHVkZSI6NDAuODE5OSwibG9uZ2l0dWRlIjotOTEuMTcyMSwiZGlzcGxheUFkZHJlc3MiOiI1MjUgUyBHZWFyIEF2ZSwgV2VzdCBCdXJsaW5ndG9uLCBJQSwgNTI2NTUifSwic3RvcmVOdW1iZXIiOjg2MCwibmFtZSI6IkJ1cmxpbmd0b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklBIiwibGF0aXR1ZGUiOjQyLjQ4MjMsImxvbmdpdHVkZSI6LTkyLjQ0MzgsImRpc3BsYXlBZGRyZXNzIjoiMjE0IFZpa2luZyBQbGF6YSBEciwgQ2VkYXIgRmFsbHMsIElBLCA1MDYxMyJ9LCJzdG9yZU51bWJlciI6MjUyNiwibmFtZSI6IkNlZGFyIEZhbGxzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJQSIsImxhdGl0dWRlIjo0Mi4wMzYyLCJsb25naXR1ZGUiOi05MS42NTA1LCJkaXNwbGF5QWRkcmVzcyI6IjEwMzAgQmxhaXJzIEZlcnJ5IFJkIE5FLCBDZWRhciBSYXBpZHMsIElBLCA1MjQwMiJ9LCJzdG9yZU51bWJlciI6MTc2OCwibmFtZSI6IkNlZGFyIFJhcGlkcyBOb3J0aCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJQSIsImxhdGl0dWRlIjo0MS45NDQzLCJsb25naXR1ZGUiOi05MS43MTc2LCJkaXNwbGF5QWRkcmVzcyI6IjM0MDAgRWRnZXdvb2QgUmQgU1csIENlZGFyIFJhcGlkcywgSUEsIDUyNDA0In0sInN0b3JlTnVtYmVyIjoxNzcxLCJuYW1lIjoiQ2VkYXIgUmFwaWRzIFNvdXRoIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJQSIsImxhdGl0dWRlIjo0MS44MTYzLCJsb25naXR1ZGUiOi05MC4yNDM4LCJkaXNwbGF5QWRkcmVzcyI6IjI5MDAgUyAyNXRoIFN0LCBDbGludG9uLCBJQSwgNTI3MzIifSwic3RvcmVOdW1iZXIiOjkzMiwibmFtZSI6IkNsaW50b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlRhcmdldCBNb2JpbGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUEiLCJsYXRpdHVkZSI6NDEuMjE5NSwibG9uZ2l0dWRlIjotOTUuODM3NSwiZGlzcGxheUFkZHJlc3MiOiIzODA0IE1ldHJvIERyLCBDb3VuY2lsIEJsdWZmcywgSUEsIDUxNTAxIn0sInN0b3JlTnVtYmVyIjoyNDU0LCJuYW1lIjoiQ291bmNpbCBCbHVmZnMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklBIiwibGF0aXR1ZGUiOjQxLjU3MjMsImxvbmdpdHVkZSI6LTkwLjUyNjMsImRpc3BsYXlBZGRyZXNzIjoiNTIyNSBFbG1vcmUgQXZlLCBEYXZlbnBvcnQsIElBLCA1MjgwNyJ9LCJzdG9yZU51bWJlciI6NTMzLCJuYW1lIjoiRGF2ZW5wb3J0IFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklBIiwibGF0aXR1ZGUiOjQxLjYzMTQsImxvbmdpdHVkZSI6LTkzLjcwMDgsImRpc3BsYXlBZGRyZXNzIjoiNTkwMSBEb3VnbGFzIEF2ZSwgRGVzIE1vaW5lcywgSUEsIDUwMzIyIn0sInN0b3JlTnVtYmVyIjoyMDQxLCJuYW1lIjoiRGVzIE1vaW5lcyBOb3J0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJQSIsImxhdGl0dWRlIjo0Mi40OTA3LCJsb25naXR1ZGUiOi05MC43MjIyLCJkaXNwbGF5QWRkcmVzcyI6IjM1MDAgRG9kZ2UgU3QsIER1YnVxdWUsIElBLCA1MjAwMyJ9LCJzdG9yZU51bWJlciI6ODYsIm5hbWUiOiJEdWJ1cXVlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUEiLCJsYXRpdHVkZSI6NDIuNTA2LCJsb25naXR1ZGUiOi05NC4xNjIyLCJkaXNwbGF5QWRkcmVzcyI6IjI5MTAgMXN0IEF2ZSBTLCBGb3J0IERvZGdlLCBJQSwgNTA1MDEifSwic3RvcmVOdW1iZXIiOjg3OCwibmFtZSI6IkZvcnQgRG9kZ2UiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJQSIsImxhdGl0dWRlIjo0MS42OTIyLCJsb25naXR1ZGUiOi05MS42MDYsImRpc3BsYXlBZGRyZXNzIjoiMTQ0MSBDb3JhbCBSaWRnZSBBdmUsIENvcmFsdmlsbGUsIElBLCA1MjI0MSJ9LCJzdG9yZU51bWJlciI6MTExMywibmFtZSI6Iklvd2EgQ2l0eSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJJQSIsImxhdGl0dWRlIjo0My4xNTA0LCJsb25naXR1ZGUiOi05My4yNDkyLCJkaXNwbGF5QWRkcmVzcyI6IjM0NTAgNHRoIFN0IFNXLCBNYXNvbiBDaXR5LCBJQSwgNTA0MDEifSwic3RvcmVOdW1iZXIiOjgwNCwibmFtZSI6Ik1hc29uIENpdHkgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklBIiwibGF0aXR1ZGUiOjQxLjAxMjgsImxvbmdpdHVkZSI6LTkyLjQzNzYsImRpc3BsYXlBZGRyZXNzIjoiMTAyMCBOIFF1aW5jeSBBdmUsIE90dHVtd2EsIElBLCA1MjUwMSJ9LCJzdG9yZU51bWJlciI6ODkwLCJuYW1lIjoiT3R0dW13YSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiVGFyZ2V0IE1vYmlsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklBIiwibGF0aXR1ZGUiOjQyLjQ1MTQsImxvbmdpdHVkZSI6LTk2LjMzNDMsImRpc3BsYXlBZGRyZXNzIjoiNTc3NSBTdW5ueWJyb29rIERyLCBTaW91eCBDaXR5LCBJQSwgNTExMDYifSwic3RvcmVOdW1iZXIiOjE4MDAsIm5hbWUiOiJTaW91eCBDaXR5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklBIiwibGF0aXR1ZGUiOjQxLjUyNDksImxvbmdpdHVkZSI6LTkzLjU5OTEsImRpc3BsYXlBZGRyZXNzIjoiMTExMSBFIEFybXkgUG9zdCBSZCBTdGUgMjIwNCwgRGVzIE1vaW5lcywgSUEsIDUwMzE1In0sInN0b3JlTnVtYmVyIjo4MDMsIm5hbWUiOiJTb3V0aCBEZXMgTW9pbmVzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6W10sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUEiLCJsYXRpdHVkZSI6NDEuNjQ3NCwibG9uZ2l0dWRlIjotOTMuNzY3NiwiZGlzcGxheUFkZHJlc3MiOiIxMTE0OCBQbHVtIERyLCBVcmJhbmRhbGUsIElBLCA1MDMyMiJ9LCJzdG9yZU51bWJlciI6MTc5MSwibmFtZSI6IlVyYmFuZGFsZSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUEiLCJsYXRpdHVkZSI6NDIuNDY2NiwibG9uZ2l0dWRlIjotOTIuMzIzNiwiZGlzcGxheUFkZHJlc3MiOiIxNTAxIEUgU2FuIE1hcm5hbiBEciwgV2F0ZXJsb28sIElBLCA1MDcwMiJ9LCJzdG9yZU51bWJlciI6MTc5MiwibmFtZSI6IldhdGVybG9vIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IklBIiwibGF0aXR1ZGUiOjQxLjU5OTQsImxvbmdpdHVkZSI6LTkzLjc1MywiZGlzcGxheUFkZHJlc3MiOiIxODAwIFZhbGxleSBXZXN0IERyLCBXZXN0IERlcyBNb2luZXMsIElBLCA1MDI2NiJ9LCJzdG9yZU51bWJlciI6NjksIm5hbWUiOiJXZXN0IERlcyBNb2luZXMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiSUEiLCJsYXRpdHVkZSI6NDEuNTYxMiwibG9uZ2l0dWRlIjotOTMuNzc5NCwiZGlzcGxheUFkZHJlc3MiOiI1NDA1IE1pbGxzIENpdmljIFBrd3ksIFdlc3QgRGVzIE1vaW5lcywgSUEsIDUwMjY2In0sInN0b3JlTnVtYmVyIjoxOTAxLCJuYW1lIjoiV2VzdCBEZXMgTW9pbmVzIFNXIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJLUyIsImxhdGl0dWRlIjozNy41Njg0LCJsb25naXR1ZGUiOi05Ny4yNDIzLCJkaXNwbGF5QWRkcmVzcyI6IjIwMjQgTm9ydGggUm9jayBSZCwgRGVyYnksIEtTLCA2NzAzNyJ9LCJzdG9yZU51bWJlciI6MjQ0OCwibmFtZSI6IkRlcmJ5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJLUyIsImxhdGl0dWRlIjozNy45Nzk3LCJsb25naXR1ZGUiOi0xMDAuODQzLCJkaXNwbGF5QWRkcmVzcyI6IjI0MDEgRSBLYW5zYXMgQXZlLCBHYXJkZW4gQ2l0eSwgS1MsIDY3ODQ2In0sInN0b3JlTnVtYmVyIjo5MDYsIm5hbWUiOiJHYXJkZW4gQ2l0eSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiU3RhcmJ1Y2tzIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiS1MiLCJsYXRpdHVkZSI6MzguMDcxMiwibG9uZ2l0dWRlIjotOTcuODk5NSwiZGlzcGxheUFkZHJlc3MiOiIxNTI5IEUgMTd0aCBBdmUsIEh1dGNoaW5zb24sIEtTLCA2NzUwMSJ9LCJzdG9yZU51bWJlciI6OTQ2LCJuYW1lIjoiSHV0Y2hpbnNvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOltdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJLUyIsImxhdGl0dWRlIjozOS4xMjcsImxvbmdpdHVkZSI6LTk0LjgzMzQsImRpc3BsYXlBZGRyZXNzIjoiMTA5MDAgU3RhZGl1bSBQa3d5LCBLYW5zYXMgQ2l0eSwgS1MsIDY2MTExIn0sInN0b3JlTnVtYmVyIjoyMjIyLCJuYW1lIjoiS0MgU3BlZWR3YXkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IktTIiwibGF0aXR1ZGUiOjM4LjkyMzYsImxvbmdpdHVkZSI6LTk1LjI2MjUsImRpc3BsYXlBZGRyZXNzIjoiMzIwMSBTIElvd2EgU3QsIExhd3JlbmNlLCBLUywgNjYwNDYifSwic3RvcmVOdW1iZXIiOjUzMSwibmFtZSI6Ikxhd3JlbmNlIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJLUyIsImxhdGl0dWRlIjozOS4xNzE5LCJsb25naXR1ZGUiOi05Ni42MDU0LCJkaXNwbGF5QWRkcmVzcyI6IjgwMCBDb21tb25zIFBsLCBNYW5oYXR0YW4sIEtTLCA2NjUwMyJ9LCJzdG9yZU51bWJlciI6MTgyMSwibmFtZSI6Ik1hbmhhdHRhbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiS1MiLCJsYXRpdHVkZSI6MzkuMDE3OSwibG9uZ2l0dWRlIjotOTQuNjY1NywiZGlzcGxheUFkZHJlc3MiOiI2MTAwIEJyb2FkbW9vciBTdCwgTWlzc2lvbiwgS1MsIDY2MjAyIn0sInN0b3JlTnVtYmVyIjoxNDg3LCJuYW1lIjoiTWlzc2lvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiS1MiLCJsYXRpdHVkZSI6MzguODQ5MSwibG9uZ2l0dWRlIjotOTQuODE5OSwiZGlzcGxheUFkZHJlc3MiOiIyMDI1NSBXIDE1NHRoIFN0LCBPbGF0aGUsIEtTLCA2NjA2MiJ9LCJzdG9yZU51bWJlciI6MTU0MywibmFtZSI6Ik9sYXRoZSBTb3V0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IktTIiwibGF0aXR1ZGUiOjM4LjkxMDcsImxvbmdpdHVkZSI6LTk0Ljc2NDQsImRpc3BsYXlBZGRyZXNzIjoiMTUzNDUgVyAxMTl0aCBTdCwgT2xhdGhlLCBLUywgNjYwNjIifSwic3RvcmVOdW1iZXIiOjE3NTYsIm5hbWUiOiJPbGF0aGUgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJLUyIsImxhdGl0dWRlIjozOC44NTMxLCJsb25naXR1ZGUiOi05NC42ODE2LCJkaXNwbGF5QWRkcmVzcyI6IjgxMDEgVyAxNTFzdCwgT3ZlcmxhbmQgUGFyaywgS1MsIDY2MjIzIn0sInN0b3JlTnVtYmVyIjoxODQyLCJuYW1lIjoiT3ZlcmxhbmQgUGFyayBTb3V0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJLUyIsImxhdGl0dWRlIjozOC45MDgzLCJsb25naXR1ZGUiOi05NC42NzQ3LCJkaXNwbGF5QWRkcmVzcyI6IjEyMjAwIEJsdWUgVmFsbGV5IFBrd3ksIE92ZXJsYW5kIFBhcmssIEtTLCA2NjIxMyJ9LCJzdG9yZU51bWJlciI6MTc1NywibmFtZSI6Ik92ZXJsYW5kIFBhcmsgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IktTIiwibGF0aXR1ZGUiOjM4Ljk1MDcsImxvbmdpdHVkZSI6LTk0LjcxOTQsImRpc3BsYXlBZGRyZXNzIjoiMTE1MDEgVyA5N3RoIFN0LCBPdmVybGFuZCBQYXJrLCBLUywgNjYyMTQifSwic3RvcmVOdW1iZXIiOjIwNDMsIm5hbWUiOiJPdmVybGFuZCBQYXJrIFdlc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IktTIiwibGF0aXR1ZGUiOjM4Ljc4NDEsImxvbmdpdHVkZSI6LTk3LjYwOTIsImRpc3BsYXlBZGRyZXNzIjoiMjkzOSBNYXJrZXQgUGwsIFNhbGluYSwgS1MsIDY3NDAxIn0sInN0b3JlTnVtYmVyIjo5MDUsIm5hbWUiOiJTYWxpbmEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlRhcmdldCBNb2JpbGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJLUyIsImxhdGl0dWRlIjozOS4wMDk5LCJsb25naXR1ZGUiOi05NC43NjgxLCJkaXNwbGF5QWRkcmVzcyI6IjE1NzAwIFNoYXduZWUgTWlzc2lvbiBQa3d5LCBTaGF3bmVlLCBLUywgNjYyMTcifSwic3RvcmVOdW1iZXIiOjE3NTksIm5hbWUiOiJTaGF3bmVlIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJLUyIsImxhdGl0dWRlIjozOS4wMjgsImxvbmdpdHVkZSI6LTk1Ljc1OSwiZGlzcGxheUFkZHJlc3MiOiIyMTIwIFNXIFdhbmFtYWtlciBSZCwgVG9wZWthLCBLUywgNjY2MTQifSwic3RvcmVOdW1iZXIiOjM1NSwibmFtZSI6IlRvcGVrYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJLUyIsImxhdGl0dWRlIjozNy42ODMzLCJsb25naXR1ZGUiOi05Ny4yNTE0LCJkaXNwbGF5QWRkcmVzcyI6IjMwMSBTIFRvd25lIEVhc3QgTWFsbCBEciwgV2ljaGl0YSwgS1MsIDY3MjA3In0sInN0b3JlTnVtYmVyIjo5MiwibmFtZSI6IldpY2hpdGEgRWFzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiS1MiLCJsYXRpdHVkZSI6MzcuNjc4MywibG9uZ2l0dWRlIjotOTcuNDMyLCJkaXNwbGF5QWRkcmVzcyI6Ijc1NzUgTWFwbGUgU3QsIFdpY2hpdGEsIEtTLCA2NzIwOSJ9LCJzdG9yZU51bWJlciI6MTk0MywibmFtZSI6IldpY2hpdGEgRmFyIFdlc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IktTIiwibGF0aXR1ZGUiOjM3LjcyNDQsImxvbmdpdHVkZSI6LTk3LjIxMTMsImRpc3BsYXlBZGRyZXNzIjoiMTA4MDAgRSAyMXN0IFN0IE4sIFdpY2hpdGEsIEtTLCA2NzIwNiJ9LCJzdG9yZU51bWJlciI6MTk0NCwibmFtZSI6IldpY2hpdGEgTkUgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IktTIiwibGF0aXR1ZGUiOjM3LjczMjIsImxvbmdpdHVkZSI6LTk3LjQ2NDgsImRpc3BsYXlBZGRyZXNzIjoiMjcyNyBOIE1haXplIFJkLCBXaWNoaXRhLCBLUywgNjcyMDUifSwic3RvcmVOdW1iZXIiOjE5NDUsIm5hbWUiOiJXaWNoaXRhIE5XIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJLWSIsImxhdGl0dWRlIjozOC4xOTg2LCJsb25naXR1ZGUiOi04NS42NzA3LCJkaXNwbGF5QWRkcmVzcyI6IjM2MDAgTWFsbCBSZCwgTG91aXN2aWxsZSwgS1ksIDQwMjE4In0sInN0b3JlTnVtYmVyIjoxNDc5LCJuYW1lIjoiQmFzaGZvcmQgTWFub3IiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IktZIiwibGF0aXR1ZGUiOjM2Ljk1MDQsImxvbmdpdHVkZSI6LTg2LjQzODIsImRpc3BsYXlBZGRyZXNzIjoiMTYwIEFtZXJpY2FuIEF2ZSwgQm93bGluZyBHcmVlbiwgS1ksIDQyMTA0In0sInN0b3JlTnVtYmVyIjo5NTgsIm5hbWUiOiJCb3dsaW5nIEdyZWVuIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6W10sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IktZIiwibGF0aXR1ZGUiOjM4LjEyNDgsImxvbmdpdHVkZSI6LTg1Ljg1NSwiZGlzcGxheUFkZHJlc3MiOiI5MDcwIERpeGllIEh3eSwgTG91aXN2aWxsZSwgS1ksIDQwMjU4In0sInN0b3JlTnVtYmVyIjoxMjAsIm5hbWUiOiJEaXhpZSBIaWdod2F5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6W10sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IktZIiwibGF0aXR1ZGUiOjM3LjcyODcsImxvbmdpdHVkZSI6LTg1Ljg4MDUsImRpc3BsYXlBZGRyZXNzIjoiMTYzMSBSaW5nIFJkLCBFbGl6YWJldGh0b3duLCBLWSwgNDI3MDEifSwic3RvcmVOdW1iZXIiOjc3OSwibmFtZSI6IkVsaXphYmV0aHRvd24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJLWSIsImxhdGl0dWRlIjozOS4wMTk3LCJsb25naXR1ZGUiOi04NC42MzM5LCJkaXNwbGF5QWRkcmVzcyI6IjExMDAgSGFuc2VsIERyLCBGbG9yZW5jZSwgS1ksIDQxMDQyIn0sInN0b3JlTnVtYmVyIjoxMjAwLCJuYW1lIjoiRmxvcmVuY2UiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IktZIiwibGF0aXR1ZGUiOjM4LjIxNTYsImxvbmdpdHVkZSI6LTg1LjU5MzcsImRpc3BsYXlBZGRyZXNzIjoiNDY0MCBUYXlsb3JzdmlsbGUgUmQsIExvdWlzdmlsbGUsIEtZLCA0MDIyMCJ9LCJzdG9yZU51bWJlciI6NzgwLCJuYW1lIjoiSmVmZmVyc29udG93biIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiS1kiLCJsYXRpdHVkZSI6MzcuOTkyMywibG9uZ2l0dWRlIjotODQuNTI0NSwiZGlzcGxheUFkZHJlc3MiOiIxMzEgV2VzdCBSZXlub2xkcyBSZCwgTGV4aW5ndG9uLCBLWSwgNDA1MDMifSwic3RvcmVOdW1iZXIiOjM2NiwibmFtZSI6IkxleGluZ3RvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhvdG8gQ2VudGVyIiwiVGFyZ2V0IE1vYmlsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiS1kiLCJsYXRpdHVkZSI6MzguMDIyMywibG9uZ2l0dWRlIjotODQuNDE0OCwiZGlzcGxheUFkZHJlc3MiOiIxOTQwIFBhdmlsbG9uIFdheSwgTGV4aW5ndG9uLCBLWSwgNDA1MDkifSwic3RvcmVOdW1iZXIiOjEwOTQsIm5hbWUiOiJMZXhpbmd0b24gU0UiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlRhcmdldCBNb2JpbGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IktZIiwibGF0aXR1ZGUiOjM4LjE0MSwibG9uZ2l0dWRlIjotODUuNjcyMiwiZGlzcGxheUFkZHJlc3MiOiI3MzExIEplZmZlcnNvbiBCbHZkLCBMb3Vpc3ZpbGxlLCBLWSwgNDAyMTkifSwic3RvcmVOdW1iZXIiOjE1MTMsIm5hbWUiOiJMb3Vpc3ZpbGxlIEplZmZlcnNvbiBQYXZpbGlvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiS1kiLCJsYXRpdHVkZSI6MzguMjQ2NSwibG9uZ2l0dWRlIjotODUuNTE0NiwiZGlzcGxheUFkZHJlc3MiOiIxMjk3NSBTaGVsYnl2aWxsZSBSZCwgTG91aXN2aWxsZSwgS1ksIDQwMjQzIn0sInN0b3JlTnVtYmVyIjoyNzI4LCJuYW1lIjoiTWlkZGxldG93biIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiS1kiLCJsYXRpdHVkZSI6MzkuMDg4LCJsb25naXR1ZGUiOi04NC40Nzg2LCJkaXNwbGF5QWRkcmVzcyI6IjE2MCBQYXZpbGlvbiBQa3d5LCBOZXdwb3J0LCBLWSwgNDEwNzEifSwic3RvcmVOdW1iZXIiOjI0ODMsIm5hbWUiOiJOZXdwb3J0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJLWSIsImxhdGl0dWRlIjozNy43MjA0LCJsb25naXR1ZGUiOi04Ny4xMjE2LCJkaXNwbGF5QWRkcmVzcyI6IjUxNTEgRnJlZGVyaWNhIFN0LCBPd2Vuc2Jvcm8sIEtZLCA0MjMwMSJ9LCJzdG9yZU51bWJlciI6NzU3LCJuYW1lIjoiT3dlbnNib3JvIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IktZIiwibGF0aXR1ZGUiOjM4LjI5NzIsImxvbmdpdHVkZSI6LTg1LjU1OCwiZGlzcGxheUFkZHJlc3MiOiI0MTAxIFRvd25lIENlbnRlciBEciwgTG91aXN2aWxsZSwgS1ksIDQwMjQxIn0sInN0b3JlTnVtYmVyIjoxMDcxLCJuYW1lIjoiU3ByaW5naHVyc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IktZIiwibGF0aXR1ZGUiOjM4LjI1ODMsImxvbmdpdHVkZSI6LTg1LjY0MjYsImRpc3BsYXlBZGRyZXNzIjoiNDE3NCBXZXN0cG9ydCBSZCwgTG91aXN2aWxsZSwgS1ksIDQwMjA3In0sInN0b3JlTnVtYmVyIjoyNDczLCJuYW1lIjoiU3QgTWF0dGhld3MiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJMQSIsImxhdGl0dWRlIjozMS4yODA4LCJsb25naXR1ZGUiOi05Mi40NjEzLCJkaXNwbGF5QWRkcmVzcyI6IjIyMDYgTWVtb3JpYWwgRHIsIEFsZXhhbmRyaWEsIExBLCA3MTMwMSJ9LCJzdG9yZU51bWJlciI6MTY3LCJuYW1lIjoiQWxleGFuZHJpYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiVGFyZ2V0IE1vYmlsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJMQSIsImxhdGl0dWRlIjozMC40NDEzLCJsb25naXR1ZGUiOi05MS4wMjIyLCJkaXNwbGF5QWRkcmVzcyI6IjIwMDEgTWlsbGVydmlsbGUgUmQsIEJhdG9uIFJvdWdlLCBMQSwgNzA4MTYifSwic3RvcmVOdW1iZXIiOjIwODksIm5hbWUiOiJCYXRvbiBSb3VnZSBFYXN0IFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJMQSIsImxhdGl0dWRlIjozMC4zODUxLCJsb25naXR1ZGUiOi05MS4wNjAxLCJkaXNwbGF5QWRkcmVzcyI6IjY4ODUgU2llZ2VuIExuLCBCYXRvbiBSb3VnZSwgTEEsIDcwODA5In0sInN0b3JlTnVtYmVyIjoxMzY5LCJuYW1lIjoiQmF0b24gUm91Z2UgU2llZ2VuIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkxBIiwibGF0aXR1ZGUiOjMyLjU1OTEsImxvbmdpdHVkZSI6LTkzLjcwODUsImRpc3BsYXlBZGRyZXNzIjoiMjczNSBCZWVuZSBCbHZkLCBCb3NzaWVyIENpdHksIExBLCA3MTExMSJ9LCJzdG9yZU51bWJlciI6MjI3MywibmFtZSI6IkJvc3NpZXIgQ2l0eSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJMQSIsImxhdGl0dWRlIjozMC40NDMzLCJsb25naXR1ZGUiOi05MC4xNDAyLCJkaXNwbGF5QWRkcmVzcyI6IjY5MzIwIEhpZ2h3YXkgMjEsIENvdmluZ3RvbiwgTEEsIDcwNDMzIn0sInN0b3JlTnVtYmVyIjoxODc2LCJuYW1lIjoiQ292aW5ndG9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkxBIiwibGF0aXR1ZGUiOjMwLjQ4MTksImxvbmdpdHVkZSI6LTkwLjQ1OTQsImRpc3BsYXlBZGRyZXNzIjoiMjAzMCBIYW1tb25kIFNxdWFyZSBEciwgSGFtbW9uZCwgTEEsIDcwNDAzIn0sInN0b3JlTnVtYmVyIjoyNTMxLCJuYW1lIjoiSGFtbW9uZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkxBIiwibGF0aXR1ZGUiOjI5Ljg4OTcsImxvbmdpdHVkZSI6LTkwLjA1MzgsImRpc3BsYXlBZGRyZXNzIjoiMTczMSBNYW5oYXR0YW4gQmx2ZCwgSGFydmV5LCBMQSwgNzAwNTgifSwic3RvcmVOdW1iZXIiOjE0NTEsIm5hbWUiOiJIYXJ2ZXkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTEEiLCJsYXRpdHVkZSI6MjkuNjEzLCJsb25naXR1ZGUiOi05MC43NTcxLCJkaXNwbGF5QWRkcmVzcyI6IjE3MjcgTWFydGluIEx1dGhlciBLaW5nIEpyIEJsdmQsIEhvdW1hLCBMQSwgNzAzNjAifSwic3RvcmVOdW1iZXIiOjE0NTAsIm5hbWUiOiJIb3VtYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkxBIiwibGF0aXR1ZGUiOjMwLjAxNjcsImxvbmdpdHVkZSI6LTkwLjI0OTIsImRpc3BsYXlBZGRyZXNzIjoiMTQwMSBXIEVTUExBTkFERSBBVkUsIEtlbm5lciwgTEEsIDcwMDY1In0sInN0b3JlTnVtYmVyIjoyNTM0LCJuYW1lIjoiS2VubmVyIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkxBIiwibGF0aXR1ZGUiOjMwLjI2NDksImxvbmdpdHVkZSI6LTkxLjk5NTgsImRpc3BsYXlBZGRyZXNzIjoiMzIyNSBMb3Vpc2lhbmEgQXZlLCBMYWZheWV0dGUsIExBLCA3MDUwMSJ9LCJzdG9yZU51bWJlciI6MjM3NywibmFtZSI6IkxhZmF5ZXR0ZSBOIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTEEiLCJsYXRpdHVkZSI6MzAuMTU5NiwibG9uZ2l0dWRlIjotOTIuMDQ5NCwiZGlzcGxheUFkZHJlc3MiOiI0MzEzIEFtYmFzc2Fkb3IgQ2FmZmVyeSBQa3d5LCBMYWZheWV0dGUsIExBLCA3MDUwOCJ9LCJzdG9yZU51bWJlciI6MTQ3MywibmFtZSI6IkxhZmF5ZXR0ZSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJMQSIsImxhdGl0dWRlIjozMC4xOTk2LCJsb25naXR1ZGUiOi05My4yNDY3LCJkaXNwbGF5QWRkcmVzcyI6IjE3MjAgVyBQcmllbiBMYWtlIFJkLCBMYWtlIENoYXJsZXMsIExBLCA3MDYwMSJ9LCJzdG9yZU51bWJlciI6MTM5OSwibmFtZSI6Ikxha2UgQ2hhcmxlcyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IkxBIiwibGF0aXR1ZGUiOjMwLjAwMywibG9uZ2l0dWRlIjotOTAuMTgyOCwiZGlzcGxheUFkZHJlc3MiOiI0NTAwIFZldGVyYW5zIE1lbW9yaWFsIEJsdmQsIE1ldGFpcmllLCBMQSwgNzAwMDYifSwic3RvcmVOdW1iZXIiOjE0NDksIm5hbWUiOiJNZXRhaXJpZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJMQSIsImxhdGl0dWRlIjozMi40OTk4LCJsb25naXR1ZGUiOi05Mi4wNzAzLCJkaXNwbGF5QWRkcmVzcyI6IjQxMDMgUGVjYW5sYW5kIE1hbGwgRHIsIE1vbnJvZSwgTEEsIDcxMjAzIn0sInN0b3JlTnVtYmVyIjoxNDY5LCJuYW1lIjoiTW9ucm9lIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTEEiLCJsYXRpdHVkZSI6MzIuNDQxMywibG9uZ2l0dWRlIjotOTMuNzE5NCwiZGlzcGxheUFkZHJlc3MiOiI3MTEwIFlvdXJlZSBEciwgU2hyZXZlcG9ydCwgTEEsIDcxMTA1In0sInN0b3JlTnVtYmVyIjoxMzQ3LCJuYW1lIjoiU2hyZXZlcG9ydCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJMQSIsImxhdGl0dWRlIjozMC4zMTcsImxvbmdpdHVkZSI6LTg5LjgyODksImRpc3BsYXlBZGRyZXNzIjoiNjExMjEgQWlycG9ydCBSZCwgU2xpZGVsbCwgTEEsIDcwNDYwIn0sInN0b3JlTnVtYmVyIjoxNDk4LCJuYW1lIjoiU2xpZGVsbCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1FIiwibGF0aXR1ZGUiOjQ0LjMxMjQsImxvbmdpdHVkZSI6LTY5LjgwNSwiZGlzcGxheUFkZHJlc3MiOiIxMTkgQ3Jvc3NpbmcgV2F5LCBBdWd1c3RhLCBNRSwgMDQzMzAifSwic3RvcmVOdW1iZXIiOjIzMTUsIm5hbWUiOiJBdWd1c3RhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1FIiwibGF0aXR1ZGUiOjQ0Ljg0MjMsImxvbmdpdHVkZSI6LTY4Ljc0MTgsImRpc3BsYXlBZGRyZXNzIjoiNjAgTG9uZ3ZpZXcgRHIsIEJhbmdvciwgTUUsIDA0NDAxIn0sInN0b3JlTnVtYmVyIjoxODU1LCJuYW1lIjoiQmFuZ29yIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1FIiwibGF0aXR1ZGUiOjQzLjQ3MzcsImxvbmdpdHVkZSI6LTcwLjUxMTIsImRpc3BsYXlBZGRyZXNzIjoiNDMwIE1hcmluZXIgV2F5LCBCaWRkZWZvcmQsIE1FLCAwNDAwNSJ9LCJzdG9yZU51bWJlciI6MjE2NiwibmFtZSI6IkJpZGRlZm9yZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUUiLCJsYXRpdHVkZSI6NDMuNjMzOSwibG9uZ2l0dWRlIjotNzAuMzQ3MSwiZGlzcGxheUFkZHJlc3MiOiIyMDAgUnVubmluZyBIaWxsIFJkLCBTb3V0aCBQb3J0bGFuZCwgTUUsIDA0MTA2In0sInN0b3JlTnVtYmVyIjoxMzM4LCJuYW1lIjoiU291dGggUG9ydGxhbmQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUUiLCJsYXRpdHVkZSI6NDMuOTM0OSwibG9uZ2l0dWRlIjotNjkuOTgyNCwiZGlzcGxheUFkZHJlc3MiOiIxMjUgVG9wc2hhbSBGYWlyIE1hbGwgUmQsIFRvcHNoYW0sIE1FLCAwNDA4NiJ9LCJzdG9yZU51bWJlciI6MjEzMCwibmFtZSI6IlRvcHNoYW0iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNRCIsImxhdGl0dWRlIjozOS41MjEzLCJsb25naXR1ZGUiOi03Ni4xNzgsImRpc3BsYXlBZGRyZXNzIjoiMTAyNSBNaWRkbGV0b24gUmQsIEFiZXJkZWVuLCBNRCwgMjEwMDEifSwic3RvcmVOdW1iZXIiOjEwNDMsIm5hbWUiOiJBYmVyZGVlbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJDbGluaWMiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUQiLCJsYXRpdHVkZSI6MzkuNDYwMywibG9uZ2l0dWRlIjotNzYuMzE2NywiZGlzcGxheUFkZHJlc3MiOiI0MDMgQ29uc3RhbnQgRnJpZW5kc2hpcCBCbHZkLCBBYmluZ2RvbiwgTUQsIDIxMDA5In0sInN0b3JlTnVtYmVyIjoxODcxLCJuYW1lIjoiQWJpbmdkb24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUQiLCJsYXRpdHVkZSI6MzguOTgwOCwibG9uZ2l0dWRlIjotNzYuNTQxNCwiZGlzcGxheUFkZHJlc3MiOiIxOTExIFRvd25lIENlbnRyZSBCbHZkLCBBbm5hcG9saXMsIE1ELCAyMTQwMSJ9LCJzdG9yZU51bWJlciI6MjI3MSwibmFtZSI6IkFubmFwb2xpcyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1EIiwibGF0aXR1ZGUiOjM5LjMxNzQsImxvbmdpdHVkZSI6LTc2LjY1NSwiZGlzcGxheUFkZHJlc3MiOiIzMjAxIFRpb2dhIFBrd3ksIEJhbHRpbW9yZSwgTUQsIDIxMjE1In0sInN0b3JlTnVtYmVyIjoyMzkzLCJuYW1lIjoiQmFsdGltb3JlIFdlc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1EIiwibGF0aXR1ZGUiOjM5LjUyNTIsImxvbmdpdHVkZSI6LTc2LjM1MDEsImRpc3BsYXlBZGRyZXNzIjoiNTgwIE1hcmtldHBsYWNlIERyLCBCZWwgQWlyLCBNRCwgMjEwMTQifSwic3RvcmVOdW1iZXIiOjEwMDIsIm5hbWUiOiJCZWwgQWlyIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkNsaW5pYyIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUQiLCJsYXRpdHVkZSI6MzguOTUyNiwibG9uZ2l0dWRlIjotNzYuNzIyMSwiZGlzcGxheUFkZHJlc3MiOiI0NjAwIE1pdGNoZWxsdmlsbGUgUmQsIEJvd2llLCBNRCwgMjA3MTYifSwic3RvcmVOdW1iZXIiOjEwMDQsIm5hbWUiOiJCb3dpZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1EIiwibGF0aXR1ZGUiOjM4LjY3MjksImxvbmdpdHVkZSI6LTc2Ljg3MzcsImRpc3BsYXlBZGRyZXNzIjoiMTU5MjIgQ3JhaW4gSHd5IFNFLCBCcmFuZHl3aW5lLCBNRCwgMjA2MTMifSwic3RvcmVOdW1iZXIiOjIzOTQsIm5hbWUiOiJCcmFuZHl3aW5lIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUQiLCJsYXRpdHVkZSI6MzkuMTk3MSwibG9uZ2l0dWRlIjotNzYuODEzOSwiZGlzcGxheUFkZHJlc3MiOiI2MTExIERvYmJpbiBSZCwgQ29sdW1iaWEsIE1ELCAyMTA0NSJ9LCJzdG9yZU51bWJlciI6MTA0NCwibmFtZSI6IkNvbHVtYmlhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUQiLCJsYXRpdHVkZSI6MzkuMDM0NSwibG9uZ2l0dWRlIjotNzYuNjg0LCJkaXNwbGF5QWRkcmVzcyI6IjIzODQgQlJBTkRFUk1JTEwgQkxWRCwgR2FtYnJpbGxzLCBNRCwgMjEwNTQifSwic3RvcmVOdW1iZXIiOjI2MzEsIm5hbWUiOiJDcm9mdG9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1EIiwibGF0aXR1ZGUiOjM4Ljc4MTMsImxvbmdpdHVkZSI6LTc2LjA4NzYsImRpc3BsYXlBZGRyZXNzIjoiMjg1MzkgTWFybGJvcm8gQXZlLCBFYXN0b24sIE1ELCAyMTYwMSJ9LCJzdG9yZU51bWJlciI6MjMxMCwibmFtZSI6IkVhc3RvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUQiLCJsYXRpdHVkZSI6MzkuMjUxMSwibG9uZ2l0dWRlIjotNzYuODE5NywiZGlzcGxheUFkZHJlc3MiOiI0MzkwIE1vbnRnb21lcnkgUmQsIEVsbGljb3R0IENpdHksIE1ELCAyMTA0MyJ9LCJzdG9yZU51bWJlciI6MTA0MiwibmFtZSI6IkVsbGljb3R0IENpdHkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiQ2xpbmljIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJJbi1TdG9yZSBBcHBsZSBTdG9yZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1EIiwibGF0aXR1ZGUiOjM4Ljg0ODMsImxvbmdpdHVkZSI6LTc2Ljg4NjIsImRpc3BsYXlBZGRyZXNzIjoiMzEwMSBEb25uZWxsIERyLCBEaXN0cmljdCBIZWlnaHRzLCBNRCwgMjA3NDcifSwic3RvcmVOdW1iZXIiOjE4OTcsIm5hbWUiOiJGb3Jlc3R2aWxsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUQiLCJsYXRpdHVkZSI6MzkuMzgyMSwibG9uZ2l0dWRlIjotNzcuMzk4MiwiZGlzcGxheUFkZHJlc3MiOiI1NDM3IFVyYmFuYSBQaWtlLCBGcmVkZXJpY2ssIE1ELCAyMTcwNCJ9LCJzdG9yZU51bWJlciI6MTEzNywibmFtZSI6IkZyZWRlcmljayIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUQiLCJsYXRpdHVkZSI6MzkuMTE5NCwibG9uZ2l0dWRlIjotNzcuMjAyMSwiZGlzcGxheUFkZHJlc3MiOiIyNSBHcmFuZCBDb3JuZXIgQXZlLCBHYWl0aGVyc2J1cmcsIE1ELCAyMDg3OCJ9LCJzdG9yZU51bWJlciI6MTE5MywibmFtZSI6IkdhaXRoZXJzYnVyZyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1EIiwibGF0aXR1ZGUiOjM5LjE5OTIsImxvbmdpdHVkZSI6LTc3LjI0ODksImRpc3BsYXlBZGRyZXNzIjoiMjA5MDggRnJlZGVyaWNrIFJkLCBHZXJtYW50b3duLCBNRCwgMjA4NzYifSwic3RvcmVOdW1iZXIiOjEwNDYsIm5hbWUiOiJHZXJtYW50b3duIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUQiLCJsYXRpdHVkZSI6MzkuMTkwNywibG9uZ2l0dWRlIjotNzYuNjExLCJkaXNwbGF5QWRkcmVzcyI6IjY3MTcgUml0Y2hpZSBId3ksIEdsZW4gQnVybmllLCBNRCwgMjEwNjEifSwic3RvcmVOdW1iZXIiOjE5MzgsIm5hbWUiOiJHbGVuIEJ1cm5pZSBOb3J0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUQiLCJsYXRpdHVkZSI6MzkuMTMzMiwibG9uZ2l0dWRlIjotNzYuNjM0MywiZGlzcGxheUFkZHJlc3MiOiI3OTUxIE5vbHBhcmsgQ3QsIEdsZW4gQnVybmllLCBNRCwgMjEwNjEifSwic3RvcmVOdW1iZXIiOjEwMDMsIm5hbWUiOiJHbGVuIEJ1cm5pZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUQiLCJsYXRpdHVkZSI6MzguOTk4MiwibG9uZ2l0dWRlIjotNzYuOTA2NiwiZGlzcGxheUFkZHJlc3MiOiI2MTAwIEdyZWVuYmVsdCBSZCwgR3JlZW5iZWx0LCBNRCwgMjA3NzAifSwic3RvcmVOdW1iZXIiOjEyOTUsIm5hbWUiOiJHcmVlbmJlbHQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1EIiwibGF0aXR1ZGUiOjM5LjYyMDMsImxvbmdpdHVkZSI6LTc3Ljc3MywiZGlzcGxheUFkZHJlc3MiOiIxNzIxMyBDb2xlIFJkLCBIYWdlcnN0b3duLCBNRCwgMjE3NDAifSwic3RvcmVOdW1iZXIiOjEyNTcsIm5hbWUiOiJIYWdlcnN0b3duIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUQiLCJsYXRpdHVkZSI6MzguNTQxOCwibG9uZ2l0dWRlIjotNzYuOTgyMywiZGlzcGxheUFkZHJlc3MiOiI2MCBTaGluaW5nIFdpbGxvdyBXYXksIExhIFBsYXRhLCBNRCwgMjA2NDYifSwic3RvcmVOdW1iZXIiOjIxMzMsIm5hbWUiOiJMYVBsYXRhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1EIiwibGF0aXR1ZGUiOjM4Ljk1NDIsImxvbmdpdHVkZSI6LTc2LjgyNDcsImRpc3BsYXlBZGRyZXNzIjoiMTA0MDEgTWFydGluIEx1dGhlciBLaW5nIEpyIEh3eSwgQm93aWUsIE1ELCAyMDcyMCJ9LCJzdG9yZU51bWJlciI6MjAwNywibmFtZSI6IkxhbmhhbSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUQiLCJsYXRpdHVkZSI6MzguODk2NiwibG9uZ2l0dWRlIjotNzYuODI2NSwiZGlzcGxheUFkZHJlc3MiOiIxMDUwMCBDYW1wdXMgV2F5IFMsIExhcmdvLCBNRCwgMjA3NzQifSwic3RvcmVOdW1iZXIiOjEwMDYsIm5hbWUiOiJMYXJnbyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1EIiwibGF0aXR1ZGUiOjM5LjA5NjksImxvbmdpdHVkZSI6LTc2LjgxLCJkaXNwbGF5QWRkcmVzcyI6IjMzNDMgQ29ycmlkb3IgTWFya2V0cGxhY2UsIExhdXJlbCwgTUQsIDIwNzI0In0sInN0b3JlTnVtYmVyIjoxMDA3LCJuYW1lIjoiTGF1cmVsIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNRCIsImxhdGl0dWRlIjozOC4yOTc3LCJsb25naXR1ZGUiOi03Ni41MTMzLCJkaXNwbGF5QWRkcmVzcyI6IjQ1MTU1IEZpcnN0IENvbG9ueSBXYXksIENhbGlmb3JuaWEsIE1ELCAyMDYxOSJ9LCJzdG9yZU51bWJlciI6MTI1OCwibmFtZSI6IkxleGluZ3RvbiBQYXJrIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUQiLCJsYXRpdHVkZSI6MzkuMzM0NCwibG9uZ2l0dWRlIjotNzYuNDQ3NSwiZGlzcGxheUFkZHJlc3MiOiIxMzMwIE1hcnRpbiBCbHZkLCBNaWRkbGUgUml2ZXIsIE1ELCAyMTIyMCJ9LCJzdG9yZU51bWJlciI6MTk3MCwibmFtZSI6Ik1pZGRsZSBSaXZlciIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUQiLCJsYXRpdHVkZSI6MzkuNDMzMSwibG9uZ2l0dWRlIjotNzYuNzk4NywiZGlzcGxheUFkZHJlc3MiOiIxMTIwMCBSZWlzdGVyc3Rvd24gUmQsIE93aW5ncyBNaWxscywgTUQsIDIxMTE3In0sInN0b3JlTnVtYmVyIjoxMDQ1LCJuYW1lIjoiT3dpbmdzIE1pbGxzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNRCIsImxhdGl0dWRlIjozOS4zODUsImxvbmdpdHVkZSI6LTc2LjczMTYsImRpc3BsYXlBZGRyZXNzIjoiMTczNyBSZWlzdGVyc3Rvd24gUmQsIFBpa2VzdmlsbGUsIE1ELCAyMTIwOCJ9LCJzdG9yZU51bWJlciI6MTU0MSwibmFtZSI6IlBpa2VzdmlsbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNRCIsImxhdGl0dWRlIjozOC45NjgzLCJsb25naXR1ZGUiOi03Ni45NTQ5LCJkaXNwbGF5QWRkcmVzcyI6IjM1MDAgRWFzdCBXZXN0IEh3eSBTdGUgMTIwMCwgSHlhdHRzdmlsbGUsIE1ELCAyMDc4MiJ9LCJzdG9yZU51bWJlciI6MTg5MCwibmFtZSI6IlByaW5jZSBHZW9yZ2VzIFBsYXphIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNRCIsImxhdGl0dWRlIjozOS4wNTU4LCJsb25naXR1ZGUiOi03Ny4xMTY3LCJkaXNwbGF5QWRkcmVzcyI6IjU3MDAgQm91IEF2ZSwgUm9ja3ZpbGxlLCBNRCwgMjA4NTIifSwic3RvcmVOdW1iZXIiOjE4NTQsIm5hbWUiOiJSb2NrdmlsbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1EIiwibGF0aXR1ZGUiOjM4LjQxNTcsImxvbmdpdHVkZSI6LTc1LjU2MDYsImRpc3BsYXlBZGRyZXNzIjoiMTI1IEUgTm9ydGggUG9pbnQgRHIsIFNhbGlzYnVyeSwgTUQsIDIxODA0In0sInN0b3JlTnVtYmVyIjoxMjMzLCJuYW1lIjoiU2FsaXNidXJ5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUQiLCJsYXRpdHVkZSI6MzkuMDUxOSwibG9uZ2l0dWRlIjotNzYuOTU2MiwiZGlzcGxheUFkZHJlc3MiOiIxMjAwMCBDaGVycnkgSGlsbCBSZCwgU2lsdmVyIFNwcmluZywgTUQsIDIwOTA0In0sInN0b3JlTnVtYmVyIjoxMTM4LCJuYW1lIjoiU2lsdmVyIFNwcmluZyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJDbGluaWMiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1EIiwibGF0aXR1ZGUiOjM5LjQ2MjIsImxvbmdpdHVkZSI6LTc2LjYzNDMsImRpc3BsYXlBZGRyZXNzIjoiOTkwMSBZb3JrIFJkLCBDb2NrZXlzdmlsbGUsIE1ELCAyMTAzMCJ9LCJzdG9yZU51bWJlciI6MTI2NSwibmFtZSI6IlRpbW9uaXVtIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJDbGluaWMiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUQiLCJsYXRpdHVkZSI6MzkuMzk0OCwibG9uZ2l0dWRlIjotNzYuNTgxNCwiZGlzcGxheUFkZHJlc3MiOiIxMjM4IFB1dHR5IEhpbGwgQXZlLCBUb3dzb24sIE1ELCAyMTI4NiJ9LCJzdG9yZU51bWJlciI6MTE0MiwibmFtZSI6IlRvd3NvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJDbGluaWMiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1EIiwibGF0aXR1ZGUiOjM4LjYyMTEsImxvbmdpdHVkZSI6LTc2LjkyMzIsImRpc3BsYXlBZGRyZXNzIjoiMzMwMCBXZXN0ZXJuIFBrd3ksIFdhbGRvcmYsIE1ELCAyMDYwMyJ9LCJzdG9yZU51bWJlciI6MTAwOCwibmFtZSI6IldhbGRvcmYiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1EIiwibGF0aXR1ZGUiOjM5LjU2NywibG9uZ2l0dWRlIjotNzYuOTczOCwiZGlzcGxheUFkZHJlc3MiOiIyMDAgTWFsY29sbSBEciwgV2VzdG1pbnN0ZXIsIE1ELCAyMTE1NyJ9LCJzdG9yZU51bWJlciI6MTAwMCwibmFtZSI6Ildlc3RtaW5zdGVyIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1EIiwibGF0aXR1ZGUiOjM5LjAzNjUsImxvbmdpdHVkZSI6LTc3LjA1NSwiZGlzcGxheUFkZHJlc3MiOiIxMTE2MCBWZWlycyBNaWxsIFJkLCBXaGVhdG9uLCBNRCwgMjA5MDIifSwic3RvcmVOdW1iZXIiOjE0MTUsIm5hbWUiOiJXaGVhdG9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNRCIsImxhdGl0dWRlIjozOS4zNzA4LCJsb25naXR1ZGUiOi03Ni40NTIxLCJkaXNwbGF5QWRkcmVzcyI6IjUyMzAgQ2FtcGJlbGwgQmx2ZCwgQmFsdGltb3JlLCBNRCwgMjEyMzYifSwic3RvcmVOdW1iZXIiOjEwMDEsIm5hbWUiOiJXaGl0ZSBNYXJzaCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJDbGluaWMiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1BIiwibGF0aXR1ZGUiOjQyLjExMDYsImxvbmdpdHVkZSI6LTcwLjkyNzksImRpc3BsYXlBZGRyZXNzIjoiMzg1IENlbnRyZSBBdmUsIEFiaW5ndG9uLCBNQSwgMDIzNTEifSwic3RvcmVOdW1iZXIiOjIxNzMsIm5hbWUiOiJBYmluZ3RvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUEiLCJsYXRpdHVkZSI6NDIuMzI5MSwibG9uZ2l0dWRlIjotNzEuMDYyNiwiZGlzcGxheUFkZHJlc3MiOiI3IEFsbHN0YXRlIFJkLCBEb3JjaGVzdGVyLCBNQSwgMDIxMjUifSwic3RvcmVOdW1iZXIiOjE4OTgsIm5hbWUiOiJCb3N0b24gU291dGggQmF5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiSW4tU3RvcmUgQXBwbGUgU3RvcmUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1BIiwibGF0aXR1ZGUiOjQyLjIyMiwibG9uZ2l0dWRlIjotNzEuMDI1NiwiZGlzcGxheUFkZHJlc3MiOiIyNTAgR3Jhbml0ZSBTdCwgQnJhaW50cmVlLCBNQSwgMDIxODQifSwic3RvcmVOdW1iZXIiOjI2OTMsIm5hbWUiOiJCcmFpbnRyZWUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1BIiwibGF0aXR1ZGUiOjQyLjU1MjQsImxvbmdpdHVkZSI6LTcwLjkzNzIsImRpc3BsYXlBZGRyZXNzIjoiMjQwIEluZGVwZW5kZW5jZSBXYXksIERhbnZlcnMsIE1BLCAwMTkyMyJ9LCJzdG9yZU51bWJlciI6MTE4NywibmFtZSI6IkRhbnZlcnMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1BIiwibGF0aXR1ZGUiOjQyLjAyODIsImxvbmdpdHVkZSI6LTcxLjE0MiwiZGlzcGxheUFkZHJlc3MiOiI0MSBSb2JlcnQgRHIsIFNvdXRoIEVhc3RvbiwgTUEsIDAyMzc1In0sInN0b3JlTnVtYmVyIjoyMjY3LCJuYW1lIjoiRWFzdG9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNQSIsImxhdGl0dWRlIjo0Mi4zOTkyLCJsb25naXR1ZGUiOi03MS4wNzIsImRpc3BsYXlBZGRyZXNzIjoiMSBNeXN0aWMgVmlldyBSZCwgRXZlcmV0dCwgTUEsIDAyMTQ5In0sInN0b3JlTnVtYmVyIjoxMjI5LCJuYW1lIjoiRXZlcmV0dCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1BIiwibGF0aXR1ZGUiOjQyLjMwNDIsImxvbmdpdHVkZSI6LTcxLjQwMiwiZGlzcGxheUFkZHJlc3MiOiI0MDAgQ29jaGl0dWF0ZSBSZCwgRnJhbWluZ2hhbSwgTUEsIDAxNzAxIn0sInN0b3JlTnVtYmVyIjoxMzA4LCJuYW1lIjoiRnJhbWluZ2hhbSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNQSIsImxhdGl0dWRlIjo0Mi4zNTczLCJsb25naXR1ZGUiOi03Mi41NDc2LCJkaXNwbGF5QWRkcmVzcyI6IjM2NyBSdXNzZWxsIFN0LCBIYWRsZXksIE1BLCAwMTAzNSJ9LCJzdG9yZU51bWJlciI6MTgzOSwibmFtZSI6IkhhZGxleSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUEiLCJsYXRpdHVkZSI6NDIuMTM3LCJsb25naXR1ZGUiOi03MC44MzksImRpc3BsYXlBZGRyZXNzIjoiMTE2NyBXYXNoaW5ndG9uIFN0LCBIYW5vdmVyLCBNQSwgMDIzMzkifSwic3RvcmVOdW1iZXIiOjI1MzIsIm5hbWUiOiJIYW5vdmVyIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNQSIsImxhdGl0dWRlIjo0Mi43ODc2LCJsb25naXR1ZGUiOi03MS4xMTQ4LCJkaXNwbGF5QWRkcmVzcyI6IjM1IENvbXB1dGVyIERyLCBIYXZlcmhpbGwsIE1BLCAwMTgzMiJ9LCJzdG9yZU51bWJlciI6MjMyNSwibmFtZSI6IkhhdmVyaGlsbCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUEiLCJsYXRpdHVkZSI6NDIuMTY3NywibG9uZ2l0dWRlIjotNzIuNjQyMywiZGlzcGxheUFkZHJlc3MiOiI1MCBIb2x5b2tlIFN0LCBIb2x5b2tlLCBNQSwgMDEwNDAifSwic3RvcmVOdW1iZXIiOjEyMzIsIm5hbWUiOiJIb2x5b2tlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNQSIsImxhdGl0dWRlIjo0MS45NzEsImxvbmdpdHVkZSI6LTcwLjcxNzMsImRpc3BsYXlBZGRyZXNzIjoiMTAxIEluZGVwZW5kZW5jZSBNYWxsIFdheSwgS2luZ3N0b24sIE1BLCAwMjM2NCJ9LCJzdG9yZU51bWJlciI6MTQ5NSwibmFtZSI6IktpbmdzdG9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1BIiwibGF0aXR1ZGUiOjQyLjQ5MjMsImxvbmdpdHVkZSI6LTczLjIwNiwiZGlzcGxheUFkZHJlc3MiOiI2NTUgQ2hlc2hpcmUgUmQsIExhbmVzYm9ybywgTUEsIDAxMjM3In0sInN0b3JlTnVtYmVyIjoyMTI3LCJuYW1lIjoiTGFuZXNib3JvdWdoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1BIiwibGF0aXR1ZGUiOjQyLjUyNzEsImxvbmdpdHVkZSI6LTcxLjcxNDMsImRpc3BsYXlBZGRyZXNzIjoiODYgT3JjaGFyZCBIaWxsIFBhcmsgRHIsIExlb21pbnN0ZXIsIE1BLCAwMTQ1MyJ9LCJzdG9yZU51bWJlciI6MTk2NSwibmFtZSI6Ikxlb21pbnN0ZXIiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1BIiwibGF0aXR1ZGUiOjQyLjYyMzksImxvbmdpdHVkZSI6LTcxLjMxNzksImRpc3BsYXlBZGRyZXNzIjoiMTgxIFBsYWluIFN0LCBMb3dlbGwsIE1BLCAwMTg1MiJ9LCJzdG9yZU51bWJlciI6MjQ4MCwibmFtZSI6Ikxvd2VsbCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNQSIsImxhdGl0dWRlIjo0Mi4zNDgyLCJsb25naXR1ZGUiOi03MS41MDU0LCJkaXNwbGF5QWRkcmVzcyI6IjYwNSBCb3N0b24gUG9zdCBSZCBFLCBNYXJsYm9yb3VnaCwgTUEsIDAxNzUyIn0sInN0b3JlTnVtYmVyIjoyNTcwLCJuYW1lIjoiTWFybGJvcm91Z2ggRWFzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNQSIsImxhdGl0dWRlIjo0Mi4zNTk1LCJsb25naXR1ZGUiOi03MS42MDY2LCJkaXNwbGF5QWRkcmVzcyI6IjQyMyBEb25hbGQgTHluY2ggQmx2ZCwgTWFybGJvcm91Z2gsIE1BLCAwMTc1MiJ9LCJzdG9yZU51bWJlciI6MTUxNiwibmFtZSI6Ik1hcmxib3JvdWdoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNQSIsImxhdGl0dWRlIjo0Mi43NDAxLCJsb25naXR1ZGUiOi03MS4xNjAyLCJkaXNwbGF5QWRkcmVzcyI6IjY3IFBsZWFzYW50IFZhbGxleSBTdCwgTWV0aHVlbiwgTUEsIDAxODQ0In0sInN0b3JlTnVtYmVyIjoyMjg3LCJuYW1lIjoiTWV0aHVlbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNQSIsImxhdGl0dWRlIjo0Mi4xNiwibG9uZ2l0dWRlIjotNzEuNDk3OCwiZGlzcGxheUFkZHJlc3MiOiIyNTAgRm9ydHVuZSBCbHZkLCBNaWxmb3JkLCBNQSwgMDE3NTcifSwic3RvcmVOdW1iZXIiOjEyODEsIm5hbWUiOiJNaWxmb3JkIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUEiLCJsYXRpdHVkZSI6NDIuMjAwMiwibG9uZ2l0dWRlIjotNzEuNzc3OSwiZGlzcGxheUFkZHJlc3MiOiI3MCBXb3JjZXN0ZXIgUHJvdmlkZW5jZSBUcGtlICMxMDAsIE1pbGxidXJ5LCBNQSwgMDE1MjcifSwic3RvcmVOdW1iZXIiOjE4MzUsIm5hbWUiOiJNaWxsYnVyeSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUEiLCJsYXRpdHVkZSI6NDEuOTQwNSwibG9uZ2l0dWRlIjotNzEuMzUyNywiZGlzcGxheUFkZHJlc3MiOiIxMjA1IFMgV2FzaGluZ3RvbiBTdCwgTm9ydGggQXR0bGVib3JvLCBNQSwgMDI3NjAifSwic3RvcmVOdW1iZXIiOjExOTAsIm5hbWUiOiJOb3J0aCBBdHRsZWJvcm91Z2giLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1BIiwibGF0aXR1ZGUiOjQxLjYzOCwibG9uZ2l0dWRlIjotNzEuMDAzMywiZGlzcGxheUFkZHJlc3MiOiI0NzkgU3RhdGUgUmQsIE5vcnRoIERhcnRtb3V0aCwgTUEsIDAyNzQ3In0sInN0b3JlTnVtYmVyIjoyMTY3LCJuYW1lIjoiTm9ydGggRGFydG1vdXRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNQSIsImxhdGl0dWRlIjo0Mi4wMzM4LCJsb25naXR1ZGUiOi03MS4zMTA4LCJkaXNwbGF5QWRkcmVzcyI6IjkxIFRhdW50b24gU3QsIFBsYWludmlsbGUsIE1BLCAwMjc2MiJ9LCJzdG9yZU51bWJlciI6MTkzMCwibmFtZSI6IlBsYWludmlsbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1BIiwibGF0aXR1ZGUiOjQyLjM5OTEsImxvbmdpdHVkZSI6LTcwLjk5OTUsImRpc3BsYXlBZGRyZXNzIjoiMzYgRnVybG9uZyBEciwgUmV2ZXJlLCBNQSwgMDIxNTEifSwic3RvcmVOdW1iZXIiOjE5NDIsIm5hbWUiOiJSZXZlcmUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNQSIsImxhdGl0dWRlIjo0Mi41MDM4LCJsb25naXR1ZGUiOi03MC45MiwiZGlzcGxheUFkZHJlc3MiOiIyMjcgSGlnaGxhbmQgQXZlLCBTYWxlbSwgTUEsIDAxOTcwIn0sInN0b3JlTnVtYmVyIjoxODAzLCJuYW1lIjoiU2FsZW0iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUEiLCJsYXRpdHVkZSI6NDIuNDgxMSwibG9uZ2l0dWRlIjotNzEuMDI0NiwiZGlzcGxheUFkZHJlc3MiOiI0MDAgTHlubiBGZWxscyBQa3d5LCBTYXVndXMsIE1BLCAwMTkwNiJ9LCJzdG9yZU51bWJlciI6MTI5MCwibmFtZSI6IlNhdWd1cyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNQSIsImxhdGl0dWRlIjo0MS43OTU3LCJsb25naXR1ZGUiOi03MS4zMjA4LCJkaXNwbGF5QWRkcmVzcyI6Ijc5IENvbW1lcmNlIFdheSwgU2Vla29uaywgTUEsIDAyNzcxIn0sInN0b3JlTnVtYmVyIjoxMzc0LCJuYW1lIjoiU2Vla29uayIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1BIiwibGF0aXR1ZGUiOjQyLjM3NjksImxvbmdpdHVkZSI6LTcxLjA4OTksImRpc3BsYXlBZGRyZXNzIjoiMTgwIFNvbWVydmlsbGUgQXZlLCBTb21lcnZpbGxlLCBNQSwgMDIxNDMifSwic3RvcmVOdW1iZXIiOjE0NDEsIm5hbWUiOiJTb21lcnZpbGxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNQSIsImxhdGl0dWRlIjo0Mi4xNTE5LCJsb25naXR1ZGUiOi03MS4wNzIzLCJkaXNwbGF5QWRkcmVzcyI6IjEgSGF3ZXMgV2F5LCBTdG91Z2h0b24sIE1BLCAwMjA3MiJ9LCJzdG9yZU51bWJlciI6MjI1OCwibmFtZSI6IlN0b3VnaHRvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUEiLCJsYXRpdHVkZSI6NDEuNzQ5MywibG9uZ2l0dWRlIjotNzEuMjA2OSwiZGlzcGxheUFkZHJlc3MiOiI1NzkgR0FSIEhXWSwgU3dhbnNlYSwgTUEsIDAyNzc3In0sInN0b3JlTnVtYmVyIjoyNjA3LCJuYW1lIjoiU3dhbnNlYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUEiLCJsYXRpdHVkZSI6NDEuODc4MSwibG9uZ2l0dWRlIjotNzEuMDY5MywiZGlzcGxheUFkZHJlc3MiOiI4MSBUYXVudG9uIERlcG90IERyLCBUYXVudG9uLCBNQSwgMDI3ODAifSwic3RvcmVOdW1iZXIiOjExODksIm5hbWUiOiJUYXVudG9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNQSIsImxhdGl0dWRlIjo0MS43NzMsImxvbmdpdHVkZSI6LTcwLjc0NjMsImRpc3BsYXlBZGRyZXNzIjoiMjQyMSBDcmFuYmVycnkgSHd5IFN0ZSAxMTAsIFdhcmVoYW0sIE1BLCAwMjU3MSJ9LCJzdG9yZU51bWJlciI6MjI5MiwibmFtZSI6IldhcmVoYW0iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1BIiwibGF0aXR1ZGUiOjQyLjM2MzksImxvbmdpdHVkZSI6LTcxLjE1OCwiZGlzcGxheUFkZHJlc3MiOiI1NTAgQXJzZW5hbCBTdCwgV2F0ZXJ0b3duLCBNQSwgMDI0NzIifSwic3RvcmVOdW1iZXIiOjE0NDIsIm5hbWUiOiJXYXRlcnRvd24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1BIiwibGF0aXR1ZGUiOjQyLjI4MDcsImxvbmdpdHVkZSI6LTcxLjY1NTUsImRpc3BsYXlBZGRyZXNzIjoiMzMwIFR1cm5waWtlIFJkLCBXZXN0Ym9yb3VnaCwgTUEsIDAxNTgxIn0sInN0b3JlTnVtYmVyIjoxNDk2LCJuYW1lIjoiV2VzdGJvcm91Z2giLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1BIiwibGF0aXR1ZGUiOjQyLjUxODcsImxvbmdpdHVkZSI6LTcxLjEzNDcsImRpc3BsYXlBZGRyZXNzIjoiMTAxIENvbW1lcmNlIFdheSwgV29idXJuLCBNQSwgMDE4MDEifSwic3RvcmVOdW1iZXIiOjEyNjYsIm5hbWUiOiJXb2J1cm4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNQSIsImxhdGl0dWRlIjo0Mi4yOTI4LCJsb25naXR1ZGUiOi03MS43NzQ5LCJkaXNwbGF5QWRkcmVzcyI6IjUyOSBMaW5jb2xuIFN0LCBXb3JjZXN0ZXIsIE1BLCAwMTYwNSJ9LCJzdG9yZU51bWJlciI6MTM0OCwibmFtZSI6IldvcmNlc3RlciIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1JIiwibGF0aXR1ZGUiOjQyLjI4NDIsImxvbmdpdHVkZSI6LTgzLjIwMjMsImRpc3BsYXlBZGRyZXNzIjoiMzEwMCBGYWlybGFuZSBEciwgQWxsZW4gUGFyaywgTUksIDQ4MTAxIn0sInN0b3JlTnVtYmVyIjoyMDMzLCJuYW1lIjoiQWxsZW4gUGFyayIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1JIiwibGF0aXR1ZGUiOjQyLjI0MzksImxvbmdpdHVkZSI6LTgzLjc2OTcsImRpc3BsYXlBZGRyZXNzIjoiMjAwMCBXYXRlcnMgUmQsIEFubiBBcmJvciwgTUksIDQ4MTAzIn0sInN0b3JlTnVtYmVyIjo2MzQsIm5hbWUiOiJBbm4gQXJib3IiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNSSIsImxhdGl0dWRlIjo0Mi4yMzU4LCJsb25naXR1ZGUiOi04My42Nzc4LCJkaXNwbGF5QWRkcmVzcyI6IjM3NDkgQ2FycGVudGVyIFJkLCBZcHNpbGFudGksIE1JLCA0ODE5NyJ9LCJzdG9yZU51bWJlciI6MTI4NSwibmFtZSI6IkFubiBBcmJvciBFYXN0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUkiLCJsYXRpdHVkZSI6NDIuNzA2LCJsb25naXR1ZGUiOi04My4yOTA5LCJkaXNwbGF5QWRkcmVzcyI6IjY1MCBCcm93biBSZCwgQXVidXJuIEhpbGxzLCBNSSwgNDgzMjYifSwic3RvcmVOdW1iZXIiOjEyNTEsIm5hbWUiOiJBdWJ1cm4gSGlsbHMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUkiLCJsYXRpdHVkZSI6NDIuMjYyMiwibG9uZ2l0dWRlIjotODUuMTg4MywiZGlzcGxheUFkZHJlc3MiOiI1NzAwIEJlY2tsZXkgUmQsIEJhdHRsZSBDcmVlaywgTUksIDQ5MDE1In0sInN0b3JlTnVtYmVyIjo2MTAsIm5hbWUiOiJCYXR0bGUgQ3JlZWsiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUkiLCJsYXRpdHVkZSI6NDMuNjI3NSwibG9uZ2l0dWRlIjotODMuODk2MywiZGlzcGxheUFkZHJlc3MiOiI0MTM1IFdpbGRlciBSZCwgQmF5IENpdHksIE1JLCA0ODcwNiJ9LCJzdG9yZU51bWJlciI6NjMxLCJuYW1lIjoiQmF5IENpdHkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1JIiwibGF0aXR1ZGUiOjQyLjA4MTIsImxvbmdpdHVkZSI6LTg2LjQzNDgsImRpc3BsYXlBZGRyZXNzIjoiOTYwIEZhaXJwbGFpbiBEciwgQmVudG9uIEhhcmJvciwgTUksIDQ5MDIyIn0sInN0b3JlTnVtYmVyIjoxMTI3LCJuYW1lIjoiQmVudG9uIEhhcmJvciIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiV2luZSBBdmFpbGFibGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNSSIsImxhdGl0dWRlIjo0Mi42MDM1LCJsb25naXR1ZGUiOi04My4yOTQyLCJkaXNwbGF5QWRkcmVzcyI6IjI0MDAgUyBUZWxlZ3JhcGggUmQsIEJsb29tZmllbGQgSGlsbHMsIE1JLCA0ODMwMiJ9LCJzdG9yZU51bWJlciI6MjE3OCwibmFtZSI6IkJsb29tZmllbGQgVG93bnNoaXAiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNSSIsImxhdGl0dWRlIjo0Mi41NDUzLCJsb25naXR1ZGUiOi04My43OTE5LCJkaXNwbGF5QWRkcmVzcyI6IjgwNDMgQ2hhbGxpcyBSZCwgQnJpZ2h0b24sIE1JLCA0ODExNiJ9LCJzdG9yZU51bWJlciI6OTIyLCJuYW1lIjoiQnJpZ2h0b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNSSIsImxhdGl0dWRlIjo0Mi4zMjMyLCJsb25naXR1ZGUiOi04My40NzE4LCJkaXNwbGF5QWRkcmVzcyI6IjQzNjcwIEZvcmQgUmQsIENhbnRvbiwgTUksIDQ4MTg3In0sInN0b3JlTnVtYmVyIjozNTQsIm5hbWUiOiJDYW50b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUkiLCJsYXRpdHVkZSI6NDIuMjY5MSwibG9uZ2l0dWRlIjotODMuNTAyNywiZGlzcGxheUFkZHJlc3MiOiI0NzMzMCBNaWNoaWdhbiBBdmUsIENhbnRvbiwgTUksIDQ4MTg4In0sInN0b3JlTnVtYmVyIjoyNDE1LCJuYW1lIjoiQ2FudG9uIFNvdXRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUkiLCJsYXRpdHVkZSI6NDIuNjc3LCJsb25naXR1ZGUiOi04Mi44MjkzLCJkaXNwbGF5QWRkcmVzcyI6IjUxNDAwIEdyYXRpb3QgQXZlLCBDaGVzdGVyZmllbGQsIE1JLCA0ODA1MSJ9LCJzdG9yZU51bWJlciI6OTQ1LCJuYW1lIjoiQ2hlc3RlcmZpZWxkIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUkiLCJsYXRpdHVkZSI6NDIuNTQ1OCwibG9uZ2l0dWRlIjotODIuOTAzMSwiZGlzcGxheUFkZHJlc3MiOiIzMzg2MCBTIEdyYXRpb3QgQXZlLCBDbGludG9uIFRvd25zaGlwLCBNSSwgNDgwMzUifSwic3RvcmVOdW1iZXIiOjgxOSwibmFtZSI6IkNsaW50b24gUG9pbnRlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUkiLCJsYXRpdHVkZSI6NDIuNTM0LCJsb25naXR1ZGUiOi04My40NDE1LCJkaXNwbGF5QWRkcmVzcyI6IjQ5NSBIYWdnZXJ0eSBId3ksIFdhbGxlZCBMYWtlLCBNSSwgNDgzOTAifSwic3RvcmVOdW1iZXIiOjg5NiwibmFtZSI6IkNvbW1lcmNlIFRvd25zaGlwIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1JIiwibGF0aXR1ZGUiOjQyLjMyNzksImxvbmdpdHVkZSI6LTgzLjE5NzEsImRpc3BsYXlBZGRyZXNzIjoiMTU5MDEgRm9yZCBSZCwgRGVhcmJvcm4sIE1JLCA0ODEyNiJ9LCJzdG9yZU51bWJlciI6Mjc5LCJuYW1lIjoiRGVhcmJvcm4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUkiLCJsYXRpdHVkZSI6NDIuMzI4NCwibG9uZ2l0dWRlIjotODMuMzAwNiwiZGlzcGxheUFkZHJlc3MiOiIyNjY1MCBGb3JkIFJkLCBEZWFyYm9ybiBIZWlnaHRzLCBNSSwgNDgxMjcifSwic3RvcmVOdW1iZXIiOjM1MywibmFtZSI6IkRlYXJib3JuIEhlaWdodHMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNSSIsImxhdGl0dWRlIjo0My4wMTIxLCJsb25naXR1ZGUiOi04My42MzgxLCJkaXNwbGF5QWRkcmVzcyI6IjM3MDEgTGFwZWVyIFJkLCBGbGludCwgTUksIDQ4NTAzIn0sInN0b3JlTnVtYmVyIjo2MjksIm5hbWUiOiJFYXN0IEZsaW50Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNSSIsImxhdGl0dWRlIjo0Mi43MjMzLCJsb25naXR1ZGUiOi04NC40MjE0LCJkaXNwbGF5QWRkcmVzcyI6IjQ4OTAgTWFyc2ggUmQsIE9rZW1vcywgTUksIDQ4ODY0In0sInN0b3JlTnVtYmVyIjozNjUsIm5hbWUiOiJFYXN0IExhbnNpbmciLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUkiLCJsYXRpdHVkZSI6NDIuNDQ3LCJsb25naXR1ZGUiOi04Mi45MzY4LCJkaXNwbGF5QWRkcmVzcyI6IjE4MDAwIFZlcm5pZXIgUmQsIEhhcnBlciBXb29kcywgTUksIDQ4MjI1In0sInN0b3JlTnVtYmVyIjo3NzYsIm5hbWUiOiJFYXN0bGFuZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1JIiwibGF0aXR1ZGUiOjQyLjQ1MjIsImxvbmdpdHVkZSI6LTgzLjM0NDEsImRpc3BsYXlBZGRyZXNzIjoiMzAwMjAgR3JhbmQgUml2ZXIgQXZlLCBGYXJtaW5ndG9uIEhpbGxzLCBNSSwgNDgzMzYifSwic3RvcmVOdW1iZXIiOjYxMSwibmFtZSI6IkZhcm1pbmd0b24gSGlsbHMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUkiLCJsYXRpdHVkZSI6NDIuNzg3NiwibG9uZ2l0dWRlIjotODMuNzM3MiwiZGlzcGxheUFkZHJlc3MiOiIzMjU1IE93ZW4gUmQsIEZlbnRvbiwgTUksIDQ4NDMwIn0sInN0b3JlTnVtYmVyIjoyMTA1LCJuYW1lIjoiRmVudG9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNSSIsImxhdGl0dWRlIjo0Mi45ODM4LCJsb25naXR1ZGUiOi04My43NDk2LCJkaXNwbGF5QWRkcmVzcyI6IkczNTE1IE1pbGxlciBSZCwgRmxpbnQsIE1JLCA0ODUwNyJ9LCJzdG9yZU51bWJlciI6MzUwLCJuYW1lIjoiRmxpbnQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNSSIsImxhdGl0dWRlIjo0Mi45MDksImxvbmdpdHVkZSI6LTg1LjU0MSwiZGlzcGxheUFkZHJlc3MiOiI1MTIwIDI4dGggU3QgU0UsIEdyYW5kIFJhcGlkcywgTUksIDQ5NTEyIn0sInN0b3JlTnVtYmVyIjoyMDE0LCJuYW1lIjoiR3JhbmQgUmFwaWRzIEVhc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1JIiwibGF0aXR1ZGUiOjQzLjAyMiwibG9uZ2l0dWRlIjotODUuNjg4MSwiZGlzcGxheUFkZHJlc3MiOiIzMjQ4IEFscGluZSBBdmUgTlcsIFdhbGtlciwgTUksIDQ5NTQ0In0sInN0b3JlTnVtYmVyIjozOTcsIm5hbWUiOiJHcmFuZCBSYXBpZHMgTm9ydGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUkiLCJsYXRpdHVkZSI6NDIuODQ2NCwibG9uZ2l0dWRlIjotODUuNjE5MiwiZGlzcGxheUFkZHJlc3MiOiIxOTI1IE1hcmtldCBQbGFjZSBEciBTRSwgQ2FsZWRvbmlhLCBNSSwgNDkzMTYifSwic3RvcmVOdW1iZXIiOjIwMTUsIm5hbWUiOiJHcmFuZCBSYXBpZHMgU291dGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUkiLCJsYXRpdHVkZSI6NDIuODgxNiwibG9uZ2l0dWRlIjotODUuNzQwNCwiZGlzcGxheUFkZHJlc3MiOiIzMTMwIDQ0dGggU3QgU1csIEdyYW5kdmlsbGUsIE1JLCA0OTQxOCJ9LCJzdG9yZU51bWJlciI6MjgxOCwibmFtZSI6IkdyYW5kdmlsbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNSSIsImxhdGl0dWRlIjo0Mi42MzQ4LCJsb25naXR1ZGUiOi04My43NTcyLCJkaXNwbGF5QWRkcmVzcyI6IjEwMDI1IEUgSGlnaGxhbmQgUmQsIEhvd2VsbCwgTUksIDQ4ODQzIn0sInN0b3JlTnVtYmVyIjoxOTcxLCJuYW1lIjoiSGFydGxhbmQgVG93bnNoaXAiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1JIiwibGF0aXR1ZGUiOjQyLjgzMiwibG9uZ2l0dWRlIjotODYuMDkwOCwiZGlzcGxheUFkZHJlc3MiOiIzNDU2IFcgU2hvcmUgRHIsIEhvbGxhbmQsIE1JLCA0OTQyNCJ9LCJzdG9yZU51bWJlciI6MTQ4MiwibmFtZSI6IkhvbGxhbmQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNSSIsImxhdGl0dWRlIjo0Mi4yNjcyLCJsb25naXR1ZGUiOi04NC40MjUyLCJkaXNwbGF5QWRkcmVzcyI6IjEwNzYgSmFja3NvbiBYaW5nLCBKYWNrc29uLCBNSSwgNDkyMDIifSwic3RvcmVOdW1iZXIiOjY3MywibmFtZSI6IkphY2tzb24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1JIiwibGF0aXR1ZGUiOjQyLjIyMDgsImxvbmdpdHVkZSI6LTg1LjU4ODgsImRpc3BsYXlBZGRyZXNzIjoiNjgzOSBTIFdlc3RuZWRnZSBBdmUsIFBvcnRhZ2UsIE1JLCA0OTAwMiJ9LCJzdG9yZU51bWJlciI6NjA0LCJuYW1lIjoiS2FsYW1hem9vIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1JIiwibGF0aXR1ZGUiOjQyLjI5NzcsImxvbmdpdHVkZSI6LTg1LjY1NTQsImRpc3BsYXlBZGRyZXNzIjoiNTM1MCBXIE1haW4gU3QsIEthbGFtYXpvbywgTUksIDQ5MDA5In0sInN0b3JlTnVtYmVyIjo5MDEsIm5hbWUiOiJLYWxhbWF6b28gV2VzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNSSIsImxhdGl0dWRlIjo0Mi42Mjg1LCJsb25naXR1ZGUiOi04Mi45OTY1LCJkaXNwbGF5QWRkcmVzcyI6IjEzMjIxIEhhbGwgUmQsIFNoZWxieSBUb3duc2hpcCwgTUksIDQ4MzE1In0sInN0b3JlTnVtYmVyIjoyNzgsIm5hbWUiOiJMYWtlc2lkZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1JIiwibGF0aXR1ZGUiOjQyLjY2MzQsImxvbmdpdHVkZSI6LTg0LjU0MzksImRpc3BsYXlBZGRyZXNzIjoiNTAwIEUgRWRnZXdvb2QgQmx2ZCwgTGFuc2luZywgTUksIDQ4OTExIn0sInN0b3JlTnVtYmVyIjozNjEsIm5hbWUiOiJMYW5zaW5nIFNvdXRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1JIiwibGF0aXR1ZGUiOjQyLjM2NjksImxvbmdpdHVkZSI6LTgzLjMzNTcsImRpc3BsYXlBZGRyZXNzIjoiMjk0NTEgUGx5bW91dGggUmQsIExpdm9uaWEsIE1JLCA0ODE1MCJ9LCJzdG9yZU51bWJlciI6MjIzMCwibmFtZSI6Ikxpdm9uaWEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUkiLCJsYXRpdHVkZSI6NDIuNjMwNiwibG9uZ2l0dWRlIjotODIuOTEyOCwiZGlzcGxheUFkZHJlc3MiOiIyMDg3NyBIYWxsIFJkLCBNYWNvbWIsIE1JLCA0ODA0NCJ9LCJzdG9yZU51bWJlciI6MjExMywibmFtZSI6Ik1hY29tYiBUd3AiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNSSIsImxhdGl0dWRlIjo0Mi41MjgyLCJsb25naXR1ZGUiOi04My4xMDgyLCJkaXNwbGF5QWRkcmVzcyI6IjMyMDAxIEpvaG4gUiBSZCwgTWFkaXNvbiBIZWlnaHRzLCBNSSwgNDgwNzEifSwic3RvcmVOdW1iZXIiOjI4MiwibmFtZSI6Ik1hZGlzb24gSGVpZ2h0cyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1JIiwibGF0aXR1ZGUiOjQ2LjU1MTcsImxvbmdpdHVkZSI6LTg3LjQ1OTYsImRpc3BsYXlBZGRyZXNzIjoiMzI1MCBVUyBId3kgNDEgVywgTWFycXVldHRlLCBNSSwgNDk4NTUifSwic3RvcmVOdW1iZXIiOjEzMzQsIm5hbWUiOiJNYXJxdWV0dGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUkiLCJsYXRpdHVkZSI6NDMuNjU4MywibG9uZ2l0dWRlIjotODQuMjQxMiwiZGlzcGxheUFkZHJlc3MiOiI2ODIwIEVhc3RtYW4gQXZlLCBNaWRsYW5kLCBNSSwgNDg2NDIifSwic3RvcmVOdW1iZXIiOjY3MiwibmFtZSI6Ik1pZGxhbmQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNSSIsImxhdGl0dWRlIjo0MS45NDc0LCJsb25naXR1ZGUiOi04My4zODg4LCJkaXNwbGF5QWRkcmVzcyI6IjIxMjEgTiBNb25yb2UgU3QsIE1vbnJvZSwgTUksIDQ4MTYyIn0sInN0b3JlTnVtYmVyIjo5MDAsIm5hbWUiOiJNb25yb2UiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNSSIsImxhdGl0dWRlIjo0My41NzcsImxvbmdpdHVkZSI6LTg0Ljc2NDcsImRpc3BsYXlBZGRyZXNzIjoiNDA5NyBFIEJsdWUgR3Jhc3MgUmQsIE1vdW50IFBsZWFzYW50LCBNSSwgNDg4NTgifSwic3RvcmVOdW1iZXIiOjkyNCwibmFtZSI6Ik10IFBsZWFzYW50Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUkiLCJsYXRpdHVkZSI6NDIuNDUxMSwibG9uZ2l0dWRlIjotODMuMjA0NSwiZGlzcGxheUFkZHJlc3MiOiIyMTQwMCBOb3J0aHdlc3Rlcm4gSHd5LCBTb3V0aGZpZWxkLCBNSSwgNDgwNzUifSwic3RvcmVOdW1iZXIiOjc3NywibmFtZSI6Ik5vcnRobGFuZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1JIiwibGF0aXR1ZGUiOjQzLjE1OTYsImxvbmdpdHVkZSI6LTg2LjIwODgsImRpc3BsYXlBZGRyZXNzIjoiNTA1NyBIYXJ2ZXkgU3QsIE11c2tlZ29uLCBNSSwgNDk0NDQifSwic3RvcmVOdW1iZXIiOjIzMjcsIm5hbWUiOiJOb3J0b24gU2hvcmVzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUkiLCJsYXRpdHVkZSI6NDIuNDg3MywibG9uZ2l0dWRlIjotODMuNTMyOSwiZGlzcGxheUFkZHJlc3MiOiIyNzEwMCBXaXhvbSBSZCwgTm92aSwgTUksIDQ4Mzc0In0sInN0b3JlTnVtYmVyIjoxNDY1LCJuYW1lIjoiTm92aSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1JIiwibGF0aXR1ZGUiOjQzLjAzODksImxvbmdpdHVkZSI6LTgyLjQ1MjYsImRpc3BsYXlBZGRyZXNzIjoiNDMwMCAyNHRoIEF2ZSwgRm9ydCBHcmF0aW90LCBNSSwgNDgwNTkifSwic3RvcmVOdW1iZXIiOjYzMiwibmFtZSI6IlBvcnQgSHVyb24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1JIiwibGF0aXR1ZGUiOjQyLjYzNzUsImxvbmdpdHVkZSI6LTgzLjEyOTMsImRpc3BsYXlBZGRyZXNzIjoiMjg4NyBTIFJvY2hlc3RlciBSZCwgUm9jaGVzdGVyIEhpbGxzLCBNSSwgNDgzMDcifSwic3RvcmVOdW1iZXIiOjM1MSwibmFtZSI6IlJvY2hlc3RlciIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1JIiwibGF0aXR1ZGUiOjQzLjQ3OSwibG9uZ2l0dWRlIjotODMuOTcyMywiZGlzcGxheUFkZHJlc3MiOiIyNzcyIFRpdHRhYmF3YXNzZWUgUmQsIFNhZ2luYXcsIE1JLCA0ODYwNCJ9LCJzdG9yZU51bWJlciI6MzQ3LCJuYW1lIjoiU2FnaW5hdyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUkiLCJsYXRpdHVkZSI6NDIuNzExNiwibG9uZ2l0dWRlIjotODMuMDMyNCwiZGlzcGxheUFkZHJlc3MiOiI4MjAwIDI2IE1pbGUgUmQsIFNoZWxieSBUb3duc2hpcCwgTUksIDQ4MzE2In0sInN0b3JlTnVtYmVyIjoxNDY2LCJuYW1lIjoiU2hlbGJ5IFRvd25zaGlwIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUkiLCJsYXRpdHVkZSI6NDIuNTEzMywibG9uZ2l0dWRlIjotODMuMjI1MiwiZGlzcGxheUFkZHJlc3MiOiIzMDMzMyBTb3V0aGZpZWxkIFJkLCBTb3V0aGZpZWxkLCBNSSwgNDgwNzYifSwic3RvcmVOdW1iZXIiOjIyMDcsIm5hbWUiOiJTb3V0aGZpZWxkIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1JIiwibGF0aXR1ZGUiOjQyLjIwMzIsImxvbmdpdHVkZSI6LTgzLjI1NTcsImRpc3BsYXlBZGRyZXNzIjoiMTQwOTkgUGFyZGVlIFJkLCBUYXlsb3IsIE1JLCA0ODE4MCJ9LCJzdG9yZU51bWJlciI6MjgwLCJuYW1lIjoiU291dGhsYW5kIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUkiLCJsYXRpdHVkZSI6NDIuNTUyOCwibG9uZ2l0dWRlIjotODMuMDI3MiwiZGlzcGxheUFkZHJlc3MiOiIzNTcwMCBWYW4gRHlrZSBBdmUsIFN0ZXJsaW5nIEhlaWdodHMsIE1JLCA0ODMxMiJ9LCJzdG9yZU51bWJlciI6NjA1LCJuYW1lIjoiU3RlcmxpbmcgSGVpZ2h0cyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNSSIsImxhdGl0dWRlIjo0Mi41NjI5LCJsb25naXR1ZGUiOi04My4wODY4LCJkaXNwbGF5QWRkcmVzcyI6IjIzMTAgTWV0cm9wb2xpdGFuIFBrd3ksIFN0ZXJsaW5nIEhlaWdodHMsIE1JLCA0ODMxMCJ9LCJzdG9yZU51bWJlciI6MjI1NCwibmFtZSI6IlN0ZXJsaW5nIEhlaWdodHMgVyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1JIiwibGF0aXR1ZGUiOjQ0LjcyNTUsImxvbmdpdHVkZSI6LTg1LjYzNjksImRpc3BsYXlBZGRyZXNzIjoiMzEzMCBTIEFpcnBvcnQgUmQgVywgVHJhdmVyc2UgQ2l0eSwgTUksIDQ5Njg0In0sInN0b3JlTnVtYmVyIjo2NzEsIm5hbWUiOiJUcmF2ZXJzZSBDaXR5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1JIiwibGF0aXR1ZGUiOjQyLjU0NDksImxvbmdpdHVkZSI6LTgzLjE4OTEsImRpc3BsYXlBZGRyZXNzIjoiMTMwMSBDb29saWRnZSBId3ksIFRyb3ksIE1JLCA0ODA4NCJ9LCJzdG9yZU51bWJlciI6MTMxMywibmFtZSI6IlRyb3kiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1JIiwibGF0aXR1ZGUiOjQyLjUwNDQsImxvbmdpdHVkZSI6LTgzLjA4NDYsImRpc3BsYXlBZGRyZXNzIjoiMjg4MDAgRGVxdWluZHJlIFJkLCBXYXJyZW4sIE1JLCA0ODA5MiJ9LCJzdG9yZU51bWJlciI6MjU0NCwibmFtZSI6IldhcnJlbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNSSIsImxhdGl0dWRlIjo0Mi43NDAzLCJsb25naXR1ZGUiOi04NC42MjcyLCJkaXNwbGF5QWRkcmVzcyI6IjU2MDkgVyBTYWdpbmF3IEh3eSwgTGFuc2luZywgTUksIDQ4OTE3In0sInN0b3JlTnVtYmVyIjo2MTYsIm5hbWUiOiJXZXN0IExhbnNpbmciLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUkiLCJsYXRpdHVkZSI6NDIuNDM0NiwibG9uZ2l0dWRlIjotODMuNDMxNCwiZGlzcGxheUFkZHJlc3MiOiIyMDEwMCBIYWdnZXJ0eSBSZCwgTGl2b25pYSwgTUksIDQ4MTUyIn0sInN0b3JlTnVtYmVyIjo4NzIsIm5hbWUiOiJXZXN0IExpdm9uaWEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1JIiwibGF0aXR1ZGUiOjQyLjMzNzQsImxvbmdpdHVkZSI6LTgzLjM5MTIsImRpc3BsYXlBZGRyZXNzIjoiMzU0MDEgV2FycmVuIFJkLCBXZXN0bGFuZCwgTUksIDQ4MTg1In0sInN0b3JlTnVtYmVyIjoyODEsIm5hbWUiOiJXZXN0bGFuZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUkiLCJsYXRpdHVkZSI6NDIuMTM3OCwibG9uZ2l0dWRlIjotODMuMjI1LCJkaXNwbGF5QWRkcmVzcyI6IjIzNTU1IEFsbGVuIFJkLCBXb29kaGF2ZW4sIE1JLCA0ODE4MyJ9LCJzdG9yZU51bWJlciI6OTIzLCJuYW1lIjoiV29vZGhhdmVuIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTUkiLCJsYXRpdHVkZSI6NDIuODY1MSwibG9uZ2l0dWRlIjotODUuNjg2NCwiZGlzcGxheUFkZHJlc3MiOiI1NDU1IENseWRlIFBhcmsgQXZlIFNXLCBXeW9taW5nLCBNSSwgNDk1MDkifSwic3RvcmVOdW1iZXIiOjEwNTIsIm5hbWUiOiJXeW9taW5nIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ1Ljg0OTUsImxvbmdpdHVkZSI6LTk1LjM5MDQsImRpc3BsYXlBZGRyZXNzIjoiNDQwNCBIaWdod2F5IDI5IFMsIEFsZXhhbmRyaWEsIE1OLCA1NjMwOCJ9LCJzdG9yZU51bWJlciI6ODIxLCJuYW1lIjoiQWxleGFuZHJpYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTiIsImxhdGl0dWRlIjo0NS4yMTgsImxvbmdpdHVkZSI6LTkzLjMxNywiZGlzcGxheUFkZHJlc3MiOiIyMDAwIEJ1bmtlciBMYWtlIEJsdmQgTlcsIEFuZG92ZXIsIE1OLCA1NTMwNCJ9LCJzdG9yZU51bWJlciI6MjAyNSwibmFtZSI6IkFuZG92ZXIiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDQuNzI0NCwibG9uZ2l0dWRlIjotOTMuMTc0LCJkaXNwbGF5QWRkcmVzcyI6IjE1NTYwIFBpbG90IEtub2IgUmQsIEFwcGxlIFZhbGxleSwgTU4sIDU1MTI0In0sInN0b3JlTnVtYmVyIjoyMzkwLCJuYW1lIjoiQXBwbGUgVmFsbGV5IFNvdXRoIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkNsaW5pYyIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDQuNzI5OSwibG9uZ2l0dWRlIjotOTMuMjE0OCwiZGlzcGxheUFkZHJlc3MiOiIxNTE1MCBDZWRhciBBdmUsIEFwcGxlIFZhbGxleSwgTU4sIDU1MTI0In0sInN0b3JlTnVtYmVyIjo2NDMsIm5hbWUiOiJBcHBsZSBWYWxsZXkgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTiIsImxhdGl0dWRlIjo0My42ODM5LCJsb25naXR1ZGUiOi05Mi45OTU4LCJkaXNwbGF5QWRkcmVzcyI6IjE3MDEgMTh0aCBBdmUgTlcsIEF1c3RpbiwgTU4sIDU1OTEyIn0sInN0b3JlTnVtYmVyIjoxMTczLCJuYW1lIjoiQXVzdGluIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTiIsImxhdGl0dWRlIjo0Ny40OTM4LCJsb25naXR1ZGUiOi05NC45MTA0LCJkaXNwbGF5QWRkcmVzcyI6IjIxMDAgUGF1bCBCdW55YW4gRHIgTlcsIEJlbWlkamksIE1OLCA1NjYwMSJ9LCJzdG9yZU51bWJlciI6NjU3LCJuYW1lIjoiQmVtaWRqaSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTiIsImxhdGl0dWRlIjo0NS4xNjU5LCJsb25naXR1ZGUiOi05My4yMzI5LCJkaXNwbGF5QWRkcmVzcyI6IjE1MDAgMTA5dGggQXZlIE5FLCBCbGFpbmUsIE1OLCA1NTQ0OSJ9LCJzdG9yZU51bWJlciI6MTgzMiwibmFtZSI6IkJsYWluZSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJDbGluaWMiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ0Ljg2MDIsImxvbmdpdHVkZSI6LTkzLjMxMTYsImRpc3BsYXlBZGRyZXNzIjoiMjU1NSBXIDc5dGggU3QsIEJsb29taW5ndG9uLCBNTiwgNTU0MzEifSwic3RvcmVOdW1iZXIiOjUsIm5hbWUiOiJCbG9vbWluZ3RvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ2LjM2MzEsImxvbmdpdHVkZSI6LTk0LjI0MjMsImRpc3BsYXlBZGRyZXNzIjoiMTQ1NDYgRGVsbHdvb2QgRHIgTiwgQmF4dGVyLCBNTiwgNTY0MjUifSwic3RvcmVOdW1iZXIiOjY1OSwibmFtZSI6IkJyYWluZXJkIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ1LjA2NTYsImxvbmdpdHVkZSI6LTkzLjMwNywiZGlzcGxheUFkZHJlc3MiOiI2MTAwIFNoaW5nbGUgQ3JlZWsgUGt3eSwgQnJvb2tseW4gQ2VudGVyLCBNTiwgNTU0MzAifSwic3RvcmVOdW1iZXIiOjI0MCwibmFtZSI6IkJyb29rbHluIENlbnRlciIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDUuMDkxMywibG9uZ2l0dWRlIjotOTMuMzc4LCJkaXNwbGF5QWRkcmVzcyI6Ijc1MzUgVyBCcm9hZHdheSBBdmUsIEJyb29rbHluIFBhcmssIE1OLCA1NTQyOCJ9LCJzdG9yZU51bWJlciI6NjkzLCJuYW1lIjoiQnJvb2tseW4gUGFyayIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTiIsImxhdGl0dWRlIjo0NS4xNjQ1LCJsb25naXR1ZGUiOi05My44NTUyLCJkaXNwbGF5QWRkcmVzcyI6IjEzMDAgU3RhdGUgSGlnaHdheSA1NSBORSwgQnVmZmFsbywgTU4sIDU1MzEzIn0sInN0b3JlTnVtYmVyIjo4NjEsIm5hbWUiOiJCdWZmYWxvIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ0Ljc0ODIsImxvbmdpdHVkZSI6LTkzLjI4ODUsImRpc3BsYXlBZGRyZXNzIjoiODEwIENvdW50eSBSZCA0MiBXLCBCdXJuc3ZpbGxlLCBNTiwgNTUzMzcifSwic3RvcmVOdW1iZXIiOjIzNDAsIm5hbWUiOiJCdXJuc3ZpbGxlIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkNsaW5pYyIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiSW4tU3RvcmUgQXBwbGUgU3RvcmUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTiIsImxhdGl0dWRlIjo0NS41NzQyLCJsb25naXR1ZGUiOi05My4yMDA4LCJkaXNwbGF5QWRkcmVzcyI6IjIxNSBCYWxzYW0gU3QgTiwgQ2FtYnJpZGdlLCBNTiwgNTUwMDgifSwic3RvcmVOdW1iZXIiOjEzMDMsIm5hbWUiOiJDYW1icmlkZ2UiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTiIsImxhdGl0dWRlIjo0NS4xNzI4LCJsb25naXR1ZGUiOi05My4zODgsImRpc3BsYXlBZGRyZXNzIjoiMTE5OTAgQnVzaW5lc3MgUGFyayBCbHZkIE4sIENoYW1wbGluLCBNTiwgNTUzMTYifSwic3RvcmVOdW1iZXIiOjE4MzEsIm5hbWUiOiJDaGFtcGxpbiBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJDbGluaWMiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDQuODYxNCwibG9uZ2l0dWRlIjotOTMuNTQzNywiZGlzcGxheUFkZHJlc3MiOiI4NTEgVyA3OHRoIFN0LCBDaGFuaGFzc2VuLCBNTiwgNTUzMTcifSwic3RvcmVOdW1iZXIiOjg2MiwibmFtZSI6IkNoYW5oYXNzZW4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDQuODI3MywibG9uZ2l0dWRlIjotOTMuNjAwMSwiZGlzcGxheUFkZHJlc3MiOiIxMTEgUGlvbmVlciBUcmwsIENoYXNrYSwgTU4sIDU1MzE4In0sInN0b3JlTnVtYmVyIjoxMzUyLCJuYW1lIjoiQ2hhc2thIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkNsaW5pYyIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTiIsImxhdGl0dWRlIjo0NS4xOTUsImxvbmdpdHVkZSI6LTkzLjM1MDYsImRpc3BsYXlBZGRyZXNzIjoiMzMwMCAxMjR0aCBBdmUgTlcsIENvb24gUmFwaWRzLCBNTiwgNTU0MzMifSwic3RvcmVOdW1iZXIiOjExNDQsIm5hbWUiOiJDb29uIFJhcGlkcyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDQuODE1NiwibG9uZ2l0dWRlIjotOTIuOTMwNywiZGlzcGxheUFkZHJlc3MiOiI4NjU1IEUgUG9pbnQgRG91Z2xhcyBSZCBTLCBDb3R0YWdlIEdyb3ZlLCBNTiwgNTUwMTYifSwic3RvcmVOdW1iZXIiOjY2MiwibmFtZSI6IkNvdHRhZ2UgR3JvdmUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDUuMDUyOCwibG9uZ2l0dWRlIjotOTMuMzY1NSwiZGlzcGxheUFkZHJlc3MiOiI1NTM3IFcgQnJvYWR3YXkgQXZlLCBDcnlzdGFsLCBNTiwgNTU0MjgifSwic3RvcmVOdW1iZXIiOjMsIm5hbWUiOiJDcnlzdGFsIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTiIsImxhdGl0dWRlIjo0Ni44MDg3LCJsb25naXR1ZGUiOi05Mi4xNjgxLCJkaXNwbGF5QWRkcmVzcyI6IjE5MDIgTWlsbGVyIFRydW5rIEh3eSwgRHVsdXRoLCBNTiwgNTU4MTEifSwic3RvcmVOdW1iZXIiOjQsIm5hbWUiOiJEdWx1dGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTiIsImxhdGl0dWRlIjo0NC43OTEsImxvbmdpdHVkZSI6LTkzLjIwNTgsImRpc3BsYXlBZGRyZXNzIjoiMjAwMCBDbGlmZiBMYWtlIFJkLCBFYWdhbiwgTU4sIDU1MTIyIn0sInN0b3JlTnVtYmVyIjozNjAsIm5hbWUiOiJFYWdhbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDQuOTUwMiwibG9uZ2l0dWRlIjotOTMuMDI4MSwiZGlzcGxheUFkZHJlc3MiOiIxNzQ0IFN1YnVyYmFuIEF2ZSwgU2FpbnQgUGF1bCwgTU4sIDU1MTA2In0sInN0b3JlTnVtYmVyIjo2OCwibmFtZSI6IkVhc3QgU3QgUGF1bCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDQuODU0NSwibG9uZ2l0dWRlIjotOTMuNDI1LCJkaXNwbGF5QWRkcmVzcyI6IjgyMjUgRmx5aW5nIENsb3VkIERyLCBFZGVuIFByYWlyaWUsIE1OLCA1NTM0NCJ9LCJzdG9yZU51bWJlciI6MjIwLCJuYW1lIjoiRWRlbiBQcmFpcmllIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJDbGluaWMiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDQuODc1NSwibG9uZ2l0dWRlIjotOTMuMzIzLCJkaXNwbGF5QWRkcmVzcyI6IjcwMDAgWW9yayBBdmUgUywgRWRpbmEsIE1OLCA1NTQzNSJ9LCJzdG9yZU51bWJlciI6MjMxMywibmFtZSI6IkVkaW5hIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkNsaW5pYyIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiSW4tU3RvcmUgQXBwbGUgU3RvcmUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ2LjI5MTIsImxvbmdpdHVkZSI6LTk2LjExMzUsImRpc3BsYXlBZGRyZXNzIjoiMjMwMCBDb2xsZWdlIFdheSwgRmVyZ3VzIEZhbGxzLCBNTiwgNTY1MzcifSwic3RvcmVOdW1iZXIiOjExNzQsIm5hbWUiOiJGZXJndXMgRmFsbHMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlRhcmdldCBNb2JpbGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTiIsImxhdGl0dWRlIjo0NS4yNzQ4LCJsb25naXR1ZGUiOi05Mi45OTk2LCJkaXNwbGF5QWRkcmVzcyI6IjM1NiAxMnRoIFN0IFNXLCBGb3Jlc3QgTGFrZSwgTU4sIDU1MDI1In0sInN0b3JlTnVtYmVyIjoxMjQ0LCJuYW1lIjoiRm9yZXN0IExha2UiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTiIsImxhdGl0dWRlIjo0NS4wNjU5LCJsb25naXR1ZGUiOi05My4yNTEyLCJkaXNwbGF5QWRkcmVzcyI6Ijc1NSA1M3JkIEF2ZSBORSwgRnJpZGxleSwgTU4sIDU1NDIxIn0sInN0b3JlTnVtYmVyIjoyMjAwLCJuYW1lIjoiRnJpZGxleSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJDbGluaWMiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ3LjIwOTUsImxvbmdpdHVkZSI6LTkzLjUyNzQsImRpc3BsYXlBZGRyZXNzIjoiMjE0MCBTIFBva2VnYW1hIEF2ZSwgR3JhbmQgUmFwaWRzLCBNTiwgNTU3NDQifSwic3RvcmVOdW1iZXIiOjkwNCwibmFtZSI6IkdyYW5kIFJhcGlkcyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ0LjczNzMsImxvbmdpdHVkZSI6LTkyLjg4ODgsImRpc3BsYXlBZGRyZXNzIjoiODc1IEdlbmVyYWwgU2llYmVuIERyLCBIYXN0aW5ncywgTU4sIDU1MDMzIn0sInN0b3JlTnVtYmVyIjoxMjQ1LCJuYW1lIjoiSGFzdGluZ3MiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBob3RvIENlbnRlciJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ0Ljg2ODksImxvbmdpdHVkZSI6LTk0LjM3NzUsImRpc3BsYXlBZGRyZXNzIjoiMTM3MCBIaWdod2F5IDE1LCBIdXRjaGluc29uLCBNTiwgNTUzNTAifSwic3RvcmVOdW1iZXIiOjEyMTAsIm5hbWUiOiJIdXRjaGluc29uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDQuODM1OCwibG9uZ2l0dWRlIjotOTMuMDg3NywiZGlzcGxheUFkZHJlc3MiOiI3ODQxIEFtYW5hIFRyYWlsLCBJbnZlciBHcm92ZSBIZWlnaHRzLCBNTiwgNTUwNzcifSwic3RvcmVOdW1iZXIiOjI1MTksIm5hbWUiOiJJbnZlciBHcm92ZSBIZWlnaHRzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkNsaW5pYyIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ0LjkzNTksImxvbmdpdHVkZSI6LTkzLjM5MzksImRpc3BsYXlBZGRyZXNzIjoiODkwMCBId3kgNywgU3QgTG91aXMgUGFyaywgTU4sIDU1NDI2In0sInN0b3JlTnVtYmVyIjoyMTg5LCJuYW1lIjoiS25vbGx3b29kIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkNsaW5pYyIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiSW4tU3RvcmUgQXBwbGUgU3RvcmUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTiIsImxhdGl0dWRlIjo0NC45NDk1LCJsb25naXR1ZGUiOi05My4yMzY3LCJkaXNwbGF5QWRkcmVzcyI6IjI1MDAgRSBMYWtlIFN0LCBNaW5uZWFwb2xpcywgTU4sIDU1NDA2In0sInN0b3JlTnVtYmVyIjo1MiwibmFtZSI6Ikxha2UgU3RyZWV0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDQuNjgzMywibG9uZ2l0dWRlIjotOTMuMjkxMiwiZGlzcGxheUFkZHJlc3MiOiIxODI3NSBLZW5yaWNrIEF2ZSwgTGFrZXZpbGxlLCBNTiwgNTUwNDQifSwic3RvcmVOdW1iZXIiOjE0ODQsIm5hbWUiOiJMYWtldmlsbGUgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiQ2xpbmljIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ1LjE4NDEsImxvbmdpdHVkZSI6LTkzLjEwNSwiZGlzcGxheUFkZHJlc3MiOiI3NDkgQXBvbGxvIERyLCBMaW5vIExha2VzLCBNTiwgNTUwMTQifSwic3RvcmVOdW1iZXIiOjE0NDgsIm5hbWUiOiJMaW5vIExha2VzIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTiIsImxhdGl0dWRlIjo0NC4xNzM5LCJsb25naXR1ZGUiOi05My45NTE0LCJkaXNwbGF5QWRkcmVzcyI6IjE4NTAgQWRhbXMgU3QsIE1hbmthdG8sIE1OLCA1NjAwMSJ9LCJzdG9yZU51bWJlciI6NjYzLCJuYW1lIjoiTWFua2F0byIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTiIsImxhdGl0dWRlIjo0NS4xMzY3LCJsb25naXR1ZGUiOi05My40NzYxLCJkaXNwbGF5QWRkcmVzcyI6IjE1MzAwIEdyb3ZlIENpcmNsZSBOLCBNYXBsZSBHcm92ZSwgTU4sIDU1MzY5In0sInN0b3JlTnVtYmVyIjoyMTkzLCJuYW1lIjoiTWFwbGUgR3JvdmUgTm9ydGggU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiQ2xpbmljIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ1LjA0NDMsImxvbmdpdHVkZSI6LTkzLjUyNzYsImRpc3BsYXlBZGRyZXNzIjoiMzAwIENseWRlc2RhbGUgVHJsLCBNZWRpbmEsIE1OLCA1NTM0MCJ9LCJzdG9yZU51bWJlciI6MjIyMywibmFtZSI6Ik1lZGluYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkluLVN0b3JlIEFwcGxlIFN0b3JlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ1LjAwNSwibG9uZ2l0dWRlIjotOTMuMjI4OSwiZGlzcGxheUFkZHJlc3MiOiIxNjUwIE5ldyBCcmlnaHRvbiBCbHZkLCBNaW5uZWFwb2xpcywgTU4sIDU1NDEzIn0sInN0b3JlTnVtYmVyIjoxMDk1LCJuYW1lIjoiTWlubmVhcG9saXMgTkUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiQ2xpbmljIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ0LjkxNzEsImxvbmdpdHVkZSI6LTkzLjUwNDQsImRpc3BsYXlBZGRyZXNzIjoiNDg0OCBDb3VudHkgUm9hZCAxMDEsIE1pbm5ldG9ua2EsIE1OLCA1NTM0NSJ9LCJzdG9yZU51bWJlciI6MTM1NiwibmFtZSI6Ik1pbm5ldG9ua2EgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiQ2xpbmljIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ1LjI5MywibG9uZ2l0dWRlIjotOTMuNzcyMywiZGlzcGxheUFkZHJlc3MiOiIxNDQ3IEUgN3RoIFN0LCBNb250aWNlbGxvLCBNTiwgNTUzNjIifSwic3RvcmVOdW1iZXIiOjIxODAsIm5hbWUiOiJNb250aWNlbGxvIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ2Ljg3NTcsImxvbmdpdHVkZSI6LTk2LjcyODQsImRpc3BsYXlBZGRyZXNzIjoiMzMwMSBIaWdod2F5IDEwIEUsIE1vb3JoZWFkLCBNTiwgNTY1NjAifSwic3RvcmVOdW1iZXIiOjY1OCwibmFtZSI6Ik1vb3JoZWFkIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ0Ljk3NDgsImxvbmdpdHVkZSI6LTkzLjI3NDksImRpc3BsYXlBZGRyZXNzIjoiOTAwIE5pY29sbGV0IE1hbGwsIE1pbm5lYXBvbGlzLCBNTiwgNTU0MDMifSwic3RvcmVOdW1iZXIiOjEzNzUsIm5hbWUiOiJNcGxzIE5pY29sbGV0IE1hbGwiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkNsaW5pYyIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiSW4tU3RvcmUgQXBwbGUgU3RvcmUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogNzowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogMTA6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBiZSBvcGVuIE1vbi1GcmkgNzowMCBBTSB0byAxMDowMCBQTSBTYXQgODowMCBBTSB0byAxMDowMCBQTSBTdW4gMTA6MDAgQU0gdG8gOTowMCBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ0LjI5MzMsImxvbmdpdHVkZSI6LTk0LjQ0MzksImRpc3BsYXlBZGRyZXNzIjoiMTkxNCBTIEJyb2Fkd2F5IFN0LCBOZXcgVWxtLCBNTiwgNTYwNzMifSwic3RvcmVOdW1iZXIiOjEyMDIsIm5hbWUiOiJOZXcgVWxtIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6W10sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDUuMDEzNiwibG9uZ2l0dWRlIjotOTMuMDA4OSwiZGlzcGxheUFkZHJlc3MiOiIyMTk5ICBId3kgMzYgRSwgTm9ydGggU2FpbnQgUGF1bCwgTU4sIDU1MTA5In0sInN0b3JlTnVtYmVyIjoxMTg1LCJuYW1lIjoiTm9ydGggU3QgUGF1bCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJDbGluaWMiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDQuNDM0LCJsb25naXR1ZGUiOi05My4xODYxLCJkaXNwbGF5QWRkcmVzcyI6IjIzMjMgSGlnaHdheSAzIFMsIE5vcnRoZmllbGQsIE1OLCA1NTA1NyJ9LCJzdG9yZU51bWJlciI6MTIxMSwibmFtZSI6Ik5vcnRoZmllbGQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ1LjEyNzMsImxvbmdpdHVkZSI6LTkzLjI2ODQsImRpc3BsYXlBZGRyZXNzIjoiODYwMCBTcHJpbmdicm9vayBEciBOVywgQ29vbiBSYXBpZHMsIE1OLCA1NTQzMyJ9LCJzdG9yZU51bWJlciI6ODIwLCJuYW1lIjoiTm9ydGh0b3duIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTiIsImxhdGl0dWRlIjo0NC45OTU4LCJsb25naXR1ZGUiOi05Mi45NDczLCJkaXNwbGF5QWRkcmVzcyI6Ijc5MDAgMzJuZCBTdCBOLCBPYWtkYWxlLCBNTiwgNTUxMjgifSwic3RvcmVOdW1iZXIiOjIxMzUsIm5hbWUiOiJPYWtkYWxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ1LjI3NzMsImxvbmdpdHVkZSI6LTkzLjU2MjEsImRpc3BsYXlBZGRyZXNzIjoiMTU4MDAgODd0aCBTdCBORSwgT3RzZWdvLCBNTiwgNTUzMzAifSwic3RvcmVOdW1iZXIiOjI0NTYsIm5hbWUiOiJPdHNlZ28gU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiQ2xpbmljIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ0LjA4NjEsImxvbmdpdHVkZSI6LTkzLjI0ODcsImRpc3BsYXlBZGRyZXNzIjoiMzAxIFBhcmsgRHIsIE93YXRvbm5hLCBNTiwgNTUwNjAifSwic3RvcmVOdW1iZXIiOjEwNjgsIm5hbWUiOiJPd2F0b25uYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDUuMDMyMSwibG9uZ2l0dWRlIjotOTMuNDUxMSwiZGlzcGxheUFkZHJlc3MiOiI0MTc1IFZpbmV3b29kIExuIE4sIFBseW1vdXRoLCBNTiwgNTU0NDIifSwic3RvcmVOdW1iZXIiOjY2NCwibmFtZSI6IlBseW1vdXRoIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDQuNTY4OCwibG9uZ2l0dWRlIjotOTIuNTgzNywiZGlzcGxheUFkZHJlc3MiOiIxNTEgVHlsZXIgUmQgTiwgUmVkIFdpbmcsIE1OLCA1NTA2NiJ9LCJzdG9yZU51bWJlciI6MTUyMiwibmFtZSI6IlJlZCBXaW5nIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ0Ljg4NTksImxvbmdpdHVkZSI6LTkzLjI0OTQsImRpc3BsYXlBZGRyZXNzIjoiNjQ0NSBSaWNoZmllbGQgUGt3eSwgUmljaGZpZWxkLCBNTiwgNTU0MjMifSwic3RvcmVOdW1iZXIiOjIzMDAsIm5hbWUiOiJSaWNoZmllbGQgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiQ2xpbmljIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTiIsImxhdGl0dWRlIjo0NC45Njk1LCJsb25naXR1ZGUiOi05My40NDY2LCJkaXNwbGF5QWRkcmVzcyI6IjEzMjAxIFJpZGdlZGFsZSBEciwgTWlubmV0b25rYSwgTU4sIDU1MzA1In0sInN0b3JlTnVtYmVyIjoxMDAsIm5hbWUiOiJSaWRnZWRhbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiQ2xpbmljIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTiIsImxhdGl0dWRlIjo0My45NTUzLCJsb25naXR1ZGUiOi05Mi40NjM4LCJkaXNwbGF5QWRkcmVzcyI6IjQ2MTEgTWFpbmUgQXZlIFNFLCBSb2NoZXN0ZXIsIE1OLCA1NTkwNCJ9LCJzdG9yZU51bWJlciI6MjMyMSwibmFtZSI6IlJvY2hlc3RlciBTb3V0aCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDQuMDYyNCwibG9uZ2l0dWRlIjotOTIuNTAyNywiZGlzcGxheUFkZHJlc3MiOiIzODI3IE1hcmtldHBsYWNlIERyIE5XLCBSb2NoZXN0ZXIsIE1OLCA1NTkwMSJ9LCJzdG9yZU51bWJlciI6MTM1MSwibmFtZSI6IlJvY2hlc3RlciBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDUuMTk3OCwibG9uZ2l0dWRlIjotOTMuNTU0MSwiZGlzcGxheUFkZHJlc3MiOiIyMTYxNSBTIERpYW1vbmQgTGFrZSBSZCwgUm9nZXJzLCBNTiwgNTUzNzQifSwic3RvcmVOdW1iZXIiOjE0NTYsIm5hbWUiOiJSb2dlcnMgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ1LjAwNzIsImxvbmdpdHVkZSI6LTkzLjE2NDIsImRpc3BsYXlBZGRyZXNzIjoiMTUxNSBDb3VudHkgUm9hZCBCIFcsIFJvc2V2aWxsZSwgTU4sIDU1MTEzIn0sInN0b3JlTnVtYmVyIjoyMTAxLCJuYW1lIjoiUm9zZXZpbGxlIFQxIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkNsaW5pYyIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDQuNzQ0LCJsb25naXR1ZGUiOi05My4zNzc2LCJkaXNwbGF5QWRkcmVzcyI6IjE0MzMzIEh3eSAxMywgU2F2YWdlLCBNTiwgNTUzNzgifSwic3RvcmVOdW1iZXIiOjE4MzMsIm5hbWUiOiJTYXZhZ2UgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ0Ljc3NTUsImxvbmdpdHVkZSI6LTkzLjUwMTIsImRpc3BsYXlBZGRyZXNzIjoiMTY4NSAxN3RoIEF2ZSBFLCBTaGFrb3BlZSwgTU4sIDU1Mzc5In0sInN0b3JlTnVtYmVyIjoxMjcyLCJuYW1lIjoiU2hha29wZWUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDUuMDU2OSwibG9uZ2l0dWRlIjotOTMuMTQ0NywiZGlzcGxheUFkZHJlc3MiOiIzODAwIExleGluZ3RvbiBBdmUgTiwgU2hvcmV2aWV3LCBNTiwgNTUxMjYifSwic3RvcmVOdW1iZXIiOjYxOSwibmFtZSI6IlNob3JldmlldyBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJDbGluaWMiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDUuNTY0OCwibG9uZ2l0dWRlIjotOTQuMTQ0OCwiZGlzcGxheUFkZHJlc3MiOiIxMjUgTGluY29sbiBBdmUgU0UsIFNhaW50IENsb3VkLCBNTiwgNTYzMDQifSwic3RvcmVOdW1iZXIiOjkzMCwibmFtZSI6IlN0IENsb3VkIEVhc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ1LjU1NzEsImxvbmdpdHVkZSI6LTk0LjIwODcsImRpc3BsYXlBZGRyZXNzIjoiNDIwMSBXIERpdmlzaW9uIFN0LCBTYWludCBDbG91ZCwgTU4sIDU2MzAxIn0sInN0b3JlTnVtYmVyIjoyMTUsIm5hbWUiOiJTdCBDbG91ZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDQuOTM3MSwibG9uZ2l0dWRlIjotOTMuMzQ2OCwiZGlzcGxheUFkZHJlc3MiOiIzNjAxIEhpZ2h3YXkgMTAwIFMsIFN0IExvdWlzIFBhcmssIE1OLCA1NTQxNiJ9LCJzdG9yZU51bWJlciI6MjYwLCJuYW1lIjoiU3QgTG91aXMgUGFyayIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTiIsImxhdGl0dWRlIjo0NC45NTQ2LCJsb25naXR1ZGUiOi05My4xNTUyLCJkaXNwbGF5QWRkcmVzcyI6IjEzMDAgVW5pdmVyc2l0eSBBdmUgVywgU2FpbnQgUGF1bCwgTU4sIDU1MTA0In0sInN0b3JlTnVtYmVyIjoyMjI5LCJuYW1lIjoiU3QgUGF1bCBNaWR3YXkgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiQ2xpbmljIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ1LjAzNzMsImxvbmdpdHVkZSI6LTkyLjgzODYsImRpc3BsYXlBZGRyZXNzIjoiMjAyMSBNYXJrZXQgRHIsIFN0aWxsd2F0ZXIsIE1OLCA1NTA4MiJ9LCJzdG9yZU51bWJlciI6OTMxLCJuYW1lIjoiU3RpbGx3YXRlciIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDUuMDUyMiwibG9uZ2l0dWRlIjotOTMuMDYsImRpc3BsYXlBZGRyZXNzIjoiOTc1IENvdW50eSBSb2FkIEUsIFZhZG5haXMgSGVpZ2h0cywgTU4sIDU1MTI3In0sInN0b3JlTnVtYmVyIjo3NTEsIm5hbWUiOiJWYWRuYWlzIEhlaWdodHMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ3LjUxMTIsImxvbmdpdHVkZSI6LTkyLjU1MDIsImRpc3BsYXlBZGRyZXNzIjoiMTAwMSAxM3RoIFN0IFMsIFZpcmdpbmlhLCBNTiwgNTU3OTIifSwic3RvcmVOdW1iZXIiOjg0NywibmFtZSI6IlZpcmdpbmlhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1OIiwibGF0aXR1ZGUiOjQ0Ljg0MjQsImxvbmdpdHVkZSI6LTkzLjc3MDgsImRpc3BsYXlBZGRyZXNzIjoiODc1IEUgTWFpbiBTdCwgV2Fjb25pYSwgTU4sIDU1Mzg3In0sInN0b3JlTnVtYmVyIjoyNDQ5LCJuYW1lIjoiV2Fjb25pYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJDbGluaWMiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTiIsImxhdGl0dWRlIjo0NC44OTMzLCJsb25naXR1ZGUiOi05My4wNzg3LCJkaXNwbGF5QWRkcmVzcyI6IjE3NTAgUm9iZXJ0IFN0IFMsIFdlc3QgU3QgUGF1bCwgTU4sIDU1MTE4In0sInN0b3JlTnVtYmVyIjoyMDQ2LCJuYW1lIjoiV2VzdCBTdCBQYXVsIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkNsaW5pYyIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDUuMTAxNywibG9uZ2l0dWRlIjotOTUuMDQxMiwiZGlzcGxheUFkZHJlc3MiOiIyNTA1IDFzdCBTdCBTLCBXaWxsbWFyLCBNTiwgNTYyMDEifSwic3RvcmVOdW1iZXIiOjY2MSwibmFtZSI6IldpbGxtYXIiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU4iLCJsYXRpdHVkZSI6NDQuMDMyMSwibG9uZ2l0dWRlIjotOTEuNjIxLCJkaXNwbGF5QWRkcmVzcyI6Ijg2MCBNYW5rYXRvIEF2ZSwgV2lub25hLCBNTiwgNTU5ODcifSwic3RvcmVOdW1iZXIiOjEwOTYsIm5hbWUiOiJXaW5vbmEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTiIsImxhdGl0dWRlIjo0NC45Mzk2LCJsb25naXR1ZGUiOi05Mi45MDk1LCJkaXNwbGF5QWRkcmVzcyI6IjQ0OSBDb21tZXJjZSBEciwgV29vZGJ1cnksIE1OLCA1NTEyNSJ9LCJzdG9yZU51bWJlciI6MjQwNiwibmFtZSI6Ildvb2RidXJ5IEVhc3QgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiQ2xpbmljIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTiIsImxhdGl0dWRlIjo0NC45MjY5LCJsb25naXR1ZGUiOi05Mi45NTk2LCJkaXNwbGF5QWRkcmVzcyI6IjcyMDAgVmFsbGV5IENyZWVrIFBseiwgV29vZGJ1cnksIE1OLCA1NTEyNSJ9LCJzdG9yZU51bWJlciI6Njk0LCJuYW1lIjoiV29vZGJ1cnkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiQ2xpbmljIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNUyIsImxhdGl0dWRlIjozMC40NTU0LCJsb25naXR1ZGUiOi04OC45MDAyLCJkaXNwbGF5QWRkcmVzcyI6IjM4NjcgUHJvbWVuYWRlIFBrd3ksIEQnaWJlcnZpbGxlLCBNUywgMzk1NDAifSwic3RvcmVOdW1iZXIiOjI0ODUsIm5hbWUiOiJEJ0liZXJ2aWxsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNUyIsImxhdGl0dWRlIjozMi4zNDM1LCJsb25naXR1ZGUiOi05MC4wNTg2LCJkaXNwbGF5QWRkcmVzcyI6IjE3MCBQcm9tZW5hZGUgQmx2ZCwgRmxvd29vZCwgTVMsIDM5MjMyIn0sInN0b3JlTnVtYmVyIjoxOTIwLCJuYW1lIjoiRmxvd29vZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNUyIsImxhdGl0dWRlIjozMS4zMjI2LCJsb25naXR1ZGUiOi04OS4zNzk3LCJkaXNwbGF5QWRkcmVzcyI6IjYxNDMgVSBTIEhpZ2h3YXkgOTggU3RlIDgwLCBIYXR0aWVzYnVyZywgTVMsIDM5NDAyIn0sInN0b3JlTnVtYmVyIjoyMDU1LCJuYW1lIjoiSGF0dGllc2J1cmciLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNUyIsImxhdGl0dWRlIjozNC45NjYsImxvbmdpdHVkZSI6LTkwLjAwNTUsImRpc3BsYXlBZGRyZXNzIjoiNzI1NSBJbnRlcnN0YXRlIERyLCBIb3JuIExha2UsIE1TLCAzODYzNyJ9LCJzdG9yZU51bWJlciI6MTE2OSwibmFtZSI6Ikhvcm4gTGFrZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiVGFyZ2V0IE1vYmlsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNUyIsImxhdGl0dWRlIjozMi4zOTg3LCJsb25naXR1ZGUiOi05MC4xNDc2LCJkaXNwbGF5QWRkcmVzcyI6IjYzNjUgSSA1NSBOLCBKYWNrc29uLCBNUywgMzkyMTMifSwic3RvcmVOdW1iZXIiOjc1NCwibmFtZSI6Ik5vcnRoIEphY2tzb24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTVMiLCJsYXRpdHVkZSI6MzQuOTY0OSwibG9uZ2l0dWRlIjotODkuODk3NywiZGlzcGxheUFkZHJlc3MiOiI1MTUwIEdvb2RtYW4gUmQsIE9saXZlIEJyYW5jaCwgTVMsIDM4NjU0In0sInN0b3JlTnVtYmVyIjoyNDQyLCJuYW1lIjoiT2xpdmUgQnJhbmNoIFdlc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1PIiwibGF0aXR1ZGUiOjM4LjQxMjgsImxvbmdpdHVkZSI6LTkwLjM5NywiZGlzcGxheUFkZHJlc3MiOiIzODQ5IFZvZ2VsIFJkLCBBcm5vbGQsIE1PLCA2MzAxMCJ9LCJzdG9yZU51bWJlciI6MTI3OCwibmFtZSI6IkFybm9sZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTyIsImxhdGl0dWRlIjozOC41OTQ1LCJsb25naXR1ZGUiOi05MC41NDc3LCJkaXNwbGF5QWRkcmVzcyI6IjE1MDI1IE1hbmNoZXN0ZXIgUmQsIEJhbGx3aW4sIE1PLCA2MzAxMSJ9LCJzdG9yZU51bWJlciI6MjYsIm5hbWUiOiJCYWxsd2luIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1PIiwibGF0aXR1ZGUiOjM4LjgxNTYsImxvbmdpdHVkZSI6LTk0LjUxNiwiZGlzcGxheUFkZHJlc3MiOiIxMTA2IEUgTm9ydGggQXZlLCBCZWx0b24sIE1PLCA2NDAxMiJ9LCJzdG9yZU51bWJlciI6MTUzOCwibmFtZSI6IkJlbHRvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU8iLCJsYXRpdHVkZSI6MzkuMDIzNCwibG9uZ2l0dWRlIjotOTQuMjQ4NSwiZGlzcGxheUFkZHJlc3MiOiIxMDQwIE5FIENPUk9OQURPLCBCbHVlIFNwcmluZ3MsIE1PLCA2NDAxNCJ9LCJzdG9yZU51bWJlciI6MjUyNSwibmFtZSI6IkJsdWUgU3ByaW5ncyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTyIsImxhdGl0dWRlIjozNi42NzM4LCJsb25naXR1ZGUiOi05My4yMjU3LCJkaXNwbGF5QWRkcmVzcyI6IjEyMDAgQnJhbnNvbiBIaWxscyBQa3d5LCBCcmFuc29uLCBNTywgNjU2MTYifSwic3RvcmVOdW1iZXIiOjIwOTgsIm5hbWUiOiJCcmFuc29uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTyIsImxhdGl0dWRlIjozOC42Mjc4LCJsb25naXR1ZGUiOi05MC4zNDM4LCJkaXNwbGF5QWRkcmVzcyI6IjI1IEJyZW50d29vZCBQcm9tZW5hZGUgQ3QsIEJyZW50d29vZCwgTU8sIDYzMTQ0In0sInN0b3JlTnVtYmVyIjoxMTAyLCJuYW1lIjoiQnJlbnR3b29kIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1PIiwibGF0aXR1ZGUiOjM4Ljc1MzgsImxvbmdpdHVkZSI6LTkwLjQyNjMsImRpc3BsYXlBZGRyZXNzIjoiMTIyNzUgU2FpbnQgQ2hhcmxlcyBSb2NrIFJkLCBCcmlkZ2V0b24sIE1PLCA2MzA0NCJ9LCJzdG9yZU51bWJlciI6MTIsIm5hbWUiOiJCcmlkZ2V0b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU8iLCJsYXRpdHVkZSI6MzcuMjk5NywibG9uZ2l0dWRlIjotODkuNTgwNiwiZGlzcGxheUFkZHJlc3MiOiIyMDIgU2llbWVycyBEciwgQ2FwZSBHaXJhcmRlYXUsIE1PLCA2MzcwMSJ9LCJzdG9yZU51bWJlciI6OTkyLCJuYW1lIjoiQ2FwZSBHaXJhcmRlYXUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTyIsImxhdGl0dWRlIjozOC42NjcxLCJsb25naXR1ZGUiOi05MC41ODU4LCJkaXNwbGF5QWRkcmVzcyI6IjQwIFRIRiBCbHZkLCBDaGVzdGVyZmllbGQsIE1PLCA2MzAwNSJ9LCJzdG9yZU51bWJlciI6MTM1MywibmFtZSI6IkNoZXN0ZXJmaWVsZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTyIsImxhdGl0dWRlIjozOC45NjM1LCJsb25naXR1ZGUiOi05Mi4zNzMzLCJkaXNwbGF5QWRkcmVzcyI6IjI0MDAgQmVybmFkZXR0ZSBEciwgQ29sdW1iaWEsIE1PLCA2NTIwMyJ9LCJzdG9yZU51bWJlciI6MjM5LCJuYW1lIjoiQ29sdW1iaWEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBob3RvIENlbnRlciIsIlRhcmdldCBNb2JpbGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU8iLCJsYXRpdHVkZSI6MzguNzY4OSwibG9uZ2l0dWRlIjotOTAuNzY4MywiZGlzcGxheUFkZHJlc3MiOiI3OTU1IEh3eSBOLCBEYXJkZW5uZSBQcmFpcmllLCBNTywgNjMzNjgifSwic3RvcmVOdW1iZXIiOjIxMDMsIm5hbWUiOiJEYXJkZW5uZSBQcmFpcmllIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU8iLCJsYXRpdHVkZSI6MzguNTAyNSwibG9uZ2l0dWRlIjotOTAuNDQ2NSwiZGlzcGxheUFkZHJlc3MiOiIxOTcgR3Jhdm9pcyBCbHVmZnMgUGxhemEgRHIsIEZlbnRvbiwgTU8sIDYzMDI2In0sInN0b3JlTnVtYmVyIjoxMzE0LCJuYW1lIjoiRmVudG9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTyIsImxhdGl0dWRlIjozOC44MDUyLCJsb25naXR1ZGUiOi05MC4zMTAyLCJkaXNwbGF5QWRkcmVzcyI6IjIzNDEgTiBIaWdod2F5IDY3LCBGbG9yaXNzYW50LCBNTywgNjMwMzMifSwic3RvcmVOdW1iZXIiOjExMDEsIm5hbWUiOiJGbG9yaXNzYW50Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1PIiwibGF0aXR1ZGUiOjM4LjU5MjUsImxvbmdpdHVkZSI6LTkwLjI5NTQsImRpc3BsYXlBZGRyZXNzIjoiNDI1NSBIYW1wdG9uIEF2ZSwgU2FpbnQgTG91aXMsIE1PLCA2MzEwOSJ9LCJzdG9yZU51bWJlciI6MTUxNSwibmFtZSI6IkhhbXB0b24gVmlsbGFnZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU8iLCJsYXRpdHVkZSI6MzkuMDUwNiwibG9uZ2l0dWRlIjotOTQuMzcwMSwiZGlzcGxheUFkZHJlc3MiOiIxNzgxMCBFIDM5dGggU3QgUywgSW5kZXBlbmRlbmNlLCBNTywgNjQwNTUifSwic3RvcmVOdW1iZXIiOjEyMDEsIm5hbWUiOiJJbmRlcGVuZGVuY2UiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU8iLCJsYXRpdHVkZSI6MzguNTc5NSwibG9uZ2l0dWRlIjotOTIuMjEzNiwiZGlzcGxheUFkZHJlc3MiOiI3MzUgVyBTdGFkaXVtIEJsdmQsIEplZmZlcnNvbiBDaXR5LCBNTywgNjUxMDkifSwic3RvcmVOdW1iZXIiOjc1MiwibmFtZSI6IkplZmZlcnNvbiBDaXR5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTyIsImxhdGl0dWRlIjozOC43MjcsImxvbmdpdHVkZSI6LTkwLjI3NDksImRpc3BsYXlBZGRyZXNzIjoiODAwNyBXIEZsb3Jpc3NhbnQgQXZlLCBKZW5uaW5ncywgTU8sIDYzMTM2In0sInN0b3JlTnVtYmVyIjoyMDUwLCJuYW1lIjoiSmVubmluZ3MiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTyIsImxhdGl0dWRlIjozNy4wODQ5LCJsb25naXR1ZGUiOi05NC40NzQsImRpc3BsYXlBZGRyZXNzIjoiMzE1MSBFIDd0aCBTdCwgSm9wbGluLCBNTywgNjQ4MDEifSwic3RvcmVOdW1iZXIiOjc3NCwibmFtZSI6IkpvcGxpbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTyIsImxhdGl0dWRlIjozOS4xNzM5LCJsb25naXR1ZGUiOi05NC41MzMzLCJkaXNwbGF5QWRkcmVzcyI6IjQzNzUgTiBDaG91dGVhdSBUcmZ5LCBLYW5zYXMgQ2l0eSwgTU8sIDY0MTE3In0sInN0b3JlTnVtYmVyIjoxMzg4LCJuYW1lIjoiS2Fuc2FzIENpdHkgQ2hvdXRlYXUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUG9ydHJhaXQgU3R1ZGlvIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTyIsImxhdGl0dWRlIjozOS4yNTc3LCJsb25naXR1ZGUiOi05NC42NTQ2LCJkaXNwbGF5QWRkcmVzcyI6IjkwNDAgTiBTa3l2aWV3IEF2ZSwgS2Fuc2FzIENpdHksIE1PLCA2NDE1NCJ9LCJzdG9yZU51bWJlciI6MjQyMywibmFtZSI6IkthbnNhcyBDaXR5IE5XIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1PIiwibGF0aXR1ZGUiOjM5LjI0ODksImxvbmdpdHVkZSI6LTk0LjU5NDksImRpc3BsYXlBZGRyZXNzIjoiODQyMCBOIE1hZGlzb24gQXZlLCBLYW5zYXMgQ2l0eSwgTU8sIDY0MTU1In0sInN0b3JlTnVtYmVyIjoxMTc3LCJuYW1lIjoiS2Fuc2FzIENpdHkgTm9ydGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTyIsImxhdGl0dWRlIjozOC41NjUsImxvbmdpdHVkZSI6LTkwLjQwNSwiZGlzcGxheUFkZHJlc3MiOiIxMDQyIFMgS2lya3dvb2QgUmQsIEtpcmt3b29kLCBNTywgNjMxMjIifSwic3RvcmVOdW1iZXIiOjEyNzksIm5hbWUiOiJLaXJrd29vZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1PIiwibGF0aXR1ZGUiOjM4LjkzMTQsImxvbmdpdHVkZSI6LTk0LjQwOTEsImRpc3BsYXlBZGRyZXNzIjoiMTg1MCBOVyBDaGlwbWFuIFJkLCBMZWVzIFN1bW1pdCwgTU8sIDY0MDgxIn0sInN0b3JlTnVtYmVyIjoxMzkyLCJuYW1lIjoiTGVlcyBTdW1taXQgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1PIiwibGF0aXR1ZGUiOjM5LjI0NzMsImxvbmdpdHVkZSI6LTk0LjQ2MTEsImRpc3BsYXlBZGRyZXNzIjoiOTIyMCBORSBCYXJyeSBSZCwgS2Fuc2FzIENpdHksIE1PLCA2NDE1NyJ9LCJzdG9yZU51bWJlciI6MTQ1NSwibmFtZSI6IkxpYmVydHkgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU8iLCJsYXRpdHVkZSI6MzguNzc3NSwibG9uZ2l0dWRlIjotOTAuNjk2OCwiZGlzcGxheUFkZHJlc3MiOiIyMzAwIEhpZ2h3YXkgSywgTyBGYWxsb24sIE1PLCA2MzM2OCJ9LCJzdG9yZU51bWJlciI6MTI0MSwibmFtZSI6Ik8nRmFsbG9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1PIiwibGF0aXR1ZGUiOjM4LjE1NjUsImxvbmdpdHVkZSI6LTkyLjYwMTcsImRpc3BsYXlBZGRyZXNzIjoiOTE5IEh3eSBELCBPc2FnZSBCZWFjaCwgTU8sIDY1MDY1In0sInN0b3JlTnVtYmVyIjoxOTE0LCJuYW1lIjoiT3NhZ2UgQmVhY2giLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1PIiwibGF0aXR1ZGUiOjM4LjUwNjgsImxvbmdpdHVkZSI6LTkwLjMzOTQsImRpc3BsYXlBZGRyZXNzIjoiNDI1MCBSdXN0eSBSZCwgU2FpbnQgTG91aXMsIE1PLCA2MzEyOCJ9LCJzdG9yZU51bWJlciI6MTUwOSwibmFtZSI6IlNvdXRoIENvdW50eSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU8iLCJsYXRpdHVkZSI6MzcuMTUxMSwibG9uZ2l0dWRlIjotOTMuMjYyMywiZGlzcGxheUFkZHJlc3MiOiIxODI1IEUgUHJpbXJvc2UgU3QsIFNwcmluZ2ZpZWxkLCBNTywgNjU4MDQifSwic3RvcmVOdW1iZXIiOjEwMzEsIm5hbWUiOiJTcHJpbmdmaWVsZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTyIsImxhdGl0dWRlIjozOC43ODc4LCJsb25naXR1ZGUiOi05MC41NjI3LCJkaXNwbGF5QWRkcmVzcyI6IjM4ODEgTWV4aWNvIFJkLCBTYWludCBDaGFybGVzLCBNTywgNjMzMDMifSwic3RvcmVOdW1iZXIiOjEyODAsIm5hbWUiOiJTdCBDaGFybGVzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU8iLCJsYXRpdHVkZSI6MzkuODExNCwibG9uZ2l0dWRlIjotOTQuODEzMywiZGlzcGxheUFkZHJlc3MiOiI1MjAxIE4gQmVsdCBId3kgU3RlIEgsIFN0LiBKb3NlcGgsIE1PLCA2NDUwNiJ9LCJzdG9yZU51bWJlciI6MTk3NywibmFtZSI6IlN0IEpvc2VwaCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU8iLCJsYXRpdHVkZSI6MzguNzM5MSwibG9uZ2l0dWRlIjotOTAuNjM1OSwiZGlzcGxheUFkZHJlc3MiOiI2MjQxIE1pZCBSaXZlcnMgTWFsbCBEciwgU2FpbnQgUGV0ZXJzLCBNTywgNjMzMDQifSwic3RvcmVOdW1iZXIiOjEwMzUsIm5hbWUiOiJTdCBQZXRlcnMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU8iLCJsYXRpdHVkZSI6MzguODgwMiwibG9uZ2l0dWRlIjotOTQuNjA2LCJkaXNwbGF5QWRkcmVzcyI6IjEyMDEgVyAxMzZ0aCBTdCwgS2Fuc2FzIENpdHksIE1PLCA2NDE0NSJ9LCJzdG9yZU51bWJlciI6MTg0MCwibmFtZSI6IlN0YXRlbGluZSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTyIsImxhdGl0dWRlIjozOC42MiwibG9uZ2l0dWRlIjotOTAuNTE5OSwiZGlzcGxheUFkZHJlc3MiOiIxMjcyIFRvd24gJiBDb3VudHJ5IENyb3NzaW5nIERyLCBDaGVzdGVyZmllbGQsIE1PLCA2MzAxNyJ9LCJzdG9yZU51bWJlciI6MTk1MiwibmFtZSI6IlRvd24gJiBDb3VudHJ5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1PIiwibGF0aXR1ZGUiOjM4Ljk3MjQsImxvbmdpdHVkZSI6LTk0LjYwNzUsImRpc3BsYXlBZGRyZXNzIjoiODUwOSBTdGF0ZSBMaW5lIFJkLCBLYW5zYXMgQ2l0eSwgTU8sIDY0MTE0In0sInN0b3JlTnVtYmVyIjoxNDM2LCJuYW1lIjoiV2FyZCBQYXJrd2F5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNTyIsImxhdGl0dWRlIjozOC41MzU5LCJsb25naXR1ZGUiOi05MC45ODEzLCJkaXNwbGF5QWRkcmVzcyI6IjE4NTEgVmVybmFjaSBEciwgV2FzaGluZ3RvbiwgTU8sIDYzMDkwIn0sInN0b3JlTnVtYmVyIjoyMjU1LCJuYW1lIjoiV2FzaGluZ3RvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTU8iLCJsYXRpdHVkZSI6MzguODIwMSwibG9uZ2l0dWRlIjotOTAuODgwOSwiZGlzcGxheUFkZHJlc3MiOiIxODgzIFdlbnR6dmlsbGUgUGt3eSwgV2VudHp2aWxsZSwgTU8sIDYzMzg1In0sInN0b3JlTnVtYmVyIjoyMzQ1LCJuYW1lIjoiV2VudHp2aWxsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1UIiwibGF0aXR1ZGUiOjQ1Ljc3MDUsImxvbmdpdHVkZSI6LTEwOC41ODMsImRpc3BsYXlBZGRyZXNzIjoiMjYwMSBDZW50cmFsIEF2ZSwgQmlsbGluZ3MsIE1ULCA1OTEwMiJ9LCJzdG9yZU51bWJlciI6MTcxLCJuYW1lIjoiQmlsbGluZ3MiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTVQiLCJsYXRpdHVkZSI6NDUuODA1NCwibG9uZ2l0dWRlIjotMTA4LjQ3MywiZGlzcGxheUFkZHJlc3MiOiI0MDMgTWFpbiBTdCwgQmlsbGluZ3MsIE1ULCA1OTEwNSJ9LCJzdG9yZU51bWJlciI6MTMzMywibmFtZSI6IkJpbGxpbmdzIEVhc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIldpbmUgQXZhaWxhYmxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1UIiwibGF0aXR1ZGUiOjQ1LjcxMjcsImxvbmdpdHVkZSI6LTExMS4wNzEsImRpc3BsYXlBZGRyZXNzIjoiMjU1MCBDYXRyb24gUmQsIEJvemVtYW4sIE1ULCA1OTcxOCJ9LCJzdG9yZU51bWJlciI6MTIzNywibmFtZSI6IkJvemVtYW4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBob3RvIENlbnRlciIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNVCIsImxhdGl0dWRlIjo0Ny40OTM1LCJsb25naXR1ZGUiOi0xMTEuMjcyLCJkaXNwbGF5QWRkcmVzcyI6IjIwMDAgMTB0aCBBdmUgUywgR3JlYXQgRmFsbHMsIE1ULCA1OTQwNSJ9LCJzdG9yZU51bWJlciI6MjUzLCJuYW1lIjoiR3JlYXQgRmFsbHMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBob3RvIENlbnRlciIsIlRhcmdldCBNb2JpbGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJNVCIsImxhdGl0dWRlIjo0Ni42MjE0LCJsb25naXR1ZGUiOi0xMTIuMDIsImRpc3BsYXlBZGRyZXNzIjoiMzMwMyBOIE1vbnRhbmEgQXZlLCBIZWxlbmEsIE1ULCA1OTYwMiJ9LCJzdG9yZU51bWJlciI6MTI4MiwibmFtZSI6IkhlbGVuYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiVGFyZ2V0IE1vYmlsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik1UIiwibGF0aXR1ZGUiOjQ4LjIzNTYsImxvbmdpdHVkZSI6LTExNC4zMjcsImRpc3BsYXlBZGRyZXNzIjoiMjM2NSBVUyBIaWdod2F5IDkzIE4sIEthbGlzcGVsbCwgTVQsIDU5OTAxIn0sInN0b3JlTnVtYmVyIjoxNTQwLCJuYW1lIjoiS2FsaXNwZWxsIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTVQiLCJsYXRpdHVkZSI6NDYuODg5OCwibG9uZ2l0dWRlIjotMTE0LjAzOCwiZGlzcGxheUFkZHJlc3MiOiIyNDIwIE4gUmVzZXJ2ZSBTdCwgTWlzc291bGEsIE1ULCA1OTgwOCJ9LCJzdG9yZU51bWJlciI6ODg1LCJuYW1lIjoiTWlzc291bGEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJORSIsImxhdGl0dWRlIjo0MS4xNDE5LCJsb25naXR1ZGUiOi05NS45NzAzLCJkaXNwbGF5QWRkcmVzcyI6IjM4MDggVHdpbiBDcmVlayBEciwgQmVsbGV2dWUsIE5FLCA2ODEyMyJ9LCJzdG9yZU51bWJlciI6MTUzNywibmFtZSI6IkJlbGxldnVlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5FIiwibGF0aXR1ZGUiOjQwLjcyMjIsImxvbmdpdHVkZSI6LTk5LjA4NTQsImRpc3BsYXlBZGRyZXNzIjoiNDgwMCAzcmQgQXZlLCBLZWFybmV5LCBORSwgNjg4NDUifSwic3RvcmVOdW1iZXIiOjg1NywibmFtZSI6IktlYXJuZXkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkUiLCJsYXRpdHVkZSI6NDAuODE2MywibG9uZ2l0dWRlIjotOTYuNjU1LCJkaXNwbGF5QWRkcmVzcyI6IjMzMyBOIDQ4dGggU3QsIExpbmNvbG4sIE5FLCA2ODUwNCJ9LCJzdG9yZU51bWJlciI6MjE3LCJuYW1lIjoiTGluY29sbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJORSIsImxhdGl0dWRlIjo0MC43Mjc3LCJsb25naXR1ZGUiOi05Ni42NjU2LCJkaXNwbGF5QWRkcmVzcyI6IjgyMDEgUyA0MHRoIFN0LCBMaW5jb2xuLCBORSwgNjg1MTYifSwic3RvcmVOdW1iZXIiOjIzMDMsIm5hbWUiOiJMaW5jb2xuIFNXIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJORSIsImxhdGl0dWRlIjo0MC43NTkyLCJsb25naXR1ZGUiOi05Ni42NDExLCJkaXNwbGF5QWRkcmVzcyI6IjUzMzAgUyA1NnRoIFN0LCBMaW5jb2xuLCBORSwgNjg1MTYifSwic3RvcmVOdW1iZXIiOjg3OSwibmFtZSI6IkxpbmNvbG4gU291dGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJORSIsImxhdGl0dWRlIjo0Mi4wMiwibG9uZ2l0dWRlIjotOTcuNDMwNSwiZGlzcGxheUFkZHJlc3MiOiIxNTEwIE1hcmtldCBMbiwgTm9yZm9saywgTkUsIDY4NzAxIn0sInN0b3JlTnVtYmVyIjo4NTYsIm5hbWUiOiJOb3Jmb2xrIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5FIiwibGF0aXR1ZGUiOjQxLjI4OSwibG9uZ2l0dWRlIjotOTYuMTgwMywiZGlzcGxheUFkZHJlc3MiOiIxNjk1OSBFdmFucyBQbGF6YSwgT21haGEsIE5FLCA2ODExNiJ9LCJzdG9yZU51bWJlciI6MjMyNiwibmFtZSI6Ik9tYWhhIEZhciBOVyBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJORSIsImxhdGl0dWRlIjo0MS4yMTQ0LCJsb25naXR1ZGUiOi05Ni4xMDk0LCJkaXNwbGF5QWRkcmVzcyI6IjEyNTAwIEsgUGxhemEsIE9tYWhhLCBORSwgNjgxMzcifSwic3RvcmVOdW1iZXIiOjIzODMsIm5hbWUiOiJPbWFoYSBGYXIgU1cgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkUiLCJsYXRpdHVkZSI6NDEuMjk0NywibG9uZ2l0dWRlIjotOTYuMTE2NiwiZGlzcGxheUFkZHJlc3MiOiI0MDAxIE4gMTMybmQgU3QsIE9tYWhhLCBORSwgNjgxNjQifSwic3RvcmVOdW1iZXIiOjUzMCwibmFtZSI6Ik9tYWhhIE5XIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5FIiwibGF0aXR1ZGUiOjQxLjMxNjYsImxvbmdpdHVkZSI6LTk2LjAyNTYsImRpc3BsYXlBZGRyZXNzIjoiNjYzNiBOIDczcmQgUGx6LCBPbWFoYSwgTkUsIDY4MTIyIn0sInN0b3JlTnVtYmVyIjoyMDEwLCJuYW1lIjoiT21haGEgTm9ydGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5FIiwibGF0aXR1ZGUiOjQxLjI2MDksImxvbmdpdHVkZSI6LTk2LjAyNDcsImRpc3BsYXlBZGRyZXNzIjoiNzIwMCBEb2RnZSBTdCwgT21haGEsIE5FLCA2ODExNCJ9LCJzdG9yZU51bWJlciI6MjEyNSwibmFtZSI6Ik9tYWhhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5FIiwibGF0aXR1ZGUiOjQxLjIzNTcsImxvbmdpdHVkZSI6LTk2LjE5MzQsImRpc3BsYXlBZGRyZXNzIjoiMTc4MTAgVyBDZW50ZXIgUmQsIE9tYWhhLCBORSwgNjgxMzAifSwic3RvcmVOdW1iZXIiOjE3NzcsIm5hbWUiOiJPbWFoYSBXZXN0IFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5FIiwibGF0aXR1ZGUiOjQxLjE2NTMsImxvbmdpdHVkZSI6LTk2LjA0NDgsImRpc3BsYXlBZGRyZXNzIjoiNzE4IE4gV2FzaGluZ3RvbiBTdCwgUGFwaWxsaW9uLCBORSwgNjgwNDYifSwic3RvcmVOdW1iZXIiOjUzMiwibmFtZSI6IlBhcGlsbGlvbiBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5FIiwibGF0aXR1ZGUiOjQxLjg3MDEsImxvbmdpdHVkZSI6LTEwMy42NDMsImRpc3BsYXlBZGRyZXNzIjoiMTQwMSBGcm9udGFnZSBSZCwgU2NvdHRzYmx1ZmYsIE5FLCA2OTM2MSJ9LCJzdG9yZU51bWJlciI6ODMxLCJuYW1lIjoiU2NvdHRzYmx1ZmYiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOViIsImxhdGl0dWRlIjozOS4xLCJsb25naXR1ZGUiOi0xMTkuNzc3LCJkaXNwbGF5QWRkcmVzcyI6IjkxMCBKYWNrcyBWYWxsZXkgUmQsIENhcnNvbiBDaXR5LCBOViwgODk3MDUifSwic3RvcmVOdW1iZXIiOjEyMzksIm5hbWUiOiJDYXJzb24gQ2l0eSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUG9ydHJhaXQgU3R1ZGlvIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5WIiwibGF0aXR1ZGUiOjM2LjA2NSwibG9uZ2l0dWRlIjotMTE1LjA0OCwiZGlzcGxheUFkZHJlc3MiOiI2MDUgTiBTdGVwaGFuaWUgU3QsIEhlbmRlcnNvbiwgTlYsIDg5MDE0In0sInN0b3JlTnVtYmVyIjo2ODAsIm5hbWUiOiJIZW5kZXJzb24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlYiLCJsYXRpdHVkZSI6MzYuMDAyOSwibG9uZ2l0dWRlIjotMTE1LjA4NSwiZGlzcGxheUFkZHJlc3MiOiI2OTUgUyBHcmVlbiBWYWxsZXkgUGt3eSwgSGVuZGVyc29uLCBOViwgODkwNTIifSwic3RvcmVOdW1iZXIiOjI1NjgsIm5hbWUiOiJIZW5kZXJzb24gU1ciLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5WIiwibGF0aXR1ZGUiOjM2LjAzODMsImxvbmdpdHVkZSI6LTExNC45OTYsImRpc3BsYXlBZGRyZXNzIjoiMzUwIFcgTGFrZSBNZWFkIFBrd3ksIEhlbmRlcnNvbiwgTlYsIDg5MDE1In0sInN0b3JlTnVtYmVyIjoyNDA0LCJuYW1lIjoiSGVuZGVyc29uIFNvdXRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5WIiwibGF0aXR1ZGUiOjM2LjA0MDksImxvbmdpdHVkZSI6LTExNS4xOTYsImRpc3BsYXlBZGRyZXNzIjoiNDEwMCBCbHVlIERpYW1vbmQgUmQsIExhcyBWZWdhcywgTlYsIDg5MTM5In0sInN0b3JlTnVtYmVyIjoyMTY0LCJuYW1lIjoiTGFzIFZlZ2FzIEJsdWUgRGlhbW9uZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlYiLCJsYXRpdHVkZSI6MzYuMTYxLCJsb25naXR1ZGUiOi0xMTUuMjg4LCJkaXNwbGF5QWRkcmVzcyI6Ijg3NTAgVyBDaGFybGVzdG9uIEJsdmQsIExhcyBWZWdhcywgTlYsIDg5MTE3In0sInN0b3JlTnVtYmVyIjoxMjA3LCJuYW1lIjoiTGFzIFZlZ2FzIEJvY2EgUGFyayIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5WIiwibGF0aXR1ZGUiOjM2LjE1NzQsImxvbmdpdHVkZSI6LTExNS4wNiwiZGlzcGxheUFkZHJlc3MiOiIxMjAwIFMgTmVsbGlzIEJsdmQsIExhcyBWZWdhcywgTlYsIDg5MTA0In0sInN0b3JlTnVtYmVyIjoyNjQsIm5hbWUiOiJMYXMgVmVnYXMgRWFzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiVGFyZ2V0IE1vYmlsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOViIsImxhdGl0dWRlIjozNi4yOCwibG9uZ2l0dWRlIjotMTE1LjI2MywiZGlzcGxheUFkZHJlc3MiOiI2NDgwIFNreSBQb2ludGUgRHIsIExhcyBWZWdhcywgTlYsIDg5MTMxIn0sInN0b3JlTnVtYmVyIjoxNDYyLCJuYW1lIjoiTGFzIFZlZ2FzIEZhciBOVyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOViIsImxhdGl0dWRlIjozNi4xMTQxLCJsb25naXR1ZGUiOi0xMTUuMzExLCJkaXNwbGF5QWRkcmVzcyI6IjQxNTUgUyBHcmFuZCBDYW55b24gRHIsIExhcyBWZWdhcywgTlYsIDg5MTQ3In0sInN0b3JlTnVtYmVyIjoxNTI0LCJuYW1lIjoiTGFzIFZlZ2FzIEZhciBTVyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOViIsImxhdGl0dWRlIjozNi4xMTcsImxvbmdpdHVkZSI6LTExNS4xMzksImRpc3BsYXlBZGRyZXNzIjoiNDAwMSBTIE1hcnlsYW5kIFBrd3ksIExhcyBWZWdhcywgTlYsIDg5MTE5In0sInN0b3JlTnVtYmVyIjoyNjUsIm5hbWUiOiJMYXMgVmVnYXMgRmxhbWluZ28iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5WIiwibGF0aXR1ZGUiOjM2LjE3MTEsImxvbmdpdHVkZSI6LTExNS4yMSwiZGlzcGxheUFkZHJlc3MiOiIyNzggUyBEZWNhdHVyIEJsdmQsIExhcyBWZWdhcywgTlYsIDg5MTA3In0sInN0b3JlTnVtYmVyIjoyNjMsIm5hbWUiOiJMYXMgVmVnYXMgTWVhZG93cyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5WIiwibGF0aXR1ZGUiOjM2LjI3MTksImxvbmdpdHVkZSI6LTExNS4yMDksImRpc3BsYXlBZGRyZXNzIjoiNjM3MSBOIERlY2F0dXIgQmx2ZCwgTGFzIFZlZ2FzLCBOViwgODkxMzAifSwic3RvcmVOdW1iZXIiOjI1NjksIm5hbWUiOiJMYXMgVmVnYXMgTiBEZWNhdHVyIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5WIiwibGF0aXR1ZGUiOjM2LjIxOTEsImxvbmdpdHVkZSI6LTExNS4yNSwiZGlzcGxheUFkZHJlc3MiOiIzMjEwIE4gVGVuYXlhIFdheSwgTGFzIFZlZ2FzLCBOViwgODkxMjkifSwic3RvcmVOdW1iZXIiOjgyNiwibmFtZSI6IkxhcyBWZWdhcyBOVyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOViIsImxhdGl0dWRlIjozNi4yMzgzLCJsb25naXR1ZGUiOi0xMTUuMTcyLCJkaXNwbGF5QWRkcmVzcyI6IjIxODkgVyBDcmFpZyBSZCwgTm9ydGggTGFzIFZlZ2FzLCBOViwgODkwMzIifSwic3RvcmVOdW1iZXIiOjEyNDMsIm5hbWUiOiJMYXMgVmVnYXMgTm9ydGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOViIsImxhdGl0dWRlIjozNi4wMTIyLCJsb25naXR1ZGUiOi0xMTUuMTIyLCJkaXNwbGF5QWRkcmVzcyI6Ijk3MjUgUyBFYXN0ZXJuIEF2ZSwgTGFzIFZlZ2FzLCBOViwgODkxODMifSwic3RvcmVOdW1iZXIiOjExNzEsIm5hbWUiOiJMYXMgVmVnYXMgU2lsdmVyYWRvIFJhbmNoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5WIiwibGF0aXR1ZGUiOjM2LjI4OTYsImxvbmdpdHVkZSI6LTExNS4xMzMsImRpc3BsYXlBZGRyZXNzIjoiNzA5MCBOIDV0aCBTdCwgTm9ydGggTGFzIFZlZ2FzLCBOViwgODkwODQifSwic3RvcmVOdW1iZXIiOjI0OTcsIm5hbWUiOiJOIExhcyBWZWdhcyBEZWVyIFNQIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5WIiwibGF0aXR1ZGUiOjM5LjQ2MzYsImxvbmdpdHVkZSI6LTExOS43ODEsImRpc3BsYXlBZGRyZXNzIjoiNjg0NSBTaWVycmEgQ2VudGVyIFBrd3ksIFJlbm8sIE5WLCA4OTUxMSJ9LCJzdG9yZU51bWJlciI6MTM2MywibmFtZSI6IlJlbm8gU291dGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5WIiwibGF0aXR1ZGUiOjM5LjUzLCJsb25naXR1ZGUiOi0xMTkuNzE5LCJkaXNwbGF5QWRkcmVzcyI6IjE1NTAgRSBMaW5jb2xuIFdheSwgU3BhcmtzLCBOViwgODk0MzQifSwic3RvcmVOdW1iZXIiOjI0NzIsIm5hbWUiOiJTcGFya3MgU291dGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5WIiwibGF0aXR1ZGUiOjM2LjEyNDcsImxvbmdpdHVkZSI6LTExNS4yNDIsImRpc3BsYXlBZGRyZXNzIjoiMzU1MCBTIFJhaW5ib3cgQmx2ZCwgTGFzIFZlZ2FzLCBOViwgODkxMDMifSwic3RvcmVOdW1iZXIiOjg1MCwibmFtZSI6Ildlc3QgTGFzIFZlZ2FzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5IIiwibGF0aXR1ZGUiOjQyLjk0MTIsImxvbmdpdHVkZSI6LTcxLjQ3MjIsImRpc3BsYXlBZGRyZXNzIjoiMjIwIFMgUml2ZXIgUmQsIEJlZGZvcmQsIE5ILCAwMzExMCJ9LCJzdG9yZU51bWJlciI6MjAwOSwibmFtZSI6IkJlZGZvcmQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBiZSBvcGVuIE1vbi1GcmkgODowMCBBTSB0byAxMTowMCBQTSBTYXQgODowMCBBTSB0byAxMTowMCBQTSBTdW4gODowMCBBTSB0byAxMDowMCBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5IIiwibGF0aXR1ZGUiOjQzLjIxODksImxvbmdpdHVkZSI6LTcxLjQ4NDQsImRpc3BsYXlBZGRyZXNzIjoiODAgRGFtYW50ZSBEciwgQ29uY29yZCwgTkgsIDAzMzAxIn0sInN0b3JlTnVtYmVyIjoxMjI3LCJuYW1lIjoiQ29uY29yZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkgiLCJsYXRpdHVkZSI6NDMuMDQ5NSwibG9uZ2l0dWRlIjotNzAuODE3NywiZGlzcGxheUFkZHJlc3MiOiIxNDUwIEdyZWVubGFuZCBSZCwgR3JlZW5sYW5kLCBOSCwgMDM4NDAifSwic3RvcmVOdW1iZXIiOjI1MzAsIm5hbWUiOiJHcmVlbmxhbmQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOSCIsImxhdGl0dWRlIjo0My4wNDU3LCJsb25naXR1ZGUiOi03MS40NjEsImRpc3BsYXlBZGRyZXNzIjoiMTAwIFF1YWxpdHkgRHIsIEhvb2tzZXR0LCBOSCwgMDMxMDYifSwic3RvcmVOdW1iZXIiOjE1MjAsIm5hbWUiOiJIb29rc2V0dCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkgiLCJsYXRpdHVkZSI6NDIuOTI2MywibG9uZ2l0dWRlIjotNzIuMzAxMywiZGlzcGxheUFkZHJlc3MiOiI0NiBBc2ggQnJvb2sgUmQsIEtlZW5lLCBOSCwgMDM0MzEifSwic3RvcmVOdW1iZXIiOjIxMjAsIm5hbWUiOiJLZWVuZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkgiLCJsYXRpdHVkZSI6NDIuNzk4NiwibG9uZ2l0dWRlIjotNzEuNTM2LCJkaXNwbGF5QWRkcmVzcyI6IjYwMCBBbWhlcnN0IFN0LCBOYXNodWEsIE5ILCAwMzA2MyJ9LCJzdG9yZU51bWJlciI6MTUzMiwibmFtZSI6Ik5hc2h1YSBOVyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkgiLCJsYXRpdHVkZSI6NDIuNzAyNywibG9uZ2l0dWRlIjotNzEuNDM4MSwiZGlzcGxheUFkZHJlc3MiOiIzMTAgRGFuaWVsIFdlYnN0ZXIgSHd5LCBOYXNodWEsIE5ILCAwMzA2MCJ9LCJzdG9yZU51bWJlciI6MTIyOCwibmFtZSI6Ik5hc2h1YSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5IIiwibGF0aXR1ZGUiOjQyLjc2NDcsImxvbmdpdHVkZSI6LTcxLjIxNTUsImRpc3BsYXlBZGRyZXNzIjoiMjAzIFMgQnJvYWR3YXksIFNhbGVtLCBOSCwgMDMwNzkifSwic3RvcmVOdW1iZXIiOjExODYsIm5hbWUiOiJTYWxlbSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkgiLCJsYXRpdHVkZSI6NDMuMjM1LCJsb25naXR1ZGUiOi03MC44ODMzLCJkaXNwbGF5QWRkcmVzcyI6IjExIEFuZHJld3MgUmQsIFNvbWVyc3dvcnRoLCBOSCwgMDM4NzgifSwic3RvcmVOdW1iZXIiOjIxODIsIm5hbWUiOiJTb21lcnN3b3J0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOSiIsImxhdGl0dWRlIjo0MC4wNTgzLCJsb25naXR1ZGUiOi03NC4xNDk4LCJkaXNwbGF5QWRkcmVzcyI6IjU3MCBSb3V0ZSA3MCwgQnJpY2ssIE5KLCAwODcyMyJ9LCJzdG9yZU51bWJlciI6MTE1MywibmFtZSI6IkJyaWNrIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkoiLCJsYXRpdHVkZSI6NDAuNTYyMywibG9uZ2l0dWRlIjotNzQuNTUzMywiZGlzcGxheUFkZHJlc3MiOiIyMDAgUHJvbWVuYWRlIEJsdmQsIEJyaWRnZXdhdGVyLCBOSiwgMDg4MDcifSwic3RvcmVOdW1iZXIiOjEyMjQsIm5hbWUiOiJCcmlkZ2V3YXRlciIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5KIiwibGF0aXR1ZGUiOjQwLjAzNTcsImxvbmdpdHVkZSI6LTc0LjgyMjksImRpc3BsYXlBZGRyZXNzIjoiMjcwMyBSb3V0ZSA1NDEsIEJ1cmxpbmd0b24sIE5KLCAwODAxNiJ9LCJzdG9yZU51bWJlciI6MTE1OCwibmFtZSI6IkJ1cmxpbmd0b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOSiIsImxhdGl0dWRlIjozOS45MzQ2LCJsb25naXR1ZGUiOi03NS4wMjU2LCJkaXNwbGF5QWRkcmVzcyI6IjIxMzcgUm91dGUgMzgsIENoZXJyeSBIaWxsLCBOSiwgMDgwMDIifSwic3RvcmVOdW1iZXIiOjEwODUsIm5hbWUiOiJDaGVycnkgSGlsbCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkoiLCJsYXRpdHVkZSI6NDAuNjI3NywibG9uZ2l0dWRlIjotNzQuMzA3NCwiZGlzcGxheUFkZHJlc3MiOiI0NSBDZW50cmFsIEF2ZSwgQ2xhcmssIE5KLCAwNzA2NiJ9LCJzdG9yZU51bWJlciI6MTQ2NywibmFtZSI6IkNsYXJrIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOSiIsImxhdGl0dWRlIjo0MC44MjU4LCJsb25naXR1ZGUiOi03NC4xMzY2LCJkaXNwbGF5QWRkcmVzcyI6IjMwIEtpbmdzbGFuZCBSZCwgQ2xpZnRvbiwgTkosIDA3MDE0In0sInN0b3JlTnVtYmVyIjoxODIyLCJuYW1lIjoiQ2xpZnRvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5KIiwibGF0aXR1ZGUiOjQwLjAxMjMsImxvbmdpdHVkZSI6LTc0Ljk1ODEsImRpc3BsYXlBZGRyZXNzIjoiNDAwNCBSdGUgMTMwIE4sIERlbHJhbiwgTkosIDA4MDc1In0sInN0b3JlTnVtYmVyIjoyMTA0LCJuYW1lIjoiRGVscmFuIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5KIiwibGF0aXR1ZGUiOjM5LjgyOTcsImxvbmdpdHVkZSI6LTc1LjA5MTgsImRpc3BsYXlBZGRyZXNzIjoiMTkwMCBEZXB0Zm9yZCBDZW50ZXIgUmQsIERlcHRmb3JkLCBOSiwgMDgwOTYifSwic3RvcmVOdW1iZXIiOjEzODksIm5hbWUiOiJEZXB0Zm9yZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOSiIsImxhdGl0dWRlIjo0MC44MTIyLCJsb25naXR1ZGUiOi03NC4zNzk5LCJkaXNwbGF5QWRkcmVzcyI6IjEzMCBTdGF0ZSBSb3V0ZSAxMCwgRWFzdCBIYW5vdmVyLCBOSiwgMDc5MzYifSwic3RvcmVOdW1iZXIiOjE0OTEsIm5hbWUiOiJFYXN0IEhhbm92ZXIiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5KIiwibGF0aXR1ZGUiOjQwLjI3NzEsImxvbmdpdHVkZSI6LTc0LjU0MTUsImRpc3BsYXlBZGRyZXNzIjoiNzAgUHJpbmNldG9uIEhpZ2h0c3Rvd24gUmQsIEVhc3QgV2luZHNvciwgTkosIDA4NTIwIn0sInN0b3JlTnVtYmVyIjoxMzQ1LCJuYW1lIjoiRWFzdCBXaW5kc29yIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOSiIsImxhdGl0dWRlIjo0MC44MTM1LCJsb25naXR1ZGUiOi03My45ODIxLCJkaXNwbGF5QWRkcmVzcyI6IjU0MyBSaXZlciBSZCwgRWRnZXdhdGVyLCBOSiwgMDcwMjAifSwic3RvcmVOdW1iZXIiOjEyNjMsIm5hbWUiOiJFZGdld2F0ZXIiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IC0iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgQ2xvc2VkIG9uIFN1bmRheSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5KIiwibGF0aXR1ZGUiOjQwLjg4OTUsImxvbmdpdHVkZSI6LTc0LjI3MTgsImRpc3BsYXlBZGRyZXNzIjoiNjMyIFJvdXRlIDQ2IEUsIEZhaXJmaWVsZCwgTkosIDA3MDA0In0sInN0b3JlTnVtYmVyIjoxMTc1LCJuYW1lIjoiRmFpcmZpZWxkIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkoiLCJsYXRpdHVkZSI6MzkuNzQ2MiwibG9uZ2l0dWRlIjotNzQuOTk0MywiZGlzcGxheUFkZHJlc3MiOiI0ODcgQ3Jvc3MgS2V5cyBSZCwgU2lja2xlcnZpbGxlLCBOSiwgMDgwODEifSwic3RvcmVOdW1iZXIiOjIxODEsIm5hbWUiOiJHbG91Y2VzdGVyIFRvd25zaGlwIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOSiIsImxhdGl0dWRlIjo0MC42NzM4LCJsb25naXR1ZGUiOi03NS4xMzUxLCJkaXNwbGF5QWRkcmVzcyI6IjEyMDQgTmV3IEJydW5zd2ljayBBdmUsIFBoaWxsaXBzYnVyZywgTkosIDA4ODY1In0sInN0b3JlTnVtYmVyIjoxNDY0LCJuYW1lIjoiR3JlZW53aWNoIFRvd25zaGlwIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOSiIsImxhdGl0dWRlIjo0MC44OTgzLCJsb25naXR1ZGUiOi03NC4wMzg5LCJkaXNwbGF5QWRkcmVzcyI6IjYzMCBNYWluIFN0LCBIYWNrZW5zYWNrLCBOSiwgMDc2MDEifSwic3RvcmVOdW1iZXIiOjEzMzAsIm5hbWUiOiJIYWNrZW5zYWNrIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiAtIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIENsb3NlZCBvbiBTdW5kYXkiXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOSiIsImxhdGl0dWRlIjo0MC4xMzA1LCJsb25naXR1ZGUiOi03NC4yMjA0LCJkaXNwbGF5QWRkcmVzcyI6IjQ5NTUgVVMgSGlnaHdheSA5LCBIb3dlbGwsIE5KLCAwNzczMSJ9LCJzdG9yZU51bWJlciI6MTgyMywibmFtZSI6Ikhvd2VsbCBUb3duc2hpcCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkoiLCJsYXRpdHVkZSI6NDAuNzMyNiwibG9uZ2l0dWRlIjotNzQuMDM1NywiZGlzcGxheUFkZHJlc3MiOiIxMDAgMTR0aCBTdCwgSmVyc2V5IENpdHksIE5KLCAwNzMxMCJ9LCJzdG9yZU51bWJlciI6MTg4NiwibmFtZSI6IkplcnNleSBDaXR5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOSiIsImxhdGl0dWRlIjo0MC42MTk2LCJsb25naXR1ZGUiOi03NC4yNDMxLCJkaXNwbGF5QWRkcmVzcyI6IjYyMSBXIEVkZ2FyIFJkLCBMaW5kZW4sIE5KLCAwNzAzNiJ9LCJzdG9yZU51bWJlciI6MTMxNSwibmFtZSI6IkxpbmRlbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOSiIsImxhdGl0dWRlIjo0MC4yOTA1LCJsb25naXR1ZGUiOi03NC4zMDA5LCJkaXNwbGF5QWRkcmVzcyI6IjU1IFVTIEh3eSA5LCBNYW5hbGFwYW4sIE5KLCAwNzcyNiJ9LCJzdG9yZU51bWJlciI6MTE4NCwibmFtZSI6Ik1hbmFsYXBhbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5KIiwibGF0aXR1ZGUiOjM5Ljc2NDksImxvbmdpdHVkZSI6LTc1LjEzMSwiZGlzcGxheUFkZHJlc3MiOiI2NzUgV29vZGJ1cnkgR2xhc3Nib3JvIFJkLCBTZXdlbGwsIE5KLCAwODA4MCJ9LCJzdG9yZU51bWJlciI6MjM4NCwibmFtZSI6Ik1hbnR1YSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkoiLCJsYXRpdHVkZSI6MzkuODY3MiwibG9uZ2l0dWRlIjotNzQuOTIyOSwiZGlzcGxheUFkZHJlc3MiOiI3NTEgUm91dGUgNzMgUywgTWFybHRvbiwgTkosIDA4MDUzIn0sInN0b3JlTnVtYmVyIjoxMzY1LCJuYW1lIjoiTWFybHRvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkoiLCJsYXRpdHVkZSI6MzkuNDUyLCJsb25naXR1ZGUiOi03NC42MzQsImRpc3BsYXlBZGRyZXNzIjoiMzgwIENvbnN1bWVyIFNxLCBNYXlzIExhbmRpbmcsIE5KLCAwODMzMCJ9LCJzdG9yZU51bWJlciI6MTEwOSwibmFtZSI6Ik1heXMgTGFuZGluZyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5KIiwibGF0aXR1ZGUiOjQwLjU1MTUsImxvbmdpdHVkZSI6LTc0LjMzMywiZGlzcGxheUFkZHJlc3MiOiIxMDAgUGFyc29uYWdlIFJkLCBFZGlzb24sIE5KLCAwODgzNyJ9LCJzdG9yZU51bWJlciI6MTA1NSwibmFtZSI6Ik1lbmxvIFBhcmsiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOSiIsImxhdGl0dWRlIjo0MC40MTE1LCJsb25naXR1ZGUiOi03NC4xMzYsImRpc3BsYXlBZGRyZXNzIjoiMjEwNSBSb3V0ZSAzNSwgTWlkZGxldG93biwgTkosIDA3NzQ4In0sInN0b3JlTnVtYmVyIjoxMTkyLCJuYW1lIjoiTWlkZGxldG93biIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkoiLCJsYXRpdHVkZSI6NDAuNDQyMiwibG9uZ2l0dWRlIjotNzQuNDI2LCJkaXNwbGF5QWRkcmVzcyI6IjQwMCBSeWRlcnMgTG4sIE1pbGx0b3duLCBOSiwgMDg4NTAifSwic3RvcmVOdW1iZXIiOjExNTIsIm5hbWUiOiJNaWxsdG93biIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5KIiwibGF0aXR1ZGUiOjM5LjQyMTksImxvbmdpdHVkZSI6LTc1LjA0MjMsImRpc3BsYXlBZGRyZXNzIjoiMjEwMCBOIDJuZCBTdCwgTWlsbHZpbGxlLCBOSiwgMDgzMzIifSwic3RvcmVOdW1iZXIiOjIxNzAsIm5hbWUiOiJNaWxsdmlsbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOSiIsImxhdGl0dWRlIjozOS45NjgzLCJsb25naXR1ZGUiOi03NC45MTU1LCJkaXNwbGF5QWRkcmVzcyI6IjQgQ2VudGVydG9uIFJkLCBNb3VudCBMYXVyZWwsIE5KLCAwODA1NCJ9LCJzdG9yZU51bWJlciI6MTkxNywibmFtZSI6Ik1vdW50IExhdXJlbCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkoiLCJsYXRpdHVkZSI6NDAuODAyLCJsb25naXR1ZGUiOi03NC4wMjE3LCJkaXNwbGF5QWRkcmVzcyI6IjcxMDEgVG9ubmVsbGUgQXZlLCBOb3J0aCBCZXJnZW4sIE5KLCAwNzA0NyJ9LCJzdG9yZU51bWJlciI6MTg2NSwibmFtZSI6Ik5vcnRoIEJlcmdlbiBDb21tb25zIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkoiLCJsYXRpdHVkZSI6NDAuMjMwNywibG9uZ2l0dWRlIjotNzQuMDQ0OCwiZGlzcGxheUFkZHJlc3MiOiIyMzMxIFN0YXRlIFJ0ZSA2NiwgT2NlYW4sIE5KLCAwNzcxMiJ9LCJzdG9yZU51bWJlciI6MTM3OCwibmFtZSI6Ik9jZWFuIFRvd25zaGlwIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOSiIsImxhdGl0dWRlIjo0MC45MTU0LCJsb25naXR1ZGUiOi03NC4wNTg5LCJkaXNwbGF5QWRkcmVzcyI6IjkwMCBCZXJnZW4gVG93biBDdHIsIFBhcmFtdXMsIE5KLCAwNzY1MiJ9LCJzdG9yZU51bWJlciI6MjM4MSwibmFtZSI6IlBhcmFtdXMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogLSIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBDbG9zZWQgb24gU3VuZGF5Il19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkoiLCJsYXRpdHVkZSI6NDAuMzA1OSwibG9uZ2l0dWRlIjotNzQuNjc2NiwiZGlzcGxheUFkZHJlc3MiOiI1MDAgTmFzc2F1IFBhcmsgQmx2ZCwgUHJpbmNldG9uLCBOSiwgMDg1NDAifSwic3RvcmVOdW1iZXIiOjExNTEsIm5hbWUiOiJQcmluY2V0b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5KIiwibGF0aXR1ZGUiOjQwLjk4OTIsImxvbmdpdHVkZSI6LTc0LjMyNjEsImRpc3BsYXlBZGRyZXNzIjoiOTQgU3RhdGUgUnQgMjMsIFJpdmVyZGFsZSwgTkosIDA3NDU3In0sInN0b3JlTnVtYmVyIjoyMjQ3LCJuYW1lIjoiUml2ZXJkYWxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOSiIsImxhdGl0dWRlIjo0MC45MDM5LCJsb25naXR1ZGUiOi03NC41NDkyLCJkaXNwbGF5QWRkcmVzcyI6IjM4MSBNb3VudCBIb3BlIEF2ZSwgUm9ja2F3YXksIE5KLCAwNzg2NiJ9LCJzdG9yZU51bWJlciI6MTg2NCwibmFtZSI6IlJvY2thd2F5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOSiIsImxhdGl0dWRlIjo0MC4zODA5LCJsb25naXR1ZGUiOi03NC41NzU5LCJkaXNwbGF5QWRkcmVzcyI6IjQxOTYgVVMgSHd5IDEsIE1vbm1vdXRoIEp1bmN0aW9uLCBOSiwgMDg4NTIifSwic3RvcmVOdW1iZXIiOjIyNTYsIm5hbWUiOiJTb3V0aCBCcnVuc3dpY2siLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOSiIsImxhdGl0dWRlIjo0MC41NDg0LCJsb25naXR1ZGUiOi03NC40MjM0LCJkaXNwbGF5QWRkcmVzcyI6IjUwMDAgSGFkbGV5IENlbnRlciBEciwgU291dGggUGxhaW5maWVsZCwgTkosIDA3MDgwIn0sInN0b3JlTnVtYmVyIjoxOTI5LCJuYW1lIjoiU291dGggUGxhaW5maWVsZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkoiLCJsYXRpdHVkZSI6MzkuNzEwOCwibG9uZ2l0dWRlIjotNzQuMjgzNSwiZGlzcGxheUFkZHJlc3MiOiIyMDkgU3RhZmZvcmQgUGFyayBCbHZkLCBNYW5haGF3a2luLCBOSiwgMDgwNTAifSwic3RvcmVOdW1iZXIiOjIzOTIsIm5hbWUiOiJTdGFmZm9yZCBUb3duc2hpcCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOSiIsImxhdGl0dWRlIjozOS45ODc5LCJsb25naXR1ZGUiOi03NC4xNzU0LCJkaXNwbGF5QWRkcmVzcyI6IjEzMzEgSG9vcGVyIEF2ZSwgVG9tcyBSaXZlciwgTkosIDA4NzUzIn0sInN0b3JlTnVtYmVyIjoxMTU0LCJuYW1lIjoiVG9tcyBSaXZlciIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkoiLCJsYXRpdHVkZSI6MzkuNzMyNCwibG9uZ2l0dWRlIjotNzUuMDM5NywiZGlzcGxheUFkZHJlc3MiOiI0MDAxIEJsYWNrIEhvcnNlIFBpa2UsIFR1cm5lcnN2aWxsZSwgTkosIDA4MDEyIn0sInN0b3JlTnVtYmVyIjoxMTMyLCJuYW1lIjoiVHVybmVyc3ZpbGxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOSiIsImxhdGl0dWRlIjo0MC43MTcxLCJsb25naXR1ZGUiOi03NC4yODU3LCJkaXNwbGF5QWRkcmVzcyI6IjIyMzUgU3ByaW5nZmllbGQgQXZlLCBWYXV4aGFsbCwgTkosIDA3MDg4In0sInN0b3JlTnVtYmVyIjoyMTQxLCJuYW1lIjoiVW5pb24gTm9ydGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOSiIsImxhdGl0dWRlIjo0MC42ODY2LCJsb25naXR1ZGUiOi03NC4zMDg4LCJkaXNwbGF5QWRkcmVzcyI6IjI2OTAgVVMgSHd5IDIyIEUsIFVuaW9uLCBOSiwgMDcwODMifSwic3RvcmVOdW1iZXIiOjEwODQsIm5hbWUiOiJVbmlvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5KIiwibGF0aXR1ZGUiOjM5Ljg1MDMsImxvbmdpdHVkZSI6LTc0Ljk4NDQsImRpc3BsYXlBZGRyZXNzIjoiMTEzOSBXaGl0ZSBIb3JzZSBSZCwgVm9vcmhlZXMsIE5KLCAwODA0MyJ9LCJzdG9yZU51bWJlciI6MTEzMywibmFtZSI6IlZvb3JoZWVzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOSiIsImxhdGl0dWRlIjo0MC44NDc3LCJsb25naXR1ZGUiOi03NC44MDk0LCJkaXNwbGF5QWRkcmVzcyI6IjY4IFVTIEh3eSA0NiBXLCBIYWNrZXR0c3Rvd24sIE5KLCAwNzg0MCJ9LCJzdG9yZU51bWJlciI6MjQ0NiwibmFtZSI6Ildhc2hpbmd0b24gVHdwIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOSiIsImxhdGl0dWRlIjo0MC42NDEyLCJsb25naXR1ZGUiOi03NC40MjIxLCJkaXNwbGF5QWRkcmVzcyI6IjE1MTUgVVMgSGlnaHdheSAyMiwgV2F0Y2h1bmcsIE5KLCAwNzA2OSJ9LCJzdG9yZU51bWJlciI6MTE1NSwibmFtZSI6IldhdGNodW5nIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTk0iLCJsYXRpdHVkZSI6MzUuMDg1NSwibG9uZ2l0dWRlIjotMTA2LjUyOCwiZGlzcGxheUFkZHJlc3MiOiIxMTEyMCBMb21hcyBCbHZkIE5FLCBBbGJ1cXVlcnF1ZSwgTk0sIDg3MTEyIn0sInN0b3JlTnVtYmVyIjozNTcsIm5hbWUiOiJBbGJ1cXVlcnF1ZSBMb21hcyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTk0iLCJsYXRpdHVkZSI6MzUuMTcyMSwibG9uZ2l0dWRlIjotMTA2LjU4MiwiZGlzcGxheUFkZHJlc3MiOiI2MTAwIFBhc2VvIERlbCBOb3J0ZSBORSwgQWxidXF1ZXJxdWUsIE5NLCA4NzExMyJ9LCJzdG9yZU51bWJlciI6MjAzMSwibmFtZSI6IkFsYnVxdWVycXVlIE5FIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTk0iLCJsYXRpdHVkZSI6MzUuMTg2MiwibG9uZ2l0dWRlIjotMTA2LjY2NCwiZGlzcGxheUFkZHJlc3MiOiI5MzcxIENvb3JzIEJsdmQgTlcsIEFsYnVxdWVycXVlLCBOTSwgODcxMTQifSwic3RvcmVOdW1iZXIiOjYyNSwibmFtZSI6IkFsYnVxdWVycXVlIE5XIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOTSIsImxhdGl0dWRlIjozNS4xMywibG9uZ2l0dWRlIjotMTA2LjU0OCwiZGlzcGxheUFkZHJlc3MiOiI4NTEwIE1vbnRnb21lcnkgQmx2ZCBORSwgQWxidXF1ZXJxdWUsIE5NLCA4NzExMSJ9LCJzdG9yZU51bWJlciI6MzU2LCJuYW1lIjoiQWxidXF1ZXJxdWUgV3lvbWluZyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTk0iLCJsYXRpdHVkZSI6MzYuNzY4MiwibG9uZ2l0dWRlIjotMTA4LjE0OCwiZGlzcGxheUFkZHJlc3MiOiI0OTAwIEUgTWFpbiBTdCwgRmFybWluZ3RvbiwgTk0sIDg3NDAyIn0sInN0b3JlTnVtYmVyIjo5NTIsIm5hbWUiOiJGYXJtaW5ndG9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5NIiwibGF0aXR1ZGUiOjMyLjMxNzUsImxvbmdpdHVkZSI6LTEwNi43NDQsImRpc3BsYXlBZGRyZXNzIjoiMjU0MSBFIExvaG1hbiBBdmUgU3RlIEEsIExhcyBDcnVjZXMsIE5NLCA4ODAxMSJ9LCJzdG9yZU51bWJlciI6NzY5LCJuYW1lIjoiTGFzIENydWNlcyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5NIiwibGF0aXR1ZGUiOjM1LjI1MzMsImxvbmdpdHVkZSI6LTEwNi42NTEsImRpc3BsYXlBZGRyZXNzIjoiNDIyNSBDcmVzdHZpZXcgRHIsIFJpbyBSYW5jaG8sIE5NLCA4NzEyNCJ9LCJzdG9yZU51bWJlciI6MTExNywibmFtZSI6IlJpbyBSYW5jaG8iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTk0iLCJsYXRpdHVkZSI6MzMuNDI2NiwibG9uZ2l0dWRlIjotMTA0LjUyMiwiZGlzcGxheUFkZHJlc3MiOiIyNzI1IE4gTWFpbiBTdCwgUm9zd2VsbCwgTk0sIDg4MjAxIn0sInN0b3JlTnVtYmVyIjo4MzIsIm5hbWUiOiJSb3N3ZWxsIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6W10sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTk0iLCJsYXRpdHVkZSI6MzUuNjM5NiwibG9uZ2l0dWRlIjotMTA2LjAxMywiZGlzcGxheUFkZHJlc3MiOiIzNTUwIFphZmFyYW5vIERyLCBTYW50YSBGZSwgTk0sIDg3NTA3In0sInN0b3JlTnVtYmVyIjoxMDM0LCJuYW1lIjoiU2FudGEgRmUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBob3RvIENlbnRlciIsIlRhcmdldCBNb2JpbGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlkiLCJsYXRpdHVkZSI6NDIuOTY2MSwibG9uZ2l0dWRlIjotNzQuMTksImRpc3BsYXlBZGRyZXNzIjoiMTAwIEFtc3RlcmRhbSBDb21tb25zLCBBbXN0ZXJkYW0sIE5ZLCAxMjAxMCJ9LCJzdG9yZU51bWJlciI6MjQ2MSwibmFtZSI6IkFtc3RlcmRhbSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOWSIsImxhdGl0dWRlIjo0MC42ODUsImxvbmdpdHVkZSI6LTczLjk3NjYsImRpc3BsYXlBZGRyZXNzIjoiMTM5IEZsYXRidXNoIEF2ZSwgQnJvb2tseW4sIE5ZLCAxMTIxNyJ9LCJzdG9yZU51bWJlciI6MTg0OSwibmFtZSI6IkF0bGFudGljIFRlcm1pbmFsIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiSW4tU3RvcmUgQXBwbGUgU3RvcmUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5ZIiwibGF0aXR1ZGUiOjQzLjAxNjIsImxvbmdpdHVkZSI6LTc4LjIwMDksImRpc3BsYXlBZGRyZXNzIjoiNDMwMCBWZXRlcmFucyBNZW1vcmlhbCBEciwgQmF0YXZpYSwgTlksIDE0MDIwIn0sInN0b3JlTnVtYmVyIjoyMzgyLCJuYW1lIjoiQmF0YXZpYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJTdGFyYnVja3MiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlkiLCJsYXRpdHVkZSI6NDAuNzI2NCwibG9uZ2l0dWRlIjotNzMuMjc3MiwiZGlzcGxheUFkZHJlc3MiOiI4MzggU3VucmlzZSBId3ksIEJheSBTaG9yZSwgTlksIDExNzA2In0sInN0b3JlTnVtYmVyIjoxMTQ4LCJuYW1lIjoiQmF5IFNob3JlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlkiLCJsYXRpdHVkZSI6NDIuMTU0LCJsb25naXR1ZGUiOi03Ni44NzA5LCJkaXNwbGF5QWRkcmVzcyI6IjkzMCBDb3VudHkgUmQgNjQsIEVsbWlyYSwgTlksIDE0OTAzIn0sInN0b3JlTnVtYmVyIjoyMTU4LCJuYW1lIjoiQmlnIEZsYXRzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5ZIiwibGF0aXR1ZGUiOjQyLjA5NDIsImxvbmdpdHVkZSI6LTc2LjAwMTcsImRpc3BsYXlBZGRyZXNzIjoiMzExMiBWZXN0YWwgUGt3eSBFLCBWZXN0YWwsIE5ZLCAxMzg1MCJ9LCJzdG9yZU51bWJlciI6MTA1NiwibmFtZSI6IkJpbmdoYW10b24gVmVzdGFsIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5ZIiwibGF0aXR1ZGUiOjQyLjk5ODcsImxvbmdpdHVkZSI6LTc4LjgxODQsImRpc3BsYXlBZGRyZXNzIjoiMTU3NSBOaWFnYXJhIEZhbGxzIEJsdmQsIEFtaGVyc3QsIE5ZLCAxNDIyOCJ9LCJzdG9yZU51bWJlciI6MTAxMCwibmFtZSI6IkJvdWxldmFyZCBNYWxsIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOWSIsImxhdGl0dWRlIjo0MC44MjQxLCJsb25naXR1ZGUiOi03My45MzAxLCJkaXNwbGF5QWRkcmVzcyI6IjcwMCBFeHRlcmlvciBTdCwgQnJvbngsIE5ZLCAxMDQ1MSJ9LCJzdG9yZU51bWJlciI6MjQ3NSwibmFtZSI6IkJyb254IFRlcm1pbmFsIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlkiLCJsYXRpdHVkZSI6NDAuNjMxNCwibG9uZ2l0dWRlIjotNzMuOTQ2NywiZGlzcGxheUFkZHJlc3MiOiIxNTk4IEZsYXRidXNoIEF2ZSwgQnJvb2tseW4sIE5ZLCAxMTIxMCJ9LCJzdG9yZU51bWJlciI6MjIxMiwibmFtZSI6IkJyb29rbHluIEp1bmN0aW9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOWSIsImxhdGl0dWRlIjo0My4wNDY2LCJsb25naXR1ZGUiOi03Ni4yMzU5LCJkaXNwbGF5QWRkcmVzcyI6IjM2NTcgVyBHZW5lc2VlIFN0LCBTeXJhY3VzZSwgTlksIDEzMjE5In0sInN0b3JlTnVtYmVyIjoyMzI0LCJuYW1lIjoiQ2FtaWxsdXMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5ZIiwibGF0aXR1ZGUiOjQwLjc3MjEsImxvbmdpdHVkZSI6LTczLjIwMDMsImRpc3BsYXlBZGRyZXNzIjoiMTYwIE4gUmVzZWFyY2ggUGwsIENlbnRyYWwgSXNsaXAsIE5ZLCAxMTcyMiJ9LCJzdG9yZU51bWJlciI6MjEwMiwibmFtZSI6IkNlbnRyYWwgSXNsaXAiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlkiLCJsYXRpdHVkZSI6NDIuODc4OCwibG9uZ2l0dWRlIjotNzguNjk4OSwiZGlzcGxheUFkZHJlc3MiOiI0OTIwIFRyYW5zaXQgUmQsIERlcGV3LCBOWSwgMTQwNDMifSwic3RvcmVOdW1iZXIiOjIxOTEsIm5hbWUiOiJDaGVla3Rvd2FnYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlkiLCJsYXRpdHVkZSI6NDMuMTA1MSwibG9uZ2l0dWRlIjotNzcuNzQ2NiwiZGlzcGxheUFkZHJlc3MiOiIzMTgxIENoaWxpIEF2ZSwgUm9jaGVzdGVyLCBOWSwgMTQ2MjQifSwic3RvcmVOdW1iZXIiOjI1MjgsIm5hbWUiOiJDaGlsaSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5ZIiwibGF0aXR1ZGUiOjQzLjE2MTksImxvbmdpdHVkZSI6LTc2LjEyMjQsImRpc3BsYXlBZGRyZXNzIjoiODA2MSBCcmV3ZXJ0b24gUmQsIENpY2VybywgTlksIDEzMDM5In0sInN0b3JlTnVtYmVyIjoyMjk1LCJuYW1lIjoiQ2ljZXJvIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5ZIiwibGF0aXR1ZGUiOjQxLjA5NjUsImxvbmdpdHVkZSI6LTczLjk1MzQsImRpc3BsYXlBZGRyZXNzIjoiNDEyMCBQYWxpc2FkZXMgQ2VudGVyIERyLCBXZXN0IE55YWNrLCBOWSwgMTA5OTQifSwic3RvcmVOdW1iZXIiOjEwODMsIm5hbWUiOiJDbGFya3N0b3duIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOWSIsImxhdGl0dWRlIjo0My4xODc4LCJsb25naXR1ZGUiOi03Ni4yNDY0LCJkaXNwbGF5QWRkcmVzcyI6IjM4NTcgU3RhdGUgUm91dGUgMzEsIExpdmVycG9vbCwgTlksIDEzMDkwIn0sInN0b3JlTnVtYmVyIjoxNDc1LCJuYW1lIjoiQ2xheSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlkiLCJsYXRpdHVkZSI6NDIuODU2OCwibG9uZ2l0dWRlIjotNzMuNzcyNCwiZGlzcGxheUFkZHJlc3MiOiIyNiBDcm9zc2luZyBCbHZkLCBDbGlmdG9uIFBhcmssIE5ZLCAxMjA2NSJ9LCJzdG9yZU51bWJlciI6MTQ3NywibmFtZSI6IkNsaWZ0b24gUGFyayIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlkiLCJsYXRpdHVkZSI6NDAuNzgzMSwibG9uZ2l0dWRlIjotNzMuODMzMywiZGlzcGxheUFkZHJlc3MiOiIxMzUwNSAyMHRoIEF2ZSwgQ29sbGVnZSBQb2ludCwgTlksIDExMzU2In0sInN0b3JlTnVtYmVyIjoxMTUwLCJuYW1lIjoiQ29sbGVnZSBQb2ludCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5ZIiwibGF0aXR1ZGUiOjQyLjcwNDksImxvbmdpdHVkZSI6LTczLjgyNDEsImRpc3BsYXlBZGRyZXNzIjoiMTQ0MCBDZW50cmFsIEF2ZSwgQ29sb25pZSwgTlksIDEyMjA1In0sInN0b3JlTnVtYmVyIjoxMjY4LCJuYW1lIjoiQ29sb25pZSBOb3J0aHdheSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOWSIsImxhdGl0dWRlIjo0MC44Mzg5LCJsb25naXR1ZGUiOi03My4yODUyLCJkaXNwbGF5QWRkcmVzcyI6Ijk4IFZldGVyYW5zIE1lbW9yaWFsIEh3eSwgQ29tbWFjaywgTlksIDExNzI1In0sInN0b3JlTnVtYmVyIjoxMTA4LCJuYW1lIjoiQ29tbWFjayIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5ZIiwibGF0aXR1ZGUiOjQwLjgwOTMsImxvbmdpdHVkZSI6LTczLjI4NzEsImRpc3BsYXlBZGRyZXNzIjoiNCBIZW5yeSBTdCwgQ29tbWFjaywgTlksIDExNzI1In0sInN0b3JlTnVtYmVyIjoxMzg3LCJuYW1lIjoiQ29tbWFjayBTb3V0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOWSIsImxhdGl0dWRlIjo0MC42ODgsImxvbmdpdHVkZSI6LTczLjQwNjgsImRpc3BsYXlBZGRyZXNzIjoiMTE0OSBTdW5yaXNlIEh3eSwgQ29waWFndWUsIE5ZLCAxMTcyNiJ9LCJzdG9yZU51bWJlciI6MTE0NywibmFtZSI6IkNvcGlhZ3VlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlkiLCJsYXRpdHVkZSI6NDIuNjQ1MSwibG9uZ2l0dWRlIjotNzMuNzAwNywiZGlzcGxheUFkZHJlc3MiOiI2MjUgM3JkIEF2ZSBFeHQsIFJlbnNzZWxhZXIsIE5ZLCAxMjE0NCJ9LCJzdG9yZU51bWJlciI6MTc5NiwibmFtZSI6IkVhc3QgR3JlZW5idXNoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5ZIiwibGF0aXR1ZGUiOjQyLjk5NSwibG9uZ2l0dWRlIjotNzguNjk4MSwiZGlzcGxheUFkZHJlc3MiOiI4MjkwIFRyYW5zaXQgUmQsIFdpbGxpYW1zdmlsbGUsIE5ZLCAxNDIyMSJ9LCJzdG9yZU51bWJlciI6MTAxMSwibmFtZSI6IkVhc3Rlcm4gSGlsbHMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5ZIiwibGF0aXR1ZGUiOjQwLjc1MTQsImxvbmdpdHVkZSI6LTczLjQxOTgsImRpc3BsYXlBZGRyZXNzIjoiMTAwIFdpbGxvdyBQYXJrIEN0ciwgRmFybWluZ2RhbGUsIE5ZLCAxMTczNSJ9LCJzdG9yZU51bWJlciI6MTg2NiwibmFtZSI6IkZhcm1pbmdkYWxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOWSIsImxhdGl0dWRlIjo0My4wMzEzLCJsb25naXR1ZGUiOi03Ni4wMTkzLCJkaXNwbGF5QWRkcmVzcyI6IjM0MCBUb3duZSBEciwgRmF5ZXR0ZXZpbGxlLCBOWSwgMTMwNjYifSwic3RvcmVOdW1iZXIiOjE0NzYsIm5hbWUiOiJGYXlldHRldmlsbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5ZIiwibGF0aXR1ZGUiOjQwLjc1NzEsImxvbmdpdHVkZSI6LTczLjgzNTQsImRpc3BsYXlBZGRyZXNzIjoiNDAyNCBDb2xsZWdlIFBvaW50IEJsdmQsIEZsdXNoaW5nLCBOWSwgMTEzNTQifSwic3RvcmVOdW1iZXIiOjI0NTEsIm5hbWUiOiJGbHVzaGluZyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkluLVN0b3JlIEFwcGxlIFN0b3JlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlkiLCJsYXRpdHVkZSI6NDAuNjUyMiwibG9uZ2l0dWRlIjotNzMuODY5NywiZGlzcGxheUFkZHJlc3MiOiI1MTkgR2F0ZXdheSBEciwgQnJvb2tseW4sIE5ZLCAxMTIzOSJ9LCJzdG9yZU51bWJlciI6MTQwMSwibmFtZSI6IkdhdGV3YXkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5ZIiwibGF0aXR1ZGUiOjQyLjg2NywibG9uZ2l0dWRlIjotNzMuOTMwMSwiZGlzcGxheUFkZHJlc3MiOiIyMDQgU2FyYXRvZ2EgUmQsIEdsZW52aWxsZSwgTlksIDEyMzAyIn0sInN0b3JlTnVtYmVyIjoyODA1LCJuYW1lIjoiR2xlbnZpbGxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIl0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOWSIsImxhdGl0dWRlIjo0My4yMDMxLCJsb25naXR1ZGUiOi03Ny42OTI2LCJkaXNwbGF5QWRkcmVzcyI6IjYwMCBHcmVlY2UgUmlkZ2UgQ2VudGVyIERyLCBSb2NoZXN0ZXIsIE5ZLCAxNDYyNiJ9LCJzdG9yZU51bWJlciI6MTE5NCwibmFtZSI6IkdyZWVjZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlkiLCJsYXRpdHVkZSI6NDAuNzk0OCwibG9uZ2l0dWRlIjotNzMuOTMxNSwiZGlzcGxheUFkZHJlc3MiOiI1MTcgRSAxMTd0aCBTdHJlZXQsIE5ldyBZb3JrLCBOWSwgMTAwMzUifSwic3RvcmVOdW1iZXIiOjIzODAsIm5hbWUiOiJIYXJsZW0iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiSW4tU3RvcmUgQXBwbGUgU3RvcmUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5ZIiwibGF0aXR1ZGUiOjQzLjA3ODUsImxvbmdpdHVkZSI6LTc3LjYzMTcsImRpc3BsYXlBZGRyZXNzIjoiMjMyNSBNYXJrZXRwbGFjZSBEciwgUm9jaGVzdGVyLCBOWSwgMTQ2MjMifSwic3RvcmVOdW1iZXIiOjExNTcsIm5hbWUiOiJIZW5yaWV0dGEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5ZIiwibGF0aXR1ZGUiOjQwLjc3MywibG9uZ2l0dWRlIjotNzMuNTMxNCwiZGlzcGxheUFkZHJlc3MiOiIyMDAzIEJyb2Fkd2F5IE1hbGwsIEhpY2tzdmlsbGUsIE5ZLCAxMTgwMSJ9LCJzdG9yZU51bWJlciI6MTg4NSwibmFtZSI6IkhpY2tzdmlsbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOWSIsImxhdGl0dWRlIjo0My4xOTgxLCJsb25naXR1ZGUiOi03Ny41NzQ1LCJkaXNwbGF5QWRkcmVzcyI6IjUwMCBNZWRsZXkgQ2VudHJlIFBrd3ksIElyb25kZXF1b2l0LCBOWSwgMTQ2MjIifSwic3RvcmVOdW1iZXIiOjIyMTEsIm5hbWUiOiJJcm9uZGVxdW9pdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlkiLCJsYXRpdHVkZSI6NDEuOTY4NSwibG9uZ2l0dWRlIjotNzMuOTg1OSwiZGlzcGxheUFkZHJlc3MiOiIxMzAwIFVsc3RlciBBdmUsIEtpbmdzdG9uLCBOWSwgMTI0MDEifSwic3RvcmVOdW1iZXIiOjEzMTgsIm5hbWUiOiJLaW5nc3RvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlkiLCJsYXRpdHVkZSI6NDIuNDgzNSwibG9uZ2l0dWRlIjotNzYuNDkxMiwiZGlzcGxheUFkZHJlc3MiOiI0MCBDYXRoZXJ3b29kIFJkLCBJdGhhY2EsIE5ZLCAxNDg1MCJ9LCJzdG9yZU51bWJlciI6MTUwOCwibmFtZSI6IkxhbnNpbmciLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5ZIiwibGF0aXR1ZGUiOjQyLjc1NzcsImxvbmdpdHVkZSI6LTczLjc2OTcsImRpc3BsYXlBZGRyZXNzIjoiNjc1IFRyb3kgU2NoZW5lY3RhZHkgUmQsIExhdGhhbSwgTlksIDEyMTEwIn0sInN0b3JlTnVtYmVyIjoxOTE1LCJuYW1lIjoiTGF0aGFtIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOWSIsImxhdGl0dWRlIjo0MC43MjQ3LCJsb25naXR1ZGUiOi03My40OTQ3LCJkaXNwbGF5QWRkcmVzcyI6IjM4NTAgSGVtcHN0ZWFkIFRwa2UsIExldml0dG93biwgTlksIDExNzU2In0sInN0b3JlTnVtYmVyIjoxMjY0LCJuYW1lIjoiTGV2aXR0b3duIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlkiLCJsYXRpdHVkZSI6NDAuODI0NiwibG9uZ2l0dWRlIjotNzIuOTg4NiwiZGlzcGxheUFkZHJlc3MiOiIyOTc1IEhvcnNlYmxvY2sgUmQsIE1lZGZvcmQsIE5ZLCAxMTc2MyJ9LCJzdG9yZU51bWJlciI6MTk0OCwibmFtZSI6Ik1lZGZvcmQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOWSIsImxhdGl0dWRlIjo0MS40NTIsImxvbmdpdHVkZSI6LTc0LjM2OTYsImRpc3BsYXlBZGRyZXNzIjoiMSBOIEdhbGxlcmlhIERyLCBNaWRkbGV0b3duLCBOWSwgMTA5NDEifSwic3RvcmVOdW1iZXIiOjEyOTYsIm5hbWUiOiJNaWRkbGV0b3duIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5ZIiwibGF0aXR1ZGUiOjQxLjMxODEsImxvbmdpdHVkZSI6LTc0LjE1NDIsImRpc3BsYXlBZGRyZXNzIjoiMTI4IEJhaWxleSBGYXJtIFJkLCBNb25yb2UsIE5ZLCAxMDk1MCJ9LCJzdG9yZU51bWJlciI6MjAyNCwibmFtZSI6Ik1vbnJvZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOWSIsImxhdGl0dWRlIjo0MS4yMTc0LCJsb25naXR1ZGUiOi03My43MjE3LCJkaXNwbGF5QWRkcmVzcyI6IjE5NSBOIEJlZGZvcmQgUmQgU3RlIEEsIE1vdW50IEtpc2NvLCBOWSwgMTA1NDkifSwic3RvcmVOdW1iZXIiOjE5NTQsIm5hbWUiOiJNdCBLaXNjbyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkluLVN0b3JlIEFwcGxlIFN0b3JlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOWSIsImxhdGl0dWRlIjo0MC45MDA1LCJsb25naXR1ZGUiOi03My44MTkyLCJkaXNwbGF5QWRkcmVzcyI6IjUwMCBFYXN0IFNhbmRmb3JkIEJsdmQsIE1vdW50IFZlcm5vbiwgTlksIDEwNTUwIn0sInN0b3JlTnVtYmVyIjoxODg3LCJuYW1lIjoiTXQgVmVybm9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJJbi1TdG9yZSBBcHBsZSBTdG9yZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlkiLCJsYXRpdHVkZSI6NDMuMDgyMiwibG9uZ2l0dWRlIjotNzUuMzE3NiwiZGlzcGxheUFkZHJlc3MiOiIxIFNhbmdlcnRvd24gU3EgU3RlIDMsIE5ldyBIYXJ0Zm9yZCwgTlksIDEzNDEzIn0sInN0b3JlTnVtYmVyIjoxNDkyLCJuYW1lIjoiTmV3IEhhcnRmb3JkIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOWSIsImxhdGl0dWRlIjo0MS41MDQ4LCJsb25naXR1ZGUiOi03NC4wNTkyLCJkaXNwbGF5QWRkcmVzcyI6IjUwIFJ0ZSAxNyBLLCBOZXdidXJnaCwgTlksIDEyNTUwIn0sInN0b3JlTnVtYmVyIjoyMDc2LCJuYW1lIjoiTmV3YnVyZ2giLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5ZIiwibGF0aXR1ZGUiOjQzLjA4OTUsImxvbmdpdHVkZSI6LTc4Ljk3OTQsImRpc3BsYXlBZGRyZXNzIjoiNzQxNCBOaWFnYXJhIEZhbGxzIEJsdmQsIE5pYWdhcmEgRmFsbHMsIE5ZLCAxNDMwNCJ9LCJzdG9yZU51bWJlciI6MTAxMiwibmFtZSI6Ik5pYWdhcmEgRmFsbHMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOWSIsImxhdGl0dWRlIjo0Mi43NzQ4LCJsb25naXR1ZGUiOi03My44OTA4LCJkaXNwbGF5QWRkcmVzcyI6IjQyOCBCYWxsdG93biBSZCwgU2NoZW5lY3RhZHksIE5ZLCAxMjMwNCJ9LCJzdG9yZU51bWJlciI6MTUyMSwibmFtZSI6Ik5pc2theXVuYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlkiLCJsYXRpdHVkZSI6NDIuOTU1NywibG9uZ2l0dWRlIjotNzguODczNSwiZGlzcGxheUFkZHJlc3MiOiIyNjI2IERlbGF3YXJlIEF2ZSwgQnVmZmFsbywgTlksIDE0MjE2In0sInN0b3JlTnVtYmVyIjoxMDEzLCJuYW1lIjoiTm9ydGggQnVmZmFsbyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5ZIiwibGF0aXR1ZGUiOjQyLjc5MjQsImxvbmdpdHVkZSI6LTc4Ljc4MzMsImRpc3BsYXlBZGRyZXNzIjoiNTYyMiBBbWFuZGEgTG4sIE9yY2hhcmQgUGFyaywgTlksIDE0MTI3In0sInN0b3JlTnVtYmVyIjoxMDU3LCJuYW1lIjoiT3JjaGFyZCBQYXJrIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOWSIsImxhdGl0dWRlIjo0My4xMjgxLCJsb25naXR1ZGUiOi03Ny40NDM3LCJkaXNwbGF5QWRkcmVzcyI6IjIxNjEgTiBOaW5lIE1pbGUgUG9pbnQgUmQsIEZhaXJwb3J0LCBOWSwgMTQ0NTAifSwic3RvcmVOdW1iZXIiOjExOTUsIm5hbWUiOiJQZW5maWVsZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOWSIsImxhdGl0dWRlIjo0NC43MDIzLCJsb25naXR1ZGUiOi03My40OTEyLCJkaXNwbGF5QWRkcmVzcyI6IjYwIFNtaXRoZmllbGQgQmx2ZCAgLCBQbGF0dHNidXJnaCwgTlksIDEyOTAxIn0sInN0b3JlTnVtYmVyIjoyNDU5LCJuYW1lIjoiUGxhdHRzYnVyZ2giLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOWSIsImxhdGl0dWRlIjo0MS42MjU4LCJsb25naXR1ZGUiOi03My45MTk3LCJkaXNwbGF5QWRkcmVzcyI6IjIwMDEgU291dGggUmQsIFBvdWdoa2VlcHNpZSwgTlksIDEyNjAxIn0sInN0b3JlTnVtYmVyIjoxODU2LCJuYW1lIjoiUG91Z2hrZWVwc2llIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOWSIsImxhdGl0dWRlIjo0MC43MzQ0LCJsb25naXR1ZGUiOi03My44Njc2LCJkaXNwbGF5QWRkcmVzcyI6Ijg4MDEgUXVlZW5zIEJsdmQsIEVsbWh1cnN0LCBOWSwgMTEzNzMifSwic3RvcmVOdW1iZXIiOjEzNDQsIm5hbWUiOiJRdWVlbnMgUGxhY2UiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5ZIiwibGF0aXR1ZGUiOjQzLjMyNzksImxvbmdpdHVkZSI6LTczLjY3OTQsImRpc3BsYXlBZGRyZXNzIjoiNTc4IEF2aWF0aW9uIFJkIFN0ZSAxUywgUXVlZW5zYnVyeSwgTlksIDEyODA0In0sInN0b3JlTnVtYmVyIjoxODMwLCJuYW1lIjoiUXVlZW5zYnVyeSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlkiLCJsYXRpdHVkZSI6NDAuODcyNywibG9uZ2l0dWRlIjotNzMuOTA3MywiZGlzcGxheUFkZHJlc3MiOiI0MCBXIDIyNXRoIFN0LCBCcm9ueCwgTlksIDEwNDYzIn0sInN0b3JlTnVtYmVyIjoxNzk4LCJuYW1lIjoiUml2ZXJkYWxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJJbi1TdG9yZSBBcHBsZSBTdG9yZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlkiLCJsYXRpdHVkZSI6NDAuOTMzMSwibG9uZ2l0dWRlIjotNzIuNjc3NiwiZGlzcGxheUFkZHJlc3MiOiIxMTUwIE9sZCBDb3VudHJ5IFJkLCBSaXZlcmhlYWQsIE5ZLCAxMTkwMSJ9LCJzdG9yZU51bWJlciI6MTgxOCwibmFtZSI6IlJpdmVyaGVhZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlkiLCJsYXRpdHVkZSI6NDMuMDk5NiwibG9uZ2l0dWRlIjotNzMuNzQ0NCwiZGlzcGxheUFkZHJlc3MiOiIzMDMxIFJvdXRlIDUwLCBTYXJhdG9nYSBTcHJpbmdzLCBOWSwgMTI4NjYifSwic3RvcmVOdW1iZXIiOjEyNzEsIm5hbWUiOiJTYXJhdG9nYSBTcHJpbmdzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlkiLCJsYXRpdHVkZSI6NDAuODg0MiwibG9uZ2l0dWRlIjotNzMuMTAwMSwiZGlzcGxheUFkZHJlc3MiOiIyNTUgUG9uZCBQYXRoIFJkLCBTb3V0aCBTZXRhdWtldCwgTlksIDExNzIwIn0sInN0b3JlTnVtYmVyIjoxMTkxLCJuYW1lIjoiU291dGggU2V0YXVrZXQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5ZIiwibGF0aXR1ZGUiOjQxLjEwNDcsImxvbmdpdHVkZSI6LTc0LjAyMzYsImRpc3BsYXlBZGRyZXNzIjoiNTAgU3ByaW5nIFZhbGxleSBNYXJrZXQgUGwsIFNwcmluZyBWYWxsZXksIE5ZLCAxMDk3NyJ9LCJzdG9yZU51bWJlciI6MTgwOCwibmFtZSI6IlNwcmluZyBWYWxsZXkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOWSIsImxhdGl0dWRlIjo0MC41MjksImxvbmdpdHVkZSI6LTc0LjIzMDQsImRpc3BsYXlBZGRyZXNzIjoiMjkwMCBWZXRlcmFucyBSZCBXLCBTdGF0ZW4gSXNsYW5kLCBOWSwgMTAzMDkifSwic3RvcmVOdW1iZXIiOjIwMDYsIm5hbWUiOiJTdGF0ZW4gSXNsYW5kIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlkiLCJsYXRpdHVkZSI6NDAuNjY0NiwibG9uZ2l0dWRlIjotNzMuNzIsImRpc3BsYXlBZGRyZXNzIjoiNTAwIFN1bnJpc2UgSHd5LCBWYWxsZXkgU3RyZWFtLCBOWSwgMTE1ODEifSwic3RvcmVOdW1iZXIiOjI4NDAsIm5hbWUiOiJWYWxsZXkgU3RyZWFtIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIl0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTlkiLCJsYXRpdHVkZSI6NDMuMDMzNCwibG9uZ2l0dWRlIjotNzcuNDQ4NSwiZGlzcGxheUFkZHJlc3MiOiI3NTAwIENvbW1vbnMgQmx2ZCwgVmljdG9yLCBOWSwgMTQ1NjQifSwic3RvcmVOdW1iZXIiOjExNTYsIm5hbWUiOiJWaWN0b3IiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5ZIiwibGF0aXR1ZGUiOjQyLjkxMDgsImxvbmdpdHVkZSI6LTc4Ljc3MjIsImRpc3BsYXlBZGRyZXNzIjoiMTc1MCBXYWxkZW4gQXZlLCBDaGVla3Rvd2FnYSwgTlksIDE0MjI1In0sInN0b3JlTnVtYmVyIjoxMDE0LCJuYW1lIjoiV2FsZGVuIEdhbGxlcmlhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOWSIsImxhdGl0dWRlIjo0My45NzE2LCJsb25naXR1ZGUiOi03NS45NjExLCJkaXNwbGF5QWRkcmVzcyI6IjIxODAwIFRvd25lIENlbnRlciBEciwgV2F0ZXJ0b3duLCBOWSwgMTM2MDEifSwic3RvcmVOdW1iZXIiOjIyNTMsIm5hbWUiOiJXYXRlcnRvd24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOWSIsImxhdGl0dWRlIjo0My4yMTM3LCJsb25naXR1ZGUiOi03Ny40NTAyLCJkaXNwbGF5QWRkcmVzcyI6IjEwNTAgUmlkZ2UgUmQsIFdlYnN0ZXIsIE5ZLCAxNDU4MCJ9LCJzdG9yZU51bWJlciI6MjAzOCwibmFtZSI6IldlYnN0ZXIiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5ZIiwibGF0aXR1ZGUiOjQwLjc0MTcsImxvbmdpdHVkZSI6LTczLjU5OTUsImRpc3BsYXlBZGRyZXNzIjoiOTk5IENvcnBvcmF0ZSBEciwgV2VzdGJ1cnksIE5ZLCAxMTU5MCJ9LCJzdG9yZU51bWJlciI6MTEzOSwibmFtZSI6Ildlc3RidXJ5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiSW4tU3RvcmUgQXBwbGUgU3RvcmUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5ZIiwibGF0aXR1ZGUiOjQxLjAzMjQsImxvbmdpdHVkZSI6LTczLjc2NTMsImRpc3BsYXlBZGRyZXNzIjoiOSBDaXR5IFBsLCBXaGl0ZSBQbGFpbnMsIE5ZLCAxMDYwMSJ9LCJzdG9yZU51bWJlciI6MTM1OCwibmFtZSI6IldoaXRlIFBsYWlucyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5DIiwibGF0aXR1ZGUiOjM1Ljc0NTIsImxvbmdpdHVkZSI6LTc4Ljg3NzYsImRpc3BsYXlBZGRyZXNzIjoiMTIwMSBCZWF2ZXIgQ3JlZWsgQ29tbW9ucyBEciwgQXBleCwgTkMsIDI3NTAyIn0sInN0b3JlTnVtYmVyIjoxOTMyLCJuYW1lIjoiQXBleCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJDbGluaWMiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkMiLCJsYXRpdHVkZSI6MzUuNTczMiwibG9uZ2l0dWRlIjotODIuNTIxOSwiZGlzcGxheUFkZHJlc3MiOiIxMTUgUml2ZXIgSGlsbHMgUmQsIEFzaGV2aWxsZSwgTkMsIDI4ODA1In0sInN0b3JlTnVtYmVyIjoxODA3LCJuYW1lIjoiQXNoZXZpbGxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5DIiwibGF0aXR1ZGUiOjM1LjQ0OCwibG9uZ2l0dWRlIjotODIuNTM2MSwiZGlzcGxheUFkZHJlc3MiOiIxNSBNY0tlbm5hIFJkLCBBcmRlbiwgTkMsIDI4NzA0In0sInN0b3JlTnVtYmVyIjoyMDExLCJuYW1lIjoiQXNoZXZpbGxlIFNvdXRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5DIiwibGF0aXR1ZGUiOjM2LjA2NjUsImxvbmdpdHVkZSI6LTc5LjUxNzUsImRpc3BsYXlBZGRyZXNzIjoiMTQ3NSBVbml2ZXJzaXR5IERyLCBCdXJsaW5ndG9uLCBOQywgMjcyMTUifSwic3RvcmVOdW1iZXIiOjIwMzcsIm5hbWUiOiJCdXJsaW5ndG9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkMiLCJsYXRpdHVkZSI6MzUuNzU2NCwibG9uZ2l0dWRlIjotNzguNzM4MywiZGlzcGxheUFkZHJlc3MiOiIyMDIxIFdhbG51dCBTdCwgQ2FyeSwgTkMsIDI3NTE4In0sInN0b3JlTnVtYmVyIjo5NjEsIm5hbWUiOiJDYXJ5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOQyIsImxhdGl0dWRlIjozNS4yMDkyLCJsb25naXR1ZGUiOi04MC42OTY4LCJkaXNwbGF5QWRkcmVzcyI6Ijg4MzAgQWxiZW1hcmxlIFJkLCBDaGFybG90dGUsIE5DLCAyODIyNyJ9LCJzdG9yZU51bWJlciI6MTc5MywibmFtZSI6IkNoYXJsb3R0ZSBFYXN0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOQyIsImxhdGl0dWRlIjozNS4wMzQyLCJsb25naXR1ZGUiOi04MC44MDY4LCJkaXNwbGF5QWRkcmVzcyI6Ijk4NzAgUmVhIFJkLCBDaGFybG90dGUsIE5DLCAyODI3NyJ9LCJzdG9yZU51bWJlciI6MjA5MCwibmFtZSI6IkNoYXJsb3R0ZSBGYXIgU291dGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5DIiwibGF0aXR1ZGUiOjM1LjIxNDEsImxvbmdpdHVkZSI6LTgwLjgzNDgsImRpc3BsYXlBZGRyZXNzIjoiOTAwIE1ldHJvcG9saXRhbiBBdmUgU3RlIDIsIENoYXJsb3R0ZSwgTkMsIDI4MjA0In0sInN0b3JlTnVtYmVyIjoyMjQ0LCJuYW1lIjoiQ2hhcmxvdHRlIE1pZHRvd24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5DIiwibGF0aXR1ZGUiOjM1LjM0OTksImxvbmdpdHVkZSI6LTgwLjg1OTgsImRpc3BsYXlBZGRyZXNzIjoiOTg0MSBOb3J0aGxha2UgQ2VudHJlIFBrd3ksIENoYXJsb3R0ZSwgTkMsIDI4MjE2In0sInN0b3JlTnVtYmVyIjoyMDgwLCJuYW1lIjoiQ2hhcmxvdHRlIE5vcnRoIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOQyIsImxhdGl0dWRlIjozNS4xMjI1LCJsb25naXR1ZGUiOi04MC43MDcsImRpc3BsYXlBZGRyZXNzIjoiMTkwMCBNYXR0aGV3cyBUb3duc2hpcCBQa3d5LCBNYXR0aGV3cywgTkMsIDI4MTA1In0sInN0b3JlTnVtYmVyIjo5MTgsIm5hbWUiOiJDaGFybG90dGUgU0UiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkMiLCJsYXRpdHVkZSI6MzUuMDk5OCwibG9uZ2l0dWRlIjotODAuOTg3LCJkaXNwbGF5QWRkcmVzcyI6IjEyODMwIFdhbGtlciBCcmFuY2ggRHIsIENoYXJsb3R0ZSwgTkMsIDI4MjczIn0sInN0b3JlTnVtYmVyIjoyMTMyLCJuYW1lIjoiQ2hhcmxvdHRlIFNXIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5DIiwibGF0aXR1ZGUiOjM1LjA1OTQsImxvbmdpdHVkZSI6LTgwLjgxNiwiZGlzcGxheUFkZHJlc3MiOiI3ODYwIFJlYSBSZCwgQ2hhcmxvdHRlLCBOQywgMjgyNzcifSwic3RvcmVOdW1iZXIiOjEwODcsIm5hbWUiOiJDaGFybG90dGUgU291dGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5DIiwibGF0aXR1ZGUiOjM1LjkwMzgsImxvbmdpdHVkZSI6LTc4Ljk1MDUsImRpc3BsYXlBZGRyZXNzIjoiODIxMCBSZW5haXNzYW5jZSBQa3d5LCBEdXJoYW0sIE5DLCAyNzcxMyJ9LCJzdG9yZU51bWJlciI6MjA2OSwibmFtZSI6IkR1cmhhbSBTRSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJDbGluaWMiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkMiLCJsYXRpdHVkZSI6MzUuOTY3NCwibG9uZ2l0dWRlIjotNzguOTU4MiwiZGlzcGxheUFkZHJlc3MiOiI0MDM3IER1cmhhbSBDaGFwZWwgSGlsbCBCbHZkLCBEdXJoYW0sIE5DLCAyNzcwNyJ9LCJzdG9yZU51bWJlciI6MTg3MiwibmFtZSI6IkR1cmhhbSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJDbGluaWMiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkMiLCJsYXRpdHVkZSI6MzUuMDU1MywibG9uZ2l0dWRlIjotNzguOTc0OCwiZGlzcGxheUFkZHJlc3MiOiIyMDU2IFNraWJvIFJkLCBGYXlldHRldmlsbGUsIE5DLCAyODMxNCJ9LCJzdG9yZU51bWJlciI6NzU1LCJuYW1lIjoiRmF5ZXR0ZXZpbGxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOQyIsImxhdGl0dWRlIjozNS42ODc2LCJsb25naXR1ZGUiOi03OC41Nzk3LCJkaXNwbGF5QWRkcmVzcyI6IjEwNDAgVGltYmVyIERyIEUsIEdhcm5lciwgTkMsIDI3NTI5In0sInN0b3JlTnVtYmVyIjoxODI0LCJuYW1lIjoiR2FybmVyIEVhc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkMiLCJsYXRpdHVkZSI6MzUuNzE1NywibG9uZ2l0dWRlIjotNzguNjM4MSwiZGlzcGxheUFkZHJlc3MiOiIyNzAwIFRpbWJlciBEciwgR2FybmVyLCBOQywgMjc1MjkifSwic3RvcmVOdW1iZXIiOjExMDQsIm5hbWUiOiJHYXJuZXIiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOQyIsImxhdGl0dWRlIjozNS4yNjQ2LCJsb25naXR1ZGUiOi04MS4xMzksImRpc3BsYXlBZGRyZXNzIjoiNDI1IENveCBSZCwgR2FzdG9uaWEsIE5DLCAyODA1NCJ9LCJzdG9yZU51bWJlciI6MjU2NSwibmFtZSI6Ikdhc3RvbmlhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOQyIsImxhdGl0dWRlIjozNS4zNzkxLCJsb25naXR1ZGUiOi03Ny45MzkyLCJkaXNwbGF5QWRkcmVzcyI6IjEyMDQgU3VuYnVyc3QgRHIsIEdvbGRzYm9ybywgTkMsIDI3NTM0In0sInN0b3JlTnVtYmVyIjo5NjQsIm5hbWUiOiJHb2xkc2Jvcm8iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5DIiwibGF0aXR1ZGUiOjM2LjEwNDYsImxvbmdpdHVkZSI6LTc5LjgyMDksImRpc3BsYXlBZGRyZXNzIjoiMjcwMSBMYXduZGFsZSBEciwgR3JlZW5zYm9ybywgTkMsIDI3NDA4In0sInN0b3JlTnVtYmVyIjoxMTgwLCJuYW1lIjoiR3JlZW5zYm9ybyBOVyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOQyIsImxhdGl0dWRlIjozNi4wNTY5LCJsb25naXR1ZGUiOi03OS45MDY5LCJkaXNwbGF5QWRkcmVzcyI6IjEyMTIgQnJpZGZvcmQgUGt3eSwgR3JlZW5zYm9ybywgTkMsIDI3NDA3In0sInN0b3JlTnVtYmVyIjoxMDc4LCJuYW1lIjoiR3JlZW5zYm9ybyBTb3V0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkMiLCJsYXRpdHVkZSI6MzYuMTEzMiwibG9uZ2l0dWRlIjotNzkuODc2NiwiZGlzcGxheUFkZHJlc3MiOiIxNjI4IEhpZ2h3b29kcyBCbHZkLCBHcmVlbnNib3JvLCBOQywgMjc0MTAifSwic3RvcmVOdW1iZXIiOjIxMDgsIm5hbWUiOiJHcmVlbnNib3JvIFdlc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkMiLCJsYXRpdHVkZSI6MzUuNTc3MiwibG9uZ2l0dWRlIjotNzcuMzgzLCJkaXNwbGF5QWRkcmVzcyI6IjMwNDAgUyBFdmFucyBTdCwgR3JlZW52aWxsZSwgTkMsIDI3ODM0In0sInN0b3JlTnVtYmVyIjoxMDIyLCJuYW1lIjoiR3JlZW52aWxsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOQyIsImxhdGl0dWRlIjozNS43MDE5LCJsb25naXR1ZGUiOi04MS4zMDczLCJkaXNwbGF5QWRkcmVzcyI6IjE5MTAgQ2F0YXdiYSBWYWxsZXkgQmx2ZCBTRSwgSGlja29yeSwgTkMsIDI4NjAyIn0sInN0b3JlTnVtYmVyIjoxMTgxLCJuYW1lIjoiSGlja29yeSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOQyIsImxhdGl0dWRlIjozNS45OTM1LCJsb25naXR1ZGUiOi04MC4wMDg3LCJkaXNwbGF5QWRkcmVzcyI6IjEwNTAgTWFsbCBMb29wLCBIaWdoIFBvaW50LCBOQywgMjcyNjIifSwic3RvcmVOdW1iZXIiOjEwNzksIm5hbWUiOiJIaWdoIFBvaW50Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkMiLCJsYXRpdHVkZSI6MzUuNDQzMywibG9uZ2l0dWRlIjotODAuODYyMiwiZGlzcGxheUFkZHJlc3MiOiI5ODAxIFNhbSBGdXJyIFJkLCBIdW50ZXJzdmlsbGUsIE5DLCAyODA3OCJ9LCJzdG9yZU51bWJlciI6OTY2LCJuYW1lIjoiSHVudGVyc3ZpbGxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOQyIsImxhdGl0dWRlIjozNC43ODYxLCJsb25naXR1ZGUiOi03Ny40MDQxLCJkaXNwbGF5QWRkcmVzcyI6IjEzOTVEIFdlc3Rlcm4gQmx2ZCwgSmFja3NvbnZpbGxlLCBOQywgMjg1NDYifSwic3RvcmVOdW1iZXIiOjEyMjYsIm5hbWUiOiJKYWNrc29udmlsbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5DIiwibGF0aXR1ZGUiOjM1LjQxODUsImxvbmdpdHVkZSI6LTgwLjY3NjksImRpc3BsYXlBZGRyZXNzIjoiNjE1MCBCYXlmaWVsZCBQa3d5LCBDb25jb3JkLCBOQywgMjgwMjcifSwic3RvcmVOdW1iZXIiOjIxNjksIm5hbWUiOiJLYW5uYXBvbGlzIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5DIiwibGF0aXR1ZGUiOjM2LjExMDEsImxvbmdpdHVkZSI6LTgwLjA5OTUsImRpc3BsYXlBZGRyZXNzIjoiMTA5MCBTIE1haW4gU3QsIEtlcm5lcnN2aWxsZSwgTkMsIDI3Mjg0In0sInN0b3JlTnVtYmVyIjoyMTM0LCJuYW1lIjoiS2VybmVyc3ZpbGxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOQyIsImxhdGl0dWRlIjozNS43OTg5LCJsb25naXR1ZGUiOi03OC41MDk2LCJkaXNwbGF5QWRkcmVzcyI6IjEwMDAgU2hvcHBlcyBhdCBNaWR3YXkgRHIsIEtuaWdodGRhbGUsIE5DLCAyNzU0NSJ9LCJzdG9yZU51bWJlciI6MjExMSwibmFtZSI6IktuaWdodGRhbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkMiLCJsYXRpdHVkZSI6MzUuMDIxMywibG9uZ2l0dWRlIjotODAuNTgxMywiZGlzcGxheUFkZHJlc3MiOiIyOTAxIFcgSGlnaHdheSA3NCwgTW9ucm9lLCBOQywgMjgxMTAifSwic3RvcmVOdW1iZXIiOjIwNzQsIm5hbWUiOiJNb25yb2UiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5DIiwibGF0aXR1ZGUiOjM1LjU5NzcsImxvbmdpdHVkZSI6LTgwLjg3MTUsImRpc3BsYXlBZGRyZXNzIjoiNTk0IFJpdmVyIEh3eSwgTW9vcmVzdmlsbGUsIE5DLCAyODExNyJ9LCJzdG9yZU51bWJlciI6MTUwNSwibmFtZSI6Ik1vb3Jlc3ZpbGxlIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOQyIsImxhdGl0dWRlIjozNS44MDQ2LCJsb25naXR1ZGUiOi03OC44MTQ4LCJkaXNwbGF5QWRkcmVzcyI6IjMwMDEgTWFya2V0IENlbnRlciBEciwgTW9ycmlzdmlsbGUsIE5DLCAyNzU2MCJ9LCJzdG9yZU51bWJlciI6MjcyMSwibmFtZSI6Ik1vcnJpc3ZpbGxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5DIiwibGF0aXR1ZGUiOjM1LjI5MzMsImxvbmdpdHVkZSI6LTgwLjc0NTcsImRpc3BsYXlBZGRyZXNzIjoiODEyMCBVbml2ZXJzaXR5IENpdHkgQmx2ZCwgQ2hhcmxvdHRlLCBOQywgMjgyMTMifSwic3RvcmVOdW1iZXIiOjEwODEsIm5hbWUiOiJORSBDaGFybG90dGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkMiLCJsYXRpdHVkZSI6MzUuMTAxNCwibG9uZ2l0dWRlIjotNzcuMDk2MiwiZGlzcGxheUFkZHJlc3MiOiIzNDEwIERyIE1hcnRpbiBMdXRoZXIgS2luZyBKciBCbHZkLCBOZXcgQmVybiwgTkMsIDI4NTYyIn0sInN0b3JlTnVtYmVyIjoxMDE1LCJuYW1lIjoiTmV3IEJlcm4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5DIiwibGF0aXR1ZGUiOjM1LjEwNzcsImxvbmdpdHVkZSI6LTgwLjg3ODYsImRpc3BsYXlBZGRyZXNzIjoiOTUzMSBTb3V0aCBCbHZkLCBDaGFybG90dGUsIE5DLCAyODI3MyJ9LCJzdG9yZU51bWJlciI6NzYyLCJuYW1lIjoiUGluZXZpbGxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5DIiwibGF0aXR1ZGUiOjM1LjgzNjIsImxvbmdpdHVkZSI6LTc4LjY0MjQsImRpc3BsYXlBZGRyZXNzIjoiNDE5MSBUaGUgQ2lyY2xlIGF0IE5vcnRoIEhpbGxzIFN0LCBSYWxlaWdoLCBOQywgMjc2MDkifSwic3RvcmVOdW1iZXIiOjE4OTIsIm5hbWUiOiJSYWxlaWdoIENlbnRyYWwiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5DIiwibGF0aXR1ZGUiOjM1Ljg3MDgsImxvbmdpdHVkZSI6LTc4LjcxOTQsImRpc3BsYXlBZGRyZXNzIjoiNDg0MSBHcm92ZSBCYXJ0b24gUmQsIFJhbGVpZ2gsIE5DLCAyNzYxMyJ9LCJzdG9yZU51bWJlciI6MTA4MCwibmFtZSI6IlJhbGVpZ2ggSHd5IDcwIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5DIiwibGF0aXR1ZGUiOjM1Ljg2NiwibG9uZ2l0dWRlIjotNzguNTY4MiwiZGlzcGxheUFkZHJlc3MiOiI3OTAwIE9sZCBXYWtlIEZvcmVzdCBSZCwgUmFsZWlnaCwgTkMsIDI3NjE2In0sInN0b3JlTnVtYmVyIjoxODI2LCJuYW1lIjoiUmFsZWlnaCBORSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOQyIsImxhdGl0dWRlIjozNS45MDMxLCJsb25naXR1ZGUiOi03OC43ODYsImRpc3BsYXlBZGRyZXNzIjoiODY1MSBCcmllciBDcmVlayBQa3d5LCBSYWxlaWdoLCBOQywgMjc2MTcifSwic3RvcmVOdW1iZXIiOjE3OTQsIm5hbWUiOiJSYWxlaWdoIE5XIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkMiLCJsYXRpdHVkZSI6MzUuOTcxMywibG9uZ2l0dWRlIjotNzcuODExLCJkaXNwbGF5QWRkcmVzcyI6IjczMSBTdXR0ZXJzIENyZWVrIEJsdmQsIFJvY2t5IE1vdW50LCBOQywgMjc4MDQifSwic3RvcmVOdW1iZXIiOjk2MiwibmFtZSI6IlJvY2t5IE1vdW50Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJOQyIsImxhdGl0dWRlIjozNS45NzQzLCJsb25naXR1ZGUiOi03OC41NDIyLCJkaXNwbGF5QWRkcmVzcyI6IjEyMDAwIFJldGFpbCBEciwgV2FrZSBGb3Jlc3QsIE5DLCAyNzU4NyJ9LCJzdG9yZU51bWJlciI6MTUwNCwibmFtZSI6Ildha2UgRm9yZXN0IFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkNsaW5pYyIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5DIiwibGF0aXR1ZGUiOjM0Ljk5OTMsImxvbmdpdHVkZSI6LTgwLjY5NTYsImRpc3BsYXlBZGRyZXNzIjoiNjM1MCBXZWRkaW5ndG9uIFJkLCBXZXNsZXkgQ2hhcGVsLCBOQywgMjgxMDQifSwic3RvcmVOdW1iZXIiOjIzOTUsIm5hbWUiOiJXZXNsZXkgQ2hhcGVsIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5DIiwibGF0aXR1ZGUiOjM0LjI0ODUsImxvbmdpdHVkZSI6LTc3Ljg4MDcsImRpc3BsYXlBZGRyZXNzIjoiNDcxMSBOZXcgQ2VudHJlIERyLCBXaWxtaW5ndG9uLCBOQywgMjg0MDUifSwic3RvcmVOdW1iZXIiOjExMDcsIm5hbWUiOiJXaWxtaW5ndG9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5DIiwibGF0aXR1ZGUiOjM1Ljc0MjgsImxvbmdpdHVkZSI6LTc3Ljk2NTQsImRpc3BsYXlBZGRyZXNzIjoiMzQwMSBSYWxlaWdoIFJvYWQgUGt3eSBXIFN0ZSAxQSwgV2lsc29uLCBOQywgMjc4OTYifSwic3RvcmVOdW1iZXIiOjIxNjgsIm5hbWUiOiJXaWxzb24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5DIiwibGF0aXR1ZGUiOjM2LjE2ODQsImxvbmdpdHVkZSI6LTgwLjI3ODcsImRpc3BsYXlBZGRyZXNzIjoiNTQyMCBVbml2ZXJzaXR5IFBrd3ksIFdpbnN0b24gU2FsZW0sIE5DLCAyNzEwNSJ9LCJzdG9yZU51bWJlciI6MTA3NywibmFtZSI6IldpbnN0b24tU2FsZW0gTm9ydGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkMiLCJsYXRpdHVkZSI6MzYuMDY5MiwibG9uZ2l0dWRlIjotODAuMzIsImRpc3BsYXlBZGRyZXNzIjoiMTA0MCBIYW5lcyBNYWxsIEJsdmQsIFdpbnN0b24gU2FsZW0sIE5DLCAyNzEwMyJ9LCJzdG9yZU51bWJlciI6MTA4NiwibmFtZSI6IldpbnN0b24tU2FsZW0gU291dGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkQiLCJsYXRpdHVkZSI6NDYuNzk4NSwibG9uZ2l0dWRlIjotMTAwLjc4NSwiZGlzcGxheUFkZHJlc3MiOiI2MDAgS2lya3dvb2QgTWFsbCwgQmlzbWFyY2ssIE5ELCA1ODUwNCJ9LCJzdG9yZU51bWJlciI6MjE5NCwibmFtZSI6IkJpc21hcmNrIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDEyOjAwIHAubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gMTI6MDBQTS05OjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSAxMjowMFBNLTk6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJORCIsImxhdGl0dWRlIjo0Ni44NjA3LCJsb25naXR1ZGUiOi05Ni44NTMsImRpc3BsYXlBZGRyZXNzIjoiNDIwMiAxM3RoIEF2ZSBTVywgRmFyZ28sIE5ELCA1ODEwMyJ9LCJzdG9yZU51bWJlciI6NjEsIm5hbWUiOiJGYXJnbyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJJbi1TdG9yZSBBcHBsZSBTdG9yZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDEyOjAwIHAubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDEyOjAwUE0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDEyOjAwUE0tODowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik5EIiwibGF0aXR1ZGUiOjQ3Ljg4NzMsImxvbmdpdHVkZSI6LTk3LjA3OTUsImRpc3BsYXlBZGRyZXNzIjoiMzYwMSAzMm5kIEF2ZSBTLCBHcmFuZCBGb3JrcywgTkQsIDU4MjAxIn0sInN0b3JlTnVtYmVyIjoxNzgzLCJuYW1lIjoiR3JhbmQgRm9ya3MgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogMTI6MDAgcC5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gMTI6MDBQTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgMTI6MDBQTS04OjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiTkQiLCJsYXRpdHVkZSI6NDguMjA3MywibG9uZ2l0dWRlIjotMTAxLjMxMiwiZGlzcGxheUFkZHJlc3MiOiIyNDAwIDEwdGggU3QgU1csIE1pbm90LCBORCwgNTg3MDEifSwic3RvcmVOdW1iZXIiOjg1LCJuYW1lIjoiTWlub3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlRhcmdldCBNb2JpbGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiAxMjowMCBwLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDEyOjAwUE0tOTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgMTI6MDBQTS05OjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0giLCJsYXRpdHVkZSI6NDEuNDEzNiwibG9uZ2l0dWRlIjotODIuMjQxNiwiZGlzcGxheUFkZHJlc3MiOiI4MDAwIE9hayBQb2ludCBSZCwgQW1oZXJzdCwgT0gsIDQ0MDAxIn0sInN0b3JlTnVtYmVyIjoyMzUxLCJuYW1lIjoiQW1oZXJzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0giLCJsYXRpdHVkZSI6NDEuNDYzMiwibG9uZ2l0dWRlIjotODIuMDA5NiwiZGlzcGxheUFkZHJlc3MiOiIzNTgzMCBEZXRyb2l0IFJkLCBBdm9uLCBPSCwgNDQwMTEifSwic3RvcmVOdW1iZXIiOjEzMjUsIm5hbWUiOiJBdm9uIE9IIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9IIiwibGF0aXR1ZGUiOjQxLjM2MDIsImxvbmdpdHVkZSI6LTgxLjM3NjMsImRpc3BsYXlBZGRyZXNzIjoiMTg4NTUgTiBNYXJrZXQgUGxhY2UgRHIsIEF1cm9yYSwgT0gsIDQ0MjAyIn0sInN0b3JlTnVtYmVyIjoyMTYxLCJuYW1lIjoiQmFpbmJyaWRnZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSCIsImxhdGl0dWRlIjozOS43NjM5LCJsb25naXR1ZGUiOi04NC4wNTEsImRpc3BsYXlBZGRyZXNzIjoiMjQ5MCBOIEZhaXJmaWVsZCBSZCwgQmVhdmVyY3JlZWssIE9ILCA0NTQzMSJ9LCJzdG9yZU51bWJlciI6MTEyOCwibmFtZSI6IkJlYXZlcmNyZWVrIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSCIsImxhdGl0dWRlIjozOS4wNzM1LCJsb25naXR1ZGUiOi04NC4zMTMyLCJkaXNwbGF5QWRkcmVzcyI6Ijg2ODAgQmVlY2htb250IEF2ZSwgQ2luY2lubmF0aSwgT0gsIDQ1MjU1In0sInN0b3JlTnVtYmVyIjoxMDkyLCJuYW1lIjoiQmVlY2htb250IEFyZWEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0giLCJsYXRpdHVkZSI6MzkuMjI0NiwibG9uZ2l0dWRlIjotODQuMzk1NCwiZGlzcGxheUFkZHJlc3MiOiI5MDk5IFBsYWluZmllbGQgUmQsIEJsdWUgQXNoLCBPSCwgNDUyMzYifSwic3RvcmVOdW1iZXIiOjI1NTcsIm5hbWUiOiJCbHVlIEFzaCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSCIsImxhdGl0dWRlIjo0MS4wMjEyLCJsb25naXR1ZGUiOi04MC42NDYzLCJkaXNwbGF5QWRkcmVzcyI6IjQxNyBCb2FyZG1hbiBQb2xhbmQgUmQsIEJvYXJkbWFuLCBPSCwgNDQ1MTIifSwic3RvcmVOdW1iZXIiOjE0NjMsIm5hbWUiOiJCb2FyZG1hbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSCIsImxhdGl0dWRlIjo0MC44NjIyLCJsb25naXR1ZGUiOi04MS40MzEzLCJkaXNwbGF5QWRkcmVzcyI6IjU1ODQgRHJlc3NsZXIgUmQgTlcsIE5vcnRoIENhbnRvbiwgT0gsIDQ0NzIwIn0sInN0b3JlTnVtYmVyIjo3OTQsIm5hbWUiOiJDYW50b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0giLCJsYXRpdHVkZSI6MzkuMTYyMywibG9uZ2l0dWRlIjotODQuNDI2MSwiZGlzcGxheUFkZHJlc3MiOiI0ODI1QSBNYXJidXJnIEF2ZSwgQ2luY2lubmF0aSwgT0gsIDQ1MjA5In0sInN0b3JlTnVtYmVyIjoxNDQ3LCJuYW1lIjoiQ2luY2lubmF0aSBDZW50cmFsIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSCIsImxhdGl0dWRlIjo0MS40NjA4LCJsb25naXR1ZGUiOi04MS42OTAyLCJkaXNwbGF5QWRkcmVzcyI6IjM1MzUgU3RlZWx5YXJkIERyLCBDbGV2ZWxhbmQsIE9ILCA0NDEwOSJ9LCJzdG9yZU51bWJlciI6MjIyOCwibmFtZSI6IkNsZXZlbGFuZCBTb3V0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9IIiwibGF0aXR1ZGUiOjQxLjQ2ODMsImxvbmdpdHVkZSI6LTgxLjc3MzksImRpc3BsYXlBZGRyZXNzIjoiMzEwMCBXIDExN3RoIFN0LCBDbGV2ZWxhbmQsIE9ILCA0NDExMSJ9LCJzdG9yZU51bWJlciI6MjIyNiwibmFtZSI6IkNsZXZlbGFuZCBXZXN0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0giLCJsYXRpdHVkZSI6MzkuMjM1OSwibG9uZ2l0dWRlIjotODQuNTg5NiwiZGlzcGxheUFkZHJlc3MiOiI5MDQwIENvbGVyYWluIEF2ZSwgQ2luY2lubmF0aSwgT0gsIDQ1MjUxIn0sInN0b3JlTnVtYmVyIjoxNTQ1LCJuYW1lIjoiQ29sZXJhaW4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9IIiwibGF0aXR1ZGUiOjM5Ljk5MzgsImxvbmdpdHVkZSI6LTgzLjAyNjYsImRpc3BsYXlBZGRyZXNzIjoiMTcxNyBPbGVudGFuZ3kgUml2ZXIgUmQsIENvbHVtYnVzLCBPSCwgNDMyMTIifSwic3RvcmVOdW1iZXIiOjEwNTgsIm5hbWUiOiJDb2x1bWJ1cyBDZW50cmFsIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSCIsImxhdGl0dWRlIjozOS45ODcyLCJsb25naXR1ZGUiOi04Mi43ODU4LCJkaXNwbGF5QWRkcmVzcyI6IjgxMDAgRSBCcm9hZCBTdCwgUmV5bm9sZHNidXJnLCBPSCwgNDMwNjgifSwic3RvcmVOdW1iZXIiOjIwODYsIm5hbWUiOiJDb2x1bWJ1cyBFYXN0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0giLCJsYXRpdHVkZSI6MzkuOTkwNiwibG9uZ2l0dWRlIjotODMuMTUwMSwiZGlzcGxheUFkZHJlc3MiOiIxOTcwIEhpbGxpYXJkIFJvbWUgUmQsIEhpbGxpYXJkLCBPSCwgNDMwMjYifSwic3RvcmVOdW1iZXIiOjIzNTgsIm5hbWUiOiJDb2x1bWJ1cyBGYXIgU1ciLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSCIsImxhdGl0dWRlIjo0MC4wNTY4LCJsb25naXR1ZGUiOi04Mi45MjIxLCJkaXNwbGF5QWRkcmVzcyI6IjQxOTkgTW9yc2UgWGluZywgQ29sdW1idXMsIE9ILCA0MzIxOSJ9LCJzdG9yZU51bWJlciI6MTA3MiwibmFtZSI6IkNvbHVtYnVzIE5FIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSCIsImxhdGl0dWRlIjo0MC4wOTAyLCJsb25naXR1ZGUiOi04My4wOSwiZGlzcGxheUFkZHJlc3MiOiI2MDAwIFNhd21pbGwgUmQsIER1YmxpbiwgT0gsIDQzMDE3In0sInN0b3JlTnVtYmVyIjo2NjYsIm5hbWUiOiJDb2x1bWJ1cyBOVyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSCIsImxhdGl0dWRlIjozOS45NTY2LCJsb25naXR1ZGUiOi04My4xMDA1LCJkaXNwbGF5QWRkcmVzcyI6IjM3MjAgU29sZGFubyBCbHZkLCBDb2x1bWJ1cywgT0gsIDQzMjI4In0sInN0b3JlTnVtYmVyIjo2NjgsIm5hbWUiOiJDb2x1bWJ1cyBTVyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9IIiwibGF0aXR1ZGUiOjQxLjEyMDgsImxvbmdpdHVkZSI6LTgxLjQ3NzUsImRpc3BsYXlBZGRyZXNzIjoiNDQ5IEhvd2UgQXZlLCBDdXlhaG9nYSBGYWxscywgT0gsIDQ0MjIxIn0sInN0b3JlTnVtYmVyIjo3OTMsIm5hbWUiOiJDdXlhaG9nYSBGYWxscyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSCIsImxhdGl0dWRlIjozOS42MzM5LCJsb25naXR1ZGUiOi04NC4yMTM3LCJkaXNwbGF5QWRkcmVzcyI6IjIzMDAgTWlhbWlzYnVyZyBDZW50ZXJ2aWxsZSBSZCwgRGF5dG9uLCBPSCwgNDU0NTkifSwic3RvcmVOdW1iZXIiOjEyNTIsIm5hbWUiOiJEYXl0b24gU291dGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9IIiwibGF0aXR1ZGUiOjQxLjM4ODgsImxvbmdpdHVkZSI6LTgyLjEwODMsImRpc3BsYXlBZGRyZXNzIjoiMjQwIE1hcmtldCBEciwgRWx5cmlhLCBPSCwgNDQwMzUifSwic3RvcmVOdW1iZXIiOjEyMTUsIm5hbWUiOiJFbHlyaWEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9IIiwibGF0aXR1ZGUiOjM5LjM4OTcsImxvbmdpdHVkZSI6LTg0LjUwNDQsImRpc3BsYXlBZGRyZXNzIjoiMzM2OSBQcmluY2V0b24gUmQsIEhhbWlsdG9uLCBPSCwgNDUwMTEifSwic3RvcmVOdW1iZXIiOjE5NDYsIm5hbWUiOiJGYWlyZmllbGQgVG93bnNoaXAiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0giLCJsYXRpdHVkZSI6NDEuMTI3MywibG9uZ2l0dWRlIjotODEuNjA1MywiZGlzcGxheUFkZHJlc3MiOiIyODAxIFcgTWFya2V0IFN0LCBGYWlybGF3biwgT0gsIDQ0MzMzIn0sInN0b3JlTnVtYmVyIjo5ODYsIm5hbWUiOiJGYWlybGF3biIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9IIiwibGF0aXR1ZGUiOjQxLjQ1ODQsImxvbmdpdHVkZSI6LTgxLjg1MDUsImRpc3BsYXlBZGRyZXNzIjoiMjA5MDAgV2VzdGdhdGUgTWFsbCwgRmFpcnZpZXcgUGFyaywgT0gsIDQ0MTI2In0sInN0b3JlTnVtYmVyIjoyMjY2LCJuYW1lIjoiRmFpcnZpZXcgUGFyayIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9IIiwibGF0aXR1ZGUiOjM5LjI5NiwibG9uZ2l0dWRlIjotODQuMzA1OSwiZGlzcGxheUFkZHJlc3MiOiI5ODQxIFdhdGVyc3RvbmUgQmx2ZCwgQ2luY2lubmF0aSwgT0gsIDQ1MjQ5In0sInN0b3JlTnVtYmVyIjoxMDkxLCJuYW1lIjoiRmllbGRzIEVydGVsIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9IIiwibGF0aXR1ZGUiOjQwLjA2NTMsImxvbmdpdHVkZSI6LTgzLjAyMDcsImRpc3BsYXlBZGRyZXNzIjoiNTUgR3JhY2VsYW5kIEJsdmQsIENvbHVtYnVzLCBPSCwgNDMyMTQifSwic3RvcmVOdW1iZXIiOjE5NzgsIm5hbWUiOiJHcmFjZWxhbmQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0giLCJsYXRpdHVkZSI6NDAuOTgzOCwibG9uZ2l0dWRlIjotODEuNDk1OCwiZGlzcGxheUFkZHJlc3MiOiI3NjIgQXJsaW5ndG9uIFJkZywgQWtyb24sIE9ILCA0NDMxMiJ9LCJzdG9yZU51bWJlciI6MjM0NiwibmFtZSI6IkdyZWVuIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0giLCJsYXRpdHVkZSI6MzkuODc2NiwibG9uZ2l0dWRlIjotODMuMDM3MiwiZGlzcGxheUFkZHJlc3MiOiI0MTQ0IEJ1Y2tleWUgUGt3eSwgR3JvdmUgQ2l0eSwgT0gsIDQzMTIzIn0sInN0b3JlTnVtYmVyIjoyMDcwLCJuYW1lIjoiR3JvdmUgQ2l0eSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9IIiwibGF0aXR1ZGUiOjQwLjAyOTEsImxvbmdpdHVkZSI6LTgyLjQ1MjcsImRpc3BsYXlBZGRyZXNzIjoiMjcwIEFpcnBvcnQgUGt3eSwgSGVhdGgsIE9ILCA0MzA1NiJ9LCJzdG9yZU51bWJlciI6OTg5LCJuYW1lIjoiSGVhdGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSCIsImxhdGl0dWRlIjo0MC4wMzYzLCJsb25naXR1ZGUiOi04My4xMjEzLCJkaXNwbGF5QWRkcmVzcyI6IjQyMTEgVHJ1ZW1hbiBCbHZkLCBIaWxsaWFyZCwgT0gsIDQzMDI2In0sInN0b3JlTnVtYmVyIjoxOTY5LCJuYW1lIjoiSGlsbGlhcmQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0giLCJsYXRpdHVkZSI6MzkuODcxMSwibG9uZ2l0dWRlIjotODQuMTM0LCJkaXNwbGF5QWRkcmVzcyI6IjU3MDAgRXhlY3V0aXZlIEJsdmQsIEh1YmVyIEhlaWdodHMsIE9ILCA0NTQyNCJ9LCJzdG9yZU51bWJlciI6MTEyOSwibmFtZSI6Ikh1YmVyIEhlaWdodHMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0giLCJsYXRpdHVkZSI6MzkuNzMwMiwibG9uZ2l0dWRlIjotODIuNjIxLCJkaXNwbGF5QWRkcmVzcyI6IjEzMDAgUml2ZXIgVmFsbGV5IEJsdmQsIExhbmNhc3RlciwgT0gsIDQzMTMwIn0sInN0b3JlTnVtYmVyIjo5OTAsIm5hbWUiOiJMYW5jYXN0ZXIiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSCIsImxhdGl0dWRlIjo0MS4zMTIyLCJsb25naXR1ZGUiOi04MS41MjQ5LCJkaXNwbGF5QWRkcmVzcyI6IjgyODIgR29sZGVuIExpbmsgQmx2ZCwgTm9ydGhmaWVsZCwgT0gsIDQ0MDY3In0sInN0b3JlTnVtYmVyIjoxODQxLCJuYW1lIjoiTWFjZWRvbmlhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0giLCJsYXRpdHVkZSI6NDAuNzg2NywibG9uZ2l0dWRlIjotODIuNTk0NywiZGlzcGxheUFkZHJlc3MiOiIyMjA1IFdhbGtlciBMYWtlIFJkLCBNYW5zZmllbGQsIE9ILCA0NDkwMyJ9LCJzdG9yZU51bWJlciI6MTM4MSwibmFtZSI6Ik1hbnNmaWVsZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0giLCJsYXRpdHVkZSI6NDAuODAwNSwibG9uZ2l0dWRlIjotODEuNDk2NywiZGlzcGxheUFkZHJlc3MiOiIxOTgwIExpbmNvbG4gV2F5IEUsIE1hc3NpbGxvbiwgT0gsIDQ0NjQ2In0sInN0b3JlTnVtYmVyIjoyMDQ0LCJuYW1lIjoiTWFzc2lsbG9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0giLCJsYXRpdHVkZSI6NDEuNTI0MiwibG9uZ2l0dWRlIjotODEuNDM1LCJkaXNwbGF5QWRkcmVzcyI6IjEyODUgU29tIENlbnRlciBSZCwgTWF5ZmllbGQgSGVpZ2h0cywgT0gsIDQ0MTI0In0sInN0b3JlTnVtYmVyIjoxMzI0LCJuYW1lIjoiTWF5ZmllbGQgSGVpZ2h0cyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0giLCJsYXRpdHVkZSI6NDEuMTU0NywibG9uZ2l0dWRlIjotODEuODY0NywiZGlzcGxheUFkZHJlc3MiOiIxMDE1IE4gQ291cnQgU3QsIE1lZGluYSwgT0gsIDQ0MjU2In0sInN0b3JlTnVtYmVyIjo5ODQsIm5hbWUiOiJNZWRpbmEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSCIsImxhdGl0dWRlIjo0MS42ODYyLCJsb25naXR1ZGUiOi04MS4yOTM2LCJkaXNwbGF5QWRkcmVzcyI6Ijk2NjkgTWVudG9yIEF2ZSwgTWVudG9yLCBPSCwgNDQwNjAifSwic3RvcmVOdW1iZXIiOjIzMjIsIm5hbWUiOiJNZW50b3IiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSCIsImxhdGl0dWRlIjozOS40OTA4LCJsb25naXR1ZGUiOi04NC4zMzM4LCJkaXNwbGF5QWRkcmVzcyI6IjY3NzUgUm9vc2V2ZWx0IFBrd3ksIE1pZGRsZXRvd24sIE9ILCA0NTA0NCJ9LCJzdG9yZU51bWJlciI6OTkxLCJuYW1lIjoiTWlkZGxldG93biIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9IIiwibGF0aXR1ZGUiOjM5LjE2MjIsImxvbmdpdHVkZSI6LTg0LjI3NTIsImRpc3BsYXlBZGRyZXNzIjoiMTAwIFJpdmVycyBFZGdlLCBNaWxmb3JkLCBPSCwgNDUxNTAifSwic3RvcmVOdW1iZXIiOjEzOTMsIm5hbWUiOiJNaWxmb3JkIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSCIsImxhdGl0dWRlIjo0MS4yMTY3LCJsb25naXR1ZGUiOi04MC43NTI2LCJkaXNwbGF5QWRkcmVzcyI6IjU1NTUgWW91bmdzdG93biBXYXJyZW4gUmQsIE5pbGVzLCBPSCwgNDQ0NDYifSwic3RvcmVOdW1iZXIiOjEzMDEsIm5hbWUiOiJOaWxlcyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSCIsImxhdGl0dWRlIjo0MS40MjAyLCJsb25naXR1ZGUiOi04MS44OTYsImRpc3BsYXlBZGRyZXNzIjoiMjQ2NDYgQnJvb2twYXJrIFJkLCBOb3J0aCBPbG1zdGVkLCBPSCwgNDQwNzAifSwic3RvcmVOdW1iZXIiOjIwMTYsIm5hbWUiOiJOb3J0aCBPbG1zdGVkIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0giLCJsYXRpdHVkZSI6NDEuMzc3NywibG9uZ2l0dWRlIjotODEuNzM2MiwiZGlzcGxheUFkZHJlc3MiOiI2ODUwIFJpZGdlIFJkLCBQYXJtYSwgT0gsIDQ0MTI5In0sInN0b3JlTnVtYmVyIjo3OTIsIm5hbWUiOiJQYXJtYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9IIiwibGF0aXR1ZGUiOjQwLjEzODcsImxvbmdpdHVkZSI6LTgyLjk3OSwiZGlzcGxheUFkZHJlc3MiOiIxNDg1IFBvbGFyaXMgUGt3eSwgQ29sdW1idXMsIE9ILCA0MzI0MCJ9LCJzdG9yZU51bWJlciI6MTIzNiwibmFtZSI6IlBvbGFyaXMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSCIsImxhdGl0dWRlIjozOS45MzUzLCJsb25naXR1ZGUiOi04Mi43OTI3LCJkaXNwbGF5QWRkcmVzcyI6IjI0MzcgVGF5bG9yIFBhcmsgRHIsIFJleW5vbGRzYnVyZywgT0gsIDQzMDY4In0sInN0b3JlTnVtYmVyIjoyNDUwLCJuYW1lIjoiUmV5bm9sZHNidXJnIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9IIiwibGF0aXR1ZGUiOjQxLjQyMTMsImxvbmdpdHVkZSI6LTgyLjY3NDQsImRpc3BsYXlBZGRyZXNzIjoiNDAyMCBNaWxhbiBSZCwgU2FuZHVza3ksIE9ILCA0NDg3MCJ9LCJzdG9yZU51bWJlciI6MjE1OSwibmFtZSI6IlNhbmR1c2t5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0giLCJsYXRpdHVkZSI6MzkuMzc4NiwibG9uZ2l0dWRlIjotODQuMjIwMiwiZGlzcGxheUFkZHJlc3MiOiI0MDAgQ29yd2luIE5peG9uIEJsdmQsIFNvdXRoIExlYmFub24sIE9ILCA0NTA2NSJ9LCJzdG9yZU51bWJlciI6MjQ4NiwibmFtZSI6IlNvdXRoIExlYmFub24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSCIsImxhdGl0dWRlIjozOS4yODc5LCJsb25naXR1ZGUiOi04NC40NTQyLCJkaXNwbGF5QWRkcmVzcyI6IjkwMCBFIEtlbXBlciBSZCwgU3ByaW5nZGFsZSwgT0gsIDQ1MjQ2In0sInN0b3JlTnVtYmVyIjoxMDM3LCJuYW1lIjoiU3ByaW5nZGFsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9IIiwibGF0aXR1ZGUiOjM5Ljk0MDUsImxvbmdpdHVkZSI6LTgzLjg0MDgsImRpc3BsYXlBZGRyZXNzIjoiMTg4NSBXIDFzdCBTdCwgU3ByaW5nZmllbGQsIE9ILCA0NTUwNCJ9LCJzdG9yZU51bWJlciI6MTI3NywibmFtZSI6IlNwcmluZ2ZpZWxkIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6W10sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9IIiwibGF0aXR1ZGUiOjQxLjE1NTYsImxvbmdpdHVkZSI6LTgxLjQxLCJkaXNwbGF5QWRkcmVzcyI6IjQyMDAgS2VudCBSZCwgU3RvdywgT0gsIDQ0MjI0In0sInN0b3JlTnVtYmVyIjo5ODgsIm5hbWUiOiJTdG93Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9IIiwibGF0aXR1ZGUiOjQxLjIzOCwibG9uZ2l0dWRlIjotODEuMzUzMSwiZGlzcGxheUFkZHJlc3MiOiIxMTQ0IFN0YXRlIFJ0ZSAzMDMsIFN0cmVldHNib3JvLCBPSCwgNDQyNDEifSwic3RvcmVOdW1iZXIiOjIxNTcsIm5hbWUiOiJTdHJlZXRzYm9ybyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0giLCJsYXRpdHVkZSI6NDEuMzE2OCwibG9uZ2l0dWRlIjotODEuODI3NywiZGlzcGxheUFkZHJlc3MiOiIxODIwMCBSb3lhbHRvbiBSZCwgU3Ryb25nc3ZpbGxlLCBPSCwgNDQxMzYifSwic3RvcmVOdW1iZXIiOjk4NSwibmFtZSI6IlN0cm9uZ3N2aWxsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9IIiwibGF0aXR1ZGUiOjM5LjY1ODksImxvbmdpdHVkZSI6LTg0LjEwNDUsImRpc3BsYXlBZGRyZXNzIjoiNDM0MSBGZWVkd2lyZSBSZCwgRGF5dG9uLCBPSCwgNDU0NDAifSwic3RvcmVOdW1iZXIiOjE5NDAsIm5hbWUiOiJTdWdhcmNyZWVrIFRvd25zaGlwIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9IIiwibGF0aXR1ZGUiOjQxLjcyMDMsImxvbmdpdHVkZSI6LTgzLjU2MTIsImRpc3BsYXlBZGRyZXNzIjoiODE3IFcgQWxleGlzIFJkLCBUb2xlZG8sIE9ILCA0MzYxMiJ9LCJzdG9yZU51bWJlciI6NjIyLCJuYW1lIjoiVG9sZWRvIE5FIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaG90byBDZW50ZXIiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0giLCJsYXRpdHVkZSI6NDEuNjk5NSwibG9uZ2l0dWRlIjotODMuNjUzOSwiZGlzcGxheUFkZHJlc3MiOiI1MjI1IE1vbnJvZSBTdCwgVG9sZWRvLCBPSCwgNDM2MjMifSwic3RvcmVOdW1iZXIiOjYyMywibmFtZSI6IlRvbGVkbyBOVyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSCIsImxhdGl0dWRlIjo0MS41NDI3LCJsb25naXR1ZGUiOi04My41ODA0LCJkaXNwbGF5QWRkcmVzcyI6Ijk2NjYgT2xkZSBVUyAyMCwgUm9zc2ZvcmQsIE9ILCA0MzQ2MCJ9LCJzdG9yZU51bWJlciI6MTMxNywibmFtZSI6IlRvbGVkbyBTRSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0giLCJsYXRpdHVkZSI6NDEuNjE1MywibG9uZ2l0dWRlIjotODMuNjk0OCwiZGlzcGxheUFkZHJlc3MiOiIxNDY1IEUgTWFsbCBEciwgSG9sbGFuZCwgT0gsIDQzNTI4In0sInN0b3JlTnVtYmVyIjo2MjQsIm5hbWUiOiJUb2xlZG8gVyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhvdG8gQ2VudGVyIiwiVGFyZ2V0IE1vYmlsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSCIsImxhdGl0dWRlIjozOS44MTc5LCJsb25naXR1ZGUiOi04NC4yODE0LCJkaXNwbGF5QWRkcmVzcyI6IjI4MDAgU2hpbG9oIFNwcmluZ3MgUmQsIFRyb3R3b29kLCBPSCwgNDU0MjYifSwic3RvcmVOdW1iZXIiOjExMzAsIm5hbWUiOiJUcm90d29vZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0giLCJsYXRpdHVkZSI6NDEuNTAwNywibG9uZ2l0dWRlIjotODEuNTMyOSwiZGlzcGxheUFkZHJlc3MiOiIxNDA3MCBDZWRhciBSZCwgVW5pdmVyc2l0eSBIZWlnaHRzLCBPSCwgNDQxMTgifSwic3RvcmVOdW1iZXIiOjE4MDQsIm5hbWUiOiJVbml2ZXJzaXR5IEhlaWdodHMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSCIsImxhdGl0dWRlIjo0MS4wNDI4LCJsb25naXR1ZGUiOi04MS42OTIxLCJkaXNwbGF5QWRkcmVzcyI6IjExODMgV2lsbGlhbXMgUmVzZXJ2ZSBCbHZkLCBXYWRzd29ydGgsIE9ILCA0NDI4MSJ9LCJzdG9yZU51bWJlciI6MjExOSwibmFtZSI6IldhZHN3b3J0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0giLCJsYXRpdHVkZSI6MzkuMzU2MSwibG9uZ2l0dWRlIjotODQuMzYxNywiZGlzcGxheUFkZHJlc3MiOiI3NjQ0IFZvaWNlIG9mIEFtZXJpY2EgQ2VudGVyIERyLCBXZXN0IENoZXN0ZXIsIE9ILCA0NTA2OSJ9LCJzdG9yZU51bWJlciI6MTUzNCwibmFtZSI6Ildlc3QgQ2hlc3RlciBUb3duc2hpcCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSCIsImxhdGl0dWRlIjozOS4xNDQ2LCJsb25naXR1ZGUiOi04NC42MTk1LCJkaXNwbGF5QWRkcmVzcyI6IjYxNTAgR2xlbndheSBBdmUsIENpbmNpbm5hdGksIE9ILCA0NTIxMSJ9LCJzdG9yZU51bWJlciI6MjQ4OCwibmFtZSI6Ildlc3Rlcm4gSGlsbHMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9IIiwibGF0aXR1ZGUiOjM5Ljk3MDksImxvbmdpdHVkZSI6LTgyLjg5NTMsImRpc3BsYXlBZGRyZXNzIjoiMzk1NSBFIEJyb2FkIFN0LCBXaGl0ZWhhbGwsIE9ILCA0MzIxMyJ9LCJzdG9yZU51bWJlciI6MTk3MiwibmFtZSI6IldoaXRlaGFsbCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSCIsImxhdGl0dWRlIjo0MS42Mjg5LCJsb25naXR1ZGUiOi04MS40Mjg2LCJkaXNwbGF5QWRkcmVzcyI6IjM2MTk1IEV1Y2xpZCBBdmUsIFdpbGxvdWdoYnksIE9ILCA0NDA5NCJ9LCJzdG9yZU51bWJlciI6MTExMiwibmFtZSI6IldpbGxvdWdoYnkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSyIsImxhdGl0dWRlIjozNi4wNjcsImxvbmdpdHVkZSI6LTk1Ljc3NjQsImRpc3BsYXlBZGRyZXNzIjoiMTE1MCBFIEhpbGxzaWRlIERyLCBCcm9rZW4gQXJyb3csIE9LLCA3NDAxMiJ9LCJzdG9yZU51bWJlciI6MjQyMiwibmFtZSI6IkJyb2tlbiBBcnJvdyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSyIsImxhdGl0dWRlIjozNS42NTA3LCJsb25naXR1ZGUiOi05Ny40NjM2LCJkaXNwbGF5QWRkcmVzcyI6IjEyMDAgRSAybmQgU3QsIEVkbW9uZCwgT0ssIDczMDM0In0sInN0b3JlTnVtYmVyIjoxMzk4LCJuYW1lIjoiRWRtb25kIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSyIsImxhdGl0dWRlIjozNS40MzgxLCJsb25naXR1ZGUiOi05Ny4zOTUzLCJkaXNwbGF5QWRkcmVzcyI6IjczMDUgU0UgMjl0aCBTdCwgTWlkd2VzdCBDaXR5LCBPSywgNzMxMTAifSwic3RvcmVOdW1iZXIiOjIwNjEsIm5hbWUiOiJNaWR3ZXN0IENpdHkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0siLCJsYXRpdHVkZSI6MzUuMzE3NywibG9uZ2l0dWRlIjotOTcuNTAwMSwiZGlzcGxheUFkZHJlc3MiOiI3MjAgU1cgMTlUSCBTVCwgTW9vcmUsIE9LLCA3MzE2MCJ9LCJzdG9yZU51bWJlciI6MjcyNywibmFtZSI6Ik1vb3JlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSyIsImxhdGl0dWRlIjozNS4yMzU0LCJsb25naXR1ZGUiOi05Ny40ODMxLCJkaXNwbGF5QWRkcmVzcyI6IjE0MDAgMjR0aCBBdmUgTlcsIE5vcm1hbiwgT0ssIDczMDY5In0sInN0b3JlTnVtYmVyIjoyMjIwLCJuYW1lIjoiTm9ybWFuIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9LIiwibGF0aXR1ZGUiOjM1LjU1NjEsImxvbmdpdHVkZSI6LTk3LjY0MDEsImRpc3BsYXlBZGRyZXNzIjoiODMxNSBOIFJvY2t3ZWxsIEF2ZSwgT2tsYWhvbWEgQ2l0eSwgT0ssIDczMTMyIn0sInN0b3JlTnVtYmVyIjoxODYwLCJuYW1lIjoiT2tsYWhvbWEgQ2l0eSBOVyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9LIiwibGF0aXR1ZGUiOjM1LjUyNDQsImxvbmdpdHVkZSI6LTk3LjU2NDQsImRpc3BsYXlBZGRyZXNzIjoiNTQwMCBOIE1heSBBdmUsIE9rbGFob21hIENpdHksIE9LLCA3MzExMiJ9LCJzdG9yZU51bWJlciI6NDMsIm5hbWUiOiJPa2xhaG9tYSBDaXR5IE5vcnRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSyIsImxhdGl0dWRlIjozNS40MTkzLCJsb25naXR1ZGUiOi05Ny41MjkxLCJkaXNwbGF5QWRkcmVzcyI6IjgwMCBTVyA0NHRoIFN0LCBPa2xhaG9tYSBDaXR5LCBPSywgNzMxMDkifSwic3RvcmVOdW1iZXIiOjQ0LCJuYW1lIjoiT2tsYWhvbWEgQ2l0eSBTb3V0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9LIiwibGF0aXR1ZGUiOjM2LjI5MDMsImxvbmdpdHVkZSI6LTk1Ljg0MzYsImRpc3BsYXlBZGRyZXNzIjoiOTAxMCBOIDEyMXN0IEVhc3QgQXZlLCBPd2Fzc28sIE9LLCA3NDA1NSJ9LCJzdG9yZU51bWJlciI6MjA5NSwibmFtZSI6Ik93YXNzbyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9LIiwibGF0aXR1ZGUiOjM1LjYxMjYsImxvbmdpdHVkZSI6LTk3LjU0NzcsImRpc3BsYXlBZGRyZXNzIjoiMTM5MjQgTiBQZW5uc3lsdmFuaWEgQXZlLCBPa2xhaG9tYSBDaXR5LCBPSywgNzMxMzQifSwic3RvcmVOdW1iZXIiOjEzOTcsIm5hbWUiOiJRdWFpbCBTcHJpbmdzIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9LIiwibGF0aXR1ZGUiOjM2LjEzNywibG9uZ2l0dWRlIjotOTUuOTIwNSwiZGlzcGxheUFkZHJlc3MiOiIxNzAxIFMgWWFsZSBBdmUsIFR1bHNhLCBPSywgNzQxMTIifSwic3RvcmVOdW1iZXIiOjE5LCJuYW1lIjoiVHVsc2EiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0siLCJsYXRpdHVkZSI6MzYuMDU0OSwibG9uZ2l0dWRlIjotOTYuMDAzNywiZGlzcGxheUFkZHJlc3MiOiI3NDM3IFMgT2x5bXBpYSBBdmUgVywgVHVsc2EsIE9LLCA3NDEzMiJ9LCJzdG9yZU51bWJlciI6MjM1NywibmFtZSI6IlR1bHNhIEhpbGxzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0siLCJsYXRpdHVkZSI6MzYuMDYyOCwibG9uZ2l0dWRlIjotOTUuODU2NSwiZGlzcGxheUFkZHJlc3MiOiIxMDcxMSBFIDcxc3QgU3QsIFR1bHNhLCBPSywgNzQxMzMifSwic3RvcmVOdW1iZXIiOjE3ODIsIm5hbWUiOiJUdWxzYSBTRSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPSyIsImxhdGl0dWRlIjozNi4wMTg5LCJsb25naXR1ZGUiOi05NS44ODQzLCJkaXNwbGF5QWRkcmVzcyI6IjEwMDE5IFMgTWVtb3JpYWwgRHIsIFR1bHNhLCBPSywgNzQxMzMifSwic3RvcmVOdW1iZXIiOjI1NDIsIm5hbWUiOiJUdWxzYSBTb3V0aCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT0siLCJsYXRpdHVkZSI6MzUuNDgxNCwibG9uZ2l0dWRlIjotOTcuNzYzMiwiZGlzcGxheUFkZHJlc3MiOiIxNzAwIEdhcnRoIEJyb29rcyBCbHZkLCBZdWtvbiwgT0ssIDczMDk5In0sInN0b3JlTnVtYmVyIjoyNDYwLCJuYW1lIjoiWXVrb24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9SIiwibGF0aXR1ZGUiOjQ0LjYzMDQsImxvbmdpdHVkZSI6LTEyMy4wNzksImRpc3BsYXlBZGRyZXNzIjoiMjI1NSAxNHRoIEF2ZSBTRSwgQWxiYW55LCBPUiwgOTczMjIifSwic3RvcmVOdW1iZXIiOjYwOSwibmFtZSI6IkFsYmFueSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPUiIsImxhdGl0dWRlIjo0NS40ODc4LCJsb25naXR1ZGUiOi0xMjIuNzg4LCJkaXNwbGF5QWRkcmVzcyI6IjEwNzc1IFNXIEJlYXZlcnRvbiBIaWxsc2RhbGUgSHd5LCBCZWF2ZXJ0b24sIE9SLCA5NzAwNSJ9LCJzdG9yZU51bWJlciI6MzQ0LCJuYW1lIjoiQmVhdmVydG9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPUiIsImxhdGl0dWRlIjo0NC4xMDUzLCJsb25naXR1ZGUiOi0xMjEuMywiZGlzcGxheUFkZHJlc3MiOiI2MzQzNSBOIEhpZ2h3YXkgOTcsIEJlbmQsIE9SLCA5NzcwMSJ9LCJzdG9yZU51bWJlciI6NzY2LCJuYW1lIjoiQmVuZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiRnJlc2ggR3JvY2VyeSIsIldpbmUgQXZhaWxhYmxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT1IiLCJsYXRpdHVkZSI6NDUuNDMxOCwibG9uZ2l0dWRlIjotMTIyLjU3MSwiZGlzcGxheUFkZHJlc3MiOiI5MDAwIFNFIFN1bm55c2lkZSBSZCwgQ2xhY2thbWFzLCBPUiwgOTcwMTUifSwic3RvcmVOdW1iZXIiOjM0NiwibmFtZSI6IkNsYWNrYW1hcyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT1IiLCJsYXRpdHVkZSI6NDQuMDQ5MiwibG9uZ2l0dWRlIjotMTIzLjE3MSwiZGlzcGxheUFkZHJlc3MiOiI0NTc1IFcgMTF0aCBBdmUsIEV1Z2VuZSwgT1IsIDk3NDAyIn0sInN0b3JlTnVtYmVyIjoxNDA1LCJuYW1lIjoiRXVnZW5lIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9SIiwibGF0aXR1ZGUiOjQ1LjUzMjcsImxvbmdpdHVkZSI6LTEyMi40NDMsImRpc3BsYXlBZGRyZXNzIjoiMjE1MDAgTkUgSGFsc2V5IFN0LCBGYWlydmlldywgT1IsIDk3MDI0In0sInN0b3JlTnVtYmVyIjoxNDA2LCJuYW1lIjoiRmFpcnZpZXciLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPUiIsImxhdGl0dWRlIjo0NS41MDczLCJsb25naXR1ZGUiOi0xMjIuOTU3LCJkaXNwbGF5QWRkcmVzcyI6IjIyOTUgU0UgVHVhbGF0aW4gVmFsbGV5IEh3eSwgSGlsbHNib3JvLCBPUiwgOTcxMjMifSwic3RvcmVOdW1iZXIiOjM2MiwibmFtZSI6IkhpbGxzYm9ybyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPUiIsImxhdGl0dWRlIjo0NS4wMDc0LCJsb25naXR1ZGUiOi0xMjIuOTk5LCJkaXNwbGF5QWRkcmVzcyI6IjY0NTAgS2VpemVyIFN0YXRpb24gQmx2ZCBORSwgS2VpemVyLCBPUiwgOTczMDMifSwic3RvcmVOdW1iZXIiOjIxMTAsIm5hbWUiOiJLZWl6ZXIiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT1IiLCJsYXRpdHVkZSI6NDIuMzQ3NCwibG9uZ2l0dWRlIjotMTIyLjg3OCwiZGlzcGxheUFkZHJlc3MiOiIyMDAwIENyYXRlciBMYWtlIEh3eSwgTWVkZm9yZCwgT1IsIDk3NTA0In0sInN0b3JlTnVtYmVyIjo2MTMsIm5hbWUiOiJNZWRmb3JkIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPUiIsImxhdGl0dWRlIjo0NS41MTY1LCJsb25naXR1ZGUiOi0xMjIuNTYxLCJkaXNwbGF5QWRkcmVzcyI6Ijk4MDAgU0UgV2FzaGluZ3RvbiBTdCwgUG9ydGxhbmQsIE9SLCA5NzIxNiJ9LCJzdG9yZU51bWJlciI6MTQxOSwibmFtZSI6IlBvcnRsYW5kIEVhc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9SIiwibGF0aXR1ZGUiOjQ1LjU3NjYsImxvbmdpdHVkZSI6LTEyMi41NjUsImRpc3BsYXlBZGRyZXNzIjoiOTQwMSBORSBDYXNjYWRlcyBQa3d5LCBQb3J0bGFuZCwgT1IsIDk3MjIwIn0sInN0b3JlTnVtYmVyIjoyNTIzLCJuYW1lIjoiUG9ydGxhbmQgTkUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9SIiwibGF0aXR1ZGUiOjQ1LjYxMzUsImxvbmdpdHVkZSI6LTEyMi42ODIsImRpc3BsYXlBZGRyZXNzIjoiMTU1NSBOIFRvbWFoYXdrIElzbGFuZCBEciwgUG9ydGxhbmQsIE9SLCA5NzIxNyJ9LCJzdG9yZU51bWJlciI6Mjc3OSwibmFtZSI6IlBvcnRsYW5kIE5XIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIl0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT1IiLCJsYXRpdHVkZSI6NDQuOTM4OCwibG9uZ2l0dWRlIjotMTIyLjk4NiwiZGlzcGxheUFkZHJlc3MiOiIzNzkwIENlbnRlciBTdCBORSwgU2FsZW0sIE9SLCA5NzMwMSJ9LCJzdG9yZU51bWJlciI6NjA4LCJuYW1lIjoiU2FsZW0iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT1IiLCJsYXRpdHVkZSI6NDUuMzY2NiwibG9uZ2l0dWRlIjotMTIyLjgzOCwiZGlzcGxheUFkZHJlc3MiOiIyMTM2NSBTVyBCYWxlciBXYXksIFNoZXJ3b29kLCBPUiwgOTcxNDAifSwic3RvcmVOdW1iZXIiOjE4NjgsIm5hbWUiOiJTaGVyd29vZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPUiIsImxhdGl0dWRlIjo0NC4wNzI3LCJsb25naXR1ZGUiOi0xMjMuMDQ2LCJkaXNwbGF5QWRkcmVzcyI6IjI3NTAgR2F0ZXdheSBTdCwgU3ByaW5nZmllbGQsIE9SLCA5NzQ3NyJ9LCJzdG9yZU51bWJlciI6NjEyLCJuYW1lIjoiU3ByaW5nZmllbGQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiT1IiLCJsYXRpdHVkZSI6NDUuNTM4OCwibG9uZ2l0dWRlIjotMTIyLjg2NiwiZGlzcGxheUFkZHJlc3MiOiIxODEwMSBOVyBFdmVyZ3JlZW4gUGt3eSwgQmVhdmVydG9uLCBPUiwgOTcwMDYifSwic3RvcmVOdW1iZXIiOjkxMCwibmFtZSI6IlRhbmFzYm91cm5lIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJPUiIsImxhdGl0dWRlIjo0NS40NTQzLCJsb25naXR1ZGUiOi0xMjIuNzc5LCJkaXNwbGF5QWRkcmVzcyI6IjkwMDkgU1cgSGFsbCBCbHZkLCBUaWdhcmQsIE9SLCA5NzIyMyJ9LCJzdG9yZU51bWJlciI6MzQ1LCJuYW1lIjoiV2FzaGluZ3RvbiBTcXVhcmUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6Ik9SIiwibGF0aXR1ZGUiOjQ1LjMzMzIsImxvbmdpdHVkZSI6LTEyMi43NjcsImRpc3BsYXlBZGRyZXNzIjoiMjU5MjUgU1cgSGVhdGhlciBQbCwgV2lsc29udmlsbGUsIE9SLCA5NzA3MCJ9LCJzdG9yZU51bWJlciI6MTg0NywibmFtZSI6IldpbHNvbnZpbGxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJQQSIsImxhdGl0dWRlIjo0MC4xMjQ2LCJsb25naXR1ZGUiOi03NS4xMTYsImRpc3BsYXlBZGRyZXNzIjoiMTQ5NSBPbGQgWW9yayBSZCwgQWJpbmd0b24sIFBBLCAxOTAwMSJ9LCJzdG9yZU51bWJlciI6MTI1NiwibmFtZSI6IkFiaW5ndG9uIFRvd25zaGlwIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlBBIiwibGF0aXR1ZGUiOjQwLjYxMzEsImxvbmdpdHVkZSI6LTc1LjUzNjMsImRpc3BsYXlBZGRyZXNzIjoiMTYwMCBOIENlZGFyIENyZXN0IEJsdmQsIEFsbGVudG93biwgUEEsIDE4MTA0In0sInN0b3JlTnVtYmVyIjoxNTEwLCJuYW1lIjoiQWxsZW50b3duIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6NDAuNDU4NSwibG9uZ2l0dWRlIjotNzguNDA4NSwiZGlzcGxheUFkZHJlc3MiOiIxNTMgU2llcnJhIERyLCBBbHRvb25hLCBQQSwgMTY2MDEifSwic3RvcmVOdW1iZXIiOjExNjAsIm5hbWUiOiJBbHRvb25hIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJUYXJnZXQgTW9iaWxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6NDAuODc1NCwibG9uZ2l0dWRlIjotNzkuOTQxOSwiZGlzcGxheUFkZHJlc3MiOiIyMDAgQnV0bGVyIENvbW1vbnMsIEJ1dGxlciwgUEEsIDE2MDAxIn0sInN0b3JlTnVtYmVyIjoxNDE0LCJuYW1lIjoiQnV0bGVyIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6NDAuMTk2MiwibG9uZ2l0dWRlIjotNzcuMTU3MiwiZGlzcGxheUFkZHJlc3MiOiIyNDYgV2VzdG1pbnN0ZXIgRHIsIENhcmxpc2xlLCBQQSwgMTcwMTMifSwic3RvcmVOdW1iZXIiOjIwOTksIm5hbWUiOiJDYXJsaXNsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6NDAuNjgxLCJsb25naXR1ZGUiOi04MC4zMTI3LCJkaXNwbGF5QWRkcmVzcyI6Ijg3IFdhZ25lciBSZCwgTW9uYWNhLCBQQSwgMTUwNjEifSwic3RvcmVOdW1iZXIiOjIxMDAsIm5hbWUiOiJDZW50ZXIgVG93bnNoaXAiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlBBIiwibGF0aXR1ZGUiOjM5Ljk0MTYsImxvbmdpdHVkZSI6LTc3LjYyNzcsImRpc3BsYXlBZGRyZXNzIjoiOTEzIE5vcmxhbmQgQXZlLCBDaGFtYmVyc2J1cmcsIFBBLCAxNzIwMSJ9LCJzdG9yZU51bWJlciI6MjI0MSwibmFtZSI6IkNoYW1iZXJzYnVyZyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6NDAuMDc1MSwibG9uZ2l0dWRlIjotNzUuMTU2MSwiZGlzcGxheUFkZHJlc3MiOiIyNDUwIFNob3BwZXJzIExuLCBQaGlsYWRlbHBoaWEsIFBBLCAxOTE1MCJ9LCJzdG9yZU51bWJlciI6MjUyNywibmFtZSI6IkNoZWx0ZW5oYW0iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlBBIiwibGF0aXR1ZGUiOjM5Ljg4MjgsImxvbmdpdHVkZSI6LTc1LjUyODIsImRpc3BsYXlBZGRyZXNzIjoiNjAwIEhhdHRvbiBEciwgR2xlbiBNaWxscywgUEEsIDE5MzQyIn0sInN0b3JlTnVtYmVyIjoyMTcyLCJuYW1lIjoiQ29uY29yZCBUb3duc2hpcCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJQQSIsImxhdGl0dWRlIjo0MC42ODc5LCJsb25naXR1ZGUiOi04MC4wODQ0LCJkaXNwbGF5QWRkcmVzcyI6IjE3MTcgUm91dGUgMjI4LCBDcmFuYmVycnkgVHdwLCBQQSwgMTYwNjYifSwic3RvcmVOdW1iZXIiOjEyNTksIm5hbWUiOiJDcmFuYmVycnkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlBBIiwibGF0aXR1ZGUiOjQxLjQ2NTcsImxvbmdpdHVkZSI6LTc1LjYzNzksImRpc3BsYXlBZGRyZXNzIjoiMTE0MCBDb21tZXJjZSBCbHZkLCBEaWNrc29uIENpdHksIFBBLCAxODUxOSJ9LCJzdG9yZU51bWJlciI6MTQ3NCwibmFtZSI6IkRpY2tzb24gQ2l0eSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6NDAuNDYwOCwibG9uZ2l0dWRlIjotNzkuOTIxMiwiZGlzcGxheUFkZHJlc3MiOiI2MjMxIFBFTk4gQVZFLCBFYXN0IExpYmVydHksIFBBLCAxNTIwNiJ9LCJzdG9yZU51bWJlciI6Mjc1NywibmFtZSI6IkVhc3QgTGliZXJ0eSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6NDIuMDU3MiwibG9uZ2l0dWRlIjotODAuMDkxOSwiZGlzcGxheUFkZHJlc3MiOiI2NzAwIFBlYWNoIFN0LCBFcmllLCBQQSwgMTY1MDkifSwic3RvcmVOdW1iZXIiOjEyODcsIm5hbWUiOiJFcmllIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6NDAuMzA5MywibG9uZ2l0dWRlIjotNzUuODU5MywiZGlzcGxheUFkZHJlc3MiOiI0NTk5IFBlcmtpb21lbiBBdmUsIFJlYWRpbmcsIFBBLCAxOTYwNiJ9LCJzdG9yZU51bWJlciI6MjUyOSwibmFtZSI6IkV4ZXRlciBUb3duc2hpcCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJQQSIsImxhdGl0dWRlIjo0MC4wMzksImxvbmdpdHVkZSI6LTc1LjYyOTQsImRpc3BsYXlBZGRyZXNzIjoiMjAxIFN1bnJpc2UgQmx2ZCwgRXh0b24sIFBBLCAxOTM0MSJ9LCJzdG9yZU51bWJlciI6MTEzNCwibmFtZSI6IkV4dG9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJQQSIsImxhdGl0dWRlIjo0MC4zMDM3LCJsb25naXR1ZGUiOi03OS41OTU5LCJkaXNwbGF5QWRkcmVzcyI6IjYyMDYgU3RhdGUgUnRlIDMwLCBHcmVlbnNidXJnLCBQQSwgMTU2MDEifSwic3RvcmVOdW1iZXIiOjEyMjAsIm5hbWUiOiJHcmVlbnNidXJnIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6MzkuODI2OCwibG9uZ2l0dWRlIjotNzYuOTk4NSwiZGlzcGxheUFkZHJlc3MiOiIzMSBXSUxTT04gQVZFLCBIYW5vdmVyLCBQQSwgMTczMzEifSwic3RvcmVOdW1iZXIiOjI1NjcsIm5hbWUiOiJIYW5vdmVyIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJQQSIsImxhdGl0dWRlIjo0MC42Mzg2LCJsb25naXR1ZGUiOi03NS40NDAzLCJkaXNwbGF5QWRkcmVzcyI6IjkxMiBBaXJwb3J0IENlbnRlciBEciwgQWxsZW50b3duLCBQQSwgMTgxMDkifSwic3RvcmVOdW1iZXIiOjIzOTksIm5hbWUiOiJIYW5vdmVyIFRvd25zaGlwIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6NDAuNTM4MiwibG9uZ2l0dWRlIjotNzkuODM3MywiZGlzcGxheUFkZHJlc3MiOiIyNjYxIEZyZWVwb3J0IFJkLCBQaXR0c2J1cmdoLCBQQSwgMTUyMzgifSwic3RvcmVOdW1iZXIiOjIzODUsIm5hbWUiOiJIYXJtYXIiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6NDAuMjQ3LCJsb25naXR1ZGUiOi03Ni44MDQ1LCJkaXNwbGF5QWRkcmVzcyI6IjQ2MDAgSGlnaCBQb2ludGUgQmx2ZCwgSGFycmlzYnVyZywgUEEsIDE3MTExIn0sInN0b3JlTnVtYmVyIjoyMTg2LCJuYW1lIjoiSGFycmlzYnVyZyBFYXN0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJQQSIsImxhdGl0dWRlIjo0MC4zMDg2LCJsb25naXR1ZGUiOi03Ni43OTY3LCJkaXNwbGF5QWRkcmVzcyI6IjUxMjUgSm9uZXN0b3duIFJkIFN0ZSAzMzEsIEhhcnJpc2J1cmcsIFBBLCAxNzExMiJ9LCJzdG9yZU51bWJlciI6MTI1NCwibmFtZSI6IkhhcnJpc2J1cmcgTm9ydGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlBBIiwibGF0aXR1ZGUiOjQwLjAyNTksImxvbmdpdHVkZSI6LTc2LjIwMjgsImRpc3BsYXlBZGRyZXNzIjoiMjM4NSBDb3ZlcmVkIEJyaWRnZSBEciwgTGFuY2FzdGVyLCBQQSwgMTc2MDIifSwic3RvcmVOdW1iZXIiOjIwNzIsIm5hbWUiOiJMYW5jYXN0ZXIgRWFzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6NDAuNzEzLCJsb25naXR1ZGUiOi03NS4yODgsImRpc3BsYXlBZGRyZXNzIjoiMzgzNSBEcnlsYW5kIFdheSwgRWFzdG9uLCBQQSwgMTgwNDUifSwic3RvcmVOdW1iZXIiOjI1MzYsIm5hbWUiOiJMb3dlciBOYXphcmV0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6NDAuMDQ5LCJsb25naXR1ZGUiOi03NS41MjAzLCJkaXNwbGF5QWRkcmVzcyI6IjQ1NSBDYXJuZWdpZSBCbHZkLCBNYWx2ZXJuLCBQQSwgMTkzNTUifSwic3RvcmVOdW1iZXIiOjI1MzcsIm5hbWUiOiJNYWx2ZXJuIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlBBIiwibGF0aXR1ZGUiOjQwLjU4NTQsImxvbmdpdHVkZSI6LTgwLjA0MDUsImRpc3BsYXlBZGRyZXNzIjoiOTgwNSBNY0tuaWdodCBSZCwgUGl0dHNidXJnaCwgUEEsIDE1MjM3In0sInN0b3JlTnVtYmVyIjoxMjE4LCJuYW1lIjoiTWNDYW5kbGVzcyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJQQSIsImxhdGl0dWRlIjo0MC4yNSwibG9uZ2l0dWRlIjotNzcuMDA5MSwiZGlzcGxheUFkZHJlc3MiOiI2NDE2IENhcmxpc2xlIFBpa2UsIE1lY2hhbmljc2J1cmcsIFBBLCAxNzA1MCJ9LCJzdG9yZU51bWJlciI6MjIwMiwibmFtZSI6Ik1lY2hhbmljc2J1cmciLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlBBIiwibGF0aXR1ZGUiOjQwLjQzNCwibG9uZ2l0dWRlIjotNzkuNzcxOSwiZGlzcGxheUFkZHJlc3MiOiI0MDA0IE1vbnJvZXZpbGxlIEJsdmQsIE1vbnJvZXZpbGxlLCBQQSwgMTUxNDYifSwic3RvcmVOdW1iZXIiOjEyMTksIm5hbWUiOiJNb25yb2V2aWxsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJQQSIsImxhdGl0dWRlIjo0MC4yMjQ3LCJsb25naXR1ZGUiOi03NS4yMzk0LCJkaXNwbGF5QWRkcmVzcyI6IjEyNSBXaXRjaHdvb2QgRHIsIE5vcnRoIFdhbGVzLCBQQSwgMTk0NTQifSwic3RvcmVOdW1iZXIiOjExNTksIm5hbWUiOiJNb250Z29tZXJ5dmlsbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlBBIiwibGF0aXR1ZGUiOjQwLjUzNDIsImxvbmdpdHVkZSI6LTgwLjA2ODgsImRpc3BsYXlBZGRyZXNzIjoiMjg4IE10IE5lYm8gUG9pbnRlIERyLCBQaXR0c2J1cmdoLCBQQSwgMTUyMzcifSwic3RvcmVOdW1iZXIiOjIwNzcsIm5hbWUiOiJNb3VudCBOZWJvIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlBBIiwibGF0aXR1ZGUiOjQwLjM5NzcsImxvbmdpdHVkZSI6LTc1LjkyOTIsImRpc3BsYXlBZGRyZXNzIjoiNDIyMCBOIDV0aCBTdHJlZXQgSHd5LCBUZW1wbGUsIFBBLCAxOTU2MCJ9LCJzdG9yZU51bWJlciI6MjMwMiwibmFtZSI6Ik11aGxlbmJlcmcgVG93bnNoaXAiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlBBIiwibGF0aXR1ZGUiOjQwLjEzNTksImxvbmdpdHVkZSI6LTc0Ljk2MTgsImRpc3BsYXlBZGRyZXNzIjoiODAwIFJvY2sgSGlsbCBEciwgQmVuc2FsZW0sIFBBLCAxOTAyMCJ9LCJzdG9yZU51bWJlciI6MTE4MywibmFtZSI6Ik5lc2hhbWlueSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6NDAuNDQ1NywibG9uZ2l0dWRlIjotODAuMTgzMSwiZGlzcGxheUFkZHJlc3MiOiI2MDAgQ2hhdXZldCBEciwgUGl0dHNidXJnaCwgUEEsIDE1Mjc1In0sInN0b3JlTnVtYmVyIjoxMjE3LCJuYW1lIjoiTm9ydGggRmF5ZXR0ZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJQQSIsImxhdGl0dWRlIjo0MC4zMjEsImxvbmdpdHVkZSI6LTc5LjY4NjksImRpc3BsYXlBZGRyZXNzIjoiODkzMSBSdGUgMzAsIE5vcnRoIEh1bnRpbmdkb24sIFBBLCAxNTY0MiJ9LCJzdG9yZU51bWJlciI6MjExNCwibmFtZSI6Ik5vcnRoIEh1bnRpbmdkb24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6NDAuMTc2MSwibG9uZ2l0dWRlIjotNzQuODc3OSwiZGlzcGxheUFkZHJlc3MiOiIyMzMxIEUgTGluY29sbiBId3ksIExhbmdob3JuZSwgUEEsIDE5MDQ3In0sInN0b3JlTnVtYmVyIjoxMTM1LCJuYW1lIjoiT3hmb3JkIFZhbGxleSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6MzkuOTkwNCwibG9uZ2l0dWRlIjotNzUuMDg5OSwiZGlzcGxheUFkZHJlc3MiOiIyNzAxIENhc3RvciBBdmUsIFBoaWxhZGVscGhpYSwgUEEsIDE5MTM0In0sInN0b3JlTnVtYmVyIjoyMDc1LCJuYW1lIjoiUGhpbGEtQnJpZGVzYnVyZyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlBBIiwibGF0aXR1ZGUiOjQwLjA1MSwibG9uZ2l0dWRlIjotNzUuMDU4OSwiZGlzcGxheUFkZHJlc3MiOiI3NDAwIEJ1c3RsZXRvbiBBdmUsIFBoaWxhZGVscGhpYSwgUEEsIDE5MTUyIn0sInN0b3JlTnVtYmVyIjoyNDE4LCJuYW1lIjoiUGhpbGEtQ290dG1hbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlBBIiwibGF0aXR1ZGUiOjQwLjEwMTksImxvbmdpdHVkZSI6LTc1LjAxMDUsImRpc3BsYXlBZGRyZXNzIjoiMTEwMDAgUm9vc2V2ZWx0IEJsdmQgU3RlIDMsIFBoaWxhZGVscGhpYSwgUEEsIDE5MTE2In0sInN0b3JlTnVtYmVyIjoxODA5LCJuYW1lIjoiUGhpbGFkZWxwaGlhIE5FIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJQQSIsImxhdGl0dWRlIjozOS45MjQzLCJsb25naXR1ZGUiOi03NS4xNDYyLCJkaXNwbGF5QWRkcmVzcyI6IjEgTWlmZmxpbiBTdCwgUGhpbGFkZWxwaGlhLCBQQSwgMTkxNDgifSwic3RvcmVOdW1iZXIiOjE0NDMsIm5hbWUiOiJQaGlsYWRlbHBoaWEgU0UiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlBBIiwibGF0aXR1ZGUiOjQwLjAwNjUsImxvbmdpdHVkZSI6LTc1LjIxMjgsImRpc3BsYXlBZGRyZXNzIjoiNDAwMCBNb251bWVudCBSZCwgUGhpbGFkZWxwaGlhLCBQQSwgMTkxMzEifSwic3RvcmVOdW1iZXIiOjIxMjQsIm5hbWUiOiJQaGlsYWRlbHBoaWEgV2VzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6NDAuMTA1NSwibG9uZ2l0dWRlIjotNzUuMjk2MiwiZGlzcGxheUFkZHJlc3MiOiIyMjUwIENoZW1pY2FsIFJkLCBQbHltb3V0aCBNZWV0aW5nLCBQQSwgMTk0NjIifSwic3RvcmVOdW1iZXIiOjEyNjksIm5hbWUiOiJQbHltb3V0aCBNZWV0aW5nIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlBBIiwibGF0aXR1ZGUiOjQwLjY0MjYsImxvbmdpdHVkZSI6LTc5Ljk0MSwiZGlzcGxheUFkZHJlc3MiOiI1NTAgR3JhbmR2aWV3IENyb3NzaW5nIERyLCBHaWJzb25pYSwgUEEsIDE1MDQ0In0sInN0b3JlTnVtYmVyIjoyMjYyLCJuYW1lIjoiUmljaGxhbmQgVHdwIE5vcnRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlN0YXJidWNrcyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJQQSIsImxhdGl0dWRlIjo0MC40NjAzLCJsb25naXR1ZGUiOi03NS4zNzEyLCJkaXNwbGF5QWRkcmVzcyI6IjYxMCBOIFdlc3QgRW5kIEJsdmQsIFF1YWtlcnRvd24sIFBBLCAxODk1MSJ9LCJzdG9yZU51bWJlciI6MjI0NiwibmFtZSI6IlJpY2hsYW5kIFR3cCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJQQSIsImxhdGl0dWRlIjo0MC41MjU1LCJsb25naXR1ZGUiOi04MC4wMDgyLCJkaXNwbGF5QWRkcmVzcyI6IjQ4MDEgTWNLbmlnaHQgUmQgU3RlIDMsIFBpdHRzYnVyZ2gsIFBBLCAxNTIzNyJ9LCJzdG9yZU51bWJlciI6MjIwMSwibmFtZSI6IlJvc3MgVG93bnNoaXAiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6NDAuODQxOCwibG9uZ2l0dWRlIjotNzYuODM3OSwiZGlzcGxheUFkZHJlc3MiOiI1MDEgTWFya2V0IFBsYWNlIEJsdmQsIFNlbGluc2dyb3ZlLCBQQSwgMTc4NzAifSwic3RvcmVOdW1iZXIiOjI0MzksIm5hbWUiOiJTZWxpbnNncm92ZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJQQSIsImxhdGl0dWRlIjozOS45MDgyLCJsb25naXR1ZGUiOi03OS43NTczLCJkaXNwbGF5QWRkcmVzcyI6IjEyMCBNYXR0aGV3IERyLCBVbmlvbnRvd24sIFBBLCAxNTQwMSJ9LCJzdG9yZU51bWJlciI6MjE4NCwibmFtZSI6IlNvdXRoIFVuaW9uIFR3cCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlBBIiwibGF0aXR1ZGUiOjQwLjM1NywibG9uZ2l0dWRlIjotNzUuOTgxLCJkaXNwbGF5QWRkcmVzcyI6IjI3NjkgUGFwZXJtaWxsIFJkLCBXeW9taXNzaW5nLCBQQSwgMTk2MTAifSwic3RvcmVOdW1iZXIiOjEyMjIsIm5hbWUiOiJTcHJpbmcgVG93bnNoaXAiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6MzkuOTE1NSwibG9uZ2l0dWRlIjotNzUuMzM0LCJkaXNwbGF5QWRkcmVzcyI6Ijg1NyBCYWx0aW1vcmUgUGlrZSwgU3ByaW5nZmllbGQsIFBBLCAxOTA2NCJ9LCJzdG9yZU51bWJlciI6MTEzNiwibmFtZSI6IlNwcmluZ2ZpZWxkIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6MzkuOTE0OCwibG9uZ2l0dWRlIjotNzUuMzUzMSwiZGlzcGxheUFkZHJlc3MiOiIxMjAwIEJhbHRpbW9yZSBQaWtlLCBTcHJpbmdmaWVsZCwgUEEsIDE5MDY0In0sInN0b3JlTnVtYmVyIjoyMzEyLCJuYW1lIjoiU3ByaW5nZmllbGQgV2VzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlBBIiwibGF0aXR1ZGUiOjQwLjgxMDYsImxvbmdpdHVkZSI6LTc3LjkxMTgsImRpc3BsYXlBZGRyZXNzIjoiMzE1IENvbG9ubmFkZSBCbHZkLCBTdGF0ZSBDb2xsZWdlLCBQQSwgMTY4MDMifSwic3RvcmVOdW1iZXIiOjEyODgsIm5hbWUiOiJTdGF0ZSBDb2xsZWdlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJQQSIsImxhdGl0dWRlIjo0MC45OTQyLCJsb25naXR1ZGUiOi03NS4yNDQ5LCJkaXNwbGF5QWRkcmVzcyI6IjM1MCBQb2Nvbm8gQ29tbW9ucywgU3Ryb3Vkc2J1cmcsIFBBLCAxODM2MCJ9LCJzdG9yZU51bWJlciI6MTI2MCwibmFtZSI6IlN0cm91ZHNidXJnIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6NDAuMjEyNywibG9uZ2l0dWRlIjotNzUuNDk5NywiZGlzcGxheUFkZHJlc3MiOiIxODI0IEUgUmlkZ2UgUGlrZSwgUm95ZXJzZm9yZCwgUEEsIDE5NDY4In0sInN0b3JlTnVtYmVyIjoyMTMxLCJuYW1lIjoiVXBwZXIgUHJvdmlkZW5jZSBOIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJQQSIsImxhdGl0dWRlIjo0MC4xMzA1LCJsb25naXR1ZGUiOi03NS40NTMzLCJkaXNwbGF5QWRkcmVzcyI6IlBPIEJveCA5ODUsIE9ha3MsIFBBLCAxOTQ1NiJ9LCJzdG9yZU51bWJlciI6MTI5MSwibmFtZSI6IlVwcGVyIFByb3ZpZGVuY2UiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlBBIiwibGF0aXR1ZGUiOjQwLjA1MjYsImxvbmdpdHVkZSI6LTc1LjY2NTMsImRpc3BsYXlBZGRyZXNzIjoiMTgwIEVhZ2xldmlldyBCbHZkLCBFeHRvbiwgUEEsIDE5MzQxIn0sInN0b3JlTnVtYmVyIjoyNDk2LCJuYW1lIjoiVXdjaGxhbiBUb3duc2hpcCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJQQSIsImxhdGl0dWRlIjo0MC4yMjM0LCJsb25naXR1ZGUiOi03NS4xMzcxLCJkaXNwbGF5QWRkcmVzcyI6IjQwMSBFYXN0b24gUmQsIFdhcnJpbmd0b24sIFBBLCAxODk3NiJ9LCJzdG9yZU51bWJlciI6MTE5NiwibmFtZSI6IldhcnJpbmd0b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlBBIiwibGF0aXR1ZGUiOjQwLjEzMjIsImxvbmdpdHVkZSI6LTc2LjMwNzksImRpc3BsYXlBZGRyZXNzIjoiOTYwIExpdGl0eiBQaWtlLCBMaXRpdHosIFBBLCAxNzU0MyJ9LCJzdG9yZU51bWJlciI6MjU0NSwibmFtZSI6IldhcndpY2sgVG93bnNoaXAiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlBBIiwibGF0aXR1ZGUiOjQwLjE4NzgsImxvbmdpdHVkZSI6LTgwLjIyNjksImRpc3BsYXlBZGRyZXNzIjoiMzM1IFdhc2hpbmd0b24gUmQsIFdhc2hpbmd0b24sIFBBLCAxNTMwMSJ9LCJzdG9yZU51bWJlciI6MTIxNiwibmFtZSI6Ildhc2hpbmd0b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6NDAuNDEwOCwibG9uZ2l0dWRlIjotNzkuOTEwOCwiZGlzcGxheUFkZHJlc3MiOiIzNjAgV2F0ZXJmcm9udCBEciBFLCBIb21lc3RlYWQsIFBBLCAxNTEyMCJ9LCJzdG9yZU51bWJlciI6MTI1MywibmFtZSI6IldhdGVyZnJvbnQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlBBIiwibGF0aXR1ZGUiOjQwLjM0NzgsImxvbmdpdHVkZSI6LTc5Ljk1MzgsImRpc3BsYXlBZGRyZXNzIjoiMTcxNyBMZWJhbm9uIENodXJjaCBSZCwgV2VzdCBNaWZmbGluLCBQQSwgMTUyMzYifSwic3RvcmVOdW1iZXIiOjEyNzAsIm5hbWUiOiJXZXN0IE1pZmZsaW4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6NDAuMjY1NCwibG9uZ2l0dWRlIjotNzUuNjUyNCwiZGlzcGxheUFkZHJlc3MiOiIxMDAgVXBsYW5kIFNxdWFyZSBEciwgUG90dHN0b3duLCBQQSwgMTk0NjQifSwic3RvcmVOdW1iZXIiOjI1NDgsIm5hbWUiOiJXZXN0IFBvdHRzZ3JvdmUgVHdwIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6NDEuMjM3NSwibG9uZ2l0dWRlIjotNzUuODQ2MywiZGlzcGxheUFkZHJlc3MiOiIzNDAwIFdpbGtlcy1CYXJyZSBUb3duc2hpcCBDb21tb25zLCBXaWxrZXMtQmFycmUgVG93bnNoaXAsIFBBLCAxODcwMiJ9LCJzdG9yZU51bWJlciI6MTg0NSwibmFtZSI6IldpbGtlcy1CYXJyZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6NDEuMjQzNiwibG9uZ2l0dWRlIjotNzYuODM1MiwiZGlzcGxheUFkZHJlc3MiOiIxNzAgUyBMeWNvbWluZyBNYWxsIFJkLCBNdW5jeSwgUEEsIDE3NzU2In0sInN0b3JlTnVtYmVyIjoyNDM3LCJuYW1lIjoiV2lsbGlhbXNwb3J0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlBBIiwibGF0aXR1ZGUiOjM5Ljk4NywibG9uZ2l0dWRlIjotNzYuNjgwMiwiZGlzcGxheUFkZHJlc3MiOiIyNjEwIFBsZWFzYW50IFZhbGxleSBSZCwgWW9yaywgUEEsIDE3NDAyIn0sInN0b3JlTnVtYmVyIjoxMjIxLCJuYW1lIjoiWW9yayBHYWxsZXJpYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUEEiLCJsYXRpdHVkZSI6MzkuOTY0MiwibG9uZ2l0dWRlIjotNzYuNzc4NywiZGlzcGxheUFkZHJlc3MiOiIyMjUxIFlvcmsgQ3Jvc3NpbmcgRHIsIFlvcmssIFBBLCAxNzQwOCJ9LCJzdG9yZU51bWJlciI6MTg3NSwibmFtZSI6IllvcmsgV2VzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUkkiLCJsYXRpdHVkZSI6NDEuOTM3NiwibG9uZ2l0dWRlIjotNzEuNDc2NCwiZGlzcGxheUFkZHJlc3MiOiI2MjAgR2VvcmdlIFdhc2hpbmd0b24gSHd5LCBMaW5jb2xuLCBSSSwgMDI4NjUifSwic3RvcmVOdW1iZXIiOjIwNzMsIm5hbWUiOiJMaW5jb2xuIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJSSSIsImxhdGl0dWRlIjo0MS44NzY1LCJsb25naXR1ZGUiOi03MS41MTg3LCJkaXNwbGF5QWRkcmVzcyI6IjM3MSBQdXRuYW0gUGlrZSBTdGUgQS0yNTAsIFNtaXRoZmllbGQsIFJJLCAwMjkxNyJ9LCJzdG9yZU51bWJlciI6MTQwNCwibmFtZSI6IlNtaXRoZmllbGQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlJJIiwibGF0aXR1ZGUiOjQxLjcyNDUsImxvbmdpdHVkZSI6LTcxLjQ3NjEsImRpc3BsYXlBZGRyZXNzIjoiNDAwIEJhbGQgSGlsbCBSZCwgV2Fyd2ljaywgUkksIDAyODg2In0sInN0b3JlTnVtYmVyIjoyNDMwLCJuYW1lIjoiV2Fyd2ljayBOb3J0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDg6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTg6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS04OjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiUkkiLCJsYXRpdHVkZSI6NDEuNzA2NSwibG9uZ2l0dWRlIjotNzEuNDkzNywiZGlzcGxheUFkZHJlc3MiOiIxMjQ1IEJhbGQgSGlsbCBSZCwgV2Fyd2ljaywgUkksIDAyODg2In0sInN0b3JlTnVtYmVyIjoxMTg4LCJuYW1lIjoiV2Fyd2ljayIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDg6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTg6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS04OjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiU0MiLCJsYXRpdHVkZSI6MzMuNTA0NCwibG9uZ2l0dWRlIjotODEuNzExMiwiZGlzcGxheUFkZHJlc3MiOiIyNTQ1IFdoaXNrZXkgUmQsIEFpa2VuLCBTQywgMjk4MDMifSwic3RvcmVOdW1iZXIiOjEzMTAsIm5hbWUiOiJBaWtlbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlNDIiwibGF0aXR1ZGUiOjM0LjU0OTksImxvbmdpdHVkZSI6LTgyLjY3OTgsImRpc3BsYXlBZGRyZXNzIjoiMzUxOSBDbGVtc29uIEJsdmQsIEFuZGVyc29uLCBTQywgMjk2MjEifSwic3RvcmVOdW1iZXIiOjExOTgsIm5hbWUiOiJBbmRlcnNvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlNDIiwibGF0aXR1ZGUiOjMyLjc5ODEsImxvbmdpdHVkZSI6LTgwLjAzMjEsImRpc3BsYXlBZGRyZXNzIjoiMjA3MCBTYW0gUml0dGVuYmVyZyBCbHZkLCBDaGFybGVzdG9uLCBTQywgMjk0MDcifSwic3RvcmVOdW1iZXIiOjEzOTEsIm5hbWUiOiJDaGFybGVzdG9uIFNvdXRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJTQyIsImxhdGl0dWRlIjozMy45ODE4LCJsb25naXR1ZGUiOi04MC45Njg2LCJkaXNwbGF5QWRkcmVzcyI6IjYwOTBBIEdhcm5lcnMgRmVycnkgUmQsIENvbHVtYmlhLCBTQywgMjkyMDkifSwic3RvcmVOdW1iZXIiOjE5MjMsIm5hbWUiOiJDb2x1bWJpYSBHYXJuZXJzIEZlcnJ5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlNDIiwibGF0aXR1ZGUiOjM0LjExODUsImxvbmdpdHVkZSI6LTgwLjg3NzUsImRpc3BsYXlBZGRyZXNzIjoiMTAyMDQgVHdvIE5vdGNoIFJkLCBDb2x1bWJpYSwgU0MsIDI5MjI5In0sInN0b3JlTnVtYmVyIjoxMzE5LCJuYW1lIjoiQ29sdW1iaWEgTkUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlNDIiwibGF0aXR1ZGUiOjM0LjA2NjgsImxvbmdpdHVkZSI6LTgxLjE2NTMsImRpc3BsYXlBZGRyZXNzIjoiMTM0IEhhcmJpc29uIEJsdmQsIENvbHVtYmlhLCBTQywgMjkyMTIifSwic3RvcmVOdW1iZXIiOjExOTksIm5hbWUiOiJDb2x1bWJpYSBOVyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiU0MiLCJsYXRpdHVkZSI6MzQuMTkyOCwibG9uZ2l0dWRlIjotNzkuODM4LCJkaXNwbGF5QWRkcmVzcyI6IjI3OTEgRGF2aWQgSCBNY2xlb2QgQmx2ZCwgRmxvcmVuY2UsIFNDLCAyOTUwMSJ9LCJzdG9yZU51bWJlciI6MTQ1MiwibmFtZSI6IkZsb3JlbmNlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiU0MiLCJsYXRpdHVkZSI6MzQuODMwNiwibG9uZ2l0dWRlIjotODIuMzA4NCwiZGlzcGxheUFkZHJlc3MiOiIxMTEyIFdvb2RydWZmIFJkLCBHcmVlbnZpbGxlLCBTQywgMjk2MDcifSwic3RvcmVOdW1iZXIiOjExODIsIm5hbWUiOiJHcmVlbnZpbGxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJTQyIsImxhdGl0dWRlIjozNC45MzcyLCJsb25naXR1ZGUiOi04Mi4yNzk5LCJkaXNwbGF5QWRkcmVzcyI6IjYwMjUgV2FkZSBIYW1wdG9uIEJsdmQsIFRheWxvcnMsIFNDLCAyOTY4NyJ9LCJzdG9yZU51bWJlciI6MTkzNywibmFtZSI6IkdyZWVyIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlNDIiwibGF0aXR1ZGUiOjMyLjI1NTIsImxvbmdpdHVkZSI6LTgwLjg0OTksImRpc3BsYXlBZGRyZXNzIjoiMTA1MCBGb3JkaW5nIElzbGFuZCBSZCwgQmx1ZmZ0b24sIFNDLCAyOTkxMCJ9LCJzdG9yZU51bWJlciI6MTI5OCwibmFtZSI6IkhpbHRvbiBIZWFkIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlNDIiwibGF0aXR1ZGUiOjM0LjAwNjUsImxvbmdpdHVkZSI6LTgxLjE5MjQsImRpc3BsYXlBZGRyZXNzIjoiNTExOSBTdW5zZXQgQmx2ZCwgTGV4aW5ndG9uLCBTQywgMjkwNzIifSwic3RvcmVOdW1iZXIiOjIyNzcsIm5hbWUiOiJMZXhpbmd0b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlNDIiwibGF0aXR1ZGUiOjMyLjgyMzgsImxvbmdpdHVkZSI6LTc5LjgxNzcsImRpc3BsYXlBZGRyZXNzIjoiMTMwMCBMb25nIEdyb3ZlIERyLCBNb3VudCBQbGVhc2FudCwgU0MsIDI5NDY0In0sInN0b3JlTnVtYmVyIjoxNTI5LCJuYW1lIjoiTXQgUGxlYXNhbnQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiU0MiLCJsYXRpdHVkZSI6MzMuNzEzMywibG9uZ2l0dWRlIjotNzguODk0LCJkaXNwbGF5QWRkcmVzcyI6IjExNTAgU2VhYm9hcmQgU3QsIE15cnRsZSBCZWFjaCwgU0MsIDI5NTc3In0sInN0b3JlTnVtYmVyIjo5NjMsIm5hbWUiOiJNeXJ0bGUgQmVhY2giLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJTQyIsImxhdGl0dWRlIjozMy42NTM1LCJsb25naXR1ZGUiOi03OC45ODA1LCJkaXNwbGF5QWRkcmVzcyI6IjE0MCBTYXllYnJvb2sgUGt3eSwgTXlydGxlIEJlYWNoLCBTQywgMjk1ODgifSwic3RvcmVOdW1iZXIiOjI3NDIsIm5hbWUiOiJNeXJ0bGUgQmVhY2ggU08iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJTQyIsImxhdGl0dWRlIjozMi45MzQ0LCJsb25naXR1ZGUiOi04MC4wMzYyLCJkaXNwbGF5QWRkcmVzcyI6IjcyNTAgUml2ZXJzIEF2ZSwgTm9ydGggQ2hhcmxlc3RvbiwgU0MsIDI5NDA2In0sInN0b3JlTnVtYmVyIjoxODI5LCJuYW1lIjoiTm9ydGggQ2hhcmxlc3RvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJTQyIsImxhdGl0dWRlIjozNC45Mzg4LCJsb25naXR1ZGUiOi04MC45Nzg0LCJkaXNwbGF5QWRkcmVzcyI6IjE5MDAgU3ByaW5nc3RlZW4gUmQsIFJvY2sgSGlsbCwgU0MsIDI5NzMwIn0sInN0b3JlTnVtYmVyIjoxMzcxLCJuYW1lIjoiUm9jayBIaWxsIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlNDIiwibGF0aXR1ZGUiOjM0LjcwNjQsImxvbmdpdHVkZSI6LTgyLjI1NTgsImRpc3BsYXlBZGRyZXNzIjoiNjk0IEZhaXJ2aWV3IFJkLCBTaW1wc29udmlsbGUsIFNDLCAyOTY4MCJ9LCJzdG9yZU51bWJlciI6MTg3MCwibmFtZSI6IlNpbXBzb252aWxsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJTQyIsImxhdGl0dWRlIjozNC45MzQsImxvbmdpdHVkZSI6LTgyLjAwODcsImRpc3BsYXlBZGRyZXNzIjoiODE5OSBXYXJyZW4gSCBBYmVybmF0aHkgUGt3eSwgU3BhcnRhbmJ1cmcsIFNDLCAyOTMwMSJ9LCJzdG9yZU51bWJlciI6MTM0OSwibmFtZSI6IlNwYXJ0YW5idXJnIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlNDIiwibGF0aXR1ZGUiOjMzLjAzOTcsImxvbmdpdHVkZSI6LTgwLjE1NzMsImRpc3BsYXlBZGRyZXNzIjoiNDUwIEF6YWxlYSBTcXVhcmUgQmx2ZCwgU3VtbWVydmlsbGUsIFNDLCAyOTQ4MyJ9LCJzdG9yZU51bWJlciI6MTQ5MywibmFtZSI6IlN1bW1lcnZpbGxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiU0QiLCJsYXRpdHVkZSI6NDUuNDU3NSwibG9uZ2l0dWRlIjotOTguNDQsImRpc3BsYXlBZGRyZXNzIjoiMzMxNiA3dGggQXZlIFNFLCBBYmVyZGVlbiwgU0QsIDU3NDAxIn0sInN0b3JlTnVtYmVyIjo4NDgsIm5hbWUiOiJBYmVyZGVlbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJTRCIsImxhdGl0dWRlIjo0NC4wOTg3LCJsb25naXR1ZGUiOi0xMDMuMTg3LCJkaXNwbGF5QWRkcmVzcyI6IjE0MTUgRWdsaW4gU3QsIFJhcGlkIENpdHksIFNELCA1NzcwMyJ9LCJzdG9yZU51bWJlciI6MjQ1NywibmFtZSI6IlJhcGlkIENpdHkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlNEIiwibGF0aXR1ZGUiOjQzLjUzODQsImxvbmdpdHVkZSI6LTk2LjY1NSwiZGlzcGxheUFkZHJlc3MiOiIxMDIxIEhpZ2hsaW5lIFBsICwgU2lvdXggRmFsbHMsIFNELCA1NzExMCJ9LCJzdG9yZU51bWJlciI6MjU0MCwibmFtZSI6IlNpb3V4IEZhbGxzIEVhc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiU0QiLCJsYXRpdHVkZSI6NDMuNTEyLCJsb25naXR1ZGUiOi05Ni43NjkxLCJkaXNwbGF5QWRkcmVzcyI6IjM2MDAgUyBMb3Vpc2UgQXZlLCBTaW91eCBGYWxscywgU0QsIDU3MTA2In0sInN0b3JlTnVtYmVyIjo3NiwibmFtZSI6IlNpb3V4IEZhbGxzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlNEIiwibGF0aXR1ZGUiOjQ0Ljg4OTEsImxvbmdpdHVkZSI6LTk3LjA4MzMsImRpc3BsYXlBZGRyZXNzIjoiMjAwMCA5dGggQXZlIFNFLCBXYXRlcnRvd24sIFNELCA1NzIwMSJ9LCJzdG9yZU51bWJlciI6ODU5LCJuYW1lIjoiV2F0ZXJ0b3duIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6W10sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlROIiwibGF0aXR1ZGUiOjM2LjA0MywibG9uZ2l0dWRlIjotODYuNzc3OSwiZGlzcGxheUFkZHJlc3MiOiI3ODAgT2xkIEhpY2tvcnkgQmx2ZCwgQnJlbnR3b29kLCBUTiwgMzcwMjcifSwic3RvcmVOdW1iZXIiOjE5ODMsIm5hbWUiOiJCcmVudHdvb2QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlROIiwibGF0aXR1ZGUiOjM1LjAyNTEsImxvbmdpdHVkZSI6LTg1LjE1NjYsImRpc3BsYXlBZGRyZXNzIjoiMTgxNiBHdW5iYXJyZWwgUmQsIENoYXR0YW5vb2dhLCBUTiwgMzc0MjEifSwic3RvcmVOdW1iZXIiOjEzMDIsIm5hbWUiOiJDaGF0dGFub29nYSBFYXN0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVE4iLCJsYXRpdHVkZSI6MzUuMTQzNSwibG9uZ2l0dWRlIjotODUuMjQ4LCJkaXNwbGF5QWRkcmVzcyI6IjU1NzkgSGlnaHdheSAxNTMsIEhpeHNvbiwgVE4sIDM3MzQzIn0sInN0b3JlTnVtYmVyIjoyMDUzLCJuYW1lIjoiQ2hhdHRhbm9vZ2EgTm9ydGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlROIiwibGF0aXR1ZGUiOjM2LjU4NjksImxvbmdpdHVkZSI6LTg3LjI5MjgsImRpc3BsYXlBZGRyZXNzIjoiMjgyMyBXaWxtYSBSdWRvbHBoIEJsdmQsIENsYXJrc3ZpbGxlLCBUTiwgMzcwNDAifSwic3RvcmVOdW1iZXIiOjk1OSwibmFtZSI6IkNsYXJrc3ZpbGxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6W10sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlROIiwibGF0aXR1ZGUiOjM1LjIxNTksImxvbmdpdHVkZSI6LTg0Ljg2NjEsImRpc3BsYXlBZGRyZXNzIjoiNDU3MCBGcm9udGFnZSBSZCBOVywgQ2xldmVsYW5kLCBUTiwgMzczMTIifSwic3RvcmVOdW1iZXIiOjIzNjcsIm5hbWUiOiJDbGV2ZWxhbmQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUTiIsImxhdGl0dWRlIjozNS4wNDk2LCJsb25naXR1ZGUiOi04OS42OTAzLCJkaXNwbGF5QWRkcmVzcyI6IjMyNSBOZXcgQnloYWxpYSBSZCwgQ29sbGllcnZpbGxlLCBUTiwgMzgwMTcifSwic3RvcmVOdW1iZXIiOjE5MDcsIm5hbWUiOiJDb2xsaWVydmlsbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlROIiwibGF0aXR1ZGUiOjM1Ljk2NTYsImxvbmdpdHVkZSI6LTg2LjgxMjgsImRpc3BsYXlBZGRyZXNzIjoiMTcwMSBHYWxsZXJpYSBCbHZkLCBGcmFua2xpbiwgVE4sIDM3MDY3In0sInN0b3JlTnVtYmVyIjo2OTUsIm5hbWUiOiJDb29sIFNwcmluZ3MiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUTiIsImxhdGl0dWRlIjozNS4xMzgzLCJsb25naXR1ZGUiOi04OS43OTc2LCJkaXNwbGF5QWRkcmVzcyI6IjQ3NSBOIEdlcm1hbnRvd24gUGt3eSwgQ29yZG92YSwgVE4sIDM4MDE4In0sInN0b3JlTnVtYmVyIjoxODQ0LCJuYW1lIjoiQ29yZG92YSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlROIiwibGF0aXR1ZGUiOjM1LjkwMDksImxvbmdpdHVkZSI6LTg0LjE0ODcsImRpc3BsYXlBZGRyZXNzIjoiMTExMDAgUGFya3NpZGUgRHIsIEtub3h2aWxsZSwgVE4sIDM3OTM0In0sInN0b3JlTnVtYmVyIjoxMzcwLCJuYW1lIjoiRmFycmFndXQgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUTiIsImxhdGl0dWRlIjozNS44OTI3LCJsb25naXR1ZGUiOi04Ni44ODAzLCJkaXNwbGF5QWRkcmVzcyI6IjMwNjQgQ29sdW1iaWEgQXZlLCBGcmFua2xpbiwgVE4sIDM3MDY0In0sInN0b3JlTnVtYmVyIjoxOTYzLCJuYW1lIjoiRnJhbmtsaW4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUTiIsImxhdGl0dWRlIjozNS4wNjUyLCJsb25naXR1ZGUiOi04OS43NTU5LCJkaXNwbGF5QWRkcmVzcyI6IjkyMzUgUG9wbGFyIEF2ZSwgR2VybWFudG93biwgVE4sIDM4MTM4In0sInN0b3JlTnVtYmVyIjo2ODIsIm5hbWUiOiJHZXJtYW50b3duIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUTiIsImxhdGl0dWRlIjozNi4zMzQzLCJsb25naXR1ZGUiOi04Ni42MjU2LCJkaXNwbGF5QWRkcmVzcyI6IjEwMDQgQW5kcmV3cyBSdW4sIEhlbmRlcnNvbnZpbGxlLCBUTiwgMzcwNzUifSwic3RvcmVOdW1iZXIiOjE1MTEsIm5hbWUiOiJIZW5kZXJzb252aWxsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUTiIsImxhdGl0dWRlIjozNi4wNDI4LCJsb25naXR1ZGUiOi04Ni42NTg1LCJkaXNwbGF5QWRkcmVzcyI6IjUzMzAgQ2FuZSBSaWRnZSBSZCwgQ2FuZSBSaWRnZSwgVE4sIDM3MDEzIn0sInN0b3JlTnVtYmVyIjoxNDUsIm5hbWUiOiJIaWNrb3J5IEhvbGxvdyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiU3RhcmJ1Y2tzIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVE4iLCJsYXRpdHVkZSI6MzUuNjg3LCJsb25naXR1ZGUiOi04OC44NTczLCJkaXNwbGF5QWRkcmVzcyI6IjkzIFN0b25lYnJvb2sgUGwsIEphY2tzb24sIFROLCAzODMwNSJ9LCJzdG9yZU51bWJlciI6OTIxLCJuYW1lIjoiSmFja3NvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlROIiwibGF0aXR1ZGUiOjM2LjM0MywibG9uZ2l0dWRlIjotODIuMzczNywiZGlzcGxheUFkZHJlc3MiOiIyMTE2IE4gUm9hbiBTdCwgSm9obnNvbiBDaXR5LCBUTiwgMzc2MDEifSwic3RvcmVOdW1iZXIiOjc1NiwibmFtZSI6IkpvaG5zb24gQ2l0eSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOltdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlROIiwibGF0aXR1ZGUiOjM2LjU1LCJsb25naXR1ZGUiOi04Mi40OTYzLCJkaXNwbGF5QWRkcmVzcyI6IjI2MjYgRSBTdG9uZSBEciBTdWl0ZSA5MCwgS2luZ3Nwb3J0LCBUTiwgMzc2NjAifSwic3RvcmVOdW1iZXIiOjIzMzIsIm5hbWUiOiJLaW5nc3BvcnQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlROIiwibGF0aXR1ZGUiOjM2LjAwODEsImxvbmdpdHVkZSI6LTg0LjAyMzEsImRpc3BsYXlBZGRyZXNzIjoiNjY3MCBDbGludG9uIEh3eSwgS25veHZpbGxlLCBUTiwgMzc5MTIifSwic3RvcmVOdW1iZXIiOjc5NSwibmFtZSI6Iktub3h2aWxsZSBOVyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiVGFyZ2V0IE1vYmlsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUTiIsImxhdGl0dWRlIjozNi4wMzY5LCJsb25naXR1ZGUiOi04My44ODczLCJkaXNwbGF5QWRkcmVzcyI6IjU0MDUgV2FzaGluZ3RvbiBQa2UsIEtub3h2aWxsZSwgVE4sIDM3OTE4In0sInN0b3JlTnVtYmVyIjoyMDU3LCJuYW1lIjoiS25veHZpbGxlIE5vcnRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUTiIsImxhdGl0dWRlIjozNS44NjA0LCJsb25naXR1ZGUiOi04NC4wNzYyLCJkaXNwbGF5QWRkcmVzcyI6IjE5MDAgVG93biBDZW50ZXIgQmx2ZCwgS25veHZpbGxlLCBUTiwgMzc5MjIifSwic3RvcmVOdW1iZXIiOjI4MTUsIm5hbWUiOiJLbm94dmlsbGUgU291dGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVE4iLCJsYXRpdHVkZSI6MzUuOTI1NSwibG9uZ2l0dWRlIjotODQuMDQzLCJkaXNwbGF5QWRkcmVzcyI6IjgwNDAgUmF5IE1lYXJzIEJsdmQsIEtub3h2aWxsZSwgVE4sIDM3OTE5In0sInN0b3JlTnVtYmVyIjoxNTEsIm5hbWUiOiJLbm94dmlsbGUgV2VzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUTiIsImxhdGl0dWRlIjozNS43NTIzLCJsb25naXR1ZGUiOi04My45OTE4LCJkaXNwbGF5QWRkcmVzcyI6IjgwMCBXYXRraW5zIFJkLCBNYXJ5dmlsbGUsIFROLCAzNzgwMSJ9LCJzdG9yZU51bWJlciI6MTI1MCwibmFtZSI6Ik1hcnl2aWxsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVE4iLCJsYXRpdHVkZSI6MzUuMTEzNSwibG9uZ2l0dWRlIjotODkuOTAzNCwiZGlzcGxheUFkZHJlc3MiOiI2MDEgQ29sb25pYWwgUmQsIE1lbXBoaXMsIFROLCAzODExNyJ9LCJzdG9yZU51bWJlciI6OTAsIm5hbWUiOiJNZW1waGlzIENlbnRyYWwiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUTiIsImxhdGl0dWRlIjozNS4xMDEzLCJsb25naXR1ZGUiOi04OS44NjMsImRpc3BsYXlBZGRyZXNzIjoiNTk1OSBQb3BsYXIgQXZlLCBNZW1waGlzLCBUTiwgMzgxMTkifSwic3RvcmVOdW1iZXIiOjI0NzQsIm5hbWUiOiJNZW1waGlzIEVhc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUTiIsImxhdGl0dWRlIjozNS4yMDM3LCJsb25naXR1ZGUiOi04OS43OTYyLCJkaXNwbGF5QWRkcmVzcyI6Ijc5ODkgVVMgSGlnaHdheSA2NCwgTWVtcGhpcywgVE4sIDM4MTMzIn0sInN0b3JlTnVtYmVyIjoxMDMwLCJuYW1lIjoiTWVtcGhpcyBORSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlROIiwibGF0aXR1ZGUiOjM1LjA0NzYsImxvbmdpdHVkZSI6LTg5LjgwNjQsImRpc3BsYXlBZGRyZXNzIjoiNzY5NyBXaW5jaGVzdGVyIFJkLCBNZW1waGlzLCBUTiwgMzgxMjUifSwic3RvcmVOdW1iZXIiOjIwNjAsIm5hbWUiOiJNZW1waGlzIFNFIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUTiIsImxhdGl0dWRlIjozNi4xNjgsImxvbmdpdHVkZSI6LTg2LjUwODksImRpc3BsYXlBZGRyZXNzIjoiNDAxIFMgTW91bnQgSnVsaWV0IFJkIFN0ZSA2MDAsIE1vdW50IEp1bGlldCwgVE4sIDM3MTIyIn0sInN0b3JlTnVtYmVyIjoyMTI2LCJuYW1lIjoiTXQgSnVsaWV0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUTiIsImxhdGl0dWRlIjozNS44NDQsImxvbmdpdHVkZSI6LTg2LjQyNTksImRpc3BsYXlBZGRyZXNzIjoiMTg1MSBPbGQgRm9ydCBQa3d5LCBNdXJmcmVlc2Jvcm8sIFROLCAzNzEyOSJ9LCJzdG9yZU51bWJlciI6MTEyNiwibmFtZSI6Ik11cmZyZWVzYm9ybyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVE4iLCJsYXRpdHVkZSI6MzYuMTgyOSwibG9uZ2l0dWRlIjotODYuNjM4LCJkaXNwbGF5QWRkcmVzcyI6IjMxNzEgTGViYW5vbiBQaWtlLCBOYXNodmlsbGUsIFROLCAzNzIxNCJ9LCJzdG9yZU51bWJlciI6MTA1OSwibmFtZSI6Ik5hc2h2aWxsZSBFYXN0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUTiIsImxhdGl0dWRlIjozNi4xMzUsImxvbmdpdHVkZSI6LTg2Ljg5LCJkaXNwbGF5QWRkcmVzcyI6IjY4MTQgQ2hhcmxvdHRlIFBpa2UsIE5hc2h2aWxsZSwgVE4sIDM3MjA5In0sInN0b3JlTnVtYmVyIjoyMjQwLCJuYW1lIjoiTmFzaHZpbGxlIFdlc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlROIiwibGF0aXR1ZGUiOjM2LjMwMzcsImxvbmdpdHVkZSI6LTg2LjY5NDEsImRpc3BsYXlBZGRyZXNzIjoiMjA1MCBHYWxsYXRpbiBSZCBOLCBNYWRpc29uLCBUTiwgMzcxMTUifSwic3RvcmVOdW1iZXIiOjE0NCwibmFtZSI6IlJpdmVyZ2F0ZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlROIiwibGF0aXR1ZGUiOjM1Ljk3OTQsImxvbmdpdHVkZSI6LTg2LjU3MDQsImRpc3BsYXlBZGRyZXNzIjoiODAzIEluZHVzdHJpYWwgQmx2ZCwgU215cm5hLCBUTiwgMzcxNjcifSwic3RvcmVOdW1iZXIiOjIzNjAsIm5hbWUiOiJTbXlybmEgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlROIiwibGF0aXR1ZGUiOjM1Ljc0MDUsImxvbmdpdHVkZSI6LTg2Ljk0MDUsImRpc3BsYXlBZGRyZXNzIjoiMTAzMyBDcm9zc2luZ3MgQmx2ZCwgU3ByaW5nIEhpbGwsIFROLCAzNzE3NCJ9LCJzdG9yZU51bWJlciI6MjM2MiwibmFtZSI6IlNwcmluZyBIaWxsIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUTiIsImxhdGl0dWRlIjozNi4xMzA3LCJsb25naXR1ZGUiOi04Ni44NTM5LCJkaXNwbGF5QWRkcmVzcyI6IjI2IFdoaXRlIEJyaWRnZSBSZCwgTmFzaHZpbGxlLCBUTiwgMzcyMDUifSwic3RvcmVOdW1iZXIiOjE0NiwibmFtZSI6IldoaXRlIEJyaWRnZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzIuNDAyMywibG9uZ2l0dWRlIjotOTkuNzYzLCJkaXNwbGF5QWRkcmVzcyI6IjM3MTAgUmlkZ2Vtb250IERyLCBBYmlsZW5lLCBUWCwgNzk2MDYifSwic3RvcmVOdW1iZXIiOjIxOSwibmFtZSI6IkFiaWxlbmUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlRhcmdldCBNb2JpbGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMi45NTE0LCJsb25naXR1ZGUiOi05Ni44NTM3LCJkaXNwbGF5QWRkcmVzcyI6IjM3MzAgQmVsdCBMaW5lIFJkLCBBZGRpc29uLCBUWCwgNzUwMDEifSwic3RvcmVOdW1iZXIiOjE4NTAsIm5hbWUiOiJBZGRpc29uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjkuNDg5NSwibG9uZ2l0dWRlIjotOTguNDQ3NiwiZGlzcGxheUFkZHJlc3MiOiIxMjIzIEF1c3RpbiBId3ksIFNhbiBBbnRvbmlvLCBUWCwgNzgyMDkifSwic3RvcmVOdW1iZXIiOjI4MDMsIm5hbWUiOiJBbGFtbyBIZWlnaHRzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjMzLjEyMTgsImxvbmdpdHVkZSI6LTk2LjY2MjMsImRpc3BsYXlBZGRyZXNzIjoiMTUwIEUgU3RhY3kgUmQgICwgQWxsZW4sIFRYLCA3NTAwMiJ9LCJzdG9yZU51bWJlciI6MjUxNiwibmFtZSI6IkFsbGVuIE5vcnRoIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMy4wOTk3LCJsb25naXR1ZGUiOi05Ni42ODIxLCJkaXNwbGF5QWRkcmVzcyI6IjkwNyBXIE1jRGVybW90dCBEciwgQWxsZW4sIFRYLCA3NTAxMyJ9LCJzdG9yZU51bWJlciI6MTIzMSwibmFtZSI6IkFsbGVuIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjM1LjE4NTgsImxvbmdpdHVkZSI6LTEwMS45MzUsImRpc3BsYXlBZGRyZXNzIjoiODIwMSBJLTQwIFcsIEFtYXJpbGxvLCBUWCwgNzkxMjEifSwic3RvcmVOdW1iZXIiOjIyMSwibmFtZSI6IkFtYXJpbGxvIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzIuNjgzNiwibG9uZ2l0dWRlIjotOTcuMTM0OCwiZGlzcGxheUFkZHJlc3MiOiIxNjAwIFcgQXJicm9vayBCbHZkLCBBcmxpbmd0b24sIFRYLCA3NjAxNSJ9LCJzdG9yZU51bWJlciI6MTMzOSwibmFtZSI6IkFybGluZ3RvbiBTb3V0aCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzAuMDAwMywibG9uZ2l0dWRlIjotOTUuMTcwNiwiZGlzcGxheUFkZHJlc3MiOiI2OTMxIEZNIDE5NjAgUmQgRSwgQXRhc2NvY2l0YSwgVFgsIDc3MzQ2In0sInN0b3JlTnVtYmVyIjoyMzg5LCJuYW1lIjoiQXRhc2NvY2l0YSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMC4zOTI1LCJsb25naXR1ZGUiOi05Ny43NDQ1LCJkaXNwbGF5QWRkcmVzcyI6IjEwMTA3IFJlc2VhcmNoIEJsdmQsIEF1c3RpbiwgVFgsIDc4NzU5In0sInN0b3JlTnVtYmVyIjoyNDA5LCJuYW1lIjoiQXVzdGluIEFyYm9yZXR1bSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMC4zMTUxLCJsb25naXR1ZGUiOi05Ny43MDU4LCJkaXNwbGF5QWRkcmVzcyI6IjU2MjEgTiBJIEggMzUsIEF1c3RpbiwgVFgsIDc4NzIzIn0sInN0b3JlTnVtYmVyIjoxNTQyLCJuYW1lIjoiQXVzdGluIEVhc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjMwLjQxNTQsImxvbmdpdHVkZSI6LTk3LjY3MDIsImRpc3BsYXlBZGRyZXNzIjoiMTI5MDEgTiBJIEggMzUgU3RlIDMtMzAwLCBBdXN0aW4sIFRYLCA3ODc1MyJ9LCJzdG9yZU51bWJlciI6MTgxNywibmFtZSI6IkF1c3RpbiBORSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjMwLjQ3ODcsImxvbmdpdHVkZSI6LTk3Ljc5NjgsImRpc3BsYXlBZGRyZXNzIjoiMTA5MDAgTGFrZWxpbmUgTWFsbCBEciwgQXVzdGluLCBUWCwgNzg3MTcifSwic3RvcmVOdW1iZXIiOjE3OTcsIm5hbWUiOiJBdXN0aW4gTlcgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjMwLjM2MjIsImxvbmdpdHVkZSI6LTk3LjcxNTksImRpc3BsYXlBZGRyZXNzIjoiODYwMSBSZXNlYXJjaCBCbHZkLCBBdXN0aW4sIFRYLCA3ODc1OCJ9LCJzdG9yZU51bWJlciI6OTUsIm5hbWUiOiJBdXN0aW4gTm9ydGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMC4yMzM3LCJsb25naXR1ZGUiOi05Ny44Mjg1LCJkaXNwbGF5QWRkcmVzcyI6IjUzMDAgUyBNbyBQYWMgRXhweSwgQXVzdGluLCBUWCwgNzg3NDkifSwic3RvcmVOdW1iZXIiOjEwNjEsIm5hbWUiOiJBdXN0aW4gU1ciLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzAuMjMzMywibG9uZ2l0dWRlIjotOTcuNzkyNCwiZGlzcGxheUFkZHJlc3MiOiIyMzAwIFcgQmVuIFdoaXRlIEJsdmQsIEF1c3RpbiwgVFgsIDc4NzA0In0sInN0b3JlTnVtYmVyIjo5NiwibmFtZSI6IkF1c3RpbiBTb3V0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzAuMTYzLCJsb25naXR1ZGUiOi05Ny43OTI3LCJkaXNwbGF5QWRkcmVzcyI6Ijk1MDAgUyBJbnRlcnN0YXRlIDM1IFN0ZSBHLCBBdXN0aW4sIFRYLCA3ODc0OCJ9LCJzdG9yZU51bWJlciI6MjI4OCwibmFtZSI6IkF1c3RpbiBTb3V0aHBhcmsgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjI5LjQ5NDgsImxvbmdpdHVkZSI6LTk4LjU1MTIsImRpc3BsYXlBZGRyZXNzIjoiNDUyMiBGcmVkcmlja3NidXJnIFJkLCBCYWxjb25lcyBIZWlnaHRzLCBUWCwgNzgyMDEifSwic3RvcmVOdW1iZXIiOjE1MjMsIm5hbWUiOiJCYWxjb25lcyBIZWlnaHRzIENyb3Nzcm9hZHMgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjkuNTM2NywibG9uZ2l0dWRlIjotOTUuMTUxMywiZGlzcGxheUFkZHJlc3MiOiIxODAxIFcgQmF5IEFyZWEgQmx2ZCwgV2Vic3RlciwgVFgsIDc3NTk4In0sInN0b3JlTnVtYmVyIjoxODM3LCJuYW1lIjoiQmF5YnJvb2sgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjI5Ljc3MTgsImxvbmdpdHVkZSI6LTk0Ljk3NjUsImRpc3BsYXlBZGRyZXNzIjoiNDUxMCBHYXJ0aCBSZCwgQmF5dG93biwgVFgsIDc3NTIxIn0sInN0b3JlTnVtYmVyIjo4ODcsIm5hbWUiOiJCYXl0b3duIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzAuMTI2OCwibG9uZ2l0dWRlIjotOTQuMTU0NiwiZGlzcGxheUFkZHJlc3MiOiI1ODUwIEVhc3RleCBGd3ksIEJlYXVtb250LCBUWCwgNzc3MDgifSwic3RvcmVOdW1iZXIiOjE1OCwibmFtZSI6IkJlYXVtb250Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzAuMzE2NSwibG9uZ2l0dWRlIjotOTcuOTU0MywiZGlzcGxheUFkZHJlc3MiOiIzNzAyIFJhbmNoIFJkIDYyMCBTLCBCZWUgQ2F2ZSwgVFgsIDc4NzM4In0sInN0b3JlTnVtYmVyIjoxODEyLCJuYW1lIjoiQmVlIENhdmUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjI5LjU2NSwibG9uZ2l0dWRlIjotOTguNDc5OCwiZGlzcGxheUFkZHJlc3MiOiIxMzcwMCBTYW4gUGVkcm8gQXZlLCBTYW4gQW50b25pbywgVFgsIDc4MjMyIn0sInN0b3JlTnVtYmVyIjoxNzYsIm5hbWUiOiJCaXR0ZXJzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjUuOTY4NiwibG9uZ2l0dWRlIjotOTcuNTExOCwiZGlzcGxheUFkZHJlc3MiOiIzMDEgRSBNb3JyaXNvbiBSZCwgQnJvd25zdmlsbGUsIFRYLCA3ODUyNiJ9LCJzdG9yZU51bWJlciI6MjE1MiwibmFtZSI6IkJyb3duc3ZpbGxlIE5vcnRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjMwLjY2NDcsImxvbmdpdHVkZSI6LTk2LjMyMiwiZGlzcGxheUFkZHJlc3MiOiIzMDYxIFdpbGRmbG93ZXIgRHIsIEJyeWFuLCBUWCwgNzc4MDIifSwic3RvcmVOdW1iZXIiOjI0MjgsIm5hbWUiOiJCcnlhbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjMyLjUyNjMsImxvbmdpdHVkZSI6LTk3LjM0NDcsImRpc3BsYXlBZGRyZXNzIjoiMjAwIE5XIEpvaG4gSm9uZXMgRHIsIEJ1cmxlc29uLCBUWCwgNzYwMjgifSwic3RvcmVOdW1iZXIiOjE5MjIsIm5hbWUiOiJCdXJsZXNvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMi45ODcxLCJsb25naXR1ZGUiOi05Ni44ODk3LCJkaXNwbGF5QWRkcmVzcyI6IjI2MjAgTiBKb3NleSBMbiwgQ2Fycm9sbHRvbiwgVFgsIDc1MDA3In0sInN0b3JlTnVtYmVyIjo4NCwibmFtZSI6IkNhcnJvbGx0b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIldpbmUgQXZhaWxhYmxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjMyLjYwMywibG9uZ2l0dWRlIjotOTYuOTM1NSwiZGlzcGxheUFkZHJlc3MiOiI3MzkgTiBIaWdod2F5IDY3LCBDZWRhciBIaWxsLCBUWCwgNzUxMDQifSwic3RvcmVOdW1iZXIiOjE4MzYsIm5hbWUiOiJDZWRhciBIaWxsIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMC41Mjc3LCJsb25naXR1ZGUiOi05Ny44MTQzLCJkaXNwbGF5QWRkcmVzcyI6IjExMDEgQy1CYXIgUmFuY2ggVHJsIExvdCAjMiwgQ2VkYXIgUGFyaywgVFgsIDc4NjEzIn0sInN0b3JlTnVtYmVyIjoyMzQyLCJuYW1lIjoiQ2VkYXIgUGFyayBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMi44MDQxLCJsb25naXR1ZGUiOi05Ni43OTAzLCJkaXNwbGF5QWRkcmVzcyI6IjI0MTcgTiBIYXNrZWxsIEF2ZSwgRGFsbGFzLCBUWCwgNzUyMDQifSwic3RvcmVOdW1iZXIiOjg3NSwibmFtZSI6IkNpdHlwbGFjZSBNYXJrZXQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzIuNjc4NywibG9uZ2l0dWRlIjotOTcuNDEzNCwiZGlzcGxheUFkZHJlc3MiOiI1NzAwIE92ZXJ0b24gUmlkZ2UgQmx2ZCwgRm9ydCBXb3J0aCwgVFgsIDc2MTMyIn0sInN0b3JlTnVtYmVyIjoxNzcwLCJuYW1lIjoiQ2l0eXZpZXcgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjI5LjUzOTMsImxvbmdpdHVkZSI6LTk1LjAyNDQsImRpc3BsYXlBZGRyZXNzIjoiMjU1IE1hcmluYSBCYXkgRHIsIENsZWFyIExha2UgU2hvcmVzLCBUWCwgNzc1NjUifSwic3RvcmVOdW1iZXIiOjEzNzcsIm5hbWUiOiJDbGVhciBMYWtlIFNob3JlcyBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjMwLjYxMDgsImxvbmdpdHVkZSI6LTk2LjMxNSwiZGlzcGxheUFkZHJlc3MiOiIyMTAwIFRleGFzIEF2ZSBTLCBDb2xsZWdlIFN0YXRpb24sIFRYLCA3Nzg0MCJ9LCJzdG9yZU51bWJlciI6ODAwLCJuYW1lIjoiQ29sbGVnZSBTdGF0aW9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzAuMzEzMSwibG9uZ2l0dWRlIjotOTUuNDczNywiZGlzcGxheUFkZHJlc3MiOiI1MDMgSSA0NSBOLCBDb25yb2UsIFRYLCA3NzMwNCJ9LCJzdG9yZU51bWJlciI6MTExNSwibmFtZSI6IkNvbnJvZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjI5Ljg3NzgsImxvbmdpdHVkZSI6LTk1LjY0NjksImRpc3BsYXlBZGRyZXNzIjoiNjk1NSBIaWdod2F5IDYgTiwgSG91c3RvbiwgVFgsIDc3MDg0In0sInN0b3JlTnVtYmVyIjo5OTMsIm5hbWUiOiJDb3BwZXJmaWVsZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjcuNzA2NywibG9uZ2l0dWRlIjotOTcuMzczNSwiZGlzcGxheUFkZHJlc3MiOiI1NDI1IFMgUGFkcmUgSXNsYW5kIERyLCBDb3JwdXMgQ2hyaXN0aSwgVFgsIDc4NDExIn0sInN0b3JlTnVtYmVyIjozMzUsIm5hbWUiOiJDb3JwdXMgQ2hyaXN0aSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjoyOS45Njk2LCJsb25naXR1ZGUiOi05NS42OTYyLCJkaXNwbGF5QWRkcmVzcyI6IjI1OTAxIEhpZ2h3YXkgMjkwLCBDeXByZXNzLCBUWCwgNzc0MjkifSwic3RvcmVOdW1iZXIiOjE4OTQsIm5hbWUiOiJDeXByZXNzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMi44NjYxLCJsb25naXR1ZGUiOi05Ni43NDQ5LCJkaXNwbGF5QWRkcmVzcyI6IjY0MTkgU2tpbGxtYW4gU3QsIERhbGxhcywgVFgsIDc1MjMxIn0sInN0b3JlTnVtYmVyIjoxNzg0LCJuYW1lIjoiRGFsbGFzIE5FIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMi42NDg5LCJsb25naXR1ZGUiOi05Ni44NjEyLCJkaXNwbGF5QWRkcmVzcyI6IjM5NzM5IExCSiBGd3ksIERhbGxhcywgVFgsIDc1MjM3In0sInN0b3JlTnVtYmVyIjoyMzM0LCJuYW1lIjoiRGFsbGFzIFNvdXRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjMzLjE5LCJsb25naXR1ZGUiOi05Ny4wOTg0LCJkaXNwbGF5QWRkcmVzcyI6IjE4MDEgUyBMb29wIDI4OCwgRGVudG9uLCBUWCwgNzYyMDUifSwic3RvcmVOdW1iZXIiOjIxNDUsIm5hbWUiOiJEZW50b24gU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzIuNzU4NiwibG9uZ2l0dWRlIjotOTcuMTY5NiwiZGlzcGxheUFkZHJlc3MiOiI4NTUwIEVhc3QgRnd5LCBGb3J0IFdvcnRoLCBUWCwgNzYxMjAifSwic3RvcmVOdW1iZXIiOjc1OCwibmFtZSI6IkVhc3RjaGFzZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiRnJlc2ggR3JvY2VyeSIsIldpbmUgQXZhaWxhYmxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjMxLjc4MzgsImxvbmdpdHVkZSI6LTEwNi40MTMsImRpc3BsYXlBZGRyZXNzIjoiNjAwMSBXIEdhdGV3YXkgQmx2ZCwgRWwgUGFzbywgVFgsIDc5OTI1In0sInN0b3JlTnVtYmVyIjo4NDksIm5hbWUiOiJFbCBQYXNvIENlbnRyYWwiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjMxLjc2OTgsImxvbmdpdHVkZSI6LTEwNi4zMDUsImRpc3BsYXlBZGRyZXNzIjoiMTkwMSBHZW9yZ2UgRGlldGVyIERyLCBFbCBQYXNvLCBUWCwgNzk5MzYifSwic3RvcmVOdW1iZXIiOjgyMywibmFtZSI6IkVsIFBhc28gRWFzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIl0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzEuNzU4OSwibG9uZ2l0dWRlIjotMTA2LjI2NiwiZGlzcGxheUFkZHJlc3MiOiIxODc0IEpvZSBCYXR0bGUgQmx2ZCwgRWwgUGFzbywgVFgsIDc5OTM2In0sInN0b3JlTnVtYmVyIjoyMjE2LCJuYW1lIjoiRWwgUGFzbyBGYXIgRWFzdCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzEuODE4MiwibG9uZ2l0dWRlIjotMTA2LjU0OCwiZGlzcGxheUFkZHJlc3MiOiI4MDEgU3VubGFuZCBQYXJrIERyLCBFbCBQYXNvLCBUWCwgNzk5MTIifSwic3RvcmVOdW1iZXIiOjgyMiwibmFtZSI6IkVsIFBhc28gV2VzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMi44ODIsImxvbmdpdHVkZSI6LTk3LjEwMTYsImRpc3BsYXlBZGRyZXNzIjoiMTQwMSBXIEdsYWRlIFJkLCBFdWxlc3MsIFRYLCA3NjAzOSJ9LCJzdG9yZU51bWJlciI6MTM2OCwibmFtZSI6IkV1bGVzcyBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzMuMDY4MywibG9uZ2l0dWRlIjotOTcuMDgwNywiZGlzcGxheUFkZHJlc3MiOiI1OTU5IExvbmcgUHJhaXJpZSBSZCwgRmxvd2VyIE1vdW5kLCBUWCwgNzUwMjgifSwic3RvcmVOdW1iZXIiOjE1MTcsIm5hbWUiOiJGbG93ZXIgTW91bmQgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzIuNzUzMiwibG9uZ2l0dWRlIjotOTcuMzUyOSwiZGlzcGxheUFkZHJlc3MiOiIzMDEgQ2Fycm9sbCBTdCwgRm9ydCBXb3J0aCwgVFgsIDc2MTA3In0sInN0b3JlTnVtYmVyIjoyMDQyLCJuYW1lIjoiRm9ydCBXb3J0aCBDZW50cmFsIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMC40MDM5LCJsb25naXR1ZGUiOi05Ny44NTMxLCJkaXNwbGF5QWRkcmVzcyI6IjExMjIwIEZNIDIyMjIsIEF1c3RpbiwgVFgsIDc4NzMwIn0sInN0b3JlTnVtYmVyIjoxOTUzLCJuYW1lIjoiRm91ciBQb2ludHMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzMuMTczMywibG9uZ2l0dWRlIjotOTYuODQzOSwiZGlzcGxheUFkZHJlc3MiOiI0ODg1IEVsZG9yYWRvIFBrd3ksIEZyaXNjbywgVFgsIDc1MDM0In0sInN0b3JlTnVtYmVyIjoyMzM4LCJuYW1lIjoiRnJpc2NvIE5vcnRoIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMy4xMDQ4LCJsb25naXR1ZGUiOi05Ni44MTIzLCJkaXNwbGF5QWRkcmVzcyI6IjMyMDEgUHJlc3RvbiBSZCwgRnJpc2NvLCBUWCwgNzUwMzQifSwic3RvcmVOdW1iZXIiOjE3NjMsIm5hbWUiOiJGcmlzY28gU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjkuNzQ2MSwibG9uZ2l0dWRlIjotOTUuNDUzMiwiZGlzcGxheUFkZHJlc3MiOiI0MzIzIFNhbiBGZWxpcGUgU3QsIEhvdXN0b24sIFRYLCA3NzAyNyJ9LCJzdG9yZU51bWJlciI6OTU1LCJuYW1lIjoiR2FsbGVyaWEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjkuMjkwNCwibG9uZ2l0dWRlIjotOTQuODQwNywiZGlzcGxheUFkZHJlc3MiOiI2MTI4IEJyb2Fkd2F5IFN0LCBHYWx2ZXN0b24sIFRYLCA3NzU1MSJ9LCJzdG9yZU51bWJlciI6MTUzNSwibmFtZSI6IkdhbHZlc3RvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjMyLjk2NTMsImxvbmdpdHVkZSI6LTk2LjY0NDEsImRpc3BsYXlBZGRyZXNzIjoiNTMwMSBOIEdhcmxhbmQgQXZlLCBHYXJsYW5kLCBUWCwgNzUwNDAifSwic3RvcmVOdW1iZXIiOjE0ODksIm5hbWUiOiJHYXJsYW5kIEVhc3QgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjMwLjYzMTIsImxvbmdpdHVkZSI6LTk3LjY5NjQsImRpc3BsYXlBZGRyZXNzIjoiMTAyMSBXIFVuaXZlcnNpdHkgU3RlIEIzLCBHZW9yZ2V0b3duLCBUWCwgNzg2MjgifSwic3RvcmVOdW1iZXIiOjE5ODIsIm5hbWUiOiJHZW9yZ2V0b3duIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjMyLjY3NzYsImxvbmdpdHVkZSI6LTk3LjAwOTksImRpc3BsYXlBZGRyZXNzIjoiNTU0IFcgSW50ZXJzdGF0ZSAyMCwgR3JhbmQgUHJhaXJpZSwgVFgsIDc1MDUyIn0sInN0b3JlTnVtYmVyIjoxMTE2LCJuYW1lIjoiR3JhbmQgUHJhaXJpZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiRnJlc2ggR3JvY2VyeSIsIldpbmUgQXZhaWxhYmxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMi42NDQ4LCJsb25naXR1ZGUiOi05Ny4wNTk4LCJkaXNwbGF5QWRkcmVzcyI6IjUyNzAgUyBTdGF0ZSBId3kgMzYwLCBHcmFuZCBQcmFpcmllLCBUWCwgNzUwNTIifSwic3RvcmVOdW1iZXIiOjIyNDMsIm5hbWUiOiJHcmFuZCBQcmFpcmllIFMgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjMyLjkyODYsImxvbmdpdHVkZSI6LTk3LjA4OTYsImRpc3BsYXlBZGRyZXNzIjoiMTEwMSBJcmEgRSBXb29kcyBBdmUsIEdyYXBldmluZSwgVFgsIDc2MDUxIn0sInN0b3JlTnVtYmVyIjo4NzYsIm5hbWUiOiJHcmFwZXZpbmUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzEuMDc0MSwibG9uZ2l0dWRlIjotOTcuNjYzNCwiZGlzcGxheUFkZHJlc3MiOiIyMDEgRSBDZW50cmFsIFRleGFzIEV4cHkgICwgSGFya2VyIEhlaWdodHMsIFRYLCA3NjU0OCJ9LCJzdG9yZU51bWJlciI6MjM3NCwibmFtZSI6IkhhcmtlciBIZWlnaHRzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjYuMTgyOCwibG9uZ2l0dWRlIjotOTcuNzIxNCwiZGlzcGxheUFkZHJlc3MiOiIxMDAyIERpeGllbGFuZCBSZCwgSGFybGluZ2VuLCBUWCwgNzg1NTIifSwic3RvcmVOdW1iZXIiOjgwMiwibmFtZSI6IkhhcmxpbmdlbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjoyOS43NzYsImxvbmdpdHVkZSI6LTk1LjM4MzMsImRpc3BsYXlBZGRyZXNzIjoiMjU4MCBTaGVhcm4gU3QsIEhvdXN0b24sIFRYLCA3NzAwNyJ9LCJzdG9yZU51bWJlciI6MjA5MywibmFtZSI6IkhvdXN0b24gQ2VudHJhbCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjoyOS43MzI5LCJsb25naXR1ZGUiOi05NS42MjYsImRpc3BsYXlBZGRyZXNzIjoiMjcwMCBFbGRyaWRnZSBQa3d5LCBIb3VzdG9uLCBUWCwgNzcwODIifSwic3RvcmVOdW1iZXIiOjI0MTksIm5hbWUiOiJIb3VzdG9uIEZhciBXZXN0IFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjoyOS43ODI2LCJsb25naXR1ZGUiOi05NS41NDI3LCJkaXNwbGF5QWRkcmVzcyI6Ijk4NCBHZXNzbmVyIFJkLCBIb3VzdG9uLCBUWCwgNzcwMjQifSwic3RvcmVOdW1iZXIiOjE0MzUsIm5hbWUiOiJIb3VzdG9uIE1lbW9yaWFsIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjoyOS42ODY3LCJsb25naXR1ZGUiOi05NS40NjIxLCJkaXNwbGF5QWRkcmVzcyI6IjMwMCBNZXllcmxhbmQgUGxhemEgTWFsbCwgSG91c3RvbiwgVFgsIDc3MDk2In0sInN0b3JlTnVtYmVyIjoxOTc1LCJuYW1lIjoiSG91c3RvbiBNZXllcmxhbmQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjoyOS44NDksImxvbmdpdHVkZSI6LTk1LjUwMjUsImRpc3BsYXlBZGRyZXNzIjoiMTMyNTAgTm9ydGh3ZXN0IEZ3eSwgSG91c3RvbiwgVFgsIDc3MDQwIn0sInN0b3JlTnVtYmVyIjo4NTgsIm5hbWUiOiJIb3VzdG9uIE5XIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMC4wNTA3LCJsb25naXR1ZGUiOi05NS40MzQzLCJkaXNwbGF5QWRkcmVzcyI6IjE5NTExIEkgSCA0NSwgU3ByaW5nLCBUWCwgNzczODgifSwic3RvcmVOdW1iZXIiOjE0NTgsIm5hbWUiOiJIb3VzdG9uIE5vcnRoIENlbnRyYWwgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjI5LjY5MTgsImxvbmdpdHVkZSI6LTk1LjQxODUsImRpc3BsYXlBZGRyZXNzIjoiODUwMCBTIE1haW4gU3QsIEhvdXN0b24sIFRYLCA3NzAyNSJ9LCJzdG9yZU51bWJlciI6MTMzNiwibmFtZSI6IkhvdXN0b24gU291dGggQ2VudHJhbCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjkuNjAyNiwibG9uZ2l0dWRlIjotOTUuMjY0NiwiZGlzcGxheUFkZHJlc3MiOiI4NTAzIFMgU2FtIEhvdXN0b24gUGt3eSBFLCBIb3VzdG9uLCBUWCwgNzcwNzUifSwic3RvcmVOdW1iZXIiOjI0OTQsIm5hbWUiOiJIb3VzdG9uIFNvdXRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMC4wOTE1LCJsb25naXR1ZGUiOi05NS42MzkzLCJkaXNwbGF5QWRkcmVzcyI6IjE0MzAyIEZNIDI5MjAgUmQsIFRvbWJhbGwsIFRYLCA3NzM3NyJ9LCJzdG9yZU51bWJlciI6MTkwNCwibmFtZSI6IkhvdXN0b24gVG9tYmFsbCBOb3J0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMC4wMTg3LCJsb25naXR1ZGUiOi05NS4yNjgxLCJkaXNwbGF5QWRkcmVzcyI6IjIwNzc3IEh3eSA1OSBOLCBIdW1ibGUsIFRYLCA3NzMzOCJ9LCJzdG9yZU51bWJlciI6MTQ1NywibmFtZSI6Ikh1bWJsZSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzAuNzA4OCwibG9uZ2l0dWRlIjotOTUuNTY2NCwiZGlzcGxheUFkZHJlc3MiOiIyNTkgSW50ZXJzdGF0ZSA0NSBTLCBIdW50c3ZpbGxlLCBUWCwgNzczNDAifSwic3RvcmVOdW1iZXIiOjI1MzMsIm5hbWUiOiJIdW50c3ZpbGxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMi44MzY2LCJsb25naXR1ZGUiOi05Ny4xODQxLCJkaXNwbGF5QWRkcmVzcyI6IjE0MDAgUHJlY2luY3QgTGluZSBSZCwgSHVyc3QsIFRYLCA3NjA1MyJ9LCJzdG9yZU51bWJlciI6MTc2NiwibmFtZSI6Ikh1cnN0IFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMi45MTMsImxvbmdpdHVkZSI6LTk2Ljk2MTEsImRpc3BsYXlBZGRyZXNzIjoiNzg0NSBOIE1hY2FydGh1ciBCbHZkLCBJcnZpbmcsIFRYLCA3NTA2MyJ9LCJzdG9yZU51bWJlciI6MTAzMiwibmFtZSI6IklydmluZyBOb3J0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzIuODM5MSwibG9uZ2l0dWRlIjotOTYuOTkwOCwiZGlzcGxheUFkZHJlc3MiOiIzMzMzIFcgQWlycG9ydCBGd3ksIElydmluZywgVFgsIDc1MDYyIn0sInN0b3JlTnVtYmVyIjoyNTUsIm5hbWUiOiJJcnZpbmciLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIkZyZXNoIEdyb2NlcnkiLCJXaW5lIEF2YWlsYWJsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjkuNzgyMywibG9uZ2l0dWRlIjotOTUuNzE2MiwiZGlzcGxheUFkZHJlc3MiOiIxOTk1NSBLYXR5IEZ3eSwgSG91c3RvbiwgVFgsIDc3MDk0In0sInN0b3JlTnVtYmVyIjo5MDcsIm5hbWUiOiJLYXR5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjoyOS43MzU3LCJsb25naXR1ZGUiOi05NS43NzYzLCJkaXNwbGF5QWRkcmVzcyI6IjIzNzEwIFdlc3RoZWltZXIgUGt3eSwgS2F0eSwgVFgsIDc3NDk0In0sInN0b3JlTnVtYmVyIjoxOTA4LCJuYW1lIjoiS2F0eSBXZXN0IFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMC4wMTE0LCJsb25naXR1ZGUiOi05Ny44NjQxLCJkaXNwbGF5QWRkcmVzcyI6IjUxODggS3lsZSBDZW50ZXIgRHIsIEt5bGUsIFRYLCA3ODY0MCJ9LCJzdG9yZU51bWJlciI6MjcyNSwibmFtZSI6Ikt5bGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjoyOS42MDQ1LCJsb25naXR1ZGUiOi05OC41OTgyLCJkaXNwbGF5QWRkcmVzcyI6IjE3NTAyIExhIENhbnRlcmEgUGt3eSwgU2FuIEFudG9uaW8sIFRYLCA3ODI1NyJ9LCJzdG9yZU51bWJlciI6MjE4NywibmFtZSI6IkxhIENhbnRlcmEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjoyOS4wNDk5LCJsb25naXR1ZGUiOi05NS40NjUsImRpc3BsYXlBZGRyZXNzIjoiMjAyIEhpZ2h3YXkgMzMyIFcsIExha2UgSmFja3NvbiwgVFgsIDc3NTY2In0sInN0b3JlTnVtYmVyIjo4ODIsIm5hbWUiOiJMYWtlIEphY2tzb24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzIuODExNCwibG9uZ2l0dWRlIjotOTcuNDI5MiwiZGlzcGxheUFkZHJlc3MiOiI2NjA0IExha2UgV29ydGggQmx2ZCwgTGFrZSBXb3J0aCwgVFgsIDc2MTM1In0sInN0b3JlTnVtYmVyIjoyMDA4LCJuYW1lIjoiTGFrZSBXb3J0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjoyNy41NjkzLCJsb25naXR1ZGUiOi05OS41MDA0LCJkaXNwbGF5QWRkcmVzcyI6Ijc1MDEgU2FuIERhcmlvIEF2ZSwgTGFyZWRvLCBUWCwgNzgwNDUifSwic3RvcmVOdW1iZXIiOjgwMSwibmFtZSI6IkxhcmVkbyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjI3LjUxNTYsImxvbmdpdHVkZSI6LTk5LjQ1MDQsImRpc3BsYXlBZGRyZXNzIjoiMTkxMCBCb2IgQnVsbG9jayBMb29wLCBMYXJlZG8sIFRYLCA3ODA0MyJ9LCJzdG9yZU51bWJlciI6MjExMiwibmFtZSI6IkxhcmVkbyBFYXN0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjkuNDY0OSwibG9uZ2l0dWRlIjotOTUuMDg0MiwiZGlzcGxheUFkZHJlc3MiOiIxODAxIEd1bGYgRldZLCBEaWNraW5zb24sIFRYLCA3NzUzOSJ9LCJzdG9yZU51bWJlciI6MjMyMCwibmFtZSI6IkxlYWd1ZSBDaXR5IFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjMzLjA2NDcsImxvbmdpdHVkZSI6LTk2Ljg4NDksImRpc3BsYXlBZGRyZXNzIjoiNDc2MCBTdGF0ZSBId3kgMTIxLCBMZXdpc3ZpbGxlLCBUWCwgNzUwNTYifSwic3RvcmVOdW1iZXIiOjI1MjAsIm5hbWUiOiJMZXdpc3ZpbGxlIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMi41NDkxLCJsb25naXR1ZGUiOi05NC43MjY0LCJkaXNwbGF5QWRkcmVzcyI6IjMwOTIgTiBFYXN0bWFuIFJkIFN0ZSAxMDAsIExvbmd2aWV3LCBUWCwgNzU2MDUifSwic3RvcmVOdW1iZXIiOjIyODMsIm5hbWUiOiJMb25ndmlldyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMi44NjI2LCJsb25naXR1ZGUiOi05Ni44NTQyLCJkaXNwbGF5QWRkcmVzcyI6Ijk0NDAgTWFyc2ggTG4sIERhbGxhcywgVFgsIDc1MjIwIn0sInN0b3JlTnVtYmVyIjo5NDcsIm5hbWUiOiJMb3ZlIEZpZWxkIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMy41MjgsImxvbmdpdHVkZSI6LTEwMS44NzIsImRpc3BsYXlBZGRyZXNzIjoiNzMwMiBVbml2ZXJzaXR5IEF2ZSwgTHViYm9jaywgVFgsIDc5NDIzIn0sInN0b3JlTnVtYmVyIjo4MywibmFtZSI6Ikx1YmJvY2siLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMy41NDY5LCJsb25naXR1ZGUiOi0xMDEuOTU1LCJkaXNwbGF5QWRkcmVzcyI6IjYwNjQgTWFyc2hhIFNoYXJwIEZyZWV3YXksIEx1YmJvY2ssIFRYLCA3OTQwNyJ9LCJzdG9yZU51bWJlciI6MjE5MCwibmFtZSI6Ikx1YmJvY2sgV2VzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMS4zMTM0LCJsb25naXR1ZGUiOi05NC43MjA2LCJkaXNwbGF5QWRkcmVzcyI6IjQyMDAgUyBNZWRmb3JkIERyLCBMdWZraW4sIFRYLCA3NTkwMSJ9LCJzdG9yZU51bWJlciI6OTUzLCJuYW1lIjoiTHVma2luIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJXaW5lIEF2YWlsYWJsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjMyLjU5MTIsImxvbmdpdHVkZSI6LTk3LjE0NDMsImRpc3BsYXlBZGRyZXNzIjoiMTgwMSBIaWdod2F5IDI4NyBOLCBNYW5zZmllbGQsIFRYLCA3NjA2MyJ9LCJzdG9yZU51bWJlciI6MTUzNiwibmFtZSI6Ik1hbnNmaWVsZCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjoyNi4xODY1LCJsb25naXR1ZGUiOi05OC4yMTMxLCJkaXNwbGF5QWRkcmVzcyI6IjcwOCBFIEV4cHJlc3N3YXkgODMsIE1jQWxsZW4sIFRYLCA3ODUwMyJ9LCJzdG9yZU51bWJlciI6ODI0LCJuYW1lIjoiTWNBbGxlbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjI2LjI2ODksImxvbmdpdHVkZSI6LTk4LjIxNjgsImRpc3BsYXlBZGRyZXNzIjoiNzQwMCBOIDEwdGggU3QsIE1jYWxsZW4sIFRYLCA3ODUwNCJ9LCJzdG9yZU51bWJlciI6MTQ5MCwibmFtZSI6Ik1jQWxsZW4gTm9ydGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjoyNi4yNDQ2LCJsb25naXR1ZGUiOi05OC4yNTQ0LCJkaXNwbGF5QWRkcmVzcyI6IjM2MDAgTm9sYW5hIEF2ZSwgTWNBbGxlbiwgVFgsIDc4NTA0In0sInN0b3JlTnVtYmVyIjoyMjI0LCJuYW1lIjoiTWNBbGxlbiBOb3J0aHdlc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMy4xMjg2LCJsb25naXR1ZGUiOi05Ni43Mjk4LCJkaXNwbGF5QWRkcmVzcyI6Ijg5MDAgU3RhdGUgSHd5IDEyMSwgTWNLaW5uZXksIFRYLCA3NTA3MCJ9LCJzdG9yZU51bWJlciI6MjE0MiwibmFtZSI6Ik1jS2lubmV5IFNXIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMy4yMTg2LCJsb25naXR1ZGUiOi05Ni42Mzg1LCJkaXNwbGF5QWRkcmVzcyI6IjIwMjUgTiBDZW50cmFsIEV4cHksIE1ja2lubmV5LCBUWCwgNzUwNzAifSwic3RvcmVOdW1iZXIiOjIzMzUsIm5hbWUiOiJNY0tpbm5leSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzIuODU2NiwibG9uZ2l0dWRlIjotOTYuNzUyMSwiZGlzcGxheUFkZHJlc3MiOiIyMTIgTWVkYWxsaW9uIFNocCBDdHIsIERhbGxhcywgVFgsIDc1MjE0In0sInN0b3JlTnVtYmVyIjo1NSwibmFtZSI6Ik1lZGFsbGlvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMi44MTI4LCJsb25naXR1ZGUiOi05Ni42MjExLCJkaXNwbGF5QWRkcmVzcyI6IjE2MjkgTiBUb3duIEVhc3QgQmx2ZCwgTWVzcXVpdGUsIFRYLCA3NTE1MCJ9LCJzdG9yZU51bWJlciI6MjU3MiwibmFtZSI6Ik1lc3F1aXRlIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMi4wMjczLCJsb25naXR1ZGUiOi0xMDIuMTQ2LCJkaXNwbGF5QWRkcmVzcyI6IjQwMDEgTiBNaWRsYW5kIERyLCBNaWRsYW5kLCBUWCwgNzk3MDcifSwic3RvcmVOdW1iZXIiOjc3MCwibmFtZSI6Ik1pZGxhbmQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjI2LjE5NzksImxvbmdpdHVkZSI6LTk4LjI4NCwiZGlzcGxheUFkZHJlc3MiOiIyNDI3IEUgRXhwd3kgODMsIE1pc3Npb24sIFRYLCA3ODU3MiJ9LCJzdG9yZU51bWJlciI6MjIzNywibmFtZSI6Ik1pc3Npb24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjoyOS41NjQyLCJsb25naXR1ZGUiOi05NS41NjQ3LCJkaXNwbGF5QWRkcmVzcyI6IjYwMDAgSGlnaHdheSA2LCBNaXNzb3VyaSBDaXR5LCBUWCwgNzc0NTkifSwic3RvcmVOdW1iZXIiOjEzNTksIm5hbWUiOiJNaXNzb3VyaSBDaXR5IFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjI5LjU2MjUsImxvbmdpdHVkZSI6LTk4LjU4OTEsImRpc3BsYXlBZGRyZXNzIjoiMTI2MjEgVyBJSCAxMCwgU2FuIEFudG9uaW8sIFRYLCA3ODIzMCJ9LCJzdG9yZU51bWJlciI6OTQ4LCJuYW1lIjoiTlcgU2FuIEFudG9uaW8iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjI5LjczMDIsImxvbmdpdHVkZSI6LTk4LjA3MjksImRpc3BsYXlBZGRyZXNzIjoiMTM1IENyZWVrc2lkZSBXYXksIE5ldyBCcmF1bmZlbHMsIFRYLCA3ODEzMCJ9LCJzdG9yZU51bWJlciI6MjQyOSwibmFtZSI6Ik5ldyBCcmF1bmZlbHMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzIuOTgyNiwibG9uZ2l0dWRlIjotOTYuNzY5MiwiZGlzcGxheUFkZHJlc3MiOiIxNjczMSBDb2l0IFJkLCBEYWxsYXMsIFRYLCA3NTI0OCJ9LCJzdG9yZU51bWJlciI6MTc3NSwibmFtZSI6Ik5vcnRoIERhbGxhcyBDb2l0IFJvYWQgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjMyLjkyNzQsImxvbmdpdHVkZSI6LTk2LjgxNCwiZGlzcGxheUFkZHJlc3MiOiIxMzEzMSBNb250Zm9ydCBEciwgRGFsbGFzLCBUWCwgNzUyNDAifSwic3RvcmVOdW1iZXIiOjEzLCJuYW1lIjoiTm9ydGggRGFsbGFzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjMyLjkwOTgsImxvbmdpdHVkZSI6LTk3LjE4NzcsImRpc3BsYXlBZGRyZXNzIjoiODUzMiBEYXZpcyBCbHZkLCBOb3J0aCBSaWNobGFuZCBIaWxscywgVFgsIDc2MTgyIn0sInN0b3JlTnVtYmVyIjoxNTE0LCJuYW1lIjoiTm9ydGggUmljaGxhbmQgSGlsbHMgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzEuODkxOCwibG9uZ2l0dWRlIjotMTAyLjM0OSwiZGlzcGxheUFkZHJlc3MiOiIzOTA5IEUgNDJuZCBTdCwgT2Rlc3NhLCBUWCwgNzk3NjIifSwic3RvcmVOdW1iZXIiOjE1MDYsIm5hbWUiOiJPZGVzc2EiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjkuNTE3NiwibG9uZ2l0dWRlIjotOTguNTAzOSwiZGlzcGxheUFkZHJlc3MiOiI3NDYgTlcgTG9vcCA0MTAsIFNhbiBBbnRvbmlvLCBUWCwgNzgyMTYifSwic3RvcmVOdW1iZXIiOjI0NjcsIm5hbWUiOiJQYXJrIE5vcnRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjkuNjUxNiwibG9uZ2l0dWRlIjotOTUuMTUzOSwiZGlzcGxheUFkZHJlc3MiOiI1NzU3IEZhaXJtb250IFBrd3ksIFBhc2FkZW5hLCBUWCwgNzc1MDUifSwic3RvcmVOdW1iZXIiOjEzOTYsIm5hbWUiOiJQYXNhZGVuYSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjkuNTUzNywibG9uZ2l0dWRlIjotOTUuMzg0MSwiZGlzcGxheUFkZHJlc3MiOiIzMDQ1IFNpbHZlcmxha2UgVmlsbGFnZSBTdCwgUGVhcmxhbmQsIFRYLCA3NzU4NCJ9LCJzdG9yZU51bWJlciI6MTQ1OSwibmFtZSI6IlBlYXJsYW5kIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMC40NjgxLCJsb25naXR1ZGUiOi05Ny41OTk1LCJkaXNwbGF5QWRkcmVzcyI6IjE4NzAwIExpbWVzdG9uZSBDb21tZXJjaWFsIERyLCBQZmx1Z2VydmlsbGUsIFRYLCA3ODY2MCJ9LCJzdG9yZU51bWJlciI6MjQ5NSwibmFtZSI6IlBmbHVnZXJ2aWxsZSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMy4wMzc2LCJsb25naXR1ZGUiOi05Ni43MDc3LCJkaXNwbGF5QWRkcmVzcyI6IjEyMCBXIFBhcmtlciBSZCwgUGxhbm8sIFRYLCA3NTA3NSJ9LCJzdG9yZU51bWJlciI6NjcsIm5hbWUiOiJQbGFubyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzMuMDMwMiwibG9uZ2l0dWRlIjotOTYuODI3MywiZGlzcGxheUFkZHJlc3MiOiIyMjAwIERhbGxhcyBQa3d5LCBQbGFubywgVFgsIDc1MDkzIn0sInN0b3JlTnVtYmVyIjoxNzY0LCJuYW1lIjoiUGxhbm8gV2VzdCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjkuOTQ3NywibG9uZ2l0dWRlIjotOTMuOTg3NywiZGlzcGxheUFkZHJlc3MiOiIzMTAwIEhpZ2h3YXkgMzY1IFN0ZSA5MCwgUG9ydCBBcnRodXIsIFRYLCA3NzY0MiJ9LCJzdG9yZU51bWJlciI6MTg3NywibmFtZSI6IlBvcnQgQXJ0aHVyIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzIuOTQzNCwibG9uZ2l0dWRlIjotOTYuNjk3NiwiZGlzcGxheUFkZHJlc3MiOiI2MDEgUyBQbGFubyBSZCwgUmljaGFyZHNvbiwgVFgsIDc1MDgxIn0sInN0b3JlTnVtYmVyIjoxNDMwLCJuYW1lIjoiUmljaGFyZHNvbiBTcSBNYWxsIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMi43NDgxLCJsb25naXR1ZGUiOi05Ny40MzIyLCJkaXNwbGF5QWRkcmVzcyI6Ijc1MSBBbHRhIE1lcmUgRHIsIEZvcnQgV29ydGgsIFRYLCA3NjExNiJ9LCJzdG9yZU51bWJlciI6MjQyNSwibmFtZSI6IlJpZGdtYXIiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMi44OTQxLCJsb25naXR1ZGUiOi05Ni40NjgzLCJkaXNwbGF5QWRkcmVzcyI6Ijg1MCBTdGVnZXIgVG93bmUgUmQsIFJvY2t3YWxsLCBUWCwgNzUwMzIifSwic3RvcmVOdW1iZXIiOjEwNjUsIm5hbWUiOiJSb2Nrd2FsbCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjkuNTQ3OSwibG9uZ2l0dWRlIjotOTUuNzUyNCwiZGlzcGxheUFkZHJlc3MiOiIyMzkxMiBDb21tZXJjaWFsIERyLCBSb3NlbmJlcmcsIFRYLCA3NzQ3MSJ9LCJzdG9yZU51bWJlciI6MjIwNSwibmFtZSI6IlJvc2VuYmVyZyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMC40NzkxLCJsb25naXR1ZGUiOi05Ny42Njk0LCJkaXNwbGF5QWRkcmVzcyI6IjEyMSBMb3VpcyBIZW5uYSBCbHZkLCBSb3VuZCBSb2NrLCBUWCwgNzg2NjQifSwic3RvcmVOdW1iZXIiOjEwNjYsIm5hbWUiOiJSb3VuZCBSb2NrIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjMyLjkwODYsImxvbmdpdHVkZSI6LTk2LjU1OTksImRpc3BsYXlBZGRyZXNzIjoiNDcwMSBMYWtldmlldyBQa3d5LCBSb3dsZXR0LCBUWCwgNzUwODgifSwic3RvcmVOdW1iZXIiOjIyMzQsIm5hbWUiOiJSb3dsZXR0IFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjI5LjM1NTQsImxvbmdpdHVkZSI6LTk4LjU0MDcsImRpc3BsYXlBZGRyZXNzIjoiMjgxMCBTVyBNaWxpdGFyeSBEciwgU2FuIEFudG9uaW8sIFRYLCA3ODIyNCJ9LCJzdG9yZU51bWJlciI6NzcxLCJuYW1lIjoiU1cgTWlsaXRhcnkgRHJpdmUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzEuNDMyLCJsb25naXR1ZGUiOi0xMDAuNTAxLCJkaXNwbGF5QWRkcmVzcyI6IjQyMzUgU3Vuc2V0IERyLCBTYW4gQW5nZWxvLCBUWCwgNzY5MDQifSwic3RvcmVOdW1iZXIiOjI1NCwibmFtZSI6IlNhbiBBbmdlbG8iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIldpbmUgQXZhaWxhYmxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjI5LjQ5MjEsImxvbmdpdHVkZSI6LTk4LjcwOTMsImRpc3BsYXlBZGRyZXNzIjoiNTM1NSBXIExvb3AgMTYwNCBOLCBTYW4gQW50b25pbywgVFgsIDc4MjUzIn0sInN0b3JlTnVtYmVyIjoyNDI2LCJuYW1lIjoiU2FuIEFudG9uaW8gQ3VsZWJyYSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjkuNDgzMSwibG9uZ2l0dWRlIjotOTguMzQ4MiwiZGlzcGxheUFkZHJlc3MiOiI3MDE0IEZNIDc4LCBTYW4gQW50b25pbywgVFgsIDc4MjQ0In0sInN0b3JlTnVtYmVyIjoyNDUyLCJuYW1lIjoiU2FuIEFudG9uaW8gRmFyIEUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjoyOS41Njg3LCJsb25naXR1ZGUiOi05OC4zMjcxLCJkaXNwbGF5QWRkcmVzcyI6IjgyMzQgQWdvcmEgUGt3eSwgU2VsbWEsIFRYLCA3ODE1NCJ9LCJzdG9yZU51bWJlciI6MTIwNCwibmFtZSI6IlNhbiBBbnRvbmlvIE5FIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjI5LjYxMjIsImxvbmdpdHVkZSI6LTk4LjUwOTksImRpc3BsYXlBZGRyZXNzIjoiMTgyNTUgQmxhbmNvIFJkICAsIFNhbiBBbnRvbmlvLCBUWCwgNzgyNTgifSwic3RvcmVOdW1iZXIiOjEzNTQsIm5hbWUiOiJTYW4gQW50b25pbyBOb3J0aCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjI5LjM1MzEsImxvbmdpdHVkZSI6LTk4LjQzMzQsImRpc3BsYXlBZGRyZXNzIjoiMzIyNyBTRSBNaWxpdGFyeSBEciwgU2FuIEFudG9uaW8sIFRYLCA3ODIyMyJ9LCJzdG9yZU51bWJlciI6MTg1MiwibmFtZSI6IlNhbiBBbnRvbmlvIFNFIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjkuNTQ4MSwibG9uZ2l0dWRlIjotOTguNjYzOSwiZGlzcGxheUFkZHJlc3MiOiIxMTMxMSBCYW5kZXJhIFJkLCBTYW4gQW50b25pbywgVFgsIDc4MjUwIn0sInN0b3JlTnVtYmVyIjoxNzg1LCJuYW1lIjoiU2FuIEFudG9uaW8gV2VzdCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjkuNDM3NSwibG9uZ2l0dWRlIjotOTguNjQ5NCwiZGlzcGxheUFkZHJlc3MiOiI4MjIzIFN0YXRlIEhpZ2h3YXkgMTUxLCBTYW4gQW50b25pbywgVFgsIDc4MjQ1In0sInN0b3JlTnVtYmVyIjoxOTc5LCJuYW1lIjoiU2FuIEFudG9uaW8gV2VzdG92ZXIiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjkuODQzNywibG9uZ2l0dWRlIjotOTcuOTcwOCwiZGlzcGxheUFkZHJlc3MiOiI3MDAgQmFybmVzIERyLCBTYW4gTWFyY29zLCBUWCwgNzg2NjYifSwic3RvcmVOdW1iZXIiOjI0MzgsIm5hbWUiOiJTYW4gTWFyY29zIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzMuNjgsImxvbmdpdHVkZSI6LTk2LjYxMjEsImRpc3BsYXlBZGRyZXNzIjoiNDE2MCBUb3duIENlbnRlciBSb2FkLCBTaGVybWFuLCBUWCwgNzUwOTIifSwic3RvcmVOdW1iZXIiOjE4NjEsIm5hbWUiOiJTaGVybWFuIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjkuOTE5NywibG9uZ2l0dWRlIjotOTUuNjA2MiwiZGlzcGxheUFkZHJlc3MiOiIxMjcwMSBGTSAxOTYwIFJkIFcsIEhvdXN0b24sIFRYLCA3NzA2NSJ9LCJzdG9yZU51bWJlciI6MjE0NCwibmFtZSI6IlN0ZWVwbGVjaGFzZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjkuNjUzNCwibG9uZ2l0dWRlIjotOTguNDQ0NywiZGlzcGxheUFkZHJlc3MiOiIyMjgzMiBVUyBIaWdod2F5IDI4MSBOLCBTYW4gQW50b25pbywgVFgsIDc4MjU4In0sInN0b3JlTnVtYmVyIjoyMjM5LCJuYW1lIjoiU3RvbmUgT2FrIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjoyOS41OTY4LCJsb25naXR1ZGUiOi05NS42Mjc1LCJkaXNwbGF5QWRkcmVzcyI6IjE2MzAwIFNvdXRod2VzdCBGd3ksIFN1Z2FyIExhbmQsIFRYLCA3NzQ3OSJ9LCJzdG9yZU51bWJlciI6MTc4NiwibmFtZSI6IlN1Z2FyIExhbmQgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjMxLjA5MjYsImxvbmdpdHVkZSI6LTk3LjM4NTUsImRpc3BsYXlBZGRyZXNzIjoiMzU1MCBTIEdlbmVyYWwgQnJ1Y2UgRHIsIFRlbXBsZSwgVFgsIDc2NTA0In0sInN0b3JlTnVtYmVyIjoyMjc4LCJuYW1lIjoiVGVtcGxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMy40NTgxLCJsb25naXR1ZGUiOi05NC4wOTE3LCJkaXNwbGF5QWRkcmVzcyI6IjEwMiBSaWNobW9uZCBSYW5jaCBSZCwgVGV4YXJrYW5hLCBUWCwgNzU1MDMifSwic3RvcmVOdW1iZXIiOjE4MTEsIm5hbWUiOiJUZXhhcmthbmEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjkuOTk5NywibG9uZ2l0dWRlIjotOTUuNTgzOCwiZGlzcGxheUFkZHJlc3MiOiIyMTUxNSBUb21iYWxsIFBrd3ksIEhvdXN0b24sIFRYLCA3NzA3MCJ9LCJzdG9yZU51bWJlciI6MTEyNCwibmFtZSI6IlRvbWJhbGwgUGFya3dheSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzIuMjczNCwibG9uZ2l0dWRlIjotOTUuMzA4NiwiZGlzcGxheUFkZHJlc3MiOiI3MDAzIFMgQnJvYWR3YXkgQXZlLCBUeWxlciwgVFgsIDc1NzAzIn0sInN0b3JlTnVtYmVyIjo3NzUsIm5hbWUiOiJUeWxlciIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjguODY1NCwibG9uZ2l0dWRlIjotOTYuOTk5MiwiZGlzcGxheUFkZHJlc3MiOiI3NjA4IE5FIFphYyBMZW50eiBQa3d5LCBWaWN0b3JpYSwgVFgsIDc3OTA0In0sInN0b3JlTnVtYmVyIjo4ODgsIm5hbWUiOiJWaWN0b3JpYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjMzLjAxMDQsImxvbmdpdHVkZSI6LTk2Ljk2ODYsImRpc3BsYXlBZGRyZXNzIjoiNzI1IEhlYnJvbiBQa3d5LCBMZXdpc3ZpbGxlLCBUWCwgNzUwNTcifSwic3RvcmVOdW1iZXIiOjEzOTUsIm5hbWUiOiJWaXN0YSBSaWRnZSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzEuNTM0NiwibG9uZ2l0dWRlIjotOTcuMTkyNiwiZGlzcGxheUFkZHJlc3MiOiI1NDAxIEJvc3F1ZSBCbHZkLCBXYWNvLCBUWCwgNzY3MTAifSwic3RvcmVOdW1iZXIiOjE1MzEsIm5hbWUiOiJXYWNvIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzIuODg5OSwibG9uZ2l0dWRlIjotOTcuMjU3MiwiZGlzcGxheUFkZHJlc3MiOiI4MDAwIERlbnRvbiBId3ksIFdhdGF1Z2EsIFRYLCA3NjE0OCJ9LCJzdG9yZU51bWJlciI6MTc2NSwibmFtZSI6IldhdGF1Z2EgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjMyLjQyNDQsImxvbmdpdHVkZSI6LTk2LjgzNzcsImRpc3BsYXlBZGRyZXNzIjoiMTMxNiBOIEhpZ2h3YXkgNzcsIFdheGFoYWNoaWUsIFRYLCA3NTE2NSJ9LCJzdG9yZU51bWJlciI6MTk2MiwibmFtZSI6IldheGFoYWNoaWUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMi43Mjc5LCJsb25naXR1ZGUiOi05Ny43ODYxLCJkaXNwbGF5QWRkcmVzcyI6IjEyMiBFIEludGVyc3RhdGUgMjAsIFdlYXRoZXJmb3JkLCBUWCwgNzYwODcifSwic3RvcmVOdW1iZXIiOjE5ODEsIm5hbWUiOiJXZWF0aGVyZm9yZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MjkuNzM1NCwibG9uZ2l0dWRlIjotOTUuNTY4NCwiZGlzcGxheUFkZHJlc3MiOiIxMDgwMSBXZXN0aGVpbWVyIFJkLCBIb3VzdG9uLCBUWCwgNzcwNDIifSwic3RvcmVOdW1iZXIiOjc1LCJuYW1lIjoiV2VzdGNoYXNlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlRYIiwibGF0aXR1ZGUiOjI5LjczNjQsImxvbmdpdHVkZSI6LTk1LjUxODYsImRpc3BsYXlBZGRyZXNzIjoiODYwNSBXZXN0aGVpbWVyIFJkLCBIb3VzdG9uLCBUWCwgNzcwNjMifSwic3RvcmVOdW1iZXIiOjIxMzksIm5hbWUiOiJXZXN0aGVpbWVyIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMC4yMTczLCJsb25naXR1ZGUiOi05NS41NjU5LCJkaXNwbGF5QWRkcmVzcyI6IjMyODU4IEZNIDI5NzggUmQsIE1hZ25vbGlhLCBUWCwgNzczNTQifSwic3RvcmVOdW1iZXIiOjIzNTYsIm5hbWUiOiJXZXN0d29vZCBWaWxsYWdlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjozMy44NjQ2LCJsb25naXR1ZGUiOi05OC41MzQsImRpc3BsYXlBZGRyZXNzIjoiNDMxNyBLZW1wIEJsdmQsIFdpY2hpdGEgRmFsbHMsIFRYLCA3NjMwOCJ9LCJzdG9yZU51bWJlciI6ODAsIm5hbWUiOiJXaWNoaXRhIEZhbGxzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJUWCIsImxhdGl0dWRlIjoyOS45NjgxLCJsb25naXR1ZGUiOi05NS41MzE2LCJkaXNwbGF5QWRkcmVzcyI6IjY4MDEgRk0gMTk2MCBSZCBXLCBIb3VzdG9uLCBUWCwgNzcwNjkifSwic3RvcmVOdW1iZXIiOjIwNjYsIm5hbWUiOiJXaWxsb3dicm9vayIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzAuMTY5MywibG9uZ2l0dWRlIjotOTUuNDUzNCwiZGlzcGxheUFkZHJlc3MiOiIxMTAwIExha2UgV29vZGxhbmRzIERyLCBUaGUgV29vZGxhbmRzLCBUWCwgNzczODAifSwic3RvcmVOdW1iZXIiOjY4NCwibmFtZSI6Ildvb2RsYW5kcyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVFgiLCJsYXRpdHVkZSI6MzMuMDA5MSwibG9uZ2l0dWRlIjotOTYuNTkzNSwiZGlzcGxheUFkZHJlc3MiOiIzNDQwIFcgRk0gNTQ0LCBXeWxpZSwgVFgsIDc1MDk4In0sInN0b3JlTnVtYmVyIjoyNTUwLCJuYW1lIjoiV3lsaWUgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlVUIiwibGF0aXR1ZGUiOjQwLjM3ODIsImxvbmdpdHVkZSI6LTExMS44MTcsImRpc3BsYXlBZGRyZXNzIjoiNjA4IFcgTWFpbiBTdCwgQW1lcmljYW4gRm9yaywgVVQsIDg0MDAzIn0sInN0b3JlTnVtYmVyIjoxODE0LCJuYW1lIjoiQW1lcmljYW4gRm9yayIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlVUIiwibGF0aXR1ZGUiOjQwLjkxODIsImxvbmdpdHVkZSI6LTExMS44ODcsImRpc3BsYXlBZGRyZXNzIjoiMjAwIE4gTWFya2V0IFBsYWNlIERyLCBDZW50ZXJ2aWxsZSwgVVQsIDg0MDE0In0sInN0b3JlTnVtYmVyIjoxNzUwLCJuYW1lIjoiQ2VudGVydmlsbGUgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJVVCIsImxhdGl0dWRlIjo0MC42MjI5LCJsb25naXR1ZGUiOi0xMTEuODUsImRpc3BsYXlBZGRyZXNzIjoiNzAyNSBQYXJrIENlbnRyZSBEciwgU2FsdCBMYWtlIENpdHksIFVULCA4NDEyMSJ9LCJzdG9yZU51bWJlciI6MTc1MSwibmFtZSI6IkZvcnQgVW5pb24gU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJVVCIsImxhdGl0dWRlIjo0MS4wODc2LCJsb25naXR1ZGUiOi0xMTEuOTgxLCJkaXNwbGF5QWRkcmVzcyI6IjgxNSBXIDIwMDAgTiwgTGF5dG9uLCBVVCwgODQwNDEifSwic3RvcmVOdW1iZXIiOjE3NTUsIm5hbWUiOiJMYXl0b24gU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlVUIiwibGF0aXR1ZGUiOjQwLjI5NTksImxvbmdpdHVkZSI6LTExMS42OTksImRpc3BsYXlBZGRyZXNzIjoiMTc1IFcgQ2VudGVyIFN0LCBPcmVtLCBVVCwgODQwNTcifSwic3RvcmVOdW1iZXIiOjE3NTQsIm5hbWUiOiJPcmVtIFN0YXRlIFN0cmVldCBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlVUIiwibGF0aXR1ZGUiOjQxLjE3MzUsImxvbmdpdHVkZSI6LTExMi4wMDYsImRpc3BsYXlBZGRyZXNzIjoiMTEzNSBXIFJpdmVyZGFsZSBSZCwgUml2ZXJkYWxlLCBVVCwgODQ0MDUifSwic3RvcmVOdW1iZXIiOjE3NTMsIm5hbWUiOiJSaXZlcmRhbGUgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlVUIiwibGF0aXR1ZGUiOjQwLjc0MzksImxvbmdpdHVkZSI6LTExMS45MDIsImRpc3BsYXlBZGRyZXNzIjoiMTExMCBTIDMwMCBXLCBTYWx0IExha2UgQ2l0eSwgVVQsIDg0MTAxIn0sInN0b3JlTnVtYmVyIjoyNjQxLCJuYW1lIjoiU2FsdCBMYWtlIENpdHkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJVVCIsImxhdGl0dWRlIjo0MC41NjY3LCJsb25naXR1ZGUiOi0xMTEuODkyLCJkaXNwbGF5QWRkcmVzcyI6IjEwMTMwIFMgU3RhdGUgU3QsIFNhbmR5LCBVVCwgODQwNzAifSwic3RvcmVOdW1iZXIiOjE3NTIsIm5hbWUiOiJTYW5keSBTb3V0aCBUb3duZSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlVUIiwibGF0aXR1ZGUiOjQwLjU0MTgsImxvbmdpdHVkZSI6LTExMS45ODMsImRpc3BsYXlBZGRyZXNzIjoiMTE1MjUgUGFya3dheSBQbGF6YSBEciwgU291dGggSm9yZGFuLCBVVCwgODQwOTUifSwic3RvcmVOdW1iZXIiOjIxMjMsIm5hbWUiOiJTb3V0aCBKb3JkYW4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVVQiLCJsYXRpdHVkZSI6MzcuMTAxMywibG9uZ2l0dWRlIjotMTEzLjU1NSwiZGlzcGxheUFkZHJlc3MiOiIyNzUgUyBSaXZlciBSZCwgU2FpbnQgR2VvcmdlLCBVVCwgODQ3OTAifSwic3RvcmVOdW1iZXIiOjEzNTcsIm5hbWUiOiJTdCBHZW9yZ2UiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVVQiLCJsYXRpdHVkZSI6NDAuNjI5MSwibG9uZ2l0dWRlIjotMTExLjk0LCJkaXNwbGF5QWRkcmVzcyI6IjY3NDggUmVkd29vZCBSZCwgV2VzdCBKb3JkYW4sIFVULCA4NDA4NCJ9LCJzdG9yZU51bWJlciI6NzY4LCJuYW1lIjoiV2VzdCBKb3JkYW4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUG9ydHJhaXQgU3R1ZGlvIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJVVCIsImxhdGl0dWRlIjo0MC42MTE0LCJsb25naXR1ZGUiOi0xMTEuOTg0LCJkaXNwbGF5QWRkcmVzcyI6Ijc3NzkgSm9yZGFuIExhbmRpbmcgQmx2ZCwgV2VzdCBKb3JkYW4sIFVULCA4NDA4NCJ9LCJzdG9yZU51bWJlciI6MjE1MCwibmFtZSI6Ildlc3QgSm9yZGFuIFNXIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlVUIiwibGF0aXR1ZGUiOjQwLjcxNDMsImxvbmdpdHVkZSI6LTExMi4wMjMsImRpc3BsYXlBZGRyZXNzIjoiNTUxOCBXIEhpZ2ggTWFya2V0IERyLCBXZXN0IFZhbGxleSBDaXR5LCBVVCwgODQxMjgifSwic3RvcmVOdW1iZXIiOjI2MDksIm5hbWUiOiJXZXN0IFZhbGxleSBDaXR5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM4Ljc3NTMsImxvbmdpdHVkZSI6LTc3LjA4MzIsImRpc3BsYXlBZGRyZXNzIjoiNjYwMCBSaWNobW9uZCBId3ksIEFsZXhhbmRyaWEsIFZBLCAyMjMwNiJ9LCJzdG9yZU51bWJlciI6MTUzMywibmFtZSI6IkFsZXhhbmRyaWEgSHlibGEgVmFsbGV5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozOC44MzM3LCJsb25naXR1ZGUiOi03Ny4wNDkzLCJkaXNwbGF5QWRkcmVzcyI6IjMxMDEgSmVmZmVyc29uIERhdmlzIEh3eSwgQWxleGFuZHJpYSwgVkEsIDIyMzA1In0sInN0b3JlTnVtYmVyIjoxMDc2LCJuYW1lIjoiQWxleGFuZHJpYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozNi42MzcsImxvbmdpdHVkZSI6LTgyLjEwOTUsImRpc3BsYXlBZGRyZXNzIjoiMTY2MDAgSGlnaGxhbmRzIENlbnRlciBCbHZkLCBCcmlzdG9sLCBWQSwgMjQyMDIifSwic3RvcmVOdW1iZXIiOjIzMDgsIm5hbWUiOiJCcmlzdG9sIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozOC44OTY0LCJsb25naXR1ZGUiOi03Ny40NDM2LCJkaXNwbGF5QWRkcmVzcyI6IjE0MzkxIENoYW50aWxseSBDcm9zc2luZyBMbiwgQ2hhbnRpbGx5LCBWQSwgMjAxNTEifSwic3RvcmVOdW1iZXIiOjE4MjcsIm5hbWUiOiJDaGFudGlsbHkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM4LjEyOTYsImxvbmdpdHVkZSI6LTc4LjQ0MDUsImRpc3BsYXlBZGRyZXNzIjoiMzEyIENvbm5vciBEciwgQ2hhcmxvdHRlc3ZpbGxlLCBWQSwgMjI5MTEifSwic3RvcmVOdW1iZXIiOjE4NTgsIm5hbWUiOiJDaGFybG90dGVzdmlsbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVkEiLCJsYXRpdHVkZSI6MzYuNzcxNiwibG9uZ2l0dWRlIjotNzYuMjMxNCwiZGlzcGxheUFkZHJlc3MiOiIxMzE2IEdyZWVuYnJpZXIgUGt3eSwgQ2hlc2FwZWFrZSwgVkEsIDIzMzIwIn0sInN0b3JlTnVtYmVyIjoxMDIxLCJuYW1lIjoiQ2hlc2FwZWFrZSBFYXN0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM2LjY2MTMsImxvbmdpdHVkZSI6LTc2LjIzNDIsImRpc3BsYXlBZGRyZXNzIjoiMjMzIENhcm1pY2hhZWwgV2F5LCBDaGVzYXBlYWtlLCBWQSwgMjMzMjIifSwic3RvcmVOdW1iZXIiOjIyMDMsIm5hbWUiOiJDaGVzYXBlYWtlIFNvdXRoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM2LjgyNjksImxvbmdpdHVkZSI6LTc2LjQxNDIsImRpc3BsYXlBZGRyZXNzIjoiNDIwMCBQb3J0c21vdXRoIEJsdmQsIENoZXNhcGVha2UsIFZBLCAyMzMyMSJ9LCJzdG9yZU51bWJlciI6MTQyMCwibmFtZSI6IkNoZXNhcGVha2UgU3EgTWFsbCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM3LjM1MTgsImxvbmdpdHVkZSI6LTc3LjQxMDYsImRpc3BsYXlBZGRyZXNzIjoiMjUzMCBXZWlyIFJkLCBDaGVzdGVyLCBWQSwgMjM4MzEifSwic3RvcmVOdW1iZXIiOjEwMTcsIm5hbWUiOiJDaGVzdGVyIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM3LjE1NzgsImxvbmdpdHVkZSI6LTgwLjQyMiwiZGlzcGxheUFkZHJlc3MiOiIxOTUgQ29uc3RvbiBBdmUsIENocmlzdGlhbnNidXJnLCBWQSwgMjQwNzMifSwic3RvcmVOdW1iZXIiOjEyOTIsIm5hbWUiOiJDaHJpc3RpYW5zYnVyZyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozNy4yNDgxLCJsb25naXR1ZGUiOi03Ny4zODc3LCJkaXNwbGF5QWRkcmVzcyI6IjcyMSBTb3V0aHBhcmsgQmx2ZCwgQ29sb25pYWwgSGVpZ2h0cywgVkEsIDIzODM0In0sInN0b3JlTnVtYmVyIjoxMDE2LCJuYW1lIjoiQ29sb25pYWwgSGVpZ2h0cyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM4LjQ4MSwibG9uZ2l0dWRlIjotNzcuOTYzNywiZGlzcGxheUFkZHJlc3MiOiIxNTM0MSBNb250YW51cyBEciwgQ3VscGVwZXIsIFZBLCAyMjcwMSJ9LCJzdG9yZU51bWJlciI6MjI1MCwibmFtZSI6IkN1bHBlcGVyIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozNi41OTkyLCJsb25naXR1ZGUiOi03OS40MTg1LCJkaXNwbGF5QWRkcmVzcyI6IjE1NSBIb2x0IEdhcnJpc29uIFBrd3ksIERhbnZpbGxlLCBWQSwgMjQ1NDAifSwic3RvcmVOdW1iZXIiOjI0MDcsIm5hbWUiOiJEYW52aWxsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVkEiLCJsYXRpdHVkZSI6MzguNTk2NywibG9uZ2l0dWRlIjotNzcuMzMyOCwiZGlzcGxheUFkZHJlc3MiOiI0MzEwIEZvcnR1bmEgQ2VudGVyIFBseiwgRHVtZnJpZXMsIFZBLCAyMjAyNSJ9LCJzdG9yZU51bWJlciI6MjAxNywibmFtZSI6IkR1bWZyaWVzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM4Ljg1NTcsImxvbmdpdHVkZSI6LTc3LjM5MzUsImRpc3BsYXlBZGRyZXNzIjoiMTMwNDcgRmFpciBMYWtlcyBTaG9wcGluZyBDdHIsIEZhaXJmYXgsIFZBLCAyMjAzMyJ9LCJzdG9yZU51bWJlciI6MTM0MSwibmFtZSI6IkZhaXIgTGFrZXMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM4Ljc5ODgsImxvbmdpdHVkZSI6LTc3LjMwMTIsImRpc3BsYXlBZGRyZXNzIjoiMTAzMDEgTmV3IEd1aW5lYSBSZCwgRmFpcmZheCwgVkEsIDIyMDMyIn0sInN0b3JlTnVtYmVyIjoxMDA1LCJuYW1lIjoiRmFpcmZheCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJDbGluaWMiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozOC44NjkzLCJsb25naXR1ZGUiOi03Ny4xNDM4LCJkaXNwbGF5QWRkcmVzcyI6IjYxMDAgQXJsaW5ndG9uIEJsdmQsIEZhbGxzIENodXJjaCwgVkEsIDIyMDQ0In0sInN0b3JlTnVtYmVyIjoxNDMxLCJuYW1lIjoiRmFsbHMgQ2h1cmNoIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJDbGluaWMiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozNy41MzQzLCJsb25naXR1ZGUiOi03Ny41Mjc0LCJkaXNwbGF5QWRkcmVzcyI6IjcxMDcgRm9yZXN0IEhpbGwgQXZlLCBSaWNobW9uZCwgVkEsIDIzMjI1In0sInN0b3JlTnVtYmVyIjoxOTMxLCJuYW1lIjoiRm9yZXN0IEhpbGwiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM4LjI5ODcsImxvbmdpdHVkZSI6LTc3LjUxMDYsImRpc3BsYXlBZGRyZXNzIjoiMTE4MCBDYXJsIEQgU2lsdmVyIFBrd3ksIEZyZWRlcmlja3NidXJnLCBWQSwgMjI0MDEifSwic3RvcmVOdW1iZXIiOjc3MiwibmFtZSI6IkZyZWRlcmlja3NidXJnIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM4LjIyNDcsImxvbmdpdHVkZSI6LTc3LjUwMTUsImRpc3BsYXlBZGRyZXNzIjoiOTc4NSBKZWZmZXJzb24gRGF2aXMgSHd5LCBGcmVkZXJpY2tzYnVyZywgVkEsIDIyNDA3In0sInN0b3JlTnVtYmVyIjoyMTM4LCJuYW1lIjoiRnJlZGVyaWNrc2J1cmcgUyBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVkEiLCJsYXRpdHVkZSI6MzguOTY1OSwibG9uZ2l0dWRlIjotNzguMTk0LCJkaXNwbGF5QWRkcmVzcyI6IjEwIENyb29rZWQgUnVuIFBsYXphLCBGcm9udCBSb3lhbCwgVkEsIDIyNjMwIn0sInN0b3JlTnVtYmVyIjoyMjk3LCJuYW1lIjoiRnJvbnQgUm95YWwiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozOC43OTQ2LCJsb25naXR1ZGUiOi03Ny42MDcxLCJkaXNwbGF5QWRkcmVzcyI6IjEzMzAxIEdhdGV3YXkgQ2VudGVyIERyLCBHYWluZXN2aWxsZSwgVkEsIDIwMTU1In0sInN0b3JlTnVtYmVyIjoxODczLCJuYW1lIjoiR2FpbmVzdmlsbGUgU3VwZXJUYXJnZXQiLCJzdXBlcnRhcmdldCI6dHJ1ZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiQ2xpbmljIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM3LjA0MjksImxvbmdpdHVkZSI6LTc2LjM5MTIsImRpc3BsYXlBZGRyZXNzIjoiNTAwMSBIb2x0IEF2ZSwgSGFtcHRvbiwgVkEsIDIzNjY2In0sInN0b3JlTnVtYmVyIjoyNTAxLCJuYW1lIjoiSGFtcHRvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozOC40Mjg5LCJsb25naXR1ZGUiOi03OC44NDQzLCJkaXNwbGF5QWRkcmVzcyI6IjE5OTUgRSBNYXJrZXQgU3QsIEhhcnJpc29uYnVyZywgVkEsIDIyODAxIn0sInN0b3JlTnVtYmVyIjoyMDcxLCJuYW1lIjoiSGFycmlzb25idXJnIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVkEiLCJsYXRpdHVkZSI6MzkuMTE1NSwibG9uZ2l0dWRlIjotNzcuNTMzMiwiZGlzcGxheUFkZHJlc3MiOiIxMjAwIEVkd2FyZHMgRmVycnkgUmQsIExlZXNidXJnLCBWQSwgMjAxNzYifSwic3RvcmVOdW1iZXIiOjE4NzQsIm5hbWUiOiJMZWVzYnVyZyBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJDbGluaWMiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVkEiLCJsYXRpdHVkZSI6MzcuMzQ1OSwibG9uZ2l0dWRlIjotNzkuMTkwMSwiZGlzcGxheUFkZHJlc3MiOiI0MDI4IFdhcmRzIFJkLCBMeW5jaGJ1cmcsIFZBLCAyNDUwMiJ9LCJzdG9yZU51bWJlciI6MTI3NSwibmFtZSI6Ikx5bmNoYnVyZyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozOC43NzQzLCJsb25naXR1ZGUiOi03Ny41MDY1LCJkaXNwbGF5QWRkcmVzcyI6IjgzNDAgU3VkbGV5IFJkLCBNYW5hc3NhcywgVkEsIDIwMTA5In0sInN0b3JlTnVtYmVyIjoxMDg5LCJuYW1lIjoiTWFuYXNzYXMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozOC43Mzk4LCJsb25naXR1ZGUiOi03Ny41MzQ4LCJkaXNwbGF5QWRkcmVzcyI6Ijk5MDAgU293ZGVyIFZpbGxhZ2UgU3EsIE1hbmFzc2FzLCBWQSwgMjAxMDkifSwic3RvcmVOdW1iZXIiOjIzMjMsIm5hbWUiOiJNYW5hc3NhcyBXZXN0IFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM3LjYwMDMsImxvbmdpdHVkZSI6LTc3LjM1MDksImRpc3BsYXlBZGRyZXNzIjoiNzIzNSBCZWxsIENyZWVrIFJkLCBNZWNoYW5pY3N2aWxsZSwgVkEsIDIzMTExIn0sInN0b3JlTnVtYmVyIjoxOTY4LCJuYW1lIjoiTWVjaGFuaWNzdmlsbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozOC44NzE4LCJsb25naXR1ZGUiOi03Ny4yMzA2LCJkaXNwbGF5QWRkcmVzcyI6IjI5MDUgRGlzdHJpY3QgQXZlIFMgU3RlIDQwMCwgRmFpcmZheCwgVkEsIDIyMDMxIn0sInN0b3JlTnVtYmVyIjoyNzkwLCJuYW1lIjoiTWVycmlmaWVsZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIl0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozNy4xMDc1LCJsb25naXR1ZGUiOi03Ni40OTIsImRpc3BsYXlBZGRyZXNzIjoiMTIxMzAgSmVmZmVyc29uIEF2ZSwgTmV3cG9ydCBOZXdzLCBWQSwgMjM2MDIifSwic3RvcmVOdW1iZXIiOjExMDMsIm5hbWUiOiJOZXdwb3J0IE5ld3MiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM2Ljg2NTMsImxvbmdpdHVkZSI6LTc2LjIxMjMsImRpc3BsYXlBZGRyZXNzIjoiMTI0NSBOIE1pbGl0YXJ5IEh3eSwgTm9yZm9saywgVkEsIDIzNTAyIn0sInN0b3JlTnVtYmVyIjoxMDQ4LCJuYW1lIjoiTm9yZm9sayIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozOC42NTUxLCJsb25naXR1ZGUiOi03Ny4yODc4LCJkaXNwbGF5QWRkcmVzcyI6IjI0NjAgUHJpbmNlIFdpbGxpYW0gUGt3eSwgV29vZGJyaWRnZSwgVkEsIDIyMTkyIn0sInN0b3JlTnVtYmVyIjo3NTksIm5hbWUiOiJQb3RvbWFjIE1pbGxzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozOC45NTQ5LCJsb25naXR1ZGUiOi03Ny4zNzA3LCJkaXNwbGF5QWRkcmVzcyI6IjEyMTk3IFN1bnNldCBIaWxscyBSZCwgUmVzdG9uLCBWQSwgMjAxOTAifSwic3RvcmVOdW1iZXIiOjEwODgsIm5hbWUiOiJSZXN0b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM3LjQyMTksImxvbmdpdHVkZSI6LTc3LjYzMywiZGlzcGxheUFkZHJlc3MiOiI0NjAxIENvbW1vbndlYWx0aCBDZW50ZXIgUGt3eSwgTWlkbG90aGlhbiwgVkEsIDIzMTEyIn0sInN0b3JlTnVtYmVyIjoxMjI1LCJuYW1lIjoiUmljaG1vbmQgQnJhbmRlcm1pbGwiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozNy41ODY3LCJsb25naXR1ZGUiOi03Ny41MDE0LCJkaXNwbGF5QWRkcmVzcyI6IjU0MDEgVyBCcm9hZCBTdCwgUmljaG1vbmQsIFZBLCAyMzIzMCJ9LCJzdG9yZU51bWJlciI6MTAxOCwibmFtZSI6IlJpY2htb25kIENlbnRyYWwiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM3LjUzMTEsImxvbmdpdHVkZSI6LTc3LjM1NTcsImRpc3BsYXlBZGRyZXNzIjoiNDUyMSBTIExhYnVybnVtIEF2ZSwgUmljaG1vbmQsIFZBLCAyMzIzMSJ9LCJzdG9yZU51bWJlciI6MjQzNiwibmFtZSI6IlJpY2htb25kIEVhc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozNy41MTE3LCJsb25naXR1ZGUiOi03Ny42OTEsImRpc3BsYXlBZGRyZXNzIjoiMjAxIFBlcmltZXRlciBEciwgTWlkbG90aGlhbiwgVkEsIDIzMTEzIn0sInN0b3JlTnVtYmVyIjoyNDc4LCJuYW1lIjoiUmljaG1vbmQgRmFyIFdlc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM3LjY1LCJsb25naXR1ZGUiOi03Ny41OTk4LCJkaXNwbGF5QWRkcmVzcyI6IjExMjkwIFcgQnJvYWQgU3QsIEdsZW4gQWxsZW4sIFZBLCAyMzA2MCJ9LCJzdG9yZU51bWJlciI6MTA0OSwibmFtZSI6IlJpY2htb25kIE5XIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozNy42MzkyLCJsb25naXR1ZGUiOi03Ny41MTE5LCJkaXNwbGF5QWRkcmVzcyI6IjkwMDEgU3RhcGxlcyBNaWxsIFJkLCBSaWNobW9uZCwgVkEsIDIzMjI4In0sInN0b3JlTnVtYmVyIjoyMzM3LCJuYW1lIjoiUmljaG1vbmQgTmVhciBOVyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM3LjUwMzgsImxvbmdpdHVkZSI6LTc3LjYwNSwiZGlzcGxheUFkZHJlc3MiOiIxMTMwMSBNaWRsb3RoaWFuIFRwa2UsIFJpY2htb25kLCBWQSwgMjMyMzUifSwic3RvcmVOdW1iZXIiOjEwNDEsIm5hbWUiOiJSaWNobW9uZCBXZXN0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM3LjI5OTQsImxvbmdpdHVkZSI6LTc5Ljk1OTIsImRpc3BsYXlBZGRyZXNzIjoiNDczNyBWYWxsZXkgVmlldyBCbHZkIE5XLCBSb2Fub2tlLCBWQSwgMjQwMTIifSwic3RvcmVOdW1iZXIiOjExNjIsIm5hbWUiOiJSb2Fub2tlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM4Ljg0NDUsImxvbmdpdHVkZSI6LTc3LjExNjMsImRpc3BsYXlBZGRyZXNzIjoiNTExNSBMZWVzYnVyZyBQaWtlLCBGYWxscyBDaHVyY2gsIFZBLCAyMjA0MSJ9LCJzdG9yZU51bWJlciI6MTg5MywibmFtZSI6IlNreWxpbmUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVkEiLCJsYXRpdHVkZSI6MzguNzc0OCwibG9uZ2l0dWRlIjotNzcuMTc1NiwiZGlzcGxheUFkZHJlc3MiOiI2NjAwIFNwcmluZ2ZpZWxkIE1hbGwsIFNwcmluZ2ZpZWxkLCBWQSwgMjIxNTAifSwic3RvcmVOdW1iZXIiOjE0MTYsIm5hbWUiOiJTcHJpbmdmaWVsZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozOC40NjkyLCJsb25naXR1ZGUiOi03Ny40MDg2LCJkaXNwbGF5QWRkcmVzcyI6IjEwOTAgU3RhZmZvcmQgTWFya2V0IFBsLCBTdGFmZm9yZCwgVkEsIDIyNTU2In0sInN0b3JlTnVtYmVyIjoxODU3LCJuYW1lIjoiU3RhZmZvcmQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVkEiLCJsYXRpdHVkZSI6MzguMzQ0OCwibG9uZ2l0dWRlIjotNzcuNDkzOCwiZGlzcGxheUFkZHJlc3MiOiIyNSBTIEdhdGV3YXkgRHIsIEZyZWRlcmlja3NidXJnLCBWQSwgMjI0MDYifSwic3RvcmVOdW1iZXIiOjIxNzUsIm5hbWUiOiJTdGFmZm9yZCBTb3V0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVkEiLCJsYXRpdHVkZSI6MzkuMDI2MiwibG9uZ2l0dWRlIjotNzcuNDAwMywiZGlzcGxheUFkZHJlc3MiOiI0NjIwMSBQb3RvbWFjIFJ1biBQbHosIFN0ZXJsaW5nLCBWQSwgMjAxNjQifSwic3RvcmVOdW1iZXIiOjEwMDksIm5hbWUiOiJTdGVybGluZyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozOS4wMDg0LCJsb25naXR1ZGUiOi03Ny40Mzg4LCJkaXNwbGF5QWRkcmVzcyI6IjQ1MTMwIENvbHVtYmlhIFBMLCBTdGVybGluZywgVkEsIDIwMTY2In0sInN0b3JlTnVtYmVyIjoyMjcyLCJuYW1lIjoiU3RlcmxpbmcgV2VzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozNi44NDY2LCJsb25naXR1ZGUiOi03Ni4wMjIzLCJkaXNwbGF5QWRkcmVzcyI6IjUyNSBGaXJzdCBDb2xvbmlhbCBSZCwgVmlyZ2luaWEgQmVhY2gsIFZBLCAyMzQ1MSJ9LCJzdG9yZU51bWJlciI6MTA0NywibmFtZSI6IlZpcmdpbmlhIEJlYWNoIEVhc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM2Ljg0NjcsImxvbmdpdHVkZSI6LTc2LjEzMzcsImRpc3BsYXlBZGRyZXNzIjoiNDU1NCBWaXJnaW5pYSBCZWFjaCBCbHZkLCBWaXJnaW5pYSBCZWFjaCwgVkEsIDIzNDYyIn0sInN0b3JlTnVtYmVyIjoyNzcwLCJuYW1lIjoiVmlyZ2luaWEgQmVhY2ggUGVtYiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIl0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozNi43NTU2LCJsb25naXR1ZGUiOi03Ni4wMDg3LCJkaXNwbGF5QWRkcmVzcyI6IjIyMzMgVXB0b24gRHIsIFZpcmdpbmlhIEJlYWNoLCBWQSwgMjM0NTQifSwic3RvcmVOdW1iZXIiOjIzOTYsIm5hbWUiOiJWaXJnaW5pYSBCZWFjaCBTRSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM2Ljc4NzgsImxvbmdpdHVkZSI6LTc2LjEwODksImRpc3BsYXlBZGRyZXNzIjoiMjA2MCBTIEluZGVwZW5kZW5jZSBCbHZkLCBWaXJnaW5pYSBCZWFjaCwgVkEsIDIzNDUzIn0sInN0b3JlTnVtYmVyIjoxMTA1LCJuYW1lIjoiVmlyZ2luaWEgQmVhY2ggU291dGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVkEiLCJsYXRpdHVkZSI6MzcuNjcyNywibG9uZ2l0dWRlIjotNzcuNDYyOCwiZGlzcGxheUFkZHJlc3MiOiIxMDEwMCBCcm9vayBSZCwgR2xlbiBBbGxlbiwgVkEsIDIzMDU5In0sInN0b3JlTnVtYmVyIjoxMDE5LCJuYW1lIjoiVmlyZ2luaWEgQ2VudGVyIENvbW1vbnMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozOC4wNTcyLCJsb25naXR1ZGUiOi03OC45NDI2LCJkaXNwbGF5QWRkcmVzcyI6IjgxMSBUb3duIENlbnRlciBEciwgV2F5bmVzYm9ybywgVkEsIDIyOTgwIn0sInN0b3JlTnVtYmVyIjoyMjk0LCJuYW1lIjoiV2F5bmVzYm9ybyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM3LjI1ODYsImxvbmdpdHVkZSI6LTc2LjY0MTgsImRpc3BsYXlBZGRyZXNzIjoiMjAwIE1hcnF1aXMgUGt3eSwgV2lsbGlhbXNidXJnLCBWQSwgMjMxODUifSwic3RvcmVOdW1iZXIiOjIyOTYsIm5hbWUiOiJXaWxsaWFtc2J1cmcgRWFzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiVkEiLCJsYXRpdHVkZSI6MzcuMjcxMSwibG9uZ2l0dWRlIjotNzYuNzYwNywiZGlzcGxheUFkZHJlc3MiOiI0NjMwIE1vbnRpY2VsbG8gQXZlLCBXaWxsaWFtc2J1cmcsIFZBLCAyMzE4OCJ9LCJzdG9yZU51bWJlciI6MTE2MSwibmFtZSI6IldpbGxpYW1zYnVyZyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJWQSIsImxhdGl0dWRlIjozOS4yMjEyLCJsb25naXR1ZGUiOi03OC4xMzU5LCJkaXNwbGF5QWRkcmVzcyI6IjE5MSBNYXJrZXQgU3QsIFdpbmNoZXN0ZXIsIFZBLCAyMjYwMyJ9LCJzdG9yZU51bWJlciI6MjM3OSwibmFtZSI6IldpbmNoZXN0ZXIgTm9ydGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IlZBIiwibGF0aXR1ZGUiOjM5LjE1MzEsImxvbmdpdHVkZSI6LTc4LjE2ODUsImRpc3BsYXlBZGRyZXNzIjoiMjM0MCBMZWdnZSBCbHZkLCBXaW5jaGVzdGVyLCBWQSwgMjI2MDEifSwic3RvcmVOdW1iZXIiOjEyMzQsIm5hbWUiOiJXaW5jaGVzdGVyIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldBIiwibGF0aXR1ZGUiOjQ4Ljc4NDgsImxvbmdpdHVkZSI6LTEyMi40ODksImRpc3BsYXlBZGRyZXNzIjoiMzAgQmVsbGlzIEZhaXIgUGt3eSwgQmVsbGluZ2hhbSwgV0EsIDk4MjI2In0sInN0b3JlTnVtYmVyIjozNDgsIm5hbWUiOiJCZWxsaW5naGFtIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXQSIsImxhdGl0dWRlIjo0Ny4xNzEyLCJsb25naXR1ZGUiOi0xMjIuMTcyLCJkaXNwbGF5QWRkcmVzcyI6Ijk0MDAgMTkybmQgQXZlIEUsIEJvbm5leSBMYWtlLCBXQSwgOTgzOTEifSwic3RvcmVOdW1iZXIiOjE5NTcsIm5hbWUiOiJCb25uZXkgTGFrZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldBIiwibGF0aXR1ZGUiOjQ4LjQ2MDYsImxvbmdpdHVkZSI6LTEyMi4zMzcsImRpc3BsYXlBZGRyZXNzIjoiMTk5IENhc2NhZGUgTWFsbCBEciwgQnVybGluZ3RvbiwgV0EsIDk4MjMzIn0sInN0b3JlTnVtYmVyIjo2OTYsIm5hbWUiOiJCdXJsaW5ndG9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiV2luZSBBdmFpbGFibGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiV0EiLCJsYXRpdHVkZSI6NDcuOTA5OSwibG9uZ2l0dWRlIjotMTIyLjIyNywiZGlzcGxheUFkZHJlc3MiOiI0MDUgU0UgRXZlcmV0dCBNYWxsIFdheSwgRXZlcmV0dCwgV0EsIDk4MjA4In0sInN0b3JlTnVtYmVyIjozMzcsIm5hbWUiOiJFdmVyZXR0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldBIiwibGF0aXR1ZGUiOjQ3LjU3NDcsImxvbmdpdHVkZSI6LTEyMi4xNzIsImRpc3BsYXlBZGRyZXNzIjoiNDA1MyBGYWN0b3JpYSBTcXVhcmUgTWFsbCBTRSwgQmVsbGV2dWUsIFdBLCA5ODAwNiJ9LCJzdG9yZU51bWJlciI6MzM5LCJuYW1lIjoiRmFjdG9yaWEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldBIiwibGF0aXR1ZGUiOjQ3LjMxMzYsImxvbmdpdHVkZSI6LTEyMi4zMDksImRpc3BsYXlBZGRyZXNzIjoiMjIwMSBTIENvbW1vbnMsIEZlZGVyYWwgV2F5LCBXQSwgOTgwMDMifSwic3RvcmVOdW1iZXIiOjE5NDcsIm5hbWUiOiJGZWRlcmFsIFdheSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXQSIsImxhdGl0dWRlIjo0Ny4zNjA3LCJsb25naXR1ZGUiOi0xMjIuNjA4LCJkaXNwbGF5QWRkcmVzcyI6IjExNDAwIDUxc3QgQXZlIE5XLCBHaWcgSGFyYm9yLCBXQSwgOTgzMzIifSwic3RvcmVOdW1iZXIiOjEyMDUsIm5hbWUiOiJHaWcgSGFyYm9yIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXQSIsImxhdGl0dWRlIjo0Ny41NDE4LCJsb25naXR1ZGUiOi0xMjIuMDUsImRpc3BsYXlBZGRyZXNzIjoiNzU1IE5XIEdpbG1hbiBCbHZkLCBJc3NhcXVhaCwgV0EsIDk4MDI3In0sInN0b3JlTnVtYmVyIjo5OTYsIm5hbWUiOiJJc3NhcXVhaCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXQSIsImxhdGl0dWRlIjo0Ni4yMjE2LCJsb25naXR1ZGUiOi0xMTkuMjIyLCJkaXNwbGF5QWRkcmVzcyI6IjExMDYgTiBDb2x1bWJpYSBDZW50ZXIgQmx2ZCwgS2VubmV3aWNrLCBXQSwgOTkzMzYifSwic3RvcmVOdW1iZXIiOjgzMCwibmFtZSI6Iktlbm5ld2ljayIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldBIiwibGF0aXR1ZGUiOjQ3LjM2NjUsImxvbmdpdHVkZSI6LTEyMi4yMDMsImRpc3BsYXlBZGRyZXNzIjoiMjYzMDEgMTA0dGggQXZlIFNFLCBLZW50LCBXQSwgOTgwMzAifSwic3RvcmVOdW1iZXIiOjY4MSwibmFtZSI6IktlbnQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldBIiwibGF0aXR1ZGUiOjQ3LjA0MzQsImxvbmdpdHVkZSI6LTEyMi44MzYsImRpc3BsYXlBZGRyZXNzIjoiNjY1IFNsZWF0ZXIgS2lubmV5IFJkIFNFLCBMYWNleSwgV0EsIDk4NTAzIn0sInN0b3JlTnVtYmVyIjoxMzU1LCJuYW1lIjoiTGFjZXkiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiV0EiLCJsYXRpdHVkZSI6NDcuOTk4MywibG9uZ2l0dWRlIjotMTIyLjEwMSwiZGlzcGxheUFkZHJlc3MiOiI5NjAxIE1hcmtldCBQbCwgTGFrZSBTdGV2ZW5zLCBXQSwgOTgyNTgifSwic3RvcmVOdW1iZXIiOjEzMzEsIm5hbWUiOiJMYWtlIFN0ZXZlbnMiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiUG9ydHJhaXQgU3R1ZGlvIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldBIiwibGF0aXR1ZGUiOjQ3LjE2MzksImxvbmdpdHVkZSI6LTEyMi41MTEsImRpc3BsYXlBZGRyZXNzIjoiNTYxOCBMYWtld29vZCBUb3duIENlbnRlciBCbHZkIFNXLCBMYWtld29vZCwgV0EsIDk4NDk5In0sInN0b3JlTnVtYmVyIjozNDksIm5hbWUiOiJMYWtld29vZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXQSIsImxhdGl0dWRlIjo0Ni4xNDI3LCJsb25naXR1ZGUiOi0xMjIuOSwiZGlzcGxheUFkZHJlc3MiOiIyMDUgVGhyZWUgUml2ZXJzIERyLCBLZWxzbywgV0EsIDk4NjI2In0sInN0b3JlTnVtYmVyIjo2MjgsIm5hbWUiOiJMb25ndmlldyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiV0EiLCJsYXRpdHVkZSI6NDcuODMyOCwibG9uZ2l0dWRlIjotMTIyLjI2NywiZGlzcGxheUFkZHJlc3MiOiIxODMwNSBBbGRlcndvb2QgTWFsbCBQa3d5LCBMeW5ud29vZCwgV0EsIDk4MDM3In0sInN0b3JlTnVtYmVyIjozMzgsIm5hbWUiOiJMeW5ud29vZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXQSIsImxhdGl0dWRlIjo0OC4xNTE0LCJsb25naXR1ZGUiOi0xMjIuMTkxLCJkaXNwbGF5QWRkcmVzcyI6IjE2ODE4IFR3aW4gTGFrZXMgQXZlLCBNYXJ5c3ZpbGxlLCBXQSwgOTgyNzEifSwic3RvcmVOdW1iZXIiOjIxOTIsIm5hbWUiOiJNYXJ5c3ZpbGxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldBIiwibGF0aXR1ZGUiOjQ3Ljc0NzcsImxvbmdpdHVkZSI6LTExNy40LCJkaXNwbGF5QWRkcmVzcyI6Ijk3NzAgTiBOZXdwb3J0IEh3eSwgU3Bva2FuZSwgV0EsIDk5MjE4In0sInN0b3JlTnVtYmVyIjo2MzYsIm5hbWUiOiJOb3J0aCBTcG9rYW5lIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldBIiwibGF0aXR1ZGUiOjQ3LjIzNzQsImxvbmdpdHVkZSI6LTEyMi40OCwiZGlzcGxheUFkZHJlc3MiOiIzMzIwIFMgMjNyZCBTdCwgVGFjb21hLCBXQSwgOTg0MDUifSwic3RvcmVOdW1iZXIiOjM0MSwibmFtZSI6Ik5vcnRoIFRhY29tYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiV0EiLCJsYXRpdHVkZSI6NDcuNzA5OCwibG9uZ2l0dWRlIjotMTIyLjMyNCwiZGlzcGxheUFkZHJlc3MiOiIzMDIgTkUgTm9ydGhnYXRlIFdheSwgU2VhdHRsZSwgV0EsIDk4MTI1In0sInN0b3JlTnVtYmVyIjoxMjg0LCJuYW1lIjoiTm9ydGhnYXRlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXQSIsImxhdGl0dWRlIjo0Ny4wNDQ2LCJsb25naXR1ZGUiOi0xMjIuOTM3LCJkaXNwbGF5QWRkcmVzcyI6IjI5MjUgSGFycmlzb24gQXZlIE5XLCBPbHltcGlhLCBXQSwgOTg1MDIifSwic3RvcmVOdW1iZXIiOjYwNywibmFtZSI6Ik9seW1waWEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldBIiwibGF0aXR1ZGUiOjQ3LjE1ODgsImxvbmdpdHVkZSI6LTEyMi4yOTUsImRpc3BsYXlBZGRyZXNzIjoiMzMxMCBTIE1lcmlkaWFuLCBQdXlhbGx1cCwgV0EsIDk4MzczIn0sInN0b3JlTnVtYmVyIjozNDIsIm5hbWUiOiJQdXlhbGx1cCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXQSIsImxhdGl0dWRlIjo0Ny4xMTMzLCJsb25naXR1ZGUiOi0xMjIuMjkyLCJkaXNwbGF5QWRkcmVzcyI6IjEwMzAyIDE1NlRoIFN0IEUsIFB1eWFsbHVwLCBXQSwgOTgzNzQifSwic3RvcmVOdW1iZXIiOjIxMzYsIm5hbWUiOiJQdXlhbGx1cCBTb3V0aCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXQSIsImxhdGl0dWRlIjo0Ny42NzIsImxvbmdpdHVkZSI6LTEyMi4xMDQsImRpc3BsYXlBZGRyZXNzIjoiMTc3MDAgTkUgNzZ0aCBTdCwgUmVkbW9uZCwgV0EsIDk4MDUyIn0sInN0b3JlTnVtYmVyIjo5OTUsIm5hbWUiOiJSZWRtb25kIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiV0EiLCJsYXRpdHVkZSI6NDcuNDk2NiwibG9uZ2l0dWRlIjotMTIyLjIsImRpc3BsYXlBZGRyZXNzIjoiMTIxNSBOIExhbmRpbmcgV2F5LCBSZW50b24sIFdBLCA5ODA1NyJ9LCJzdG9yZU51bWJlciI6MjI5MCwibmFtZSI6IlJlbnRvbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiV0EiLCJsYXRpdHVkZSI6NDYuMjU4OCwibG9uZ2l0dWRlIjotMTE5LjMxMywiZGlzcGxheUFkZHJlc3MiOiIyOTQxIFF1ZWVuc2dhdGUgRHIsIFJpY2hsYW5kLCBXQSwgOTkzNTIifSwic3RvcmVOdW1iZXIiOjIzMTQsIm5hbWUiOiJSaWNobGFuZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXQSIsImxhdGl0dWRlIjo0Ny42MDg5LCJsb25naXR1ZGUiOi0xMjIuMzM5LCJkaXNwbGF5QWRkcmVzcyI6IjE0MDEgMm5kIEF2ZSwgU2VhdHRsZSwgV0EsIDk4MTAxIn0sInN0b3JlTnVtYmVyIjoyNzg2LCJuYW1lIjoiU2VhdHRsZSBQaWtlIFBsYXphIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkluLVN0b3JlIEFwcGxlIFN0b3JlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDc6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA3OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIkZyb20gMTIvMi8xMiAtIDEyLzIyLzEyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDc6MDAgQU0gdG8gMTE6MDAgUE0gU3VuIDg6MDAgQU0gdG8gMTA6MDAgUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXQSIsImxhdGl0dWRlIjo0Ny42NTgyLCJsb25naXR1ZGUiOi0xMjIuNjk1LCJkaXNwbGF5QWRkcmVzcyI6IjMyMDEgTlcgUmFuZGFsbCBXYXksIFNpbHZlcmRhbGUsIFdBLCA5ODM4MyJ9LCJzdG9yZU51bWJlciI6NjA2LCJuYW1lIjoiU2lsdmVyZGFsZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXQSIsImxhdGl0dWRlIjo0Ny40NTU0LCJsb25naXR1ZGUiOi0xMjIuMjU4LCJkaXNwbGF5QWRkcmVzcyI6IjMwMSBTdHJhbmRlciBCbHZkLCBUdWt3aWxhLCBXQSwgOTgxODgifSwic3RvcmVOdW1iZXIiOjYyNywibmFtZSI6IlNvdXRoIENlbnRlciIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTE6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMTowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiV0EiLCJsYXRpdHVkZSI6NDcuNjU2NCwibG9uZ2l0dWRlIjotMTE3LjIxOSwiZGlzcGxheUFkZHJlc3MiOiIxMzcyNCBFIFNwcmFndWUgQXZlLCBTcG9rYW5lLCBXQSwgOTkyMTYifSwic3RvcmVOdW1iZXIiOjkxNSwibmFtZSI6IlNwb2thbmUgVmFsbGV5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJXaW5lIEF2YWlsYWJsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXQSIsImxhdGl0dWRlIjo0NS42MTY1LCJsb25naXR1ZGUiOi0xMjIuNTA2LCJkaXNwbGF5QWRkcmVzcyI6IjE2MjAwIFNFIE1pbGwgUGxhaW4gQmx2ZCwgVmFuY291dmVyLCBXQSwgOTg2ODQifSwic3RvcmVOdW1iZXIiOjE0NDQsIm5hbWUiOiJWYW5jb3V2ZXIgRWFzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldBIiwibGF0aXR1ZGUiOjQ1LjY4NjUsImxvbmdpdHVkZSI6LTEyMi42NjcsImRpc3BsYXlBZGRyZXNzIjoiODgwMSBORSBIYXplbCBEZWxsIEF2ZSwgVmFuY291dmVyLCBXQSwgOTg2NjUifSwic3RvcmVOdW1iZXIiOjE4ODMsIm5hbWUiOiJWYW5jb3V2ZXIgTlciLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXQSIsImxhdGl0dWRlIjo0NS42NTA4LCJsb25naXR1ZGUiOi0xMjIuNTkyLCJkaXNwbGF5QWRkcmVzcyI6Ijc4MDlDIE5FIFZhbmNvdXZlciBQbGF6YSBEciwgVmFuY291dmVyLCBXQSwgOTg2NjIifSwic3RvcmVOdW1iZXIiOjM0MywibmFtZSI6IlZhbmNvdXZlciIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIldpbmUgQXZhaWxhYmxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldBIiwibGF0aXR1ZGUiOjQ3LjQzNzUsImxvbmdpdHVkZSI6LTEyMC4zMjcsImRpc3BsYXlBZGRyZXNzIjoiMTEwMiBTcHJpbmd3YXRlciBTdCwgV2VuYXRjaGVlLCBXQSwgOTg4MDEifSwic3RvcmVOdW1iZXIiOjEwNjQsIm5hbWUiOiJXZW5hdGNoZWUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBob3RvIENlbnRlciIsIldpbmUgQXZhaWxhYmxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiV0EiLCJsYXRpdHVkZSI6NDcuNTIxNywibG9uZ2l0dWRlIjotMTIyLjM2NywiZGlzcGxheUFkZHJlc3MiOiIyODAwIFNXIEJhcnRvbiBTdCwgU2VhdHRsZSwgV0EsIDk4MTI2In0sInN0b3JlTnVtYmVyIjo2MzcsIm5hbWUiOiJXZXN0IFNlYXR0bGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiV0EiLCJsYXRpdHVkZSI6NDcuNzU4NiwibG9uZ2l0dWRlIjotMTIyLjE1NSwiZGlzcGxheUFkZHJlc3MiOiIxMzk1MCBORSAxNzh0aCBQbCwgV29vZGludmlsbGUsIFdBLCA5ODA3MiJ9LCJzdG9yZU51bWJlciI6MTExOCwibmFtZSI6Ildvb2RpbnZpbGxlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXQSIsImxhdGl0dWRlIjo0Ni42MDY1LCJsb25naXR1ZGUiOi0xMjAuNDg5LCJkaXNwbGF5QWRkcmVzcyI6IjEyIE4gRmFpciBBdmUsIFlha2ltYSwgV0EsIDk4OTAxIn0sInN0b3JlTnVtYmVyIjo3NjAsIm5hbWUiOiJZYWtpbWEiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiREMiLCJsYXRpdHVkZSI6MzguOTI5MSwibG9uZ2l0dWRlIjotNzcuMDMzNywiZGlzcGxheUFkZHJlc3MiOiIzMTAwIDE0dGggU3QgTlcgLCBXYXNoaW5ndG9uLCBEQywgMjAwMTAifSwic3RvcmVOdW1iZXIiOjIyNTksIm5hbWUiOiJDb2x1bWJpYSBIZWlnaHRzIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXViIsImxhdGl0dWRlIjozOC40MjA3LCJsb25naXR1ZGUiOi04Mi4yODgsImRpc3BsYXlBZGRyZXNzIjoiMjA3MCBUaHVuZGVyaW5nIEhlcmQgUmQsIEJhcmJvdXJzdmlsbGUsIFdWLCAyNTUwNCJ9LCJzdG9yZU51bWJlciI6MTQ3OCwibmFtZSI6IkJhcmJvdXJzdmlsbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXViIsImxhdGl0dWRlIjozOS4zMDk0LCJsb25naXR1ZGUiOi04MC4yNzQ3LCJkaXNwbGF5QWRkcmVzcyI6IjI4MDAgTWVhZG93YnJvb2sgTWFsbCwgQnJpZGdlcG9ydCwgV1YsIDI2MzMwIn0sInN0b3JlTnVtYmVyIjoxODI4LCJuYW1lIjoiQnJpZGdlcG9ydCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldWIiwibGF0aXR1ZGUiOjM4LjMzODYsImxvbmdpdHVkZSI6LTgxLjcxMzgsImRpc3BsYXlBZGRyZXNzIjoiMzAgUmhsIEJsdmQsIENoYXJsZXN0b24sIFdWLCAyNTMwOSJ9LCJzdG9yZU51bWJlciI6MTI2MSwibmFtZSI6IkNoYXJsZXN0b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXViIsImxhdGl0dWRlIjozOS40Mzk2LCJsb25naXR1ZGUiOi03Ny45OTIyLCJkaXNwbGF5QWRkcmVzcyI6IjQzNiBSZXRhaWwgQ29tbW9ucyBQa3d5LCBNYXJ0aW5zYnVyZywgV1YsIDI1NDAzIn0sInN0b3JlTnVtYmVyIjoyNTM4LCJuYW1lIjoiTWFydGluc2J1cmciLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXViIsImxhdGl0dWRlIjozOS42NTUsImxvbmdpdHVkZSI6LTgwLjAwNjMsImRpc3BsYXlBZGRyZXNzIjoiNTAwMSBVbml2ZXJzaXR5IFRvd25lIENlbnRlciBEciwgTW9yZ2FudG93biwgV1YsIDI2NTAxIn0sInN0b3JlTnVtYmVyIjoxOTQ5LCJuYW1lIjoiTW9yZ2FudG93biIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXViIsImxhdGl0dWRlIjo0MC4wNTc4LCJsb25naXR1ZGUiOi04MC41OTkxLCJkaXNwbGF5QWRkcmVzcyI6IjMwMCBDYWJlbGEgRHIsIFRyaWFkZWxwaGlhLCBXViwgMjYwNTkifSwic3RvcmVOdW1iZXIiOjIyMzEsIm5hbWUiOiJXaGVlbGluZyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJTdGFyYnVja3MiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiV0kiLCJsYXRpdHVkZSI6NDQuMjQ1MiwibG9uZ2l0dWRlIjotODguMzU3MywiZGlzcGxheUFkZHJlc3MiOiIxODAwIFMgS2Vuc2luZ3RvbiBEciwgQXBwbGV0b24sIFdJLCA1NDkxNSJ9LCJzdG9yZU51bWJlciI6MTI0OCwibmFtZSI6IkFwcGxldG9uIEVhc3QiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiV0kiLCJsYXRpdHVkZSI6NDQuMjcxMywibG9uZ2l0dWRlIjotODguNDcwOSwiZGlzcGxheUFkZHJlc3MiOiI0MzAxIFcgV2lzY29uc2luIEF2ZSwgQXBwbGV0b24sIFdJLCA1NDkxMyJ9LCJzdG9yZU51bWJlciI6MjM4LCJuYW1lIjoiQXBwbGV0b24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldJIiwibGF0aXR1ZGUiOjQ0LjQ2NSwibG9uZ2l0dWRlIjotODcuOTg1MSwiZGlzcGxheUFkZHJlc3MiOiIyMDUwIExpbWUgS2lsbiBSZCwgR3JlZW4gQmF5LCBXSSwgNTQzMTEifSwic3RvcmVOdW1iZXIiOjE0ODMsIm5hbWUiOiJCZWxsZXZ1ZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXSSIsImxhdGl0dWRlIjo0My4wMzUzLCJsb25naXR1ZGUiOi04OC4wNzE5LCJkaXNwbGF5QWRkcmVzcyI6IjEyNzI1IFcgQmx1ZW1vdW5kIFJkLCBCcm9va2ZpZWxkLCBXSSwgNTMwMDUifSwic3RvcmVOdW1iZXIiOjI3ODAsIm5hbWUiOiJCcm9va2ZpZWxkIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiV0kiLCJsYXRpdHVkZSI6NDMuMDUxLCJsb25naXR1ZGUiOi04OC4zNzY4LCJkaXNwbGF5QWRkcmVzcyI6IjI1NTMgU3VuIFZhbGxleSBEciwgRGVsYWZpZWxkLCBXSSwgNTMwMTgifSwic3RvcmVOdW1iZXIiOjg2NCwibmFtZSI6IkRlbGFmaWVsZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldJIiwibGF0aXR1ZGUiOjQ0Ljc4MDYsImxvbmdpdHVkZSI6LTkxLjQzMzMsImRpc3BsYXlBZGRyZXNzIjoiMzY0OSBTIEhhc3RpbmdzIFdheSwgRWF1IENsYWlyZSwgV0ksIDU0NzAxIn0sInN0b3JlTnVtYmVyIjoxNzc0LCJuYW1lIjoiRWF1IENsYWlyZSBTdXBlclRhcmdldCIsInN1cGVydGFyZ2V0Ijp0cnVlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXSSIsImxhdGl0dWRlIjo0My4wMTM5LCJsb25naXR1ZGUiOi04OS40ODI4LCJkaXNwbGF5QWRkcmVzcyI6IjYzMjEgTWNLZWUgUmQsIEZpdGNoYnVyZywgV0ksIDUzNzE5In0sInN0b3JlTnVtYmVyIjoyMTA2LCJuYW1lIjoiRml0Y2hidXJnIFN1cGVyVGFyZ2V0Iiwic3VwZXJ0YXJnZXQiOnRydWUsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldJIiwibGF0aXR1ZGUiOjQzLjc5MDMsImxvbmdpdHVkZSI6LTg4LjQ4MzksImRpc3BsYXlBZGRyZXNzIjoiNDg1IE4gUm9sbGluZyBNZWFkb3dzIERyLCBGb25kIER1IExhYywgV0ksIDU0OTM3In0sInN0b3JlTnVtYmVyIjo4MDgsIm5hbWUiOiJGb25kIGR1IExhYyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldJIiwibGF0aXR1ZGUiOjQyLjkwNDIsImxvbmdpdHVkZSI6LTg4LjAzNzcsImRpc3BsYXlBZGRyZXNzIjoiNzgwMCBTIExvdmVycyBMYW5lIFJkLCBGcmFua2xpbiwgV0ksIDUzMTMyIn0sInN0b3JlTnVtYmVyIjoyMzg4LCJuYW1lIjoiRnJhbmtsaW4iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiV0kiLCJsYXRpdHVkZSI6NDMuMzE5MywibG9uZ2l0dWRlIjotODcuOTIyNywiZGlzcGxheUFkZHJlc3MiOiIxMjUwIE4gUG9ydCBXYXNoaW5ndG9uIFJkLCBHcmFmdG9uLCBXSSwgNTMwMjQifSwic3RvcmVOdW1iZXIiOjEyMTIsIm5hbWUiOiJHcmFmdG9uIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldJIiwibGF0aXR1ZGUiOjQ0LjQ5MDUsImxvbmdpdHVkZSI6LTg4LjA3MTIsImRpc3BsYXlBZGRyZXNzIjoiMTAwMSBDb3JtaWVyIFJkLCBHcmVlbiBCYXksIFdJLCA1NDMwNCJ9LCJzdG9yZU51bWJlciI6MTI0NywibmFtZSI6IkdyZWVuIEJheSBXZXN0Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIlBvcnRyYWl0IFN0dWRpbyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiV0kiLCJsYXRpdHVkZSI6NDIuOTU3LCJsb25naXR1ZGUiOi04Ny45NTEyLCJkaXNwbGF5QWRkcmVzcyI6IjQ3NzcgUyAyN3RoIFN0LCBHcmVlbmZpZWxkLCBXSSwgNTMyMjEifSwic3RvcmVOdW1iZXIiOjI0LCJuYW1lIjoiR3JlZW5maWVsZCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiV0kiLCJsYXRpdHVkZSI6NDQuOTY1NCwibG9uZ2l0dWRlIjotOTIuNzIzMywiZGlzcGxheUFkZHJlc3MiOiIyNDAxIENvdWxlZSBSZCwgSHVkc29uLCBXSSwgNTQwMTYifSwic3RvcmVOdW1iZXIiOjEyMzUsIm5hbWUiOiJIdWRzb24iLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiV0kiLCJsYXRpdHVkZSI6NDIuNzIyMywibG9uZ2l0dWRlIjotODguOTk3MiwiZGlzcGxheUFkZHJlc3MiOiIyMDE3IEh1bWVzIFJkLCBKYW5lc3ZpbGxlLCBXSSwgNTM1NDUifSwic3RvcmVOdW1iZXIiOjgwOSwibmFtZSI6IkphbmVzdmlsbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldJIiwibGF0aXR1ZGUiOjQzLjcxNjEsImxvbmdpdHVkZSI6LTg3Ljc2NjQsImRpc3BsYXlBZGRyZXNzIjoiNDA4NSBTdGF0ZSBIaWdod2F5IDI4LCBTaGVib3lnYW4gRmFsbHMsIFdJLCA1MzA4NSJ9LCJzdG9yZU51bWJlciI6MTg4MCwibmFtZSI6IktvaGxlciIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJTdGFyYnVja3MiLCJUYXJnZXQgTW9iaWxlIiwiV2luZSBBdmFpbGFibGUiLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldJIiwibGF0aXR1ZGUiOjQzLjg3MzksImxvbmdpdHVkZSI6LTkxLjE5MzQsImRpc3BsYXlBZGRyZXNzIjoiOTQwMCBTdGF0ZSBSb2FkIDE2LCBPbmFsYXNrYSwgV0ksIDU0NjUwIn0sInN0b3JlTnVtYmVyIjo2MjAsIm5hbWUiOiJMYUNyb3NzZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXSSIsImxhdGl0dWRlIjo0Mi41OTc5LCJsb25naXR1ZGUiOi04OC40MTY1LCJkaXNwbGF5QWRkcmVzcyI6IjY2MCBOIEVkd2FyZHMgQmx2ZCwgTGFrZSBHZW5ldmEsIFdJLCA1MzE0NyJ9LCJzdG9yZU51bWJlciI6MjM0OCwibmFtZSI6Ikxha2UgR2VuZXZhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldJIiwibGF0aXR1ZGUiOjQzLjExOTYsImxvbmdpdHVkZSI6LTg5LjMwOCwiZGlzcGxheUFkZHJlc3MiOiI0MzAxIExpZW4gUmQsIE1hZGlzb24sIFdJLCA1MzcwNCJ9LCJzdG9yZU51bWJlciI6MTA2OSwibmFtZSI6Ik1hZGlzb24gRWFzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXSSIsImxhdGl0dWRlIjo0My4wNzQ3LCJsb25naXR1ZGUiOi04OS40NTQxLCJkaXNwbGF5QWRkcmVzcyI6Ijc1MCBIaWxsZGFsZSBXYXksIE1hZGlzb24sIFdJLCA1MzcwNSJ9LCJzdG9yZU51bWJlciI6Mjc2NSwibmFtZSI6Ik1hZGlzb24gSGlsbGRhbGUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiV0kiLCJsYXRpdHVkZSI6NDMuMDYxNCwibG9uZ2l0dWRlIjotODkuNTI1MiwiZGlzcGxheUFkZHJlc3MiOiIyMDEgSnVuY3Rpb24gUmQsIE1hZGlzb24sIFdJLCA1MzcxNyJ9LCJzdG9yZU51bWJlciI6MTA2MCwibmFtZSI6Ik1hZGlzb24gV2VzdCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldJIiwibGF0aXR1ZGUiOjQ0LjY4NDYsImxvbmdpdHVkZSI6LTkwLjE2NTUsImRpc3BsYXlBZGRyZXNzIjoiMTcwOCBOIENlbnRyYWwgQXZlLCBNYXJzaGZpZWxkLCBXSSwgNTQ0NDkifSwic3RvcmVOdW1iZXIiOjgwNSwibmFtZSI6Ik1hcnNoZmllbGQiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlN0YXJidWNrcyIsIldpbmUgQXZhaWxhYmxlIl0sInBoYXJtYWN5IjpmYWxzZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDEwOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSA5OjAwIHAubS4iLCIxMS8yNS0xMi8yMiBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiIsIk9uIDEyLzIzIGhvdXJzIHdpbGwgYmUgODowMEFNLTEyOjAwQU0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiV0kiLCJsYXRpdHVkZSI6NDMuMTg5NiwibG9uZ2l0dWRlIjotODguMTI5MSwiZGlzcGxheUFkZHJlc3MiOiJOOTUgVyAxNzcwNyBTaGFkeSBMbiwgTWVub21vbmVlIEZhbGxzLCBXSSwgNTMwNTEifSwic3RvcmVOdW1iZXIiOjg2MywibmFtZSI6Ik1lbm9tb25lZSBGYWxscyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjEyLzkgLSAxMi8yMiB3ZSB3aWxsIGJlIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTI6MDBBTSBhbmQgU3VuIDg6MDBBTS0xMTowMFBNIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiV0kiLCJsYXRpdHVkZSI6NDIuOTkyLCJsb25naXR1ZGUiOi04Ny45MDgzLCJkaXNwbGF5QWRkcmVzcyI6IjI5NTAgUyBDaGFzZSBBdmUsIE1pbHdhdWtlZSwgV0ksIDUzMjA3In0sInN0b3JlTnVtYmVyIjoyMjMsIm5hbWUiOiJNaWx3YXVrZWUgQ2hhc2UiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiT3B0aWNhbCIsIkZyZXNoIEdyb2NlcnkiLCJUYXJnZXQgTW9iaWxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXSSIsImxhdGl0dWRlIjo0Mi45NTc4LCJsb25naXR1ZGUiOi04OC4xMDcxLCJkaXNwbGF5QWRkcmVzcyI6IjQ3OTggUyBNb29ybGFuZCBSZCwgTmV3IEJlcmxpbiwgV0ksIDUzMTUxIn0sInN0b3JlTnVtYmVyIjoxMzExLCJuYW1lIjoiTmV3IEJlcmxpbiIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJPcHRpY2FsIiwiRnJlc2ggR3JvY2VyeSIsIlRhcmdldCBNb2JpbGUiLCJQb3J0cmFpdCBTdHVkaW8iLCJGbHUgU2hvdCJdLCJwaGFybWFjeSI6dHJ1ZSwiaG91cnMiOlsiTS1GcjogODowMCBhLm0uLSAxMTowMCBwLm0uIiwiU2E6IDg6MDAgYS5tLiAtIDExOjAwIHAubS4iLCJTdTogODowMCBhLm0uLSAxMDowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXSSIsImxhdGl0dWRlIjo0My4xNzY4LCJsb25naXR1ZGUiOi04OC4wMTU5LCJkaXNwbGF5QWRkcmVzcyI6Ijg1MDEgVyBCcm93biBEZWVyIFJkLCBNaWx3YXVrZWUsIFdJLCA1MzIyNCJ9LCJzdG9yZU51bWJlciI6NTcsIm5hbWUiOiJOb3J0aHJpZGdlIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiV0kiLCJsYXRpdHVkZSI6NDIuODgyMywibG9uZ2l0dWRlIjotODcuOTE1NCwiZGlzcGxheUFkZHJlc3MiOiI4OTg5IFMgSG93ZWxsIEF2ZSwgT2FrIENyZWVrLCBXSSwgNTMxNTQifSwic3RvcmVOdW1iZXIiOjE5MjUsIm5hbWUiOiJPYWsgQ3JlZWsiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIlRhcmdldCBNb2JpbGUiLCJXaW5lIEF2YWlsYWJsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldJIiwibGF0aXR1ZGUiOjQzLjk5ODMsImxvbmdpdHVkZSI6LTg4LjU3NzcsImRpc3BsYXlBZGRyZXNzIjoiMTkwMCBTIEtvZWxsZXIgU3QsIE9zaGtvc2gsIFdJLCA1NDkwMiJ9LCJzdG9yZU51bWJlciI6ODA3LCJuYW1lIjoiT3Noa29zaCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXSSIsImxhdGl0dWRlIjo0Mi41NjQ5LCJsb25naXR1ZGUiOi04Ny45MjgzLCJkaXNwbGF5QWRkcmVzcyI6Ijk3NzcgNzZ0aCBTdCwgUGxlYXNhbnQgUHJhaXJpZSwgV0ksIDUzMTU4In0sInN0b3JlTnVtYmVyIjoyMjUxLCJuYW1lIjoiUGxlYXNhbnQgUHJhaXJpZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXSSIsImxhdGl0dWRlIjo0Mi42OTkyLCJsb25naXR1ZGUiOi04Ny44NDM2LCJkaXNwbGF5QWRkcmVzcyI6IjUzMDAgRHVyYW5kIEF2ZSwgUmFjaW5lLCBXSSwgNTM0MDYifSwic3RvcmVOdW1iZXIiOjE1MiwibmFtZSI6IlJhY2luZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiVGFyZ2V0IE1vYmlsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldJIiwibGF0aXR1ZGUiOjQ0LjUyNDQsImxvbmdpdHVkZSI6LTg5LjUyMjYsImRpc3BsYXlBZGRyZXNzIjoiNTMwMCBVUyBIaWdod2F5IDEwIEUsIFN0ZXZlbnMgUG9pbnQsIFdJLCA1NDQ4MSJ9LCJzdG9yZU51bWJlciI6ODA2LCJuYW1lIjoiU3RldmVucyBQb2ludCIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOltdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldJIiwibGF0aXR1ZGUiOjQ0LjgyMjEsImxvbmdpdHVkZSI6LTg3LjQwMzksImRpc3BsYXlBZGRyZXNzIjoiNDEwIFMgQXNobGFuZCBBdmUsIFN0dXJnZW9uIEJheSwgV0ksIDU0MjM1In0sInN0b3JlTnVtYmVyIjoxMjQ2LCJuYW1lIjoiU3R1cmdlb24gQmF5Iiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaG90byBDZW50ZXIiLCJXaW5lIEF2YWlsYWJsZSJdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldJIiwibGF0aXR1ZGUiOjQzLjE3MSwibG9uZ2l0dWRlIjotODkuMjY3NywiZGlzcGxheUFkZHJlc3MiOiI2NjAgUyBHcmFuZCBBdmUsIFN1biBQcmFpcmllLCBXSSwgNTM1OTAifSwic3RvcmVOdW1iZXIiOjI0OTEsIm5hbWUiOiJTdW4gUHJhaXJpZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiV0kiLCJsYXRpdHVkZSI6NDYuNjk3MSwibG9uZ2l0dWRlIjotOTIuMTA1NiwiZGlzcGxheUFkZHJlc3MiOiIzNTM1IFRvd2VyIEF2ZSwgU3VwZXJpb3IsIFdJLCA1NDg4MCJ9LCJzdG9yZU51bWJlciI6ODg5LCJuYW1lIjoiU3VwZXJpb3IiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXSSIsImxhdGl0dWRlIjo0My4wMzQ4LCJsb25naXR1ZGUiOi04OC4xNzc0LCJkaXNwbGF5QWRkcmVzcyI6IjI0MDEgS29zc293IFJkLCBXYXVrZXNoYSwgV0ksIDUzMTg2In0sInN0b3JlTnVtYmVyIjo4MiwibmFtZSI6IldhdWtlc2hhIiwic3VwZXJ0YXJnZXQiOmZhbHNlLCJzZXJ2aWNlcyI6WyJQaGFybWFjeSIsIlBob3RvIENlbnRlciIsIk9wdGljYWwiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiV0kiLCJsYXRpdHVkZSI6NDIuOTg5MywibG9uZ2l0dWRlIjotODguMjU4NiwiZGlzcGxheUFkZHJlc3MiOiIxMjUwIFcgU3Vuc2V0IERyLCBXYXVrZXNoYSwgV0ksIDUzMTg5In0sInN0b3JlTnVtYmVyIjoyNTQ2LCJuYW1lIjoiV2F1a2VzaGEgU291dGgiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiRnJlc2ggR3JvY2VyeSIsIlN0YXJidWNrcyIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzE1IFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIl19LHsibG9jYXRpb24iOnsic3RhdGVDb2RlIjoiV0kiLCJsYXRpdHVkZSI6NDQuOTA3MiwibG9uZ2l0dWRlIjotODkuNTkxMSwiZGlzcGxheUFkZHJlc3MiOiIyNzA3IFNjaG9maWVsZCBBdmUsIFNjaG9maWVsZCwgV0ksIDU0NDc2In0sInN0b3JlTnVtYmVyIjozNjQsIm5hbWUiOiJXYXVzYXUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBoYXJtYWN5IiwiUGhvdG8gQ2VudGVyIiwiRnJlc2ggR3JvY2VyeSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMjIgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iLCJPbiAxMi8yMyBob3VycyB3aWxsIGJlIDg6MDBBTS0xMjowMEFNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldJIiwibGF0aXR1ZGUiOjQzLjA4NzYsImxvbmdpdHVkZSI6LTg4LjA2NDIsImRpc3BsYXlBZGRyZXNzIjoiMzkwMCBOIDEyNHRoIFN0LCBXYXV3YXRvc2EsIFdJLCA1MzIyMiJ9LCJzdG9yZU51bWJlciI6MjU4NiwibmFtZSI6IldhdXdhdG9zYSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIldpbmUgQXZhaWxhYmxlIiwiRmx1IFNob3QiXSwicGhhcm1hY3kiOnRydWUsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTEvMjUtMTIvMTUgV2Ugd2lsbCBvcGVuIE1vbi1TYXQgODowMEFNLTExOjAwUE0gYW5kIFN1biA4OjAwQU0tMTA6MDBQTS4iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXSSIsImxhdGl0dWRlIjo0Mi45OTYyLCJsb25naXR1ZGUiOi04OC4wNDU0LCJkaXNwbGF5QWRkcmVzcyI6IjI2MDAgUyAxMDh0aCBTdCwgV2VzdCBBbGxpcywgV0ksIDUzMjI3In0sInN0b3JlTnVtYmVyIjoyMTk5LCJuYW1lIjoiV2VzdCBBbGxpcyIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMS8yNS0xMi8xNSBXZSB3aWxsIG9wZW4gTW9uLVNhdCA4OjAwQU0tMTE6MDBQTSBhbmQgU3VuIDg6MDBBTS0xMDowMFBNLiJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldJIiwibGF0aXR1ZGUiOjQzLjAxNTYsImxvbmdpdHVkZSI6LTg3Ljk3MDcsImRpc3BsYXlBZGRyZXNzIjoiMTUwMSBNaWxsZXIgUGFyayBXYXksIFdlc3QgTWlsd2F1a2VlLCBXSSwgNTMyMTQifSwic3RvcmVOdW1iZXIiOjE4OTUsIm5hbWUiOiJXZXN0IE1pbHdhdWtlZSIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOlsiUGhhcm1hY3kiLCJQaG90byBDZW50ZXIiLCJGcmVzaCBHcm9jZXJ5IiwiU3RhcmJ1Y2tzIiwiVGFyZ2V0IE1vYmlsZSIsIkZsdSBTaG90Il0sInBoYXJtYWN5Ijp0cnVlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDExOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTE6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCIxMi85IC0gMTIvMjIgd2Ugd2lsbCBiZSBvcGVuIE1vbi1TYXQgODowMEFNLTEyOjAwQU0gYW5kIFN1biA4OjAwQU0tMTE6MDBQTSJdfSx7ImxvY2F0aW9uIjp7InN0YXRlQ29kZSI6IldZIiwibGF0aXR1ZGUiOjQyLjg0NzQsImxvbmdpdHVkZSI6LTEwNi4yNjQsImRpc3BsYXlBZGRyZXNzIjoiNDAxIFNFIFd5b21pbmcgQmx2ZCwgQ2FzcGVyLCBXWSwgODI2MDkifSwic3RvcmVOdW1iZXIiOjE2NCwibmFtZSI6IkNhc3BlciIsInN1cGVydGFyZ2V0IjpmYWxzZSwic2VydmljZXMiOltdLCJwaGFybWFjeSI6ZmFsc2UsImhvdXJzIjpbIk0tRnI6IDg6MDAgYS5tLi0gMTA6MDAgcC5tLiIsIlNhOiA4OjAwIGEubS4gLSAxMDowMCBwLm0uIiwiU3U6IDg6MDAgYS5tLi0gOTowMCBwLm0uIiwiMTIvOSAtIDEyLzIyIHdlIHdpbGwgYmUgb3BlbiBNb24tU2F0IDg6MDBBTS0xMjowMEFNIGFuZCBTdW4gODowMEFNLTExOjAwUE0iXX0seyJsb2NhdGlvbiI6eyJzdGF0ZUNvZGUiOiJXWSIsImxhdGl0dWRlIjo0MS4xNjE1LCJsb25naXR1ZGUiOi0xMDQuOCwiZGlzcGxheUFkZHJlc3MiOiIxNzA4IERlbGwgUmFuZ2UgQmx2ZCwgQ2hleWVubmUsIFdZLCA4MjAwOSJ9LCJzdG9yZU51bWJlciI6MjI0LCJuYW1lIjoiQ2hleWVubmUiLCJzdXBlcnRhcmdldCI6ZmFsc2UsInNlcnZpY2VzIjpbIlBob3RvIENlbnRlciIsIlRhcmdldCBNb2JpbGUiXSwicGhhcm1hY3kiOmZhbHNlLCJob3VycyI6WyJNLUZyOiA4OjAwIGEubS4tIDEwOjAwIHAubS4iLCJTYTogODowMCBhLm0uIC0gMTA6MDAgcC5tLiIsIlN1OiA4OjAwIGEubS4tIDk6MDAgcC5tLiIsIjExLzI1LTEyLzIyIFdlIHdpbGwgb3BlbiBNb24tU2F0IDg6MDBBTS0xMTowMFBNIGFuZCBTdW4gODowMEFNLTEwOjAwUE0uIiwiT24gMTIvMjMgaG91cnMgd2lsbCBiZSA4OjAwQU0tMTI6MDBBTS4iXX1dCmRpZmYgLS1naXQgYS9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcC5zbG4gYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcC5zbG4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmY3MzVmYQotLS0gL2Rldi9udWxsCisrKyBiL3NhbXBsZXMvbG9naW5BbmRDb2xsZWN0aW9uU2FtcGxlL0Jvb2tzQXBwLnNsbgpAQCAtMCwwICsxLDM2IEBACivvu78jIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorIyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyMgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorIyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorIyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorIyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorIworIyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisjCisjIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyMgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisjIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyMgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKK01pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIFNvbHV0aW9uIEZpbGUsIEZvcm1hdCBWZXJzaW9uIDEyLjAwCisjIFZpc3VhbCBTdHVkaW8gMjAxMworVmlzdWFsU3R1ZGlvVmVyc2lvbiA9IDEyLjAuMjA4MjcuMworTWluaW11bVZpc3VhbFN0dWRpb1ZlcnNpb24gPSAxMC4wLjQwMjE5LjEKK1Byb2plY3QoIntGMTg0QjA4Ri1DODFDLTQ1RjYtQTU3Ri01QUJEOTk5MUYyOEZ9IikgPSAiQm9va3NBcHAiLCAiQm9va3NBcHAyXEJvb2tzQXBwLnZicHJvaiIsICJ7QTVEQzIyNjYtMEZBQS00MjY3LTk2N0ItQ0I5RTFBMjM5QUM4fSIKK0VuZFByb2plY3QKK0dsb2JhbAorCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Db25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHByZVNvbHV0aW9uCisJCURlYnVnfEFueSBDUFUgPSBEZWJ1Z3xBbnkgQ1BVCisJCVJlbGVhc2V8QW55IENQVSA9IFJlbGVhc2V8QW55IENQVQorCUVuZEdsb2JhbFNlY3Rpb24KKwlHbG9iYWxTZWN0aW9uKFByb2plY3RDb25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHBvc3RTb2x1dGlvbgorCQl7QTVEQzIyNjYtMEZBQS00MjY3LTk2N0ItQ0I5RTFBMjM5QUM4fS5EZWJ1Z3xBbnkgQ1BVLkFjdGl2ZUNmZyA9IERlYnVnfEFueSBDUFUKKwkJe0E1REMyMjY2LTBGQUEtNDI2Ny05NjdCLUNCOUUxQTIzOUFDOH0uRGVidWd8QW55IENQVS5CdWlsZC4wID0gRGVidWd8QW55IENQVQorCQl7QTVEQzIyNjYtMEZBQS00MjY3LTk2N0ItQ0I5RTFBMjM5QUM4fS5SZWxlYXNlfEFueSBDUFUuQWN0aXZlQ2ZnID0gUmVsZWFzZXxBbnkgQ1BVCisJCXtBNURDMjI2Ni0wRkFBLTQyNjctOTY3Qi1DQjlFMUEyMzlBQzh9LlJlbGVhc2V8QW55IENQVS5CdWlsZC4wID0gUmVsZWFzZXxBbnkgQ1BVCisJRW5kR2xvYmFsU2VjdGlvbgorCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Qcm9wZXJ0aWVzKSA9IHByZVNvbHV0aW9uCisJCUhpZGVTb2x1dGlvbk5vZGUgPSBGQUxTRQorCUVuZEdsb2JhbFNlY3Rpb24KK0VuZEdsb2JhbApkaWZmIC0tZ2l0IGEvc2FtcGxlcy9sb2dpbkFuZENvbGxlY3Rpb25TYW1wbGUvQm9va3NBcHAyL0FkZEJvb2suRGVzaWduZXIudmIgYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvQWRkQm9vay5EZXNpZ25lci52YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MmU2ZTk1Ci0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9sb2dpbkFuZENvbGxlY3Rpb25TYW1wbGUvQm9va3NBcHAyL0FkZEJvb2suRGVzaWduZXIudmIKQEAgLTAsMCArMSwxMDkgQEAKK++7vycgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisnIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorJyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisnIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisnICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisnIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisnCisnICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKycKKycgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorJyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorJyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKycgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorJyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworPEdsb2JhbC5NaWNyb3NvZnQuVmlzdWFsQmFzaWMuQ29tcGlsZXJTZXJ2aWNlcy5EZXNpZ25lckdlbmVyYXRlZCgpPiBfCitQYXJ0aWFsIENsYXNzIEFkZEJvb2tGb3JtCisgICAgSW5oZXJpdHMgU3lzdGVtLldpbmRvd3MuRm9ybXMuRm9ybQorCisgICAgJ0Zvcm0gb3ZlcnJpZGVzIGRpc3Bvc2UgdG8gY2xlYW4gdXAgdGhlIGNvbXBvbmVudCBsaXN0LgorICAgIDxTeXN0ZW0uRGlhZ25vc3RpY3MuRGVidWdnZXJOb25Vc2VyQ29kZSgpPiBfCisgICAgUHJvdGVjdGVkIE92ZXJyaWRlcyBTdWIgRGlzcG9zZShCeVZhbCBkaXNwb3NpbmcgQXMgQm9vbGVhbikKKyAgICAgICAgVHJ5CisgICAgICAgICAgICBJZiBkaXNwb3NpbmcgQW5kQWxzbyBjb21wb25lbnRzIElzTm90IE5vdGhpbmcgVGhlbgorICAgICAgICAgICAgICAgIGNvbXBvbmVudHMuRGlzcG9zZSgpCisgICAgICAgICAgICBFbmQgSWYKKyAgICAgICAgRmluYWxseQorICAgICAgICAgICAgTXlCYXNlLkRpc3Bvc2UoZGlzcG9zaW5nKQorICAgICAgICBFbmQgVHJ5CisgICAgRW5kIFN1YgorCisgICAgJ1JlcXVpcmVkIGJ5IHRoZSBXaW5kb3dzIEZvcm0gRGVzaWduZXIKKyAgICBQcml2YXRlIGNvbXBvbmVudHMgQXMgU3lzdGVtLkNvbXBvbmVudE1vZGVsLklDb250YWluZXIKKworICAgICdOT1RFOiBUaGUgZm9sbG93aW5nIHByb2NlZHVyZSBpcyByZXF1aXJlZCBieSB0aGUgV2luZG93cyBGb3JtIERlc2lnbmVyCisgICAgJ0l0IGNhbiBiZSBtb2RpZmllZCB1c2luZyB0aGUgV2luZG93cyBGb3JtIERlc2lnbmVyLiAgCisgICAgJ0RvIG5vdCBtb2RpZnkgaXQgdXNpbmcgdGhlIGNvZGUgZWRpdG9yLgorICAgIDxTeXN0ZW0uRGlhZ25vc3RpY3MuRGVidWdnZXJTdGVwVGhyb3VnaCgpPiBfCisgICAgUHJpdmF0ZSBTdWIgSW5pdGlhbGl6ZUNvbXBvbmVudCgpCisgICAgICAgIE1lLkxhYmVsMSA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MYWJlbCgpCisgICAgICAgIE1lLnRpdGxlID0gTmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLlRleHRCb3goKQorICAgICAgICBNZS5MYWJlbDIgPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuTGFiZWwoKQorICAgICAgICBNZS5hdXRob3IgPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuVGV4dEJveCgpCisgICAgICAgIE1lLmJ0blNhdmUgPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuQnV0dG9uKCkKKyAgICAgICAgTWUuU3VzcGVuZExheW91dCgpCisgICAgICAgICcKKyAgICAgICAgJ0xhYmVsMQorICAgICAgICAnCisgICAgICAgIE1lLkxhYmVsMS5BdXRvU2l6ZSA9IFRydWUKKyAgICAgICAgTWUuTGFiZWwxLkxvY2F0aW9uID0gTmV3IFN5c3RlbS5EcmF3aW5nLlBvaW50KDEzLCA1MCkKKyAgICAgICAgTWUuTGFiZWwxLk5hbWUgPSAiTGFiZWwxIgorICAgICAgICBNZS5MYWJlbDEuU2l6ZSA9IE5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDU1LCAxMykKKyAgICAgICAgTWUuTGFiZWwxLlRhYkluZGV4ID0gMAorICAgICAgICBNZS5MYWJlbDEuVGV4dCA9ICJCb29rIFRpdGxlIgorICAgICAgICAnCisgICAgICAgICd0aXRsZQorICAgICAgICAnCisgICAgICAgIE1lLnRpdGxlLkxvY2F0aW9uID0gTmV3IFN5c3RlbS5EcmF3aW5nLlBvaW50KDgyLCA0NykKKyAgICAgICAgTWUudGl0bGUuTmFtZSA9ICJ0aXRsZSIKKyAgICAgICAgTWUudGl0bGUuU2l6ZSA9IE5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDE2MCwgMjApCisgICAgICAgIE1lLnRpdGxlLlRhYkluZGV4ID0gMQorICAgICAgICAnCisgICAgICAgICdMYWJlbDIKKyAgICAgICAgJworICAgICAgICBNZS5MYWJlbDIuQXV0b1NpemUgPSBUcnVlCisgICAgICAgIE1lLkxhYmVsMi5Mb2NhdGlvbiA9IE5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCgxMywgODcpCisgICAgICAgIE1lLkxhYmVsMi5OYW1lID0gIkxhYmVsMiIKKyAgICAgICAgTWUuTGFiZWwyLlNpemUgPSBOZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSgzOCwgMTMpCisgICAgICAgIE1lLkxhYmVsMi5UYWJJbmRleCA9IDIKKyAgICAgICAgTWUuTGFiZWwyLlRleHQgPSAiQXV0aG9yIgorICAgICAgICAnCisgICAgICAgICdhdXRob3IKKyAgICAgICAgJworICAgICAgICBNZS5hdXRob3IuTG9jYXRpb24gPSBOZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoODIsIDc5KQorICAgICAgICBNZS5hdXRob3IuTmFtZSA9ICJhdXRob3IiCisgICAgICAgIE1lLmF1dGhvci5TaXplID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoMTYwLCAyMCkKKyAgICAgICAgTWUuYXV0aG9yLlRhYkluZGV4ID0gMworICAgICAgICAnCisgICAgICAgICdidG5TYXZlCisgICAgICAgICcKKyAgICAgICAgTWUuYnRuU2F2ZS5Mb2NhdGlvbiA9IE5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCg4MiwgMTY1KQorICAgICAgICBNZS5idG5TYXZlLk5hbWUgPSAiYnRuU2F2ZSIKKyAgICAgICAgTWUuYnRuU2F2ZS5TaXplID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoNzUsIDIzKQorICAgICAgICBNZS5idG5TYXZlLlRhYkluZGV4ID0gNAorICAgICAgICBNZS5idG5TYXZlLlRleHQgPSAiU2F2ZSIKKyAgICAgICAgTWUuYnRuU2F2ZS5Vc2VWaXN1YWxTdHlsZUJhY2tDb2xvciA9IFRydWUKKyAgICAgICAgJworICAgICAgICAnQWRkQm9va0Zvcm0KKyAgICAgICAgJworICAgICAgICBNZS5BdXRvU2NhbGVEaW1lbnNpb25zID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemVGKDYuMCEsIDEzLjAhKQorICAgICAgICBNZS5BdXRvU2NhbGVNb2RlID0gU3lzdGVtLldpbmRvd3MuRm9ybXMuQXV0b1NjYWxlTW9kZS5Gb250CisgICAgICAgIE1lLkNsaWVudFNpemUgPSBOZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSgyODQsIDI2MikKKyAgICAgICAgTWUuQ29udHJvbHMuQWRkKE1lLmJ0blNhdmUpCisgICAgICAgIE1lLkNvbnRyb2xzLkFkZChNZS5hdXRob3IpCisgICAgICAgIE1lLkNvbnRyb2xzLkFkZChNZS5MYWJlbDIpCisgICAgICAgIE1lLkNvbnRyb2xzLkFkZChNZS50aXRsZSkKKyAgICAgICAgTWUuQ29udHJvbHMuQWRkKE1lLkxhYmVsMSkKKyAgICAgICAgTWUuTmFtZSA9ICJBZGRCb29rRm9ybSIKKyAgICAgICAgTWUuVGV4dCA9ICJBZGQgYSBCb29rIgorICAgICAgICBNZS5SZXN1bWVMYXlvdXQoRmFsc2UpCisgICAgICAgIE1lLlBlcmZvcm1MYXlvdXQoKQorCisgICAgRW5kIFN1YgorICAgIEZyaWVuZCBXaXRoRXZlbnRzIExhYmVsMSBBcyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MYWJlbAorICAgIEZyaWVuZCBXaXRoRXZlbnRzIHRpdGxlIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLlRleHRCb3gKKyAgICBGcmllbmQgV2l0aEV2ZW50cyBMYWJlbDIgQXMgU3lzdGVtLldpbmRvd3MuRm9ybXMuTGFiZWwKKyAgICBGcmllbmQgV2l0aEV2ZW50cyBhdXRob3IgQXMgU3lzdGVtLldpbmRvd3MuRm9ybXMuVGV4dEJveAorICAgIEZyaWVuZCBXaXRoRXZlbnRzIGJ0blNhdmUgQXMgU3lzdGVtLldpbmRvd3MuRm9ybXMuQnV0dG9uCitFbmQgQ2xhc3MKZGlmZiAtLWdpdCBhL3NhbXBsZXMvbG9naW5BbmRDb2xsZWN0aW9uU2FtcGxlL0Jvb2tzQXBwMi9BZGRCb29rLnJlc3ggYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvQWRkQm9vay5yZXN4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlN2JhNjMKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvQWRkQm9vay5yZXN4CkBAIC0wLDAgKzEsMTM2IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPCEtLQorIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKy0tPgorPHJvb3Q+CisgIDwhLS0gCisgICAgTWljcm9zb2Z0IFJlc1ggU2NoZW1hIAorICAgIAorICAgIFZlcnNpb24gMi4wCisgICAgCisgICAgVGhlIHByaW1hcnkgZ29hbHMgb2YgdGhpcyBmb3JtYXQgaXMgdG8gYWxsb3cgYSBzaW1wbGUgWE1MIGZvcm1hdCAKKyAgICB0aGF0IGlzIG1vc3RseSBodW1hbiByZWFkYWJsZS4gVGhlIGdlbmVyYXRpb24gYW5kIHBhcnNpbmcgb2YgdGhlIAorICAgIHZhcmlvdXMgZGF0YSB0eXBlcyBhcmUgZG9uZSB0aHJvdWdoIHRoZSBUeXBlQ29udmVydGVyIGNsYXNzZXMgCisgICAgYXNzb2NpYXRlZCB3aXRoIHRoZSBkYXRhIHR5cGVzLgorICAgIAorICAgIEV4YW1wbGU6CisgICAgCisgICAgLi4uIGFkby5uZXQvWE1MIGhlYWRlcnMgJiBzY2hlbWEgLi4uCisgICAgPHJlc2hlYWRlciBuYW1lPSJyZXNtaW1ldHlwZSI+dGV4dC9taWNyb3NvZnQtcmVzeDwvcmVzaGVhZGVyPgorICAgIDxyZXNoZWFkZXIgbmFtZT0idmVyc2lvbiI+Mi4wPC9yZXNoZWFkZXI+CisgICAgPHJlc2hlYWRlciBuYW1lPSJyZWFkZXIiPlN5c3RlbS5SZXNvdXJjZXMuUmVzWFJlc291cmNlUmVhZGVyLCBTeXN0ZW0uV2luZG93cy5Gb3JtcywgLi4uPC9yZXNoZWFkZXI+CisgICAgPHJlc2hlYWRlciBuYW1lPSJ3cml0ZXIiPlN5c3RlbS5SZXNvdXJjZXMuUmVzWFJlc291cmNlV3JpdGVyLCBTeXN0ZW0uV2luZG93cy5Gb3JtcywgLi4uPC9yZXNoZWFkZXI+CisgICAgPGRhdGEgbmFtZT0iTmFtZTEiPjx2YWx1ZT50aGlzIGlzIG15IGxvbmcgc3RyaW5nPC92YWx1ZT48Y29tbWVudD50aGlzIGlzIGEgY29tbWVudDwvY29tbWVudD48L2RhdGE+CisgICAgPGRhdGEgbmFtZT0iQ29sb3IxIiB0eXBlPSJTeXN0ZW0uRHJhd2luZy5Db2xvciwgU3lzdGVtLkRyYXdpbmciPkJsdWU8L2RhdGE+CisgICAgPGRhdGEgbmFtZT0iQml0bWFwMSIgbWltZXR5cGU9ImFwcGxpY2F0aW9uL3gtbWljcm9zb2Z0Lm5ldC5vYmplY3QuYmluYXJ5LmJhc2U2NCI+CisgICAgICAgIDx2YWx1ZT5bYmFzZTY0IG1pbWUgZW5jb2RlZCBzZXJpYWxpemVkIC5ORVQgRnJhbWV3b3JrIG9iamVjdF08L3ZhbHVlPgorICAgIDwvZGF0YT4KKyAgICA8ZGF0YSBuYW1lPSJJY29uMSIgdHlwZT0iU3lzdGVtLkRyYXdpbmcuSWNvbiwgU3lzdGVtLkRyYXdpbmciIG1pbWV0eXBlPSJhcHBsaWNhdGlvbi94LW1pY3Jvc29mdC5uZXQub2JqZWN0LmJ5dGVhcnJheS5iYXNlNjQiPgorICAgICAgICA8dmFsdWU+W2Jhc2U2NCBtaW1lIGVuY29kZWQgc3RyaW5nIHJlcHJlc2VudGluZyBhIGJ5dGUgYXJyYXkgZm9ybSBvZiB0aGUgLk5FVCBGcmFtZXdvcmsgb2JqZWN0XTwvdmFsdWU+CisgICAgICAgIDxjb21tZW50PlRoaXMgaXMgYSBjb21tZW50PC9jb21tZW50PgorICAgIDwvZGF0YT4KKyAgICAgICAgICAgICAgICAKKyAgICBUaGVyZSBhcmUgYW55IG51bWJlciBvZiAicmVzaGVhZGVyIiByb3dzIHRoYXQgY29udGFpbiBzaW1wbGUgCisgICAgbmFtZS92YWx1ZSBwYWlycy4KKyAgICAKKyAgICBFYWNoIGRhdGEgcm93IGNvbnRhaW5zIGEgbmFtZSwgYW5kIHZhbHVlLiBUaGUgcm93IGFsc28gY29udGFpbnMgYSAKKyAgICB0eXBlIG9yIG1pbWV0eXBlLiBUeXBlIGNvcnJlc3BvbmRzIHRvIGEgLk5FVCBjbGFzcyB0aGF0IHN1cHBvcnQgCisgICAgdGV4dC92YWx1ZSBjb252ZXJzaW9uIHRocm91Z2ggdGhlIFR5cGVDb252ZXJ0ZXIgYXJjaGl0ZWN0dXJlLiAKKyAgICBDbGFzc2VzIHRoYXQgZG9uJ3Qgc3VwcG9ydCB0aGlzIGFyZSBzZXJpYWxpemVkIGFuZCBzdG9yZWQgd2l0aCB0aGUgCisgICAgbWltZXR5cGUgc2V0LgorICAgIAorICAgIFRoZSBtaW1ldHlwZSBpcyB1c2VkIGZvciBzZXJpYWxpemVkIG9iamVjdHMsIGFuZCB0ZWxscyB0aGUgCisgICAgUmVzWFJlc291cmNlUmVhZGVyIGhvdyB0byBkZXBlcnNpc3QgdGhlIG9iamVjdC4gVGhpcyBpcyBjdXJyZW50bHkgbm90IAorICAgIGV4dGVuc2libGUuIEZvciBhIGdpdmVuIG1pbWV0eXBlIHRoZSB2YWx1ZSBtdXN0IGJlIHNldCBhY2NvcmRpbmdseToKKyAgICAKKyAgICBOb3RlIC0gYXBwbGljYXRpb24veC1taWNyb3NvZnQubmV0Lm9iamVjdC5iaW5hcnkuYmFzZTY0IGlzIHRoZSBmb3JtYXQgCisgICAgdGhhdCB0aGUgUmVzWFJlc291cmNlV3JpdGVyIHdpbGwgZ2VuZXJhdGUsIGhvd2V2ZXIgdGhlIHJlYWRlciBjYW4gCisgICAgcmVhZCBhbnkgb2YgdGhlIGZvcm1hdHMgbGlzdGVkIGJlbG93LgorICAgIAorICAgIG1pbWV0eXBlOiBhcHBsaWNhdGlvbi94LW1pY3Jvc29mdC5uZXQub2JqZWN0LmJpbmFyeS5iYXNlNjQKKyAgICB2YWx1ZSAgIDogVGhlIG9iamVjdCBtdXN0IGJlIHNlcmlhbGl6ZWQgd2l0aCAKKyAgICAgICAgICAgIDogU3lzdGVtLlJ1bnRpbWUuU2VyaWFsaXphdGlvbi5Gb3JtYXR0ZXJzLkJpbmFyeS5CaW5hcnlGb3JtYXR0ZXIKKyAgICAgICAgICAgIDogYW5kIHRoZW4gZW5jb2RlZCB3aXRoIGJhc2U2NCBlbmNvZGluZy4KKyAgICAKKyAgICBtaW1ldHlwZTogYXBwbGljYXRpb24veC1taWNyb3NvZnQubmV0Lm9iamVjdC5zb2FwLmJhc2U2NAorICAgIHZhbHVlICAgOiBUaGUgb2JqZWN0IG11c3QgYmUgc2VyaWFsaXplZCB3aXRoIAorICAgICAgICAgICAgOiBTeXN0ZW0uUnVudGltZS5TZXJpYWxpemF0aW9uLkZvcm1hdHRlcnMuU29hcC5Tb2FwRm9ybWF0dGVyCisgICAgICAgICAgICA6IGFuZCB0aGVuIGVuY29kZWQgd2l0aCBiYXNlNjQgZW5jb2RpbmcuCisKKyAgICBtaW1ldHlwZTogYXBwbGljYXRpb24veC1taWNyb3NvZnQubmV0Lm9iamVjdC5ieXRlYXJyYXkuYmFzZTY0CisgICAgdmFsdWUgICA6IFRoZSBvYmplY3QgbXVzdCBiZSBzZXJpYWxpemVkIGludG8gYSBieXRlIGFycmF5IAorICAgICAgICAgICAgOiB1c2luZyBhIFN5c3RlbS5Db21wb25lbnRNb2RlbC5UeXBlQ29udmVydGVyCisgICAgICAgICAgICA6IGFuZCB0aGVuIGVuY29kZWQgd2l0aCBiYXNlNjQgZW5jb2RpbmcuCisgICAgLS0+CisgIDx4c2Q6c2NoZW1hIGlkPSJyb290IiB4bWxucz0iIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczptc2RhdGE9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206eG1sLW1zZGF0YSI+CisgICAgPHhzZDppbXBvcnQgbmFtZXNwYWNlPSJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiIC8+CisgICAgPHhzZDplbGVtZW50IG5hbWU9InJvb3QiIG1zZGF0YTpJc0RhdGFTZXQ9InRydWUiPgorICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgPHhzZDpjaG9pY2UgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJtZXRhZGF0YSI+CisgICAgICAgICAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgICAgICA8eHNkOnNlcXVlbmNlPgorICAgICAgICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdHlwZT0ieHNkOnN0cmluZyIgbWluT2NjdXJzPSIwIiAvPgorICAgICAgICAgICAgICA8L3hzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibmFtZSIgdXNlPSJyZXF1aXJlZCIgdHlwZT0ieHNkOnN0cmluZyIgLz4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0idHlwZSIgdHlwZT0ieHNkOnN0cmluZyIgLz4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibWltZXR5cGUiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIHJlZj0ieG1sOnNwYWNlIiAvPgorICAgICAgICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iYXNzZW1ibHkiPgorICAgICAgICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iYWxpYXMiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9Im5hbWUiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICAgICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJkYXRhIj4KKyAgICAgICAgICAgIDx4c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgICAgIDx4c2Q6c2VxdWVuY2U+CisgICAgICAgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InZhbHVlIiB0eXBlPSJ4c2Q6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1zZGF0YTpPcmRpbmFsPSIxIiAvPgorICAgICAgICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJjb21tZW50IiB0eXBlPSJ4c2Q6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1zZGF0YTpPcmRpbmFsPSIyIiAvPgorICAgICAgICAgICAgICA8L3hzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibmFtZSIgdHlwZT0ieHNkOnN0cmluZyIgdXNlPSJyZXF1aXJlZCIgbXNkYXRhOk9yZGluYWw9IjEiIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9InR5cGUiIHR5cGU9InhzZDpzdHJpbmciIG1zZGF0YTpPcmRpbmFsPSIzIiAvPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJtaW1ldHlwZSIgdHlwZT0ieHNkOnN0cmluZyIgbXNkYXRhOk9yZGluYWw9IjQiIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIHJlZj0ieG1sOnNwYWNlIiAvPgorICAgICAgICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0icmVzaGVhZGVyIj4KKyAgICAgICAgICAgIDx4c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgICAgIDx4c2Q6c2VxdWVuY2U+CisgICAgICAgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InZhbHVlIiB0eXBlPSJ4c2Q6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1zZGF0YTpPcmRpbmFsPSIxIiAvPgorICAgICAgICAgICAgICA8L3hzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibmFtZSIgdHlwZT0ieHNkOnN0cmluZyIgdXNlPSJyZXF1aXJlZCIgLz4KKyAgICAgICAgICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgIDwveHNkOmVsZW1lbnQ+CisgICAgICAgIDwveHNkOmNob2ljZT4KKyAgICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICAgIDwveHNkOmVsZW1lbnQ+CisgIDwveHNkOnNjaGVtYT4KKyAgPHJlc2hlYWRlciBuYW1lPSJyZXNtaW1ldHlwZSI+CisgICAgPHZhbHVlPnRleHQvbWljcm9zb2Z0LXJlc3g8L3ZhbHVlPgorICA8L3Jlc2hlYWRlcj4KKyAgPHJlc2hlYWRlciBuYW1lPSJ2ZXJzaW9uIj4KKyAgICA8dmFsdWU+Mi4wPC92YWx1ZT4KKyAgPC9yZXNoZWFkZXI+CisgIDxyZXNoZWFkZXIgbmFtZT0icmVhZGVyIj4KKyAgICA8dmFsdWU+U3lzdGVtLlJlc291cmNlcy5SZXNYUmVzb3VyY2VSZWFkZXIsIFN5c3RlbS5XaW5kb3dzLkZvcm1zLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OTwvdmFsdWU+CisgIDwvcmVzaGVhZGVyPgorICA8cmVzaGVhZGVyIG5hbWU9IndyaXRlciI+CisgICAgPHZhbHVlPlN5c3RlbS5SZXNvdXJjZXMuUmVzWFJlc291cmNlV3JpdGVyLCBTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODk8L3ZhbHVlPgorICA8L3Jlc2hlYWRlcj4KKzwvcm9vdD4KZGlmZiAtLWdpdCBhL3NhbXBsZXMvbG9naW5BbmRDb2xsZWN0aW9uU2FtcGxlL0Jvb2tzQXBwMi9BZGRCb29rLnZiIGIvc2FtcGxlcy9sb2dpbkFuZENvbGxlY3Rpb25TYW1wbGUvQm9va3NBcHAyL0FkZEJvb2sudmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTM1ZTQ1NwotLS0gL2Rldi9udWxsCisrKyBiL3NhbXBsZXMvbG9naW5BbmRDb2xsZWN0aW9uU2FtcGxlL0Jvb2tzQXBwMi9BZGRCb29rLnZiCkBAIC0wLDAgKzEsMzMgQEAKK++7vycgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisnIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorJyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisnIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisnICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisnIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisnCisnICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKycKKycgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorJyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorJyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKycgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorJyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworSW1wb3J0cyBVc2VyZ3JpZC5TZGsKKworUHVibGljIENsYXNzIEFkZEJvb2tGb3JtCisKKyAgICBQcml2YXRlIFN1YiBidG5TYXZlX0NsaWNrKHNlbmRlciBBcyBPYmplY3QsIGUgQXMgRXZlbnRBcmdzKSBIYW5kbGVzIGJ0blNhdmUuQ2xpY2sKKyAgICAgICAgRGltIGIgQXMgQm9vaworICAgICAgICBiID0gTmV3IEJvb2sKKyAgICAgICAgYi50aXRsZSA9IHRpdGxlLlRleHQKKyAgICAgICAgYi5hdXRob3IgPSBhdXRob3IuVGV4dAorICAgICAgICBTZXR0aW5ncy5jbGllbnQuQ3JlYXRlRW50aXR5KE9mIEJvb2spKCJib29rcyIsIGIpCisgICAgICAgIE1haW5XaW5kb3cudXBkYXRlQm9va3MoKQorICAgICAgICBNZS5DbG9zZSgpCisgICAgRW5kIFN1YgorCisgICAgUHJpdmF0ZSBTdWIgQWRkQm9va0Zvcm1fTG9hZChzZW5kZXIgQXMgT2JqZWN0LCBlIEFzIEV2ZW50QXJncykgSGFuZGxlcyBNeUJhc2UuTG9hZAorCisgICAgRW5kIFN1YgorRW5kIENsYXNzCmRpZmYgLS1naXQgYS9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvQXBwLmNvbmZpZyBiL3NhbXBsZXMvbG9naW5BbmRDb2xsZWN0aW9uU2FtcGxlL0Jvb2tzQXBwMi9BcHAuY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0NjUxZjMKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvQXBwLmNvbmZpZwpAQCAtMCwwICsxLDIzIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCIgPz4KKzwhLS0KKyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCistLT4KKworPGNvbmZpZ3VyYXRpb24+CisgICAgPHN0YXJ0dXA+CisgICAgICAgIDxzdXBwb3J0ZWRSdW50aW1lIHZlcnNpb249InY0LjAiIHNrdT0iLk5FVEZyYW1ld29yayxWZXJzaW9uPXY0LjUiIC8+CisgICAgPC9zdGFydHVwPgorPC9jb25maWd1cmF0aW9uPgpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9sb2dpbkFuZENvbGxlY3Rpb25TYW1wbGUvQm9va3NBcHAyL0Jvb2sudmIgYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvQm9vay52YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjMyNDNhCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9sb2dpbkFuZENvbGxlY3Rpb25TYW1wbGUvQm9va3NBcHAyL0Jvb2sudmIKQEAgLTAsMCArMSwyMSBAQAor77u/JyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKycgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisnIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKycgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKycgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKycgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKycKKycgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorJworJyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisnIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisnIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorJyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisnIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCitQdWJsaWMgQ2xhc3MgQm9vaworICAgIFB1YmxpYyB0aXRsZSBBcyBTdHJpbmcKKyAgICBQdWJsaWMgYXV0aG9yIEFzIFN0cmluZworICAgIFB1YmxpYyB1dWlkIEFzIFN0cmluZworCitFbmQgQ2xhc3MKZGlmZiAtLWdpdCBhL3NhbXBsZXMvbG9naW5BbmRDb2xsZWN0aW9uU2FtcGxlL0Jvb2tzQXBwMi9Cb29rc0FwcC52YnByb2ogYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvQm9va3NBcHAudmJwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjYTMyOTgKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvQm9va3NBcHAudmJwcm9qCkBAIC0wLDAgKzEsMTc0IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPCEtLQorIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKy0tPgorCis8UHJvamVjdCBUb29sc1ZlcnNpb249IjEyLjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxJbXBvcnQgUHJvamVjdD0iJChNU0J1aWxkRXh0ZW5zaW9uc1BhdGgpXCQoTVNCdWlsZFRvb2xzVmVyc2lvbilcTWljcm9zb2Z0LkNvbW1vbi5wcm9wcyIgQ29uZGl0aW9uPSJFeGlzdHMoJyQoTVNCdWlsZEV4dGVuc2lvbnNQYXRoKVwkKE1TQnVpbGRUb29sc1ZlcnNpb24pXE1pY3Jvc29mdC5Db21tb24ucHJvcHMnKSIgLz4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPENvbmZpZ3VyYXRpb24gQ29uZGl0aW9uPSIgJyQoQ29uZmlndXJhdGlvbiknID09ICcnICI+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgPFBsYXRmb3JtIENvbmRpdGlvbj0iICckKFBsYXRmb3JtKScgPT0gJycgIj5BbnlDUFU8L1BsYXRmb3JtPgorICAgIDxQcm9qZWN0R3VpZD57QTVEQzIyNjYtMEZBQS00MjY3LTk2N0ItQ0I5RTFBMjM5QUM4fTwvUHJvamVjdEd1aWQ+CisgICAgPE91dHB1dFR5cGU+V2luRXhlPC9PdXRwdXRUeXBlPgorICAgIDxTdGFydHVwT2JqZWN0PkJvb2tzQXBwLk15Lk15QXBwbGljYXRpb248L1N0YXJ0dXBPYmplY3Q+CisgICAgPFJvb3ROYW1lc3BhY2U+Qm9va3NBcHA8L1Jvb3ROYW1lc3BhY2U+CisgICAgPEFzc2VtYmx5TmFtZT5Cb29rc0FwcDwvQXNzZW1ibHlOYW1lPgorICAgIDxGaWxlQWxpZ25tZW50PjUxMjwvRmlsZUFsaWdubWVudD4KKyAgICA8TXlUeXBlPldpbmRvd3NGb3JtczwvTXlUeXBlPgorICAgIDxUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPnY0LjU8L1RhcmdldEZyYW1ld29ya1ZlcnNpb24+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSIgJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknID09ICdEZWJ1Z3xBbnlDUFUnICI+CisgICAgPFBsYXRmb3JtVGFyZ2V0PkFueUNQVTwvUGxhdGZvcm1UYXJnZXQ+CisgICAgPERlYnVnU3ltYm9scz50cnVlPC9EZWJ1Z1N5bWJvbHM+CisgICAgPERlYnVnVHlwZT5mdWxsPC9EZWJ1Z1R5cGU+CisgICAgPERlZmluZURlYnVnPnRydWU8L0RlZmluZURlYnVnPgorICAgIDxEZWZpbmVUcmFjZT50cnVlPC9EZWZpbmVUcmFjZT4KKyAgICA8T3V0cHV0UGF0aD5iaW5cRGVidWdcPC9PdXRwdXRQYXRoPgorICAgIDxEb2N1bWVudGF0aW9uRmlsZT5Cb29rc0FwcC54bWw8L0RvY3VtZW50YXRpb25GaWxlPgorICAgIDxOb1dhcm4+NDIwMTYsNDE5OTksNDIwMTcsNDIwMTgsNDIwMTksNDIwMzIsNDIwMzYsNDIwMjAsNDIwMjEsNDIwMjI8L05vV2Fybj4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IiAnJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKScgPT0gJ1JlbGVhc2V8QW55Q1BVJyAiPgorICAgIDxQbGF0Zm9ybVRhcmdldD5BbnlDUFU8L1BsYXRmb3JtVGFyZ2V0PgorICAgIDxEZWJ1Z1R5cGU+cGRib25seTwvRGVidWdUeXBlPgorICAgIDxEZWZpbmVEZWJ1Zz5mYWxzZTwvRGVmaW5lRGVidWc+CisgICAgPERlZmluZVRyYWNlPnRydWU8L0RlZmluZVRyYWNlPgorICAgIDxPcHRpbWl6ZT50cnVlPC9PcHRpbWl6ZT4KKyAgICA8T3V0cHV0UGF0aD5iaW5cUmVsZWFzZVw8L091dHB1dFBhdGg+CisgICAgPERvY3VtZW50YXRpb25GaWxlPkJvb2tzQXBwLnhtbDwvRG9jdW1lbnRhdGlvbkZpbGU+CisgICAgPE5vV2Fybj40MjAxNiw0MTk5OSw0MjAxNyw0MjAxOCw0MjAxOSw0MjAzMiw0MjAzNiw0MjAyMCw0MjAyMSw0MjAyMjwvTm9XYXJuPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxPcHRpb25FeHBsaWNpdD5PbjwvT3B0aW9uRXhwbGljaXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPE9wdGlvbkNvbXBhcmU+QmluYXJ5PC9PcHRpb25Db21wYXJlPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxPcHRpb25TdHJpY3Q+T2ZmPC9PcHRpb25TdHJpY3Q+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPE9wdGlvbkluZmVyPk9uPC9PcHRpb25JbmZlcj4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iTmV3dG9uc29mdC5Kc29uLCBWZXJzaW9uPTQuNS4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzBhZDRmZTZiMmE2YWVlZCwgcHJvY2Vzc29yQXJjaGl0ZWN0dXJlPU1TSUwiPgorICAgICAgPFNwZWNpZmljVmVyc2lvbj5GYWxzZTwvU3BlY2lmaWNWZXJzaW9uPgorICAgICAgPEhpbnRQYXRoPlxcdm13YXJlLWhvc3RcU2hhcmVkIEZvbGRlcnNcRGVza3RvcFxHaXRIdWJcdXNlcmdyaWQtLm5ldC1zZGtcVXNlcmdyaWQuU2RrXGJpblxEZWJ1Z1xOZXd0b25zb2Z0Lkpzb24uZGxsPC9IaW50UGF0aD4KKyAgICA8L1JlZmVyZW5jZT4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlJlc3RTaGFycCI+CisgICAgICA8SGludFBhdGg+XFx2bXdhcmUtaG9zdFxTaGFyZWQgRm9sZGVyc1xEZXNrdG9wXEdpdEh1Ylx1c2VyZ3JpZC0ubmV0LXNka1xVc2VyZ3JpZC5TZGtcYmluXERlYnVnXFJlc3RTaGFycC5kbGw8L0hpbnRQYXRoPgorICAgIDwvUmVmZXJlbmNlPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iU3lzdGVtIiAvPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iU3lzdGVtLkRhdGEiIC8+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJTeXN0ZW0uRGVwbG95bWVudCIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlN5c3RlbS5EcmF3aW5nIiAvPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iU3lzdGVtLk1lc3NhZ2luZyIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlN5c3RlbS5XaW5kb3dzLkZvcm1zIiAvPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iU3lzdGVtLlhtbCIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlN5c3RlbS5Db3JlIiAvPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iU3lzdGVtLlhtbC5MaW5xIiAvPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iU3lzdGVtLkRhdGEuRGF0YVNldEV4dGVuc2lvbnMiIC8+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJVc2VyZ3JpZC5TZGsiPgorICAgICAgPEhpbnRQYXRoPlxcdm13YXJlLWhvc3RcU2hhcmVkIEZvbGRlcnNcRGVza3RvcFxHaXRIdWJcdXNlcmdyaWQtLm5ldC1zZGtcVXNlcmdyaWQuU2RrXGJpblxEZWJ1Z1xVc2VyZ3JpZC5TZGsuZGxsPC9IaW50UGF0aD4KKyAgICA8L1JlZmVyZW5jZT4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPEltcG9ydCBJbmNsdWRlPSJNaWNyb3NvZnQuVmlzdWFsQmFzaWMiIC8+CisgICAgPEltcG9ydCBJbmNsdWRlPSJTeXN0ZW0iIC8+CisgICAgPEltcG9ydCBJbmNsdWRlPSJTeXN0ZW0uQ29sbGVjdGlvbnMiIC8+CisgICAgPEltcG9ydCBJbmNsdWRlPSJTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYyIgLz4KKyAgICA8SW1wb3J0IEluY2x1ZGU9IlN5c3RlbS5EYXRhIiAvPgorICAgIDxJbXBvcnQgSW5jbHVkZT0iU3lzdGVtLkRyYXdpbmciIC8+CisgICAgPEltcG9ydCBJbmNsdWRlPSJTeXN0ZW0uRGlhZ25vc3RpY3MiIC8+CisgICAgPEltcG9ydCBJbmNsdWRlPSJTeXN0ZW0uV2luZG93cy5Gb3JtcyIgLz4KKyAgICA8SW1wb3J0IEluY2x1ZGU9IlN5c3RlbS5MaW5xIiAvPgorICAgIDxJbXBvcnQgSW5jbHVkZT0iU3lzdGVtLlhtbC5MaW5xIiAvPgorICAgIDxJbXBvcnQgSW5jbHVkZT0iU3lzdGVtLlRocmVhZGluZy5UYXNrcyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iQWRkQm9vay5EZXNpZ25lci52YiI+CisgICAgICA8RGVwZW5kZW50VXBvbj5BZGRCb29rLnZiPC9EZXBlbmRlbnRVcG9uPgorICAgIDwvQ29tcGlsZT4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJBZGRCb29rLnZiIj4KKyAgICAgIDxTdWJUeXBlPkZvcm08L1N1YlR5cGU+CisgICAgPC9Db21waWxlPgorICAgIDxDb21waWxlIEluY2x1ZGU9IkJvb2sudmIiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iTWFpbldpbmRvdy5EZXNpZ25lci52YiI+CisgICAgICA8RGVwZW5kZW50VXBvbj5NYWluV2luZG93LnZiPC9EZXBlbmRlbnRVcG9uPgorICAgIDwvQ29tcGlsZT4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJNYWluV2luZG93LnZiIj4KKyAgICAgIDxTdWJUeXBlPkZvcm08L1N1YlR5cGU+CisgICAgPC9Db21waWxlPgorICAgIDxDb21waWxlIEluY2x1ZGU9Ik15IFByb2plY3RcQXNzZW1ibHlJbmZvLnZiIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9Ik15IFByb2plY3RcQXBwbGljYXRpb24uRGVzaWduZXIudmIiPgorICAgICAgPEF1dG9HZW4+VHJ1ZTwvQXV0b0dlbj4KKyAgICAgIDxEZXBlbmRlbnRVcG9uPkFwcGxpY2F0aW9uLm15YXBwPC9EZXBlbmRlbnRVcG9uPgorICAgIDwvQ29tcGlsZT4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJNeSBQcm9qZWN0XFJlc291cmNlcy5EZXNpZ25lci52YiI+CisgICAgICA8QXV0b0dlbj5UcnVlPC9BdXRvR2VuPgorICAgICAgPERlc2lnblRpbWU+VHJ1ZTwvRGVzaWduVGltZT4KKyAgICAgIDxEZXBlbmRlbnRVcG9uPlJlc291cmNlcy5yZXN4PC9EZXBlbmRlbnRVcG9uPgorICAgIDwvQ29tcGlsZT4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJNeSBQcm9qZWN0XFNldHRpbmdzLkRlc2lnbmVyLnZiIj4KKyAgICAgIDxBdXRvR2VuPlRydWU8L0F1dG9HZW4+CisgICAgICA8RGVwZW5kZW50VXBvbj5TZXR0aW5ncy5zZXR0aW5nczwvRGVwZW5kZW50VXBvbj4KKyAgICAgIDxEZXNpZ25UaW1lU2hhcmVkSW5wdXQ+VHJ1ZTwvRGVzaWduVGltZVNoYXJlZElucHV0PgorICAgIDwvQ29tcGlsZT4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJTZXR0aW5ncy52YiIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJTZXR0aW5nc0Zvcm0uRGVzaWduZXIudmIiPgorICAgICAgPERlcGVuZGVudFVwb24+U2V0dGluZ3NGb3JtLnZiPC9EZXBlbmRlbnRVcG9uPgorICAgIDwvQ29tcGlsZT4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJTZXR0aW5nc0Zvcm0udmIiPgorICAgICAgPFN1YlR5cGU+Rm9ybTwvU3ViVHlwZT4KKyAgICA8L0NvbXBpbGU+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxFbWJlZGRlZFJlc291cmNlIEluY2x1ZGU9IkFkZEJvb2sucmVzeCI+CisgICAgICA8RGVwZW5kZW50VXBvbj5BZGRCb29rLnZiPC9EZXBlbmRlbnRVcG9uPgorICAgIDwvRW1iZWRkZWRSZXNvdXJjZT4KKyAgICA8RW1iZWRkZWRSZXNvdXJjZSBJbmNsdWRlPSJNYWluV2luZG93LnJlc3giPgorICAgICAgPERlcGVuZGVudFVwb24+TWFpbldpbmRvdy52YjwvRGVwZW5kZW50VXBvbj4KKyAgICA8L0VtYmVkZGVkUmVzb3VyY2U+CisgICAgPEVtYmVkZGVkUmVzb3VyY2UgSW5jbHVkZT0iTXkgUHJvamVjdFxSZXNvdXJjZXMucmVzeCI+CisgICAgICA8R2VuZXJhdG9yPlZiTXlSZXNvdXJjZXNSZXNYRmlsZUNvZGVHZW5lcmF0b3I8L0dlbmVyYXRvcj4KKyAgICAgIDxMYXN0R2VuT3V0cHV0PlJlc291cmNlcy5EZXNpZ25lci52YjwvTGFzdEdlbk91dHB1dD4KKyAgICAgIDxDdXN0b21Ub29sTmFtZXNwYWNlPk15LlJlc291cmNlczwvQ3VzdG9tVG9vbE5hbWVzcGFjZT4KKyAgICAgIDxTdWJUeXBlPkRlc2lnbmVyPC9TdWJUeXBlPgorICAgIDwvRW1iZWRkZWRSZXNvdXJjZT4KKyAgICA8RW1iZWRkZWRSZXNvdXJjZSBJbmNsdWRlPSJTZXR0aW5nc0Zvcm0ucmVzeCI+CisgICAgICA8RGVwZW5kZW50VXBvbj5TZXR0aW5nc0Zvcm0udmI8L0RlcGVuZGVudFVwb24+CisgICAgPC9FbWJlZGRlZFJlc291cmNlPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Tm9uZSBJbmNsdWRlPSJNeSBQcm9qZWN0XEFwcGxpY2F0aW9uLm15YXBwIj4KKyAgICAgIDxHZW5lcmF0b3I+TXlBcHBsaWNhdGlvbkNvZGVHZW5lcmF0b3I8L0dlbmVyYXRvcj4KKyAgICAgIDxMYXN0R2VuT3V0cHV0PkFwcGxpY2F0aW9uLkRlc2lnbmVyLnZiPC9MYXN0R2VuT3V0cHV0PgorICAgIDwvTm9uZT4KKyAgICA8Tm9uZSBJbmNsdWRlPSJNeSBQcm9qZWN0XFNldHRpbmdzLnNldHRpbmdzIj4KKyAgICAgIDxHZW5lcmF0b3I+U2V0dGluZ3NTaW5nbGVGaWxlR2VuZXJhdG9yPC9HZW5lcmF0b3I+CisgICAgICA8Q3VzdG9tVG9vbE5hbWVzcGFjZT5NeTwvQ3VzdG9tVG9vbE5hbWVzcGFjZT4KKyAgICAgIDxMYXN0R2VuT3V0cHV0PlNldHRpbmdzLkRlc2lnbmVyLnZiPC9MYXN0R2VuT3V0cHV0PgorICAgIDwvTm9uZT4KKyAgICA8Tm9uZSBJbmNsdWRlPSJBcHAuY29uZmlnIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKE1TQnVpbGRUb29sc1BhdGgpXE1pY3Jvc29mdC5WaXN1YWxCYXNpYy50YXJnZXRzIiAvPgorICA8IS0tIFRvIG1vZGlmeSB5b3VyIGJ1aWxkIHByb2Nlc3MsIGFkZCB5b3VyIHRhc2sgaW5zaWRlIG9uZSBvZiB0aGUgdGFyZ2V0cyBiZWxvdyBhbmQgdW5jb21tZW50IGl0LiAKKyAgICAgICBPdGhlciBzaW1pbGFyIGV4dGVuc2lvbiBwb2ludHMgZXhpc3QsIHNlZSBNaWNyb3NvZnQuQ29tbW9uLnRhcmdldHMuCisgIDxUYXJnZXQgTmFtZT0iQmVmb3JlQnVpbGQiPgorICA8L1RhcmdldD4KKyAgPFRhcmdldCBOYW1lPSJBZnRlckJ1aWxkIj4KKyAgPC9UYXJnZXQ+CisgIC0tPgorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9sb2dpbkFuZENvbGxlY3Rpb25TYW1wbGUvQm9va3NBcHAyL01haW5XaW5kb3cuRGVzaWduZXIudmIgYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvTWFpbldpbmRvdy5EZXNpZ25lci52YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzQ4NDllCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9sb2dpbkFuZENvbGxlY3Rpb25TYW1wbGUvQm9va3NBcHAyL01haW5XaW5kb3cuRGVzaWduZXIudmIKQEAgLTAsMCArMSwxNDcgQEAKK++7vycgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisnIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorJyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisnIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisnICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisnIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisnCisnICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKycKKycgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorJyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorJyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKycgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorJyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworPEdsb2JhbC5NaWNyb3NvZnQuVmlzdWFsQmFzaWMuQ29tcGlsZXJTZXJ2aWNlcy5EZXNpZ25lckdlbmVyYXRlZCgpPiBfCitQYXJ0aWFsIENsYXNzIE1haW5XaW5kb3cKKyAgICBJbmhlcml0cyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Gb3JtCisKKyAgICAnRm9ybSBvdmVycmlkZXMgZGlzcG9zZSB0byBjbGVhbiB1cCB0aGUgY29tcG9uZW50IGxpc3QuCisgICAgPFN5c3RlbS5EaWFnbm9zdGljcy5EZWJ1Z2dlck5vblVzZXJDb2RlKCk+IF8KKyAgICBQcm90ZWN0ZWQgT3ZlcnJpZGVzIFN1YiBEaXNwb3NlKEJ5VmFsIGRpc3Bvc2luZyBBcyBCb29sZWFuKQorICAgICAgICBUcnkKKyAgICAgICAgICAgIElmIGRpc3Bvc2luZyBBbmRBbHNvIGNvbXBvbmVudHMgSXNOb3QgTm90aGluZyBUaGVuCisgICAgICAgICAgICAgICAgY29tcG9uZW50cy5EaXNwb3NlKCkKKyAgICAgICAgICAgIEVuZCBJZgorICAgICAgICBGaW5hbGx5CisgICAgICAgICAgICBNeUJhc2UuRGlzcG9zZShkaXNwb3NpbmcpCisgICAgICAgIEVuZCBUcnkKKyAgICBFbmQgU3ViCisKKyAgICAnUmVxdWlyZWQgYnkgdGhlIFdpbmRvd3MgRm9ybSBEZXNpZ25lcgorICAgIFByaXZhdGUgY29tcG9uZW50cyBBcyBTeXN0ZW0uQ29tcG9uZW50TW9kZWwuSUNvbnRhaW5lcgorCisgICAgJ05PVEU6IFRoZSBmb2xsb3dpbmcgcHJvY2VkdXJlIGlzIHJlcXVpcmVkIGJ5IHRoZSBXaW5kb3dzIEZvcm0gRGVzaWduZXIKKyAgICAnSXQgY2FuIGJlIG1vZGlmaWVkIHVzaW5nIHRoZSBXaW5kb3dzIEZvcm0gRGVzaWduZXIuICAKKyAgICAnRG8gbm90IG1vZGlmeSBpdCB1c2luZyB0aGUgY29kZSBlZGl0b3IuCisgICAgPFN5c3RlbS5EaWFnbm9zdGljcy5EZWJ1Z2dlclN0ZXBUaHJvdWdoKCk+IF8KKyAgICBQcml2YXRlIFN1YiBJbml0aWFsaXplQ29tcG9uZW50KCkKKyAgICAgICAgTWUuYm9va3NHcmlkID0gTmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLkRhdGFHcmlkVmlldygpCisgICAgICAgIE1lLmJ0blJldHJpZXZlQm9va3MgPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuQnV0dG9uKCkKKyAgICAgICAgTWUuYnRuU2V0dGluZ3MgPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuQnV0dG9uKCkKKyAgICAgICAgTWUuYnRuQWRkQUJvb2sgPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuQnV0dG9uKCkKKyAgICAgICAgTWUuYnRuRGVsZXRlQUJvb2sgPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuQnV0dG9uKCkKKyAgICAgICAgTWUudGl0bGUgPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuRGF0YUdyaWRWaWV3VGV4dEJveENvbHVtbigpCisgICAgICAgIE1lLmF1dGhvciA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5EYXRhR3JpZFZpZXdUZXh0Qm94Q29sdW1uKCkKKyAgICAgICAgTWUudXVpZCA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5EYXRhR3JpZFZpZXdUZXh0Qm94Q29sdW1uKCkKKyAgICAgICAgQ1R5cGUoTWUuYm9va3NHcmlkLCBTeXN0ZW0uQ29tcG9uZW50TW9kZWwuSVN1cHBvcnRJbml0aWFsaXplKS5CZWdpbkluaXQoKQorICAgICAgICBNZS5TdXNwZW5kTGF5b3V0KCkKKyAgICAgICAgJworICAgICAgICAnYm9va3NHcmlkCisgICAgICAgICcKKyAgICAgICAgTWUuYm9va3NHcmlkLkFsbG93VXNlclRvQWRkUm93cyA9IEZhbHNlCisgICAgICAgIE1lLmJvb2tzR3JpZC5Db2x1bW5IZWFkZXJzSGVpZ2h0U2l6ZU1vZGUgPSBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5EYXRhR3JpZFZpZXdDb2x1bW5IZWFkZXJzSGVpZ2h0U2l6ZU1vZGUuQXV0b1NpemUKKyAgICAgICAgTWUuYm9va3NHcmlkLkNvbHVtbnMuQWRkUmFuZ2UoTmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLkRhdGFHcmlkVmlld0NvbHVtbigpIHtNZS50aXRsZSwgTWUuYXV0aG9yLCBNZS51dWlkfSkKKyAgICAgICAgTWUuYm9va3NHcmlkLkxvY2F0aW9uID0gTmV3IFN5c3RlbS5EcmF3aW5nLlBvaW50KDQwLCAzMikKKyAgICAgICAgTWUuYm9va3NHcmlkLk1hcmdpbiA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5QYWRkaW5nKDQpCisgICAgICAgIE1lLmJvb2tzR3JpZC5OYW1lID0gImJvb2tzR3JpZCIKKyAgICAgICAgTWUuYm9va3NHcmlkLlNpemUgPSBOZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSg0NjcsIDQwMSkKKyAgICAgICAgTWUuYm9va3NHcmlkLlRhYkluZGV4ID0gMAorICAgICAgICAnCisgICAgICAgICdidG5SZXRyaWV2ZUJvb2tzCisgICAgICAgICcKKyAgICAgICAgTWUuYnRuUmV0cmlldmVCb29rcy5Mb2NhdGlvbiA9IE5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCg0MCwgNDcxKQorICAgICAgICBNZS5idG5SZXRyaWV2ZUJvb2tzLk1hcmdpbiA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5QYWRkaW5nKDQpCisgICAgICAgIE1lLmJ0blJldHJpZXZlQm9va3MuTmFtZSA9ICJidG5SZXRyaWV2ZUJvb2tzIgorICAgICAgICBNZS5idG5SZXRyaWV2ZUJvb2tzLlNpemUgPSBOZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSgxMjksIDI4KQorICAgICAgICBNZS5idG5SZXRyaWV2ZUJvb2tzLlRhYkluZGV4ID0gMQorICAgICAgICBNZS5idG5SZXRyaWV2ZUJvb2tzLlRleHQgPSAiUmV0cmlldmUgQm9va3MiCisgICAgICAgIE1lLmJ0blJldHJpZXZlQm9va3MuVXNlVmlzdWFsU3R5bGVCYWNrQ29sb3IgPSBUcnVlCisgICAgICAgICcKKyAgICAgICAgJ2J0blNldHRpbmdzCisgICAgICAgICcKKyAgICAgICAgTWUuYnRuU2V0dGluZ3MuTG9jYXRpb24gPSBOZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoNDA3LCA0NzEpCisgICAgICAgIE1lLmJ0blNldHRpbmdzLk1hcmdpbiA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5QYWRkaW5nKDQpCisgICAgICAgIE1lLmJ0blNldHRpbmdzLk5hbWUgPSAiYnRuU2V0dGluZ3MiCisgICAgICAgIE1lLmJ0blNldHRpbmdzLlNpemUgPSBOZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSgxMDAsIDI4KQorICAgICAgICBNZS5idG5TZXR0aW5ncy5UYWJJbmRleCA9IDIKKyAgICAgICAgTWUuYnRuU2V0dGluZ3MuVGV4dCA9ICJTZXR0aW5ncyIKKyAgICAgICAgTWUuYnRuU2V0dGluZ3MuVXNlVmlzdWFsU3R5bGVCYWNrQ29sb3IgPSBUcnVlCisgICAgICAgICcKKyAgICAgICAgJ2J0bkFkZEFCb29rCisgICAgICAgICcKKyAgICAgICAgTWUuYnRuQWRkQUJvb2suTG9jYXRpb24gPSBOZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoMTkxLCA0NzEpCisgICAgICAgIE1lLmJ0bkFkZEFCb29rLk1hcmdpbiA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5QYWRkaW5nKDQpCisgICAgICAgIE1lLmJ0bkFkZEFCb29rLk5hbWUgPSAiYnRuQWRkQUJvb2siCisgICAgICAgIE1lLmJ0bkFkZEFCb29rLlNpemUgPSBOZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSgxMDAsIDI4KQorICAgICAgICBNZS5idG5BZGRBQm9vay5UYWJJbmRleCA9IDMKKyAgICAgICAgTWUuYnRuQWRkQUJvb2suVGV4dCA9ICJBZGQgQSBCb29rIgorICAgICAgICBNZS5idG5BZGRBQm9vay5Vc2VWaXN1YWxTdHlsZUJhY2tDb2xvciA9IFRydWUKKyAgICAgICAgJworICAgICAgICAnYnRuRGVsZXRlQUJvb2sKKyAgICAgICAgJworICAgICAgICBNZS5idG5EZWxldGVBQm9vay5Mb2NhdGlvbiA9IE5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCgyOTksIDQ3MSkKKyAgICAgICAgTWUuYnRuRGVsZXRlQUJvb2suTWFyZ2luID0gTmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLlBhZGRpbmcoNCkKKyAgICAgICAgTWUuYnRuRGVsZXRlQUJvb2suTmFtZSA9ICJidG5EZWxldGVBQm9vayIKKyAgICAgICAgTWUuYnRuRGVsZXRlQUJvb2suU2l6ZSA9IE5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDEwMCwgMjgpCisgICAgICAgIE1lLmJ0bkRlbGV0ZUFCb29rLlRhYkluZGV4ID0gNAorICAgICAgICBNZS5idG5EZWxldGVBQm9vay5UZXh0ID0gIkRlbGV0ZSBCb29rIgorICAgICAgICBNZS5idG5EZWxldGVBQm9vay5Vc2VWaXN1YWxTdHlsZUJhY2tDb2xvciA9IFRydWUKKyAgICAgICAgJworICAgICAgICAndGl0bGUKKyAgICAgICAgJworICAgICAgICBNZS50aXRsZS5IZWFkZXJUZXh0ID0gIlRpdGxlIgorICAgICAgICBNZS50aXRsZS5OYW1lID0gInRpdGxlIgorICAgICAgICBNZS50aXRsZS5XaWR0aCA9IDIwMAorICAgICAgICAnCisgICAgICAgICdhdXRob3IKKyAgICAgICAgJworICAgICAgICBNZS5hdXRob3IuQXV0b1NpemVNb2RlID0gU3lzdGVtLldpbmRvd3MuRm9ybXMuRGF0YUdyaWRWaWV3QXV0b1NpemVDb2x1bW5Nb2RlLkZpbGwKKyAgICAgICAgTWUuYXV0aG9yLkhlYWRlclRleHQgPSAiQXV0aG9yIgorICAgICAgICBNZS5hdXRob3IuTmFtZSA9ICJhdXRob3IiCisgICAgICAgICcKKyAgICAgICAgJ3V1aWQKKyAgICAgICAgJworICAgICAgICBNZS51dWlkLkF1dG9TaXplTW9kZSA9IFN5c3RlbS5XaW5kb3dzLkZvcm1zLkRhdGFHcmlkVmlld0F1dG9TaXplQ29sdW1uTW9kZS5GaWxsCisgICAgICAgIE1lLnV1aWQuSGVhZGVyVGV4dCA9ICJVVUlEIgorICAgICAgICBNZS51dWlkLk5hbWUgPSAidXVpZCIKKyAgICAgICAgTWUudXVpZC5WaXNpYmxlID0gRmFsc2UKKyAgICAgICAgJworICAgICAgICAnRm9ybTEKKyAgICAgICAgJworICAgICAgICBNZS5BdXRvU2NhbGVEaW1lbnNpb25zID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemVGKDguMCEsIDE2LjAhKQorICAgICAgICBNZS5BdXRvU2NhbGVNb2RlID0gU3lzdGVtLldpbmRvd3MuRm9ybXMuQXV0b1NjYWxlTW9kZS5Gb250CisgICAgICAgIE1lLkNsaWVudFNpemUgPSBOZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSg1NzgsIDUzNSkKKyAgICAgICAgTWUuQ29udHJvbHMuQWRkKE1lLmJ0bkRlbGV0ZUFCb29rKQorICAgICAgICBNZS5Db250cm9scy5BZGQoTWUuYnRuQWRkQUJvb2spCisgICAgICAgIE1lLkNvbnRyb2xzLkFkZChNZS5idG5TZXR0aW5ncykKKyAgICAgICAgTWUuQ29udHJvbHMuQWRkKE1lLmJ0blJldHJpZXZlQm9va3MpCisgICAgICAgIE1lLkNvbnRyb2xzLkFkZChNZS5ib29rc0dyaWQpCisgICAgICAgIE1lLk1hcmdpbiA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5QYWRkaW5nKDQpCisgICAgICAgIE1lLk5hbWUgPSAiRm9ybTEiCisgICAgICAgIE1lLlRleHQgPSAiQm9va3MgRGVtbyIKKyAgICAgICAgQ1R5cGUoTWUuYm9va3NHcmlkLCBTeXN0ZW0uQ29tcG9uZW50TW9kZWwuSVN1cHBvcnRJbml0aWFsaXplKS5FbmRJbml0KCkKKyAgICAgICAgTWUuUmVzdW1lTGF5b3V0KEZhbHNlKQorCisgICAgRW5kIFN1YgorICAgIEZyaWVuZCBXaXRoRXZlbnRzIGJvb2tzR3JpZCBBcyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5EYXRhR3JpZFZpZXcKKyAgICBGcmllbmQgV2l0aEV2ZW50cyBidG5SZXRyaWV2ZUJvb2tzIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLkJ1dHRvbgorICAgIEZyaWVuZCBXaXRoRXZlbnRzIGJ0blNldHRpbmdzIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLkJ1dHRvbgorICAgIEZyaWVuZCBXaXRoRXZlbnRzIGJ0bkFkZEFCb29rIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLkJ1dHRvbgorICAgIEZyaWVuZCBXaXRoRXZlbnRzIGJ0bkRlbGV0ZUFCb29rIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLkJ1dHRvbgorICAgIEZyaWVuZCBXaXRoRXZlbnRzIHRpdGxlIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLkRhdGFHcmlkVmlld1RleHRCb3hDb2x1bW4KKyAgICBGcmllbmQgV2l0aEV2ZW50cyBhdXRob3IgQXMgU3lzdGVtLldpbmRvd3MuRm9ybXMuRGF0YUdyaWRWaWV3VGV4dEJveENvbHVtbgorICAgIEZyaWVuZCBXaXRoRXZlbnRzIHV1aWQgQXMgU3lzdGVtLldpbmRvd3MuRm9ybXMuRGF0YUdyaWRWaWV3VGV4dEJveENvbHVtbgorCitFbmQgQ2xhc3MKZGlmZiAtLWdpdCBhL3NhbXBsZXMvbG9naW5BbmRDb2xsZWN0aW9uU2FtcGxlL0Jvb2tzQXBwMi9NYWluV2luZG93LnJlc3ggYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvTWFpbldpbmRvdy5yZXN4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4OTczZTUKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvTWFpbldpbmRvdy5yZXN4CkBAIC0wLDAgKzEsMTQ2IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPCEtLQorIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKy0tPgorCis8cm9vdD4KKyAgPCEtLSAKKyAgICBNaWNyb3NvZnQgUmVzWCBTY2hlbWEgCisgICAgCisgICAgVmVyc2lvbiAyLjAKKyAgICAKKyAgICBUaGUgcHJpbWFyeSBnb2FscyBvZiB0aGlzIGZvcm1hdCBpcyB0byBhbGxvdyBhIHNpbXBsZSBYTUwgZm9ybWF0IAorICAgIHRoYXQgaXMgbW9zdGx5IGh1bWFuIHJlYWRhYmxlLiBUaGUgZ2VuZXJhdGlvbiBhbmQgcGFyc2luZyBvZiB0aGUgCisgICAgdmFyaW91cyBkYXRhIHR5cGVzIGFyZSBkb25lIHRocm91Z2ggdGhlIFR5cGVDb252ZXJ0ZXIgY2xhc3NlcyAKKyAgICBhc3NvY2lhdGVkIHdpdGggdGhlIGRhdGEgdHlwZXMuCisgICAgCisgICAgRXhhbXBsZToKKyAgICAKKyAgICAuLi4gYWRvLm5ldC9YTUwgaGVhZGVycyAmIHNjaGVtYSAuLi4KKyAgICA8cmVzaGVhZGVyIG5hbWU9InJlc21pbWV0eXBlIj50ZXh0L21pY3Jvc29mdC1yZXN4PC9yZXNoZWFkZXI+CisgICAgPHJlc2hlYWRlciBuYW1lPSJ2ZXJzaW9uIj4yLjA8L3Jlc2hlYWRlcj4KKyAgICA8cmVzaGVhZGVyIG5hbWU9InJlYWRlciI+U3lzdGVtLlJlc291cmNlcy5SZXNYUmVzb3VyY2VSZWFkZXIsIFN5c3RlbS5XaW5kb3dzLkZvcm1zLCAuLi48L3Jlc2hlYWRlcj4KKyAgICA8cmVzaGVhZGVyIG5hbWU9IndyaXRlciI+U3lzdGVtLlJlc291cmNlcy5SZXNYUmVzb3VyY2VXcml0ZXIsIFN5c3RlbS5XaW5kb3dzLkZvcm1zLCAuLi48L3Jlc2hlYWRlcj4KKyAgICA8ZGF0YSBuYW1lPSJOYW1lMSI+PHZhbHVlPnRoaXMgaXMgbXkgbG9uZyBzdHJpbmc8L3ZhbHVlPjxjb21tZW50PnRoaXMgaXMgYSBjb21tZW50PC9jb21tZW50PjwvZGF0YT4KKyAgICA8ZGF0YSBuYW1lPSJDb2xvcjEiIHR5cGU9IlN5c3RlbS5EcmF3aW5nLkNvbG9yLCBTeXN0ZW0uRHJhd2luZyI+Qmx1ZTwvZGF0YT4KKyAgICA8ZGF0YSBuYW1lPSJCaXRtYXAxIiBtaW1ldHlwZT0iYXBwbGljYXRpb24veC1taWNyb3NvZnQubmV0Lm9iamVjdC5iaW5hcnkuYmFzZTY0Ij4KKyAgICAgICAgPHZhbHVlPltiYXNlNjQgbWltZSBlbmNvZGVkIHNlcmlhbGl6ZWQgLk5FVCBGcmFtZXdvcmsgb2JqZWN0XTwvdmFsdWU+CisgICAgPC9kYXRhPgorICAgIDxkYXRhIG5hbWU9Ikljb24xIiB0eXBlPSJTeXN0ZW0uRHJhd2luZy5JY29uLCBTeXN0ZW0uRHJhd2luZyIgbWltZXR5cGU9ImFwcGxpY2F0aW9uL3gtbWljcm9zb2Z0Lm5ldC5vYmplY3QuYnl0ZWFycmF5LmJhc2U2NCI+CisgICAgICAgIDx2YWx1ZT5bYmFzZTY0IG1pbWUgZW5jb2RlZCBzdHJpbmcgcmVwcmVzZW50aW5nIGEgYnl0ZSBhcnJheSBmb3JtIG9mIHRoZSAuTkVUIEZyYW1ld29yayBvYmplY3RdPC92YWx1ZT4KKyAgICAgICAgPGNvbW1lbnQ+VGhpcyBpcyBhIGNvbW1lbnQ8L2NvbW1lbnQ+CisgICAgPC9kYXRhPgorICAgICAgICAgICAgICAgIAorICAgIFRoZXJlIGFyZSBhbnkgbnVtYmVyIG9mICJyZXNoZWFkZXIiIHJvd3MgdGhhdCBjb250YWluIHNpbXBsZSAKKyAgICBuYW1lL3ZhbHVlIHBhaXJzLgorICAgIAorICAgIEVhY2ggZGF0YSByb3cgY29udGFpbnMgYSBuYW1lLCBhbmQgdmFsdWUuIFRoZSByb3cgYWxzbyBjb250YWlucyBhIAorICAgIHR5cGUgb3IgbWltZXR5cGUuIFR5cGUgY29ycmVzcG9uZHMgdG8gYSAuTkVUIGNsYXNzIHRoYXQgc3VwcG9ydCAKKyAgICB0ZXh0L3ZhbHVlIGNvbnZlcnNpb24gdGhyb3VnaCB0aGUgVHlwZUNvbnZlcnRlciBhcmNoaXRlY3R1cmUuIAorICAgIENsYXNzZXMgdGhhdCBkb24ndCBzdXBwb3J0IHRoaXMgYXJlIHNlcmlhbGl6ZWQgYW5kIHN0b3JlZCB3aXRoIHRoZSAKKyAgICBtaW1ldHlwZSBzZXQuCisgICAgCisgICAgVGhlIG1pbWV0eXBlIGlzIHVzZWQgZm9yIHNlcmlhbGl6ZWQgb2JqZWN0cywgYW5kIHRlbGxzIHRoZSAKKyAgICBSZXNYUmVzb3VyY2VSZWFkZXIgaG93IHRvIGRlcGVyc2lzdCB0aGUgb2JqZWN0LiBUaGlzIGlzIGN1cnJlbnRseSBub3QgCisgICAgZXh0ZW5zaWJsZS4gRm9yIGEgZ2l2ZW4gbWltZXR5cGUgdGhlIHZhbHVlIG11c3QgYmUgc2V0IGFjY29yZGluZ2x5OgorICAgIAorICAgIE5vdGUgLSBhcHBsaWNhdGlvbi94LW1pY3Jvc29mdC5uZXQub2JqZWN0LmJpbmFyeS5iYXNlNjQgaXMgdGhlIGZvcm1hdCAKKyAgICB0aGF0IHRoZSBSZXNYUmVzb3VyY2VXcml0ZXIgd2lsbCBnZW5lcmF0ZSwgaG93ZXZlciB0aGUgcmVhZGVyIGNhbiAKKyAgICByZWFkIGFueSBvZiB0aGUgZm9ybWF0cyBsaXN0ZWQgYmVsb3cuCisgICAgCisgICAgbWltZXR5cGU6IGFwcGxpY2F0aW9uL3gtbWljcm9zb2Z0Lm5ldC5vYmplY3QuYmluYXJ5LmJhc2U2NAorICAgIHZhbHVlICAgOiBUaGUgb2JqZWN0IG11c3QgYmUgc2VyaWFsaXplZCB3aXRoIAorICAgICAgICAgICAgOiBTeXN0ZW0uUnVudGltZS5TZXJpYWxpemF0aW9uLkZvcm1hdHRlcnMuQmluYXJ5LkJpbmFyeUZvcm1hdHRlcgorICAgICAgICAgICAgOiBhbmQgdGhlbiBlbmNvZGVkIHdpdGggYmFzZTY0IGVuY29kaW5nLgorICAgIAorICAgIG1pbWV0eXBlOiBhcHBsaWNhdGlvbi94LW1pY3Jvc29mdC5uZXQub2JqZWN0LnNvYXAuYmFzZTY0CisgICAgdmFsdWUgICA6IFRoZSBvYmplY3QgbXVzdCBiZSBzZXJpYWxpemVkIHdpdGggCisgICAgICAgICAgICA6IFN5c3RlbS5SdW50aW1lLlNlcmlhbGl6YXRpb24uRm9ybWF0dGVycy5Tb2FwLlNvYXBGb3JtYXR0ZXIKKyAgICAgICAgICAgIDogYW5kIHRoZW4gZW5jb2RlZCB3aXRoIGJhc2U2NCBlbmNvZGluZy4KKworICAgIG1pbWV0eXBlOiBhcHBsaWNhdGlvbi94LW1pY3Jvc29mdC5uZXQub2JqZWN0LmJ5dGVhcnJheS5iYXNlNjQKKyAgICB2YWx1ZSAgIDogVGhlIG9iamVjdCBtdXN0IGJlIHNlcmlhbGl6ZWQgaW50byBhIGJ5dGUgYXJyYXkgCisgICAgICAgICAgICA6IHVzaW5nIGEgU3lzdGVtLkNvbXBvbmVudE1vZGVsLlR5cGVDb252ZXJ0ZXIKKyAgICAgICAgICAgIDogYW5kIHRoZW4gZW5jb2RlZCB3aXRoIGJhc2U2NCBlbmNvZGluZy4KKyAgICAtLT4KKyAgPHhzZDpzY2hlbWEgaWQ9InJvb3QiIHhtbG5zPSIiIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOm1zZGF0YT0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp4bWwtbXNkYXRhIj4KKyAgICA8eHNkOmltcG9ydCBuYW1lc3BhY2U9Imh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIgLz4KKyAgICA8eHNkOmVsZW1lbnQgbmFtZT0icm9vdCIgbXNkYXRhOklzRGF0YVNldD0idHJ1ZSI+CisgICAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgICA8eHNkOmNob2ljZSBtYXhPY2N1cnM9InVuYm91bmRlZCI+CisgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9Im1ldGFkYXRhIj4KKyAgICAgICAgICAgIDx4c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgICAgIDx4c2Q6c2VxdWVuY2U+CisgICAgICAgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InZhbHVlIiB0eXBlPSJ4c2Q6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIC8+CisgICAgICAgICAgICAgIDwveHNkOnNlcXVlbmNlPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJuYW1lIiB1c2U9InJlcXVpcmVkIiB0eXBlPSJ4c2Q6c3RyaW5nIiAvPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJ0eXBlIiB0eXBlPSJ4c2Q6c3RyaW5nIiAvPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJtaW1ldHlwZSIgdHlwZT0ieHNkOnN0cmluZyIgLz4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgcmVmPSJ4bWw6c3BhY2UiIC8+CisgICAgICAgICAgICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJhc3NlbWJseSI+CisgICAgICAgICAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJhbGlhcyIgdHlwZT0ieHNkOnN0cmluZyIgLz4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibmFtZSIgdHlwZT0ieHNkOnN0cmluZyIgLz4KKyAgICAgICAgICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgIDwveHNkOmVsZW1lbnQ+CisgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImRhdGEiPgorICAgICAgICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgICAgPHhzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0idmFsdWUiIHR5cGU9InhzZDpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbXNkYXRhOk9yZGluYWw9IjEiIC8+CisgICAgICAgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImNvbW1lbnQiIHR5cGU9InhzZDpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbXNkYXRhOk9yZGluYWw9IjIiIC8+CisgICAgICAgICAgICAgIDwveHNkOnNlcXVlbmNlPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJuYW1lIiB0eXBlPSJ4c2Q6c3RyaW5nIiB1c2U9InJlcXVpcmVkIiBtc2RhdGE6T3JkaW5hbD0iMSIgLz4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0idHlwZSIgdHlwZT0ieHNkOnN0cmluZyIgbXNkYXRhOk9yZGluYWw9IjMiIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9Im1pbWV0eXBlIiB0eXBlPSJ4c2Q6c3RyaW5nIiBtc2RhdGE6T3JkaW5hbD0iNCIgLz4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgcmVmPSJ4bWw6c3BhY2UiIC8+CisgICAgICAgICAgICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJyZXNoZWFkZXIiPgorICAgICAgICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgICAgPHhzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0idmFsdWUiIHR5cGU9InhzZDpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbXNkYXRhOk9yZGluYWw9IjEiIC8+CisgICAgICAgICAgICAgIDwveHNkOnNlcXVlbmNlPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJuYW1lIiB0eXBlPSJ4c2Q6c3RyaW5nIiB1c2U9InJlcXVpcmVkIiAvPgorICAgICAgICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgICAgPC94c2Q6Y2hvaWNlPgorICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgPC94c2Q6ZWxlbWVudD4KKyAgPC94c2Q6c2NoZW1hPgorICA8cmVzaGVhZGVyIG5hbWU9InJlc21pbWV0eXBlIj4KKyAgICA8dmFsdWU+dGV4dC9taWNyb3NvZnQtcmVzeDwvdmFsdWU+CisgIDwvcmVzaGVhZGVyPgorICA8cmVzaGVhZGVyIG5hbWU9InZlcnNpb24iPgorICAgIDx2YWx1ZT4yLjA8L3ZhbHVlPgorICA8L3Jlc2hlYWRlcj4KKyAgPHJlc2hlYWRlciBuYW1lPSJyZWFkZXIiPgorICAgIDx2YWx1ZT5TeXN0ZW0uUmVzb3VyY2VzLlJlc1hSZXNvdXJjZVJlYWRlciwgU3lzdGVtLldpbmRvd3MuRm9ybXMsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5PC92YWx1ZT4KKyAgPC9yZXNoZWFkZXI+CisgIDxyZXNoZWFkZXIgbmFtZT0id3JpdGVyIj4KKyAgICA8dmFsdWU+U3lzdGVtLlJlc291cmNlcy5SZXNYUmVzb3VyY2VXcml0ZXIsIFN5c3RlbS5XaW5kb3dzLkZvcm1zLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OTwvdmFsdWU+CisgIDwvcmVzaGVhZGVyPgorICA8bWV0YWRhdGEgbmFtZT0idGl0bGUuVXNlckFkZGVkQ29sdW1uIiB0eXBlPSJTeXN0ZW0uQm9vbGVhbiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5Ij4KKyAgICA8dmFsdWU+VHJ1ZTwvdmFsdWU+CisgIDwvbWV0YWRhdGE+CisgIDxtZXRhZGF0YSBuYW1lPSJhdXRob3IuVXNlckFkZGVkQ29sdW1uIiB0eXBlPSJTeXN0ZW0uQm9vbGVhbiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5Ij4KKyAgICA8dmFsdWU+VHJ1ZTwvdmFsdWU+CisgIDwvbWV0YWRhdGE+CisgIDxtZXRhZGF0YSBuYW1lPSJ1dWlkLlVzZXJBZGRlZENvbHVtbiIgdHlwZT0iU3lzdGVtLkJvb2xlYW4sIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OSI+CisgICAgPHZhbHVlPlRydWU8L3ZhbHVlPgorICA8L21ldGFkYXRhPgorPC9yb290PgpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9sb2dpbkFuZENvbGxlY3Rpb25TYW1wbGUvQm9va3NBcHAyL01haW5XaW5kb3cudmIgYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvTWFpbldpbmRvdy52YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWEzNGQ0Ci0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9sb2dpbkFuZENvbGxlY3Rpb25TYW1wbGUvQm9va3NBcHAyL01haW5XaW5kb3cudmIKQEAgLTAsMCArMSw3MCBAQAor77u/JyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKycgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisnIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKycgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKycgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKycgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKycKKycgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorJworJyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisnIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisnIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorJyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisnIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCitJbXBvcnRzIFVzZXJncmlkLlNkaworCitQdWJsaWMgQ2xhc3MgTWFpbldpbmRvdworCisgICAgUHJpdmF0ZSBTdWIgTWFpbldpbmRvd19Mb2FkKHNlbmRlciBBcyBPYmplY3QsIGUgQXMgRXZlbnRBcmdzKSBIYW5kbGVzIE15QmFzZS5Mb2FkCisKKyAgICBFbmQgU3ViCisgICAgUHVibGljIFN1YiBjbGVhckJvb2tzKCkKKyAgICAgICAgYm9va3NHcmlkLlJvd3MuQ2xlYXIoKQorICAgIEVuZCBTdWIKKyAgICBQdWJsaWMgU3ViIHVwZGF0ZUJvb2tzKCkKKyAgICAgICAgJ0NsZWFyIHRoZSBjdXJyZW50IGxpc3Qgb2YgYm9va3MKKyAgICAgICAgY2xlYXJCb29rcygpCisKKyAgICAgICAgJ0xvb2sgZm9yIHRoZSBib29rcworICAgICAgICBEaW0gYm9va3MgQXMgVXNlcmdyaWRDb2xsZWN0aW9uKE9mIEJvb2spCisgICAgICAgIERpbSBib29rIEFzIEJvb2sKKyAgICAgICAgYm9va3MgPSBTZXR0aW5ncy5jbGllbnQuR2V0RW50aXRpZXMoT2YgQm9vaykoImJvb2tzIiwgMTApCisgICAgICAgIERvCisgICAgICAgICAgICBEaW0gaSBBcyBJbnRlZ2VyID0gMAorICAgICAgICAgICAgV2hpbGUgaSA8IGJvb2tzLkNvdW50CisgICAgICAgICAgICAgICAgYm9vayA9IGJvb2tzKGkpCisgICAgICAgICAgICAgICAgYm9va3NHcmlkLlJvd3MuQWRkKGJvb2sudGl0bGUsIGJvb2suYXV0aG9yLCBib29rLnV1aWQpCisgICAgICAgICAgICAgICAgaSA9IGkgKyAxCisgICAgICAgICAgICBFbmQgV2hpbGUKKyAgICAgICAgICAgIGJvb2tzID0gU2V0dGluZ3MuY2xpZW50LkdldE5leHRFbnRpdGllcyhPZiBCb29rKSgiYm9va3MiKQorICAgICAgICBMb29wIFdoaWxlIGJvb2tzLkNvdW50ID4gMAorICAgIEVuZCBTdWIKKworICAgIFByaXZhdGUgU3ViIGJ0blJldHJpZXZlQm9va3NfQ2xpY2soc2VuZGVyIEFzIE9iamVjdCwgZSBBcyBFdmVudEFyZ3MpIEhhbmRsZXMgYnRuUmV0cmlldmVCb29rcy5DbGljaworICAgICAgICBib29rc0dyaWQuUm93cy5DbGVhcigpCisgICAgICAgIHVwZGF0ZUJvb2tzKCkKKyAgICBFbmQgU3ViCisKKyAgICBQcml2YXRlIFN1YiBidG5TZXR0aW5nc19DbGljayhzZW5kZXIgQXMgT2JqZWN0LCBlIEFzIEV2ZW50QXJncykgSGFuZGxlcyBidG5TZXR0aW5ncy5DbGljaworICAgICAgICBTZXR0aW5nc0Zvcm0uU2hvdygpCisgICAgRW5kIFN1YgorCisKKyAgICBQcml2YXRlIFN1YiBidG5BZGRCb29rX0NsaWNrKHNlbmRlciBBcyBPYmplY3QsIGUgQXMgRXZlbnRBcmdzKSBIYW5kbGVzIGJ0bkFkZEFCb29rLkNsaWNrCisgICAgICAgIEFkZEJvb2tGb3JtLlNob3coKQorICAgIEVuZCBTdWIKKworICAgIFByaXZhdGUgU3ViIGJ0bkRlbGV0ZUFCb29rX0NsaWNrKHNlbmRlciBBcyBPYmplY3QsIGUgQXMgRXZlbnRBcmdzKSBIYW5kbGVzIGJ0bkRlbGV0ZUFCb29rLkNsaWNrCisgICAgICAgIERpbSBpIEFzIEludGVnZXIKKyAgICAgICAgRGltIHV1aWQgQXMgU3RyaW5nCisgICAgICAgIGkgPSBib29rc0dyaWQuQ3VycmVudFJvdy5JbmRleAorICAgICAgICB1dWlkID0gYm9va3NHcmlkLkl0ZW0oMiwgaSkuVmFsdWUKKyAgICAgICAgU2V0dGluZ3MuY2xpZW50LkRlbGV0ZUVudGl0eSgiYm9va3MiLCB1dWlkKQorICAgICAgICBib29rc0dyaWQuUm93cy5SZW1vdmVBdChpKQorICAgICAgICBjbGVhckJvb2tzKCkKKyAgICAgICAgdXBkYXRlQm9va3MoKQorICAgIEVuZCBTdWIKKworRW5kIENsYXNzCmRpZmYgLS1naXQgYS9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvTXkgUHJvamVjdC9BcHBsaWNhdGlvbi5EZXNpZ25lci52YiBiL3NhbXBsZXMvbG9naW5BbmRDb2xsZWN0aW9uU2FtcGxlL0Jvb2tzQXBwMi9NeSBQcm9qZWN0L0FwcGxpY2F0aW9uLkRlc2lnbmVyLnZiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3ZGE5MTIKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvTXkgUHJvamVjdC9BcHBsaWNhdGlvbi5EZXNpZ25lci52YgpAQCAtMCwwICsxLDUzIEBACivvu78nIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorJyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKycgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorJyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorJyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorJyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorJworJyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisnCisnIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKycgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKycgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisnIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKycgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKyctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKycgPGF1dG8tZ2VuZXJhdGVkPgorJyAgICAgVGhpcyBjb2RlIHdhcyBnZW5lcmF0ZWQgYnkgYSB0b29sLgorJyAgICAgUnVudGltZSBWZXJzaW9uOjQuMC4zMDMxOS4xODMzMQorJworJyAgICAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmCisnICAgICB0aGUgY29kZSBpcyByZWdlbmVyYXRlZC4KKycgPC9hdXRvLWdlbmVyYXRlZD4KKyctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworT3B0aW9uIFN0cmljdCBPbgorT3B0aW9uIEV4cGxpY2l0IE9uCisKKworTmFtZXNwYWNlIE15CisgICAgCisgICAgJ05PVEU6IFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZDsgZG8gbm90IG1vZGlmeSBpdCBkaXJlY3RseS4gIFRvIG1ha2UgY2hhbmdlcywKKyAgICAnIG9yIGlmIHlvdSBlbmNvdW50ZXIgYnVpbGQgZXJyb3JzIGluIHRoaXMgZmlsZSwgZ28gdG8gdGhlIFByb2plY3QgRGVzaWduZXIKKyAgICAnIChnbyB0byBQcm9qZWN0IFByb3BlcnRpZXMgb3IgZG91YmxlLWNsaWNrIHRoZSBNeSBQcm9qZWN0IG5vZGUgaW4KKyAgICAnIFNvbHV0aW9uIEV4cGxvcmVyKSwgYW5kIG1ha2UgY2hhbmdlcyBvbiB0aGUgQXBwbGljYXRpb24gdGFiLgorICAgICcKKyAgICBQYXJ0aWFsIEZyaWVuZCBDbGFzcyBNeUFwcGxpY2F0aW9uCisgICAgICAgIAorICAgICAgICA8R2xvYmFsLlN5c3RlbS5EaWFnbm9zdGljcy5EZWJ1Z2dlclN0ZXBUaHJvdWdoQXR0cmlidXRlKCk+ICBfCisgICAgICAgIFB1YmxpYyBTdWIgTmV3KCkKKyAgICAgICAgICAgIE15QmFzZS5OZXcoR2xvYmFsLk1pY3Jvc29mdC5WaXN1YWxCYXNpYy5BcHBsaWNhdGlvblNlcnZpY2VzLkF1dGhlbnRpY2F0aW9uTW9kZS5XaW5kb3dzKQorICAgICAgICAgICAgTWUuSXNTaW5nbGVJbnN0YW5jZSA9IGZhbHNlCisgICAgICAgICAgICBNZS5FbmFibGVWaXN1YWxTdHlsZXMgPSB0cnVlCisgICAgICAgICAgICBNZS5TYXZlTXlTZXR0aW5nc09uRXhpdCA9IHRydWUKKyAgICAgICAgICAgIE1lLlNodXREb3duU3R5bGUgPSBHbG9iYWwuTWljcm9zb2Z0LlZpc3VhbEJhc2ljLkFwcGxpY2F0aW9uU2VydmljZXMuU2h1dGRvd25Nb2RlLkFmdGVyTWFpbkZvcm1DbG9zZXMKKyAgICAgICAgRW5kIFN1YgorICAgICAgICAKKyAgICAgICAgPEdsb2JhbC5TeXN0ZW0uRGlhZ25vc3RpY3MuRGVidWdnZXJTdGVwVGhyb3VnaEF0dHJpYnV0ZSgpPiAgXworICAgICAgICBQcm90ZWN0ZWQgT3ZlcnJpZGVzIFN1YiBPbkNyZWF0ZU1haW5Gb3JtKCkKKyAgICAgICAgICAgIE1lLk1haW5Gb3JtID0gR2xvYmFsLkJvb2tzQXBwLk1haW5XaW5kb3cKKyAgICAgICAgRW5kIFN1YgorICAgIEVuZCBDbGFzcworRW5kIE5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9sb2dpbkFuZENvbGxlY3Rpb25TYW1wbGUvQm9va3NBcHAyL015IFByb2plY3QvQXBwbGljYXRpb24ubXlhcHAgYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvTXkgUHJvamVjdC9BcHBsaWNhdGlvbi5teWFwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YzIxYmI1Ci0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9sb2dpbkFuZENvbGxlY3Rpb25TYW1wbGUvQm9va3NBcHAyL015IFByb2plY3QvQXBwbGljYXRpb24ubXlhcHAKQEAgLTAsMCArMSwyNyBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTE2Ij8+Cis8IS0tCisgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorLS0+CisKKzxNeUFwcGxpY2F0aW9uRGF0YSB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAgPE15U3ViTWFpbj50cnVlPC9NeVN1Yk1haW4+CisgIDxNYWluRm9ybT5NYWluV2luZG93PC9NYWluRm9ybT4KKyAgPFNpbmdsZUluc3RhbmNlPmZhbHNlPC9TaW5nbGVJbnN0YW5jZT4KKyAgPFNodXRkb3duTW9kZT4wPC9TaHV0ZG93bk1vZGU+CisgIDxFbmFibGVWaXN1YWxTdHlsZXM+dHJ1ZTwvRW5hYmxlVmlzdWFsU3R5bGVzPgorICA8QXV0aGVudGljYXRpb25Nb2RlPjA8L0F1dGhlbnRpY2F0aW9uTW9kZT4KKyAgPFNhdmVNeVNldHRpbmdzT25FeGl0PnRydWU8L1NhdmVNeVNldHRpbmdzT25FeGl0PgorPC9NeUFwcGxpY2F0aW9uRGF0YT4KZGlmZiAtLWdpdCBhL3NhbXBsZXMvbG9naW5BbmRDb2xsZWN0aW9uU2FtcGxlL0Jvb2tzQXBwMi9NeSBQcm9qZWN0L0Fzc2VtYmx5SW5mby52YiBiL3NhbXBsZXMvbG9naW5BbmRDb2xsZWN0aW9uU2FtcGxlL0Jvb2tzQXBwMi9NeSBQcm9qZWN0L0Fzc2VtYmx5SW5mby52YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTk2ODgzCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9sb2dpbkFuZENvbGxlY3Rpb25TYW1wbGUvQm9va3NBcHAyL015IFByb2plY3QvQXNzZW1ibHlJbmZvLnZiCkBAIC0wLDAgKzEsNTAgQEAKK++7vycgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisnIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorJyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisnIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisnICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisnIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisnCisnICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKycKKycgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorJyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorJyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKycgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorJyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworSW1wb3J0cyBTeXN0ZW0KK0ltcG9ydHMgU3lzdGVtLlJlZmxlY3Rpb24KK0ltcG9ydHMgU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzCisKKycgR2VuZXJhbCBJbmZvcm1hdGlvbiBhYm91dCBhbiBhc3NlbWJseSBpcyBjb250cm9sbGVkIHRocm91Z2ggdGhlIGZvbGxvd2luZyAKKycgc2V0IG9mIGF0dHJpYnV0ZXMuIENoYW5nZSB0aGVzZSBhdHRyaWJ1dGUgdmFsdWVzIHRvIG1vZGlmeSB0aGUgaW5mb3JtYXRpb24KKycgYXNzb2NpYXRlZCB3aXRoIGFuIGFzc2VtYmx5LgorCisnIFJldmlldyB0aGUgdmFsdWVzIG9mIHRoZSBhc3NlbWJseSBhdHRyaWJ1dGVzCisKKzxBc3NlbWJseTogQXNzZW1ibHlUaXRsZSgiQm9va3NBcHAyIik+IAorPEFzc2VtYmx5OiBBc3NlbWJseURlc2NyaXB0aW9uKCIiKT4gCis8QXNzZW1ibHk6IEFzc2VtYmx5Q29tcGFueSgiIik+IAorPEFzc2VtYmx5OiBBc3NlbWJseVByb2R1Y3QoIkJvb2tzQXBwMiIpPiAKKzxBc3NlbWJseTogQXNzZW1ibHlDb3B5cmlnaHQoIkNvcHlyaWdodCDCqSAgMjAxMyIpPiAKKzxBc3NlbWJseTogQXNzZW1ibHlUcmFkZW1hcmsoIiIpPiAKKworPEFzc2VtYmx5OiBDb21WaXNpYmxlKEZhbHNlKT4KKworJ1RoZSBmb2xsb3dpbmcgR1VJRCBpcyBmb3IgdGhlIElEIG9mIHRoZSB0eXBlbGliIGlmIHRoaXMgcHJvamVjdCBpcyBleHBvc2VkIHRvIENPTQorPEFzc2VtYmx5OiBHdWlkKCI0MjNjMTliMC05YTQ4LTRlOWEtYTA0NC1lODljMTJlY2JlY2YiKT4gCisKKycgVmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgYW4gYXNzZW1ibHkgY29uc2lzdHMgb2YgdGhlIGZvbGxvd2luZyBmb3VyIHZhbHVlczoKKycKKycgICAgICBNYWpvciBWZXJzaW9uCisnICAgICAgTWlub3IgVmVyc2lvbiAKKycgICAgICBCdWlsZCBOdW1iZXIKKycgICAgICBSZXZpc2lvbgorJworJyBZb3UgY2FuIHNwZWNpZnkgYWxsIHRoZSB2YWx1ZXMgb3IgeW91IGNhbiBkZWZhdWx0IHRoZSBCdWlsZCBhbmQgUmV2aXNpb24gTnVtYmVycyAKKycgYnkgdXNpbmcgdGhlICcqJyBhcyBzaG93biBiZWxvdzoKKycgPEFzc2VtYmx5OiBBc3NlbWJseVZlcnNpb24oIjEuMC4qIik+IAorCis8QXNzZW1ibHk6IEFzc2VtYmx5VmVyc2lvbigiMS4wLjAuMCIpPiAKKzxBc3NlbWJseTogQXNzZW1ibHlGaWxlVmVyc2lvbigiMS4wLjAuMCIpPiAKZGlmZiAtLWdpdCBhL3NhbXBsZXMvbG9naW5BbmRDb2xsZWN0aW9uU2FtcGxlL0Jvb2tzQXBwMi9NeSBQcm9qZWN0L1Jlc291cmNlcy5EZXNpZ25lci52YiBiL3NhbXBsZXMvbG9naW5BbmRDb2xsZWN0aW9uU2FtcGxlL0Jvb2tzQXBwMi9NeSBQcm9qZWN0L1Jlc291cmNlcy5EZXNpZ25lci52YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzcxMGJiCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9sb2dpbkFuZENvbGxlY3Rpb25TYW1wbGUvQm9va3NBcHAyL015IFByb2plY3QvUmVzb3VyY2VzLkRlc2lnbmVyLnZiCkBAIC0wLDAgKzEsNzggQEAKK++7vycgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisnIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorJyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisnIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisnICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisnIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisnCisnICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKycKKycgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorJyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorJyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKycgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorJyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorJyA8YXV0by1nZW5lcmF0ZWQ+CisnICAgICBUaGlzIGNvZGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wuCisnICAgICBSdW50aW1lIFZlcnNpb246NC4wLjMwMzE5LjE4MzMxCisnCisnICAgICBDaGFuZ2VzIHRvIHRoaXMgZmlsZSBtYXkgY2F1c2UgaW5jb3JyZWN0IGJlaGF2aW9yIGFuZCB3aWxsIGJlIGxvc3QgaWYKKycgICAgIHRoZSBjb2RlIGlzIHJlZ2VuZXJhdGVkLgorJyA8L2F1dG8tZ2VuZXJhdGVkPgorJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitPcHRpb24gU3RyaWN0IE9uCitPcHRpb24gRXhwbGljaXQgT24KKworSW1wb3J0cyBTeXN0ZW0KKworTmFtZXNwYWNlIE15LlJlc291cmNlcworICAgIAorICAgICdUaGlzIGNsYXNzIHdhcyBhdXRvLWdlbmVyYXRlZCBieSB0aGUgU3Ryb25nbHlUeXBlZFJlc291cmNlQnVpbGRlcgorICAgICdjbGFzcyB2aWEgYSB0b29sIGxpa2UgUmVzR2VuIG9yIFZpc3VhbCBTdHVkaW8uCisgICAgJ1RvIGFkZCBvciByZW1vdmUgYSBtZW1iZXIsIGVkaXQgeW91ciAuUmVzWCBmaWxlIHRoZW4gcmVydW4gUmVzR2VuCisgICAgJ3dpdGggdGhlIC9zdHIgb3B0aW9uLCBvciByZWJ1aWxkIHlvdXIgVlMgcHJvamVjdC4KKyAgICAnJyc8c3VtbWFyeT4KKyAgICAnJycgIEEgc3Ryb25nbHktdHlwZWQgcmVzb3VyY2UgY2xhc3MsIGZvciBsb29raW5nIHVwIGxvY2FsaXplZCBzdHJpbmdzLCBldGMuCisgICAgJycnPC9zdW1tYXJ5PgorICAgIDxHbG9iYWwuU3lzdGVtLkNvZGVEb20uQ29tcGlsZXIuR2VuZXJhdGVkQ29kZUF0dHJpYnV0ZSgiU3lzdGVtLlJlc291cmNlcy5Ub29scy5TdHJvbmdseVR5cGVkUmVzb3VyY2VCdWlsZGVyIiwgIjQuMC4wLjAiKSwgIF8KKyAgICAgR2xvYmFsLlN5c3RlbS5EaWFnbm9zdGljcy5EZWJ1Z2dlck5vblVzZXJDb2RlQXR0cmlidXRlKCksICBfCisgICAgIEdsb2JhbC5TeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzLkNvbXBpbGVyR2VuZXJhdGVkQXR0cmlidXRlKCksICBfCisgICAgIEdsb2JhbC5NaWNyb3NvZnQuVmlzdWFsQmFzaWMuSGlkZU1vZHVsZU5hbWVBdHRyaWJ1dGUoKT4gIF8KKyAgICBGcmllbmQgTW9kdWxlIFJlc291cmNlcworICAgICAgICAKKyAgICAgICAgUHJpdmF0ZSByZXNvdXJjZU1hbiBBcyBHbG9iYWwuU3lzdGVtLlJlc291cmNlcy5SZXNvdXJjZU1hbmFnZXIKKyAgICAgICAgCisgICAgICAgIFByaXZhdGUgcmVzb3VyY2VDdWx0dXJlIEFzIEdsb2JhbC5TeXN0ZW0uR2xvYmFsaXphdGlvbi5DdWx0dXJlSW5mbworICAgICAgICAKKyAgICAgICAgJycnPHN1bW1hcnk+CisgICAgICAgICcnJyAgUmV0dXJucyB0aGUgY2FjaGVkIFJlc291cmNlTWFuYWdlciBpbnN0YW5jZSB1c2VkIGJ5IHRoaXMgY2xhc3MuCisgICAgICAgICcnJzwvc3VtbWFyeT4KKyAgICAgICAgPEdsb2JhbC5TeXN0ZW0uQ29tcG9uZW50TW9kZWwuRWRpdG9yQnJvd3NhYmxlQXR0cmlidXRlKEdsb2JhbC5TeXN0ZW0uQ29tcG9uZW50TW9kZWwuRWRpdG9yQnJvd3NhYmxlU3RhdGUuQWR2YW5jZWQpPiAgXworICAgICAgICBGcmllbmQgUmVhZE9ubHkgUHJvcGVydHkgUmVzb3VyY2VNYW5hZ2VyKCkgQXMgR2xvYmFsLlN5c3RlbS5SZXNvdXJjZXMuUmVzb3VyY2VNYW5hZ2VyCisgICAgICAgICAgICBHZXQKKyAgICAgICAgICAgICAgICBJZiBPYmplY3QuUmVmZXJlbmNlRXF1YWxzKHJlc291cmNlTWFuLCBOb3RoaW5nKSBUaGVuCisgICAgICAgICAgICAgICAgICAgIERpbSB0ZW1wIEFzIEdsb2JhbC5TeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlTWFuYWdlciA9IE5ldyBHbG9iYWwuU3lzdGVtLlJlc291cmNlcy5SZXNvdXJjZU1hbmFnZXIoIkJvb2tzQXBwLlJlc291cmNlcyIsIEdldFR5cGUoUmVzb3VyY2VzKS5Bc3NlbWJseSkKKyAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2VNYW4gPSB0ZW1wCisgICAgICAgICAgICAgICAgRW5kIElmCisgICAgICAgICAgICAgICAgUmV0dXJuIHJlc291cmNlTWFuCisgICAgICAgICAgICBFbmQgR2V0CisgICAgICAgIEVuZCBQcm9wZXJ0eQorICAgICAgICAKKyAgICAgICAgJycnPHN1bW1hcnk+CisgICAgICAgICcnJyAgT3ZlcnJpZGVzIHRoZSBjdXJyZW50IHRocmVhZCdzIEN1cnJlbnRVSUN1bHR1cmUgcHJvcGVydHkgZm9yIGFsbAorICAgICAgICAnJycgIHJlc291cmNlIGxvb2t1cHMgdXNpbmcgdGhpcyBzdHJvbmdseSB0eXBlZCByZXNvdXJjZSBjbGFzcy4KKyAgICAgICAgJycnPC9zdW1tYXJ5PgorICAgICAgICA8R2xvYmFsLlN5c3RlbS5Db21wb25lbnRNb2RlbC5FZGl0b3JCcm93c2FibGVBdHRyaWJ1dGUoR2xvYmFsLlN5c3RlbS5Db21wb25lbnRNb2RlbC5FZGl0b3JCcm93c2FibGVTdGF0ZS5BZHZhbmNlZCk+ICBfCisgICAgICAgIEZyaWVuZCBQcm9wZXJ0eSBDdWx0dXJlKCkgQXMgR2xvYmFsLlN5c3RlbS5HbG9iYWxpemF0aW9uLkN1bHR1cmVJbmZvCisgICAgICAgICAgICBHZXQKKyAgICAgICAgICAgICAgICBSZXR1cm4gcmVzb3VyY2VDdWx0dXJlCisgICAgICAgICAgICBFbmQgR2V0CisgICAgICAgICAgICBTZXQKKyAgICAgICAgICAgICAgICByZXNvdXJjZUN1bHR1cmUgPSB2YWx1ZQorICAgICAgICAgICAgRW5kIFNldAorICAgICAgICBFbmQgUHJvcGVydHkKKyAgICBFbmQgTW9kdWxlCitFbmQgTmFtZXNwYWNlCmRpZmYgLS1naXQgYS9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvTXkgUHJvamVjdC9SZXNvdXJjZXMucmVzeCBiL3NhbXBsZXMvbG9naW5BbmRDb2xsZWN0aW9uU2FtcGxlL0Jvb2tzQXBwMi9NeSBQcm9qZWN0L1Jlc291cmNlcy5yZXN4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5OGQ5YjYKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvTXkgUHJvamVjdC9SZXNvdXJjZXMucmVzeApAQCAtMCwwICsxLDEzNCBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhLS0KKyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCistLT4KKworPHJvb3Q+CisgIDwhLS0gCisgICAgTWljcm9zb2Z0IFJlc1ggU2NoZW1hIAorICAgIAorICAgIFZlcnNpb24gMi4wCisgICAgCisgICAgVGhlIHByaW1hcnkgZ29hbHMgb2YgdGhpcyBmb3JtYXQgaXMgdG8gYWxsb3cgYSBzaW1wbGUgWE1MIGZvcm1hdCAKKyAgICB0aGF0IGlzIG1vc3RseSBodW1hbiByZWFkYWJsZS4gVGhlIGdlbmVyYXRpb24gYW5kIHBhcnNpbmcgb2YgdGhlIAorICAgIHZhcmlvdXMgZGF0YSB0eXBlcyBhcmUgZG9uZSB0aHJvdWdoIHRoZSBUeXBlQ29udmVydGVyIGNsYXNzZXMgCisgICAgYXNzb2NpYXRlZCB3aXRoIHRoZSBkYXRhIHR5cGVzLgorICAgIAorICAgIEV4YW1wbGU6CisgICAgCisgICAgLi4uIGFkby5uZXQvWE1MIGhlYWRlcnMgJiBzY2hlbWEgLi4uCisgICAgPHJlc2hlYWRlciBuYW1lPSJyZXNtaW1ldHlwZSI+dGV4dC9taWNyb3NvZnQtcmVzeDwvcmVzaGVhZGVyPgorICAgIDxyZXNoZWFkZXIgbmFtZT0idmVyc2lvbiI+Mi4wPC9yZXNoZWFkZXI+CisgICAgPHJlc2hlYWRlciBuYW1lPSJyZWFkZXIiPlN5c3RlbS5SZXNvdXJjZXMuUmVzWFJlc291cmNlUmVhZGVyLCBTeXN0ZW0uV2luZG93cy5Gb3JtcywgLi4uPC9yZXNoZWFkZXI+CisgICAgPHJlc2hlYWRlciBuYW1lPSJ3cml0ZXIiPlN5c3RlbS5SZXNvdXJjZXMuUmVzWFJlc291cmNlV3JpdGVyLCBTeXN0ZW0uV2luZG93cy5Gb3JtcywgLi4uPC9yZXNoZWFkZXI+CisgICAgPGRhdGEgbmFtZT0iTmFtZTEiPjx2YWx1ZT50aGlzIGlzIG15IGxvbmcgc3RyaW5nPC92YWx1ZT48Y29tbWVudD50aGlzIGlzIGEgY29tbWVudDwvY29tbWVudD48L2RhdGE+CisgICAgPGRhdGEgbmFtZT0iQ29sb3IxIiB0eXBlPSJTeXN0ZW0uRHJhd2luZy5Db2xvciwgU3lzdGVtLkRyYXdpbmciPkJsdWU8L2RhdGE+CisgICAgPGRhdGEgbmFtZT0iQml0bWFwMSIgbWltZXR5cGU9ImFwcGxpY2F0aW9uL3gtbWljcm9zb2Z0Lm5ldC5vYmplY3QuYmluYXJ5LmJhc2U2NCI+CisgICAgICAgIDx2YWx1ZT5bYmFzZTY0IG1pbWUgZW5jb2RlZCBzZXJpYWxpemVkIC5ORVQgRnJhbWV3b3JrIG9iamVjdF08L3ZhbHVlPgorICAgIDwvZGF0YT4KKyAgICA8ZGF0YSBuYW1lPSJJY29uMSIgdHlwZT0iU3lzdGVtLkRyYXdpbmcuSWNvbiwgU3lzdGVtLkRyYXdpbmciIG1pbWV0eXBlPSJhcHBsaWNhdGlvbi94LW1pY3Jvc29mdC5uZXQub2JqZWN0LmJ5dGVhcnJheS5iYXNlNjQiPgorICAgICAgICA8dmFsdWU+W2Jhc2U2NCBtaW1lIGVuY29kZWQgc3RyaW5nIHJlcHJlc2VudGluZyBhIGJ5dGUgYXJyYXkgZm9ybSBvZiB0aGUgLk5FVCBGcmFtZXdvcmsgb2JqZWN0XTwvdmFsdWU+CisgICAgICAgIDxjb21tZW50PlRoaXMgaXMgYSBjb21tZW50PC9jb21tZW50PgorICAgIDwvZGF0YT4KKyAgICAgICAgICAgICAgICAKKyAgICBUaGVyZSBhcmUgYW55IG51bWJlciBvZiAicmVzaGVhZGVyIiByb3dzIHRoYXQgY29udGFpbiBzaW1wbGUgCisgICAgbmFtZS92YWx1ZSBwYWlycy4KKyAgICAKKyAgICBFYWNoIGRhdGEgcm93IGNvbnRhaW5zIGEgbmFtZSwgYW5kIHZhbHVlLiBUaGUgcm93IGFsc28gY29udGFpbnMgYSAKKyAgICB0eXBlIG9yIG1pbWV0eXBlLiBUeXBlIGNvcnJlc3BvbmRzIHRvIGEgLk5FVCBjbGFzcyB0aGF0IHN1cHBvcnQgCisgICAgdGV4dC92YWx1ZSBjb252ZXJzaW9uIHRocm91Z2ggdGhlIFR5cGVDb252ZXJ0ZXIgYXJjaGl0ZWN0dXJlLiAKKyAgICBDbGFzc2VzIHRoYXQgZG9uJ3Qgc3VwcG9ydCB0aGlzIGFyZSBzZXJpYWxpemVkIGFuZCBzdG9yZWQgd2l0aCB0aGUgCisgICAgbWltZXR5cGUgc2V0LgorICAgIAorICAgIFRoZSBtaW1ldHlwZSBpcyB1c2VkIGZvciBzZXJpYWxpemVkIG9iamVjdHMsIGFuZCB0ZWxscyB0aGUgCisgICAgUmVzWFJlc291cmNlUmVhZGVyIGhvdyB0byBkZXBlcnNpc3QgdGhlIG9iamVjdC4gVGhpcyBpcyBjdXJyZW50bHkgbm90IAorICAgIGV4dGVuc2libGUuIEZvciBhIGdpdmVuIG1pbWV0eXBlIHRoZSB2YWx1ZSBtdXN0IGJlIHNldCBhY2NvcmRpbmdseToKKyAgICAKKyAgICBOb3RlIC0gYXBwbGljYXRpb24veC1taWNyb3NvZnQubmV0Lm9iamVjdC5iaW5hcnkuYmFzZTY0IGlzIHRoZSBmb3JtYXQgCisgICAgdGhhdCB0aGUgUmVzWFJlc291cmNlV3JpdGVyIHdpbGwgZ2VuZXJhdGUsIGhvd2V2ZXIgdGhlIHJlYWRlciBjYW4gCisgICAgcmVhZCBhbnkgb2YgdGhlIGZvcm1hdHMgbGlzdGVkIGJlbG93LgorICAgIAorICAgIG1pbWV0eXBlOiBhcHBsaWNhdGlvbi94LW1pY3Jvc29mdC5uZXQub2JqZWN0LmJpbmFyeS5iYXNlNjQKKyAgICB2YWx1ZSAgIDogVGhlIG9iamVjdCBtdXN0IGJlIHNlcmlhbGl6ZWQgd2l0aCAKKyAgICAgICAgICAgIDogU3lzdGVtLlNlcmlhbGl6YXRpb24uRm9ybWF0dGVycy5CaW5hcnkuQmluYXJ5Rm9ybWF0dGVyCisgICAgICAgICAgICA6IGFuZCB0aGVuIGVuY29kZWQgd2l0aCBiYXNlNjQgZW5jb2RpbmcuCisgICAgCisgICAgbWltZXR5cGU6IGFwcGxpY2F0aW9uL3gtbWljcm9zb2Z0Lm5ldC5vYmplY3Quc29hcC5iYXNlNjQKKyAgICB2YWx1ZSAgIDogVGhlIG9iamVjdCBtdXN0IGJlIHNlcmlhbGl6ZWQgd2l0aCAKKyAgICAgICAgICAgIDogU3lzdGVtLlJ1bnRpbWUuU2VyaWFsaXphdGlvbi5Gb3JtYXR0ZXJzLlNvYXAuU29hcEZvcm1hdHRlcgorICAgICAgICAgICAgOiBhbmQgdGhlbiBlbmNvZGVkIHdpdGggYmFzZTY0IGVuY29kaW5nLgorCisgICAgbWltZXR5cGU6IGFwcGxpY2F0aW9uL3gtbWljcm9zb2Z0Lm5ldC5vYmplY3QuYnl0ZWFycmF5LmJhc2U2NAorICAgIHZhbHVlICAgOiBUaGUgb2JqZWN0IG11c3QgYmUgc2VyaWFsaXplZCBpbnRvIGEgYnl0ZSBhcnJheSAKKyAgICAgICAgICAgIDogdXNpbmcgYSBTeXN0ZW0uQ29tcG9uZW50TW9kZWwuVHlwZUNvbnZlcnRlcgorICAgICAgICAgICAgOiBhbmQgdGhlbiBlbmNvZGVkIHdpdGggYmFzZTY0IGVuY29kaW5nLgorICAgIC0tPgorICA8eHNkOnNjaGVtYSBpZD0icm9vdCIgeG1sbnM9IiIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6bXNkYXRhPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOnhtbC1tc2RhdGEiPgorICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJyb290IiBtc2RhdGE6SXNEYXRhU2V0PSJ0cnVlIj4KKyAgICAgIDx4c2Q6Y29tcGxleFR5cGU+CisgICAgICAgIDx4c2Q6Y2hvaWNlIG1heE9jY3Vycz0idW5ib3VuZGVkIj4KKyAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0ibWV0YWRhdGEiPgorICAgICAgICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgICAgPHhzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0idmFsdWUiIHR5cGU9InhzZDpzdHJpbmciIG1pbk9jY3Vycz0iMCIgLz4KKyAgICAgICAgICAgICAgPC94c2Q6c2VxdWVuY2U+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9Im5hbWUiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9InR5cGUiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9Im1pbWV0eXBlIiB0eXBlPSJ4c2Q6c3RyaW5nIiAvPgorICAgICAgICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iYXNzZW1ibHkiPgorICAgICAgICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iYWxpYXMiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9Im5hbWUiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICAgICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJkYXRhIj4KKyAgICAgICAgICAgIDx4c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgICAgIDx4c2Q6c2VxdWVuY2U+CisgICAgICAgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InZhbHVlIiB0eXBlPSJ4c2Q6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1zZGF0YTpPcmRpbmFsPSIxIiAvPgorICAgICAgICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJjb21tZW50IiB0eXBlPSJ4c2Q6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1zZGF0YTpPcmRpbmFsPSIyIiAvPgorICAgICAgICAgICAgICA8L3hzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibmFtZSIgdHlwZT0ieHNkOnN0cmluZyIgbXNkYXRhOk9yZGluYWw9IjEiIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9InR5cGUiIHR5cGU9InhzZDpzdHJpbmciIG1zZGF0YTpPcmRpbmFsPSIzIiAvPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJtaW1ldHlwZSIgdHlwZT0ieHNkOnN0cmluZyIgbXNkYXRhOk9yZGluYWw9IjQiIC8+CisgICAgICAgICAgICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJyZXNoZWFkZXIiPgorICAgICAgICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgICAgPHhzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0idmFsdWUiIHR5cGU9InhzZDpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbXNkYXRhOk9yZGluYWw9IjEiIC8+CisgICAgICAgICAgICAgIDwveHNkOnNlcXVlbmNlPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJuYW1lIiB0eXBlPSJ4c2Q6c3RyaW5nIiB1c2U9InJlcXVpcmVkIiAvPgorICAgICAgICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgICAgPC94c2Q6Y2hvaWNlPgorICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgPC94c2Q6ZWxlbWVudD4KKyAgPC94c2Q6c2NoZW1hPgorICA8cmVzaGVhZGVyIG5hbWU9InJlc21pbWV0eXBlIj4KKyAgICA8dmFsdWU+dGV4dC9taWNyb3NvZnQtcmVzeDwvdmFsdWU+CisgIDwvcmVzaGVhZGVyPgorICA8cmVzaGVhZGVyIG5hbWU9InZlcnNpb24iPgorICAgIDx2YWx1ZT4yLjA8L3ZhbHVlPgorICA8L3Jlc2hlYWRlcj4KKyAgPHJlc2hlYWRlciBuYW1lPSJyZWFkZXIiPgorICAgIDx2YWx1ZT5TeXN0ZW0uUmVzb3VyY2VzLlJlc1hSZXNvdXJjZVJlYWRlciwgU3lzdGVtLldpbmRvd3MuRm9ybXMsIFZlcnNpb249Mi4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5PC92YWx1ZT4KKyAgPC9yZXNoZWFkZXI+CisgIDxyZXNoZWFkZXIgbmFtZT0id3JpdGVyIj4KKyAgICA8dmFsdWU+U3lzdGVtLlJlc291cmNlcy5SZXNYUmVzb3VyY2VXcml0ZXIsIFN5c3RlbS5XaW5kb3dzLkZvcm1zLCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OTwvdmFsdWU+CisgIDwvcmVzaGVhZGVyPgorPC9yb290PgpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9sb2dpbkFuZENvbGxlY3Rpb25TYW1wbGUvQm9va3NBcHAyL015IFByb2plY3QvU2V0dGluZ3MuRGVzaWduZXIudmIgYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvTXkgUHJvamVjdC9TZXR0aW5ncy5EZXNpZ25lci52YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZDIyMzc1Ci0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9sb2dpbkFuZENvbGxlY3Rpb25TYW1wbGUvQm9va3NBcHAyL015IFByb2plY3QvU2V0dGluZ3MuRGVzaWduZXIudmIKQEAgLTAsMCArMSw4OCBAQAor77u/JyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKycgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisnIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKycgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKycgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKycgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKycKKycgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorJworJyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisnIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisnIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorJyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisnIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCisnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisnIDxhdXRvLWdlbmVyYXRlZD4KKycgICAgIFRoaXMgY29kZSB3YXMgZ2VuZXJhdGVkIGJ5IGEgdG9vbC4KKycgICAgIFJ1bnRpbWUgVmVyc2lvbjo0LjAuMzAzMTkuMTgzMzEKKycKKycgICAgIENoYW5nZXMgdG8gdGhpcyBmaWxlIG1heSBjYXVzZSBpbmNvcnJlY3QgYmVoYXZpb3IgYW5kIHdpbGwgYmUgbG9zdCBpZgorJyAgICAgdGhlIGNvZGUgaXMgcmVnZW5lcmF0ZWQuCisnIDwvYXV0by1nZW5lcmF0ZWQ+CisnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK09wdGlvbiBTdHJpY3QgT24KK09wdGlvbiBFeHBsaWNpdCBPbgorCisKK05hbWVzcGFjZSBNeQorCisgICAgPEdsb2JhbC5TeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzLkNvbXBpbGVyR2VuZXJhdGVkQXR0cmlidXRlKCksIF8KKyAgICAgR2xvYmFsLlN5c3RlbS5Db2RlRG9tLkNvbXBpbGVyLkdlbmVyYXRlZENvZGVBdHRyaWJ1dGUoIk1pY3Jvc29mdC5WaXN1YWxTdHVkaW8uRWRpdG9ycy5TZXR0aW5nc0Rlc2lnbmVyLlNldHRpbmdzU2luZ2xlRmlsZUdlbmVyYXRvciIsICIxMi4wLjAuMCIpLCBfCisgICAgIEdsb2JhbC5TeXN0ZW0uQ29tcG9uZW50TW9kZWwuRWRpdG9yQnJvd3NhYmxlQXR0cmlidXRlKEdsb2JhbC5TeXN0ZW0uQ29tcG9uZW50TW9kZWwuRWRpdG9yQnJvd3NhYmxlU3RhdGUuQWR2YW5jZWQpPiBfCisgICAgUGFydGlhbCBGcmllbmQgTm90SW5oZXJpdGFibGUgQ2xhc3MgTXlTZXR0aW5ncworICAgICAgICBJbmhlcml0cyBHbG9iYWwuU3lzdGVtLkNvbmZpZ3VyYXRpb24uQXBwbGljYXRpb25TZXR0aW5nc0Jhc2UKKworICAgICAgICBQcml2YXRlIFNoYXJlZCBkZWZhdWx0SW5zdGFuY2UgQXMgTXlTZXR0aW5ncyA9IENUeXBlKEdsb2JhbC5TeXN0ZW0uQ29uZmlndXJhdGlvbi5BcHBsaWNhdGlvblNldHRpbmdzQmFzZS5TeW5jaHJvbml6ZWQoTmV3IE15U2V0dGluZ3MoKSksIE15U2V0dGluZ3MpCisKKyNSZWdpb24gIk15LlNldHRpbmdzIEF1dG8tU2F2ZSBGdW5jdGlvbmFsaXR5IgorI0lmIF9NeVR5cGUgPSAiV2luZG93c0Zvcm1zIiBUaGVuCisgICAgICAgIFByaXZhdGUgU2hhcmVkIGFkZGVkSGFuZGxlciBBcyBCb29sZWFuCisKKyAgICAgICAgUHJpdmF0ZSBTaGFyZWQgYWRkZWRIYW5kbGVyTG9ja09iamVjdCBBcyBOZXcgT2JqZWN0CisKKyAgICAgICAgPEdsb2JhbC5TeXN0ZW0uRGlhZ25vc3RpY3MuRGVidWdnZXJOb25Vc2VyQ29kZUF0dHJpYnV0ZSgpLCBHbG9iYWwuU3lzdGVtLkNvbXBvbmVudE1vZGVsLkVkaXRvckJyb3dzYWJsZUF0dHJpYnV0ZShHbG9iYWwuU3lzdGVtLkNvbXBvbmVudE1vZGVsLkVkaXRvckJyb3dzYWJsZVN0YXRlLkFkdmFuY2VkKT4gXworICAgICAgICBQcml2YXRlIFNoYXJlZCBTdWIgQXV0b1NhdmVTZXR0aW5ncyhCeVZhbCBzZW5kZXIgQXMgR2xvYmFsLlN5c3RlbS5PYmplY3QsIEJ5VmFsIGUgQXMgR2xvYmFsLlN5c3RlbS5FdmVudEFyZ3MpCisgICAgICAgICAgICBJZiBNeS5BcHBsaWNhdGlvbi5TYXZlTXlTZXR0aW5nc09uRXhpdCBUaGVuCisgICAgICAgICAgICAgICAgTXkuU2V0dGluZ3MuU2F2ZSgpCisgICAgICAgICAgICBFbmQgSWYKKyAgICAgICAgRW5kIFN1YgorI0VuZCBJZgorI0VuZCBSZWdpb24KKworICAgICAgICBQdWJsaWMgU2hhcmVkIFJlYWRPbmx5IFByb3BlcnR5IFtEZWZhdWx0XSgpIEFzIE15U2V0dGluZ3MKKyAgICAgICAgICAgIEdldAorCisjSWYgX015VHlwZSA9ICJXaW5kb3dzRm9ybXMiIFRoZW4KKyAgICAgICAgICAgICAgICBJZiBOb3QgYWRkZWRIYW5kbGVyIFRoZW4KKyAgICAgICAgICAgICAgICAgICAgU3luY0xvY2sgYWRkZWRIYW5kbGVyTG9ja09iamVjdAorICAgICAgICAgICAgICAgICAgICAgICAgSWYgTm90IGFkZGVkSGFuZGxlciBUaGVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkSGFuZGxlciBNeS5BcHBsaWNhdGlvbi5TaHV0ZG93biwgQWRkcmVzc09mIEF1dG9TYXZlU2V0dGluZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRlZEhhbmRsZXIgPSBUcnVlCisgICAgICAgICAgICAgICAgICAgICAgICBFbmQgSWYKKyAgICAgICAgICAgICAgICAgICAgRW5kIFN5bmNMb2NrCisgICAgICAgICAgICAgICAgRW5kIElmCisjRW5kIElmCisgICAgICAgICAgICAgICAgUmV0dXJuIGRlZmF1bHRJbnN0YW5jZQorICAgICAgICAgICAgRW5kIEdldAorICAgICAgICBFbmQgUHJvcGVydHkKKyAgICBFbmQgQ2xhc3MKK0VuZCBOYW1lc3BhY2UKKworTmFtZXNwYWNlIE15CisKKyAgICA8R2xvYmFsLk1pY3Jvc29mdC5WaXN1YWxCYXNpYy5IaWRlTW9kdWxlTmFtZUF0dHJpYnV0ZSgpLCBfCisgICAgIEdsb2JhbC5TeXN0ZW0uRGlhZ25vc3RpY3MuRGVidWdnZXJOb25Vc2VyQ29kZUF0dHJpYnV0ZSgpLCBfCisgICAgIEdsb2JhbC5TeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzLkNvbXBpbGVyR2VuZXJhdGVkQXR0cmlidXRlKCk+IF8KKyAgICBGcmllbmQgTW9kdWxlIE15U2V0dGluZ3NQcm9wZXJ0eQorCisgICAgICAgIDxHbG9iYWwuU3lzdGVtLkNvbXBvbmVudE1vZGVsLkRlc2lnbi5IZWxwS2V5d29yZEF0dHJpYnV0ZSgiTXkuU2V0dGluZ3MiKT4gXworICAgICAgICBGcmllbmQgUmVhZE9ubHkgUHJvcGVydHkgU2V0dGluZ3MoKSBBcyBHbG9iYWwuQm9va3NBcHAuTXkuTXlTZXR0aW5ncworICAgICAgICAgICAgR2V0CisgICAgICAgICAgICAgICAgUmV0dXJuIEdsb2JhbC5Cb29rc0FwcC5NeS5NeVNldHRpbmdzLkRlZmF1bHQKKyAgICAgICAgICAgIEVuZCBHZXQKKyAgICAgICAgRW5kIFByb3BlcnR5CisgICAgRW5kIE1vZHVsZQorRW5kIE5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9sb2dpbkFuZENvbGxlY3Rpb25TYW1wbGUvQm9va3NBcHAyL015IFByb2plY3QvU2V0dGluZ3Muc2V0dGluZ3MgYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvTXkgUHJvamVjdC9TZXR0aW5ncy5zZXR0aW5ncwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YzI3MGYxCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9sb2dpbkFuZENvbGxlY3Rpb25TYW1wbGUvQm9va3NBcHAyL015IFByb2plY3QvU2V0dGluZ3Muc2V0dGluZ3MKQEAgLTAsMCArMSwyNCBAQAor77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KKzwhLS0KKyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCistLT4KKworPFNldHRpbmdzRmlsZSB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9WaXN1YWxTdHVkaW8vMjAwNC8wMS9zZXR0aW5ncyIgQ3VycmVudFByb2ZpbGU9IihEZWZhdWx0KSIgVXNlTXlTZXR0aW5nc0NsYXNzTmFtZT0idHJ1ZSI+CisgIDxQcm9maWxlcz4KKyAgICA8UHJvZmlsZSBOYW1lPSIoRGVmYXVsdCkiIC8+CisgIDwvUHJvZmlsZXM+CisgIDxTZXR0aW5ncyAvPgorPC9TZXR0aW5nc0ZpbGU+CmRpZmYgLS1naXQgYS9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvU2V0dGluZ3MudmIgYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvU2V0dGluZ3MudmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTFhYTNlMgotLS0gL2Rldi9udWxsCisrKyBiL3NhbXBsZXMvbG9naW5BbmRDb2xsZWN0aW9uU2FtcGxlL0Jvb2tzQXBwMi9TZXR0aW5ncy52YgpAQCAtMCwwICsxLDIyIEBACivvu78nIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorJyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKycgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorJyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorJyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorJyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorJworJyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisnCisnIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKycgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKycgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisnIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKycgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKK1B1YmxpYyBDbGFzcyBTZXR0aW5ncworICAgIFB1YmxpYyBTaGFyZWQgdXNlck5hbWUgQXMgU3RyaW5nCisgICAgUHVibGljIFNoYXJlZCBwYXNzd29yZCBBcyBTdHJpbmcKKyAgICBQdWJsaWMgU2hhcmVkIG9yZyBBcyBTdHJpbmcKKyAgICBQdWJsaWMgU2hhcmVkIGFwcCBBcyBTdHJpbmcKKyAgICBQdWJsaWMgU2hhcmVkIGNsaWVudCBBcyBVc2VyZ3JpZC5TZGsuQ2xpZW50CitFbmQgQ2xhc3MKZGlmZiAtLWdpdCBhL3NhbXBsZXMvbG9naW5BbmRDb2xsZWN0aW9uU2FtcGxlL0Jvb2tzQXBwMi9TZXR0aW5nc0Zvcm0uRGVzaWduZXIudmIgYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvU2V0dGluZ3NGb3JtLkRlc2lnbmVyLnZiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhYjhlNGIKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvU2V0dGluZ3NGb3JtLkRlc2lnbmVyLnZiCkBAIC0wLDAgKzEsMTY0IEBACivvu78nIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorJyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKycgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorJyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorJyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorJyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorJworJyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisnCisnIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKycgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKycgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisnIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKycgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKzxHbG9iYWwuTWljcm9zb2Z0LlZpc3VhbEJhc2ljLkNvbXBpbGVyU2VydmljZXMuRGVzaWduZXJHZW5lcmF0ZWQoKT4gXworUGFydGlhbCBDbGFzcyBTZXR0aW5nc0Zvcm0KKyAgICBJbmhlcml0cyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Gb3JtCisKKyAgICAnRm9ybSBvdmVycmlkZXMgZGlzcG9zZSB0byBjbGVhbiB1cCB0aGUgY29tcG9uZW50IGxpc3QuCisgICAgPFN5c3RlbS5EaWFnbm9zdGljcy5EZWJ1Z2dlck5vblVzZXJDb2RlKCk+IF8KKyAgICBQcm90ZWN0ZWQgT3ZlcnJpZGVzIFN1YiBEaXNwb3NlKEJ5VmFsIGRpc3Bvc2luZyBBcyBCb29sZWFuKQorICAgICAgICBUcnkKKyAgICAgICAgICAgIElmIGRpc3Bvc2luZyBBbmRBbHNvIGNvbXBvbmVudHMgSXNOb3QgTm90aGluZyBUaGVuCisgICAgICAgICAgICAgICAgY29tcG9uZW50cy5EaXNwb3NlKCkKKyAgICAgICAgICAgIEVuZCBJZgorICAgICAgICBGaW5hbGx5CisgICAgICAgICAgICBNeUJhc2UuRGlzcG9zZShkaXNwb3NpbmcpCisgICAgICAgIEVuZCBUcnkKKyAgICBFbmQgU3ViCisKKyAgICAnUmVxdWlyZWQgYnkgdGhlIFdpbmRvd3MgRm9ybSBEZXNpZ25lcgorICAgIFByaXZhdGUgY29tcG9uZW50cyBBcyBTeXN0ZW0uQ29tcG9uZW50TW9kZWwuSUNvbnRhaW5lcgorCisgICAgJ05PVEU6IFRoZSBmb2xsb3dpbmcgcHJvY2VkdXJlIGlzIHJlcXVpcmVkIGJ5IHRoZSBXaW5kb3dzIEZvcm0gRGVzaWduZXIKKyAgICAnSXQgY2FuIGJlIG1vZGlmaWVkIHVzaW5nIHRoZSBXaW5kb3dzIEZvcm0gRGVzaWduZXIuICAKKyAgICAnRG8gbm90IG1vZGlmeSBpdCB1c2luZyB0aGUgY29kZSBlZGl0b3IuCisgICAgPFN5c3RlbS5EaWFnbm9zdGljcy5EZWJ1Z2dlclN0ZXBUaHJvdWdoKCk+IF8KKyAgICBQcml2YXRlIFN1YiBJbml0aWFsaXplQ29tcG9uZW50KCkKKyAgICAgICAgTWUuTGFiZWwxID0gTmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxhYmVsKCkKKyAgICAgICAgTWUudXNlck5hbWUgPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuVGV4dEJveCgpCisgICAgICAgIE1lLkxhYmVsMiA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MYWJlbCgpCisgICAgICAgIE1lLnBhc3N3b3JkID0gTmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLk1hc2tlZFRleHRCb3goKQorICAgICAgICBNZS5MYWJlbDMgPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuTGFiZWwoKQorICAgICAgICBNZS5vcmcgPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuVGV4dEJveCgpCisgICAgICAgIE1lLkxhYmVsNCA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MYWJlbCgpCisgICAgICAgIE1lLmFwcCA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5UZXh0Qm94KCkKKyAgICAgICAgTWUuYnRuU2F2ZSA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5CdXR0b24oKQorICAgICAgICBNZS5TdXNwZW5kTGF5b3V0KCkKKyAgICAgICAgJworICAgICAgICAnTGFiZWwxCisgICAgICAgICcKKyAgICAgICAgTWUuTGFiZWwxLkF1dG9TaXplID0gVHJ1ZQorICAgICAgICBNZS5MYWJlbDEuTG9jYXRpb24gPSBOZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoMzMsIDQ0KQorICAgICAgICBNZS5MYWJlbDEuTWFyZ2luID0gTmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLlBhZGRpbmcoNCwgMCwgNCwgMCkKKyAgICAgICAgTWUuTGFiZWwxLk5hbWUgPSAiTGFiZWwxIgorICAgICAgICBNZS5MYWJlbDEuU2l6ZSA9IE5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDc5LCAxNykKKyAgICAgICAgTWUuTGFiZWwxLlRhYkluZGV4ID0gMAorICAgICAgICBNZS5MYWJlbDEuVGV4dCA9ICJVc2VyIE5hbWUiCisgICAgICAgICcKKyAgICAgICAgJ3VzZXJOYW1lCisgICAgICAgICcKKyAgICAgICAgTWUudXNlck5hbWUuTG9jYXRpb24gPSBOZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoMTIxLCA0MSkKKyAgICAgICAgTWUudXNlck5hbWUuTWFyZ2luID0gTmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLlBhZGRpbmcoNCkKKyAgICAgICAgTWUudXNlck5hbWUuTmFtZSA9ICJ1c2VyTmFtZSIKKyAgICAgICAgTWUudXNlck5hbWUuU2l6ZSA9IE5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDE3OSwgMjIpCisgICAgICAgIE1lLnVzZXJOYW1lLlRhYkluZGV4ID0gMQorICAgICAgICAnCisgICAgICAgICdMYWJlbDIKKyAgICAgICAgJworICAgICAgICBNZS5MYWJlbDIuQXV0b1NpemUgPSBUcnVlCisgICAgICAgIE1lLkxhYmVsMi5Mb2NhdGlvbiA9IE5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCgzNywgOTIpCisgICAgICAgIE1lLkxhYmVsMi5NYXJnaW4gPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuUGFkZGluZyg0LCAwLCA0LCAwKQorICAgICAgICBNZS5MYWJlbDIuTmFtZSA9ICJMYWJlbDIiCisgICAgICAgIE1lLkxhYmVsMi5TaXplID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoNjksIDE3KQorICAgICAgICBNZS5MYWJlbDIuVGFiSW5kZXggPSAyCisgICAgICAgIE1lLkxhYmVsMi5UZXh0ID0gIlBhc3N3b3JkIgorICAgICAgICAnCisgICAgICAgICdwYXNzd29yZAorICAgICAgICAnCisgICAgICAgIE1lLnBhc3N3b3JkLkxvY2F0aW9uID0gTmV3IFN5c3RlbS5EcmF3aW5nLlBvaW50KDEyMSwgOTIpCisgICAgICAgIE1lLnBhc3N3b3JkLk1hcmdpbiA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5QYWRkaW5nKDQpCisgICAgICAgIE1lLnBhc3N3b3JkLk5hbWUgPSAicGFzc3dvcmQiCisgICAgICAgIE1lLnBhc3N3b3JkLlBhc3N3b3JkQ2hhciA9IEdsb2JhbC5NaWNyb3NvZnQuVmlzdWFsQmFzaWMuQ2hyVyg0NikKKyAgICAgICAgTWUucGFzc3dvcmQuU2l6ZSA9IE5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDE3OSwgMjIpCisgICAgICAgIE1lLnBhc3N3b3JkLlRhYkluZGV4ID0gMworICAgICAgICAnCisgICAgICAgICdMYWJlbDMKKyAgICAgICAgJworICAgICAgICBNZS5MYWJlbDMuQXV0b1NpemUgPSBUcnVlCisgICAgICAgIE1lLkxhYmVsMy5Mb2NhdGlvbiA9IE5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCgzNywgMTM0KQorICAgICAgICBNZS5MYWJlbDMuTWFyZ2luID0gTmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLlBhZGRpbmcoNCwgMCwgNCwgMCkKKyAgICAgICAgTWUuTGFiZWwzLk5hbWUgPSAiTGFiZWwzIgorICAgICAgICBNZS5MYWJlbDMuU2l6ZSA9IE5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDMyLCAxNykKKyAgICAgICAgTWUuTGFiZWwzLlRhYkluZGV4ID0gNAorICAgICAgICBNZS5MYWJlbDMuVGV4dCA9ICJPcmciCisgICAgICAgICcKKyAgICAgICAgJ29yZworICAgICAgICAnCisgICAgICAgIE1lLm9yZy5Mb2NhdGlvbiA9IE5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCgxMjEsIDEzNCkKKyAgICAgICAgTWUub3JnLk1hcmdpbiA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5QYWRkaW5nKDQpCisgICAgICAgIE1lLm9yZy5OYW1lID0gIm9yZyIKKyAgICAgICAgTWUub3JnLlNpemUgPSBOZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSgxNzksIDIyKQorICAgICAgICBNZS5vcmcuVGFiSW5kZXggPSA1CisgICAgICAgICcKKyAgICAgICAgJ0xhYmVsNAorICAgICAgICAnCisgICAgICAgIE1lLkxhYmVsNC5BdXRvU2l6ZSA9IFRydWUKKyAgICAgICAgTWUuTGFiZWw0LkxvY2F0aW9uID0gTmV3IFN5c3RlbS5EcmF3aW5nLlBvaW50KDM3LCAxNzcpCisgICAgICAgIE1lLkxhYmVsNC5NYXJnaW4gPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuUGFkZGluZyg0LCAwLCA0LCAwKQorICAgICAgICBNZS5MYWJlbDQuTmFtZSA9ICJMYWJlbDQiCisgICAgICAgIE1lLkxhYmVsNC5TaXplID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoMzMsIDE3KQorICAgICAgICBNZS5MYWJlbDQuVGFiSW5kZXggPSA2CisgICAgICAgIE1lLkxhYmVsNC5UZXh0ID0gIkFwcCIKKyAgICAgICAgJworICAgICAgICAnYXBwCisgICAgICAgICcKKyAgICAgICAgTWUuYXBwLkxvY2F0aW9uID0gTmV3IFN5c3RlbS5EcmF3aW5nLlBvaW50KDEyMSwgMTc3KQorICAgICAgICBNZS5hcHAuTWFyZ2luID0gTmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLlBhZGRpbmcoNCkKKyAgICAgICAgTWUuYXBwLk5hbWUgPSAiYXBwIgorICAgICAgICBNZS5hcHAuU2l6ZSA9IE5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDE3OSwgMjIpCisgICAgICAgIE1lLmFwcC5UYWJJbmRleCA9IDcKKyAgICAgICAgJworICAgICAgICAnYnRuU2F2ZQorICAgICAgICAnCisgICAgICAgIE1lLmJ0blNhdmUuTG9jYXRpb24gPSBOZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoMTIxLCAyNTQpCisgICAgICAgIE1lLmJ0blNhdmUuTWFyZ2luID0gTmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLlBhZGRpbmcoNCkKKyAgICAgICAgTWUuYnRuU2F2ZS5OYW1lID0gImJ0blNhdmUiCisgICAgICAgIE1lLmJ0blNhdmUuU2l6ZSA9IE5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDEyMSwgMjgpCisgICAgICAgIE1lLmJ0blNhdmUuVGFiSW5kZXggPSA4CisgICAgICAgIE1lLmJ0blNhdmUuVGV4dCA9ICJTYXZlIFNldHRpbmdzIgorICAgICAgICBNZS5idG5TYXZlLlVzZVZpc3VhbFN0eWxlQmFja0NvbG9yID0gVHJ1ZQorICAgICAgICAnCisgICAgICAgICdTZXR0aW5nc0Zvcm0KKyAgICAgICAgJworICAgICAgICBNZS5BdXRvU2NhbGVEaW1lbnNpb25zID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemVGKDguMCEsIDE2LjAhKQorICAgICAgICBNZS5BdXRvU2NhbGVNb2RlID0gU3lzdGVtLldpbmRvd3MuRm9ybXMuQXV0b1NjYWxlTW9kZS5Gb250CisgICAgICAgIE1lLkNsaWVudFNpemUgPSBOZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSg1NjcsIDMyMikKKyAgICAgICAgTWUuQ29udHJvbHMuQWRkKE1lLmJ0blNhdmUpCisgICAgICAgIE1lLkNvbnRyb2xzLkFkZChNZS5hcHApCisgICAgICAgIE1lLkNvbnRyb2xzLkFkZChNZS5MYWJlbDQpCisgICAgICAgIE1lLkNvbnRyb2xzLkFkZChNZS5vcmcpCisgICAgICAgIE1lLkNvbnRyb2xzLkFkZChNZS5MYWJlbDMpCisgICAgICAgIE1lLkNvbnRyb2xzLkFkZChNZS5wYXNzd29yZCkKKyAgICAgICAgTWUuQ29udHJvbHMuQWRkKE1lLkxhYmVsMikKKyAgICAgICAgTWUuQ29udHJvbHMuQWRkKE1lLnVzZXJOYW1lKQorICAgICAgICBNZS5Db250cm9scy5BZGQoTWUuTGFiZWwxKQorICAgICAgICBNZS5NYXJnaW4gPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuUGFkZGluZyg0KQorICAgICAgICBNZS5OYW1lID0gIlNldHRpbmdzRm9ybSIKKyAgICAgICAgTWUuVGV4dCA9ICJTZXR0aW5ncyIKKyAgICAgICAgTWUuUmVzdW1lTGF5b3V0KEZhbHNlKQorICAgICAgICBNZS5QZXJmb3JtTGF5b3V0KCkKKworICAgIEVuZCBTdWIKKyAgICBGcmllbmQgV2l0aEV2ZW50cyBMYWJlbDEgQXMgU3lzdGVtLldpbmRvd3MuRm9ybXMuTGFiZWwKKyAgICBGcmllbmQgV2l0aEV2ZW50cyB1c2VyTmFtZSBBcyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5UZXh0Qm94CisgICAgRnJpZW5kIFdpdGhFdmVudHMgTGFiZWwyIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxhYmVsCisgICAgRnJpZW5kIFdpdGhFdmVudHMgcGFzc3dvcmQgQXMgU3lzdGVtLldpbmRvd3MuRm9ybXMuTWFza2VkVGV4dEJveAorICAgIEZyaWVuZCBXaXRoRXZlbnRzIExhYmVsMyBBcyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MYWJlbAorICAgIEZyaWVuZCBXaXRoRXZlbnRzIG9yZyBBcyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5UZXh0Qm94CisgICAgRnJpZW5kIFdpdGhFdmVudHMgTGFiZWw0IEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxhYmVsCisgICAgRnJpZW5kIFdpdGhFdmVudHMgYXBwIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLlRleHRCb3gKKyAgICBGcmllbmQgV2l0aEV2ZW50cyBidG5TYXZlIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLkJ1dHRvbgorRW5kIENsYXNzCmRpZmYgLS1naXQgYS9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvU2V0dGluZ3NGb3JtLnJlc3ggYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvU2V0dGluZ3NGb3JtLnJlc3gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODVkMWQ3OAotLS0gL2Rldi9udWxsCisrKyBiL3NhbXBsZXMvbG9naW5BbmRDb2xsZWN0aW9uU2FtcGxlL0Jvb2tzQXBwMi9TZXR0aW5nc0Zvcm0ucmVzeApAQCAtMCwwICsxLDEzNyBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhLS0KKyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCistLT4KKworPHJvb3Q+CisgIDwhLS0gCisgICAgTWljcm9zb2Z0IFJlc1ggU2NoZW1hIAorICAgIAorICAgIFZlcnNpb24gMi4wCisgICAgCisgICAgVGhlIHByaW1hcnkgZ29hbHMgb2YgdGhpcyBmb3JtYXQgaXMgdG8gYWxsb3cgYSBzaW1wbGUgWE1MIGZvcm1hdCAKKyAgICB0aGF0IGlzIG1vc3RseSBodW1hbiByZWFkYWJsZS4gVGhlIGdlbmVyYXRpb24gYW5kIHBhcnNpbmcgb2YgdGhlIAorICAgIHZhcmlvdXMgZGF0YSB0eXBlcyBhcmUgZG9uZSB0aHJvdWdoIHRoZSBUeXBlQ29udmVydGVyIGNsYXNzZXMgCisgICAgYXNzb2NpYXRlZCB3aXRoIHRoZSBkYXRhIHR5cGVzLgorICAgIAorICAgIEV4YW1wbGU6CisgICAgCisgICAgLi4uIGFkby5uZXQvWE1MIGhlYWRlcnMgJiBzY2hlbWEgLi4uCisgICAgPHJlc2hlYWRlciBuYW1lPSJyZXNtaW1ldHlwZSI+dGV4dC9taWNyb3NvZnQtcmVzeDwvcmVzaGVhZGVyPgorICAgIDxyZXNoZWFkZXIgbmFtZT0idmVyc2lvbiI+Mi4wPC9yZXNoZWFkZXI+CisgICAgPHJlc2hlYWRlciBuYW1lPSJyZWFkZXIiPlN5c3RlbS5SZXNvdXJjZXMuUmVzWFJlc291cmNlUmVhZGVyLCBTeXN0ZW0uV2luZG93cy5Gb3JtcywgLi4uPC9yZXNoZWFkZXI+CisgICAgPHJlc2hlYWRlciBuYW1lPSJ3cml0ZXIiPlN5c3RlbS5SZXNvdXJjZXMuUmVzWFJlc291cmNlV3JpdGVyLCBTeXN0ZW0uV2luZG93cy5Gb3JtcywgLi4uPC9yZXNoZWFkZXI+CisgICAgPGRhdGEgbmFtZT0iTmFtZTEiPjx2YWx1ZT50aGlzIGlzIG15IGxvbmcgc3RyaW5nPC92YWx1ZT48Y29tbWVudD50aGlzIGlzIGEgY29tbWVudDwvY29tbWVudD48L2RhdGE+CisgICAgPGRhdGEgbmFtZT0iQ29sb3IxIiB0eXBlPSJTeXN0ZW0uRHJhd2luZy5Db2xvciwgU3lzdGVtLkRyYXdpbmciPkJsdWU8L2RhdGE+CisgICAgPGRhdGEgbmFtZT0iQml0bWFwMSIgbWltZXR5cGU9ImFwcGxpY2F0aW9uL3gtbWljcm9zb2Z0Lm5ldC5vYmplY3QuYmluYXJ5LmJhc2U2NCI+CisgICAgICAgIDx2YWx1ZT5bYmFzZTY0IG1pbWUgZW5jb2RlZCBzZXJpYWxpemVkIC5ORVQgRnJhbWV3b3JrIG9iamVjdF08L3ZhbHVlPgorICAgIDwvZGF0YT4KKyAgICA8ZGF0YSBuYW1lPSJJY29uMSIgdHlwZT0iU3lzdGVtLkRyYXdpbmcuSWNvbiwgU3lzdGVtLkRyYXdpbmciIG1pbWV0eXBlPSJhcHBsaWNhdGlvbi94LW1pY3Jvc29mdC5uZXQub2JqZWN0LmJ5dGVhcnJheS5iYXNlNjQiPgorICAgICAgICA8dmFsdWU+W2Jhc2U2NCBtaW1lIGVuY29kZWQgc3RyaW5nIHJlcHJlc2VudGluZyBhIGJ5dGUgYXJyYXkgZm9ybSBvZiB0aGUgLk5FVCBGcmFtZXdvcmsgb2JqZWN0XTwvdmFsdWU+CisgICAgICAgIDxjb21tZW50PlRoaXMgaXMgYSBjb21tZW50PC9jb21tZW50PgorICAgIDwvZGF0YT4KKyAgICAgICAgICAgICAgICAKKyAgICBUaGVyZSBhcmUgYW55IG51bWJlciBvZiAicmVzaGVhZGVyIiByb3dzIHRoYXQgY29udGFpbiBzaW1wbGUgCisgICAgbmFtZS92YWx1ZSBwYWlycy4KKyAgICAKKyAgICBFYWNoIGRhdGEgcm93IGNvbnRhaW5zIGEgbmFtZSwgYW5kIHZhbHVlLiBUaGUgcm93IGFsc28gY29udGFpbnMgYSAKKyAgICB0eXBlIG9yIG1pbWV0eXBlLiBUeXBlIGNvcnJlc3BvbmRzIHRvIGEgLk5FVCBjbGFzcyB0aGF0IHN1cHBvcnQgCisgICAgdGV4dC92YWx1ZSBjb252ZXJzaW9uIHRocm91Z2ggdGhlIFR5cGVDb252ZXJ0ZXIgYXJjaGl0ZWN0dXJlLiAKKyAgICBDbGFzc2VzIHRoYXQgZG9uJ3Qgc3VwcG9ydCB0aGlzIGFyZSBzZXJpYWxpemVkIGFuZCBzdG9yZWQgd2l0aCB0aGUgCisgICAgbWltZXR5cGUgc2V0LgorICAgIAorICAgIFRoZSBtaW1ldHlwZSBpcyB1c2VkIGZvciBzZXJpYWxpemVkIG9iamVjdHMsIGFuZCB0ZWxscyB0aGUgCisgICAgUmVzWFJlc291cmNlUmVhZGVyIGhvdyB0byBkZXBlcnNpc3QgdGhlIG9iamVjdC4gVGhpcyBpcyBjdXJyZW50bHkgbm90IAorICAgIGV4dGVuc2libGUuIEZvciBhIGdpdmVuIG1pbWV0eXBlIHRoZSB2YWx1ZSBtdXN0IGJlIHNldCBhY2NvcmRpbmdseToKKyAgICAKKyAgICBOb3RlIC0gYXBwbGljYXRpb24veC1taWNyb3NvZnQubmV0Lm9iamVjdC5iaW5hcnkuYmFzZTY0IGlzIHRoZSBmb3JtYXQgCisgICAgdGhhdCB0aGUgUmVzWFJlc291cmNlV3JpdGVyIHdpbGwgZ2VuZXJhdGUsIGhvd2V2ZXIgdGhlIHJlYWRlciBjYW4gCisgICAgcmVhZCBhbnkgb2YgdGhlIGZvcm1hdHMgbGlzdGVkIGJlbG93LgorICAgIAorICAgIG1pbWV0eXBlOiBhcHBsaWNhdGlvbi94LW1pY3Jvc29mdC5uZXQub2JqZWN0LmJpbmFyeS5iYXNlNjQKKyAgICB2YWx1ZSAgIDogVGhlIG9iamVjdCBtdXN0IGJlIHNlcmlhbGl6ZWQgd2l0aCAKKyAgICAgICAgICAgIDogU3lzdGVtLlJ1bnRpbWUuU2VyaWFsaXphdGlvbi5Gb3JtYXR0ZXJzLkJpbmFyeS5CaW5hcnlGb3JtYXR0ZXIKKyAgICAgICAgICAgIDogYW5kIHRoZW4gZW5jb2RlZCB3aXRoIGJhc2U2NCBlbmNvZGluZy4KKyAgICAKKyAgICBtaW1ldHlwZTogYXBwbGljYXRpb24veC1taWNyb3NvZnQubmV0Lm9iamVjdC5zb2FwLmJhc2U2NAorICAgIHZhbHVlICAgOiBUaGUgb2JqZWN0IG11c3QgYmUgc2VyaWFsaXplZCB3aXRoIAorICAgICAgICAgICAgOiBTeXN0ZW0uUnVudGltZS5TZXJpYWxpemF0aW9uLkZvcm1hdHRlcnMuU29hcC5Tb2FwRm9ybWF0dGVyCisgICAgICAgICAgICA6IGFuZCB0aGVuIGVuY29kZWQgd2l0aCBiYXNlNjQgZW5jb2RpbmcuCisKKyAgICBtaW1ldHlwZTogYXBwbGljYXRpb24veC1taWNyb3NvZnQubmV0Lm9iamVjdC5ieXRlYXJyYXkuYmFzZTY0CisgICAgdmFsdWUgICA6IFRoZSBvYmplY3QgbXVzdCBiZSBzZXJpYWxpemVkIGludG8gYSBieXRlIGFycmF5IAorICAgICAgICAgICAgOiB1c2luZyBhIFN5c3RlbS5Db21wb25lbnRNb2RlbC5UeXBlQ29udmVydGVyCisgICAgICAgICAgICA6IGFuZCB0aGVuIGVuY29kZWQgd2l0aCBiYXNlNjQgZW5jb2RpbmcuCisgICAgLS0+CisgIDx4c2Q6c2NoZW1hIGlkPSJyb290IiB4bWxucz0iIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczptc2RhdGE9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206eG1sLW1zZGF0YSI+CisgICAgPHhzZDppbXBvcnQgbmFtZXNwYWNlPSJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiIC8+CisgICAgPHhzZDplbGVtZW50IG5hbWU9InJvb3QiIG1zZGF0YTpJc0RhdGFTZXQ9InRydWUiPgorICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgPHhzZDpjaG9pY2UgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJtZXRhZGF0YSI+CisgICAgICAgICAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgICAgICA8eHNkOnNlcXVlbmNlPgorICAgICAgICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdHlwZT0ieHNkOnN0cmluZyIgbWluT2NjdXJzPSIwIiAvPgorICAgICAgICAgICAgICA8L3hzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibmFtZSIgdXNlPSJyZXF1aXJlZCIgdHlwZT0ieHNkOnN0cmluZyIgLz4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0idHlwZSIgdHlwZT0ieHNkOnN0cmluZyIgLz4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibWltZXR5cGUiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIHJlZj0ieG1sOnNwYWNlIiAvPgorICAgICAgICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iYXNzZW1ibHkiPgorICAgICAgICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iYWxpYXMiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9Im5hbWUiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICAgICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJkYXRhIj4KKyAgICAgICAgICAgIDx4c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgICAgIDx4c2Q6c2VxdWVuY2U+CisgICAgICAgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InZhbHVlIiB0eXBlPSJ4c2Q6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1zZGF0YTpPcmRpbmFsPSIxIiAvPgorICAgICAgICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJjb21tZW50IiB0eXBlPSJ4c2Q6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1zZGF0YTpPcmRpbmFsPSIyIiAvPgorICAgICAgICAgICAgICA8L3hzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibmFtZSIgdHlwZT0ieHNkOnN0cmluZyIgdXNlPSJyZXF1aXJlZCIgbXNkYXRhOk9yZGluYWw9IjEiIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9InR5cGUiIHR5cGU9InhzZDpzdHJpbmciIG1zZGF0YTpPcmRpbmFsPSIzIiAvPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJtaW1ldHlwZSIgdHlwZT0ieHNkOnN0cmluZyIgbXNkYXRhOk9yZGluYWw9IjQiIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIHJlZj0ieG1sOnNwYWNlIiAvPgorICAgICAgICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0icmVzaGVhZGVyIj4KKyAgICAgICAgICAgIDx4c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgICAgIDx4c2Q6c2VxdWVuY2U+CisgICAgICAgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InZhbHVlIiB0eXBlPSJ4c2Q6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1zZGF0YTpPcmRpbmFsPSIxIiAvPgorICAgICAgICAgICAgICA8L3hzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibmFtZSIgdHlwZT0ieHNkOnN0cmluZyIgdXNlPSJyZXF1aXJlZCIgLz4KKyAgICAgICAgICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgIDwveHNkOmVsZW1lbnQ+CisgICAgICAgIDwveHNkOmNob2ljZT4KKyAgICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICAgIDwveHNkOmVsZW1lbnQ+CisgIDwveHNkOnNjaGVtYT4KKyAgPHJlc2hlYWRlciBuYW1lPSJyZXNtaW1ldHlwZSI+CisgICAgPHZhbHVlPnRleHQvbWljcm9zb2Z0LXJlc3g8L3ZhbHVlPgorICA8L3Jlc2hlYWRlcj4KKyAgPHJlc2hlYWRlciBuYW1lPSJ2ZXJzaW9uIj4KKyAgICA8dmFsdWU+Mi4wPC92YWx1ZT4KKyAgPC9yZXNoZWFkZXI+CisgIDxyZXNoZWFkZXIgbmFtZT0icmVhZGVyIj4KKyAgICA8dmFsdWU+U3lzdGVtLlJlc291cmNlcy5SZXNYUmVzb3VyY2VSZWFkZXIsIFN5c3RlbS5XaW5kb3dzLkZvcm1zLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OTwvdmFsdWU+CisgIDwvcmVzaGVhZGVyPgorICA8cmVzaGVhZGVyIG5hbWU9IndyaXRlciI+CisgICAgPHZhbHVlPlN5c3RlbS5SZXNvdXJjZXMuUmVzWFJlc291cmNlV3JpdGVyLCBTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODk8L3ZhbHVlPgorICA8L3Jlc2hlYWRlcj4KKzwvcm9vdD4KZGlmZiAtLWdpdCBhL3NhbXBsZXMvbG9naW5BbmRDb2xsZWN0aW9uU2FtcGxlL0Jvb2tzQXBwMi9TZXR0aW5nc0Zvcm0udmIgYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvU2V0dGluZ3NGb3JtLnZiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkYWZlNmUKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9Cb29rc0FwcDIvU2V0dGluZ3NGb3JtLnZiCkBAIC0wLDAgKzEsNDQgQEAKK++7vycgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisnIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorJyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisnIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisnICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisnIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisnCisnICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKycKKycgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorJyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorJyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKycgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorJyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworSW1wb3J0cyBVc2VyZ3JpZC5TZGsKKworUHVibGljIENsYXNzIFNldHRpbmdzRm9ybQorCisgICAgUHJpdmF0ZSBTdWIgYnRuU2F2ZV9DbGljayhzZW5kZXIgQXMgT2JqZWN0LCBlIEFzIEV2ZW50QXJncykgSGFuZGxlcyBidG5TYXZlLkNsaWNrCisgICAgICAgIFNldHRpbmdzLnVzZXJOYW1lID0gdXNlck5hbWUuVGV4dAorICAgICAgICBTZXR0aW5ncy5wYXNzd29yZCA9IHBhc3N3b3JkLlRleHQKKyAgICAgICAgU2V0dGluZ3Mub3JnID0gb3JnLlRleHQKKyAgICAgICAgU2V0dGluZ3MuYXBwID0gYXBwLlRleHQKKyAgICAgICAgU2V0dGluZ3MuY2xpZW50ID0gTmV3IENsaWVudChTZXR0aW5ncy5vcmcsIFNldHRpbmdzLmFwcCkKKyAgICAgICAgU2V0dGluZ3MuY2xpZW50LkxvZ2luKFNldHRpbmdzLnVzZXJOYW1lLCBTZXR0aW5ncy5wYXNzd29yZCwgQXV0aFR5cGUuVXNlcikKKyAgICAgICAgTWUuQ2xvc2UoKQorICAgIEVuZCBTdWIKKworICAgIFByaXZhdGUgU3ViIFNldHRpbmdzRm9ybV9Mb2FkKHNlbmRlciBBcyBPYmplY3QsIGUgQXMgRXZlbnRBcmdzKSBIYW5kbGVzIE15QmFzZS5Mb2FkCisgICAgICAgIElmIFNldHRpbmdzLnVzZXJOYW1lIElzTm90IE5vdGhpbmcgVGhlbgorICAgICAgICAgICAgdXNlck5hbWUuVGV4dCA9IFNldHRpbmdzLnVzZXJOYW1lCisgICAgICAgIEVuZCBJZgorICAgICAgICBJZiBTZXR0aW5ncy5wYXNzd29yZCBJc05vdCBOb3RoaW5nIFRoZW4KKyAgICAgICAgICAgIHBhc3N3b3JkLlRleHQgPSBTZXR0aW5ncy5wYXNzd29yZAorICAgICAgICBFbmQgSWYKKyAgICAgICAgSWYgU2V0dGluZ3Mub3JnIElzTm90IE5vdGhpbmcgVGhlbgorICAgICAgICAgICAgb3JnLlRleHQgPSBTZXR0aW5ncy5vcmcKKyAgICAgICAgRW5kIElmCisgICAgICAgIElmIFNldHRpbmdzLmFwcCBJc05vdCBOb3RoaW5nIFRoZW4KKyAgICAgICAgICAgIGFwcC5UZXh0ID0gU2V0dGluZ3MuYXBwCisgICAgICAgIEVuZCBJZgorICAgIEVuZCBTdWIKK0VuZCBDbGFzcwpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9sb2dpbkFuZENvbGxlY3Rpb25TYW1wbGUvUmVhZG1lLm1kIGIvc2FtcGxlcy9sb2dpbkFuZENvbGxlY3Rpb25TYW1wbGUvUmVhZG1lLm1kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3MDVkOGYKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL2xvZ2luQW5kQ29sbGVjdGlvblNhbXBsZS9SZWFkbWUubWQKQEAgLTAsMCArMSwxNyBAQAorQm9va3MgU2FtcGxlIEFwcGxpY2F0aW9uCisKK0J1aWx0IHdpdGggTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gMjAxMywgYnV0IGVhcmxpZXIgdmVyc2lvbnMgKDIwMTAgb3IgbGF0ZXIpIHNob3VsZCB3b3JrCisKK1RvIHJ1biB0aGUgYXBwbGljYXRpb246CisKKzEuIFNpZ24gdXAgZm9yIGZyZWUgQXBwIFNlcnZpY2VzIGFjY291bnQgYXQgd3d3LmFwaWdlZS5jb20KKzIuIExvZyBpbiB0byBBcHAgU2VydmljZXMgQWRtaW4gUG9ydGFsCiszLiBDcmVhdGUgYSBuZXcgYXBwCis0LiBDcmVhdGUgYSBuZXcgQ29sbGVjdGlvbiBuYW1lZCAiYm9va3MiIGluIHRoZSBuZXcgYXBwCis1LiBDcmVhdGUgYSB1c2VyIHRoYXQgaGFzIGZ1bGwgcGVybWlzc2lvbnMgdG8gdGhlIGJvb2tzIGNvbGxlY3Rpb24KKzYuIE9wZW4gdGhlIEJvb2tzQXBwIHNvbHV0aW9uIGZpbGUgaW4gVmlzdWFsIFN0dWRpbworNy4gUnVuIHRoZSBhcHBsaWNhdGlvbgorOC4gQ2xpY2sgb24gdGhlIFNldHRpbmdzIGJ1dHRvbi4gIEZpbGwgaW4gdGhlIHJlc3VsdGluZyBkaWFsb2cgd2l0aCB0aGUgb3JnLCBhcHAsIGFuZCB1c2VyIGNyZWRlbnRpYWxzCis5LiBDbGljayBSZXRyaWV2ZSBCb29rcyB0byBnZXQgYSBsaXN0IG9mIGFueSBleGlzdGluZyBib29rcworMTAuIENsaWNrIEFkZCBBIEJvb2suICBGaWxsIG91dCB0aGUgcmVzdWx0aW5nIGRpYWxvZyB0byBhZGQgYSBuZXcgZW50cnkKKzExLiBTZWxlY3QgYW4gZW50cnkgYW5kIGNsaWNrIERlbGV0ZSBCb29rLiAgVGhlIGVudHJ5IHdpbGwgYmUgZGVsZXRlZC4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zYW1wbGVzL21lc3NhZ2VlVHV0b3JpYWwvTWVzc2FnZWUuc2xuIGIvc2FtcGxlcy9tZXNzYWdlZVR1dG9yaWFsL01lc3NhZ2VlLnNsbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YmQ2ODk2Ci0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9tZXNzYWdlZVR1dG9yaWFsL01lc3NhZ2VlLnNsbgpAQCAtMCwwICsxLDM2IEBACivvu78jIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorIyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyMgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorIyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorIyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorIyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorIworIyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisjCisjIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyMgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisjIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyMgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKK01pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIFNvbHV0aW9uIEZpbGUsIEZvcm1hdCBWZXJzaW9uIDEyLjAwCisjIFZpc3VhbCBTdHVkaW8gMjAxMworVmlzdWFsU3R1ZGlvVmVyc2lvbiA9IDEyLjAuMjA4MjcuMworTWluaW11bVZpc3VhbFN0dWRpb1ZlcnNpb24gPSAxMC4wLjQwMjE5LjEKK1Byb2plY3QoIntGMTg0QjA4Ri1DODFDLTQ1RjYtQTU3Ri01QUJEOTk5MUYyOEZ9IikgPSAiTWVzc2FnZWUiLCAiTWVzc2FnZWVcTWVzc2FnZWUudmJwcm9qIiwgIntFOEMzOTY3RS0xMUYyLTQ5RTgtODgxOC1BQkY4M0Y5OTI3QjJ9IgorRW5kUHJvamVjdAorR2xvYmFsCisJR2xvYmFsU2VjdGlvbihTb2x1dGlvbkNvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcHJlU29sdXRpb24KKwkJRGVidWd8QW55IENQVSA9IERlYnVnfEFueSBDUFUKKwkJUmVsZWFzZXxBbnkgQ1BVID0gUmVsZWFzZXxBbnkgQ1BVCisJRW5kR2xvYmFsU2VjdGlvbgorCUdsb2JhbFNlY3Rpb24oUHJvamVjdENvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcG9zdFNvbHV0aW9uCisJCXtFOEMzOTY3RS0xMUYyLTQ5RTgtODgxOC1BQkY4M0Y5OTI3QjJ9LkRlYnVnfEFueSBDUFUuQWN0aXZlQ2ZnID0gRGVidWd8QW55IENQVQorCQl7RThDMzk2N0UtMTFGMi00OUU4LTg4MTgtQUJGODNGOTkyN0IyfS5EZWJ1Z3xBbnkgQ1BVLkJ1aWxkLjAgPSBEZWJ1Z3xBbnkgQ1BVCisJCXtFOEMzOTY3RS0xMUYyLTQ5RTgtODgxOC1BQkY4M0Y5OTI3QjJ9LlJlbGVhc2V8QW55IENQVS5BY3RpdmVDZmcgPSBSZWxlYXNlfEFueSBDUFUKKwkJe0U4QzM5NjdFLTExRjItNDlFOC04ODE4LUFCRjgzRjk5MjdCMn0uUmVsZWFzZXxBbnkgQ1BVLkJ1aWxkLjAgPSBSZWxlYXNlfEFueSBDUFUKKwlFbmRHbG9iYWxTZWN0aW9uCisJR2xvYmFsU2VjdGlvbihTb2x1dGlvblByb3BlcnRpZXMpID0gcHJlU29sdXRpb24KKwkJSGlkZVNvbHV0aW9uTm9kZSA9IEZBTFNFCisJRW5kR2xvYmFsU2VjdGlvbgorRW5kR2xvYmFsCmRpZmYgLS1naXQgYS9zYW1wbGVzL21lc3NhZ2VlVHV0b3JpYWwvTWVzc2FnZWUvQXBwLmNvbmZpZyBiL3NhbXBsZXMvbWVzc2FnZWVUdXRvcmlhbC9NZXNzYWdlZS9BcHAuY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0NjUxZjMKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL21lc3NhZ2VlVHV0b3JpYWwvTWVzc2FnZWUvQXBwLmNvbmZpZwpAQCAtMCwwICsxLDIzIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCIgPz4KKzwhLS0KKyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCistLT4KKworPGNvbmZpZ3VyYXRpb24+CisgICAgPHN0YXJ0dXA+CisgICAgICAgIDxzdXBwb3J0ZWRSdW50aW1lIHZlcnNpb249InY0LjAiIHNrdT0iLk5FVEZyYW1ld29yayxWZXJzaW9uPXY0LjUiIC8+CisgICAgPC9zdGFydHVwPgorPC9jb25maWd1cmF0aW9uPgpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9tZXNzYWdlZVR1dG9yaWFsL01lc3NhZ2VlL0dsb2JhbHMudmIgYi9zYW1wbGVzL21lc3NhZ2VlVHV0b3JpYWwvTWVzc2FnZWUvR2xvYmFscy52YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNDkwNThmCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9tZXNzYWdlZVR1dG9yaWFsL01lc3NhZ2VlL0dsb2JhbHMudmIKQEAgLTAsMCArMSwyMiBAQAor77u/JyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKycgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisnIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKycgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKycgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKycgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKycKKycgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorJworJyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisnIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisnIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorJyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisnIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCitJbXBvcnRzIFVzZXJncmlkLlNkaworCitQdWJsaWMgQ2xhc3MgR2xvYmFscworICAgIFB1YmxpYyBTaGFyZWQgY2xpZW50IEFzIFVzZXJncmlkLlNkay5DbGllbnQKKyAgICBQdWJsaWMgU2hhcmVkIG1haW5XaW5kb3cgQXMgTWVzc2FnZWVNYWluV2luZG93CisKK0VuZCBDbGFzcwpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9tZXNzYWdlZVR1dG9yaWFsL01lc3NhZ2VlL01haW5Gb3JtLkRlc2lnbmVyLnZiIGIvc2FtcGxlcy9tZXNzYWdlZVR1dG9yaWFsL01lc3NhZ2VlL01haW5Gb3JtLkRlc2lnbmVyLnZiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyODViZTIKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL21lc3NhZ2VlVHV0b3JpYWwvTWVzc2FnZWUvTWFpbkZvcm0uRGVzaWduZXIudmIKQEAgLTAsMCArMSwyNjAgQEAKK++7vycgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisnIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorJyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisnIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisnICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisnIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisnCisnICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKycKKycgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorJyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorJyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKycgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorJyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworCis8R2xvYmFsLk1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzLkRlc2lnbmVyR2VuZXJhdGVkKCk+IF8KK1BhcnRpYWwgQ2xhc3MgTWVzc2FnZWVNYWluV2luZG93CisgICAgSW5oZXJpdHMgU3lzdGVtLldpbmRvd3MuRm9ybXMuRm9ybQorCisgICAgJ0Zvcm0gb3ZlcnJpZGVzIGRpc3Bvc2UgdG8gY2xlYW4gdXAgdGhlIGNvbXBvbmVudCBsaXN0LgorICAgIDxTeXN0ZW0uRGlhZ25vc3RpY3MuRGVidWdnZXJOb25Vc2VyQ29kZSgpPiBfCisgICAgUHJvdGVjdGVkIE92ZXJyaWRlcyBTdWIgRGlzcG9zZShCeVZhbCBkaXNwb3NpbmcgQXMgQm9vbGVhbikKKyAgICAgICAgVHJ5CisgICAgICAgICAgICBJZiBkaXNwb3NpbmcgQW5kQWxzbyBjb21wb25lbnRzIElzTm90IE5vdGhpbmcgVGhlbgorICAgICAgICAgICAgICAgIGNvbXBvbmVudHMuRGlzcG9zZSgpCisgICAgICAgICAgICBFbmQgSWYKKyAgICAgICAgRmluYWxseQorICAgICAgICAgICAgTXlCYXNlLkRpc3Bvc2UoZGlzcG9zaW5nKQorICAgICAgICBFbmQgVHJ5CisgICAgRW5kIFN1YgorCisgICAgJ1JlcXVpcmVkIGJ5IHRoZSBXaW5kb3dzIEZvcm0gRGVzaWduZXIKKyAgICBQcml2YXRlIGNvbXBvbmVudHMgQXMgU3lzdGVtLkNvbXBvbmVudE1vZGVsLklDb250YWluZXIKKworICAgICdOT1RFOiBUaGUgZm9sbG93aW5nIHByb2NlZHVyZSBpcyByZXF1aXJlZCBieSB0aGUgV2luZG93cyBGb3JtIERlc2lnbmVyCisgICAgJ0l0IGNhbiBiZSBtb2RpZmllZCB1c2luZyB0aGUgV2luZG93cyBGb3JtIERlc2lnbmVyLiAgCisgICAgJ0RvIG5vdCBtb2RpZnkgaXQgdXNpbmcgdGhlIGNvZGUgZWRpdG9yLgorICAgIDxTeXN0ZW0uRGlhZ25vc3RpY3MuRGVidWdnZXJTdGVwVGhyb3VnaCgpPiBfCisgICAgUHJpdmF0ZSBTdWIgSW5pdGlhbGl6ZUNvbXBvbmVudCgpCisgICAgICAgIE1lLlVzZXJzTGFiZWwgPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuTGFiZWwoKQorICAgICAgICBNZS5Qb3N0TWVzc2FnZSA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5SaWNoVGV4dEJveCgpCisgICAgICAgIE1lLk1lc3NhZ2VMYWJlbCA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MYWJlbCgpCisgICAgICAgIE1lLk1lbnVTdHJpcDEgPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuTWVudVN0cmlwKCkKKyAgICAgICAgTWUuTWVudVN0cmlwMiA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5NZW51U3RyaXAoKQorICAgICAgICBNZS5Vc2VyRGV0YWlsc1Rvb2xTdHJpcE1lbnVJdGVtID0gTmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLlRvb2xTdHJpcE1lbnVJdGVtKCkKKyAgICAgICAgTWUuU2V0dGluZ3NUb29sU3RyaXBNZW51SXRlbSA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ub29sU3RyaXBNZW51SXRlbSgpCisgICAgICAgIE1lLkZvbGxvd2VycyA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Qm94KCkKKyAgICAgICAgTWUuTGFiZWwxID0gTmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxhYmVsKCkKKyAgICAgICAgTWUuVXNlcnMgPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdEJveCgpCisgICAgICAgIE1lLkxhYmVsMiA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MYWJlbCgpCisgICAgICAgIE1lLkZvbGxvd2luZyA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Qm94KCkKKyAgICAgICAgTWUuYnRuUG9zdCA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5CdXR0b24oKQorICAgICAgICBNZS5Zb3VyRmVlZCA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5UYWJQYWdlKCkKKyAgICAgICAgTWUuWW91ckZlZWRCb3ggPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuUmljaFRleHRCb3goKQorICAgICAgICBNZS5SaWNoVGV4dEJveDEgPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuUmljaFRleHRCb3goKQorICAgICAgICBNZS5GZWVkcyA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5UYWJDb250cm9sKCkKKyAgICAgICAgTWUuTWVudVN0cmlwMi5TdXNwZW5kTGF5b3V0KCkKKyAgICAgICAgTWUuWW91ckZlZWQuU3VzcGVuZExheW91dCgpCisgICAgICAgIE1lLkZlZWRzLlN1c3BlbmRMYXlvdXQoKQorICAgICAgICBNZS5TdXNwZW5kTGF5b3V0KCkKKyAgICAgICAgJworICAgICAgICAnVXNlcnNMYWJlbAorICAgICAgICAnCisgICAgICAgIE1lLlVzZXJzTGFiZWwuQXV0b1NpemUgPSBUcnVlCisgICAgICAgIE1lLlVzZXJzTGFiZWwuRm9udCA9IE5ldyBTeXN0ZW0uRHJhd2luZy5Gb250KCJNaWNyb3NvZnQgU2FucyBTZXJpZiIsIDEwLjIhLCBTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUuQm9sZCwgU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0LlBvaW50LCBDVHlwZSgwLCBCeXRlKSkKKyAgICAgICAgTWUuVXNlcnNMYWJlbC5Mb2NhdGlvbiA9IE5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCgxMiwgMzk3KQorICAgICAgICBNZS5Vc2Vyc0xhYmVsLk5hbWUgPSAiVXNlcnNMYWJlbCIKKyAgICAgICAgTWUuVXNlcnNMYWJlbC5TaXplID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoMTE4LCAyMCkKKyAgICAgICAgTWUuVXNlcnNMYWJlbC5UYWJJbmRleCA9IDIKKyAgICAgICAgTWUuVXNlcnNMYWJlbC5UZXh0ID0gIkNob29zZSBVc2VyIgorICAgICAgICAnCisgICAgICAgICdQb3N0TWVzc2FnZQorICAgICAgICAnCisgICAgICAgIE1lLlBvc3RNZXNzYWdlLkxvY2F0aW9uID0gTmV3IFN5c3RlbS5EcmF3aW5nLlBvaW50KDI1MCwgNDI0KQorICAgICAgICBNZS5Qb3N0TWVzc2FnZS5OYW1lID0gIlBvc3RNZXNzYWdlIgorICAgICAgICBNZS5Qb3N0TWVzc2FnZS5TaXplID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoMzQyLCA5NikKKyAgICAgICAgTWUuUG9zdE1lc3NhZ2UuVGFiSW5kZXggPSAzCisgICAgICAgIE1lLlBvc3RNZXNzYWdlLlRleHQgPSAiIgorICAgICAgICAnCisgICAgICAgICdNZXNzYWdlTGFiZWwKKyAgICAgICAgJworICAgICAgICBNZS5NZXNzYWdlTGFiZWwuQXV0b1NpemUgPSBUcnVlCisgICAgICAgIE1lLk1lc3NhZ2VMYWJlbC5Gb250ID0gTmV3IFN5c3RlbS5EcmF3aW5nLkZvbnQoIk1pY3Jvc29mdCBTYW5zIFNlcmlmIiwgMTAuMiEsIFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZS5Cb2xkLCBTeXN0ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQuUG9pbnQsIENUeXBlKDAsIEJ5dGUpKQorICAgICAgICBNZS5NZXNzYWdlTGFiZWwuTG9jYXRpb24gPSBOZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoMjQ2LCAzOTcpCisgICAgICAgIE1lLk1lc3NhZ2VMYWJlbC5OYW1lID0gIk1lc3NhZ2VMYWJlbCIKKyAgICAgICAgTWUuTWVzc2FnZUxhYmVsLlNpemUgPSBOZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSgxNDYsIDIwKQorICAgICAgICBNZS5NZXNzYWdlTGFiZWwuVGFiSW5kZXggPSA0CisgICAgICAgIE1lLk1lc3NhZ2VMYWJlbC5UZXh0ID0gIlBvc3QgQSBNZXNzYWdlIgorICAgICAgICAnCisgICAgICAgICdNZW51U3RyaXAxCisgICAgICAgICcKKyAgICAgICAgTWUuTWVudVN0cmlwMS5Mb2NhdGlvbiA9IE5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCgwLCAyOCkKKyAgICAgICAgTWUuTWVudVN0cmlwMS5OYW1lID0gIk1lbnVTdHJpcDEiCisgICAgICAgIE1lLk1lbnVTdHJpcDEuU2l6ZSA9IE5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDc2MywgMjQpCisgICAgICAgIE1lLk1lbnVTdHJpcDEuVGFiSW5kZXggPSA1CisgICAgICAgIE1lLk1lbnVTdHJpcDEuVGV4dCA9ICJNZW51U3RyaXAxIgorICAgICAgICAnCisgICAgICAgICdNZW51U3RyaXAyCisgICAgICAgICcKKyAgICAgICAgTWUuTWVudVN0cmlwMi5JdGVtcy5BZGRSYW5nZShOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuVG9vbFN0cmlwSXRlbSgpIHtNZS5Vc2VyRGV0YWlsc1Rvb2xTdHJpcE1lbnVJdGVtLCBNZS5TZXR0aW5nc1Rvb2xTdHJpcE1lbnVJdGVtfSkKKyAgICAgICAgTWUuTWVudVN0cmlwMi5Mb2NhdGlvbiA9IE5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCgwLCAwKQorICAgICAgICBNZS5NZW51U3RyaXAyLk5hbWUgPSAiTWVudVN0cmlwMiIKKyAgICAgICAgTWUuTWVudVN0cmlwMi5TaXplID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoNzYzLCAyOCkKKyAgICAgICAgTWUuTWVudVN0cmlwMi5UYWJJbmRleCA9IDYKKyAgICAgICAgTWUuTWVudVN0cmlwMi5UZXh0ID0gIk1lbnVTdHJpcDIiCisgICAgICAgICcKKyAgICAgICAgJ1VzZXJEZXRhaWxzVG9vbFN0cmlwTWVudUl0ZW0KKyAgICAgICAgJworICAgICAgICBNZS5Vc2VyRGV0YWlsc1Rvb2xTdHJpcE1lbnVJdGVtLk5hbWUgPSAiVXNlckRldGFpbHNUb29sU3RyaXBNZW51SXRlbSIKKyAgICAgICAgTWUuVXNlckRldGFpbHNUb29sU3RyaXBNZW51SXRlbS5TaXplID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoMTAwLCAyNCkKKyAgICAgICAgTWUuVXNlckRldGFpbHNUb29sU3RyaXBNZW51SXRlbS5UZXh0ID0gIlVzZXIgRGV0YWlscyIKKyAgICAgICAgJworICAgICAgICAnU2V0dGluZ3NUb29sU3RyaXBNZW51SXRlbQorICAgICAgICAnCisgICAgICAgIE1lLlNldHRpbmdzVG9vbFN0cmlwTWVudUl0ZW0uTmFtZSA9ICJTZXR0aW5nc1Rvb2xTdHJpcE1lbnVJdGVtIgorICAgICAgICBNZS5TZXR0aW5nc1Rvb2xTdHJpcE1lbnVJdGVtLlNpemUgPSBOZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSg3NCwgMjQpCisgICAgICAgIE1lLlNldHRpbmdzVG9vbFN0cmlwTWVudUl0ZW0uVGV4dCA9ICJTZXR0aW5ncyIKKyAgICAgICAgJworICAgICAgICAnRm9sbG93ZXJzCisgICAgICAgICcKKyAgICAgICAgTWUuRm9sbG93ZXJzLkZvcm1hdHRpbmdFbmFibGVkID0gVHJ1ZQorICAgICAgICBNZS5Gb2xsb3dlcnMuSXRlbUhlaWdodCA9IDE2CisgICAgICAgIE1lLkZvbGxvd2Vycy5Mb2NhdGlvbiA9IE5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCgxNiwgNTMxKQorICAgICAgICBNZS5Gb2xsb3dlcnMuTmFtZSA9ICJGb2xsb3dlcnMiCisgICAgICAgIE1lLkZvbGxvd2Vycy5TaXplID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoMTQ4LCA2OCkKKyAgICAgICAgTWUuRm9sbG93ZXJzLlRhYkluZGV4ID0gNworICAgICAgICAnCisgICAgICAgICdMYWJlbDEKKyAgICAgICAgJworICAgICAgICBNZS5MYWJlbDEuQXV0b1NpemUgPSBUcnVlCisgICAgICAgIE1lLkxhYmVsMS5Gb250ID0gTmV3IFN5c3RlbS5EcmF3aW5nLkZvbnQoIk1pY3Jvc29mdCBTYW5zIFNlcmlmIiwgMTAuMiEsIFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZS5Cb2xkLCBTeXN0ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQuUG9pbnQsIENUeXBlKDAsIEJ5dGUpKQorICAgICAgICBNZS5MYWJlbDEuTG9jYXRpb24gPSBOZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoMTIsIDUwOCkKKyAgICAgICAgTWUuTGFiZWwxLk5hbWUgPSAiTGFiZWwxIgorICAgICAgICBNZS5MYWJlbDEuU2l6ZSA9IE5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDkwLCAyMCkKKyAgICAgICAgTWUuTGFiZWwxLlRhYkluZGV4ID0gOAorICAgICAgICBNZS5MYWJlbDEuVGV4dCA9ICJGb2xsb3dlcnMiCisgICAgICAgICcKKyAgICAgICAgJ1VzZXJzCisgICAgICAgICcKKyAgICAgICAgTWUuVXNlcnMuRm9ybWF0dGluZ0VuYWJsZWQgPSBUcnVlCisgICAgICAgIE1lLlVzZXJzLkl0ZW1IZWlnaHQgPSAxNgorICAgICAgICBNZS5Vc2Vycy5Mb2NhdGlvbiA9IE5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCgxNiwgNDIxKQorICAgICAgICBNZS5Vc2Vycy5OYW1lID0gIlVzZXJzIgorICAgICAgICBNZS5Vc2Vycy5TaXplID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoMTQ4LCA4NCkKKyAgICAgICAgTWUuVXNlcnMuVGFiSW5kZXggPSA5CisgICAgICAgICcKKyAgICAgICAgJ0xhYmVsMgorICAgICAgICAnCisgICAgICAgIE1lLkxhYmVsMi5BdXRvU2l6ZSA9IFRydWUKKyAgICAgICAgTWUuTGFiZWwyLkZvbnQgPSBOZXcgU3lzdGVtLkRyYXdpbmcuRm9udCgiTWljcm9zb2Z0IFNhbnMgU2VyaWYiLCAxMC4yISwgU3lzdGVtLkRyYXdpbmcuRm9udFN0eWxlLkJvbGQsIFN5c3RlbS5EcmF3aW5nLkdyYXBoaWNzVW5pdC5Qb2ludCwgQ1R5cGUoMCwgQnl0ZSkpCisgICAgICAgIE1lLkxhYmVsMi5Mb2NhdGlvbiA9IE5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCgxNCwgNjAyKQorICAgICAgICBNZS5MYWJlbDIuTmFtZSA9ICJMYWJlbDIiCisgICAgICAgIE1lLkxhYmVsMi5TaXplID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoODgsIDIwKQorICAgICAgICBNZS5MYWJlbDIuVGFiSW5kZXggPSAxMAorICAgICAgICBNZS5MYWJlbDIuVGV4dCA9ICJGb2xsb3dpbmciCisgICAgICAgICcKKyAgICAgICAgJ0ZvbGxvd2luZworICAgICAgICAnCisgICAgICAgIE1lLkZvbGxvd2luZy5Gb3JtYXR0aW5nRW5hYmxlZCA9IFRydWUKKyAgICAgICAgTWUuRm9sbG93aW5nLkl0ZW1IZWlnaHQgPSAxNgorICAgICAgICBNZS5Gb2xsb3dpbmcuTG9jYXRpb24gPSBOZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoMTYsIDYyNCkKKyAgICAgICAgTWUuRm9sbG93aW5nLk5hbWUgPSAiRm9sbG93aW5nIgorICAgICAgICBNZS5Gb2xsb3dpbmcuU2l6ZSA9IE5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDE0OCwgNjgpCisgICAgICAgIE1lLkZvbGxvd2luZy5UYWJJbmRleCA9IDExCisgICAgICAgICcKKyAgICAgICAgJ2J0blBvc3QKKyAgICAgICAgJworICAgICAgICBNZS5idG5Qb3N0LkZvbnQgPSBOZXcgU3lzdGVtLkRyYXdpbmcuRm9udCgiTWljcm9zb2Z0IFNhbnMgU2VyaWYiLCAxMC4yISwgU3lzdGVtLkRyYXdpbmcuRm9udFN0eWxlLkJvbGQsIFN5c3RlbS5EcmF3aW5nLkdyYXBoaWNzVW5pdC5Qb2ludCwgQ1R5cGUoMCwgQnl0ZSkpCisgICAgICAgIE1lLmJ0blBvc3QuTG9jYXRpb24gPSBOZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoMjUwLCA1MzEpCisgICAgICAgIE1lLmJ0blBvc3QuTmFtZSA9ICJidG5Qb3N0IgorICAgICAgICBNZS5idG5Qb3N0LlNpemUgPSBOZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSg3NSwgMjgpCisgICAgICAgIE1lLmJ0blBvc3QuVGFiSW5kZXggPSAxMgorICAgICAgICBNZS5idG5Qb3N0LlRleHQgPSAiUG9zdCIKKyAgICAgICAgTWUuYnRuUG9zdC5Vc2VWaXN1YWxTdHlsZUJhY2tDb2xvciA9IFRydWUKKyAgICAgICAgJworICAgICAgICAnWW91ckZlZWQKKyAgICAgICAgJworICAgICAgICBNZS5Zb3VyRmVlZC5Db250cm9scy5BZGQoTWUuWW91ckZlZWRCb3gpCisgICAgICAgIE1lLllvdXJGZWVkLkNvbnRyb2xzLkFkZChNZS5SaWNoVGV4dEJveDEpCisgICAgICAgIE1lLllvdXJGZWVkLkxvY2F0aW9uID0gTmV3IFN5c3RlbS5EcmF3aW5nLlBvaW50KDQsIDI1KQorICAgICAgICBNZS5Zb3VyRmVlZC5OYW1lID0gIllvdXJGZWVkIgorICAgICAgICBNZS5Zb3VyRmVlZC5QYWRkaW5nID0gTmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLlBhZGRpbmcoMykKKyAgICAgICAgTWUuWW91ckZlZWQuU2l6ZSA9IE5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDcwMCwgMzE5KQorICAgICAgICBNZS5Zb3VyRmVlZC5UYWJJbmRleCA9IDIKKyAgICAgICAgTWUuWW91ckZlZWQuVGV4dCA9ICJZb3VyIEZlZWQiCisgICAgICAgIE1lLllvdXJGZWVkLlVzZVZpc3VhbFN0eWxlQmFja0NvbG9yID0gVHJ1ZQorICAgICAgICAnCisgICAgICAgICdZb3VyRmVlZEJveAorICAgICAgICAnCisgICAgICAgIE1lLllvdXJGZWVkQm94LkxvY2F0aW9uID0gTmV3IFN5c3RlbS5EcmF3aW5nLlBvaW50KDMsIDMpCisgICAgICAgIE1lLllvdXJGZWVkQm94Lk5hbWUgPSAiWW91ckZlZWRCb3giCisgICAgICAgIE1lLllvdXJGZWVkQm94LlNpemUgPSBOZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSg2OTgsIDMxMykKKyAgICAgICAgTWUuWW91ckZlZWRCb3guVGFiSW5kZXggPSAxCisgICAgICAgIE1lLllvdXJGZWVkQm94LlRleHQgPSAiIgorICAgICAgICAnCisgICAgICAgICdSaWNoVGV4dEJveDEKKyAgICAgICAgJworICAgICAgICBNZS5SaWNoVGV4dEJveDEuTG9jYXRpb24gPSBOZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoMTQsIDE5MykKKyAgICAgICAgTWUuUmljaFRleHRCb3gxLk5hbWUgPSAiUmljaFRleHRCb3gxIgorICAgICAgICBNZS5SaWNoVGV4dEJveDEuU2l6ZSA9IE5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDgsIDgpCisgICAgICAgIE1lLlJpY2hUZXh0Qm94MS5UYWJJbmRleCA9IDAKKyAgICAgICAgTWUuUmljaFRleHRCb3gxLlRleHQgPSAiIgorICAgICAgICAnCisgICAgICAgICdGZWVkcworICAgICAgICAnCisgICAgICAgIE1lLkZlZWRzLkNvbnRyb2xzLkFkZChNZS5Zb3VyRmVlZCkKKyAgICAgICAgTWUuRmVlZHMuTG9jYXRpb24gPSBOZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoMTIsIDMxKQorICAgICAgICBNZS5GZWVkcy5OYW1lID0gIkZlZWRzIgorICAgICAgICBNZS5GZWVkcy5TZWxlY3RlZEluZGV4ID0gMAorICAgICAgICBNZS5GZWVkcy5TaXplID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoNzA4LCAzNDgpCisgICAgICAgIE1lLkZlZWRzLlRhYkluZGV4ID0gMAorICAgICAgICAnCisgICAgICAgICdNZXNzYWdlZU1haW5XaW5kb3cKKyAgICAgICAgJworICAgICAgICBNZS5BdXRvU2NhbGVEaW1lbnNpb25zID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemVGKDghLCAxNiEpCisgICAgICAgIE1lLkF1dG9TY2FsZU1vZGUgPSBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5BdXRvU2NhbGVNb2RlLkZvbnQKKyAgICAgICAgTWUuQ2xpZW50U2l6ZSA9IE5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDc2MywgNzA0KQorICAgICAgICBNZS5Db250cm9scy5BZGQoTWUuYnRuUG9zdCkKKyAgICAgICAgTWUuQ29udHJvbHMuQWRkKE1lLkZvbGxvd2luZykKKyAgICAgICAgTWUuQ29udHJvbHMuQWRkKE1lLkxhYmVsMikKKyAgICAgICAgTWUuQ29udHJvbHMuQWRkKE1lLlVzZXJzKQorICAgICAgICBNZS5Db250cm9scy5BZGQoTWUuTGFiZWwxKQorICAgICAgICBNZS5Db250cm9scy5BZGQoTWUuRm9sbG93ZXJzKQorICAgICAgICBNZS5Db250cm9scy5BZGQoTWUuTWVzc2FnZUxhYmVsKQorICAgICAgICBNZS5Db250cm9scy5BZGQoTWUuUG9zdE1lc3NhZ2UpCisgICAgICAgIE1lLkNvbnRyb2xzLkFkZChNZS5Vc2Vyc0xhYmVsKQorICAgICAgICBNZS5Db250cm9scy5BZGQoTWUuRmVlZHMpCisgICAgICAgIE1lLkNvbnRyb2xzLkFkZChNZS5NZW51U3RyaXAxKQorICAgICAgICBNZS5Db250cm9scy5BZGQoTWUuTWVudVN0cmlwMikKKyAgICAgICAgTWUuTWFpbk1lbnVTdHJpcCA9IE1lLk1lbnVTdHJpcDEKKyAgICAgICAgTWUuTmFtZSA9ICJNZXNzYWdlZU1haW5XaW5kb3ciCisgICAgICAgIE1lLlRleHQgPSAiTWVzc2FnZWUiCisgICAgICAgIE1lLk1lbnVTdHJpcDIuUmVzdW1lTGF5b3V0KGZhbHNlKQorICAgICAgICBNZS5NZW51U3RyaXAyLlBlcmZvcm1MYXlvdXQKKyAgICAgICAgTWUuWW91ckZlZWQuUmVzdW1lTGF5b3V0KGZhbHNlKQorICAgICAgICBNZS5GZWVkcy5SZXN1bWVMYXlvdXQoZmFsc2UpCisgICAgICAgIE1lLlJlc3VtZUxheW91dChmYWxzZSkKKyAgICAgICAgTWUuUGVyZm9ybUxheW91dAorCitFbmQgU3ViCisgICAgRnJpZW5kIFdpdGhFdmVudHMgVXNlcnNMYWJlbCBBcyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MYWJlbAorICAgIEZyaWVuZCBXaXRoRXZlbnRzIFBvc3RNZXNzYWdlIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLlJpY2hUZXh0Qm94CisgICAgRnJpZW5kIFdpdGhFdmVudHMgTWVzc2FnZUxhYmVsIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxhYmVsCisgICAgRnJpZW5kIFdpdGhFdmVudHMgTWVudVN0cmlwMSBBcyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5NZW51U3RyaXAKKyAgICBGcmllbmQgV2l0aEV2ZW50cyBNZW51U3RyaXAyIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLk1lbnVTdHJpcAorICAgIEZyaWVuZCBXaXRoRXZlbnRzIFVzZXJEZXRhaWxzVG9vbFN0cmlwTWVudUl0ZW0gQXMgU3lzdGVtLldpbmRvd3MuRm9ybXMuVG9vbFN0cmlwTWVudUl0ZW0KKyAgICBGcmllbmQgV2l0aEV2ZW50cyBTZXR0aW5nc1Rvb2xTdHJpcE1lbnVJdGVtIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLlRvb2xTdHJpcE1lbnVJdGVtCisgICAgRnJpZW5kIFdpdGhFdmVudHMgRm9sbG93ZXJzIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RCb3gKKyAgICBGcmllbmQgV2l0aEV2ZW50cyBMYWJlbDEgQXMgU3lzdGVtLldpbmRvd3MuRm9ybXMuTGFiZWwKKyAgICBGcmllbmQgV2l0aEV2ZW50cyBVc2VycyBBcyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Qm94CisgICAgRnJpZW5kIFdpdGhFdmVudHMgTGFiZWwyIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxhYmVsCisgICAgRnJpZW5kIFdpdGhFdmVudHMgRm9sbG93aW5nIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RCb3gKKyAgICBGcmllbmQgV2l0aEV2ZW50cyBidG5Qb3N0IEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLkJ1dHRvbgorICAgIEZyaWVuZCBXaXRoRXZlbnRzIFlvdXJGZWVkIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLlRhYlBhZ2UKKyAgICBGcmllbmQgV2l0aEV2ZW50cyBZb3VyRmVlZEJveCBBcyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5SaWNoVGV4dEJveAorICAgIEZyaWVuZCBXaXRoRXZlbnRzIFJpY2hUZXh0Qm94MSBBcyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5SaWNoVGV4dEJveAorICAgIEZyaWVuZCBXaXRoRXZlbnRzIEZlZWRzIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLlRhYkNvbnRyb2wKKworRW5kIENsYXNzCmRpZmYgLS1naXQgYS9zYW1wbGVzL21lc3NhZ2VlVHV0b3JpYWwvTWVzc2FnZWUvTWFpbkZvcm0ucmVzeCBiL3NhbXBsZXMvbWVzc2FnZWVUdXRvcmlhbC9NZXNzYWdlZS9NYWluRm9ybS5yZXN4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkMjlkYWIKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL21lc3NhZ2VlVHV0b3JpYWwvTWVzc2FnZWUvTWFpbkZvcm0ucmVzeApAQCAtMCwwICsxLDE0MyBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhLS0KKyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCistLT4KKworPHJvb3Q+CisgIDwhLS0gCisgICAgTWljcm9zb2Z0IFJlc1ggU2NoZW1hIAorICAgIAorICAgIFZlcnNpb24gMi4wCisgICAgCisgICAgVGhlIHByaW1hcnkgZ29hbHMgb2YgdGhpcyBmb3JtYXQgaXMgdG8gYWxsb3cgYSBzaW1wbGUgWE1MIGZvcm1hdCAKKyAgICB0aGF0IGlzIG1vc3RseSBodW1hbiByZWFkYWJsZS4gVGhlIGdlbmVyYXRpb24gYW5kIHBhcnNpbmcgb2YgdGhlIAorICAgIHZhcmlvdXMgZGF0YSB0eXBlcyBhcmUgZG9uZSB0aHJvdWdoIHRoZSBUeXBlQ29udmVydGVyIGNsYXNzZXMgCisgICAgYXNzb2NpYXRlZCB3aXRoIHRoZSBkYXRhIHR5cGVzLgorICAgIAorICAgIEV4YW1wbGU6CisgICAgCisgICAgLi4uIGFkby5uZXQvWE1MIGhlYWRlcnMgJiBzY2hlbWEgLi4uCisgICAgPHJlc2hlYWRlciBuYW1lPSJyZXNtaW1ldHlwZSI+dGV4dC9taWNyb3NvZnQtcmVzeDwvcmVzaGVhZGVyPgorICAgIDxyZXNoZWFkZXIgbmFtZT0idmVyc2lvbiI+Mi4wPC9yZXNoZWFkZXI+CisgICAgPHJlc2hlYWRlciBuYW1lPSJyZWFkZXIiPlN5c3RlbS5SZXNvdXJjZXMuUmVzWFJlc291cmNlUmVhZGVyLCBTeXN0ZW0uV2luZG93cy5Gb3JtcywgLi4uPC9yZXNoZWFkZXI+CisgICAgPHJlc2hlYWRlciBuYW1lPSJ3cml0ZXIiPlN5c3RlbS5SZXNvdXJjZXMuUmVzWFJlc291cmNlV3JpdGVyLCBTeXN0ZW0uV2luZG93cy5Gb3JtcywgLi4uPC9yZXNoZWFkZXI+CisgICAgPGRhdGEgbmFtZT0iTmFtZTEiPjx2YWx1ZT50aGlzIGlzIG15IGxvbmcgc3RyaW5nPC92YWx1ZT48Y29tbWVudD50aGlzIGlzIGEgY29tbWVudDwvY29tbWVudD48L2RhdGE+CisgICAgPGRhdGEgbmFtZT0iQ29sb3IxIiB0eXBlPSJTeXN0ZW0uRHJhd2luZy5Db2xvciwgU3lzdGVtLkRyYXdpbmciPkJsdWU8L2RhdGE+CisgICAgPGRhdGEgbmFtZT0iQml0bWFwMSIgbWltZXR5cGU9ImFwcGxpY2F0aW9uL3gtbWljcm9zb2Z0Lm5ldC5vYmplY3QuYmluYXJ5LmJhc2U2NCI+CisgICAgICAgIDx2YWx1ZT5bYmFzZTY0IG1pbWUgZW5jb2RlZCBzZXJpYWxpemVkIC5ORVQgRnJhbWV3b3JrIG9iamVjdF08L3ZhbHVlPgorICAgIDwvZGF0YT4KKyAgICA8ZGF0YSBuYW1lPSJJY29uMSIgdHlwZT0iU3lzdGVtLkRyYXdpbmcuSWNvbiwgU3lzdGVtLkRyYXdpbmciIG1pbWV0eXBlPSJhcHBsaWNhdGlvbi94LW1pY3Jvc29mdC5uZXQub2JqZWN0LmJ5dGVhcnJheS5iYXNlNjQiPgorICAgICAgICA8dmFsdWU+W2Jhc2U2NCBtaW1lIGVuY29kZWQgc3RyaW5nIHJlcHJlc2VudGluZyBhIGJ5dGUgYXJyYXkgZm9ybSBvZiB0aGUgLk5FVCBGcmFtZXdvcmsgb2JqZWN0XTwvdmFsdWU+CisgICAgICAgIDxjb21tZW50PlRoaXMgaXMgYSBjb21tZW50PC9jb21tZW50PgorICAgIDwvZGF0YT4KKyAgICAgICAgICAgICAgICAKKyAgICBUaGVyZSBhcmUgYW55IG51bWJlciBvZiAicmVzaGVhZGVyIiByb3dzIHRoYXQgY29udGFpbiBzaW1wbGUgCisgICAgbmFtZS92YWx1ZSBwYWlycy4KKyAgICAKKyAgICBFYWNoIGRhdGEgcm93IGNvbnRhaW5zIGEgbmFtZSwgYW5kIHZhbHVlLiBUaGUgcm93IGFsc28gY29udGFpbnMgYSAKKyAgICB0eXBlIG9yIG1pbWV0eXBlLiBUeXBlIGNvcnJlc3BvbmRzIHRvIGEgLk5FVCBjbGFzcyB0aGF0IHN1cHBvcnQgCisgICAgdGV4dC92YWx1ZSBjb252ZXJzaW9uIHRocm91Z2ggdGhlIFR5cGVDb252ZXJ0ZXIgYXJjaGl0ZWN0dXJlLiAKKyAgICBDbGFzc2VzIHRoYXQgZG9uJ3Qgc3VwcG9ydCB0aGlzIGFyZSBzZXJpYWxpemVkIGFuZCBzdG9yZWQgd2l0aCB0aGUgCisgICAgbWltZXR5cGUgc2V0LgorICAgIAorICAgIFRoZSBtaW1ldHlwZSBpcyB1c2VkIGZvciBzZXJpYWxpemVkIG9iamVjdHMsIGFuZCB0ZWxscyB0aGUgCisgICAgUmVzWFJlc291cmNlUmVhZGVyIGhvdyB0byBkZXBlcnNpc3QgdGhlIG9iamVjdC4gVGhpcyBpcyBjdXJyZW50bHkgbm90IAorICAgIGV4dGVuc2libGUuIEZvciBhIGdpdmVuIG1pbWV0eXBlIHRoZSB2YWx1ZSBtdXN0IGJlIHNldCBhY2NvcmRpbmdseToKKyAgICAKKyAgICBOb3RlIC0gYXBwbGljYXRpb24veC1taWNyb3NvZnQubmV0Lm9iamVjdC5iaW5hcnkuYmFzZTY0IGlzIHRoZSBmb3JtYXQgCisgICAgdGhhdCB0aGUgUmVzWFJlc291cmNlV3JpdGVyIHdpbGwgZ2VuZXJhdGUsIGhvd2V2ZXIgdGhlIHJlYWRlciBjYW4gCisgICAgcmVhZCBhbnkgb2YgdGhlIGZvcm1hdHMgbGlzdGVkIGJlbG93LgorICAgIAorICAgIG1pbWV0eXBlOiBhcHBsaWNhdGlvbi94LW1pY3Jvc29mdC5uZXQub2JqZWN0LmJpbmFyeS5iYXNlNjQKKyAgICB2YWx1ZSAgIDogVGhlIG9iamVjdCBtdXN0IGJlIHNlcmlhbGl6ZWQgd2l0aCAKKyAgICAgICAgICAgIDogU3lzdGVtLlJ1bnRpbWUuU2VyaWFsaXphdGlvbi5Gb3JtYXR0ZXJzLkJpbmFyeS5CaW5hcnlGb3JtYXR0ZXIKKyAgICAgICAgICAgIDogYW5kIHRoZW4gZW5jb2RlZCB3aXRoIGJhc2U2NCBlbmNvZGluZy4KKyAgICAKKyAgICBtaW1ldHlwZTogYXBwbGljYXRpb24veC1taWNyb3NvZnQubmV0Lm9iamVjdC5zb2FwLmJhc2U2NAorICAgIHZhbHVlICAgOiBUaGUgb2JqZWN0IG11c3QgYmUgc2VyaWFsaXplZCB3aXRoIAorICAgICAgICAgICAgOiBTeXN0ZW0uUnVudGltZS5TZXJpYWxpemF0aW9uLkZvcm1hdHRlcnMuU29hcC5Tb2FwRm9ybWF0dGVyCisgICAgICAgICAgICA6IGFuZCB0aGVuIGVuY29kZWQgd2l0aCBiYXNlNjQgZW5jb2RpbmcuCisKKyAgICBtaW1ldHlwZTogYXBwbGljYXRpb24veC1taWNyb3NvZnQubmV0Lm9iamVjdC5ieXRlYXJyYXkuYmFzZTY0CisgICAgdmFsdWUgICA6IFRoZSBvYmplY3QgbXVzdCBiZSBzZXJpYWxpemVkIGludG8gYSBieXRlIGFycmF5IAorICAgICAgICAgICAgOiB1c2luZyBhIFN5c3RlbS5Db21wb25lbnRNb2RlbC5UeXBlQ29udmVydGVyCisgICAgICAgICAgICA6IGFuZCB0aGVuIGVuY29kZWQgd2l0aCBiYXNlNjQgZW5jb2RpbmcuCisgICAgLS0+CisgIDx4c2Q6c2NoZW1hIGlkPSJyb290IiB4bWxucz0iIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczptc2RhdGE9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206eG1sLW1zZGF0YSI+CisgICAgPHhzZDppbXBvcnQgbmFtZXNwYWNlPSJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiIC8+CisgICAgPHhzZDplbGVtZW50IG5hbWU9InJvb3QiIG1zZGF0YTpJc0RhdGFTZXQ9InRydWUiPgorICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgPHhzZDpjaG9pY2UgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJtZXRhZGF0YSI+CisgICAgICAgICAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgICAgICA8eHNkOnNlcXVlbmNlPgorICAgICAgICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdHlwZT0ieHNkOnN0cmluZyIgbWluT2NjdXJzPSIwIiAvPgorICAgICAgICAgICAgICA8L3hzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibmFtZSIgdXNlPSJyZXF1aXJlZCIgdHlwZT0ieHNkOnN0cmluZyIgLz4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0idHlwZSIgdHlwZT0ieHNkOnN0cmluZyIgLz4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibWltZXR5cGUiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIHJlZj0ieG1sOnNwYWNlIiAvPgorICAgICAgICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iYXNzZW1ibHkiPgorICAgICAgICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iYWxpYXMiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9Im5hbWUiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICAgICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJkYXRhIj4KKyAgICAgICAgICAgIDx4c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgICAgIDx4c2Q6c2VxdWVuY2U+CisgICAgICAgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InZhbHVlIiB0eXBlPSJ4c2Q6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1zZGF0YTpPcmRpbmFsPSIxIiAvPgorICAgICAgICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJjb21tZW50IiB0eXBlPSJ4c2Q6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1zZGF0YTpPcmRpbmFsPSIyIiAvPgorICAgICAgICAgICAgICA8L3hzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibmFtZSIgdHlwZT0ieHNkOnN0cmluZyIgdXNlPSJyZXF1aXJlZCIgbXNkYXRhOk9yZGluYWw9IjEiIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9InR5cGUiIHR5cGU9InhzZDpzdHJpbmciIG1zZGF0YTpPcmRpbmFsPSIzIiAvPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJtaW1ldHlwZSIgdHlwZT0ieHNkOnN0cmluZyIgbXNkYXRhOk9yZGluYWw9IjQiIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIHJlZj0ieG1sOnNwYWNlIiAvPgorICAgICAgICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0icmVzaGVhZGVyIj4KKyAgICAgICAgICAgIDx4c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgICAgIDx4c2Q6c2VxdWVuY2U+CisgICAgICAgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InZhbHVlIiB0eXBlPSJ4c2Q6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1zZGF0YTpPcmRpbmFsPSIxIiAvPgorICAgICAgICAgICAgICA8L3hzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibmFtZSIgdHlwZT0ieHNkOnN0cmluZyIgdXNlPSJyZXF1aXJlZCIgLz4KKyAgICAgICAgICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgIDwveHNkOmVsZW1lbnQ+CisgICAgICAgIDwveHNkOmNob2ljZT4KKyAgICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICAgIDwveHNkOmVsZW1lbnQ+CisgIDwveHNkOnNjaGVtYT4KKyAgPHJlc2hlYWRlciBuYW1lPSJyZXNtaW1ldHlwZSI+CisgICAgPHZhbHVlPnRleHQvbWljcm9zb2Z0LXJlc3g8L3ZhbHVlPgorICA8L3Jlc2hlYWRlcj4KKyAgPHJlc2hlYWRlciBuYW1lPSJ2ZXJzaW9uIj4KKyAgICA8dmFsdWU+Mi4wPC92YWx1ZT4KKyAgPC9yZXNoZWFkZXI+CisgIDxyZXNoZWFkZXIgbmFtZT0icmVhZGVyIj4KKyAgICA8dmFsdWU+U3lzdGVtLlJlc291cmNlcy5SZXNYUmVzb3VyY2VSZWFkZXIsIFN5c3RlbS5XaW5kb3dzLkZvcm1zLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OTwvdmFsdWU+CisgIDwvcmVzaGVhZGVyPgorICA8cmVzaGVhZGVyIG5hbWU9IndyaXRlciI+CisgICAgPHZhbHVlPlN5c3RlbS5SZXNvdXJjZXMuUmVzWFJlc291cmNlV3JpdGVyLCBTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODk8L3ZhbHVlPgorICA8L3Jlc2hlYWRlcj4KKyAgPG1ldGFkYXRhIG5hbWU9Ik1lbnVTdHJpcDEuVHJheUxvY2F0aW9uIiB0eXBlPSJTeXN0ZW0uRHJhd2luZy5Qb2ludCwgU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhIj4KKyAgICA8dmFsdWU+MTcsIDE3PC92YWx1ZT4KKyAgPC9tZXRhZGF0YT4KKyAgPG1ldGFkYXRhIG5hbWU9Ik1lbnVTdHJpcDIuVHJheUxvY2F0aW9uIiB0eXBlPSJTeXN0ZW0uRHJhd2luZy5Qb2ludCwgU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhIj4KKyAgICA8dmFsdWU+MTQ5LCAxNzwvdmFsdWU+CisgIDwvbWV0YWRhdGE+Cis8L3Jvb3Q+CmRpZmYgLS1naXQgYS9zYW1wbGVzL21lc3NhZ2VlVHV0b3JpYWwvTWVzc2FnZWUvTWFpbkZvcm0udmIgYi9zYW1wbGVzL21lc3NhZ2VlVHV0b3JpYWwvTWVzc2FnZWUvTWFpbkZvcm0udmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGJhOTk4YQotLS0gL2Rldi9udWxsCisrKyBiL3NhbXBsZXMvbWVzc2FnZWVUdXRvcmlhbC9NZXNzYWdlZS9NYWluRm9ybS52YgpAQCAtMCwwICsxLDk3IEBACivvu78nIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorJyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKycgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorJyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorJyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorJyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorJworJyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisnCisnIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKycgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKycgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisnIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKycgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKK0ltcG9ydHMgVXNlcmdyaWQuU2RrCitJbXBvcnRzIFVzZXJncmlkLlNkay5Nb2RlbAorCitQdWJsaWMgQ2xhc3MgTWVzc2FnZWVNYWluV2luZG93CisgICAgUHVibGljIFN1YiBVcGRhdGVVc2VycygpCisgICAgICAgIERpbSB1c2VyTGlzdCBBcyBVc2VyZ3JpZENvbGxlY3Rpb24oT2YgVXNlcmdyaWRVc2VyKQorICAgICAgICB1c2VyTGlzdCA9IEdsb2JhbHMuY2xpZW50LkdldEVudGl0aWVzKE9mIFVzZXJncmlkVXNlcikoInVzZXJzIiwgMTApCisgICAgICAgIERpbSBpIEFzIEludGVnZXIgPSAwCisgICAgICAgIFdoaWxlIGkgPCB1c2VyTGlzdC5Db3VudAorICAgICAgICAgICAgVXNlcnMuSXRlbXMuQWRkKHVzZXJMaXN0KGkpLlVzZXJOYW1lKQorICAgICAgICAgICAgaSA9IGkgKyAxCisgICAgICAgIEVuZCBXaGlsZQorICAgIEVuZCBTdWIKKyAgICBQcml2YXRlIFN1YiBTZXR0aW5nc1Rvb2xTdHJpcE1lbnVJdGVtX0NsaWNrKHNlbmRlciBBcyBPYmplY3QsIGUgQXMgRXZlbnRBcmdzKSBIYW5kbGVzIFNldHRpbmdzVG9vbFN0cmlwTWVudUl0ZW0uQ2xpY2sKKyAgICAgICAgU2V0dGluZ3MuU2hvdygpCisgICAgRW5kIFN1YgorCisgICAgUHJpdmF0ZSBTdWIgVXNlcnNfU2VsZWN0ZWRJbmRleENoYW5nZWQoc2VuZGVyIEFzIE9iamVjdCwgZSBBcyBFdmVudEFyZ3MpIEhhbmRsZXMgVXNlcnMuU2VsZWN0ZWRJbmRleENoYW5nZWQKKyAgICAgICAgVXBkYXRlRm9sbG93ZXJzQW5kRm9sbG93aW5nKCkKKyAgICAgICAgVXBkYXRlWW91ckZlZWQoKQorICAgIEVuZCBTdWIKKyAgICBQdWJsaWMgU3ViIFVwZGF0ZUZvbGxvd2Vyc0FuZEZvbGxvd2luZygpCisgICAgICAgIEZvbGxvd2Vycy5JdGVtcy5DbGVhcigpCisgICAgICAgIEZvbGxvd2luZy5JdGVtcy5DbGVhcigpCisgICAgICAgIERpbSBmb2xsb3dlcnNMaXN0IEFzIElMaXN0KE9mIFVzZXJncmlkRW50aXR5KQorICAgICAgICBEaW0gZm9sbG93aW5nTGlzdCBBcyBJTGlzdChPZiBVc2VyZ3JpZEVudGl0eSkKKyAgICAgICAgRGltIGNvbm4gQXMgQ29ubmVjdGlvbiA9IE5ldyBDb25uZWN0aW9uKCkKKyAgICAgICAgRGltIHVzZXJOYW1lIEFzIFN0cmluZyA9IFVzZXJzLkl0ZW1zKFVzZXJzLlNlbGVjdGVkSW5kZXgpLlRvU3RyaW5nCisgICAgICAgIGZvbGxvd2luZ0xpc3QgPSBVdGlscy5HZXRGb2xsb3dlcnModXNlck5hbWUpCisgICAgICAgIGZvbGxvd2Vyc0xpc3QgPSBVdGlscy5HZXRGb2xsb3dlZCh1c2VyTmFtZSkKKworICAgICAgICBEaW0gaSBBcyBJbnRlZ2VyID0gMAorICAgICAgICBXaGlsZSBpIDwgZm9sbG93ZXJzTGlzdC5Db3VudAorICAgICAgICAgICAgRm9sbG93ZXJzLkl0ZW1zLkFkZChmb2xsb3dlcnNMaXN0KGkpLk5hbWUpCisgICAgICAgICAgICBpID0gaSArIDEKKyAgICAgICAgRW5kIFdoaWxlCisgICAgICAgIGkgPSAwCisgICAgICAgIFdoaWxlIGkgPCBmb2xsb3dpbmdMaXN0LkNvdW50CisgICAgICAgICAgICBGb2xsb3dpbmcuSXRlbXMuQWRkKGZvbGxvd2luZ0xpc3QoaSkuTmFtZSkKKyAgICAgICAgICAgIGkgPSBpICsgMQorICAgICAgICBFbmQgV2hpbGUKKyAgICBFbmQgU3ViCisKKyAgICBQdWJsaWMgU3ViIFVwZGF0ZVlvdXJGZWVkKCkKKyAgICAgICAgWW91ckZlZWRCb3guVGV4dCA9ICIiCisgICAgICAgIERpbSB1c2VyRmVlZCBBcyBVc2VyZ3JpZENvbGxlY3Rpb24oT2YgVXNlcmdyaWRBY3Rpdml0eSkKKyAgICAgICAgdXNlckZlZWQgPSBHbG9iYWxzLmNsaWVudC5HZXRVc2VyRmVlZChPZiBVc2VyZ3JpZEFjdGl2aXR5KShVc2Vycy5JdGVtcyhVc2Vycy5TZWxlY3RlZEluZGV4KS5Ub1N0cmluZykKKyAgICAgICAgRGltIGkgQXMgSW50ZWdlciA9IDAKKyAgICAgICAgV2hpbGUgaSA8IHVzZXJGZWVkLkNvdW50CisgICAgICAgICAgICBZb3VyRmVlZEJveC5UZXh0ID0gWW91ckZlZWRCb3guVGV4dCAmICJQb3N0ZWQgQnk6ICIgJiB1c2VyRmVlZChpKS5BY3Rvci5EaXNwbGF5TmFtZSAmICIgb24gIiAmIHVzZXJGZWVkKGkpLlB1Ymxpc2hlZERhdGUgJiB2YkNyTGYKKyAgICAgICAgICAgIFlvdXJGZWVkQm94LlRleHQgPSBZb3VyRmVlZEJveC5UZXh0ICYgdXNlckZlZWQoaSkuQ29udGVudCAmIHZiQ3JMZgorICAgICAgICAgICAgWW91ckZlZWRCb3guVGV4dCA9IFlvdXJGZWVkQm94LlRleHQgJiB2YkNyTGYKKyAgICAgICAgICAgIGkgPSBpICsgMQorICAgICAgICBFbmQgV2hpbGUKKyAgICBFbmQgU3ViCisKKworICAgIFByaXZhdGUgU3ViIGJ0blBvc3RfQ2xpY2soc2VuZGVyIEFzIE9iamVjdCwgZSBBcyBFdmVudEFyZ3MpIEhhbmRsZXMgYnRuUG9zdC5DbGljaworICAgICAgICBEaW0gYWN0aXZpdHkgQXMgVXNlcmdyaWRBY3Rpdml0eSA9IE5ldyBVc2VyZ3JpZEFjdGl2aXR5KCkKKyAgICAgICAgYWN0aXZpdHkuQWN0b3IgPSBOZXcgVXNlcmdyaWRBY3RvcgorICAgICAgICBhY3Rpdml0eS5BY3Rvci5EaXNwbGF5TmFtZSA9IFVzZXJzLkl0ZW1zKFVzZXJzLlNlbGVjdGVkSW5kZXgpLlRvU3RyaW5nCisgICAgICAgIGFjdGl2aXR5LkFjdG9yLlVzZXJOYW1lID0gVXNlcnMuSXRlbXMoVXNlcnMuU2VsZWN0ZWRJbmRleCkuVG9TdHJpbmcKKyAgICAgICAgYWN0aXZpdHkuQ29udGVudCA9IFBvc3RNZXNzYWdlLlRleHQKKyAgICAgICAgYWN0aXZpdHkuVmVyYiA9ICJwb3N0IgorICAgICAgICBHbG9iYWxzLmNsaWVudC5Qb3N0QWN0aXZpdHkoT2YgVXNlcmdyaWRBY3Rpdml0eSkoVXNlcnMuSXRlbXMoVXNlcnMuU2VsZWN0ZWRJbmRleCkuVG9TdHJpbmcsIGFjdGl2aXR5KQorICAgICAgICBVcGRhdGVZb3VyRmVlZCgpCisgICAgICAgIFBvc3RNZXNzYWdlLlRleHQgPSAiIgorICAgIEVuZCBTdWIKKworICAgIFByaXZhdGUgU3ViIFVzZXJEZXRhaWxzVG9vbFN0cmlwTWVudUl0ZW1fQ2xpY2soc2VuZGVyIEFzIE9iamVjdCwgZSBBcyBFdmVudEFyZ3MpIEhhbmRsZXMgVXNlckRldGFpbHNUb29sU3RyaXBNZW51SXRlbS5DbGljaworICAgICAgICBVc2VyU2V0dGluZ3MuU2hvdygpCisgICAgICAgCisgICAgRW5kIFN1YgorCisgICAgUHJpdmF0ZSBTdWIgTWVzc2FnZWVNYWluV2luZG93X0xvYWQoc2VuZGVyIEFzIE9iamVjdCwgZSBBcyBFdmVudEFyZ3MpIEhhbmRsZXMgTXlCYXNlLkxvYWQKKyAgICAgICAgR2xvYmFscy5tYWluV2luZG93ID0gTWUKKyAgICBFbmQgU3ViCisKKyAgICBQcml2YXRlIFN1YiBNZW51U3RyaXAyX0l0ZW1DbGlja2VkKHNlbmRlciBBcyBPYmplY3QsIGUgQXMgVG9vbFN0cmlwSXRlbUNsaWNrZWRFdmVudEFyZ3MpIEhhbmRsZXMgTWVudVN0cmlwMi5JdGVtQ2xpY2tlZAorCisgICAgRW5kIFN1YgorRW5kIENsYXNzCmRpZmYgLS1naXQgYS9zYW1wbGVzL21lc3NhZ2VlVHV0b3JpYWwvTWVzc2FnZWUvTWVzc2FnZWUudmJwcm9qIGIvc2FtcGxlcy9tZXNzYWdlZVR1dG9yaWFsL01lc3NhZ2VlL01lc3NhZ2VlLnZicHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YTM2NzZhCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9tZXNzYWdlZVR1dG9yaWFsL01lc3NhZ2VlL01lc3NhZ2VlLnZicHJvagpAQCAtMCwwICsxLDE3MyBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhLS0KKyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCistLT4KKworPFByb2plY3QgVG9vbHNWZXJzaW9uPSIxMi4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8SW1wb3J0IFByb2plY3Q9IiQoTVNCdWlsZEV4dGVuc2lvbnNQYXRoKVwkKE1TQnVpbGRUb29sc1ZlcnNpb24pXE1pY3Jvc29mdC5Db21tb24ucHJvcHMiIENvbmRpdGlvbj0iRXhpc3RzKCckKE1TQnVpbGRFeHRlbnNpb25zUGF0aClcJChNU0J1aWxkVG9vbHNWZXJzaW9uKVxNaWNyb3NvZnQuQ29tbW9uLnByb3BzJykiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxDb25maWd1cmF0aW9uIENvbmRpdGlvbj0iICckKENvbmZpZ3VyYXRpb24pJyA9PSAnJyAiPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgIDxQbGF0Zm9ybSBDb25kaXRpb249IiAnJChQbGF0Zm9ybSknID09ICcnICI+QW55Q1BVPC9QbGF0Zm9ybT4KKyAgICA8UHJvamVjdEd1aWQ+e0U4QzM5NjdFLTExRjItNDlFOC04ODE4LUFCRjgzRjk5MjdCMn08L1Byb2plY3RHdWlkPgorICAgIDxPdXRwdXRUeXBlPldpbkV4ZTwvT3V0cHV0VHlwZT4KKyAgICA8U3RhcnR1cE9iamVjdD5NZXNzYWdlZS5NeS5NeUFwcGxpY2F0aW9uPC9TdGFydHVwT2JqZWN0PgorICAgIDxSb290TmFtZXNwYWNlPk1lc3NhZ2VlPC9Sb290TmFtZXNwYWNlPgorICAgIDxBc3NlbWJseU5hbWU+TWVzc2FnZWU8L0Fzc2VtYmx5TmFtZT4KKyAgICA8RmlsZUFsaWdubWVudD41MTI8L0ZpbGVBbGlnbm1lbnQ+CisgICAgPE15VHlwZT5XaW5kb3dzRm9ybXM8L015VHlwZT4KKyAgICA8VGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj52NC41PC9UYXJnZXRGcmFtZXdvcmtWZXJzaW9uPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iICckKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJyA9PSAnRGVidWd8QW55Q1BVJyAiPgorICAgIDxQbGF0Zm9ybVRhcmdldD5BbnlDUFU8L1BsYXRmb3JtVGFyZ2V0PgorICAgIDxEZWJ1Z1N5bWJvbHM+dHJ1ZTwvRGVidWdTeW1ib2xzPgorICAgIDxEZWJ1Z1R5cGU+ZnVsbDwvRGVidWdUeXBlPgorICAgIDxEZWZpbmVEZWJ1Zz50cnVlPC9EZWZpbmVEZWJ1Zz4KKyAgICA8RGVmaW5lVHJhY2U+dHJ1ZTwvRGVmaW5lVHJhY2U+CisgICAgPE91dHB1dFBhdGg+YmluXERlYnVnXDwvT3V0cHV0UGF0aD4KKyAgICA8RG9jdW1lbnRhdGlvbkZpbGU+TWVzc2FnZWUueG1sPC9Eb2N1bWVudGF0aW9uRmlsZT4KKyAgICA8Tm9XYXJuPjQyMDE2LDQxOTk5LDQyMDE3LDQyMDE4LDQyMDE5LDQyMDMyLDQyMDM2LDQyMDIwLDQyMDIxLDQyMDIyPC9Ob1dhcm4+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSIgJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknID09ICdSZWxlYXNlfEFueUNQVScgIj4KKyAgICA8UGxhdGZvcm1UYXJnZXQ+QW55Q1BVPC9QbGF0Zm9ybVRhcmdldD4KKyAgICA8RGVidWdUeXBlPnBkYm9ubHk8L0RlYnVnVHlwZT4KKyAgICA8RGVmaW5lRGVidWc+ZmFsc2U8L0RlZmluZURlYnVnPgorICAgIDxEZWZpbmVUcmFjZT50cnVlPC9EZWZpbmVUcmFjZT4KKyAgICA8T3B0aW1pemU+dHJ1ZTwvT3B0aW1pemU+CisgICAgPE91dHB1dFBhdGg+YmluXFJlbGVhc2VcPC9PdXRwdXRQYXRoPgorICAgIDxEb2N1bWVudGF0aW9uRmlsZT5NZXNzYWdlZS54bWw8L0RvY3VtZW50YXRpb25GaWxlPgorICAgIDxOb1dhcm4+NDIwMTYsNDE5OTksNDIwMTcsNDIwMTgsNDIwMTksNDIwMzIsNDIwMzYsNDIwMjAsNDIwMjEsNDIwMjI8L05vV2Fybj4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8T3B0aW9uRXhwbGljaXQ+T248L09wdGlvbkV4cGxpY2l0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxPcHRpb25Db21wYXJlPkJpbmFyeTwvT3B0aW9uQ29tcGFyZT4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8T3B0aW9uU3RyaWN0Pk9mZjwvT3B0aW9uU3RyaWN0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxPcHRpb25JbmZlcj5PbjwvT3B0aW9uSW5mZXI+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9Ik5ld3RvbnNvZnQuSnNvbiwgVmVyc2lvbj00LjUuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMwYWQ0ZmU2YjJhNmFlZWQsIHByb2Nlc3NvckFyY2hpdGVjdHVyZT1NU0lMIj4KKyAgICAgIDxTcGVjaWZpY1ZlcnNpb24+RmFsc2U8L1NwZWNpZmljVmVyc2lvbj4KKyAgICAgIDxIaW50UGF0aD4uLlwuLlwuLlwuLlxHaXRIdWJcdXNlcmdyaWQtLm5ldC1zZGtcVXNlcmdyaWQuU2RrXGJpblxEZWJ1Z1xOZXd0b25zb2Z0Lkpzb24uZGxsPC9IaW50UGF0aD4KKyAgICA8L1JlZmVyZW5jZT4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlJlc3RTaGFycCI+CisgICAgICA8SGludFBhdGg+Li5cLi5cLi5cLi5cR2l0SHViXHVzZXJncmlkLS5uZXQtc2RrXFVzZXJncmlkLlNka1xiaW5cRGVidWdcUmVzdFNoYXJwLmRsbDwvSGludFBhdGg+CisgICAgPC9SZWZlcmVuY2U+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJTeXN0ZW0iIC8+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJTeXN0ZW0uRGF0YSIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlN5c3RlbS5EZXBsb3ltZW50IiAvPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iU3lzdGVtLkRyYXdpbmciIC8+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJTeXN0ZW0uV2luZG93cy5Gb3JtcyIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlN5c3RlbS5YbWwiIC8+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJTeXN0ZW0uQ29yZSIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlN5c3RlbS5YbWwuTGlucSIgLz4KKyAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlN5c3RlbS5EYXRhLkRhdGFTZXRFeHRlbnNpb25zIiAvPgorICAgIDxSZWZlcmVuY2UgSW5jbHVkZT0iVXNlcmdyaWQuU2RrIj4KKyAgICAgIDxIaW50UGF0aD4uLlwuLlwuLlwuLlxHaXRIdWJcdXNlcmdyaWQtLm5ldC1zZGtcVXNlcmdyaWQuU2RrXGJpblxEZWJ1Z1xVc2VyZ3JpZC5TZGsuZGxsPC9IaW50UGF0aD4KKyAgICA8L1JlZmVyZW5jZT4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPEltcG9ydCBJbmNsdWRlPSJNaWNyb3NvZnQuVmlzdWFsQmFzaWMiIC8+CisgICAgPEltcG9ydCBJbmNsdWRlPSJTeXN0ZW0iIC8+CisgICAgPEltcG9ydCBJbmNsdWRlPSJTeXN0ZW0uQ29sbGVjdGlvbnMiIC8+CisgICAgPEltcG9ydCBJbmNsdWRlPSJTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYyIgLz4KKyAgICA8SW1wb3J0IEluY2x1ZGU9IlN5c3RlbS5EYXRhIiAvPgorICAgIDxJbXBvcnQgSW5jbHVkZT0iU3lzdGVtLkRyYXdpbmciIC8+CisgICAgPEltcG9ydCBJbmNsdWRlPSJTeXN0ZW0uRGlhZ25vc3RpY3MiIC8+CisgICAgPEltcG9ydCBJbmNsdWRlPSJTeXN0ZW0uV2luZG93cy5Gb3JtcyIgLz4KKyAgICA8SW1wb3J0IEluY2x1ZGU9IlN5c3RlbS5MaW5xIiAvPgorICAgIDxJbXBvcnQgSW5jbHVkZT0iU3lzdGVtLlhtbC5MaW5xIiAvPgorICAgIDxJbXBvcnQgSW5jbHVkZT0iU3lzdGVtLlRocmVhZGluZy5UYXNrcyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iR2xvYmFscy52YiIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJNYWluRm9ybS5EZXNpZ25lci52YiI+CisgICAgICA8RGVwZW5kZW50VXBvbj5NYWluRm9ybS52YjwvRGVwZW5kZW50VXBvbj4KKyAgICA8L0NvbXBpbGU+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iTWFpbkZvcm0udmIiPgorICAgICAgPFN1YlR5cGU+Rm9ybTwvU3ViVHlwZT4KKyAgICA8L0NvbXBpbGU+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iTXkgUHJvamVjdFxBc3NlbWJseUluZm8udmIiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iTXkgUHJvamVjdFxBcHBsaWNhdGlvbi5EZXNpZ25lci52YiI+CisgICAgICA8QXV0b0dlbj5UcnVlPC9BdXRvR2VuPgorICAgICAgPERlcGVuZGVudFVwb24+QXBwbGljYXRpb24ubXlhcHA8L0RlcGVuZGVudFVwb24+CisgICAgPC9Db21waWxlPgorICAgIDxDb21waWxlIEluY2x1ZGU9Ik15IFByb2plY3RcUmVzb3VyY2VzLkRlc2lnbmVyLnZiIj4KKyAgICAgIDxBdXRvR2VuPlRydWU8L0F1dG9HZW4+CisgICAgICA8RGVzaWduVGltZT5UcnVlPC9EZXNpZ25UaW1lPgorICAgICAgPERlcGVuZGVudFVwb24+UmVzb3VyY2VzLnJlc3g8L0RlcGVuZGVudFVwb24+CisgICAgPC9Db21waWxlPgorICAgIDxDb21waWxlIEluY2x1ZGU9Ik15IFByb2plY3RcU2V0dGluZ3MuRGVzaWduZXIudmIiPgorICAgICAgPEF1dG9HZW4+VHJ1ZTwvQXV0b0dlbj4KKyAgICAgIDxEZXBlbmRlbnRVcG9uPlNldHRpbmdzLnNldHRpbmdzPC9EZXBlbmRlbnRVcG9uPgorICAgICAgPERlc2lnblRpbWVTaGFyZWRJbnB1dD5UcnVlPC9EZXNpZ25UaW1lU2hhcmVkSW5wdXQ+CisgICAgPC9Db21waWxlPgorICAgIDxDb21waWxlIEluY2x1ZGU9IlNldHRpbmdzLkRlc2lnbmVyLnZiIj4KKyAgICAgIDxEZXBlbmRlbnRVcG9uPlNldHRpbmdzLnZiPC9EZXBlbmRlbnRVcG9uPgorICAgIDwvQ29tcGlsZT4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJTZXR0aW5ncy52YiI+CisgICAgICA8U3ViVHlwZT5Gb3JtPC9TdWJUeXBlPgorICAgIDwvQ29tcGlsZT4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJVc2VyU2V0dGluZ3MuRGVzaWduZXIudmIiPgorICAgICAgPERlcGVuZGVudFVwb24+VXNlclNldHRpbmdzLnZiPC9EZXBlbmRlbnRVcG9uPgorICAgIDwvQ29tcGlsZT4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJVc2VyU2V0dGluZ3MudmIiPgorICAgICAgPFN1YlR5cGU+Rm9ybTwvU3ViVHlwZT4KKyAgICA8L0NvbXBpbGU+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iVXRpbHMudmIiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxFbWJlZGRlZFJlc291cmNlIEluY2x1ZGU9Ik1haW5Gb3JtLnJlc3giPgorICAgICAgPERlcGVuZGVudFVwb24+TWFpbkZvcm0udmI8L0RlcGVuZGVudFVwb24+CisgICAgPC9FbWJlZGRlZFJlc291cmNlPgorICAgIDxFbWJlZGRlZFJlc291cmNlIEluY2x1ZGU9Ik15IFByb2plY3RcUmVzb3VyY2VzLnJlc3giPgorICAgICAgPEdlbmVyYXRvcj5WYk15UmVzb3VyY2VzUmVzWEZpbGVDb2RlR2VuZXJhdG9yPC9HZW5lcmF0b3I+CisgICAgICA8TGFzdEdlbk91dHB1dD5SZXNvdXJjZXMuRGVzaWduZXIudmI8L0xhc3RHZW5PdXRwdXQ+CisgICAgICA8Q3VzdG9tVG9vbE5hbWVzcGFjZT5NeS5SZXNvdXJjZXM8L0N1c3RvbVRvb2xOYW1lc3BhY2U+CisgICAgICA8U3ViVHlwZT5EZXNpZ25lcjwvU3ViVHlwZT4KKyAgICA8L0VtYmVkZGVkUmVzb3VyY2U+CisgICAgPEVtYmVkZGVkUmVzb3VyY2UgSW5jbHVkZT0iU2V0dGluZ3MucmVzeCI+CisgICAgICA8RGVwZW5kZW50VXBvbj5TZXR0aW5ncy52YjwvRGVwZW5kZW50VXBvbj4KKyAgICA8L0VtYmVkZGVkUmVzb3VyY2U+CisgICAgPEVtYmVkZGVkUmVzb3VyY2UgSW5jbHVkZT0iVXNlclNldHRpbmdzLnJlc3giPgorICAgICAgPERlcGVuZGVudFVwb24+VXNlclNldHRpbmdzLnZiPC9EZXBlbmRlbnRVcG9uPgorICAgIDwvRW1iZWRkZWRSZXNvdXJjZT4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPE5vbmUgSW5jbHVkZT0iTXkgUHJvamVjdFxBcHBsaWNhdGlvbi5teWFwcCI+CisgICAgICA8R2VuZXJhdG9yPk15QXBwbGljYXRpb25Db2RlR2VuZXJhdG9yPC9HZW5lcmF0b3I+CisgICAgICA8TGFzdEdlbk91dHB1dD5BcHBsaWNhdGlvbi5EZXNpZ25lci52YjwvTGFzdEdlbk91dHB1dD4KKyAgICA8L05vbmU+CisgICAgPE5vbmUgSW5jbHVkZT0iTXkgUHJvamVjdFxTZXR0aW5ncy5zZXR0aW5ncyI+CisgICAgICA8R2VuZXJhdG9yPlNldHRpbmdzU2luZ2xlRmlsZUdlbmVyYXRvcjwvR2VuZXJhdG9yPgorICAgICAgPEN1c3RvbVRvb2xOYW1lc3BhY2U+TXk8L0N1c3RvbVRvb2xOYW1lc3BhY2U+CisgICAgICA8TGFzdEdlbk91dHB1dD5TZXR0aW5ncy5EZXNpZ25lci52YjwvTGFzdEdlbk91dHB1dD4KKyAgICA8L05vbmU+CisgICAgPE5vbmUgSW5jbHVkZT0iQXBwLmNvbmZpZyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChNU0J1aWxkVG9vbHNQYXRoKVxNaWNyb3NvZnQuVmlzdWFsQmFzaWMudGFyZ2V0cyIgLz4KKyAgPCEtLSBUbyBtb2RpZnkgeW91ciBidWlsZCBwcm9jZXNzLCBhZGQgeW91ciB0YXNrIGluc2lkZSBvbmUgb2YgdGhlIHRhcmdldHMgYmVsb3cgYW5kIHVuY29tbWVudCBpdC4gCisgICAgICAgT3RoZXIgc2ltaWxhciBleHRlbnNpb24gcG9pbnRzIGV4aXN0LCBzZWUgTWljcm9zb2Z0LkNvbW1vbi50YXJnZXRzLgorICA8VGFyZ2V0IE5hbWU9IkJlZm9yZUJ1aWxkIj4KKyAgPC9UYXJnZXQ+CisgIDxUYXJnZXQgTmFtZT0iQWZ0ZXJCdWlsZCI+CisgIDwvVGFyZ2V0PgorICAtLT4KKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3NhbXBsZXMvbWVzc2FnZWVUdXRvcmlhbC9NZXNzYWdlZS9NeSBQcm9qZWN0L0FwcGxpY2F0aW9uLkRlc2lnbmVyLnZiIGIvc2FtcGxlcy9tZXNzYWdlZVR1dG9yaWFsL01lc3NhZ2VlL015IFByb2plY3QvQXBwbGljYXRpb24uRGVzaWduZXIudmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWYwOTQ2NwotLS0gL2Rldi9udWxsCisrKyBiL3NhbXBsZXMvbWVzc2FnZWVUdXRvcmlhbC9NZXNzYWdlZS9NeSBQcm9qZWN0L0FwcGxpY2F0aW9uLkRlc2lnbmVyLnZiCkBAIC0wLDAgKzEsNTMgQEAKK++7vycgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisnIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorJyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisnIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisnICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisnIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisnCisnICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKycKKycgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorJyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorJyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKycgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorJyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorJyA8YXV0by1nZW5lcmF0ZWQ+CisnICAgICBUaGlzIGNvZGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wuCisnICAgICBSdW50aW1lIFZlcnNpb246NC4wLjMwMzE5LjE4MzMxCisnCisnICAgICBDaGFuZ2VzIHRvIHRoaXMgZmlsZSBtYXkgY2F1c2UgaW5jb3JyZWN0IGJlaGF2aW9yIGFuZCB3aWxsIGJlIGxvc3QgaWYKKycgICAgIHRoZSBjb2RlIGlzIHJlZ2VuZXJhdGVkLgorJyA8L2F1dG8tZ2VuZXJhdGVkPgorJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitPcHRpb24gU3RyaWN0IE9uCitPcHRpb24gRXhwbGljaXQgT24KKworCitOYW1lc3BhY2UgTXkKKyAgICAKKyAgICAnTk9URTogVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkOyBkbyBub3QgbW9kaWZ5IGl0IGRpcmVjdGx5LiAgVG8gbWFrZSBjaGFuZ2VzLAorICAgICcgb3IgaWYgeW91IGVuY291bnRlciBidWlsZCBlcnJvcnMgaW4gdGhpcyBmaWxlLCBnbyB0byB0aGUgUHJvamVjdCBEZXNpZ25lcgorICAgICcgKGdvIHRvIFByb2plY3QgUHJvcGVydGllcyBvciBkb3VibGUtY2xpY2sgdGhlIE15IFByb2plY3Qgbm9kZSBpbgorICAgICcgU29sdXRpb24gRXhwbG9yZXIpLCBhbmQgbWFrZSBjaGFuZ2VzIG9uIHRoZSBBcHBsaWNhdGlvbiB0YWIuCisgICAgJworICAgIFBhcnRpYWwgRnJpZW5kIENsYXNzIE15QXBwbGljYXRpb24KKyAgICAgICAgCisgICAgICAgIDxHbG9iYWwuU3lzdGVtLkRpYWdub3N0aWNzLkRlYnVnZ2VyU3RlcFRocm91Z2hBdHRyaWJ1dGUoKT4gIF8KKyAgICAgICAgUHVibGljIFN1YiBOZXcoKQorICAgICAgICAgICAgTXlCYXNlLk5ldyhHbG9iYWwuTWljcm9zb2Z0LlZpc3VhbEJhc2ljLkFwcGxpY2F0aW9uU2VydmljZXMuQXV0aGVudGljYXRpb25Nb2RlLldpbmRvd3MpCisgICAgICAgICAgICBNZS5Jc1NpbmdsZUluc3RhbmNlID0gZmFsc2UKKyAgICAgICAgICAgIE1lLkVuYWJsZVZpc3VhbFN0eWxlcyA9IHRydWUKKyAgICAgICAgICAgIE1lLlNhdmVNeVNldHRpbmdzT25FeGl0ID0gdHJ1ZQorICAgICAgICAgICAgTWUuU2h1dERvd25TdHlsZSA9IEdsb2JhbC5NaWNyb3NvZnQuVmlzdWFsQmFzaWMuQXBwbGljYXRpb25TZXJ2aWNlcy5TaHV0ZG93bk1vZGUuQWZ0ZXJNYWluRm9ybUNsb3NlcworICAgICAgICBFbmQgU3ViCisgICAgICAgIAorICAgICAgICA8R2xvYmFsLlN5c3RlbS5EaWFnbm9zdGljcy5EZWJ1Z2dlclN0ZXBUaHJvdWdoQXR0cmlidXRlKCk+ICBfCisgICAgICAgIFByb3RlY3RlZCBPdmVycmlkZXMgU3ViIE9uQ3JlYXRlTWFpbkZvcm0oKQorICAgICAgICAgICAgTWUuTWFpbkZvcm0gPSBHbG9iYWwuTWVzc2FnZWUuTWVzc2FnZWVNYWluV2luZG93CisgICAgICAgIEVuZCBTdWIKKyAgICBFbmQgQ2xhc3MKK0VuZCBOYW1lc3BhY2UKZGlmZiAtLWdpdCBhL3NhbXBsZXMvbWVzc2FnZWVUdXRvcmlhbC9NZXNzYWdlZS9NeSBQcm9qZWN0L0FwcGxpY2F0aW9uLm15YXBwIGIvc2FtcGxlcy9tZXNzYWdlZVR1dG9yaWFsL01lc3NhZ2VlL015IFByb2plY3QvQXBwbGljYXRpb24ubXlhcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE1YjhmYwotLS0gL2Rldi9udWxsCisrKyBiL3NhbXBsZXMvbWVzc2FnZWVUdXRvcmlhbC9NZXNzYWdlZS9NeSBQcm9qZWN0L0FwcGxpY2F0aW9uLm15YXBwCkBAIC0wLDAgKzEsMjcgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi0xNiI/PgorPCEtLQorIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKy0tPgorCis8TXlBcHBsaWNhdGlvbkRhdGEgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDxNeVN1Yk1haW4+dHJ1ZTwvTXlTdWJNYWluPgorICA8TWFpbkZvcm0+TWVzc2FnZWVNYWluV2luZG93PC9NYWluRm9ybT4KKyAgPFNpbmdsZUluc3RhbmNlPmZhbHNlPC9TaW5nbGVJbnN0YW5jZT4KKyAgPFNodXRkb3duTW9kZT4wPC9TaHV0ZG93bk1vZGU+CisgIDxFbmFibGVWaXN1YWxTdHlsZXM+dHJ1ZTwvRW5hYmxlVmlzdWFsU3R5bGVzPgorICA8QXV0aGVudGljYXRpb25Nb2RlPjA8L0F1dGhlbnRpY2F0aW9uTW9kZT4KKyAgPFNhdmVNeVNldHRpbmdzT25FeGl0PnRydWU8L1NhdmVNeVNldHRpbmdzT25FeGl0PgorPC9NeUFwcGxpY2F0aW9uRGF0YT4KZGlmZiAtLWdpdCBhL3NhbXBsZXMvbWVzc2FnZWVUdXRvcmlhbC9NZXNzYWdlZS9NeSBQcm9qZWN0L0Fzc2VtYmx5SW5mby52YiBiL3NhbXBsZXMvbWVzc2FnZWVUdXRvcmlhbC9NZXNzYWdlZS9NeSBQcm9qZWN0L0Fzc2VtYmx5SW5mby52YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OGEwZjU4Ci0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9tZXNzYWdlZVR1dG9yaWFsL01lc3NhZ2VlL015IFByb2plY3QvQXNzZW1ibHlJbmZvLnZiCkBAIC0wLDAgKzEsNTAgQEAKK++7vycgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisnIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorJyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisnIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisnICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisnIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisnCisnICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKycKKycgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorJyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorJyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKycgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorJyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworSW1wb3J0cyBTeXN0ZW0KK0ltcG9ydHMgU3lzdGVtLlJlZmxlY3Rpb24KK0ltcG9ydHMgU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzCisKKycgR2VuZXJhbCBJbmZvcm1hdGlvbiBhYm91dCBhbiBhc3NlbWJseSBpcyBjb250cm9sbGVkIHRocm91Z2ggdGhlIGZvbGxvd2luZyAKKycgc2V0IG9mIGF0dHJpYnV0ZXMuIENoYW5nZSB0aGVzZSBhdHRyaWJ1dGUgdmFsdWVzIHRvIG1vZGlmeSB0aGUgaW5mb3JtYXRpb24KKycgYXNzb2NpYXRlZCB3aXRoIGFuIGFzc2VtYmx5LgorCisnIFJldmlldyB0aGUgdmFsdWVzIG9mIHRoZSBhc3NlbWJseSBhdHRyaWJ1dGVzCisKKzxBc3NlbWJseTogQXNzZW1ibHlUaXRsZSgiTWVzc2FnZWUiKT4gCis8QXNzZW1ibHk6IEFzc2VtYmx5RGVzY3JpcHRpb24oIiIpPiAKKzxBc3NlbWJseTogQXNzZW1ibHlDb21wYW55KCIiKT4gCis8QXNzZW1ibHk6IEFzc2VtYmx5UHJvZHVjdCgiTWVzc2FnZWUiKT4gCis8QXNzZW1ibHk6IEFzc2VtYmx5Q29weXJpZ2h0KCJDb3B5cmlnaHQgwqkgIDIwMTMiKT4gCis8QXNzZW1ibHk6IEFzc2VtYmx5VHJhZGVtYXJrKCIiKT4gCisKKzxBc3NlbWJseTogQ29tVmlzaWJsZShGYWxzZSk+CisKKydUaGUgZm9sbG93aW5nIEdVSUQgaXMgZm9yIHRoZSBJRCBvZiB0aGUgdHlwZWxpYiBpZiB0aGlzIHByb2plY3QgaXMgZXhwb3NlZCB0byBDT00KKzxBc3NlbWJseTogR3VpZCgiNTZmYmRlZGItMDE2MC00Y2Y5LTk5M2YtMTIwNjdhZjllZThiIik+IAorCisnIFZlcnNpb24gaW5mb3JtYXRpb24gZm9yIGFuIGFzc2VtYmx5IGNvbnNpc3RzIG9mIHRoZSBmb2xsb3dpbmcgZm91ciB2YWx1ZXM6CisnCisnICAgICAgTWFqb3IgVmVyc2lvbgorJyAgICAgIE1pbm9yIFZlcnNpb24gCisnICAgICAgQnVpbGQgTnVtYmVyCisnICAgICAgUmV2aXNpb24KKycKKycgWW91IGNhbiBzcGVjaWZ5IGFsbCB0aGUgdmFsdWVzIG9yIHlvdSBjYW4gZGVmYXVsdCB0aGUgQnVpbGQgYW5kIFJldmlzaW9uIE51bWJlcnMgCisnIGJ5IHVzaW5nIHRoZSAnKicgYXMgc2hvd24gYmVsb3c6CisnIDxBc3NlbWJseTogQXNzZW1ibHlWZXJzaW9uKCIxLjAuKiIpPiAKKworPEFzc2VtYmx5OiBBc3NlbWJseVZlcnNpb24oIjEuMC4wLjAiKT4gCis8QXNzZW1ibHk6IEFzc2VtYmx5RmlsZVZlcnNpb24oIjEuMC4wLjAiKT4gCmRpZmYgLS1naXQgYS9zYW1wbGVzL21lc3NhZ2VlVHV0b3JpYWwvTWVzc2FnZWUvTXkgUHJvamVjdC9SZXNvdXJjZXMuRGVzaWduZXIudmIgYi9zYW1wbGVzL21lc3NhZ2VlVHV0b3JpYWwvTWVzc2FnZWUvTXkgUHJvamVjdC9SZXNvdXJjZXMuRGVzaWduZXIudmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODI3ZjEyOAotLS0gL2Rldi9udWxsCisrKyBiL3NhbXBsZXMvbWVzc2FnZWVUdXRvcmlhbC9NZXNzYWdlZS9NeSBQcm9qZWN0L1Jlc291cmNlcy5EZXNpZ25lci52YgpAQCAtMCwwICsxLDc3IEBACivvu78nIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorJyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKycgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorJyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorJyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorJyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorJworJyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisnCisnIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKycgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKycgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisnIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKycgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKyctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKycgPGF1dG8tZ2VuZXJhdGVkPgorJyAgICAgVGhpcyBjb2RlIHdhcyBnZW5lcmF0ZWQgYnkgYSB0b29sLgorJyAgICAgUnVudGltZSBWZXJzaW9uOjQuMC4zMDMxOS4xODMzMQorJworJyAgICAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmCisnICAgICB0aGUgY29kZSBpcyByZWdlbmVyYXRlZC4KKycgPC9hdXRvLWdlbmVyYXRlZD4KKyctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworT3B0aW9uIFN0cmljdCBPbgorT3B0aW9uIEV4cGxpY2l0IE9uCisKKworTmFtZXNwYWNlIE15LlJlc291cmNlcworICAgIAorICAgICdUaGlzIGNsYXNzIHdhcyBhdXRvLWdlbmVyYXRlZCBieSB0aGUgU3Ryb25nbHlUeXBlZFJlc291cmNlQnVpbGRlcgorICAgICdjbGFzcyB2aWEgYSB0b29sIGxpa2UgUmVzR2VuIG9yIFZpc3VhbCBTdHVkaW8uCisgICAgJ1RvIGFkZCBvciByZW1vdmUgYSBtZW1iZXIsIGVkaXQgeW91ciAuUmVzWCBmaWxlIHRoZW4gcmVydW4gUmVzR2VuCisgICAgJ3dpdGggdGhlIC9zdHIgb3B0aW9uLCBvciByZWJ1aWxkIHlvdXIgVlMgcHJvamVjdC4KKyAgICAnJyc8c3VtbWFyeT4KKyAgICAnJycgIEEgc3Ryb25nbHktdHlwZWQgcmVzb3VyY2UgY2xhc3MsIGZvciBsb29raW5nIHVwIGxvY2FsaXplZCBzdHJpbmdzLCBldGMuCisgICAgJycnPC9zdW1tYXJ5PgorICAgIDxHbG9iYWwuU3lzdGVtLkNvZGVEb20uQ29tcGlsZXIuR2VuZXJhdGVkQ29kZUF0dHJpYnV0ZSgiU3lzdGVtLlJlc291cmNlcy5Ub29scy5TdHJvbmdseVR5cGVkUmVzb3VyY2VCdWlsZGVyIiwgIjQuMC4wLjAiKSwgXworICAgICBHbG9iYWwuU3lzdGVtLkRpYWdub3N0aWNzLkRlYnVnZ2VyTm9uVXNlckNvZGVBdHRyaWJ1dGUoKSwgXworICAgICBHbG9iYWwuU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcy5Db21waWxlckdlbmVyYXRlZEF0dHJpYnV0ZSgpLCBfCisgICAgIEdsb2JhbC5NaWNyb3NvZnQuVmlzdWFsQmFzaWMuSGlkZU1vZHVsZU5hbWVBdHRyaWJ1dGUoKT4gXworICAgIEZyaWVuZCBNb2R1bGUgUmVzb3VyY2VzCisKKyAgICAgICAgUHJpdmF0ZSByZXNvdXJjZU1hbiBBcyBHbG9iYWwuU3lzdGVtLlJlc291cmNlcy5SZXNvdXJjZU1hbmFnZXIKKworICAgICAgICBQcml2YXRlIHJlc291cmNlQ3VsdHVyZSBBcyBHbG9iYWwuU3lzdGVtLkdsb2JhbGl6YXRpb24uQ3VsdHVyZUluZm8KKworICAgICAgICAnJyc8c3VtbWFyeT4KKyAgICAgICAgJycnICBSZXR1cm5zIHRoZSBjYWNoZWQgUmVzb3VyY2VNYW5hZ2VyIGluc3RhbmNlIHVzZWQgYnkgdGhpcyBjbGFzcy4KKyAgICAgICAgJycnPC9zdW1tYXJ5PgorICAgICAgICA8R2xvYmFsLlN5c3RlbS5Db21wb25lbnRNb2RlbC5FZGl0b3JCcm93c2FibGVBdHRyaWJ1dGUoR2xvYmFsLlN5c3RlbS5Db21wb25lbnRNb2RlbC5FZGl0b3JCcm93c2FibGVTdGF0ZS5BZHZhbmNlZCk+IF8KKyAgICAgICAgRnJpZW5kIFJlYWRPbmx5IFByb3BlcnR5IFJlc291cmNlTWFuYWdlcigpIEFzIEdsb2JhbC5TeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlTWFuYWdlcgorICAgICAgICAgICAgR2V0CisgICAgICAgICAgICAgICAgSWYgT2JqZWN0LlJlZmVyZW5jZUVxdWFscyhyZXNvdXJjZU1hbiwgTm90aGluZykgVGhlbgorICAgICAgICAgICAgICAgICAgICBEaW0gdGVtcCBBcyBHbG9iYWwuU3lzdGVtLlJlc291cmNlcy5SZXNvdXJjZU1hbmFnZXIgPSBOZXcgR2xvYmFsLlN5c3RlbS5SZXNvdXJjZXMuUmVzb3VyY2VNYW5hZ2VyKCJNZXNzYWdlZS5SZXNvdXJjZXMiLCBHZXRUeXBlKFJlc291cmNlcykuQXNzZW1ibHkpCisgICAgICAgICAgICAgICAgICAgIHJlc291cmNlTWFuID0gdGVtcAorICAgICAgICAgICAgICAgIEVuZCBJZgorICAgICAgICAgICAgICAgIFJldHVybiByZXNvdXJjZU1hbgorICAgICAgICAgICAgRW5kIEdldAorICAgICAgICBFbmQgUHJvcGVydHkKKworICAgICAgICAnJyc8c3VtbWFyeT4KKyAgICAgICAgJycnICBPdmVycmlkZXMgdGhlIGN1cnJlbnQgdGhyZWFkJ3MgQ3VycmVudFVJQ3VsdHVyZSBwcm9wZXJ0eSBmb3IgYWxsCisgICAgICAgICcnJyAgcmVzb3VyY2UgbG9va3VwcyB1c2luZyB0aGlzIHN0cm9uZ2x5IHR5cGVkIHJlc291cmNlIGNsYXNzLgorICAgICAgICAnJyc8L3N1bW1hcnk+CisgICAgICAgIDxHbG9iYWwuU3lzdGVtLkNvbXBvbmVudE1vZGVsLkVkaXRvckJyb3dzYWJsZUF0dHJpYnV0ZShHbG9iYWwuU3lzdGVtLkNvbXBvbmVudE1vZGVsLkVkaXRvckJyb3dzYWJsZVN0YXRlLkFkdmFuY2VkKT4gXworICAgICAgICBGcmllbmQgUHJvcGVydHkgQ3VsdHVyZSgpIEFzIEdsb2JhbC5TeXN0ZW0uR2xvYmFsaXphdGlvbi5DdWx0dXJlSW5mbworICAgICAgICAgICAgR2V0CisgICAgICAgICAgICAgICAgUmV0dXJuIHJlc291cmNlQ3VsdHVyZQorICAgICAgICAgICAgRW5kIEdldAorICAgICAgICAgICAgU2V0KEJ5VmFsIHZhbHVlIEFzIEdsb2JhbC5TeXN0ZW0uR2xvYmFsaXphdGlvbi5DdWx0dXJlSW5mbykKKyAgICAgICAgICAgICAgICByZXNvdXJjZUN1bHR1cmUgPSB2YWx1ZQorICAgICAgICAgICAgRW5kIFNldAorICAgICAgICBFbmQgUHJvcGVydHkKKyAgICBFbmQgTW9kdWxlCitFbmQgTmFtZXNwYWNlCmRpZmYgLS1naXQgYS9zYW1wbGVzL21lc3NhZ2VlVHV0b3JpYWwvTWVzc2FnZWUvTXkgUHJvamVjdC9SZXNvdXJjZXMucmVzeCBiL3NhbXBsZXMvbWVzc2FnZWVUdXRvcmlhbC9NZXNzYWdlZS9NeSBQcm9qZWN0L1Jlc291cmNlcy5yZXN4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5OGQ5YjYKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL21lc3NhZ2VlVHV0b3JpYWwvTWVzc2FnZWUvTXkgUHJvamVjdC9SZXNvdXJjZXMucmVzeApAQCAtMCwwICsxLDEzNCBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhLS0KKyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCistLT4KKworPHJvb3Q+CisgIDwhLS0gCisgICAgTWljcm9zb2Z0IFJlc1ggU2NoZW1hIAorICAgIAorICAgIFZlcnNpb24gMi4wCisgICAgCisgICAgVGhlIHByaW1hcnkgZ29hbHMgb2YgdGhpcyBmb3JtYXQgaXMgdG8gYWxsb3cgYSBzaW1wbGUgWE1MIGZvcm1hdCAKKyAgICB0aGF0IGlzIG1vc3RseSBodW1hbiByZWFkYWJsZS4gVGhlIGdlbmVyYXRpb24gYW5kIHBhcnNpbmcgb2YgdGhlIAorICAgIHZhcmlvdXMgZGF0YSB0eXBlcyBhcmUgZG9uZSB0aHJvdWdoIHRoZSBUeXBlQ29udmVydGVyIGNsYXNzZXMgCisgICAgYXNzb2NpYXRlZCB3aXRoIHRoZSBkYXRhIHR5cGVzLgorICAgIAorICAgIEV4YW1wbGU6CisgICAgCisgICAgLi4uIGFkby5uZXQvWE1MIGhlYWRlcnMgJiBzY2hlbWEgLi4uCisgICAgPHJlc2hlYWRlciBuYW1lPSJyZXNtaW1ldHlwZSI+dGV4dC9taWNyb3NvZnQtcmVzeDwvcmVzaGVhZGVyPgorICAgIDxyZXNoZWFkZXIgbmFtZT0idmVyc2lvbiI+Mi4wPC9yZXNoZWFkZXI+CisgICAgPHJlc2hlYWRlciBuYW1lPSJyZWFkZXIiPlN5c3RlbS5SZXNvdXJjZXMuUmVzWFJlc291cmNlUmVhZGVyLCBTeXN0ZW0uV2luZG93cy5Gb3JtcywgLi4uPC9yZXNoZWFkZXI+CisgICAgPHJlc2hlYWRlciBuYW1lPSJ3cml0ZXIiPlN5c3RlbS5SZXNvdXJjZXMuUmVzWFJlc291cmNlV3JpdGVyLCBTeXN0ZW0uV2luZG93cy5Gb3JtcywgLi4uPC9yZXNoZWFkZXI+CisgICAgPGRhdGEgbmFtZT0iTmFtZTEiPjx2YWx1ZT50aGlzIGlzIG15IGxvbmcgc3RyaW5nPC92YWx1ZT48Y29tbWVudD50aGlzIGlzIGEgY29tbWVudDwvY29tbWVudD48L2RhdGE+CisgICAgPGRhdGEgbmFtZT0iQ29sb3IxIiB0eXBlPSJTeXN0ZW0uRHJhd2luZy5Db2xvciwgU3lzdGVtLkRyYXdpbmciPkJsdWU8L2RhdGE+CisgICAgPGRhdGEgbmFtZT0iQml0bWFwMSIgbWltZXR5cGU9ImFwcGxpY2F0aW9uL3gtbWljcm9zb2Z0Lm5ldC5vYmplY3QuYmluYXJ5LmJhc2U2NCI+CisgICAgICAgIDx2YWx1ZT5bYmFzZTY0IG1pbWUgZW5jb2RlZCBzZXJpYWxpemVkIC5ORVQgRnJhbWV3b3JrIG9iamVjdF08L3ZhbHVlPgorICAgIDwvZGF0YT4KKyAgICA8ZGF0YSBuYW1lPSJJY29uMSIgdHlwZT0iU3lzdGVtLkRyYXdpbmcuSWNvbiwgU3lzdGVtLkRyYXdpbmciIG1pbWV0eXBlPSJhcHBsaWNhdGlvbi94LW1pY3Jvc29mdC5uZXQub2JqZWN0LmJ5dGVhcnJheS5iYXNlNjQiPgorICAgICAgICA8dmFsdWU+W2Jhc2U2NCBtaW1lIGVuY29kZWQgc3RyaW5nIHJlcHJlc2VudGluZyBhIGJ5dGUgYXJyYXkgZm9ybSBvZiB0aGUgLk5FVCBGcmFtZXdvcmsgb2JqZWN0XTwvdmFsdWU+CisgICAgICAgIDxjb21tZW50PlRoaXMgaXMgYSBjb21tZW50PC9jb21tZW50PgorICAgIDwvZGF0YT4KKyAgICAgICAgICAgICAgICAKKyAgICBUaGVyZSBhcmUgYW55IG51bWJlciBvZiAicmVzaGVhZGVyIiByb3dzIHRoYXQgY29udGFpbiBzaW1wbGUgCisgICAgbmFtZS92YWx1ZSBwYWlycy4KKyAgICAKKyAgICBFYWNoIGRhdGEgcm93IGNvbnRhaW5zIGEgbmFtZSwgYW5kIHZhbHVlLiBUaGUgcm93IGFsc28gY29udGFpbnMgYSAKKyAgICB0eXBlIG9yIG1pbWV0eXBlLiBUeXBlIGNvcnJlc3BvbmRzIHRvIGEgLk5FVCBjbGFzcyB0aGF0IHN1cHBvcnQgCisgICAgdGV4dC92YWx1ZSBjb252ZXJzaW9uIHRocm91Z2ggdGhlIFR5cGVDb252ZXJ0ZXIgYXJjaGl0ZWN0dXJlLiAKKyAgICBDbGFzc2VzIHRoYXQgZG9uJ3Qgc3VwcG9ydCB0aGlzIGFyZSBzZXJpYWxpemVkIGFuZCBzdG9yZWQgd2l0aCB0aGUgCisgICAgbWltZXR5cGUgc2V0LgorICAgIAorICAgIFRoZSBtaW1ldHlwZSBpcyB1c2VkIGZvciBzZXJpYWxpemVkIG9iamVjdHMsIGFuZCB0ZWxscyB0aGUgCisgICAgUmVzWFJlc291cmNlUmVhZGVyIGhvdyB0byBkZXBlcnNpc3QgdGhlIG9iamVjdC4gVGhpcyBpcyBjdXJyZW50bHkgbm90IAorICAgIGV4dGVuc2libGUuIEZvciBhIGdpdmVuIG1pbWV0eXBlIHRoZSB2YWx1ZSBtdXN0IGJlIHNldCBhY2NvcmRpbmdseToKKyAgICAKKyAgICBOb3RlIC0gYXBwbGljYXRpb24veC1taWNyb3NvZnQubmV0Lm9iamVjdC5iaW5hcnkuYmFzZTY0IGlzIHRoZSBmb3JtYXQgCisgICAgdGhhdCB0aGUgUmVzWFJlc291cmNlV3JpdGVyIHdpbGwgZ2VuZXJhdGUsIGhvd2V2ZXIgdGhlIHJlYWRlciBjYW4gCisgICAgcmVhZCBhbnkgb2YgdGhlIGZvcm1hdHMgbGlzdGVkIGJlbG93LgorICAgIAorICAgIG1pbWV0eXBlOiBhcHBsaWNhdGlvbi94LW1pY3Jvc29mdC5uZXQub2JqZWN0LmJpbmFyeS5iYXNlNjQKKyAgICB2YWx1ZSAgIDogVGhlIG9iamVjdCBtdXN0IGJlIHNlcmlhbGl6ZWQgd2l0aCAKKyAgICAgICAgICAgIDogU3lzdGVtLlNlcmlhbGl6YXRpb24uRm9ybWF0dGVycy5CaW5hcnkuQmluYXJ5Rm9ybWF0dGVyCisgICAgICAgICAgICA6IGFuZCB0aGVuIGVuY29kZWQgd2l0aCBiYXNlNjQgZW5jb2RpbmcuCisgICAgCisgICAgbWltZXR5cGU6IGFwcGxpY2F0aW9uL3gtbWljcm9zb2Z0Lm5ldC5vYmplY3Quc29hcC5iYXNlNjQKKyAgICB2YWx1ZSAgIDogVGhlIG9iamVjdCBtdXN0IGJlIHNlcmlhbGl6ZWQgd2l0aCAKKyAgICAgICAgICAgIDogU3lzdGVtLlJ1bnRpbWUuU2VyaWFsaXphdGlvbi5Gb3JtYXR0ZXJzLlNvYXAuU29hcEZvcm1hdHRlcgorICAgICAgICAgICAgOiBhbmQgdGhlbiBlbmNvZGVkIHdpdGggYmFzZTY0IGVuY29kaW5nLgorCisgICAgbWltZXR5cGU6IGFwcGxpY2F0aW9uL3gtbWljcm9zb2Z0Lm5ldC5vYmplY3QuYnl0ZWFycmF5LmJhc2U2NAorICAgIHZhbHVlICAgOiBUaGUgb2JqZWN0IG11c3QgYmUgc2VyaWFsaXplZCBpbnRvIGEgYnl0ZSBhcnJheSAKKyAgICAgICAgICAgIDogdXNpbmcgYSBTeXN0ZW0uQ29tcG9uZW50TW9kZWwuVHlwZUNvbnZlcnRlcgorICAgICAgICAgICAgOiBhbmQgdGhlbiBlbmNvZGVkIHdpdGggYmFzZTY0IGVuY29kaW5nLgorICAgIC0tPgorICA8eHNkOnNjaGVtYSBpZD0icm9vdCIgeG1sbnM9IiIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6bXNkYXRhPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOnhtbC1tc2RhdGEiPgorICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJyb290IiBtc2RhdGE6SXNEYXRhU2V0PSJ0cnVlIj4KKyAgICAgIDx4c2Q6Y29tcGxleFR5cGU+CisgICAgICAgIDx4c2Q6Y2hvaWNlIG1heE9jY3Vycz0idW5ib3VuZGVkIj4KKyAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0ibWV0YWRhdGEiPgorICAgICAgICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgICAgPHhzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0idmFsdWUiIHR5cGU9InhzZDpzdHJpbmciIG1pbk9jY3Vycz0iMCIgLz4KKyAgICAgICAgICAgICAgPC94c2Q6c2VxdWVuY2U+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9Im5hbWUiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9InR5cGUiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9Im1pbWV0eXBlIiB0eXBlPSJ4c2Q6c3RyaW5nIiAvPgorICAgICAgICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iYXNzZW1ibHkiPgorICAgICAgICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iYWxpYXMiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9Im5hbWUiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICAgICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJkYXRhIj4KKyAgICAgICAgICAgIDx4c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgICAgIDx4c2Q6c2VxdWVuY2U+CisgICAgICAgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InZhbHVlIiB0eXBlPSJ4c2Q6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1zZGF0YTpPcmRpbmFsPSIxIiAvPgorICAgICAgICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJjb21tZW50IiB0eXBlPSJ4c2Q6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1zZGF0YTpPcmRpbmFsPSIyIiAvPgorICAgICAgICAgICAgICA8L3hzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibmFtZSIgdHlwZT0ieHNkOnN0cmluZyIgbXNkYXRhOk9yZGluYWw9IjEiIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9InR5cGUiIHR5cGU9InhzZDpzdHJpbmciIG1zZGF0YTpPcmRpbmFsPSIzIiAvPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJtaW1ldHlwZSIgdHlwZT0ieHNkOnN0cmluZyIgbXNkYXRhOk9yZGluYWw9IjQiIC8+CisgICAgICAgICAgICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJyZXNoZWFkZXIiPgorICAgICAgICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgICAgPHhzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0idmFsdWUiIHR5cGU9InhzZDpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbXNkYXRhOk9yZGluYWw9IjEiIC8+CisgICAgICAgICAgICAgIDwveHNkOnNlcXVlbmNlPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJuYW1lIiB0eXBlPSJ4c2Q6c3RyaW5nIiB1c2U9InJlcXVpcmVkIiAvPgorICAgICAgICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgICAgPC94c2Q6Y2hvaWNlPgorICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgPC94c2Q6ZWxlbWVudD4KKyAgPC94c2Q6c2NoZW1hPgorICA8cmVzaGVhZGVyIG5hbWU9InJlc21pbWV0eXBlIj4KKyAgICA8dmFsdWU+dGV4dC9taWNyb3NvZnQtcmVzeDwvdmFsdWU+CisgIDwvcmVzaGVhZGVyPgorICA8cmVzaGVhZGVyIG5hbWU9InZlcnNpb24iPgorICAgIDx2YWx1ZT4yLjA8L3ZhbHVlPgorICA8L3Jlc2hlYWRlcj4KKyAgPHJlc2hlYWRlciBuYW1lPSJyZWFkZXIiPgorICAgIDx2YWx1ZT5TeXN0ZW0uUmVzb3VyY2VzLlJlc1hSZXNvdXJjZVJlYWRlciwgU3lzdGVtLldpbmRvd3MuRm9ybXMsIFZlcnNpb249Mi4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5PC92YWx1ZT4KKyAgPC9yZXNoZWFkZXI+CisgIDxyZXNoZWFkZXIgbmFtZT0id3JpdGVyIj4KKyAgICA8dmFsdWU+U3lzdGVtLlJlc291cmNlcy5SZXNYUmVzb3VyY2VXcml0ZXIsIFN5c3RlbS5XaW5kb3dzLkZvcm1zLCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OTwvdmFsdWU+CisgIDwvcmVzaGVhZGVyPgorPC9yb290PgpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9tZXNzYWdlZVR1dG9yaWFsL01lc3NhZ2VlL015IFByb2plY3QvU2V0dGluZ3MuRGVzaWduZXIudmIgYi9zYW1wbGVzL21lc3NhZ2VlVHV0b3JpYWwvTWVzc2FnZWUvTXkgUHJvamVjdC9TZXR0aW5ncy5EZXNpZ25lci52YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ODhhMmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9tZXNzYWdlZVR1dG9yaWFsL01lc3NhZ2VlL015IFByb2plY3QvU2V0dGluZ3MuRGVzaWduZXIudmIKQEAgLTAsMCArMSw4OCBAQAor77u/JyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKycgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisnIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKycgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKycgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKycgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKycKKycgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorJworJyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisnIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisnIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorJyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisnIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCisnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisnIDxhdXRvLWdlbmVyYXRlZD4KKycgICAgIFRoaXMgY29kZSB3YXMgZ2VuZXJhdGVkIGJ5IGEgdG9vbC4KKycgICAgIFJ1bnRpbWUgVmVyc2lvbjo0LjAuMzAzMTkuMTgzMzEKKycKKycgICAgIENoYW5nZXMgdG8gdGhpcyBmaWxlIG1heSBjYXVzZSBpbmNvcnJlY3QgYmVoYXZpb3IgYW5kIHdpbGwgYmUgbG9zdCBpZgorJyAgICAgdGhlIGNvZGUgaXMgcmVnZW5lcmF0ZWQuCisnIDwvYXV0by1nZW5lcmF0ZWQ+CisnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK09wdGlvbiBTdHJpY3QgT24KK09wdGlvbiBFeHBsaWNpdCBPbgorCisKK05hbWVzcGFjZSBNeQorCisgICAgPEdsb2JhbC5TeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzLkNvbXBpbGVyR2VuZXJhdGVkQXR0cmlidXRlKCksIF8KKyAgICAgR2xvYmFsLlN5c3RlbS5Db2RlRG9tLkNvbXBpbGVyLkdlbmVyYXRlZENvZGVBdHRyaWJ1dGUoIk1pY3Jvc29mdC5WaXN1YWxTdHVkaW8uRWRpdG9ycy5TZXR0aW5nc0Rlc2lnbmVyLlNldHRpbmdzU2luZ2xlRmlsZUdlbmVyYXRvciIsICIxMS4wLjAuMCIpLCBfCisgICAgIEdsb2JhbC5TeXN0ZW0uQ29tcG9uZW50TW9kZWwuRWRpdG9yQnJvd3NhYmxlQXR0cmlidXRlKEdsb2JhbC5TeXN0ZW0uQ29tcG9uZW50TW9kZWwuRWRpdG9yQnJvd3NhYmxlU3RhdGUuQWR2YW5jZWQpPiBfCisgICAgUGFydGlhbCBGcmllbmQgTm90SW5oZXJpdGFibGUgQ2xhc3MgTXlTZXR0aW5ncworICAgICAgICBJbmhlcml0cyBHbG9iYWwuU3lzdGVtLkNvbmZpZ3VyYXRpb24uQXBwbGljYXRpb25TZXR0aW5nc0Jhc2UKKworICAgICAgICBQcml2YXRlIFNoYXJlZCBkZWZhdWx0SW5zdGFuY2UgQXMgTXlTZXR0aW5ncyA9IENUeXBlKEdsb2JhbC5TeXN0ZW0uQ29uZmlndXJhdGlvbi5BcHBsaWNhdGlvblNldHRpbmdzQmFzZS5TeW5jaHJvbml6ZWQoTmV3IE15U2V0dGluZ3MpLCBNeVNldHRpbmdzKQorCisjUmVnaW9uICJNeS5TZXR0aW5ncyBBdXRvLVNhdmUgRnVuY3Rpb25hbGl0eSIKKyNJZiBfTXlUeXBlID0gIldpbmRvd3NGb3JtcyIgVGhlbgorICAgICAgICBQcml2YXRlIFNoYXJlZCBhZGRlZEhhbmRsZXIgQXMgQm9vbGVhbgorCisgICAgICAgIFByaXZhdGUgU2hhcmVkIGFkZGVkSGFuZGxlckxvY2tPYmplY3QgQXMgTmV3IE9iamVjdAorCisgICAgICAgIDxHbG9iYWwuU3lzdGVtLkRpYWdub3N0aWNzLkRlYnVnZ2VyTm9uVXNlckNvZGVBdHRyaWJ1dGUoKSwgR2xvYmFsLlN5c3RlbS5Db21wb25lbnRNb2RlbC5FZGl0b3JCcm93c2FibGVBdHRyaWJ1dGUoR2xvYmFsLlN5c3RlbS5Db21wb25lbnRNb2RlbC5FZGl0b3JCcm93c2FibGVTdGF0ZS5BZHZhbmNlZCk+IF8KKyAgICAgICAgUHJpdmF0ZSBTaGFyZWQgU3ViIEF1dG9TYXZlU2V0dGluZ3MoQnlWYWwgc2VuZGVyIEFzIEdsb2JhbC5TeXN0ZW0uT2JqZWN0LCBCeVZhbCBlIEFzIEdsb2JhbC5TeXN0ZW0uRXZlbnRBcmdzKQorICAgICAgICAgICAgSWYgTXkuQXBwbGljYXRpb24uU2F2ZU15U2V0dGluZ3NPbkV4aXQgVGhlbgorICAgICAgICAgICAgICAgIE15LlNldHRpbmdzLlNhdmUoKQorICAgICAgICAgICAgRW5kIElmCisgICAgICAgIEVuZCBTdWIKKyNFbmQgSWYKKyNFbmQgUmVnaW9uCisKKyAgICAgICAgUHVibGljIFNoYXJlZCBSZWFkT25seSBQcm9wZXJ0eSBbRGVmYXVsdF0oKSBBcyBNeVNldHRpbmdzCisgICAgICAgICAgICBHZXQKKworI0lmIF9NeVR5cGUgPSAiV2luZG93c0Zvcm1zIiBUaGVuCisgICAgICAgICAgICAgICAgICAgSWYgTm90IGFkZGVkSGFuZGxlciBUaGVuCisgICAgICAgICAgICAgICAgICAgICAgICBTeW5jTG9jayBhZGRlZEhhbmRsZXJMb2NrT2JqZWN0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgTm90IGFkZGVkSGFuZGxlciBUaGVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZEhhbmRsZXIgTXkuQXBwbGljYXRpb24uU2h1dGRvd24sIEFkZHJlc3NPZiBBdXRvU2F2ZVNldHRpbmdzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGVkSGFuZGxlciA9IFRydWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbmQgSWYKKyAgICAgICAgICAgICAgICAgICAgICAgIEVuZCBTeW5jTG9jaworICAgICAgICAgICAgICAgICAgICBFbmQgSWYKKyNFbmQgSWYKKyAgICAgICAgICAgICAgICBSZXR1cm4gZGVmYXVsdEluc3RhbmNlCisgICAgICAgICAgICBFbmQgR2V0CisgICAgICAgIEVuZCBQcm9wZXJ0eQorICAgIEVuZCBDbGFzcworRW5kIE5hbWVzcGFjZQorCitOYW1lc3BhY2UgTXkKKyAgICAKKyAgICA8R2xvYmFsLk1pY3Jvc29mdC5WaXN1YWxCYXNpYy5IaWRlTW9kdWxlTmFtZUF0dHJpYnV0ZSgpLCAgXworICAgICBHbG9iYWwuU3lzdGVtLkRpYWdub3N0aWNzLkRlYnVnZ2VyTm9uVXNlckNvZGVBdHRyaWJ1dGUoKSwgIF8KKyAgICAgR2xvYmFsLlN5c3RlbS5SdW50aW1lLkNvbXBpbGVyU2VydmljZXMuQ29tcGlsZXJHZW5lcmF0ZWRBdHRyaWJ1dGUoKT4gIF8KKyAgICBGcmllbmQgTW9kdWxlIE15U2V0dGluZ3NQcm9wZXJ0eQorICAgICAgICAKKyAgICAgICAgPEdsb2JhbC5TeXN0ZW0uQ29tcG9uZW50TW9kZWwuRGVzaWduLkhlbHBLZXl3b3JkQXR0cmlidXRlKCJNeS5TZXR0aW5ncyIpPiAgXworICAgICAgICBGcmllbmQgUmVhZE9ubHkgUHJvcGVydHkgU2V0dGluZ3MoKSBBcyBHbG9iYWwuTWVzc2FnZWUuTXkuTXlTZXR0aW5ncworICAgICAgICAgICAgR2V0CisgICAgICAgICAgICAgICAgUmV0dXJuIEdsb2JhbC5NZXNzYWdlZS5NeS5NeVNldHRpbmdzLkRlZmF1bHQKKyAgICAgICAgICAgIEVuZCBHZXQKKyAgICAgICAgRW5kIFByb3BlcnR5CisgICAgRW5kIE1vZHVsZQorRW5kIE5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9tZXNzYWdlZVR1dG9yaWFsL01lc3NhZ2VlL015IFByb2plY3QvU2V0dGluZ3Muc2V0dGluZ3MgYi9zYW1wbGVzL21lc3NhZ2VlVHV0b3JpYWwvTWVzc2FnZWUvTXkgUHJvamVjdC9TZXR0aW5ncy5zZXR0aW5ncwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YzI3MGYxCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9tZXNzYWdlZVR1dG9yaWFsL01lc3NhZ2VlL015IFByb2plY3QvU2V0dGluZ3Muc2V0dGluZ3MKQEAgLTAsMCArMSwyNCBAQAor77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KKzwhLS0KKyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCistLT4KKworPFNldHRpbmdzRmlsZSB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9WaXN1YWxTdHVkaW8vMjAwNC8wMS9zZXR0aW5ncyIgQ3VycmVudFByb2ZpbGU9IihEZWZhdWx0KSIgVXNlTXlTZXR0aW5nc0NsYXNzTmFtZT0idHJ1ZSI+CisgIDxQcm9maWxlcz4KKyAgICA8UHJvZmlsZSBOYW1lPSIoRGVmYXVsdCkiIC8+CisgIDwvUHJvZmlsZXM+CisgIDxTZXR0aW5ncyAvPgorPC9TZXR0aW5nc0ZpbGU+CmRpZmYgLS1naXQgYS9zYW1wbGVzL21lc3NhZ2VlVHV0b3JpYWwvTWVzc2FnZWUvU2V0dGluZ3MuRGVzaWduZXIudmIgYi9zYW1wbGVzL21lc3NhZ2VlVHV0b3JpYWwvTWVzc2FnZWUvU2V0dGluZ3MuRGVzaWduZXIudmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTFmNDA0MAotLS0gL2Rldi9udWxsCisrKyBiL3NhbXBsZXMvbWVzc2FnZWVUdXRvcmlhbC9NZXNzYWdlZS9TZXR0aW5ncy5EZXNpZ25lci52YgpAQCAtMCwwICsxLDE1OSBAQAor77u/JyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKycgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisnIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKycgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKycgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKycgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKycKKycgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorJworJyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisnIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisnIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorJyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisnIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCis8R2xvYmFsLk1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzLkRlc2lnbmVyR2VuZXJhdGVkKCk+IF8KK1BhcnRpYWwgQ2xhc3MgU2V0dGluZ3MKKyAgICBJbmhlcml0cyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Gb3JtCisKKyAgICAnRm9ybSBvdmVycmlkZXMgZGlzcG9zZSB0byBjbGVhbiB1cCB0aGUgY29tcG9uZW50IGxpc3QuCisgICAgPFN5c3RlbS5EaWFnbm9zdGljcy5EZWJ1Z2dlck5vblVzZXJDb2RlKCk+IF8KKyAgICBQcm90ZWN0ZWQgT3ZlcnJpZGVzIFN1YiBEaXNwb3NlKEJ5VmFsIGRpc3Bvc2luZyBBcyBCb29sZWFuKQorICAgICAgICBUcnkKKyAgICAgICAgICAgIElmIGRpc3Bvc2luZyBBbmRBbHNvIGNvbXBvbmVudHMgSXNOb3QgTm90aGluZyBUaGVuCisgICAgICAgICAgICAgICAgY29tcG9uZW50cy5EaXNwb3NlKCkKKyAgICAgICAgICAgIEVuZCBJZgorICAgICAgICBGaW5hbGx5CisgICAgICAgICAgICBNeUJhc2UuRGlzcG9zZShkaXNwb3NpbmcpCisgICAgICAgIEVuZCBUcnkKKyAgICBFbmQgU3ViCisKKyAgICAnUmVxdWlyZWQgYnkgdGhlIFdpbmRvd3MgRm9ybSBEZXNpZ25lcgorICAgIFByaXZhdGUgY29tcG9uZW50cyBBcyBTeXN0ZW0uQ29tcG9uZW50TW9kZWwuSUNvbnRhaW5lcgorCisgICAgJ05PVEU6IFRoZSBmb2xsb3dpbmcgcHJvY2VkdXJlIGlzIHJlcXVpcmVkIGJ5IHRoZSBXaW5kb3dzIEZvcm0gRGVzaWduZXIKKyAgICAnSXQgY2FuIGJlIG1vZGlmaWVkIHVzaW5nIHRoZSBXaW5kb3dzIEZvcm0gRGVzaWduZXIuICAKKyAgICAnRG8gbm90IG1vZGlmeSBpdCB1c2luZyB0aGUgY29kZSBlZGl0b3IuCisgICAgPFN5c3RlbS5EaWFnbm9zdGljcy5EZWJ1Z2dlclN0ZXBUaHJvdWdoKCk+IF8KKyAgICBQcml2YXRlIFN1YiBJbml0aWFsaXplQ29tcG9uZW50KCkKKyAgICAgICAgTWUuTGFiZWwxID0gTmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxhYmVsKCkKKyAgICAgICAgTWUudHh0VXNlck5hbWUgPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuVGV4dEJveCgpCisgICAgICAgIE1lLlBhc3N3b3JkID0gTmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxhYmVsKCkKKyAgICAgICAgTWUudHh0UGFzc3dvcmQgPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuVGV4dEJveCgpCisgICAgICAgIE1lLkxhYmVsMiA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MYWJlbCgpCisgICAgICAgIE1lLnR4dE9yZyA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5UZXh0Qm94KCkKKyAgICAgICAgTWUuQXBwID0gTmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxhYmVsKCkKKyAgICAgICAgTWUudHh0QXBwID0gTmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLlRleHRCb3goKQorICAgICAgICBNZS5idG5TYXZlID0gTmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLkJ1dHRvbigpCisgICAgICAgIE1lLlN1c3BlbmRMYXlvdXQoKQorICAgICAgICAnCisgICAgICAgICdMYWJlbDEKKyAgICAgICAgJworICAgICAgICBNZS5MYWJlbDEuQXV0b1NpemUgPSBUcnVlCisgICAgICAgIE1lLkxhYmVsMS5Gb250ID0gTmV3IFN5c3RlbS5EcmF3aW5nLkZvbnQoIk1pY3Jvc29mdCBTYW5zIFNlcmlmIiwgMTAuMiEsIFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZS5Cb2xkLCBTeXN0ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQuUG9pbnQsIENUeXBlKDAsIEJ5dGUpKQorICAgICAgICBNZS5MYWJlbDEuTG9jYXRpb24gPSBOZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoMjcsIDQxKQorICAgICAgICBNZS5MYWJlbDEuTmFtZSA9ICJMYWJlbDEiCisgICAgICAgIE1lLkxhYmVsMS5TaXplID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoMTAzLCAyMCkKKyAgICAgICAgTWUuTGFiZWwxLlRhYkluZGV4ID0gMAorICAgICAgICBNZS5MYWJlbDEuVGV4dCA9ICJVc2VyIE5hbWUiCisgICAgICAgICcKKyAgICAgICAgJ3R4dFVzZXJOYW1lCisgICAgICAgICcKKyAgICAgICAgTWUudHh0VXNlck5hbWUuTG9jYXRpb24gPSBOZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoMTYwLCA0MSkKKyAgICAgICAgTWUudHh0VXNlck5hbWUuTmFtZSA9ICJ0eHRVc2VyTmFtZSIKKyAgICAgICAgTWUudHh0VXNlck5hbWUuU2l6ZSA9IE5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDE4MCwgMjIpCisgICAgICAgIE1lLnR4dFVzZXJOYW1lLlRhYkluZGV4ID0gMQorICAgICAgICAnCisgICAgICAgICdQYXNzd29yZAorICAgICAgICAnCisgICAgICAgIE1lLlBhc3N3b3JkLkF1dG9TaXplID0gVHJ1ZQorICAgICAgICBNZS5QYXNzd29yZC5Gb250ID0gTmV3IFN5c3RlbS5EcmF3aW5nLkZvbnQoIk1pY3Jvc29mdCBTYW5zIFNlcmlmIiwgMTAuMiEsIFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZS5Cb2xkLCBTeXN0ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQuUG9pbnQsIENUeXBlKDAsIEJ5dGUpKQorICAgICAgICBNZS5QYXNzd29yZC5Mb2NhdGlvbiA9IE5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCgzMSwgOTQpCisgICAgICAgIE1lLlBhc3N3b3JkLk5hbWUgPSAiUGFzc3dvcmQiCisgICAgICAgIE1lLlBhc3N3b3JkLlNpemUgPSBOZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSg5MSwgMjApCisgICAgICAgIE1lLlBhc3N3b3JkLlRhYkluZGV4ID0gMgorICAgICAgICBNZS5QYXNzd29yZC5UZXh0ID0gIlBhc3N3b3JkIgorICAgICAgICAnCisgICAgICAgICd0eHRQYXNzd29yZAorICAgICAgICAnCisgICAgICAgIE1lLnR4dFBhc3N3b3JkLkxvY2F0aW9uID0gTmV3IFN5c3RlbS5EcmF3aW5nLlBvaW50KDE2MCwgOTQpCisgICAgICAgIE1lLnR4dFBhc3N3b3JkLk5hbWUgPSAidHh0UGFzc3dvcmQiCisgICAgICAgIE1lLnR4dFBhc3N3b3JkLlNpemUgPSBOZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSgxODAsIDIyKQorICAgICAgICBNZS50eHRQYXNzd29yZC5UYWJJbmRleCA9IDMKKyAgICAgICAgTWUudHh0UGFzc3dvcmQuVXNlU3lzdGVtUGFzc3dvcmRDaGFyID0gVHJ1ZQorICAgICAgICAnCisgICAgICAgICdMYWJlbDIKKyAgICAgICAgJworICAgICAgICBNZS5MYWJlbDIuQXV0b1NpemUgPSBUcnVlCisgICAgICAgIE1lLkxhYmVsMi5Gb250ID0gTmV3IFN5c3RlbS5EcmF3aW5nLkZvbnQoIk1pY3Jvc29mdCBTYW5zIFNlcmlmIiwgMTAuMiEsIFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZS5Cb2xkLCBTeXN0ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQuUG9pbnQsIENUeXBlKDAsIEJ5dGUpKQorICAgICAgICBNZS5MYWJlbDIuTG9jYXRpb24gPSBOZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoMzEsIDE0OCkKKyAgICAgICAgTWUuTGFiZWwyLk5hbWUgPSAiTGFiZWwyIgorICAgICAgICBNZS5MYWJlbDIuU2l6ZSA9IE5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDQwLCAyMCkKKyAgICAgICAgTWUuTGFiZWwyLlRhYkluZGV4ID0gNAorICAgICAgICBNZS5MYWJlbDIuVGV4dCA9ICJPcmciCisgICAgICAgICcKKyAgICAgICAgJ3R4dE9yZworICAgICAgICAnCisgICAgICAgIE1lLnR4dE9yZy5Mb2NhdGlvbiA9IE5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCgxNjAsIDE0OCkKKyAgICAgICAgTWUudHh0T3JnLk5hbWUgPSAidHh0T3JnIgorICAgICAgICBNZS50eHRPcmcuU2l6ZSA9IE5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDE4MCwgMjIpCisgICAgICAgIE1lLnR4dE9yZy5UYWJJbmRleCA9IDUKKyAgICAgICAgJworICAgICAgICAnQXBwCisgICAgICAgICcKKyAgICAgICAgTWUuQXBwLkF1dG9TaXplID0gVHJ1ZQorICAgICAgICBNZS5BcHAuRm9udCA9IE5ldyBTeXN0ZW0uRHJhd2luZy5Gb250KCJNaWNyb3NvZnQgU2FucyBTZXJpZiIsIDEwLjIhLCBTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUuQm9sZCwgU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0LlBvaW50LCBDVHlwZSgwLCBCeXRlKSkKKyAgICAgICAgTWUuQXBwLkxvY2F0aW9uID0gTmV3IFN5c3RlbS5EcmF3aW5nLlBvaW50KDM1LCAyMDIpCisgICAgICAgIE1lLkFwcC5OYW1lID0gIkFwcCIKKyAgICAgICAgTWUuQXBwLlNpemUgPSBOZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSg0MSwgMjApCisgICAgICAgIE1lLkFwcC5UYWJJbmRleCA9IDYKKyAgICAgICAgTWUuQXBwLlRleHQgPSAiQXBwIgorICAgICAgICAnCisgICAgICAgICd0eHRBcHAKKyAgICAgICAgJworICAgICAgICBNZS50eHRBcHAuTG9jYXRpb24gPSBOZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoMTYwLCAyMDIpCisgICAgICAgIE1lLnR4dEFwcC5OYW1lID0gInR4dEFwcCIKKyAgICAgICAgTWUudHh0QXBwLlNpemUgPSBOZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSgxODAsIDIyKQorICAgICAgICBNZS50eHRBcHAuVGFiSW5kZXggPSA3CisgICAgICAgICcKKyAgICAgICAgJ2J0blNhdmUKKyAgICAgICAgJworICAgICAgICBNZS5idG5TYXZlLkZvbnQgPSBOZXcgU3lzdGVtLkRyYXdpbmcuRm9udCgiTWljcm9zb2Z0IFNhbnMgU2VyaWYiLCAxMC4yISwgU3lzdGVtLkRyYXdpbmcuRm9udFN0eWxlLkJvbGQsIFN5c3RlbS5EcmF3aW5nLkdyYXBoaWNzVW5pdC5Qb2ludCwgQ1R5cGUoMCwgQnl0ZSkpCisgICAgICAgIE1lLmJ0blNhdmUuTG9jYXRpb24gPSBOZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoMTYwLCAyODkpCisgICAgICAgIE1lLmJ0blNhdmUuTmFtZSA9ICJidG5TYXZlIgorICAgICAgICBNZS5idG5TYXZlLlNpemUgPSBOZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSgxMTcsIDMxKQorICAgICAgICBNZS5idG5TYXZlLlRhYkluZGV4ID0gOAorICAgICAgICBNZS5idG5TYXZlLlRleHQgPSAiU2F2ZSBTZXR0aW5ncyIKKyAgICAgICAgTWUuYnRuU2F2ZS5Vc2VWaXN1YWxTdHlsZUJhY2tDb2xvciA9IFRydWUKKyAgICAgICAgJworICAgICAgICAnU2V0dGluZ3MKKyAgICAgICAgJworICAgICAgICBNZS5BdXRvU2NhbGVEaW1lbnNpb25zID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemVGKDguMCEsIDE2LjAhKQorICAgICAgICBNZS5BdXRvU2NhbGVNb2RlID0gU3lzdGVtLldpbmRvd3MuRm9ybXMuQXV0b1NjYWxlTW9kZS5Gb250CisgICAgICAgIE1lLkNsaWVudFNpemUgPSBOZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSg1MTcsIDQyMCkKKyAgICAgICAgTWUuQ29udHJvbHMuQWRkKE1lLmJ0blNhdmUpCisgICAgICAgIE1lLkNvbnRyb2xzLkFkZChNZS50eHRBcHApCisgICAgICAgIE1lLkNvbnRyb2xzLkFkZChNZS5BcHApCisgICAgICAgIE1lLkNvbnRyb2xzLkFkZChNZS50eHRPcmcpCisgICAgICAgIE1lLkNvbnRyb2xzLkFkZChNZS5MYWJlbDIpCisgICAgICAgIE1lLkNvbnRyb2xzLkFkZChNZS50eHRQYXNzd29yZCkKKyAgICAgICAgTWUuQ29udHJvbHMuQWRkKE1lLlBhc3N3b3JkKQorICAgICAgICBNZS5Db250cm9scy5BZGQoTWUudHh0VXNlck5hbWUpCisgICAgICAgIE1lLkNvbnRyb2xzLkFkZChNZS5MYWJlbDEpCisgICAgICAgIE1lLk5hbWUgPSAiU2V0dGluZ3MiCisgICAgICAgIE1lLlRleHQgPSAiU2V0dGluZ3MiCisgICAgICAgIE1lLlJlc3VtZUxheW91dChGYWxzZSkKKyAgICAgICAgTWUuUGVyZm9ybUxheW91dCgpCisKKyAgICBFbmQgU3ViCisgICAgRnJpZW5kIFdpdGhFdmVudHMgTGFiZWwxIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxhYmVsCisgICAgRnJpZW5kIFdpdGhFdmVudHMgdHh0VXNlck5hbWUgQXMgU3lzdGVtLldpbmRvd3MuRm9ybXMuVGV4dEJveAorICAgIEZyaWVuZCBXaXRoRXZlbnRzIFBhc3N3b3JkIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxhYmVsCisgICAgRnJpZW5kIFdpdGhFdmVudHMgdHh0UGFzc3dvcmQgQXMgU3lzdGVtLldpbmRvd3MuRm9ybXMuVGV4dEJveAorICAgIEZyaWVuZCBXaXRoRXZlbnRzIExhYmVsMiBBcyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MYWJlbAorICAgIEZyaWVuZCBXaXRoRXZlbnRzIHR4dE9yZyBBcyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5UZXh0Qm94CisgICAgRnJpZW5kIFdpdGhFdmVudHMgQXBwIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxhYmVsCisgICAgRnJpZW5kIFdpdGhFdmVudHMgdHh0QXBwIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLlRleHRCb3gKKyAgICBGcmllbmQgV2l0aEV2ZW50cyBidG5TYXZlIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLkJ1dHRvbgorRW5kIENsYXNzCmRpZmYgLS1naXQgYS9zYW1wbGVzL21lc3NhZ2VlVHV0b3JpYWwvTWVzc2FnZWUvU2V0dGluZ3MucmVzeCBiL3NhbXBsZXMvbWVzc2FnZWVUdXRvcmlhbC9NZXNzYWdlZS9TZXR0aW5ncy5yZXN4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1ZDFkNzgKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL21lc3NhZ2VlVHV0b3JpYWwvTWVzc2FnZWUvU2V0dGluZ3MucmVzeApAQCAtMCwwICsxLDEzNyBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhLS0KKyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCistLT4KKworPHJvb3Q+CisgIDwhLS0gCisgICAgTWljcm9zb2Z0IFJlc1ggU2NoZW1hIAorICAgIAorICAgIFZlcnNpb24gMi4wCisgICAgCisgICAgVGhlIHByaW1hcnkgZ29hbHMgb2YgdGhpcyBmb3JtYXQgaXMgdG8gYWxsb3cgYSBzaW1wbGUgWE1MIGZvcm1hdCAKKyAgICB0aGF0IGlzIG1vc3RseSBodW1hbiByZWFkYWJsZS4gVGhlIGdlbmVyYXRpb24gYW5kIHBhcnNpbmcgb2YgdGhlIAorICAgIHZhcmlvdXMgZGF0YSB0eXBlcyBhcmUgZG9uZSB0aHJvdWdoIHRoZSBUeXBlQ29udmVydGVyIGNsYXNzZXMgCisgICAgYXNzb2NpYXRlZCB3aXRoIHRoZSBkYXRhIHR5cGVzLgorICAgIAorICAgIEV4YW1wbGU6CisgICAgCisgICAgLi4uIGFkby5uZXQvWE1MIGhlYWRlcnMgJiBzY2hlbWEgLi4uCisgICAgPHJlc2hlYWRlciBuYW1lPSJyZXNtaW1ldHlwZSI+dGV4dC9taWNyb3NvZnQtcmVzeDwvcmVzaGVhZGVyPgorICAgIDxyZXNoZWFkZXIgbmFtZT0idmVyc2lvbiI+Mi4wPC9yZXNoZWFkZXI+CisgICAgPHJlc2hlYWRlciBuYW1lPSJyZWFkZXIiPlN5c3RlbS5SZXNvdXJjZXMuUmVzWFJlc291cmNlUmVhZGVyLCBTeXN0ZW0uV2luZG93cy5Gb3JtcywgLi4uPC9yZXNoZWFkZXI+CisgICAgPHJlc2hlYWRlciBuYW1lPSJ3cml0ZXIiPlN5c3RlbS5SZXNvdXJjZXMuUmVzWFJlc291cmNlV3JpdGVyLCBTeXN0ZW0uV2luZG93cy5Gb3JtcywgLi4uPC9yZXNoZWFkZXI+CisgICAgPGRhdGEgbmFtZT0iTmFtZTEiPjx2YWx1ZT50aGlzIGlzIG15IGxvbmcgc3RyaW5nPC92YWx1ZT48Y29tbWVudD50aGlzIGlzIGEgY29tbWVudDwvY29tbWVudD48L2RhdGE+CisgICAgPGRhdGEgbmFtZT0iQ29sb3IxIiB0eXBlPSJTeXN0ZW0uRHJhd2luZy5Db2xvciwgU3lzdGVtLkRyYXdpbmciPkJsdWU8L2RhdGE+CisgICAgPGRhdGEgbmFtZT0iQml0bWFwMSIgbWltZXR5cGU9ImFwcGxpY2F0aW9uL3gtbWljcm9zb2Z0Lm5ldC5vYmplY3QuYmluYXJ5LmJhc2U2NCI+CisgICAgICAgIDx2YWx1ZT5bYmFzZTY0IG1pbWUgZW5jb2RlZCBzZXJpYWxpemVkIC5ORVQgRnJhbWV3b3JrIG9iamVjdF08L3ZhbHVlPgorICAgIDwvZGF0YT4KKyAgICA8ZGF0YSBuYW1lPSJJY29uMSIgdHlwZT0iU3lzdGVtLkRyYXdpbmcuSWNvbiwgU3lzdGVtLkRyYXdpbmciIG1pbWV0eXBlPSJhcHBsaWNhdGlvbi94LW1pY3Jvc29mdC5uZXQub2JqZWN0LmJ5dGVhcnJheS5iYXNlNjQiPgorICAgICAgICA8dmFsdWU+W2Jhc2U2NCBtaW1lIGVuY29kZWQgc3RyaW5nIHJlcHJlc2VudGluZyBhIGJ5dGUgYXJyYXkgZm9ybSBvZiB0aGUgLk5FVCBGcmFtZXdvcmsgb2JqZWN0XTwvdmFsdWU+CisgICAgICAgIDxjb21tZW50PlRoaXMgaXMgYSBjb21tZW50PC9jb21tZW50PgorICAgIDwvZGF0YT4KKyAgICAgICAgICAgICAgICAKKyAgICBUaGVyZSBhcmUgYW55IG51bWJlciBvZiAicmVzaGVhZGVyIiByb3dzIHRoYXQgY29udGFpbiBzaW1wbGUgCisgICAgbmFtZS92YWx1ZSBwYWlycy4KKyAgICAKKyAgICBFYWNoIGRhdGEgcm93IGNvbnRhaW5zIGEgbmFtZSwgYW5kIHZhbHVlLiBUaGUgcm93IGFsc28gY29udGFpbnMgYSAKKyAgICB0eXBlIG9yIG1pbWV0eXBlLiBUeXBlIGNvcnJlc3BvbmRzIHRvIGEgLk5FVCBjbGFzcyB0aGF0IHN1cHBvcnQgCisgICAgdGV4dC92YWx1ZSBjb252ZXJzaW9uIHRocm91Z2ggdGhlIFR5cGVDb252ZXJ0ZXIgYXJjaGl0ZWN0dXJlLiAKKyAgICBDbGFzc2VzIHRoYXQgZG9uJ3Qgc3VwcG9ydCB0aGlzIGFyZSBzZXJpYWxpemVkIGFuZCBzdG9yZWQgd2l0aCB0aGUgCisgICAgbWltZXR5cGUgc2V0LgorICAgIAorICAgIFRoZSBtaW1ldHlwZSBpcyB1c2VkIGZvciBzZXJpYWxpemVkIG9iamVjdHMsIGFuZCB0ZWxscyB0aGUgCisgICAgUmVzWFJlc291cmNlUmVhZGVyIGhvdyB0byBkZXBlcnNpc3QgdGhlIG9iamVjdC4gVGhpcyBpcyBjdXJyZW50bHkgbm90IAorICAgIGV4dGVuc2libGUuIEZvciBhIGdpdmVuIG1pbWV0eXBlIHRoZSB2YWx1ZSBtdXN0IGJlIHNldCBhY2NvcmRpbmdseToKKyAgICAKKyAgICBOb3RlIC0gYXBwbGljYXRpb24veC1taWNyb3NvZnQubmV0Lm9iamVjdC5iaW5hcnkuYmFzZTY0IGlzIHRoZSBmb3JtYXQgCisgICAgdGhhdCB0aGUgUmVzWFJlc291cmNlV3JpdGVyIHdpbGwgZ2VuZXJhdGUsIGhvd2V2ZXIgdGhlIHJlYWRlciBjYW4gCisgICAgcmVhZCBhbnkgb2YgdGhlIGZvcm1hdHMgbGlzdGVkIGJlbG93LgorICAgIAorICAgIG1pbWV0eXBlOiBhcHBsaWNhdGlvbi94LW1pY3Jvc29mdC5uZXQub2JqZWN0LmJpbmFyeS5iYXNlNjQKKyAgICB2YWx1ZSAgIDogVGhlIG9iamVjdCBtdXN0IGJlIHNlcmlhbGl6ZWQgd2l0aCAKKyAgICAgICAgICAgIDogU3lzdGVtLlJ1bnRpbWUuU2VyaWFsaXphdGlvbi5Gb3JtYXR0ZXJzLkJpbmFyeS5CaW5hcnlGb3JtYXR0ZXIKKyAgICAgICAgICAgIDogYW5kIHRoZW4gZW5jb2RlZCB3aXRoIGJhc2U2NCBlbmNvZGluZy4KKyAgICAKKyAgICBtaW1ldHlwZTogYXBwbGljYXRpb24veC1taWNyb3NvZnQubmV0Lm9iamVjdC5zb2FwLmJhc2U2NAorICAgIHZhbHVlICAgOiBUaGUgb2JqZWN0IG11c3QgYmUgc2VyaWFsaXplZCB3aXRoIAorICAgICAgICAgICAgOiBTeXN0ZW0uUnVudGltZS5TZXJpYWxpemF0aW9uLkZvcm1hdHRlcnMuU29hcC5Tb2FwRm9ybWF0dGVyCisgICAgICAgICAgICA6IGFuZCB0aGVuIGVuY29kZWQgd2l0aCBiYXNlNjQgZW5jb2RpbmcuCisKKyAgICBtaW1ldHlwZTogYXBwbGljYXRpb24veC1taWNyb3NvZnQubmV0Lm9iamVjdC5ieXRlYXJyYXkuYmFzZTY0CisgICAgdmFsdWUgICA6IFRoZSBvYmplY3QgbXVzdCBiZSBzZXJpYWxpemVkIGludG8gYSBieXRlIGFycmF5IAorICAgICAgICAgICAgOiB1c2luZyBhIFN5c3RlbS5Db21wb25lbnRNb2RlbC5UeXBlQ29udmVydGVyCisgICAgICAgICAgICA6IGFuZCB0aGVuIGVuY29kZWQgd2l0aCBiYXNlNjQgZW5jb2RpbmcuCisgICAgLS0+CisgIDx4c2Q6c2NoZW1hIGlkPSJyb290IiB4bWxucz0iIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczptc2RhdGE9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206eG1sLW1zZGF0YSI+CisgICAgPHhzZDppbXBvcnQgbmFtZXNwYWNlPSJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiIC8+CisgICAgPHhzZDplbGVtZW50IG5hbWU9InJvb3QiIG1zZGF0YTpJc0RhdGFTZXQ9InRydWUiPgorICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgPHhzZDpjaG9pY2UgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJtZXRhZGF0YSI+CisgICAgICAgICAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgICAgICA8eHNkOnNlcXVlbmNlPgorICAgICAgICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdHlwZT0ieHNkOnN0cmluZyIgbWluT2NjdXJzPSIwIiAvPgorICAgICAgICAgICAgICA8L3hzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibmFtZSIgdXNlPSJyZXF1aXJlZCIgdHlwZT0ieHNkOnN0cmluZyIgLz4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0idHlwZSIgdHlwZT0ieHNkOnN0cmluZyIgLz4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibWltZXR5cGUiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIHJlZj0ieG1sOnNwYWNlIiAvPgorICAgICAgICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iYXNzZW1ibHkiPgorICAgICAgICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iYWxpYXMiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9Im5hbWUiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICAgICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJkYXRhIj4KKyAgICAgICAgICAgIDx4c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgICAgIDx4c2Q6c2VxdWVuY2U+CisgICAgICAgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InZhbHVlIiB0eXBlPSJ4c2Q6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1zZGF0YTpPcmRpbmFsPSIxIiAvPgorICAgICAgICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJjb21tZW50IiB0eXBlPSJ4c2Q6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1zZGF0YTpPcmRpbmFsPSIyIiAvPgorICAgICAgICAgICAgICA8L3hzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibmFtZSIgdHlwZT0ieHNkOnN0cmluZyIgdXNlPSJyZXF1aXJlZCIgbXNkYXRhOk9yZGluYWw9IjEiIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9InR5cGUiIHR5cGU9InhzZDpzdHJpbmciIG1zZGF0YTpPcmRpbmFsPSIzIiAvPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJtaW1ldHlwZSIgdHlwZT0ieHNkOnN0cmluZyIgbXNkYXRhOk9yZGluYWw9IjQiIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIHJlZj0ieG1sOnNwYWNlIiAvPgorICAgICAgICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0icmVzaGVhZGVyIj4KKyAgICAgICAgICAgIDx4c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgICAgIDx4c2Q6c2VxdWVuY2U+CisgICAgICAgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InZhbHVlIiB0eXBlPSJ4c2Q6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1zZGF0YTpPcmRpbmFsPSIxIiAvPgorICAgICAgICAgICAgICA8L3hzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibmFtZSIgdHlwZT0ieHNkOnN0cmluZyIgdXNlPSJyZXF1aXJlZCIgLz4KKyAgICAgICAgICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgIDwveHNkOmVsZW1lbnQ+CisgICAgICAgIDwveHNkOmNob2ljZT4KKyAgICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICAgIDwveHNkOmVsZW1lbnQ+CisgIDwveHNkOnNjaGVtYT4KKyAgPHJlc2hlYWRlciBuYW1lPSJyZXNtaW1ldHlwZSI+CisgICAgPHZhbHVlPnRleHQvbWljcm9zb2Z0LXJlc3g8L3ZhbHVlPgorICA8L3Jlc2hlYWRlcj4KKyAgPHJlc2hlYWRlciBuYW1lPSJ2ZXJzaW9uIj4KKyAgICA8dmFsdWU+Mi4wPC92YWx1ZT4KKyAgPC9yZXNoZWFkZXI+CisgIDxyZXNoZWFkZXIgbmFtZT0icmVhZGVyIj4KKyAgICA8dmFsdWU+U3lzdGVtLlJlc291cmNlcy5SZXNYUmVzb3VyY2VSZWFkZXIsIFN5c3RlbS5XaW5kb3dzLkZvcm1zLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OTwvdmFsdWU+CisgIDwvcmVzaGVhZGVyPgorICA8cmVzaGVhZGVyIG5hbWU9IndyaXRlciI+CisgICAgPHZhbHVlPlN5c3RlbS5SZXNvdXJjZXMuUmVzWFJlc291cmNlV3JpdGVyLCBTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODk8L3ZhbHVlPgorICA8L3Jlc2hlYWRlcj4KKzwvcm9vdD4KZGlmZiAtLWdpdCBhL3NhbXBsZXMvbWVzc2FnZWVUdXRvcmlhbC9NZXNzYWdlZS9TZXR0aW5ncy52YiBiL3NhbXBsZXMvbWVzc2FnZWVUdXRvcmlhbC9NZXNzYWdlZS9TZXR0aW5ncy52YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYzJhZGIyCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9tZXNzYWdlZVR1dG9yaWFsL01lc3NhZ2VlL1NldHRpbmdzLnZiCkBAIC0wLDAgKzEsMjggQEAKK++7vycgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisnIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorJyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisnIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisnICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisnIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisnCisnICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKycKKycgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorJyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorJyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKycgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorJyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworSW1wb3J0cyBVc2VyZ3JpZC5TZGsKK0ltcG9ydHMgVXNlcmdyaWQuU2RrLk1vZGVsCisKK1B1YmxpYyBDbGFzcyBTZXR0aW5ncworCisgICAgUHJpdmF0ZSBTdWIgYnRuU2F2ZV9DbGljayhzZW5kZXIgQXMgT2JqZWN0LCBlIEFzIEV2ZW50QXJncykgSGFuZGxlcyBidG5TYXZlLkNsaWNrCisgICAgICAgIERpbSBjbGllbnQgQXMgQ2xpZW50ID0gTmV3IENsaWVudCh0eHRPcmcuVGV4dCwgdHh0QXBwLlRleHQpCisgICAgICAgIGNsaWVudC5Mb2dpbih0eHRVc2VyTmFtZS5UZXh0LCB0eHRQYXNzd29yZC5UZXh0LCBBdXRoVHlwZS5Vc2VyKQorICAgICAgICBHbG9iYWxzLmNsaWVudCA9IGNsaWVudAorICAgICAgICBNZXNzYWdlZU1haW5XaW5kb3cuVXBkYXRlVXNlcnMoKQorICAgICAgICBNZS5DbG9zZSgpCisgICAgRW5kIFN1YgorRW5kIENsYXNzCmRpZmYgLS1naXQgYS9zYW1wbGVzL21lc3NhZ2VlVHV0b3JpYWwvTWVzc2FnZWUvVXNlclNldHRpbmdzLkRlc2lnbmVyLnZiIGIvc2FtcGxlcy9tZXNzYWdlZVR1dG9yaWFsL01lc3NhZ2VlL1VzZXJTZXR0aW5ncy5EZXNpZ25lci52YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZTEwY2FlCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9tZXNzYWdlZVR1dG9yaWFsL01lc3NhZ2VlL1VzZXJTZXR0aW5ncy5EZXNpZ25lci52YgpAQCAtMCwwICsxLDE5MSBAQAor77u/JyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKycgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisnIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKycgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKycgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKycgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKycKKycgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorJworJyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisnIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisnIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorJyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisnIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCis8R2xvYmFsLk1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzLkRlc2lnbmVyR2VuZXJhdGVkKCk+IF8KK1BhcnRpYWwgQ2xhc3MgVXNlclNldHRpbmdzCisgICAgSW5oZXJpdHMgU3lzdGVtLldpbmRvd3MuRm9ybXMuRm9ybQorCisgICAgJ0Zvcm0gb3ZlcnJpZGVzIGRpc3Bvc2UgdG8gY2xlYW4gdXAgdGhlIGNvbXBvbmVudCBsaXN0LgorICAgIDxTeXN0ZW0uRGlhZ25vc3RpY3MuRGVidWdnZXJOb25Vc2VyQ29kZSgpPiBfCisgICAgUHJvdGVjdGVkIE92ZXJyaWRlcyBTdWIgRGlzcG9zZShCeVZhbCBkaXNwb3NpbmcgQXMgQm9vbGVhbikKKyAgICAgICAgVHJ5CisgICAgICAgICAgICBJZiBkaXNwb3NpbmcgQW5kQWxzbyBjb21wb25lbnRzIElzTm90IE5vdGhpbmcgVGhlbgorICAgICAgICAgICAgICAgIGNvbXBvbmVudHMuRGlzcG9zZSgpCisgICAgICAgICAgICBFbmQgSWYKKyAgICAgICAgRmluYWxseQorICAgICAgICAgICAgTXlCYXNlLkRpc3Bvc2UoZGlzcG9zaW5nKQorICAgICAgICBFbmQgVHJ5CisgICAgRW5kIFN1YgorCisgICAgJ1JlcXVpcmVkIGJ5IHRoZSBXaW5kb3dzIEZvcm0gRGVzaWduZXIKKyAgICBQcml2YXRlIGNvbXBvbmVudHMgQXMgU3lzdGVtLkNvbXBvbmVudE1vZGVsLklDb250YWluZXIKKworICAgICdOT1RFOiBUaGUgZm9sbG93aW5nIHByb2NlZHVyZSBpcyByZXF1aXJlZCBieSB0aGUgV2luZG93cyBGb3JtIERlc2lnbmVyCisgICAgJ0l0IGNhbiBiZSBtb2RpZmllZCB1c2luZyB0aGUgV2luZG93cyBGb3JtIERlc2lnbmVyLiAgCisgICAgJ0RvIG5vdCBtb2RpZnkgaXQgdXNpbmcgdGhlIGNvZGUgZWRpdG9yLgorICAgIDxTeXN0ZW0uRGlhZ25vc3RpY3MuRGVidWdnZXJTdGVwVGhyb3VnaCgpPiBfCisgICAgUHJpdmF0ZSBTdWIgSW5pdGlhbGl6ZUNvbXBvbmVudCgpCisgICAgICAgIE1lLkxhYmVsMSA9IE5ldyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MYWJlbCgpCisgICAgICAgIE1lLnVzZXJOYW1lTGFiZWwgPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuTGFiZWwoKQorICAgICAgICBNZS5MYWJlbDIgPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuTGFiZWwoKQorICAgICAgICBNZS51dWlkTGFiZWwgPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuTGFiZWwoKQorICAgICAgICBNZS51bmNvbm5lY3RlZFVzZXJzID0gTmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RCb3goKQorICAgICAgICBNZS5MYWJlbDMgPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuTGFiZWwoKQorICAgICAgICBNZS5mb2xsb3dpbmdMaXN0ID0gTmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RCb3goKQorICAgICAgICBNZS5MYWJlbDQgPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuTGFiZWwoKQorICAgICAgICBNZS5idG5BZGRGb2xsb3dpbmcgPSBOZXcgU3lzdGVtLldpbmRvd3MuRm9ybXMuQnV0dG9uKCkKKyAgICAgICAgTWUuYnRuRGVsZXRlRm9sbG93aW5nID0gTmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLkJ1dHRvbigpCisgICAgICAgIE1lLmJ0bkNsb3NlID0gTmV3IFN5c3RlbS5XaW5kb3dzLkZvcm1zLkJ1dHRvbigpCisgICAgICAgIE1lLlN1c3BlbmRMYXlvdXQoKQorICAgICAgICAnCisgICAgICAgICdMYWJlbDEKKyAgICAgICAgJworICAgICAgICBNZS5MYWJlbDEuQXV0b1NpemUgPSBUcnVlCisgICAgICAgIE1lLkxhYmVsMS5Gb250ID0gTmV3IFN5c3RlbS5EcmF3aW5nLkZvbnQoIk1pY3Jvc29mdCBTYW5zIFNlcmlmIiwgMTAuMiEsIFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZS5Cb2xkLCBTeXN0ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQuUG9pbnQsIENUeXBlKDAsIEJ5dGUpKQorICAgICAgICBNZS5MYWJlbDEuTG9jYXRpb24gPSBOZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoMzAsIDIyKQorICAgICAgICBNZS5MYWJlbDEuTmFtZSA9ICJMYWJlbDEiCisgICAgICAgIE1lLkxhYmVsMS5TaXplID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoMTA5LCAyMCkKKyAgICAgICAgTWUuTGFiZWwxLlRhYkluZGV4ID0gMAorICAgICAgICBNZS5MYWJlbDEuVGV4dCA9ICJVc2VyIE5hbWU6IgorICAgICAgICAnCisgICAgICAgICd1c2VyTmFtZUxhYmVsCisgICAgICAgICcKKyAgICAgICAgTWUudXNlck5hbWVMYWJlbC5BdXRvU2l6ZSA9IFRydWUKKyAgICAgICAgTWUudXNlck5hbWVMYWJlbC5Gb250ID0gTmV3IFN5c3RlbS5EcmF3aW5nLkZvbnQoIk1pY3Jvc29mdCBTYW5zIFNlcmlmIiwgMTAuMiEsIFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZS5SZWd1bGFyLCBTeXN0ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQuUG9pbnQsIENUeXBlKDAsIEJ5dGUpKQorICAgICAgICBNZS51c2VyTmFtZUxhYmVsLkxvY2F0aW9uID0gTmV3IFN5c3RlbS5EcmF3aW5nLlBvaW50KDE0NSwgMjIpCisgICAgICAgIE1lLnVzZXJOYW1lTGFiZWwuTmFtZSA9ICJ1c2VyTmFtZUxhYmVsIgorICAgICAgICBNZS51c2VyTmFtZUxhYmVsLlNpemUgPSBOZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSg1OSwgMjApCisgICAgICAgIE1lLnVzZXJOYW1lTGFiZWwuVGFiSW5kZXggPSAxCisgICAgICAgIE1lLnVzZXJOYW1lTGFiZWwuVGV4dCA9ICJMYWJlbDIiCisgICAgICAgICcKKyAgICAgICAgJ0xhYmVsMgorICAgICAgICAnCisgICAgICAgIE1lLkxhYmVsMi5BdXRvU2l6ZSA9IFRydWUKKyAgICAgICAgTWUuTGFiZWwyLkZvbnQgPSBOZXcgU3lzdGVtLkRyYXdpbmcuRm9udCgiTWljcm9zb2Z0IFNhbnMgU2VyaWYiLCAxMC4yISwgU3lzdGVtLkRyYXdpbmcuRm9udFN0eWxlLkJvbGQsIFN5c3RlbS5EcmF3aW5nLkdyYXBoaWNzVW5pdC5Qb2ludCwgQ1R5cGUoMCwgQnl0ZSkpCisgICAgICAgIE1lLkxhYmVsMi5Mb2NhdGlvbiA9IE5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCgzNCwgNjApCisgICAgICAgIE1lLkxhYmVsMi5OYW1lID0gIkxhYmVsMiIKKyAgICAgICAgTWUuTGFiZWwyLlNpemUgPSBOZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSg2MCwgMjApCisgICAgICAgIE1lLkxhYmVsMi5UYWJJbmRleCA9IDIKKyAgICAgICAgTWUuTGFiZWwyLlRleHQgPSAiVVVJRDoiCisgICAgICAgICcKKyAgICAgICAgJ3V1aWRMYWJlbAorICAgICAgICAnCisgICAgICAgIE1lLnV1aWRMYWJlbC5BdXRvU2l6ZSA9IFRydWUKKyAgICAgICAgTWUudXVpZExhYmVsLkZvbnQgPSBOZXcgU3lzdGVtLkRyYXdpbmcuRm9udCgiTWljcm9zb2Z0IFNhbnMgU2VyaWYiLCAxMC4yISwgU3lzdGVtLkRyYXdpbmcuRm9udFN0eWxlLlJlZ3VsYXIsIFN5c3RlbS5EcmF3aW5nLkdyYXBoaWNzVW5pdC5Qb2ludCwgQ1R5cGUoMCwgQnl0ZSkpCisgICAgICAgIE1lLnV1aWRMYWJlbC5Mb2NhdGlvbiA9IE5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCgxNDksIDYwKQorICAgICAgICBNZS51dWlkTGFiZWwuTmFtZSA9ICJ1dWlkTGFiZWwiCisgICAgICAgIE1lLnV1aWRMYWJlbC5TaXplID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoNTksIDIwKQorICAgICAgICBNZS51dWlkTGFiZWwuVGFiSW5kZXggPSAzCisgICAgICAgIE1lLnV1aWRMYWJlbC5UZXh0ID0gIkxhYmVsMyIKKyAgICAgICAgJworICAgICAgICAndW5jb25uZWN0ZWRVc2VycworICAgICAgICAnCisgICAgICAgIE1lLnVuY29ubmVjdGVkVXNlcnMuRm9ybWF0dGluZ0VuYWJsZWQgPSBUcnVlCisgICAgICAgIE1lLnVuY29ubmVjdGVkVXNlcnMuSXRlbUhlaWdodCA9IDE2CisgICAgICAgIE1lLnVuY29ubmVjdGVkVXNlcnMuTG9jYXRpb24gPSBOZXcgU3lzdGVtLkRyYXdpbmcuUG9pbnQoMzgsIDEzMSkKKyAgICAgICAgTWUudW5jb25uZWN0ZWRVc2Vycy5OYW1lID0gInVuY29ubmVjdGVkVXNlcnMiCisgICAgICAgIE1lLnVuY29ubmVjdGVkVXNlcnMuU2l6ZSA9IE5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDEyMCwgODQpCisgICAgICAgIE1lLnVuY29ubmVjdGVkVXNlcnMuVGFiSW5kZXggPSA0CisgICAgICAgICcKKyAgICAgICAgJ0xhYmVsMworICAgICAgICAnCisgICAgICAgIE1lLkxhYmVsMy5BdXRvU2l6ZSA9IFRydWUKKyAgICAgICAgTWUuTGFiZWwzLkZvbnQgPSBOZXcgU3lzdGVtLkRyYXdpbmcuRm9udCgiTWljcm9zb2Z0IFNhbnMgU2VyaWYiLCAxMC4yISwgU3lzdGVtLkRyYXdpbmcuRm9udFN0eWxlLkJvbGQsIFN5c3RlbS5EcmF3aW5nLkdyYXBoaWNzVW5pdC5Qb2ludCwgQ1R5cGUoMCwgQnl0ZSkpCisgICAgICAgIE1lLkxhYmVsMy5Mb2NhdGlvbiA9IE5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCgzOCwgMTA4KQorICAgICAgICBNZS5MYWJlbDMuTmFtZSA9ICJMYWJlbDMiCisgICAgICAgIE1lLkxhYmVsMy5TaXplID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoNTksIDIwKQorICAgICAgICBNZS5MYWJlbDMuVGFiSW5kZXggPSA1CisgICAgICAgIE1lLkxhYmVsMy5UZXh0ID0gIlVzZXJzIgorICAgICAgICAnCisgICAgICAgICdmb2xsb3dpbmdMaXN0CisgICAgICAgICcKKyAgICAgICAgTWUuZm9sbG93aW5nTGlzdC5Gb3JtYXR0aW5nRW5hYmxlZCA9IFRydWUKKyAgICAgICAgTWUuZm9sbG93aW5nTGlzdC5JdGVtSGVpZ2h0ID0gMTYKKyAgICAgICAgTWUuZm9sbG93aW5nTGlzdC5Mb2NhdGlvbiA9IE5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCgzNDEsIDEzMSkKKyAgICAgICAgTWUuZm9sbG93aW5nTGlzdC5OYW1lID0gImZvbGxvd2luZ0xpc3QiCisgICAgICAgIE1lLmZvbGxvd2luZ0xpc3QuU2l6ZSA9IE5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDEyMCwgODQpCisgICAgICAgIE1lLmZvbGxvd2luZ0xpc3QuVGFiSW5kZXggPSA2CisgICAgICAgICcKKyAgICAgICAgJ0xhYmVsNAorICAgICAgICAnCisgICAgICAgIE1lLkxhYmVsNC5BdXRvU2l6ZSA9IFRydWUKKyAgICAgICAgTWUuTGFiZWw0LkZvbnQgPSBOZXcgU3lzdGVtLkRyYXdpbmcuRm9udCgiTWljcm9zb2Z0IFNhbnMgU2VyaWYiLCAxMC4yISwgU3lzdGVtLkRyYXdpbmcuRm9udFN0eWxlLkJvbGQsIFN5c3RlbS5EcmF3aW5nLkdyYXBoaWNzVW5pdC5Qb2ludCwgQ1R5cGUoMCwgQnl0ZSkpCisgICAgICAgIE1lLkxhYmVsNC5Mb2NhdGlvbiA9IE5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCgzMzcsIDEwOCkKKyAgICAgICAgTWUuTGFiZWw0Lk5hbWUgPSAiTGFiZWw0IgorICAgICAgICBNZS5MYWJlbDQuU2l6ZSA9IE5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDg4LCAyMCkKKyAgICAgICAgTWUuTGFiZWw0LlRhYkluZGV4ID0gNworICAgICAgICBNZS5MYWJlbDQuVGV4dCA9ICJGb2xsb3dpbmciCisgICAgICAgICcKKyAgICAgICAgJ2J0bkFkZEZvbGxvd2luZworICAgICAgICAnCisgICAgICAgIE1lLmJ0bkFkZEZvbGxvd2luZy5Mb2NhdGlvbiA9IE5ldyBTeXN0ZW0uRHJhd2luZy5Qb2ludCgxOTgsIDEzMSkKKyAgICAgICAgTWUuYnRuQWRkRm9sbG93aW5nLk5hbWUgPSAiYnRuQWRkRm9sbG93aW5nIgorICAgICAgICBNZS5idG5BZGRGb2xsb3dpbmcuU2l6ZSA9IE5ldyBTeXN0ZW0uRHJhd2luZy5TaXplKDc1LCAyMykKKyAgICAgICAgTWUuYnRuQWRkRm9sbG93aW5nLlRhYkluZGV4ID0gOAorICAgICAgICBNZS5idG5BZGRGb2xsb3dpbmcuVGV4dCA9ICJBZGQgLT4iCisgICAgICAgIE1lLmJ0bkFkZEZvbGxvd2luZy5Vc2VWaXN1YWxTdHlsZUJhY2tDb2xvciA9IFRydWUKKyAgICAgICAgJworICAgICAgICAnYnRuRGVsZXRlRm9sbG93aW5nCisgICAgICAgICcKKyAgICAgICAgTWUuYnRuRGVsZXRlRm9sbG93aW5nLkxvY2F0aW9uID0gTmV3IFN5c3RlbS5EcmF3aW5nLlBvaW50KDE5OCwgMTc3KQorICAgICAgICBNZS5idG5EZWxldGVGb2xsb3dpbmcuTmFtZSA9ICJidG5EZWxldGVGb2xsb3dpbmciCisgICAgICAgIE1lLmJ0bkRlbGV0ZUZvbGxvd2luZy5TaXplID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoNzUsIDIzKQorICAgICAgICBNZS5idG5EZWxldGVGb2xsb3dpbmcuVGFiSW5kZXggPSA5CisgICAgICAgIE1lLmJ0bkRlbGV0ZUZvbGxvd2luZy5UZXh0ID0gIjwtIERlbGV0ZSIKKyAgICAgICAgTWUuYnRuRGVsZXRlRm9sbG93aW5nLlVzZVZpc3VhbFN0eWxlQmFja0NvbG9yID0gVHJ1ZQorICAgICAgICAnCisgICAgICAgICdidG5DbG9zZQorICAgICAgICAnCisgICAgICAgIE1lLmJ0bkNsb3NlLkxvY2F0aW9uID0gTmV3IFN5c3RlbS5EcmF3aW5nLlBvaW50KDM0MSwgMzI1KQorICAgICAgICBNZS5idG5DbG9zZS5OYW1lID0gImJ0bkNsb3NlIgorICAgICAgICBNZS5idG5DbG9zZS5TaXplID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemUoNzUsIDIzKQorICAgICAgICBNZS5idG5DbG9zZS5UYWJJbmRleCA9IDEwCisgICAgICAgIE1lLmJ0bkNsb3NlLlRleHQgPSAiQ2xvc2UiCisgICAgICAgIE1lLmJ0bkNsb3NlLlVzZVZpc3VhbFN0eWxlQmFja0NvbG9yID0gVHJ1ZQorICAgICAgICAnCisgICAgICAgICdVc2VyU2V0dGluZ3MKKyAgICAgICAgJworICAgICAgICBNZS5BdXRvU2NhbGVEaW1lbnNpb25zID0gTmV3IFN5c3RlbS5EcmF3aW5nLlNpemVGKDguMCEsIDE2LjAhKQorICAgICAgICBNZS5BdXRvU2NhbGVNb2RlID0gU3lzdGVtLldpbmRvd3MuRm9ybXMuQXV0b1NjYWxlTW9kZS5Gb250CisgICAgICAgIE1lLkNsaWVudFNpemUgPSBOZXcgU3lzdGVtLkRyYXdpbmcuU2l6ZSg1MzcsIDM5NSkKKyAgICAgICAgTWUuQ29udHJvbHMuQWRkKE1lLmJ0bkNsb3NlKQorICAgICAgICBNZS5Db250cm9scy5BZGQoTWUuYnRuRGVsZXRlRm9sbG93aW5nKQorICAgICAgICBNZS5Db250cm9scy5BZGQoTWUuYnRuQWRkRm9sbG93aW5nKQorICAgICAgICBNZS5Db250cm9scy5BZGQoTWUuTGFiZWw0KQorICAgICAgICBNZS5Db250cm9scy5BZGQoTWUuZm9sbG93aW5nTGlzdCkKKyAgICAgICAgTWUuQ29udHJvbHMuQWRkKE1lLkxhYmVsMykKKyAgICAgICAgTWUuQ29udHJvbHMuQWRkKE1lLnVuY29ubmVjdGVkVXNlcnMpCisgICAgICAgIE1lLkNvbnRyb2xzLkFkZChNZS51dWlkTGFiZWwpCisgICAgICAgIE1lLkNvbnRyb2xzLkFkZChNZS5MYWJlbDIpCisgICAgICAgIE1lLkNvbnRyb2xzLkFkZChNZS51c2VyTmFtZUxhYmVsKQorICAgICAgICBNZS5Db250cm9scy5BZGQoTWUuTGFiZWwxKQorICAgICAgICBNZS5OYW1lID0gIlVzZXJTZXR0aW5ncyIKKyAgICAgICAgTWUuVGV4dCA9ICJVc2VyU2V0dGluZ3MiCisgICAgICAgIE1lLlJlc3VtZUxheW91dChGYWxzZSkKKyAgICAgICAgTWUuUGVyZm9ybUxheW91dCgpCisKKyAgICBFbmQgU3ViCisgICAgRnJpZW5kIFdpdGhFdmVudHMgTGFiZWwxIEFzIFN5c3RlbS5XaW5kb3dzLkZvcm1zLkxhYmVsCisgICAgRnJpZW5kIFdpdGhFdmVudHMgdXNlck5hbWVMYWJlbCBBcyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MYWJlbAorICAgIEZyaWVuZCBXaXRoRXZlbnRzIExhYmVsMiBBcyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MYWJlbAorICAgIEZyaWVuZCBXaXRoRXZlbnRzIHV1aWRMYWJlbCBBcyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MYWJlbAorICAgIEZyaWVuZCBXaXRoRXZlbnRzIHVuY29ubmVjdGVkVXNlcnMgQXMgU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdEJveAorICAgIEZyaWVuZCBXaXRoRXZlbnRzIExhYmVsMyBBcyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MYWJlbAorICAgIEZyaWVuZCBXaXRoRXZlbnRzIGZvbGxvd2luZ0xpc3QgQXMgU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdEJveAorICAgIEZyaWVuZCBXaXRoRXZlbnRzIExhYmVsNCBBcyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MYWJlbAorICAgIEZyaWVuZCBXaXRoRXZlbnRzIGJ0bkFkZEZvbGxvd2luZyBBcyBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5CdXR0b24KKyAgICBGcmllbmQgV2l0aEV2ZW50cyBidG5EZWxldGVGb2xsb3dpbmcgQXMgU3lzdGVtLldpbmRvd3MuRm9ybXMuQnV0dG9uCisgICAgRnJpZW5kIFdpdGhFdmVudHMgYnRuQ2xvc2UgQXMgU3lzdGVtLldpbmRvd3MuRm9ybXMuQnV0dG9uCitFbmQgQ2xhc3MKZGlmZiAtLWdpdCBhL3NhbXBsZXMvbWVzc2FnZWVUdXRvcmlhbC9NZXNzYWdlZS9Vc2VyU2V0dGluZ3MucmVzeCBiL3NhbXBsZXMvbWVzc2FnZWVUdXRvcmlhbC9NZXNzYWdlZS9Vc2VyU2V0dGluZ3MucmVzeApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NWQxZDc4Ci0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9tZXNzYWdlZVR1dG9yaWFsL01lc3NhZ2VlL1VzZXJTZXR0aW5ncy5yZXN4CkBAIC0wLDAgKzEsMTM3IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPCEtLQorIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKy0tPgorCis8cm9vdD4KKyAgPCEtLSAKKyAgICBNaWNyb3NvZnQgUmVzWCBTY2hlbWEgCisgICAgCisgICAgVmVyc2lvbiAyLjAKKyAgICAKKyAgICBUaGUgcHJpbWFyeSBnb2FscyBvZiB0aGlzIGZvcm1hdCBpcyB0byBhbGxvdyBhIHNpbXBsZSBYTUwgZm9ybWF0IAorICAgIHRoYXQgaXMgbW9zdGx5IGh1bWFuIHJlYWRhYmxlLiBUaGUgZ2VuZXJhdGlvbiBhbmQgcGFyc2luZyBvZiB0aGUgCisgICAgdmFyaW91cyBkYXRhIHR5cGVzIGFyZSBkb25lIHRocm91Z2ggdGhlIFR5cGVDb252ZXJ0ZXIgY2xhc3NlcyAKKyAgICBhc3NvY2lhdGVkIHdpdGggdGhlIGRhdGEgdHlwZXMuCisgICAgCisgICAgRXhhbXBsZToKKyAgICAKKyAgICAuLi4gYWRvLm5ldC9YTUwgaGVhZGVycyAmIHNjaGVtYSAuLi4KKyAgICA8cmVzaGVhZGVyIG5hbWU9InJlc21pbWV0eXBlIj50ZXh0L21pY3Jvc29mdC1yZXN4PC9yZXNoZWFkZXI+CisgICAgPHJlc2hlYWRlciBuYW1lPSJ2ZXJzaW9uIj4yLjA8L3Jlc2hlYWRlcj4KKyAgICA8cmVzaGVhZGVyIG5hbWU9InJlYWRlciI+U3lzdGVtLlJlc291cmNlcy5SZXNYUmVzb3VyY2VSZWFkZXIsIFN5c3RlbS5XaW5kb3dzLkZvcm1zLCAuLi48L3Jlc2hlYWRlcj4KKyAgICA8cmVzaGVhZGVyIG5hbWU9IndyaXRlciI+U3lzdGVtLlJlc291cmNlcy5SZXNYUmVzb3VyY2VXcml0ZXIsIFN5c3RlbS5XaW5kb3dzLkZvcm1zLCAuLi48L3Jlc2hlYWRlcj4KKyAgICA8ZGF0YSBuYW1lPSJOYW1lMSI+PHZhbHVlPnRoaXMgaXMgbXkgbG9uZyBzdHJpbmc8L3ZhbHVlPjxjb21tZW50PnRoaXMgaXMgYSBjb21tZW50PC9jb21tZW50PjwvZGF0YT4KKyAgICA8ZGF0YSBuYW1lPSJDb2xvcjEiIHR5cGU9IlN5c3RlbS5EcmF3aW5nLkNvbG9yLCBTeXN0ZW0uRHJhd2luZyI+Qmx1ZTwvZGF0YT4KKyAgICA8ZGF0YSBuYW1lPSJCaXRtYXAxIiBtaW1ldHlwZT0iYXBwbGljYXRpb24veC1taWNyb3NvZnQubmV0Lm9iamVjdC5iaW5hcnkuYmFzZTY0Ij4KKyAgICAgICAgPHZhbHVlPltiYXNlNjQgbWltZSBlbmNvZGVkIHNlcmlhbGl6ZWQgLk5FVCBGcmFtZXdvcmsgb2JqZWN0XTwvdmFsdWU+CisgICAgPC9kYXRhPgorICAgIDxkYXRhIG5hbWU9Ikljb24xIiB0eXBlPSJTeXN0ZW0uRHJhd2luZy5JY29uLCBTeXN0ZW0uRHJhd2luZyIgbWltZXR5cGU9ImFwcGxpY2F0aW9uL3gtbWljcm9zb2Z0Lm5ldC5vYmplY3QuYnl0ZWFycmF5LmJhc2U2NCI+CisgICAgICAgIDx2YWx1ZT5bYmFzZTY0IG1pbWUgZW5jb2RlZCBzdHJpbmcgcmVwcmVzZW50aW5nIGEgYnl0ZSBhcnJheSBmb3JtIG9mIHRoZSAuTkVUIEZyYW1ld29yayBvYmplY3RdPC92YWx1ZT4KKyAgICAgICAgPGNvbW1lbnQ+VGhpcyBpcyBhIGNvbW1lbnQ8L2NvbW1lbnQ+CisgICAgPC9kYXRhPgorICAgICAgICAgICAgICAgIAorICAgIFRoZXJlIGFyZSBhbnkgbnVtYmVyIG9mICJyZXNoZWFkZXIiIHJvd3MgdGhhdCBjb250YWluIHNpbXBsZSAKKyAgICBuYW1lL3ZhbHVlIHBhaXJzLgorICAgIAorICAgIEVhY2ggZGF0YSByb3cgY29udGFpbnMgYSBuYW1lLCBhbmQgdmFsdWUuIFRoZSByb3cgYWxzbyBjb250YWlucyBhIAorICAgIHR5cGUgb3IgbWltZXR5cGUuIFR5cGUgY29ycmVzcG9uZHMgdG8gYSAuTkVUIGNsYXNzIHRoYXQgc3VwcG9ydCAKKyAgICB0ZXh0L3ZhbHVlIGNvbnZlcnNpb24gdGhyb3VnaCB0aGUgVHlwZUNvbnZlcnRlciBhcmNoaXRlY3R1cmUuIAorICAgIENsYXNzZXMgdGhhdCBkb24ndCBzdXBwb3J0IHRoaXMgYXJlIHNlcmlhbGl6ZWQgYW5kIHN0b3JlZCB3aXRoIHRoZSAKKyAgICBtaW1ldHlwZSBzZXQuCisgICAgCisgICAgVGhlIG1pbWV0eXBlIGlzIHVzZWQgZm9yIHNlcmlhbGl6ZWQgb2JqZWN0cywgYW5kIHRlbGxzIHRoZSAKKyAgICBSZXNYUmVzb3VyY2VSZWFkZXIgaG93IHRvIGRlcGVyc2lzdCB0aGUgb2JqZWN0LiBUaGlzIGlzIGN1cnJlbnRseSBub3QgCisgICAgZXh0ZW5zaWJsZS4gRm9yIGEgZ2l2ZW4gbWltZXR5cGUgdGhlIHZhbHVlIG11c3QgYmUgc2V0IGFjY29yZGluZ2x5OgorICAgIAorICAgIE5vdGUgLSBhcHBsaWNhdGlvbi94LW1pY3Jvc29mdC5uZXQub2JqZWN0LmJpbmFyeS5iYXNlNjQgaXMgdGhlIGZvcm1hdCAKKyAgICB0aGF0IHRoZSBSZXNYUmVzb3VyY2VXcml0ZXIgd2lsbCBnZW5lcmF0ZSwgaG93ZXZlciB0aGUgcmVhZGVyIGNhbiAKKyAgICByZWFkIGFueSBvZiB0aGUgZm9ybWF0cyBsaXN0ZWQgYmVsb3cuCisgICAgCisgICAgbWltZXR5cGU6IGFwcGxpY2F0aW9uL3gtbWljcm9zb2Z0Lm5ldC5vYmplY3QuYmluYXJ5LmJhc2U2NAorICAgIHZhbHVlICAgOiBUaGUgb2JqZWN0IG11c3QgYmUgc2VyaWFsaXplZCB3aXRoIAorICAgICAgICAgICAgOiBTeXN0ZW0uUnVudGltZS5TZXJpYWxpemF0aW9uLkZvcm1hdHRlcnMuQmluYXJ5LkJpbmFyeUZvcm1hdHRlcgorICAgICAgICAgICAgOiBhbmQgdGhlbiBlbmNvZGVkIHdpdGggYmFzZTY0IGVuY29kaW5nLgorICAgIAorICAgIG1pbWV0eXBlOiBhcHBsaWNhdGlvbi94LW1pY3Jvc29mdC5uZXQub2JqZWN0LnNvYXAuYmFzZTY0CisgICAgdmFsdWUgICA6IFRoZSBvYmplY3QgbXVzdCBiZSBzZXJpYWxpemVkIHdpdGggCisgICAgICAgICAgICA6IFN5c3RlbS5SdW50aW1lLlNlcmlhbGl6YXRpb24uRm9ybWF0dGVycy5Tb2FwLlNvYXBGb3JtYXR0ZXIKKyAgICAgICAgICAgIDogYW5kIHRoZW4gZW5jb2RlZCB3aXRoIGJhc2U2NCBlbmNvZGluZy4KKworICAgIG1pbWV0eXBlOiBhcHBsaWNhdGlvbi94LW1pY3Jvc29mdC5uZXQub2JqZWN0LmJ5dGVhcnJheS5iYXNlNjQKKyAgICB2YWx1ZSAgIDogVGhlIG9iamVjdCBtdXN0IGJlIHNlcmlhbGl6ZWQgaW50byBhIGJ5dGUgYXJyYXkgCisgICAgICAgICAgICA6IHVzaW5nIGEgU3lzdGVtLkNvbXBvbmVudE1vZGVsLlR5cGVDb252ZXJ0ZXIKKyAgICAgICAgICAgIDogYW5kIHRoZW4gZW5jb2RlZCB3aXRoIGJhc2U2NCBlbmNvZGluZy4KKyAgICAtLT4KKyAgPHhzZDpzY2hlbWEgaWQ9InJvb3QiIHhtbG5zPSIiIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOm1zZGF0YT0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp4bWwtbXNkYXRhIj4KKyAgICA8eHNkOmltcG9ydCBuYW1lc3BhY2U9Imh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIgLz4KKyAgICA8eHNkOmVsZW1lbnQgbmFtZT0icm9vdCIgbXNkYXRhOklzRGF0YVNldD0idHJ1ZSI+CisgICAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgICA8eHNkOmNob2ljZSBtYXhPY2N1cnM9InVuYm91bmRlZCI+CisgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9Im1ldGFkYXRhIj4KKyAgICAgICAgICAgIDx4c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgICAgIDx4c2Q6c2VxdWVuY2U+CisgICAgICAgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InZhbHVlIiB0eXBlPSJ4c2Q6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIC8+CisgICAgICAgICAgICAgIDwveHNkOnNlcXVlbmNlPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJuYW1lIiB1c2U9InJlcXVpcmVkIiB0eXBlPSJ4c2Q6c3RyaW5nIiAvPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJ0eXBlIiB0eXBlPSJ4c2Q6c3RyaW5nIiAvPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJtaW1ldHlwZSIgdHlwZT0ieHNkOnN0cmluZyIgLz4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgcmVmPSJ4bWw6c3BhY2UiIC8+CisgICAgICAgICAgICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJhc3NlbWJseSI+CisgICAgICAgICAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJhbGlhcyIgdHlwZT0ieHNkOnN0cmluZyIgLz4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibmFtZSIgdHlwZT0ieHNkOnN0cmluZyIgLz4KKyAgICAgICAgICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgIDwveHNkOmVsZW1lbnQ+CisgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImRhdGEiPgorICAgICAgICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgICAgPHhzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0idmFsdWUiIHR5cGU9InhzZDpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbXNkYXRhOk9yZGluYWw9IjEiIC8+CisgICAgICAgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImNvbW1lbnQiIHR5cGU9InhzZDpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbXNkYXRhOk9yZGluYWw9IjIiIC8+CisgICAgICAgICAgICAgIDwveHNkOnNlcXVlbmNlPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJuYW1lIiB0eXBlPSJ4c2Q6c3RyaW5nIiB1c2U9InJlcXVpcmVkIiBtc2RhdGE6T3JkaW5hbD0iMSIgLz4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0idHlwZSIgdHlwZT0ieHNkOnN0cmluZyIgbXNkYXRhOk9yZGluYWw9IjMiIC8+CisgICAgICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9Im1pbWV0eXBlIiB0eXBlPSJ4c2Q6c3RyaW5nIiBtc2RhdGE6T3JkaW5hbD0iNCIgLz4KKyAgICAgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgcmVmPSJ4bWw6c3BhY2UiIC8+CisgICAgICAgICAgICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJyZXNoZWFkZXIiPgorICAgICAgICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgICAgPHhzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0idmFsdWUiIHR5cGU9InhzZDpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbXNkYXRhOk9yZGluYWw9IjEiIC8+CisgICAgICAgICAgICAgIDwveHNkOnNlcXVlbmNlPgorICAgICAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJuYW1lIiB0eXBlPSJ4c2Q6c3RyaW5nIiB1c2U9InJlcXVpcmVkIiAvPgorICAgICAgICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgICAgPC94c2Q6Y2hvaWNlPgorICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgPC94c2Q6ZWxlbWVudD4KKyAgPC94c2Q6c2NoZW1hPgorICA8cmVzaGVhZGVyIG5hbWU9InJlc21pbWV0eXBlIj4KKyAgICA8dmFsdWU+dGV4dC9taWNyb3NvZnQtcmVzeDwvdmFsdWU+CisgIDwvcmVzaGVhZGVyPgorICA8cmVzaGVhZGVyIG5hbWU9InZlcnNpb24iPgorICAgIDx2YWx1ZT4yLjA8L3ZhbHVlPgorICA8L3Jlc2hlYWRlcj4KKyAgPHJlc2hlYWRlciBuYW1lPSJyZWFkZXIiPgorICAgIDx2YWx1ZT5TeXN0ZW0uUmVzb3VyY2VzLlJlc1hSZXNvdXJjZVJlYWRlciwgU3lzdGVtLldpbmRvd3MuRm9ybXMsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5PC92YWx1ZT4KKyAgPC9yZXNoZWFkZXI+CisgIDxyZXNoZWFkZXIgbmFtZT0id3JpdGVyIj4KKyAgICA8dmFsdWU+U3lzdGVtLlJlc291cmNlcy5SZXNYUmVzb3VyY2VXcml0ZXIsIFN5c3RlbS5XaW5kb3dzLkZvcm1zLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OTwvdmFsdWU+CisgIDwvcmVzaGVhZGVyPgorPC9yb290PgpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9tZXNzYWdlZVR1dG9yaWFsL01lc3NhZ2VlL1VzZXJTZXR0aW5ncy52YiBiL3NhbXBsZXMvbWVzc2FnZWVUdXRvcmlhbC9NZXNzYWdlZS9Vc2VyU2V0dGluZ3MudmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTJjN2Y4YQotLS0gL2Rldi9udWxsCisrKyBiL3NhbXBsZXMvbWVzc2FnZWVUdXRvcmlhbC9NZXNzYWdlZS9Vc2VyU2V0dGluZ3MudmIKQEAgLTAsMCArMSw5NiBAQAor77u/JyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKycgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisnIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKycgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKycgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKycgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKycKKycgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorJworJyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisnIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisnIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorJyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisnIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCitJbXBvcnRzIFVzZXJncmlkLlNkaworSW1wb3J0cyBVc2VyZ3JpZC5TZGsuTW9kZWwKKworUHVibGljIENsYXNzIFVzZXJTZXR0aW5ncworICAgIFByaXZhdGUgdXNlck5hbWUgQXMgU3RyaW5nCisKKyAgIAorICAgIFByaXZhdGUgU3ViIFVzZXJTZXR0aW5nc19Mb2FkKHNlbmRlciBBcyBPYmplY3QsIGUgQXMgRXZlbnRBcmdzKSBIYW5kbGVzIE15QmFzZS5Mb2FkCisgICAgICAgIE1lLnVzZXJOYW1lID0gTWVzc2FnZWVNYWluV2luZG93LlVzZXJzLkl0ZW1zKE1lc3NhZ2VlTWFpbldpbmRvdy5Vc2Vycy5TZWxlY3RlZEluZGV4KS5Ub1N0cmluZworICAgICAgICB1c2VyTmFtZUxhYmVsLlRleHQgPSBNZS51c2VyTmFtZQorICAgICAgICBEaW0gdXNlciBBcyBVc2VyZ3JpZFVzZXIgPSBHbG9iYWxzLmNsaWVudC5HZXRVc2VyKE9mIFVzZXJncmlkVXNlcikodXNlck5hbWUpCisgICAgICAgIHV1aWRMYWJlbC5UZXh0ID0gdXNlci5VdWlkCisgICAgICAgIFBvcHVsYXRlVXNlcnNBbmRGb2xsb3dpbmdMaXN0cyh1c2VyTmFtZSkKKyAgICAgICAgYnRuQWRkRm9sbG93aW5nLkVuYWJsZWQgPSBGYWxzZQorICAgICAgICBidG5EZWxldGVGb2xsb3dpbmcuRW5hYmxlZCA9IEZhbHNlCisgICAgRW5kIFN1YgorCisgICAgUHJpdmF0ZSBTdWIgUG9wdWxhdGVVc2Vyc0FuZEZvbGxvd2luZ0xpc3RzKHVzZXJOYW1lIEFzIFN0cmluZykKKyAgICAgICAgdW5jb25uZWN0ZWRVc2Vycy5JdGVtcy5DbGVhcigpCisgICAgICAgIGZvbGxvd2luZ0xpc3QuSXRlbXMuQ2xlYXIoKQorCisgICAgICAgIERpbSBmb2xsb3dpbmcgQXMgSUxpc3QoT2YgVXNlcmdyaWRFbnRpdHkpID0gVXRpbHMuR2V0Rm9sbG93ZXJzKHVzZXJOYW1lKQorICAgICAgICBEaW0gZm9sbG93ZXJzTGlzdCBBcyBJTGlzdChPZiBVc2VyZ3JpZEVudGl0eSkgPSBVdGlscy5HZXRGb2xsb3dlZCh1c2VyTmFtZSkKKworICAgICAgICBEaW0gYWxsVXNlcnMgQXMgVXNlcmdyaWRDb2xsZWN0aW9uKE9mIFVzZXJncmlkVXNlcikgPSBHbG9iYWxzLmNsaWVudC5HZXRFbnRpdGllcyhPZiBVc2VyZ3JpZFVzZXIpKCJ1c2VycyIpCisgICAgICAgIERpbSBpIEFzIEludGVnZXIgPSAwCisgICAgICAgIFdoaWxlIGkgPCBhbGxVc2Vycy5Db3VudCAKKyAgICAgICAgICAgIElmIE5vdCBFbnRpdHlJbklMaXN0KGFsbFVzZXJzKGkpLCBmb2xsb3dpbmcpIEFuZCBhbGxVc2VycyhpKS5Vc2VyTmFtZSA8PiB1c2VyTmFtZSBUaGVuCisgICAgICAgICAgICAgICAgdW5jb25uZWN0ZWRVc2Vycy5JdGVtcy5BZGQoYWxsVXNlcnMoaSkuVXNlck5hbWUpCisgICAgICAgICAgICBFbmQgSWYKKyAgICAgICAgICAgIGkgPSBpICsgMQorICAgICAgICBFbmQgV2hpbGUKKyAgICAgICAgaSA9IDAKKworICAgICAgICBXaGlsZSBpIDwgZm9sbG93aW5nLkNvdW50CisgICAgICAgICAgICBEaW0gZGMgQXMgVXNlcmdyaWRVc2VyID0gR2xvYmFscy5jbGllbnQuR2V0VXNlcihPZiBVc2VyZ3JpZFVzZXIpKGZvbGxvd2luZyhpKS5VdWlkKQorICAgICAgICAgICAgZm9sbG93aW5nTGlzdC5JdGVtcy5BZGQoZGMuVXNlck5hbWUpCisgICAgICAgICAgICBpID0gaSArIDEKKyAgICAgICAgRW5kIFdoaWxlCisgICAgRW5kIFN1YgorICAgIFByaXZhdGUgRnVuY3Rpb24gRW50aXR5SW5JTGlzdChlbnRpdHkgQXMgVXNlcmdyaWRFbnRpdHksIGlsaXN0IEFzIElMaXN0KSBBcyBCb29sZWFuCisgICAgICAgIERpbSBpIEFzIEludGVnZXIgPSAwCisgICAgICAgIFdoaWxlIGkgPCBpbGlzdC5Db3VudAorICAgICAgICAgICAgRGltIGlsaXN0RW50aXR5IEFzIFVzZXJncmlkRW50aXR5ID0gaWxpc3QoaSkKKyAgICAgICAgICAgIElmIGlsaXN0RW50aXR5Lk5hbWUgPSBlbnRpdHkuTmFtZSBUaGVuCisgICAgICAgICAgICAgICAgUmV0dXJuIFRydWUKKyAgICAgICAgICAgIEVuZCBJZgorICAgICAgICAgICAgaSA9IGkgKyAxCisgICAgICAgIEVuZCBXaGlsZQorICAgICAgICBSZXR1cm4gRmFsc2UKKyAgICBFbmQgRnVuY3Rpb24KKworICAgIFByaXZhdGUgU3ViIGJ0bkNsb3NlX0NsaWNrKHNlbmRlciBBcyBPYmplY3QsIGUgQXMgRXZlbnRBcmdzKSBIYW5kbGVzIGJ0bkNsb3NlLkNsaWNrCisgICAgICAgIE1lLkNsb3NlKCkKKyAgICAgICAgR2xvYmFscy5tYWluV2luZG93LlVwZGF0ZUZvbGxvd2Vyc0FuZEZvbGxvd2luZygpCisgICAgICAgIEdsb2JhbHMubWFpbldpbmRvdy5VcGRhdGVZb3VyRmVlZCgpCisgICAgRW5kIFN1YgorCisgICAgUHJpdmF0ZSBTdWIgYnRuQWRkRm9sbG93aW5nX0NsaWNrKHNlbmRlciBBcyBPYmplY3QsIGUgQXMgRXZlbnRBcmdzKSBIYW5kbGVzIGJ0bkFkZEZvbGxvd2luZy5DbGljaworICAgICAgICBVdGlscy5Gb2xsb3dVc2VyKE1lLnVzZXJOYW1lLCB1bmNvbm5lY3RlZFVzZXJzLkl0ZW1zKHVuY29ubmVjdGVkVXNlcnMuU2VsZWN0ZWRJbmRleCkuVG9TdHJpbmcpCisgICAgICAgIFV0aWxzLkFkZEZvbGxvd2VyKE1lLnVzZXJOYW1lLCB1bmNvbm5lY3RlZFVzZXJzLkl0ZW1zKHVuY29ubmVjdGVkVXNlcnMuU2VsZWN0ZWRJbmRleCkuVG9TdHJpbmcpCisgICAgICAgIGJ0bkFkZEZvbGxvd2luZy5FbmFibGVkID0gRmFsc2UKKyAgICAgICAgUG9wdWxhdGVVc2Vyc0FuZEZvbGxvd2luZ0xpc3RzKE1lLnVzZXJOYW1lKQorICAgIEVuZCBTdWIKKworICAgIFByaXZhdGUgU3ViIHVuY29ubmVjdGVkVXNlcnNfU2VsZWN0ZWRJbmRleENoYW5nZWQoc2VuZGVyIEFzIE9iamVjdCwgZSBBcyBFdmVudEFyZ3MpIEhhbmRsZXMgdW5jb25uZWN0ZWRVc2Vycy5TZWxlY3RlZEluZGV4Q2hhbmdlZAorICAgICAgICBidG5BZGRGb2xsb3dpbmcuRW5hYmxlZCA9IFRydWUKKyAgICBFbmQgU3ViCisKKyAgICBQcml2YXRlIFN1YiBmb2xsb3dpbmdMaXN0X1NlbGVjdGVkSW5kZXhDaGFuZ2VkKHNlbmRlciBBcyBPYmplY3QsIGUgQXMgRXZlbnRBcmdzKSBIYW5kbGVzIGZvbGxvd2luZ0xpc3QuU2VsZWN0ZWRJbmRleENoYW5nZWQKKyAgICAgICAgYnRuRGVsZXRlRm9sbG93aW5nLkVuYWJsZWQgPSBUcnVlCisgICAgRW5kIFN1YgorCisgICAgUHJpdmF0ZSBTdWIgYnRuRGVsZXRlRm9sbG93aW5nX0NsaWNrKHNlbmRlciBBcyBPYmplY3QsIGUgQXMgRXZlbnRBcmdzKSBIYW5kbGVzIGJ0bkRlbGV0ZUZvbGxvd2luZy5DbGljaworICAgICAgICBEaW0gZGVsVXNlck5hbWUgPSBmb2xsb3dpbmdMaXN0Lkl0ZW1zKGZvbGxvd2luZ0xpc3QuU2VsZWN0ZWRJbmRleCkuVG9TdHJpbmcoKQorICAgICAgICBVdGlscy5EZWxldGVGb2xsb3dVc2VyKE1lLnVzZXJOYW1lLCBkZWxVc2VyTmFtZSkKKyAgICAgICAgVXRpbHMuRGVsZXRlRm9sbG93ZXIoTWUudXNlck5hbWUsIGRlbFVzZXJOYW1lKQorICAgICAgICBidG5EZWxldGVGb2xsb3dpbmcuRW5hYmxlZCA9IEZhbHNlCisgICAgICAgIFBvcHVsYXRlVXNlcnNBbmRGb2xsb3dpbmdMaXN0cyhNZS51c2VyTmFtZSkKKyAgICBFbmQgU3ViCitFbmQgQ2xhc3MKZGlmZiAtLWdpdCBhL3NhbXBsZXMvbWVzc2FnZWVUdXRvcmlhbC9NZXNzYWdlZS9VdGlscy52YiBiL3NhbXBsZXMvbWVzc2FnZWVUdXRvcmlhbC9NZXNzYWdlZS9VdGlscy52YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTQyZWEyCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9tZXNzYWdlZVR1dG9yaWFsL01lc3NhZ2VlL1V0aWxzLnZiCkBAIC0wLDAgKzEsODIgQEAKK++7vycgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisnIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorJyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisnIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisnICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisnIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisnCisnICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKycKKycgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorJyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorJyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKycgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorJyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworSW1wb3J0cyBVc2VyZ3JpZC5TZGsKK0ltcG9ydHMgVXNlcmdyaWQuU2RrLk1vZGVsCisKK1B1YmxpYyBDbGFzcyBVdGlscworCisgICAgUHVibGljIFNoYXJlZCBGdW5jdGlvbiBHZXRGb2xsb3dlcnModXNlck5hbWUgQXMgU3RyaW5nKSBBcyBJTGlzdAorICAgICAgICBEaW0gY29ubiBBcyBDb25uZWN0aW9uID0gTmV3IENvbm5lY3Rpb24oKQorICAgICAgICBjb25uLkNvbm5lY3RvcklkZW50aWZpZXIgPSB1c2VyTmFtZQorICAgICAgICBjb25uLkNvbm5lY3RvckNvbGxlY3Rpb25OYW1lID0gInVzZXJzIgorICAgICAgICBjb25uLkNvbm5lY3Rpb25OYW1lID0gImZvbGxvd2luZyIKKyAgICAgICAgUmV0dXJuIEdsb2JhbHMuY2xpZW50LkdldENvbm5lY3Rpb25zKGNvbm4pCisgICAgRW5kIEZ1bmN0aW9uCisKKyAgICBQdWJsaWMgU2hhcmVkIEZ1bmN0aW9uIEdldEZvbGxvd2VkKHVzZXJOYW1lIEFzIFN0cmluZykgQXMgSUxpc3QKKyAgICAgICAgRGltIGNvbm4gQXMgQ29ubmVjdGlvbiA9IE5ldyBDb25uZWN0aW9uKCkKKyAgICAgICAgY29ubi5Db25uZWN0b3JJZGVudGlmaWVyID0gdXNlck5hbWUKKyAgICAgICAgY29ubi5Db25uZWN0b3JDb2xsZWN0aW9uTmFtZSA9ICJ1c2VycyIKKyAgICAgICAgY29ubi5Db25uZWN0aW9uTmFtZSA9ICJmb2xsb3dlZCIKKyAgICAgICAgUmV0dXJuIEdsb2JhbHMuY2xpZW50LkdldENvbm5lY3Rpb25zKGNvbm4pCisgICAgRW5kIEZ1bmN0aW9uCisKKyAgICBQdWJsaWMgU2hhcmVkIFN1YiBGb2xsb3dVc2VyKGZvbGxvd2VyIEFzIFN0cmluZywgZm9sbG93ZWQgQXMgU3RyaW5nKQorICAgICAgICBEaW0gY29ubiBBcyBDb25uZWN0aW9uID0gTmV3IENvbm5lY3Rpb24oKQorICAgICAgICBjb25uLkNvbm5lY3RlZUNvbGxlY3Rpb25OYW1lID0gInVzZXJzIgorICAgICAgICBjb25uLkNvbm5lY3RvckNvbGxlY3Rpb25OYW1lID0gInVzZXJzIgorCisgICAgICAgIGNvbm4uQ29ubmVjdG9ySWRlbnRpZmllciA9IGZvbGxvd2VyCisgICAgICAgIGNvbm4uQ29ubmVjdGVlSWRlbnRpZmllciA9IGZvbGxvd2VkCisgICAgICAgIGNvbm4uQ29ubmVjdGlvbk5hbWUgPSAiZm9sbG93aW5nIgorICAgICAgICBHbG9iYWxzLmNsaWVudC5DcmVhdGVDb25uZWN0aW9uKGNvbm4pCisgICAgRW5kIFN1YgorCisgICAgUHVibGljIFNoYXJlZCBTdWIgQWRkRm9sbG93ZXIoZm9sbG93ZXIgQXMgU3RyaW5nLCBmb2xsb3dlZCBBcyBTdHJpbmcpCisgICAgICAgIERpbSBjb25uIEFzIENvbm5lY3Rpb24gPSBOZXcgQ29ubmVjdGlvbigpCisgICAgICAgIGNvbm4uQ29ubmVjdGVlQ29sbGVjdGlvbk5hbWUgPSAidXNlcnMiCisgICAgICAgIGNvbm4uQ29ubmVjdG9yQ29sbGVjdGlvbk5hbWUgPSAidXNlcnMiCisKKyAgICAgICAgY29ubi5Db25uZWN0b3JJZGVudGlmaWVyID0gZm9sbG93ZWQKKyAgICAgICAgY29ubi5Db25uZWN0ZWVJZGVudGlmaWVyID0gZm9sbG93ZXIKKyAgICAgICAgY29ubi5Db25uZWN0aW9uTmFtZSA9ICJmb2xsb3dlZCIKKyAgICAgICAgR2xvYmFscy5jbGllbnQuQ3JlYXRlQ29ubmVjdGlvbihjb25uKQorICAgIEVuZCBTdWIKKworICAgIFB1YmxpYyBTaGFyZWQgU3ViIERlbGV0ZUZvbGxvd1VzZXIoZm9sbG93ZXIgQXMgU3RyaW5nLCBmb2xsb3dlZCBBcyBTdHJpbmcpCisgICAgICAgIERpbSBjb25uIEFzIENvbm5lY3Rpb24gPSBOZXcgQ29ubmVjdGlvbigpCisgICAgICAgIGNvbm4uQ29ubmVjdGVlQ29sbGVjdGlvbk5hbWUgPSAidXNlcnMiCisgICAgICAgIGNvbm4uQ29ubmVjdG9yQ29sbGVjdGlvbk5hbWUgPSAidXNlcnMiCisKKyAgICAgICAgY29ubi5Db25uZWN0b3JJZGVudGlmaWVyID0gZm9sbG93ZXIKKyAgICAgICAgY29ubi5Db25uZWN0ZWVJZGVudGlmaWVyID0gZm9sbG93ZWQKKyAgICAgICAgY29ubi5Db25uZWN0aW9uTmFtZSA9ICJmb2xsb3dpbmciCisgICAgICAgIERpbSBjbGlzdCBBcyBJTGlzdCA9IEdsb2JhbHMuY2xpZW50LkdldENvbm5lY3Rpb25zKGNvbm4pCisgICAgICAgIEdsb2JhbHMuY2xpZW50LkRlbGV0ZUNvbm5lY3Rpb24oY29ubikKKyAgICBFbmQgU3ViCisKKyAgICBQdWJsaWMgU2hhcmVkIFN1YiBEZWxldGVGb2xsb3dlcihmb2xsb3dlciBBcyBTdHJpbmcsIGZvbGxvd2VkIEFzIFN0cmluZykKKyAgICAgICAgRGltIGNvbm4gQXMgQ29ubmVjdGlvbiA9IE5ldyBDb25uZWN0aW9uKCkKKyAgICAgICAgY29ubi5Db25uZWN0ZWVDb2xsZWN0aW9uTmFtZSA9ICJ1c2VycyIKKyAgICAgICAgY29ubi5Db25uZWN0b3JDb2xsZWN0aW9uTmFtZSA9ICJ1c2VycyIKKworICAgICAgICBjb25uLkNvbm5lY3RvcklkZW50aWZpZXIgPSBmb2xsb3dlZAorICAgICAgICBjb25uLkNvbm5lY3RlZUlkZW50aWZpZXIgPSBmb2xsb3dlcgorICAgICAgICBjb25uLkNvbm5lY3Rpb25OYW1lID0gImZvbGxvd2VkIgorICAgICAgICBHbG9iYWxzLmNsaWVudC5EZWxldGVDb25uZWN0aW9uKGNvbm4pCisgICAgRW5kIFN1YgorCitFbmQgQ2xhc3MKZGlmZiAtLWdpdCBhL3NhbXBsZXMvbWVzc2FnZWVUdXRvcmlhbC9SRUFETUUubWQgYi9zYW1wbGVzL21lc3NhZ2VlVHV0b3JpYWwvUkVBRE1FLm1kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhOGJiZjMKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL21lc3NhZ2VlVHV0b3JpYWwvUkVBRE1FLm1kCkBAIC0wLDAgKzEsMTUgQEAKK3VzZXJncmlkLXNhbXBsZS0ubmV0LW1lc3NhZ2VlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorRGlyZWN0aW9ucyBmb3IgdXNlCisKKzEuIFNpZ24gdXAgZm9yIGEgZnJlZSBBcGlnZWUgQXBwIFNlcnZpY2VzIGFjY291bnQKKzIuIEluIHRoZSBvcmdhbml6YXRpb24gdGhhdCBpcyBjcmVhdGVkIGZvciB5b3UsIGNyZWF0ZSBhIHVzZXIgYW5kIGdpdmUgdGhhdCB1c2VyIGFkbWluaXN0cmF0aXZlIHByaXZpbGVnZXMKKzMuIENyZWF0ZSBhbiBhcHAgaW4gdGhlIG9yZ2FuaXphdGlvbgorNC4gSW4gdGhlIGFwcCwgY3JlYXRlIGFzIG1hbnkgdGVzdCB1c2VycyBhcyB5b3UgbGlrZQorNS4gQ2xvbmUgdGhlIGZvbGxvd2luZyBicmFuY2ggZm9yIHRoZSBVc2VyZ3JpZCBzZGs6IGh0dHBzOi8vZ2l0aHViLmNvbS9hcGlnZWUvdXNlcmdyaWQtLm5ldC1zZGsgYW5kIGJ1aWxkIGl0Cis2LiBDbG9uZSB0aGlzIHJlcG9zaXRvcnkuICBPcGVuIHRoZSBNZXNzYWdlZSBzb2x1dGlvbiBmaWxlIGluIHRoZSB0b3AgbGV2ZWwgZm9sZGVyLiAgQWRkIHJlZmVyZW5jZXMgdG8gdGhlIC5kbGwgZmlsZXMgbG9jYXRlZCBpbiB0aGUgVXNlcmdyaWRTZGtcYmluXGRlYnVnIGZvbGRlciB0byB0aGUgcHJvamVjdAorNy4gQnVpbGQgTWVzc2FnZWUKKzguIFJ1biB0aGUgc29sdXRpb24uICBPbiB0aGUgbWFpbiBzY3JlZW4gY2hvb3NlIHRoZSBTZXR0aW5ncyBtZW51IGl0ZW0gYW5kIGlucHV0IHRoZSBhZG1pbiB1c2VyIGNyZWRlbnRpYWxzLCB0aGUgb3JnIG5hbWUgYW5kIHRoZSBhcHBsaWNhdGlvbiBuYW1lCisKK0F0IHRoaXMgcG9pbnQsIHRoZSB1c2VycyBmb3IgdGhhdCBhcHAgc2hvdWxkIGJlIHBvcHVsYXRlZC4gIENob29zaW5nIGEgcGFydGljdWxhciB1c2VyIGFuZCB0aGVuIGNob29zaW5nIHRoZSBVc2VyIFNldHRpbmdzIG1lbnUgb3B0aW9uIHdpbGwgYWxsb3cgeW91IHRvIGNvbnRyb2wgd2hvIHRoYXQgdXNlciBpcyBmb2xsb3dpbmcKK0Nvbm5lY3QgYSBmZXcgdXNlcnMgYW5kIGRvIHNvbWUgcG9zdHMuICBQb3N0cyBhcmUgYXV0b21hdGljYWxseSByb3V0ZWQgdG8gdXNlcnMgd2hvIGFyZSBjb25uZWN0ZWQgYXMgZm9sbG93ZXJzCmRpZmYgLS1naXQgYS9zYW1wbGVzL25vdGlmaWNhdGlvbnMvVXNlcmdyaWQuTm90aWZpY2F0aW9ucy9BcHAueGFtbCBiL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL0FwcC54YW1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4NmEyZmQKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL25vdGlmaWNhdGlvbnMvVXNlcmdyaWQuTm90aWZpY2F0aW9ucy9BcHAueGFtbApAQCAtMCwwICsxLDI3IEBACivvu788QXBwbGljYXRpb24KKyAgICB4OkNsYXNzPSJVc2VyZ3JpZC5Ob3RpZmljYXRpb25zLkFwcCIKKyAgICB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aW5meC8yMDA2L3hhbWwvcHJlc2VudGF0aW9uIgorICAgIHhtbG5zOng9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2luZngvMjAwNi94YW1sIgorICAgIHhtbG5zOmxvY2FsPSJ1c2luZzpVc2VyZ3JpZC5Ob3RpZmljYXRpb25zIj4KKzwhLS0KKyAgICAvKgorICoKKyAqICAqIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorICogICogIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdQorICogICogdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90CisgKiAgKiB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiAgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqICAqCisgKiAgKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKiAgKgorICogICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqICAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuICBGb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcKKyAqICAqIGNvcHlyaWdodCBpbiB0aGlzIHdvcmssIHBsZWFzZSBzZWUgdGhlIE5PVElDRSBmaWxlIGluIHRoZSB0b3AgbGV2ZWwKKyAqICAqIGRpcmVjdG9yeSBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4KKyAqCisgKi8KKyAgICAtLT4KKzwvQXBwbGljYXRpb24+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9ub3RpZmljYXRpb25zL1VzZXJncmlkLk5vdGlmaWNhdGlvbnMvQXBwLnhhbWwuY3MgYi9zYW1wbGVzL25vdGlmaWNhdGlvbnMvVXNlcmdyaWQuTm90aWZpY2F0aW9ucy9BcHAueGFtbC5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYjA3OWZiCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9ub3RpZmljYXRpb25zL1VzZXJncmlkLk5vdGlmaWNhdGlvbnMvQXBwLnhhbWwuY3MKQEAgLTAsMCArMSwxNTAgQEAKK++7vy8qCisgKgorICogICogTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgKiAgKiAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91CisgKiAgKiB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QKKyAqICAqIHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqICAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICogICoKKyAqICAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqICAqCisgKiAgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiAgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiAgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiAgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4gIEZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZworICogICogY29weXJpZ2h0IGluIHRoaXMgd29yaywgcGxlYXNlIHNlZSB0aGUgTk9USUNFIGZpbGUgaW4gdGhlIHRvcCBsZXZlbAorICogICogZGlyZWN0b3J5IG9mIHRoaXMgZGlzdHJpYnV0aW9uLgorICoKKyAqLwordXNpbmcgU3lzdGVtOwordXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7Cit1c2luZyBTeXN0ZW0uSU87Cit1c2luZyBTeXN0ZW0uTGlucTsKK3VzaW5nIFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5XaW5kb3dzUnVudGltZTsKK3VzaW5nIFdpbmRvd3MuQXBwbGljYXRpb25Nb2RlbDsKK3VzaW5nIFdpbmRvd3MuQXBwbGljYXRpb25Nb2RlbC5BY3RpdmF0aW9uOwordXNpbmcgV2luZG93cy5Gb3VuZGF0aW9uOwordXNpbmcgV2luZG93cy5Gb3VuZGF0aW9uLkNvbGxlY3Rpb25zOwordXNpbmcgV2luZG93cy5VSS5YYW1sOwordXNpbmcgV2luZG93cy5VSS5YYW1sLkNvbnRyb2xzOwordXNpbmcgV2luZG93cy5VSS5YYW1sLkNvbnRyb2xzLlByaW1pdGl2ZXM7Cit1c2luZyBXaW5kb3dzLlVJLlhhbWwuRGF0YTsKK3VzaW5nIFdpbmRvd3MuVUkuWGFtbC5JbnB1dDsKK3VzaW5nIFdpbmRvd3MuVUkuWGFtbC5NZWRpYTsKK3VzaW5nIFdpbmRvd3MuVUkuWGFtbC5NZWRpYS5BbmltYXRpb247Cit1c2luZyBXaW5kb3dzLlVJLlhhbWwuTmF2aWdhdGlvbjsKKworLy8gVGhlIEJsYW5rIEFwcGxpY2F0aW9uIHRlbXBsYXRlIGlzIGRvY3VtZW50ZWQgYXQgaHR0cDovL2dvLm1pY3Jvc29mdC5jb20vZndsaW5rLz9MaW5rSWQ9MzkxNjQxCisKK25hbWVzcGFjZSBVc2VyZ3JpZC5Ob3RpZmljYXRpb25zCit7CisgICAgLy8vIDxzdW1tYXJ5PgorICAgIC8vLyBQcm92aWRlcyBhcHBsaWNhdGlvbi1zcGVjaWZpYyBiZWhhdmlvciB0byBzdXBwbGVtZW50IHRoZSBkZWZhdWx0IEFwcGxpY2F0aW9uIGNsYXNzLgorICAgIC8vLyA8L3N1bW1hcnk+CisgICAgcHVibGljIHNlYWxlZCBwYXJ0aWFsIGNsYXNzIEFwcCA6IEFwcGxpY2F0aW9uCisgICAgeworICAgICAgICBwcml2YXRlIFRyYW5zaXRpb25Db2xsZWN0aW9uIHRyYW5zaXRpb25zOworCisgICAgICAgIC8vLyA8c3VtbWFyeT4KKyAgICAgICAgLy8vIEluaXRpYWxpemVzIHRoZSBzaW5nbGV0b24gYXBwbGljYXRpb24gb2JqZWN0LiAgVGhpcyBpcyB0aGUgZmlyc3QgbGluZSBvZiBhdXRob3JlZCBjb2RlCisgICAgICAgIC8vLyBleGVjdXRlZCwgYW5kIGFzIHN1Y2ggaXMgdGhlIGxvZ2ljYWwgZXF1aXZhbGVudCBvZiBtYWluKCkgb3IgV2luTWFpbigpLgorICAgICAgICAvLy8gPC9zdW1tYXJ5PgorICAgICAgICBwdWJsaWMgQXBwKCkKKyAgICAgICAgeworICAgICAgICAgICAgdGhpcy5Jbml0aWFsaXplQ29tcG9uZW50KCk7CisgICAgICAgICAgICB0aGlzLlN1c3BlbmRpbmcgKz0gdGhpcy5PblN1c3BlbmRpbmc7CisgICAgICAgIH0KKworICAgICAgICAvLy8gPHN1bW1hcnk+CisgICAgICAgIC8vLyBJbnZva2VkIHdoZW4gdGhlIGFwcGxpY2F0aW9uIGlzIGxhdW5jaGVkIG5vcm1hbGx5IGJ5IHRoZSBlbmQgdXNlci4gIE90aGVyIGVudHJ5IHBvaW50cworICAgICAgICAvLy8gd2lsbCBiZSB1c2VkIHdoZW4gdGhlIGFwcGxpY2F0aW9uIGlzIGxhdW5jaGVkIHRvIG9wZW4gYSBzcGVjaWZpYyBmaWxlLCB0byBkaXNwbGF5CisgICAgICAgIC8vLyBzZWFyY2ggcmVzdWx0cywgYW5kIHNvIGZvcnRoLgorICAgICAgICAvLy8gPC9zdW1tYXJ5PgorICAgICAgICAvLy8gPHBhcmFtIG5hbWU9ImUiPkRldGFpbHMgYWJvdXQgdGhlIGxhdW5jaCByZXF1ZXN0IGFuZCBwcm9jZXNzLjwvcGFyYW0+CisgICAgICAgIHByb3RlY3RlZCBvdmVycmlkZSB2b2lkIE9uTGF1bmNoZWQoTGF1bmNoQWN0aXZhdGVkRXZlbnRBcmdzIGUpCisgICAgICAgIHsKKyNpZiBERUJVRworICAgICAgICAgICAgaWYgKFN5c3RlbS5EaWFnbm9zdGljcy5EZWJ1Z2dlci5Jc0F0dGFjaGVkKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRoaXMuRGVidWdTZXR0aW5ncy5FbmFibGVGcmFtZVJhdGVDb3VudGVyID0gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyNlbmRpZgorCisgICAgICAgICAgICBGcmFtZSByb290RnJhbWUgPSBXaW5kb3cuQ3VycmVudC5Db250ZW50IGFzIEZyYW1lOworCisgICAgICAgICAgICAvLyBEbyBub3QgcmVwZWF0IGFwcCBpbml0aWFsaXphdGlvbiB3aGVuIHRoZSBXaW5kb3cgYWxyZWFkeSBoYXMgY29udGVudCwKKyAgICAgICAgICAgIC8vIGp1c3QgZW5zdXJlIHRoYXQgdGhlIHdpbmRvdyBpcyBhY3RpdmUKKyAgICAgICAgICAgIGlmIChyb290RnJhbWUgPT0gbnVsbCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvLyBDcmVhdGUgYSBGcmFtZSB0byBhY3QgYXMgdGhlIG5hdmlnYXRpb24gY29udGV4dCBhbmQgbmF2aWdhdGUgdG8gdGhlIGZpcnN0IHBhZ2UKKyAgICAgICAgICAgICAgICByb290RnJhbWUgPSBuZXcgRnJhbWUoKTsKKworICAgICAgICAgICAgICAgIC8vIFRPRE86IGNoYW5nZSB0aGlzIHZhbHVlIHRvIGEgY2FjaGUgc2l6ZSB0aGF0IGlzIGFwcHJvcHJpYXRlIGZvciB5b3VyIGFwcGxpY2F0aW9uCisgICAgICAgICAgICAgICAgcm9vdEZyYW1lLkNhY2hlU2l6ZSA9IDE7CisKKyAgICAgICAgICAgICAgICBpZiAoZS5QcmV2aW91c0V4ZWN1dGlvblN0YXRlID09IEFwcGxpY2F0aW9uRXhlY3V0aW9uU3RhdGUuVGVybWluYXRlZCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IExvYWQgc3RhdGUgZnJvbSBwcmV2aW91c2x5IHN1c3BlbmRlZCBhcHBsaWNhdGlvbgorICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIC8vIFBsYWNlIHRoZSBmcmFtZSBpbiB0aGUgY3VycmVudCBXaW5kb3cKKyAgICAgICAgICAgICAgICBXaW5kb3cuQ3VycmVudC5Db250ZW50ID0gcm9vdEZyYW1lOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAocm9vdEZyYW1lLkNvbnRlbnQgPT0gbnVsbCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvLyBSZW1vdmVzIHRoZSB0dXJuc3RpbGUgbmF2aWdhdGlvbiBmb3Igc3RhcnR1cC4KKyAgICAgICAgICAgICAgICBpZiAocm9vdEZyYW1lLkNvbnRlbnRUcmFuc2l0aW9ucyAhPSBudWxsKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2l0aW9ucyA9IG5ldyBUcmFuc2l0aW9uQ29sbGVjdGlvbigpOworICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICh2YXIgYyBpbiByb290RnJhbWUuQ29udGVudFRyYW5zaXRpb25zKQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zaXRpb25zLkFkZChjKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHJvb3RGcmFtZS5Db250ZW50VHJhbnNpdGlvbnMgPSBudWxsOworICAgICAgICAgICAgICAgIHJvb3RGcmFtZS5OYXZpZ2F0ZWQgKz0gdGhpcy5Sb290RnJhbWVfRmlyc3ROYXZpZ2F0ZWQ7CisKKyAgICAgICAgICAgICAgICAvLyBXaGVuIHRoZSBuYXZpZ2F0aW9uIHN0YWNrIGlzbid0IHJlc3RvcmVkIG5hdmlnYXRlIHRvIHRoZSBmaXJzdCBwYWdlLAorICAgICAgICAgICAgICAgIC8vIGNvbmZpZ3VyaW5nIHRoZSBuZXcgcGFnZSBieSBwYXNzaW5nIHJlcXVpcmVkIGluZm9ybWF0aW9uIGFzIGEgbmF2aWdhdGlvbgorICAgICAgICAgICAgICAgIC8vIHBhcmFtZXRlcgorICAgICAgICAgICAgICAgIGlmICghcm9vdEZyYW1lLk5hdmlnYXRlKHR5cGVvZihNYWluUGFnZSksIGUuQXJndW1lbnRzKSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oIkZhaWxlZCB0byBjcmVhdGUgaW5pdGlhbCBwYWdlIik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLyBFbnN1cmUgdGhlIGN1cnJlbnQgd2luZG93IGlzIGFjdGl2ZQorICAgICAgICAgICAgV2luZG93LkN1cnJlbnQuQWN0aXZhdGUoKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vLyA8c3VtbWFyeT4KKyAgICAgICAgLy8vIFJlc3RvcmVzIHRoZSBjb250ZW50IHRyYW5zaXRpb25zIGFmdGVyIHRoZSBhcHAgaGFzIGxhdW5jaGVkLgorICAgICAgICAvLy8gPC9zdW1tYXJ5PgorICAgICAgICAvLy8gPHBhcmFtIG5hbWU9InNlbmRlciI+VGhlIG9iamVjdCB3aGVyZSB0aGUgaGFuZGxlciBpcyBhdHRhY2hlZC48L3BhcmFtPgorICAgICAgICAvLy8gPHBhcmFtIG5hbWU9ImUiPkRldGFpbHMgYWJvdXQgdGhlIG5hdmlnYXRpb24gZXZlbnQuPC9wYXJhbT4KKyAgICAgICAgcHJpdmF0ZSB2b2lkIFJvb3RGcmFtZV9GaXJzdE5hdmlnYXRlZChvYmplY3Qgc2VuZGVyLCBOYXZpZ2F0aW9uRXZlbnRBcmdzIGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciByb290RnJhbWUgPSBzZW5kZXIgYXMgRnJhbWU7CisgICAgICAgICAgICByb290RnJhbWUuQ29udGVudFRyYW5zaXRpb25zID0gdGhpcy50cmFuc2l0aW9ucyA/PyBuZXcgVHJhbnNpdGlvbkNvbGxlY3Rpb24oKSB7IG5ldyBOYXZpZ2F0aW9uVGhlbWVUcmFuc2l0aW9uKCkgfTsKKyAgICAgICAgICAgIHJvb3RGcmFtZS5OYXZpZ2F0ZWQgLT0gdGhpcy5Sb290RnJhbWVfRmlyc3ROYXZpZ2F0ZWQ7CisgICAgICAgIH0KKworICAgICAgICAvLy8gPHN1bW1hcnk+CisgICAgICAgIC8vLyBJbnZva2VkIHdoZW4gYXBwbGljYXRpb24gZXhlY3V0aW9uIGlzIGJlaW5nIHN1c3BlbmRlZC4gIEFwcGxpY2F0aW9uIHN0YXRlIGlzIHNhdmVkCisgICAgICAgIC8vLyB3aXRob3V0IGtub3dpbmcgd2hldGhlciB0aGUgYXBwbGljYXRpb24gd2lsbCBiZSB0ZXJtaW5hdGVkIG9yIHJlc3VtZWQgd2l0aCB0aGUgY29udGVudHMKKyAgICAgICAgLy8vIG9mIG1lbW9yeSBzdGlsbCBpbnRhY3QuCisgICAgICAgIC8vLyA8L3N1bW1hcnk+CisgICAgICAgIC8vLyA8cGFyYW0gbmFtZT0ic2VuZGVyIj5UaGUgc291cmNlIG9mIHRoZSBzdXNwZW5kIHJlcXVlc3QuPC9wYXJhbT4KKyAgICAgICAgLy8vIDxwYXJhbSBuYW1lPSJlIj5EZXRhaWxzIGFib3V0IHRoZSBzdXNwZW5kIHJlcXVlc3QuPC9wYXJhbT4KKyAgICAgICAgcHJpdmF0ZSB2b2lkIE9uU3VzcGVuZGluZyhvYmplY3Qgc2VuZGVyLCBTdXNwZW5kaW5nRXZlbnRBcmdzIGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBkZWZlcnJhbCA9IGUuU3VzcGVuZGluZ09wZXJhdGlvbi5HZXREZWZlcnJhbCgpOworCisgICAgICAgICAgICAvLyBUT0RPOiBTYXZlIGFwcGxpY2F0aW9uIHN0YXRlIGFuZCBzdG9wIGFueSBiYWNrZ3JvdW5kIGFjdGl2aXR5CisgICAgICAgICAgICBkZWZlcnJhbC5Db21wbGV0ZSgpOworICAgICAgICB9CisgICAgfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL0Fzc2V0cy9Mb2dvLnNjYWxlLTI0MC5wbmcgYi9zYW1wbGVzL25vdGlmaWNhdGlvbnMvVXNlcmdyaWQuTm90aWZpY2F0aW9ucy9Bc3NldHMvTG9nby5zY2FsZS0yNDAucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2OTIxY2EKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL25vdGlmaWNhdGlvbnMvVXNlcmdyaWQuTm90aWZpY2F0aW9ucy9Bc3NldHMvTG9nby5zY2FsZS0yNDAucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL0Fzc2V0cy9TbWFsbExvZ28uc2NhbGUtMjQwLnBuZyBiL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL0Fzc2V0cy9TbWFsbExvZ28uc2NhbGUtMjQwLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTY2MzAxCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9ub3RpZmljYXRpb25zL1VzZXJncmlkLk5vdGlmaWNhdGlvbnMvQXNzZXRzL1NtYWxsTG9nby5zY2FsZS0yNDAucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL0Fzc2V0cy9TcGxhc2hTY3JlZW4uc2NhbGUtMjQwLnBuZyBiL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL0Fzc2V0cy9TcGxhc2hTY3JlZW4uc2NhbGUtMjQwLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zM2YyNmIzCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9ub3RpZmljYXRpb25zL1VzZXJncmlkLk5vdGlmaWNhdGlvbnMvQXNzZXRzL1NwbGFzaFNjcmVlbi5zY2FsZS0yNDAucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL0Fzc2V0cy9TcXVhcmU3MXg3MUxvZ28uc2NhbGUtMjQwLnBuZyBiL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL0Fzc2V0cy9TcXVhcmU3MXg3MUxvZ28uc2NhbGUtMjQwLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZmE1NGJlCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9ub3RpZmljYXRpb25zL1VzZXJncmlkLk5vdGlmaWNhdGlvbnMvQXNzZXRzL1NxdWFyZTcxeDcxTG9nby5zY2FsZS0yNDAucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL0Fzc2V0cy9TdG9yZUxvZ28uc2NhbGUtMjQwLnBuZyBiL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL0Fzc2V0cy9TdG9yZUxvZ28uc2NhbGUtMjQwLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40N2UwODRiCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9ub3RpZmljYXRpb25zL1VzZXJncmlkLk5vdGlmaWNhdGlvbnMvQXNzZXRzL1N0b3JlTG9nby5zY2FsZS0yNDAucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL0Fzc2V0cy9XaWRlTG9nby5zY2FsZS0yNDAucG5nIGIvc2FtcGxlcy9ub3RpZmljYXRpb25zL1VzZXJncmlkLk5vdGlmaWNhdGlvbnMvQXNzZXRzL1dpZGVMb2dvLnNjYWxlLTI0MC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjI0OWQyOQotLS0gL2Rldi9udWxsCisrKyBiL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL0Fzc2V0cy9XaWRlTG9nby5zY2FsZS0yNDAucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL0JhY2tncm91bmRUYXNrLmNzIGIvc2FtcGxlcy9ub3RpZmljYXRpb25zL1VzZXJncmlkLk5vdGlmaWNhdGlvbnMvQmFja2dyb3VuZFRhc2suY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTA5NmNhOAotLS0gL2Rldi9udWxsCisrKyBiL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL0JhY2tncm91bmRUYXNrLmNzCkBAIC0wLDAgKzEsNTcgQEAKK++7v3VzaW5nIFN5c3RlbTsKK3VzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljOwordXNpbmcgU3lzdGVtLkxpbnE7Cit1c2luZyBTeXN0ZW0uVGV4dDsKK3VzaW5nIFN5c3RlbS5UaHJlYWRpbmcuVGFza3M7Cit1c2luZyBXaW5kb3dzLkFwcGxpY2F0aW9uTW9kZWwuQmFja2dyb3VuZDsKKworbmFtZXNwYWNlIFVzZXJncmlkLk5vdGlmaWNhdGlvbnMKK3sKKyAgICBwdWJsaWMgc2VhbGVkIGNsYXNzIEV4YW1wbGVCYWNrZ3JvdW5kVGFzayA6IElCYWNrZ3JvdW5kVGFzaworICAgIHsKKyAgICAgICAgcHJpdmF0ZSBzdGF0aWMgQmFja2dyb3VuZFRhc2tSZWdpc3RyYXRpb24gdGFzazsKKyAgICAgICAgcHVibGljIHZvaWQgUnVuKElCYWNrZ3JvdW5kVGFza0luc3RhbmNlIHRhc2tJbnN0YW5jZSkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIHRlc3QgPSAiIjsKKworICAgICAgICB9CisgICAgICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBSZWdpc3RlcigpCisgICAgICAgIHsKKyAgICAgICAgICAgICAKKyAgICAgICAgICAgIGZvcmVhY2ggKHZhciBpdGVyIGluIEJhY2tncm91bmRUYXNrUmVnaXN0cmF0aW9uLkFsbFRhc2tzKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIElCYWNrZ3JvdW5kVGFza1JlZ2lzdHJhdGlvbiBteXRhc2sgPSBpdGVyLlZhbHVlOworICAgICAgICAgICAgICAgIGlmIChteXRhc2suTmFtZSA9PSAiRXhhbXBsZUJhY2tncm91bmRUYXNrIikKKyAgICAgICAgICAgICAgICB7CisKKyAgICAgICAgICAgICAgICAgICAgbXl0YXNrLlVucmVnaXN0ZXIodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAKKyAgICAgICAgICAgIHZhciBidWlsZGVyID0gbmV3IEJhY2tncm91bmRUYXNrQnVpbGRlcigpOworICAgICAgICAgICAgUHVzaE5vdGlmaWNhdGlvblRyaWdnZXIgdHJpZ2dlciA9IG5ldyBQdXNoTm90aWZpY2F0aW9uVHJpZ2dlcigpOworICAgICAgICAgICAgYnVpbGRlci5TZXRUcmlnZ2VyKHRyaWdnZXIpOworICAgICAgICAgICAgYnVpbGRlci5OYW1lID0gIkV4YW1wbGVCYWNrZ3JvdW5kVGFzayI7CisgICAgICAgICAgICBidWlsZGVyLlRhc2tFbnRyeVBvaW50ID0gIlVzZXJncmlkLk5vdGlmaWNhdGlvbnMuRXhhbXBsZUJhY2tncm91bmRUYXNrIjsKKworICAgICAgICAgICAgRXhhbXBsZUJhY2tncm91bmRUYXNrLnRhc2sgPSBidWlsZGVyLlJlZ2lzdGVyKCk7CisgICAgICAgICAgICB0YXNrLlByb2dyZXNzICs9IHRhc2tfUHJvZ3Jlc3M7CisKKyAgICAgICAgICAgIHRhc2suQ29tcGxldGVkICs9IHRhc2tfQ29tcGxldGVkOworCisgICAgICAgIH0KKworICAgICAgICBzdGF0aWMgdm9pZCB0YXNrX1Byb2dyZXNzKEJhY2tncm91bmRUYXNrUmVnaXN0cmF0aW9uIHNlbmRlciwgQmFja2dyb3VuZFRhc2tQcm9ncmVzc0V2ZW50QXJncyBhcmdzKQorICAgICAgICB7CisKKyAgICAgICAgICAgIHZhciB0ZXN0ID0gImRvbmUiOworICAgICAgICB9CisKKyAgICAgICAgc3RhdGljIHZvaWQgdGFza19Db21wbGV0ZWQoQmFja2dyb3VuZFRhc2tSZWdpc3RyYXRpb24gc2VuZGVyLCBCYWNrZ3JvdW5kVGFza0NvbXBsZXRlZEV2ZW50QXJncyBhcmdzKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgdGVzdCA9ICJkb25lIjsKKyAgICAgICAgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL0NsaWVudC9FbnRpdHlSZXNwb25zZS5jcyBiL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL0NsaWVudC9FbnRpdHlSZXNwb25zZS5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYmUyNjdhCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9ub3RpZmljYXRpb25zL1VzZXJncmlkLk5vdGlmaWNhdGlvbnMvQ2xpZW50L0VudGl0eVJlc3BvbnNlLmNzCkBAIC0wLDAgKzEsODAgQEAKK++7vy8qCisgKgorICogICogTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgKiAgKiAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91CisgKiAgKiB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QKKyAqICAqIHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqICAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICogICoKKyAqICAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqICAqCisgKiAgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiAgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiAgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiAgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4gIEZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZworICogICogY29weXJpZ2h0IGluIHRoaXMgd29yaywgcGxlYXNlIHNlZSB0aGUgTk9USUNFIGZpbGUgaW4gdGhlIHRvcCBsZXZlbAorICogICogZGlyZWN0b3J5IG9mIHRoaXMgZGlzdHJpYnV0aW9uLgorICoKKyAqLworCit1c2luZyBOZXd0b25zb2Z0Lkpzb24uTGlucTsKK3VzaW5nIFN5c3RlbTsKK3VzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljOwordXNpbmcgU3lzdGVtLklPOwordXNpbmcgU3lzdGVtLkxpbnE7Cit1c2luZyBTeXN0ZW0uTmV0OwordXNpbmcgU3lzdGVtLk5ldC5IdHRwOwordXNpbmcgU3lzdGVtLlRleHQ7Cit1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOworCituYW1lc3BhY2UgVXNlcmdyaWQuTm90aWZpY2F0aW9ucy5DbGllbnQKK3sKKyAgICBwdWJsaWMgY2xhc3MgRW50aXR5UmVzcG9uc2UgOiBKT2JqZWN0CisgICAgeworICAgICAgICBwcml2YXRlIEh0dHBSZXNwb25zZU1lc3NhZ2UgcmVzcG9uc2U7CisKKyAgICAgICAgcHJpdmF0ZSBFbnRpdHlSZXNwb25zZShIdHRwUmVzcG9uc2VNZXNzYWdlIHJlc3BvbnNlLCBKT2JqZWN0IGpPYmplY3QpCisgICAgICAgICAgICA6IGJhc2UoKQorICAgICAgICB7CisgICAgICAgICAgICB0aGlzLnJlc3BvbnNlID0gcmVzcG9uc2U7CisgICAgICAgICAgICBwYXJzZVJlc3BvbnNlKGpPYmplY3QpOworICAgICAgICB9CisKKyAgICAgICAgcHJpdmF0ZSB2b2lkIHBhcnNlUmVzcG9uc2UoSk9iamVjdCBqb2JqZWN0KQorICAgICAgICB7CisgICAgICAgICAgICBmb3JlYWNoICh2YXIga3YgaW4gam9iamVjdCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0aGlzW2t2LktleV0gPSBrdi5WYWx1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyBIdHRwU3RhdHVzQ29kZSBTdGF0dXMKKyAgICAgICAgeworICAgICAgICAgICAgZ2V0IHsgcmV0dXJuIHRoaXMucmVzcG9uc2UuU3RhdHVzQ29kZTsgfQorICAgICAgICB9CisKKyAgICAgICAgcHVibGljIHN0YXRpYyBhc3luYyBUYXNrPEVudGl0eVJlc3BvbnNlPiBQYXJzZShIdHRwUmVzcG9uc2VNZXNzYWdlIGh0dHBSZXNwb25zZU1lc3NhZ2UpCisgICAgICAgIHsKKyAgICAgICAgICAgIEpPYmplY3Qgam9iamVjdDsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgdXNpbmcgKHZhciBzdHJlYW0gPSBhd2FpdCBodHRwUmVzcG9uc2VNZXNzYWdlLkNvbnRlbnQuUmVhZEFzU3RyZWFtQXN5bmMoKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB1c2luZyAodmFyIHJlYWRlciA9IG5ldyBTdHJlYW1SZWFkZXIoc3RyZWFtLCBFbmNvZGluZy5VVEY4KSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGpvYmplY3QgPSBKT2JqZWN0LlBhcnNlKHJlYWRlci5SZWFkVG9FbmQoKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICByZXR1cm4gbmV3IEVudGl0eVJlc3BvbnNlKGh0dHBSZXNwb25zZU1lc3NhZ2UsIGpvYmplY3QpOyAKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyBib29sIFN0YXR1c0lzT2sKKyAgICAgICAgeworICAgICAgICAgICAgZ2V0CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuU3RhdHVzID09IEh0dHBTdGF0dXNDb2RlLk9LOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9ub3RpZmljYXRpb25zL1VzZXJncmlkLk5vdGlmaWNhdGlvbnMvQ2xpZW50L0lVc2VyZ3JpZENsaWVudC5jcyBiL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL0NsaWVudC9JVXNlcmdyaWRDbGllbnQuY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWVmYmI5YgotLS0gL2Rldi9udWxsCisrKyBiL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL0NsaWVudC9JVXNlcmdyaWRDbGllbnQuY3MKQEAgLTAsMCArMSwxMjMgQEAKK++7vy8qCisgKgorICogICogTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgKiAgKiAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91CisgKiAgKiB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QKKyAqICAqIHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqICAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICogICoKKyAqICAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqICAqCisgKiAgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiAgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiAgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiAgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4gIEZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZworICogICogY29weXJpZ2h0IGluIHRoaXMgd29yaywgcGxlYXNlIHNlZSB0aGUgTk9USUNFIGZpbGUgaW4gdGhlIHRvcCBsZXZlbAorICogICogZGlyZWN0b3J5IG9mIHRoaXMgZGlzdHJpYnV0aW9uLgorICoKKyAqLworCit1c2luZyBOZXd0b25zb2Z0Lkpzb24uTGlucTsKK3VzaW5nIFN5c3RlbTsKK3VzaW5nIFN5c3RlbS5OZXQuSHR0cDsKK3VzaW5nIFN5c3RlbS5UaHJlYWRpbmcuVGFza3M7Cit1c2luZyBXaW5kb3dzLk5ldHdvcmtpbmcuUHVzaE5vdGlmaWNhdGlvbnM7CituYW1lc3BhY2UgVXNlcmdyaWQuTm90aWZpY2F0aW9ucy5DbGllbnQKK3sKKyAgICAvLy8gPHN1bW1hcnk+CisgICAgLy8vIGVuY2Fwc3VsYXRlcyB1c2VyZ3JpZCBjYWxscywgdXNlIFVzZXJncmlkRmFjdG9yeQorICAgIC8vLyA8L3N1bW1hcnk+CisgICAgcHVibGljIGludGVyZmFjZSBJVXNlcmdyaWRDbGllbnQKKyAgICB7CisgICAgICAgIC8vLyA8c3VtbWFyeT4KKyAgICAgICAgLy8vIEF1dGhlbnRpY2F0ZSB5b3VyIGNhbGxzCisgICAgICAgIC8vLyA8L3N1bW1hcnk+CisgICAgICAgIC8vLyA8cGFyYW0gbmFtZT0idXNlciI+PC9wYXJhbT4KKyAgICAgICAgLy8vIDxwYXJhbSBuYW1lPSJwYXNzd29yZCI+PC9wYXJhbT4KKyAgICAgICAgLy8vIDxwYXJhbSBuYW1lPSJpc01hbmFnZW1lbnQiPjwvcGFyYW0+CisgICAgICAgIC8vLyA8cmV0dXJucz48L3JldHVybnM+CisgICAgICAgIFRhc2sgQXV0aGVudGljYXRlKHN0cmluZyB1c2VyLCBzdHJpbmcgcGFzc3dvcmQsIGJvb2wgaXNNYW5hZ2VtZW50KTsKKyAgICAgICAgLy8vIDxzdW1tYXJ5PgorICAgICAgICAvLy8gU2VuZCBhIG1lc3NhZ2UgCisgICAgICAgIC8vLyA8L3N1bW1hcnk+CisgICAgICAgIC8vLyA8cGFyYW0gbmFtZT0ibWV0aG9kIj48L3BhcmFtPgorICAgICAgICAvLy8gPHBhcmFtIG5hbWU9InVybCI+PC9wYXJhbT4KKyAgICAgICAgLy8vIDxwYXJhbSBuYW1lPSJvYmoiPjwvcGFyYW0+CisgICAgICAgIC8vLyA8cmV0dXJucz48L3JldHVybnM+CisgICAgICAgIFRhc2s8RW50aXR5UmVzcG9uc2U+IFNlbmRBc3luYyhIdHRwTWV0aG9kIG1ldGhvZCwgc3RyaW5nIHVybCwgb2JqZWN0IG9iaik7CisgICAgICAgIC8vLyA8c3VtbWFyeT4KKyAgICAgICAgLy8vIFNlbmQgYSBtZXNzYWdlCisgICAgICAgIC8vLyA8L3N1bW1hcnk+CisgICAgICAgIC8vLyA8cGFyYW0gbmFtZT0ibWV0aG9kIj48L3BhcmFtPgorICAgICAgICAvLy8gPHBhcmFtIG5hbWU9InVybCI+PC9wYXJhbT4KKyAgICAgICAgLy8vIDxwYXJhbSBuYW1lPSJvYmoiPjwvcGFyYW0+CisgICAgICAgIC8vLyA8cGFyYW0gbmFtZT0idXNlTWFuYWdlbWVudFVybCI+PC9wYXJhbT4KKyAgICAgICAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz4KKyAgICAgICAgVGFzazxFbnRpdHlSZXNwb25zZT4gU2VuZEFzeW5jKEh0dHBNZXRob2QgbWV0aG9kLCBzdHJpbmcgdXJsLCBvYmplY3Qgb2JqLCBib29sIHVzZU1hbmFnZW1lbnRVcmwpOworICAgICAgICAvLy8gPHN1bW1hcnk+CisgICAgICAgIC8vLyBSZWZlcmVuY2UgdGhlIHB1c2ggY2xpZW50LCB5b3Ugc2hvdWxkIGNhbGwgcmVnaXN0ZXIgYmVmb3JlIHVzaW5nCisgICAgICAgIC8vLyA8L3N1bW1hcnk+CisgICAgICAgIElQdXNoQ2xpZW50IFB1c2ggeyBnZXQ7IH0KKworICAgICAgICBFeGNlcHRpb24gTGFzdEV4Y2VwdGlvbiB7IGdldDsgfQorCisgICAgfQorCisgICAgLy8vIDxzdW1tYXJ5PgorICAgIC8vLyBPbmx5IHNob3cgaHR0cCBjYWxscworICAgIC8vLyA8L3N1bW1hcnk+CisgICAgcHVibGljIGludGVyZmFjZSBJVXNlcmdyaWRIdHRwQ2xpZW50CisgICAgeworICAgICAgICAvLy8gPHN1bW1hcnk+CisgICAgICAgIC8vLyBTZW5kIEh0dHAgY2FsbCBhc3luYworICAgICAgICAvLy8gPC9zdW1tYXJ5PgorICAgICAgICAvLy8gPHBhcmFtIG5hbWU9Im1ldGhvZCI+PC9wYXJhbT4KKyAgICAgICAgLy8vIDxwYXJhbSBuYW1lPSJ1cmwiPjwvcGFyYW0+CisgICAgICAgIC8vLyA8cGFyYW0gbmFtZT0ib2JqIj48L3BhcmFtPgorICAgICAgICAvLy8gPHBhcmFtIG5hbWU9InVzZU1hbmFnZW1lbnRVcmwiPnVzZSBtYW5hZ2VtZW50IGVuZHBvaW50PC9wYXJhbT4KKyAgICAgICAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz4KKyAgICAgICAgVGFzazxFbnRpdHlSZXNwb25zZT4gU2VuZEFzeW5jKEh0dHBNZXRob2QgbWV0aG9kLCBzdHJpbmcgdXJsLCBvYmplY3Qgb2JqLCBib29sIHVzZU1hbmFnZW1lbnRVcmwpOworICAgICAgICAvLy8gPHN1bW1hcnk+CisgICAgICAgIC8vLyBzZW5kIEh0dHAgY2FsbCBhc3luYworICAgICAgICAvLy8gPC9zdW1tYXJ5PgorICAgICAgICAvLy8gPHBhcmFtIG5hbWU9Im1ldGhvZCI+PC9wYXJhbT4KKyAgICAgICAgLy8vIDxwYXJhbSBuYW1lPSJ1cmwiPjwvcGFyYW0+CisgICAgICAgIC8vLyA8cGFyYW0gbmFtZT0ib2JqIj48L3BhcmFtPgorICAgICAgICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPgorICAgICAgICBUYXNrPEVudGl0eVJlc3BvbnNlPiBTZW5kQXN5bmMoSHR0cE1ldGhvZCBtZXRob2QsIHN0cmluZyB1cmwsIG9iamVjdCBvYmopOworICAgIH0KKworICAgIC8vLyA8c3VtbWFyeT4KKyAgICAvLy8gUHVzaCBjbGllbnQsIGNhbGwgcmVnaXN0ZXIKKyAgICAvLy8gPC9zdW1tYXJ5PgorICAgIHB1YmxpYyBpbnRlcmZhY2UgSVB1c2hDbGllbnQKKyAgICB7CisgICAgICAgIC8vLyA8c3VtbWFyeT4KKyAgICAgICAgLy8vIHRoZSBub3RpZmllciB5b3UgYXJlIGN1cnJlbnRseSB1c2luZworICAgICAgICAvLy8gPC9zdW1tYXJ5PgorICAgICAgICBzdHJpbmcgTm90aWZpZXIgeyBnZXQ7IHNldDsgfQorICAgICAgICAKKyAgICAgICAgLy8vIDxzdW1tYXJ5PgorICAgICAgICAvLy8gRGV2aWNlIGlkIGluIHVzZXJncmlkCisgICAgICAgIC8vLyA8L3N1bW1hcnk+CisgICAgICAgIEd1aWQgRGV2aWNlSWQgeyBnZXQ7IHNldDsgfQorICAgICAgICAvLy8gPHN1bW1hcnk+CisgICAgICAgIC8vLyBzZW5kIGEgdG9hc3QKKyAgICAgICAgLy8vIDwvc3VtbWFyeT4KKyAgICAgICAgLy8vIDxwYXJhbSBuYW1lPSJtZXNzYWdlIj48L3BhcmFtPgorICAgICAgICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPgorICAgICAgICBUYXNrPGJvb2w+IFNlbmRUb2FzdChzdHJpbmcgbWVzc2FnZSk7CisgICAgICAgIFRhc2s8Ym9vbD4gU2VuZFJhdyhzdHJpbmcgbWVzc2FnZSk7CisgICAgICAgIC8vLyA8c3VtbWFyeT4KKyAgICAgICAgLy8vIFNlbmQgYSBiYWRnZSB1cGRhdGUKKyAgICAgICAgLy8vIDwvc3VtbWFyeT4KKyAgICAgICAgLy8vIDxwYXJhbSBuYW1lPSJtZXNzYWdlIj48L3BhcmFtPgorICAgICAgICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPgorICAgICAgICBUYXNrPGJvb2w+IFNlbmRCYWRnZTxUPihUIG1lc3NhZ2UpOworCisgICAgICAgIEV4Y2VwdGlvbiBMYXN0RXhjZXB0aW9uIHsgZ2V0OyB9CisKKyAgICB9CisKK30KZGlmZiAtLWdpdCBhL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL0NsaWVudC9QdXNoQ2xpZW50LmNzIGIvc2FtcGxlcy9ub3RpZmljYXRpb25zL1VzZXJncmlkLk5vdGlmaWNhdGlvbnMvQ2xpZW50L1B1c2hDbGllbnQuY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2NjYjM5MQotLS0gL2Rldi9udWxsCisrKyBiL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL0NsaWVudC9QdXNoQ2xpZW50LmNzCkBAIC0wLDAgKzEsMTg1IEBACivvu78vKgorICoKKyAqICAqIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorICogICogIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdQorICogICogdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90CisgKiAgKiB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiAgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqICAqCisgKiAgKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKiAgKgorICogICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqICAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuICBGb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcKKyAqICAqIGNvcHlyaWdodCBpbiB0aGlzIHdvcmssIHBsZWFzZSBzZWUgdGhlIE5PVElDRSBmaWxlIGluIHRoZSB0b3AgbGV2ZWwKKyAqICAqIGRpcmVjdG9yeSBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4KKyAqCisgKi8KK3VzaW5nIE5ld3RvbnNvZnQuSnNvbi5MaW5xOwordXNpbmcgU3lzdGVtOwordXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7Cit1c2luZyBTeXN0ZW0uTGlucTsKK3VzaW5nIFN5c3RlbS5OZXQuSHR0cDsKK3VzaW5nIFN5c3RlbS5UZXh0OwordXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKK3VzaW5nIFdpbmRvd3MuTmV0d29ya2luZy5QdXNoTm90aWZpY2F0aW9uczsKK3VzaW5nIFdpbmRvd3MuU3RvcmFnZTsKKworbmFtZXNwYWNlIFVzZXJncmlkLk5vdGlmaWNhdGlvbnMuQ2xpZW50Cit7CisgICAgcHVibGljIGNsYXNzIFB1c2hDbGllbnQgOiBJUHVzaENsaWVudAorICAgIHsKKyAgICAgICAgY29uc3Qgc3RyaW5nIERFVklDRV9LRVkgPSAiY3VycmVudERldmljZUlkIjsKKyAgICAgICAgcHJpdmF0ZSBJVXNlcmdyaWRIdHRwQ2xpZW50IHVzZXJncmlkOworICAgICAgICBwcml2YXRlIEFwcGxpY2F0aW9uRGF0YUNvbnRhaW5lciBzZXR0aW5nczsKKyAgICAgICAgcHJpdmF0ZSBQdXNoTm90aWZpY2F0aW9uQ2hhbm5lbCBjaGFubmVsOworICAgICAgICBwcml2YXRlIHN0cmluZyB1c2VySWQ7CisKKyAgICAgICAgcHVibGljIFB1c2hDbGllbnQoSVVzZXJncmlkSHR0cENsaWVudCB1c2VyZ3JpZCxzdHJpbmcgdXNlcklkLCBzdHJpbmcgbm90aWZpZXIpCisgICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMudXNlcmdyaWQgPSB1c2VyZ3JpZDsKKyAgICAgICAgICAgIHRoaXMuc2V0dGluZ3MgPSBBcHBsaWNhdGlvbkRhdGEuQ3VycmVudC5Mb2NhbFNldHRpbmdzOworICAgICAgICAgICAgdGhpcy5Ob3RpZmllciA9IG5vdGlmaWVyOworICAgICAgICAgICAgdGhpcy51c2VySWQgPSB1c2VySWQ7CisgICAgICAgICAgICB0aGlzLmluaXQoKS5Db250aW51ZVdpdGgodCA9PgorICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgIExhc3RFeGNlcHRpb24gPSB0LkV4Y2VwdGlvbjsKKyAgICAgICAgICAgICAgICAgIH0gIAorICAgICAgICAgICAgICAgICk7CisgICAgICAgIH0KKworCisgICAgICAgIHB1YmxpYyBhc3luYyBUYXNrPGJvb2w+IFNlbmRUb2FzdChzdHJpbmcgbWVzc2FnZSkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKERldmljZUlkID09IG51bGwpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigiUGxlYXNlIGNhbGwgUHVzaENsaWVudC5SZWdpc3RlckRldmljZSBmaXJzdC4iKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHZhciBqc29uT2JqZWN0ID0gbmV3IEpPYmplY3QoKTsKKyAgICAgICAgICAgIHZhciBwYXlsb2FkcyA9IG5ldyBKT2JqZWN0KCk7CisgICAgICAgICAgICB2YXIgcGF5bG9hZCA9IG5ldyBKT2JqZWN0KCk7CisgICAgICAgICAgICBwYXlsb2FkLkFkZCgidG9hc3QiLCBuZXcgSlZhbHVlKG1lc3NhZ2UpKTsKKyAgICAgICAgICAgIHBheWxvYWRzLkFkZChOb3RpZmllciwgcGF5bG9hZCk7CisgICAgICAgICAgICBqc29uT2JqZWN0LkFkZCgicGF5bG9hZHMiLCBwYXlsb2Fkcyk7CisgICAgICAgICAgICBqc29uT2JqZWN0LkFkZCgiZGVidWciLCB0cnVlKTsKKyAgICAgICAgICAgIHZhciBqc29uUmVzcG9uc2UgPSBhd2FpdCB1c2VyZ3JpZC5TZW5kQXN5bmMoSHR0cE1ldGhvZC5Qb3N0LCBTdHJpbmcuRm9ybWF0KCJ1c2Vycy97MX0vZGV2aWNlcy97MH0vbm90aWZpY2F0aW9ucyIsIHRoaXMuRGV2aWNlSWQsdXNlcklkKSwganNvbk9iamVjdCk7CisgICAgICAgICAgICByZXR1cm4ganNvblJlc3BvbnNlLlN0YXR1c0lzT2s7CisgICAgICAgIH0KKworICAgICAgICBwdWJsaWMgYXN5bmMgVGFzazxib29sPiBTZW5kQmFkZ2U8VD4oVCBtZXNzYWdlKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoRGV2aWNlSWQgPT0gbnVsbCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCJQbGVhc2UgY2FsbCBQdXNoQ2xpZW50LlJlZ2lzdGVyRGV2aWNlIGZpcnN0LiIpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdmFyIGpzb25PYmplY3QgPSBuZXcgSk9iamVjdCgpOworICAgICAgICAgICAgdmFyIHBheWxvYWRzID0gbmV3IEpPYmplY3QoKTsKKyAgICAgICAgICAgIHZhciBwYXlsb2FkID0gbmV3IEpPYmplY3QoKTsKKyAgICAgICAgICAgIHBheWxvYWQuQWRkKCJiYWRnZSIsIG5ldyBKVmFsdWUobWVzc2FnZSkpOworICAgICAgICAgICAgcGF5bG9hZHMuQWRkKE5vdGlmaWVyLCBwYXlsb2FkKTsKKyAgICAgICAgICAgIGpzb25PYmplY3QuQWRkKCJwYXlsb2FkcyIsIHBheWxvYWRzKTsKKyAgICAgICAgICAgIGpzb25PYmplY3QuQWRkKCJkZWJ1ZyIsIHRydWUpOworICAgICAgICAgICAgdmFyIGpzb25SZXNwb25zZSA9IGF3YWl0IHVzZXJncmlkLlNlbmRBc3luYyhIdHRwTWV0aG9kLlBvc3QsIFN0cmluZy5Gb3JtYXQoInVzZXJzL3sxfS9kZXZpY2VzL3swfS9ub3RpZmljYXRpb25zIiwgdGhpcy5EZXZpY2VJZCx1c2VySWQpLCBqc29uT2JqZWN0KTsKKyAgICAgICAgICAgIHJldHVybiBqc29uUmVzcG9uc2UuU3RhdHVzSXNPazsKKyAgICAgICAgfQorCisKKyAgICAgICAgcHVibGljIGFzeW5jIFRhc2s8Ym9vbD4gU2VuZFJhdyhzdHJpbmcgbWVzc2FnZSkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKERldmljZUlkID09IG51bGwpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigiUGxlYXNlIGNhbGwgUHVzaENsaWVudC5SZWdpc3RlckRldmljZSBmaXJzdC4iKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHZhciBqc29uT2JqZWN0ID0gbmV3IEpPYmplY3QoKTsKKyAgICAgICAgICAgIHZhciBwYXlsb2FkcyA9IG5ldyBKT2JqZWN0KCk7CisgICAgICAgICAgICB2YXIgcGF5bG9hZCA9IG5ldyBKT2JqZWN0KCk7CisgICAgICAgICAgICBwYXlsb2FkLkFkZCgicmF3IiwgbWVzc2FnZSk7CisgICAgICAgICAgICBwYXlsb2Fkcy5BZGQoTm90aWZpZXIsIHBheWxvYWQpOworICAgICAgICAgICAganNvbk9iamVjdC5BZGQoInBheWxvYWRzIiwgcGF5bG9hZHMpOworICAgICAgICAgICAganNvbk9iamVjdC5BZGQoImRlYnVnIiwgdHJ1ZSk7CisgICAgICAgICAgICB2YXIganNvblJlc3BvbnNlID0gYXdhaXQgdXNlcmdyaWQuU2VuZEFzeW5jKEh0dHBNZXRob2QuUG9zdCwgU3RyaW5nLkZvcm1hdCgidXNlcnMvezF9L2RldmljZXMvezB9L25vdGlmaWNhdGlvbnMiLCB0aGlzLkRldmljZUlkLCB1c2VySWQpLCBqc29uT2JqZWN0KTsKKyAgICAgICAgICAgIHJldHVybiBqc29uUmVzcG9uc2UuU3RhdHVzSXNPazsKKyAgICAgICAgfQorCisgICAgICAgIHByaXZhdGUgYXN5bmMgVGFzayBpbml0KCkKKyAgICAgICAgeworICAgICAgICAgICAgY2hhbm5lbCA9IGF3YWl0IFB1c2hOb3RpZmljYXRpb25DaGFubmVsTWFuYWdlci5DcmVhdGVQdXNoTm90aWZpY2F0aW9uQ2hhbm5lbEZvckFwcGxpY2F0aW9uQXN5bmMoKS5Bc1Rhc2s8UHVzaE5vdGlmaWNhdGlvbkNoYW5uZWw+KCk7CisgICAgICAgICAgICBjaGFubmVsLlB1c2hOb3RpZmljYXRpb25SZWNlaXZlZCArPSBjaGFubmVsX1B1c2hOb3RpZmljYXRpb25SZWNlaXZlZDsKKyAgICAgICAgICAgIEV4YW1wbGVCYWNrZ3JvdW5kVGFzay5SZWdpc3RlcigpOworCisgICAgICAgICAgICBpZiAoc2V0dGluZ3MuVmFsdWVzW0RFVklDRV9LRVldID09IG51bGwpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgR3VpZCB1dWlkID0gYXdhaXQgcmVnaXN0ZXJEZXZpY2UodHJ1ZSk7CisgICAgICAgICAgICAgICAgc2V0dGluZ3MuVmFsdWVzLkFkZChERVZJQ0VfS0VZLCB1dWlkKTsKKyAgICAgICAgICAgICAgICB0aGlzLkRldmljZUlkID0gdXVpZDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBvYmplY3QgdGVtcElkOworICAgICAgICAgICAgICAgIHNldHRpbmdzLlZhbHVlcy5UcnlHZXRWYWx1ZShERVZJQ0VfS0VZLCBvdXQgdGVtcElkKTsKKyAgICAgICAgICAgICAgICB0aGlzLkRldmljZUlkID0gR3VpZC5QYXJzZSh0ZW1wSWQuVG9TdHJpbmcoKSk7CisgICAgICAgICAgICAgICAgdmFyIGRldmljZSA9IGF3YWl0IEdldERldmljZShEZXZpY2VJZCk7CisgICAgICAgICAgICAgICAgaWYgKGRldmljZSA9PSBudWxsKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgR3VpZCB1dWlkID0gYXdhaXQgcmVnaXN0ZXJEZXZpY2UodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgIHNldHRpbmdzLlZhbHVlc1tERVZJQ0VfS0VZXSA9IHV1aWQ7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuRGV2aWNlSWQgPSB1dWlkOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBhd2FpdCByZWdpc3RlckRldmljZShmYWxzZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgdm9pZCBjaGFubmVsX1B1c2hOb3RpZmljYXRpb25SZWNlaXZlZChQdXNoTm90aWZpY2F0aW9uQ2hhbm5lbCBzZW5kZXIsIFB1c2hOb3RpZmljYXRpb25SZWNlaXZlZEV2ZW50QXJncyBhcmdzKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgdGVzdCA9ICJ0ZXN0IjsKKyAgICAgICAgICAgIGlmIChhcmdzLk5vdGlmaWNhdGlvblR5cGUgPT0gUHVzaE5vdGlmaWNhdGlvblR5cGUuUmF3KQorICAgICAgICAgICAgeworCisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgIAorICAgICAgICBwcml2YXRlIGFzeW5jIFRhc2s8SlRva2VuPiBHZXREZXZpY2UoR3VpZCBkZXZpY2VJZCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIGpzb25SZXNwb25zZSA9IGF3YWl0IHVzZXJncmlkLlNlbmRBc3luYyhIdHRwTWV0aG9kLkdldCwgInVzZXJzLyIrdXNlcklkKyIvZGV2aWNlcy8iICsgZGV2aWNlSWQsIG51bGwpOworCisgICAgICAgICAgICBpZiAoanNvblJlc3BvbnNlLlN0YXR1c0lzT2spCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdmFyIGJvZHkgPSBqc29uUmVzcG9uc2UuR2V0VmFsdWUoImVudGl0aWVzIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIGJvZHkgIT0gbnVsbCAmJiAgYm9keS5WYWx1ZTxKQXJyYXk+KCkuQ291bnQgPiAwID8gYm9keS5WYWx1ZTxKQXJyYXk+KClbMF0gOiBudWxsOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSB7IHJldHVybiBudWxsOyB9CisgICAgICAgIH0KKworICAgICAgICBwcml2YXRlIGFzeW5jIFRhc2s8R3VpZD4gcmVnaXN0ZXJEZXZpY2UoYm9vbCBpc05ldykKKyAgICAgICAgeworICAgICAgICAgICAgSk9iamVjdCBvYmogPSBuZXcgSk9iamVjdCgpOworICAgICAgICAgICAgb2JqLkFkZChOb3RpZmllciArICIubm90aWZpZXIuaWQiLCBuZXcgSlZhbHVlKGNoYW5uZWwuVXJpKSk7CisgICAgICAgICAgICB2YXIganNvblJlc3BvbnNlID0gYXdhaXQgdXNlcmdyaWQuU2VuZEFzeW5jKAorICAgICAgICAgICAgICAgIChpc05ldyA/IEh0dHBNZXRob2QuUG9zdCA6IEh0dHBNZXRob2QuUHV0KSwgCisgICAgICAgICAgICAgICAgInVzZXJzLyIrdXNlcklkKyIvZGV2aWNlcy8iICsgICAoaXNOZXcgPyAiIiA6IHRoaXMuRGV2aWNlSWQuVG9TdHJpbmcoKSksIAorICAgICAgICAgICAgICAgIG9iagorICAgICAgICAgICAgICAgICk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmIChqc29uUmVzcG9uc2UuU3RhdHVzSXNPaykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB2YXIgZW50aXR5ID0ganNvblJlc3BvbnNlLkdldFZhbHVlKCJlbnRpdGllcyIpLlZhbHVlPEpBcnJheT4oKVswXTsKKyAgICAgICAgICAgICAgICB2YXIgdXVpZCA9IEd1aWQuUGFyc2UoZW50aXR5LlZhbHVlPFN0cmluZz4oInV1aWQiKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHV1aWQ7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIHsgCisgICAgICAgICAgICAgICAgcmV0dXJuIEd1aWQuRW1wdHk7IAorICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgcHVibGljIHN0cmluZyBOb3RpZmllciB7IGdldDsgc2V0OyB9CisgICAgICAgIHB1YmxpYyBHdWlkIERldmljZUlkIHsgZ2V0OyBzZXQ7IH0KKyAgICAgICAgcHVibGljIEV4Y2VwdGlvbiBMYXN0RXhjZXB0aW9uIHsgZ2V0OyBzZXQ7IH0KKworICAgIH0KK30KZGlmZiAtLWdpdCBhL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL0NsaWVudC9Vc2VyZ3JpZC5jcyBiL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL0NsaWVudC9Vc2VyZ3JpZC5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NzdlYjhiCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9ub3RpZmljYXRpb25zL1VzZXJncmlkLk5vdGlmaWNhdGlvbnMvQ2xpZW50L1VzZXJncmlkLmNzCkBAIC0wLDAgKzEsMTIyIEBACivvu78vKgorICoKKyAqICAqIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorICogICogIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdQorICogICogdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90CisgKiAgKiB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiAgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqICAqCisgKiAgKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKiAgKgorICogICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqICAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuICBGb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcKKyAqICAqIGNvcHlyaWdodCBpbiB0aGlzIHdvcmssIHBsZWFzZSBzZWUgdGhlIE5PVElDRSBmaWxlIGluIHRoZSB0b3AgbGV2ZWwKKyAqICAqIGRpcmVjdG9yeSBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4KKyAqCisgKi8KKwordXNpbmcgU3lzdGVtOwordXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKK3VzaW5nIFN5c3RlbS5OZXQ7Cit1c2luZyBOZXd0b25zb2Z0Lkpzb24uTGlucTsKK3VzaW5nIE5ld3RvbnNvZnQuSnNvbjsKK3VzaW5nIFN5c3RlbS5OZXQuSHR0cDsKK3VzaW5nIFN5c3RlbS5OZXQuSHR0cC5IZWFkZXJzOworCituYW1lc3BhY2UgVXNlcmdyaWQuTm90aWZpY2F0aW9ucy5DbGllbnQKK3sKKyAKKyAgICAvLy8gPHN1bW1hcnk+CisgICAgLy8vIFVzZXJncmlkIGNsaWVudCAKKyAgICAvLy8gPC9zdW1tYXJ5PgorCisgICAgcHVibGljIGNsYXNzIFVzZXJncmlkIDogSVVzZXJncmlkSHR0cENsaWVudCwgSVVzZXJncmlkQ2xpZW50CisgICAgeworICAgICAgICBwcml2YXRlIHN0cmluZyBhcHBVcmw7CisgICAgICAgIHByaXZhdGUgc3RyaW5nIHRva2VuOworICAgICAgICBwcml2YXRlIEh0dHBDbGllbnQgY2xpZW50OworICAgICAgICBwcml2YXRlIElQdXNoQ2xpZW50IHB1c2g7CisgICAgICAgIHByaXZhdGUgc3RyaW5nIG1hbmFnZW1lbnRVcmw7CisKKyAgICAgICAgLy8vIDxzdW1tYXJ5PgorICAgICAgICAvLy8gQ29uc3RydWN0b3IKKyAgICAgICAgLy8vIDwvc3VtbWFyeT4KKyAgICAgICAgLy8vIDxwYXJhbSBuYW1lPSJzZXJ2ZXJVcmwiPjwvcGFyYW0+CisgICAgICAgIC8vLyA8cGFyYW0gbmFtZT0ib3JnIj48L3BhcmFtPgorICAgICAgICAvLy8gPHBhcmFtIG5hbWU9ImFwcCI+PC9wYXJhbT4KKyAgICAgICAgLy8vIDxwYXJhbSBuYW1lPSJjaGFubmVsIj48L3BhcmFtPgorICAgICAgICBpbnRlcm5hbCBVc2VyZ3JpZChzdHJpbmcgc2VydmVyVXJsLCBzdHJpbmcgb3JnLCBzdHJpbmcgYXBwLCBzdHJpbmcgdXNlcklkLCBzdHJpbmcgcGFzc3dvcmQsc3RyaW5nIG5vdGlmaWVyKQorICAgICAgICB7CisgICAgICAgICAgICBzdHJpbmcgc2VydmVyVXJsV2l0aFNsYXNoID0gc2VydmVyVXJsLkVuZHNXaXRoKCIvIiwgU3RyaW5nQ29tcGFyaXNvbi5DdXJyZW50Q3VsdHVyZSkgPyBzZXJ2ZXJVcmwgOiBzZXJ2ZXJVcmwgKyAiLyI7CisgICAgICAgICAgICB0aGlzLmFwcFVybCA9IFN0cmluZy5Gb3JtYXQoInswfXsxfS97Mn0vIiwgc2VydmVyVXJsV2l0aFNsYXNoLCBvcmcsIGFwcCk7CisgICAgICAgICAgICB0aGlzLm1hbmFnZW1lbnRVcmwgPSBzZXJ2ZXJVcmxXaXRoU2xhc2ggKyAibWFuYWdlbWVudC8iOworICAgICAgICAgICAgdGhpcy5jbGllbnQgPSBuZXcgSHR0cENsaWVudCgpOworICAgICAgICAgICAgQXV0aGVudGljYXRlKHVzZXJJZCwgcGFzc3dvcmQsIGZhbHNlKS5Db250aW51ZVdpdGgodGFzayA9PiB7CisgICAgICAgICAgICAgICAgdGhpcy5wdXNoID0gbmV3IFB1c2hDbGllbnQodGhpcywgdXNlcklkLCBub3RpZmllcik7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyBhc3luYyBUYXNrIEF1dGhlbnRpY2F0ZShzdHJpbmcgdXNlciwgc3RyaW5nIHBhc3N3b3JkLCBib29sIGlzTWFuYWdlbWVudCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIGpzb25PYmplY3QgPSBuZXcgSk9iamVjdCgpOworICAgICAgICAgICAganNvbk9iamVjdC5BZGQoInVzZXJuYW1lIiwgdXNlcik7CisgICAgICAgICAgICBqc29uT2JqZWN0LkFkZCgicGFzc3dvcmQiLCBwYXNzd29yZCk7CisgICAgICAgICAgICBqc29uT2JqZWN0LkFkZCgiZ3JhbnRfdHlwZSIsICJwYXNzd29yZCIpOworICAgICAgICAgICAKKyAgICAgICAgICAgIHZhciByZXNwb25zZSA9IGF3YWl0IFNlbmRBc3luYyhIdHRwTWV0aG9kLlBvc3QsInRva2VuIiwganNvbk9iamVjdCwgaXNNYW5hZ2VtZW50KTsKKworICAgICAgICAgICAgaWYgKHJlc3BvbnNlLlN0YXR1c0lzT2spCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGhpcy50b2tlbiA9IHJlc3BvbnNlLkdldFZhbHVlKCJhY2Nlc3NfdG9rZW4iKS5WYWx1ZTxTdHJpbmc+KCk7CisgICAgICAgICAgICAgICAgY2xpZW50LkRlZmF1bHRSZXF1ZXN0SGVhZGVycy5BZGQoIkF1dGhvcml6YXRpb24iLCAiQmVhcmVyICIrIHRva2VuKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCJBdXRoZW50aWNhdGlvbiBmYWlsZWQ6ICIrcmVzcG9uc2UuVG9TdHJpbmcoKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBwcml2YXRlIGFzeW5jIFRhc2s8RW50aXR5UmVzcG9uc2U+IEdldEpzb25SZXNwb25zZShIdHRwUmVzcG9uc2VNZXNzYWdlIHJlc3BvbnNlKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gIGF3YWl0IEVudGl0eVJlc3BvbnNlLlBhcnNlKHJlc3BvbnNlKTsKKyAgICAgICAgfQorCisgICAgICAgIHB1YmxpYyBhc3luYyBUYXNrPEVudGl0eVJlc3BvbnNlPiBTZW5kQXN5bmMoSHR0cE1ldGhvZCBtZXRob2QsIHN0cmluZyB1cmwsIG9iamVjdCBvYmopCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBhd2FpdCBTZW5kQXN5bmMobWV0aG9kLCB1cmwsIG9iaiwgZmFsc2UpOworICAgICAgICB9CisKKyAgICAgICAgcHVibGljIGFzeW5jIFRhc2s8RW50aXR5UmVzcG9uc2U+IFNlbmRBc3luYyhIdHRwTWV0aG9kIG1ldGhvZCwgc3RyaW5nIHVybCwgb2JqZWN0IG9iaiwgYm9vbCB1c2VNYW5hZ2VtZW50VXJsKQorICAgICAgICB7CisgICAgICAgICAgICBIdHRwUmVxdWVzdE1lc3NhZ2UgbWVzc2FnZSA9IG5ldyBIdHRwUmVxdWVzdE1lc3NhZ2UobWV0aG9kLCAodXNlTWFuYWdlbWVudFVybCA/IHRoaXMubWFuYWdlbWVudFVybCA6IHRoaXMuYXBwVXJsKSArIHVybCk7CisgICAgICAgICAgICBpZiAob2JqICE9IG51bGwpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgbWVzc2FnZS5Db250ZW50ID0gZ2V0SnNvbkJvZHkob2JqKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIG1lc3NhZ2UuSGVhZGVycy5BY2NlcHQuQWRkKG5ldyBNZWRpYVR5cGVXaXRoUXVhbGl0eUhlYWRlclZhbHVlKCAiYXBwbGljYXRpb24vanNvbiIpKTsKKyAgICAgICAgICAgIHZhciByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LlNlbmRBc3luYyhtZXNzYWdlKTsKKyAgICAgICAgICAgIHJldHVybiBhd2FpdCBFbnRpdHlSZXNwb25zZS5QYXJzZShyZXNwb25zZSk7CisgICAgICAgIH0KKyAgIAorICAgICAgICBwdWJsaWMgSVB1c2hDbGllbnQgUHVzaAorICAgICAgICB7CisgICAgICAgICAgICBnZXQgeyByZXR1cm4gcHVzaDsgfQorICAgICAgICB9CisKKyAgICAgICAgcHJpdmF0ZSBIdHRwQ29udGVudCBnZXRKc29uQm9keShPYmplY3QganNvbk9iamVjdCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIG5ldyBTdHJpbmdDb250ZW50KEpzb25Db252ZXJ0LlNlcmlhbGl6ZU9iamVjdChqc29uT2JqZWN0KSk7CisgICAgICAgIH0KKworCisgICAgICAgIHB1YmxpYyBFeGNlcHRpb24gTGFzdEV4Y2VwdGlvbgorICAgICAgICB7CisgICAgICAgICAgICBnZXQ7CisgICAgICAgICAgICBzZXQ7CisgICAgICAgIH0KKyAgICB9CisKK30KZGlmZiAtLWdpdCBhL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL01haW5QYWdlLnhhbWwgYi9zYW1wbGVzL25vdGlmaWNhdGlvbnMvVXNlcmdyaWQuTm90aWZpY2F0aW9ucy9NYWluUGFnZS54YW1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwNGViYTkKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL25vdGlmaWNhdGlvbnMvVXNlcmdyaWQuTm90aWZpY2F0aW9ucy9NYWluUGFnZS54YW1sCkBAIC0wLDAgKzEsMzkgQEAKK++7vzxQYWdlCisgICAgeDpDbGFzcz0iVXNlcmdyaWQuTm90aWZpY2F0aW9ucy5NYWluUGFnZSIKKyAgICB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aW5meC8yMDA2L3hhbWwvcHJlc2VudGF0aW9uIgorICAgIHhtbG5zOng9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2luZngvMjAwNi94YW1sIgorICAgIHhtbG5zOmxvY2FsPSJ1c2luZzpVc2VyZ3JpZC5Ob3RpZmljYXRpb25zIgorICAgIHhtbG5zOmQ9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZXhwcmVzc2lvbi9ibGVuZC8yMDA4IgorICAgIHhtbG5zOm1jPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvbWFya3VwLWNvbXBhdGliaWxpdHkvMjAwNiIKKyAgICBtYzpJZ25vcmFibGU9ImQiCisgICAgQmFja2dyb3VuZD0ie1RoZW1lUmVzb3VyY2UgQXBwbGljYXRpb25QYWdlQmFja2dyb3VuZFRoZW1lQnJ1c2h9Ij4KKyAgPCEtLQorICAgIC8qCisgKgorICogICogTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgKiAgKiAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91CisgKiAgKiB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QKKyAqICAqIHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqICAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICogICoKKyAqICAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqICAqCisgKiAgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiAgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiAgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiAgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4gIEZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZworICogICogY29weXJpZ2h0IGluIHRoaXMgd29yaywgcGxlYXNlIHNlZSB0aGUgTk9USUNFIGZpbGUgaW4gdGhlIHRvcCBsZXZlbAorICogICogZGlyZWN0b3J5IG9mIHRoaXMgZGlzdHJpYnV0aW9uLgorICoKKyAqLworICAgIC0tPgorICAgIDxHcmlkPgorICAgICAgICA8VGV4dEJveCB4Ok5hbWU9InB1c2hUZXh0IiBIb3Jpem9udGFsQWxpZ25tZW50PSJMZWZ0IiBNYXJnaW49IjQ2LDEwLDAsMCIgVGV4dFdyYXBwaW5nPSJXcmFwIiBUZXh0PSJQdXNoIFRleHQiIFZlcnRpY2FsQWxpZ25tZW50PSJUb3AiIFdpZHRoPSIyNjEiIFRleHRDaGFuZ2VkPSJwdXNoVGV4dF9UZXh0Q2hhbmdlZCIvPgorICAgICAgICA8QnV0dG9uIHg6TmFtZT0iU2VuZFRvYXN0IiAgQ29udGVudD0iVG9hc3QiIEhvcml6b250YWxBbGlnbm1lbnQ9IkxlZnQiIE1hcmdpbj0iMTE0LDg4LDAsMCIgVmVydGljYWxBbGlnbm1lbnQ9IlRvcCIgQ2xpY2s9IkJ1dHRvbl9DbGljayIgV2lkdGg9IjM5Ii8+CisgICAgICAgIDxCdXR0b24geDpOYW1lPSJCYWRnZSIgQ29udGVudD0iQmFkZ2UiIEhvcml6b250YWxBbGlnbm1lbnQ9IkxlZnQiIE1hcmdpbj0iMTE0LDE1NywwLDAiIFZlcnRpY2FsQWxpZ25tZW50PSJUb3AiIENsaWNrPSJCYWRnZV9DbGljayIvPgorICAgICAgICA8VGV4dEJsb2NrIHg6TmFtZT0iUmVzdWx0IiBIb3Jpem9udGFsQWxpZ25tZW50PSJMZWZ0IiBNYXJnaW49IjQ2LDI5NSwwLDAiIFRleHRXcmFwcGluZz0iV3JhcCIgVGV4dD0iRGlkIGl0IHdvcms/ICIgVmVydGljYWxBbGlnbm1lbnQ9IlRvcCIgSGVpZ2h0PSI0OSIgV2lkdGg9IjI2MSIgRm9udFNpemU9IjI1IiBTZWxlY3Rpb25DaGFuZ2VkPSJSZXN1bHRfU2VsZWN0aW9uQ2hhbmdlZCIvPgorICAgICAgICA8QnV0dG9uIENvbnRlbnQ9IlJhdyIgSG9yaXpvbnRhbEFsaWdubWVudD0iTGVmdCIgTWFyZ2luPSIxMTQsMjIzLDAsMCIgVmVydGljYWxBbGlnbm1lbnQ9IlRvcCIgQ2xpY2s9IkJ1dHRvbl9DbGlja18xIi8+CisKKyAgICA8L0dyaWQ+Cis8L1BhZ2U+CmRpZmYgLS1naXQgYS9zYW1wbGVzL25vdGlmaWNhdGlvbnMvVXNlcmdyaWQuTm90aWZpY2F0aW9ucy9NYWluUGFnZS54YW1sLmNzIGIvc2FtcGxlcy9ub3RpZmljYXRpb25zL1VzZXJncmlkLk5vdGlmaWNhdGlvbnMvTWFpblBhZ2UueGFtbC5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNjI1Mjg5Ci0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9ub3RpZmljYXRpb25zL1VzZXJncmlkLk5vdGlmaWNhdGlvbnMvTWFpblBhZ2UueGFtbC5jcwpAQCAtMCwwICsxLDE0MyBAQAor77u/dXNpbmcgTmV3dG9uc29mdC5Kc29uLkxpbnE7CisvKgorICoKKyAqICAqIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorICogICogIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdQorICogICogdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90CisgKiAgKiB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiAgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqICAqCisgKiAgKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKiAgKgorICogICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqICAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuICBGb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcKKyAqICAqIGNvcHlyaWdodCBpbiB0aGlzIHdvcmssIHBsZWFzZSBzZWUgdGhlIE5PVElDRSBmaWxlIGluIHRoZSB0b3AgbGV2ZWwKKyAqICAqIGRpcmVjdG9yeSBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4KKyAqCisgKi8KK3VzaW5nIFN5c3RlbTsKK3VzaW5nIFN5c3RlbS5UaHJlYWRpbmcuVGFza3M7Cit1c2luZyBVc2VyZ3JpZC5Ob3RpZmljYXRpb25zLkNsaWVudDsKK3VzaW5nIFdpbmRvd3MuVUkuWGFtbDsKK3VzaW5nIFdpbmRvd3MuVUkuWGFtbC5Db250cm9sczsKK3VzaW5nIFdpbmRvd3MuVUkuWGFtbC5OYXZpZ2F0aW9uOworCisvLyBUaGUgQmxhbmsgUGFnZSBpdGVtIHRlbXBsYXRlIGlzIGRvY3VtZW50ZWQgYXQgaHR0cDovL2dvLm1pY3Jvc29mdC5jb20vZndsaW5rLz9MaW5rSWQ9MzkxNjQxCisKK25hbWVzcGFjZSBVc2VyZ3JpZC5Ob3RpZmljYXRpb25zCit7CisgICAgLy8vIDxzdW1tYXJ5PgorICAgIC8vLyBBbiBlbXB0eSBwYWdlIHRoYXQgY2FuIGJlIHVzZWQgb24gaXRzIG93biBvciBuYXZpZ2F0ZWQgdG8gd2l0aGluIGEgRnJhbWUuCisgICAgLy8vIDwvc3VtbWFyeT4KKyAgICBwdWJsaWMgc2VhbGVkIHBhcnRpYWwgY2xhc3MgTWFpblBhZ2UgOiBQYWdlCisgICAgeworICAgICAgICBwcml2YXRlIElVc2VyZ3JpZENsaWVudCB1c2VyZ3JpZDsKKyAgICAgICAgcHJpdmF0ZSBzdHJpbmcgc2VydmVyVXJsOworICAgICAgICBwcml2YXRlIHN0cmluZyBvcmc7CisgICAgICAgIHByaXZhdGUgc3RyaW5nIGFwcDsKKyAgICAgICAgcHJpdmF0ZSBzdHJpbmcgbm90aWZpZXI7CisgICAgICAgIHByaXZhdGUgc3RyaW5nIHVzZXI7CisgICAgICAgIHByaXZhdGUgc3RyaW5nIHBhc3N3b3JkOworICAgICAgICBwdWJsaWMgTWFpblBhZ2UoKQorICAgICAgICB7CisgICAgICAgICAgICB0aGlzLkluaXRpYWxpemVDb21wb25lbnQoKTsKKyAgICAgICAgICAgIC8vVE9ETzogY2hhbmdlIG1lIHRvIHlvdXIgc2VydmVyCisgICAgICAgICAgICBzZXJ2ZXJVcmwgPSAiaHR0cDovLzEwLjAuMS4yMDo4MDgwLyI7CisgICAgICAgICAgICAvL1RPRE86IGNoYW5nZSBtZSB0byB5b3VyIG9yZworICAgICAgICAgICAgb3JnID0gInRlc3Qtb3JnYW5pemF0aW9uIjsKKyAgICAgICAgICAgIC8vVE9ETzogY2hhbmdlIG1lIHRvIHlvdXIgYXBwCisgICAgICAgICAgICBhcHAgPSAidGVzdC1hcHAiOworICAgICAgICAgICAgLy9UT0RPOiBjaGFuZ2UgbWUgdG8geW91ciBub3RpZmllciBuYW1lCisgICAgICAgICAgICBub3RpZmllciA9ICJ3aW5kb3dzIjsKKyAgICAgICAgICAgIC8vVE9ETzogY2hhbmdlIG1lIHRvIHlvdXIgdXNlcgorICAgICAgICAgICAgdXNlciA9ICJtb2JpbGV1c2VyIjsKKyAgICAgICAgICAgIC8vVE9ETzogY2hhbmdlIG1lIHRvIHlvdXIgcGFzc3dvcmQKKyAgICAgICAgICAgIHBhc3N3b3JkID0gIlBAc3N3MHJkMSI7CisgICAgICAgICAgICB0aGlzLk5hdmlnYXRpb25DYWNoZU1vZGUgPSBOYXZpZ2F0aW9uQ2FjaGVNb2RlLlJlcXVpcmVkOworICAgICAgICAgICAgdXNlcmdyaWQgPSBuZXcgQ2xpZW50LlVzZXJncmlkKHNlcnZlclVybCwgb3JnLCBhcHAsIHVzZXIsIHBhc3N3b3JkLCBub3RpZmllcik7CisKKyAgICAgICAgfQorCisgICAgICAgIHByaXZhdGUgYXN5bmMgVGFzayBzZXR1cCgpCisgICAgICAgIHsKKyAgICAgICAgfQorCisgICAgICAgIC8vLyA8c3VtbWFyeT4KKyAgICAgICAgLy8vIEludm9rZWQgd2hlbiB0aGlzIHBhZ2UgaXMgYWJvdXQgdG8gYmUgZGlzcGxheWVkIGluIGEgRnJhbWUuCisgICAgICAgIC8vLyA8L3N1bW1hcnk+CisgICAgICAgIC8vLyA8cGFyYW0gbmFtZT0iZSI+RXZlbnQgZGF0YSB0aGF0IGRlc2NyaWJlcyBob3cgdGhpcyBwYWdlIHdhcyByZWFjaGVkLgorICAgICAgICAvLy8gVGhpcyBwYXJhbWV0ZXIgaXMgdHlwaWNhbGx5IHVzZWQgdG8gY29uZmlndXJlIHRoZSBwYWdlLjwvcGFyYW0+CisgICAgICAgIHByb3RlY3RlZCBvdmVycmlkZSB2b2lkIE9uTmF2aWdhdGVkVG8oTmF2aWdhdGlvbkV2ZW50QXJncyBlKQorICAgICAgICB7CisgICAgICAgICAgICAvLyBUT0RPOiBQcmVwYXJlIHBhZ2UgZm9yIGRpc3BsYXkgaGVyZS4KKworICAgICAgICAgICAgLy8gVE9ETzogSWYgeW91ciBhcHBsaWNhdGlvbiBjb250YWlucyBtdWx0aXBsZSBwYWdlcywgZW5zdXJlIHRoYXQgeW91IGFyZQorICAgICAgICAgICAgLy8gaGFuZGxpbmcgdGhlIGhhcmR3YXJlIEJhY2sgYnV0dG9uIGJ5IHJlZ2lzdGVyaW5nIGZvciB0aGUKKyAgICAgICAgICAgIC8vIFdpbmRvd3MuUGhvbmUuVUkuSW5wdXQuSGFyZHdhcmVCdXR0b25zLkJhY2tQcmVzc2VkIGV2ZW50LgorICAgICAgICAgICAgLy8gSWYgeW91IGFyZSB1c2luZyB0aGUgTmF2aWdhdGlvbkhlbHBlciBwcm92aWRlZCBieSBzb21lIHRlbXBsYXRlcywKKyAgICAgICAgICAgIC8vIHRoaXMgZXZlbnQgaXMgaGFuZGxlZCBmb3IgeW91LgorICAgICAgICB9CisKKyAgICAgICAgcHJpdmF0ZSB2b2lkIHB1c2hUZXh0X1RleHRDaGFuZ2VkKG9iamVjdCBzZW5kZXIsIFRleHRDaGFuZ2VkRXZlbnRBcmdzIGUpCisgICAgICAgIHsKKworICAgICAgICB9CisKKyAgICAgICAgcHJpdmF0ZSBhc3luYyB2b2lkIEJ1dHRvbl9DbGljayhvYmplY3Qgc2VuZGVyLCBSb3V0ZWRFdmVudEFyZ3MgZSkKKyAgICAgICAgeworICAgICAgICAgICAgUmVzdWx0LlRleHQgPSAiU2VuZGluZy4uLi4iOworCisgICAgICAgICAgICB2YXIgbWVzc2FnZSA9IHRoaXMucHVzaFRleHQuVGV4dDsKKyAgICAgICAgICAgIGlmIChhd2FpdCB1c2VyZ3JpZC5QdXNoLlNlbmRUb2FzdChtZXNzYWdlKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBSZXN1bHQuVGV4dCA9ICJJdCBkaWQhIDopIjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBSZXN1bHQuVGV4dCA9ICJJdCBkaWQgbm90ISA6KCI7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBwcml2YXRlIGFzeW5jIHZvaWQgQmFkZ2VfQ2xpY2sob2JqZWN0IHNlbmRlciwgUm91dGVkRXZlbnRBcmdzIGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIFJlc3VsdC5UZXh0ID0gIlNlbmRpbmcuLi4uIjsKKworICAgICAgICAgICAgaWYgKGF3YWl0IHVzZXJncmlkLlB1c2guU2VuZEJhZGdlPGludD4obmV3IFJhbmRvbSgpLk5leHQoMSwxMDApKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBSZXN1bHQuVGV4dCA9ICJJdCBkaWQhIDopIjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBSZXN1bHQuVGV4dCA9ICJJdCBkaWQgbm90ISA6KCI7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBwcml2YXRlIHZvaWQgUmVzdWx0X1NlbGVjdGlvbkNoYW5nZWQob2JqZWN0IHNlbmRlciwgUm91dGVkRXZlbnRBcmdzIGUpCisgICAgICAgIHsKKworICAgICAgICB9CisKKyAgICAgICAgcHVibGljIEFnZ3JlZ2F0ZUV4Y2VwdGlvbiBMYXN0RXhjZXB0aW9uIHsgZ2V0OyBzZXQ7IH0KKworICAgICAgICBwcml2YXRlIGFzeW5jIHZvaWQgQnV0dG9uX0NsaWNrXzEob2JqZWN0IHNlbmRlciwgUm91dGVkRXZlbnRBcmdzIGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIFJlc3VsdC5UZXh0ID0gIlNlbmRpbmcuLi4uIjsKKworICAgICAgICAgICAgdmFyIG1lc3NhZ2UgPSB0aGlzLnB1c2hUZXh0LlRleHQ7CisKKyAgICAgICAgICAgIEpPYmplY3Qgb2JqID0gbmV3IEpPYmplY3QoKTsKKyAgICAgICAgICAgIG9iai5BZGQoIm1lc3NhZ2UiLCBtZXNzYWdlKTsKKyAgICAgICAgICAgIGlmIChhd2FpdCB1c2VyZ3JpZC5QdXNoLlNlbmRSYXcobWVzc2FnZSkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgUmVzdWx0LlRleHQgPSAiSXQgZGlkISA6KSI7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgUmVzdWx0LlRleHQgPSAiSXQgZGlkIG5vdCEgOigiOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9ub3RpZmljYXRpb25zL1VzZXJncmlkLk5vdGlmaWNhdGlvbnMvTXlCYWNrZ3JvdW5kVGFzay5jcyBiL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL015QmFja2dyb3VuZFRhc2suY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWQ4YTQ0NgotLS0gL2Rldi9udWxsCisrKyBiL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL015QmFja2dyb3VuZFRhc2suY3MKQEAgLTAsMCArMSwxOCBAQAor77u/dXNpbmcgU3lzdGVtOwordXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7Cit1c2luZyBTeXN0ZW0uTGlucTsKK3VzaW5nIFN5c3RlbS5UZXh0OwordXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKK3VzaW5nIFdpbmRvd3MuQXBwbGljYXRpb25Nb2RlbC5CYWNrZ3JvdW5kOworCituYW1lc3BhY2UgVXNlcmdyaWQuTm90aWZpY2F0aW9ucworeworCisgICAgcHVibGljIHNlYWxlZCBjbGFzcyBFeGFtcGxlQmFja2dyb3VuZFRhc2sgOiBJQmFja2dyb3VuZFRhc2sKKyAgICB7CisgICAgICAgIHB1YmxpYyB2b2lkIFJ1bihJQmFja2dyb3VuZFRhc2tJbnN0YW5jZSB0YXNrSW5zdGFuY2UpCisgICAgICAgIHsKKworICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9ub3RpZmljYXRpb25zL1VzZXJncmlkLk5vdGlmaWNhdGlvbnMvUGFja2FnZS5TdG9yZUFzc29jaWF0aW9uLnhtbCBiL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL1BhY2thZ2UuU3RvcmVBc3NvY2lhdGlvbi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzYyNzhhNAotLS0gL2Rldi9udWxsCisrKyBiL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL1BhY2thZ2UuU3RvcmVBc3NvY2lhdGlvbi54bWwKQEAgLTAsMCArMSwxOTQgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8U3RvcmVBc3NvY2lhdGlvbiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9hcHB4LzIwMTAvc3RvcmVhc3NvY2lhdGlvbiI+CisgIDxQdWJsaXNoZXI+Q049QUMzQTFFQjctRTRFQS00OEMwLTk1NTYtQzM3QUE4QkFFMENGPC9QdWJsaXNoZXI+CisgIDxQdWJsaXNoZXJEaXNwbGF5TmFtZT5mZWxkcm9ja2VyPC9QdWJsaXNoZXJEaXNwbGF5TmFtZT4KKyAgPEdlbmVyYXRlUGFja2FnZUhhc2g+aHR0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxlbmMjc2hhMjU2PC9HZW5lcmF0ZVBhY2thZ2VIYXNoPgorICA8U3VwcG9ydGVkTG9jYWxlcz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iYWYiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJhZi16YSIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9InNxIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0ic3EtYWwiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJhciIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImFyLWFlIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iYXItYmgiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJhci1keiIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImFyLWVnIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iYXItaXEiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJhci1qbyIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImFyLWt3IiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iYXItbGIiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJhci1seSIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImFyLW1hIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iYXItb20iIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJhci1xYSIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImFyLXNhIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iYXItc3kiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJhci10biIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImFyLXllIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iYXotbGF0biIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImF6LWxhdG4tYXoiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJheiIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImV1IiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iZXUtZXMiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJiZSIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImJlLWJ5IiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0icHQtYnIiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJiZyIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImJnLWJnIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iY2EiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJjYS1lcyIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImhyIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iaHItaHIiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJoci1iYSIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImNzIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iY3MtY3oiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJkYSIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImRhLWRrIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0ibmwiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJubC1ubCIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9Im5sLWJlIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iZW4iIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJlbi1nYiIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImVuLTAyOSIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImVuLWF1IiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iZW4tYnoiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJlbi1pZSIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImVuLWluIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iZW4tam0iIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJlbi1teSIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImVuLW56IiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iZW4tcGgiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJlbi1zZyIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImVuLXR0IiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iZW4temEiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJlbi16dyIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImVuLWhrIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iZW4tdXMiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJlbi1jYSIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImV0IiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iZXQtZWUiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJmaWwiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJmaWwtcGgiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJmaSIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImZpLWZpIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iZnIiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJmci1mciIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImZyLWNhIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iZnItY2giIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJmci1iZSIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImZyLWx1IiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iZnItbWMiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJnbCIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImdsLWVzIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iZGUiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJkZS1kZSIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImRlLWNoIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iZGUtYXQiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJkZS1saSIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImRlLWx1IiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iZWwiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJlbC1nciIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImhhLWxhdG4iIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJoYS1sYXRuLW5nIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iaGEiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJoZSIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImhlLWlsIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iaGkiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJoaS1pbiIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9Imh1IiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iaHUtaHUiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJpZCIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImlkLWlkIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iaXQiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJpdC1pdCIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9Iml0LWNoIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iamEiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJqYS1qcCIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImtrIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0ia2sta3oiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJrbyIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImtvLWtyIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0ic3ItbGF0biIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9InNyLWxhdG4tYmEiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJzci1sYXRuLWNzIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0ic3ItbGF0bi1tZSIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9InNyLWxhdG4tcnMiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJzciIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9Imx2IiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0ibHYtbHYiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJsdCIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9Imx0LWx0IiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0ibWsiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJtay1tayIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9Im1zIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0ibXMtbXkiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJtcy1ibiIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9Im5iIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0ibmItbm8iIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJmYSIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImZhLWlyIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0icGwiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJwbC1wbCIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9InB0IiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0icHQtcHQiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJybyIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9InJvLXJvIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0icnUiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJydS1ydSIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9InpoIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iemgtY24iIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJ6aC1oYW5zIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iemgtc2ciIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJzayIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9InNrLXNrIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0ic2wiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJzbC1zaSIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImVzIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iZXMtZXMiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJlcy1teCIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImVzLWFyIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iZXMtYm8iIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJlcy1jbCIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImVzLWNvIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iZXMtY3IiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJlcy1kbyIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImVzLWVjIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iZXMtZ3QiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJlcy1obiIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImVzLW5pIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iZXMtcGEiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJlcy1wZSIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImVzLXByIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iZXMtcHkiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJlcy1zdiIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9ImVzLXVzIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iZXMtdXkiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJlcy12ZSIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9InN2IiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0ic3YtZmkiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJzdi1zZSIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9InRoIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0idGgtdGgiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJ6aC1oYW50IiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0iemgtaGsiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJ6aC1tbyIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9InpoLXR3IiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0idHIiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJ0ci10ciIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9InVrIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0idWstdWEiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJ1ei1sYXRuIiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0idXotbGF0bi11eiIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgICAgPExhbmd1YWdlIENvZGU9InV6IiBJbk1pbmltdW1SZXF1aXJlbWVudFNldD0idHJ1ZSIgLz4KKyAgICA8TGFuZ3VhZ2UgQ29kZT0idmkiIEluTWluaW11bVJlcXVpcmVtZW50U2V0PSJ0cnVlIiAvPgorICAgIDxMYW5ndWFnZSBDb2RlPSJ2aS12biIgSW5NaW5pbXVtUmVxdWlyZW1lbnRTZXQ9InRydWUiIC8+CisgIDwvU3VwcG9ydGVkTG9jYWxlcz4KKyAgPFByb2R1Y3RSZXNlcnZlZEluZm8+CisgICAgPE1haW5QYWNrYWdlSWRlbnRpdHlOYW1lPjE1NjYxZmVsZHJvY2tlci51c2VyZ3JpZHNhbXBsZTwvTWFpblBhY2thZ2VJZGVudGl0eU5hbWU+CisgICAgPFJlc2VydmVkTmFtZXM+CisgICAgICA8UmVzZXJ2ZWROYW1lPnVzZXJncmlkIHNhbXBsZTwvUmVzZXJ2ZWROYW1lPgorICAgIDwvUmVzZXJ2ZWROYW1lcz4KKyAgPC9Qcm9kdWN0UmVzZXJ2ZWRJbmZvPgorICA8QWNjb3VudFBhY2thZ2VJZGVudGl0eU5hbWVzIC8+CisgIDxQYWNrYWdlSW5mb0xpc3QgTGFuZGluZ1VybD0iaHR0cHM6Ly9kZXYud2luZG93c3Bob25lLmNvbS9BcHBTdWJtaXNzaW9uL0Fzc29jaWF0aW9uTGFuZGluZz93aW5kb3dzUHJvZHVjdElkPTE0MmY0NDAzLTM4MTAtNGM1OS04MjM2LTBhZmUwYjg0NzJiZiIgLz4KKzwvU3RvcmVBc3NvY2lhdGlvbj4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zYW1wbGVzL25vdGlmaWNhdGlvbnMvVXNlcmdyaWQuTm90aWZpY2F0aW9ucy9QYWNrYWdlLmFwcHhtYW5pZmVzdCBiL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL1BhY2thZ2UuYXBweG1hbmlmZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlZWMxYTkKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL25vdGlmaWNhdGlvbnMvVXNlcmdyaWQuTm90aWZpY2F0aW9ucy9QYWNrYWdlLmFwcHhtYW5pZmVzdApAQCAtMCwwICsxLDYxIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFBhY2thZ2UgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYXBweC8yMDEwL21hbmlmZXN0IiB4bWxuczptMj0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9hcHB4LzIwMTMvbWFuaWZlc3QiIHhtbG5zOm0zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2FwcHgvMjAxNC9tYW5pZmVzdCIgeG1sbnM6bXA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYXBweC8yMDE0L3Bob25lL21hbmlmZXN0Ij4KKyAgPCEtLQorICAgIC8qCisgKgorICogICogTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgKiAgKiAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91CisgKiAgKiB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QKKyAqICAqIHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqICAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICogICoKKyAqICAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqICAqCisgKiAgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiAgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiAgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiAgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4gIEZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZworICogICogY29weXJpZ2h0IGluIHRoaXMgd29yaywgcGxlYXNlIHNlZSB0aGUgTk9USUNFIGZpbGUgaW4gdGhlIHRvcCBsZXZlbAorICogICogZGlyZWN0b3J5IG9mIHRoaXMgZGlzdHJpYnV0aW9uLgorICoKKyAqLworICAgIC0tPgorICA8SWRlbnRpdHkgTmFtZT0iMTU2NjFmZWxkcm9ja2VyLnVzZXJncmlkc2FtcGxlIiBQdWJsaXNoZXI9IkNOPUFDM0ExRUI3LUU0RUEtNDhDMC05NTU2LUMzN0FBOEJBRTBDRiIgVmVyc2lvbj0iMS4xLjAuMSIgLz4KKyAgPG1wOlBob25lSWRlbnRpdHkgUGhvbmVQcm9kdWN0SWQ9ImMwNWI2NThhLTBiNDEtNDE4Ny1hNmU0LWNhMTg2YzIzMzhkZSIgUGhvbmVQdWJsaXNoZXJJZD0iMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwIiAvPgorICA8UHJvcGVydGllcz4KKyAgICA8RGlzcGxheU5hbWU+dXNlcmdyaWQgc2FtcGxlPC9EaXNwbGF5TmFtZT4KKyAgICA8UHVibGlzaGVyRGlzcGxheU5hbWU+ZmVsZHJvY2tlcjwvUHVibGlzaGVyRGlzcGxheU5hbWU+CisgICAgPExvZ28+QXNzZXRzXFN0b3JlTG9nby5wbmc8L0xvZ28+CisgIDwvUHJvcGVydGllcz4KKyAgPFByZXJlcXVpc2l0ZXM+CisgICAgPE9TTWluVmVyc2lvbj42LjMuMTwvT1NNaW5WZXJzaW9uPgorICAgIDxPU01heFZlcnNpb25UZXN0ZWQ+Ni4zLjE8L09TTWF4VmVyc2lvblRlc3RlZD4KKyAgPC9QcmVyZXF1aXNpdGVzPgorICA8UmVzb3VyY2VzPgorICAgIDxSZXNvdXJjZSBMYW5ndWFnZT0ieC1nZW5lcmF0ZSIgLz4KKyAgPC9SZXNvdXJjZXM+CisgIDxBcHBsaWNhdGlvbnM+CisgICAgPEFwcGxpY2F0aW9uIElkPSJBcHAiIEV4ZWN1dGFibGU9IiR0YXJnZXRuYW1ldG9rZW4kLmV4ZSIgRW50cnlQb2ludD0iVXNlcmdyaWQuTm90aWZpY2F0aW9ucy5BcHAiPgorICAgICAgPG0zOlZpc3VhbEVsZW1lbnRzIERpc3BsYXlOYW1lPSJ1c2VyZ3JpZCBzYW1wbGUiIFNxdWFyZTE1MHgxNTBMb2dvPSJBc3NldHNcTG9nby5wbmciIFNxdWFyZTQ0eDQ0TG9nbz0iQXNzZXRzXFNtYWxsTG9nby5wbmciIERlc2NyaXB0aW9uPSJVc2VyZ3JpZC5Ob3RpZmljYXRpb25zIiBGb3JlZ3JvdW5kVGV4dD0ibGlnaHQiIEJhY2tncm91bmRDb2xvcj0idHJhbnNwYXJlbnQiIFRvYXN0Q2FwYWJsZT0idHJ1ZSI+CisgICAgICAgIDxtMzpEZWZhdWx0VGlsZSBXaWRlMzEweDE1MExvZ289IkFzc2V0c1xXaWRlTG9nby5wbmciIFNxdWFyZTcxeDcxTG9nbz0iQXNzZXRzXFNxdWFyZTcxeDcxTG9nby5wbmciPgorICAgICAgICA8L20zOkRlZmF1bHRUaWxlPgorICAgICAgICA8bTM6U3BsYXNoU2NyZWVuIEltYWdlPSJBc3NldHNcU3BsYXNoU2NyZWVuLnBuZyIgLz4KKyAgICAgICAgPG0zOkluaXRpYWxSb3RhdGlvblByZWZlcmVuY2U+CisgICAgICAgICAgPG0zOlJvdGF0aW9uIFByZWZlcmVuY2U9InBvcnRyYWl0IiAvPgorICAgICAgICA8L20zOkluaXRpYWxSb3RhdGlvblByZWZlcmVuY2U+CisgICAgICA8L20zOlZpc3VhbEVsZW1lbnRzPgorICAgICAgPEV4dGVuc2lvbnM+CisgICAgICAgIDxFeHRlbnNpb24gQ2F0ZWdvcnk9IndpbmRvd3MuYmFja2dyb3VuZFRhc2tzIiBFbnRyeVBvaW50PSJVc2VyZ3JpZC5Ob3RpZmljYXRpb25zLkV4YW1wbGVCYWNrZ3JvdW5kVGFzayI+CisgICAgICAgICAgPEJhY2tncm91bmRUYXNrcz4KKyAgICAgICAgICAgIDxUYXNrIFR5cGU9InB1c2hOb3RpZmljYXRpb24iIC8+CisgICAgICAgICAgPC9CYWNrZ3JvdW5kVGFza3M+CisgICAgICAgIDwvRXh0ZW5zaW9uPgorICAgICAgIAorICAgICAgPC9FeHRlbnNpb25zPgorICAgIDwvQXBwbGljYXRpb24+CisgIDwvQXBwbGljYXRpb25zPgorICA8Q2FwYWJpbGl0aWVzPgorICAgIDxDYXBhYmlsaXR5IE5hbWU9ImludGVybmV0Q2xpZW50U2VydmVyIiAvPgorICA8L0NhcGFiaWxpdGllcz4KKzwvUGFja2FnZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zYW1wbGVzL25vdGlmaWNhdGlvbnMvVXNlcmdyaWQuTm90aWZpY2F0aW9ucy9Qcm9wZXJ0aWVzL0Fzc2VtYmx5SW5mby5jcyBiL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL1Byb3BlcnRpZXMvQXNzZW1ibHlJbmZvLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhZjU4MzgKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL25vdGlmaWNhdGlvbnMvVXNlcmdyaWQuTm90aWZpY2F0aW9ucy9Qcm9wZXJ0aWVzL0Fzc2VtYmx5SW5mby5jcwpAQCAtMCwwICsxLDI5IEBACivvu791c2luZyBTeXN0ZW0uUmVmbGVjdGlvbjsKK3VzaW5nIFN5c3RlbS5SdW50aW1lLkNvbXBpbGVyU2VydmljZXM7Cit1c2luZyBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXM7CisKKy8vIEdlbmVyYWwgSW5mb3JtYXRpb24gYWJvdXQgYW4gYXNzZW1ibHkgaXMgY29udHJvbGxlZCB0aHJvdWdoIHRoZSBmb2xsb3dpbmcgCisvLyBzZXQgb2YgYXR0cmlidXRlcy4gQ2hhbmdlIHRoZXNlIGF0dHJpYnV0ZSB2YWx1ZXMgdG8gbW9kaWZ5IHRoZSBpbmZvcm1hdGlvbgorLy8gYXNzb2NpYXRlZCB3aXRoIGFuIGFzc2VtYmx5LgorW2Fzc2VtYmx5OiBBc3NlbWJseVRpdGxlKCJVc2VyZ3JpZC5Ob3RpZmljYXRpb25zIildCitbYXNzZW1ibHk6IEFzc2VtYmx5RGVzY3JpcHRpb24oIiIpXQorW2Fzc2VtYmx5OiBBc3NlbWJseUNvbmZpZ3VyYXRpb24oIiIpXQorW2Fzc2VtYmx5OiBBc3NlbWJseUNvbXBhbnkoIiIpXQorW2Fzc2VtYmx5OiBBc3NlbWJseVByb2R1Y3QoIlVzZXJncmlkLk5vdGlmaWNhdGlvbnMiKV0KK1thc3NlbWJseTogQXNzZW1ibHlDb3B5cmlnaHQoIkNvcHlyaWdodCDCqSAgMjAxNSIpXQorW2Fzc2VtYmx5OiBBc3NlbWJseVRyYWRlbWFyaygiIildCitbYXNzZW1ibHk6IEFzc2VtYmx5Q3VsdHVyZSgiIildCisKKy8vIFZlcnNpb24gaW5mb3JtYXRpb24gZm9yIGFuIGFzc2VtYmx5IGNvbnNpc3RzIG9mIHRoZSBmb2xsb3dpbmcgZm91ciB2YWx1ZXM6CisvLworLy8gICAgICBNYWpvciBWZXJzaW9uCisvLyAgICAgIE1pbm9yIFZlcnNpb24gCisvLyAgICAgIEJ1aWxkIE51bWJlcgorLy8gICAgICBSZXZpc2lvbgorLy8KKy8vIFlvdSBjYW4gc3BlY2lmeSBhbGwgdGhlIHZhbHVlcyBvciB5b3UgY2FuIGRlZmF1bHQgdGhlIEJ1aWxkIGFuZCBSZXZpc2lvbiBOdW1iZXJzIAorLy8gYnkgdXNpbmcgdGhlICcqJyBhcyBzaG93biBiZWxvdzoKKy8vIFthc3NlbWJseTogQXNzZW1ibHlWZXJzaW9uKCIxLjAuKiIpXQorW2Fzc2VtYmx5OiBBc3NlbWJseVZlcnNpb24oIjEuMC4wLjAiKV0KK1thc3NlbWJseTogQXNzZW1ibHlGaWxlVmVyc2lvbigiMS4wLjAuMCIpXQorW2Fzc2VtYmx5OiBDb21WaXNpYmxlKGZhbHNlKV0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zYW1wbGVzL25vdGlmaWNhdGlvbnMvVXNlcmdyaWQuTm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zLmNzcHJvaiBiL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL1VzZXJncmlkLk5vdGlmaWNhdGlvbnMuY3Nwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyMzYxZTgKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL25vdGlmaWNhdGlvbnMvVXNlcmdyaWQuTm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zLmNzcHJvagpAQCAtMCwwICsxLDE0MyBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iMTIuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKE1TQnVpbGRFeHRlbnNpb25zUGF0aClcJChNU0J1aWxkVG9vbHNWZXJzaW9uKVxNaWNyb3NvZnQuQ29tbW9uLnByb3BzIiBDb25kaXRpb249IkV4aXN0cygnJChNU0J1aWxkRXh0ZW5zaW9uc1BhdGgpXCQoTVNCdWlsZFRvb2xzVmVyc2lvbilcTWljcm9zb2Z0LkNvbW1vbi5wcm9wcycpIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8Q29uZmlndXJhdGlvbiBDb25kaXRpb249IiAnJChDb25maWd1cmF0aW9uKScgPT0gJycgIj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICA8UGxhdGZvcm0gQ29uZGl0aW9uPSIgJyQoUGxhdGZvcm0pJyA9PSAnJyAiPkFueUNQVTwvUGxhdGZvcm0+CisgICAgPFByb2plY3RHdWlkPntFQjM2NEI4RS1CN0MxLTQ1QzItQkYxMy0xQ0JGNzMxRUE4QjZ9PC9Qcm9qZWN0R3VpZD4KKyAgICA8T3V0cHV0VHlwZT5BcHBDb250YWluZXJFeGU8L091dHB1dFR5cGU+CisgICAgPEFwcERlc2lnbmVyRm9sZGVyPlByb3BlcnRpZXM8L0FwcERlc2lnbmVyRm9sZGVyPgorICAgIDxSb290TmFtZXNwYWNlPlVzZXJncmlkLk5vdGlmaWNhdGlvbnM8L1Jvb3ROYW1lc3BhY2U+CisgICAgPEFzc2VtYmx5TmFtZT5Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zPC9Bc3NlbWJseU5hbWU+CisgICAgPERlZmF1bHRMYW5ndWFnZT5lbi1VUzwvRGVmYXVsdExhbmd1YWdlPgorICAgIDxUYXJnZXRQbGF0Zm9ybVZlcnNpb24+OC4xPC9UYXJnZXRQbGF0Zm9ybVZlcnNpb24+CisgICAgPE1pbmltdW1WaXN1YWxTdHVkaW9WZXJzaW9uPjEyPC9NaW5pbXVtVmlzdWFsU3R1ZGlvVmVyc2lvbj4KKyAgICA8RmlsZUFsaWdubWVudD41MTI8L0ZpbGVBbGlnbm1lbnQ+CisgICAgPFByb2plY3RUeXBlR3VpZHM+ezc2RjE0NjZBLThCNkQtNEUzOS1BNzY3LTY4NUEwNjA2MkEzOX07e0ZBRTA0RUMwLTMwMUYtMTFEMy1CRjRCLTAwQzA0Rjc5RUZCQ308L1Byb2plY3RUeXBlR3VpZHM+CisgICAgPEFwcHhBdXRvSW5jcmVtZW50UGFja2FnZVJldmlzaW9uPlRydWU8L0FwcHhBdXRvSW5jcmVtZW50UGFja2FnZVJldmlzaW9uPgorICAgIDxBcHB4QnVuZGxlUGxhdGZvcm1zPm5ldXRyYWw8L0FwcHhCdW5kbGVQbGF0Zm9ybXM+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSIgJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknID09ICdEZWJ1Z3xBbnlDUFUnICI+CisgICAgPFBsYXRmb3JtVGFyZ2V0PkFueUNQVTwvUGxhdGZvcm1UYXJnZXQ+CisgICAgPERlYnVnU3ltYm9scz50cnVlPC9EZWJ1Z1N5bWJvbHM+CisgICAgPERlYnVnVHlwZT5mdWxsPC9EZWJ1Z1R5cGU+CisgICAgPE9wdGltaXplPmZhbHNlPC9PcHRpbWl6ZT4KKyAgICA8T3V0cHV0UGF0aD5iaW5cRGVidWdcPC9PdXRwdXRQYXRoPgorICAgIDxEZWZpbmVDb25zdGFudHM+REVCVUc7VFJBQ0U7TkVURlhfQ09SRTtXSU5ET1dTX1BIT05FX0FQUDwvRGVmaW5lQ29uc3RhbnRzPgorICAgIDxFcnJvclJlcG9ydD5wcm9tcHQ8L0Vycm9yUmVwb3J0PgorICAgIDxXYXJuaW5nTGV2ZWw+NDwvV2FybmluZ0xldmVsPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iICckKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJyA9PSAnUmVsZWFzZXxBbnlDUFUnICI+CisgICAgPFBsYXRmb3JtVGFyZ2V0PkFueUNQVTwvUGxhdGZvcm1UYXJnZXQ+CisgICAgPERlYnVnVHlwZT5wZGJvbmx5PC9EZWJ1Z1R5cGU+CisgICAgPE9wdGltaXplPnRydWU8L09wdGltaXplPgorICAgIDxPdXRwdXRQYXRoPmJpblxSZWxlYXNlXDwvT3V0cHV0UGF0aD4KKyAgICA8RGVmaW5lQ29uc3RhbnRzPlRSQUNFO05FVEZYX0NPUkU7V0lORE9XU19QSE9ORV9BUFA8L0RlZmluZUNvbnN0YW50cz4KKyAgICA8RXJyb3JSZXBvcnQ+cHJvbXB0PC9FcnJvclJlcG9ydD4KKyAgICA8V2FybmluZ0xldmVsPjQ8L1dhcm5pbmdMZXZlbD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJyA9PSAnRGVidWd8QVJNJyI+CisgICAgPERlYnVnU3ltYm9scz50cnVlPC9EZWJ1Z1N5bWJvbHM+CisgICAgPE91dHB1dFBhdGg+YmluXEFSTVxEZWJ1Z1w8L091dHB1dFBhdGg+CisgICAgPERlZmluZUNvbnN0YW50cz5ERUJVRztUUkFDRTtORVRGWF9DT1JFO1dJTkRPV1NfUEhPTkVfQVBQPC9EZWZpbmVDb25zdGFudHM+CisgICAgPE5vV2Fybj47MjAwODwvTm9XYXJuPgorICAgIDxEZWJ1Z1R5cGU+ZnVsbDwvRGVidWdUeXBlPgorICAgIDxQbGF0Zm9ybVRhcmdldD5BUk08L1BsYXRmb3JtVGFyZ2V0PgorICAgIDxVc2VWU0hvc3RpbmdQcm9jZXNzPmZhbHNlPC9Vc2VWU0hvc3RpbmdQcm9jZXNzPgorICAgIDxFcnJvclJlcG9ydD5wcm9tcHQ8L0Vycm9yUmVwb3J0PgorICAgIDxQcmVmZXIzMkJpdD50cnVlPC9QcmVmZXIzMkJpdD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJyA9PSAnUmVsZWFzZXxBUk0nIj4KKyAgICA8T3V0cHV0UGF0aD5iaW5cQVJNXFJlbGVhc2VcPC9PdXRwdXRQYXRoPgorICAgIDxEZWZpbmVDb25zdGFudHM+VFJBQ0U7TkVURlhfQ09SRTtXSU5ET1dTX1BIT05FX0FQUDwvRGVmaW5lQ29uc3RhbnRzPgorICAgIDxPcHRpbWl6ZT50cnVlPC9PcHRpbWl6ZT4KKyAgICA8Tm9XYXJuPjsyMDA4PC9Ob1dhcm4+CisgICAgPERlYnVnVHlwZT5wZGJvbmx5PC9EZWJ1Z1R5cGU+CisgICAgPFBsYXRmb3JtVGFyZ2V0PkFSTTwvUGxhdGZvcm1UYXJnZXQ+CisgICAgPFVzZVZTSG9zdGluZ1Byb2Nlc3M+ZmFsc2U8L1VzZVZTSG9zdGluZ1Byb2Nlc3M+CisgICAgPEVycm9yUmVwb3J0PnByb21wdDwvRXJyb3JSZXBvcnQ+CisgICAgPFByZWZlcjMyQml0PnRydWU8L1ByZWZlcjMyQml0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknID09ICdEZWJ1Z3x4ODYnIj4KKyAgICA8RGVidWdTeW1ib2xzPnRydWU8L0RlYnVnU3ltYm9scz4KKyAgICA8T3V0cHV0UGF0aD5iaW5ceDg2XERlYnVnXDwvT3V0cHV0UGF0aD4KKyAgICA8RGVmaW5lQ29uc3RhbnRzPkRFQlVHO1RSQUNFO05FVEZYX0NPUkU7V0lORE9XU19QSE9ORV9BUFA8L0RlZmluZUNvbnN0YW50cz4KKyAgICA8Tm9XYXJuPjsyMDA4PC9Ob1dhcm4+CisgICAgPERlYnVnVHlwZT5mdWxsPC9EZWJ1Z1R5cGU+CisgICAgPFBsYXRmb3JtVGFyZ2V0Png4NjwvUGxhdGZvcm1UYXJnZXQ+CisgICAgPFVzZVZTSG9zdGluZ1Byb2Nlc3M+ZmFsc2U8L1VzZVZTSG9zdGluZ1Byb2Nlc3M+CisgICAgPEVycm9yUmVwb3J0PnByb21wdDwvRXJyb3JSZXBvcnQ+CisgICAgPFByZWZlcjMyQml0PnRydWU8L1ByZWZlcjMyQml0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknID09ICdSZWxlYXNlfHg4NiciPgorICAgIDxPdXRwdXRQYXRoPmJpblx4ODZcUmVsZWFzZVw8L091dHB1dFBhdGg+CisgICAgPERlZmluZUNvbnN0YW50cz5UUkFDRTtORVRGWF9DT1JFO1dJTkRPV1NfUEhPTkVfQVBQPC9EZWZpbmVDb25zdGFudHM+CisgICAgPE9wdGltaXplPnRydWU8L09wdGltaXplPgorICAgIDxOb1dhcm4+OzIwMDg8L05vV2Fybj4KKyAgICA8RGVidWdUeXBlPnBkYm9ubHk8L0RlYnVnVHlwZT4KKyAgICA8UGxhdGZvcm1UYXJnZXQ+eDg2PC9QbGF0Zm9ybVRhcmdldD4KKyAgICA8VXNlVlNIb3N0aW5nUHJvY2Vzcz5mYWxzZTwvVXNlVlNIb3N0aW5nUHJvY2Vzcz4KKyAgICA8RXJyb3JSZXBvcnQ+cHJvbXB0PC9FcnJvclJlcG9ydD4KKyAgICA8UHJlZmVyMzJCaXQ+dHJ1ZTwvUHJlZmVyMzJCaXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJBcHAueGFtbC5jcyI+CisgICAgICA8RGVwZW5kZW50VXBvbj5BcHAueGFtbDwvRGVwZW5kZW50VXBvbj4KKyAgICA8L0NvbXBpbGU+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iQmFja2dyb3VuZFRhc2suY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iQ2xpZW50XEVudGl0eVJlc3BvbnNlLmNzIiAvPgorICAgIDxDb21waWxlIEluY2x1ZGU9IkNsaWVudFxJVXNlcmdyaWRDbGllbnQuY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iQ2xpZW50XFB1c2hDbGllbnQuY3MiIC8+CisgICAgPENvbXBpbGUgSW5jbHVkZT0iTWFpblBhZ2UueGFtbC5jcyI+CisgICAgICA8RGVwZW5kZW50VXBvbj5NYWluUGFnZS54YW1sPC9EZXBlbmRlbnRVcG9uPgorICAgIDwvQ29tcGlsZT4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJQcm9wZXJ0aWVzXEFzc2VtYmx5SW5mby5jcyIgLz4KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJDbGllbnRcVXNlcmdyaWQuY3MiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxBcHB4TWFuaWZlc3QgSW5jbHVkZT0iUGFja2FnZS5hcHB4bWFuaWZlc3QiPgorICAgICAgPFN1YlR5cGU+RGVzaWduZXI8L1N1YlR5cGU+CisgICAgPC9BcHB4TWFuaWZlc3Q+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxDb250ZW50IEluY2x1ZGU9IkFzc2V0c1xMb2dvLnNjYWxlLTI0MC5wbmciIC8+CisgICAgPENvbnRlbnQgSW5jbHVkZT0iQXNzZXRzXFNtYWxsTG9nby5zY2FsZS0yNDAucG5nIiAvPgorICAgIDxDb250ZW50IEluY2x1ZGU9IkFzc2V0c1xTcGxhc2hTY3JlZW4uc2NhbGUtMjQwLnBuZyIgLz4KKyAgICA8Q29udGVudCBJbmNsdWRlPSJBc3NldHNcU3F1YXJlNzF4NzFMb2dvLnNjYWxlLTI0MC5wbmciIC8+CisgICAgPENvbnRlbnQgSW5jbHVkZT0iQXNzZXRzXFN0b3JlTG9nby5zY2FsZS0yNDAucG5nIiAvPgorICAgIDxDb250ZW50IEluY2x1ZGU9IkFzc2V0c1xXaWRlTG9nby5zY2FsZS0yNDAucG5nIiAvPgorICAgIDxOb25lIEluY2x1ZGU9IlBhY2thZ2UuU3RvcmVBc3NvY2lhdGlvbi54bWwiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxBcHBsaWNhdGlvbkRlZmluaXRpb24gSW5jbHVkZT0iQXBwLnhhbWwiPgorICAgICAgPEdlbmVyYXRvcj5NU0J1aWxkOkNvbXBpbGU8L0dlbmVyYXRvcj4KKyAgICAgIDxTdWJUeXBlPkRlc2lnbmVyPC9TdWJUeXBlPgorICAgIDwvQXBwbGljYXRpb25EZWZpbml0aW9uPgorICAgIDxQYWdlIEluY2x1ZGU9Ik1haW5QYWdlLnhhbWwiPgorICAgICAgPEdlbmVyYXRvcj5NU0J1aWxkOkNvbXBpbGU8L0dlbmVyYXRvcj4KKyAgICAgIDxTdWJUeXBlPkRlc2lnbmVyPC9TdWJUeXBlPgorICAgIDwvUGFnZT4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPFJlZmVyZW5jZSBJbmNsdWRlPSJOZXd0b25zb2Z0Lkpzb24iPgorICAgICAgPEhpbnRQYXRoPi4uXHBhY2thZ2VzXE5ld3RvbnNvZnQuSnNvbi42LjAuOFxsaWJccG9ydGFibGUtbmV0NDArc2w1K3dwODArd2luOCt3cGE4MVxOZXd0b25zb2Z0Lkpzb24uZGxsPC9IaW50UGF0aD4KKyAgICA8L1JlZmVyZW5jZT4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPE5vbmUgSW5jbHVkZT0icGFja2FnZXMuY29uZmlnIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSIgJyQoVmlzdWFsU3R1ZGlvVmVyc2lvbiknID09ICcnIG9yICckKFZpc3VhbFN0dWRpb1ZlcnNpb24pJyAmbHQ7ICcxMi4wJyAiPgorICAgIDxWaXN1YWxTdHVkaW9WZXJzaW9uPjEyLjA8L1Zpc3VhbFN0dWRpb1ZlcnNpb24+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSIgJyQoVGFyZ2V0UGxhdGZvcm1JZGVudGlmaWVyKScgPT0gJycgIj4KKyAgICA8VGFyZ2V0UGxhdGZvcm1JZGVudGlmaWVyPldpbmRvd3NQaG9uZUFwcDwvVGFyZ2V0UGxhdGZvcm1JZGVudGlmaWVyPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChNU0J1aWxkRXh0ZW5zaW9uc1BhdGgpXE1pY3Jvc29mdFxXaW5kb3dzWGFtbFx2JChWaXN1YWxTdHVkaW9WZXJzaW9uKVxNaWNyb3NvZnQuV2luZG93cy5VSS5YYW1sLkNTaGFycC50YXJnZXRzIiAvPgorICA8IS0tIFRvIG1vZGlmeSB5b3VyIGJ1aWxkIHByb2Nlc3MsIGFkZCB5b3VyIHRhc2sgaW5zaWRlIG9uZSBvZiB0aGUgdGFyZ2V0cyBiZWxvdyBhbmQgdW5jb21tZW50IGl0LiAKKyAgICAgICBPdGhlciBzaW1pbGFyIGV4dGVuc2lvbiBwb2ludHMgZXhpc3QsIHNlZSBNaWNyb3NvZnQuQ29tbW9uLnRhcmdldHMuCisgIDxUYXJnZXQgTmFtZT0iQmVmb3JlQnVpbGQiPgorICA8L1RhcmdldD4KKyAgPFRhcmdldCBOYW1lPSJBZnRlckJ1aWxkIj4KKyAgPC9UYXJnZXQ+CisgIC0tPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL1VzZXJncmlkLk5vdGlmaWNhdGlvbnMuc2xuIGIvc2FtcGxlcy9ub3RpZmljYXRpb25zL1VzZXJncmlkLk5vdGlmaWNhdGlvbnMvVXNlcmdyaWQuTm90aWZpY2F0aW9ucy5zbG4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzllOTZlYwotLS0gL2Rldi9udWxsCisrKyBiL3NhbXBsZXMvbm90aWZpY2F0aW9ucy9Vc2VyZ3JpZC5Ob3RpZmljYXRpb25zL1VzZXJncmlkLk5vdGlmaWNhdGlvbnMuc2xuCkBAIC0wLDAgKzEsNDAgQEAKK++7vworTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gU29sdXRpb24gRmlsZSwgRm9ybWF0IFZlcnNpb24gMTIuMDAKKyMgVmlzdWFsIFN0dWRpbyAyMDEzCitWaXN1YWxTdHVkaW9WZXJzaW9uID0gMTIuMC4zMTEwMS4wCitNaW5pbXVtVmlzdWFsU3R1ZGlvVmVyc2lvbiA9IDEwLjAuNDAyMTkuMQorUHJvamVjdCgie0ZBRTA0RUMwLTMwMUYtMTFEMy1CRjRCLTAwQzA0Rjc5RUZCQ30iKSA9ICJVc2VyZ3JpZC5Ob3RpZmljYXRpb25zIiwgIlVzZXJncmlkLk5vdGlmaWNhdGlvbnMuY3Nwcm9qIiwgIntFQjM2NEI4RS1CN0MxLTQ1QzItQkYxMy0xQ0JGNzMxRUE4QjZ9IgorRW5kUHJvamVjdAorR2xvYmFsCisJR2xvYmFsU2VjdGlvbihTb2x1dGlvbkNvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcHJlU29sdXRpb24KKwkJRGVidWd8QW55IENQVSA9IERlYnVnfEFueSBDUFUKKwkJRGVidWd8QVJNID0gRGVidWd8QVJNCisJCURlYnVnfHg4NiA9IERlYnVnfHg4NgorCQlSZWxlYXNlfEFueSBDUFUgPSBSZWxlYXNlfEFueSBDUFUKKwkJUmVsZWFzZXxBUk0gPSBSZWxlYXNlfEFSTQorCQlSZWxlYXNlfHg4NiA9IFJlbGVhc2V8eDg2CisJRW5kR2xvYmFsU2VjdGlvbgorCUdsb2JhbFNlY3Rpb24oUHJvamVjdENvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcG9zdFNvbHV0aW9uCisJCXtFQjM2NEI4RS1CN0MxLTQ1QzItQkYxMy0xQ0JGNzMxRUE4QjZ9LkRlYnVnfEFueSBDUFUuQWN0aXZlQ2ZnID0gRGVidWd8QW55IENQVQorCQl7RUIzNjRCOEUtQjdDMS00NUMyLUJGMTMtMUNCRjczMUVBOEI2fS5EZWJ1Z3xBbnkgQ1BVLkJ1aWxkLjAgPSBEZWJ1Z3xBbnkgQ1BVCisJCXtFQjM2NEI4RS1CN0MxLTQ1QzItQkYxMy0xQ0JGNzMxRUE4QjZ9LkRlYnVnfEFueSBDUFUuRGVwbG95LjAgPSBEZWJ1Z3xBbnkgQ1BVCisJCXtFQjM2NEI4RS1CN0MxLTQ1QzItQkYxMy0xQ0JGNzMxRUE4QjZ9LkRlYnVnfEFSTS5BY3RpdmVDZmcgPSBEZWJ1Z3xBUk0KKwkJe0VCMzY0QjhFLUI3QzEtNDVDMi1CRjEzLTFDQkY3MzFFQThCNn0uRGVidWd8QVJNLkJ1aWxkLjAgPSBEZWJ1Z3xBUk0KKwkJe0VCMzY0QjhFLUI3QzEtNDVDMi1CRjEzLTFDQkY3MzFFQThCNn0uRGVidWd8QVJNLkRlcGxveS4wID0gRGVidWd8QVJNCisJCXtFQjM2NEI4RS1CN0MxLTQ1QzItQkYxMy0xQ0JGNzMxRUE4QjZ9LkRlYnVnfHg4Ni5BY3RpdmVDZmcgPSBEZWJ1Z3x4ODYKKwkJe0VCMzY0QjhFLUI3QzEtNDVDMi1CRjEzLTFDQkY3MzFFQThCNn0uRGVidWd8eDg2LkJ1aWxkLjAgPSBEZWJ1Z3x4ODYKKwkJe0VCMzY0QjhFLUI3QzEtNDVDMi1CRjEzLTFDQkY3MzFFQThCNn0uRGVidWd8eDg2LkRlcGxveS4wID0gRGVidWd8eDg2CisJCXtFQjM2NEI4RS1CN0MxLTQ1QzItQkYxMy0xQ0JGNzMxRUE4QjZ9LlJlbGVhc2V8QW55IENQVS5BY3RpdmVDZmcgPSBSZWxlYXNlfEFueSBDUFUKKwkJe0VCMzY0QjhFLUI3QzEtNDVDMi1CRjEzLTFDQkY3MzFFQThCNn0uUmVsZWFzZXxBbnkgQ1BVLkJ1aWxkLjAgPSBSZWxlYXNlfEFueSBDUFUKKwkJe0VCMzY0QjhFLUI3QzEtNDVDMi1CRjEzLTFDQkY3MzFFQThCNn0uUmVsZWFzZXxBbnkgQ1BVLkRlcGxveS4wID0gUmVsZWFzZXxBbnkgQ1BVCisJCXtFQjM2NEI4RS1CN0MxLTQ1QzItQkYxMy0xQ0JGNzMxRUE4QjZ9LlJlbGVhc2V8QVJNLkFjdGl2ZUNmZyA9IFJlbGVhc2V8QVJNCisJCXtFQjM2NEI4RS1CN0MxLTQ1QzItQkYxMy0xQ0JGNzMxRUE4QjZ9LlJlbGVhc2V8QVJNLkJ1aWxkLjAgPSBSZWxlYXNlfEFSTQorCQl7RUIzNjRCOEUtQjdDMS00NUMyLUJGMTMtMUNCRjczMUVBOEI2fS5SZWxlYXNlfEFSTS5EZXBsb3kuMCA9IFJlbGVhc2V8QVJNCisJCXtFQjM2NEI4RS1CN0MxLTQ1QzItQkYxMy0xQ0JGNzMxRUE4QjZ9LlJlbGVhc2V8eDg2LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDg2CisJCXtFQjM2NEI4RS1CN0MxLTQ1QzItQkYxMy0xQ0JGNzMxRUE4QjZ9LlJlbGVhc2V8eDg2LkJ1aWxkLjAgPSBSZWxlYXNlfHg4NgorCQl7RUIzNjRCOEUtQjdDMS00NUMyLUJGMTMtMUNCRjczMUVBOEI2fS5SZWxlYXNlfHg4Ni5EZXBsb3kuMCA9IFJlbGVhc2V8eDg2CisJRW5kR2xvYmFsU2VjdGlvbgorCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Qcm9wZXJ0aWVzKSA9IHByZVNvbHV0aW9uCisJCUhpZGVTb2x1dGlvbk5vZGUgPSBGQUxTRQorCUVuZEdsb2JhbFNlY3Rpb24KK0VuZEdsb2JhbApkaWZmIC0tZ2l0IGEvc2FtcGxlcy9ub3RpZmljYXRpb25zL1VzZXJncmlkLk5vdGlmaWNhdGlvbnMvcGFja2FnZXMuY29uZmlnIGIvc2FtcGxlcy9ub3RpZmljYXRpb25zL1VzZXJncmlkLk5vdGlmaWNhdGlvbnMvcGFja2FnZXMuY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhM2ZmM2MKLS0tIC9kZXYvbnVsbAorKysgYi9zYW1wbGVzL25vdGlmaWNhdGlvbnMvVXNlcmdyaWQuTm90aWZpY2F0aW9ucy9wYWNrYWdlcy5jb25maWcKQEAgLTAsMCArMSwyNSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxwYWNrYWdlcz4KKyAgPCEtLQorICAgIC8qCisgKgorICogICogTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgKiAgKiAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91CisgKiAgKiB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QKKyAqICAqIHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqICAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICogICoKKyAqICAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqICAqCisgKiAgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiAgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiAgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiAgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4gIEZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZworICogICogY29weXJpZ2h0IGluIHRoaXMgd29yaywgcGxlYXNlIHNlZSB0aGUgTk9USUNFIGZpbGUgaW4gdGhlIHRvcCBsZXZlbAorICogICogZGlyZWN0b3J5IG9mIHRoaXMgZGlzdHJpYnV0aW9uLgorICoKKyAqLworICAgIC0tPgorICA8cGFja2FnZSBpZD0iTmV3dG9uc29mdC5Kc29uIiB2ZXJzaW9uPSI2LjAuOCIgdGFyZ2V0RnJhbWV3b3JrPSJ3cGE4MSIgLz4KKzwvcGFja2FnZXM+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9ub3RpZmljYXRpb25zL3BhY2thZ2VzL3JlcG9zaXRvcmllcy5jb25maWcgYi9zYW1wbGVzL25vdGlmaWNhdGlvbnMvcGFja2FnZXMvcmVwb3NpdG9yaWVzLmNvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZWI5OTkxCi0tLSAvZGV2L251bGwKKysrIGIvc2FtcGxlcy9ub3RpZmljYXRpb25zL3BhY2thZ2VzL3JlcG9zaXRvcmllcy5jb25maWcKQEAgLTAsMCArMSw0IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPHJlcG9zaXRvcmllcz4KKyAgPHJlcG9zaXRvcnkgcGF0aD0iLi5cVXNlcmdyaWQuTm90aWZpY2F0aW9uc1xwYWNrYWdlcy5jb25maWciIC8+Cis8L3JlcG9zaXRvcmllcz4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==