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ZXIgdGhlIHVzZXIgc3BlY2lmaWVkIGBgLS1uby1kZXBzYGAuCiAgICA6cGFyYW1zIHVwZ3JhZGVfc3RyYXRlZ3k6IFRoZSB1c2VyLXNwZWNpZmllZCB1cGdyYWRlIHN0cmF0ZWd5LgogICAgOnBhcmFtcyB1c2VyX3JlcXVlc3RlZDogQSBzZXQgb2YgY2Fub25pY2FsaXplZCBwYWNrYWdlIG5hbWVzIHRoYXQgdGhlIHVzZXIKICAgICAgICBzdXBwbGllZCBmb3IgcGlwIHRvIGluc3RhbGwvdXBncmFkZS4KICAgINoHZmFjdG9yedoLY29uc3RyYWludHPaE2lnbm9yZV9kZXBlbmRlbmNpZXPaEHVwZ3JhZGVfc3RyYXRlZ3naDnVzZXJfcmVxdWVzdGVkchgAAABOYwYAAAAAAAAAAAAAAAYAAAAEAAAAQwAAAHMyAAAAfAF8AF8AfAJ8AF8BfAN8AF8CfAR8AF8DfAV8AF8EdAWgBmQBZAKEAKEBfABfB2QAUwApA05jAAAAAAAAAAAAAAAAAAAAAAEAAABTAAAAcwYAAAB0AGoBUwCpAU4pAtoEbWF0aNoDaW5mch4AAAByHgAAAHIeAAAAch8AAADaCDxsYW1iZGE+ZgAAAHMCAAAABgB6JlBpcFByb3ZpZGVyLl9faW5pdF9fLjxsb2NhbHM+LjxsYW1iZGE+KQjaCF9mYWN0b3J52gxfY29uc3RyYWludHPaFF9pZ25vcmVfZGVwZW5kZW5jaWVz2hFfdXBncmFkZV9zdHJhdGVnedoPX3VzZXJfcmVxdWVzdGVk2gtjb2xsZWN0aW9uc9oLZGVmYXVsdGRpY3TaDV9rbm93bl9kZXB0aHMpBtoEc2VsZnIiAAAAciMAAAByJAAAAHIlAAAAciYAAAByHgAAAHIeAAAAch8AAADaCF9faW5pdF9fWQAAAHMMAAAABggGAQYBBgEGARQBehRQaXBQcm92aWRlci5fX2luaXRfX9oYcmVxdWlyZW1lbnRfb3JfY2FuZGlkYXRlYwIAAAAAAAAAAAAAAAIAAAABAAAAQwAAAHMGAAAAfAFqAFMAcicAAAApAXIbAAAAKQJyMwAAAHI1AAAAch4AAAByHgAAAHIfAAAA2ghpZGVudGlmeWgAAABzAgAAAAYBehRQaXBQcm92aWRlci5pZGVudGlm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