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c2lvbtoBeHIFAAAAKQxyEQAAAHIcAAAA2gpzeXN0ZW1fc3NsWg91c2luZ19weW9wZW5zc2xaGHVzaW5nX2NoYXJzZXRfbm9ybWFsaXplcloJcHlPcGVuU1NMcgMAAAByBgAAANoSY2hhcnNldF9ub3JtYWxpemVy2gxjcnlwdG9ncmFwaHlyAgAAANoIcmVxdWVzdHMpEnIRAAAAciEAAAByIgAAANoHT1NFcnJvcnIgAAAAcgMAAAByBQAAAHImAAAAcgYAAADaB09wZW5TU0xaA1NTTNoWT1BFTlNTTF9WRVJTSU9OX05VTUJFUtoHZ2V0YXR0cnInAAAAcgIAAADaA3NzbHIHAAAA2hByZXF1ZXN0c192ZXJzaW9uKQpaDXBsYXRmb3JtX2luZm9aE2ltcGxlbWVudGF0aW9uX2luZm9aDHVybGxpYjNfaW5mb1oXY2hhcnNldF9ub3JtYWxpemVyX2luZm9aDGNoYXJkZXRfaW5mb1oOcHlvcGVuc3NsX2luZm9aEWNyeXB0b2dyYXBoeV9pbmZvWglpZG5hX2luZm9yJQAAAFoPc3lzdGVtX3NzbF9pbmZvch4AAAByHgAAAHIfAAAA2gRpbmZvQgAAAHNcAAAAAAICAgYBBv4KBA4CAgEC/gwFBgEKAQgBCAEEAQoBBAEKAwIBAv4GBAQCBAEK/gYFAgAK/wQEAgAK/wQEBgEYAwIBAgECAQYBBgECAQIBAgECAQIBAgICAAL/AvRyLwAAAGMAAAAAAAAAAAAAAAAAAAAABgAAAEMAAABzGgAAAHQAdAFqAnQDgwBkAWQCZAONA4MBAQBkBFMAKQV6KVByZXR0eS1wcmludCB0aGUgYnVnIGluZm9ybWF0aW9uIGFzIEpTT04uVOkCAAAAKQLaCXNvcnRfa2V5c9oGaW5kZW50TikE2gVwcmludNoEanNvbtoFZHVtcHNyLwAAAHIeAAAAch4AAAByHgAAAHIfAAAA2gRtYWlufQAAAHMCAAAAAAJyNgAAANoIX19tYWluX18pFtoHX19kb2NfX3I0AAAAchEAAAByLQAAAHIVAAAA2gtwaXAuX3ZlbmRvcnICAAAAcgMAAAByCwAAAHIFAAAAci4AAAByJgAAAHIGAAAA2gtJbXBvcnRFcnJvctobcGlwLl92ZW5kb3IudXJsbGliMy5jb250cmlicgcAAAByKgAAAHInAAAAciAAAAByLwAAAHI2AAAA2ghfX25hbWVfX3IeAAAAch4AAAByHgAAAHIfAAAA2gg8bW9kdWxlPgEAAABzMgAAAAQCCAEIAQgBCAIMAQwCDAIEAgIBEAEOAQoCAgEQAQ4BBAEEAQoCCAEIAwgjCDsIBQgB