REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 103.38 KB
Close
/proc/self/root/opt/cloudlinux/venv/lib64/python3.11/site-packages/attr/__pycache__/_make.cpython-311.pyc
Text
Base64
pw0NCgAAAAC8fG9p03oBAOMAAAAAAAAAAAAAAAAPAAAAAAAAAPOsBAAAlwBkAGQBbABaAGQAZAFsAVoBZABkAWwCWgJkAGQBbANaA2QAZAFsBFoEZABkAWwFWgVkAGQCbAZtB1oHAQBkA2QEbAhtCVoJbQpaCm0LWgsBAGQDZAVsCW0MWgxtDVoNbQ5aDm0PWg8BAGQDZAZsEG0RWhFtEloSbRNaE20UWhQBAGUVahYAAAAAAAAAAFoXZAdaGGQIWhlkCVoaZApaGwIAZQRqHAAAAAAAAAAAaQCmAQAAqwEAAAAAAAAAAFodAgBlFaYAAACrAAAAAAAAAAAAWh4CAGULah8AAAAAAAAAAGULaiAAAAAAAAAAAGULaiEAAAAAAAAAAKYCAACrAgAAAAAAAAAAWiICAEcAZAuEAGQMZQFqIwAAAAAAAAAApgMAAKsDAAAAAAAAAABaJGUkaiUAAAAAAAAAAFolCQACAEcAZA2EAGQOZSamAwAAqwMAAAAAAAAAAFonZSVkAWQPZAFkAWQPZAFkAWQBZAFkEGQBZAFkAWQBZg9kEYQBWihkT2QThAFaKWQUhABaKmQVhABaKwIAZStkFmcAZBeiAaYCAACrAgAAAAAAAAAAWixkGIQAWi1kGYQAWi5kGoQAWi9kG4QAWjBkHIQAWjFkHYQAWjJkHoQAWjNkH4QAWjQCAEcAZCCEAGQhpgIAAKsCAAAAAAAAAABaNWQihABaNmQjhABaNwkAZFBkJIQBWjgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQBkUWQlhAFaOWU5WjoJAGQmhABaO2QnhABaPGQohABaPWQphABaPmQqhABaP2QrhABaQGQshABaQWRSZC2EAVpCZC6EAFpDZFNkL4QBWkRkMIQAWkVkMYQAWkZkMoQAWiFkM4QAWkdkNIQAWkhkNYQAWklkNoQAWkpkN4QAWktkOIQAWkxkOYQAWk1kOoQAWk5kO2VPZDxlT2YEZD2EBFpQAgBHAGQ+hABkP6YCAACrAgAAAAAAAAAAWlFkQIQAZVFqUgAAAAAAAAAARACmAAAAqwAAAAAAAAAAAFpTAgBlPgIAZUICAGVEZVFlU6xBpgIAAKsCAAAAAAAAAABkQoQAZVNEAKYAAACrAAAAAAAAAAAArEGmAgAAqwIAAAAAAAAAAGRDhABlU0QApgAAAKsAAAAAAAAAAACsQaYCAACrAgAAAAAAAAAAWlECAEcAZESEAGRFpgIAAKsCAAAAAAAAAABaVAIAZUICAGVEZVSmAQAAqwEAAAAAAAAAAKYBAACrAQAAAAAAAAAAWlQCAEcAZEaEAGRHpgIAAKsCAAAAAAAAAABaVWRIhABlVWpSAAAAAAAAAABEAKYAAACrAAAAAAAAAAAAWlYCAGU+AgBlQgIAZURlVWVWrEGmAgAAqwIAAAAAAAAAAGVWrEGmAgAAqwIAAAAAAAAAAGVWrEGmAgAAqwIAAAAAAAAAAFpVZRVmAWYBZEmEAVpXAgBlOWQPZA+sSqYCAACrAgAAAAAAAAAAAgBHAGRLhABkTKYCAACrAgAAAAAAAAAApgAAAKsAAAAAAAAAAABaWGRNhABaWWROhABaH2QBUwApVOkAAAAATikB2gppdGVtZ2V0dGVy6QEAAAApA9oHX2NvbXBhdNoHX2NvbmZpZ9oHc2V0dGVycykE2gVQWTMxMNoUX0Fubm90YXRpb25FeHRyYWN0b3LaEGdldF9nZW5lcmljX2Jhc2XaEHNldF9jbG9zdXJlX2NlbGwpBNoWRGVmYXVsdEFscmVhZHlTZXRFcnJvctoTRnJvemVuSW5zdGFuY2VFcnJvctoUTm90QW5BdHRyc0NsYXNzRXJyb3LaGVVuYW5ub3RhdGVkQXR0cmlidXRlRXJyb3J6E19fYXR0cl9jb252ZXJ0ZXJfJXN6EV9fYXR0cl9mYWN0b3J5XyVzKQR6D3R5cGluZy5DbGFzc1ZhcnoKdC5DbGFzc1ZhctoIQ2xhc3NWYXJ6GnR5cGluZ19leHRlbnNpb25zLkNsYXNzVmFy2hJfYXR0cnNfY2FjaGVkX2hhc2hjAAAAAAAAAAAAAAAAAgAAAAAAAADzPAAAAJcAZQBaAWQAWgJkAVoDAgBlBGoFAAAAAAAAAACmAAAAqwAAAAAAAAAAAFoGZAKEAFoHZAOEAFoIZARTACkF2ghfTm90aGluZ2FIAQAACiAgICBTZW50aW5lbCB0byBpbmRpY2F0ZSB0aGUgbGFjayBvZiBhIHZhbHVlIHdoZW4gYGBOb25lYGAgaXMgYW1iaWd1b3VzLgoKICAgIElmIGV4dGVuZGluZyBhdHRycywgeW91IGNhbiB1c2UgYGB0eXBpbmcuTGl0ZXJhbFtOT1RISU5HXWBgIHRvIHNob3cKICAgIHRoYXQgYSB2YWx1ZSBtYXkgYmUgYGBOT1RISU5HYGAuCgogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAyMS4xLjAgYGBib29sKE5PVEhJTkcpYGAgaXMgbm93IEZhbHNlLgogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAyMi4yLjAgYGBOT1RISU5HYGAgaXMgbm93IGFuIGBgZW51bS5FbnVtYGAgdmFyaWFudC4KICAgIGMBAAAAAAAAAAAAAAABAAAAAwAAAPMGAAAAlwBkAVMAKQJO2gdOT1RISU5HqQCpAdoEc2VsZnMBAAAAIPpBL29wdC9jbG91ZGxpbnV4L3ZlbnYvbGliNjQvcHl0aG9uMy4xMS9zaXRlLXBhY2thZ2VzL2F0dHIvX21ha2UucHnaCF9fcmVwcl9fehFfTm90aGluZy5fX3JlcHJfX0EAAABzBwAAAIAA2A8YiHnzAAAAAGMBAAAAAAAAAAAAAAABAAAAAwAAAPMGAAAAlwBkAVMAKQJORnIWAAAAchcAAABzAQAAACByGQAAANoIX19ib29sX196EV9Ob3RoaW5nLl9fYm9vbF9fRAAAAHMHAAAAgADYDxSIdXIbAAAATikJ2ghfX25hbWVfX9oKX19tb2R1bGVfX9oMX19xdWFsbmFtZV9f2gdfX2RvY19f2gRlbnVt2gRhdXRvchUAAAByGgAAAHIdAAAAchYAAAByGwAAAHIZAAAAchMAAAByEwAAADQAAABzSwAAAIAAgACAAIAAgADwAggFCPAACAUI8BQADxiIZIxpiWuMa4BH8AQBBRnwAAEFGfAAAQUZ8AYBBRXwAAEFFfAAAQUV8AABBRXwAAEFFXIbAAAAchMAAABjAAAAAAAAAAAAAAAAAwAAAAAAAADzMAAAAJcAZQBaAWQAWgJkAVoDAgBlBGQCpgEAAKsBAAAAAAAAAABkA2YCZASEAVoFZAJTACkF2hFfQ2FjaGVIYXNoV3JhcHBlcmGBAQAACiAgICBBbiBpbnRlZ2VyIHN1YmNsYXNzIHRoYXQgcGlja2xlcyAvIGNvcGllcyBhcyBOb25lCgogICAgVGhpcyBpcyB1c2VkIGZvciBub24tc2xvdHMgY2xhc3NlcyB3aXRoIGBgY2FjaGVfaGFzaD1UcnVlYGAsIHRvIGF2b2lkCiAgICBzZXJpYWxpemluZyBhIHBvdGVudGlhbGx5IChldmVuIGxpa2VseSkgaW52YWxpZCBoYXNoIHZhbHVlLiBTaW5jZSBgYE5vbmVgYAogICAgaXMgdGhlIGRlZmF1bHQgdmFsdWUgZm9yIHVuY2FsY3VsYXRlZCBoYXNoZXMsIHdoZW5ldmVyIHRoaXMgaXMgY29waWVkLAogICAgdGhlIGNvcHkncyB2YWx1ZSBmb3IgdGhlIGhhc2ggc2hvdWxkIGF1dG9tYXRpY2FsbHkgcmVzZXQuCgogICAgU2VlIEdIICM2MTMgZm9yIG1vcmUgZGV0YWlscy4KICAgIE5yFgAAAGMDAAAAAAAAAAAAAAACAAAAAwAAAPMKAAAAlwB8AXwCZgJTAKkBTnIWAAAAKQNyGAAAANoRX25vbmVfY29uc3RydWN0b3LaBV9hcmdzcwMAAAAgICByGQAAANoKX19yZWR1Y2VfX3ocX0NhY2hlSGFzaFdyYXBwZXIuX19yZWR1Y2VfX1oAAABzDQAAAIAA2A8goCXQDyfQCCdyGwAAACkGch4AAAByHwAAAHIgAAAAciEAAADaBHR5cGVyKgAAAHIWAAAAchsAAAByGQAAAHIlAAAAciUAAABOAAAAc0EAAACAAIAAgACAAIAA8AIJBQjwAAkFCPAWACwwqDSwBKk6rDq4UvAAAQUo8AABBSjwAAEFKPAAAQUo8AABBSjwAAEFKHIbAAAAciUAAABURmMPAAAAAAAAAAAAAAAGAAAAAwAAAPNcAgAAlwB0AQAAAAAAAAAAAAB8A3wLfAxkAaYEAACrBAAAAAAAAAAAXAQAAH0LfQ99DH0QfASBF3wEZAF1AXITfARkA3UBcg90AwAAAAAAAAAAAABkBKYBAACrAQAAAAAAAAAAggF8CYFFfAB0BAAAAAAAAAAAAAB1AXIPdAcAAAAAAAAAAAAAZAWmAQAAqwEAAAAAAAAAAIIBdAkAAAAAAAAAAAAAfAmmAQAAqwEAAAAAAAAAAHMPdAcAAAAAAAAAAAAAZAamAQAAqwEAAAAAAAAAAIIBdAsAAAAAAAAAAAAAfAmmAQAAqwEAAAAAAAAAAH0AfAaAAmkAfQZ0DQAAAAAAAAAAAAB8DXQOAAAAAAAAAAAAAHQQAAAAAAAAAAAAAGYCpgIAAKsCAAAAAAAAAAByDnQTAAAAAAAAAAAAAGoKAAAAAAAAAAB8DY4AfQ18AXIldA0AAAAAAAAAAAAAfAF0DgAAAAAAAAAAAAB0EAAAAAAAAAAAAABmAqYCAACrAgAAAAAAAAAAcgl0FwAAAAAAAAAAAAB8AY4AfQF8CHIldA0AAAAAAAAAAAAAfAh0DgAAAAAAAAAAAAB0EAAAAAAAAAAAAABmAqYCAACrAgAAAAAAAAAAcgl0FQAAAAAAAAAAAAB8CI4AfQh0GQAAAAAAAAAAAABkF2kAZAd8AJMBZAh8AZMBZAl8ApMBZApkApMBZAt8BJMBZAx8BZMBZA18CJMBZA58BpMBZA98B5MBZBB8CpMBZBF8C5MBZBJ8D5MBZBN8DJMBZBR8EJMBZBV8DZMBZBZ8DpMBjgFTACkYYeQZAAAKICAgIENyZWF0ZSBhIG5ldyBhdHRyaWJ1dGUgb24gYSBjbGFzcy4KCiAgICAuLiAgd2FybmluZzo6CgogICAgICAgIERvZXMgKm5vdCogZG8gYW55dGhpbmcgdW5sZXNzIHRoZSBjbGFzcyBpcyBhbHNvIGRlY29yYXRlZCB3aXRoCiAgICAgICAgYGF0dHIuc2AgLyBgYXR0cnMuZGVmaW5lYCAvIGV0IGNldGVyYSEKCiAgICBQbGVhc2UgY29uc2lkZXIgdXNpbmcgYGF0dHJzLmZpZWxkYCBpbiBuZXcgY29kZSAoYGBhdHRyLmliYGAgd2lsbCAqbmV2ZXIqCiAgICBnbyBhd2F5LCB0aG91Z2gpLgoKICAgIDpwYXJhbSBkZWZhdWx0OiBBIHZhbHVlIHRoYXQgaXMgdXNlZCBpZiBhbiAqYXR0cnMqLWdlbmVyYXRlZCBgYF9faW5pdF9fYGAKICAgICAgICBpcyB1c2VkIGFuZCBubyB2YWx1ZSBpcyBwYXNzZWQgd2hpbGUgaW5zdGFudGlhdGluZyBvciB0aGUgYXR0cmlidXRlIGlzCiAgICAgICAgZXhjbHVkZWQgdXNpbmcgYGBpbml0PUZhbHNlYGAuCgogICAgICAgIElmIHRoZSB2YWx1ZSBpcyBhbiBpbnN0YW5jZSBvZiBgYXR0cnMuRmFjdG9yeWAsIGl0cyBjYWxsYWJsZSB3aWxsIGJlCiAgICAgICAgdXNlZCB0byBjb25zdHJ1Y3QgYSBuZXcgdmFsdWUgKHVzZWZ1bCBmb3IgbXV0YWJsZSBkYXRhIHR5cGVzIGxpa2UgbGlzdHMKICAgICAgICBvciBkaWN0cykuCgogICAgICAgIElmIGEgZGVmYXVsdCBpcyBub3Qgc2V0IChvciBzZXQgbWFudWFsbHkgdG8gYGF0dHJzLk5PVEhJTkdgKSwgYSB2YWx1ZQogICAgICAgICptdXN0KiBiZSBzdXBwbGllZCB3aGVuIGluc3RhbnRpYXRpbmc7IG90aGVyd2lzZSBhIGBUeXBlRXJyb3JgCiAgICAgICAgd2lsbCBiZSByYWlzZWQuCgogICAgICAgIFRoZSBkZWZhdWx0IGNhbiBhbHNvIGJlIHNldCB1c2luZyBkZWNvcmF0b3Igbm90YXRpb24gYXMgc2hvd24gYmVsb3cuCgogICAgOnR5cGUgZGVmYXVsdDogQW55IHZhbHVlCgogICAgOnBhcmFtIGNhbGxhYmxlIGZhY3Rvcnk6IFN5bnRhY3RpYyBzdWdhciBmb3IKICAgICAgICBgYGRlZmF1bHQ9YXR0ci5GYWN0b3J5KGZhY3RvcnkpYGAuCgogICAgOnBhcmFtIHZhbGlkYXRvcjogYGNhbGxhYmxlYCB0aGF0IGlzIGNhbGxlZCBieSAqYXR0cnMqLWdlbmVyYXRlZAogICAgICAgIGBgX19pbml0X19gYCBtZXRob2RzIGFmdGVyIHRoZSBpbnN0YW5jZSBoYXMgYmVlbiBpbml0aWFsaXplZC4gIFRoZXkKICAgICAgICByZWNlaXZlIHRoZSBpbml0aWFsaXplZCBpbnN0YW5jZSwgdGhlIDpmdW5jOmB+YXR0cnMuQXR0cmlidXRlYCwgYW5kIHRoZQogICAgICAgIHBhc3NlZCB2YWx1ZS4KCiAgICAgICAgVGhlIHJldHVybiB2YWx1ZSBpcyAqbm90KiBpbnNwZWN0ZWQgc28gdGhlIHZhbGlkYXRvciBoYXMgdG8gdGhyb3cgYW4KICAgICAgICBleGNlcHRpb24gaXRzZWxmLgoKICAgICAgICBJZiBhIGBsaXN0YCBpcyBwYXNzZWQsIGl0cyBpdGVtcyBhcmUgdHJlYXRlZCBhcyB2YWxpZGF0b3JzIGFuZCBtdXN0CiAgICAgICAgYWxsIHBhc3MuCgogICAgICAgIFZhbGlkYXRvcnMgY2FuIGJlIGdsb2JhbGx5IGRpc2FibGVkIGFuZCByZS1lbmFibGVkIHVzaW5nCiAgICAgICAgYGF0dHJzLnZhbGlkYXRvcnMuZ2V0X2Rpc2FibGVkYCAvIGBhdHRycy52YWxpZGF0b3JzLnNldF9kaXNhYmxlZGAuCgogICAgICAgIFRoZSB2YWxpZGF0b3IgY2FuIGFsc28gYmUgc2V0IHVzaW5nIGRlY29yYXRvciBub3RhdGlvbiBhcyBzaG93biBiZWxvdy4KCiAgICA6dHlwZSB2YWxpZGF0b3I6IGBjYWxsYWJsZWAgb3IgYSBgbGlzdGAgb2YgYGNhbGxhYmxlYFwgcy4KCiAgICA6cGFyYW0gcmVwcjogSW5jbHVkZSB0aGlzIGF0dHJpYnV0ZSBpbiB0aGUgZ2VuZXJhdGVkIGBgX19yZXByX19gYAogICAgICAgIG1ldGhvZC4gSWYgYGBUcnVlYGAsIGluY2x1ZGUgdGhlIGF0dHJpYnV0ZTsgaWYgYGBGYWxzZWBgLCBvbWl0IGl0LiBCeQogICAgICAgIGRlZmF1bHQsIHRoZSBidWlsdC1pbiBgYHJlcHIoKWBgIGZ1bmN0aW9uIGlzIHVzZWQuIFRvIG92ZXJyaWRlIGhvdyB0aGUKICAgICAgICBhdHRyaWJ1dGUgdmFsdWUgaXMgZm9ybWF0dGVkLCBwYXNzIGEgYGBjYWxsYWJsZWBgIHRoYXQgdGFrZXMgYSBzaW5nbGUKICAgICAgICB2YWx1ZSBhbmQgcmV0dXJucyBhIHN0cmluZy4gTm90ZSB0aGF0IHRoZSByZXN1bHRpbmcgc3RyaW5nIGlzIHVzZWQKICAgICAgICBhcy1pcywgaS5lLiBpdCB3aWxsIGJlIHVzZWQgZGlyZWN0bHkgKmluc3RlYWQqIG9mIGNhbGxpbmcgYGByZXByKClgYAogICAgICAgICh0aGUgZGVmYXVsdCkuCiAgICA6dHlwZSByZXByOiBhIGBib29sYCBvciBhIGBjYWxsYWJsZWAgdG8gdXNlIGEgY3VzdG9tIGZ1bmN0aW9uLgoKICAgIDpwYXJhbSBlcTogSWYgYGBUcnVlYGAgKGRlZmF1bHQpLCBpbmNsdWRlIHRoaXMgYXR0cmlidXRlIGluIHRoZQogICAgICAgIGdlbmVyYXRlZCBgYF9fZXFfX2BgIGFuZCBgYF9fbmVfX2BgIG1ldGhvZHMgdGhhdCBjaGVjayB0d28gaW5zdGFuY2VzCiAgICAgICAgZm9yIGVxdWFsaXR5LiBUbyBvdmVycmlkZSBob3cgdGhlIGF0dHJpYnV0ZSB2YWx1ZSBpcyBjb21wYXJlZCwKICAgICAgICBwYXNzIGEgYGBjYWxsYWJsZWBgIHRoYXQgdGFrZXMgYSBzaW5nbGUgdmFsdWUgYW5kIHJldHVybnMgdGhlIHZhbHVlCiAgICAgICAgdG8gYmUgY29tcGFyZWQuCiAgICA6dHlwZSBlcTogYSBgYm9vbGAgb3IgYSBgY2FsbGFibGVgLgoKICAgIDpwYXJhbSBvcmRlcjogSWYgYGBUcnVlYGAgKGRlZmF1bHQpLCBpbmNsdWRlIHRoaXMgYXR0cmlidXRlcyBpbiB0aGUKICAgICAgICBnZW5lcmF0ZWQgYGBfX2x0X19gYCwgYGBfX2xlX19gYCwgYGBfX2d0X19gYCBhbmQgYGBfX2dlX19gYCBtZXRob2RzLgogICAgICAgIFRvIG92ZXJyaWRlIGhvdyB0aGUgYXR0cmlidXRlIHZhbHVlIGlzIG9yZGVyZWQsCiAgICAgICAgcGFzcyBhIGBgY2FsbGFibGVgYCB0aGF0IHRha2VzIGEgc2luZ2xlIHZhbHVlIGFuZCByZXR1cm5zIHRoZSB2YWx1ZQogICAgICAgIHRvIGJlIG9yZGVyZWQuCiAgICA6dHlwZSBvcmRlcjogYSBgYm9vbGAgb3IgYSBgY2FsbGFibGVgLgoKICAgIDpwYXJhbSBjbXA6IFNldHRpbmcgKmNtcCogaXMgZXF1aXZhbGVudCB0byBzZXR0aW5nICplcSogYW5kICpvcmRlciogdG8gdGhlCiAgICAgICAgc2FtZSB2YWx1ZS4gTXVzdCBub3QgYmUgbWl4ZWQgd2l0aCAqZXEqIG9yICpvcmRlciouCiAgICA6dHlwZSBjbXA6IGEgYGJvb2xgIG9yIGEgYGNhbGxhYmxlYC4KCiAgICA6cGFyYW0gT3B0aW9uYWxbYm9vbF0gaGFzaDogSW5jbHVkZSB0aGlzIGF0dHJpYnV0ZSBpbiB0aGUgZ2VuZXJhdGVkCiAgICAgICAgYGBfX2hhc2hfX2BgIG1ldGhvZC4gIElmIGBgTm9uZWBgIChkZWZhdWx0KSwgbWlycm9yICplcSoncyB2YWx1ZS4gIFRoaXMKICAgICAgICBpcyB0aGUgY29ycmVjdCBiZWhhdmlvciBhY2NvcmRpbmcgdGhlIFB5dGhvbiBzcGVjLiAgU2V0dGluZyB0aGlzIHZhbHVlCiAgICAgICAgdG8gYW55dGhpbmcgZWxzZSB0aGFuIGBgTm9uZWBgIGlzICpkaXNjb3VyYWdlZCouCiAgICA6cGFyYW0gYm9vbCBpbml0OiBJbmNsdWRlIHRoaXMgYXR0cmlidXRlIGluIHRoZSBnZW5lcmF0ZWQgYGBfX2luaXRfX2BgCiAgICAgICAgbWV0aG9kLiAgSXQgaXMgcG9zc2libGUgdG8gc2V0IHRoaXMgdG8gYGBGYWxzZWBgIGFuZCBzZXQgYSBkZWZhdWx0CiAgICAgICAgdmFsdWUuICBJbiB0aGF0IGNhc2UgdGhpcyBhdHRyaWJ1dGVkIGlzIHVuY29uZGl0aW9uYWxseSBpbml0aWFsaXplZAogICAgICAgIHdpdGggdGhlIHNwZWNpZmllZCBkZWZhdWx0IHZhbHVlIG9yIGZhY3RvcnkuCiAgICA6cGFyYW0gY2FsbGFibGUgY29udmVydGVyOiBgY2FsbGFibGVgIHRoYXQgaXMgY2FsbGVkIGJ5CiAgICAgICAgKmF0dHJzKi1nZW5lcmF0ZWQgYGBfX2luaXRfX2BgIG1ldGhvZHMgdG8gY29udmVydCBhdHRyaWJ1dGUncyB2YWx1ZQogICAgICAgIHRvIHRoZSBkZXNpcmVkIGZvcm1hdC4gIEl0IGlzIGdpdmVuIHRoZSBwYXNzZWQtaW4gdmFsdWUsIGFuZCB0aGUKICAgICAgICByZXR1cm5lZCB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMgdGhlIG5ldyB2YWx1ZSBvZiB0aGUgYXR0cmlidXRlLiAgVGhlCiAgICAgICAgdmFsdWUgaXMgY29udmVydGVkIGJlZm9yZSBiZWluZyBwYXNzZWQgdG8gdGhlIHZhbGlkYXRvciwgaWYgYW55LgogICAgOnBhcmFtIG1ldGFkYXRhOiBBbiBhcmJpdHJhcnkgbWFwcGluZywgdG8gYmUgdXNlZCBieSB0aGlyZC1wYXJ0eQogICAgICAgIGNvbXBvbmVudHMuICBTZWUgYGV4dGVuZGluZy1tZXRhZGF0YWAuCgogICAgOnBhcmFtIHR5cGU6IFRoZSB0eXBlIG9mIHRoZSBhdHRyaWJ1dGUuIE5vd2FkYXlzLCB0aGUgcHJlZmVycmVkIG1ldGhvZCB0bwogICAgICAgIHNwZWNpZnkgdGhlIHR5cGUgaXMgdXNpbmcgYSB2YXJpYWJsZSBhbm5vdGF0aW9uIChzZWUgOnBlcDpgNTI2YCkuCiAgICAgICAgVGhpcyBhcmd1bWVudCBpcyBwcm92aWRlZCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS4KICAgICAgICBSZWdhcmRsZXNzIG9mIHRoZSBhcHByb2FjaCB1c2VkLCB0aGUgdHlwZSB3aWxsIGJlIHN0b3JlZCBvbgogICAgICAgIGBgQXR0cmlidXRlLnR5cGVgYC4KCiAgICAgICAgUGxlYXNlIG5vdGUgdGhhdCAqYXR0cnMqIGRvZXNuJ3QgZG8gYW55dGhpbmcgd2l0aCB0aGlzIG1ldGFkYXRhIGJ5CiAgICAgICAgaXRzZWxmLiBZb3UgY2FuIHVzZSBpdCBhcyBwYXJ0IG9mIHlvdXIgb3duIGNvZGUgb3IgZm9yCiAgICAgICAgYHN0YXRpYyB0eXBlIGNoZWNraW5nIDx0eXBlcz5gLgogICAgOnBhcmFtIGt3X29ubHk6IE1ha2UgdGhpcyBhdHRyaWJ1dGUga2V5d29yZC1vbmx5IGluIHRoZSBnZW5lcmF0ZWQKICAgICAgICBgYF9faW5pdF9fYGAgKGlmIGBgaW5pdGBgIGlzIGBgRmFsc2VgYCwgdGhpcyBwYXJhbWV0ZXIgaXMgaWdub3JlZCkuCiAgICA6cGFyYW0gb25fc2V0YXR0cjogQWxsb3dzIHRvIG92ZXJ3cml0ZSB0aGUgKm9uX3NldGF0dHIqIHNldHRpbmcgZnJvbQogICAgICAgIGBhdHRyLnNgLiBJZiBsZWZ0IGBOb25lYCwgdGhlICpvbl9zZXRhdHRyKiB2YWx1ZSBmcm9tIGBhdHRyLnNgIGlzIHVzZWQuCiAgICAgICAgU2V0IHRvIGBhdHRycy5zZXR0ZXJzLk5PX09QYCB0byBydW4gKipubyoqIGBzZXRhdHRyYCBob29rcyBmb3IgdGhpcwogICAgICAgIGF0dHJpYnV0ZSAtLSByZWdhcmRsZXNzIG9mIHRoZSBzZXR0aW5nIGluIGBhdHRyLnNgLgogICAgOnR5cGUgb25fc2V0YXR0cjogYGNhbGxhYmxlYCwgb3IgYSBsaXN0IG9mIGNhbGxhYmxlcywgb3IgYE5vbmVgLCBvcgogICAgICAgIGBhdHRycy5zZXR0ZXJzLk5PX09QYAogICAgOnBhcmFtIE9wdGlvbmFsW3N0cl0gYWxpYXM6IE92ZXJyaWRlIHRoaXMgYXR0cmlidXRlJ3MgcGFyYW1ldGVyIG5hbWUgaW4gdGhlCiAgICAgICAgZ2VuZXJhdGVkIGBgX19pbml0X19gYCBtZXRob2QuIElmIGxlZnQgYE5vbmVgLCBkZWZhdWx0IHRvIGBgbmFtZWBgCiAgICAgICAgc3RyaXBwZWQgb2YgbGVhZGluZyB1bmRlcnNjb3Jlcy4gU2VlIGBwcml2YXRlLWF0dHJpYnV0ZXNgLgoKICAgIC4uIHZlcnNpb25hZGRlZDo6IDE1LjIuMCAqY29udmVydCoKICAgIC4uIHZlcnNpb25hZGRlZDo6IDE2LjMuMCAqbWV0YWRhdGEqCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDE3LjEuMCAqdmFsaWRhdG9yKiBjYW4gYmUgYSBgYGxpc3RgYCBub3cuCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDE3LjEuMAogICAgICAgKmhhc2gqIGlzIGBgTm9uZWBgIGFuZCB0aGVyZWZvcmUgbWlycm9ycyAqZXEqIGJ5IGRlZmF1bHQuCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAxNy4zLjAgKnR5cGUqCiAgICAuLiBkZXByZWNhdGVkOjogMTcuNC4wICpjb252ZXJ0KgogICAgLi4gdmVyc2lvbmFkZGVkOjogMTcuNC4wICpjb252ZXJ0ZXIqIGFzIGEgcmVwbGFjZW1lbnQgZm9yIHRoZSBkZXByZWNhdGVkCiAgICAgICAqY29udmVydCogdG8gYWNoaWV2ZSBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIG5vdW4tYmFzZWQgYXJndW1lbnRzLgogICAgLi4gdmVyc2lvbmFkZGVkOjogMTguMS4wCiAgICAgICBgYGZhY3Rvcnk9ZmBgIGlzIHN5bnRhY3RpYyBzdWdhciBmb3IgYGBkZWZhdWx0PWF0dHIuRmFjdG9yeShmKWBgLgogICAgLi4gdmVyc2lvbmFkZGVkOjogMTguMi4wICprd19vbmx5KgogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAxOS4yLjAgKmNvbnZlcnQqIGtleXdvcmQgYXJndW1lbnQgcmVtb3ZlZC4KICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMTkuMi4wICpyZXByKiBhbHNvIGFjY2VwdHMgYSBjdXN0b20gY2FsbGFibGUuCiAgICAuLiBkZXByZWNhdGVkOjogMTkuMi4wICpjbXAqIFJlbW92YWwgb24gb3IgYWZ0ZXIgMjAyMS0wNi0wMS4KICAgIC4uIHZlcnNpb25hZGRlZDo6IDE5LjIuMCAqZXEqIGFuZCAqb3JkZXIqCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAyMC4xLjAgKm9uX3NldGF0dHIqCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDIwLjMuMCAqa3dfb25seSogYmFja3BvcnRlZCB0byBQeXRob24gMgogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAyMS4xLjAKICAgICAgICplcSosICpvcmRlciosIGFuZCAqY21wKiBhbHNvIGFjY2VwdCBhIGN1c3RvbSBjYWxsYWJsZQogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAyMS4xLjAgKmNtcCogdW5kZXByZWNhdGVkCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAyMi4yLjAgKmFsaWFzKgogICAgVE5G+jZJbnZhbGlkIHZhbHVlIGZvciBoYXNoLiAgTXVzdCBiZSBUcnVlLCBGYWxzZSwgb3IgTm9uZS56PVRoZSBgZGVmYXVsdGAgYW5kIGBmYWN0b3J5YCBhcmd1bWVudHMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS56KlRoZSBgZmFjdG9yeWAgYXJndW1lbnQgbXVzdCBiZSBhIGNhbGxhYmxlLtoHZGVmYXVsdNoJdmFsaWRhdG9y2gRyZXBy2gNjbXDaBGhhc2jaBGluaXTaCWNvbnZlcnRlctoIbWV0YWRhdGFyKwAAANoHa3dfb25sedoCZXHaBmVxX2tledoFb3JkZXLaCW9yZGVyX2tledoKb25fc2V0YXR0ctoFYWxpYXNyFgAAACkN2hpfZGV0ZXJtaW5lX2F0dHJpYl9lcV9vcmRlctoJVHlwZUVycm9ychUAAADaClZhbHVlRXJyb3LaCGNhbGxhYmxl2gdGYWN0b3J52gppc2luc3RhbmNl2gRsaXN02gV0dXBsZXIHAAAA2gRwaXBl2gRhbmRf2g1fQ291bnRpbmdBdHRyKRFyLgAAAHIvAAAAcjAAAAByMQAAAHIyAAAAcjMAAAByNQAAAHIrAAAAcjQAAADaB2ZhY3RvcnlyNgAAAHI3AAAAcjkAAAByOwAAAHI8AAAAcjgAAAByOgAAAHMRAAAAICAgICAgICAgICAgICAgICByGQAAANoGYXR0cmlickkAAABeAAAAcwACAACAAPVwBAAkPtgIC4hSkBWYBPEDAiQG9AACJAbRBCCAQogGkAWQefAIAAgM0AcXmESoBNAcLNAcLLAUuFXQMULQMULdDhfYDETxAwIPCvQAAg8K8AACCQrwCAAID9AHGtgLEp0n0Ash0Ash3RIc8AIBER3xAwMTDvQAAxMO8AADDQ71CAAQGJgH0Q8g1A8g8AABCUsB3RIc0B1J0RJK1BJK0AxK3RIZmCfREiLUEiKIB+AHD9AHF9gTFYgI9QYACBKQKp10pVWYbdEHLNQHLPAAAQUv3RUclFygOtAVLogK4AcQ8AABBSWVWqAJrUS1Jag90RU51BU58AABBSXdFBiYKdAUJIgJ4AcQ8AABBSWVWqAJrUS1Jag90RU51BU58AABBSXdFBiYKdAUJIgJ5QsY8AARDAbwABEMBvAAEQwG2BAXkAfwAxEMBuASG5Ap8AURDAbwBgAOEohU8AcRDAbwCAANEYhE8AkRDAbwCgAOEohU8AsRDAbwDAAOEohU8A0RDAbwDgATHJAp8A8RDAbwEAASGpAY8BERDAbwEgAOEohU8BMRDAbwFAARGJAH8BURDAbwFgAMDogy8BcRDAbwGAAQFoh28BkRDAbwGgAPFIhl8BsRDAbwHAATHJAp8B0RDAbwHgAUHpA68B8RDAbwIAAPFIhl8CERDAbwABEFBnIbAAAA2gBjBAAAAAAAAAAAAAAABQAAAAMAAADzSgAAAJcAdAEAAAAAAAAAAAAAfAB8A2QBpgMAAKsDAAAAAAAAAAB9BHQDAAAAAAAAAAAAAHwEfAF8AqYDAACrAwAAAAAAAAAAAQBkAlMAKQN6VQogICAgIkV4ZWMiIHRoZSBzY3JpcHQgd2l0aCB0aGUgZ2l2ZW4gZ2xvYmFsIChnbG9icykgYW5kIGxvY2FsIChsb2NzKSB2YXJpYWJsZXMuCiAgICDaBGV4ZWNOKQLaB2NvbXBpbGXaBGV2YWwpBdoGc2NyaXB02gVnbG9ic9oEbG9jc9oIZmlsZW5hbWXaCGJ5dGVjb2RlcwUAAAAgICAgIHIZAAAA2hFfY29tcGlsZV9hbmRfZXZhbHJUAAAAKgEAAHMtAAAAgAD1CAAQF5B2mHioFtEPMNQPMIBI3QQIiBiQNZgk0QQf1AQf0AQf0AQf0AQfchsAAABjBAAAAAAAAAAAAAAABgAAAAMAAADzCgEAAJcAaQB9BGQBfQV8An0GCQB0AQAAAAAAAAAAAAB8AaYBAACrAQAAAAAAAAAAZAN8AaABAAAAAAAAAAAAAAAAAAAAAAAAAABkAqYBAACrAQAAAAAAAAAAfAJmBH0HdAQAAAAAAAAAAAAAagMAAAAAAAAAAKAEAAAAAAAAAAAAAAAAAAAAAAAAAAB8AnwHpgIAAKsCAAAAAAAAAAB9CHwIfAdrAgAAAAByAW4WfAZkA2QEhQIZAAAAAAAAAAAAmwBkBXwFmwBkBp0EfQJ8BWQBeg0AAH0FjGN0CwAAAAAAAAAAAAB8AXwDfAR8AqYEAACrBAAAAAAAAAAAAQB8BHwAGQAAAAAAAAAAAFMAKQd6TwogICAgQ3JlYXRlIHRoZSBtZXRob2Qgd2l0aCB0aGUgc2NyaXB0IGdpdmVuIGFuZCByZXR1cm4gdGhlIG1ldGhvZCBvYmplY3QuCiAgICByBAAAAFRO6f/////6AS36AT4pBtoDbGVu2gpzcGxpdGxpbmVz2glsaW5lY2FjaGXaBWNhY2hl2gpzZXRkZWZhdWx0clQAAAApCdoEbmFtZXJPAAAAclIAAAByUAAAAHJRAAAA2gVjb3VudNoNYmFzZV9maWxlbmFtZdoPbGluZWNhY2hlX3R1cGxl2gdvbGRfdmFscwkAAAAgICAgICAgICByGQAAANoMX21ha2VfbWV0aG9kcmMAAAAyAQAAc7UAAACAAPAIAAwOgETwCAANDoBF2BQcgE3wAgwFF+UMD5AGiUuMS9gMENgMEtcMHdIMHZhk0Qwj1Awj2AwU8AkFGwqID/UMABMclC/XEizSEiyoWLB/0RJH1BJHiAfYCxKQb9ILJdALJdgMEeAaJ6gDqBKoA9QaLNAXN9AXN6h10Bc30Bc30Bc3iEjYDBGQUYlKiEXwGQwFF/UcAAUWkGaYZaBUqDjRBDTUBDTQBDTgCw+QBIw60AQVchsAAABjAgAAAAAAAAAAAAAACAAAAAMAAADzIgEAAJcAfACbAGQBnQJ9AmQCfAKbAGQDnQNkBGcCfQN8AXIydAEAAAAAAAAAAAAAfAGmAQAAqwEAAAAAAAAAAEQAXSFcAgAAfQR9BXwDoAEAAAAAAAAAAAAAAAAAAAAAAAAAAGQFfAWbAGQGfASbAGQHnQWmAQAAqwEAAAAAAAAAAAEAjCJuFXwDoAEAAAAAAAAAAAAAAAAAAAAAAAAAAGQIpgEAAKsBAAAAAAAAAAABAHQEAAAAAAAAAAAAAHQGAAAAAAAAAAAAAGQJnAJ9BnQJAAAAAAAAAAAAAGQKoAUAAAAAAAAAAAAAAAAAAAAAAAAAAHwDpgEAAKsBAAAAAAAAAAB8BqYCAACrAgAAAAAAAAAAAQB8BnwCGQAAAAAAAAAAAFMAKQt66QogICAgQ3JlYXRlIGEgdHVwbGUgc3ViY2xhc3MgdG8gaG9sZCBgQXR0cmlidXRlYHMgZm9yIGFuIGBhdHRyc2AgY2xhc3MuCgogICAgVGhlIHN1YmNsYXNzIGlzIGEgYmFyZSB0dXBsZSB3aXRoIHByb3BlcnRpZXMgZm9yIG5hbWVzLgoKICAgIGNsYXNzIE15Q2xhc3NBdHRyaWJ1dGVzKHR1cGxlKToKICAgICAgICBfX3Nsb3RzX18gPSAoKQogICAgICAgIHggPSBwcm9wZXJ0eShpdGVtZ2V0dGVyKDApKQogICAg2gpBdHRyaWJ1dGVzegZjbGFzcyB6CCh0dXBsZSk6ehIgICAgX19zbG90c19fID0gKCn6BCAgICB6JSA9IF9hdHRyc19wcm9wZXJ0eShfYXR0cnNfaXRlbWdldHRlcij6AikpegggICAgcGFzcykC2hFfYXR0cnNfaXRlbWdldHRlctoPX2F0dHJzX3Byb3BlcnR5+gEKKQbaCWVudW1lcmF0ZdoGYXBwZW5kcgMAAADaCHByb3BlcnR5clQAAADaBGpvaW4pB9oIY2xzX25hbWXaCmF0dHJfbmFtZXPaD2F0dHJfY2xhc3NfbmFtZdoTYXR0cl9jbGFzc190ZW1wbGF0ZdoBadoJYXR0cl9uYW1lclAAAABzBwAAACAgICAgICByGQAAANoWX21ha2VfYXR0cl90dXBsZV9jbGFzc3J1AAAATwEAAHPTAAAAgADwFAAaItAWLdAWLdAWLYBP4AgqkB/QCCrQCCrQCCrYCBzwBQMbBtAEF/AIAAgS8AAGBS/dHCWgatEcMdQcMfAAAwkO8AADCQ6JTIhBiHnYDB/XDCbSDCbYEEyQedAQTNAQTMBx0BBM0BBM0BBM8QMCDQ70AAINDvAAAg0O8AACDQ7wAwMJDvAKAAkc1wgi0ggioDrRCC7UCC7QCC7dIizFGNAMStAMSoBF3QQVkGSXaZJp0CAz0RY01BY0sGXRBDzUBDzQBDzYCxCQH9QLIdAEIXIbAAAA2gtfQXR0cmlidXRlcykD2gVhdHRyc9oKYmFzZV9hdHRyc9oOYmFzZV9hdHRyc19tYXBjAQAAAAAAAAAAAAAAAwAAAAMAAADzvAAAAJcAdAEAAAAAAAAAAAAAfACmAQAAqwEAAAAAAAAAAH0AfACgAQAAAAAAAAAAAAAAAAAAAAAAAAAAZAGmAQAAqwEAAAAAAAAAAHIffACgAgAAAAAAAAAAAAAAAAAAAAAAAAAAZAGmAQAAqwEAAAAAAAAAAHIKfABkAmQDhQIZAAAAAAAAAAAAfQB8AKABAAAAAAAAAAAAAAAAAAAAAAAAAAB0BgAAAAAAAAAAAACmAQAAqwEAAAAAAAAAAFMAKQR68QogICAgQ2hlY2sgd2hldGhlciAqYW5ub3QqIGlzIGEgdHlwaW5nLkNsYXNzVmFyLgoKICAgIFRoZSBzdHJpbmcgY29tcGFyaXNvbiBoYWNrIGlzIHVzZWQgdG8gYXZvaWQgZXZhbHVhdGluZyBhbGwgc3RyaW5nCiAgICBhbm5vdGF0aW9ucyB3aGljaCB3b3VsZCBwdXQgYXR0cnMtYmFzZWQgY2xhc3NlcyBhdCBhIHBlcmZvcm1hbmNlCiAgICBkaXNhZHZhbnRhZ2UgY29tcGFyZWQgdG8gcGxhaW4gb2xkIGNsYXNzZXMuCiAgICApAvoBJ/oBInIEAAAAclYAAAApBNoDc3Ry2gpzdGFydHN3aXRo2ghlbmRzd2l0aNoSX2NsYXNzdmFyX3ByZWZpeGVzKQHaBWFubm90cwEAAAAgchkAAADaDV9pc19jbGFzc192YXJyggAAAHkBAABzXAAAAIAA9RAADRCQBYlKjEqARfAGAAgN1wcX0gcXmArRByPUByPwAAEFHKgFrw6qDrB60ShC1ChC8AABBRzYEBWQYZgCkGSUC4gF4AsQ1wsb0gsb1Rwu0Qsv1Asv0AQvchsAAABjAgAAAAAAAAAAAAAABgAAAAMAAADznAAAAJcAdAEAAAAAAAAAAAAAfAB8AXQCAAAAAAAAAAAAAKYDAACrAwAAAAAAAAAAfQJ8AnQCAAAAAAAAAAAAAHUAcgJkAVMAfABqAgAAAAAAAAAAZAJkA4UCGQAAAAAAAAAAAEQAXRp9A3QBAAAAAAAAAAAAAHwDfAFkA6YDAACrAwAAAAAAAAAAfQR8AnwEdQByAwEAZAFTAIwbZARTACkFelIKICAgIENoZWNrIHdoZXRoZXIgKmNscyogZGVmaW5lcyAqYXR0cmliX25hbWUqIChhbmQgZG9lc24ndCBqdXN0IGluaGVyaXQgaXQpLgogICAgRnIEAAAATlQpA9oHZ2V0YXR0ctoJX3NlbnRpbmVs2gdfX21yb19fKQXaA2Nsc9oLYXR0cmliX25hbWXaBGF0dHLaCGJhc2VfY2xz2gFhcwUAAAAgICAgIHIZAAAA2hJfaGFzX293bl9hdHRyaWJ1dGVyjAAAAIoBAABzawAAAIAA9QgADBOQM5gLpVnRCy/UCy+ARNgHC4150AcY0AcY2A8UiHXgFBeUS6ABoAKgApRP8AADBRnwAAMFGYgI3QwTkEiYa6g00Qww1AwwiAHYCw+QMYg5iDnYExiQNZA18AMADBXwBgAMEIg0chsAAABjAQAAAAAAAAAAAAAABAAAAAMAAADzNAAAAJcAdAEAAAAAAAAAAAAAfABkAaYCAACrAgAAAAAAAAAAcgd8AGoBAAAAAAAAAABTAGkAUwApAnokCiAgICBHZXQgYW5ub3RhdGlvbnMgZm9yICpjbHMqLgogICAg2g9fX2Fubm90YXRpb25zX18pAnKMAAAAco4AAACpAXKHAAAAcwEAAAAgchkAAADaEF9nZXRfYW5ub3RhdGlvbnNykAAAAJoBAABzJQAAAIAA9QgACBqYI9AfMNEHMdQHMfAAAQUj2A8S1A8i0Agi4AsNgElyGwAAAGMCAAAAAAAAAAAAAAAGAAAAAwAAAPO8AQAAlwBnAH0CaQB9A3QBAAAAAAAAAAAAAHwAagEAAAAAAAAAAGQBZAKFAhkAAAAAAAAAAACmAQAAqwEAAAAAAAAAAEQAXVx9BHQFAAAAAAAAAAAAAHwEZANnAKYDAACrAwAAAAAAAAAARABdSH0FfAVqAwAAAAAAAAAAcwl8BWoEAAAAAAAAAAB8AXYAcgGME3wFoAUAAAAAAAAAAAAAAAAAAAAAAAAAAGQErAWmAQAAqwEAAAAAAAAAAH0FfAKgBgAAAAAAAAAAAAAAAAAAAAAAAAAAfAWmAQAAqwEAAAAAAAAAAAEAfAR8A3wFagQAAAAAAAAAADwAAACMSYxdZwB9BnQPAAAAAAAAAAAAAKYAAACrAAAAAAAAAAAAfQd0AQAAAAAAAAAAAAB8AqYBAACrAQAAAAAAAAAARABdPH0FfAVqBAAAAAAAAAAAfAd2AHIBjAx8BqAIAAAAAAAAAAAAAAAAAAAAAAAAAABkBnwFpgIAAKsCAAAAAAAAAAABAHwHoAkAAAAAAAAAAAAAAAAAAAAAAAAAAHwFagQAAAAAAAAAAKYBAACrAQAAAAAAAAAAAQCMPXwGfANmAlMAKQd6UQogICAgQ29sbGVjdCBhdHRyLmlicyBmcm9tIGJhc2UgY2xhc3NlcyBvZiAqY2xzKiwgZXhjZXB0ICp0YWtlbl9hdHRyX25hbWVzKi4KICAgIHIEAAAAclYAAADaD19fYXR0cnNfYXR0cnNfX1SpAdoJaW5oZXJpdGVkcgIAAAApCtoIcmV2ZXJzZWRyhgAAAHKEAAAAcpQAAAByXgAAANoGZXZvbHZlcmwAAADaA3NldNoGaW5zZXJ02gNhZGQpCHKHAAAA2hB0YWtlbl9hdHRyX25hbWVzcngAAADaDWJhc2VfYXR0cl9tYXByigAAAHKLAAAA2ghmaWx0ZXJlZNoEc2VlbnMIAAAAICAgICAgICByGQAAANoTX2NvbGxlY3RfYmFzZV9hdHRyc3KeAAAApAEAAHMOAQAAgADwCAASFIBK2BQWgE31BgAVHZhTnFuoEagyqBTUHS7RFC/UFC/wAAcFLfAABwUtiAjdERiYGNAjNLBi0RE51BE58AAGCS3wAAYJLYhB2A8QjHvwAAENGZhhnGbQKDjQHjjQHjjYEBjgEBGXCJIIoDSQCNEQKNQQKIhB2AwW1wwd0gwdmGHRDCDUDCDQDCDYJCyITZghnCbRDCHQDCHwDQYJLfAWABASgEjdCw6JNYw1gETdDRWQatENIdQNIfAABAUZ8AAEBRmIAdgLDIw2kFSIPog+2AwU2AgQjw+KD5gBmDHRCB3UCB3QCB3YCAyPCIoIkBGUFtEIGNQIGNAIGNAIGOALE5Bd0Asi0AQichsAAABjAgAAAAAAAAAAAAAABgAAAAMAAADzEAEAAJcAZwB9AmkAfQN8AGoAAAAAAAAAAABkAWQChQIZAAAAAAAAAAAARABdb30EdAMAAAAAAAAAAAAAfARkA2cApgMAAKsDAAAAAAAAAABEAF1bfQV8BWoCAAAAAAAAAAB8AXYAcgGMDHwFoAMAAAAAAAAAAAAAAAAAAAAAAAAAAGQErAWmAQAAqwEAAAAAAAAAAH0FfAGgBAAAAAAAAAAAAAAAAAAAAAAAAAAAfAVqAgAAAAAAAAAApgEAAKsBAAAAAAAAAAABAHwCoAUAAAAAAAAAAAAAAAAAAAAAAAAAAHwFpgEAAKsBAAAAAAAAAAABAHwEfAN8BWoCAAAAAAAAAAA8AAAAjFyMcHwCfANmAlMAKQZhLQEAAAogICAgQ29sbGVjdCBhdHRyLmlicyBmcm9tIGJhc2UgY2xhc3NlcyBvZiAqY2xzKiwgZXhjZXB0ICp0YWtlbl9hdHRyX25hbWVzKi4KCiAgICBOLkIuICp0YWtlbl9hdHRyX25hbWVzKiB3aWxsIGJlIG11dGF0ZWQuCgogICAgQWRoZXJlIHRvIHRoZSBvbGQgaW5jb3JyZWN0IGJlaGF2aW9yLgoKICAgIE5vdGFibHkgaXQgY29sbGVjdHMgZnJvbSB0aGUgZnJvbnQgYW5kIGNvbnNpZGVycyBpbmhlcml0ZWQgYXR0cmlidXRlcyB3aGljaAogICAgbGVhZHMgdG8gdGhlIGJ1Z2d5IGJlaGF2aW9yIHJlcG9ydGVkIGluICM0MjguCiAgICByBAAAAHJWAAAAcpIAAABUcpMAAAApBnKGAAAAcoQAAAByXgAAAHKWAAAAcpkAAABybAAAACkGcocAAABymgAAAHJ4AAAAcpsAAAByigAAAHKLAAAAcwYAAAAgICAgICByGQAAANoaX2NvbGxlY3RfYmFzZV9hdHRyc19icm9rZW5yoAAAAMMBAABztQAAAIAA8BYAEhSAStgUFoBN8AYAFRiUS6ABoCKgBNQUJfAACAUt8AAIBS2ICN0RGJgY0CM0sGLRETnUETnwAAcJLfAABwktiEHYDxCMdtAZKdAPKdAPKdgQGOAQEZcIkgigNJAI0RAo1BAoiEHYDBzXDCDSDCCgEaQW0Qwo1Awo0Awo2AwW1wwd0gwdmGHRDCDUDCDQDCDYJCyITZghnCbRDCHQDCHwDwcJLfASAAwWkH3QCyTQBCRyGwAAAGMGAAAAAAAAAAAAAAAKAAAAAwAAAPNMBQAAhxSHFZcAfABqAAAAAAAAAAAAihV0AwAAAAAAAAAAAAB8AKYBAACrAQAAAAAAAAAAihR8AYEgZAKEAHwBoAIAAAAAAAAAAAAAAAAAAAAAAAAAAKYAAACrAAAAAAAAAAAARACmAAAAqwAAAAAAAAAAAH0GkAFuYnwCZAN1AJABci9kBIQAiRWgAgAAAAAAAAAAAAAAAAAAAAAAAAAApgAAAKsAAAAAAAAAAABEAKYAAACrAAAAAAAAAAAAfQdnAH0GdAcAAAAAAAAAAAAApgAAAKsAAAAAAAAAAAB9CIkUoAIAAAAAAAAAAAAAAAAAAAAAAAAAAKYAAACrAAAAAAAAAAAARABdmVwCAAB9CX0KdAkAAAAAAAAAAAAAfAqmAQAAqwEAAAAAAAAAAHIBjBV8CKAFAAAAAAAAAAAAAAAAAAAAAAAAAAB8CaYBAACrAQAAAAAAAAAAAQCJFaAGAAAAAAAAAAAAAAAAAAAAAAAAAAB8CXQOAAAAAAAAAAAAAKYCAACrAgAAAAAAAAAAfQt0EQAAAAAAAAAAAAB8C3QSAAAAAAAAAAAAAKYCAACrAgAAAAAAAAAAcyh8C3QOAAAAAAAAAAAAAHUAcg90FQAAAAAAAAAAAACmAAAAqwAAAAAAAAAAAH0LbhB0FQAAAAAAAAAAAAB8C6wFpgEAAKsBAAAAAAAAAAB9C3wGoAsAAAAAAAAAAAAAAAAAAAAAAAAAAHwJfAtmAqYBAACrAQAAAAAAAAAAAQCMmnwHfAh6CgAAfQx0GQAAAAAAAAAAAAB8DKYBAACrAQAAAAAAAAAAZAZrBAAAAAByOnQbAAAAAAAAAAAAAGQHZAigDgAAAAAAAAAAAAAAAAAAAAAAAAAAdB8AAAAAAAAAAAAAfAyIFWYBZAmECKwKpgIAAKsCAAAAAAAAAACmAQAAqwEAAAAAAAAAAHoAAABkC3oAAACmAQAAqwEAAAAAAAAAAIIBbi50HwAAAAAAAAAAAABkDIQAiRWgAgAAAAAAAAAAAAAAAAAAAAAAAAAApgAAAKsAAAAAAAAAAABEAKYAAACrAAAAAAAAAAAAZA2EAKwKpgIAAKsCAAAAAAAAAAB9BogUZgFkDoQIfAZEAKYAAACrAAAAAAAAAAAAfQ18BHIedCEAAAAAAAAAAAAAfABkD4QAfA1EAKYAAACrAAAAAAAAAAAApgIAAKsCAAAAAAAAAABcAgAAfQ59D24ddCMAAAAAAAAAAAAAfABkEIQAfA1EAKYAAACrAAAAAAAAAAAApgIAAKsCAAAAAAAAAABcAgAAfQ59D3wDchhkEYQAfA1EAKYAAACrAAAAAAAAAAAAfQ1kEoQAfA5EAKYAAACrAAAAAAAAAAAAfQ58DnwNegAAAH0QZBN9EWQUhAB8EEQApgAAAKsAAAAAAAAAAABEAF06fQt8EWQDdQByIHwLahIAAAAAAAAAAHQOAAAAAAAAAAAAAHUAchJ0JwAAAAAAAAAAAABkFXwLmwKdAqYBAACrAQAAAAAAAAAAggF8EWQTdQByEHwLahIAAAAAAAAAAHQOAAAAAAAAAAAAAHUBcgJkA30RjDt8BYEMAgB8BXwAfBCmAgAAqwIAAAAAAAAAAH0QZBaEAHwQRACmAAAAqwAAAAAAAAAAAH0QZBeEAHwQRACmAAAAqwAAAAAAAAAAAH0SdCkAAAAAAAAAAAAAfABqFQAAAAAAAAAAfBKmAgAAqwIAAAAAAAAAAH0TdC0AAAAAAAAAAAAAAgB8E3wQpgEAAKsBAAAAAAAAAAB8DnwPZgOmAQAAqwEAAAAAAAAAAFMAKRhhMAEAAAogICAgVHJhbnNmb3JtIGFsbCBgX0NvdW50aW5nQXR0cmBzIG9uIGEgY2xhc3MgaW50byBgQXR0cmlidXRlYHMuCgogICAgSWYgKnRoZXNlKiBpcyBwYXNzZWQsIHVzZSB0aGF0IGFuZCBkb24ndCBsb29rIGZvciB0aGVtIG9uIHRoZSBjbGFzcy4KCiAgICAqY29sbGVjdF9ieV9tcm8qIGlzIFRydWUsIGNvbGxlY3QgdGhlbSBpbiB0aGUgY29ycmVjdCBNUk8gb3JkZXIsIG90aGVyd2lzZQogICAgdXNlIHRoZSBvbGQgLS0gaW5jb3JyZWN0IC0tIG9yZGVyLiAgU2VlICM0MjguCgogICAgUmV0dXJuIGFuIGBfQXR0cmlidXRlc2AuCiAgICBOYwEAAAAAAAAAAAAAAAQAAAATAAAA8xwAAACXAGcAfABdCVwCAAB9AX0CfAF8AmYCkQKMClMAchYAAAByFgAAACkD2gIuMHJeAAAA2gJjYXMDAAAAICAgchkAAAD6CjxsaXN0Y29tcD56JF90cmFuc2Zvcm1fYXR0cnMuPGxvY2Fscz4uPGxpc3Rjb21wPvABAABzIAAAAIAA0BI80BI80BI8oSigJKgCkESYIpA60BI80BI80BI8chsAAABUYwEAAAAAAAAAAAAAAAYAAAATAAAA80IAAACXAGgAfABdHFwCAAB9AX0CdAEAAAAAAAAAAAAAfAJ0AgAAAAAAAAAAAACmAgAAqwIAAAAAAAAAAK8afAGSAowdUwByFgAAAKkCckIAAAByRwAAAKkDcqMAAAByXgAAAHKJAAAAcwMAAAAgICByGQAAAPoJPHNldGNvbXA+eiNfdHJhbnNmb3JtX2F0dHJzLjxsb2NhbHM+LjxzZXRjb21wPvIBAABzPAAAAIAA8AAEFArwAAQUCvAABBQK4RAakASQZN0PGZgkpQ3RDy7UDy7wBwQUCtgMEPADBBQK8AAEFArwAAQUCnIbAAAAqQFyLgAAAHICAAAAejFUaGUgZm9sbG93aW5nIGBhdHRyLmliYHMgbGFjayBhIHR5cGUgYW5ub3RhdGlvbjog+gIsIGMBAAAAAAAAAAAAAAADAAAAEwAAAPM4AAAAlQGXAIkBoAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwApgEAAKsBAAAAAAAAAABqAQAAAAAAAAAAUwByJwAAACkC2gNnZXTaB2NvdW50ZXIpAtoBbtoCY2RzAgAAACCAchkAAAD6CDxsYW1iZGE+eiJfdHJhbnNmb3JtX2F0dHJzLjxsb2NhbHM+LjxsYW1iZGE+CwIAAHMUAAAA+IAAsGK3ZrJmuFGxabRp1DZHgAByGwAAACkB2gNrZXn6AS5jAQAAAAAAAAAAAAAABQAAADMAAADzTgAAAEsAAQCXAHwAXSBcAgAAfQF9AnQBAAAAAAAAAAAAAHwCdAIAAAAAAAAAAAAApgIAAKsCAAAAAAAAAACvGnwBfAJmAlYAlwEBAIwhZABTAHInAAAAcqcAAAByqAAAAHMDAAAAICAgchkAAAD6CTxnZW5leHByPnojX3RyYW5zZm9ybV9hdHRycy48bG9jYWxzPi48Z2VuZXhwcj4RAgAAc04AAADoAOgAgADwAAQNDvAABA0O4RQekESYJN0THZhkpU3REzLUEzLwBwQNDtgRFZB0kAzwAwQNDvAABA0O8AAEDQ7wAAQNDvAABA0O8AAEDQ5yGwAAAGMBAAAAAAAAAAAAAAACAAAAEwAAAPMcAAAAlwB8AGQBGQAAAAAAAAAAAGoAAAAAAAAAAABTAKkCTnIEAAAAKQFyrgAAACkB2gFlcwEAAAAgchkAAABysQAAAHoiX3RyYW5zZm9ybV9hdHRycy48bG9jYWxzPi48bGFtYmRhPhYCAABzDAAAAIAAmCGYQZwknCyAAHIbAAAAYwEAAAAAAAAAAAAAAAkAAAATAAAA83YAAACVAZcAZwB8AF01XAIAAH0BfQJ0AAAAAAAAAAAAAACgAQAAAAAAAAAAAAAAAAAAAAAAAAAAfAF8AokDoAIAAAAAAAAAAAAAAAAAAAAAAAAAAHwBpgEAAKsBAAAAAAAAAACsAKYDAACrAwAAAAAAAAAAkQKMNlMAKQEpA3JeAAAAcqQAAAByKwAAACkD2glBdHRyaWJ1dGXaEmZyb21fY291bnRpbmdfYXR0cnKtAAAAKQRyowAAAHJ0AAAAcqQAAADaBGFubnNzBAAAACAgIIByGQAAAHKlAAAAeiRfdHJhbnNmb3JtX2F0dHJzLjxsb2NhbHM+LjxsaXN0Y29tcD4ZAgAAc1cAAAD4gADwAAURBvAABREG8AAFEQbxCAANGohJkHL1BwAJEtcIJNIIJNgRGphyqASvCKoIsBnRKDvUKDvwAwAJJfEAAgkK9AACCQrwAwURBvAABREG8AAFEQZyGwAAAGMBAAAAAAAAAAAAAAADAAAAEwAAAPMcAAAAlwBoAHwAXQl9AXwBagAAAAAAAAAAAJICjApTAHIWAAAAqQFyXgAAAKkCcqMAAAByiwAAAHMCAAAAICByGQAAAHKpAAAAeiNfdHJhbnNmb3JtX2F0dHJzLjxsb2NhbHM+LjxzZXRjb21wPiICAADzGgAAAIAA0BEs0BEs0BEsmFGQIZQm0BEs0BEs0BEschsAAABjAQAAAAAAAAAAAAAAAwAAABMAAADzHAAAAJcAaAB8AF0JfQF8AWoAAAAAAAAAAACSAowKUwByFgAAAHK+AAAAcr8AAABzAgAAACAgchkAAAByqQAAAHojX3RyYW5zZm9ybV9hdHRycy48bG9jYWxzPi48c2V0Y29tcD4mAgAAcsAAAAByGwAAAGMBAAAAAAAAAAAAAAAFAAAAEwAAAPM6AAAAlwBnAHwAXRh9AXwBoAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQArAGmAQAAqwEAAAAAAAAAAJECjBlTAKkCVCkBcjYAAACpAXKWAAAAcr8AAABzAgAAACAgchkAAABypQAAAHokX3RyYW5zZm9ybV9hdHRycy48bG9jYWxzPi48bGlzdGNvbXA+KgIAAHMmAAAAgADQFD/QFD/QFD+wAZBRl1iSWKBkkFjRFSvUFSvQFD/QFD/QFD9yGwAAAGMBAAAAAAAAAAAAAAAFAAAAEwAAAPM6AAAAlwBnAHwAXRh9AXwBoAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQArAGmAQAAqwEAAAAAAAAAAJECjBlTAHLDAAAAcsQAAAByvwAAAHMCAAAAICByGQAAAHKlAAAAeiRfdHJhbnNmb3JtX2F0dHJzLjxsb2NhbHM+LjxsaXN0Y29tcD4rAgAAcyYAAACAANAVQdAVQdAVQbARkGGXaJJooHSQaNEWLNQWLNAVQdAVQdAVQXIbAAAARmMBAAAAAAAAAAAAAAADAAAAMwAAAPM+AAAASwABAJcAfABdGH0BfAFqAAAAAAAAAAAAZAB1Aa8LfAFqAQAAAAAAAAAAZAB1AK8UfAFWAJcBAQCMGWQBUwApAkZOKQJyMwAAAHI2AAAAcr8AAABzAgAAACAgchkAAABytQAAAHojX3RyYW5zZm9ybV9hdHRycy48bG9jYWxzPi48Z2VuZXhwcj40AgAAczoAAADoAOgAgADQDU3QDU2QQaAhpCawBdAiNdAiNbghvCnAddA6TNA6TIhh0DpM0DpM0DpM0DpM0A1N0A1NchsAAAB6bE5vIG1hbmRhdG9yeSBhdHRyaWJ1dGVzIGFsbG93ZWQgYWZ0ZXIgYW4gYXR0cmlidXRlIHdpdGggYSBkZWZhdWx0IHZhbHVlIG9yIGZhY3RvcnkuICBBdHRyaWJ1dGUgaW4gcXVlc3Rpb246IGMBAAAAAAAAAAAAAAAHAAAAEwAAAPNwAAAAlwBnAHwAXTN9AXwBagAAAAAAAAAAAHMofAGgAQAAAAAAAAAAAAAAAAAAAAAAAAAAdAUAAAAAAAAAAAAAfAFqAwAAAAAAAAAApgEAAKsBAAAAAAAAAACsAKYBAACrAQAAAAAAAAAAbgF8AZECjDRTACkBKQFyPAAAACkEcjwAAABylgAAANoXX2RlZmF1bHRfaW5pdF9hbGlhc19mb3JyXgAAAHK/AAAAcwIAAAAgIHIZAAAAcqUAAAB6JF90cmFuc2Zvcm1fYXR0cnMuPGxvY2Fscz4uPGxpc3Rjb21wPkQCAABzTwAAAIAA8AADDQbwAAMNBvAAAw0G4AwN8AMAQAFBAbx30AhNiAGPCIoI1RcuqHGsdtEXNtQXNogI0Qg31Ag30Ag3yEHwAwMNBvAAAw0G8AADDQZyGwAAAGMBAAAAAAAAAAAAAAADAAAAEwAAAPMcAAAAlwBnAHwAXQl9AXwBagAAAAAAAAAAAJECjApTAHIWAAAAcr4AAAByvwAAAHMCAAAAICByGQAAAHKlAAAAeiRfdHJhbnNmb3JtX2F0dHJzLjxsb2NhbHM+LjxsaXN0Y29tcD5LAgAAcxoAAACAANARKNARKNARKJhRkCGUJtARKNARKNARKHIbAAAAKRfaCF9fZGljdF9fcpAAAADaBWl0ZW1zcpcAAAByggAAAHKZAAAAcq0AAAByFQAAAHJCAAAAckcAAABySQAAAHJsAAAAclkAAAByDwAAAHJuAAAA2gZzb3J0ZWRyngAAAHKgAAAAci4AAAByPwAAAHJ1AAAAch4AAABydgAAACkWcocAAADaBXRoZXNl2gxhdXRvX2F0dHJpYnNyNgAAANoOY29sbGVjdF9ieV9tcm/aEWZpZWxkX3RyYW5zZm9ybWVy2gdjYV9saXN02ghjYV9uYW1lc9oLYW5ub3RfbmFtZXNydAAAAHIrAAAAcosAAADaC3VuYW5ub3RhdGVk2glvd25fYXR0cnNyeAAAAHKbAAAAcncAAADaC2hhZF9kZWZhdWx0cnAAAADaCkF0dHJzQ2xhc3NyvAAAAHKwAAAAcxYAAAAgICAgICAgICAgICAgICAgICAgIEBAchkAAADaEF90cmFuc2Zvcm1fYXR0cnNy2AAAAN8BAABzkgMAAPj4gADwGgAKDYwcgELdCxuYQ9ELINQLIIBE4AcM0AcY2BI80BI8qGWva6prqW2sbdASPNESPNQSPIgHiQfYCRWYFNAJHdEJHfACBBQK8AAEFArgHiCfaJpomWqcavAFBBQK8QAEFAr0AAQUCogI8AoAExWIB90WGZFllGWIC9gfI596mnqZfJx88AALCSvwAAsJK4lPiEmQdN0PHJhU0Q8i1A8i8AABDRnYEBjYDBePT4pPmEnRDCbUDCbQDCbYEBKXBpIGkHmlJ9EQKtQQKohB5RMdmGGlHdETL9QTL/AABA0q2BMUnQeQPJA83RgemQicCJBBkEHlGB6gcdAYKdEYKdQYKZBB2AwTj06KTphJoHGYPtEMKtQMKtAMKtAMKuAWHqAb0RYsiAvdCw6Ie9ELG9QLG5hh0gsf0Asf3RIr2BBD2BIWlymSKd0UGpg70CxH0CxH0CxH0CxH0BRI0RRI1BRI8QMCExL0AAITEvEDAxES8AgAExbxCQQRFvEDBhMO9AAGEw7wAAYNDvADAAwg9RIAExnwAgQNDvAABA0O4CIkpyiiKKEqpCrwBQQNDvEABA0O9AAEDQ7wCgARJ9AQJvANBxMK8QAHEwr0AAcTCogH8BIFEQbwAAURBvAABREG8AAFEQbwCAAeJfAJBREG8QAFEQb0AAURBoBJ8A4ACBbwAAcFCt0kN9gMD9ARLNARLKAp0BEs0REs1BEs8QMCJQr0AAIlCtEIIYgKkE2QTfUIACU/2AwP0BEs0BEsoCnQESzRESzUESzxAwIlCvQAAiUK0QghiAqQTfAIAAgP8AACBUIB2BQ/0BQ/sFnQFD/RFD/UFD+ICdgVQdAVQbBq0BVB0RVB1BVBiArgDBaYGdEMIoBF8AwAExiAS9gNTdANTZgV0A1N0Q1N1A1N8AAIBR/wAAgFH4gB2AsWmCTQCx7QCx6gMaQ5tQfQIzfQIzfdEhzwAgERSwHYRUbwAwERSwHwAAERSwHxAwMTDvQAAxMO8AADDQ7wCgAMF5gl0Asf0AsfoEGkSbVX0CQ80CQ82BoeiEv44AcY0Ack2BAh0BAhoCOgddEQLdQQLYgF8AoDDQbwAAMNBuARFvAFAw0G8QADDQb0AAMNBoBF8A4AEinQESigJdARKNERKNQRKIBK3REnqAOsDLBq0RFB1BFBgErlCxaYCpgKoDXRGCnUGCmoOrB90BdF0QtG1AtG0ARGchsAAABjAwAAAAAAAAAAAAAABQAAAAMAAADzjAAAAJcAdAEAAAAAAAAAAAAAfAB0AgAAAAAAAAAAAACmAgAAqwIAAAAAAAAAAHIifAFkAXYAch50AgAAAAAAAAAAAACgAgAAAAAAAAAAAAAAAAAAAAAAAAAAfAB8AXwCpgMAAKsDAAAAAAAAAAABAGQCUwB0BwAAAAAAAAAAAACmAAAAqwAAAAAAAAAAAIIBKQN6NAogICAgQXR0YWNoZWQgdG8gZnJvemVuIGNsYXNzZXMgYXMgX19zZXRhdHRyX18uCiAgICApA9oJX19jYXVzZV9f2gtfX2NvbnRleHRfX9oNX190cmFjZWJhY2tfX04pBHJCAAAA2g1CYXNlRXhjZXB0aW9u2gtfX3NldGF0dHJfX3INAAAAqQNyGAAAAHJeAAAA2gV2YWx1ZXMDAAAAICAgchkAAADaEF9mcm96ZW5fc2V0YXR0cnNy4QAAAFECAABzUgAAAIAA9QgACBKQJJ0N0Qcm1Acm8AAGBQ+oNPAABDQG8AAELAbwAAQsBvUKAAkW1wgh0gghoCSoBKhl0Qg01Ag00Ag02AgOiAblCh3RCh/UCh/QBB9yGwAAAGMCAAAAAAAAAAAAAAACAAAAAwAAAPMeAAAAlwB0AQAAAAAAAAAAAACmAAAAqwAAAAAAAAAAAIIBKQF6NAogICAgQXR0YWNoZWQgdG8gZnJvemVuIGNsYXNzZXMgYXMgX19kZWxhdHRyX18uCiAgICCpAXINAAAAKQJyGAAAAHJeAAAAcwIAAAAgIHIZAAAA2hBfZnJvemVuX2RlbGF0dHJzcuQAAABgAgAAcxAAAACAAPUIAAse0Qof1Aof0AQfchsAAABjAAAAAAAAAAAAAAAAAgAAAAAAAADzkAAAAJcAZQBaAWQAWgJkAVoDZAJaBGQDhABaBWQEhABaBmUHcghkBWQGbAhaCGQHhABaCW4DZAiEAFoJZAmEAFoKZAqEAFoLZAuEAFoMZAyEAFoNZA2EAFoOZA6EAFoPZA+EAFoQZBCEAFoRZBGEAFoSZBKEAFoTZBOEAFoUZBSEAFoVZBWEAFoWZBaEAFoXZAZTACkX2g1fQ2xhc3NCdWlsZGVyeigKICAgIEl0ZXJhdGl2ZWx5IGJ1aWxkICpvbmUqIGNsYXNzLgogICAgKRHaC19hdHRyX25hbWVz2gZfYXR0cnPaDl9iYXNlX2F0dHJfbWFw2gtfYmFzZV9uYW1lc9oLX2NhY2hlX2hhc2jaBF9jbHPaCV9jbHNfZGljdNoPX2RlbGV0ZV9hdHRyaWJz2gdfZnJvemVu2g1faGFzX3ByZV9pbml02g5faGFzX3Bvc3RfaW5pdNoHX2lzX2V4Y9oLX29uX3NldGF0dHLaBl9zbG90c9oNX3dlYWtyZWZfc2xvdNoSX3dyb3RlX293bl9zZXRhdHRy2hNfaGFzX2N1c3RvbV9zZXRhdHRyYw8AAAAAAAAAAAAAAAgAAAADAAAA89gDAACXAHQBAAAAAAAAAAAAAHwBfAJ8B3wIfAt8DqYGAACrBgAAAAAAAAAAXAMAAH0PfRB9EXwBfABfAQAAAAAAAAAAfANyFHQFAAAAAAAAAAAAAHwBagMAAAAAAAAAAKYBAACrAQAAAAAAAAAAbgFpAHwAXwQAAAAAAAAAAHwPfABfBQAAAAAAAAAAZAGEAHwQRACmAAAAqwAAAAAAAAAAAHwAXwYAAAAAAAAAAHwRfABfBwAAAAAAAAAAdBEAAAAAAAAAAAAAZAKEAHwPRACmAAAAqwAAAAAAAAAAAKYBAACrAQAAAAAAAAAAfABfCQAAAAAAAAAAfAN8AF8KAAAAAAAAAAB8BHwAXwsAAAAAAAAAAHwFfABfDAAAAAAAAAAAfAl8AF8NAAAAAAAAAAB0HQAAAAAAAAAAAAB0HwAAAAAAAAAAAAB8AWQDZASmAwAAqwMAAAAAAAAAAKYBAACrAQAAAAAAAAAAfABfEAAAAAAAAAAAdB0AAAAAAAAAAAAAdB8AAAAAAAAAAAAAfAFkBWQEpgMAAKsDAAAAAAAAAACmAQAAqwEAAAAAAAAAAHwAXxEAAAAAAAAAAHQdAAAAAAAAAAAAAHwCpgEAAKsBAAAAAAAAAAAMAHwAXxIAAAAAAAAAAHwKfABfEwAAAAAAAAAAfAx8AF8UAAAAAAAAAAB8DXwAXxUAAAAAAAAAAGQEfABfFgAAAAAAAAAAfABqBQAAAAAAAAAAfABqBAAAAAAAAAAAZAY8AAAAfARyJnQuAAAAAAAAAAAAAHwAagQAAAAAAAAAAGQHPAAAAHQwAAAAAAAAAAAAAHwAagQAAAAAAAAAAGQIPAAAAGQJfABfFgAAAAAAAAAAbnt8DHQyAAAAAAAAAAAAAHQ0AAAAAAAAAAAAAGobAAAAAAAAAAB0NAAAAAAAAAAAAABqHAAAAAAAAAAAZgN2AHJbZAR4AX0SfRN8D0QAXRp9FHwUah0AAAAAAAAAAIECZAl9EnwUah4AAAAAAAAAAIECZAl9E3wScgR8E3ICAQBuAYwbfAx0MgAAAAAAAAAAAABrAgAAAAByBHwScwJ8E3IkfAx0NAAAAAAAAAAAAABqGwAAAAAAAAAAawIAAAAAcgJ8EnISfAx0NAAAAAAAAAAAAABqHAAAAAAAAAAAawIAAAAAcgl8E3MHZAB8AF8UAAAAAAAAAAB8BnIpfACgHwAAAAAAAAAAAAAAAAAAAAAAAAAApgAAAKsAAAAAAAAAAABcAgAAfABqBAAAAAAAAAAAZAo8AAAAfABqBAAAAAAAAAAAZAs8AAAAZABTAGQAUwApDE5jAQAAAAAAAAAAAAAAAwAAABMAAADzHAAAAJcAaAB8AF0JfQF8AWoAAAAAAAAAAACSAowKUwByFgAAAHK+AAAAcr8AAABzAgAAACAgchkAAAByqQAAAHopX0NsYXNzQnVpbGRlci5fX2luaXRfXy48bG9jYWxzPi48c2V0Y29tcD6dAgAAcxoAAACAANAbN9AbN9AbN6BxmEGcRtAbN9AbN9AbN3IbAAAAYwEAAAAAAAAAAAAAAAIAAAAzAAAA8yQAAABLAAEAlwB8AF0LfQF8AWoAAAAAAAAAAABWAJcBAQCMDGQAUwByJwAAAHK+AAAAcr8AAABzAgAAACAgchkAAABytQAAAHopX0NsYXNzQnVpbGRlci5fX2luaXRfXy48bG9jYWxzPi48Z2VuZXhwcj6fAgAAcyQAAADoAOgAgADQIDfQIDeoQaARpBbQIDfQIDfQIDfQIDfQIDfQIDdyGwAAANoSX19hdHRyc19wcmVfaW5pdF9fRtoTX19hdHRyc19wb3N0X2luaXRfX3KSAAAAct4AAADaC19fZGVsYXR0cl9fVNoMX19nZXRzdGF0ZV9f2gxfX3NldHN0YXRlX18pIHLYAAAAcuwAAADaBGRpY3RyygAAAHLtAAAAcugAAABy6gAAAHLpAAAAckQAAABy5wAAAHL0AAAAcu8AAABy9QAAAHLrAAAA2gRib29scoQAAABy8AAAAHLxAAAAcu4AAABy8gAAAHLzAAAAcvcAAABy9gAAAHLhAAAAcuQAAADaFl9uZ19kZWZhdWx0X29uX3NldGF0dHJyBwAAANoIdmFsaWRhdGXaB2NvbnZlcnRyLwAAAHI0AAAA2hdfbWFrZV9nZXRzdGF0ZV9zZXRzdGF0ZSkVchgAAAByhwAAAHLNAAAA2gVzbG90c9oGZnJvemVu2gx3ZWFrcmVmX3Nsb3TaEWdldHN0YXRlX3NldHN0YXRlcs4AAAByNgAAANoKY2FjaGVfaGFzaNoGaXNfZXhjcs8AAAByOwAAANoSaGFzX2N1c3RvbV9zZXRhdHRyctAAAABydwAAAHJ4AAAA2ghiYXNlX21hcNoNaGFzX3ZhbGlkYXRvctoNaGFzX2NvbnZlcnRlcnKLAAAAcxUAAAAgICAgICAgICAgICAgICAgICAgICByGQAAANoIX19pbml0X196Fl9DbGFzc0J1aWxkZXIuX19pbml0X1+AAgAAc1ACAACAAPUiACc32AwP2AwR2AwY2AwT2Awa2Awd8Q0HJwr0AAcnCtEII4gFiHqYOPASABUYiASMCdgvNNAZPJ0UmGOcbNEZK9QZK9AZK7giiASMDtgWG4gEjAvYGzfQGzeoStAbN9EbN9QbN4gE1AgY2B4miATUCBvdGyDQIDfQIDewFdAgN9EgN9QgN9EbN9QbN4gE1AgY2BYbiASMC9gXHYgEjAzYHSmIBNQIGtgbJYgE1AgY3R0hpSeoI9AvQ8BV0SJL1CJL0R1M1B1MiATUCBrdHiKlN6gz0DBFwHXRI03UI03RHk7UHk6IBNQIG90jJ6gFoTukO5h/iATUCBzYFx2IBIwM2BsliATUCBjgIzWIBNQIINgiJ4gE1Agf4CwwrEuIBIwO0Bco0Qgp4AsR8AAeCSjdLDyIRIxOmD3RDCndLDyIRIxOmD3RDCngJiqIRNQMI9AMI9gNF90MIt0ME9QMHN0ME4xP8AcEHArwAAQOCvAABA4K8AoALTLQDDGITZhN2BUa8AAHDRrwAAcNGpAB2BMUlDvQEyrYJCiQTdgTFJQ70BMq2CQokE3gEyDwAAERGqBd8AABERrYFBmQRfjwBgAVH9UiONIUONAUONgdKvADABU52C478AMAFTnwBgAVH6Un1CIy0hQy0BQyuD3QFDLYFB6lJ6Qv0hQx0BQxuC3QFDHwCgAkKJAE1BAg4Asc8AAECS/wCAARFdcQLNIQLNEQLtQQLvEHAw0O2BAUlA6YftEQLtgQFJQOmH7REC7QEC7QEC7wBwQJL/AABAkvchsAAABjAQAAAAAAAAAAAAAAAwAAAAMAAADzIgAAAJcAZAF8AGoAAAAAAAAAAABqAQAAAAAAAAAAmwBkAp0DUwApA056EzxfQ2xhc3NCdWlsZGVyKGNscz16Aik+KQJy7AAAAHIeAAAAchcAAABzAQAAACByGQAAAHIaAAAAehZfQ2xhc3NCdWlsZGVyLl9fcmVwcl9f1QIAAHMYAAAAgADYDzugVKRZ1CU30A870A870A870Ag7chsAAAByAgAAAE5jAQAAAAAAAAAAAAAABAAAAAMAAADzlAAAAJcAfABqAAAAAAAAAAAAZAF1AHIUfACgAQAAAAAAAAAAAAAAAAAAAAAAAAAApgAAAKsAAAAAAAAAAABTAHwAagIAAAAAAAAAAKADAAAAAAAAAAAAAAAAAAAAAAAAAAB8AKAEAAAAAAAAAAAAAAAAAAAAAAAAAACmAAAAqwAAAAAAAAAAAKYBAACrAQAAAAAAAAAAUwCpAnqPCiAgICAgICAgICAgIEZpbmFsaXplIGNsYXNzIGJhc2VkIG9uIHRoZSBhY2N1bXVsYXRlZCBjb25maWd1cmF0aW9uLgoKICAgICAgICAgICAgQnVpbGRlciBjYW5ub3QgYmUgdXNlZCBhZnRlciBjYWxsaW5nIHRoaXMgbWV0aG9kLgogICAgICAgICAgICBUKQVy9AAAANoTX2NyZWF0ZV9zbG90c19jbGFzc9oDYWJj2hZ1cGRhdGVfYWJzdHJhY3RtZXRob2Rz2hVfcGF0Y2hfb3JpZ2luYWxfY2xhc3NyFwAAAHMBAAAAIHIZAAAA2gtidWlsZF9jbGFzc3oZX0NsYXNzQnVpbGRlci5idWlsZF9jbGFzc9sCAABzTAAAAIAA8AwAEBSMe5hk0A8i0A8i2Bcb1xcv0hcv0Rcx1Bcx0BAx4BMXlDjXEzLSEzLYEBTXECrSECrRECzUECzxAwIUDvQAAhQO8AACDQ5yGwAAAGMBAAAAAAAAAAAAAAACAAAAAwAAAPNkAAAAlwB8AGoAAAAAAAAAAABkAXUAchR8AKABAAAAAAAAAAAAAAAAAAAAAAAAAACmAAAAqwAAAAAAAAAAAFMAfACgAgAAAAAAAAAAAAAAAAAAAAAAAAAApgAAAKsAAAAAAAAAAABTAHITAQAAKQNy9AAAAHIUAQAAchcBAAByFwAAAHMBAAAAIHIZAAAAchgBAAB6GV9DbGFzc0J1aWxkZXIuYnVpbGRfY2xhc3PqAgAAczUAAACAAPAMABAUjHuYZNAPItAPItgXG9cXL9IXL9EXMdQXMdAQMeATF9cTLdITLdETL9QTL9AML3IbAAAAYwEAAAAAAAAAAAAAAAYAAAADAAAA844BAACXAHwAagAAAAAAAAAAAH0BfABqAQAAAAAAAAAAfQJ8AGoCAAAAAAAAAAByTXwAagMAAAAAAAAAAEQAXUV9A3wDfAJ2AXI/dAkAAAAAAAAAAAAAfAF8A3QKAAAAAAAAAAAAAKYDAACrAwAAAAAAAAAAdAoAAAAAAAAAAAAAdQFyIgkAdA0AAAAAAAAAAAAAfAF8A6YCAACrAgAAAAAAAAAAAQCMNSMAdA4AAAAAAAAAAAAAJAByAwEAWQCMQXcAeANZAHcBjEZ8AGoIAAAAAAAAAACgCQAAAAAAAAAAAAAAAAAAAAAAAAAApgAAAKsAAAAAAAAAAABEAF0WXAIAAH0DfQR0FQAAAAAAAAAAAAB8AXwDfASmAwAAqwMAAAAAAAAAAAEAjBd8AGoLAAAAAAAAAABzK3QJAAAAAAAAAAAAAHwBZAFkAqYDAACrAwAAAAAAAAAAchpkAnwBXwwAAAAAAAAAAHwAag0AAAAAAAAAAHMMdBwAAAAAAAAAAAAAfAFfDwAAAAAAAAAAfAFTACkDekEKICAgICAgICBBcHBseSBhY2N1bXVsYXRlZCBtZXRob2RzIGFuZCByZXR1cm4gdGhlIGNsYXNzLgogICAgICAgINoVX19hdHRyc19vd25fc2V0YXR0cl9fRikQcuwAAABy6gAAAHLuAAAAcucAAAByhAAAAHKFAAAA2gdkZWxhdHRy2g5BdHRyaWJ1dGVFcnJvcnLtAAAAcssAAADaB3NldGF0dHJy9gAAAHIbAQAAcvcAAADaDF9vYmpfc2V0YXR0cnLeAAAAKQVyGAAAAHKHAAAA2gpiYXNlX25hbWVzcl4AAABy4AAAAHMFAAAAICAgICByGQAAAHIXAQAAeiNfQ2xhc3NCdWlsZGVyLl9wYXRjaF9vcmlnaW5hbF9jbGFzc/UCAABzDgEAAIAA8AgADxOMaYgD2BUZ1BUliArwBgAMENQLH/AADAkd2Bgc1Bgo8AALDR3wAAsNHZAE4BQYoArQFCrQFCrdGB+gA6BUrTnRGDXUGDW9WdAYRtAYRvAEBhUd3RgfoAOgVNEYKtQYKtAYKtAYKvjdGynwAAQVHfAABBUd8AAEFR3wCAAZHZgE8AkEFR34+Pj48A4AHCCcPtcbL9IbL9EbMdQbMfAAAQkm8AABCSaJS4hEkCXdDBOQQ5gUmHXRDCXUDCXQDCXQDCXwCAAQFNQPJvAABgkvrTfYDA/QESioJfEDAiwK9AACLArwAAYJL/AGACkuiEPUDCXgExfUEyvwAAENL90iLpADlA/gDxKICnMSAAAAwQEQQRICwRIKQR8FwR4BQR8FYwEAAAAAAAAAAAAAAAkAAAADAAAA83QFAACHAIcKhwuHDIcNlwCIAGYBZAGECIkAagAAAAAAAAAAAKABAAAAAAAAAAAAAAAAAAAAAAAAAACmAAAAqwAAAAAAAAAAAEQApgAAAKsAAAAAAAAAAAB9AYkAagIAAAAAAAAAAHNCZAJ8AWQDPAAAAIkAagMAAAAAAAAAAHM2iQBqBAAAAAAAAAAAagUAAAAAAAAAAEQAXSmKCokKagYAAAAAAAAAAKAHAAAAAAAAAAAAAAAAAAAAAAAAAABkA2QCpgIAAKsCAAAAAAAAAAByDHQQAAAAAAAAAAAAAHwBZAQ8AAAAAQBuAYwqdBMAAAAAAAAAAAAApgAAAKsAAAAAAAAAAAB9AmQCfQOJAGoEAAAAAAAAAABqCgAAAAAAAAAAZAVkBoUCGQAAAAAAAAAAAEQAXU+KCokKagYAAAAAAAAAAKAHAAAAAAAAAAAAAAAAAAAAAAAAAABkB2QIpgIAAKsCAAAAAAAAAACBAmQJfQN8AqALAAAAAAAAAAAAAAAAAAAAAAAAAACICmYBZAqECHQZAAAAAAAAAAAAAIkKZAtnAKYDAACrAwAAAAAAAAAARACmAAAAqwAAAAAAAAAAAKYBAACrAQAAAAAAAAAAAQCMUHQbAAAAAAAAAAAAAIkAag4AAAAAAAAAAKYBAACrAQAAAAAAAAAAiguJAGoPAAAAAAAAAAB9BIkAahAAAAAAAAAAAHIjZAd0GQAAAAAAAAAAAACJAGoEAAAAAAAAAABkC2QMpgMAAKsDAAAAAAAAAAB2AXILZAd8BHYBcgd8A3MFfARkDXoNAAB9BIgLZgFkDoQIfAREAKYAAACrAAAAAAAAAAAAig2IDWYBZA+ECHwCoAEAAAAAAAAAAAAAAAAAAAAAAAAAAKYAAACrAAAAAAAAAAAARACmAAAAqwAAAAAAAAAAAIoMiAxmAWQQhAiJDUQApgAAAKsAAAAAAAAAAACKDXwBoAsAAAAAAAAAAAAAAAAAAAAAAAAAAIkMpgEAAKsBAAAAAAAAAAABAIkAahEAAAAAAAAAAHIaiQ2gEgAAAAAAAAAAAAAAAAAAAAAAAAAAdCYAAAAAAAAAAAAApgEAAKsBAAAAAAAAAAABAHQpAAAAAAAAAAAAAIkNpgEAAKsBAAAAAAAAAAB8AWQLPAAAAIkAagQAAAAAAAAAAGoVAAAAAAAAAAB8AWQRPAAAAAIAdC0AAAAAAAAAAAAAiQBqBAAAAAAAAAAApgEAAKsBAAAAAAAAAACJAGoEAAAAAAAAAABqFwAAAAAAAAAAiQBqBAAAAAAAAAAAagUAAAAAAAAAAHwBpgMAAKsDAAAAAAAAAAB9BXwFagYAAAAAAAAAAKAYAAAAAAAAAAAAAAAAAAAAAAAAAACmAAAAqwAAAAAAAAAAAEQAXat9BnQzAAAAAAAAAAAAAHwGdDQAAAAAAAAAAAAAdDYAAAAAAAAAAAAAZgKmAgAAqwIAAAAAAAAAAHIXdBkAAAAAAAAAAAAAfAZqHAAAAAAAAAAAZBJkCKYDAACrAwAAAAAAAAAAfQduPXQzAAAAAAAAAAAAAHwGdDoAAAAAAAAAAAAApgIAAKsCAAAAAAAAAAByF3QZAAAAAAAAAAAAAHwGah4AAAAAAAAAAGQSZAimAwAAqwMAAAAAAAAAAH0HbhF0GQAAAAAAAAAAAAB8BmQSZAimAwAAqwMAAAAAAAAAAH0HfAdzAYx1fAdEAF0zfQgJAHwIah8AAAAAAAAAAIkAagQAAAAAAAAAAHUAfQl8CXIQdEEAAAAAAAAAAAAAfAh8BaYCAACrAgAAAAAAAAAAAQCMJCMAdEIAAAAAAAAAAAAAJAByAwEAWQCMMHcAeANZAHcBjKx8BVMAKRN6TAogICAgICAgIEJ1aWxkIGFuZCByZXR1cm4gYSBuZXcgY2xhc3Mgd2l0aCBhIGBfX3Nsb3RzX19gIGF0dHJpYnV0ZS4KICAgICAgICBjAQAAAAAAAAAAAAAABgAAABMAAADzTgAAAJUBlwBpAHwAXSFcAgAAfQF9AnwBdAEAAAAAAAAAAAAAiQNqAQAAAAAAAAAApgEAAKsBAAAAAAAAAABkAHoAAAB2Aa8efAF8ApMCjCJTACkBKQJyygAAANoLX193ZWFrcmVmX18pAnJEAAAAcucAAAApBHKjAAAA2gFr2gF2chgAAABzBAAAACAgIIByGQAAAPoKPGRpY3Rjb21wPno1X0NsYXNzQnVpbGRlci5fY3JlYXRlX3Nsb3RzX2NsYXNzLjxsb2NhbHM+LjxkaWN0Y29tcD4fAwAAc0UAAAD4gADwAAQOCvAABA4K8AAEDgrhEBSQAZAx2A8QnQWYZNQeLtEYL9QYL9AyTdEYTdAPTdAPTfAFAA0OiHHgD03QD03QD01yGwAAAEZyGwEAAHLeAAAAcgQAAAByVgAAAHIjAQAATlRjAQAAAAAAAAAAAAAABwAAABMAAADzMgAAAJUBlwBpAHwAXRN9AXwBdAEAAAAAAAAAAAAAiQJ8AaYCAACrAgAAAAAAAAAAkwKMFFMAchYAAACpAXKEAAAAKQNyowAAAHJeAAAAcooAAABzAwAAACAggHIZAAAAciYBAAB6NV9DbGFzc0J1aWxkZXIuX2NyZWF0ZV9zbG90c19jbGFzcy48bG9jYWxzPi48ZGljdGNvbXA+PgMAAHM1AAAA+IAA8AADERLwAAMREvAAAxES4Bgc8AMAFRmdJ6AoqETRGjHUGjHwAwMREvAAAxES8AADERJyGwAAANoJX19zbG90c19fchYAAAApAXIjAQAAYwEAAAAAAAAAAAAAAAQAAAATAAAA8xwAAACVAZcAZwB8AF0IfQF8AYkCdgGvBnwBkQKMCVMAchYAAAByFgAAACkDcqMAAAByXgAAAHIgAQAAcwMAAAAgIIByGQAAAHKlAAAAejVfQ2xhc3NCdWlsZGVyLl9jcmVhdGVfc2xvdHNfY2xhc3MuPGxvY2Fscz4uPGxpc3Rjb21wPlEDAABzIwAAAPiAANAVR9AVR9AVR5h0sAS4StAwRtAwRpBk0DBG0DBG0DBGchsAAABjAQAAAAAAAAAAAAAABAAAABMAAADzJAAAAJUBlwBpAHwAXQxcAgAAfQF9AnwBiQN2AK8JfAF8ApMCjA1TAHIWAAAAchYAAAApBHKjAAAA2gRzbG902g9zbG90X2Rlc2NyaXB0b3LaCnNsb3RfbmFtZXNzBAAAACAgIIByGQAAAHImAQAAejVfQ2xhc3NCdWlsZGVyLl9jcmVhdGVfc2xvdHNfY2xhc3MuPGxvY2Fscz4uPGRpY3Rjb21wPlYDAABzNAAAAPiAAPAABBgK8AAEGArwAAQYCuEQJZAEkG/YDxOQetAPIdAPIfAFAA0RkC/gDyHQDyHQDyFyGwAAAGMBAAAAAAAAAAAAAAAEAAAAEwAAAPMcAAAAlQGXAGcAfABdCH0BfAGJAnYBrwZ8AZECjAlTAHIWAAAAchYAAAApA3KjAAAAcl4AAADaDHJldXNlZF9zbG90c3MDAAAAICCAchkAAABypQAAAHo1X0NsYXNzQnVpbGRlci5fY3JlYXRlX3Nsb3RzX2NsYXNzLjxsb2NhbHM+LjxsaXN0Y29tcD5bAwAAcyMAAAD4gADQFU7QFU7QFU6YdLBUwBzQNU3QNU2QZNA1TdA1TdA1TXIbAAAAciAAAADaC19fY2xvc3VyZV9fKSJy7QAAAHLLAAAAcvYAAABy9wAAAHLsAAAA2glfX2Jhc2VzX19yygAAAHKtAAAAch8BAAByAAEAAHKGAAAA2gZ1cGRhdGVyhAAAAHKXAAAAcuoAAABy5wAAAHL1AAAAcusAAABybAAAANoRX2hhc2hfY2FjaGVfZmllbGRyRAAAAHIgAAAAcisAAAByHgAAANoGdmFsdWVzckIAAADaC2NsYXNzbWV0aG9k2gxzdGF0aWNtZXRob2TaCF9fZnVuY19fcm0AAADaBGZnZXTaDWNlbGxfY29udGVudHNyCwAAAHI/AAAAKQ5yGAAAAHKwAAAA2g5leGlzdGluZ19zbG90c9oRd2Vha3JlZl9pbmhlcml0ZWTaBW5hbWVzcocAAADaBGl0ZW3aDWNsb3N1cmVfY2VsbHPaBGNlbGzaBW1hdGNocooAAAByIAEAAHIwAQAAci4BAABzDgAAAGAgICAgICAgICBAQEBAchkAAAByFAEAAHohX0NsYXNzQnVpbGRlci5fY3JlYXRlX3Nsb3RzX2NsYXNzGwMAAHODAwAA+Pj4+PiAAPAIBA4K8AAEDgrwAAQOCvAABA4K4BgcnA7XGCzSGCzRGC7UGC7wBQQOCvEABA4K9AAEDgqIAvAcABAU1A8m8AAHCR7YKi+IQtAPJtEMJ+ATF9QTK/AABA0e2CAkpAnUIDPwAAMRHvAAAxEekEjYFx/UFyjXFyzSFyzQLUTAZdEXTNQXTPAAAhUe3Sw4mAKYPdEYKdgYHZgF8AUCFR71DAAaHpkWnBaIDtgcIdAIGdgYHJwJ1BgpqCGoQqgk1Bgv8AAICQ7wAAgJDohI2A8X1A8g1w8k0g8koF2wRNEPOdQPOdAPRdgkKNAQIdgMGtcMIdIMIfACAxES8AADERLwAAMREvAAAxES5SAnqAiwK7hy0SBC1CBC8AUDERLxAAMREvQAAxES8QMFDQ70AAUNDvAABQ0O8AAFDQ71DgAWGZgU1Bkp0RUq1BUqiArgEBTUECCIBeAMENQMHvADBgkm4BAdpVeoVKxZuAvAUtElSNQlSNAQSNAQSNgQHaBV0BAq0BAq2BQl8AMAESvwBgANEtAVJdEMJYhF8AgAFkgB0BVH0BVH0BVHoHXQFUfRFUfUFUeICvAKBBgK8AAEGArwAAQYCvAABBgK4Ck31yk90ik90Sk/1Ck/8AUEGArxAAQYCvQABBgKiAzwCgAWTwHQFU7QFU7QFU6getAVTtEVTtQVTogK2AgKjwmKCZAs0Qgf1Agf0Agf2AsP1Asb8AABCTHYDBbXDB3SDB3VHi/RDDDUDDDQDDDdGh+gCtEaK9QaK4gCiDuJD+AdIZxZ1B0ziAKIPtEIGvAGAA8ejWSQNJQ5iW+Mb5hknGnUHjCwJLQp1DJFwHLRDkrUDkqIA/AQABUYlEzXFCfSFCfRFCnUFCnwABUJNPAAFQk0iETdDxmYJKUbrWzQIDvRDzzUDzzwAAkNQwH1BgAhKKgErA2wfcBk0SBL1CBLkA2QDd0RG5hEpSjRESvUESvwAAUNQwH1BgAhKKgErAmwPcAk0SBH1CBHkA2QDeUgJ6gEqG24VNEgQtQgQpAN4BMg8AABDRnYEBjYGCXwAAcNNPAABw00kATwAgYRNNgcINQcLrAktCnQHDuQRfAIABgd8AABFTTdGCioFKhz0Rgz1Bgz0Bgz+Pj1CQAYIvAAAREZ8AABERnwAAERGdgUGJBE8AMBERn4+PjwBwcNNPASABATiApzEgAAAMoGDkonBMonCko0B8ozAUo0B2MCAAAAAAAAAAAAAAAHAAAAAwAAAPNyAAAAlwB8AKAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AwAAAAAAAAAAAAB8AGoCAAAAAAAAAAB8AXwAagMAAAAAAAAAAKYDAACrAwAAAAAAAAAApgEAAKsBAAAAAAAAAAB8AGoEAAAAAAAAAABkATwAAAB8AFMAKQJOchoAAAApBdoTX2FkZF9tZXRob2RfZHVuZGVyc9oKX21ha2VfcmVwcnLoAAAAcuwAAABy7QAAACkCchgAAADaAm5zcwIAAAAgIHIZAAAA2ghhZGRfcmVwcnoWX0NsYXNzQnVpbGRlci5hZGRfcmVwcoUDAABzOAAAAIAA2CUp1yU90iU93QwWkHSUe6BCqASsCdEMMtQMMvEDAiYK9AACJgqIBIwOkHrRCCLwBgAQFIgLchsAAABjAQAAAAAAAAAAAAAAAwAAAAMAAADznAAAAJcAfABqAAAAAAAAAAAAoAEAAAAAAAAAAAAAAAAAAAAAAAAAAGQBpgEAAKsBAAAAAAAAAAB9AXwBgA90BQAAAAAAAAAAAABkAqYBAACrAQAAAAAAAAAAggFkA4QAfQJ8AKADAAAAAAAAAAAAAAAAAAAAAAAAAAB8AqYBAACrAQAAAAAAAAAAfABqAAAAAAAAAAAAZAQ8AAAAfABTACkFTnIaAAAAejNfX3N0cl9fIGNhbiBvbmx5IGJlIGdlbmVyYXRlZCBpZiBhIF9fcmVwcl9fIGV4aXN0cy5jAQAAAAAAAAAAAAAAAgAAABMAAADzKgAAAJcAfACgAAAAAAAAAAAAAAAAAAAAAAAAAAAApgAAAKsAAAAAAAAAAABTAHInAAAAqQFyGgAAAHIXAAAAcwEAAAAgchkAAADaB19fc3RyX196Jl9DbGFzc0J1aWxkZXIuYWRkX3N0ci48bG9jYWxzPi5fX3N0cl9fkgMAAHMQAAAAgADYExeXPZI9kT+UP9AMInIbAAAAckoBAAApBHLtAAAAcq0AAAByPwAAAHJDAQAAKQNyGAAAAHIwAAAAckoBAABzAwAAACAgIHIZAAAA2gdhZGRfc3RyehVfQ2xhc3NCdWlsZGVyLmFkZF9zdHKLAwAAc2EAAACAANgPE4x+1w8h0g8hoCrRDy3UDy2IBNgLD4g83RIc2BBF8QMCEw70AAITDvAAAg0O8AgBCSPwAAEJI/AAAQkj8AYAJSnXJDzSJDy4V9EkRdQkRYgEjA6QedEIIdgPE4gLchsAAABjAQAAAAAAAAAAAAAABAAAAAMAAADzbgAAAIcDhwSXAHQBAAAAAAAAAAAAAGQBhAB8AGoBAAAAAAAAAABEAKYAAACrAAAAAAAAAAAApgEAAKsBAAAAAAAAAACKBIgEZgFkAoQIfQF8AGoCAAAAAAAAAACKA4gDiARmAmQDhAh9AnwBfAJmAlMAKQR6RgogICAgICAgIENyZWF0ZSBjdXN0b20gX19zZXRzdGF0ZV9fIGFuZCBfX2dldHN0YXRlX18gbWV0aG9kcy4KICAgICAgICBjAQAAAAAAAAAAAAAAAwAAADMAAADzJgAAAEsAAQCXAHwAXQx9AXwBZABrAwAAAACvCHwBVgCXAQEAjA1kAVMAKQJyIwEAAE5yFgAAACkCcqMAAADaAmFucwIAAAAgIHIZAAAAcrUAAAB6OF9DbGFzc0J1aWxkZXIuX21ha2VfZ2V0c3RhdGVfc2V0c3RhdGUuPGxvY2Fscz4uPGdlbmV4cHI+nQMAAHM1AAAA6ADoAIAA8AACIQrwAAIhCtgTFahSsD3SLUDQLUCIQtAtQNAtQNAtQNAtQPADAiEK8AACIQpyGwAAAGMBAAAAAAAAAAAAAAACAAAAEwAAAPMiAAAAlQGHAJcAiABmAWQBhAiJAUQApgAAAKsAAAAAAAAAAABTACkC+jkKICAgICAgICAgICAgQXV0b21hdGljYWxseSBjcmVhdGVkIGJ5IGF0dHJzLgogICAgICAgICAgICBjAQAAAAAAAAAAAAAABwAAABMAAADzMgAAAJUBlwBpAHwAXRN9AXwBdAEAAAAAAAAAAAAAiQJ8AaYCAACrAgAAAAAAAAAAkwKMFFMAchYAAAByKAEAAKkDcqMAAAByXgAAAHIYAAAAcwMAAAAgIIByGQAAAHImAQAAelFfQ2xhc3NCdWlsZGVyLl9tYWtlX2dldHN0YXRlX3NldHN0YXRlLjxsb2NhbHM+LnNsb3RzX2dldHN0YXRlLjxsb2NhbHM+LjxkaWN0Y29tcD6lAwAAcyUAAAD4gADQE0vQE0vQE0uwJJBEnSegJKgE0Rot1Bot0BNL0BNL0BNLchsAAAByFgAAACkCchgAAADaEHN0YXRlX2F0dHJfbmFtZXNzAgAAAGCAchkAAADaDnNsb3RzX2dldHN0YXRlej1fQ2xhc3NCdWlsZGVyLl9tYWtlX2dldHN0YXRlX3NldHN0YXRlLjxsb2NhbHM+LnNsb3RzX2dldHN0YXRloQMAAHMiAAAA+PiAAPAIABRMAdATS9ATS9ATS9A6StATS9ETS9QTS9AMS3IbAAAAYwIAAAAAAAAAAAAAAAYAAAATAAAA8wwBAACVApcAdAAAAAAAAAAAAAAAoAEAAAAAAAAAAAAAAAAAAAAAAAAAAHwApgEAAKsBAAAAAAAAAAB9AnQFAAAAAAAAAAAAAHwBdAYAAAAAAAAAAAAApgIAAKsCAAAAAAAAAAByI3QJAAAAAAAAAAAAAIkGfAGmAgAAqwIAAAAAAAAAAEQAXRFcAgAAfQN9BAIAfAJ8A3wEpgIAAKsCAAAAAAAAAAABAIwSbhuJBkQAXRh9A3wDfAF2AHISAgB8AnwDfAF8AxkAAAAAAAAAAACmAgAAqwIAAAAAAAAAAAEAjBmJBXITAgB8AnQKAAAAAAAAAAAAAGQBpgIAAKsCAAAAAAAAAAABAGQBUwBkAVMAKQJyUAEAAE4pBnIfAQAA2gdfX2dldF9fckIAAAByRAAAANoDemlwcjQBAAApB3IYAAAA2gVzdGF0ZdocX0NsYXNzQnVpbGRlcl9fYm91bmRfc2V0YXR0cnJeAAAAcuAAAADaFGhhc2hfY2FjaGluZ19lbmFibGVkclMBAABzBwAAACAgICAggIByGQAAANoOc2xvdHNfc2V0c3RhdGV6PV9DbGFzc0J1aWxkZXIuX21ha2VfZ2V0c3RhdGVfc2V0c3RhdGUuPGxvY2Fscz4uc2xvdHNfc2V0c3RhdGWpAwAAc8IAAAD4gAD1CAAfK9ceMtIeMrA00R441B44iE/dDxmYJaUV0Q8n1A8n8AAIDTv1BgAkJ9AnN7gV0SM/1CM/8AABETHwAAERMZFLkESYJdgUI5BPoESoJdEUMNQUMNAUMNAUMPADAREx8AYAHS3wAAIRO/AAAhE7kETYFxuYdZB9kH3YGCeYD6gEqGWwRKxr0Rg61Bg60Bg6+PAMABAk8AABDTnYEB+QD9UgMbA00RA41BA40BA40BA40BA48AMBDTnwAAENOXIbAAAAKQNyRAAAAHLnAAAAcusAAAApBXIYAAAAclQBAAByWwEAAHJaAQAAclMBAABzBQAAACAgIEBAchkAAAByBQEAAHolX0NsYXNzQnVpbGRlci5fbWFrZV9nZXRzdGF0ZV9zZXRzdGF0ZZgDAABziQAAAPj4gAD1CgAcIfAAAiEK8AACIQrYGR3UGSnwAwIhCvEAAiEK9AACIQrxAAIcCvQAAhwK0AgY8AgECUwB8AAECUwB8AAECUwB8AAECUwB8AAECUwB8AwAICTUHy/QCBzwBBQJOfAAFAk58AAUCTnwABQJOfAAFAk58AAUCTnwLAAQHph+0A8t0AgtchsAAABjAQAAAAAAAAAAAAAAAwAAAAMAAADzGgAAAJcAZAB8AGoAAAAAAAAAAABkATwAAAB8AFMAKQJO2ghfX2hhc2hfXykBcu0AAAByFwAAAHMBAAAAIHIZAAAA2g9tYWtlX3VuaGFzaGFibGV6HV9DbGFzc0J1aWxkZXIubWFrZV91bmhhc2hhYmxlwQMAAHMTAAAAgADYJSmIBIwOkHrRCCLYDxOIC3IbAAAAYwEAAAAAAAAAAAAAAAgAAAADAAAA84oAAACXAHwAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQDAAAAAAAAAAAAAHwAagIAAAAAAAAAAHwAagMAAAAAAAAAAHwAagQAAAAAAAAAAHwAagUAAAAAAAAAAKwBpgQAAKsEAAAAAAAAAACmAQAAqwEAAAAAAAAAAHwAagYAAAAAAAAAAGQCPAAAAHwAUwApA06pAnIHAQAAcgoBAAByXQEAACkHckMBAADaCl9tYWtlX2hhc2hy7AAAAHLoAAAAcu8AAABy6wAAAHLtAAAAchcAAABzAQAAACByGQAAANoIYWRkX2hhc2h6Fl9DbGFzc0J1aWxkZXIuYWRkX2hhc2jFAwAAc0wAAACAANglKdclPdIlPd0MFtgQFJQJ2BAUlAvYFxuUfNgbH9QbK/AJBQ0O8QAFDQ70AAUNDvEDByYK9AAHJgqIBIwOkHrRCCLwEgAQFIgLchsAAABjAQAAAAAAAAAAAAAADwAAAAMAAADz1AAAAJcAfACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAMAAAAAAAAAAAAAfABqAgAAAAAAAAAAfABqAwAAAAAAAAAAfABqBAAAAAAAAAAAfABqBQAAAAAAAAAAfABqBgAAAAAAAAAAfABqBwAAAAAAAAAAfABqCAAAAAAAAAAAfABqCQAAAAAAAAAAfABqCgAAAAAAAAAAfABqCwAAAAAAAAAAZAGsAqYLAACrCwAAAAAAAAAApgEAAKsBAAAAAAAAAAB8AGoMAAAAAAAAAABkAzwAAAB8AFMAKQRORqkB2gphdHRyc19pbml0chABAACpDXJDAQAA2gpfbWFrZV9pbml0cuwAAABy6AAAAHLwAAAAcvEAAABy7wAAAHL0AAAAcusAAABy6QAAAHLyAAAAcvMAAABy7QAAAHIXAAAAcwEAAAAgchkAAADaCGFkZF9pbml0ehZfQ2xhc3NCdWlsZGVyLmFkZF9pbml00QMAAHNxAAAAgADYJSnXJT3SJT3dDBbYEBSUCdgQFJQL2BAU1BAi2BAU1BAj2BAUlAzYEBSUC9gQFNQQINgQFNQQI9gQFJQM2BAU1BAg2Bsg8BcMDQ7xAAwNDvQADA0O8QMOJgr0AA4mCogEjA6QetEIIvAgABAUiAtyGwAAAGMBAAAAAAAAAAAAAAAEAAAAAwAAAPNSAAAAlwB0AQAAAAAAAAAAAABkAYQAfABqAQAAAAAAAAAARACmAAAAqwAAAAAAAAAAAKYBAACrAQAAAAAAAAAAfABqAgAAAAAAAAAAZAI8AAAAZABTACkDTmMBAAAAAAAAAAAAAAACAAAAMwAAAPNAAAAASwABAJcAfABdGX0BfAFqAAAAAAAAAAAArwl8AWoBAAAAAAAAAACwEHwBagIAAAAAAAAAAFYAlwEBAIwaZABTAHInAAAAKQNyMwAAAHI2AAAAcl4AAAApAnKjAAAA2gVmaWVsZHMCAAAAICByGQAAAHK1AAAAei9fQ2xhc3NCdWlsZGVyLmFkZF9tYXRjaF9hcmdzLjxsb2NhbHM+LjxnZW5leHByPuUDAABzTAAAAOgA6ACAAPAABDEK8AAEMQrgEBXYDxSMevAHBDEK8AYAIyikLfAHBDEK2AwRjErwAwQxCvAABDEK8AAEMQrwAAQxCvAABDEK8AAEMQpyGwAAANoOX19tYXRjaF9hcmdzX18pA3JEAAAAcugAAABy7QAAAHIXAAAAcwEAAAAgchkAAADaDmFkZF9tYXRjaF9hcmdzehxfQ2xhc3NCdWlsZGVyLmFkZF9tYXRjaF9hcmdz5AMAAHM9AAAAgADdKzDwAAQxCvAABDEK4BkdnBvwBQQxCvEABDEK9AAEMQrxAAQsCvQABCwKiASMDtAXJ9EIKNAIKNAIKHIbAAAAYwEAAAAAAAAAAAAAAA8AAAADAAAA89QAAACXAHwAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQDAAAAAAAAAAAAAHwAagIAAAAAAAAAAHwAagMAAAAAAAAAAHwAagQAAAAAAAAAAHwAagUAAAAAAAAAAHwAagYAAAAAAAAAAHwAagcAAAAAAAAAAHwAaggAAAAAAAAAAHwAagkAAAAAAAAAAHwAagoAAAAAAAAAAHwAagsAAAAAAAAAAGQBrAKmCwAAqwsAAAAAAAAAAKYBAACrAQAAAAAAAAAAfABqDAAAAAAAAAAAZAM8AAAAfABTACkETlRyZAEAANoOX19hdHRyc19pbml0X19yZgEAAHIXAAAAcwEAAAAgchkAAADaDmFkZF9hdHRyc19pbml0ehxfQ2xhc3NCdWlsZGVyLmFkZF9hdHRyc19pbml06wMAAHNyAAAAgADYKy/XK0PSK0PdDBbYEBSUCdgQFJQL2BAU1BAi2BAU1BAj2BAUlAzYEBSUC9gQFNQQINgQFNQQI9gQFJQM2BAU1BAg2Bsf8BcMDQ7xAAwNDvQADA0O8QMOLAr0AA4sCogEjA7QFyfRCCjwIAAQFIgLchsAAABjAQAAAAAAAAAAAAAABgAAAAMAAADzvAAAAJcAfABqAAAAAAAAAAAAfQF8AKABAAAAAAAAAAAAAAAAAAAAAAAAAAB0BQAAAAAAAAAAAAB8AGoDAAAAAAAAAAB8AGoEAAAAAAAAAACmAgAAqwIAAAAAAAAAAKYBAACrAQAAAAAAAAAAfAFkATwAAAB8AKABAAAAAAAAAAAAAAAAAAAAAAAAAAB0CwAAAAAAAAAAAACmAAAAqwAAAAAAAAAAAKYBAACrAQAAAAAAAAAAfAFkAjwAAAB8AFMAKQNO2gZfX2VxX1/aBl9fbmVfXykGcu0AAAByQwEAANoIX21ha2VfZXFy7AAAAHLoAAAA2ghfbWFrZV9uZakCchgAAABysAAAAHMCAAAAICByGQAAANoGYWRkX2VxehRfQ2xhc3NCdWlsZGVyLmFkZF9lcf4DAABzVQAAAIAA2A0RjF6IAuAXG9cXL9IXL90MFJBUlFmgBKQL0Qws1Aws8QMCGAr0AAIYCogCiDiJDPAGABgc1xcv0hcvtQixCrQK0Rc71Bc7iAKIOIkM4A8TiAtyGwAAAGMBAAAAAAAAAAAAAAAGAAAAAwAAAPOEAAAAhwCXAIkAagAAAAAAAAAAAH0BiABmAWQBhAh0AwAAAAAAAAAAAACJAGoCAAAAAAAAAACJAGoDAAAAAAAAAACmAgAAqwIAAAAAAAAAAEQApgAAAKsAAAAAAAAAAABcBAAAfAFkAjwAAAB8AWQDPAAAAHwBZAQ8AAAAfAFkBTwAAACJAFMAKQZOYwEAAAAAAAAAAAAAAAQAAAAzAAAA80IAAACVAUsAAQCXAHwAXRl9AYkCoAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwBpgEAAKsBAAAAAAAAAABWAJcBAQCMGmQAUwByJwAAACkBckMBAAApA3KjAAAA2gRtZXRochgAAABzAwAAACAggHIZAAAAcrUAAAB6Kl9DbGFzc0J1aWxkZXIuYWRkX29yZGVyLjxsb2NhbHM+LjxnZW5leHByPgsEAABzTQAAAPjoAOgAgADwAANCAQrwAANCAQrgEBTwAwANEdcMJNIMJKBU0Qwq1Awq8AMDQgEK8AADQgEK8AADQgEK8AADQgEK8AADQgEK8AADQgEKchsAAADaBl9fbHRfX9oGX19sZV9f2gZfX2d0X1/aBl9fZ2VfXykEcu0AAADaC19tYWtlX29yZGVycuwAAABy6AAAAHJ2AQAAcwIAAABgIHIZAAAA2glhZGRfb3JkZXJ6F19DbGFzc0J1aWxkZXIuYWRkX29yZGVyCAQAAHNnAAAA+IAA2A0RjF6IAvAEA0IBCvAAA0IBCvAAA0IBCvAAA0IBCuUYI6BEpEmodKx70Rg71Bg78AUDQgEK8QADQgEK9AADQgEK0Qg+iAKIOIkMkGKYGJFsoEKgeKFMsCKwWLEs8AoAEBSIC3IbAAAAYwEAAAAAAAAAAAAAAAQAAAADAAAA8yABAACHBJcAfABqAAAAAAAAAAAAcgJ8AFMAaQCKBHwAagEAAAAAAAAAAEQAXSx9AXwBagIAAAAAAAAAAHAGfABqAwAAAAAAAAAAfQJ8AnIafAJ0CAAAAAAAAAAAAABqBQAAAAAAAAAAdQFyDHwBfAJmAokEfAFqBgAAAAAAAAAAPAAAAIwtiQRzAnwAUwB8AGoHAAAAAAAAAAByD3QRAAAAAAAAAAAAAGQBpgEAAKsBAAAAAAAAAACCAYgEZgFkAoQIfQNkA3wAagkAAAAAAAAAAGQEPAAAAHwAoAoAAAAAAAAAAAAAAAAAAAAAAAAAAHwDpgEAAKsBAAAAAAAAAAB8AGoJAAAAAAAAAABkBTwAAABkA3wAXwsAAAAAAAAAAHwAUwApBk56N0Nhbid0IGNvbWJpbmUgY3VzdG9tIF9fc2V0YXR0cl9fIHdpdGggb25fc2V0YXR0ciBob29rcy5jAwAAAAAAAAAAAAAABQAAABMAAADzggAAAJUBlwAJAIkGfAEZAAAAAAAAAAAAXAIAAH0DfQQCAHwEfAB8A3wCpgMAAKsDAAAAAAAAAAB9BW4SIwB0AAAAAAAAAAAAAAAkAHIFAQB8An0FWQBuBHcAeANZAHcBdAMAAAAAAAAAAAAAfAB8AXwFpgMAAKsDAAAAAAAAAAABAGQAUwByJwAAACkC2ghLZXlFcnJvcnIfAQAAKQdyGAAAAHJeAAAA2gN2YWxyiwAAANoEaG9va9oEbnZhbNoIc2FfYXR0cnNzBwAAACAgICAgIIByGQAAAHLeAAAAei5fQ2xhc3NCdWlsZGVyLmFkZF9zZXRhdHRyLjxsb2NhbHM+Ll9fc2V0YXR0cl9fJgQAAHNsAAAA+IAA8AIFDSrYGiKgNJwukQeQAZA08AgAGByQdJhEoCGgU9EXKdQXKZAEkAT49QcAFBzwAAENG/AAAQ0b8AABDRvYFxqQBJAEkATwAwENG/j4+PUKAA0ZmBSYdKBU0Qwq1Awq0Awq0Awq0AwqcwwAAACDCxwAnAwrA6oBKwNUchsBAABy3gAAACkMcu8AAABy6AAAAHI7AAAAcvMAAAByBwAAANoFTk9fT1ByXgAAAHL3AAAAcj8AAABy7QAAAHJDAQAAcvYAAAApBXIYAAAAcosAAAByOwAAAHLeAAAAcocBAABzBQAAACAgICBAchkAAADaC2FkZF9zZXRhdHRyehlfQ2xhc3NCdWlsZGVyLmFkZF9zZXRhdHRyEgQAAHPYAAAA+IAA2AsPjDzwAAEJGNgTF4hL4BMViAjYERWUG/AAAwkx8AADCTGIQdgZGpwc0Bk5qBTUKTmIStgPGfAAAQ0xmGq1B7QN0B490B492CMkoGqgPZAImBGcFtEQIPjgDxfwAAEJGNgTF4hL4AsP1Asj8AAECQ7lEhzYEEnxAwITDvQAAhMO8AACDQ7wCggJK/AACAkr8AAICSvwAAgJK/AACAkr8BQAMzeIBIwO0Bcu0Qgv2Cgs1yhA0ihAwBvRKE3UKE2IBIwOkH3RCCXYIiaIBNQIH+APE4gLchsAAABjAgAAAAAAAAAAAAAABAAAAAMAAADzFAEAAJcACQB8AGoAAAAAAAAAAABqAQAAAAAAAAAAfAFfAQAAAAAAAAAAbhAjAHQEAAAAAAAAAAAAACQAcgMBAFkAbgR3AHgDWQB3AQkAZAGgAwAAAAAAAAAAAAAAAAAAAAAAAAAAfABqAAAAAAAAAAAAagQAAAAAAAAAAHwBagUAAAAAAAAAAGYCpgEAAKsBAAAAAAAAAAB8AV8EAAAAAAAAAABuECMAdAQAAAAAAAAAAAAAJAByAwEAWQBuBHcAeANZAHcBCQBkAnwAagAAAAAAAAAAAGoEAAAAAAAAAACbAGQBnQN8AV8GAAAAAAAAAABuECMAdAQAAAAAAAAAAAAAJAByAwEAWQBuBHcAeANZAHcBfAFTACkDekwKICAgICAgICBBZGQgX19tb2R1bGVfXyBhbmQgX19xdWFsbmFtZV9fIHRvIGEgKm1ldGhvZCogaWYgcG9zc2libGUuCiAgICAgICAgcrMAAAB6JE1ldGhvZCBnZW5lcmF0ZWQgYnkgYXR0cnMgZm9yIGNsYXNzICkHcuwAAAByHwAAAHIdAQAAcm4AAAByIAAAAHIeAAAAciEAAAApAnIYAAAA2gZtZXRob2RzAgAAACAgchkAAAByQwEAAHohX0NsYXNzQnVpbGRlci5fYWRkX21ldGhvZF9kdW5kZXJzNgQAAHPZAAAAgADwCAMJEdggJKQJ1CA0iEbUDB3QDB343Q8d8AABCRHwAAEJEfAAAQkR2AwQiETwAwEJEfj4+PAGBQkR2CIlpyiiKNgRFZQZ1BEnqBasH9AQOfEDAiMO9AACIw6IRtQMH9AMH/j1BgAQHvAAAQkR8AABCRHwAAEJEdgMEIhE8AMBCRH4+PjwBgYJEfAEAREt2BMXlDnUEynwAwERLfAAAREt8AABES3wAwANE4xOiE749QgAEB7wAAEJEfAAAQkR8AABCRHYDBCIRPADAQkR+Pj48AYAEBaIDXMvAAAAghEUAJQKIQOgASEDpStBEQDBEQpBHgPBHQFBHgPBIhVBOADBOApCBQPCBAFCBQMpGHIeAAAAch8AAAByIAAAAHIhAAAAcikBAAByEAEAAHIaAAAAcggAAAByFQEAAHIYAQAAchcBAAByFAEAAHJGAQAAcksBAAByBQEAAHJeAQAAcmIBAAByaAEAAHJtAQAAcnABAABydwEAAHKAAQAAcokBAAByQwEAAHIWAAAAchsAAAByGQAAAHLmAAAAcuYAAABnAgAAc1YBAACAAIAAgACAAIAA8AICBQjwAAIFCPAIEhEGgEnwKFMBBS/wAFMBBS/wAFMBBS/wagIBBTzwAAEFPPAAAQU88AYACA3wABsFMNgIEogKiAqICvAECwkO8AALCQ7wAAsJDvAACwkO8B4JCTDwAAkJMPAACQkw8BYkBRPwACQFE/AAJAUT8EwBaAEFE/AAaAEFE/AAaAEFE/BUAwQFFPAABAUU8AAEBRTwDAsFFPAACwUU8AALBRTwGicFLvAAJwUu8AAnBS7wUgECBRTwAAIFFPAAAgUU8AgKBRTwAAoFFPAACgUU8BgRBRTwABEFFPAAEQUU8CYFBQrwAAUFCvAABQUK8A4RBRTwABEFFPAAEQUU8CYIBRTwAAgFFPAACAUU8BQIBRTwAAgFFPAACAUU8BQiBRTwACIFFPAAIgUU8EgBGAUW8AAYBRbwABgFFvAAGAUW8AAYBRZyGwAAAHLmAAAAYwQAAAAAAAAAAAAAAAUAAAADAAAA86AAAACXAHwAgSR0AQAAAAAAAAAAAAB8AWQBdQF8AmQBdQFmAqYBAACrAQAAAAAAAAAAcg90AwAAAAAAAAAAAABkAqYBAACrAQAAAAAAAAAAggF8AIEEfAB8AGYCUwB8AYACfAN9AXwCgAJ8AX0CfAFkA3UAchN8AmQEdQByD3QDAAAAAAAAAAAAAGQFpgEAAKsBAAAAAAAAAACCAXwBfAJmAlMAKQb6mgogICAgVmFsaWRhdGUgdGhlIGNvbWJpbmF0aW9uIG9mICpjbXAqLCAqZXEqLCBhbmQgKm9yZGVyKi4gRGVyaXZlIHRoZSBlZmZlY3RpdmUKICAgIHZhbHVlcyBvZiBlcSBhbmQgb3JkZXIuICBJZiAqZXEqIGlzIE5vbmUsIHNldCBpdCB0byAqZGVmYXVsdF9lcSouCiAgICBO+iZEb24ndCBtaXggYGNtcGAgd2l0aCBgZXEnIGFuZCBgb3JkZXJgLkZU+i1gb3JkZXJgIGNhbiBvbmx5IGJlIFRydWUgaWYgYGVxYCBpcyBUcnVlIHRvby6pAtoDYW55cj8AAAApBHIxAAAAcjcAAAByOQAAANoKZGVmYXVsdF9lcXMEAAAAICAgIHIZAAAA2hlfZGV0ZXJtaW5lX2F0dHJzX2VxX29yZGVycpMBAABRBAAAc4IAAACAAPAKAAgLgH+dM6ACqCSgDrAFuFTQMEHQH0LRG0PUG0OAf90OGNAZQdEOQtQOQtAIQvAGAAgLgH/YDxKQQ4h4iA/wCAAICoB62A0XiALgBwyAfdgQEogF4AcJiFWAe4B7kHWgBJB9kH3dDhjQGUjRDknUDknQCEngCw2IdYg50AQUchsAAABjBAAAAAAAAAAAAAAABQAAAAMAAADzDgEAAJcAfACBJHQBAAAAAAAAAAAAAHwBZAF1AXwCZAF1AWYCpgEAAKsBAAAAAAAAAAByD3QDAAAAAAAAAAAAAGQCpgEAAKsBAAAAAAAAAACCAWQDhAB9BHwAgRQCAHwEfACmAQAAqwEAAAAAAAAAAFwCAAB9AH0FfAB8BXwAfAVmBFMAfAGABXwDZAF9Bn0Bbg4CAHwEfAGmAQAAqwEAAAAAAAAAAFwCAAB9AX0GfAKABXwBfAZ9B30Cbg4CAHwEfAKmAQAAqwEAAAAAAAAAAFwCAAB9An0HfAFkBHUAchN8AmQFdQByD3QDAAAAAAAAAAAAAGQGpgEAAKsBAAAAAAAAAACCAXwBfAZ8AnwHZgRTACkHco0BAABOco4BAABjAQAAAAAAAAAAAAAAAwAAABMAAADzNgAAAJcAdAEAAAAAAAAAAAAAfACmAQAAqwEAAAAAAAAAAHIFZAF8AH0BfQBuAmQCfQF8AHwBZgJTACkDejgKICAgICAgICBEZWNpZGUgd2hldGhlciBhIGtleSBmdW5jdGlvbiBpcyB1c2VkLgogICAgICAgIFROKQFyQAAAACkCcuAAAABysgAAAHMCAAAAICByGQAAANoaZGVjaWRlX2NhbGxhYmxlX29yX2Jvb2xlYW56Pl9kZXRlcm1pbmVfYXR0cmliX2VxX29yZGVyLjxsb2NhbHM+LmRlY2lkZV9jYWxsYWJsZV9vcl9ib29sZWFucwQAAHMsAAAAgAD1CAAMFJBFiT+MP/AAAwkX2BkdmHWQM4hFiEXgEhaIQ9gPFJBjiHrQCBlyGwAAAEZUco8BAABykAEAACkIcjEAAAByNwAAAHI5AAAAcpIBAABylgEAANoHY21wX2tleXI4AAAAcjoAAABzCAAAACAgICAgICAgchkAAAByPQAAAHI9AAAAawQAAHPlAAAAgADwCgAIC4B/nTOgAqgkoA6wBbhU0DBB0B9C0RtD1BtDgH/dDhjQGUHRDkLUDkLQCELwBAgFGvAACAUa8AAIBRrwFgAIC4B/2Bcx0BcxsCPRFzbUFzaJDIgDiFfYDxKQR5hToCfQDynQCCnwCAAICoB62BUfoBSIRogCiALgFS/QFS+wAtEVM9QVM4kKiAKIRuAHDIB92BsdmHaIeYgFiAXgGzXQGzWwZdEbPNQbPNEIGIgFiHngBwmIVYB7gHuQdaAEkH2Qfd0OGNAZSNEOSdQOSdAISeALDYh2kHWYadALJ9AEJ3IbAAAAYwUAAAAAAAAAAAAAAAUAAAADAAAA81oAAACXAHwBZAF1AHMEfAFkAnUAcgJ8AVMAfAGABnwCZAJ1AHICfARTAHwDRABdFX0FdAEAAAAAAAAAAAAAfAB8BaYCAACrAgAAAAAAAAAAcgMBAGQCUwCMFnwEUwApA2FwAQAACiAgICBDaGVjayB3aGV0aGVyIHdlIHNob3VsZCBpbXBsZW1lbnQgYSBzZXQgb2YgbWV0aG9kcyBmb3IgKmNscyouCgogICAgKmZsYWcqIGlzIHRoZSBhcmd1bWVudCBwYXNzZWQgaW50byBAYXR0ci5zIGxpa2UgJ2luaXQnLCAqYXV0b19kZXRlY3QqIHRoZQogICAgc2FtZSBhcyBwYXNzZWQgaW50byBAYXR0ci5zIGFuZCAqZHVuZGVycyogaXMgYSB0dXBsZSBvZiBhdHRyaWJ1dGUgbmFtZXMKICAgIHdob3NlIHByZXNlbmNlIHNpZ25hbCB0aGF0IHRoZSB1c2VyIGhhcyBpbXBsZW1lbnRlZCBpdCB0aGVtc2VsdmVzLgoKICAgIFJldHVybiAqZGVmYXVsdCogaWYgbm8gcmVhc29uIGZvciBlaXRoZXIgZm9yIG9yIGFnYWluc3QgaXMgZm91bmQuCiAgICBURikBcowAAAApBnKHAAAA2gRmbGFn2gthdXRvX2RldGVjdNoHZHVuZGVyc3IuAAAA2gZkdW5kZXJzBgAAACAgICAgIHIZAAAA2h9fZGV0ZXJtaW5lX3doZXRoZXJfdG9faW1wbGVtZW50cp0BAACUBAAAc2QAAACAAPAYAAgMiHSAfIB8kHSYdZB9kH3YDxOIC+AHC4B8mAugddAYLNAYLNgPFogO8AYAExrwAAIFGfAAAgUZiAbdCx2YY6A20Qsq1Asq8AABCRnYExiQNZA18AMBCRnwBgAME4BOchsAAABjGAAAAAAAAAAAAAAAFQAAAAMAAADzAgEAAIcBhwKHA4cFhwaHB4cIhwmHCocLhwyHDYcOhxGHEocThxSHFYcWhxmHGpcAdAEAAAAAAAAAAAAAfAR8D3wQZAGmBAAAqwQAAAAAAAAAAFwCAACKGYoafBeBAnwXigV0AwAAAAAAAAAAAACJFHQEAAAAAAAAAAAAAHQGAAAAAAAAAAAAAGYCpgIAAKsCAAAAAAAAAAByDnQJAAAAAAAAAAAAAGoFAAAAAAAAAACJFI4AihSIC4gRiA6IDYgSiBmIFYgIiBOIBYgGiAyIFogUiBqIA4gCiAeICogBiAlmFWQChAh9GHwAgAJ8GFMAAgB8GHwApgEAAKsBAAAAAAAAAABTACkDYRo0AAAKICAgIEEgY2xhc3MgZGVjb3JhdG9yIHRoYXQgYWRkcyA6dGVybTpgZHVuZGVyIG1ldGhvZHNgIGFjY29yZGluZyB0byB0aGUKICAgIHNwZWNpZmllZCBhdHRyaWJ1dGVzIHVzaW5nIGBhdHRyLmliYCBvciB0aGUgKnRoZXNlKiBhcmd1bWVudC4KCiAgICBQbGVhc2UgY29uc2lkZXIgdXNpbmcgYGF0dHJzLmRlZmluZWAgLyBgYXR0cnMuZnJvemVuYCBpbiBuZXcgY29kZQogICAgKGBgYXR0ci5zYGAgd2lsbCAqbmV2ZXIqIGdvIGF3YXksIHRob3VnaCkuCgogICAgOnBhcmFtIHRoZXNlOiBBIGRpY3Rpb25hcnkgb2YgbmFtZSB0byBgYXR0ci5pYmAgbWFwcGluZ3MuICBUaGlzIGlzCiAgICAgICAgdXNlZnVsIHRvIGF2b2lkIHRoZSBkZWZpbml0aW9uIG9mIHlvdXIgYXR0cmlidXRlcyB3aXRoaW4gdGhlIGNsYXNzIGJvZHkKICAgICAgICBiZWNhdXNlIHlvdSBjYW4ndCAoZS5nLiBpZiB5b3Ugd2FudCB0byBhZGQgYGBfX3JlcHJfX2BgIG1ldGhvZHMgdG8KICAgICAgICBEamFuZ28gbW9kZWxzKSBvciBkb24ndCB3YW50IHRvLgoKICAgICAgICBJZiAqdGhlc2UqIGlzIG5vdCBgYE5vbmVgYCwgKmF0dHJzKiB3aWxsICpub3QqIHNlYXJjaCB0aGUgY2xhc3MgYm9keQogICAgICAgIGZvciBhdHRyaWJ1dGVzIGFuZCB3aWxsICpub3QqIHJlbW92ZSBhbnkgYXR0cmlidXRlcyBmcm9tIGl0LgoKICAgICAgICBUaGUgb3JkZXIgaXMgZGVkdWNlZCBmcm9tIHRoZSBvcmRlciBvZiB0aGUgYXR0cmlidXRlcyBpbnNpZGUgKnRoZXNlKi4KCiAgICA6dHlwZSB0aGVzZTogYGRpY3RgIG9mIGBzdHJgIHRvIGBhdHRyLmliYAoKICAgIDpwYXJhbSBzdHIgcmVwcl9uczogV2hlbiB1c2luZyBuZXN0ZWQgY2xhc3NlcywgdGhlcmUncyBubyB3YXkgaW4gUHl0aG9uIDIKICAgICAgICB0byBhdXRvbWF0aWNhbGx5IGRldGVjdCB0aGF0LiAgVGhlcmVmb3JlIGl0J3MgcG9zc2libGUgdG8gc2V0IHRoZQogICAgICAgIG5hbWVzcGFjZSBleHBsaWNpdGx5IGZvciBhIG1vcmUgbWVhbmluZ2Z1bCBgYHJlcHJgYCBvdXRwdXQuCiAgICA6cGFyYW0gYm9vbCBhdXRvX2RldGVjdDogSW5zdGVhZCBvZiBzZXR0aW5nIHRoZSAqaW5pdCosICpyZXByKiwgKmVxKiwKICAgICAgICAqb3JkZXIqLCBhbmQgKmhhc2gqIGFyZ3VtZW50cyBleHBsaWNpdGx5LCBhc3N1bWUgdGhleSBhcmUgc2V0IHRvCiAgICAgICAgYGBUcnVlYGAgKip1bmxlc3MgYW55Kiogb2YgdGhlIGludm9sdmVkIG1ldGhvZHMgZm9yIG9uZSBvZiB0aGUKICAgICAgICBhcmd1bWVudHMgaXMgaW1wbGVtZW50ZWQgaW4gdGhlICpjdXJyZW50KiBjbGFzcyAoaS5lLiBpdCBpcyAqbm90KgogICAgICAgIGluaGVyaXRlZCBmcm9tIHNvbWUgYmFzZSBjbGFzcykuCgogICAgICAgIFNvIGZvciBleGFtcGxlIGJ5IGltcGxlbWVudGluZyBgYF9fZXFfX2BgIG9uIGEgY2xhc3MgeW91cnNlbGYsCiAgICAgICAgKmF0dHJzKiB3aWxsIGRlZHVjZSBgYGVxPUZhbHNlYGAgYW5kIHdpbGwgY3JlYXRlICpuZWl0aGVyKgogICAgICAgIGBgX19lcV9fYGAgKm5vciogYGBfX25lX19gYCAoYnV0IFB5dGhvbiBjbGFzc2VzIGNvbWUgd2l0aCBhIHNlbnNpYmxlCiAgICAgICAgYGBfX25lX19gYCBieSBkZWZhdWx0LCBzbyBpdCAqc2hvdWxkKiBiZSBlbm91Z2ggdG8gb25seSBpbXBsZW1lbnQKICAgICAgICBgYF9fZXFfX2BgIGluIG1vc3QgY2FzZXMpLgoKICAgICAgICAuLiB3YXJuaW5nOjoKCiAgICAgICAgICAgSWYgeW91IHByZXZlbnQgKmF0dHJzKiBmcm9tIGNyZWF0aW5nIHRoZSBvcmRlcmluZyBtZXRob2RzIGZvciB5b3UKICAgICAgICAgICAoYGBvcmRlcj1GYWxzZWBgLCBlLmcuIGJ5IGltcGxlbWVudGluZyBgYF9fbGVfX2BgKSwgaXQgYmVjb21lcwogICAgICAgICAgICp5b3VyKiByZXNwb25zaWJpbGl0eSB0byBtYWtlIHN1cmUgaXRzIG9yZGVyaW5nIGlzIHNvdW5kLiBUaGUgYmVzdAogICAgICAgICAgIHdheSBpcyB0byB1c2UgdGhlIGBmdW5jdG9vbHMudG90YWxfb3JkZXJpbmdgIGRlY29yYXRvci4KCgogICAgICAgIFBhc3NpbmcgYGBUcnVlYGAgb3IgYGBGYWxzZWBgIHRvICppbml0KiwgKnJlcHIqLCAqZXEqLCAqb3JkZXIqLAogICAgICAgICpjbXAqLCBvciAqaGFzaCogb3ZlcnJpZGVzIHdoYXRldmVyICphdXRvX2RldGVjdCogd291bGQgZGV0ZXJtaW5lLgoKICAgIDpwYXJhbSBib29sIHJlcHI6IENyZWF0ZSBhIGBgX19yZXByX19gYCBtZXRob2Qgd2l0aCBhIGh1bWFuIHJlYWRhYmxlCiAgICAgICAgcmVwcmVzZW50YXRpb24gb2YgKmF0dHJzKiBhdHRyaWJ1dGVzLi4KICAgIDpwYXJhbSBib29sIHN0cjogQ3JlYXRlIGEgYGBfX3N0cl9fYGAgbWV0aG9kIHRoYXQgaXMgaWRlbnRpY2FsIHRvCiAgICAgICAgYGBfX3JlcHJfX2BgLiAgVGhpcyBpcyB1c3VhbGx5IG5vdCBuZWNlc3NhcnkgZXhjZXB0IGZvcgogICAgICAgIGBFeGNlcHRpb25gXCBzLgogICAgOnBhcmFtIE9wdGlvbmFsW2Jvb2xdIGVxOiBJZiBgYFRydWVgYCBvciBgYE5vbmVgYCAoZGVmYXVsdCksIGFkZCBgYF9fZXFfX2BgCiAgICAgICAgYW5kIGBgX19uZV9fYGAgbWV0aG9kcyB0aGF0IGNoZWNrIHR3byBpbnN0YW5jZXMgZm9yIGVxdWFsaXR5LgoKICAgICAgICBUaGV5IGNvbXBhcmUgdGhlIGluc3RhbmNlcyBhcyBpZiB0aGV5IHdlcmUgdHVwbGVzIG9mIHRoZWlyICphdHRycyoKICAgICAgICBhdHRyaWJ1dGVzIGlmIGFuZCBvbmx5IGlmIHRoZSB0eXBlcyBvZiBib3RoIGNsYXNzZXMgYXJlICppZGVudGljYWwqIQogICAgOnBhcmFtIE9wdGlvbmFsW2Jvb2xdIG9yZGVyOiBJZiBgYFRydWVgYCwgYWRkIGBgX19sdF9fYGAsIGBgX19sZV9fYGAsCiAgICAgICAgYGBfX2d0X19gYCwgYW5kIGBgX19nZV9fYGAgbWV0aG9kcyB0aGF0IGJlaGF2ZSBsaWtlICplcSogYWJvdmUgYW5kCiAgICAgICAgYWxsb3cgaW5zdGFuY2VzIHRvIGJlIG9yZGVyZWQuIElmIGBgTm9uZWBgIChkZWZhdWx0KSBtaXJyb3IgdmFsdWUgb2YKICAgICAgICAqZXEqLgogICAgOnBhcmFtIE9wdGlvbmFsW2Jvb2xdIGNtcDogU2V0dGluZyAqY21wKiBpcyBlcXVpdmFsZW50IHRvIHNldHRpbmcgKmVxKgogICAgICAgIGFuZCAqb3JkZXIqIHRvIHRoZSBzYW1lIHZhbHVlLiBNdXN0IG5vdCBiZSBtaXhlZCB3aXRoICplcSogb3IgKm9yZGVyKi4KICAgIDpwYXJhbSBPcHRpb25hbFtib29sXSB1bnNhZmVfaGFzaDogSWYgYGBOb25lYGAgKGRlZmF1bHQpLCB0aGUgYGBfX2hhc2hfX2BgCiAgICAgICAgbWV0aG9kIGlzIGdlbmVyYXRlZCBhY2NvcmRpbmcgaG93ICplcSogYW5kICpmcm96ZW4qIGFyZSBzZXQuCgogICAgICAgIDEuIElmICpib3RoKiBhcmUgVHJ1ZSwgKmF0dHJzKiB3aWxsIGdlbmVyYXRlIGEgYGBfX2hhc2hfX2BgIGZvciB5b3UuCiAgICAgICAgMi4gSWYgKmVxKiBpcyBUcnVlIGFuZCAqZnJvemVuKiBpcyBGYWxzZSwgYGBfX2hhc2hfX2BgIHdpbGwgYmUgc2V0IHRvCiAgICAgICAgICAgTm9uZSwgbWFya2luZyBpdCB1bmhhc2hhYmxlICh3aGljaCBpdCBpcykuCiAgICAgICAgMy4gSWYgKmVxKiBpcyBGYWxzZSwgYGBfX2hhc2hfX2BgIHdpbGwgYmUgbGVmdCB1bnRvdWNoZWQgbWVhbmluZyB0aGUKICAgICAgICAgICBgYF9faGFzaF9fYGAgbWV0aG9kIG9mIHRoZSBiYXNlIGNsYXNzIHdpbGwgYmUgdXNlZCAoaWYgYmFzZSBjbGFzcyBpcwogICAgICAgICAgIGBgb2JqZWN0YGAsIHRoaXMgbWVhbnMgaXQgd2lsbCBmYWxsIGJhY2sgdG8gaWQtYmFzZWQgaGFzaGluZy4pLgoKICAgICAgICBBbHRob3VnaCBub3QgcmVjb21tZW5kZWQsIHlvdSBjYW4gZGVjaWRlIGZvciB5b3Vyc2VsZiBhbmQgZm9yY2UKICAgICAgICAqYXR0cnMqIHRvIGNyZWF0ZSBvbmUgKGUuZy4gaWYgdGhlIGNsYXNzIGlzIGltbXV0YWJsZSBldmVuIHRob3VnaCB5b3UKICAgICAgICBkaWRuJ3QgZnJlZXplIGl0IHByb2dyYW1tYXRpY2FsbHkpIGJ5IHBhc3NpbmcgYGBUcnVlYGAgb3Igbm90LiAgQm90aCBvZgogICAgICAgIHRoZXNlIGNhc2VzIGFyZSByYXRoZXIgc3BlY2lhbCBhbmQgc2hvdWxkIGJlIHVzZWQgY2FyZWZ1bGx5LgoKICAgICAgICBTZWUgb3VyIGRvY3VtZW50YXRpb24gb24gYGhhc2hpbmdgLCBQeXRob24ncyBkb2N1bWVudGF0aW9uIG9uCiAgICAgICAgYG9iamVjdC5fX2hhc2hfX2AsIGFuZCB0aGUgYEdpdEh1YiBpc3N1ZSB0aGF0IGxlZCB0byB0aGUgZGVmYXVsdCBcCiAgICAgICAgYmVoYXZpb3IgPGh0dHBzOi8vZ2l0aHViLmNvbS9weXRob24tYXR0cnMvYXR0cnMvaXNzdWVzLzEzNj5gXyBmb3IgbW9yZQogICAgICAgIGRldGFpbHMuCiAgICA6cGFyYW0gT3B0aW9uYWxbYm9vbF0gaGFzaDogQWxpYXMgZm9yICp1bnNhZmVfaGFzaCouICp1bnNhZmVfaGFzaCogdGFrZXMKICAgICAgICBwcmVjZWRlbmNlLgogICAgOnBhcmFtIGJvb2wgaW5pdDogQ3JlYXRlIGEgYGBfX2luaXRfX2BgIG1ldGhvZCB0aGF0IGluaXRpYWxpemVzIHRoZQogICAgICAgICphdHRycyogYXR0cmlidXRlcy4gTGVhZGluZyB1bmRlcnNjb3JlcyBhcmUgc3RyaXBwZWQgZm9yIHRoZSBhcmd1bWVudAogICAgICAgIG5hbWUuIElmIGEgYGBfX2F0dHJzX3ByZV9pbml0X19gYCBtZXRob2QgZXhpc3RzIG9uIHRoZSBjbGFzcywgaXQgd2lsbAogICAgICAgIGJlIGNhbGxlZCBiZWZvcmUgdGhlIGNsYXNzIGlzIGluaXRpYWxpemVkLiBJZiBhIGBgX19hdHRyc19wb3N0X2luaXRfX2BgCiAgICAgICAgbWV0aG9kIGV4aXN0cyBvbiB0aGUgY2xhc3MsIGl0IHdpbGwgYmUgY2FsbGVkIGFmdGVyIHRoZSBjbGFzcyBpcyBmdWxseQogICAgICAgIGluaXRpYWxpemVkLgoKICAgICAgICBJZiBgYGluaXRgYCBpcyBgYEZhbHNlYGAsIGFuIGBgX19hdHRyc19pbml0X19gYCBtZXRob2Qgd2lsbCBiZQogICAgICAgIGluamVjdGVkIGluc3RlYWQuIFRoaXMgYWxsb3dzIHlvdSB0byBkZWZpbmUgYSBjdXN0b20gYGBfX2luaXRfX2BgCiAgICAgICAgbWV0aG9kIHRoYXQgY2FuIGRvIHByZS1pbml0IHdvcmsgc3VjaCBhcyBgYHN1cGVyKCkuX19pbml0X18oKWBgLAogICAgICAgIGFuZCB0aGVuIGNhbGwgYGBfX2F0dHJzX2luaXRfXygpYGAgYW5kIGBgX19hdHRyc19wb3N0X2luaXRfXygpYGAuCiAgICA6cGFyYW0gYm9vbCBzbG90czogQ3JlYXRlIGEgOnRlcm06YHNsb3R0ZWQgY2xhc3MgPHNsb3R0ZWQgY2xhc3Nlcz5gIHRoYXQncwogICAgICAgIG1vcmUgbWVtb3J5LWVmZmljaWVudC4gU2xvdHRlZCBjbGFzc2VzIGFyZSBnZW5lcmFsbHkgc3VwZXJpb3IgdG8gdGhlCiAgICAgICAgZGVmYXVsdCBkaWN0IGNsYXNzZXMsIGJ1dCBoYXZlIHNvbWUgZ290Y2hhcyB5b3Ugc2hvdWxkIGtub3cgYWJvdXQsIHNvCiAgICAgICAgd2UgZW5jb3VyYWdlIHlvdSB0byByZWFkIHRoZSA6dGVybTpgZ2xvc3NhcnkgZW50cnkgPHNsb3R0ZWQgY2xhc3Nlcz5gLgogICAgOnBhcmFtIGJvb2wgZnJvemVuOiBNYWtlIGluc3RhbmNlcyBpbW11dGFibGUgYWZ0ZXIgaW5pdGlhbGl6YXRpb24uICBJZgogICAgICAgIHNvbWVvbmUgYXR0ZW1wdHMgdG8gbW9kaWZ5IGEgZnJvemVuIGluc3RhbmNlLAogICAgICAgIGBhdHRycy5leGNlcHRpb25zLkZyb3plbkluc3RhbmNlRXJyb3JgIGlzIHJhaXNlZC4KCiAgICAgICAgLi4gbm90ZTo6CgogICAgICAgICAgICAxLiBUaGlzIGlzIGFjaGlldmVkIGJ5IGluc3RhbGxpbmcgYSBjdXN0b20gYGBfX3NldGF0dHJfX2BgIG1ldGhvZAogICAgICAgICAgICAgICBvbiB5b3VyIGNsYXNzLCBzbyB5b3UgY2FuJ3QgaW1wbGVtZW50IHlvdXIgb3duLgoKICAgICAgICAgICAgMi4gVHJ1ZSBpbW11dGFiaWxpdHkgaXMgaW1wb3NzaWJsZSBpbiBQeXRob24uCgogICAgICAgICAgICAzLiBUaGlzICpkb2VzKiBoYXZlIGEgbWlub3IgYSBydW50aW1lIHBlcmZvcm1hbmNlIGBpbXBhY3QKICAgICAgICAgICAgICAgPGhvdy1mcm96ZW4+YCB3aGVuIGluaXRpYWxpemluZyBuZXcgaW5zdGFuY2VzLiAgSW4gb3RoZXIgd29yZHM6CiAgICAgICAgICAgICAgIGBgX19pbml0X19gYCBpcyBzbGlnaHRseSBzbG93ZXIgd2l0aCBgYGZyb3plbj1UcnVlYGAuCgogICAgICAgICAgICA0LiBJZiBhIGNsYXNzIGlzIGZyb3plbiwgeW91IGNhbm5vdCBtb2RpZnkgYGBzZWxmYGAgaW4KICAgICAgICAgICAgICAgYGBfX2F0dHJzX3Bvc3RfaW5pdF9fYGAgb3IgYSBzZWxmLXdyaXR0ZW4gYGBfX2luaXRfX2BgLiBZb3UgY2FuCiAgICAgICAgICAgICAgIGNpcmN1bXZlbnQgdGhhdCBsaW1pdGF0aW9uIGJ5IHVzaW5nCiAgICAgICAgICAgICAgIGBgb2JqZWN0Ll9fc2V0YXR0cl9fKHNlbGYsICJhdHRyaWJ1dGVfbmFtZSIsIHZhbHVlKWBgLgoKICAgICAgICAgICAgNS4gU3ViY2xhc3NlcyBvZiBhIGZyb3plbiBjbGFzcyBhcmUgZnJvemVuIHRvby4KCiAgICA6cGFyYW0gYm9vbCB3ZWFrcmVmX3Nsb3Q6IE1ha2UgaW5zdGFuY2VzIHdlYWstcmVmZXJlbmNlYWJsZS4gIFRoaXMgaGFzIG5vCiAgICAgICAgZWZmZWN0IHVubGVzcyBgYHNsb3RzYGAgaXMgYWxzbyBlbmFibGVkLgogICAgOnBhcmFtIGJvb2wgYXV0b19hdHRyaWJzOiBJZiBgYFRydWVgYCwgY29sbGVjdCA6cGVwOmA1MjZgLWFubm90YXRlZAogICAgICAgIGF0dHJpYnV0ZXMgZnJvbSB0aGUgY2xhc3MgYm9keS4KCiAgICAgICAgSW4gdGhpcyBjYXNlLCB5b3UgKiptdXN0KiogYW5ub3RhdGUgZXZlcnkgZmllbGQuICBJZiAqYXR0cnMqCiAgICAgICAgZW5jb3VudGVycyBhIGZpZWxkIHRoYXQgaXMgc2V0IHRvIGFuIGBhdHRyLmliYCBidXQgbGFja3MgYSB0eXBlCiAgICAgICAgYW5ub3RhdGlvbiwgYW4gYGF0dHIuZXhjZXB0aW9ucy5VbmFubm90YXRlZEF0dHJpYnV0ZUVycm9yYCBpcwogICAgICAgIHJhaXNlZC4gIFVzZSBgYGZpZWxkX25hbWU6IHR5cGluZy5BbnkgPSBhdHRyLmliKC4uLilgYCBpZiB5b3UgZG9uJ3QKICAgICAgICB3YW50IHRvIHNldCBhIHR5cGUuCgogICAgICAgIElmIHlvdSBhc3NpZ24gYSB2YWx1ZSB0byB0aG9zZSBhdHRyaWJ1dGVzIChlLmcuIGBgeDogaW50ID0gNDJgYCksIHRoYXQKICAgICAgICB2YWx1ZSBiZWNvbWVzIHRoZSBkZWZhdWx0IHZhbHVlIGxpa2UgaWYgaXQgd2VyZSBwYXNzZWQgdXNpbmcKICAgICAgICBgYGF0dHIuaWIoZGVmYXVsdD00MilgYC4gIFBhc3NpbmcgYW4gaW5zdGFuY2Ugb2YgYGF0dHJzLkZhY3RvcnlgIGFsc28KICAgICAgICB3b3JrcyBhcyBleHBlY3RlZCBpbiBtb3N0IGNhc2VzIChzZWUgd2FybmluZyBiZWxvdykuCgogICAgICAgIEF0dHJpYnV0ZXMgYW5ub3RhdGVkIGFzIGB0eXBpbmcuQ2xhc3NWYXJgLCBhbmQgYXR0cmlidXRlcyB0aGF0IGFyZQogICAgICAgIG5laXRoZXIgYW5ub3RhdGVkIG5vciBzZXQgdG8gYW4gYGF0dHIuaWJgIGFyZSAqKmlnbm9yZWQqKi4KCiAgICAgICAgLi4gd2FybmluZzo6CiAgICAgICAgICAgRm9yIGZlYXR1cmVzIHRoYXQgdXNlIHRoZSBhdHRyaWJ1dGUgbmFtZSB0byBjcmVhdGUgZGVjb3JhdG9ycyAoZS5nLgogICAgICAgICAgIDpyZWY6YHZhbGlkYXRvcnMgPHZhbGlkYXRvcnM+YCksIHlvdSBzdGlsbCAqbXVzdCogYXNzaWduIGBhdHRyLmliYAogICAgICAgICAgIHRvIHRoZW0uIE90aGVyd2lzZSBQeXRob24gd2lsbCBlaXRoZXIgbm90IGZpbmQgdGhlIG5hbWUgb3IgdHJ5IHRvCiAgICAgICAgICAgdXNlIHRoZSBkZWZhdWx0IHZhbHVlIHRvIGNhbGwgZS5nLiBgYHZhbGlkYXRvcmBgIG9uIGl0LgoKICAgICAgICAgICBUaGVzZSBlcnJvcnMgY2FuIGJlIHF1aXRlIGNvbmZ1c2luZyBhbmQgcHJvYmFibHkgdGhlIG1vc3QgY29tbW9uIGJ1ZwogICAgICAgICAgIHJlcG9ydCBvbiBvdXIgYnVnIHRyYWNrZXIuCgogICAgOnBhcmFtIGJvb2wga3dfb25seTogTWFrZSBhbGwgYXR0cmlidXRlcyBrZXl3b3JkLW9ubHkKICAgICAgICBpbiB0aGUgZ2VuZXJhdGVkIGBgX19pbml0X19gYCAoaWYgYGBpbml0YGAgaXMgYGBGYWxzZWBgLCB0aGlzCiAgICAgICAgcGFyYW1ldGVyIGlzIGlnbm9yZWQpLgogICAgOnBhcmFtIGJvb2wgY2FjaGVfaGFzaDogRW5zdXJlIHRoYXQgdGhlIG9iamVjdCdzIGhhc2ggY29kZSBpcyBjb21wdXRlZAogICAgICAgIG9ubHkgb25jZSBhbmQgc3RvcmVkIG9uIHRoZSBvYmplY3QuICBJZiB0aGlzIGlzIHNldCB0byBgYFRydWVgYCwKICAgICAgICBoYXNoaW5nIG11c3QgYmUgZWl0aGVyIGV4cGxpY2l0bHkgb3IgaW1wbGljaXRseSBlbmFibGVkIGZvciB0aGlzCiAgICAgICAgY2xhc3MuICBJZiB0aGUgaGFzaCBjb2RlIGlzIGNhY2hlZCwgYXZvaWQgYW55IHJlYXNzaWdubWVudHMgb2YKICAgICAgICBmaWVsZHMgaW52b2x2ZWQgaW4gaGFzaCBjb2RlIGNvbXB1dGF0aW9uIG9yIG11dGF0aW9ucyBvZiB0aGUgb2JqZWN0cwogICAgICAgIHRob3NlIGZpZWxkcyBwb2ludCB0byBhZnRlciBvYmplY3QgY3JlYXRpb24uICBJZiBzdWNoIGNoYW5nZXMgb2NjdXIsCiAgICAgICAgdGhlIGJlaGF2aW9yIG9mIHRoZSBvYmplY3QncyBoYXNoIGNvZGUgaXMgdW5kZWZpbmVkLgogICAgOnBhcmFtIGJvb2wgYXV0b19leGM6IElmIHRoZSBjbGFzcyBzdWJjbGFzc2VzIGBCYXNlRXhjZXB0aW9uYAogICAgICAgICh3aGljaCBpbXBsaWNpdGx5IGluY2x1ZGVzIGFueSBzdWJjbGFzcyBvZiBhbnkgZXhjZXB0aW9uKSwgdGhlCiAgICAgICAgZm9sbG93aW5nIGhhcHBlbnMgdG8gYmVoYXZlIGxpa2UgYSB3ZWxsLWJlaGF2ZWQgUHl0aG9uIGV4Y2VwdGlvbnMKICAgICAgICBjbGFzczoKCiAgICAgICAgLSB0aGUgdmFsdWVzIGZvciAqZXEqLCAqb3JkZXIqLCBhbmQgKmhhc2gqIGFyZSBpZ25vcmVkIGFuZCB0aGUKICAgICAgICAgIGluc3RhbmNlcyBjb21wYXJlIGFuZCBoYXNoIGJ5IHRoZSBpbnN0YW5jZSdzIGlkcyAoTi5CLiAqYXR0cnMqIHdpbGwKICAgICAgICAgICpub3QqIHJlbW92ZSBleGlzdGluZyBpbXBsZW1lbnRhdGlvbnMgb2YgYGBfX2hhc2hfX2BgIG9yIHRoZSBlcXVhbGl0eQogICAgICAgICAgbWV0aG9kcy4gSXQganVzdCB3b24ndCBhZGQgb3duIG9uZXMuKSwKICAgICAgICAtIGFsbCBhdHRyaWJ1dGVzIHRoYXQgYXJlIGVpdGhlciBwYXNzZWQgaW50byBgYF9faW5pdF9fYGAgb3IgaGF2ZSBhCiAgICAgICAgICBkZWZhdWx0IHZhbHVlIGFyZSBhZGRpdGlvbmFsbHkgYXZhaWxhYmxlIGFzIGEgdHVwbGUgaW4gdGhlIGBgYXJnc2BgCiAgICAgICAgICBhdHRyaWJ1dGUsCiAgICAgICAgLSB0aGUgdmFsdWUgb2YgKnN0ciogaXMgaWdub3JlZCBsZWF2aW5nIGBgX19zdHJfX2BgIHRvIGJhc2UgY2xhc3Nlcy4KICAgIDpwYXJhbSBib29sIGNvbGxlY3RfYnlfbXJvOiBTZXR0aW5nIHRoaXMgdG8gYFRydWVgIGZpeGVzIHRoZSB3YXkgKmF0dHJzKgogICAgICAgY29sbGVjdHMgYXR0cmlidXRlcyBmcm9tIGJhc2UgY2xhc3Nlcy4gIFRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzCiAgICAgICBpbmNvcnJlY3QgaW4gY2VydGFpbiBjYXNlcyBvZiBtdWx0aXBsZSBpbmhlcml0YW5jZS4gIEl0IHNob3VsZCBiZSBvbiBieQogICAgICAgZGVmYXVsdCBidXQgaXMga2VwdCBvZmYgZm9yIGJhY2t3YXJkLWNvbXBhdGliaWxpdHkuCgogICAgICAgU2VlIGlzc3VlIGAjNDI4IDxodHRwczovL2dpdGh1Yi5jb20vcHl0aG9uLWF0dHJzL2F0dHJzL2lzc3Vlcy80Mjg+YF8gZm9yCiAgICAgICBtb3JlIGRldGFpbHMuCgogICAgOnBhcmFtIE9wdGlvbmFsW2Jvb2xdIGdldHN0YXRlX3NldHN0YXRlOgogICAgICAgLi4gbm90ZTo6CiAgICAgICAgICBUaGlzIGlzIHVzdWFsbHkgb25seSBpbnRlcmVzdGluZyBmb3Igc2xvdHRlZCBjbGFzc2VzIGFuZCB5b3Ugc2hvdWxkCiAgICAgICAgICBwcm9iYWJseSBqdXN0IHNldCAqYXV0b19kZXRlY3QqIHRvIGBUcnVlYC4KCiAgICAgICBJZiBgVHJ1ZWAsIGBgX19nZXRzdGF0ZV9fYGAgYW5kCiAgICAgICBgYF9fc2V0c3RhdGVfX2BgIGFyZSBnZW5lcmF0ZWQgYW5kIGF0dGFjaGVkIHRvIHRoZSBjbGFzcy4gVGhpcyBpcwogICAgICAgbmVjZXNzYXJ5IGZvciBzbG90dGVkIGNsYXNzZXMgdG8gYmUgcGlja2xlYWJsZS4gSWYgbGVmdCBgTm9uZWAsIGl0J3MKICAgICAgIGBUcnVlYCBieSBkZWZhdWx0IGZvciBzbG90dGVkIGNsYXNzZXMgYW5kIGBgRmFsc2VgYCBmb3IgZGljdCBjbGFzc2VzLgoKICAgICAgIElmICphdXRvX2RldGVjdCogaXMgYFRydWVgLCBhbmQgKmdldHN0YXRlX3NldHN0YXRlKiBpcyBsZWZ0IGBOb25lYCwKICAgICAgIGFuZCAqKmVpdGhlcioqIGBgX19nZXRzdGF0ZV9fYGAgb3IgYGBfX3NldHN0YXRlX19gYCBpcyBkZXRlY3RlZCBkaXJlY3RseQogICAgICAgb24gdGhlIGNsYXNzIChpLmUuIG5vdCBpbmhlcml0ZWQpLCBpdCBpcyBzZXQgdG8gYEZhbHNlYCAodGhpcyBpcyB1c3VhbGx5CiAgICAgICB3aGF0IHlvdSB3YW50KS4KCiAgICA6cGFyYW0gb25fc2V0YXR0cjogQSBjYWxsYWJsZSB0aGF0IGlzIHJ1biB3aGVuZXZlciB0aGUgdXNlciBhdHRlbXB0cyB0byBzZXQKICAgICAgICBhbiBhdHRyaWJ1dGUgKGVpdGhlciBieSBhc3NpZ25tZW50IGxpa2UgYGBpLnggPSA0MmBgIG9yIGJ5IHVzaW5nCiAgICAgICAgYHNldGF0dHJgIGxpa2UgYGBzZXRhdHRyKGksICJ4IiwgNDIpYGApLiBJdCByZWNlaXZlcyB0aGUgc2FtZSBhcmd1bWVudHMKICAgICAgICBhcyB2YWxpZGF0b3JzOiB0aGUgaW5zdGFuY2UsIHRoZSBhdHRyaWJ1dGUgdGhhdCBpcyBiZWluZyBtb2RpZmllZCwgYW5kCiAgICAgICAgdGhlIG5ldyB2YWx1ZS4KCiAgICAgICAgSWYgbm8gZXhjZXB0aW9uIGlzIHJhaXNlZCwgdGhlIGF0dHJpYnV0ZSBpcyBzZXQgdG8gdGhlIHJldHVybiB2YWx1ZSBvZgogICAgICAgIHRoZSBjYWxsYWJsZS4KCiAgICAgICAgSWYgYSBsaXN0IG9mIGNhbGxhYmxlcyBpcyBwYXNzZWQsIHRoZXkncmUgYXV0b21hdGljYWxseSB3cmFwcGVkIGluIGFuCiAgICAgICAgYGF0dHJzLnNldHRlcnMucGlwZWAuCiAgICA6dHlwZSBvbl9zZXRhdHRyOiBgY2FsbGFibGVgLCBvciBhIGxpc3Qgb2YgY2FsbGFibGVzLCBvciBgTm9uZWAsIG9yCiAgICAgICAgYGF0dHJzLnNldHRlcnMuTk9fT1BgCgogICAgOnBhcmFtIE9wdGlvbmFsW2NhbGxhYmxlXSBmaWVsZF90cmFuc2Zvcm1lcjoKICAgICAgICBBIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIHdpdGggdGhlIG9yaWdpbmFsIGNsYXNzIG9iamVjdCBhbmQgYWxsCiAgICAgICAgZmllbGRzIHJpZ2h0IGJlZm9yZSAqYXR0cnMqIGZpbmFsaXplcyB0aGUgY2xhc3MuICBZb3UgY2FuIHVzZQogICAgICAgIHRoaXMsIGUuZy4sIHRvIGF1dG9tYXRpY2FsbHkgYWRkIGNvbnZlcnRlcnMgb3IgdmFsaWRhdG9ycyB0bwogICAgICAgIGZpZWxkcyBiYXNlZCBvbiB0aGVpciB0eXBlcy4gIFNlZSBgdHJhbnNmb3JtLWZpZWxkc2AgZm9yIG1vcmUgZGV0YWlscy4KCiAgICA6cGFyYW0gYm9vbCBtYXRjaF9hcmdzOgogICAgICAgIElmIGBUcnVlYCAoZGVmYXVsdCksIHNldCBgYF9fbWF0Y2hfYXJnc19fYGAgb24gdGhlIGNsYXNzIHRvIHN1cHBvcnQKICAgICAgICA6cGVwOmA2MzRgIChTdHJ1Y3R1cmFsIFBhdHRlcm4gTWF0Y2hpbmcpLiBJdCBpcyBhIHR1cGxlIG9mIGFsbAogICAgICAgIG5vbi1rZXl3b3JkLW9ubHkgYGBfX2luaXRfX2BgIHBhcmFtZXRlciBuYW1lcyBvbiBQeXRob24gMy4xMCBhbmQgbGF0ZXIuCiAgICAgICAgSWdub3JlZCBvbiBvbGRlciBQeXRob24gdmVyc2lvbnMuCgogICAgLi4gdmVyc2lvbmFkZGVkOjogMTYuMC4wICpzbG90cyoKICAgIC4uIHZlcnNpb25hZGRlZDo6IDE2LjEuMCAqZnJvemVuKgogICAgLi4gdmVyc2lvbmFkZGVkOjogMTYuMy4wICpzdHIqCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAxNi4zLjAgU3VwcG9ydCBmb3IgYGBfX2F0dHJzX3Bvc3RfaW5pdF9fYGAuCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDE3LjEuMAogICAgICAgKmhhc2gqIHN1cHBvcnRzIGBgTm9uZWBgIGFzIHZhbHVlIHdoaWNoIGlzIGFsc28gdGhlIGRlZmF1bHQgbm93LgogICAgLi4gdmVyc2lvbmFkZGVkOjogMTcuMy4wICphdXRvX2F0dHJpYnMqCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDE4LjEuMAogICAgICAgSWYgKnRoZXNlKiBpcyBwYXNzZWQsIG5vIGF0dHJpYnV0ZXMgYXJlIGRlbGV0ZWQgZnJvbSB0aGUgY2xhc3MgYm9keS4KICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMTguMS4wIElmICp0aGVzZSogaXMgb3JkZXJlZCwgdGhlIG9yZGVyIGlzIHJldGFpbmVkLgogICAgLi4gdmVyc2lvbmFkZGVkOjogMTguMi4wICp3ZWFrcmVmX3Nsb3QqCiAgICAuLiBkZXByZWNhdGVkOjogMTguMi4wCiAgICAgICBgYF9fbHRfX2BgLCBgYF9fbGVfX2BgLCBgYF9fZ3RfX2BgLCBhbmQgYGBfX2dlX19gYCBub3cgcmFpc2UgYQogICAgICAgYERlcHJlY2F0aW9uV2FybmluZ2AgaWYgdGhlIGNsYXNzZXMgY29tcGFyZWQgYXJlIHN1YmNsYXNzZXMgb2YKICAgICAgIGVhY2ggb3RoZXIuIGBgX19lcWBgIGFuZCBgYF9fbmVfX2BgIG5ldmVyIHRyaWVkIHRvIGNvbXBhcmVkIHN1YmNsYXNzZXMKICAgICAgIHRvIGVhY2ggb3RoZXIuCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDE5LjIuMAogICAgICAgYGBfX2x0X19gYCwgYGBfX2xlX19gYCwgYGBfX2d0X19gYCwgYW5kIGBgX19nZV9fYGAgbm93IGRvIG5vdCBjb25zaWRlcgogICAgICAgc3ViY2xhc3NlcyBjb21wYXJhYmxlIGFueW1vcmUuCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAxOC4yLjAgKmt3X29ubHkqCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAxOC4yLjAgKmNhY2hlX2hhc2gqCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAxOS4xLjAgKmF1dG9fZXhjKgogICAgLi4gZGVwcmVjYXRlZDo6IDE5LjIuMCAqY21wKiBSZW1vdmFsIG9uIG9yIGFmdGVyIDIwMjEtMDYtMDEuCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAxOS4yLjAgKmVxKiBhbmQgKm9yZGVyKgogICAgLi4gdmVyc2lvbmFkZGVkOjogMjAuMS4wICphdXRvX2RldGVjdCoKICAgIC4uIHZlcnNpb25hZGRlZDo6IDIwLjEuMCAqY29sbGVjdF9ieV9tcm8qCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAyMC4xLjAgKmdldHN0YXRlX3NldHN0YXRlKgogICAgLi4gdmVyc2lvbmFkZGVkOjogMjAuMS4wICpvbl9zZXRhdHRyKgogICAgLi4gdmVyc2lvbmFkZGVkOjogMjAuMy4wICpmaWVsZF90cmFuc2Zvcm1lcioKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMjEuMS4wCiAgICAgICBgYGluaXQ9RmFsc2VgYCBpbmplY3RzIGBgX19hdHRyc19pbml0X19gYAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAyMS4xLjAgU3VwcG9ydCBmb3IgYGBfX2F0dHJzX3ByZV9pbml0X19gYAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAyMS4xLjAgKmNtcCogdW5kZXByZWNhdGVkCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAyMS4zLjAgKm1hdGNoX2FyZ3MqCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAyMi4yLjAKICAgICAgICp1bnNhZmVfaGFzaCogYXMgYW4gYWxpYXMgZm9yICpoYXNoKiAoZm9yIDpwZXA6YDY4MWAgY29tcGxpYW5jZSkuCiAgICBOYwEAAAAAAAAAAAAAABAAAAATAAAA85QEAACVFZcAiQ1wDnQBAAAAAAAAAAAAAHwApgEAAKsBAAAAAAAAAAB9AYkIZAF1AG8UdAMAAAAAAAAAAAAAfAB0BAAAAAAAAAAAAACmAgAAqwIAAAAAAAAAAH0CiQdvD3QHAAAAAAAAAAAAAHwAZAKmAgAAqwIAAAAAAAAAAH0DfANyEXwBcg90CQAAAAAAAAAAAABkA6YBAACrAQAAAAAAAAAAggF0CwAAAAAAAAAAAAB8AIkZiRd8AYkadA0AAAAAAAAAAAAAfACJDokHZASJF6wFpgUAAKsFAAAAAAAAAACJBokRiQl8AokKiRN8A4kMpg4AAKsOAAAAAAAAAAB9BHQNAAAAAAAAAAAAAHwAiRWJB2QGpgQAAKsEAAAAAAAAAAByFXwEoAcAAAAAAAAAAAAAAAAAAAAAAAAAAIkWpgEAAKsBAAAAAAAAAAABAIkYZAF1AHIUfASgCAAAAAAAAAAAAAAAAAAAAAAAAAAApgAAAKsAAAAAAAAAAAABAHQNAAAAAAAAAAAAAHwAiQuJB2QHpgQAAKsEAAAAAAAAAAB9BXwCcxh8BWQBdQByFHwEoAkAAAAAAAAAAAAAAAAAAAAAAAAAAKYAAACrAAAAAAAAAAAAAQB8AnMmdA0AAAAAAAAAAAAAfACJFIkHZAimBAAAqwQAAAAAAAAAAHIUfASgCgAAAAAAAAAAAAAAAAAAAAAAAAAApgAAAKsAAAAAAAAAAAABAHwEoAsAAAAAAAAAAAAAAAAAAAAAAAAAAKYAAACrAAAAAAAAAAAAAQCJD4AWiQdkAXUAchJ0BwAAAAAAAAAAAAB8AGQJpgIAAKsCAAAAAAAAAAByAmQKig+JD2QBdQFyFYkPZAp1AXIRiQ+BD3QZAAAAAAAAAAAAAGQLpgEAAKsBAAAAAAAAAACCAYkPZAp1AHMIiQ+ABHwFZAp1AHMCfAJyEokJcg90GQAAAAAAAAAAAABkDKYBAACrAQAAAAAAAAAAggFuSIkPZAF1AHMKiQ+AHXwFZAF1AHIZfAFkAXUAchV8BKANAAAAAAAAAAAAAAAAAAAAAAAAAACmAAAAqwAAAAAAAAAAAAEAbiWJCXIPdBkAAAAAAAAAAAAAZAymAQAAqwEAAAAAAAAAAIIBfASgDgAAAAAAAAAAAAAAAAAAAAAAAAAApgAAAKsAAAAAAAAAAAABAHQNAAAAAAAAAAAAAHwAiRCJB2QNpgQAAKsEAAAAAAAAAAByFXwEoA8AAAAAAAAAAAAAAAAAAAAAAAAAAKYAAACrAAAAAAAAAAAAAQBuJXwEoBAAAAAAAAAAAAAAAAAAAAAAAAAAAKYAAACrAAAAAAAAAAAAAQCJCXIPdBkAAAAAAAAAAAAAZA6mAQAAqwEAAAAAAAAAAIIBdCIAAAAAAAAAAAAAciaJEnIkdAcAAAAAAAAAAAAAfABkD6YCAACrAgAAAAAAAAAAcxR8BKASAAAAAAAAAAAAAAAAAAAAAAAAAACmAAAAqwAAAAAAAAAAAAEAfASgEwAAAAAAAAAAAAAAAAAAAAAAAAAApgAAAKsAAAAAAAAAAABTACkQTlRy3gAAAHovQ2FuJ3QgZnJlZXplIGEgY2xhc3Mgd2l0aCBhIGN1c3RvbSBfX3NldGF0dHJfXy4pAnL+AAAAcv8AAAByqgAAAHJJAQAAKQJycgEAAHJzAQAAKQRyewEAAHJ8AQAAcn0BAAByfgEAAHJdAQAARnItAAAAemxJbnZhbGlkIHZhbHVlIGZvciBjYWNoZV9oYXNoLiAgVG8gdXNlIGhhc2ggY2FjaGluZywgaGFzaGluZyBtdXN0IGJlIGVpdGhlciBleHBsaWNpdGx5IG9yIGltcGxpY2l0bHkgZW5hYmxlZC4pAXIQAQAAekZJbnZhbGlkIHZhbHVlIGZvciBjYWNoZV9oYXNoLiAgVG8gdXNlIGhhc2ggY2FjaGluZywgaW5pdCBtdXN0IGJlIFRydWUucmwBAAApFNoWX2hhc19mcm96ZW5fYmFzZV9jbGFzc9oKaXNzdWJjbGFzc3LdAAAAcowAAAByPwAAAHLmAAAAcp0BAAByRgEAAHJLAQAAcncBAABygAEAAHKJAQAAcj4AAAByYgEAAHJeAQAAcmgBAABycAEAAHIIAAAAcm0BAAByGAEAACkbcocAAADaCWlzX2Zyb3plbnILAQAA2g9oYXNfb3duX3NldGF0dHLaB2J1aWxkZXJyNwAAAHLOAAAAcpoBAADaCGF1dG9fZXhjcgoBAAByzwAAANoDZXFfctAAAAByBwEAAHIJAQAAcjIAAAByMwAAAHI2AAAA2gptYXRjaF9hcmdzcjsAAADaBm9yZGVyX3IwAAAA2gdyZXByX25zcgYBAAByfQAAAHLNAAAAcggBAABzGwAAACAgICAgIICAgICAgICAgICAgICAgICAgICAgHIZAAAA2gR3cmFwehNhdHRycy48bG9jYWxzPi53cmFw0QUAAHNQAwAA+IAA2BQa0BQ51R40sFPRHjnUHjmICdgRGZhU0BEh0BFEpWqwE7Vt0SZE1CZEiAbYGiXwAAIbCtUqPNgMD5Ad8QMCKwr0AAIrCogP8AgADBvwAAEJUAGYefAAAQlQAd0SHNAdTtEST9QST9AMT+USH9gMD9gMEdgMEdgMFdgMGN0MK9gQE9gQIdgQG9gQMNgYHfALBg0O8QAGDQ70AAYNDvAOAA0Z2AwT2AwW2AwS2Awa2AwW2Awb2Awd8SkVEwr0ABUTCogH9SwADCvYDA+QFJB7oE3xAwIMCvQAAgwK8AADCSbwBgANFNcMHNIMHJhX0Qwl1Awl0Awl2AsOkCSIO4g72AwTj0+KT9EMHdQMHdAMHeUNLNgMD5ATkGvQIzfxAwIOCvQAAg4KiALwBgAQFvAAAQkdmCKgBJgqmCrYDBOPTopO0Qwc1Awc0Awc2A8V8AADCSDVGjnYDA+QFpgb0CZO8QMCGwr0AAIbCvAAAwkg8AYADRTXDB3SDB3RDB/UDB/QDB/gCA/XCBvSCBvRCB3UCB3QCB3wCAANEYhM2BAbmHTQECPQECPdECKgM6gK0RAz1BAz8AMAESTwBgAUGYhE4AsPkHTQCxvQCxugBKhF0CAx0CAxsGTQNkblEhvYEEjxAwITDvQAAhMO8AACDQ7wBgAOEpBViF2IXZh0mHywArBlsAuwC8AGsAvwBgAQGvAABQ0S3RYf8AICFR/xAwQXEvQABBcS8AAEERLwAwUNEvAMAA4SkFSIXIhc2AwQiEyYUqA0mFqYWqhJuBTQLD3QLD3wBgANFNcMHNIMHNEMHtQMHtAMHtAMHvAGABAa8AAFDRLdFh/wAgIVH/EDBBcS9AAEFxLwAAQREvAKAA0U1wwj0gwj0Qwl1Awl0Awl5Qsq2AwPkBSQe6BN8QMCDAr0AAIMCvAACgkS8AYADRTXDBzSDBzRDB7UDB7QDB7QDB7gDBPXDCLSDCLRDCTUDCTQDCTYDxnwAAQNEt0WH/ACARUq8QMDFxL0AAMXEvAAAxES9QwADRLwAwUJJeAQGvAFBQkl9QYAFSegc9AsPNEUPdQUPfAHBQkl8AoADRTXDCLSDCLRDCTUDCTQDCTgDxbXDyLSDyLRDyTUDyTQCCRyGwAAACkGcpMBAAByQgAAAHJDAAAAckQAAAByBwAAAHJFAAAAKRvaCW1heWJlX2Nsc3LNAAAAcqkBAAByMAAAAHIxAAAAcjIAAAByMwAAAHIGAQAAcgcBAAByCAEAAHJ9AAAAcs4AAAByNgAAAHIKAQAAcqUBAAByNwAAAHI5AAAAcpoBAAByzwAAAHIJAQAAcjsAAABy0AAAAHKnAQAA2gt1bnNhZmVfaGFzaHKqAQAAcqYBAAByqAEAAHMbAAAAIGBgYCBgYGBgYGBgYGBgICBgYGBgYGAgIEBAchkAAABydwAAAHJ3AAAArgQAAHMSAQAA+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4gAD1dAgAEyyoQ7ASsFW4RNESQdQSQYFLgEOIFvAGAAgT0Ace2A8aiATlBxGQKp10pVWYbdEHLNQHLPAAAQUv3RUclFygOtAVLogK8ARrAQUl8ABrAQUl8ABrAQUl8ABrAQUl8ABrAQUl8ABrAQUl8ABrAQUl8ABrAQUl8ABrAQUl8ABrAQUl8ABrAQUl8ABrAQUl8ABrAQUl8ABrAQUl8ABrAQUl8ABrAQUl8ABrAQUl8ABrAQUl8ABrAQUl8ABrAQUl8ABrAQUl8ABrAQUl8ABrAQUl8ABrAQUl8ABrAQUl8F4DAAgR0AcY2A8TiAvgDxOIdJBJiX+Mf9AIHnIbAAAAYwEAAAAAAAAAAAAAAAIAAAADAAAA8x4AAACXAHwAagAAAAAAAAAAAHQCAAAAAAAAAAAAAHUAUwApAXpWCiAgICBDaGVjayB3aGV0aGVyICpjbHMqIGhhcyBhIGZyb3plbiBhbmNlc3RvciBieSBsb29raW5nIGF0IGl0cwogICAgX19zZXRhdHRyX18uCiAgICApAnLeAAAAcuEAAAByjwAAAHMBAAAAIHIZAAAAcqABAAByoAEAAE0GAABzEgAAAIAA8AoADA+MP9UeLtALLtAELnIbAAAAYwIAAAAAAAAAAAAAAAoAAAADAAAA80wAAACXAGQBfAGbAGQCfABqAAAAAAAAAAAAmwBkA3QDAAAAAAAAAAAAAHwAZAR8AGoCAAAAAAAAAACmAwAAqwMAAAAAAAAAAJsAZAWdB1MAKQZ6RgogICAgQ3JlYXRlIGEgImZpbGVuYW1lIiBzdWl0YWJsZSBmb3IgYSBmdW5jdGlvbiBiZWluZyBnZW5lcmF0ZWQuCiAgICB6ETxhdHRycyBnZW5lcmF0ZWQg+gEgcrMAAAByIAAAAHJYAAAAKQNyHwAAAHKEAAAAch4AAAApAnKHAAAA2glmdW5jX25hbWVzAgAAACAgchkAAADaGV9nZW5lcmF0ZV91bmlxdWVfZmlsZW5hbWVysQEAAFUGAABzRgAAAIAA8AoBCTmYSfAAAQk58AABCTmoA6wO8AABCTnwAAEJOd0LEpAzmA6oA6wM0Qs11As18AMBCTnwAAEJOfAAAQk58AMDBQZyGwAAAGMEAAAAAAAAAAAAAAAGAAAAAwAAAPNuAgAAhwGHCYcKhwuHDIcNlwB0AQAAAAAAAAAAAABkAYQAiQFEAKYAAACrAAAAAAAAAAAApgEAAKsBAAAAAAAAAACKAWQCfQR0AwAAAAAAAAAAAAB8AGQDpgIAAKsCAAAAAAAAAAB9BXQFAAAAAAAAAAAAAHwFpgEAAKsBAAAAAAAAAACKDWkAigpkBH0GZAWKC2QGigl8A3MGfAZkB3oNAAB9Bm4UfAZkCHoNAAB9BnwGZAl6DQAAfQZkCokLegAAAIoLiQlkC3oNAACKCXwGZwGKDIgBiAmICogLiAyIDWYGZAyECH0HfANykIkMoAMAAAAAAAAAAAAAAAAAAAAAAAAAAHwEZA10CAAAAAAAAAAAAACbAGQOnQN6AAAApgEAAKsBAAAAAAAAAAABAHwCcjQCAHwHZA90CAAAAAAAAAAAAACbAGQQnQN8BGQRegUAAKYCAACrAgAAAAAAAAAAAQCJDKADAAAAAAAAAAAAAAAAAAAAAAAAAAB8BGQRegUAAGQLegAAAKYBAACrAQAAAAAAAAAAAQBuGAIAfAdkEnQIAAAAAAAAAAAAAJsAZBOdA3wEZBF6BQAApgIAAKsCAAAAAAAAAAABAIkMoAMAAAAAAAAAAAAAAAAAAAAAAAAAAHwEZBR0CAAAAAAAAAAAAACbAJ0CegAAAKYBAACrAQAAAAAAAAAAAQBuDAIAfAdkFXwEpgIAAKsCAAAAAAAAAAABAGQWoAUAAAAAAAAAAAAAAAAAAAAAAAAAAIkMpgEAAKsBAAAAAAAAAAB9CHQNAAAAAAAAAAAAAGQXfAh8BYkKpgQAAKsEAAAAAAAAAABTACkYTmMBAAAAAAAAAAAAAAADAAAAMwAAAPNMAAAASwABAJcAfABdH30BfAFqAAAAAAAAAAAAZAB1AHMQfAFqAAAAAAAAAAAArRJ8AWoBAAAAAAAAAABkAHUArxt8AVYAlwEBAIwgZAFTACkCVE4pAnIyAAAAcjcAAAByvwAAAHMCAAAAICByGQAAAHK1AAAAeh1fbWFrZV9oYXNoLjxsb2NhbHM+LjxnZW5leHByPmAGAABzQQAAAOgA6ACAAPAAAhIG8AACEgbYDg+YQZxGoGSYTphOqHGsdqh+wCHEJMgkwCzALIgBwCzALMAswCzwAwISBvAAAhIGchsAAAD6CCAgICAgICAgcjIAAAB6EWRlZiBfX2hhc2hfXyhzZWxmegZoYXNoKChyZwAAAHoCKTp6AywgKnpDLCBfY2FjaGVfd3JhcHBlcj1fX2ltcG9ydF9fKCdhdHRyLl9tYWtlJykuX21ha2UuX0NhY2hlSGFzaFdyYXBwZXIpOnoPX2NhY2hlX3dyYXBwZXIo+gEpYwIAAAAAAAAAAAAAAAkAAAATAAAA81QBAACVBpcAiQigAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAF8AHoAAACJB3oAAAB8AWQBiQmbAGQCnQN6AAAAZwKmAQAAqwEAAAAAAAAAAAEAiQREAF1kfQJ8AmoBAAAAAAAAAAByOmQDfAJqAgAAAAAAAAAAmwBkBJ0DfQN8AmoBAAAAAAAAAACJBnwDPAAAAIkIoAMAAAAAAAAAAAAAAAAAAAAAAAAAAHwBZAF8A5sAZAV8AmoCAAAAAAAAAACbAGQGnQV6AAAApgEAAKsBAAAAAAAAAAABAIxDiQigAwAAAAAAAAAAAAAAAAAAAAAAAAAAfAFkB3wCagIAAAAAAAAAAJsAZAKdA3oAAACmAQAAqwEAAAAAAAAAAAEAjGWJCKADAAAAAAAAAAAAAAAAAAAAAAAAAAB8AWQIegAAAIkFegAAAKYBAACrAQAAAAAAAAAAAQBkCVMAKQp62wogICAgICAgIEdlbmVyYXRlIHRoZSBjb2RlIGZvciBhY3R1YWxseSBjb21wdXRpbmcgdGhlIGhhc2ggY29kZS4KICAgICAgICBCZWxvdyB0aGlzIHdpbGwgZWl0aGVyIGJlIHJldHVybmVkIGRpcmVjdGx5IG9yIHVzZWQgdG8gY29tcHV0ZQogICAgICAgIGEgdmFsdWUgd2hpY2ggaXMgdGhlbiBjYWNoZWQsIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YgY2FjaGVfaGFzaAogICAgICAgIHK0AQAA+gEs2gFf2gRfa2V5+gYoc2VsZi76Aiks+g0gICAgICAgIHNlbGYucmYAAABOKQTaBmV4dGVuZHI4AAAAcl4AAABybAAAACkK2gZwcmVmaXjaBmluZGVudHKLAAAA2ghjbXBfbmFtZXJ3AAAA2g5jbG9zaW5nX2JyYWNlc3JQAAAA2gloYXNoX2Z1bmPaDG1ldGhvZF9saW5lc9oJdHlwZV9oYXNocwoAAAAgICAggICAgICAchkAAADaHWFwcGVuZF9oYXNoX2NvbXB1dGF0aW9uX2xpbmVzejFfbWFrZV9oYXNoLjxsb2NhbHM+LmFwcGVuZF9oYXNoX2NvbXB1dGF0aW9uX2xpbmVzfAYAAHMHAQAA+IAA8A4ACRXXCBvSCBvgEBaYFpEPoCnRECvYEBbQGTCgSdAZMNAZMNAZMNEQMPAFAw0O8QMFCQr0AAUJCvAABQkK8A4AEhfwAAgJSAHwAAgJSAGIQdgPEIx48AAHDUgB2BsrmHGcdtAbK9AbK9AbK5AI2CIjpCiQBZBokQ/YEBzXECPSECPYFBrQHUKoCNAdQtAdQrgBvAbQHULQHULQHULRFELxAwIREvQAAhES8AACERLwAAIREvAIABEd1xAj0hAjoEbQLUa4UbxW0C1G0C1G0C1G0SRG0RBH1BBH0BBH0BBH4AgU1wgb0ggbmEagVplPqG7RHDzRCD3UCD3QCD3QCD3QCD1yGwAAAHoIaWYgc2VsZi56CSBpcyBOb25lOnoab2JqZWN0Ll9fc2V0YXR0cl9fKHNlbGYsICf6AycsIOkCAAAA+gVzZWxmLvoDID0gegxyZXR1cm4gc2VsZi56B3JldHVybiByagAAAHJdAQAAKQdyRAAAAHKxAQAAcjIAAABybAAAAHI0AQAAcm4AAAByYwAAACkOcocAAABydwAAAHIHAQAAcgoBAADaA3RhYtoPdW5pcXVlX2ZpbGVuYW1l2ghoYXNoX2RlZnLFAQAAck8AAABywQEAAHJQAAAAcsIBAABywwEAAHLEAQAAcw4AAAAgYCAgICAgICBAQEBAQHIZAAAAcmEBAAByYQEAAF8GAABz9AEAAPj4+Pj4+IAA3QwR8AACEgbwAAISBtgTGPADAhIG8QACEgb0AAISBvEAAg0G9AACDQaARfAIAAsVgEPlFi+wA7BW0RY81BY8gE/dEBSQX9EQJdQQJYBJ4AwOgEXgDyKASNgQGIBJ2BUZgE7YCxXwAAoFHtgIEJBE0QgYiAiICOAIEJBF0QgZiAjgCBDwAgENQwHxAwMJCogI8AgAFSaoCdEUMYgJ2AgWmCPRCB2IDuAUHJA6gEzwBBgFPvAAGAU+8AAYBT7wABgFPvAAGAU+8AAYBT7wABgFPvAAGAU+8AAYBT7wABgFPvA0AAgS8AANBTbYCBTXCBvSCBuYQ9AiSdUtPtAiSdAiSdAiSdEcSdEIStQIStAIStgLEfAACAkO2Awp0Awp2BBD1S0+0BBD0BBD0BBDwFPIMcFX8QMCDQ70AAINDvAAAg0O8AYADRnXDB/SDB+gA6BhoQeoI6EN0Qwu1Awu0Awu0Awu4Awp0Awp2BAu1Rgp0BAu0BAu0BAusAOwYbEH8QMCDQ70AAINDvAAAg0O8AYACRXXCBvSCBuYQ9AiRNUxQtAiRNAiRNEcRNEIRdQIRdAIRdAIReAIJdAIJaBpsBPRCDXUCDXQCDXgDRGPWYpZkHzRDSTUDSSARt0LF5gKoEaoT7hV0QtD1AtD0ARDchsAAABjAgAAAAAAAAAAAAAABgAAAAMAAADzNgAAAJcAdAEAAAAAAAAAAAAAfAB8AWQBZAGsAqYEAACrBAAAAAAAAAAAfABfAQAAAAAAAAAAfABTACkDeiUKICAgIEFkZCBhIGhhc2ggbWV0aG9kIHRvICpjbHMqLgogICAgRnJgAQAAKQJyYQEAAHJdAQAAqQJyhwAAAHJ3AAAAcwIAAAAgIHIZAAAA2glfYWRkX2hhc2hyzwEAAKkGAABzIQAAAIAA9QgAFB6YY6A1sBXANdATSdETSdQTSYBDhEzYCw6ASnIbAAAAYwAAAAAAAAAAAAAAAAEAAAADAAAA8wwAAACXAGQBhAB9AHwAUwApAnofCiAgICBDcmVhdGUgX19uZV9fIG1ldGhvZC4KICAgIGMCAAAAAAAAAAAAAAADAAAAEwAAAPNSAAAAlwB8AKAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AaYBAACrAQAAAAAAAAAAfQJ8AnQCAAAAAAAAAAAAAHUAcgd0AgAAAAAAAAAAAABTAHwCDABTACkBemoKICAgICAgICBDaGVjayBlcXVhbGl0eSBhbmQgZWl0aGVyIGZvcndhcmQgYSBOb3RJbXBsZW1lbnRlZCBvcgogICAgICAgIHJldHVybiB0aGUgcmVzdWx0IG5lZ2F0ZWQuCiAgICAgICAgKQJycgEAANoOTm90SW1wbGVtZW50ZWQpA3IYAAAA2gVvdGhlctoGcmVzdWx0cwMAAAAgICByGQAAAHJzAQAAehhfbWFrZV9uZS48bG9jYWxzPi5fX25lX1+2BgAAcy4AAACAAPAKABIWlxuSG5hV0REj1BEjiAbYCxGVXtALI9ALI90TIdAMIeATGYh60AgZchsAAAByFgAAACkBcnMBAABzAQAAACByGQAAAHJ1AQAAcnUBAACxBgAAcxgAAACAAPAKCQUa8AAJBRrwAAkFGvAWAAwSgE1yGwAAAGMCAAAAAAAAAAAAAAAIAAAAAwAAAPNGAgAAlwBkAYQAfAFEAKYAAACrAAAAAAAAAAAAfQF0AQAAAAAAAAAAAAB8AGQCpgIAAKsCAAAAAAAAAAB9AmcAZAOiAX0DaQB9BHwBcsJ8A6ABAAAAAAAAAAAAAAAAAAAAAAAAAABkBKYBAACrAQAAAAAAAAAAAQBkBWcBfQV8AUQAXZ19BnwGagIAAAAAAAAAAHJYZAZ8BmoDAAAAAAAAAACbAGQHnQN9B3wGagIAAAAAAAAAAHwEfAc8AAAAfAOgAQAAAAAAAAAAAAAAAAAAAAAAAAAAZAh8B5sAZAl8BmoDAAAAAAAAAACbAGQKnQWmAQAAqwEAAAAAAAAAAAEAfAWgAQAAAAAAAAAAAAAAAAAAAAAAAAAAZAh8B5sAZAt8BmoDAAAAAAAAAACbAGQKnQWmAQAAqwEAAAAAAAAAAAEAjGF8A6ABAAAAAAAAAAAAAAAAAAAAAAAAAABkDHwGagMAAAAAAAAAAJsAZA2dA6YBAACrAQAAAAAAAAAAAQB8BaABAAAAAAAAAAAAAAAAAAAAAAAAAABkDnwGagMAAAAAAAAAAJsAZA2dA6YBAACrAQAAAAAAAAAAAQCMnnwDfAVkD2cBegAAAHoNAAB9A24VfAOgAQAAAAAAAAAAAAAAAAAAAAAAAAAAZBCmAQAAqwEAAAAAAAAAAAEAZBGgBAAAAAAAAAAAAAAAAAAAAAAAAAAAfAOmAQAAqwEAAAAAAAAAAH0IdAsAAAAAAAAAAAAAZBJ8CHwCfASmBAAAqwQAAAAAAAAAAFMAKRN6NgogICAgQ3JlYXRlIF9fZXFfXyBtZXRob2QgZm9yICpjbHMqIHdpdGggKmF0dHJzKi4KICAgIGMBAAAAAAAAAAAAAAADAAAAEwAAAPMgAAAAlwBnAHwAXQt9AXwBagAAAAAAAAAAAK8JfAGRAowMUwByFgAAACkBcjcAAAByvwAAAHMCAAAAICByGQAAAHKlAAAAehxfbWFrZV9lcS48bG9jYWxzPi48bGlzdGNvbXA+yAYAAHMfAAAAgADQDCbQDCbQDCaQMaARpBTQDCaIUdAMJtAMJtAMJnIbAAAAcjcAAAApA3oYZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6ei0gICAgaWYgb3RoZXIuX19jbGFzc19fIGlzIG5vdCBzZWxmLl9fY2xhc3NfXzp6HSAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkeg0gICAgcmV0dXJuICAoegogICAgKSA9PSAocrgBAAByuQEAAHK0AQAAcroBAAByuwEAAHoHKG90aGVyLnK8AQAAcrcBAAB6DiAgICAgICAgb3RoZXIuegUgICAgKXoPICAgIHJldHVybiBUcnVlcmoAAABycgEAACkGcrEBAABybAAAAHI4AAAAcl4AAABybgAAAHJjAAAAKQlyhwAAAHJ3AAAAcssBAADaBWxpbmVzclAAAADaBm90aGVyc3KLAAAAcsABAAByTwAAAHMJAAAAICAgICAgICAgchkAAABydAEAAHJ0AQAAxAYAAHN4AQAAgADwCAANJ9AMJpgF0Awm0Qwm1AwmgEXlFi+wA7BU0RY61BY6gE/wAgQNBvAABA0G8AAEDQaARfAQAA0PgEXYBwzwABEFKNgIDY8MigyQX9EIJdQIJdAIJdgSHpAeiAbYERbwAAoJOvAACgk6iEHYDxCMePAACQ062BsrmHGcdtAbK9AbK9AbK5AI8AYAIySkKJAFkGiRD9gQFZcMkgzQHUKoCNAdQtAdQrgBvAbQHULQHULQHULREEPUEEPQEEPYEBaXDZIN0B5EqBjQHkTQHkS4Ibwm0B5E0B5E0B5E0RBF1BBF0BBF0BBF4BAVlwySDNAdNqhRrFbQHTbQHTbQHTbREDfUEDfQEDfYEBaXDZIN0B44qHGsdtAeONAeONAeONEQOdQQOdAQOdAQOeAIDZAWmDeYKdERI9EII4gFiAXgCA2PDIoM0BUm0Qgn1Agn0Agn4A0Rj1mKWZB10Q0d1A0dgEblCxeYCKAmqC+4NdELQdQLQdAEQXIbAAAAYwIAAAAAAAAAAAAAAAQAAAADAAAA81wAAACHAYcGlwBkAYQAiQFEAKYAAACrAAAAAAAAAAAAigGIAWYBZAKECIoGiAZmAWQDhAh9AogGZgFkBIQIfQOIBmYBZAWECH0EiAZmAWQGhAh9BXwCfAN8BHwFZgRTACkHejkKICAgIENyZWF0ZSBvcmRlcmluZyBtZXRob2RzIGZvciAqY2xzKiB3aXRoICphdHRycyouCiAgICBjAQAAAAAAAAAAAAAAAwAAABMAAADzIAAAAJcAZwB8AF0LfQF8AWoAAAAAAAAAAACvCXwBkQKMDFMAchYAAAApAXI5AAAAcr8AAABzAgAAACAgchkAAABypQAAAHofX21ha2Vfb3JkZXIuPGxvY2Fscz4uPGxpc3Rjb21wPvAGAABzHwAAAIAA0Awp0Awp0AwpkDGgEaQX0AwpiFHQDCnQDCnQDClyGwAAAGMBAAAAAAAAAAAAAAAFAAAAEwAAAPNQAAAAlQGHAJcAdAEAAAAAAAAAAAAAZAGEAIgAZgFkAoQIiQFEAKYAAACrAAAAAAAAAAAARACmAAAAqwAAAAAAAAAAAKYBAACrAQAAAAAAAAAAUwApA3omCiAgICAgICAgU2F2ZSB1cyBzb21lIHR5cGluZy4KICAgICAgICBjAQAAAAAAAAAAAAAABAAAADMAAADzOgAAAEsAAQCXAHwAXRZcAgAAfQF9AnwCcgsCAHwCfAGmAQAAqwEAAAAAAAAAAG4BfAFWAJcBAQCMF2QAUwByJwAAAHIWAAAAKQNyowAAAHLgAAAAcrIAAABzAwAAACAgIHIZAAAAcrUAAAB6Nl9tYWtlX29yZGVyLjxsb2NhbHM+LmF0dHJzX3RvX3R1cGxlLjxsb2NhbHM+LjxnZW5leHByPvYGAABzSwAAAOgA6ACAAPAABRUK8AAFFQrhEBqQBZBz8AMAGx7QDCiIQ4hDkAWJSoxKiEqgNfADBRUK8AAFFQrwAAUVCvAABRUK8AAFFQrwAAUVCnIbAAAAYwEAAAAAAAAAAAAAAAUAAAAzAAAA81AAAACVAUsAAQCXAHwAXSB9AXQBAAAAAAAAAAAAAIkCfAFqAQAAAAAAAAAApgIAAKsCAAAAAAAAAAB8AWoCAAAAAAAAAABmAlYAlwEBAIwhZABTAHInAAAAKQNyhAAAAHJeAAAAcjoAAAApA3KjAAAAcosAAADaA29ianMDAAAAICCAchkAAABytQAAAHo2X21ha2Vfb3JkZXIuPGxvY2Fscz4uYXR0cnNfdG9fdHVwbGUuPGxvY2Fscz4uPGdlbmV4cHI++AYAAHNHAAAA+OgA6ACAAPAAAh8O8AACHw7YODmVF5gTmGGcZtERJdQRJaBxpHvQEDPwAwIfDvAAAh8O8AACHw7wAAIfDvAAAh8O8AACHw5yGwAAACkBckQAAAApAnLeAQAAcncAAABzAgAAAGCAchkAAADaDmF0dHJzX3RvX3R1cGxleiNfbWFrZV9vcmRlci48bG9jYWxzPi5hdHRyc190b190dXBsZfIGAABzVwAAAPj4gAD1CAAQFfAABRUK8AAFFQrwBAIfDvAAAh8O8AACHw7wAAIfDtg9QvADAh8O8QACHw70AAIfDvAFBRUK8QAFFQr0AAUVCvEABRAK9AAFEArwAAUJCnIbAAAAYwIAAAAAAAAAAAAAAAQAAAATAAAA814AAACVAZcAfAFqAAAAAAAAAAAAfABqAAAAAAAAAAAAdQByGAIAiQJ8AKYBAACrAQAAAAAAAAAAAgCJAnwBpgEAAKsBAAAAAAAAAABrAAAAAABTAHQCAAAAAAAAAAAAAFMAqQF6MQogICAgICAgIEF1dG9tYXRpY2FsbHkgY3JlYXRlZCBieSBhdHRycy4KICAgICAgICCpAtoJX19jbGFzc19fctIBAACpA3IYAAAActMBAABy3wEAAHMDAAAAICCAchkAAAByewEAAHobX21ha2Vfb3JkZXIuPGxvY2Fscz4uX19sdF9f/QYAAPM5AAAA+IAA8AgADBGMP5hknG7QCyzQCyzYEyGQPqAk0RMn1BMnqC6oLrgV0So/1Co/0hM/0Aw/5Q8d0AgdchsAAABjAgAAAAAAAAAAAAAABAAAABMAAADzXgAAAJUBlwB8AWoAAAAAAAAAAAB8AGoAAAAAAAAAAAB1AHIYAgCJAnwApgEAAKsBAAAAAAAAAAACAIkCfAGmAQAAqwEAAAAAAAAAAGsBAAAAAFMAdAIAAAAAAAAAAAAAUwBy4QEAAHLiAQAAcuQBAABzAwAAACAggHIZAAAAcnwBAAB6G19tYWtlX29yZGVyLjxsb2NhbHM+Ll9fbGVfXwYHAADzOQAAAPiAAPAIAAwRjD+YZJxu0Ass0Ass2BMhkD6gJNETJ9QTJ6g+qD64JdErQNQrQNITQNAMQOUPHdAIHXIbAAAAYwIAAAAAAAAAAAAAAAQAAAATAAAA814AAACVAZcAfAFqAAAAAAAAAAAAfABqAAAAAAAAAAAAdQByGAIAiQJ8AKYBAACrAQAAAAAAAAAAAgCJAnwBpgEAAKsBAAAAAAAAAABrBAAAAABTAHQCAAAAAAAAAAAAAFMAcuEBAABy4gEAAHLkAQAAcwMAAAAgIIByGQAAAHJ9AQAAehtfbWFrZV9vcmRlci48bG9jYWxzPi5fX2d0X18PBwAAcuUBAAByGwAAAGMCAAAAAAAAAAAAAAAEAAAAEwAAAPNeAAAAlQGXAHwBagAAAAAAAAAAAHwAagAAAAAAAAAAAHUAchgCAIkCfACmAQAAqwEAAAAAAAAAAAIAiQJ8AaYBAACrAQAAAAAAAAAAawUAAAAAUwB0AgAAAAAAAAAAAABTAHLhAQAAcuIBAABy5AEAAHMDAAAAICCAchkAAAByfgEAAHobX21ha2Vfb3JkZXIuPGxvY2Fscz4uX19nZV9fGAcAAHLnAQAAchsAAAByFgAAACkHcocAAABydwAAAHJ7AQAAcnwBAAByfQEAAHJ+AQAAct8BAABzBwAAACBgICAgIEByGQAAAHJ/AQAAcn8BAADsBgAAc6cAAAD4+IAA8AgADSrQDCmYBdAMKdEMKdQMKYBF8AQJBQrwAAkFCvAACQUK8AAJBQrwAAkFCvAWBwUe8AAHBR7wAAcFHvAABwUe8AAHBR7wEgcFHvAABwUe8AAHBR7wAAcFHvAABwUe8BIHBR7wAAcFHvAABwUe8AAHBR7wAAcFHvASBwUe8AAHBR7wAAcFHvAABwUe8AAHBR7wEgAMEpA2mDagNtALKdAEKXIbAAAAYwIAAAAAAAAAAAAAAAQAAAADAAAA82gAAACXAHwBgAd8AGoAAAAAAAAAAAB9AXQDAAAAAAAAAAAAAHwAfAGmAgAAqwIAAAAAAAAAAHwAXwIAAAAAAAAAAHQHAAAAAAAAAAAAAKYAAACrAAAAAAAAAAAAfABfBAAAAAAAAAAAfABTACkBejUKICAgIEFkZCBlcXVhbGl0eSBtZXRob2RzIHRvICpjbHMqIHdpdGggKmF0dHJzKi4KICAgICkFcpIAAABydAEAAHJyAQAAcnUBAABycwEAAHLOAQAAcwIAAAAgIHIZAAAA2gdfYWRkX2VxcusBAAAkBwAAczIAAACAAPAIAAgNgH3YEBPUECOIBeURGZgjmHXRESXUESWAQ4RK3REZkRqUGoBDhErgCw6ASnIbAAAAYwMAAAAAAAAAAAAAABEAAAADAAAA8/wBAACXAHQBAAAAAAAAAAAAAHwCZAGmAgAAqwIAAAAAAAAAAH0DdAMAAAAAAAAAAAAAZAKEAHwARACmAAAAqwAAAAAAAAAAAKYBAACrAQAAAAAAAAAAfQRkA4QAfAREAKYAAACrAAAAAAAAAAAAfQV0BAAAAAAAAAAAAAB8BWQEPAAAAHQGAAAAAAAAAAAAAHwFZAU8AAAAdAgAAAAAAAAAAAAAfAVkBjwAAABnAH0GfAREAF1IXAMAAH0HfQh9CXwJcgVkB3wHegAAAG4HZAh8B3oAAABkCXoAAAB9CnwIdAoAAAAAAAAAAAAAawIAAAAAcgh8B5sBZAp8CpsBZAudBG4KfAebAWQKfAebAWQMfAqbAWQNnQZ9C3wGoAYAAAAAAAAAAAAAAAAAAAAAAAAAAHwLpgEAAKsBAAAAAAAAAAABAIxJZA6gBwAAAAAAAAAAAAAAAAAAAAAAAAAAfAamAQAAqwEAAAAAAAAAAH0MfAGAA2QPfQ1uBXwBZBB6AAAAfQ1kEWQSZBNkFGQVZBZkF2QYZBlkGmQbZBJkHHwNmwBkHXwMmwBkHp0FZB9kIGcPfQ50EQAAAAAAAAAAAABkIWQioAcAAAAAAAAAAAAAAAAAAAAAAAAAAHwOpgEAAKsBAAAAAAAAAAB8A3wFrCOmBAAAqwQAAAAAAAAAAFMAKSROcjAAAABjAQAAAAAAAAAAAAAABAAAADMAAADzcAAAAEsAAQCXAHwAXTF9AXwBagAAAAAAAAAAAGQAdQGvC3wBagEAAAAAAAAAAHwBagAAAAAAAAAAAGQBdQByB3QAAAAAAAAAAAAAAG4GfAFqAAAAAAAAAAAAfAFqAgAAAAAAAAAAZgNWAJcBAQCMMmQCUwApA0ZUTikDcjAAAAByXgAAAHIzAAAAcr8AAABzAgAAACAgchkAAABytQAAAHodX21ha2VfcmVwci48bG9jYWxzPi48Z2VuZXhwcj42BwAAc1YAAADoAOgAgADwAAQiBvAABCIG4AwN2AsMjDaYFdALHtALHvAFAAoLjBaYIZwmoESYLpgulSSQJKhhrGawcbR20Ag+4Ase0Ase0Ase0Ase8AcEIgbwAAQiBnIbAAAAYwEAAAAAAAAAAAAAAAUAAAATAAAA8zgAAACXAGkAfABdF1wDAAB9AX0CfQN8AnQAAAAAAAAAAAAAAGsDAAAAAK8RfAFkAHoAAAB8ApMCjBhTACkB2gVfcmVwcikBcjAAAAApBHKjAAAAcl4AAADaAXJyuAEAAHMEAAAAICAgIHIZAAAAciYBAAB6Hl9tYWtlX3JlcHIuPGxvY2Fscz4uPGRpY3Rjb21wPjsHAABzMAAAAIAA8AACDQbwAAINBvAAAg0G2R4omGSgQaBxwFHNJMJZwFmIBIh3iQ6YAcBZwFnAWXIbAAAAcgUAAAByHQEAAHIVAAAAcsgBAAB6D2dldGF0dHIoc2VsZiwgInoLIiwgTk9USElORyl6Aj17egMhcn16Bl9yZXByKHoCKX1yqwAAAHoxe3NlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXy5yc3BsaXQoIj4uIiwgMSlbLTFdfXoaLntzZWxmLl9fY2xhc3NfXy5fX25hbWVfX316E2RlZiBfX3JlcHJfXyhzZWxmKTp6BiAgdHJ5Ono6ICAgIGFscmVhZHlfcmVwcmluZyA9IF9jb21wYXQucmVwcl9jb250ZXh0LmFscmVhZHlfcmVwcmluZ3oYICBleGNlcHQgQXR0cmlidXRlRXJyb3I6eiEgICAgYWxyZWFkeV9yZXByaW5nID0ge2lkKHNlbGYpLH16OiAgICBfY29tcGF0LnJlcHJfY29udGV4dC5hbHJlYWR5X3JlcHJpbmcgPSBhbHJlYWR5X3JlcHJpbmd6ByAgZWxzZTp6IyAgICBpZiBpZChzZWxmKSBpbiBhbHJlYWR5X3JlcHJpbmc6ehIgICAgICByZXR1cm4gJy4uLid6CSAgICBlbHNlOnojICAgICAgYWxyZWFkeV9yZXByaW5nLmFkZChpZChzZWxmKSl6DSAgICByZXR1cm4gZif6ASh6AiknegogIGZpbmFsbHk6eiQgICAgYWxyZWFkeV9yZXByaW5nLnJlbW92ZShpZChzZWxmKSlyGgAAAHJqAAAAKQFyUAAAACkJcrEBAAByRAAAAHIFAAAAch0BAAByFQAAAHIwAAAAcmwAAABybgAAAHJjAAAAKQ9ydwAAAHJFAQAAcocAAAByywEAANoVYXR0cl9uYW1lc193aXRoX3JlcHJzclAAAADaE2F0dHJpYnV0ZV9mcmFnbWVudHNyXgAAAHLwAQAAcnMAAADaCGFjY2Vzc29y2ghmcmFnbWVudNoNcmVwcl9mcmFnbWVudNoRY2xzX25hbWVfZnJhZ21lbnRy1wEAAHMPAAAAICAgICAgICAgICAgICAgchkAAAByRAEAAHJEAQAAMQcAAHOxAQAAgADdFi+wA7BW0RY81BY8gE/1CAAdIvAABCIG8AAEIgbgERbwBQQiBvEABCIG9AAEIgbxAAQdBvQABB0G0AQZ8AoCDQbwAAINBtgsQfADAg0G8QACDQb0AAINBoBF9QYAGB+ARYgp0QQU3R4sgEXQChrRBBvdFx6ARYgp0QQU2Boc0AQX2BYr8AAJBS3wAAkFLYkKiASIYZAR4B4f0AxNiEeQZIlOiE7QJTa4FNElPcAN0SVN8AMACRHwCgAQEZVEinmIefADABwgmDSYNKAYoBigGNAMKtAMKuAnK6B0oHSoVKhUqFSwOLA4sDjQETzwBwAJEfAKAAkc1wgi0ggioDjRCCzUCCzQCCzQCCzYFBiXSZJJ0B4x0RQy1BQygE3gBwmAetgcT9AIGdAIGeAcHtAhPdEcPdAIGfAGAAke2AgQ2AhE2Agi2Agr2AhE2AgR2Agt2Agc2AgT2Agt2AgQ2Ag90Bgp0Ag90Ag9qE3QCD3QCD3QCD3YCBTYCC7wHxANBoBF9SQADBjYCBKQRJdJkkmYZdEUJNQUJKBvuFXwAwIMBvEAAgwG9AACDAbwAAIFBnIbAAAAYwMAAAAAAAAAAAAAAAUAAAADAAAA80QAAACXAHwCgAd8AGoAAAAAAAAAAAB9AnQDAAAAAAAAAAAAAHwCfAF8AKYDAACrAwAAAAAAAAAAfABfAgAAAAAAAAAAfABTACkBeiUKICAgIEFkZCBhIHJlcHIgbWV0aG9kIHRvICpjbHMqLgogICAgKQNykgAAAHJEAQAAchoAAAApA3KHAAAAckUBAABydwAAAHMDAAAAICAgchkAAADaCV9hZGRfcmVwcnL5AQAAagcAAHMpAAAAgADwCAAIDYB92BAT1BAjiAXlEx2YZaBSqBPREy3UEy2AQ4RM2AsOgEpyGwAAAGMBAAAAAAAAAAAAAAAFAAAAAwAAAPP2AAAAlwB0AQAAAAAAAAAAAAB8AKYBAACrAQAAAAAAAAAAfQF8AYAkdAMAAAAAAAAAAAAAfAB0BAAAAAAAAAAAAACmAgAAqwIAAAAAAAAAAHMPdAcAAAAAAAAAAAAAZAKmAQAAqwEAAAAAAAAAAIIBdAkAAAAAAAAAAAAAfABkA2QBpgMAAKsDAAAAAAAAAAB9AnwCgDB8AYEcdAkAAAAAAAAAAAAAfAFkA2QBpgMAAKsDAAAAAAAAAAB9AnwCgQl8AnwAXwUAAAAAAAAAAHwCUwB0DQAAAAAAAAAAAAB8AJsCZASdAqYBAACrAQAAAAAAAAAAggF8AlMAKQVhKgIAAAogICAgUmV0dXJuIHRoZSB0dXBsZSBvZiAqYXR0cnMqIGF0dHJpYnV0ZXMgZm9yIGEgY2xhc3MuCgogICAgVGhlIHR1cGxlIGFsc28gYWxsb3dzIGFjY2Vzc2luZyB0aGUgZmllbGRzIGJ5IHRoZWlyIG5hbWVzIChzZWUgYmVsb3cgZm9yCiAgICBleGFtcGxlcykuCgogICAgOnBhcmFtIHR5cGUgY2xzOiBDbGFzcyB0byBpbnRyb3NwZWN0LgoKICAgIDpyYWlzZSBUeXBlRXJyb3I6IElmICpjbHMqIGlzIG5vdCBhIGNsYXNzLgogICAgOnJhaXNlIGF0dHJzLmV4Y2VwdGlvbnMuTm90QW5BdHRyc0NsYXNzRXJyb3I6IElmICpjbHMqIGlzIG5vdCBhbiAqYXR0cnMqCiAgICAgICAgY2xhc3MuCgogICAgOnJ0eXBlOiB0dXBsZSAod2l0aCBuYW1lIGFjY2Vzc29ycykgb2YgYGF0dHJzLkF0dHJpYnV0ZWAKCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDE2LjIuMCBSZXR1cm5lZCB0dXBsZSBhbGxvd3MgYWNjZXNzaW5nIHRoZSBmaWVsZHMKICAgICAgIGJ5IG5hbWUuCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDIzLjEuMCBBZGQgc3VwcG9ydCBmb3IgZ2VuZXJpYyBjbGFzc2VzLgogICAgTvoeUGFzc2VkIG9iamVjdCBtdXN0IGJlIGEgY2xhc3MucpIAAAD6ISBpcyBub3QgYW4gYXR0cnMtZGVjb3JhdGVkIGNsYXNzLikHcgoAAAByQgAAAHIrAAAAcj4AAAByhAAAAHKSAAAAcg4AAAApA3KHAAAA2gxnZW5lcmljX2Jhc2VydwAAAHMDAAAAICAgchkAAADaBmZpZWxkc3L+AQAAdQcAAHOVAAAAgAD1JgAUJKBD0RMo1BMogEzgBxPQBxulSqhztUTRJDnUJDnQBxvdDhfQGDjRDjnUDjnQCDnlDBOQQ9AZKqhE0Qwx1AwxgEXgBwyAfdgLF9ALI90UG5hM0Co7uFTRFELUFEKIRdgPFNAPIPAIACcskAPUECPYFxyQDN0OIqBj0CNO0CNO0CNO0Q5P1A5P0AhP4AsQgExyGwAAAGMBAAAAAAAAAAAAAAAFAAAAAwAAAPOsAAAAlwB0AQAAAAAAAAAAAAB8AHQCAAAAAAAAAAAAAKYCAACrAgAAAAAAAAAAcw90BQAAAAAAAAAAAABkAaYBAACrAQAAAAAAAAAAggF0BwAAAAAAAAAAAAB8AGQCZAOmAwAAqwMAAAAAAAAAAH0BfAGAEnQJAAAAAAAAAAAAAHwAmwJkBJ0CpgEAAKsBAAAAAAAAAACCAWQFhAB8AUQApgAAAKsAAAAAAAAAAABTACkGYVgBAAAKICAgIFJldHVybiBhbiBvcmRlcmVkIGRpY3Rpb25hcnkgb2YgKmF0dHJzKiBhdHRyaWJ1dGVzIGZvciBhIGNsYXNzLCB3aG9zZQogICAga2V5cyBhcmUgdGhlIGF0dHJpYnV0ZSBuYW1lcy4KCiAgICA6cGFyYW0gdHlwZSBjbHM6IENsYXNzIHRvIGludHJvc3BlY3QuCgogICAgOnJhaXNlIFR5cGVFcnJvcjogSWYgKmNscyogaXMgbm90IGEgY2xhc3MuCiAgICA6cmFpc2UgYXR0cnMuZXhjZXB0aW9ucy5Ob3RBbkF0dHJzQ2xhc3NFcnJvcjogSWYgKmNscyogaXMgbm90IGFuICphdHRycyoKICAgICAgICBjbGFzcy4KCiAgICA6cnR5cGU6IGRpY3QKCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAxOC4xLjAKICAgIHL7AQAAcpIAAABOcvwBAABjAQAAAAAAAAAAAAAABAAAABMAAADzHgAAAJcAaQB8AF0KfQF8AWoAAAAAAAAAAAB8AZMCjAtTAHIWAAAAcr4AAAByvwAAAHMCAAAAICByGQAAAHImAQAAeh9maWVsZHNfZGljdC48bG9jYWxzPi48ZGljdGNvbXA+sQcAAHMcAAAAgADQCyXQCyXQCyWYIYhBjEaQQdALJdALJdALJXIbAAAAKQVyQgAAAHIrAAAAcj4AAAByhAAAAHIOAAAAcs4BAABzAgAAACAgchkAAADaC2ZpZWxkc19kaWN0cgECAACdBwAAc2cAAACAAPUeAAwWkGOdNNELINQLIPAAAQU63Q4X0Bg40Q451A450Ag53QwTkEPQGSqoRNEMMdQMMYBF2AcMgH3dDiKgY9AjTtAjTtAjTtEOT9QOT9AIT9gLJdALJZh10Asl0Qsl1Asl0AQlchsAAABjAQAAAAAAAAAAAAAACQAAAAMAAADzpgAAAJcAdAAAAAAAAAAAAAAAagEAAAAAAAAAAGQBdQByAmQCUwB0BQAAAAAAAAAAAAB8AGoDAAAAAAAAAACmAQAAqwEAAAAAAAAAAEQAXSt9AXwBagQAAAAAAAAAAH0CfAKBIAIAfAJ8AHwBdAsAAAAAAAAAAAAAfAB8AWoGAAAAAAAAAACmAgAAqwIAAAAAAAAAAKYDAACrAwAAAAAAAAAAAQCMLGQCUwApA3qlCiAgICBWYWxpZGF0ZSBhbGwgYXR0cmlidXRlcyBvbiAqaW5zdCogdGhhdCBoYXZlIGEgdmFsaWRhdG9yLgoKICAgIExlYXZlcyBhbGwgZXhjZXB0aW9ucyB0aHJvdWdoLgoKICAgIDpwYXJhbSBpbnN0OiBJbnN0YW5jZSBvZiBhIGNsYXNzIHdpdGggKmF0dHJzKiBhdHRyaWJ1dGVzLgogICAgRk4pB3IGAAAA2g9fcnVuX3ZhbGlkYXRvcnNy/gEAAHLjAQAAci8AAAByhAAAAHJeAAAAKQPaBGluc3RyiwAAAHIlAQAAcwMAAAAgICByGQAAAHIDAQAAcgMBAAC0BwAAc2cAAACAAPUQAAgP1AceoCXQByfQByfYCA6IBuUNE5BElE7RDSPUDSPwAAMFLvAAAwUuiAHYDA2MS4gB2AsMiD3YDA2IQYhkkEGVd5h0oFGkVtEXLNQXLNEMLdQMLdAMLfjwBwMFLvAAAwUuchsAAABjAQAAAAAAAAAAAAAAAgAAAAMAAADzFAAAAJcAZAF8AGoAAAAAAAAAAAB2AFMAKQJOcikBAAApAXLKAAAAco8AAABzAQAAACByGQAAANoMX2lzX3Nsb3RfY2xzcgYCAADFBwAAcw8AAACAANgLFpgjnCzQCybQBCZyGwAAAGMCAAAAAAAAAAAAAAAEAAAAAwAAAPM0AAAAlwB8AHwBdgBvFHQBAAAAAAAAAAAAAHwBfAAZAAAAAAAAAAAApgEAAKsBAAAAAAAAAABTACkBej4KICAgIENoZWNrIGlmIHRoZSBhdHRyaWJ1dGUgbmFtZSBjb21lcyBmcm9tIGEgc2xvdCBjbGFzcy4KICAgICkBcgYCAAApAtoGYV9uYW1lcpsAAABzAgAAACAgchkAAADaDV9pc19zbG90X2F0dHJyCQIAAMkHAABzIQAAAIAA8AgADBKQXdALItALSqV8sE3AJtQ0SdEnStQnStAESnIbAAAAYwsAAAAAAAAAAAAAAA0AAAADAAAA87ACAACXAHwJZAB1AW8NfAl0AAAAAAAAAAAAAABqAQAAAAAAAAAAdQF9C3wEchF8C3IPdAUAAAAAAAAAAAAAZAGmAQAAqwEAAAAAAAAAAIIBfAZwAXwEfQxnAH0NaQB9DnwBRABda30PfA9qAwAAAAAAAAAAcw98D2oEAAAAAAAAAAB0CgAAAAAAAAAAAAB1AHIBjBh8DaAGAAAAAAAAAAAAAAAAAAAAAAAAAAB8D6YBAACrAQAAAAAAAAAAAQB8D3wOfA9qBwAAAAAAAAAAPAAAAHwPaggAAAAAAAAAAIEWfARkAnUAcg90BQAAAAAAAAAAAABkAaYBAACrAQAAAAAAAAAAggFkAn0MjFR8C3IVfA9qCAAAAAAAAAAAdAAAAAAAAAAAAAAAagEAAAAAAAAAAHUBcgJkAn0MjGx0EwAAAAAAAAAAAAB8AGQDpgIAAKsCAAAAAAAAAAB9EHQVAAAAAAAAAAAAAHwNfAR8BXwCfAN8BnwHfAh8DHwLfAqmCwAAqwsAAAAAAAAAAFwDAAB9EX0SfRN8AGoLAAAAAAAAAAB0GAAAAAAAAAAAAABqDQAAAAAAAAAAdgByL3wSoA4AAAAAAAAAAAAAAAAAAAAAAAAAAHQYAAAAAAAAAAAAAGoNAAAAAAAAAAB8AGoLAAAAAAAAAAAZAAAAAAAAAAAAag8AAAAAAAAAAKYBAACrAQAAAAAAAAAAAQB8EqAOAAAAAAAAAAAAAAAAAAAAAAAAAAB0CgAAAAAAAAAAAAB8DmQEnAKmAQAAqwEAAAAAAAAAAAEAfAxyD3QgAAAAAAAAAAAAAGoRAAAAAAAAAAB8EmQFPAAAAHQlAAAAAAAAAAAAAHwKcgJkBm4BZAd8EXwQfBKmBAAAqwQAAAAAAAAAAH0UfBN8FF8TAAAAAAAAAAB8FFMAKQhOeiRGcm96ZW4gY2xhc3NlcyBjYW4ndCB1c2Ugb25fc2V0YXR0ci5UcjMAAAApAnIVAAAA2glhdHRyX2RpY3TaE19jYWNoZWRfc2V0YXR0cl9nZXRybwEAAHIQAQAAKRRyBwAAAHKIAQAAcj8AAAByMwAAAHIuAAAAchUAAABybAAAAHJeAAAAcjsAAABysQEAANoVX2F0dHJzX3RvX2luaXRfc2NyaXB0ch8AAADaA3N5c9oHbW9kdWxlc3IzAQAAcsoAAAByHwEAAHJWAQAAcmMAAAByjgAAACkVcocAAABydwAAANoIcHJlX2luaXTaCXBvc3RfaW5pdHIHAQAAcgYBAAByCgEAAHKbAAAAcgsBAADaDmNsc19vbl9zZXRhdHRycmUBAADaEmhhc19jbHNfb25fc2V0YXR0ctoUbmVlZHNfY2FjaGVkX3NldGF0dHLaDmZpbHRlcmVkX2F0dHJzcgsCAAByiwAAAHLLAQAAck8AAAByUAAAANoLYW5ub3RhdGlvbnNyMwAAAHMVAAAAICAgICAgICAgICAgICAgICAgICAgchkAAAByZwEAAHJnAQAA0AcAAHO/AQAAgADwHAAJF5hk0Agi0AhKoH69V7xd0CdK8AMABRfwCAAIDvAAAQVBAdASJPAAAQVBAd0OGNAZP9EOQNQOQNAIQOAbJdAbL6gW0AQY2BUXgE7YEBKASdgNEvAADQUo8AANBSiIAdgPEIx28AABCRWYIZwppXfQGi7QGi7YDBTgCBbXCB3SCB2YYdEIINQIINAIINgcHYgJkCGUJtEIGeALDIw80Asj2A8VmBSIfoh+3RYg0CFH0RZI1BZI0BBI4CMn0Awg0Awg2A0f8AABCSigQaRMvQe8DdAkRdAkRdgjJ9AMIPjlFi+wA7BW0RY81BY8gE/lITbYCBbYCA7YCA3YCBDYCBHYCBLYCBXYCA7YCBzYCBrYCBLxFwwiBvQADCIG0QQegEaIRZA78BoACAuEfp0TnBvQByTQByTgCA2PDIoMlVOUW6ATpB7UFTDUFTnRCDrUCDrQCDrgBAmHTIJMnVewOdARPdARPdEEPtQEPtAEPuAHG/AAAwU89QYAKDTUJzuIBdAOI9EIJOULF9gcJtAINtAIGNAIGKhK2AgO2AgX2AgN8QkFDAb0AAUMBoBE8AwAHCeARNQEGOALD4BLchsAAABjAwAAAAAAAAAAAAAABQAAAAMAAADzFAAAAJcAZAF8AJsAZAJ8AZsAZAOdBVMAKQR6SgogICAgVXNlIHRoZSBjYWNoZWQgb2JqZWN0LnNldGF0dHIgdG8gc2V0ICphdHRyX25hbWUqIHRvICp2YWx1ZV92YXIqLgogICAg+gpfc2V0YXR0cigncsYBAABytQEAAHIWAAAAqQNydAAAANoJdmFsdWVfdmFy2g5oYXNfb25fc2V0YXR0cnMDAAAAICAgchkAAADaCF9zZXRhdHRychwCAAAbCAAAcx0AAACAAPAIAAwzmAnQCzLQCzKgadALMtALMtALMtAEMnIbAAAAYwMAAAAAAAAAAAAAAAcAAAADAAAA8ywAAACXAGQBfACbAWQCdAAAAAAAAAAAAAAAfABmAXoGAACbAWQDfAGbAWQEnQdTACkFemsKICAgIFVzZSB0aGUgY2FjaGVkIG9iamVjdC5zZXRhdHRyIHRvIHNldCAqYXR0cl9uYW1lKiB0byAqdmFsdWVfdmFyKiwgYnV0IHJ1bgogICAgaXRzIGNvbnZlcnRlciBmaXJzdC4KICAgIHIYAgAAcsYBAABy8QEAAHJnAAAAKQHaE19pbml0X2NvbnZlcnRlcl9wYXRyGQIAAHMDAAAAICAgchkAAADaF19zZXRhdHRyX3dpdGhfY29udmVydGVych8CAAAiCAAAcy4AAACAAIAA8AwACRKICYgJ3QgbmHmYbNEIKtAIKtAIKtgIEYgJiAnwBwQMBvAABAUGchsAAABjAwAAAAAAAAAAAAAABQAAAAMAAADzOAAAAJcAfAJyEXQBAAAAAAAAAAAAAHwAfAFkAaYDAACrAwAAAAAAAAAAUwBkAnwAmwBkA3wBmwCdBFMAKQR6bwogICAgVW5sZXNzICphdHRyX25hbWUqIGhhcyBhbiBvbl9zZXRhdHRyIGhvb2ssIHVzZSBub3JtYWwgYXNzaWdubWVudC4gT3RoZXJ3aXNlCiAgICByZWxlZ2F0ZSB0byBfc2V0YXR0ci4KICAgIFRyyAEAAHLJAQAAKQFyHAIAACkDcnQAAABy4AAAAHIbAgAAcwMAAAAgICByGQAAANoHX2Fzc2lnbnIhAgAALggAAHM0AAAAgADwCgAIFvAAAQUw3Q8XmAmgNagk0Q8v1A8v0Agv4AsokDnQCyjQCyigFdALKNALKNAEKHIbAAAAYwMAAAAAAAAAAAAAAAcAAAADAAAA81IAAACXAHwCchF0AQAAAAAAAAAAAAB8AHwBZAGmAwAAqwMAAAAAAAAAAFMAZAJ8AJsBZAN0AgAAAAAAAAAAAAB8AGYBegYAAJsBZAR8AZsBZAWdB1MAKQZ6jwogICAgVW5sZXNzICphdHRyX25hbWUqIGhhcyBhbiBvbl9zZXRhdHRyIGhvb2ssIHVzZSBub3JtYWwgYXNzaWdubWVudCBhZnRlcgogICAgY29udmVyc2lvbi4gT3RoZXJ3aXNlIHJlbGVnYXRlIHRvIF9zZXRhdHRyX3dpdGhfY29udmVydGVyLgogICAgVHLIAQAAcskBAABy8QEAAHK1AQAAKQJyHwIAAHIeAgAAchkCAABzAwAAACAgIHIZAAAA2hZfYXNzaWduX3dpdGhfY29udmVydGVyciMCAAA5CAAAc08AAACAAPAKAAgW8AABBUMB3Q8moHmwKbhU0Q9C1A9C0AhC8AMBBUMB8AgACRKICYgJ3QgbmHmYbNEIKtAIKtAIKtgIEYgJiAnwBwQMBvAABAUGchsAAABjCwAAAAAAAAAAAAAACgAAAAMAAADzjgwAAIcGlwBnAH0LfANyFXwLoAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQBpgEAAKsBAAAAAAAAAAABAHwIchV8C6AAAAAAAAAAAAAAAAAAAAAAAAAAAABkAqYBAACrAQAAAAAAAAAAAQB8AWQDdQByM3wCZAN1AHIPdAIAAAAAAAAAAAAAfQx0BAAAAAAAAAAAAAB9DW4ufAugAAAAAAAAAAAAAAAAAAAAAAAAAAAAZASmAQAAqwEAAAAAAAAAAAEAiAZmAWQFhAh9DIgGZgFkBoQIfQ1uDnQGAAAAAAAAAAAAAH0MdAgAAAAAAAAAAAAAfQ1nAH0OZwB9D2cAfRBpAH0RZAdkCGkBfRJ8AEQAkARdc30TfBNqBQAAAAAAAAAAchV8EKAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8E6YBAACrAQAAAAAAAAAAAQB8E2oGAAAAAAAAAAB9FHwTagcAAAAAAAAAAGQIdQFwFHwTagcAAAAAAAAAAHQQAAAAAAAAAAAAAGoJAAAAAAAAAAB1AW8BfAl9FXwTagoAAAAAAAAAAH0WdBcAAAAAAAAAAAAAfBNqDAAAAAAAAAAAdBoAAAAAAAAAAAAApgIAAKsCAAAAAAAAAAB9F3wXcg98E2oMAAAAAAAAAABqDgAAAAAAAAAAcgNkCX0YbgJkCn0YfBNqDwAAAAAAAAAAZAt1AJABcgB8F3KRdCAAAAAAAAAAAAAAfBNqBgAAAAAAAAAAZgF6BgAAfRl8E2oRAAAAAAAAAACBQnwLoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAfA18FHwZZAx8GJsAZA2dA3oAAAB8FaYDAACrAwAAAAAAAAAApgEAAKsBAAAAAAAAAAABAHQkAAAAAAAAAAAAAHwTagYAAAAAAAAAAGYBegYAAH0afBNqEQAAAAAAAAAAfBF8GjwAAABuJ3wLoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAfAx8FHwZZAx8GJsAZA2dA3oAAAB8FaYDAACrAwAAAAAAAAAApgEAAKsBAAAAAAAAAAABAHwTagwAAAAAAAAAAGoTAAAAAAAAAAB8EXwZPAAAAJADbgd8E2oRAAAAAAAAAACBQHwLoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAfA18FGQOfBSbAGQPnQN8FaYDAACrAwAAAAAAAAAApgEAAKsBAAAAAAAAAAABAHQkAAAAAAAAAAAAAHwTagYAAAAAAAAAAGYBegYAAH0afBNqEQAAAAAAAAAAfBF8GjwAAACQAm7AfAugAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgB8DHwUZA58FJsAZA+dA3wVpgMAAKsDAAAAAAAAAACmAQAAqwEAAAAAAAAAAAEAkAJumnwTagwAAAAAAAAAAHQoAAAAAAAAAAAAAHUBcp98F3OdfBabAGQQfBSbAGQPnQR9G3wTahUAAAAAAAAAAHIWfA+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAfBumAQAAqwEAAAAAAAAAAAEAbhV8DqAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8G6YBAACrAQAAAAAAAAAAAQB8E2oRAAAAAAAAAACBOnwLoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAfA18FHwWfBWmAwAAqwMAAAAAAAAAAKYBAACrAQAAAAAAAAAAAQB8E2oRAAAAAAAAAAB8EXQkAAAAAAAAAAAAAHwTagYAAAAAAAAAAGYBegYAADwAAACQAm4PfAugAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgB8DHwUfBZ8FaYDAACrAwAAAAAAAAAApgEAAKsBAAAAAAAAAAABAJABbu18F5ABclh8FpsAZBGdAn0bfBNqFQAAAAAAAAAAchZ8D6AAAAAAAAAAAAAAAAAAAAAAAAAAAAB8G6YBAACrAQAAAAAAAAAAAQBuFXwOoAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwbpgEAAKsBAAAAAAAAAAABAHwLoAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQSfBabAGQTnQOmAQAAqwEAAAAAAAAAAAEAdCAAAAAAAAAAAAAAfBNqBgAAAAAAAAAAZgF6BgAAfRl8E2oRAAAAAAAAAACBfXwLoAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQUAgB8DXwUfBZ8FaYDAACrAwAAAAAAAAAAegAAAKYBAACrAQAAAAAAAAAAAQB8C6AAAAAAAAAAAAAAAAAAAAAAAAAAAABkFaYBAACrAQAAAAAAAAAAAQB8C6AAAAAAAAAAAAAAAAAAAAAAAAAAAABkFAIAfA18FHwZZAx6AAAAfBh6AAAAZA16AAAAfBWmAwAAqwMAAAAAAAAAAHoAAACmAQAAqwEAAAAAAAAAAAEAfBNqEQAAAAAAAAAAfBF0JAAAAAAAAAAAAAB8E2oGAAAAAAAAAABmAXoGAAA8AAAAbmR8C6AAAAAAAAAAAAAAAAAAAAAAAAAAAABkFAIAfAx8FHwWfBWmAwAAqwMAAAAAAAAAAHoAAACmAQAAqwEAAAAAAAAAAAEAfAugAAAAAAAAAAAAAAAAAAAAAAAAAAAAZBWmAQAAqwEAAAAAAAAAAAEAfAugAAAAAAAAAAAAAAAAAAAAAAAAAAAAZBQCAHwMfBR8GWQMegAAAHwYegAAAGQNegAAAHwVpgMAAKsDAAAAAAAAAAB6AAAApgEAAKsBAAAAAAAAAAABAHwTagwAAAAAAAAAAGoTAAAAAAAAAAB8EXwZPAAAAG6SfBNqFQAAAAAAAAAAchZ8D6AAAAAAAAAAAAAAAAAAAAAAAAAAAAB8FqYBAACrAQAAAAAAAAAAAQBuFXwOoAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwWpgEAAKsBAAAAAAAAAAABAHwTahEAAAAAAAAAAIE5fAugAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgB8DXwUfBZ8FaYDAACrAwAAAAAAAAAApgEAAKsBAAAAAAAAAAABAHwTahEAAAAAAAAAAHwRdCQAAAAAAAAAAAAAfBNqBgAAAAAAAAAAZgF6BgAAPAAAAG4gfAugAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgB8DHwUfBZ8FaYDAACrAwAAAAAAAAAApgEAAKsBAAAAAAAAAAABAHwTag8AAAAAAAAAAGQDdQByTnwTahYAAAAAAAAAAIETfBNqEQAAAAAAAAAAgAx8E2oWAAAAAAAAAAB8EnwWPAAAAJAEjD98E2oRAAAAAAAAAACBLXQvAAAAAAAAAAAAAHwTahEAAAAAAAAAAKYBAACrAQAAAAAAAAAAoBgAAAAAAAAAAAAAAAAAAAAAAAAAAKYAAACrAAAAAAAAAAAAfRx8HHIFfBx8EnwWPAAAAJAEjHV8EHJrdDIAAAAAAAAAAAAAfBFkFjwAAAB8C6AAAAAAAAAAAAAAAAAAAAAAAAAAAABkF6YBAACrAQAAAAAAAAAAAQB8EEQAXUl9E2QYfBNqBgAAAAAAAAAAegAAAH0dZBl8E2oGAAAAAAAAAAB6AAAAfRR8C6AAAAAAAAAAAAAAAAAAAAAAAAAAAABkFHwdmwBkGnwUmwBkG3wTagYAAAAAAAAAAJsAZA2dB6YBAACrAQAAAAAAAAAAAQB8E2oFAAAAAAAAAAB8EXwdPAAAAHwTfBF8FDwAAACMSnwEchV8C6AAAAAAAAAAAAAAAAAAAAAAAAAAAABkHKYBAACrAQAAAAAAAAAAAQB8BXIrfAFyCHwCcgNkHX0ebgVkHn0ebgJkH30efAugAAAAAAAAAAAAAAAAAAAAAAAAAAAAfB50NAAAAAAAAAAAAABkIGYCegYAAKYBAACrAQAAAAAAAAAAAQB8B3I4ZCGgGwAAAAAAAAAAAAAAAAAAAAAAAAAAZCKEAHwARACmAAAAqwAAAAAAAAAAAKYBAACrAQAAAAAAAAAAfR98C6AAAAAAAAAAAAAAAAAAAAAAAAAAAABkI3wfmwBkDZ0DpgEAAKsBAAAAAAAAAAABAGQkoBsAAAAAAAAAAAAAAAAAAAAAAAAAAHwOpgEAAKsBAAAAAAAAAAB9DnwPciF8DnwOcgJkJG4BZAqbAWQlZCSgGwAAAAAAAAAAAAAAAAAAAAAAAAAAfA+mAQAAqwEAAAAAAAAAAJsBnQN6DQAAfQ5kJnwKcgJkJ24BZCibAWQafA6bAWQpfAtyFWQqoBsAAAAAAAAAAAAAAAAAAAAAAAAAAHwLpgEAAKsBAAAAAAAAAABuAWQrmwFkLJ0HfBF8EmYDUwApLXr0CiAgICBSZXR1cm4gYSBzY3JpcHQgb2YgYW4gaW5pdGlhbGl6ZXIgZm9yICphdHRycyogYW5kIGEgZGljdCBvZiBnbG9iYWxzLgoKICAgIFRoZSBnbG9iYWxzIGFyZSBleHBlY3RlZCBieSB0aGUgZ2VuZXJhdGVkIHNjcmlwdC4KCiAgICBJZiAqZnJvemVuKiBpcyBUcnVlLCB3ZSBjYW5ub3Qgc2V0IHRoZSBhdHRyaWJ1dGVzIGRpcmVjdGx5IHNvIHdlIHVzZQogICAgYSBjYWNoZWQgYGBvYmplY3QuX19zZXRhdHRyX19gYC4KICAgIHoZc2VsZi5fX2F0dHJzX3ByZV9pbml0X18oKXokX3NldGF0dHIgPSBfY2FjaGVkX3NldGF0dHJfZ2V0KHNlbGYpVHoaX2luc3RfZGljdCA9IHNlbGYuX19kaWN0X19jAwAAAAAAAAAAAAAABQAAABMAAADzVgAAAJUBlwB0AQAAAAAAAAAAAAB8AIkDpgIAAKsCAAAAAAAAAAByEXQDAAAAAAAAAAAAAHwAfAF8AqYDAACrAwAAAAAAAAAAUwBkAXwAmwBkAnwBmwCdBFMAKQNO+gxfaW5zdF9kaWN0Wyf6BSddID0gKQJyCQIAAHIcAgAAqQRydAAAAHIaAgAAchsCAABymwAAAHMEAAAAICAggHIZAAAA2gpmbXRfc2V0dGVyeilfYXR0cnNfdG9faW5pdF9zY3JpcHQuPGxvY2Fscz4uZm10X3NldHRlcnQIAABzPgAAAPiAAN0TIKAZqE3REzrUEzrwAAERSgHdGyOgSah5uC7RG0nUG0nQFEngF0GgadAXQdAXQbBp0BdB0BdB0BBBchsAAABjAwAAAAAAAAAAAAAABwAAABMAAADzdAAAAJUBlwB8AnMQdAEAAAAAAAAAAAAAfACJA6YCAACrAgAAAAAAAAAAchF0AwAAAAAAAAAAAAB8AHwBfAKmAwAAqwMAAAAAAAAAAFMAZAF8AJsBZAJ0BAAAAAAAAAAAAAB8AGYBegYAAJsBZAN8AZsBZASdB1MAKQVOciYCAAByJwIAAHLxAQAAcrUBAAApA3IJAgAAch8CAAByHgIAAHIoAgAAcwQAAAAgICCAchkAAADaGWZtdF9zZXR0ZXJfd2l0aF9jb252ZXJ0ZXJ6OF9hdHRyc190b19pbml0X3NjcmlwdC48bG9jYWxzPi5mbXRfc2V0dGVyX3dpdGhfY29udmVydGVyeggAAHNmAAAA+IAA8AYAFCLwAAMRFqVdsDm4bdElTNQlTPAAAxEW3Rsy2BghoDmobvEDAhwW9AACHBbwAAIVFvADAxEW8AwAFR6QSZBJ3RQnqDmoLNEUNtAUNtAUNtgUHZBJkEnwBwQYEvAABBESchsAAADaBnJldHVybk5yGAAAAHJKAAAARnLxAQAAcrUBAAB6C2F0dHJfZGljdFsnegonXS5kZWZhdWx0egw9YXR0cl9kaWN0Wyd6CD1OT1RISU5HegNpZiB6ECBpcyBub3QgTk9USElORzpyZgAAAHoFZWxzZTpyBgAAAHojaWYgX2NvbmZpZy5fcnVuX3ZhbGlkYXRvcnMgaXMgVHJ1ZTraEV9fYXR0cl92YWxpZGF0b3Jf2gdfX2F0dHJfegcoc2VsZiwgegcsIHNlbGYuehpzZWxmLl9fYXR0cnNfcG9zdF9pbml0X18oKXoSX3NldGF0dHIoJyVzJywgJXMpehVfaW5zdF9kaWN0WyclcyddID0gJXN6DHNlbGYuJXMgPSAlc9oETm9uZXK3AQAAYwEAAAAAAAAAAAAAAAMAAAAzAAAA8zgAAABLAAEAlwB8AF0VfQF8AWoAAAAAAAAAAACvCWQAfAFqAQAAAAAAAAAAmwCdAlYAlwEBAIwWZAFTACkCcsgBAABOKQJyMwAAAHJeAAAAcr8AAABzAgAAACAgchkAAABytQAAAHooX2F0dHJzX3RvX2luaXRfc2NyaXB0Ljxsb2NhbHM+LjxnZW5leHByPkoJAABzNAAAAOgA6ACAANAXQtAXQqhRuDG8NtAXQtAYKKABpAbQGCjQGCjQF0LQF0LQF0LQF0LQF0LQF0JyGwAAAHodQmFzZUV4Y2VwdGlvbi5fX2luaXRfXyhzZWxmLCByqwAAAHoDKiwgegRkZWYgcm8BAAByEAEAAHoHKToKICAgIHoFCiAgICDaBHBhc3NyagAAACkccmwAAAByHAIAAHIfAgAAciECAAByIwIAAHIvAAAAcl4AAAByOwAAAHIHAAAAcogBAAByPAAAAHJCAAAAci4AAAByQQAAANoKdGFrZXNfc2VsZnIzAAAA2hFfaW5pdF9mYWN0b3J5X3BhdHI0AAAAch4CAABySAAAAHIVAAAAcjYAAAByKwAAAHIJAAAA2hRnZXRfZmlyc3RfcGFyYW1fdHlwZXIGAAAAcjQBAABybgAAACkgcncAAAByBwEAAHIGAQAAchACAAByEQIAAHIKAQAAcpsAAAByCwEAAHIUAgAAchMCAAByZQEAAHLXAQAAcikCAAByKwIAANoEYXJnc9oMa3dfb25seV9hcmdz2hFhdHRyc190b192YWxpZGF0ZdoRbmFtZXNfZm9yX2dsb2JhbHNyFgIAAHKLAAAAcnQAAAByGwIAANoIYXJnX25hbWXaC2hhc19mYWN0b3J52gptYXliZV9zZWxm2hFpbml0X2ZhY3RvcnlfbmFtZdoJY29udl9uYW1l2gNhcmfaAXTaCHZhbF9uYW1l2g9pbml0X2hhc2hfY2FjaGXaBHZhbHNzIAAAACAgICAgIGAgICAgICAgICAgICAgICAgICAgICAgICAgchkAAAByDQIAAHINAgAASAgAAHOWCAAA+IAA8CoADQ+ARdgHD/AAAQUy2AgNjwyKDNAVMNEIMdQIMdAIMeAHG/AABgUK2AgNjwyKDPAIAA0z8QkFCQr0AAUJCvAABQkK8A4ACA6QFIB+gH7YCxCQRIg9iD3dGSGISt0oP9AMJdAMJfAMAA0Sj0yKTNAZNdEMNtQMNtAMNvAEBA1CAfAABA1CAfAABA1CAfAABA1CAfAABA1CAfAMDA0S8AAMDRLwAAwNEvAADA0S8AAMDRLwAAwNEvUgABYdiArdJDrQCCHgCw2ARNgTFYBM2Bga0AQV8AgAGRvQBBXYExuYVNASIoBL4A0S8ABRAgUu8QBRAgUuiAHYCwyMO/AAAQko2Awd1wwk0gwkoFHRDCfUDCfQDCfgFBWURogJ2BkanByoVNAZMfAAAhoK2AwNjEylB6QN0Awt0AxE0DJE8AMACRfwCgAUFZQ3iAjlFiCgEaQZrUfRFjTUFjSIC9gLFvAAAwkcmDGcOdQbL/AAAwkc2BkfiEqISuAZG4hK4AsMjDaQVYg/iT/YDxrwACcNFt0kNbgRvBa4CdEkQdAQIdgTFJQ70BMq2BQZl0ySTNgYMdAYMdgcJdgcLdAwQbBK0DBB0DBB0DBB0RxB2Bwq8QcEGRr0AAQZGvEDBhUW9AAGFRbwAAYVFvUOACE0sHG0drBp0SA/kEnYMzS0O9AUJaBp0RQw0BQw4BQZl0ySTNgYIpgK2Bwl2Bwt0DBBsErQMEHQMEHQMEHRHEHYHCrxBwQZGvQABBka8QMGFRb0AAYVFvAABhUW8A4AODm0edQ3SNAQIdAiM9EQNNEQNOATFJQ70BMq2BQZl0ySTNgYMdAYMdgcJdgcP6gp0Bw/0Bw/0Bw/2Bwq8QcEGRr0AAQZGvEDBhUW9AAGFRbwAAYVFvUOACE0sHG0drBp0SA/kEnYMzS0O9AUJaBp0RQw0RQw4BQZl0ySTNgYIpgK2Bwl2Bw/qCnQHD/QHD/QHD/YHCrxBwQZGvQABBka8QMGFRb0AAYVFvAABhUW8QAGFRbwDgAOD4xZnWfQDSXQDSWoa9ANJdgVHdASQNASQKg50BJA0BJA0BJAiEPYDxCMefAAAw0h2BAc1xAj0hAjoEPRECjUECjQECjQECjgEBSXC5ILmEPRECDUECDQECDgDxCMe9APJtgQFZcMkgzYFC3QFC3YGCGgOKhe8QMCFRb0AAIVFvEDBBES9AAEERLwAAQREvAOABUWlEvwBQARIt0UJ6gxrDaoKdEUM/EDAhES8QACERLwCAARFpcMkgyYWphaqAmwOLhe0R1M1B1M0RBN1BBN0BBN0RBN4A0Y8QA6CU4B2BUd0BIn0BIn0BIniEPYDxCMefAAAw0h2BAc1xAj0hAjoEPRECjUECjQECjQECjgEBSXC5ILmEPRECDUECDQECDYDBGPTIpM0Bk5mHjQGTnQGTnQGTnRDDrUDDrQDDrlIDGwUbRWsEnRID3QDB3YDxCMe9APJtgQFZcMkgzYFBrYFi/QFi/YGCGgOKhe8QMCFxb0AAIXFvEDAxUW8QMFERL0AAUREvAABRES8AwAERaXDJIMmFfRECXUECXQECXYEBWXDJIM2BQa2BYv0BYv2Bgh2BgpqEPRGC+wKtEYPLhz0RhC2Bgm8QcEFxb0AAQXFvEDBRUW8QMHERL0AAcREvAABxES8BQAFRaUS/AFABEi3RQnqDGsNqgp0RQz8QMCERLwAAIREvAIABEWlwySDNgUGphamFqoCbA4uF7RHUzUHUzRFEzxAwIREvQAAhES8AACERLwBgARFpcMkgyYV9EQJdQQJdAQJdgQFZcMkgzYFBrYFiCQatgYIdgYKahD0RgvsCrRGDy4c9EYQtgYJvEHBBcW9AAEFxbxAwUVFvEDBxES9AAHERLwAAcREvAQADQ1tDnUM0TQDB3QHi/RDDDQDDDgDxCMefAAAw0m2BAc1xAj0hAjoEjREC3UEC3QEC3QEC3gEBSXC5ILmEjRECXUECXQECXgDxCMe9APJtgQFZcMkgzYFC3QFC3YGCGgOKhe8QMCFRb0AAIVFvEDBBES9AAEERLwAAQREvAOABUWlEvwBQARIt0UJ6gxrDaoKdEUM/EDAhES8AACERLwCAARFpcMkgyYWphaqAmwOLhe0R1M1B1M0RBN1BBN0BBN4AsMjDaQVIg+iD7YDxCMdtAPIaBhpGvQJjnYKCmsBpALmEjRECXRECXYERKUG9ARKOUUKKgRrBvRFDXUFDXXFErSFErRFEzUFEyQAdgTFPAAAREu2CwtkEugCNEUKfngBxjwAAgFLd0nLtAIGZgp0Qgk2AgNjwyKDNAVOtEIO9QIO9AIO9gRIvAABQkt8AAFCS2IQdgXKqhRrFbRFzOISNgYIaBBpEbRGCqISdgMEY9MikzQGUygCNAZTNAZTLAZ0BlM0BlMwDHENtAZTNAZTNAZTNEMTdQMTdAMTdgqK6wr0AwdmGjRDCfYKyzQDB2YadEMKNAMKOAHEPAAAQUz2AgNjwyKDNAVMdEIMtQIMtAIMvAOAAgS8AAKBUQB2AsR8AAICS3YDxTwAAUNOuAiNpAPkA/wBgAjOpAPkA/gHiyIT9gIDY8MigyQX9UoObg20CdC0RVC0QhD1AhD0AhD8AgACA7wAAMFPtgPEo94injQF0LQF0KwJdAXQtEXQtQXQtEPQtQPQogE4AgNjwyKDNAVPLBU0BU80BU80BU80Qg91Ag90Ag94AsPjzmKOZBUiT+MP4BE2AcT8AAEBQrYCAzYFBjQDCCIRIhEmGLQDCDQDCDYDBCPSYpJkGzRDCPUDCPQDCPwBQMRCvEAAwkKiAT48BAAIizQDTvQDR3QDR2wGtANO9ANO9gMEIhEiETYJCnQDDWISI9Nik2YJdEMINQMINAMIKh20Aw10Aw18AkFCQrwDAAJGtgIE/ARCQwG8AAJBQZyGwAAAHJeAAAAciwCAABjAQAAAAAAAAAAAAAAAwAAAAMAAADzLAAAAJcAfACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAZAGmAQAAqwEAAAAAAAAAAFMAKQJ6xQogICAgVGhlIGRlZmF1bHQgX19pbml0X18gcGFyYW1ldGVyIG5hbWUgZm9yIGEgZmllbGQuCgogICAgVGhpcyBwZXJmb3JtcyBwcml2YXRlLW5hbWUgYWRqdXN0bWVudCB2aWEgbGVhZGluZy11bnNjb3JlIHN0cmlwcGluZywKICAgIGFuZCBpcyB0aGUgZGVmYXVsdCB2YWx1ZSBvZiBBdHRyaWJ1dGUuYWxpYXMgaWYgbm90IHByb3ZpZGVkLgogICAgcrgBAAApAdoGbHN0cmlwcr4AAABzAQAAACByGQAAAHLIAAAAcsgAAABhCQAAcxYAAACAAPAQAAwQjzuKO5Bz0Qsb1Asb0AQbchsAAABjAAAAAAAAAAAAAAAAAwAAAAAAAADzaAAAAJcAZQBaAWQAWgJkAVoDZAJaBAkACQAJAAkACQAJAAkACQAJAAkAZAxkBYQBWgVkBoQAWgZlB2QNZAeEAaYAAACrAAAAAAAAAAAAWghkCIQAWglkCYQAWgpkCoQAWgtkC4QAWgxkA1MAKQ5yugAAAGG2BgAACiAgICAqUmVhZC1vbmx5KiByZXByZXNlbnRhdGlvbiBvZiBhbiBhdHRyaWJ1dGUuCgogICAgLi4gd2FybmluZzo6CgogICAgICAgWW91IHNob3VsZCBuZXZlciBpbnN0YW50aWF0ZSB0aGlzIGNsYXNzIHlvdXJzZWxmLgoKICAgIFRoZSBjbGFzcyBoYXMgKmFsbCogYXJndW1lbnRzIG9mIGBhdHRyLmliYCAoZXhjZXB0IGZvciBgYGZhY3RvcnlgYAogICAgd2hpY2ggaXMgb25seSBzeW50YWN0aWMgc3VnYXIgZm9yIGBgZGVmYXVsdD1GYWN0b3J5KC4uLilgYCBwbHVzIHRoZQogICAgZm9sbG93aW5nOgoKICAgIC0gYGBuYW1lYGAgKGBzdHJgKTogVGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZS4KICAgIC0gYGBhbGlhc2BgIChgc3RyYCk6IFRoZSBfX2luaXRfXyBwYXJhbWV0ZXIgbmFtZSBvZiB0aGUgYXR0cmlidXRlLCBhZnRlcgogICAgICBhbnkgZXhwbGljaXQgb3ZlcnJpZGVzIGFuZCBkZWZhdWx0IHByaXZhdGUtYXR0cmlidXRlLW5hbWUgaGFuZGxpbmcuCiAgICAtIGBgaW5oZXJpdGVkYGAgKGBib29sYCk6IFdoZXRoZXIgb3Igbm90IHRoYXQgYXR0cmlidXRlIGhhcyBiZWVuIGluaGVyaXRlZAogICAgICBmcm9tIGEgYmFzZSBjbGFzcy4KICAgIC0gYGBlcV9rZXlgYCBhbmQgYGBvcmRlcl9rZXlgYCAoYHR5cGluZy5DYWxsYWJsZWAgb3IgYE5vbmVgKTogVGhlIGNhbGxhYmxlcwogICAgICB0aGF0IGFyZSB1c2VkIGZvciBjb21wYXJpbmcgYW5kIG9yZGVyaW5nIG9iamVjdHMgYnkgdGhpcyBhdHRyaWJ1dGUsCiAgICAgIHJlc3BlY3RpdmVseS4gVGhlc2UgYXJlIHNldCBieSBwYXNzaW5nIGEgY2FsbGFibGUgdG8gYGF0dHIuaWJgJ3MgYGBlcWBgLAogICAgICBgYG9yZGVyYGAsIG9yIGBgY21wYGAgYXJndW1lbnRzLiBTZWUgYWxzbyA6cmVmOmBjb21wYXJpc29uIGN1c3RvbWl6YXRpb24KICAgICAgPGN1c3RvbS1jb21wYXJpc29uPmAuCgogICAgSW5zdGFuY2Vz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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 13
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
converters.cpython-311.pyc
4.53 KB
lrw-r--r--
2026-02-06 08:05:33
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
exceptions.cpython-311.pyc
3.86 KB
lrw-r--r--
2026-02-06 08:05:33
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
filters.cpython-311.pyc
2.78 KB
lrw-r--r--
2026-02-06 08:05:33
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
setters.cpython-311.pyc
1.87 KB
lrw-r--r--
2026-02-06 08:05:33
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
validators.cpython-311.pyc
27.94 KB
lrw-r--r--
2026-02-06 08:05:33
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_cmp.cpython-311.pyc
4.93 KB
lrw-r--r--
2026-02-06 08:05:33
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_compat.cpython-311.pyc
6.28 KB
lrw-r--r--
2026-02-06 08:05:33
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_config.cpython-311.pyc
1.13 KB
lrw-r--r--
2026-02-06 08:05:33
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_funcs.cpython-311.pyc
16.15 KB
lrw-r--r--
2026-02-06 08:05:33
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_make.cpython-311.pyc
103.38 KB
lrw-r--r--
2026-02-06 08:05:33
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_next_gen.cpython-311.pyc
6.56 KB
lrw-r--r--
2026-02-06 08:05:33
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_version_info.cpython-311.pyc
3.52 KB
lrw-r--r--
2026-02-06 08:05:33
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-311.pyc
4.22 KB
lrw-r--r--
2026-02-06 08:05:33
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).