IyBSdXNzaWFuIHRyYW5zbGF0aW9ucyBmb3IgUgojIPLV09PLycog0MXSxdfPxCDEzNEgUgojCiMgQ29weXJpZ2h0IChDKSAyMDA4IFRoZSBSIEZvdW5kYXRpb24KIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgUiBwYWNrYWdlLgojIEFsZXhleSBTaGlwdW5vdiA8ZGFjdHlsb3JoaXphIGF0IGdtYWlsPiAyMDA4CiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IFIgMi45LjBcbiIKIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBidWdzLnItcHJvamVjdC5vcmdcbiIKIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDIxLTExLTA2IDE3OjE3KzAxMDBcbiIKIlBPLVJldmlzaW9uLURhdGU6IDIwMjAtMDgtMjcgMTk6MjIrMDkwMFxuIgoiTGFzdC1UcmFuc2xhdG9yOiBBbGV4ZXkgU2hpcHVub3YgPGRhY3R5bG9yaGl6YUBnbWFpbC5jb20+XG4iCiJMYW5ndWFnZS1UZWFtOiBSdXNzaWFuXG4iCiJMYW5ndWFnZTogcnVcbiIKIk1JTUUtVmVyc2lvbjogMS4wXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9S09JOC1SXG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTM7IHBsdXJhbD0obiUxMD09MSAmJiBuJTEwMCE9MTEgPyAwIDogbiUxMD49MiAmJiBuJTEwPD00ICYmIChuJTEwMDwxMCB8fCBuJTEwMD49MjApID8gMSA6IDIpO1xuIgoiWC1HZW5lcmF0b3I6IFBvZWRpdCAxLjguNy4xXG4iCgojOiBncGFyLmM6NTIzCm1zZ2lkICJ1cGRhdGVHQ29udGV4dCBtdXN0IG9ubHkgYmUgY2FsbGVkIGFmdGVyIGluaXRHQ29udGV4dCIKbXNnc3RyICJ1cGRhdGVHQ29udGV4dCDNz9bOzyDX2drZ18HU2CDUz8zYy88g0M/TzMUgaW5pdEdDb250ZXh0IgoKIzogZ3JpZC5jOjE5OQojLCBmdXp6eQptc2dpZCAiVHVybmluZyBjbGlwcGluZyBvbiBvciBvZmYgd2l0aGluIGEgKGNsaXBwaW5nKSBwYXRoIGlzIG5vIGhvbm91cmVkIgptc2dzdHIgIu7FyM/Sz9vPINfLzMDewdTYIMnMySDX2cvMwN7B1Nggz9TTxd7FzsnFINfO1dTSySDLz87U1dLBIM/U08Xexc7J0SIKCiM6IGdyaWQuYzoyNDEKbXNnaWQgImNhbm5vdCBjbGlwIHRvIHJvdGF0ZWQgdmlld3BvcnQiCm1zZ3N0ciAizsUgzc/H1SDPwtLF2sHU2CDEzyDQz9fF0s7V1M/KIM/Lz87OycPZIgoKIzogZ3JpZC5jOjQ1NQojLCBmdXp6eQptc2dpZCAiQ2xpcHBpbmcgcGF0aHMgd2l0aGluIGEgKGNsaXBwaW5nKSBwYXRoIGFyZSBub3QgaG9ub3VyZWQiCm1zZ3N0ciAi7sXIz9LP288gxMXMwdTYIMvPztTV0tkgz9TTxd7FzsnRINfO1dTSySDLz87U1dLP1yDP1NPF3sXOydEiCgojOiBncmlkLmM6NDc0CiMsIGZ1enp5Cm1zZ2lkICJNYXNrcyB3aXRoaW4gYSAoY2xpcHBpbmcpIHBhdGggYXJlIG5vdCBob25vdXJlZCIKbXNnc3RyICLuxcjP0s/bzyDExczB1NggzcHTy9Ug187V1NLJIMvPztTV0sEgz9TTxd7FzsnRIgoKIzogZ3JpZC5jOjkxNiBncmlkLmM6OTIxIGdyaWQuYzoxMDQwIGdyaWQuYzoxMDQ1Cm1zZ2lkICJjYW5ub3QgcG9wIHRoZSB0b3AtbGV2ZWwgdmlld3BvcnQgKCdncmlkJyBhbmQgJ2dyYXBoaWNzJyBvdXRwdXQgbWl4ZWQ/KSIKbXNnc3RyICLOxSDNz8fVIMna18zF3tggz8vPzs7Jw9Ug18XSyM7Fx88g1dLP187RICjX2dfPxNkgJ2dyaWQnIMkgJ2dyYXBoaWNzJyDTzcXbwczJ09g/KSIKCiM6IGdyaWQuYzoxMjQ2Cm1zZ2lkICJhdHRlbXB0IHRvIHBsb3Qgb24gbnVsbCBkZXZpY2UiCm1zZ3N0ciAi0M/Q2dTLwSDexdLUydTYIM7BIM7VzMXXz80g1dPU0s/K09TXxSIKCiM6IGdyaWQuYzoxNzAyCm1zZ2lkICJ0aGVyZSBpcyBubyBsYXlvdXQgZGVmaW5lZCIKbXNnc3RyICLOxdQg2sHEwc7Oz8fPINzTy8nawSIKCiM6IGdyaWQuYzoxOTIyCm1zZ2lkICJwb2x5Z29uIGVkZ2Ugbm90IGZvdW5kICh6ZXJvLXdpZHRoIG9yIHplcm8taGVpZ2h0PykiCm1zZ3N0ciAiy9LByiDNzs/Hz9XHz8zYzsnLwSDOxSDOwcrExc4gKM7VzMXXwdEg28nSyc7BIMnMySDX2dPP1ME/KSIKCiM6IGdyaWQuYzoxOTMxCm1zZ2lkICJwb2x5Z29uIGVkZ2Ugbm90IGZvdW5kIgptc2dzdHIgIsvSwcogzc7Px8/Vx8/M2M7Jy8EgzsUgzsHKxMXOIgoKIzogZ3JpZC5jOjIwODUKbXNnaWQgInJlcXVpcmUgYXQgbGVhc3QgdHdvIHBvaW50cyB0byBkcmF3IGFycm93Igptc2dzdHIgIs7BxM8gy8HLIM3JzsnN1c0gxNfFINTP3svJLCDe1M/C2SDOwdLJ08/XwdTYINPU0sXMy9UiCgojOiBncmlkLmM6MjQwOAptc2dpZCAibm9uLWZpbml0ZSBjb250cm9sIHBvaW50IGluIFhzcGxpbmUiCm1zZ3N0ciAizsUty8/Oxd7OwdEgy8/O1NLPzNjOwdEg1M/ey8Eg1yBYc3BsaW5lIgoKIzogZ3JpZC5jOjMzMzMKbXNnaWQgIm5vbi1maW5pdGUgeCBvciB5IGluIGdyYXBoaWNzIHBhdGgiCm1zZ3N0ciAiwsXTy8/Oxd7O2cogeCDJzMkgeSDXIMvSydfPyiDL0sHGycvBIgoKIzogZ3JpZC5jOjMzODMKbXNnaWQgIkVtcHR5IHJhc3RlciIKbXNnc3RyICLw1dPUz8og0sHT1NIiCgojOiBncmlkLmM6Mzg2OQptc2dpZCAiaW52YWxpZCBwbG90dGluZyBzeW1ib2wiCm1zZ3N0ciAizsXQ0sHXyczYztnKINPJzdfPzCDH0sHGycvBIgoKIzogZ3JpZC5jOjM5NjMKbXNnaWQgInVuYWJsZSB0byBjbGlwIHRvIHJvdGF0ZWQgcmVjdGFuZ2xlIgptc2dzdHIgIs7FIM3Px9Ugz8LSxdrB1NggxM8g0M/XxdLO1dTPx88g3sXU2dLFyNXHz8zYzsnLwSIKCiM6IGxheW91dC5jOjYwMAptc2dpZCAiaW52YWxpZCAnbGF5b3V0LnBvcy5yb3cnIgptc2dzdHIgIs7F0NLB18nM2M7ZyiAnbGF5b3V0LnBvcy5yb3cnIgoKIzogbGF5b3V0LmM6NjA0Cm1zZ2lkICJpbnZhbGlkICdsYXlvdXQucG9zLmNvbCciCm1zZ3N0ciAizsXQ0sHXyczYztnKICdsYXlvdXQucG9zLmNvbCciCgojOiBtYXRyaXguYzo1MAptc2dpZCAic2luZ3VsYXIgdHJhbnNmb3JtYXRpb24gbWF0cml4Igptc2dzdHIgItPJzsfVzNHSzsHRINTSwc7Txs/SzcHDyc/OzsHRIM3B1NLJw8EiCgojOiBzdGF0ZS5jOjE5Mgptc2dpZCAidW5hYmxlIHRvIHN0b3JlICdncmlkJyBzdGF0ZS4gIFRvbyBtYW55IGRldmljZXMgb3Blbj8iCm1zZ3N0ciAizsUgzc/H1SDTz8jSwc7J1Ngg08/T1M/RzsnFICdncmlkJy4g79TL0tnUzyDTzMnby8/NIM3Oz8fPINXT1NLPytPU1z8iCgojOiB1bml0LmM6NjUKbXNnaWQgIkNhbm5vdCBjcmVhdGUgdW5pdCBzY2FsYXIgZnJvbSAwLWxlbmd0aCB1bml0IHZlY3RvciIKbXNnc3RyICLuxSDNz8fVINPP2sTB1NggxcTJzsneztnKINPLwczR0iDJ2iDO1czF18/HzyDFxMnOyd7Oz8fPINfFy9TP0sEiCgojOiB1bml0LmM6Nzk5IHVuaXQuYzoxMjk4Cm1zZ2lkICJpbnZhbGlkIHVuaXQgb3IgdW5pdCBub3QgeWV0IGltcGxlbWVudGVkIgptc2dzdHIgIs7F0NLB18nM2M7B0SDJzMkgzsUg0sHa0sHCz9TBzs7B0SDFxMnOycPBIgoKIzogdW5pdC5jOjEzNTUgdW5pdC5jOjEzODYKbXNnaWQgIlZpZXdwb3J0IGhhcyB6ZXJvIGRpbWVuc2lvbihzKSIKbXNnc3RyICLvy8/OzsnDwSDJzcXF1CDOz8zYIMnazcXSxc7JyiIKCiM6IHVuaXQuYzoxNDE4IHVuaXQuYzoxNDMzIHVuaXQuYzoxNDQ4IHVuaXQuYzoxNDYzCm1zZ2lkICJVbnN1cHBvcnRlZCB1bml0IGNvbnZlcnNpb24iCm1zZ3N0ciAi7sXQz8TExdLWydfBxc3B0SDLz87XxdLTydEgxcTJzsnDIMnazcXSxc7J0SIKCiM6IHVuaXQuYzoxNTU1Cm1zZ2lkICJJbnZhbGlkIHVuaXQiCm1zZ3N0ciAi7sXQ0sHXyczYzsHRIMXEyc7Jw8EiCgojOiB1bml0LmM6MTU3MAptc2dpZCAiJ3VuaXRzJyBtdXN0IGJlIGNoYXJhY3RlciIKbXNnc3RyICLFxMnOycPZIMTPzNbFziDC2dTYIMLVy9fBzckiCgojOiB1bml0LmM6MTU3Mwptc2dpZCAiJ3VuaXRzJyBtdXN0IGJlIG9mIGxlbmd0aCA+IDAiCm1zZ3N0ciAixcTJzsnD2SDEz8zWztkgwtnU2CDEzMnOz8ogPiAwIgoKIzogdW5pdC5jOjE1ODQKbXNnaWQgImRhdGEgbXVzdCBiZSBlaXRoZXIgTlVMTCwgaGF2ZSBsZW5ndGggMSwgb3IgbWF0Y2ggdGhlIGxlbmd0aCBvZiB0aGUgZmluYWwgdW5pdCB2ZWN0b3IiCm1zZ3N0ciAixMHOztnFIMTPzNbO2SDC2dTYIMnMySBOVUxMLCDJzMkgxMzJzs/KIDEsIMnMySDTz8/U18XU09TXz9fB1NggxMzJzsUgz8vPzt7B1MXM2M7Px88gxcTJzsnezs/HzyDXxcvUz9LBIgoKIzogdW5pdC5jOjE1OTYKbXNnaWQgIm5vIHN0cmluZyBzdXBwbGllZCBmb3IgJ3N0cndpZHRoL2hlaWdodCcgdW5pdCIKbXNnc3RyICLOxdQg09LPy8kgxMzRIMXEyc7Jw9kgJ3N0cndpZHRoL2hlaWdodCciCgojOiB1bml0LmM6MTYwMAptc2dpZCAibm8gJ2dyb2InIHN1cHBsaWVkIGZvciAnZ3JvYndpZHRoL2hlaWdodCcgdW5pdCIKbXNnc3RyICLOxdQgJ2dyb2InIMTM0SDFxMnOycPZICdncm9id2lkdGgvaGVpZ2h0JyIKCiM6IHVuaXQuYzoxNjE4Cm1zZ2lkICInZ1BhdGgnIG11c3QgaGF2ZSBkZXB0aCAxIGluICdncm9id2lkdGgvaGVpZ2h0JyB1bml0cyIKbXNnc3RyICInZ1BhdGgnIMTPzNbFziDC2dTYIMXEyc7J3s7PyiDH0tXCyc7ZINcgxcTJzsnDwcggJ2dyb2J3aWR0aC9oZWlnaHQnIgoKIzogdW5pdC5jOjE2MjMKbXNnaWQgIm5vbi1OVUxMIHZhbHVlIHN1cHBsaWVkIGZvciBwbGFpbiB1bml0Igptc2dzdHIgIsTM0SBwbGFpbiDFxMnOycPZINXLwdrBzs8gzsUtTlVMTCDazsHexc7JxSIKCiM6IHVuaXQuYzoxNjc2IHVuaXQuYzoxNzEwIHVuaXQuYzoxNzU5Cm1zZ2lkICJvbGQgdmVyc2lvbiBvZiB1bml0IGNsYXNzIGlzIG5vIGxvbmdlciBhbGxvd2VkIgptc2dzdHIgItPUwdLB0SDXxdLTydEgxcTJzsnezs/HzyDLzMHT08Egws/M2NvFIM7FINLB2tLF28HF1NPRIgoKIzogdW5pdC5jOjE2ODIKbXNnaWQgIm9iamVjdCBpcyBub3QgY29lcmNpYmxlIHRvIGEgdW5pdCIKbXNnc3RyICLPwt/Fy9QgzsUgy8/O18XS1MnS1cXU09Eg1yDXxMnOycPVIgoKIzogdW5pdC5jOjE3MDgKbXNnaWQgIm9iamVjdCBpcyBub3QgYSB1bml0Igptc2dzdHIgIs/C38XL1CDOxSDR18zRxdTT0SDFxMnOycPFyiIKCiM6IHVuaXQuYzoxODQwCm1zZ2lkICJ1bml0cyBjYW4gb25seSBiZSBtdWx0aXBsaWVkIHdpdGggbnVtZXJpY3MgYW5kIGludGVnZXJzIgptc2dzdHIgIsXEyc7Jw9kgzc/Wzs8g1c3Oz9bB1Ngg1M/M2MvPIM7BIMPFzNnFIMnMySDExdPR1MneztnFIN7J08zBIgoKIzogdmlld3BvcnQuYzo1Ngptc2dpZCAiTWFzayBpcyBub3QgbG9naWNhbCB2YWx1ZSAoJ25vbmUnIG9yICdpbmhlcml0JykiCm1zZ3N0ciAi7cHTy8EgzsUg0dfM0cXU09EgzM/Hyd7F08vJzSDazsHexc7Jxc0gKCdub25lJyDJzMkgJ2luaGVyaXQnKSIKCiM6IHZpZXdwb3J0LmM6MzMwCm1zZ2lkICJub24tZmluaXRlIGxvY2F0aW9uIGFuZC9vciBzaXplIGZvciB2aWV3cG9ydCIKbXNnc3RyICLOxS3Lz87F3s7PxSDQz8zP1sXOycUgyS/JzMkg0sHazcXSIM/Lz87OycPZIgoKI34gbXNnaWQgInVuaW1wbGVtZW50ZWQgdW5pdCBmdW5jdGlvbiIKI34gbXNnc3RyICLOxSDSwdrSwcLP1MHOzsHRIMXEyc7J3s7B0SDG1c7Lw8nRIgoKI34gbXNnaWQgIkludmFsaWQgY2lyY2xlIHJhZGl1cyAobXVzdCBiZSBub24tbmVnYXRpdmUpIgojfiBtc2dzdHIgIu7F0NLB18nM2M7ZyiDSwcTJ1dMgy9LVx8EgKMTPzNbFziDC2dTYIM7Fz9TSycPB1MXM2M7ZzSkiCg==