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M3wDRABdCX0GfABqBHwGZAJkA40CfQdxJ2QPUwB8AmQGawJyS3wDRABdD30GfABqAXwGZAdkA40Cc0h0AqADZAh8BqECAQBxOWQPUwB8AmQJawJyXXwDRABdCX0GfABqBHwGZAdkA40CfQdxUWQPUwB8AmQKawJydnwDRABdEH0GfABqAXwGfARkC40Cc3N0AqADZAx8BnwEoQMBAHFjZA9TAHwCZA1rAnKIfANEAF0JfQZ8AGoEfAZ8BGQLjQJ9B3F8ZA9TAHwCZA5rAnKdfABqAWQPfAVkC40Cc5t0AqADZBB8BaECAQBkD1MAZA9TAHwCZBFrAnKyfABqBGQPfAVkC40Cc7B0AqADZBJ8BaECAQBkD1MAZA9TAHQFZBN8AhYAgwGCASkUYXYBAAAKICAgICAgICBQcm9jZXNzIGEgZGlyZWN0aXZlIHdoaWNoIGVpdGhlciBhZGRzIHNvbWUgZmlsZXMgZnJvbSBgYGFsbGZpbGVzYGAgdG8KICAgICAgICBgYGZpbGVzYGAsIG9yIHJlbW92ZXMgc29tZSBmaWxlcyBmcm9tIGBgZmlsZXNgYC4KCiAgICAgICAgOnBhcmFtIGRpcmVjdGl2ZTogVGhlIGRpcmVjdGl2ZSB0byBwcm9jZXNzLiBUaGlzIHNob3VsZCBiZSBpbiBhIGZvcm1hdAogICAgICAgICAgICAgICAgICAgICBjb21wYXRpYmxlIHdpdGggZGlzdHV0aWxzIGBgTUFOSUZFU1QuaW5gYCBmaWxlczoKCiAgICAgICAgICAgICAgICAgICAgIGh0dHA6Ly9kb2NzLnB5dGhvbi5vcmcvZGlzdHV0aWxzL3NvdXJjZWRpc3QuaHRtbCNjb21tYW5kcwogICAgICAgINoHaW5jbHVkZVQpAdoGYW5jaG9yehpubyBmaWxlcyBmb3VuZCBtYXRjaGluZyAlctoHZXhjbHVkZfoOZ2xvYmFsLWluY2x1ZGVGejNubyBmaWxlcyBmb3VuZCBtYXRjaGluZyAlciBhbnl3aGVyZSBpbiBkaXN0cmlidXRpb276Dmdsb2JhbC1leGNsdWRl+hFyZWN1cnNpdmUtaW5jbHVkZSkBchAAAAB6LW5vIGZpbGVzIGZvdW5kIG1hdGNoaW5nICVyIHVuZGVyIGRpcmVjdG9yeSAlcvoRcmVjdXJz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cm4uCgogICAgICAgIFBhdHRlcm5zIGFyZSBub3QgcXVpdGUgdGhlIHNhbWUgYXMgaW1wbGVtZW50ZWQgYnkgdGhlICdmbm1hdGNoJwogICAgICAgIG1vZHVsZTogJyonIGFuZCAnPycgIG1hdGNoIG5vbi1zcGVjaWFsIGNoYXJhY3RlcnMsIHdoZXJlICJzcGVjaWFsIgogICAgICAgIGlzIHBsYXRmb3JtLWRlcGVuZGVudDogc2xhc2ggb24gVW5peDsgY29sb24sIHNsYXNoLCBhbmQgYmFja3NsYXNoIG9uCiAgICAgICAgRE9TL1dpbmRvd3M7IGFuZCBjb2xvbiBvbiBNYWMgT1MuCgogICAgICAgIElmICdhbmNob3InIGlzIHRydWUgKHRoZSBkZWZhdWx0KSwgdGhlbiB0aGUgcGF0dGVybiBtYXRjaCBpcyBtb3JlCiAgICAgICAgc3RyaW5nZW50OiAiKi5weSIgd2lsbCBtYXRjaCAiZm9vLnB5IiBidXQgbm90ICJmb28vYmFyLnB5Ii4gIElmCiAgICAgICAgJ2FuY2hvcicgaXMgZmFsc2UsIGJvdGggb2YgdGhlc2Ugd2lsbCBtYXRjaC4KCiAgICAgICAgSWYgJ3ByZWZpeCcgaXMgc3VwcGxpZWQsIHRoZW4gb25seSBmaWxlbmFtZXMgc3RhcnRpbmcgd2l0aCAncHJlZml4JwogICAgICAgIChpdHNlbGYgYSBwYXR0ZXJuKSBhbmQgZW5kaW5nIHdpdGggJ3BhdHRlcm4nLCB3aXRoIGFueXRoaW5nIGluIGJldHdlZW4KICAgICAgICB0aGVtLCB3aWxsIG1hdGNoLiAgJ2FuY2hvcicgaXMgaWdub3JlZCBpbiB0aGlzIGNhc2UuCgogICAgICAgIElmICdpc19yZWdleCcgaXMgdHJ1ZSwgJ2FuY2hvcicgYW5kICdwcmVmaXgnIGFyZSBpZ25vcmVkLCBhbmQKICAgICAgICAncGF0dGVybicgaXMgYXNzdW1lZCB0byBiZSBlaXRoZXIgYSBzdHJpbmcgY29udGFpbmluZyBhIHJlZ2V4IG9yIGEKICAgICAgICByZWdleCBvYmplY3QgLS0gbm8gdHJhbnNsYXRpb24gaXMgZG9uZSwgdGhlIHJlZ2V4IGlzIGp1c3Qg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