YQ0NCgAAAABDGnxjwBkAAOMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzrAAAAGQAWgBkAWQCbAFaAWQBZAJsAloCZAFkAmwDWgNkAWQCbARaBGQBZAJsBVoFZAFkAmwGWgZkAWQDbAdtCFoIAQBkAWQEbAltCloKAQBnAGQFogFaC0cAZAZkB4QAZAdlCIMDWgxkCGQJhABaDWUNZAJmAmQKZAuEAVoOZQ1mAWQMZA2EAVoPZQ1mAWQOZA+EAVoQZQ1mAWQQZBGEAVoRZQ9lEGURZgNaEmQCUwApEnovVXRpbGl0aWVzIGZvciBleHRyYWN0aW5nIGNvbW1vbiBhcmNoaXZlIGZvcm1hdHPpAAAAAE4pAdoORGlzdHV0aWxzRXJyb3IpAdoQZW5zdXJlX2RpcmVjdG9yeSkH2g51bnBhY2tfYXJjaGl2ZdoOdW5wYWNrX3ppcGZpbGXaDnVucGFja190YXJmaWxl2g5kZWZhdWx0X2ZpbHRlctoSVW5yZWNvZ25pemVkRm9ybWF02hJleHRyYWN0aW9uX2RyaXZlcnPaEHVucGFja19kaXJlY3RvcnljAAAAAAAAAAAAAAAAAAAAAAEAAABAAAAAcxAAAABlAFoBZABaAmQBWgNkAlMAKQNyCAAAAHojQ291bGRuJ3QgcmVjb2duaXplIHRoZSBhcmNoaXZlIHR5cGVOKQTaCF9fbmFtZV9f2gpfX21vZHVsZV9f2gxfX3F1YWxuYW1lX1/aB19fZG9jX1+pAHIPAAAAcg8AAAD6VC9ob21lL2huaS9Ub3BtZXRhbFNlLURQUy92ZW52L2xpYi9weXRob24zLjkvc2l0ZS1wYWNrYWdlcy9zZXR1cHRvb2xzL2FyY2hpdmVfdXRpbC5weXIIAAAAEwAAAHMCAAAACAFyCAAAAGMCAAAAAAAAAAAAAAACAAAAAQAAAEMAAABzBAAAAHwBUwApAXpAVGhlIGRlZmF1bHQgcHJvZ3Jlc3MvZmlsdGVyIGNhbGxiYWNrOyByZXR1cm5zIFRydWUgZm9yIGFsbCBmaWxlc3IPAAAAKQLaA3NyY9oDZHN0cg8AAAByDwAAAHIQAAAAcgcAAAAXAAAAcwIAAAAAAnIHAAAAYwQAAAAAAAAAAAAAAAUAAAAJAAAAQwAAAHNMAAAAfANwBnQARABdMn0EehB8BHwAfAF8AoMDAQBXAG4WBAB0AXkyAQABAAEAWQBxCFkAcQgwAAEAZAFTAHEIdAFkAnwAFgCDAYIBZAFTACkDYaEEAABVbnBhY2sgYGZpbGVuYW1lYCB0byBgZXh0cmFjdF9kaXJgLCBvciByYWlzZSBgYFVucmVjb2duaXplZEZvcm1hdGBgCgogICAgYHByb2dyZXNzX2ZpbHRlcmAgaXMgYSBmdW5jdGlvbiB0YWtpbmcgdHdvIGFyZ3VtZW50czogYSBzb3VyY2UgcGF0aAogICAgaW50ZXJuYWwgdG8gdGhlIGFyY2hpdmUgKCcvJy1zZXBhcmF0ZWQpLCBhbmQgYSBmaWxlc3lzdGVtIHBhdGggd2hlcmUgaXQKICAgIHdpbGwgYmUgZXh0cmFjdGVkLiAgVGhlIGNhbGxiYWNrIG11c3QgcmV0dXJuIHRoZSBkZXNpcmVkIGV4dHJhY3QgcGF0aAogICAgKHdoaWNoIG1heSBiZSB0aGUgc2FtZSBhcyB0aGUgb25lIHBhc3NlZCBpbiksIG9yIGVsc2UgYGBOb25lYGAgdG8gc2tpcAogICAgdGhhdCBmaWxlIG9yIGRpcmVjdG9yeS4gIFRoZSBjYWxsYmFjayBjYW4gdGh1cyBiZSB1c2VkIHRvIHJlcG9ydCBvbiB0aGUKICAgIHByb2dyZXNzIG9mIHRoZSBleHRyYWN0aW9uLCBhcyB3ZWxsIGFzIHRvIGZpbHRlciB0aGUgaXRlbXMgZXh0cmFjdGVkIG9yCiAgICBhbHRlciB0aGVpciBleHRyYWN0aW9uIHBhdGhzLgoKICAgIGBkcml2ZXJzYCwgaWYgc3VwcGxpZWQsIG11c3QgYmUgYSBub24tZW1wdHkgc2VxdWVuY2Ugb2YgZnVuY3Rpb25zIHdpdGggdGhlCiAgICBzYW1lIHNpZ25hdHVyZSBhcyB0aGlzIGZ1bmN0aW9uIChtaW51cyB0aGUgYGRyaXZlcnNgIGFyZ3VtZW50KSwgdGhhdCByYWlzZQogICAgYGBVbnJlY29nbml6ZWRGb3JtYXRgYCBpZiB0aGV5IGRvIG5vdCBzdXBwb3J0IGV4dHJhY3RpbmcgdGhlIGRlc2lnbmF0ZWQKICAgIGFyY2hpdmUgdHlwZS4gIFRoZSBgZHJpdmVyc2AgYXJlIHRyaWVkIGluIHNlcXVl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