LyoKICoJT0xFMk5MUyBsaWJyYXJ5CiAqICAgICAgQXJhYmljIChLdXdhaXQpCiAqCiAqCShhcmFiaWMgc3RyaW5ncyBpbiBpc28tODg1OS02KQogKgogKiBDb3B5cmlnaHQgMTk5OCBNYXJjZWwgQmF1cgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKICovCgpMT0NWQUwoTE9DQUxFX0lMQU5HVUFHRSwiMzQwMSIpCi8qIExPQ1ZBTChMT0NBTEVfU0xBTkdVQUdFLCIiKSAqLwpMT0NWQUwoTE9DQUxFX1NFTkdMQU5HVUFHRSwiQXJhYmljIChLdXdhaXQpIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTEFOR05BTUUsImFyayIpCi8qIExPQ1ZBTChMT0NBTEVfU05BVElWRUxBTkdOQU1FLCIiKSAqLwovKiBMT0NWQUwoTE9DQUxFX0lDT1VOVFJZLCIiKSAqLwovKiBMT0NWQUwoTE9DQUxFX1NDT1VOVFJZLCIiKSAqLwpMT0NWQUwoTE9DQUxFX1NFTkdDT1VOVFJZLCJLdXdhaXQiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZDVFJZTkFNRSwiS1dUIikKLyogTE9DVkFMKExPQ0FMRV9TTkFUSVZFQ1RSWU5BTUUsIiIpICovCkxPQ1ZBTChMT0NBTEVfSURFRkFVTFRMQU5HVUFHRSwiMDQwMSIpCi8qIExPQ1ZBTChMT0NBTEVfSURFRkFVTFRDT1VOVFJZLCIiKSAqLwovKiBMT0NWQUwoTE9DQUxFX0lERUZBVUxUQ09ERVBBR0UpICovCkxPQ1ZBTChMT0NBTEVfSURFRkFVTFRBTlNJQ09ERVBBR0UsIjEyNTYiKQpMT0NWQUwoTE9DQUxFX0lERUZBVUxUTUFDQ09ERVBBR0UsIjEwMDA0IikKLyogTE9DVkFMKExPQ0FMRV9TTElTVCwiIikgKi8KLyogTE9DVkFMKExPQ0FMRV9JTUVBU1VSRSwiIikgKi8KLyogTE9DVkFMKExPQ0FMRV9TREVDSU1BTCwiIikgKi8KLyogTE9DVkFMKExPQ0FMRV9TVEhPVVNBTkQsIiIpICovCi8qIExPQ1ZBTChMT0NBTEVfU0dST1VQSU5HKSAqLwovKiBMT0NWQUwoTE9DQUxFX0lESUdJVFMsIjIiKSAqLwovKiBMT0NWQUwoTE9DQUxFX0lMWkVSTywiMSIpICovCi8qIExPQ1ZBTChMT0NBTEVfSU5FR05VTUJFUikgKi8KTE9DVkFMKExPQ0FMRV9TTkFUSVZFRElHSVRTLCIwMTIzNDU2Nzg5IikKLyogTE9DVkFMKExPQ0FMRV9TQ1VSUkVOQ1ksIiIpICovCkxPQ1ZBTChMT0NBTEVfU0lOVExTWU1CT0wsIktXRCIpCkxPQ1ZBTChMT0NBTEVfU01PTkRFQ0lNQUxTRVAsIiwiKQpMT0NWQUwoTE9DQUxFX1NNT05USE9VU0FORFNFUCwiLiIpCi8qIExPQ1ZBTChMT0NBTEVfU01PTkdST1VQSU5HKSAqLwovKiBMT0NWQUwoTE9DQUxFX0lDVVJSRElHSVRTLCIyIikgKi8KLyogTE9DVkFMKExPQ0FMRV9JSU5UTENVUlJESUdJVFMpICovCi8qIExPQ1ZBTChMT0NBTEVfSUNVUlJFTkNZLCIzIikgKi8KLyogTE9DVkFMKExPQ0FMRV9JTkVHQ1VSUiwiOCIpICovCkxPQ1ZBTChMT0NBTEVfU0RBVEUsIi8iKQpMT0NWQUwoTE9DQUxFX1NUSU1FLCI6IikKTE9DVkFMKExPQ0FMRV9TU0hPUlREQVRFLCAieXl5eS9NTS9kZCIpCkxPQ1ZBTChMT0NBTEVfU0xPTkdEQVRFLCAi5SB5eXl5IE1NTU2sIGRkIGRkZGQiKQpMT0NWQUwoTE9DQUxFX1NUSU1FRk9STUFULCAidHQgaDptbTpzcyIpCi8qIExPQ1ZBTChMT0NBTEVfSURBVEUsIjEiKSAqLwovKiBMT0NWQUwoTE9DQUxFX0lMREFURSkgKi8KTE9DVkFMKExPQ0FMRV9JVElNRSwiMSIpCi8qIExPQ1ZBTChMT0NBTEVfSVRJTUVNQVJLUE9TTikgKi8KLyogTE9DVkFMKExPQ0FMRV9JQ0VOVFVSWSkgKi8KTE9DVkFMKExPQ0FMRV9JVExaRVJPLCIxIikKLyogTE9DVkFMKExPQ0FMRV9JREFZTFpFUk8pICovCi8qIExPQ1ZBTChMT0NBTEVfSU1PTkxaRVJPKSAqLwpMT0NWQUwoTE9DQUxFX1MxMTU5LCAi1SIpCkxPQ1ZBTChMT0NBTEVfUzIzNTksICLlIikKTE9DVkFMKExPQ0FMRV9JQ0FMRU5EQVJUWVBFLCAiMSIpCi8qIExPQ1ZBTChMT0NBTEVfSU9QVElPTkFMQ0FMRU5EQVIpICovCi8qIExPQ1ZBTChMT0NBTEVfSUZJUlNUREFZT0ZXRUVLKSAqLwovKiBMT0NWQUwoTE9DQUxFX0lGSVJTVFdFRUtPRllFQVIpICovCgpMT0NWQUwoTE9DQUxFX1NEQVlOQU1FMSwix+TDy+bq5iIpCkxPQ1ZBTChMT0NBTEVfU0RBWU5BTUUyLCLH5Mvkx8vHwSIpCkxPQ1ZBTChMT0NBTEVfU0RBWU5BTUUzLCLH5MPRyNnHwSIpCkxPQ1ZBTChMT0NBTEVfU0RBWU5BTUU0LCLH5M7l6tMiKQpMT0NWQUwoTE9DQUxFX1NEQVlOQU1FNSwix+TM5dnnIikKTE9DVkFMKExPQ0FMRV9TREFZTkFNRTYsIsfk08jKIikKTE9DVkFMKExPQ0FMRV9TREFZTkFNRTcsIsfkw83PIikKCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkRBWU5BTUUxLCLmIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWREFZTkFNRTIsIssiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FMywi0SIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkRBWU5BTUU0LCLOIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWREFZTkFNRTUsIswiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FNiwi0yIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkRBWU5BTUU3LCLNIikKCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTEsIurmx+rRIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FMiwi4cjRx+rRIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FMywi5cfR0yIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTQsIsXI0erkIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FNSwi5cfq6CIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTYsIuro5urnIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FNywi6ujk6uciKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUU4LCLD2tPX0yIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTksItPIyuXI0SIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTEwLCLD48royNEiKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUUxMSwi5ujh5cjRIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FMTIsIs/q0+XI0SIpCi8qIExPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTEzLCIiKSAqLwoKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMSwi6ubHIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMiwi4cjRIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMywi5cfRIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FNCwixcjRIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FNSwi5cfqIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FNiwi6ujmIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FNywi6ujkIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FOCwiw9rTIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FOSwi08jlIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMTAsIsPjyiIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTExLCLm6OEiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZNT05USE5BTUUxMiwiz+rTIikKLyogTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMTMsIiIpICovCgpMT0NWQUwoTE9DQUxFX1NQT1NJVElWRVNJR04sICIiKQpMT0NWQUwoTE9DQUxFX1NORUdBVElWRVNJR04sICItIikKLyogTE9DVkFMKExPQ0FMRV9JUE9TU0lHTlBPU04sICIiKSAqLwovKiBMT0NWQUwoTE9DQUxFX0lORUdTSUdOUE9TTiwgIiIpICovCi8qIExPQ1ZBTChMT0NBTEVfSVBPU1NZTVBSRUNFREVTLCAiIikgKi8KLyogTE9DVkFMKExPQ0FMRV9JUE9TU0VQQllTUEFDRSwgIiIpICovCi8qIExPQ1ZBTChMT0NBTEVfSU5FR1NZTVBSRUNFREVTLCAiIikgKi8KLyogTE9DVkFMKExPQ0FMRV9JTkVHU0VQQllTUEFDRSwgIiIpICovCi8qIExPQ1ZBTChMT0NBTEVfRk9OVFNJR05BVFVSRSwgIiIpICovCkxPQ1ZBTChMT0NBTEVfU0lTTzYzOUxBTkdOQU1FLCJhciIpCkxPQ1ZBTChMT0NBTEVfU0lTTzMxNjZDVFJZTkFNRSwiS1ciKQo=