A/MNCmP5IVRjAAAAAAAAAAAXAAAAQAAAAHMnAgAAZAAAWgAAZAEAZAIAbAEAWgEAZAEAZAIAbAIAWgIAZAEAZAIAbAMAWgMAZAMAZAQAZAUAZAYAZAcAZAgAZAkAZAoAZAsAZAwAZA0AZA4AZA8AZBAAZBEAZBIAZBMAZBQAZBUAZBYAZBcAZBgAZBkAZxcAWgQAZBoAWgUAZQIAagYABFoHAFoIAGUCAGoJAARaCgBaCwBlAgBqDAAEWg0AWg4AZQIAag8ABFoQAFoRAGUCAGoSAARaEwBaFABlAgBqFQAEWhYAWhcAZQIAahgABFoZAFoaAGUCAGobAFocAGUCAGodAFodAGQbAGQcAIQBAFoeAGQbAGQdAIQBAFofAGQbAGQbAGQeAIQCAFogAGQbAGQbAGQfAIQCAFohAGQbAGQbAGQgAIQCAFoiAGQbAGQhAIQBAFojAGUBAGokAGQiAGsFAHJkAWUEAGolAGQjAIMBAAFkGwBkJACEAQBaJgBuAABkGwBkJQCEAQBaJwBkJgCEAABaKABkGwBkJwCEAQBaKQBlKgBkKACDAQBaKwBkKQCEAABaLABpAABaLQBpAABaLgBlLwBlAgBqJwBkKgBkGwCDAgCDAQBaMABkKwBaMQBkLACEAABaMgBkLQCEAABaMwBkLgCEAABaNABkLwCEAABaNQBkAQBkAgBsNgBaNgBkMACEAABaNwBlNgBqOABlMABlNwBlMgCDAwABZDEAZDMAZDIAhAAAgwAAWVo5AGQCAFMoNAAAAHPiEgAAU3VwcG9ydCBmb3IgcmVndWxhciBleHByZXNzaW9ucyAoUkUpLgoKVGhpcyBtb2R1bGUgcHJvdmlkZXMgcmVndWxhciBleHByZXNzaW9uIG1hdGNoaW5nIG9wZXJhdGlvbnMgc2ltaWxhciB0bwp0aG9zZSBmb3VuZCBpbiBQZXJsLiAgSXQgc3VwcG9ydHMgYm90aCA4LWJpdCBhbmQgVW5pY29kZSBzdHJpbmdzOyBib3RoCnRoZSBwYXR0ZXJuIGFuZCB0aGUgc3RyaW5ncyBiZWluZyBwcm9jZXNzZWQgY2FuIGNvbnRhaW4gbnVsbCBieXRlcyBhbmQKY2hhcmFjdGVycyBvdXRzaWRlIHRoZSBVUyBBU0NJSSByYW5nZS4KClJlZ3VsYXIgZXhwcmVzc2lvbnMgY2FuIGNvbnRhaW4gYm90aCBzcGVjaWFsIGFuZCBvcmRpbmFyeSBjaGFyYWN0ZXJzLgpNb3N0IG9yZGluYXJ5IGNoYXJhY3RlcnMsIGxpa2UgIkEiLCAiYSIsIG9yICIwIiwgYXJlIHRoZSBzaW1wbGVzdApyZWd1bGFyIGV4cHJlc3Npb25zOyB0aGV5IHNpbXBseSBtYXRjaCB0aGVtc2VsdmVzLiAgWW91IGNhbgpjb25jYXRlbmF0ZSBvcmRpbmFyeSBjaGFyYWN0ZXJzLCBzbyBsYXN0IG1hdGNoZXMgdGhlIHN0cmluZyAnbGFzdCcuCgpUaGUgc3BlY2lhbCBjaGFyYWN0ZXJzIGFyZToKICAgICIuIiAgICAgIE1hdGNoZXMgYW55IGNoYXJhY3RlciBleGNlcHQgYSBuZXdsaW5lLgogICAgIl4iICAgICAgTWF0Y2hlcyB0aGUgc3RhcnQgb2YgdGhlIHN0cmluZy4KICAgICIkIiAgICAgIE1hdGNoZXMgdGhlIGVuZCBvZiB0aGUgc3RyaW5nIG9yIGp1c3QgYmVmb3JlIHRoZSBuZXdsaW5lIGF0CiAgICAgICAgICAgICB0aGUgZW5kIG9mIHRoZSBzdHJpbmcuCiAgICAiKiIgICAgICBNYXRjaGVzIDAgb3IgbW9yZSAoZ3JlZWR5KSByZXBldGl0aW9ucyBvZiB0aGUgcHJlY2VkaW5nIFJFLgogICAgICAgICAgICAgR3JlZWR5IG1lYW5zIHRoYXQgaXQgd2lsbCBtYXRjaCBhcyBtYW55IHJlcGV0aXRpb25zIGFzIHBvc3NpYmxlLgogICAgIisiICAgICAgTWF0Y2hlcyAxIG9yIG1vcmUgKGdyZWVkeSkgcmVwZXRpdGlvbnMgb2YgdGhlIHByZWNlZGluZyBSRS4KICAgICI/IiAgICAgIE1hdGNoZXMgMCBvciAxIChncmVlZHkpIG9mIHRoZSBwcmVjZWRpbmcgUkUuCiAgICAqPywrPyw/PyBOb24tZ3JlZWR5IHZlcnNpb25zIG9mIHRoZSBwcmV2aW91cyB0aHJlZSBzcGVjaWFsIGNoYXJhY3RlcnMuCiAgICB7bSxufSAgICBNYXRjaGVzIGZyb20gbSB0byBuIHJlcGV0aXRpb25zIG9mIHRoZSBwcmVjZWRpbmcgUkUuCiAgICB7bSxufT8gICBOb24tZ3JlZWR5IHZlcnNpb24gb2YgdGhlIGFib3ZlLgogICAgIlxcIiAgICAgRWl0aGVyIGVzY2FwZXMgc3BlY2lhbCBjaGFyYWN0ZXJzIG9yIHNpZ25hbHMgYSBzcGVjaWFsIHNlcXVlbmNlLgogICAgW10gICAgICAgSW5kaWNhdGVzIGEgc2V0IG9mIGNoYXJhY3RlcnMuCiAgICAgICAgICAgICBBICJeIiBhcyB0aGUgZmlyc3QgY2hhcmFjdGVyIGluZGljYXRlcyBhIGNvbXBsZW1lbnRpbmcgc2V0LgogICAgInwiICAgICAgQXxCLCBjcmVhdGVzIGFuIFJFIHRoYXQgd2lsbCBtYXRjaCBlaXRoZXIgQSBvciBCLgogICAgKC4uLikgICAgTWF0Y2hlcyB0aGUgUkUgaW5zaWRlIHRoZSBwYXJlbnRoZXNlcy4KICAgICAgICAgICAgIFRoZSBjb250ZW50cyBjYW4gYmUgcmV0cmlldmVkIG9yIG1hdGNoZWQgbGF0ZXIgaW4gdGhlIHN0cmluZy4KICAgICg/aUxtc3V4KSBTZXQgdGhlIEksIEwsIE0sIFMsIFUsIG9yIFggZmxhZyBmb3IgdGhlIFJFIChzZWUgYmVsb3cpLgogICAgKD86Li4uKSAgTm9uLWdyb3VwaW5nIHZlcnNpb24gb2YgcmVndWxhciBwYXJlbnRoZXNlcy4KICAgICg/UDxuYW1lPi4uLikgVGhlIHN1YnN0cmluZyBtYXRjaGVkIGJ5IHRoZSBncm91cCBpcyBhY2Nlc3NpYmxlIGJ5IG5hbWUuCiAgICAoP1A9bmFtZSkgICAgIE1hdGNoZXMgdGhlIHRleHQgbWF0Y2hlZCBlYXJsaWVyIGJ5IHRoZSBncm91cCBuYW1lZCBuYW1lLgogICAgKD8jLi4uKSAgQSBjb21tZW50OyBpZ25vcmVkLgogICAgKD89Li4uKSAgTWF0Y2hlcyBpZiAuLi4gbWF0Y2hlcyBuZXh0LCBidXQgZG9lc24ndCBjb25zdW1lIHRoZSBzdHJpbmcuCiAgICAoPyEuLi4pICBNYXRjaGVzIGlmIC4uLiBkb2Vzbid0IG1hdGNoIG5leHQuCiAgICAoPzw9Li4uKSBNYXRjaGVzIGlmIHByZWNlZGVkIGJ5IC4uLiAobXVzdCBiZSBmaXhlZCBsZW5ndGgpLgogICAgKD88IS4uLikgTWF0Y2hlcyBpZiBub3QgcHJlY2VkZWQgYnkgLi4uIChtdXN0IGJlIGZpeGVkIGxlbmd0aCkuCiAgICAoPyhpZC9uYW1lKXllc3xubykgTWF0Y2hlcyB5ZXMgcGF0dGVybiBpZiB0aGUgZ3JvdXAgd2l0aCBpZC9uYW1lIG1hdGNoZWQsCiAgICAgICAgICAgICAgICAgICAgICAgdGhlIChvcHRpb25hbCkgbm8gcGF0dGVybiBvdGhlcndpc2UuCgpUaGUgc3BlY2lhbCBzZXF1ZW5jZXMgY29uc2lzdCBvZiAiXFwiIGFuZCBhIGNoYXJhY3RlciBmcm9tIHRoZSBsaXN0CmJlbG93LiAgSWYgdGhlIG9yZGluYXJ5IGNoYXJhY3RlciBpcyBub3Qgb24gdGhlIGxpc3QsIHRoZW4gdGhlCnJlc3VsdGluZyBSRSB3aWxsIG1hdGNoIHRoZSBzZWNvbmQgY2hhcmFjdGVyLgogICAgXG51bWJlciAgTWF0Y2hlcyB0aGUgY29udGVudHMgb2YgdGhlIGdyb3VwIG9mIHRoZSBzYW1lIG51bWJlci4KICAgIFxBICAgICAgIE1hdGNoZXMgb25seSBhdCB0aGUgc3RhcnQgb2YgdGhlIHN0cmluZy4KICAgIFxaICAgICAgIE1hdGNoZXMgb25seSBhdCB0aGUgZW5kIG9mIHRoZSBzdHJpbmcuCiAgICBcYiAgICAgICBNYXRjaGVzIHRoZSBlbXB0eSBzdHJpbmcsIGJ1dCBvbmx5IGF0IHRoZSBzdGFydCBvciBlbmQgb2YgYSB3b3JkLgogICAgXEIgICAgICAgTWF0Y2hlcyB0aGUgZW1wdHkgc3RyaW5nLCBidXQgbm90IGF0IHRoZSBzdGFydCBvciBlbmQgb2YgYSB3b3JkLgogICAgXGQgICAgICAgTWF0Y2hlcyBhbnkgZGVjaW1hbCBkaWdpdDsgZXF1aXZhbGVudCB0byB0aGUgc2V0IFswLTldLgogICAgXEQgICAgICAgTWF0Y2hlcyBhbnkgbm9uLWRpZ2l0IGNoYXJhY3RlcjsgZXF1aXZhbGVudCB0byB0aGUgc2V0IFteMC05XS4KICAgIFxzICAgICAgIE1hdGNoZXMgYW55IHdoaXRlc3BhY2UgY2hhcmFjdGVyOyBlcXVpdmFsZW50IHRvIFsgXHRcblxyXGZcdl0uCiAgICBcUyAgICAgICBNYXRjaGVzIGFueSBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXI7IGVxdWl2LiB0byBbXiBcdFxuXHJcZlx2XS4KICAgIFx3ICAgICAgIE1hdGNoZXMgYW55IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXI7IGVxdWl2YWxlbnQgdG8gW2EtekEtWjAtOV9dLgogICAgICAgICAgICAgV2l0aCBMT0NBTEUsIGl0IHdpbGwgbWF0Y2ggdGhlIHNldCBbMC05X10gcGx1cyBjaGFyYWN0ZXJzIGRlZmluZWQKICAgICAgICAgICAgIGFzIGxldHRlcnMgZm9yIHRoZSBjdXJyZW50IGxvY2FsZS4KICAgIFxXICAgICAgIE1hdGNoZXMgdGhlIGNvbXBsZW1lbnQgb2YgXHcuCiAgICBcXCAgICAgICBNYXRjaGVzIGEgbGl0ZXJhbCBiYWNrc2xhc2guCgpUaGlzIG1vZHVsZSBleHBvcnRzIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zOgogICAgbWF0Y2ggICAgTWF0Y2ggYSByZWd1bGFyIGV4cHJlc3Npb24gcGF0dGVybiB0byB0aGUgYmVnaW5uaW5nIG9mIGEgc3RyaW5nLgogICAgc2VhcmNoICAgU2VhcmNoIGEgc3RyaW5nIGZvciB0aGUgcHJlc2VuY2Ugb2YgYSBwYXR0ZXJuLgogICAgc3ViICAgICAgU3Vic3RpdHV0ZSBvY2N1cnJlbmNlcyBvZiBhIHBhdHRlcm4gZm91bmQgaW4gYSBzdHJpbmcuCiAgICBzdWJuICAgICBTYW1lIGFzIHN1YiwgYnV0IGFsc28gcmV0dXJuIHRoZSBudW1iZXIgb2Ygc3Vic3RpdHV0aW9ucyBtYWRlLgogICAgc3BsaXQgICAgU3BsaXQgYSBzdHJpbmcgYnkgdGhlIG9jY3VycmVuY2VzIG9mIGEgcGF0dGVybi4KICAgIGZpbmRhbGwgIEZpbmQgYWxsIG9jY3VycmVuY2VzIG9mIGEgcGF0dGVybiBpbiBhIHN0cmluZy4KICAgIGZpbmRpdGVyIFJldHVybiBhbiBpdGVyYXRvciB5aWVsZGluZyBhIG1hdGNoIG9iamVjdCBmb3IgZWFjaCBtYXRjaC4KICAgIGNvbXBpbGUgIENvbXBpbGUgYSBwYXR0ZXJuIGludG8gYSBSZWdleE9iamVjdC4KICAgIHB1cmdlICAgIENsZWFyIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gY2FjaGUuCiAgICBlc2NhcGUgICBCYWNrc2xhc2ggYWxsIG5vbi1hbHBoYW51bWVyaWNzIGluIGEgc3RyaW5nLgoKU29tZSBvZiB0aGUgZnVuY3Rpb25zIGluIHRoaXMgbW9kdWxlIHRha2VzIGZsYWdzIGFzIG9wdGlvbmFsIHBhcmFtZXRlcnM6CiAgICBJICBJR05PUkVDQVNFICBQZXJmb3JtIGNhc2UtaW5zZW5zaXRpdmUgbWF0Y2hpbmcuCiAgICBMICBMT0NBTEUgICAgICBNYWtlIFx3LCBcVywgXGIsIFxCLCBkZXBlbmRlbnQgb24gdGhlIGN1cnJlbnQgbG9jYWxlLgogICAgTSAgTVVMVElMSU5FICAgIl4iIG1hdGNoZXMgdGhlIGJlZ2lubmluZyBvZiBsaW5lcyAoYWZ0ZXIgYSBuZXdsaW5lKQogICAgICAgICAgICAgICAgICAgYXMgd2VsbCBhcyB0aGUgc3RyaW5nLgogICAgICAgICAgICAgICAgICAgIiQiIG1hdGNoZXMgdGhlIGVuZCBvZiBsaW5lcyAoYmVmb3JlIGEgbmV3bGluZSkgYXMgd2VsbAogICAgICAgICAgICAgICAgICAgYXMgdGhlIGVuZCBvZiB0aGUgc3RyaW5nLgogICAgUyAgRE9UQUxMICAgICAgIi4iIG1hdGNoZXMgYW55IGNoYXJhY3RlciBhdCBhbGwsIGluY2x1ZGluZyB0aGUgbmV3bGluZS4KICAgIFggIFZFUkJPU0UgICAgIElnbm9yZSB3aGl0ZXNwYWNlIGFuZCBjb21tZW50cyBmb3IgbmljZXIgbG9va2luZyBSRSdzLgogICAgVSAgVU5JQ09ERSAgICAgTWFrZSBcdywgXFcsIFxiLCBcQiwgZGVwZW5kZW50IG9uIHRoZSBVbmljb2RlIGxvY2FsZS4KClRoaXMgbW9kdWxlIGFsc28gZGVmaW5lcyBhbiBleGNlcHRpb24gJ2Vycm9yJy4KCmn/////TnQFAAAAbWF0Y2h0BgAAAHNlYXJjaHQDAAAAc3VidAQAAABzdWJudAUAAABzcGxpdHQHAAAAZmluZGFsbHQHAAAAY29tcGlsZXQFAAAAcHVyZ2V0CAAAAHRlbXBsYXRldAYAAABlc2NhcGV0AQAAAEl0AQAAAEx0AQAAAE10AQAAAFN0AQAAAFh0AQAAAFV0CgAAAElHTk9SRUNBU0V0BgAAAExPQ0FMRXQJAAAATVVMVElMSU5FdAYAAABET1RBTEx0BwAAAFZFUkJPU0V0BwAAAFVOSUNPREV0BQAAAGVycm9ycwUAAAAyLjIuMWkAAAAAYwMAAAADAAAAAwAAAEMAAABzFgAAAHQAAHwAAHwCAIMCAGoBAHwBAIMBAFMoAQAAAHNxAAAAVHJ5IHRvIGFwcGx5IHRoZSBwYXR0ZXJuIGF0IHRoZSBzdGFydCBvZiB0aGUgc3RyaW5nLCByZXR1cm5pbmcKICAgIGEgbWF0Y2ggb2JqZWN0LCBvciBOb25lIGlmIG5vIG1hdGNoIHdhcyBmb3VuZC4oAgAAAHQIAAAAX2NvbXBpbGVSAAAAACgDAAAAdAcAAABwYXR0ZXJudAYAAABzdHJpbmd0BQAAAGZsYWdzKAAAAAAoAAAAAHNtAAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9yZS5weVIAAAAAhgAAAHMCAAAAAANjAwAAAAMAAAADAAAAQwAAAHMWAAAAdAAAfAAAfAIAgwIAagEAfAEAgwEAUygBAAAAc3QAAABTY2FuIHRocm91Z2ggc3RyaW5nIGxvb2tpbmcgZm9yIGEgbWF0Y2ggdG8gdGhlIHBhdHRlcm4sIHJldHVybmluZwogICAgYSBtYXRjaCBvYmplY3QsIG9yIE5vbmUgaWYgbm8gbWF0Y2ggd2FzIGZvdW5kLigCAAAAUhcAAABSAQAAACgDAAAAUhgAAABSGQAAAFIaAAAAKAAAAAAoAAAAAHNtAAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9yZS5weVIBAAAAiwAAAHMCAAAAAANjBQAAAAUAAAAEAAAAQwAAAHMcAAAAdAAAfAAAfAQAgwIAagEAfAEAfAIAfAMAgwMAUygBAAAAc1oBAABSZXR1cm4gdGhlIHN0cmluZyBvYnRhaW5lZCBieSByZXBsYWNpbmcgdGhlIGxlZnRtb3N0CiAgICBub24tb3ZlcmxhcHBpbmcgb2NjdXJyZW5jZXMgb2YgdGhlIHBhdHRlcm4gaW4gc3RyaW5nIGJ5IHRoZQogICAgcmVwbGFjZW1lbnQgcmVwbC4gIHJlcGwgY2FuIGJlIGVpdGhlciBhIHN0cmluZyBvciBhIGNhbGxhYmxlOwogICAgaWYgYSBzdHJpbmcsIGJhY2tzbGFzaCBlc2NhcGVzIGluIGl0IGFyZSBwcm9jZXNzZWQuICBJZiBpdCBpcwogICAgYSBjYWxsYWJsZSwgaXQncyBwYXNzZWQgdGhlIG1hdGNoIG9iamVjdCBhbmQgbXVzdCByZXR1cm4KICAgIGEgcmVwbGFjZW1lbnQgc3RyaW5nIHRvIGJlIHVzZWQuKAIAAABSFwAAAFICAAAAKAUAAABSGAAAAHQEAAAAcmVwbFIZAAAAdAUAAABjb3VudFIaAAAAKAAAAAAoAAAAAHNtAAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9yZS5weVICAAAAkAAAAHMCAAAAAAdjBQAAAAUAAAAEAAAAQwAAAHMcAAAAdAAAfAAAfAQAgwIAagEAfAEAfAIAfAMAgwMAUygBAAAAc9sBAABSZXR1cm4gYSAyLXR1cGxlIGNvbnRhaW5pbmcgKG5ld19zdHJpbmcsIG51bWJlcikuCiAgICBuZXdfc3RyaW5nIGlzIHRoZSBzdHJpbmcgb2J0YWluZWQgYnkgcmVwbGFjaW5nIHRoZSBsZWZ0bW9zdAogICAgbm9uLW92ZXJsYXBwaW5nIG9jY3VycmVuY2VzIG9mIHRoZSBwYXR0ZXJuIGluIHRoZSBzb3VyY2UKICAgIHN0cmluZyBieSB0aGUgcmVwbGFjZW1lbnQgcmVwbC4gIG51bWJlciBpcyB0aGUgbnVtYmVyIG9mCiAgICBzdWJzdGl0dXRpb25zIHRoYXQgd2VyZSBtYWRlLiByZXBsIGNhbiBiZSBlaXRoZXIgYSBzdHJpbmcgb3IgYQogICAgY2FsbGFibGU7IGlmIGEgc3RyaW5nLCBiYWNrc2xhc2ggZXNjYXBlcyBpbiBpdCBhcmUgcHJvY2Vzc2VkLgogICAgSWYgaXQgaXMgYSBjYWxsYWJsZSwgaXQncyBwYXNzZWQgdGhlIG1hdGNoIG9iamVjdCBhbmQgbXVzdAogICAgcmV0dXJuIGEgcmVwbGFjZW1lbnQgc3RyaW5nIHRvIGJlIHVzZWQuKAIAAABSFwAAAFIDAAAAKAUAAABSGAAAAFIbAAAAUhkAAABSHAAAAFIaAAAAKAAAAAAoAAAAAHNtAAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9yZS5weVIDAAAAmQAAAHMCAAAAAAljBAAAAAQAAAADAAAAQwAAAHMZAAAAdAAAfAAAfAMAgwIAagEAfAEAfAIAgwIAUygBAAAAc3QAAABTcGxpdCB0aGUgc291cmNlIHN0cmluZyBieSB0aGUgb2NjdXJyZW5jZXMgb2YgdGhlIHBhdHRlcm4sCiAgICByZXR1cm5pbmcgYSBsaXN0IGNvbnRhaW5pbmcgdGhlIHJlc3VsdGluZyBzdWJzdHJpbmdzLigCAAAAUhcAAABSBAAAACgEAAAAUhgAAABSGQAAAHQIAAAAbWF4c3BsaXRSGgAAACgAAAAAKAAAAABzbQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvcmUucHlSBAAAAKQAAABzAgAAAAADYwMAAAADAAAAAwAAAEMAAABzFgAAAHQAAHwAAHwCAIMCAGoBAHwBAIMBAFMoAQAAAHMIAQAAUmV0dXJuIGEgbGlzdCBvZiBhbGwgbm9uLW92ZXJsYXBwaW5nIG1hdGNoZXMgaW4gdGhlIHN0cmluZy4KCiAgICBJZiBvbmUgb3IgbW9yZSBncm91cHMgYXJlIHByZXNlbnQgaW4gdGhlIHBhdHRlcm4sIHJldHVybiBhCiAgICBsaXN0IG9mIGdyb3VwczsgdGhpcyB3aWxsIGJlIGEgbGlzdCBvZiB0dXBsZXMgaWYgdGhlIHBhdHRlcm4KICAgIGhhcyBtb3JlIHRoYW4gb25lIGdyb3VwLgoKICAgIEVtcHR5IG1hdGNoZXMgYXJlIGluY2x1ZGVkIGluIHRoZSByZXN1bHQuKAIAAABSFwAAAFIFAAAAKAMAAABSGAAAAFIZAAAAUhoAAAAoAAAAACgAAAAAc20AAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3JlLnB5UgUAAACpAAAAcwIAAAAACGkAAAICdAgAAABmaW5kaXRlcmMDAAAAAwAAAAMAAABDAAAAcxYAAAB0AAB8AAB8AgCDAgBqAQB8AQCDAQBTKAEAAABzswAAAFJldHVybiBhbiBpdGVyYXRvciBvdmVyIGFsbCBub24tb3ZlcmxhcHBpbmcgbWF0Y2hlcyBpbiB0aGUKICAgICAgICBzdHJpbmcuICBGb3IgZWFjaCBtYXRjaCwgdGhlIGl0ZXJhdG9yIHJldHVybnMgYSBtYXRjaCBvYmplY3QuCgogICAgICAgIEVtcHR5IG1hdGNoZXMgYXJlIGluY2x1ZGVkIGluIHRoZSByZXN1bHQuKAIAAABSFwAAAFIeAAAAKAMAAABSGAAAAFIZAAAAUhoAAAAoAAAAACgAAAAAc20AAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3JlLnB5Uh4AAAC1AAAAcwIAAAAABWMCAAAAAgAAAAMAAABDAAAAcw0AAAB0AAB8AAB8AQCDAgBTKAEAAABzQQAAAENvbXBpbGUgYSByZWd1bGFyIGV4cHJlc3Npb24gcGF0dGVybiwgcmV0dXJuaW5nIGEgcGF0dGVybiBvYmplY3QuKAEAAABSFwAAACgCAAAAUhgAAABSGgAAACgAAAAAKAAAAABzbQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvcmUucHlSBgAAALwAAABzAgAAAAACYwAAAAAAAAAAAQAAAEMAAABzGAAAAHQAAGoBAIMAAAF0AgBqAQCDAAABZAEAUygCAAAAcyIAAABDbGVhciB0aGUgcmVndWxhciBleHByZXNzaW9uIGNhY2hlTigDAAAAdAYAAABfY2FjaGV0BQAAAGNsZWFydAsAAABfY2FjaGVfcmVwbCgAAAAAKAAAAAAoAAAAAHNtAAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9yZS5weVIHAAAAwAAAAHMEAAAAAAIKAWMCAAAAAgAAAAQAAABDAAAAcxEAAAB0AAB8AAB8AQB0AQBCgwIAUygBAAAAczYAAABDb21waWxlIGEgdGVtcGxhdGUgcGF0dGVybiwgcmV0dXJuaW5nIGEgcGF0dGVybiBvYmplY3QoAgAAAFIXAAAAdAEAAABUKAIAAABSGAAAAFIaAAAAKAAAAAAoAAAAAHNtAAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9yZS5weVIIAAAAxQAAAHMCAAAAAAJ0PgAAAGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5YwEAAAAFAAAABAAAAEMAAABz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AABzbQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvcmUucHl0BwAAAF9leHBhbmQHAQAAcwQAAAAAAhIBYwIAAAADAAAABAAAAEMAAABzTAAAAHQAAHwBAHwAAIMCAH0BAHwBAGQBABkMcjwAdAEAfAEAZAIAGYMBAGQCAGsCAHI8AHwBAGQCABlkAQAZU3wBAGQDAIQBAH0CAHwCAFMoBAAAAE5pAAAAAGkBAAAAYwIAAAACAAAAAwAAAFMAAABzEAAAAHQAAGoBAHwBAHwAAIMCAFMoAQAAAE4oAgAAAFI9AAAAUkAAAAAoAgAAAFIAAAAAUggAAAAoAAAAACgAAAAAc20AAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3JlLnB5dAYAAABmaWx0ZXISAQAAcwIAAAAAASgCAAAAUj8AAABSNwAAACgDAAAAUhgAAABSCAAAAFJCAAAAKAAAAAAoAAAAAHNtAAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9yZS5weXQFAAAAX3N1YngMAQAAcwoAAAAAAg8BIQIMAQwCYwEAAAABAAAAAwAAAEMAAABzFgAAAHQAAHwAAGoBAHwAAGoCAGYCAGYCAFMoAQAAAE4oAwAAAFIXAAAAUhgAAABSGgAAACgBAAAAUjsAAAAoAAAAACgAAAAAc20AAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3JlLnB5dAcAAABfcGlja2xlGgEAAHMCAAAAAAF0BwAAAFNjYW5uZXJjAAAAAAAAAAACAAAAQgAAAHMdAAAAZQAAWgEAZAAAZAEAhAEAWgIAZAIAhAAAWgMAUlMoAwAAAGkAAAAAYwMAAAAJAAAACQAAAEMAAABz2QAAAGQBAGQCAGwAAG0BAH0DAG0CAH0EAAF8AQB8AABfAwBnAAB9BQB0BABqBQCDAAB9BgB8AgB8BgBfBgB4UgB8AQBEXUoAXAIAfQcAfQgAfAUAagcAdAQAaggAfAYAfAQAdAkAfAUAgwEAZAMAF3QEAGoKAHwHAHwCAIMCAGYCAGYCAGcBAIMCAIMBAAFxQQBXdAkAfAUAgwEAZAMAF3wGAF8LAHQEAGoIAHwGAHwDAGQAAHwFAGYCAGYCAGcBAIMCAH0FAHQNAGoOAHwFAIMBAHwAAF8PAGQAAFMoBAAAAE5p/////ygCAAAAdAYAAABCUkFOQ0h0CgAAAFNVQlBBVFRFUk5pAQAAACgQAAAAdA0AAABzcmVfY29uc3RhbnRzUkYAAABSRwAAAHQHAAAAbGV4aWNvblI9AAAAdAcAAABQYXR0ZXJuUhoAAAB0BgAAAGFwcGVuZHQKAAAAU3ViUGF0dGVyblI3AAAAdAUAAABwYXJzZXQGAAAAZ3JvdXBzUjAAAABSNAAAAFIGAAAAdAcAAABzY2FubmVyKAkAAAB0BAAAAHNlbGZSSQAAAFIaAAAAUkYAAABSRwAAAFI7AAAAUikAAAB0BgAAAHBocmFzZXQGAAAAYWN0aW9uKAAAAAAoAAAAAHNtAAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9yZS5weXQIAAAAX19pbml0X18jAQAAcxYAAAAAARYBCQIGAQwBCQETAQ8BMwITASEBYwIAAAAJAAAAAwAAAEMAAABz1AAAAGcAAH0CAHwCAGoAAH0DAHwAAGoBAGoBAHwBAIMBAGoCAH0EAGQBAH0FAHiZAHwEAIMAAH0GAHwGAHNAAFBuAAB8BgBqAwCDAAB9BwB8BQB8BwBrAgByXABQbgAAfAAAagQAfAYAagUAZAIAGBlkAgAZfQgAdAYAfAgAZAMAgwIAcqQAfAYAfAAAXwIAfAgAfAAAfAYAagcAgwAAgwIAfQgAbgAAfAgAZAAAawkAcr0AfAMAfAgAgwEAAW4AAHwHAH0FAHEtAHwCAHwBAHwFAB9mAgBTKAQAAABOaQAAAABpAQAAAHQIAAAAX19jYWxsX18oCQAAAFJLAAAAUk8AAABSAAAAAHQDAAAAZW5kUkkAAAB0CQAAAGxhc3RpbmRleHQHAAAAaGFzYXR0cnQFAAAAZ3JvdXBSMAAAACgJAAAAUlAAAABSGQAAAHQGAAAAcmVzdWx0UksAAABSAAAAAFIrAAAAdAEAAABtdAEAAABqUlIAAAAoAAAAACgAAAAAc20AAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3JlLnB5dAQAAABzY2FuMQEAAHMmAAAAAAEGAQkBFQEGAQMBCQEGAQQBDAEMAQQBGAEPAQkBGAEMAQ0BCQEoBAAAAHQIAAAAX19uYW1lX190CgAAAF9fbW9kdWxlX19SUwAAAFJcAAAAKAAAAAAoAAAAACgAAAAAc20AAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3JlLnB5UkUAAAAiAQAAcwQAAAAGAQwOKAAAAAAoOgAAAHQHAAAAX19kb2NfX3QDAAAAc3lzUjQAAABSPQAAAHQHAAAAX19hbGxfX3QLAAAAX192ZXJzaW9uX190EwAAAFNSRV9GTEFHX0lHTk9SRUNBU0VSCgAAAFIQAAAAdA8AAABTUkVfRkxBR19MT0NBTEVSCwAAAFIRAAAAdBAAAABTUkVfRkxBR19VTklDT0RFUg8AAABSFQAAAHQSAAAAU1JFX0ZMQUdfTVVMVElMSU5FUgwAAABSEgAAAHQPAAAAU1JFX0ZMQUdfRE9UQUxMUg0AAABSEwAAAHQQAAAAU1JFX0ZMQUdfVkVSQk9TRVIOAAAAUhQAAAB0EQAAAFNSRV9GTEFHX1RFTVBMQVRFUiIAAAB0CAAAAFRFTVBMQVRFdA4AAABTUkVfRkxBR19ERUJVR3QFAAAAREVCVUdSFgAAAFIAAAAAUgEAAABSAgAAAFIDAAAAUgQAAABSBQAAAHQKAAAAaGV4dmVyc2lvblJLAAAAUh4AAABSBgAAAFIHAAAAUggAAAB0CQAAAGZyb3plbnNldFImAAAAUgkAAABSHwAAAFIhAAAAUi4AAABSMgAAAFI4AAAAUhcAAABSPwAAAFJBAAAAUkMAAAB0CAAAAGNvcHlfcmVnUkQAAAB0BgAAAHBpY2tsZVJFAAAAKAAAAAAoAAAAACgAAAAAc20AAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3JlLnB5dAgAAAA8bW9kdWxlPmYAAABzWAAAAAYCDAEMAQwDEgEbARIBDAIGAw0BDQENAQ0BDQENAw0BCQMJBQwFDAUPCQ8LDwUMCg8BDQEPBwwECQUMBAMBCQIJDwYBBgIYAgYCCRYJDwkFCQwMAgkDEwU=