IyBSdXNzaWFuIHRyYW5zbGF0aW9ucyBmb3IgUiBwYWNrYWdlCiMg8tXT08vJyiDQxdLF18/EIMTM0SDQwcvF1MEgUgojCiMgQ29weXJpZ2h0IChDKSAyMDA3IFRoZSBSIEZvdW5kYXRpb24KIyBDb3B5cmlnaHQgKEMpIDIwMDUgRG1pdHJpIEkgR09VTElBRVYgPGRtaXRyaS5nb3VsaWFldkB0ZWxrZWwubmV0PgojCiMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIFIgcGFja2FnZS4KbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IFIgMi45LjBcbiIKIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBidWdzLnItcHJvamVjdC5vcmdcbiIKIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE4LTAzLTMwIDA3OjM0XG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDE4LTA0LTA3IDAyOjA5LTA1MDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogQWxleGV5IFNoaXB1bm92IDxkYWN0eWxvcmhpemFAZ21haWwuY29tPlxuIgoiTGFuZ3VhZ2UtVGVhbTogUnVzc2lhblxuIgoiTGFuZ3VhZ2U6IHJ1XG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUtPSTgtUlxuIgoiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgoiRmlyc3QtVHJhbnNsYXRvcjogRG1pdHJpIEkgR09VTElBRVYgPGRtaXRyaS5nb3VsaWFldkB0ZWxrZWwubmV0XG4iCiJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTM7IHBsdXJhbD0obiUxMD09MSAmJiBuJTEwMCE9MTEgPyAwIDogbiUxMD49MiAmJiBuIgoiJTEwPD00ICYmIChuJTEwMDwxMCB8fCBuJTEwMD49MjApID8gMSA6IDIpO1xuIgoiWC1HZW5lcmF0b3I6IFBvZWRpdCAxLjguNy4xXG4iCgptc2dpZCAibXVzdCBoYXZlIGF0IGxlYXN0ICdvcmQnIGtub3RzIgptc2dzdHIgIsTPzNbOzyDC2dTYINDPIMvSwcrOxcogzcXSxSAnb3JkJyDV2szP1yIKCm1zZ2lkICJsZW5ndGggb2YgJ2Rlcml2cycgaXMgbGFyZ2VyIHRoYW4gbGVuZ3RoIG9mICd4JyIKbXNnc3RyICLEzMnOwSAnZGVyaXZzJyDEz8zWzsEgwtnU2CDCz8zY28UgxMzJztkgJ3gnIgoKbXNnaWQgImVtcHR5ICdkZXJpdnMnIgptc2dzdHIgItDV09TPyiAnZGVyaXZzJyIKCm1zZ2lkICInb3JkJyBtdXN0IGJlIHBvc2l0aXZlIGludGVnZXIsIGF0IG1vc3QgdGhlIG51bWJlciBvZiBrbm90cyIKbXNnc3RyICInb3JkJyDEz8zWxc4gwtnU2CDQz8zP1snUxczYztnNIMPFzNnNLCDNwcvTyc3VzSDLz8zJ3sXT1NfPzSDV2szP1yIKCm1zZ2lkICJuZWVkIGF0IGxlYXN0ICVzICg9JWQpIGtub3RzIgptc2dzdHIgIs7Fz8LIz8TJzc8gy8HLIM3JzsnN1c0gJXMgKD0lZCkg1drMz9ciCgptc2dpZCAidGhlICd4JyBkYXRhIG11c3QgYmUgaW4gdGhlIHJhbmdlICVnIHRvICVnIHVubGVzcyB5b3Ugc2V0ICclcyciCm1zZ3N0ciAiIgoixMHOztnFICd4JyDEz8zWztkgwtnU2CDXINDSz83F1tXUy8Ugz9QgJWcgxM8gJWcg0M/LwSD32SDOxSDV09TBzs/XydTFICVzIgoKbXNnaWQgIiVzIG5lZWRzIHBhY2thZ2UgJ01hdHJpeCcgY29ycmVjdGx5IGluc3RhbGxlZCIKbXNnc3RyICIlcyDIz97F1Cwg3tTPwtkg0MHLxdQgJ01hdHJpeCcgwtnMINXT1MHOz9fMxc4g0NLB18nM2M7PIgoKbXNnaWQgInZhbHVlcyBvZiAneCcgbXVzdCBiZSBkaXN0aW5jdCIKbXNnc3RyICLazsHexc7J0SAneCcgxM/M1s7ZIMLJ1Ngg0sHaztnNySIKCm1zZ2lkICJtdXN0IGhhdmUgYXQgbGVhc3QgJ29yZCc9JWQgcG9pbnRzIgptc2dzdHIgIsTPzNbOzyDC2dTYINDPIMvSwcrOxcogzcXSxSAnb3JkJz0lZCDV2szP1yIKCm1zZ2lkICInZm9ybXVsYScgbXVzdCBiZSBvZiB0aGUgZm9ybSBcInkgfiB4XCIiCm1zZ3N0ciAiJ2Zvcm11bGEnIMTPzNbOwSDC2dTYINcg18nExSBcInkgfiB4XCIiCgptc2dpZCAibGVuZ3RocyBvZiAneCcgYW5kICd5JyBtdXN0IG1hdGNoIgptc2dzdHIgIsTMyc7ZICd4JyDJICd5JyDEz8zWztkg08/P1NfF1NPU18/XwdTYIgoKbXNnaWQgInZhbHVlcyBvZiAneCcgbXVzdCBiZSBzdHJpY3RseSBpbmNyZWFzaW5nIgptc2dzdHIgItrOwd7FzsnRICd4JyDEz8zWztkg0M/T1M/Rzs7PINfP2tLB09TB1NgiCgptc2dpZCAiJ29yZCcgbXVzdCBiZSA+PSAyIgptc2dzdHIgIidvcmQnIMTPzNbFziDC2dTYID49IDIiCgptc2dpZCAidGhlIHJhbmdlIG9mICd4JyB2YWx1ZXMgZXhjZWVkcyBvbmUgcGVyaW9kIgptc2dzdHIgItLB2s3ByCDazsHexc7JyiAneCcg0NLF19nbwcXUIM/Eyc4g0MXSyc/EIgoKbXNnaWQgImtub3QgcG9zaXRpb25zIG11c3QgYmUgbm9uLWRlY3JlYXNpbmciCm1zZ3N0ciAi0M/aycPJySDV2szP1yDOxSDEz8zWztkg1cLZ18HU2CIKCm1zZ2lkICJsZW5ndGhzIG9mICd4JyBhbmQgJ3knIG11c3QgYmUgdGhlIHNhbWUiCm1zZ3N0ciAixMzJztkgJ3gnIMkgJ3knIMTPzNbO2SDC2dTYIM/Eyc7By8/X2SIKCm1zZ2lkICInZGVyaXYnIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAlZCIKbXNnc3RyICInZGVyaXYnIMTPzNbOzyDC2dTYIM3F1sTVIDAgySAlZCIKCm1zZ2lkICJrbm90IHBvc2l0aW9ucyBtdXN0IGJlIHN0cmljdGx5IGluY3JlYXNpbmciCm1zZ3N0ciAi0M/aycPJySDV2szP1yDEz8zWztkg0M/T1M/Rzs7PINfP2tLB09TB1NgiCgptc2dpZCAiY3VycmVudGx5IGltcGxlbWVudGVkIG9ubHkgZm9yIGN1YmljIHNwbGluZXMiCm1zZ3N0ciAizsEg08XHz8TO0dvOycogxMXO2Cwg0sHa0sHCz9TBziDUz8zYy88gxMzRIMvVwsnexdPLycgg09DMwcrOz9ciCgptc2dpZCAic3BsaW5lIG11c3QgYmUgbW9ub3RvbmUiCm1zZ3N0ciAiy9LJ18HRIMTPzNbOwSDC2dTYIM3Pzs/Uz87Oz8oiCgptc2dpZCAiJ2RlZ3JlZScgbXVzdCBiZSBpbnRlZ2VyID49IDEiCm1zZ3N0ciAiJ2RlZ3JlZScgxM/M1s7BIMLZ1Nggw8XM2c0gPj0gMSIKCm1zZ2lkICInZGYnIHdhcyB0b28gc21hbGw7IGhhdmUgdXNlZCAlZCIKbXNnc3RyICInZGYnIMLZzCDTzMnby8/NIM3BzDsgydPQz8zY2s/Xwc4gJWQiCgptc2dpZCAic29tZSAneCcgdmFsdWVzIGJleW9uZCBib3VuZGFyeSBrbm90cyBtYXkgY2F1c2UgaWxsLWNvbmRpdGlvbmVkIGJhc2VzIgptc2dzdHIgIiIKIs7Fy8/Uz9LZxSDazsHexc7J0SAneCcg2sEgx9LBzsneztnNySDV2szBzckgzc/H1dQg0NLJ18XT1MkgyyDOxdDSwdfJzNjOzyAiCiLPwtXTzM/XzMXOztnNIM/Tzs/Xwc7J0c0iCg==