IyBUcmFuc2xhdGlvbiBvZiBgZ2V0dGV4dC1ydW50aW1lJyBtZXNzYWdlcyB0byBKYXBhbmVzZS4KIyBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDIsIDIwMDMsIDIwMDYsIDIwMDcsIDIwMTAsIDIwMTMsIDIwMTUsIDIwMTksIDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIGdldHRleHQgcGFja2FnZS4KIyBNYXNhaGl0byBZYW1hZ2EgPG1hQHlhbWEtZ2EuY29tPiwgMjAyMC4KIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogR05VIGdldHRleHQtcnVudGltZSAwLjIwLjJcbiIKIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBidWctZ2V0dGV4dEBnbnUub3JnXG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAyMC0wNy0yNiAyMTo1NiswMjAwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDIwLTA0LTE2IDE2OjU3KzA5MDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogTWFzYWhpdG8gWWFtYWdhIDxtYUB5YW1hLWdhLmNvbT5cbiIKIkxhbmd1YWdlLVRlYW06IEphcGFuZXNlIDx0cmFuc2xhdGlvbi10ZWFtLWphQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKIkxhbmd1YWdlOiBqYVxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1FVUMtSlBcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKIlgtQnVnczogUmVwb3J0IHRyYW5zbGF0aW9uIGVycm9ycyB0byB0aGUgTGFuZ3VhZ2UtVGVhbSBhZGRyZXNzLlxuIgoiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0xOyBwbHVyYWw9MDtcbiIKCiM6IGdudWxpYi1saWIvY2xvc2VvdXQuYzo2Ngptc2dpZCAid3JpdGUgZXJyb3IiCm1zZ3N0ciAivfGkrbn+pN+lqKXpobwiCgojOiBnbnVsaWItbGliL2Vycm9yLmM6MTk1Cm1zZ2lkICJVbmtub3duIHN5c3RlbSBlcnJvciIKbXNnc3RyICLMpMPOpM6lt6W5pcal4KWopemhvCIKCiM6IGdudWxpYi1saWIvZ2V0b3B0LmM6Mjc4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogb3B0aW9uICclcyVzJyBpcyBhbWJpZ3VvdXNcbiIKbXNnc3RyICIlczogpaql16W3peel8yAnJXMlcycgpM/bo8vmpMekuVxuIgoKIzogZ251bGliLWxpYi9nZXRvcHQuYzoyODQKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBvcHRpb24gJyVzJXMnIGlzIGFtYmlndW91czsgcG9zc2liaWxpdGllczoiCm1zZ3N0ciAiJXM6IKWqpdelt6XnpfMgJyVzJXMnIKSs26PL5i4gu9jE6rLEx72kyqTipM46IgoKIzogZ251bGliLWxpYi9nZXRvcHQuYzozMTkKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB1bnJlY29nbml6ZWQgb3B0aW9uICclcyVzJ1xuIgptc2dzdHIgIiVzOiDMpMenvLGlqqXXpbel56XzICclcyVzJ1xuIgoKIzogZ251bGliLWxpYi9nZXRvcHQuYzozNDUKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBvcHRpb24gJyVzJXMnIGRvZXNuJ3QgYWxsb3cgYW4gYXJndW1lbnRcbiIKbXNnc3RyICIlczogpaql16W3peel8yAnJXMlcycgpMuw+r/0pM+koqTqpN6ku6TzXG4iCgojOiBnbnVsaWItbGliL2dldG9wdC5jOjM2MAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IG9wdGlvbiAnJXMlcycgcmVxdWlyZXMgYW4gYXJndW1lbnRcbiIKbXNnc3RyICIlczogpaql16W3peel8yAnJXMlcycgpMukz7D6v/SkrMmszdekx6S5XG4iCgojOiBnbnVsaWItbGliL2dldG9wdC5jOjYyMQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGludmFsaWQgb3B0aW9uIC0tICclYydcbiIKbXNnc3RyICIlczogzLW4+qTKpaql16W3peel8yAtLSAnJWMnXG4iCgojOiBnbnVsaWItbGliL2dldG9wdC5jOjYzNiBnbnVsaWItbGliL2dldG9wdC5jOjY4MgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAnJWMnXG4iCm1zZ3N0ciAiJXM6ILD6v/SkrMmszdekyqWqpdelt6XnpfMgLS0gJyVjJ1xuIgoKIzogZ251bGliLWxpYi94bWFsbG9jLmM6MzgKIywgYy1mb3JtYXQKbXNnaWQgIm1lbW9yeSBleGhhdXN0ZWQiCm1zZ3N0ciAipeGl4qXqpPK7yKSkssykv6S3pN6kt6S/IgoKIzogc3JjL2VudnN1YnN0LmM6MTEwIHNyYy9nZXR0ZXh0LmM6MTM1IHNyYy9uZ2V0dGV4dC5jOjEyNAojLCBjLWZvcm1hdCwgbm8td3JhcAptc2dpZCAiIgoiQ29weXJpZ2h0IChDKSAlcyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKIkxpY2Vuc2UgR1BMdjMrOiBHTlUgR1BMIHZlcnNpb24gMyBvciBsYXRlciA8JXM+XG4iCiJUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC5cbiIKIlRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuXG4iCm1zZ3N0ciAiIgoiQ29weXJpZ2h0IChDKSAlcyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKIkxpY2Vuc2UgR1BMdjMrOiBHTlUgR1BMIHZlcnNpb24gMyBvciBsYXRlciA8JXM+XG4iCiJUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC5cbiIKIlRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuXG4iCiJcbiIKIlu7srnNzPVdXG4iCiKl6aWkpbul86W5IEdQTHYzKzogR05VIEdQTCCl0KG8pbil56XzIDMgpN6kv6TPpL2k7LDKud8gPGh0dHBzOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbD5cbiIKIqSzpOykz6XVpeqhvKGmpb2l1aXIpaalp6WipMekuS4gsv7K0aTIusbH28nbpM+8q82zpMekuS5cbiIKIsuhpMe19qS1pOykv8jPsM/G4qTHzLXK3b7apMekuS5cbiIKCiM6IHNyYy9lbnZzdWJzdC5jOjExNiBzcmMvZ2V0dGV4dC5jOjE0MSBzcmMvbmdldHRleHQuYzoxMzAKIywgYy1mb3JtYXQKbXNnaWQgIldyaXR0ZW4gYnkgJXMuXG4iCm1zZ3N0ciAiuu681CAlcy5cbiIKCiMuIFRoaXMgaXMgYSBwcm9wZXIgbmFtZS4gU2VlIHRoZSBnZXR0ZXh0IG1hbnVhbCwgc2VjdGlvbiBOYW1lcy4KIzogc3JjL2VudnN1YnN0LmM6MTE2Cm1zZ2lkICJCcnVubyBIYWlibGUiCm1zZ3N0ciAiQnJ1bm8gSGFpYmxlIgoKIzogc3JjL2VudnN1YnN0LmM6MTI1IHNyYy9nZXR0ZXh0LmM6MTU5IHNyYy9uZ2V0dGV4dC5jOjE0MgojLCBjLWZvcm1hdAptc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgptc2dzdHIgIrD6v/SkrMK/pLmkrqTepLkiCgojOiBzcmMvZW52c3Vic3QuYzoxMzYgc3JjL2dldHRleHQuYzoxNjkgc3JjL25nZXR0ZXh0LmM6MTU0CiMsIGMtZm9ybWF0Cm1zZ2lkICJtaXNzaW5nIGFyZ3VtZW50cyIKbXNnc3RyICKw+r/0pKykoqTqpN6ku6TzIgoKIzogc3JjL2VudnN1YnN0LmM6MTc0IHNyYy9nZXR0ZXh0LmM6MjQ2IHNyYy9uZ2V0dGV4dC5jOjIxMQojLCBjLWZvcm1hdAptc2dpZCAiVHJ5ICclcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgptc2dzdHIgIqTopOrCv6SvpM6+8MrzpPLGwKTrpL+k4aTLpM8gJyVzIC0taGVscCcgpMjG/s7PpLekxqSvpMCktaSkLlxuIgoKIzogc3JjL2VudnN1YnN0LmM6MTc5CiMsIGMtZm9ybWF0LCBuby13cmFwCm1zZ2lkICJVc2FnZTogJXMgW09QVElPTl0gW1NIRUxMLUZPUk1BVF1cbiIKbXNnc3RyICK7yM3Ry6E6ICVzIFulqqXXpbel56XzXSBbpbelp6Xrt8G8sF1cbiIKCiM6IHNyYy9lbnZzdWJzdC5jOjE4NAojLCBjLWZvcm1hdCwgbm8td3JhcAptc2dpZCAiU3Vic3RpdHV0ZXMgdGhlIHZhbHVlcyBvZiBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4iCm1zZ3N0ciAitMS2rcrRv/SkzsPNpPLC5cb+LlxuIgoKIzogc3JjL2VudnN1YnN0LmM6MTg4CiMsIGMtZm9ybWF0LCBuby13cmFwCm1zZ2lkICJPcGVyYXRpb24gbW9kZTpcbiIKbXNnc3RyICKlqqXapeyhvKW3peel86XiobylyTpcbiIKCiM6IHNyYy9lbnZzdWJzdC5jOjE5MQojLCBjLWZvcm1hdCwgbm8td3JhcAptc2dpZCAiICAtdiwgLS12YXJpYWJsZXMgICAgICAgICAgICAgb3V0cHV0IHRoZSB2YXJpYWJsZXMgb2NjdXJyaW5nIGluIFNIRUxMLUZPUk1BVFxuIgptc2dzdHIgIiAgLXYsIC0tdmFyaWFibGVzICAgICAgICAgICAgIKW3pael67fBvLCky7i9pOyk68rRv/Sk8r3Qzs9cbiIKCiM6IHNyYy9lbnZzdWJzdC5jOjE5NSBzcmMvZ2V0dGV4dC5jOjI3NSBzcmMvbmdldHRleHQuYzoyNDEKIywgYy1mb3JtYXQsIG5vLXdyYXAKbXNnaWQgIkluZm9ybWF0aXZlIG91dHB1dDpcbiIKbXNnc3RyICLNrbHXpMq90M7POlxuIgoKIzogc3JjL2VudnN1YnN0LmM6MTk4CiMsIGMtZm9ybWF0LCBuby13cmFwCm1zZ2lkICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgptc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgIKSzpM6l2KXrpdek8sm9vKikt6TGvarOu1xuIgoKIzogc3JjL2VudnN1YnN0LmM6MjAxCiMsIGMtZm9ybWF0LCBuby13cmFwCm1zZ2lkICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgptc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgIKXQobyluKXnpfO+8MrzpPK90M7PpLekxr2qzrtcbiIKCiM6IHNyYy9lbnZzdWJzdC5jOjIwNQojLCBjLWZvcm1hdCwgbm8td3JhcAptc2dpZCAiIgoiSW4gbm9ybWFsIG9wZXJhdGlvbiBtb2RlLCBzdGFuZGFyZCBpbnB1dCBpcyBjb3BpZWQgdG8gc3RhbmRhcmQgb3V0cHV0LFxuIgoid2l0aCByZWZlcmVuY2VzIHRvIGVudmlyb25tZW50IHZhcmlhYmxlcyBvZiB0aGUgZm9ybSAkVkFSSUFCTEUgb3IgJHtWQVJJQUJMRX1cbiIKImJlaW5nIHJlcGxhY2VkIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgdmFsdWVzLiAgSWYgYSBTSEVMTC1GT1JNQVQgaXMgZ2l2ZW4sXG4iCiJvbmx5IHRob3NlIGVudmlyb25tZW50IHZhcmlhYmxlcyB0aGF0IGFyZSByZWZlcmVuY2VkIGluIFNIRUxMLUZPUk1BVCBhcmVcbiIKInN1YnN0aXR1dGVkOyBvdGhlcndpc2UgYWxsIGVudmlyb25tZW50IHZhcmlhYmxlcyByZWZlcmVuY2VzIG9jY3VycmluZyBpblxuIgoic3RhbmRhcmQgaW5wdXQgYXJlIHN1YnN0aXR1dGVkLlxuIgptc2dzdHIgIiIKIsTMvu+kzqWqpdql7KG8pbel56XzpeKhvKXJpMekzywgybi94Mb+zs+krMm4veC90M7PpMuls6XUobyktaTsLCAkVkFSSUFCTEVcbiIKIqTepL+kzyAke1ZBUklBQkxFfSC3wbywpM60xLatytG/9KTyu7K+yKS3LCCkvaTspL6k7KTOw82ky8PWtLmktaTspN6kuS5cbiIKIqW3pael67fBvLCkrLvYxOqktaTspOukyCwgpbelp6Xrt8G8sKTHu7K+yKS1pOyk6ywgpL2kzqTopKakyrTEtq3K0b/0pMCksaSsXG4iCiLC5cb+pLWk7KTepLmkrCwgpL2kpqTHpMqkpL7sueekz8m4veDG/s7PpMu4vaTspOvBtKTGpM60xLatytG/9KSswuXG/qS1pOyk3qS5LlxuIgoKIzogc3JjL2VudnN1YnN0LmM6MjE0CiMsIGMtZm9ybWF0LCBuby13cmFwCm1zZ2lkICIiCiJXaGVuIC0tdmFyaWFibGVzIGlzIHVzZWQsIHN0YW5kYXJkIGlucHV0IGlzIGlnbm9yZWQsIGFuZCB0aGUgb3V0cHV0IGNvbnNpc3RzXG4iCiJvZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRoYXQgYXJlIHJlZmVyZW5jZWQgaW4gU0hFTEwtRk9STUFULCBvbmUgcGVyIGxpbmUuXG4iCm1zZ3N0ciAiIgoiLS12YXJpYWJsZXMgpKy7yKTvpOyk66TILCDJuL3gxv7Oz6TPzLW766S1pOwsIL3Qzs+kzyAxudSkuqTEpbelp6Xrt8G8sKTHXG4iCiK7sr7IpLWk7KTrtMS2rcrRv/Skq6Tpub3ArqS1pOyk3qS5LlxuIgoKIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCBwbGFjZWhvbGRlciBpcyB0aGUgd2ViIGFkZHJlc3Mgb2YgdGhlIFNhdmFubmFoCiMuIHByb2plY3Qgb2YgdGhpcyBwYWNrYWdlLiAgVGhlIHNlY29uZCBwbGFjZWhvbGRlciBpcyB0aGUgYnVnLXJlcG9ydGluZwojLiBlbWFpbCBhZGRyZXNzIGZvciB0aGlzIHBhY2thZ2UuICBQbGVhc2UgYWRkIF9hbm90aGVyIGxpbmVfIHNheWluZwojLiAiUmVwb3J0IHRyYW5zbGF0aW9uIGJ1Z3MgdG8gPC4uLj5cbiIgd2l0aCB0aGUgYWRkcmVzcyBmb3IgdHJhbnNsYXRpb24KIy4gYnVncyAodHlwaWNhbGx5IHlvdXIgdHJhbnNsYXRpb24gdGVhbSdzIHdlYiBvciBlbWFpbCBhZGRyZXNzKS4KIzogc3JjL2VudnN1YnN0LmM6MjIzIHNyYy9nZXR0ZXh0LmM6Mjk5IHNyYy9uZ2V0dGV4dC5jOjI2MgojLCBjLWZvcm1hdAptc2dpZCAiIgoiUmVwb3J0IGJ1Z3MgaW4gdGhlIGJ1ZyB0cmFja2VyIGF0IDwlcz5cbiIKIm9yIGJ5IGVtYWlsIHRvIDwlcz4uXG4iCm1zZ3N0ciAiIgoipdClsKXspd2hvKXIpM8gPCVzPiCkzqXQpbClyKXppcOlq6G8pMtcbiIKIqTepL+kzyA8JXM+ILC4pMvFxbvSpeGhvKXrpMcuXG4iCgojOiBzcmMvZW52c3Vic3QuYzo0NTEKIywgYy1mb3JtYXQKbXNnaWQgImVycm9yIHdoaWxlIHJlYWRpbmcgXCIlc1wiIgptc2dzdHIgIlwiJXNcIiDGyaTfuf6k38PmpM6lqKXpobwiCgojOiBzcmMvZW52c3Vic3QuYzo0NTEKbXNnaWQgInN0YW5kYXJkIGlucHV0Igptc2dzdHIgIsm4veDG/s7PIgoKIy4gVGhpcyBpcyBhIHByb3BlciBuYW1lLiBTZWUgdGhlIGdldHRleHQgbWFudWFsLCBzZWN0aW9uIE5hbWVzLgojOiBzcmMvZ2V0dGV4dC5jOjE0MSBzcmMvbmdldHRleHQuYzoxMzAKbXNnaWQgIlVscmljaCBEcmVwcGVyIgptc2dzdHIgIlVscmljaCBEcmVwcGVyIgoKIzogc3JjL2dldHRleHQuYzoyNTEKIywgYy1mb3JtYXQsIG5vLXdyYXAKbXNnaWQgIiIKIlVzYWdlOiAlcyBbT1BUSU9OXSBbW1RFWFRET01BSU5dIE1TR0lEXVxuIgoib3I6ICAgICVzIFtPUFRJT05dIC1zIFtNU0dJRF0uLi5cbiIKbXNnc3RyICIiCiK7yM3Ry6E6ICVzIFulqqXXpbel56XzXSBbW1RFWFRET01BSU5dIE1TR0lEXVxuIgoipN6kv6TPOiAlcyBbpaql16W3peel810gLXMgW01TR0lEXS4uLlxuIgoKIzogc3JjL2dldHRleHQuYzoyNTcKIywgYy1mb3JtYXQsIG5vLXdyYXAKbXNnaWQgIkRpc3BsYXkgbmF0aXZlIGxhbmd1YWdlIHRyYW5zbGF0aW9uIG9mIGEgdGV4dHVhbCBtZXNzYWdlLlxuIgptc2dzdHIgIri2yrikzqXhpcOlu6G8pbikzryrufG47MvdzPWk8sm9vKguXG4iCgojOiBzcmMvZ2V0dGV4dC5jOjI2MQojLCBjLWZvcm1hdCwgbm8td3JhcAptc2dpZCAiICAtZCwgLS1kb21haW49VEVYVERPTUFJTiAgIHJldHJpZXZlIHRyYW5zbGF0ZWQgbWVzc2FnZXMgZnJvbSBURVhURE9NQUlOXG4iCm1zZ3N0ciAiICAtZCwgLS1kb21haW49VEVYVERPTUFJTiAgIFRFWFRET01BSU4gpKuk6cvdzPWktaTspL+l4aXDpbuhvKW4pPLGyaTfvdCkuVxuIgoKIzogc3JjL2dldHRleHQuYzoyNjMgc3JjL25nZXR0ZXh0LmM6MjI4CiMsIGMtZm9ybWF0Cm1zZ2lkICIgIC1jLCAtLWNvbnRleHQ9Q09OVEVYVCAgICAgc3BlY2lmeSBjb250ZXh0IGZvciBNU0dJRFxuIgptc2dzdHIgIiAgLWMgIC0tY29udGV4dD1DT05URVhUICAgICBNU0dJRCCky8LQpLmk66WzpfOlxqWtpbmlyKTyu9jE6lxuIgoKIzogc3JjL2dldHRleHQuYzoyNjUgc3JjL25nZXR0ZXh0LmM6MjMwCiMsIGMtZm9ybWF0Cm1zZ2lkICIgIC1lICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlIGV4cGFuc2lvbiBvZiBzb21lIGVzY2FwZSBzZXF1ZW5jZXNcbiIKbXNnc3RyICIiCiIgIC1lICAgICAgICAgICAgICAgICAgICAgICAgpKSkr6TEpKukzqWopbmlsaG8pdelt6G8pbGl86W5pM7FuLOrpPKyxMe9pMtcbiIKCiM6IHNyYy9nZXR0ZXh0LmM6MjY3CiMsIGMtZm9ybWF0Cm1zZ2lkICIgIC1uICAgICAgICAgICAgICAgICAgICAgICAgc3VwcHJlc3MgdHJhaWxpbmcgbmV3bGluZVxuIgptc2dzdHIgIiAgLW4gICAgICAgICAgICAgICAgICAgICAgICDL9sj4pM6y/rnUpPLN3sCpXG4iCgojOiBzcmMvZ2V0dGV4dC5jOjI2OSBzcmMvbmdldHRleHQuYzoyMzIKIywgYy1mb3JtYXQKbXNnaWQgIiAgLUUgICAgICAgICAgICAgICAgICAgICAgICAoaWdub3JlZCBmb3IgY29tcGF0aWJpbGl0eSlcbiIKbXNnc3RyICIgIC1FICAgICAgICAgICAgICAgICAgICAgICAgKLjftLnAraTOpL+k4aTLzLW76ylcbiIKCiM6IHNyYy9nZXR0ZXh0LmM6MjcxCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIFtURVhURE9NQUlOXSBNU0dJRCAgICAgICAgcmV0cmlldmUgdHJhbnNsYXRlZCBtZXNzYWdlIGNvcnJlc3BvbmRpbmdcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBNU0dJRCBmcm9tIFRFWFRET01BSU5cbiIKbXNnc3RyICIiCiIgIFtURVhURE9NQUlOXSBNU0dJRCAgICAgICAgVEVYVERPTUFJTiCkq6TpIE1TR0lEIKTLsOzD16S5pOvL3cz1pLWk7KS/XG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgpeGlw6W7obyluKTyxsmk373QpLlcbiIKCiM6IHNyYy9nZXR0ZXh0LmM6Mjc3IHNyYy9uZ2V0dGV4dC5jOjI0MwojLCBjLWZvcm1hdAptc2dpZCAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCm1zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIKSzpM6l2KXrpdek8sm9vKikt6TGvarOu1xuIgoKIzogc3JjL2dldHRleHQuYzoyNzkgc3JjL25nZXR0ZXh0LmM6MjQ1CiMsIGMtZm9ybWF0Cm1zZ2lkICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCm1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgIKXQobyluKXnpfO+8MrzpPLJvbyopLekxr2qzrtcbiIKCiM6IHNyYy9nZXR0ZXh0LmM6MjgzCiMsIGMtZm9ybWF0LCBuby13cmFwCm1zZ2lkICIiCiJJZiB0aGUgVEVYVERPTUFJTiBwYXJhbWV0ZXIgaXMgbm90IGdpdmVuLCB0aGUgZG9tYWluIGlzIGRldGVybWluZWQgZnJvbSB0aGVcbiIKImVudmlyb25tZW50IHZhcmlhYmxlIFRFWFRET01BSU4uICBJZiB0aGUgbWVzc2FnZSBjYXRhbG9nIGlzIG5vdCBmb3VuZCBpbiB0aGVcbiIKInJlZ3VsYXIgZGlyZWN0b3J5LCBhbm90aGVyIGxvY2F0aW9uIGNhbiBiZSBzcGVjaWZpZWQgd2l0aCB0aGUgZW52aXJvbm1lbnRcbiIKInZhcmlhYmxlIFRFWFRET01BSU5ESVIuXG4iCiJXaGVuIHVzZWQgd2l0aCB0aGUgLXMgb3B0aW9uIHRoZSBwcm9ncmFtIGJlaGF2ZXMgbGlrZSB0aGUgJ2VjaG8nIGNvbW1hbmQuXG4iCiJCdXQgaXQgZG9lcyBub3Qgc2ltcGx5IGNvcHkgaXRzIGFyZ3VtZW50cyB0byBzdGRvdXQuICBJbnN0ZWFkIHRob3NlIG1lc3NhZ2VzXG4iCiJmb3VuZCBpbiB0aGUgc2VsZWN0ZWQgY2F0YWxvZyBhcmUgdHJhbnNsYXRlZC5cbiIKIlN0YW5kYXJkIHNlYXJjaCBkaXJlY3Rvcnk6ICVzXG4iCm1zZ3N0ciAiIgoipOKktyBURVhURE9NQUlOIKXRpeml4aG8pb+krLvYxOqktaTspMqksaTspNAsILTEtq3K0b/0IFRFWFRET01BSU4gpKuk6VxuIgoipcml4aWkpfOkrLfopN6k6qTepLkuIKTipLfJuL3gpM6lx6Wjpeylr6XIpeqky6XhpcOlu6G8pbilq6W/pe2lsKSsXG4iCiK4q6TEpKuk6aTKpLGk7KTQLCC0xLatytG/9CBURVhURE9NQUlORElSIKTHu9jE6qS1pOykv77sveqkq6Tpw7Wkt6TepLkuXG4iCiItcyClqqXXpbel56XzpPKkxKSxpMa7yKSmpMil16XtpbCl6aXgpM8gJ2VjaG8nIKWzpd6l86XJpM6k6KSmpMvGsLrupLek3qS5LlxuIgoipLekq6S3pL2kzrD6v/Sk8sOxpMukvaTOpN6k3sm4veC90M7PpMuls6XUobykuaTrpO+ksaTHpM+koqTqpN6ku6TzLlxuIgoiwarC8qS1pOykv6Wrpb+l7aWww+aky7vYxOqktaTspL+l4aXDpbuhvKW4pKykoqTspNAsIKS9pM6l4aXDpbuhvKW4pM7C5aTvpOqky1xuIgoiy93M9aS1pOykv6TipM6k8sm9vKikt6TepLkuXG4iCiLJuL3gpM64obr3pcelo6Xspa+lyKXqOiAlc1xuIgoKIzogc3JjL25nZXR0ZXh0LmM6MjE2CiMsIGMtZm9ybWF0LCBuby13cmFwCm1zZ2lkICJVc2FnZTogJXMgW09QVElPTl0gW1RFWFRET01BSU5dIE1TR0lEIE1TR0lELVBMVVJBTCBDT1VOVFxuIgptc2dzdHIgIrvIzdHLoTogJXMgW6Wqpdelt6XnpfNdIFtURVhURE9NQUlOXSBNU0dJRCBNU0dJRC1QTFVSQUwgQ09VTlRcbiIKCiM6IHNyYy9uZ2V0dGV4dC5jOjIyMQojLCBjLWZvcm1hdCwgbm8td3JhcAptc2dpZCAiIgoiRGlzcGxheSBuYXRpdmUgbGFuZ3VhZ2UgdHJhbnNsYXRpb24gb2YgYSB0ZXh0dWFsIG1lc3NhZ2Ugd2hvc2UgZ3JhbW1hdGljYWxcbiIKImZvcm0gZGVwZW5kcyBvbiBhIG51bWJlci5cbiIKbXNnc3RyICLKuMuhvuUsILfBvLCkrL/0pMuk6KTDpMaw26TKpMOkxqSkpOu4tsq4peGlw6W7obyluKTOvKu58bjsy93M9aTyyb28qC5cbiIKCiM6IHNyYy9uZ2V0dGV4dC5jOjIyNgojLCBjLWZvcm1hdCwgbm8td3JhcAptc2dpZCAiICAtZCwgLS1kb21haW49VEVYVERPTUFJTiAgIHJldHJpZXZlIHRyYW5zbGF0ZWQgbWVzc2FnZSBmcm9tIFRFWFRET01BSU5cbiIKbXNnc3RyICIgIC1kLCAtLWRvbWFpbj1URVhURE9NQUlOICAgVEVYVERPTUFJTiCkq6Tpy93M9aS1pOykv6XhpcOlu6G8pbik8sbJpN+90KS5XG4iCgojOiBzcmMvbmdldHRleHQuYzoyMzQKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgW1RFWFRET01BSU5dICAgICAgICAgICAgICByZXRyaWV2ZSB0cmFuc2xhdGVkIG1lc3NhZ2UgZnJvbSBURVhURE9NQUlOXG4iCm1zZ3N0ciAiIgoiICBbVEVYVERPTUFJTl0gICAgICAgICAgICAgIFRFWFRET01BSU4gpKuk6cvdzPWktaTspL+l4aXDpbuhvKW4pPLGyaTfvdCkuVxuIgoKIzogc3JjL25nZXR0ZXh0LmM6MjM2CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIE1TR0lEIE1TR0lELVBMVVJBTCAgICAgICAgdHJhbnNsYXRlIE1TR0lEIChzaW5ndWxhcikgLyBNU0dJRC1QTFVSQUwgIgoiKHBsdXJhbClcbiIKbXNnc3RyICIiCiIgIE1TR0lEIE1TR0lELVBMVVJBTCAgICAgICAgTVNHSUQgKMOxv/S3wSkgLyBNU0dJRC1QTFVSQUwgKMqjv/S3wSkgpPLL3cz1XG4iCgojOiBzcmMvbmdldHRleHQuYzoyMzgKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgQ09VTlQgICAgICAgICAgICAgICAgICAgICBjaG9vc2Ugc2luZ3VsYXIvcGx1cmFsIGZvcm0gYmFzZWQgb24gdGhpcyB2YWx1ZVxuIgptc2dzdHIgIiAgQ09VTlQgICAgICAgICAgICAgICAgICAgICCks6TOw82k8qTipMiky6S3pL/Dsb/0t8Gkq8qjv/S3waSrpPLBqsLyXG4iCgojOiBzcmMvbmdldHRleHQuYzoyNDkKIywgYy1mb3JtYXQsIG5vLXdyYXAKbXNnaWQgIiIKIklmIHRoZSBURVhURE9NQUlOIHBhcmFtZXRlciBpcyBub3QgZ2l2ZW4sIHRoZSBkb21haW4gaXMgZGV0ZXJtaW5lZCBmcm9tIHRoZVxuIgoiZW52aXJvbm1lbnQgdmFyaWFibGUgVEVYVERPTUFJTi4gIElmIHRoZSBtZXNzYWdlIGNhdGFsb2cgaXMgbm90IGZvdW5kIGluIHRoZVxuIgoicmVndWxhciBkaXJlY3RvcnksIGFub3RoZXIgbG9jYXRpb24gY2FuIGJlIHNwZWNpZmllZCB3aXRoIHRoZSBlbnZpcm9ubWVudFxuIgoidmFyaWFibGUgVEVYVERPTUFJTkRJUi5cbiIKIlN0YW5kYXJkIHNlYXJjaCBkaXJlY3Rvcnk6ICVzXG4iCm1zZ3N0ciAiIgoipOKktyBURVhURE9NQUlOIKXRpeml4aG8pb+krLvYxOqktaTspMqksaTspNAsILTEtq3K0b/0IFRFWFRET01BSU4gpKuk6VxuIgoipcml4aWkpfOkrLfopN6k6qTepLkuIKTipLfJuL3gpM6lx6Wjpeylr6XIpeqky6XhpcOlu6G8pbilq6W/pe2lsKSsXG4iCiK4q6TEpKuk6aTKpLGk7KTQLCC0xLatytG/9CBURVhURE9NQUlORElSIKTHu9jE6qS1pOykv77sveqkq6Tpw7Wkt6TepLkuXG4iCiLJuL3gpM64obr3pcelo6Xspa+lyKXqOiAlc1xuIgo=