IyBsaWJpY29udiAtLSBVa3JhaW5pYW4gdHJhbnNsYXRpb24uCiMgQ29weXJpZ2h0IChDKSAyMDAzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgojIFZvbG9keW15ciBNLiBMaXNpdmthIDxsdm1AbXlzdGVyeS5sdml2Lm5ldD4sIDIwMDMuCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IGxpYmljb252IDEuOFxuIgoiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGJ1Zy1nbnUtbGliaWNvbnZAZ251Lm9yZ1xuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDQtMDEtMjIgMTE6NTQrMDEwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwMy0wMi0wOSAxNzoyNyswMjAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IFZvbG9keW15ciBNLiBMaXNpdmthIDxsdm1AbXlzdGVyeS5sdml2Lm5ldD5cbiIKIkxhbmd1YWdlLVRlYW06IFVrcmFpbmlhbiA8dHJhbnNsYXRpb24tdGVhbS11a0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUtPSTgtVVxuIgoiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgoKIzogc3JjL2ljb252LmM6NTQKbXNnaWQgIlVzYWdlOiBpY29udiBbLWNdIFstc10gWy1mIGZyb21jb2RlXSBbLXQgdG9jb2RlXSBbZmlsZSAuLi5dIgptc2dzdHIgIiIKIvfJy8/SydPUwc7O0TogaWNvbnYgWy1jXSBbLXNdIFstZiDaX8vPxNXXwc7O0V0gWy10INVfy8/E1dfBzs7RXSBbxsHKzCAuLi5dIgoKIzogc3JjL2ljb252LmM6NTYKbXNnaWQgIm9yOiAgICBpY29udiAtbCIKbXNnc3RyICLBws86ICAgaWNvbnYgLWwiCgojOiBzcmMvaWNvbnYuYzo2NgojLCBjLWZvcm1hdAptc2dpZCAiIgoiVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk9cbiIKIndhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLlxuIgptc2dzdHIgIiIKIuPFINemzNjOxSDQ0s/H0sHNzsUg2sHCxdrQxd7Fzs7ROyDVzc/XySDLz9CmwNfBzs7RINDSydfFxMXOpiDVXG4iCiLE1sXSxczYzsnIINTFy9PUwcgg0NLPx9LBzckuICDuxc3BIO628evp6CDHwdLBztSmyjsgzsHXptTYIMfB0sHO1KanICIKIuvv7eXy47bq7u+3XG4iCiLjtu7u7/P0tiDBws8g8PLp5OH07u/z9LYg5OzxIOvv7uvy5fTu77cg47bsti5cbiIKCiM6IHNyYy9pY29udi5jOjY5CiMsIGMtZm9ybWF0Cm1zZ2lkICJXcml0dGVuIGJ5ICVzLlxuIgptc2dzdHIgIuHX1M/SOiAlcy5cbiIKCiM6IHNyYy9pY29udi5jOjEwNSBzcmMvaWNvbnYuYzoxMzcgc3JjL2ljb252LmM6MTg3CiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogJXM6IGluY29tcGxldGUgY2hhcmFjdGVyIG9yIHNoaWZ0IHNlcXVlbmNlXG4iCm1zZ3N0ciAiaWNvbnY6ICVzOiDOxdrB18XS28XOycog08nN18/MIN7JINDP08ymxM/XzqbT1Ngg2s2mzskg0sXHptPU0tVcbiIKCiM6IHNyYy9pY29udi5jOjEzMSBzcmMvaWNvbnYuYzoxODIKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiAlczogY2Fubm90IGNvbnZlcnRcbiIKbXNnc3RyICJpY29udjogJXM6IM7FINfEwczP09Eg0MXSxdTXz9LJ1MlcbiIKCiM6IHNyYy9pY29udi5jOjE1MyBzcmMvaWNvbnYuYzoxOTIgc3JjL2ljb252LmM6MzEwCiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogJXM6ICIKbXNnc3RyICJpY29udjogJXM6ICIKCiM6IHNyYy9pY29udi5jOjIwMQojLCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6ICVzOiBJL08gZXJyb3JcbiIKbXNnc3RyICJpY29udjogJXM6INDPzcnMy8Eg9y/3XG4iCgojOiBzcmMvaWNvbnYuYzoyOTQKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiBjb252ZXJzaW9uIGZyb20gJXMgdW5zdXBwb3J0ZWRcbiIKbXNnc3RyICJpY29udjog0MXSxdTXz9LFzs7RINogJXMgzsUg0KbE1NLJzdWk1NjT0VxuIgoKIzogc3JjL2ljb252LmM6Mjk2CiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogY29udmVyc2lvbiB0byAlcyB1bnN1cHBvcnRlZFxuIgptc2dzdHIgImljb252OiDQxdLF1NfP0sXOztEg1SAlcyDOxSDQpsTU0snN1aTU2NPRXG4iCgojOiBzcmMvaWNvbnYuYzoyOTgKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiBjb252ZXJzaW9uIGZyb20gJXMgdG8gJXMgdW5zdXBwb3J0ZWRcbiIKbXNnc3RyICJpY29udjog0MXSxdTXz9LFzs7RINogJXMg1SAlcyDOxSDQpsTU0snN1aTU2NPRXG4iCgojOiBzcmMvaWNvbnYuYzozMDIKbXNnaWQgIihzdGRpbikiCm1zZ3N0ciAiKNPUxC4g19emxCkiCgojOiBzcmMvaWNvbnYuYzozMjMKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiBJL08gZXJyb3JcbiIKbXNnc3RyICJpbmNvdjog0M/NyczLwSD3L/dcbiIKCiN+IG1zZ2lkICIiCiN+ICJVc2FnZTogaWNvbnYgWy0tYmluYXJ5XSBbLWNdIFstc10gWy1mIGZyb21jb2RlXSBbLXQgdG9jb2RlXSBbZmlsZSAuLi5dIgojfiBtc2dzdHIgIiIKI34gIvfJy8/SydPUwc7O0TpcbiIKI34gIiAgaWNvbnYgWy0tYmluYXJ5XSBbLWNdIFstc10gWy1mINpfy8/E1dfBzs7RXSBbLXQg1V/Lz8TV18HOztFdIFvGwcrMIC4uLl0iCg==