LyoKICoJT0xFMk5MUyBsaWJyYXJ5CiAqICAgICAgTGF0dmlhCiAqCShMYXR2aWFuIHN0cmluZ3MgaW4gQkFMVElDIGNoYXJzZXQpCiAqCiAqIENvcHlyaWdodCAxOTk4IE1hcmNlbCBCYXVyCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQogKi8KCkxPQ1ZBTChMT0NBTEVfSUxBTkdVQUdFLCIwNDI2IikKTE9DVkFMKExPQ0FMRV9TTEFOR1VBR0UsIkxhdHZpYW4iKQpMT0NWQUwoTE9DQUxFX1NFTkdMQU5HVUFHRSwiTGF0dmlhbiIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkxBTkdOQU1FLCJsdmkiKQpMT0NWQUwoTE9DQUxFX1NOQVRJVkVMQU5HTkFNRSwiTGF0dmll8HUiKQpMT0NWQUwoTE9DQUxFX0lDT1VOVFJZLCIzNzEiKQpMT0NWQUwoTE9DQUxFX1NDT1VOVFJZLCJMYXR2aWEiKQpMT0NWQUwoTE9DQUxFX1NFTkdDT1VOVFJZLCJMYXR2aWEiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZDVFJZTkFNRSwiTFZBIikKTE9DVkFMKExPQ0FMRV9TTkFUSVZFQ1RSWU5BTUUsIkxhdHZpamEiKQpMT0NWQUwoTE9DQUxFX0lERUZBVUxUTEFOR1VBR0UsIjA0MjYiKQpMT0NWQUwoTE9DQUxFX0lERUZBVUxUQ09VTlRSWSwiMzcxIikKTE9DVkFMKExPQ0FMRV9JREVGQVVMVENPREVQQUdFLCI3NzUiKQpMT0NWQUwoTE9DQUxFX0lERUZBVUxUQU5TSUNPREVQQUdFLCIxMjU3IikKTE9DVkFMKExPQ0FMRV9JREVGQVVMVE1BQ0NPREVQQUdFLCIxMDAyOSIpCkxPQ1ZBTChMT0NBTEVfU0xJU1QsIjsiKQpMT0NWQUwoTE9DQUxFX0lNRUFTVVJFLCIwIikKTE9DVkFMKExPQ0FMRV9TREVDSU1BTCwiLCIpCkxPQ1ZBTChMT0NBTEVfU1RIT1VTQU5ELCIuIikKTE9DVkFMKExPQ0FMRV9TR1JPVVBJTkcsIjM7MCIpCkxPQ1ZBTChMT0NBTEVfSURJR0lUUywiMiIpCkxPQ1ZBTChMT0NBTEVfSUxaRVJPLCIxIikKTE9DVkFMKExPQ0FMRV9JTkVHTlVNQkVSLCIxIikKTE9DVkFMKExPQ0FMRV9TTkFUSVZFRElHSVRTLCIwMTIzNDU2Nzg5IikKTE9DVkFMKExPQ0FMRV9TQ1VSUkVOQ1ksIkxzIikKTE9DVkFMKExPQ0FMRV9TSU5UTFNZTUJPTCwiTFZMIikKTE9DVkFMKExPQ0FMRV9TTU9OREVDSU1BTFNFUCwiLCIpCkxPQ1ZBTChMT0NBTEVfU01PTlRIT1VTQU5EU0VQLCIuIikKTE9DVkFMKExPQ0FMRV9TTU9OR1JPVVBJTkcsIjM7MCIpCkxPQ1ZBTChMT0NBTEVfSUNVUlJESUdJVFMsIjIiKQpMT0NWQUwoTE9DQUxFX0lJTlRMQ1VSUkRJR0lUUywiMiIpCkxPQ1ZBTChMT0NBTEVfSUNVUlJFTkNZLCIzIikKTE9DVkFMKExPQ0FMRV9JTkVHQ1VSUiwiOCIpCkxPQ1ZBTChMT0NBTEVfU0RBVEUsIi4iKQpMT0NWQUwoTE9DQUxFX1NUSU1FLCI6IikKTE9DVkFMKExPQ0FMRV9TU0hPUlREQVRFLCJ5eS5NTS5kZC4iKQpMT0NWQUwoTE9DQUxFX1NMT05HREFURSwiZGRkLCB5eXl5LiAnZ2FkYScgZC4gTU1NTSIpCkxPQ1ZBTChMT0NBTEVfU1RJTUVGT1JNQVQsIkhIOm1tOnNzIikKTE9DVkFMKExPQ0FMRV9JREFURSwiMiIpCkxPQ1ZBTChMT0NBTEVfSUxEQVRFLCIyIikKTE9DVkFMKExPQ0FMRV9JVElNRSwiMSIpCkxPQ1ZBTChMT0NBTEVfSVRJTUVNQVJLUE9TTiwiMCIpCkxPQ1ZBTChMT0NBTEVfSUNFTlRVUlksIjEiKQpMT0NWQUwoTE9DQUxFX0lUTFpFUk8sIjEiKQpMT0NWQUwoTE9DQUxFX0lEQVlMWkVSTywiMSIpCkxPQ1ZBTChMT0NBTEVfSU1PTkxaRVJPLCIxIikKTE9DVkFMKExPQ0FMRV9TMTE1OSwiIikKTE9DVkFMKExPQ0FMRV9TMjM1OSwiIikKTE9DVkFMKExPQ0FMRV9JQ0FMRU5EQVJUWVBFLCIxIikKTE9DVkFMKExPQ0FMRV9JT1BUSU9OQUxDQUxFTkRBUiwiMCIpCkxPQ1ZBTChMT0NBTEVfSUZJUlNUREFZT0ZXRUVLLCIwIikKTE9DVkFMKExPQ0FMRV9JRklSU1RXRUVLT0ZZRUFSLCIwIikKCkxPQ1ZBTChMT0NBTEVfU0RBWU5BTUUxLCJwaXJtZGllbmEiKQpMT0NWQUwoTE9DQUxFX1NEQVlOQU1FMiwib3RyZGllbmEiKQpMT0NWQUwoTE9DQUxFX1NEQVlOQU1FMywidHJl8GRpZW5hIikKTE9DVkFMKExPQ0FMRV9TREFZTkFNRTQsImNldHVydGRpZW5hIikKTE9DVkFMKExPQ0FMRV9TREFZTkFNRTUsInBpZWt0ZGllbmEiKQpMT0NWQUwoTE9DQUxFX1NEQVlOQU1FNiwic2VzdGRpZW5hIikKTE9DVkFMKExPQ0FMRV9TREFZTkFNRTcsInN253RkaWVuYSIpCgpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FMSwiUCAiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FMiwiTyAiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FMywiVCAiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FNCwiQyAiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FNSwiUCAiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FNiwiUyAiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FNywiU3YiKQoKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FMSwiamFuduJyaXMiKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUUyLCJmZWJydeJyaXMiKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUUzLCJtYXJ0cyIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTQsImFwcu5saXMiKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUU1LCJtYWlqcyIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTYsImr7bGlqcyIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTcsImr7bmlqcyIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTgsImF1Z3VzdHMiKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUU5LCJzZXB0ZW1icmlzIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FMTAsIm9rdG9icmlzIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FMTEsIm5vdmVtYnJpcyIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTEyLCJkZWNlbWJyaXMiKQovKiBMT0NWQUwoTE9DQUxFX1NNT05USE5BTUUxMywiIikgKi8KCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTEsImphbiIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTIsImZlYiIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTMsIm1hciIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTQsImFwciIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTUsIm1haSIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTYsImr7biIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTcsImr7bCIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTgsImF1ZyIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTksInNlcCIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTEwLCJva3QiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZNT05USE5BTUUxMSwibm92IikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMTIsImRlYyIpCi8qIExPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTEzLCIiKSAqLwoKTE9DVkFMKExPQ0FMRV9TUE9TSVRJVkVTSUdOLCIiKQpMT0NWQUwoTE9DQUxFX1NORUdBVElWRVNJR04sIi0iKQpMT0NWQUwoTE9DQUxFX0lQT1NTSUdOUE9TTiwiMSIpCkxPQ1ZBTChMT0NBTEVfSU5FR1NJR05QT1NOLCIxIikKTE9DVkFMKExPQ0FMRV9JUE9TU1lNUFJFQ0VERVMsIjAiKQpMT0NWQUwoTE9DQUxFX0lQT1NTRVBCWVNQQUNFLCIxIikKTE9DVkFMKExPQ0FMRV9JTkVHU1lNUFJFQ0VERVMsIjAiKQpMT0NWQUwoTE9DQUxFX0lORUdTRVBCWVNQQUNFLCIxIikKLyogTE9DVkFMKExPQ0FMRV9GT05UU0lHTkFUVVJFLCAiIikgKi8KTE9DVkFMKExPQ0FMRV9TSVNPNjM5TEFOR05BTUUsImx2IikKTE9DVkFMKExPQ0FMRV9TSVNPMzE2NkNUUllOQU1FLCJMViIpCg==