LyoKICogQ29weXJpZ2h0IDE5OTggSnVlcmdlbiBTY2htaWVkCiAqIENvcHlyaWdodCAyMDA2LCAyMDA3IFl1blNvbmcgSHdhbmcKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKTEFOR1VBR0UgTEFOR19LT1JFQU4sIFNVQkxBTkdfREVGQVVMVAoKTUVOVV8wMDEgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgpNRU5VSVRFTSAixasgvsbAzMTcKCZHKSIsCUZDSURNX1NIVklFV19CSUdJQ09OCk1FTlVJVEVNICLA28C6IL7GwMzE3CgmTSkiLAlGQ0lETV9TSFZJRVdfU01BTExJQ09OCk1FTlVJVEVNICK48bfPKCZMKSIsCQlGQ0lETV9TSFZJRVdfTElTVFZJRVcKTUVOVUlURU0gIsDavLzI9ygmRCkiLAkJRkNJRE1fU0hWSUVXX1JFUE9SVFZJRVcKRU5ECgovKgpzaGVsbHZpZXcgYmFja2dyb3VuZCBtZW51CiovCk1FTlVfMDAyIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KUE9QVVAgIiIKQkVHSU4KUE9QVVAgIrq4seIoJlYpIgpCRUdJTgpNRU5VSVRFTSAixasgvsbAzMTcKCZHKSIsCUZDSURNX1NIVklFV19CSUdJQ09OCk1FTlVJVEVNICLA28C6IL7GwMzE3CgmTSkiLAlGQ0lETV9TSFZJRVdfU01BTExJQ09OCk1FTlVJVEVNICK48bfPKCZMKSIsCQlGQ0lETV9TSFZJRVdfTElTVFZJRVcKTUVOVUlURU0gIsDavLzI9ygmRCkiLAlGQ0lETV9TSFZJRVdfUkVQT1JUVklFVwpFTkQKTUVOVUlURU0gU0VQQVJBVE9SClBPUFVQICK+xsDMxNwgwaS3xCgmSSkiCkJFR0lOCk1FTlVJVEVNICLAzLinwLi3zigmTikiLAkweDMwCS8qIGNvbHVtbiAwICovCk1FTlVJVEVNICLH/L3EwLi3zigmVCkiLAkweDMyCS8qIGNvbHVtbiAyICovCk1FTlVJVEVNICLFqbHit84oJlMpIiwJMHgzMQkvKiAuLi4gKi8KTUVOVUlURU0gIrOvwqW3zigmRCkiLAkweDMzCk1FTlVJVEVNIFNFUEFSQVRPUgpNRU5VSVRFTSAiwNq1vyDBpLfEKCZBKSIsCUZDSURNX1NIVklFV19BVVRPQVJSQU5HRQpFTkQKTUVOVUlURU0gIr7GwMzE3CDBpLfEIiwJRkNJRE1fU0hWSUVXX1NOQVBUT0dSSUQKTUVOVUlURU0gU0VQQVJBVE9SCk1FTlVJVEVNICK79bfOILDtxKciLAkJRkNJRE1fU0hWSUVXX1JFRlJFU0gKTUVOVUlURU0gU0VQQVJBVE9SCk1FTlVJVEVNICK62b+ps9ax4iIsCQlGQ0lETV9TSFZJRVdfSU5TRVJUCk1FTlVJVEVNICK4tcWpt84gutm/qbPWseIiLAlGQ0lETV9TSFZJRVdfSU5TRVJUTElOSwpNRU5VSVRFTSBTRVBBUkFUT1IKUE9QVVAgIrv1IMDbvvciCkJFR0lOCk1FTlVJVEVNICK79SDG+rT1KCZGKSIsCUZDSURNX1NIVklFV19ORVdGT0xERVIKTUVOVUlURU0gIrv1ILi1xakoJkwpIiwJRkNJRE1fU0hWSUVXX05FV0xJTksKTUVOVUlURU0gU0VQQVJBVE9SCkVORApNRU5VSVRFTSBTRVBBUkFUT1IKTUVOVUlURU0gIrzTvLoiLAlGQ0lETV9TSFZJRVdfUFJPUEVSVElFUwpFTkQKRU5ECgovKgpzaGVsbHZpZXcgaXRlbSBtZW51CiovCk1FTlVfU0hWX0ZJTEUgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgpQT1BVUCAiIgpCRUdJTgpNRU5VSVRFTSAiJlNlbGVjdCIJCUZDSURNX1NIVklFV19PUEVOCk1FTlVJVEVNICLFvbv2KCZYKSIsCQlGQ0lETV9TSFZJRVdfRVhQTE9SRQpNRU5VSVRFTSAiv62x4igmTykiLAkJRkNJRE1fU0hWSUVXX09QRU4KTUVOVUlURU0gU0VQQVJBVE9SCk1FTlVJVEVNICLA37bzs7ux4igmVSkiLAkJRkNJRE1fU0hWSUVXX0NVVApNRU5VSVRFTSAiurm75ygmQykiLAkJRkNJRE1fU0hWSUVXX0NPUFkKTUVOVUlURU0gU0VQQVJBVE9SCk1FTlVJVEVNICK4tcWpILi4temx4igmTCkiLAlGQ0lETV9TSFZJRVdfQ1JFQVRFTElOSwpNRU5VSVRFTSAiwfa/7LHiKCZEKSIsCQlGQ0lETV9TSFZJRVdfREVMRVRFCk1FTlVJVEVNICLAzLinILnZstmx4igmUikiLAkJRkNJRE1fU0hWSUVXX1JFTkFNRQpNRU5VSVRFTSBTRVBBUkFUT1IKTUVOVUlURU0gIrzTvLooJlApIiwJRkNJRE1fU0hWSUVXX1BST1BFUlRJRVMKRU5ECkVORAoKTUVOVV9DUEFORUwgTUVOVQpCRUdJTgogICAgUE9QVVAgIsbEwM8oJkYpIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAis6qx4rHiKCZYKSIsIElETV9DUEFORUxfRVhJVAogICAgRU5ECgogICAgUE9QVVAgIrq4seIoJlYpIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAixasgvsbAzMTcKCZHKSIsIEZDSURNX1NIVklFV19CSUdJQ09OCiAgICAgICAgTUVOVUlURU0gIsDbwLogvsbAzMTcKCZNKSIsIEZDSURNX1NIVklFV19TTUFMTElDT04KICAgICAgICBNRU5VSVRFTSAiuPG3zygmTCkiLCBGQ0lETV9TSFZJRVdfTElTVFZJRVcKICAgICAgICBNRU5VSVRFTSAiwNq8vMj3KCZEKSIsIEZDSURNX1NIVklFV19SRVBPUlRWSUVXCiAgICBFTkQKCiAgICBQT1BVUCAitbW/8ri7KCZIKSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIsGmvu7GxyDBpLq4KCZBKS4uLiIsIElETV9DUEFORUxfQUJPVVQKICAgIEVORApFTkQKCgpTSEJSU0ZPUkZPTERFUl9NU0dCT1ggRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMTUsIDQwLCAxODgsIDE5MgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfCBEU19NT0RBTEZSQU1FIHwgRFNfU0VURk9OVCB8IERTXzNETE9PSwpDQVBUSU9OICLG+rT1IMW9u/YiCkZPTlQgOSwgIk1TIFNoZWxsIERsZyIKewpERUZQVVNIQlVUVE9OICLIrsDOIiwgMSwgODAsIDE3NiwgNTAsIDEyLCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QClBVU0hCVVRUT04gIsPrvNIiLCAyLCAxMzQsIDE3NiwgNTAsIDEyLCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKTFRFWFQgIiIsIElERF9USVRMRSwgNCwgNCwgMTgwLCAxMgpMVEVYVCAiIiwgSUREX1NUQVRVUywgNCwgMjUsIDE4MCwgMTIKQ09OVFJPTCAiIiwgSUREX1RSRUVWSUVXLCAiU3lzVHJlZVZpZXczMiIsClRWU19IQVNCVVRUT05TIHwgVFZTX0hBU0xJTkVTIHwgVFZTX0xJTkVTQVRST09UIHwKV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwKNCwgNDAsIDE4MCwgMTIwCn0KCgpTSE5FV0JSU0ZPUkZPTERFUl9NU0dCT1ggRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMTUsIDQwLCAyMTgsIDE5NgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfCBXU19TSVpFQk9YIHwgRFNfTU9EQUxGUkFNRSB8IERTX1NFVEZPTlQgfCBEU18zRExPT0sKQ0FQVElPTiAixvq09SDFvbv2IgpGT05UIDksICJNUyBTaGVsbCBEbGciCnsKTFRFWFQgIiIsIElERF9USVRMRSwgMTAsIDgsIDE5OCwgMjQKTFRFWFQgIiIsIElERF9TVEFUVVMsIDEwLCAyNSwgMTk4LCAxMgpMVEVYVCAixvq09ToiLCBJRERfRk9MREVSLCAxMCwgMTU2LCA0MCwgMTIKQ09OVFJPTCAiIiwgSUREX1RSRUVWSUVXLCAiU3lzVHJlZVZpZXczMiIsClRWU19IQVNCVVRUT05TIHwgVFZTX0hBU0xJTkVTIHwgVFZTX0xJTkVTQVRST09UIHwKV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwKMTIsIDM4LCAxOTQsIDEwNQpFRElUVEVYVCBJRERfRk9MREVSVEVYVCwgNDYsIDE1MCwgMTYwLCAxNCwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QClBVU0hCVVRUT04gIrv1IMb6tPUguLi16bHiKCZNKSIsIElERF9NQUtFTkVXRk9MREVSLCAxMiwgMTc0LCA3MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUApERUZQVVNIQlVUVE9OICLIrsDOIiwgSURPSywgMTAyLCAxNzQsIDUwLCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICLD67zSIiwgSURDQU5DRUwsIDE1NiwgMTc0LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgpTSEVMTF9ZRVNUT0FMTF9NU0dCT1ggRElBTE9HIDIwMCwgMTAwLCAyODAsIDkwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICK43r3DwfYiCkZPTlQgOSwgIk1TIFNoZWxsIERsZyIKewpERUZQVVNIQlVUVE9OICK/uSgmWSkiLCBJRFlFUywgMzQsIDY5LCA1MywgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICK48LXOIL+5KCZBKSIsIElERF9ZRVNUT0FMTCwgOTIsIDY5LCA2NSwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICIgvsa0z7/AKCZOKSIsIElETk8sIDE2MiwgNjksIDUzLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QClBVU0hCVVRUT04gIsPrvNIoJkMpIiwgSURDQU5DRUwsIDIyMCwgNjksIDUzLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCklDT04gIiIsIElERF9JQ09OLCAxMCwgMTAsIDE2LCAxNgpMVEVYVCAiIiwgSUREX01FU1NBR0UsIDQwLCAxMCwgMjM4LCA1MiwgMAp9CgpTSEVMTF9BQk9VVF9NU0dCT1ggRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMTUsIDQwLCAyMjAsIDE1MgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiICVzIMGkurgiCkZPTlQgMTAsICJNUyBTaGVsbCBEbGciCnsKIERFRlBVU0hCVVRUT04gIsiuwM4iLCBJRE9LLCAxNTMsIDEzMywgNjAsIDEyLCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJXaW5lILbzwMy8vr26KCZsKS4uLiIsIElEQ19BQk9VVF9MSUNFTlNFLCAxNTMsIDExMywgNjAsIDEyLCBXU19UQUJTVE9QCiBMSVNUQk9YIElEQ19BQk9VVF9MSVNUQk9YLCA4LCA2NSwgMTM3LCA4MiwgTEJTX05PVElGWSB8IFdTX1ZTQ1JPTEwgfCBXU19CT1JERVIKIElDT04gIiIsIHN0YzEsIDEwLCAxMCwgMzAsIDMwCiBMVEVYVCAiIiwgSURDX0FCT1VUX1NUQVRJQ19URVhUMSwgNDIsIDEwLCAxNzAsIDEwCiBMVEVYVCAiIiwgSURDX0FCT1VUX1NUQVRJQ19URVhUMiwgNDIsIDIyLCAxNzAsIDEwCiBMVEVYVCAiJXMgvcfH4MHfIiwgSURDX0FCT1VUX1NUQVRJQ19URVhUMywgNDIsIDM0LCAxNzAsIDEwCiBMVEVYVCAiV2luZSB3YXMgYnJvdWdodCB0byB5b3UgYnk6IiwgSURDX0FCT1VUX1dJTkVfVEVYVCwgOCwgNTQsIDIwNCwgMTAKfQoKClNIRUxMX1JVTl9ETEcgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMCwgMCwgMjI3LCA5NQpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiIgpGT05UIDksICJNUyBTaGVsbCBEbGciCnsKIElDT04gIiIsIElEQ19SVU5ETEdfSUNPTiwgNywgMTEsIDE4LCAyMCwgV1NfVklTSUJMRQogTFRFWFQgIseusde4sizG+rT1LLmuvK2zqiDAzsXNs90gwNq/+Cwgsde4rrDtIFdpbmXAzCC/rSAgsM3AxyDAzLinwLsgwPu+7sHWvLy/5C4iLCBJRENfUlVORExHX0RFU0NSSVBUSU9OLCAzNiwgMTEsIDE4MiwgMTgKIExURVhUICK/rbHiKCZPKToiLCBJRENfUlVORExHX0xBQkVMLCA3LCAzOSwgMjQsIDEwCiBDT05UUk9MICIiLCBJRENfUlVORExHX0VESVRQQVRILCAiQ09NQk9CT1giLCBXU19UQUJTVE9QIHwgV1NfR1JPVVAgfCBXU19WU0NST0xMIHwgV1NfVklTSUJMRSB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfRFJPUERPV04sIDM2LCAzNywgMTgzLCAxMDAKIERFRlBVU0hCVVRUT04gIsiuwM4iLCBJRE9LLCA2MiwgNjMsIDUwLCAxNCwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiw+u80iIsIElEQ0FOQ0VMLCAxMTYsIDYzLCA1MCwgMTQsIFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIsOjseIoJkIpLi4uIiwgSURDX1JVTkRMR19CUk9XU0UsIDE3MCwgNjMsIDUwLCAxNCwgV1NfVEFCU1RPUAp9CgoKU1RSSU5HVEFCTEUKewovKiBjb2x1bW5zIGluIHRoZSBzaGVsbHZpZXcgKi8KSURTX1NIVl9DT0xVTU4xCQkixsTAzyIKSURTX1NIVl9DT0xVTU4yCQkixamx4iIKSURTX1NIVl9DT0xVTU4zCQkix/y9xCIKSURTX1NIVl9DT0xVTU40CQkivPbBpLOvwqUiCklEU19TSFZfQ09MVU1ONQkJIrzTvLoiCklEU19TSFZfQ09MVU1ONgkJIsWpseIiCklEU19TSFZfQ09MVU1ONwkJIrChtMnH0SDFqbHiIgpJRFNfU0hWX0NPTFVNTjgJCSLAzLinIgpJRFNfU0hWX0NPTFVNTjkJCSLB1ryuIgpJRFNfU0hWX0NPTFVNTjEwCSK80sCvwNoiCklEU19TSFZfQ09MVU1OMTEJIrHXt+wiCklEU19TSFZfQ09MVU1OX0RFTEZST00JIr/4t6EgwKfEoSIKSURTX1NIVl9DT0xVTU5fREVMREFURQkiwfa/9sH4ILOvwqUiCgovKiBzcGVjaWFsIGZvbGRlcnMgKi8KSURTX0RFU0tUT1AJCSK1pb26xanFviIKSURTX01ZQ09NUFVURVIJCSKzuyDExMe7xc0iCklEU19SRUNZQ0xFQklOX0ZPTERFUl9OQU1FICAgICAgIsjewfbF6yIKSURTX0NPTlRST0xQQU5FTAkiwaa+7sbHIgoKLyogY29udGV4dCBtZW51cyAqLwpJRFNfVklFV19MQVJHRQkJIsWrIL7GwMzE3CgmRykiCklEU19WSUVXX1NNQUxMCQkiwNvAuiC+xsDMxNwoJk0pIgpJRFNfVklFV19MSVNUCQkiuPG3zygmTCkiCklEU19WSUVXX0RFVEFJTFMJIsDavLzI9ygmRCkiCklEU19TRUxFQ1QJCSK8scXDIgpJRFNfT1BFTgkJIr+tseIiCgpJRFNfQ1JFQVRFRk9MREVSX0RFTklFRCAiu/Ugxvq09bimILi4tekgvPYgvvi9wLTPtNk6ILi4tekgscfH0cDMIL74vcC0z7TZLiIKSURTX0NSRUFURUZPTERFUl9DQVBUSU9OICK79SDG+rT1uKYguLi15bTCILD6waS/obytIL+ht6+537v9IgpJRFNfREVMRVRFSVRFTV9DQVBUSU9OICLGxMDPIMH2v+yx4iDIrsDOIgpJRFNfREVMRVRFRk9MREVSX0NBUFRJT04gIsb6tPUgwfa/7LHiIMiuwM4iCklEU19ERUxFVEVJVEVNX1RFWFQgIrTnvcXAuiAgJyUxJ8C7IMH2v+yx4rimILnZtvi0z7HuPyIKSURTX0RFTEVURU1VTFRJUExFX1RFWFQgIrTnvcXAuiAlMSC+xsDMxdsotekpwLsgwfa/7LHiuKYgudm2+LTPse4/IgpJRFNfREVMRVRFU0VMRUNURURfVEVYVCAitOe9xcC6ILyxxcO1yCC+xsDMxdsotekpwLsgwfa/7LHiuKYgudm2+LTPse4/IgpJRFNfVFJBU0hJVEVNX1RFWFQgIrTnvcXAuiAnJTEnIMC7KLimKSDI3sH2xevAuLfOILq4s7ux4rimILnZtvi0z7HuPyIKSURTX1RSQVNIRk9MREVSX1RFWFQgIrTnvcXAuiAnJTEnILD6ILHXIL7IwMcgs7u/68C7IMjewfbF68C4t84gurizu7HiuKYgudm2+LTPse4/IgpJRFNfVFJBU0hNVUxUSVBMRV9URVhUICK0573FwLogJyUxJyC16cC7KLimKSDI3sH2xevAuLfOILq4s7ux4rimILnZtvi0z7HuPyIKSURTX0NBTlRUUkFTSF9URVhUICLAzCC+xsDMxdsnJTEnwLsgyN7B9sXrwLi3ziC6uLO+ILz2IL74vcC0z7TZLiC0673FIMH2v+yw2r3AtM+x7j8iCklEU19PVkVSV1JJVEVGSUxFX1RFWFQgIsDMIMb6tPW0wiDAzLnMICclMScgxsTAz8C7ILChwfaw7SDA1r3AtM+02S5cblxuudmy2bDavcC0z7HuPyIKSURTX09WRVJXUklURUZJTEVfQ0FQVElPTiAixsTAzyC1pL7uvrKx4iDIrsDOIgpJRFNfT1ZFUldSSVRFRk9MREVSX1RFWFQgIiAgwMwgxvq09bTCIMDMucwgJyUxJ8DMtvUgwMy4p8C7ILChwfggxvq09bimIMb3x9THz7DtIMDWvcC0z7TZLlxuXG4iXAogICAgICK4uL7gILTnvcXAzCCwsMC6IMDMuKfAuLfOILTru/Mgxvq09bimIMH2waTH0bTZuOkgvLHFw7XIIMb6tPW0wiC068O8tckgsM3A1LTPtNlcbiJcCiAgICAgIiC068O8tckgsM3A1LTPtNkuILTnvcXAuiDAzCDG+rT1uKYgwMy1v73DxbCwxbOqILq5u+fHz7DavcC0z7HuPyIKCgovKiBtZXNzYWdlIGJveCBzdHJpbmdzICovCklEU19SRVNUQVJUX1RJVExFICAgICAgICK02b3DIL3DwNsiIApJRFNfUkVTVEFSVF9QUk9NUFQgICAgICAitOe9xcC6IMCptbW/7MHuIMDnus7Gw8C7ICDA58f2x8+w2r3AtM+x7j8iCklEU19TSFVURE9XTl9USVRMRSAgICAgICKy9LHiIgpJRFNfU0hVVERPV05fUFJPTVBUICAgICAitOe9xcC6ICBXaW5lILy8vMfAuyCy9LDavcC0z7HuPyIKCi8qIFJ1biBGaWxlIGRpYWxvZyAqLwpJRFNfUlVORExHX0VSUk9SICAgICAgICAgICAixsTAzyC9x8fgILTryK0gu/PA2rimILq4v6nB2bz2IL74vcC0z7TZKLO7us4gv6G3rykiCklEU19SVU5ETEdfQlJPV1NFX0VSUk9SICAgICLDo7HiILTryK0gu/PA2rimILq4v6kgwdkgvPYgvvi9wLTPtNkos7u6ziC/obevKSIKSURTX1JVTkRMR19CUk9XU0VfQ0FQVElPTiAgIsOjseIiCklEU19SVU5ETEdfQlJPV1NFX0ZJTFRFUiAgICK9x8fgIMbEwM9cMCouZXhlXDBBuPC15yDGxMDPXDAqLipcMFwwIgoKLyogc2hlbGwgZm9sZGVyIHBhdGggZGVmYXVsdCB2YWx1ZXMgKi8KSURTX1BST0dSQU1TICAgICAgICAgICAgICAgICK9w8DbILjetLpcXMfBt86x17elIgpJRFNfUEVSU09OQUwgICAgICAgICAgICAgICAgIrO7ILmuvK0iCklEU19GQVZPUklURVMgICAgICAgICAgICAgICAiwfGw3MOjseIiCklEU19TVEFSVFVQICAgICAgICAgICAgICAgICAivcPA2yC43rS6XFzHwbfOsde3pVxcvcPA2yDHwbfOsde3pSIKSURTX1JFQ0VOVCAgICAgICAgICAgICAgICAgICLD1rHZIMbEwM8iCklEU19TRU5EVE8gICAgICAgICAgICAgICAgICAiurizu7HiIgpJRFNfU1RBUlRNRU5VICAgICAgICAgICAgICAgIr3DwNsguN60uiIKSURTX01ZTVVTSUMgICAgICAgICAgICAgICAgICKzuyDAvb7HIgpJRFNfTVlWSURFTyAgICAgICAgICAgICAgICAgIrO7ILrxtfC/wCIKSURTX0RFU0tUT1BESVJFQ1RPUlkgICAgICAgICK1pb26xanFviIKSURTX05FVEhPT0QgICAgICAgICAgICAgICAgICKz18auv/bFqSDIr7DmIgpJRFNfVEVNUExBVEVTICAgICAgICAgICAgICAgIlRlbXBsYXRlcyIKSURTX0FQUERBVEEgICAgICAgICAgICAgICAgICJBcHBsaWNhdGlvbiBEYXRhIgpJRFNfUFJJTlRIT09EICAgICAgICAgICAgICAgIrPXxq6/9sWpIMivsOYiCklEU19MT0NBTF9BUFBEQVRBICAgICAgICAgICAiTG9jYWwgU2V0dGluZ3NcXEFwcGxpY2F0aW9uIERhdGEiCklEU19JTlRFUk5FVF9DQUNIRSAgICAgICAgICAiTG9jYWwgU2V0dGluZ3NcXFRlbXBvcmFyeSBJbnRlcm5ldCBGaWxlcyIKSURTX0NPT0tJRVMgICAgICAgICAgICAgICAgICJDb29raWVzIgpJRFNfSElTVE9SWSAgICAgICAgICAgICAgICAgIkxvY2FsIFNldHRpbmdzXFxIaXN0b3J5IgpJRFNfUFJPR1JBTV9GSUxFUyAgICAgICAgICAgIlByb2dyYW0gRmlsZXMiCklEU19NWVBJQ1RVUkVTICAgICAgICAgICAgICAis7sgsde4siIKSURTX1BST0dSQU1fRklMRVNfQ09NTU9OICAgICJQcm9ncmFtIEZpbGVzXFxDb21tb24gRmlsZXMiCklEU19DT01NT05fRE9DVU1FTlRTICAgICAgICAiua68rSIKSURTX0FETUlOVE9PTFMgICAgICAgICAgICAgICK9w8DbuN60ulxcx8G3zrHXt6VcXLD8uK4gtbWxuCIKSURTX0NPTU1PTl9NVVNJQyAgICAgICAgICAgICK5rrytXFyzuyDAvb7HIgpJRFNfQ09NTU9OX1BJQ1RVUkVTICAgICAgICAgIrmuvK1cXLO7ILHXuLIiCklEU19DT01NT05fVklERU8gICAgICAgICAgICAiua68rVxcs7sguvG18L/AIgpJRFNfQ0RCVVJOX0FSRUEgICAgICAgICAgICAgIkxvY2FsIFNldHRpbmdzXFxBcHBsaWNhdGlvbiBEYXRhXFxNaWNyb3NvZnRcXENEIEJ1cm5pbmciCgpJRFNfTkVXRk9MREVSCQkiu/Ugxvq09SIKCklEU19DUEFORUxfVElUTEUgICAgICAgICAgICAiV2luZSDBpr7uxsciCklEU19DUEFORUxfTkFNRSAgICAgICAgICAgICAiwMy4pyIKSURTX0NQQU5FTF9ERVNDUklQVElPTiAgICAgICK8s7jtIgpJRFNfU0hMRVhFQ19OT0FTU09DICAgICAgICAgIsDMIMf8vcTAxyDGxMDPwLsgtbW3zyCxuLy6tcggwKm1tb/sIMfBt86x17elwMwgvvi9wLTPtNkuIgoKfQoKU1RSSU5HVEFCTEUKewpJRFNfTElDRU5TRV9DQVBUSU9OLCAgICAgICAgICAgICJXaW5lILbzwMy8vr26IgpJRFNfTElDRU5TRSwKIldpbmUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIFwKbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBcCkxpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciBcCnZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuXG5cCldpbmUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgXApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBcCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIFwKTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cblxuXApZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIFwKTGljZW5zZSBhbG9uZyB3aXRoIFdpbmU7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgXApGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLiIKfQo=