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UmVtb3ZlcyBBTlNJIGNvbG9yIGFuZCBzdHlsZSBjb2RlcyBpZiB0aGUgb3V0cHV0IGRvZXMgbm90IGxvb2sKICAgICAgICBsaWtlIGFuIGludGVyYWN0aXZlIHRlcm1pbmFsLgogICAgLSAgIEFsd2F5cyBmbHVzaGVzIHRoZSBvdXRwdXQuCgogICAgOnBhcmFtIG1lc3NhZ2U6IFRoZSBzdHJpbmcgb3IgYnl0ZXMgdG8gb3V0cHV0LiBPdGhlciBvYmplY3RzIGFyZQogICAgICAgIGNvbnZlcnRlZCB0byBzdHJpbmdzLgogICAgOnBhcmFtIGZpbGU6IFRoZSBmaWxlIHRvIHdyaXRlIHRvLiBEZWZhdWx0cyB0byBgYHN0ZG91dGBgLgogICAgOnBhcmFtIGVycjogV3JpdGUgdG8gYGBzdGRlcnJgYCBpbnN0ZWFkIG9mIGBgc3Rkb3V0YGAuCiAgICA6cGFyYW0gbmw6IFByaW50IGEgbmV3bGluZSBhZnRlciB0aGUgbWVzc2FnZS4gRW5hYmxlZCBieSBkZWZhdWx0LgogICAgOnBhcmFtIGNvbG9yOiBGb3JjZSBzaG93aW5nIG9yIGhpZGluZyBjb2xvcnMgYW5kIG90aGVyIHN0eWxlcy4gQnkKICAgICAgICBkZWZhdWx0IENsaWNrIHdpbGwgcmVtb3ZlIGNvbG9yIGlmIHRoZSBvdXRwdXQgZG9lcyBub3QgbG9vayBsaWtlCiAgICAgICAgYW4gaW50ZXJhY3RpdmUgdGVybWluYWwuCgogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiA2LjAKICAgICAgICBTdXBwb3J0IFVuaWNvZGUgb3V0cHV0IG9uIHRoZSBXaW5kb3dzIGNvbnNvbGUuIENsaWNrIGRvZXMgbm90CiAgICAgICAgbW9kaWZ5IGBgc3lzLnN0ZG91dGBgLCBzbyBgYHN5cy5zdGRvdXQud3JpdGUoKWBgIGFuZCBgYHByaW50KClgYAogICAgICAgIHdpbGwgc3RpbGwgbm90IHN1cHBvcnQgVW5pY29kZS4KCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDQuMAogICAgICAgIEFkZGVkIHRoZSBgYGNvbG9yYGAgcGFyYW1ldGVyLgoKICAgIC4uIHZlcnNpb25h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IHBhcmFtIHR5cGUuCgogICAgSWYgYGAnLSdgYCBpcyBnaXZlbiB0byBvcGVuIGBgc3Rkb3V0YGAgb3IgYGBzdGRpbmBgLCB0aGUgc3RyZWFtIGlzCiAgICB3cmFwcGVkIHNvIHRoYXQgdXNpbmcgaXQgaW4gYSBjb250ZXh0IG1hbmFnZXIgd2lsbCBub3QgY2xvc2UgaXQuCiAgICBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIHRvIHVzZSB0aGUgZnVuY3Rpb24gd2l0aG91dCBhY2NpZGVudGFsbHkKICAgIGNsb3NpbmcgYSBzdGFuZGFyZCBzdHJlYW06CgogICAgLi4gY29kZS1ibG9jazo6IHB5dGhvbgoKICAgICAgICB3aXRoIG9wZW5fZmlsZShmaWxlbmFtZSkgYXMgZjoKICAgICAgICAgICAgLi4uCgogICAgOnBhcmFtIGZpbGVuYW1lOiBUaGUgbmFtZSBvZiB0aGUgZmlsZSB0byBvcGVuLCBvciBgYCctJ2BgIGZvcgogICAgICAgIGBgc3RkaW5gYC9gYHN0ZG91dGBgLgogICAgOnBhcmFtIG1vZGU6IFRoZSBtb2RlIGluIHdoaWNoIHRvIG9wZW4gdGhlIGZpbGUuCiAgICA6cGFyYW0gZW5jb2Rpbmc6IFRoZSBlbmNvZGluZyB0byBkZWNvZGUgb3IgZW5jb2RlIGEgZmlsZSBvcGVuZWQgaW4KICAgICAgICB0ZXh0IG1vZGUuCiAgICA6cGFyYW0gZXJyb3JzOiBUaGUgZXJyb3IgaGFuZGxpbmcgbW9kZS4KICAgIDpwYXJhbSBsYXp5OiBXYWl0IHRvIG9wZW4gdGhlIGZpbGUgdW50aWwgaXQgaXMgYWNjZXNzZWQuIEZvciByZWFkCiAgICAgICAgbW9kZSwgdGhlIGZpbGUgaXMgdGVtcG9yYXJpbHkgb3BlbmVkIHRvIHJhaXNlIGFjY2VzcyBlcnJvcnMKICAgICAgICBlYXJseSwgdGhlbiBjbG9zZWQgdW50aWwgaXQgaXMgcmVhZCBhZ2Fpbi4KICAgIDpwYXJhbSBhdG9taWM6IFdyaXRlIHRvIGEgdGVtcG9yYXJ5IGZpbGUgYW5kIHJlcGxhY2UgdGhlIGdpdmVuIGZpbGUKICAgICAgICBvbiBjbG9zZS4K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