LyoKICogQ29weXJpZ2h0IDE5OTggSnVlcmdlbiBTY2htaWVkCiAqIENvcHlyaWdodCAyMDAzLDIwMDQsMjAwNyBKb3PpIE1hbnVlbCBGZXJyZXIgT3J0aXoKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKTEFOR1VBR0UgTEFOR19TUEFOSVNILCBTVUJMQU5HX05FVVRSQUwKCk1FTlVfMDAxIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KCU1FTlVJVEVNICJJY29ub3MgJmdyYW5kZXMiLAlGQ0lETV9TSFZJRVdfQklHSUNPTgoJTUVOVUlURU0gIkljb25vcyAmcGVxdWXxb3MiLAlGQ0lETV9TSFZJRVdfU01BTExJQ09OCglNRU5VSVRFTSAiJkxpc3RhIiwJCUZDSURNX1NIVklFV19MSVNUVklFVwoJTUVOVUlURU0gIiZEZXRhbGxlcyIsCQlGQ0lETV9TSFZJRVdfUkVQT1JUVklFVwpFTkQKCi8qCiBzaGVsbHZpZXcgYmFja2dyb3VuZCBtZW51CiovCk1FTlVfMDAyIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KCVBPUFVQICIiCglCRUdJTgoJICBQT1BVUCAiJlZlciIKCSAgQkVHSU4KCSAgICBNRU5VSVRFTSAiSWNvbm9zICZncmFuZGVzIiwgICAgIEZDSURNX1NIVklFV19CSUdJQ09OCgkgICAgTUVOVUlURU0gIkljb25vcyAmcGVxdWXxb3MiLCAgICBGQ0lETV9TSFZJRVdfU01BTExJQ09OCgkgICAgTUVOVUlURU0gIiZMaXN0YSIsICAgICAgICAgICAgICBGQ0lETV9TSFZJRVdfTElTVFZJRVcKCSAgICBNRU5VSVRFTSAiJkRldGFsbGVzIiwgICAgICAgICAgIEZDSURNX1NIVklFV19SRVBPUlRWSUVXCgkgIEVORAoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgUE9QVVAgIk9yZGVuYXIgJmljb25vcyIKCSAgQkVHSU4KCSAgICBNRU5VSVRFTSAiUG9yICZub21icmUiLAkweDMwCS8qIGNvbHVtbiAwICovCgkgICAgTUVOVUlURU0gIlBvciAmdGlwbyIsCTB4MzIJLyogY29sdW1uIDIgKi8KCSAgICBNRU5VSVRFTSAiUG9yIHQmYW1h8W8iLAkweDMxCS8qIC4uLiAqLwoJICAgIE1FTlVJVEVNICJQb3IgJmZlY2hhIiwJMHgzMwoJICAgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICAgIE1FTlVJVEVNICImT3JkZW5hciBhdXRvbeF0aWNhbWVudGUiLAlGQ0lETV9TSFZJRVdfQVVUT0FSUkFOR0UKCSAgRU5ECgkgIE1FTlVJVEVNICJBbGluZWFyIGljb25vcyIsCQlGQ0lETV9TSFZJRVdfU05BUFRPR1JJRAoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgTUVOVUlURU0gIkFjdHVhbGl6YXIiLAkJRkNJRE1fU0hWSUVXX1JFRlJFU0gKCSAgTUVOVUlURU0gU0VQQVJBVE9SCgkgIE1FTlVJVEVNICJQZWdhciIsCQkJRkNJRE1fU0hWSUVXX0lOU0VSVAoJICBNRU5VSVRFTSAiUGVnYXIgYWNjZXNvIGRpcmVjdG8iLAlGQ0lETV9TSFZJRVdfSU5TRVJUTElOSwoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgUE9QVVAgIk51ZXZvIgoJICBCRUdJTgoJICAgIE1FTlVJVEVNICJOdWV2YSAmY2FycGV0YSIsCQlGQ0lETV9TSFZJRVdfTkVXRk9MREVSCgkgICAgTUVOVUlURU0gIk51ZXZvICZhY2Nlc28gZGlyZWN0byIsCUZDSURNX1NIVklFV19ORVdMSU5LCgkgICAgTUVOVUlURU0gU0VQQVJBVE9SCgkgIEVORAoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgTUVOVUlURU0gIlByb3BpZWRhZGVzIiwJRkNJRE1fU0hWSUVXX1BST1BFUlRJRVMKCUVORApFTkQKCi8qCiBzaGVsbHZpZXcgaXRlbSBtZW51CiovCk1FTlVfU0hWX0ZJTEUgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgoJUE9QVVAgIiIKCUJFR0lOCgkgIE1FTlVJVEVNICJFJnhwbG9yYXIiLAkJCUZDSURNX1NIVklFV19FWFBMT1JFCgkgIE1FTlVJVEVNICImQWJyaXIiLAkJCUZDSURNX1NIVklFV19PUEVOCgkgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICBNRU5VSVRFTSAiQyZvcnRhciIsCQkJRkNJRE1fU0hWSUVXX0NVVAoJICBNRU5VSVRFTSAiJkNvcGlhciIsCQkJRkNJRE1fU0hWSUVXX0NPUFkKCSAgTUVOVUlURU0gU0VQQVJBVE9SCgkgIE1FTlVJVEVNICJDJnJlYXIgYWNjZXNvIGRpcmVjdG8iLAlGQ0lETV9TSFZJRVdfQ1JFQVRFTElOSwoJICBNRU5VSVRFTSAiJkVsaW1pbmFyIiwJCQlGQ0lETV9TSFZJRVdfREVMRVRFCgkgIE1FTlVJVEVNICJSZSZub21icmFyIiwJCUZDSURNX1NIVklFV19SRU5BTUUKCSAgTUVOVUlURU0gU0VQQVJBVE9SCgkgIE1FTlVJVEVNICImUHJvcGllZGFkZXMiLAkJRkNJRE1fU0hWSUVXX1BST1BFUlRJRVMKCUVORApFTkQKClNIQlJTRk9SRk9MREVSX01TR0JPWCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAxNSwgNDAsIDE4OCwgMTkyClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8IERTX01PREFMRlJBTUUgfCBEU19TRVRGT05UIHwgRFNfM0RMT09LCkNBUFRJT04gIkV4cGxvcmFyIGNhcnBldGEiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogREVGUFVTSEJVVFRPTiAiQWNlcHRhciIsIDEsIDgwLCAxNzYsIDUwLCAxMiwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiQ2FuY2VsYXIiLCAyLCAxMzQsIDE3NiwgNTAsIDEyLCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICIiLCBJRERfVElUTEUsIDQsIDQsIDE4MCwgMTIKIExURVhUICIiLCBJRERfU1RBVFVTLCA0LCAyNSwgMTgwLCAxMgogQ09OVFJPTCAiIiwgSUREX1RSRUVWSUVXLCAiU3lzVHJlZVZpZXczMiIsCiAJVFZTX0hBU0JVVFRPTlMgfCBUVlNfSEFTTElORVMgfCBUVlNfTElORVNBVFJPT1QgfAoJV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwKCTQsIDQwLCAxODAsIDEyMAp9CgpTSEVMTF9ZRVNUT0FMTF9NU0dCT1ggRElBTE9HIDIwMCwgMTAwLCAyODAsIDkwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJNZXNzYWdlIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIERFRlBVU0hCVVRUT04gIiZT7SIsIElEWUVTLCAzNCwgNjksIDUzLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICJT7SBhICZ0b2RvIiwgSUREX1lFU1RPQUxMLCA5MiwgNjksIDY1LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICImTm8iLCBJRE5PLCAxNjIsIDY5LCA1MywgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAiJkNhbmNlbGFyIiwgSURDQU5DRUwsIDIyMCwgNjksIDUzLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBJQ09OICIiLCBJRERfSUNPTiwgMTAsIDEwLCAxNiwgMTYKICAgIExURVhUICIiLCBJRERfTUVTU0FHRSwgNDAsIDEwLCAyMzgsIDUyLCAwCn0KClNIRUxMX0FCT1VUX01TR0JPWCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAxNSwgNDAsIDIxMCwgMTUyClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJBY2VyY2EgZGUgJXMiCkZPTlQgMTAsICJNUyBTaGVsbCBEbGciCnsKIERFRlBVU0hCVVRUT04gIkFjZXB0YXIiLCBJRE9LLCAxNTMsIDEzMywgNTAsIDEyLCBXU19UQUJTVE9QCiBMSVNUQk9YIDk5LCA4LCA2NSwgMTM3LCA4MiwgTEJTX05PVElGWSB8IFdTX1ZTQ1JPTEwgfCBXU19CT1JERVIKIElDT04gIiIsIDEwODgsIDEwLCAxMCwgMTQsIDE2CiBMVEVYVCAiIiwgMTAwLCAzMCwgMTAsIDEzNywgMTAKIExURVhUICIiLCAxMDEsIDMwLCAyMiwgMTM3LCAxMAogTFRFWFQgIldpbmUgbGUgaGEgc2lkbyBwcm9wb3JjaW9uYWRvIHBvcjoiLCA5OCwgOCwgNTUsIDEzNywgMTAKfQoKU0hFTExfUlVOX0RMRyBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAwLCAwLCAyMjcsIDk1ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICIiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogSUNPTiAiIiwgMTIyOTcsIDcsIDExLCAxOCwgMjAsIFdTX1ZJU0lCTEUKIExURVhUICJJbnRyb2R1emNhIGVsIG5vbWJyZSBkZSB1biBwcm9ncmFtYSwgY2FycGV0YSwgZG9jdW1lbnRvIG8gcmVjdXJzbyBkZSBJbnRlcm5ldCwgeSBXaW5lIGxvIGFicmly4SBwYXJhIHVzdGVkLiIsIDEyMjg5LCAzNiwgMTEsIDE4MiwgMTgKIExURVhUICImQWJyaXI6IiwgMTIzMDUsIDcsIDM5LCAyNCwgMTAKIENPTlRST0wgIiIsIDEyMjk4LCAiQ09NQk9CT1giLCBXU19UQUJTVE9QIHwgV1NfR1JPVVAgfCBXU19WU0NST0xMIHwgV1NfVklTSUJMRSB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfRFJPUERPV04sIDM2LCAzNywgMTgzLCAxMDAKIERFRlBVU0hCVVRUT04gIkFjZXB0YXIiLCBJRE9LLCA2MiwgNjMsIDUwLCAxNCwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiQ2FuY2VsYXIiLCBJRENBTkNFTCwgMTE2LCA2MywgNTAsIDE0LCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImRXhhbWluYXIuLi4iLCAxMjI4OCwgMTcwLCA2MywgNTAsIDE0LCBXU19UQUJTVE9QCn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKICAgICAgICAvKiBjb2x1bW5zIGluIHRoZSBzaGVsbHZpZXcgKi8KCUlEU19TSFZfQ09MVU1OMSAgICAgICAgICJBcmNoaXZvIgoJSURTX1NIVl9DT0xVTU4yICAgICAgICAgIlRhbWHxbyIKCUlEU19TSFZfQ09MVU1OMyAgICAgICAgICJUaXBvIgoJSURTX1NIVl9DT0xVTU40ICAgICAgICAgIk1vZGlmaWNhZG8iCglJRFNfU0hWX0NPTFVNTjUgICAgICAgICAiQXRyaWJ1dG9zIgoJSURTX1NIVl9DT0xVTU42ICAgICAgICAgIlRhbWHxbyIKCUlEU19TSFZfQ09MVU1ONyAgICAgICAgICJUYW1h8W8gZGlzcG9uaWJsZSIKCUlEU19TSFZfQ09MVU1OOCAgICAgICAgICJOb21icmUiCglJRFNfU0hWX0NPTFVNTjkgICAgICAgICAiQ29tZW50YXJpb3MiCglJRFNfU0hWX0NPTFVNTjEwICAgICAgICAiUHJvcGlldGFybyIKCUlEU19TSFZfQ09MVU1OMTEgICAgICAgICJHcnVwbyIKCUlEU19TSFZfQ09MVU1OX0RFTEZST00gICJMb2NhbGl6YWNp824gb3JpZ2luYWwiCglJRFNfU0hWX0NPTFVNTl9ERUxEQVRFICAiRmVjaGEgZGUgYm9ycmFkbyIKCiAgICAgICAgLyogc3BlY2lhbCBmb2xkZXJzICovCglJRFNfREVTS1RPUAkJIkVzY3JpdG9yaW8iCglJRFNfTVlDT01QVVRFUgkJIk1pIFBDIgogICAgICAgIElEU19SRUNZQ0xFQklOX0ZPTERFUl9OQU1FICJQYXBlbGVyYSBkZSByZWNpY2xhamUiCgogICAgICAgIC8qIGNvbnRleHQgbWVudXMgKi8KCUlEU19WSUVXX0xBUkdFCQkiSWNvbm9zICZncmFuZGVzIgoJSURTX1ZJRVdfU01BTEwJCSJJY29ub3MgJnBlcXVl8W9zIgoJSURTX1ZJRVdfTElTVAkJIiZMaXN0YSIKCUlEU19WSUVXX0RFVEFJTFMJIiZEZXRhbGxlcyIKCUlEU19TRUxFQ1QJCSJTZWxlY2Npb25hciIKCUlEU19PUEVOCQkiQWJyaXIiCgoJSURTX0NSRUFURUZPTERFUl9ERU5JRUQgIk5vIHNlIHB1ZWRlIGNyZWFyIG51ZXZhIGNhcnBldGE6IFBlcm1pc28gZGVuZWdhZG8uIgoJSURTX0NSRUFURUZPTERFUl9DQVBUSU9OICJFcnJvciBkdXJhbnRlIGxhIGNyZWFjafNuIGRlIHVuYSBudWV2YSBjYXJwZXRhIgoJSURTX0RFTEVURUlURU1fQ0FQVElPTiAiQ29uZmlybWFyIGVsaW1pbmFjafNuIGRlIGFyY2hpdm8iCglJRFNfREVMRVRFRk9MREVSX0NBUFRJT04gIkNvbmZpcm1hciBlbGltaW5hY2nzbiBkZSBjYXJwZXRhIgoJSURTX0RFTEVURUlURU1fVEVYVCAiv1NlZ3VybyBxdWUgZGVzZWEgZWxpbWluYXIgJyUxJz8iCglJRFNfREVMRVRFTVVMVElQTEVfVEVYVCAiv1NlZ3VybyBxdWUgZGVzZWEgZWxpbWluYXIgZXN0b3MgJTEgZWxlbWVudG9zPyIKCUlEU19ERUxFVEVTRUxFQ1RFRF9URVhUICK/U2VndXJvIHF1ZSBkZXNlYSBlbGltaW5hciBlbCAobG9zKSBlbGVtZW50byhzKSBzZWxlY2Npb25hZG8ocyk/IgoJSURTX1RSQVNISVRFTV9URVhUICK/U2VndXJvIHF1ZSBkZXNlYSBlbnZpYXIgJyUxJyBhIGxhIHBhcGVsZXJhIGRlIHJlY2ljbGFqZT8iCglJRFNfVFJBU0hGT0xERVJfVEVYVCAiv1NlZ3VybyBxdWUgZGVzZWEgZW52aWFyICclMScgeSB0b2RvIHN1IGNvbnRlbmlkbyBhIGxhIHBhcGVsZXJhIGRlIHJlY2ljbGFqZT8iCglJRFNfVFJBU0hNVUxUSVBMRV9URVhUICK/U2VndXJvIHF1ZSBkZXNlYSBlbnZpYXIgZXN0b3MgJTEgZWxlbWVudG9zIGEgbGEgcGFwZWxlcmEgZGUgcmVjaWNsYWplPyIKCUlEU19DQU5UVFJBU0hfVEVYVCAiRWwgZWxlbWVudG8gJyUxJyBubyBwdWVkZSBlbnZpYXJzZSBhIGxhIHBhcGVsZXJhIGRlIHJlY2ljbGFqZS4gv0Rlc2VhIGVsaW1pbmFybG8gZW4gc3UgbHVnYXI/IgoJSURTX09WRVJXUklURUZJTEVfVEVYVCAiRXN0YSBjYXJwZXRhIHlhIGNvbnRpZW5lIHVuIGFyY2hpdm8gbGxhbWFkbyAnJTEnLlxuXG6/RGVzZWEgcmVlbXBsYXphcmxvPyIKCUlEU19PVkVSV1JJVEVGSUxFX0NBUFRJT04gIkNvbmZpcm1hciBzb2JyZWVzY3JpdHVyYSBkZSBhcmNoaXZvIgoJSURTX09WRVJXUklURUZPTERFUl9URVhUICJFc3RhIGNhcnBldGEgeWEgY29udGllbmUgdW5hIGNhcnBldGEgbGxhbWFkYSAnJTEnLlxuXG4iXAoJICAgICJTaSBsb3MgYXJjaGl2b3MgZGUgbGEgY2FycGV0YSBkZSBkZXN0aW5vIHRpZW5lbiBsb3MgbWlzbW9zIG5vbWJyZXMgcXVlIGxvc1xuIlwKCSAgICAiZGUgbGEgY2FycGV0YSBzZWxlY2Npb25hZGEsIOlzdG9zIHNlcuFuIHJlZW1wbGF6YWRvcy4gv1RvZGF27WEgZGVzZWEgbW92ZXJcbiJcCgkgICAgIm8gY29waWFyIGxhIGNhcnBldGE/IgoKICAgICAgICAvKiBtZXNzYWdlIGJveCBzdHJpbmdzICovCiAgICAgICAgSURTX1JFU1RBUlRfVElUTEUJIlJlaW5pY2lhciIKICAgICAgICBJRFNfUkVTVEFSVF9QUk9NUFQJIr9EZXNlYSBzaW11bGFyIHVuIHJlaW5pY2lvIGRlIFdpbmRvd3M/IgogICAgICAgIElEU19TSFVURE9XTl9USVRMRQkiQXBhZ2FyIgogICAgICAgIElEU19TSFVURE9XTl9QUk9NUFQJIr9EZXNlYSB0ZXJtaW5hciBzdSBzZXNp824gZGUgV2luZT8iCgogICAgICAgIC8qIHNoZWxsIGZvbGRlciBwYXRoIGRlZmF1bHQgdmFsdWVzICovCglJRFNfUFJPR1JBTVMgICAgICAgICAgICAgICAgIk1lbvogSW5pY2lvXFxQcm9ncmFtYXMiCglJRFNfUEVSU09OQUwgICAgICAgICAgICAgICAgIk1pcyBkb2N1bWVudG9zIgoJSURTX0ZBVk9SSVRFUyAgICAgICAgICAgICAgICJGYXZvcml0b3MiCglJRFNfU1RBUlRVUCAgICAgICAgICAgICAgICAgIk1lbvogSW5pY2lvXFxQcm9ncmFtYXNcXEluaWNpbyIKCUlEU19SRUNFTlQgICAgICAgICAgICAgICAgICAiUmVjZW50IgoJSURTX1NFTkRUTyAgICAgICAgICAgICAgICAgICJTZW5kVG8iCglJRFNfU1RBUlRNRU5VICAgICAgICAgICAgICAgIk1lbvogSW5pY2lvIgoJSURTX01ZTVVTSUMgICAgICAgICAgICAgICAgICJNaSBt+nNpY2EiCglJRFNfTVlWSURFTyAgICAgICAgICAgICAgICAgIk1pcyB27WRlb3MiCglJRFNfREVTS1RPUERJUkVDVE9SWSAgICAgICAgIkVzY3JpdG9yaW8iCglJRFNfTkVUSE9PRCAgICAgICAgICAgICAgICAgIkVudG9ybm8gZGUgcmVkIgoJSURTX1RFTVBMQVRFUyAgICAgICAgICAgICAgICJUZW1wbGF0ZXMiCglJRFNfQVBQREFUQSAgICAgICAgICAgICAgICAgIkFwcGxpY2F0aW9uIERhdGEiCglJRFNfUFJJTlRIT09EICAgICAgICAgICAgICAgIlByaW50SG9vZCIKCUlEU19MT0NBTF9BUFBEQVRBICAgICAgICAgICAiQ29uZmlndXJhY2nzbiBsb2NhbFxcRGF0b3MgZGUgcHJvZ3JhbWEiCglJRFNfSU5URVJORVRfQ0FDSEUgICAgICAgICAgIkNvbmZpZ3VyYWNp824gbG9jYWxcXEFyY2hpdm9zIHRlbXBvcmFsZXMgZGUgSW50ZXJuZXQiCglJRFNfQ09PS0lFUyAgICAgICAgICAgICAgICAgIkNvb2tpZXMiCglJRFNfSElTVE9SWSAgICAgICAgICAgICAgICAgIkNvbmZpZ3VyYWNp824gbG9jYWxcXEhpc3RvcmlhbCIKCUlEU19QUk9HUkFNX0ZJTEVTICAgICAgICAgICAiQXJjaGl2b3MgZGUgcHJvZ3JhbWEiCglJRFNfTVlQSUNUVVJFUyAgICAgICAgICAgICAgIk1pcyBpbeFnZW5lcyIKCUlEU19QUk9HUkFNX0ZJTEVTX0NPTU1PTiAgICAiQXJjaGl2b3MgZGUgcHJvZ3JhbWFcXEFyY2hpdm9zIGNvbXVuZXMiCglJRFNfQ09NTU9OX0RPQ1VNRU5UUyAgICAgICAgIkRvY3VtZW50b3MiCglJRFNfQURNSU5UT09MUyAgICAgICAgICAgICAgIk1lbvogSW5pY2lvXFxQcm9ncmFtYXNcXEFjY2Vzb3Jpb3NcXEhlcnJhbWllbnRhcyBkZWwgc2lzdGVtYSIKCUlEU19DT01NT05fTVVTSUMgICAgICAgICAgICAiRG9jdW1lbnRvc1xcTWkgbfpzaWNhIgoJSURTX0NPTU1PTl9QSUNUVVJFUyAgICAgICAgICJEb2N1bWVudG9zXFxNaXMgaW3hZ2VuZXMiCglJRFNfQ09NTU9OX1ZJREVPICAgICAgICAgICAgIkRvY3VtZW50b3NcXE1pcyB27WRlb3MiCglJRFNfQ0RCVVJOX0FSRUEgICAgICAgICAgICAgIkNvbmZpZ3VyYWNp824gbG9jYWxcXERhdG9zIGRlIHByb2dyYW1hXFxNaWNyb3NvZnRcXENEIEJ1cm5pbmciCn0K