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ZCB2YWx1ZSBmb3IgdHJhY2UgZmlsZSBkZXNjcmlwdG9yACVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5ACVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcwAlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpACVzOiBhbWJpZ3VvdXMgam9iIHNwZWMAJXM6IGFtYmlndW91cyByZWRpcmVjdAAlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzACVzOiBiYWQgbmV0d29yayBwYXRoIHNwZWNpZmljYXRpb24AJXM6IGJhZCBzdWJzdGl0dXRpb24AJXM6IGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZAAlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcwAlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkAJXM6IGNhbm5vdCBhc3NpZ24gZmQgdG8gdmFyaWFibGUAJXM6IGNhbm5vdCBhc3NpZ24gbGlzdCB0byBhcnJheSBtZW1iZXIAJXM6IGNhbm5vdCBhc3NpZ24gdG8gbm9uLW51bWVyaWMgaW5kZXgAJXM6IGNhbm5vdCBjb252ZXJ0IGFzc29jaWF0aXZlIHRvIGluZGV4ZWQgYXJyYXkAJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkAJXM6IGNhbm5vdCBjcmVhdGU6ICVzACVzOiBjYW5ub3QgZGVsZXRlOiAlcwAlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5ACVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZQAlczogY2Fubm90IGV4ZWN1dGUgYmluYXJ5IGZpbGU6ICVzACVzOiBjYW5ub3QgZXhlY3V0ZTogJXMAJXM6IGNhbm5vdCBnZXQgbGltaXQ6ICVzACVzOiBjYW5ub3QgbW9kaWZ5IGxpbWl0OiAlcwAlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcwAlczogY2Fubm90IG9wZW46ICVzACVzOiBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUAJXM6IGNhbm5vdCByZWFkOiAlcwAlczogY2Fubm90IHVuc2V0ACVzOiBjYW5ub3QgdW5zZXQ6IHJlYWRvbmx5ICVzACVzOiBjb21tYW5kIG5vdCBmb3VuZAAlczogZXJyb3IgcmV0cmlldmluZyBjdXJyZW50IGRpcmVjdG9yeTogJXM6ICVzCgAlczogZXhwcmVzc2lvbiBlcnJvcgoAJXM6IGZpbGUgaXMgdG9vIGxhcmdlACVzOiBmaWxlIG5vdCBmb3VuZAAlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgIicAJXM6IGhhc2ggdGFibGUgZW1wdHkKACVzOiBoaXN0b3J5IGV4cGFuc2lvbiBmYWlsZWQAJXM6IGhvc3QgdW5rbm93bgAlczogaWxsZWdhbCBvcHRpb24gLS0gJWMKACVzOiBpbmxpYiBmYWlsZWQAJXM6IGludGVnZXIgZXhwcmVzc2lvbiBleHBlY3RlZAAlczogaW52YWxpZCBhY3Rpb24gbmFtZQAlczogaW52YWxpZCBhcmd1bWVudAAlczogaW52YWxpZCBhcnJheSBvcmlnaW4AJXM6IGludmFsaWQgYXNzb2NpYXRpdmUgYXJyYXkga2V5ACVzOiBpbnZhbGlkIGNhbGxiYWNrIHF1YW50dW0AJXM6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIHNwZWNpZmljYXRpb24AJXM6IGludmFsaWQgbGltaXQgYXJndW1lbnQAJXM6IGludmFsaWQgbGluZSBjb3VudAAlczogaW52YWxpZCBvcHRpb24AJXM6IGludmFsaWQgb3B0aW9uIG5hbWUAJXM6IGludmFsaWQgc2VydmljZQAlczogaW52YWxpZCBzaGVsbCBvcHRpb24gbmFtZQAlczogaW52YWxpZCBzaWduYWwgc3BlY2lmaWNhdGlvbgAlczogaW52YWxpZCB0aW1lb3V0IHNwZWNpZmljYXRpb24AJXM6IGludmFsaWQgdmFyaWFibGUgbmFtZSBmb3IgbmFtZSByZWZlcmVuY2UAJXM6IGlzIGEgZGlyZWN0b3J5ACVzOiBqb2IgJWQgYWxyZWFkeSBpbiBiYWNrZ3JvdW5kACVzOiBqb2IgaGFzIHRlcm1pbmF0ZWQAJXM6IGxpbmUgJWQ6IAAlczogbWF4aW11bSBmdW5jdGlvbiBuZXN0aW5nIGxldmVsIGV4Y2VlZGVkICglZCkAJXM6IG1pc3NpbmcgY29sb24gc2VwYXJhdG9yACVzOiBuYW1lcmVmIHZhcmlhYmxlIHNlbGYgcmVmZXJlbmNlcyBub3QgYWxsb3dlZAAlczogbm8gY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uACVzOiBubyBqb2IgY29udHJvbAAlczogbm8gc3VjaCBqb2IAJXM6IG5vdCBhIGZ1bmN0aW9uACVzOiBub3QgYSByZWd1bGFyIGZpbGUAJXM6IG5vdCBhIHNoZWxsIGJ1aWx0aW4AJXM6IG5vdCBhbiBhcnJheSB2YXJpYWJsZQAlczogbm90IGFuIGluZGV4ZWQgYXJyYXkAJXM6IG5vdCBkeW5hbWljYWxseSBsb2FkZWQAJXM6IG5vdCBmb3VuZAAlczogbnVtZXJpYyBhcmd1bWVudCByZXF1aXJlZAAlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50ACVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJWMKACVzOiBwYXJhbWV0ZXIgbnVsbCBvciBub3Qgc2V0ACVzOiByZWFkb25seSBmdW5jdGlvbgAlczogcmVhZG9ubHkgdmFyaWFibGUAJXM6IHJlZmVyZW5jZSB2YXJpYWJsZSBjYW5ub3QgYmUgYW4gYXJyYXkAJXM6IHJlc3RyaWN0ZWQAJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQAJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCBzcGVjaWZ5IGAvJyBpbiBjb21tYW5kIG5hbWVzACVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAAJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkACVzOiB1bmJvdW5kIHZhcmlhYmxlACVzOiB1c2FnZTogACVzOiB2YXJpYWJsZSBtYXkgbm90IGJlIGFzc2lnbmVkIHZhbHVlACgoIGV4cHJlc3Npb24gKSkAKGNvcmUgZHVtcGVkKSAAKHdkIG5vdzogJXMpCgAuIGZpbGVuYW1lIFthcmd1bWVudHNdAC9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgbmV0d29ya2luZwAvdG1wIG11c3QgYmUgYSB2YWxpZCBkaXJlY3RvcnkgbmFtZQA6ADxubyBjdXJyZW50IGRpcmVjdG9yeT4AQUJPUlQgaW5zdHJ1Y3Rpb24AQWJvcnRpbmcuLi4AQWRkcyBhIGRpcmVjdG9yeSB0byB0aGUgdG9wIG9mIHRoZSBkaXJlY3Rvcnkgc3RhY2ssIG9yIHJvdGF0ZXMKICAgIHRoZSBzdGFjaywgbWFraW5nIHRoZSBuZXcgdG9wIG9mIHRoZSBzdGFjayB0aGUgY3VycmVudCB3b3JraW5nCiAgICBkaXJlY3RvcnkuICBXaXRoIG5vIGFyZ3VtZW50cywgZXhjaGFuZ2VzIHRoZSB0b3AgdHdvIGRpcmVjdG9yaWVzLgogICAgCiAgICBPcHRpb25zOgogICAgICAtbglTdXBwcmVzc2VzIHRoZSBub3JtYWwgY2hhbmdlIG9mIGRpcmVjdG9yeSB3aGVuIGFkZGluZwogICAgCWRpcmVjdG9yaWVzIHRvIHRoZSBzdGFjaywgc28gb25seSB0aGUgc3RhY2sgaXMgbWFuaXB1bGF0ZWQuCiAgICAKICAgIEFyZ3VtZW50czoKICAgICAgK04JUm90YXRlcyB0aGUgc3RhY2sgc28gdGhhdCB0aGUgTnRoIGRpcmVjdG9yeSAoY291bnRpbmcKICAgIAlmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0IHNob3duIGJ5IGBkaXJzJywgc3RhcnRpbmcgd2l0aAogICAgCXplcm8pIGlzIGF0IHRoZSB0b3AuCiAgICAKICAgICAgLU4JUm90YXRlcyB0aGUgc3RhY2sgc28gdGhhdCB0aGUgTnRoIGRpcmVjdG9yeSAoY291bnRpbmcKICAgIAlmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdCBzaG93biBieSBgZGlycycsIHN0YXJ0aW5nIHdpdGgKICAgIAl6ZXJvKSBpcyBhdCB0aGUgdG9wLgogICAgCiAgICAgIGRpcglBZGRzIERJUiB0byB0aGUgZGlyZWN0b3J5IHN0YWNrIGF0IHRoZSB0b3AsIG1ha2luZyBpdCB0aGUKICAgIAluZXcgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4KICAgIAogICAgVGhlIGBkaXJzJyBidWlsdGluIGRpc3BsYXlzIHRoZSBkaXJlY3Rvcnkgc3RhY2suAEFsYXJtIChwcm9maWxlKQBBbGFybSAodmlydHVhbCkAQWxhcm0gY2xvY2sAQXJpdGhtZXRpYyBmb3IgbG9vcC4KICAgIAogICAgRXF1aXZhbGVudCB0bwogICAgCSgoIEVYUDEgKSkKICAgIAl3aGlsZSAoKCBFWFAyICkpOyBkbwogICAgCQlDT01NQU5EUwogICAgCQkoKCBFWFAzICkpCiAgICAJZG9uZQogICAgRVhQMSwgRVhQMiwgYW5kIEVYUDMgYXJlIGFyaXRobWV0aWMgZXhwcmVzc2lvbnMuICBJZiBhbnkgZXhwcmVzc2lvbiBpcwogICAgb21pdHRlZCwgaXQgYmVoYXZlcyBhcyBpZiBpdCBldmFsdWF0ZXMgdG8gMS4KICAgIAogICAgRXhpdCBTdGF0dXM6CiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4AQlBUIHRyYWNlL3RyYXAAQmFkIHN5c3RlbSBjYWxsAEJvZ3VzIHNpZ25hbABCcm9rZW4gcGlwZQBCdXMgZXJyb3IAQ1BVIGxpbWl0AENoaWxkIGRlYXRoIG9yIHN0b3AAQ29udGludWUAQ29weXJpZ2h0IChDKSAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgBEZWZpbmUgbG9jYWwgdmFyaWFibGVzLgogICAgCiAgICBDcmVhdGUgYSBsb2NhbCB2YXJpYWJsZSBjYWxsZWQgTkFNRSwgYW5kIGdpdmUgaXQgVkFMVUUuICBPUFRJT04gY2FuCiAgICBiZSBhbnkgb3B0aW9uIGFjY2VwdGVkIGJ5IGBkZWNsYXJlJy4KICAgIAogICAgTG9jYWwgdmFyaWFibGVzIGNhbiBvbmx5IGJlIHVzZWQgd2l0aGluIGEgZnVuY3Rpb247IHRoZXkgYXJlIHZpc2libGUKICAgIG9ubHkgdG8gdGhlIGZ1bmN0aW9uIHdoZXJlIHRoZXkgYXJlIGRlZmluZWQgYW5kIGl0cyBjaGlsZHJlbi4KICAgIAogICAgRXhpdCBTdGF0dXM6CiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLCBhIHZhcmlhYmxlCiAgICBhc3NpZ25tZW50IGVycm9yIG9jY3Vycywgb3IgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbi4ARGVmaW5lIG9yIGRpc3BsYXkgYWxpYXNlcy4KICAgIAogICAgV2l0aG91dCBhcmd1bWVudHMsIGBhbGlhcycgcHJpbnRzIHRoZSBsaXN0IG9mIGFsaWFzZXMgaW4gdGhlIHJldXNhYmxlCiAgICBmb3JtIGBhbGlhcyBOQU1FPVZBTFVFJyBvbiBzdGFuZGFyZCBvdXRwdXQuCiAgICAKICAgIE90aGVyd2lzZSwgYW4gYWxpYXMgaXMgZGVmaW5lZCBmb3IgZWFjaCBOQU1FIHdob3NlIFZBTFVFIGlzIGdpdmVuLgogICAgQSB0cmFpbGluZyBzcGFjZSBpbiBWQUxVRSBjYXVzZXMgdGhlIG5leHQgd29yZCB0byBiZSBjaGVja2VkIGZvcgogICAgYWxpYXMgc3Vic3RpdHV0aW9uIHdoZW4gdGhlIGFsaWFzIGlzIGV4cGFuZGVkLgogICAgCiAgICBPcHRpb25zOgogICAgICAtcAlQcmludCBhbGwgZGVmaW5lZCBhbGlhc2VzIGluIGEgcmV1c2FibGUgZm9ybWF0CiAgICAKICAgIEV4aXQgU3RhdHVzOgogICAgYWxpYXMgcmV0dXJucyB0cnVlIHVubGVzcyBhIE5BTUUgaXMgc3VwcGxpZWQgZm9yIHdoaWNoIG5vIGFsaWFzIGhhcyBiZWVuCiAgICBkZWZpbmVkLgBEaXNwbGF5IG9yIGV4ZWN1dGUgY29tbWFuZHMgZnJvbSB0aGUgaGlzdG9yeSBsaXN0LgogICAgCiAgICBmYyBpcyB1c2VkIHRvIGxpc3Qgb3IgZWRpdCBhbmQgcmUtZXhlY3V0ZSBjb21tYW5kcyBmcm9tIHRoZSBoaXN0b3J5IGxpc3QuCiAgICBGSVJTVCBhbmQgTEFTVCBjYW4gYmUgbnVtYmVycyBzcGVjaWZ5aW5nIHRoZSByYW5nZSwgb3IgRklSU1QgY2FuIGJlIGEKICAgIHN0cmluZywgd2hpY2ggbWVhbnMgdGhlIG1vc3QgcmVjZW50IGNvbW1hbmQgYmVnaW5uaW5nIHdpdGggdGhhdAogICAgc3RyaW5nLgogICAgCiAgICBPcHRpb25zOgogICAgICAtZSBFTkFNRQlzZWxlY3Qgd2hpY2ggZWRpdG9yIHRvIHVzZS4gIERlZmF1bHQgaXMgRkNFRElULCB0aGVuIEVESVRPUiwKICAgIAkJdGhlbiB2aQogICAgICAtbCAJbGlzdCBsaW5lcyBpbnN0ZWFkIG9mIGVkaXRpbmcKICAgICAgLW4Jb21pdCBsaW5lIG51bWJlcnMgd2hlbiBsaXN0aW5nCiAgICAgIC1yCXJldmVyc2UgdGhlIG9yZGVyIG9mIHRoZSBsaW5lcyAobmV3ZXN0IGxpc3RlZCBmaXJzdCkKICAgIAogICAgV2l0aCB0aGUgYGZjIC1zIFtwYXQ9cmVwIC4uLl0gW2NvbW1hbmRdJyBmb3JtYXQsIENPTU1BTkQgaXMKICAgIHJlLWV4ZWN1dGVkIGFmdGVyIHRoZSBzdWJzdGl0dXRpb24gT0xEPU5FVyBpcyBwZXJmb3JtZWQuCiAgICAKICAgIEEgdXNlZnVsIGFsaWFzIHRvIHVzZSB3aXRoIHRoaXMgaXMgcj0nZmMgLXMnLCBzbyB0aGF0IHR5cGluZyBgciBjYycKICAgIHJ1bnMgdGhlIGxhc3QgY29tbWFuZCBiZWdpbm5pbmcgd2l0aCBgY2MnIGFuZCB0eXBpbmcgYHInIHJlLWV4ZWN1dGVzCiAgICB0aGUgbGFzdCBjb21tYW5kLgogICAgCiAgICBFeGl0IFN0YXR1czoKICAgIFJldHVybnMgc3VjY2VzcyBvciBzdGF0dXMgb2YgZXhlY3V0ZWQgY29tbWFuZDsgbm9uLXplcm8gaWYgYW4gZXJyb3Igb2NjdXJzLgBEaXNwbGF5IG9yIG1hbmlwdWxhdGUgdGhlIGhpc3RvcnkgbGlzdC4KICAgIAogICAgRGlzcGxheSB0aGUgaGlzdG9yeSBsaXN0IHdpdGggbGluZSBudW1iZXJzLCBwcmVmaXhpbmcgZWFjaCBtb2RpZmllZAogICAgZW50cnkgd2l0aCBhIGAqJy4gIEFuIGFyZ3VtZW50IG9mIE4gbGlzdHMgb25seSB0aGUgbGFzdCBOIGVudHJpZXMuCiAgICAKICAgIE9wdGlvbnM6CiAgICAgIC1jCWNsZWFyIHRoZSBoaXN0b3J5IGxpc3QgYnkgZGVsZXRpbmcgYWxsIG9mIHRoZSBlbnRyaWVzCiAgICAgIC1kIG9mZnNldAlkZWxldGUgdGhlIGhpc3RvcnkgZW50cnkgYXQgb2Zmc2V0IE9GRlNFVC4KICAgIAogICAgICAtYQlhcHBlbmQgaGlzdG9yeSBsaW5lcyBmcm9tIHRoaXMgc2Vzc2lvbiB0byB0aGUgaGlzdG9yeSBmaWxlCiAgICAgIC1uCXJlYWQgYWxsIGhpc3RvcnkgbGluZXMgbm90IGFscmVhZHkgcmVhZCBmcm9tIHRoZSBoaXN0b3J5IGZpbGUKICAgICAgLXIJcmVhZCB0aGUgaGlzdG9yeSBmaWxlIGFuZCBhcHBlbmQgdGhlIGNvbnRlbnRzIHRvIHRoZSBoaXN0b3J5CiAgICAJbGlzdAogICAgICAtdwl3cml0ZSB0aGUgY3VycmVudCBoaXN0b3J5IHRvIHRoZSBoaXN0b3J5IGZpbGUKICAgIAlhbmQgYXBwZW5kIHRoZW0gdG8gdGhlIGhpc3RvcnkgbGlzdAogICAgCiAgICAgIC1wCXBlcmZvcm0gaGlzdG9yeSBleHBhbnNpb24gb24gZWFjaCBBUkcgYW5kIGRpc3BsYXkgdGhlIHJlc3VsdAogICAgCXdpdGhvdXQgc3RvcmluZyBpdCBpbiB0aGUgaGlzdG9yeSBsaXN0CiAgICAgIC1zCWFwcGVuZCB0aGUgQVJHcyB0byB0aGUgaGlzdG9yeSBsaXN0IGFzIGEgc2luZ2xlIGVudHJ5CiAgICAKICAgIElmIEZJTEVOQU1FIGlzIGdpdmVuLCBpdCBpcyB1c2VkIGFzIHRoZSBoaXN0b3J5IGZpbGUuICBPdGhlcndpc2UsCiAgICBpZiAkSElTVEZJTEUgaGFzIGEgdmFsdWUsIHRoYXQgaXMgdXNlZCwgZWxzZSB+Ly5iYXNoX2hpc3RvcnkuCiAgICAKICAgIElmIHRoZSAkSElTVFRJTUVGT1JNQVQgdmFyaWFibGUgaXMgc2V0IGFuZCBub3QgbnVsbCwgaXRzIHZhbHVlIGlzIHVzZWQKICAgIGFzIGEgZm9ybWF0IHN0cmluZyBmb3Igc3RyZnRpbWUoMykgdG8gcHJpbnQgdGhlIHRpbWUgc3RhbXAgYXNzb2NpYXRlZAogICAgd2l0aCBlYWNoIGRpc3BsYXllZCBoaXN0b3J5IGVudHJ5LiAgTm8gdGltZSBzdGFtcHMgYXJlIHByaW50ZWQgb3RoZXJ3aXNlLgogICAgCiAgICBFeGl0IFN0YXR1czoKICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYW4gZXJyb3Igb2NjdXJzLgBEaXNwbGF5IHBvc3NpYmxlIGNvbXBsZXRpb25zIGRlcGVuZGluZyBvbiB0aGUgb3B0aW9ucy4KICAgIAogICAgSW50ZW5kZWQgdG8gYmUgdXNlZCBmcm9tIHdpdGhpbiBhIHNoZWxsIGZ1bmN0aW9uIGdlbmVyYXRpbmcgcG9zc2libGUKICAgIGNvbXBsZXRpb25zLiAgSWYgdGhlIG9wdGlvbmFsIFdPUkQgYXJndW1lbnQgaXMgc3VwcGxpZWQsIG1hdGNoZXMgYWdhaW5zdAogICAgV09SRCBhcmUgZ2VuZXJhdGVkLgogICAgCiAgICBFeGl0IFN0YXR1czoKICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLgBEaXNwbGF5IHRoZSBsaXN0IG9mIGN1cnJlbnRseSByZW1lbWJlcmVkIGRpcmVjdG9yaWVzLiAgRGlyZWN0b3JpZXMKICAgIGZpbmQgdGhlaXIgd2F5IG9udG8gdGhlIGxpc3Qgd2l0aCB0aGUgYHB1c2hkJyBjb21tYW5kOyB5b3UgY2FuIGdldAogICAgYmFjayB1cCB0aHJvdWdoIHRoZSBsaXN0IHdpdGggdGhlIGBwb3BkJyBjb21tYW5kLgogICAgCiAgICBPcHRpb25zOgogICAgICAtYwljbGVhciB0aGUgZGlyZWN0b3J5IHN0YWNrIGJ5IGRlbGV0aW5nIGFsbCBvZiB0aGUgZWxlbWVudHMKICAgICAgLWwJZG8gbm90IHByaW50IHRpbGRlLXByZWZpeGVkIHZlcnNpb25zIG9mIGRpcmVjdG9yaWVzIHJlbGF0aXZlCiAgICAJdG8geW91ciBob21lIGRpcmVjdG9yeQogICAgICAtcAlwcmludCB0aGUgZGlyZWN0b3J5IHN0YWNrIHdpdGggb25lIGVudHJ5IHBlciBsaW5lCiAgICAgIC12CXByaW50IHRoZSBkaXJlY3Rvcnkgc3RhY2sgd2l0aCBvbmUgZW50cnkgcGVyIGxpbmUgcHJlZml4ZWQKICAgIAl3aXRoIGl0cyBwb3NpdGlvbiBpbiB0aGUgc3RhY2sKICAgIAogICAgQXJndW1lbnRzOgogICAgICArTglEaXNwbGF5cyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIGxlZnQgb2YgdGhlIGxpc3Qgc2hvd24gYnkKICAgIAlkaXJzIHdoZW4gaW52b2tlZCB3aXRob3V0IG9wdGlvbnMsIHN0YXJ0aW5nIHdpdGggemVyby4KICAgIAogICAgICAtTglEaXNwbGF5cyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IHNob3duIGJ5CglkaXJzIHdoZW4gaW52b2tlZCB3aXRob3V0IG9wdGlvbnMsIHN0YXJ0aW5nIHdpdGggemVyby4ARG9uZQBEb25lKCVkKQBFTVQgaW5zdHJ1Y3Rpb24ARXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLgogICAgCiAgICBUaGUgRVhQUkVTU0lPTiBpcyBldmFsdWF0ZWQgYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBmb3IgYXJpdGhtZXRpYwogICAgZXZhbHVhdGlvbi4gIEVxdWl2YWxlbnQgdG8gImxldCBFWFBSRVNTSU9OIi4KICAgIAogICAgRXhpdCBTdGF0dXM6CiAgICBSZXR1cm5zIDEgaWYgRVhQUkVTU0lPTiBldmFsdWF0ZXMgdG8gMDsgcmV0dXJucyAwIG90aGVyd2lzZS4ARXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi4KICAgIAogICAgVGhpcyBpcyBhIHN5bm9ueW0gZm9yIHRoZSAidGVzdCIgYnVpbHRpbiwgYnV0IHRoZSBsYXN0IGFyZ3VtZW50IG11c3QKICAgIGJlIGEgbGl0ZXJhbCBgXScsIHRvIG1hdGNoIHRoZSBvcGVuaW5nIGBbJy4ARXhlY3V0ZSBhIHNpbXBsZSBjb21tYW5kIG9yIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZHMuCiAgICAKICAgIFJ1bnMgQ09NTUFORCB3aXRoIEFSR1Mgc3VwcHJlc3NpbmcgIHNoZWxsIGZ1bmN0aW9uIGxvb2t1cCwgb3IgZGlzcGxheQogICAgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNwZWNpZmllZCBDT01NQU5Ecy4gIENhbiBiZSB1c2VkIHRvIGludm9rZSBjb21tYW5kcwogICAgb24gZGlzayB3aGVuIGEgZnVuY3Rpb24gd2l0aCB0aGUgc2FtZSBuYW1lIGV4aXN0cy4KICAgIAogICAgT3B0aW9uczoKICAgICAgLXAJdXNlIGEgZGVmYXVsdCB2YWx1ZSBmb3IgUEFUSCB0aGF0IGlzIGd1YXJhbnRlZWQgdG8gZmluZCBhbGwgb2YKICAgIAl0aGUgc3RhbmRhcmQgdXRpbGl0aWVzCiAgICAgIC12CXByaW50IGEgZGVzY3JpcHRpb24gb2YgQ09NTUFORCBzaW1pbGFyIHRvIHRoZSBgdHlwZScgYnVpbHRpbgogICAgICAtVglwcmludCBhIG1vcmUgdmVyYm9zZSBkZXNjcmlwdGlvbiBvZiBlYWNoIENPTU1BTkQKICAgIAogICAgRXhpdCBTdGF0dXM6CiAgICBSZXR1cm5zIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQsIG9yIGZhaWx1cmUgaWYgQ09NTUFORCBpcyBub3QgZm91bmQuAEV4ZWN1dGUgYXJndW1lbnRzIGFzIGEgc2hlbGwgY29tbWFuZC4KICAgIAogICAgQ29tYmluZSBBUkdzIGludG8gYSBzaW5nbGUgc3RyaW5nLCB1c2UgdGhlIHJlc3VsdCBhcyBpbnB1dCB0byB0aGUgc2hlbGwsCiAgICBhbmQgZXhlY3V0ZSB0aGUgcmVzdWx0aW5nIGNvbW1hbmRzLgogICAgCiAgICBFeGl0IFN0YXR1czoKICAgIFJldHVybnMgZXhpdCBzdGF0dXMgb2YgY29tbWFuZCBvciBzdWNjZXNzIGlmIGNvbW1hbmQgaXMgbnVsbC4ARXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBkb2VzIG5vdCBzdWNjZWVkLgogICAgCiAgICBFeHBhbmQgYW5kIGV4ZWN1dGUgQ09NTUFORFMgYXMgbG9uZyBhcyB0aGUgZmluYWwgY29tbWFuZCBpbiB0aGUKICAgIGB1bnRpbCcgQ09NTUFORFMgaGFzIGFuIGV4aXQgc3RhdHVzIHdoaWNoIGlzIG5vdCB6ZXJvLgogICAgCiAgICBFeGl0IFN0YXR1czoKICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLgBFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIHBhdHRlcm4gbWF0Y2hpbmcuCiAgICAKICAgIFNlbGVjdGl2ZWx5IGV4ZWN1dGUgQ09NTUFORFMgYmFzZWQgdXBvbiBXT1JEIG1hdGNoaW5nIFBBVFRFUk4uICBUaGUKICAgIGB8JyBpcyB1c2VkIHRvIHNlcGFyYXRlIG11bHRpcGxlIHBhdHRlcm5zLgogICAgCiAgICBFeGl0IFN0YXR1czoKICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLgBFeGVjdXRlIGNvbW1hbmRzIGZvciBlYWNoIG1lbWJlciBpbiBhIGxpc3QuCiAgICAKICAgIFRoZSBgZm9yJyBsb29wIGV4ZWN1dGVzIGEgc2VxdWVuY2Ugb2YgY29tbWFuZHMgZm9yIGVhY2ggbWVtYmVyIGluIGEKICAgIGxpc3Qgb2YgaXRlbXMuICBJZiBgaW4gV09SRFMgLi4uOycgaXMgbm90IHByZXNlbnQsIHRoZW4gYGluICIkQCInIGlzCiAgICBhc3N1bWVkLiAgRm9yIGVhY2ggZWxlbWVudCBpbiBXT1JEUywgTkFNRSBpcyBzZXQgdG8gdGhhdCBlbGVtZW50LCBhbmQKICAgIHRoZSBDT01NQU5EUyBhcmUgZXhlY3V0ZWQuCiAgICAKICAgIEV4aXQgU3RhdHVzOgogICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuAEV4ZWN1dGUgY29tbWFuZHMgZnJvbSBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuCiAgICAKICAgIFJlYWQgYW5kIGV4ZWN1dGUgY29tbWFuZHMgZnJvbSBGSUxFTkFNRSBpbiB0aGUgY3VycmVudCBzaGVsbC4gIFRoZQogICAgZW50cmllcyBpbiAkUEFUSCBhcmUgdXNlZCB0byBmaW5kIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyBGSUxFTkFNRS4KICAgIElmIGFueSBBUkdVTUVOVFMgYXJlIHN1cHBsaWVkLCB0aGV5IGJlY29tZSB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzCiAgICB3aGVuIEZJTEVOQU1FIGlzIGV4ZWN1dGVkLgogICAgCiAgICBFeGl0IFN0YXR1czoKICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkIGluIEZJTEVOQU1FOyBmYWlscyBpZgogICAgRklMRU5BTUUgY2Fubm90IGJlIHJlYWQuAEV4ZWN1dGUgc2hlbGwgYnVpbHRpbnMuCiAgICAKICAgIEV4ZWN1dGUgU0hFTEwtQlVJTFRJTiB3aXRoIGFyZ3VtZW50cyBBUkdzIHdpdGhvdXQgcGVyZm9ybWluZyBjb21tYW5kCiAgICBsb29rdXAuICBUaGlzIGlzIHVzZWZ1bCB3aGVuIHlvdSB3aXNoIHRvIHJlaW1wbGVtZW50IGEgc2hlbGwgYnVpbHRpbgogICAgYXMgYSBzaGVsbCBmdW5jdGlvbiwgYnV0IG5lZWQgdG8gZXhlY3V0ZSB0aGUgYnVpbHRpbiB3aXRoaW4gdGhlIGZ1bmN0aW9uLgogICAgCiAgICBFeGl0IFN0YXR1czoKICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIFNIRUxMLUJVSUxUSU4sIG9yIGZhbHNlIGlmIFNIRUxMLUJVSUxUSU4gaXMKICAgIG5vdCBhIHNoZWxsIGJ1aWx0aW4uLgBFeGl0ICVkAEV4aXQgYSBsb2dpbiBzaGVsbC4KICAgIAogICAgRXhpdHMgYSBsb2dpbiBzaGVsbCB3aXRoIGV4aXQgc3RhdHVzIE4uICBSZXR1cm5zIGFuIGVycm9yIGlmIG5vdCBleGVjdXRlZAogICAgaW4gYSBsb2dpbiBzaGVsbC4ARXhpdCBmb3IsIHdoaWxlLCBvciB1bnRpbCBsb29wcy4KICAgIAogICAgRXhpdCBhIEZPUiwgV0hJTEUgb3IgVU5USUwgbG9vcC4gIElmIE4gaXMgc3BlY2lmaWVkLCBicmVhayBOIGVuY2xvc2luZwogICAgbG9vcHMuCiAgICAKICAgIEV4aXQgU3RhdHVzOgogICAgVGhlIGV4aXQgc3RhdHVzIGlzIDAgdW5sZXNzIE4gaXMgbm90IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLgBFeGl0IHRoZSBzaGVsbC4KICAgIAogICAgRXhpdHMgdGhlIHNoZWxsIHdpdGggYSBzdGF0dXMgb2YgTi4gIElmIE4gaXMgb21pdHRlZCwgdGhlIGV4aXQgc3RhdHVzCiAgICBpcyB0aGF0IG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuAEZpbGUgbGltaXQARmxvYXRpbmcgcG9pbnQgZXhjZXB0aW9uAEdOVSBiYXNoLCB2ZXJzaW9uICVzICglcykKAEdOVSBiYXNoLCB2ZXJzaW9uICVzLSglcykKAEdOVSBsb25nIG9wdGlvbnM6CgBHcm91cCBjb21tYW5kcyBhcyBhIHVuaXQuCiAgICAKICAgIFJ1biBhIHNldCBvZiBjb21tYW5kcyBpbiBhIGdyb3VwLiAgVGhpcyBpcyBvbmUgd2F5IHRvIHJlZGlyZWN0IGFuCiAgICBlbnRpcmUgc2V0IG9mIGNvbW1hbmRzLgogICAgCiAgICBFeGl0IFN0YXR1czoKICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLgBIRlQgaW5wdXQgZGF0YSBwZW5kaW5nAEhGVCBtb25pdG9yIG1vZGUgZ3JhbnRlZABIRlQgbW9uaXRvciBtb2RlIHJldHJhY3RlZABIRlQgc291bmQgc2VxdWVuY2UgaGFzIGNvbXBsZXRlZABIT01FIG5vdCBzZXQASGFuZ3VwAEkgaGF2ZSBubyBuYW1lIQBJL08gcmVhZHkASWxsZWdhbCBpbnN0cnVjdGlvbgBJbmZvcm1hdGlvbiByZXF1ZXN0AEludGVycnVwdABLaWxsZWQATGljZW5zZSBHUEx2Mys6IEdOVSBHUEwgdmVyc2lvbiAzIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbD4KAE1vZGlmeSBzaGVsbCByZXNvdXJjZSBsaW1pdHMuCiAgICAKICAgIFByb3ZpZGVzIGNvbnRyb2wgb3ZlciB0aGUgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byB0aGUgc2hlbGwgYW5kIHByb2Nlc3NlcwogICAgaXQgY3JlYXRlcywgb24gc3lzdGVtcyB0aGF0IGFsbG93IHN1Y2ggY29udHJvbC4KICAgIAogICAgT3B0aW9uczoKICAgICAgLVMJdXNlIHRoZSBgc29mdCcgcmVzb3VyY2UgbGltaXQKICAgICAgLUgJdXNlIHRoZSBgaGFyZCcgcmVzb3VyY2UgbGltaXQKICAgICAgLWEJYWxsIGN1cnJlbnQgbGltaXRzIGFyZSByZXBvcnRlZAogICAgICAtYgl0aGUgc29ja2V0IGJ1ZmZlciBzaXplCiAgICAgIC1jCXRoZSBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkCiAgICAgIC1kCXRoZSBtYXhpbXVtIHNpemUgb2YgYSBwcm9jZXNzJ3MgZGF0YSBzZWdtZW50CiAgICAgIC1lCXRoZSBtYXhpbXVtIHNjaGVkdWxpbmcgcHJpb3JpdHkgKGBuaWNlJykKICAgICAgLWYJdGhlIG1heGltdW0gc2l6ZSBvZiBmaWxlcyB3cml0dGVuIGJ5IHRoZSBzaGVsbCBhbmQgaXRzIGNoaWxkcmVuCiAgICAgIC1pCXRoZSBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHMKICAgICAgLWwJdGhlIG1heGltdW0gc2l6ZSBhIHByb2Nlc3MgbWF5IGxvY2sgaW50byBtZW1vcnkKICAgICAgLW0JdGhlIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemUKICAgICAgLW4JdGhlIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZSBkZXNjcmlwdG9ycwogICAgICAtcAl0aGUgcGlwZSBidWZmZXIgc2l6ZQogICAgICAtcQl0aGUgbWF4aW11bSBudW1iZXIgb2YgYnl0ZXMgaW4gUE9TSVggbWVzc2FnZSBxdWV1ZXMKICAgICAgLXIJdGhlIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHkKICAgICAgLXMJdGhlIG1heGltdW0gc3RhY2sgc2l6ZQogICAgICAtdAl0aGUgbWF4aW11bSBhbW91bnQgb2YgY3B1IHRpbWUgaW4gc2Vjb25kcwogICAgICAtdQl0aGUgbWF4aW11bSBudW1iZXIgb2YgdXNlciBwcm9jZXNzZXMKICAgICAgLXYJdGhlIHNpemUgb2YgdmlydHVhbCBtZW1vcnkKICAgICAgLXgJdGhlIG1heGltdW0gbnVtYmVyIG9mIGZpbGUgbG9ja3MKICAgICAgLVQgICAgdGhlIG1heGltdW0gbnVtYmVyIG9mIHRocmVhZHMKICAgIAogICAgTm90IGFsbCBvcHRpb25zIGFyZSBhdmFpbGFibGUgb24gYWxsIHBsYXRmb3Jtcy4KICAgIAogICAgSWYgTElNSVQgaXMgZ2l2ZW4sIGl0IGlzIHRoZSBuZXcgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCByZXNvdXJjZTsgdGhlCiAgICBzcGVjaWFsIExJTUlUIHZhbHVlcyBgc29mdCcsIGBoYXJkJywgYW5kIGB1bmxpbWl0ZWQnIHN0YW5kIGZvciB0aGUKICAgIGN1cnJlbnQgc29mdCBsaW1pdCwgdGhlIGN1cnJlbnQgaGFyZCBsaW1pdCwgYW5kIG5vIGxpbWl0LCByZXNwZWN0aXZlbHkuCiAgICBPdGhlcndpc2UsIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UgaXMgcHJpbnRlZC4gIElmCiAgICBubyBvcHRpb24gaXMgZ2l2ZW4sIHRoZW4gLWYgaXMgYXNzdW1lZC4KICAgIAogICAgVmFsdWVzIGFyZSBpbiAxMDI0LWJ5dGUgaW5jcmVtZW50cywgZXhjZXB0IGZvciAtdCwgd2hpY2ggaXMgaW4gc2Vjb25kcywKICAgIC1wLCB3aGljaCBpcyBpbiBpbmNyZW1lbnRzIG9mIDUxMiBieXRlcywgYW5kIC11LCB3aGljaCBpcyBhbiB1bnNjYWxlZAogICAgbnVtYmVyIG9mIHByb2Nlc3Nlcy4KICAgIAogICAgRXhpdCBTdGF0dXM6CiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4ATW92ZSBqb2IgdG8gdGhlIGZvcmVncm91bmQuCiAgICAKICAgIFBsYWNlIHRoZSBqb2IgaWRlbnRpZmllZCBieSBKT0JfU1BFQyBpbiB0aGUgZm9yZWdyb3VuZCwgbWFraW5nIGl0IHRoZQogICAgY3VycmVudCBqb2IuICBJZiBKT0JfU1BFQyBpcyBub3QgcHJlc2VudCwgdGhlIHNoZWxsJ3Mgbm90aW9uIG9mIHRoZQogICAgY3VycmVudCBqb2IgaXMgdXNlZC4KICAgIAogICAgRXhpdCBTdGF0dXM6CiAgICBTdGF0dXMgb2YgY29tbWFuZCBwbGFjZWQgaW4gZm9yZWdyb3VuZCwgb3IgZmFpbHVyZSBpZiBhbiBlcnJvciBvY2N1cnMuAE1vdmUgam9icyB0byB0aGUgYmFja2dyb3VuZC4KICAgIAogICAgUGxhY2UgdGhlIGpvYnMgaWRlbnRpZmllZCBieSBlYWNoIEpPQl9TUEVDIGluIHRoZSBiYWNrZ3JvdW5kLCBhcyBpZiB0aGV5CiAgICBoYWQgYmVlbiBzdGFydGVkIHdpdGggYCYnLiAgSWYgSk9CX1NQRUMgaXMgbm90IHByZXNlbnQsIHRoZSBzaGVsbCdzIG5vdGlvbgogICAgb2YgdGhlIGN1cnJlbnQgam9iIGlzIHVzZWQuCiAgICAKICAgIEV4aXQgU3RhdHVzOgogICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuAE51bGwgY29tbWFuZC4KICAgIAogICAgTm8gZWZmZWN0OyB0aGUgY29tbWFuZCBkb2VzIG5vdGhpbmcuCiAgICAKICAgIEV4aXQgU3RhdHVzOgogICAgQWx3YXlzIHN1Y2NlZWRzLgBPTERQV0Qgbm90IHNldABQYXJzZSBvcHRpb24gYXJndW1lbnRzLgogICAgCiAgICBHZXRvcHRzIGlzIHVzZWQgYnkgc2hlbGwgcHJvY2VkdXJlcyB0byBwYXJzZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMKICAgIGFzIG9wdGlvbnMuCiAgICAKICAgIE9QVFNUUklORyBjb250YWlucyB0aGUgb3B0aW9uIGxldHRlcnMgdG8gYmUgcmVjb2duaXplZDsgaWYgYSBsZXR0ZXIKICAgIGlzIGZvbGxvd2VkIGJ5IGEgY29sb24sIHRoZSBvcHRpb24gaXMgZXhwZWN0ZWQgdG8gaGF2ZSBhbiBhcmd1bWVudCwKICAgIHdoaWNoIHNob3VsZCBiZSBzZXBhcmF0ZWQgZnJvbSBpdCBieSB3aGl0ZSBzcGFjZS4KICAgIAogICAgRWFjaCB0aW1lIGl0IGlzIGludm9rZWQsIGdldG9wdHMgd2lsbCBwbGFjZSB0aGUgbmV4dCBvcHRpb24gaW4gdGhlCiAgICBzaGVsbCB2YXJpYWJsZSAkbmFtZSwgaW5pdGlhbGl6aW5nIG5hbWUgaWYgaXQgZG9lcyBub3QgZXhpc3QsIGFuZAogICAgdGhlIGluZGV4IG9mIHRoZSBuZXh0IGFyZ3VtZW50IHRvIGJlIHByb2Nlc3NlZCBpbnRvIHRoZSBzaGVsbAogICAgdmFyaWFibGUgT1BUSU5ELiAgT1BUSU5EIGlzIGluaXRpYWxpemVkIHRvIDEgZWFjaCB0aW1lIHRoZSBzaGVsbCBvcgogICAgYSBzaGVsbCBzY3JpcHQgaXMgaW52b2tlZC4gIFdoZW4gYW4gb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50LAogICAgZ2V0b3B0cyBwbGFjZXMgdGhhdCBhcmd1bWVudCBpbnRvIHRoZSBzaGVsbCB2YXJpYWJsZSBPUFRBUkcuCiAgICAKICAgIGdldG9wdHMgcmVwb3J0cyBlcnJvcnMgaW4gb25lIG9mIHR3byB3YXlzLiAgSWYgdGhlIGZpcnN0IGNoYXJhY3RlcgogICAgb2YgT1BUU1RSSU5HIGlzIGEgY29sb24sIGdldG9wdHMgdXNlcyBzaWxlbnQgZXJyb3IgcmVwb3J0aW5nLiAgSW4KICAgIHRoaXMgbW9kZSwgbm8gZXJyb3IgbWVzc2FnZXMgYXJlIHByaW50ZWQuICBJZiBhbiBpbnZhbGlkIG9wdGlvbiBpcwogICAgc2VlbiwgZ2V0b3B0cyBwbGFjZXMgdGhlIG9wdGlvbiBjaGFyYWN0ZXIgZm91bmQgaW50byBPUFRBUkcuICBJZiBhCiAgICByZXF1aXJlZCBhcmd1bWVudCBpcyBub3QgZm91bmQsIGdldG9wdHMgcGxhY2VzIGEgJzonIGludG8gTkFNRSBhbmQKICAgIHNldHMgT1BUQVJHIHRvIHRoZSBvcHRpb24gY2hhcmFjdGVyIGZvdW5kLiAgSWYgZ2V0b3B0cyBpcyBub3QgaW4KICAgIHNpbGVudCBtb2RlLCBhbmQgYW4gaW52YWxpZCBvcHRpb24gaXMgc2VlbiwgZ2V0b3B0cyBwbGFjZXMgJz8nIGludG8KICAgIE5BTUUgYW5kIHVuc2V0cyBPUFRBUkcuICBJZiBhIHJlcXVpcmVkIGFyZ3VtZW50IGlzIG5vdCBmb3VuZCwgYSAnPycKICAgIGlzIHBsYWNlZCBpbiBOQU1FLCBPUFRBUkcgaXMgdW5zZXQsIGFuZCBhIGRpYWdub3N0aWMgbWVzc2FnZSBpcwogICAgcHJpbnRlZC4KICAgIAogICAgSWYgdGhlIHNoZWxsIHZhcmlhYmxlIE9QVEVSUiBoYXMgdGhlIHZhbHVlIDAsIGdldG9wdHMgZGlzYWJsZXMgdGhlCiAgICBwcmludGluZyBvZiBlcnJvciBtZXNzYWdlcywgZXZlbiBpZiB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mCiAgICBPUFRTVFJJTkcgaXMgbm90IGEgY29sb24uICBPUFRFUlIgaGFzIHRoZSB2YWx1ZSAxIGJ5IGRlZmF1bHQuCiAgICAKICAgIEdldG9wdHMgbm9ybWFsbHkgcGFyc2VzIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgKCQwIC0gJDkpLCBidXQgaWYKICAgIG1vcmUgYXJndW1lbnRzIGFyZSBnaXZlbiwgdGhleSBhcmUgcGFyc2VkIGluc3RlYWQuCiAgICAKICAgIEV4aXQgU3RhdHVzOgogICAgUmV0dXJucyBzdWNjZXNzIGlmIGFuIG9wdGlvbiBpcyBmb3VuZDsgZmFpbHMgaWYgdGhlIGVuZCBvZiBvcHRpb25zIGlzCiAgICBlbmNvdW50ZXJlZCBvciBhbiBlcnJvciBvY2N1cnMuAFByaW50IHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LgogICAgCiAgICBPcHRpb25zOgogICAgICAtTAlwcmludCB0aGUgdmFsdWUgb2YgJFBXRCBpZiBpdCBuYW1lcyB0aGUgY3VycmVudCB3b3JraW5nCiAgICAJZGlyZWN0b3J5CiAgICAgIC1QCXByaW50IHRoZSBwaHlzaWNhbCBkaXJlY3RvcnksIHdpdGhvdXQgYW55IHN5bWJvbGljIGxpbmtzCiAgICAKICAgIEJ5IGRlZmF1bHQsIGBwd2QnIGJlaGF2ZXMgYXMgaWYgYC1MJyB3ZXJlIHNwZWNpZmllZC4KICAgIAogICAgRXhpdCBTdGF0dXM6CiAgICBSZXR1cm5zIDAgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIHRoZSBjdXJyZW50IGRpcmVjdG9yeQogICAgY2Fubm90IGJlIHJlYWQuAFF1aXQAUmVhZCBsaW5lcyBmcm9tIGEgZmlsZSBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLgogICAgCiAgICBBIHN5bm9ueW0gZm9yIGBtYXBmaWxlJy4AUmVjb3JkIGxvY2sAUmVtb3ZlIGVhY2ggTkFNRSBmcm9tIHRoZSBsaXN0IG9mIGRlZmluZWQgYWxpYXNlcy4KICAgIAogICAgT3B0aW9uczoKICAgICAgLWEJcmVtb3ZlIGFsbCBhbGlhcyBkZWZpbml0aW9ucy4KICAgIAogICAgUmV0dXJuIHN1Y2Nlc3MgdW5sZXNzIGEgTkFNRSBpcyBub3QgYW4gZXhpc3RpbmcgYWxpYXMuAFJlbW92ZXMgZW50cmllcyBmcm9tIHRoZSBkaXJlY3Rvcnkgc3RhY2suICBXaXRoIG5vIGFyZ3VtZW50cywgcmVtb3ZlcwogICAgdGhlIHRvcCBkaXJlY3RvcnkgZnJvbSB0aGUgc3RhY2ssIGFuZCBjaGFuZ2VzIHRvIHRoZSBuZXcgdG9wIGRpcmVjdG9yeS4KICAgIAogICAgT3B0aW9uczoKICAgICAgLW4JU3VwcHJlc3NlcyB0aGUgbm9ybWFsIGNoYW5nZSBvZiBkaXJlY3Rvcnkgd2hlbiByZW1vdmluZwogICAgCWRpcmVjdG9yaWVzIGZyb20gdGhlIHN0YWNrLCBzbyBvbmx5IHRoZSBzdGFjayBpcyBtYW5pcHVsYXRlZC4KICAgIAogICAgQXJndW1lbnRzOgogICAgICArTglSZW1vdmVzIHRoZSBOdGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdAogICAgCXNob3duIGJ5IGBkaXJzJywgc3RhcnRpbmcgd2l0aCB6ZXJvLiAgRm9yIGV4YW1wbGU6IGBwb3BkICswJwogICAgCXJlbW92ZXMgdGhlIGZpcnN0IGRpcmVjdG9yeSwgYHBvcGQgKzEnIHRoZSBzZWNvbmQuCiAgICAKICAgICAgLU4JUmVtb3ZlcyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0CiAgICAJc2hvd24gYnkgYGRpcnMnLCBzdGFydGluZyB3aXRoIHplcm8uICBGb3IgZXhhbXBsZTogYHBvcGQgLTAnCiAgICAJcmVtb3ZlcyB0aGUgbGFzdCBkaXJlY3RvcnksIGBwb3BkIC0xJyB0aGUgbmV4dCB0byBsYXN0LgogICAgCiAgICBUaGUgYGRpcnMnIGJ1aWx0aW4gZGlzcGxheXMgdGhlIGRpcmVjdG9yeSBzdGFjay4AUmVwbGFjZSB0aGUgc2hlbGwgd2l0aCB0aGUgZ2l2ZW4gY29tbWFuZC4KICAgIAogICAgRXhlY3V0ZSBDT01NQU5ELCByZXBsYWNpbmcgdGhpcyBzaGVsbCB3aXRoIHRoZSBzcGVjaWZpZWQgcHJvZ3JhbS4KICAgIEFSR1VNRU5UUyBiZWNvbWUgdGhlIGFyZ3VtZW50cyB0byBDT01NQU5ELiAgSWYgQ09NTUFORCBpcyBub3Qgc3BlY2lmaWVkLAogICAgYW55IHJlZGlyZWN0aW9ucyB0YWtlIGVmZmVjdCBpbiB0aGUgY3VycmVudCBzaGVsbC4KICAgIAogICAgT3B0aW9uczoKICAgICAgLWEgbmFtZQlwYXNzIE5BTUUgYXMgdGhlIHplcm90aCBhcmd1bWVudCB0byBDT01NQU5ECiAgICAgIC1jCQlleGVjdXRlIENPTU1BTkQgd2l0aCBhbiBlbXB0eSBlbnZpcm9ubWVudAogICAgICAtbAkJcGxhY2UgYSBkYXNoIGluIHRoZSB6ZXJvdGggYXJndW1lbnQgdG8gQ09NTUFORAogICAgCiAgICBJZiB0aGUgY29tbWFuZCBjYW5ub3QgYmUgZXhlY3V0ZWQsIGEgbm9uLWludGVyYWN0aXZlIHNoZWxsIGV4aXRzLCB1bmxlc3MKICAgIHRoZSBzaGVsbCBvcHRpb24gYGV4ZWNmYWlsJyBpcyBzZXQuCiAgICAKICAgIEV4aXQgU3RhdHVzOgogICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBDT01NQU5EIGlzIG5vdCBmb3VuZCBvciBhIHJlZGlyZWN0aW9uIGVycm9yIG9jY3Vycy4AUmVzdW1lIGZvciwgd2hpbGUsIG9yIHVudGlsIGxvb3BzLgogICAgCiAgICBSZXN1bWVzIHRoZSBuZXh0IGl0ZXJhdGlvbiBvZiB0aGUgZW5jbG9zaW5nIEZPUiwgV0hJTEUgb3IgVU5USUwgbG9vcC4KICAgIElmIE4gaXMgc3BlY2lmaWVkLCByZXN1bWVzIHRoZSBOdGggZW5jbG9zaW5nIGxvb3AuCiAgICAKICAgIEV4aXQgU3RhdHVzOgogICAgVGhlIGV4aXQgc3RhdHVzIGlzIDAgdW5sZXNzIE4gaXMgbm90IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLgBSZXN1bWUgam9iIGluIGZvcmVncm91bmQuCiAgICAKICAgIEVxdWl2YWxlbnQgdG8gdGhlIEpPQl9TUEVDIGFyZ3VtZW50IHRvIHRoZSBgZmcnIGNvbW1hbmQuICBSZXN1bWUgYQogICAgc3RvcHBlZCBvciBiYWNrZ3JvdW5kIGpvYi4gIEpPQl9TUEVDIGNhbiBzcGVjaWZ5IGVpdGhlciBhIGpvYiBuYW1lCiAgICBvciBhIGpvYiBudW1iZXIuICBGb2xsb3dpbmcgSk9CX1NQRUMgd2l0aCBhIGAmJyBwbGFjZXMgdGhlIGpvYiBpbgogICAgdGhlIGJhY2tncm91bmQsIGFzIGlmIHRoZSBqb2Igc3BlY2lmaWNhdGlvbiBoYWQgYmVlbiBzdXBwbGllZCBhcyBhbgogICAgYXJndW1lbnQgdG8gYGJnJy4KICAgIAogICAgRXhpdCBTdGF0dXM6CiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIHJlc3VtZWQgam9iLgBSZXR1cm4gYSBzdWNjZXNzZnVsIHJlc3VsdC4KICAgIAogICAgRXhpdCBTdGF0dXM6CiAgICBBbHdheXMgc3VjY2VlZHMuAFJldHVybiBhbiB1bnN1Y2Nlc3NmdWwgcmVzdWx0LgogICAgCiAgICBFeGl0IFN0YXR1czoKICAgIEFsd2F5cyBmYWlscy4AUmV0dXJuIHRoZSBjb250ZXh0IG9mIHRoZSBjdXJyZW50IHN1YnJvdXRpbmUgY2FsbC4KICAgIAogICAgV2l0aG91dCBFWFBSLCByZXR1cm5zICIkbGluZSAkZmlsZW5hbWUiLiAgV2l0aCBFWFBSLCByZXR1cm5zCiAgICAiJGxpbmUgJHN1YnJvdXRpbmUgJGZpbGVuYW1lIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0bwogICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLgogICAgCiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlCiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLgogICAgCiAgICBFeGl0IFN0YXR1czoKICAgIFJldHVybnMgMCB1bmxlc3MgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBzaGVsbCBmdW5jdGlvbiBvciBFWFBSCiAgICBpcyBpbnZhbGlkLgBSZXR1cm5zIHRoZSBjb250ZXh0IG9mIHRoZSBjdXJyZW50IHN1YnJvdXRpbmUgY2FsbC4KICAgIAogICAgV2l0aG91dCBFWFBSLCByZXR1cm5zIABSdW5uaW5nAFNlZ21lbnRhdGlvbiBmYXVsdABTZWxlY3Qgd29yZHMgZnJvbSBhIGxpc3QgYW5kIGV4ZWN1dGUgY29tbWFuZHMuCiAgICAKICAgIFRoZSBXT1JEUyBhcmUgZXhwYW5kZWQsIGdlbmVyYXRpbmcgYSBsaXN0IG9mIHdvcmRzLiAgVGhlCiAgICBzZXQgb2YgZXhwYW5kZWQgd29yZHMgaXMgcHJpbnRlZCBvbiB0aGUgc3RhbmRhcmQgZXJyb3IsIGVhY2gKICAgIHByZWNlZGVkIGJ5IGEgbnVtYmVyLiAgSWYgYGluIFdPUkRTJyBpcyBub3QgcHJlc2VudCwgYGluICIkQCInCiAgICBpcyBhc3N1bWVkLiAgVGhlIFBTMyBwcm9tcHQgaXMgdGhlbiBkaXNwbGF5ZWQgYW5kIGEgbGluZSByZWFkCiAgICBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dC4gIElmIHRoZSBsaW5lIGNvbnNpc3RzIG9mIHRoZSBudW1iZXIKICAgIGNvcnJlc3BvbmRpbmcgdG8gb25lIG9mIHRoZSBkaXNwbGF5ZWQgd29yZHMsIHRoZW4gTkFNRSBpcyBzZXQKICAgIHRvIHRoYXQgd29yZC4gIElmIHRoZSBsaW5lIGlzIGVtcHR5LCBXT1JEUyBhbmQgdGhlIHByb21wdCBhcmUKICAgIHJlZGlzcGxheWVkLiAgSWYgRU9GIGlzIHJlYWQsIHRoZSBjb21tYW5kIGNvbXBsZXRlcy4gIEFueSBvdGhlcgogICAgdmFsdWUgcmVhZCBjYXVzZXMgTkFNRSB0byBiZSBzZXQgdG8gbnVsbC4gIFRoZSBsaW5lIHJlYWQgaXMgc2F2ZWQKICAgIGluIHRoZSB2YXJpYWJsZSBSRVBMWS4gIENPTU1BTkRTIGFyZSBleGVjdXRlZCBhZnRlciBlYWNoIHNlbGVjdGlvbgogICAgdW50aWwgYSBicmVhayBjb21tYW5kIGlzIGV4ZWN1dGVkLgogICAgCiAgICBFeGl0IFN0YXR1czoKICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLgBTZXQgUmVhZGxpbmUga2V5IGJpbmRpbmdzIGFuZCB2YXJpYWJsZXMuCiAgICAKICAgIEJpbmQgYSBrZXkgc2VxdWVuY2UgdG8gYSBSZWFkbGluZSBmdW5jdGlvbiBvciBhIG1hY3JvLCBvciBzZXQgYQogICAgUmVhZGxpbmUgdmFyaWFibGUuICBUaGUgbm9uLW9wdGlvbiBhcmd1bWVudCBzeW50YXggaXMgZXF1aXZhbGVudCB0bwogICAgdGhhdCBmb3VuZCBpbiB+Ly5pbnB1dHJjLCBidXQgbXVzdCBiZSBwYXNzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQ6CiAgICBlLmcuLCBiaW5kICciXEMteFxDLXIiOiByZS1yZWFkLWluaXQtZmlsZScuCiAgICAKICAgIE9wdGlvbnM6CiAgICAgIC1tICBrZXltYXAgICAgICAgICBVc2UgS0VZTUFQIGFzIHRoZSBrZXltYXAgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGlzCiAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kLiAgQWNjZXB0YWJsZSBrZXltYXAgbmFtZXMgYXJlIGVtYWNzLAogICAgICAgICAgICAgICAgICAgICAgICAgZW1hY3Mtc3RhbmRhcmQsIGVtYWNzLW1ldGEsIGVtYWNzLWN0bHgsIHZpLCB2aS1tb3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgdmktY29tbWFuZCwgYW5kIHZpLWluc2VydC4KICAgICAgLWwgICAgICAgICAgICAgICAgIExpc3QgbmFtZXMgb2YgZnVuY3Rpb25zLgogICAgICAtUCAgICAgICAgICAgICAgICAgTGlzdCBmdW5jdGlvbiBuYW1lcyBhbmQgYmluZGluZ3MuCiAgICAgIC1wICAgICAgICAgICAgICAgICBMaXN0IGZ1bmN0aW9ucyBhbmQgYmluZGluZ3MgaW4gYSBmb3JtIHRoYXQgY2FuIGJlCiAgICAgICAgICAgICAgICAgICAgICAgICByZXVzZWQgYXMgaW5wdXQuCiAgICAgIC1TICAgICAgICAgICAgICAgICBMaXN0IGtleSBzZXF1ZW5jZXMgdGhhdCBpbnZva2UgbWFjcm9zIGFuZCB0aGVpciB2YWx1ZXMKICAgICAgLXMgICAgICAgICAgICAgICAgIExpc3Qga2V5IHNlcXVlbmNlcyB0aGF0IGludm9rZSBtYWNyb3MgYW5kIHRoZWlyIHZhbHVlcwogICAgICAgICAgICAgICAgICAgICAgICAgaW4gYSBmb3JtIHRoYXQgY2FuIGJlIHJldXNlZCBhcyBpbnB1dC4KICAgICAgLVYgICAgICAgICAgICAgICAgIExpc3QgdmFyaWFibGUgbmFtZXMgYW5kIHZhbHVlcwogICAgICAtdiAgICAgICAgICAgICAgICAgTGlzdCB2YXJpYWJsZSBuYW1lcyBhbmQgdmFsdWVzIGluIGEgZm9ybSB0aGF0IGNhbgogICAgICAgICAgICAgICAgICAgICAgICAgYmUgcmV1c2VkIGFzIGlucHV0LgogICAgICAtcSAgZnVuY3Rpb24tbmFtZSAgUXVlcnkgYWJvdXQgd2hpY2gga2V5cyBpbnZva2UgdGhlIG5hbWVkIGZ1bmN0aW9uLgogICAgICAtdSAgZnVuY3Rpb24tbmFtZSAgVW5iaW5kIGFsbCBrZXlzIHdoaWNoIGFyZSBib3VuZCB0byB0aGUgbmFtZWQgZnVuY3Rpb24uCiAgICAgIC1yICBrZXlzZXEgICAgICAgICBSZW1vdmUgdGhlIGJpbmRpbmcgZm9yIEtFWVNFUS4KICAgICAgLWYgIGZpbGVuYW1lICAgICAgIFJlYWQga2V5IGJpbmRpbmdzIGZyb20gRklMRU5BTUUuCiAgICAgIC14ICBrZXlzZXE6c2hlbGwtY29tbWFuZAlDYXVzZSBTSEVMTC1DT01NQU5EIHRvIGJlIGV4ZWN1dGVkIHdoZW4KICAgIAkJCQlLRVlTRVEgaXMgZW50ZXJlZC4KICAgICAgLVgJCSAgICAgTGlzdCBrZXkgc2VxdWVuY2VzIGJvdW5kIHdpdGggLXggYW5kIGFzc29jaWF0ZWQgY29tbWFuZHMKICAgICAgICAgICAgICAgICAgICAgICAgIGluIGEgZm9ybSB0aGF0IGNhbiBiZSByZXVzZWQgYXMgaW5wdXQuCiAgICAKICAgIEV4aXQgU3RhdHVzOgogICAgYmluZCByZXR1cm5zIDAgdW5sZXNzIGFuIHVucmVjb2duaXplZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYW4gZXJyb3Igb2NjdXJzLgBTZXQgdmFyaWFibGUgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzLgogICAgCiAgICBPYnNvbGV0ZS4gIFNlZSBgaGVscCBkZWNsYXJlJy4AU2hlbGwgY29tbWFuZHMgbWF0Y2hpbmcga2V5d29yZCBgAFNoZWxsIGNvbW1hbmRzIG1hdGNoaW5nIGtleXdvcmRzIGAAU2hlbGwgb3B0aW9uczoKAFNpZ25hbCAlZABTdG9wcGVkAFN0b3BwZWQgKHNpZ25hbCkAU3RvcHBlZCAodHR5IGlucHV0KQBTdG9wcGVkICh0dHkgb3V0cHV0KQBTdG9wcGVkKCVzKQBUSU1FRk9STUFUOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIAVGVybWluYXRlZABUaGUgbWFpbCBpbiAlcyBoYXMgYmVlbiByZWFkCgBUaGVyZSBhcmUgcnVubmluZyBqb2JzLgoAVGhlcmUgYXJlIHN0b3BwZWQgam9icy4KAFRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuAFRoZXNlIHNoZWxsIGNvbW1hbmRzIGFyZSBkZWZpbmVkIGludGVybmFsbHkuICBUeXBlIGBoZWxwJyB0byBzZWUgdGhpcyBsaXN0LgpUeXBlIGBoZWxwIG5hbWUnIHRvIGZpbmQgb3V0IG1vcmUgYWJvdXQgdGhlIGZ1bmN0aW9uIGBuYW1lJy4KVXNlIGBpbmZvIGJhc2gnIHRvIGZpbmQgb3V0IG1vcmUgYWJvdXQgdGhlIHNoZWxsIGluIGdlbmVyYWwuClVzZSBgbWFuIC1rJyBvciBgaW5mbycgdG8gZmluZCBvdXQgbW9yZSBhYm91dCBjb21tYW5kcyBub3QgaW4gdGhpcyBsaXN0LgoKQSBzdGFyICgqKSBuZXh0IHRvIGEgbmFtZSBtZWFucyB0aGF0IHRoZSBjb21tYW5kIGlzIGRpc2FibGVkLgoKAFRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0cmlidXRlIGl0LgBUeXBlIGAlcyAtYyAiaGVscCBzZXQiJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBvcHRpb25zLgoAVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy4KAFVua25vd24gU2lnbmFsICMAVW5rbm93biBTaWduYWwgIyVkAFVua25vd24gZXJyb3IAVW5rbm93biBzdGF0dXMAVXJnZW50IElPIGNvbmRpdGlvbgBVc2FnZToJJXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gLi4uCgklcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSBzY3JpcHQtZmlsZSAuLi4KAFVzZSAiJXMiIHRvIGxlYXZlIHRoZSBzaGVsbC4KAFVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuCgBVc2VyIHNpZ25hbCAxAFVzZXIgc2lnbmFsIDIAV2FpdCBmb3Igam9iIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy4KICAgIAogICAgV2FpdHMgZm9yIGVhY2ggcHJvY2VzcyBpZGVudGlmaWVkIGJ5IGFuIElELCB3aGljaCBtYXkgYmUgYSBwcm9jZXNzIElEIG9yIGEKICAgIGpvYiBzcGVjaWZpY2F0aW9uLCBhbmQgcmVwb3J0cyBpdHMgdGVybWluYXRpb24gc3RhdHVzLiAgSWYgSUQgaXMgbm90CiAgICBnaXZlbiwgd2FpdHMgZm9yIGFsbCBjdXJyZW50bHkgYWN0aXZlIGNoaWxkIHByb2Nlc3NlcywgYW5kIHRoZSByZXR1cm4KICAgIHN0YXR1cyBpcyB6ZXJvLiAgSWYgSUQgaXMgYSBhIGpvYiBzcGVjaWZpY2F0aW9uLCB3YWl0cyBmb3IgYWxsIHByb2Nlc3NlcwogICAgaW4gdGhhdCBqb2IncyBwaXBlbGluZS4KICAgIAogICAgSWYgdGhlIC1uIG9wdGlvbiBpcyBzdXBwbGllZCwgd2FpdHMgZm9yIHRoZSBuZXh0IGpvYiB0byB0ZXJtaW5hdGUgYW5kCiAgICByZXR1cm5zIGl0cyBleGl0IHN0YXR1cy4KICAgIAogICAgRXhpdCBTdGF0dXM6CiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgSUQ7IGZhaWxzIGlmIElEIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZAogICAgb3B0aW9uIGlzIGdpdmVuLgBXYWl0IGZvciBwcm9jZXNzIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy4KICAgIAogICAgV2FpdHMgZm9yIGVhY2ggcHJvY2VzcyBzcGVjaWZpZWQgYnkgYSBQSUQgYW5kIHJlcG9ydHMgaXRzIHRlcm1pbmF0aW9uIHN0YXR1cy4KICAgIElmIFBJRCBpcyBub3QgZ2l2ZW4sIHdhaXRzIGZvciBhbGwgY3VycmVudGx5IGFjdGl2ZSBjaGlsZCBwcm9jZXNzZXMsCiAgICBhbmQgdGhlIHJldHVybiBzdGF0dXMgaXMgemVyby4gIFBJRCBtdXN0IGJlIGEgcHJvY2VzcyBJRC4KICAgIAogICAgRXhpdCBTdGF0dXM6CiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgUElEOyBmYWlscyBpZiBQSUQgaXMgaW52YWxpZCBvciBhbiBpbnZhbGlkCiAgICBvcHRpb24gaXMgZ2l2ZW4uAFdpbmRvdyBjaGFuZ2VkAFdyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LgogICAgCiAgICBEaXNwbGF5IHRoZSBBUkdzIG9uIHRoZSBzdGFuZGFyZCBvdXRwdXQgZm9sbG93ZWQgYnkgYSBuZXdsaW5lLgogICAgCiAgICBPcHRpb25zOgogICAgICAtbglkbyBub3QgYXBwZW5kIGEgbmV3bGluZQogICAgCiAgICBFeGl0IFN0YXR1czoKICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYSB3cml0ZSBlcnJvciBvY2N1cnMuAFlvdSBoYXZlIG1haWwgaW4gJF8AWW91IGhhdmUgbmV3IG1haWwgaW4gJF8AWyBhcmcuLi4gXQBbWyBleHByZXNzaW9uIF1dAGAlYyc6IGJhZCBjb21tYW5kAGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlcgBgJWMnOiBpbnZhbGlkIHN5bWJvbGljIG1vZGUgY2hhcmFjdGVyAGAlYyc6IGludmFsaWQgc3ltYm9saWMgbW9kZSBvcGVyYXRvcgBgJWMnOiBpbnZhbGlkIHRpbWUgZm9ybWF0IHNwZWNpZmljYXRpb24AYCVzJzogY2Fubm90IHVuYmluZABgJXMnOiBpbnZhbGlkIGFsaWFzIG5hbWUAYCVzJzogaW52YWxpZCBrZXltYXAgbmFtZQBgJXMnOiBpcyBhIHNwZWNpYWwgYnVpbHRpbgBgJXMnOiBtaXNzaW5nIGZvcm1hdCBjaGFyYWN0ZXIAYCVzJzogbm90IGEgcGlkIG9yIHZhbGlkIGpvYiBzcGVjAGAlcyc6IG5vdCBhIHZhbGlkIGlkZW50aWZpZXIAYCVzJzogdW5rbm93biBmdW5jdGlvbiBuYW1lAGApJyBleHBlY3RlZABgKScgZXhwZWN0ZWQsIGZvdW5kICVzAGA6JyBleHBlY3RlZCBmb3IgY29uZGl0aW9uYWwgZXhwcmVzc2lvbgBhZGRfcHJvY2VzczogcGlkICU1bGQgKCVzKSBtYXJrZWQgYXMgc3RpbGwgYWxpdmUAYWRkX3Byb2Nlc3M6IHByb2Nlc3MgJTVsZCAoJXMpIGluIHRoZV9waXBlbGluZQBhbGlhcyBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uIF0AYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlAGFyZ3VtZW50AGFyZ3VtZW50IGV4cGVjdGVkAGFycmF5IHZhcmlhYmxlIHN1cHBvcnQgcmVxdWlyZWQAYXR0ZW1wdGVkIGFzc2lnbm1lbnQgdG8gbm9uLXZhcmlhYmxlAGJhZCBhcnJheSBzdWJzY3JpcHQAYmFkIGNvbW1hbmQgdHlwZQBiYWQgY29ubmVjdG9yAGJhZCBqdW1wAGJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgImAiIGluICVzAGJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgYCVzJyBpbiAlcwBiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBjYW5ub3QgZmluZCBrZXltYXAgZm9yIGNvbW1hbmQAYmcgW2pvYl9zcGVjIC4uLl0AYmluZCBbLWxwc3ZQU1ZYXSBbLW0ga2V5bWFwXSBbLWYgZmlsZW5hbWVdIFstcSBuYW1lXSBbLXUgbmFtZV0gWy1yIGtleXNlcV0gWy14IGtleXNlcTpzaGVsbC1jb21tYW5kXSBba2V5c2VxOnJlYWRsaW5lLWZ1bmN0aW9uIG9yIHJlYWRsaW5lLWNvbW1hbmRdAGJyZWFrIFtuXQBidWc6IGJhZCBleHBhc3NpZ24gdG9rZW4AYnVpbHRpbiBbc2hlbGwtYnVpbHRpbiBbYXJnIC4uLl1dAGNhbGxlciBbZXhwcl0AY2FuIG9ubHkgYHJldHVybicgZnJvbSBhIGZ1bmN0aW9uIG9yIHNvdXJjZWQgc2NyaXB0AGNhbiBvbmx5IGJlIHVzZWQgaW4gYSBmdW5jdGlvbgBjYW5ub3QgYWxsb2NhdGUgbmV3IGZpbGUgZGVzY3JpcHRvciBmb3IgYmFzaCBpbnB1dCBmcm9tIGZkICVkAGNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcwBjYW5ub3QgZHVwbGljYXRlIGZkICVkIHRvIGZkICVkAGNhbm5vdCBkdXBsaWNhdGUgbmFtZWQgcGlwZSAlcyBhcyBmZCAlZABjYW5ub3QgZmluZCAlcyBpbiBzaGFyZWQgb2JqZWN0ICVzOiAlcwBjYW5ub3QgbWFrZSBjaGlsZCBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24AY2Fubm90IG1ha2UgY2hpbGQgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uAGNhbm5vdCBtYWtlIHBpcGUgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uAGNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uAGNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHJlYWRpbmcAY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3Igd3JpdGluZwBjYW5ub3Qgb3BlbiBzaGFyZWQgb2JqZWN0ICVzOiAlcwBjYW5ub3QgcmVkaXJlY3Qgc3RhbmRhcmQgaW5wdXQgZnJvbSAvZGV2L251bGw6ICVzAGNhbm5vdCByZXNldCBub2RlbGF5IG1vZGUgZm9yIGZkICVkAGNhbm5vdCBzZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMgc2ltdWx0YW5lb3VzbHkAY2Fubm90IHNldCB0ZXJtaW5hbCBwcm9jZXNzIGdyb3VwICglZCkAY2Fubm90IHNpbXVsdGFuZW91c2x5IHVuc2V0IGEgZnVuY3Rpb24gYW5kIGEgdmFyaWFibGUAY2Fubm90IHN1c3BlbmQAY2Fubm90IHN1c3BlbmQgYSBsb2dpbiBzaGVsbABjYW5ub3QgdXNlIGAtZicgdG8gbWFrZSBmdW5jdGlvbnMAY2Fubm90IHVzZSBtb3JlIHRoYW4gb25lIG9mIC1hbnJ3AGNhc2UgV09SRCBpbiBbUEFUVEVSTiBbfCBQQVRURVJOXS4uLikgQ09NTUFORFMgOztdLi4uIGVzYWMAY2hpbGQgc2V0cGdpZCAoJWxkIHRvICVsZCkAY29tbWFuZCBbLXBWdl0gY29tbWFuZCBbYXJnIC4uLl0AY29tbWFuZF9zdWJzdGl0dXRlOiBjYW5ub3QgZHVwbGljYXRlIHBpcGUgYXMgZmQgMQBjb21wZ2VuIFstYWJjZGVmZ2prc3V2XSBbLW8gb3B0aW9uXSAgWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstVyB3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyBzdWZmaXhdIFt3b3JkXQBjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1ERV0gWy1vIG9wdGlvbl0gWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstVyB3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyBzdWZmaXhdIFtuYW1lIC4uLl0AY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQAY29tcG9wdCBbLW98K28gb3B0aW9uXSBbLURFXSBbbmFtZSAuLi5dAGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZABjb250aW51ZSBbbl0AY29wcm9jIFtOQU1FXSBjb21tYW5kIFtyZWRpcmVjdGlvbnNdAGNvdWxkIG5vdCBmaW5kIC90bXAsIHBsZWFzZSBjcmVhdGUhAGNwcmludGY6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlcgBjdXJyZW50AGRlY2xhcmUgWy1hQWZGZ2lsbnJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dAGRlbGV0aW5nIHN0b3BwZWQgam9iICVkIHdpdGggcHJvY2VzcyBncm91cCAlbGQAZGVzY3JpYmVfcGlkOiAlbGQ6IG5vIHN1Y2ggcGlkAGRpcmVjdG9yeSBzdGFjayBlbXB0eQBkaXJlY3Rvcnkgc3RhY2sgaW5kZXgAZGlycyBbLWNscHZdIFsrTl0gWy1OXQBkaXNvd24gWy1oXSBbLWFyXSBbam9ic3BlYyAuLi5dAGRpdmlzaW9uIGJ5IDAAZHluYW1pYyBsb2FkaW5nIG5vdCBhdmFpbGFibGUAZWNobyBbLW5dIFthcmcgLi4uXQBlY2hvIFstbmVFXSBbYXJnIC4uLl0AZW1wdHkgYXJyYXkgdmFyaWFibGUgbmFtZQBlbmFibGUgWy1hXSBbLWRucHNdIFstZiBmaWxlbmFtZV0gW25hbWUgLi4uXQBlcnJvciBnZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVzAGVycm9yIGltcG9ydGluZyBmdW5jdGlvbiBkZWZpbml0aW9uIGZvciBgJXMnAGVycm9yIHNldHRpbmcgdGVybWluYWwgYXR0cmlidXRlczogJXMAZXZhbCBbYXJnIC4uLl0AZXhlYyBbLWNsXSBbLWEgbmFtZV0gW2NvbW1hbmQgW2FyZ3VtZW50cyAuLi5dXSBbcmVkaXJlY3Rpb24gLi4uXQBleGl0IFtuXQBleHBlY3RlZCBgKScAZXhwb25lbnQgbGVzcyB0aGFuIDAAZXhwb3J0IFstZm5dIFtuYW1lWz12YWx1ZV0gLi4uXSBvciBleHBvcnQgLXAAZXhwcmVzc2lvbiBleHBlY3RlZABleHByZXNzaW9uIHJlY3Vyc2lvbiBsZXZlbCBleGNlZWRlZABmYWxzZQBmYyBbLWUgZW5hbWVdIFstbG5yXSBbZmlyc3RdIFtsYXN0XSBvciBmYyAtcyBbcGF0PXJlcF0gW2NvbW1hbmRdAGZnIFtqb2Jfc3BlY10AZmlsZSBkZXNjcmlwdG9yIG91dCBvZiByYW5nZQBmaWxlbmFtZSBhcmd1bWVudCByZXF1aXJlZABmb3IgKCggZXhwMTsgZXhwMjsgZXhwMyApKTsgZG8gQ09NTUFORFM7IGRvbmUAZm9yIE5BTUUgW2luIFdPUkRTIC4uLiBdIDsgZG8gQ09NTUFORFM7IGRvbmUAZm9ya2VkIHBpZCAlZCBhcHBlYXJzIGluIHJ1bm5pbmcgam9iICVkAGZyZWU6IGNhbGxlZCB3aXRoIGFscmVhZHkgZnJlZWQgYmxvY2sgYXJndW1lbnQAZnJlZTogY2FsbGVkIHdpdGggdW5hbGxvY2F0ZWQgYmxvY2sgYXJndW1lbnQAZnJlZTogc3RhcnQgYW5kIGVuZCBjaHVuayBzaXplcyBkaWZmZXIAZnJlZTogdW5kZXJmbG93IGRldGVjdGVkOyBtaF9uYnl0ZXMgb3V0IG9mIHJhbmdlAGZ1bmN0aW9uIG5hbWUgeyBDT01NQU5EUyA7IH0gb3IgbmFtZSAoKSB7IENPTU1BTkRTIDsgfQBmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljIHN1YnN0aXR1dGlvbgBnZXRjd2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50IGRpcmVjdG9yaWVzAGdldG9wdHMgb3B0c3RyaW5nIG5hbWUgW2FyZ10AaGFzaCBbLWxyXSBbLXAgcGF0aG5hbWVdIFstZHRdIFtuYW1lIC4uLl0AaGFzaGluZyBkaXNhYmxlZABoZWxwIFstZG1zXSBbcGF0dGVybiAuLi5dAGhlcmUtZG9jdW1lbnQgYXQgbGluZSAlZCBkZWxpbWl0ZWQgYnkgZW5kLW9mLWZpbGUgKHdhbnRlZCBgJXMnKQBoaXN0b3J5IFstY10gWy1kIG9mZnNldF0gW25dIG9yIGhpc3RvcnkgLWFucncgW2ZpbGVuYW1lXSBvciBoaXN0b3J5IC1wcyBhcmcgW2FyZy4uLl0AaGlzdG9yeSBwb3NpdGlvbgBoaXN0b3J5IHNwZWNpZmljYXRpb24AaGl0cwljb21tYW5kCgBpZGVudGlmaWVyIGV4cGVjdGVkIGFmdGVyIHByZS1pbmNyZW1lbnQgb3IgcHJlLWRlY3JlbWVudABpZiBDT01NQU5EUzsgdGhlbiBDT01NQU5EUzsgWyBlbGlmIENPTU1BTkRTOyB0aGVuIENPTU1BTkRTOyBdLi4uIFsgZWxzZSBDT01NQU5EUzsgXSBmaQBpbml0aWFsaXplX2pvYl9jb250cm9sOiBnZXRwZ3JwIGZhaWxlZABpbml0aWFsaXplX2pvYl9jb250cm9sOiBsaW5lIGRpc2NpcGxpbmUAaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZABpbnZhbGlkIGFyaXRobWV0aWMgYmFzZQBpbnZhbGlkIGJhc2UAaW52YWxpZCBjaGFyYWN0ZXIgJWQgaW4gZXhwb3J0c3RyIGZvciAlcwBpbnZhbGlkIGhleCBudW1iZXIAaW52YWxpZCBudW1iZXIAaW52YWxpZCBvY3RhbCBudW1iZXIAaW52YWxpZCBzaWduYWwgbnVtYmVyAGpvYiAlZCBzdGFydGVkIHdpdGhvdXQgam9iIGNvbnRyb2wAam9iX3NwZWMgWyZdAGpvYnMgWy1sbnByc10gW2pvYnNwZWMgLi4uXSBvciBqb2JzIC14IGNvbW1hbmQgW2FyZ3NdAGtpbGwgWy1zIHNpZ3NwZWMgfCAtbiBzaWdudW0gfCAtc2lnc3BlY10gcGlkIHwgam9ic3BlYyAuLi4gb3Iga2lsbCAtbCBbc2lnc3BlY10AbGFzdCBjb21tYW5kOiAlcwoAbGV0IGFyZyBbYXJnIC4uLl0AbGltaXQAbGluZSAlZDogAGxpbmUgZWRpdGluZyBub3QgZW5hYmxlZABsb2NhbCBbb3B0aW9uXSBuYW1lWz12YWx1ZV0gLi4uAGxvZ291dAoAbG9nb3V0IFtuXQBsb29wIGNvdW50AG1ha2VfaGVyZV9kb2N1bWVudDogYmFkIGluc3RydWN0aW9uIHR5cGUgJWQAbWFrZV9sb2NhbF92YXJpYWJsZTogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlAG1ha2VfcmVkaXJlY3Rpb246IHJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGAlZCcgb3V0IG9mIHJhbmdlAG1hbGxvYzogYmxvY2sgb24gZnJlZSBsaXN0IGNsb2JiZXJlZABtYWxsb2M6IGZhaWxlZCBhc3NlcnRpb246ICVzCgBtYXBmaWxlIFstbiBjb3VudF0gWy1PIG9yaWdpbl0gWy1zIGNvdW50XSBbLXRdIFstdSBmZF0gWy1DIGNhbGxiYWNrXSBbLWMgcXVhbnR1bV0gW2FycmF5XQBtaWdyYXRlIHByb2Nlc3MgdG8gYW5vdGhlciBDUFUAbWlzc2luZyBgKScAbWlzc2luZyBgXScAbWlzc2luZyBoZXggZGlnaXQgZm9yIFx4AG1pc3NpbmcgdW5pY29kZSBkaWdpdCBmb3IgXCVjAG5ldHdvcmsgb3BlcmF0aW9ucyBub3Qgc3VwcG9ydGVkAG5vIGA9JyBpbiBleHBvcnRzdHIgZm9yICVzAG5vIGNsb3NpbmcgYCVjJyBpbiAlcwBubyBjb21tYW5kIGZvdW5kAG5vIGhlbHAgdG9waWNzIG1hdGNoIGAlcycuICBUcnkgYGhlbHAgaGVscCcgb3IgYG1hbiAtayAlcycgb3IgYGluZm8gJXMnLgBubyBqb2IgY29udHJvbABubyBqb2IgY29udHJvbCBpbiB0aGlzIHNoZWxsAG5vIG1hdGNoOiAlcwBubyBvdGhlciBkaXJlY3RvcnkAbm8gb3RoZXIgb3B0aW9ucyBhbGxvd2VkIHdpdGggYC14JwBub3QgY3VycmVudGx5IGV4ZWN1dGluZyBjb21wbGV0aW9uIGZ1bmN0aW9uAG5vdCBsb2dpbiBzaGVsbDogdXNlIGBleGl0JwBvY3RhbCBudW1iZXIAb25seSBtZWFuaW5nZnVsIGluIGEgYGZvcicsIGB3aGlsZScsIG9yIGB1bnRpbCcgbG9vcABwaXBlIGVycm9yAHBvcF9zY29wZTogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHNjb3BlAHBvcF92YXJfY29udGV4dDogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgZnVuY3Rpb24gY29udGV4dABwb3BfdmFyX2NvbnRleHQ6IG5vIGdsb2JhbF92YXJpYWJsZXMgY29udGV4dABwb3BkIFstbl0gWytOIHwgLU5dAHBvd2VyIGZhaWx1cmUgaW1taW5lbnQAcHJpbnRfY29tbWFuZDogYmFkIGNvbm5lY3RvciBgJWQnAHByaW50ZiBbLXYgdmFyXSBmb3JtYXQgW2FyZ3VtZW50c10AcHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQwBwcm9ncmFtbWluZyBlcnJvcgBwdXNoZCBbLW5dIFsrTiB8IC1OIHwgZGlyXQBwd2QgWy1MUF0AcmVhZCBbLWVyc10gWy1hIGFycmF5XSBbLWQgZGVsaW1dIFstaSB0ZXh0XSBbLW4gbmNoYXJzXSBbLU4gbmNoYXJzXSBbLXAgcHJvbXB0XSBbLXQgdGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dAHJlYWQgZXJyb3I6ICVkOiAlcwByZWFkYXJyYXkgWy1uIGNvdW50XSBbLU8gb3JpZ2luXSBbLXMgY291bnRdIFstdF0gWy11IGZkXSBbLUMgY2FsbGJhY2tdIFstYyBxdWFudHVtXSBbYXJyYXldAHJlYWRvbmx5IFstYUFmXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgcmVhZG9ubHkgLXAAcmVhbGxvYzogY2FsbGVkIHdpdGggdW5hbGxvY2F0ZWQgYmxvY2sgYXJndW1lbnQAcmVhbGxvYzogc3RhcnQgYW5kIGVuZCBjaHVuayBzaXplcyBkaWZmZXIAcmVhbGxvYzogdW5kZXJmbG93IGRldGVjdGVkOyBtaF9uYnl0ZXMgb3V0IG9mIHJhbmdlAHJlY3Vyc2lvbiBzdGFjayB1bmRlcmZsb3cAcmVkaXJlY3Rpb24gZXJyb3I6IGNhbm5vdCBkdXBsaWNhdGUgZmQAcmVnaXN0ZXJfYWxsb2M6ICVwIGFscmVhZHkgaW4gdGFibGUgYXMgYWxsb2NhdGVkPwoAcmVnaXN0ZXJfYWxsb2M6IGFsbG9jIHRhYmxlIGlzIGZ1bGwgd2l0aCBGSU5EX0FMTE9DPwoAcmVnaXN0ZXJfZnJlZTogJXAgYWxyZWFkeSBpbiB0YWJsZSBhcyBmcmVlPwoAcmVzdHJpY3RlZAByZXR1cm4gW25dAHJ1bl9wZW5kaW5nX3RyYXBzOiBiYWQgdmFsdWUgaW4gdHJhcF9saXN0WyVkXTogJXAAcnVuX3BlbmRpbmdfdHJhcHM6IHNpZ25hbCBoYW5kbGVyIGlzIFNJR19ERkwsIHJlc2VuZGluZyAlZCAoJXMpIHRvIG15c2VsZgBzYXZlX2Jhc2hfaW5wdXQ6IGJ1ZmZlciBhbHJlYWR5IGV4aXN0cyBmb3IgbmV3IGZkICVkAHNlbGVjdCBOQU1FIFtpbiBXT1JEUyAuLi4gO10gZG8gQ09NTUFORFM7IGRvbmUAc2V0IFstYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gWy0tXSBbYXJnIC4uLl0Ac2V0bG9jYWxlOiAlczogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKQBzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpOiAlcwBzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKQBzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMAc2hlbGwgbGV2ZWwgKCVkKSB0b28gaGlnaCwgcmVzZXR0aW5nIHRvIDEAc2hpZnQgW25dAHNoaWZ0IGNvdW50AHNob3B0IFstcHFzdV0gWy1vXSBbb3B0bmFtZSAuLi5dAHNpZ3Byb2NtYXNrOiAlZDogaW52YWxpZCBvcGVyYXRpb24Ac291cmNlIGZpbGVuYW1lIFthcmd1bWVudHNdAHN0YXJ0X3BpcGVsaW5lOiBwZ3JwIHBpcGUAc3VzcGVuZCBbLWZdAHN5bnRheCBlcnJvcgBzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbgBzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbjogdW5leHBlY3RlZCB0b2tlbiBgJXMnAHN5bnRheCBlcnJvciBpbiBleHByZXNzaW9uAHN5bnRheCBlcnJvciBuZWFyIGAlcycAc3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiBgJXMnAHN5bnRheCBlcnJvcjogYCgoJXMpKScAc3ludGF4IGVycm9yOiBgOycgdW5leHBlY3RlZABzeW50YXggZXJyb3I6IGFyaXRobWV0aWMgZXhwcmVzc2lvbiByZXF1aXJlZABzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvcgBzeW50YXggZXJyb3I6IG9wZXJhbmQgZXhwZWN0ZWQAc3ludGF4IGVycm9yOiB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlAHN5c3RlbSBjcmFzaCBpbW1pbmVudAB0ZXN0IFtleHByXQB0aW1lIFstcF0gcGlwZWxpbmUAdGltZXMAdG9vIG1hbnkgYXJndW1lbnRzAHRyYXAgWy1scF0gW1thcmddIHNpZ25hbF9zcGVjIC4uLl0AdHJhcF9oYW5kbGVyOiBiYWQgc2lnbmFsICVkAHRydWUAdHlwZSBbLWFmcHRQXSBuYW1lIFtuYW1lIC4uLl0AdHlwZXNldCBbLWFBZkZnaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4AdWxpbWl0IFstU0hhYmNkZWZpbG1ucHFyc3R1dnhUXSBbbGltaXRdAHVtYXNrIFstcF0gWy1TXSBbbW9kZV0AdW5hbGlhcyBbLWFdIG5hbWUgW25hbWUgLi4uXQB1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBgXV0nAHVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGAlYycAdW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCknAHVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IAdW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yAHVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yAHVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IAdW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kAHVuZXhwZWN0ZWQgdG9rZW4gYCVjJyBpbiBjb25kaXRpb25hbCBjb21tYW5kAHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyBpbiBjb25kaXRpb25hbCBjb21tYW5kAHVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkAHVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgZXhwZWN0ZWQgYCknAHVua25vd24AdW5rbm93biBjb21tYW5kIGVycm9yAHVuc2V0IFstZl0gWy12XSBbLW5dIFtuYW1lIC4uLl0AdW50aWwgQ09NTUFORFM7IGRvIENPTU1BTkRTOyBkb25lAHZhbHVlIHRvbyBncmVhdCBmb3IgYmFzZQB2YXJpYWJsZXMgLSBOYW1lcyBhbmQgbWVhbmluZ3Mgb2Ygc29tZSBzaGVsbCB2YXJpYWJsZXMAd2FpdCBbLW5dIFtpZCAuLi5dAHdhaXQgW3BpZCAuLi5dAHdhaXQ6IHBpZCAlbGQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBzaGVsbAB3YWl0X2ZvcjogTm8gcmVjb3JkIG9mIHByb2Nlc3MgJWxkAHdhaXRfZm9yX2pvYjogam9iICVkIGlzIHN0b3BwZWQAd2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrAHdhcm5pbmc6IAB3YXJuaW5nOiAlczogJXMAd2FybmluZzogLUMgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0AHdhcm5pbmc6IC1GIG9wdGlvbiBtYXkgbm90IHdvcmsgYXMgeW91IGV4cGVjdAB3aGlsZSBDT01NQU5EUzsgZG8gQ09NTUFORFM7IGRvbmUAd3JpdGUgZXJyb3I6ICVzAHh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKQB4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IAeHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIAeyBDT01NQU5EUyA7IH0AUHJvamVjdC1JZC1WZXJzaW9uOiBiYXNoIDQuMy1wcmUyClJlcG9ydC1Nc2dpZC1CdWdzLVRvOiAKUE9ULUNyZWF0aW9uLURhdGU6IDIwMTQtMDItMTEgMTE6MTktMDUwMApQTy1SZXZpc2lvbi1EYXRlOiAyMDEzLTExLTA3IDIyOjExKzAxMDAKTGFzdC1UcmFuc2xhdG9yOiBWb2xrYW4gR2V6ZXIgPHZsa25nenJAZ21haWwuY29tPgpMYW5ndWFnZS1UZWFtOiBUdXJraXNoIDxnbnUtdHItdTEyYUBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+Ckxhbmd1YWdlOiB0cgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdApYLUdlbmVyYXRvcjogTG9rYWxpemUgMS41ClBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShu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IGFsdGRpemdlIGlmYWRlc2kgPCAwACVzOiB0ZWsgdGVyaW1saSBpxZ9sZWNpIGJla2xlbml5b3JkdQAlczogYmHEn2xhbm1hbcSxxZ8gZGXEn2nFn2tlbgAlczoga3VsbGFuxLFtOiAAJXM6IGRlxJ9pxZ9rZW5lIGRlxJ9lciBhdGFubWFtxLHFnyBvbGFiaWxpcgAoKCBpZmFkZSApKQAow6dla2lyZGVrIGTDtmvDvGxkw7wpACh3ZCBhcnTEsWs6ICVzKQoALiBkb3N5YWFkxLEgW2FyZ8O8bWFubGFyXQAvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgYcSfIG9sbWFrc8SxesSxbiBkZXN0ZWtsZW5taXlvcgAvdG1wIGdlw6dlcmxpIGJpciBkaXppbmluIGFkxLEgb2xtYWzEsWTEsXIAOgA8Z2XDp2VybGkgZGl6aW4geW9rPgBUYWxpbWF0xLEgRFVSRFVSAMOHxLFrxLFsxLF5b3IuLi4ARGl6aW4gecSxxJ/EsXTEsW7EsW4gZW4gw7xzdMO8bmUgYmlyIGRpemluIGVrbGVyLCB5YSBkYSBnZcOnZXJsaSDDp2FsxLHFn21hCiAgICBkaXppbmkgecSxxJ/EsXTEsW4gdGVwZXNpbmUgZ2VsZWNlayDFn2VraWxkZSB5xLHEn8SxdMSxIGTDtm5kw7xyw7xyLiBIacOnCiAgICBhcmfDvG1hbiB2ZXJpbG1lbWnFn3NlIGVuIMO8c3R0ZWtpIGlraSBkaXppbmkgeWVyIGRlxJ9pxZ90aXJpci4KICAgIAogICAgU2XDp2VuZWtsZXIKICAgICAgLW4JWcSxxJ/EsXRhIGRpemluIGVrbGVuaXJrZW4gZGl6aW5pbiBub3JtYWwgZGXEn2nFn2ltaW5pIHlva3NheWFyCiAgICAJYsO2eWxlY2Ugc2FkZWNlIHnEscSfxLF0IGRlxJ9pxZ90aXJpbGlyLgogICAgQXJnw7xtYW5sYXI6CiAgICAgICtOCShgZGlycycgdGFyYWbEsW5kYW4gZ8O2c3RlcmlsZW4gbGlzdGVuaW4gc29sdW5kYW4gc2F5bWF5YQogICAgCXPEsWbEsXJsYSBiYcWfbGFuZMSxxJ/EsW5kYSkgTidpbmNpIGRpemluIHRlcGV5ZSBnZWxlY2VrIMWfZWtpbGRlCiAgICAJecSxxJ/EsXTEsSBkw7ZuZMO8csO8ci4KICAgIAogICAgICAtTgkoYGRpcnMnIHRhcmFmxLFuZGFuIGfDtnN0ZXJpbGVuIGxpc3RlbmluIHNhxJ/EsW5kYW4gc2F5bWF5YQogICAgCXPEsWbEsXJsYSBiYcWfbGFuZMSxxJ/EsW5kYSkgTidpbmNpIGRpemluIHRlcGV5ZSBnZWxlY2VrIMWfZWtpbGRlCiAgICAJecSxxJ/EsXTEsSBkw7ZuZMO8csO8ci4KICAgIAogICAgICBkaXppbglEaVppTmkgeWVuaSDDp2FsxLHFn21hIGRpemluaSB5YXBhcmFrIGRpemluIHnEscSfxLF0xLFuxLFuCiAgICAJdGVwZXNpbmUgZWtsZXIuCiAgICAKICAgIERpemluIHnEscSfxLF0xLFuxLEgYGRpcnMnIGtvbXV0dXlsYSBnw7ZyZWJpbGlyc2luaXouAEFsYXJtIChwcm9maWwpAEFsYXJtIChzYW5hbCkAw4dhbGFyIHNhYXQARMO2bmfDvCBpw6dpbiBhcml0bWV0aWsuCiAgICAKICAgIMWedW5hIGXFn2RlxJ9lcmRpcjoKICAgIAkoKCDEsEZBREUxICkpCiAgICAJd2hpbGUgKCggxLBGQURFMiApKTsgZG8KICAgIAkJS09NVVRMQVIKICAgIAkJKCggxLBGQURFMyApKQogICAgCWRvbmUKICAgIMSwRkFERTEsIMSwRkFERTIgdmUgxLBGQURFMyBhcml0bWV0aWsgaWZhZGVsZXJkaXIuIEXEn2VyIGlmYWRlbGVyZGVuIGJpcmkgeW9rc2EKICAgIDEnZSBkZcSfZXJsZW5kaXJpbG1pxZ8gxZ9la2lsZGUgZGF2cmFuxLFyLgogICAgCiAgICDDh8Sxa8SxxZ8gRHVydW11OgogICAgU29uIMOnYWzEscWfdMSxcsSxbGFuIGtvbXV0dW4gZHVydW11bnUgZMO2bmTDvHLDvHIuAEJQVCBpemxlL3R1emFrAEJvenVrIHNpc3RlbSDDp2HEn8SxcsSxbcSxAEJvZ3VzIHNpbnlhbGkAQm96dWsgaWxldGnFn2ltIHTDvG5lbGkAVmVyaXlvbHUgaGF0YXPEsQBDUFUgc8SxbsSxcsSxAEFsdCDDtmzDvG3DvCB2ZXlhIGR1cmR1cnVsbWEARGV2YW0gZXQAVGVsaWYgSGFra8SxIChDKSAyMDEyIMOWemfDvHIgWWF6xLFsxLFtIFZha2bEsSBBLsWeLgBZZXJlbCBkZcSfacWfa2VubGVyaSB0YW7EsW1sYS4KICAgIAogICAgxLBTxLBNIGFkxLF5bGEgYmlyIHllcmVsIGRlxJ9pxZ9rZW4gb2x1xZ90dXIgdmUgREXEnkVSIGF0YS4gU0XDh0VORUsgYGRlY2xhcmUnCiAgICB0YXJhZsSxbmRhbiBrYWJ1bCBlZGlsZW4gaGVyaGFuZ2kgYmlyIHNlw6dlbmVrIG9sYWJpbGlyLgogICAgCiAgICBZZXJlbCBkZcSfacWfa2VubGVyIHNhZGVjZSBiaXIgacWfbGV2IGnDp2VyaXNpbmRlIGt1bGxhbsSxbGFiaWxpcmxlciB2ZSB0YW7EsW1sYW5kxLFrbGFyxLEKICAgIGnFn2xldmUgdmUgYWx0IGnFn2xldmxlcmluZSBnw7Zyw7xuZWJpbGlybGVyLgogICAgCiAgICDDh8Sxa8SxxZ8gRHVydW11OgogICAgR2XDp2Vyc2l6IGJpciBzZcOnZW5layB2ZXJpbG1lZGnEn2luZGUsIGJpciBkZcSfacWfa2VuIGhhdGFzxLEgb2x1xZ9tYWTEscSfxLFuZGEgdmV5YQogICAga2FidWsgYmlyIGnFn2xldiDDp2FsxLHFn3TEsXJtxLF5b3JzYSBiYcWfYXLEsWzEsSBkw7ZuZXIuAFJ1bXV6IHRhbsSxbWxhIHZleWEgZ8O2csO8bnTDvGxlLgogICAgCiAgICBgYWxpYXMnIGFyZ8O8bWFuc8SxeiBrdWxsYW7EsWxkxLHEn8SxbmRhIHN0YW5kYXJ0IMOnxLFrdMSxZGEga3VsbGFuxLFsYWJpbGVjZWsgdMO8bQogICAgcnVtdXpsYXLEsSBgYWxpYXMgxLBTxLBNPURFxJ5FUicgYmnDp2ltaW5kZSBsaXN0ZWxlci4KICAgIAogICAgRGnEn2VyIGR1cnVtZGEgREXEnkVSaSB2ZXJpbG1pxZ8gaGVyIMSwU8SwTSBpw6dpbiBiaXIgcnVtdXogdGFuxLFtbGFuxLFyLgogICAgREXEnkVSZGVraSBib8WfbHVrLCBydW11eiBnZW5pxZ9sZXRpbGRpxJ9pbmRlIHNvbnJha2kga2VsaW1lbmluIHJ1bXV6CiAgICBpa2FtZXNpIGnDp2luIGRlbmV0bGVubWVzaW5lIHNlYmVwIG9sdXIuCiAgICAKICAgIFNlw6dlbmVrbGVyOgogICAgICAtcAlUw7xtIHJ1bXV6bGFyxLEgdGVrcmFyIGt1bGxhbsSxbGFiaWxpciBiacOnaW1kZSBsaXN0ZWxlCiAgICAKICAgIMOHxLFrxLHFnyBEdXJ1bXU6CiAgICBIacOnYmlyIMWfZXlpbiBydW11enUgb2xtYXlhbiBiaXIgxLBTxLBNIHZlcmlsbWVkaWvDp2UgYWxpYXMgZG/En3J1IGTDtm5kw7xyw7xyLgBHZcOnbWnFnyBsaXN0ZXNpbmRla2kga29tdXRsYXLEsSBnw7Zyw7xudMO8bGUgdmV5YSDDp2FsxLHFn3TEsXIKICAgIAogICAgZmMsIGtvbXV0ICBnZcOnbWnFn2kgIGxpc3Rlc2luZGVraSAga29tdXRsYXLEsSAgbGlzdGVsZW1laywgIGTDvHplbmxlbWVrICB2ZQogICAgeWVuaWRlbiAgw6dhbMSxxZ90xLFybWFrICBpw6dpbiAga3VsbGFuxLFsxLFyLiDEsExLIHZlIFNPTiBvbGFyYWsgbnVtYXJhIHZlcmVyZWsKICAgIGJpciBhcmFsxLFrIGJlbGlydGlsZWJpbGVjZcSfaSBnaWJpIMSwTEsgYmlyIGRpemdlIGRlIG9sYWJpbGlyLCBidSB0YWtkaXJkZQogICAgYnUgZGl6Z2UgaWxlIGJhxZ9sYXlhbiBlbiBzb24ga29tdXQgYW5sYW3EsW5hIGdlbGlyLgogICAgCiAgICBTZcOnZW5la2xlcjoKICAgICAgIC1lIETDnFpFTkxFWcSwQ8SwIGlsZSBoYW5naSBkw7x6ZW5sZXlpY2luaW4ga3VsbGFuxLFsYWNhxJ/EsSBiZWxpcnRpbGlyLgogICAgCQnDlm50YW7EsW1sxLFzxLEgRkNFRElUIGFyZMSxbmRhbiBFRElUT1IgdmUgdmknZGlyLgogICAgICAgLWwJaWxlIGtvbXV0bGFyIHN0YXJkYXJ0IMOnxLFrdMSxeWEgbGlzdGVsZW5pci4KICAgICAgIC1uCWlsZSBsaXN0ZWRlIHNhdMSxciBudW1hcmFsYXLEsSBidWx1bm1hei4KICAgICAgIC1yCWlsZSBrb211dGxhciB0ZXJzIHPEsXJhZGEgKGVuIHllbmlsZXIgbGlzdGVzaSBvbGFyYWspIGxpc3RlbGVuaXIKICAgIAogICAgYGZjIC1zIFtFU0vEsD1ZRU7EsF0gW0tPTVVUXScgYmnDp2ltaW5kZSwgIEVTS8SwPVlFTsSwIGlrYW1lc2kgeWFwxLFsZMSxa3RhbgogICAgc29ucmEga29tdXQgeWVuaWRlbiDDp2FsxLHFn3TEsXLEsWzEsXIuCiAgICAKICAgIEJ1bnVubGEga3VsbGFuxLFsYWNhayB5YXJhcmzEsSBiaXIgcsO8bXV6IHI9J2ZjIC1zJyBvbHVyZHUuCiAgICBCw7Z5bGVjZSBgciBjYycgeWF6YXJhayBgY2MnIGlsZSBiYcWfbGF5YW4gc29uIGtvbXV0LAogICAgcicgeWF6YXJhayBlbiBzb24ga29tdXQgw6dhbMSxxZ90xLFyxLFsYWJpbGlyLgogICAgCiAgICDDh8Sxa3TEsSBEdXJ1bXU6CiAgICBCYcWfYXLEsWzEsSB2ZXlhIMOnYWzEscWfdMSxcsSxbGFuIGtvbXV0IGR1cnVtdSBkw7ZuZMO8csO8bMO8cjsgaGF0YSBvbHXFn3R1xJ91bmRhIHPEsWbEsXIgaGFyaWNpIGRlxJ9lciBkw7ZuZXIuAEdlw6dtacWfIGxpc3Rlc2luaSBnw7Zyw7xudMO8bGUgdmV5YSBkw7x6ZW5sZS4KICAgIAogICAgU2XDp2VuZWtzaXoga3VsbGFuxLFsZMSxxJ/EsW5kYSBrb211dCBnZcOnbWnFn2kgbGlzdGVzaW5pIHNhdMSxciBudW1hcmFsYXLEsSBpbGUKICAgIGfDtnN0ZXJpci4gRGXEn2nFn2lrbGlrIHlhcMSxbG3EscWfIHNhdMSxcmxhcmRhIG51bWFyYWxhcmRhbiDDtm5jZSBiaXIgYConCiAgICB2YXJkxLFyLiBBcmfDvG1hbiBvbGFyYWsgTiBiZWxpcnRpbGRpxJ9pbmRlIHNhZGVjZSBzb24gTiBzYXTEsXIgbGlzdGVsZW5pci4KICAgIAogICAgU2XDp2VuZWtsZXI6CiAgICAgIC1jCWtvbXV0IGdlw6dtacWfaSBsaXN0ZXNpbmkgdMO8bSBnaXJkaWxlcmluaSBzaWxlcmVrIHRlbWl6bGVyLgogICAgICAtZAlpbGUgc2F0xLFyIG51bWFyYXPEsSBLT05VTSBvbGFuIGdlw6dtacWfIGdpcmRpc2kgc2lsaW5pci4KICAgIAogICAgICAtYQlpbGUgb3R1cnVtdW51biBiYcWfbGFuZ8SxY8SxbmRhbiBpdGliYXJlbiBnaXJpbGVuIGdlw6dtacWfIHNhdMSxcmxhcsSxCiAgICAJZ2XDp21pxZ8gZG9zeWFzxLFuYSBla2xlbmlyLgogICAgICAtbglpbGUgZ2XDp21pxZ8gZG9zeWFzxLFuZGFuIGhlbsO8eiBva3VubWFtxLHFnyBvbGFuIGdlw6dtacWfIHNhdMSxcmxhcsSxLAogICAgCWdlw6dtacWfIGxpc3Rlc2luZSBla2xlbmlyLgogICAgICAtcglpbGUgZG9zeWEgb2t1bnVyIHZlIGnDp2VyacSfaSBnZcOnbWnFnyBsaXN0ZXNpbmUgZWtsZW5pci4KICAgICAgLXcJaWxlIGdlw6dtacWfIGxpc3Rlc2kgw6fEsWt0xLFzxLEgZ2XDp21pxZ8gZG9zeWFzxLFuYSB5YXrEsWzEsXIuCiAgICAKICAgICAgLXAJaGVyIEFSR8O8bWFuZGEgZ2XDp21pxZ8gYcOnxLFsxLFtxLEgeWFwIHZlIHNvbnVjdSBnZcOnbWnFnyBsaXN0ZXNpbmRlCiAgICAJZGVwb2xhbWFkYW4gZ8O2csO8bnTDvGxlCiAgICAgIC1zCUFSR8O8bWFubGFyxLEgZ2XDp21pxZ8gbGlzdGVzaW5lIHRlayBiaXIgZ2lyZGkgb2xhcmFrIGVrbGUKICAgIAogICAgRE9TWUHEsFNNxLAgdmVyaWxtZXpzZSwgJEhJU1RGSUxFIGRlxJ9pxZ9rZW5pbmRla2kgZGXEn2VyLCBvIGRhIHlva3NhCiAgICB+Ly5iYXNoX2hpc3RvcnkgZG9zeWFzxLEga3VsbGFuxLFsxLFyLgogICAgCiAgICAkSElTVFRJTUVGT1JNQVQga2FidWsgZGXEn2nFn2tlbmkgdGFuxLFtbGFubcSxxZ8gdmUgIGFubGFtbMSxICBiaXIgIGRlxJ9lcmUKICAgIHNhaGlwc2UsIGRlxJ9lcmksIGfDtnN0ZXJpbGVuIGhlciBnZcOnbWnFnyBnaXJkaXNpIGlsZSBpbGnFn2tpbGkgemFtYW4KICAgIGRhbWdhc8SxbsSxIGJhc2FjYWsgb2xhbiBzdHJmdGltZSgzKSBpxZ9sZXZpbmUgYmnDp2ltIGdpcmRpc2kgb2x1cjsgYWtzaQogICAgdGFrZGlyZGUgaGnDpyB6YW1hbiBkYW1nYXPEsSBiYXPEsWxtYXouICAgICAKICAgIMOHxLFrdMSxIER1cnVtdToKICAgIEdlw6dlcnNpeiBiaXIgc2XDp2VuZWsgZ2lyaWxtZWRpxJ9pIHZleWEgYmlyIGhhdGEgb2x1xZ9tYWTEscSfxLEgdGFrZGlyZGUgYmHFn2FyxLFsxLEgZMO2bmVyLgBTZcOnZW5la2xlcmUgYmHEn2zEsSBvbGFyYWsgb2xhc8SxIHRhbWFtbGFtYWxhcsSxIGfDtnN0ZXJpci4KICAgIAogICAgT2xhc8SxIHRhbWFtbGFtYWxhcsSxIMO8cmV0bWVrIMO8emVyZSBiaXIga2FidWsgacWfbGV2aW5pbiBpw6dpbmRlIGt1bGxhbm1hawogICAgYW1hY8SxeWxhIHRhc2FybGFubcSxxZ90xLFyLiDEsHN0ZcSfZSBiYcSfbMSxIFPDllpDw5xLIGFyZ8O8bWFuxLEgc2HEn2xhbmTEscSfxLEKICAgIHRha2RpcmRlIGXFn2xlxZ9tZWxlcmRlbiBzYWRlY2UgU8OWWkPDnEsgaWxlIGXFn2xlxZ9lbmxlciDDvHJldGlsaXIuCiAgICAKICAgIMOHxLFrdMSxIER1cnVtdToKICAgIEdlw6dlcnNpeiBiaXIgc2XDp2VuZWsgZ2lyaWxtZWRpxJ9pIHZleWEgYmlyIGhhdGEgb2x1xZ9tYWTEscSfxLEgdGFrZGlyZGUgYmHFn2FyxLFsxLEgZMO2bmVyLgBHZcOnZXJsaSBoYXTEsXJsYW5hbiBkaXppbmxlcmluIGxpc3Rlc2luaSBnw7Zyw7xudMO8bGVyLiBEaXppbmxlcgogICAgbGlzdGV5ZSB5b2xsYXLEsW7EsSBgcHVzaGQnIGtvbXV0dSBpbGUgYnVsdXJsYXI7IHZlIGxpc3RlIGJveXVuY2EKICAgIHllZGXEn2kgYHBvcGQnIGtvbXV0dSBpbGUgYWxhYmlsaXJzaW5pei4KICAgIAogICAgU2XDp2VuZWtsZXI6CiAgICAgIC1jCcO2Z2VsZXJpbiB0w7xtw7xuw7wgc2lsZXJlayBkaXppbiB5xLHEn8SxbsSxbsSxIHRlbWl6bGUKICAgICAgLWwJZXYgZGl6aW5pbml6ZSBnw7ZyZWNlbGkgZGl6aW5sZXJpbiB5YWtsYcWfxLFrIGnFn2FyZXRpCiAgICAJaWxlIGJhxZ9sYXlhbiBzw7xyw7xtbGVyaW5pIHlhemTEsXJtYQogICAgICAtcAlkaXppbiB5xLHEn8SxbsSxbsSxIGhlciBzYXTEsXJkYSBiaXIgZ2lyZGkgaWxlIHlhemTEsXIKICAgICAgLXYJZGl6aW4gecSxxJ/EsW7EsW7EsSwgecSxxJ/EsW5kYWtpIGtvbnVtdSBpbGUgaGVyIHNhdMSxcmEKICAgIAnDtm4gZWsgeWFwxLFsbcSxxZ8gYmlyIGdpcmnFn2kgeWF6ZMSxcgogICAgCiAgICBBcmfDvG1hbmxhcjoKICAgICAgK04JRGl6aW5sZXIgdGFyYWbEsW5kYW4gZ8O2c3RlcmlsZW4gbGlzdGVuaW4gc29sdW5kYW4gYmHFn2xheWFyYWsKICAgIAlOJ2luY2kgZ2lyZGl5aSBnw7ZzdGVyaXIuIFNlw6dlbmVrIGt1bGxhbsSxbG1hZMSxxJ/EsW5kYSBzxLFmxLFyZGFuIGJhxZ9sYXIuCiAgICAKICAgICAgLU4JRGl6aW5sZXIgdGFyYWbEsW5kYW4gZ8O2c3RlcmlsZW4gbGlzdGVuaW4gc2HEn8SxbmRhbiBiYcWfbGF5YXJhawoJTidpbmNpIGdpcmRpeWkgZ8O2c3RlcmlyLiBTZcOnZW5layBrdWxsYW7EsWxtYWTEscSfxLFuZGEgc8SxZsSxcmRhbiBiYcWfbGFyLgBCaXR0aQBCaXR0aSglZCkARU1UIHRhbGltYXTEsQBBcml0bWV0aWsgaWZhZGV5aSBkZcSfZXJsZW5kaXIuCiAgICAKICAgIFZlcmlsZW4gYXJpdG1ldGlrIMSwRkFERSBhcml0bWV0aWsgZGXEn2VybGVuZGlybWUga3VyYWxsYXLEsW5hIGfDtnJlCiAgICBkZcSfZXJsZW5kaXJpbGlyLiAibGV0IMSwRkFERSIgaWxlIGXFn2RlxJ9lcmRpci4KICAgIAogICAgw4fEsWt0xLEgRHVydW11OgogICAgxLBGQURFIDAgb2x1cnNhIDE7IGFrc2kgdGFrZGlyZGUgMCBkw7ZuZMO8csO8ci4AxZ5hcnRsxLEgaWZhZGV5aSBkZcSfZXJsZW5kaXIuCiAgICAKICAgICJ0ZXN0IiB5ZXJsZcWfacSfaSBpbGUgYXluxLFkxLFyLCBmYWthdCBzb24gYXJnw7xtYW4gYcOnYW4gYFsnIGlsZSBlxZ9sZcWfZW4KICAga2FwYXRhbiBgXScgb2xtYWsgem9ydW5kYWTEsXIuAEJhc2l0IGJpciBrb211dCDDp2FsxLHFn3TEsXIgdmV5YSBrb211dGxhciBoYWtrxLFuZGEgYmlsZ2kgZ8O2csO8bnTDvGxlLgogICAgCiAgICBLT01VVFUgQVJHw7xtYW5sYXLEsSBpbGUga2FidWsgacWfbGV2aSBhcmFtYXPEsW7EsSBpaG1hbCBlZGVyZWsgw6dhbMSxxZ90xLFyxLFyIHZleWEKICAgIGJlbGlydGlsZW4gS09NVVRsYXIgaGFra8SxbmRhIGJpbGdpIGfDtnLDvG50w7xsZXIuIEF5bsSxIGlzaW1kZSBiaXIgacWfbGV2ICB2YXJzYQogICAgZGlza3RlIGtvbXV0bGFyxLEgw6dhbMSxxZ90xLFybWFrIGnDp2luIGt1bGxhbsSxbGFiaWxpci4KICAgIAogICAgU2XDp2VuZWtsZXI6CiAgICAgIC1wCVlPTCBpw6dpbiwgdMO8bSBzdGFuZGFydCB5YXJkxLFtY8SxbGFyxLEgYnVsYWJpbG1layBpw6dpbiBiaXIgw7ZudGFuxLFtbMSxIGRlxJ9lcgogICAgCWt1bGxhbgogICAgICAtdglgdHlwZScgZGFoaWxpc2luZSBiZW56ZXIgYmlyIEtPTVVUIGHDp8Sxa2xhbWFzxLEgZ8O2c3RlcgogICAgICAtVgloZXIgS09NVVR1biBmYXpsYSBhw6fEsWtsYW1hc8SxbsSxIGfDtnN0ZXIKICAgIAogICAgw4fEsWvEscWfIER1cnVtdToKICAgIEtPTVVUdW4gw6fEsWvEscWfIGR1cnVtdW51IGTDtm5kw7xyw7xyLiBLT01VVCBidWx1bmFtYXpzYSBiYcWfYXLEsXPEsXogb2x1ci4AQXJnw7xtYW5sYXLEsSBrYWJ1ayBrb211dHUgb2xhcmFrIMOnYWzEscWfdMSxci4KICAgIAogICAgQVJHw7xtYW5sYXLEsSB0ZWsgYmlyIGRpemdleWUgYmlybGXFn3Rpciwgc29udWN1IGthYnXEn2EgZ2lyZGkgb2xhcmFrIGt1bGxhbiwKICAgIHZlIHNvbnXDp2xhbmFuIGtvbXV0bGFyxLEgw6dhbMSxxZ90xLFyLgogICAgCiAgICDDh8Sxa8SxxZ8gRHVydW11OgogICAgS29tdXR1biDDp8Sxa8SxxZ8gZHVydW11bnUgZMO2bmTDvHLDvHIgdmV5YSBrb211dCBib8Wfc2EgYmHFn2FyxLFsxLEgZMO2bmVyLgBCaXIgc8SxbmFtYSBiYcWfYXLEsXPEsXogb2x1bmNheWEga2FkYXIga29tdXRsYXLEsSDDp2FsxLHFn3TEsXIuCiAgICAKICAgIGB1bnRpbCBLT01VVGxhcjsgbGlzdGVzaW5pbiDDp8Sxa8SxxZ8gZHVydW11IHPEsWbEsXJkYW4gZmFya2zEsSBvbGR1xJ91IHPDvHJlY2UKICAgIGBkbyBLT01VVGxhcjsnIGxpc3Rlc2kgw6dhbMSxxZ90xLFyxLFsxLFyLgogICAgCiAgICDDh8Sxa3TEsSBEdXJ1bXU6CiAgICBTb24gw6dhbMSxxZ90xLFyxLFsYW4ga29tdXR1biBkdXJ1bXVudSBkw7ZuZMO8csO8ci4AS2FsxLFwIGXFn2xlxZ90aXJtZSB0YWJhbmzEsSBrb211dGxhcsSxIMOnYWzEscWfdMSxci4KICAgIAogICAgU8OWWmPDvGsgaWxlIGXFn2xlxZ9lbiBpbGsgS0FMSVAnYSBrYXLFn8SxIGTDvMWfZW4gS09NVVRMQVLEsSDDp2FsxLHFn3TEsXLEsXIuCiAgICBgfCcgw6dvayBzYXnEsWRhIGthbMSxYsSxIGF5xLFybWFrIGnDp2luIGt1bGxhbsSxbMSxci4KICAgIAogICAgw4fEsWvEscWfIER1cnVtdToKICAgIFNvbiDDp2FsxLHFn3TEsXLEsWxhbiBrb211dHVuIGR1cnVtdW51IGTDtm5kw7xyw7xyLgBCaXIgbGlzdGVkZWtpIGhlciDDvHllIGnDp2luIGtvbXV0IMOnYWzEscWfdMSxci4KICAgIAogICAgYGZvcicgZMO2bmfDvHPDvCBiaXIgw7ZnZSBsaXN0ZXNpbmRla2kgaGVyIMO8eWUgacOnaW4ga29tdXQgc8SxcmFzxLFuxLEgw6dhbMSxxZ90xLFyxLFyLgogICAgRcSfZXIgYGluIEtFTMSwTUVMRVIgLi4uOycgYmVsaXJ0aWxtZW1pxZ9zZSBgaW4gIiRAIicgdmFyc2F5xLFsxLFyLiBLRUzEsE1FTEVSCiAgICBpw6dlcmlzaW5kZWtpIGhlciBlbGVtYW4gacOnaW4sIMSwU8SwTSBidSBlbGVtYW5hIGF0YW7EsXIgdmUgS09NVVRMQVIgw6dhbMSxxZ90xLFyxLFsxLFyLgogICAgCiAgICDDh8Sxa8SxxZ8gRHVydW11OgogICAgU29uIMOnYWzEscWfdMSxcsSxbGFuIGtvbXV0dW4gZHVydW11bnUgZMO2bmTDvHLDvHIuAEdlw6dlcmxpIGthYnVrdGEgYmlyIGRvc3lhZGFuIGtvbXV0IMOnYWzEscWfdMSxci4KICAgIAogICAgRE9TWUHEsFNNxLBuZGVraSBrb211dGxhciBva3VudXIgdmUgw6dhbMSxxZ90xLFyxLFsxLFyLiBET1NZQcSwU03EsCBpw6dlcm1peW9yc2EKICAgIERPU1lBxLBTTcSwbmluIHllcmluaSBidWxtYWsgacOnaW4gJFBBVEggZGXEn2nFn2tlbmkga3VsbGFuxLFsxLFyLiBCYXNoIFBPU0lYCiAgICBraXBpbmRlIGRlxJ9pbHNlIHZlICRQQVRIIGnDp2luZGUgRE9TWUHEsFNNxLAgeW9rc2EgYnVsdW51bGFuIGRpemluZSBiYWvEsWzEsXIuCiAgICBWZXJpbG1pxZ8gQVJHw5xNQU5sYXIgdmFyc2EsIERPU1lBxLBTTcSwIMOnYWzEscWfdMSxcsSxbMSxcmtlbiBidW5sYXIga29udW1zYWwKICAgIHBhcmFtZXRyZWxlciBoYWxpbmUgZ2VsaXIuIEFrc2kgdGFrZGlyZGUsIGtvbnVtc2FsIHBhcmFtZXRyZWxlcgogICAgZGXEn2nFn3RpcmlsbWV6LgogICAgCiAgICDDh8Sxa3TEsSBEdXJ1bXU6CiAgICBET1NZQcSwU03EsG5kZSDDp2FsxLHFn3TEsXLEsWxhbiBzb24ga29tdXR1biBkdXJ1bXVudSBkw7ZuZMO8csO8ci4gRE9TWUHEsFNNxLAKICAgIG9rdW5hbWF6c2EgYmHFn2FyxLFzxLF6IGTDtm5lci4AS2FidWsgZGFoaWxsZXJpbmkgw6dhbMSxxZ90xLFyLgogICAgCiAgICBLb211dCBhcmFtYXPEsSB5YXBtYWRhbiBLQUJVSy1EQUjEsEzEsCwgQVJHw5xNQU5MQVIgYXJnw7xtYW5sYXLEsSBpbGUKICAgIMOnYWzEscWfdMSxci4gQnUsIGJpciBLQUJVSy1EQUjEsEzEsCwgYmlyIGthYnVrIGnFn2xldmkgb2xhcmFrIHRla3JhciB1eWd1bGFtYWsgaXN0ZXlpcAogICAgacWfbGV2IGnDp2VyaXNpbmRlIGRhaGlsaSBvbGFuxLEgZGEgw6dhbMSxxZ90xLFybWFuxLF6IGdlcmVrdGnEn2luaXpkZSBrdWxsYW7EscWfbMSxZMSxci4KICAgIAogICAgw4fEsWvEscWfIER1cnVtdToKICAgIEtBQlVLLURBSMSwTMSwbmluIMOnxLFrxLHFnyBkdXJ1bXVudSB2ZXlhIGXEn2VyIEtBQlVLLURBSMSwTMSwIGRlxJ9pbHNlIGZhbHNlIGTDtm5kw7xyw7xyLgDDh8Sxa8SxxZ8gJWQAT3R1cnVtIGthYnXEn3VuZGFuIMOnxLFrLgogICAgCiAgICBOIGR1cnVtdXlsYSBiaXIgb3R1cnVtIGthYnXEn3VuZGFuIMOnxLFrYXIuIEXEn2VyIMOnYWzEscWfdMSxcsSxbG1hbcSxxZ9zYSBvdHVydW0KICAgIGthYnXEn3VuZGEgYmlyIGhhdGEgZMO2bmTDvHLDvHIuAGZvciwgd2hpbGUgdmV5YSB1bnRpbCBkw7ZuZ8O8bGVyaW5kZW4gw6fEsWsuCiAgICAKICAgIEJpciBGT1IsIFdISUxFIHZleWEgVU5USUwgZMO2bmfDvHPDvG5kZW4gw6fEsWsuIEXEn2VyIE4gYmVsaXJ0aWxtacWfc2UsIE4gaWxpxZ9raWxpCiAgICBkw7ZuZ8O8ZGVuIMOnxLFrLgogICAgCiAgICDDh8Sxa8SxxZ8gRHVydW11OgogICAgTiwgMSdlIGXFn2l0IHZleWEgZGFoYSBmYXpsYSBvbG1hZMSxxJ/EsW5kYSDDp8Sxa8SxxZ8gZHVydW11IDAnZMSxci4ARXhpdCB0aGUgc2hlbGwuCiAgICAKICAgIE4gZHVydW11IGlsZSBkw7ZuZXJlayBrYWJ1ayDDp8Sxa2FyLiBOIHZlcmlsbWV6c2Ugc29uIMOnYWzEscWfdMSxcsSxbGFuIGtvbXV0dW4KICAgIMOnxLFrxLHFnyBkdXJ1bXUgZMO2bmVyLgBEb3N5YSBzxLFuxLFyxLEAS2F5YW4gbm9rdGEgaXN0aXNuYXPEsQBHTlUgYmFzaCwgc8O8csO8bSAlcyAoJXMpCgBHTlUgYmFzaCwgc8O8csO8bSAlcy0oJXMpCgBHTlUgdXp1biBzZcOnZW5la2xlcmk6CgBLb211dGxhcsSxIGJpciBiaXJpbSBvbGFyYWsgZ3J1cGxhLgogICAgCiAgICBLT01VVGxhciBiaXIgZ3J1cCBvbGFyYWsgw6dhbMSxxZ90xLFyxLFsxLFyLiBCdSwgYmlyIGtvbXV0IGvDvG1lc2luaSBiaXIKICAgIHnDtm5sZW5kaXJtZWRlIGt1bGxhbm1hbsSxbiB0ZWsgeW9sdWR1ci4KICAgIAogICAgw4fEsWt0xLEgRHVydW11OgogICAgU29uIMOnYWzEscWfdMSxcsSxbGFuIGtvbXV0dW4gZHVydW11bnUgZMO2bmTDvHLDvHIuAEhGVCBnaXJkaSB2ZXJpc2kgYmVrbGl5b3IASEZUIGl6bGV5aWNpIGtpcGluZSBnZcOnaWxkaQBIRlQgaXpsZXlpY2kga2lwaSBrYXBhdMSxbGTEsQBIRlQgc2VzIHPEsXJhc8SxIHRhbWFtbGFuZMSxAEhPTUUgYXRhbm1hbcSxxZ8ARW5nZWxsZQBIacOnIGlzbWltIHlvayEARy/DhyBoYXrEsXIAR2XDp2Vyc2l6IHRhbGltYXQAQmlsZ2kgdGFsZWJpAEtlcwDDlmxkw7xyw7xsZMO8AExpc2FucyBHUEx2Mys6IEdOVSBHUEwgc8O8csO8bSAzIHZleWEgc29ucmFzxLEgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sPgoAS2FidWsga2F5bmFrIHPEsW7EsXJsYXLEsW7EsSBkZcSfacWfdGlyLgogICAgCiAgICBLYWJ1ayB2ZSBvbHXFn3R1cmR1xJ91IHPDvHJlw6dsZXJlLCBpemluIHZlcmVuIHNpc3RlbWxlcmRlIG1ldmN1dCBrYXluYWtsYXIKICAgIMO8emVyaW5kZSBkZW5ldGltIHNhxJ9sYXIuCiAgICAKICAgIFNlw6dlbmVrbGVyOgogICAgICAtUwlZYXrEsWzEsW1zYWwgKGBzb2Z0Jykgc8SxbsSxciBrdWxsYW7EsWzEsXIuCiAgICAgIC1ICURvbmFuxLFtc2FsIChgaGFyZCcpIHPEsW7EsXIga3VsbGFuxLFsxLFyLgogICAgICAtYQlNZXZjdXQgdMO8bSBzxLFuxLFybGFtYWxhciBnw7ZzdGVyaWxpci4KICAgICAgLWMJT2x1xZ9hbiBjb3JlIGRvc3lhbGFyxLFuxLFuIGF6YW1pIGJveXUKICAgICAgLWQJQmlyIHPDvHJlY2luIHZlcmkgc2VnbWFuxLFuxLFuIGF6YW1pIGJveXUKICAgICAgLWUJQXphbWkgemFtYW5sYW1hIMO2bmNlbGnEn2kgKGBuaWNlJykKICAgICAgLWYJS2FidWsgdmUgw6dvY3VrbGFyxLEgdGFyYWbEsW5kYW4gb2x1xZ90dXJ1bGFuIGRvc3lhbGFyxLFuIGF6YW1pIGJveXUKICAgICAgLWkJQXNrxLFkYWtpIHNpbnlhbGxlcmluIGF6YW1pIHNhecSxc8SxCiAgICAgIC1sCUJlbGxlxJ9lIGtpbGl0bGVuZWJpbGVuIGF6YW1pIGJveXV0CiAgICAgIC1tCUF6YW1pIGJlbGxlayBib3l1CiAgICAgIC1uCUHDp8SxayBkb3N5YSB0YW7EsXTEsWPEsWxhcsSxbsSxbiBhemFtaSBzYXnEsXPEsQogICAgICAtcAnEsGxldGnFn2ltIHTDvG5lbGkgdGFtcG9udW51biBib3l1CiAgICAgIC1xCVBPU0lYIGlsZXRpIGt1eXJ1a2xhcsSxbmRha2kgYXphbWkgYmF5dCBtaWt0YXLEsQogICAgICAtcglBemFtaSBhbsSxbmRhIMOnYWzEscWfdMSxcm1hIHphbWFubGFtYXPEsSDDtm5jZWxpxJ9pCiAgICAgIC1zCVnEscSfxLF0xLFuIGF6YW1pIGJveXUKICAgICAgLXQJxLDFn2xlbWNpIHphbWFuxLFuxLFuIHNhbml5ZSBjaW5zaW5kZW4gYXphbWkgbWlrdGFyxLEKICAgICAgLXUJVGVrIGJpciBrdWxsYW7EsWPEsW7EsW4ga3VsbGFuYWJpbGVjZcSfaSBhemFtaSBzw7xyZcOnIHNhecSxc8SxCiAgICAgIC12CUJpciBzw7xyZWNpbiBrdWxsYW5hYmlsZWNlxJ9pIHNhbmFsIGJlbGxlxJ9pbiBhemFtaSBtaWt0YXLEsQogICAgICAteAlEb3N5YSBraWxpdGxlcmluaW4gYXphbWkgc2F5xLFzxLEKICAgICAgLVQJQXphbWkgacWfIHBhcsOnYWPEsWsgc2F5xLFzxLEKICAgIAogICAgVMO8bSBzZcOnZW5la2xlciB0w7xtIHBsYXRmb3JtbGFyZGEga3VsbGFuxLFsYWJpbGlyIG9sbWF5YWJpbGlyLgogICAgCiAgICBTSU5JUiB2ZXJpbG1pxZ9zZSwgYmVsaXJ0aWxlbiDDtnprYXluYcSfxLFuIHllbmkgZGXEn2VyaWRpcjsgw7Z6ZWwgc8SxbsSxcgogICAgZGXEn2VybGVyaSBtZXZjdXQgZG9uYW7EsW1zYWwgc8SxbsSxciBpw6dpbiBgaGFyZCcsIG1ldmN1dCB5YXrEsWzEsW1zYWwgc8SxbsSxcgogICAgacOnaW4gYHNvZnQnIHZlIHPEsW7EsXJzxLF6IGnDp2luIGB1bmxpbWl0ZWQnJ2Rpci4gQWtzaSB0YWtkaXJkZSwgYmVsaXJ0aWxlbgogICAgw7Z6a2F5bmFrIGnDp2luIG1ldmN1dCBkZcSfZXIgZ8O2c3RlcmlsaXIuIEhpw6cgc2XDp2VuZWsgdmVyaWxtZXpzZSAtZgogICAgc2XDp2VuZcSfaSB2ZXJpbG1pxZ8ga2FidWwgZWRpbGlyLgogICAgCiAgICBEZcSfZXJsZXIgLXQgacOnaW4gc2FuaXllIGNpbnNpbmRlbiwgLXAKICAgIGnDp2luIDUxMiBiYXl0bMSxayBibG9rIHNhecSxc8SxIG9sYXJhaywgLW4gdmUgLXUgacOnaW4gYmlyaW1zaXosIGthbGFuCiAgICBzZcOnZW5la2xlciBpw6dpbiAxMDI0IGJheXRsxLFrIGJsb2sgc2F5xLFzxLEgb2xhcmFrIGJlbGlydGlsbWVsaWRpci4gICAgCiAgICDDh8Sxa3TEsSBEdXJ1bXU6CiAgICBHZcOnZXJzaXogYmlyIHNlw6dlbmVrIGdpcmlsbWVkacSfaSB2ZXlhIGJpciBoYXRhIG9sdcWfbWFkxLHEn8SxIHRha2RpcmRlIGJhxZ9hcsSxbMSxIGTDtm5lci4AxLDFn2kgw7ZuIHBsYW5hIHRhxZ/EsS4KICAgIAogICAgxLDFnl9CRUzEsFJUxLBNxLBuaSDDtm5hbGFuYSB5ZXJsZcWfdGlyaXIgdmUgb251IG8gYW4ga2kgacWfIHlhcGFyLgogICAgRcSfZXIgxLDFnl9CRUzEsFJUxLBNxLAgYmVsaXJ0aWxtZW1pxZ9zZSBrYWJ1ayBpxZ8gYmVsaXJ0aW1pIG9sYXJhawogICAgbyBhbiBraSBpxZ9pIGt1bGxhbsSxci4KICAgIAogICAgw4fEsWt0xLEgRHVydW11OgogICAgw5ZuIHBsYW5hIHllcmxlxZ90aXJpbG1pxZ8ga29tdXR1biBkdXJ1bXUgdmV5YSBoYXRhIG9sZHXEn3VuZGEgYmHFn2FyxLFzxLF6LgDEsMWfaSBhcmthcGxhbmEgdGHFn8SxLgogICAgCiAgICBgJicgaWxlIGJhxZ9sYXTEsWxtxLHFn8OnYXPEsW5hIMSwxZ5fQkVMxLBSVMSwTcSwbmkgYXJ0YWxhbmEgeWVybGXFn3RpcmlyLgogICAgxLDFnl9CRUzEsFJUxLBNxLAgdmVyaWxtZW1pxZ9zZSwgacWfIGJlbGlydGltaSBvbGFyYWsgbyBhbiBraSBpxZ8ga3VsbGFuxLFsxLFyLiAgICAgCiAgICDDh8Sxa3TEsSBEdXJ1bXU6CiAgICDEsMWfIGtvbnRyb2zDvCBldGtpbiBvbG1hZMSxxJ/EsSB2ZXlhIGJpciBoYXRhIG9sdcWfbWFkxLHEn8SxIHPDvHJlY2UgYmHFn2FyxLFsxLEgZMO2bmVyLgBCb8WfIGtvbXV0LgogICAgCiAgICBFdGtpc2l6ZGlyOyBidSBrb211dCBiaXLFn2V5IHlhcG1hei4KICAgIAogICAgw4fEsWvEscWfIER1cnVtdToKICAgIEhlciB6YW1hbiBiYcWfYXLEsWzEsWTEsXIuAE9MRFBXRCBib8WfAFNlw6dlbmVrIGFyZ8O8bWFubGFyxLFuxLEgYXnEsWtsYXIuCiAgICAKICAgIEdldG9wdHMgIGthYnVrIGJldGlrbGVyaSB0YXJhZsSxbmRhbiAga29udW1zYWwgcGFyYW1ldHJlbGVyaSDDp8O2esO8bWxlbWVrdGUKICAgIGt1bGxhbsSxbMSxci4KICAgIAogICAgU8OHTkTEsFpHRVPEsCAgdGFuxLFuYW4gc2XDp2VuZWsga2FyYWt0ZXJsZXJpbmkgacOnZXJpcjsgYmlyIGthcmFrdGVyZGVuIHNvbnJhCiAgICBiaXIgaWtpbm9rdGEgaW1pICg6KSBnZWxpeW9yc2Egc2XDp2VuZcSfaW4gb25kYW4gYmlyIGJvxZ9sdWtsYSBheXLEsWxtxLHFnyBiaXIKICAgIGFyZ8O8bWFuYSBzYWhpcCBvbGFjYcSfxLEgdW11bHVyLgogICAgCiAgICBIZXIgIMOnYcSfcsSxbMSxxZ/EsW5kYSAgZ2V0b3B0cyAgacWfbGVuZWNlayAgc29ucmFraSBhcmfDvG1hbsSxbiBpbmRpc2luaSBPUFRJTkQKICAgIGthYnVrIGRlxJ9pxZ9rZW5pbmUgdmUgIEFEICBkZcSfacWfa2VuaW5pIGRlICBtZXZjdXQgIGRlxJ9pbHNlICBpbGtsZW5kaXJlcmVrCiAgICBzb25yYWtpIHNlw6dlbmXEn2kgJEFEIGthYnVrIGRlxJ9pxZ9rZW5pbmUgeWVybGXFn3RpcmlyLiBPUFRJTkQga2FidcSfdW4geWEgZGEKICAgIGJpciAga2FidWsgIGJldGnEn2luaW4gaGVyIMOnYcSfcsSxbMSxxZ/EsW5kYSAxIGlsZSBpbGtsZW5kaXJpbGlyLiAgQmlyIHNlw6dlbmVrCiAgICBiaXIgIGFyZ8O8bWFuICBnZXJla3RpcmRpxJ9pbmRlICBnZXRvcHRzICAgYXJnw7xtYW7EsSAgIE9QVEFSRyAgIGRlxJ9pxZ9rZW5pbmUKICAgIHllcmxlxZ90aXJpci4KICAgIAogICAgZ2V0b3B0cyAgaGF0YWxhcsSxICBpa2kgIHlvbGxhICByYXBvcmxheWFiaWxpci4gICBFxJ9lciAgU8OHTkTEsFpHRVPEsG5pbiBpbGsKICAgIGthcmFrdGVyaSAgYmlyICAnOicgIGlzZSBzZXNzaXogIGhhdGEgIHJhcG9ybGFtYXPEsSBrdWxsYW7EsWzEsXIuICBCdSBraXB0ZQogICAgaGnDp2JpciBoYXRhIGlsZXRpc2kgIGJhc8SxbG1hei4gIEJpciBnZcOnZXJzaXogIHNlw6dlbmVrICBzYXB0YW7EsXJzYSBnZXRvcHQKICAgIE9QVEFSRydhICBidWx1bmFuICBzZcOnZW5layBrYXJha3RlcmluaSB5ZXJsZcWfdGlyaXIuICBCaXIgZ2VyZWtsaSBhcmfDvG1hbgogICAgdmVyaWxtZW1pxZ9zZSwgZ2V0b3B0cyAgQUQnYSBiaXIgICc6JyAgeWVybGXFn3RpcmlyLiAgR2V0b3B0cyBzZXNzaXoga2lwdGUKICAgIGRlxJ9pbHNlIHZlIGdlw6dlcnNpeiBiaXIgc2XDp2VuZWsgZ8O2csO8bGTDvMSfw7xuZGUsIGdldG9wdHMgPyBrYXJha3RlcmluaSBBRCdhCiAgICB5ZXJsZcWfdGlyaXIgdmUgIE9QVEFSRyAgZGXEn2nFn2tlbmluaSAga2FsZMSxcsSxci4gIEXEn2VyIGJpciBnZXJla2xpIGFyZ8O8bWFuCiAgICBidWx1bmFtYXpzYSAgIHZlICAgZ2V0b3B0cyAgIHNlc3NpeiAgIGtpcHRlICBkZcSfaWxzZSAgQUQnYSAgPyAga2FyYWt0ZXJpCiAgICB5ZXJsZcWfdGlyaWxpciwgT1BUQVJHIGthbGTEsXLEsWzEsXIgdmUgYmlyIHRhbsSxIGlsZXRpc2kgYmFzxLFsxLFyLgogICAgCiAgICBPUFRFUlIgIGRlxJ9pxZ9rZW5pbmluICBkZcSfZXJpICAwICBpc2UgU8OHTkTEsFpHRVPEsG5pbiBpbGsga2FyYWt0ZXJpIGJpciAnOicKICAgIG9sbWFzYSAgYmlsZSAgaGF0YSAgaWxldGlsZXJpIGfDtnN0ZXJpbG1lei4gT1BURVJSIGRlxJ9pxZ9rZW5pbmluIMO2bnRhbsSxbWzEsQogICAgZGXEn2VyaSAxJ2Rpci4KICAgIAogICAgR2V0b3B0cyAgbm9ybWFsZGUgIGtvbnVtc2FsICBwYXJhbWV0cmVsZXJpICgkMCAtICQ5KSDDp8O2esO8bWxlc2UgZGUgIGJhxZ9rYQogICAgYXJnw7xtYW5sYXIgdmVyaWxtacWfc2UgYnVubGFyxLEgw6fDtnrDvG1sZXIuCiAgICAKICAgIMOHxLFrdMSxIER1cnVtdToKICAgIEJpciBzZcOnZW5layBidWx1bmR1xJ91bmRhIGJhxZ9hcsSxbMSxLCBzZcOnZW5layBzb251bmEgZ2VsaW5kacSfaW5kZSB2ZXlhIGJpciAgICAgaGF0YSBvbHXFn3R1xJ91bmRhIGJhxZ9hcsSxc8SxeiBkw7ZuZXIuCiAgICBlbmNvdW50ZXJlZCBvciBhbiBlcnJvciBvY2N1cnMuAEdlw6dlcmxpIMOnYWzEscWfbWEgZGl6aW5pbmluIGlzbWluaSB5YXpkxLFyLgogICAgCiAgICBTZcOnZW5la2xlcjoKICAgICAgLUwJZcSfZXIgZ2XDp2VybGkgw6dhbMSxxZ9tYSBkaXppbmluaSBpc2ltbGVuZGlybWnFn3NlICRQV0QgZGXEn2VyaW5pIHlhemTEsXIKICAgICAgLVAJaGnDp2JpciBzZW1ib2xpayBiYcSfbGFudMSxIGt1bGxhbm1hZGFuIGZpemlrc2VsIGRpemluaSB5YXpkxLFyCiAgICAKICAgIMOWbnRhbsSxbWzEsSBvbGFyYWsgYHB3ZCcsIGAtTCcgdGFuxLFtbGFubcSxxZ8gxZ9la2lsZGUgZGF2cmFuxLFyLgogICAgCiAgICDDh8Sxa8SxxZ8gRHVydW11OgogICAgRGl6aW4gb2t1bmFtYWTEscSfxLEgdmV5YSBnZcOnZXJzaXogc2XDp2VuZWsgdmVyaWxtZWRpxJ9pIHRha2RpcmRlIDAgZMO2bmTDvHLDvHIuAMOHxLFrAEJpciBkb3N5YWRha2kgc2F0xLFybGFyxLEgYmlyIGRpemkgZGXEn2nFn2tlbmluZSBva3UuCiAgICAKICAgIGBtYXBmaWxlJyBpbGUgZcWfYW5sYW1sxLFkxLFyLgBLYXnEsXQga2lsaWRpAFRhbsSxbWzEsSBydW11emxhciBsaXN0ZXNpbmRlbiBoZXIgxLBTTcSwIGthbGTEsXIuCiAgICAKICAgIFNlw6dlbmVrbGVyOgogICAgICAtYQl0w7xtIHJ1bXV6IHRhbsSxbWxhbWFsYXLEsW7EsSBrYWxkxLFyLgogICAgCiAgICDEsFPEsE0gbWV2Y3V0IG9sbWF5YW4gYmlyIHJ1bXV6IG9sbWFkxLHEn8SxIHRha2RpcmRlIGRvxJ9ydQogICAgZMO2bmTDvHIuAERpemluIHnEscSfxLF0xLFuZGFuIGdpcmRpbGVyaSBzaWxlci4gIEhpw6cgYXJnw7xtYW4gdmVyaWxtZW1pxZ9zZSwKICAgIHnEscSfxLF0xLFuIGVuIMO8c3TDvG5kZWtpIGRpemluaSB5xLHEn8SxdHRhbiBrYWxkxLFyxLFyIHZlIHnEscSfxLF0xLFuCiAgICB0ZXBlc2luZGUga2FsYW4gZGl6aW5lIGdlw6dlci4KICAgIAogICAgU2XDp2VuZWtsZXI6CiAgICAgIC1uCWRpemlubGVyaSB5xLHEn8SxdHRhbiBzaWxlcmtlbiBub3JtYWwgZGl6aW4gZGXEn2nFn2lrbGnEn2luaQogICAgCWVuZ2VsbGVyLCBiw7Z5bGVjZSBzYWRlY2UgecSxxJ/EsXQgZGXEn2nFn3RpcmlsbWnFnyBvbHVyLiAKICAgIAogICAgQXJnw7xtYW5sYXI6CiAgICAgICtOCWBkaXJzJyB0YXJhZsSxbmRhbiBnw7ZzdGVyaWxlbiBsaXN0ZW5pbiBzb2x1bmRhbiBzYXltYXlhCiAgICAJc8SxZsSxcmxhIGJhxZ9sYW5kxLHEn8SxbmRhIE4naW5jaSBnaXJkaXlpICBzaWxlci4gIMOWcm5lxJ9pbiwKICAgIAlgcG9wZCArMCcgaWxrIGRpemluaSBgcG9wZCArMScgaWtpbmNpc2luaSBzaWxlci4gCiAgICAgIC1OCWBkaXJzJyB0YXJhZsSxbmRhbiBnw7ZzdGVyaWxlbiBsaXN0ZW5pbiBzYcSfxLFuZGFuIHNheW1heWEKICAgIAlzxLFmxLFybGEgYmHFn2xhbmTEscSfxLFuZGEgTidpbmNpIGdpcmRpeWkgIHNpbGVyLiAgw5ZybmXEn2luLAogICAgCWBwb3BkIC0wJyBzb24gZGl6aW5pIGBwb3BkIC0xJyBzb251bmN1ZGFuIMO2bmNla2luaSBzaWxlci4gCiAgICAKICAgIERpemluIHnEscSfxLF0xLFuxLEgYGRpcnMnIGtvbXV0dXlsYSBnw7ZyZWJpbGlyc2luaXouAEthYnXEn3UgdmVyaWxlbiBrb211dGxhIGRlxJ9pxZ90aXIuCiAgICAKICAgIEtPTVVUVSwgYmVsaXJ0aWxlbiBwcm9ncmFtIGlsZSBkZcSfacWfdGlyZXJlayDDp2FsxLHFn3TEsXIuCiAgICBBUkfDnE1BTkxBUiwgS09NVVRVTiBhcmfDvG1hbmxhcsSxIG9sdXIuIEXEn2VyIEtPTVVUIGJlbGlydGlsbWVtacWfc2UsIHTDvG0KICAgIHnDtm5sZW5kaXJtZWxlciBnZcOnZXJsaSBrYWJ1a3RhIHV5Z3VsYW7EsXIuCiAgICAKICAgIFNlw6dlbmVrbGVyOgogICAgICAtYSBpc2ltCcSwU03EsCwgS09NVVR1biBzxLFmxLFyxLFuY8SxIGFyZ8O8bWFuxLFuYSBhdGEKICAgICAgLWMJCUtPTVVUdSBib8WfIGJpciBvcnRhbWxhIMOnYWzEscWfdMSxcgogICAgICAtbAkJS09NVVR1biBzxLFmxLFyxLFuY8SxIGFyZ8O8bWFuxLFuYSBiaXIgw6dpemdpIGtveQogICAgCiAgICBFxJ9lciBrb211dCDDp2FsxLHFn3TEsXLEsWxhbcSxeW9yc2EsIGBleGVjZmFpbCcgYXlhcmxhbm1hZMSxxJ/EsSBzw7xyZWNlIGV0a2lsZcWfaW1zaXoga2FidWsKICAgIMOnxLFrxLHFnyB5YXBhci4KICAgIAogICAgw4fEsWvEscWfIER1cnVtdToKICAgIEtPTVVUIGJ1bHVuZHXEn3UgdmUgYmlyIHnDtm5sZW5kaXJtZSBoYXRhc8SxIG9sbWFkxLHEn8SxIHPDvHJlY2UgYmHFn2FyxLFsxLEgZMO2bmVyLgBmb3IsIHdoaWxlIHZleWEgdW50aWwgZMO2bmfDvGxlcmluZSBkZXZhbSBldC4KICAgIAogICAgxLBsacWfa2lsaSBGT1IsIFdISUxFIHZleWEgVU5USUwgZMO2bmfDvHPDvG7DvG4gc29ucmFraSBhZMSxbcSxbmEgZGV2YW0gZWRlci4KICAgIE4gdGFuxLFtbGFubcSxxZ9zYSwgTidpbmNpIGlsacWfa2lsaSBkw7ZuZ8O8eWUgZGV2YW0gZWRlci4KICAgIAogICAgw4fEsWvEscWfIER1cnVtdToKICAgIE4sIDEgdmV5YSBkYWhhIGLDvHnDvGsgb2xtYWTEscSfxLFuZGEgw6fEsWvEscWfIGR1cnVtdSAwJ2TEsXIuAEfDtnJldmUgw7ZuIHBsYW5kYSBkZXZhbSBldC4KICAgIAogICAgYGZnJyAga29tdXR1bnUgIMSwxZ5fQkVMxLBSVMSwTcSwICBhcmfDvG1hbsSxIGlsZSBrdWxsYW5tYXlhICBlxZ9kZcSfZXJkaXIuCiAgICBEdXJtdcWfICB2ZXlhICBhcnRhbGFuZGFraSBiaXIgacWfaW4gw7ZuYWxhbmRhIHPDvHJkw7xyw7xsbWVzaW5pIHNhxJ9sYXIuCiAgICDEsMWeX0JFTMSwUlTEsE3EsCAgYmlyIGnFnyBpc21pIHZleWEgIGnFnyBudW1hcmFzxLEgb2xhcmFrIGJlbGlydGlsZWJpbGlyLgogICAgxLDFnl9CRUzEsFJUxLBNxLAnbmRlbiBzb25yYSBiaXIgJiBnZWxtZXNpIGnFn2luIGBiZycga29tdXR1bnVuYSBhcmfDvG1hbgogICAgb2xhcmFrIGt1bGxhbsSxbG3EscWfIGdpYmkgYXJ0YWxhbmEgeWVybGXFn3RpcmlsbWVzaW5lIHNlYmVwIG9sdXIuCiAgICAKICAgIMOHxLFrdMSxIER1cnVtdToKICAgIERldmFtIGVkaWxlbiBnw7ZyZXZpbiBkdXJ1bXVudSBkw7ZuZMO8csO8ci4AQmlyIGJhxZ9hcsSxbMSxIHNvbnXDpyBkw7ZucsO8csO8ci4KICAgIAogICAgw4fEsWvEscWfIER1cnVtdToKICAgIEhlciB6YW1hbiBiYcWfYXLEsWzEsWTEsXIuAEJhxZ9hcsSxc8SxeiBiaXIgc29udcOnIGTDtm5kw7xyLgogICAgCiAgICDDh8Sxa8SxxZ8gRHVydW11OgogICAgSGVyIHphbWFuIGJhxZ9hcsSxc8SxemTEsXIuAEdlw6dlcmxpIGFsdCB5b3JkYW0gw6dhxJ9yxLFzxLFuxLFuIGJhxJ9sYW3EsW7EsSBkw7ZuZMO8csO8ci4KICAgIAogICAgxLBGQURFIG9sbWFkYW4sICIkc2F0xLFyICRkb3N5YWFkxLEiIGTDtm5kw7xyw7xyLiAgxLBGQURFIGlsZSBrdWxsYW7EsWxkxLHEn8SxbmRhCiAgICAiJHNhdMSxciAkYWx0eW9yZGFtICRkb3N5YWFkxLEiIGTDtm5kw7xyw7xyOyBidSBlayBiaWxnaSBiaXIgecSxxJ/EsW4gaXppIHNhxJ9sYW1hawogICAgacOnaW4ga3VsbGFuxLFsYWJpbGlyLgogICAgCiAgICDEsEZBREUgZGXEn2VyaSwgZ2XDp2VybGkgw6dlcsOnZXZlZGVuIMO2bmNlIGthw6cgdGFuZSDDp2Vyw6dldmUgw6dhxJ9yxLFsYWNhxJ/EsW7EsQogICAgYmVsaXJ0aXIuIMOcc3Qgw6dlcsOnZXZlIDAuIMOnZXLDp2V2ZWRpci4gICAgCiAgICDDh8Sxa8SxxZ8gRHVydW11OgogICAgxLBGQURFIGdlw6dlcnNpeiBvbG1hZMSxxJ/EsSB2ZSBiaXIga2FidWsgacWfbGV2aSDDp2FsxLHFn3TEsXJtYWTEscSfxLEgZHVydW1kYSAwIGTDtm5kw7xyw7xyLgBHZcOnZXJsaSBhbHR5b3JkYW0gw6dhxJ9yxLFzxLFuxLFuIGJhxJ9sYW3EsSBkw7ZuZMO8csO8ci4KICAgIAogICAgxLBGQURFIG9sbWFkYW4sIMWfdSBkw7ZuZXIgAMOHYWzEscWfxLF5b3IAQsO2bMO8bm1lIGhhdGFzxLEATGlzdGVkZW4ga2VsaW1lbGVyaSBzZcOnIHZlIGtvbXV0bGFyxLEgw6dhbMSxxZ90xLFyLgogICAgCiAgICBgU8OWWiAuLi47JyAgbGlzdGVzaSB5b3J1bWxhbmFyYWsgw7bEn2UgbGlzdGVzaSDDvHJldGlsaXIuICDDlsSfZSBsaXN0ZXNpbmRla2kKICAgIGhlciDDtsSfZW5pbiBiYcWfxLFuYSBiaXIgbnVtYXJhIGVrbGVuZXJlayBzdGFuZGFydCBoYXRheWEgw6fEsWt0xLFsYW7EsXIuICBFxJ9lcgogICAgYGluIFPDllogLi4uIDsnIHBhcsOnYXPEsSB2ZXJpbG1lenNlLCBpbiAiJEAiJyB2ZXJpbG1pxZ8gZ2liaSBrb251bWEgYmHEn2zEsQogICAgcGFyYW1ldHJlbGVyIGJhc8SxbMSxciB2ZSAgc3RhbmRhcnQgZ2lyZGlkZSBQUzMgaXN0ZW1pIGlsZSBnaXJkaSBiZWtsZW5pci4KICAgIExpc3RlZGUgYmVsaXJ0aWxlbiBudW1hcmFsYXJkYW4gYmlyaSBnaXJkaSAgb2xhcmFrICB2ZXJpbGlyc2UsICBvIGtvbnVtYQogICAgYmHEn2zEsSBTw5ZaY8O8ayBpbGUgQUQgZcWfbGXFn3RpcmlsaXIuICBHaXJkaSBzYXTEsXLEsSBib8WfIHZlcmlsaXJzZSwgZG9zeWFzb251CiAgICBva3VudW5jYXlhIGthZGFyIGtvbXV0IGlzdGVtaSB0ZWtyYXJsYW7EsXIuIExpc3RlZGUgYmVsaXJ0aWxlbmxlciBkxLHFn8SxbmRhCiAgICB2ZXJpbGVuICBoZXIgZGXEn2VyIGnDp2luICBBRCAgbnVsbCBpbGUgZcWfbGXFn3RpcmlsaXIuICBPa3VuYW4gc2F0xLFyICRSRVBMWQogICAgZGXEn2nFn2tlbmluZGUgdHV0dWx1ci4gSGVyIHNlw6dpbWRlbiBzb25yYSBiaXIgYnJlYWsga29tdXR1IGlsZQogICAgc29ubGFuZMSxcsSxbMSxbmNheWEga2FkYXIga29tdXRsYXIgw6dhbMSxxZ90xLFyxLFsxLFyLgogICAgCiAgICDDh8Sxa3TEsSBEdXJ1bXU6CiAgICBTb24gw6dhbMSxxZ90xLFyxLFsYW4ga29tdXR1biBkdXJ1bXVudSBkw7ZuZMO8csO8ci4AUmVhZGxpbmUgdHXFnyBhdGFtYWxhcsSxbsSxIHZlIGRlxJ9pxZ9rZW5sZXJpbmkgYXlhcmxhLgogICAgCiAgICBCaXIgdHXFnyBkaXppbGltaW5pIGJpciBSZWFkbGluZSBpxZ9sZXZpbmUgdmV5YSBtYWtyb3N1bmEgYmHEn2xhciB5YSBkYQogICAgYmlyIFJlYWRsaW5lIGRlxJ9pxZ9rZW5pIGF0YXIuIFNlw6dlbmVrc2l6IGFyZ8O8bWFuIHPDtnpkaXppbWkgfi8uaW5pdHJjCiAgICBpw6dpbmRlIGJ1bHVuYW5hICBlxZ9kZcSfZXJkaXIsICBhbWEgdGVrIGJpciBhcmfDvG1hbiBvbGFyYWsgYWt0YXLEsWxtYXPEsQogICAgZ2VyZWtpcjogYmluZCAnIlxDLXhcQy1yIjogcmUtcmVhZC1pbml0LWZpbGUnLgogICAgCiAgICBTZcOnZW5la2xlcjoKICAgICAgLW0gIFRVxZ5ExLBaxLBTxLAgICAgICAgICBCdSBrb211dCBzw7xyZXNpbmNlIGvEsXNheW9sIG9sYXJhayBUVcWeRMSwWsSwU8SwCiAgICAgICAgICAgICAgICAgICAgICAgICBrdWxsYW7EsWzEsXIuIE9sYXPEsSBrxLFzYXlvbCBpc2ltbGVyaTogIGVtYWNzLAogICAgICAgICAgICAgICAgICAgICAgICAgZW1hY3Mtc3RhbmRhcmQsIGVtYWNzLW1ldGEsIGVtYWNzLWN0bHgsIHZpLAogICAgICAgICAgICAgICAgICAgICAgICAgdmktbW92ZSwgdmktY29tbWFuZCB2ZSB2aS1pbnNlcnQuCiAgICAgIC1sICAgICAgICAgICAgICAgICDEsMWfbGV2IGlzaW1sZXJpbmkgbGlzdGVsZXIuCiAgICAgIC1QICAgICAgICAgICAgICAgICDEsMWfbGV2IGlzaW1sZXJpbmkgdmUga8Sxc2F5b2xsYXLEsSBsaXN0ZWxlci4KICAgICAgLXAgICAgICAgICAgICAgICAgIMSwxZ9sZXYgaXNpbWxlcmluaSB2ZSBrxLFzYXlvbGxhcsSxLCBnaXJkaSBvbGFyYWsKICAgICAgICAgICAgICAgICAgICAgICAgIGt1bGxhbsSxbGFiaWxpciBiacOnaW1kZSBsaXN0ZWxlci4KICAgICAgLVMgICAgICAgICAgICAgICAgIE1ha3JvbGFyxLEgw6dhxJ/EsXJhbiB0dcWfIGRpemlsZXJpbmkgdmUgZGXEn2VybGVyaW5pCiAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0ZWxlcgogICAgICAtcyAgICAgICAgICAgICAgICAgTWFrcm9sYXLEsSDDp2HEn8SxcmFuIHR1xZ8gZGl6aWxlcmluaSB2ZSBkZcSfZXJsZXJpbmkKICAgICAgICAgICAgICAgICAgICAgICAgIGdpcmRpIG9sYXJhayBrdWxsYW7EsWxhYmlsaXIgYmnDp2ltZGUgbGlzdGVsZXIuICAgICAgIC1WICAgICAgICAgICAgICAgICBEZcSfacWfa2VuIGlzaW1sZXJpbmkgdmUgZGXEn2VybGVyaW5pIGxpc3RlbGVyLgogICAgICAtdiAgICAgICAgICAgICAgICAgRGXEn2nFn2tlbiBpc2ltbGVyaW5pIHZlIGRlxJ9lcmxlcmluaSBnaXJkaSBvbGFyYWsKICAgICAgICAgICAgICAgICAgICAgICAgIGt1bGxhbsSxbGFiaWxpciBiacOnaW1kZSBsaXN0ZWxlci4KICAgICAgLXEgIMSwxZ5MRVYgICAgICAgICAgxLBzbWkgYmVsaXJ0aWxlbiDEsMWeTEVWaSDDp2HEn8SxcmFuIHR1xZ9sYXIgaGFra8SxbmRhIHNvcmd1LgogICAgICAtdSAgxLDFnkxFViAgICAgICAgICDEsHNtaSBiZWxpcnRpbGVuIMSwxZ5MRVZpIMOnYcSfxLFyYW4gdMO8bSB0dcWfIGvEsXNheW9sbGFyxLFuxLEKICAgICAgICAgICAgICAgICAgICAgICAgIGthbGTEsXLEsXIuCiAgICAgIC1yICBUVcWeRMSwWsSwU8SwICAgICAgVFXFnkTEsFrEsFPEsCBpw6dpbiBtZXZjdXQga8Sxc2F5b2xsYXLEsSBrYWxkxLFyxLFyLgogICAgICAteCAgVFXFnkTEsFrEsFPEsDpLQUJVSy1LT01VVFUJVFXFnkTEsFrEsFPEsG5pbiBoZXIgZ2lyaWxpxZ9pbmRlIEtBQlVLLUtPTVVUVW51bgogICAgCQkJCcOnYWzEscWfdMSxcsSxbG1hc8SxbsSxIHNhxJ9sYXIuCiAgICAgIC1YCQkgICAgIFR1xZ8gZGl6aWxlcmluaSAteCB2ZSBpbGnFn2tpbGkga29tdXRsYXLEsW7EsSB0ZWtyYXIgYmlyIGdpcmRpIG9sYXJhayBrdWxsYW7EsWxhYmlsZWNlawogICAgICAgICAgICAgICAgICAgICAgICAgYmnDp2ltZGUgbGlzdGVsZXIuCiAgICAKICAgIMOHxLFrxLHFnyBEdXJ1bXU6CiAgICB0YW7EsW5tYXlhbiBiaXIgc2XDp2VuZWsgZ2lyaWxtZWRpxJ9pIHZleWEgYmlyIGhhdGEgb2x1xZ9tYWTEscSfxLEgZHVydW1kYSAwIGTDtm5kw7xyw7xyLgBEZcSfacWfa2VuIGlzaW0gdmUgbml0ZWxpa2xlcmluaSBheWFybGEuCiAgICAKICAgIEt1bGxhbsSxbG3EsXlvci4gIEJrei4gYGhlbHAgZGVjbGFyZScuAEJ1IGFuYWh0YXIgc8O2emPDvGtsZSBlxZ9sZcWfZW4ga29tdXRsYXI6IGAAQnUgYW5haHRhciBzw7Z6Y8O8a2xlcmxlIGXFn2xlxZ9lbiBrb211dGxhcjogYABLYWJ1ayBzZcOnZW5la2xlcmk6CgBTaW55YWwgJWQARHVyZHUARHVyZHVydWxkdSAoc2lueWFsKQBEdXJkdXJ1bGR1ICh0dHkgZ2lyacWfaSkARHVyZHVydWxkdSAodHR5IMOnxLFrxLHFn8SxKQBEdXJkdSglcykAVElNRUZPUk1BVDogYCVjJzogYmnDp2ltIGthcmFrdGVyaSBnZcOnZXJzaXoAU29ubGFuZMSxcsSxbGTEsQAlcydkZWtpIHBvc3RhIG9rdW5kdQoAw4dhbMSxxZ9hbiBnw7ZyZXZsZXIgbWV2Y3V0LgoARHVybXXFnyBpxZ9sZXIgdmFyLgoAxLB6aW4gdmVyaWxlbiB5YXNhbGFyIGthcHNhbcSxbmRhIGhpw6diaXIgR0FSQU5UxLBTxLAgQlVMVU5NQU1BS1RBRElSLgBCdSBrYWJ1ayBrb211dGxhcsSxIGRhaGlsaSBvbGFyYWsgdGFuxLFtbMSxLiBMaXN0ZXlpIGfDtnJtZWsgacOnaW4gYGhlbHAneWF6xLFuLgpgQUQnIGdpYmkgYmlyIGnFn2xldiBoYWtrxLFuZGEgYmlsZ2kgYWxtYWsgacOnaW4gYGhlbHAgQUQnIHlhesSxbsSxei4KS2FidWsgaGFra8SxbmRhIGdlbmVsIGJpciBiaWxnaSBlZGlubWVrIGnDp2luIGBpbmZvIGJhc2gneWF6xLFuxLF6LgpCdSBsaXN0ZWRlIG9sbWF5YW4ga29tdXRsYXIgaGFra8SxbmRhIGJpbGdpIGJ1bG1hayBpc3RlcnNlbml6LApgbWFuIC1rJyB2ZXlhIGBpbmZvJyB5YXrEsW4uCgpCaXIgaXNtaW4geWFuxLFuZGEgYmlyIHnEsWxkxLF6IGltaSAoKikgdmFyc2Ega29tdXQgaXB0YWwgZWRpbG1pxZ8gZGVtZWt0aXIuCgoAQnUgw7xjcmV0c2l6IGJpciB5YXrEsWzEsW1kxLFyOyBkZcSfacWfdGlybWVrdGUgdmUgZGHEn8SxdG1ha3RhIMO2emfDvHJzw7xuw7x6LgBLYWJ1ayBzZcOnZW5la2xlcml5bGUgaWxnaWxpIGRhaGEgZmF6bGEgYmlsZ2kgacOnaW4gYCVzIC1jICJoZWxwIHNldCInIHlhesSxbi4KAEthYnVrIHllcmxlxZ9payBrb211dGxhcsSxeWxhIGlsZ2lsaSBiaWxnaSBhbG1hayBpw6dpbiBgJXMgLWMgaGVscCcgeWF6xLFuLgoAQmlsaW5tZXllbiBTaW55YWwgIwBCaWxpbm1leWVuIFNpbnlhbCAjJWQAQmlsaW5tZXllbiBoYXRhAEJpbGlubWV5ZW4gZHVydW0AQWNpbCBHw4cga2/Fn3VsdQBLdWxsYW7EsW06CSVzIFtHTlUgdXp1biBzZcOnZW5lxJ9pXSBbc2XDp2VuZWtdIC4uLgoJJXMgW0dOVSB1enVuIHNlw6dlbmXEn2ldIFtzZcOnZW5la10gYmV0aWstZG9zeWFzxLEgLi4uCgBLYWJ1xJ91IGLEsXJha21hayBpw6dpbiAiJXMiIGt1bGxhbsSxbi4KAFlhesSxbMSxbSBoYXRhbGFyxLFuxLEgcmFwb3JsYW1hayBpw6dpbiBgYmFzaGJ1Zycga29tdXR1bnUga3VsbGFuxLFuxLF6LgrDh2V2aXJpIGhhdGFsYXLEsW7EsSBpc2UgPGdudS10ckBiZWxnZWxlci5vcmc+IGFkcmVzaW5lIGJpbGRpcmluaXouCgBLdWxsYW7EsWPEsSBzaW55YWxpIDEAS3VsbGFuxLFjxLEgc2lueWFsaSAyAFPDvHJlY2luIHRhbWFtbGFubWFzxLFuxLEgYmVrbGUgdmUgw6fEsWvEscWfIGR1cnVtdW51IGTDtm5kw7xyLgogICAgCiAgICBCZWxpcnRpbGVuIHPDvHJlY2kgYmVrbGVyIHZlIHNvbmxhbmTEsXJtYSBkdXJ1bXVudSByYXBvcmxhci4gRcSfZXIgSUQgdmVyaWxtZW1pxZ9zZQogICAgZ2XDp2VybGkgdMO8bSBhbHQgc8O8cmXDp2xlciBiZWtsZW5pciB2ZSBkw7Zuw7zFnyBrb2R1IHPEsWbEsXJkxLFyLiBFxJ9lciBJRCBiaXIgZ8O2cmV2IHRhbsSxbcSxeXNhCiAgICBnw7ZyZXZpbiBpbGV0acWfaW0gdMO8bmVsaW5kZWtpIHTDvG0gc8O8cmXDp2xlciBiZWtsZW5pci4KICAgIAogICAgLW4gc2XDp2VuZcSfaSB2ZXJpbGlyc2UsIHNvbnJha2kgZ8O2cmV2aW4gc29ubGFubWFzxLEgYmVrbGVuaXIgdmUgw6fEsWvEscWfIGR1cnVtdW7EsSBkw7ZuZMO8csO8ci4KICAgIAogICAgw4fEsWvEscWfIER1cnVtdToKICAgIEtpbWxpayBkdXJ1bXVudSBkw7ZuZMO8csO8ciwga2ltbGlrIGdlw6dlcnNpenNlIHZleWEgZ2XDp2Vyc2l6IGJpciBzZcOnZW5layB2ZXJpbG1pxZ9zZQogICAgYmHFn2FyxLFzxLF6IG9sdXIuAFPDvHJlY2luIHRhbWFtbGFubWFzxLFuxLEgYmVrbGUgdmUgw6fEsWvEscWfIGR1cnVtdW51IGTDtm5kw7xyLgogICAgCiAgICBQSUQgdGFyYWbEsW5kYW4gYmVsaXJ0aWxlbiBoZXIgc8O8cmVjaSBiZWtsZXIgdmUgc29ubGFuZMSxcm1hIGR1cnVtdW51IHJhcG9ybGFyLgogICAgRcSfZXIgUElEIHZlcmlsbWVtacWfc2UgZ2XDp2VybGkgdMO8bSBhbHQgc8O8cmXDp2xlciBiZWtsZW5pciB2ZSBkw7Zuw7zFnyBrb2R1IHPEsWbEsXJkxLFyLgogICAgUElEIGJpciBzw7xyZcOnIGtpbWxpxJ9pIG9sbWFsxLFkxLFyLgogICAgCiAgICDDh8Sxa8SxxZ8gRHVydW11OgogICAgU29uIFBJRCduaW4gZHVydW11bnUgZMO2bmTDvHLDvHIsIFBJRCBnZcOnZXJzaXpzZSB2ZXlhIGdlw6dlcnNpeiBiaXIgc2XDp2VuZWsgdmVyaWxtacWfc2UKICAgIGJhxZ9hcsSxc8SxeiBvbHVyLgBQZW5jZXJlIGRlxJ9pxZ90aXJpbGRpAEFyZ8O8bWFubGFyxLEgc3RhbmRhcnQgw6fEsWt0xLF5YSB5YXouCiAgICAKICAgIEFSR8O8bWFubGFyxLEgeWVuaSBzYXTEsXIgaWxlIHRha2lwIGVkZW4gc3RhbmRhcnQgw6fEsWt0xLFkYSBnw7Zyw7xudMO8bGUuCiAgICAKICAgIFNlw6dlbmVrbGVyOgogICAgICAtbgl5ZW5pIGJpciBzYXTEsXJhIGJhxZ92dXJtYQogICAgCiAgICDDh8Sxa8SxxZ8gRHVydW11OgogICAgQmlyIGhhdGEgb2x1xZ9tYWTEscSfxLEgc8O8cmVjZSBiYcWfYXLEsWzEsSBkw7ZuZXIuACRfJ2RlIHBvc3RhbsSxeiB2YXIAJF8nZGUgeWVuaSBwb3N0YW7EsXogdmFyAFsgYXJnLi4uIF0AW1sgaWZhZGUgXV0AYCVjJzogaGF0YWzEsSBrb211dABgJWMnOiBiacOnaW0ga2FyYWt0ZXJpIGdlw6dlcnNpegBgJWMnOiBzaW1nZXNlbCBraXAga2FyYWt0ZXJpIGdlw6dlcnNpegBgJWMnOiBzaW1nZXNlbCBraXAgacWfbGVjaSBnZcOnZXJzaXoAYCVjJzogZ2XDp2Vyc2l6IHphbWFuIGJpw6dpbWkgYmVsaXJ0aW1pAGAlcyc6IGvEsXNheW9sIGRlxJ9pxZ90aXJpbGVtaXlvcgBgJXMnOiBnZcOnZXJzaXogdGFrbWEgaXNpbQBgJXMnOiBrxLFzYXlvbCBpc21pIGdlw6dlcnNpegAlczogYmlyIGthYnVrIHllcmxlxZ9pxJ9pZGlyAGAlcyc6IGJpw6dpbSBrYXJha3RlcmkgZWtzaWsAYCVzJzogZ2XDp2VybGkgYmlyIGnFnyBiZWxpcnRpbWkgdmV5YSBzw7xyZcOnIG51bWFyYXPEsSBkZcSfaWwAYCVzJzogZ2XDp2VybGkgYmlyIGJlbGlydGXDpyBkZcSfaWwAYCVzJzogacWfbGV2IGlzbWkgYmlsaW5taXlvcgBgKScgYmVrbGVuaXlvcmR1AGApJyBiZWtsZW5peW9yZHUsICVzIGJ1bHVuZHUAa2/Fn3VsbHUgaWZhZGUgacOnaW4gYDonIGJla2xlbml5b3JkdQBhZGRfcHJvY2VzczogJTVsZCAoJXMpIHByb2dyYW0ga2ltbGnEn2kgaGFsYSBjYW5sxLEgb2xhcmFrIGnFn2FyZXRsaQBhZGRfcHJvY2VzczogJTVsZCAoJXMpIHPDvHJlY2kgaWxldGnFn2ltX3TDvG5lbGluZGUAYWxpYXMgWy1wXSBbaXNpbVs9ZGXEn2VyXSAuLi4gXQBhbGxfbG9jYWxfdmFyaWFibGVzOiBnZcOnZXJsaSBldGtpIGFsYW7EsW5kYSBoacOnIGnFn2xldiBiYcSfbGFtxLEgeW9rAGFyZ8O8bWFuAGFyZ8O8bWFuIGJla2xlbml5b3JkdQBkaXppIGRlxJ9pxZ9rZW4gZGVzdGXEn2kgZ2VyZWtsaQBkZcSfacWfa2VuIG9sbWF5YW5hIGF0YW1hIHlhcG1heWEgw6dhbMSxxZ/EsWxkxLEAaGF0YWzEsSBkaXppIGluZGlzaQBoYXRhbMSxIGtvbXV0IHTDvHLDvABoYXRhbMSxIGJhxJ9sYW50xLEAaGF0YWzEsSBzxLHDp3JhbWEAaGF0YWzEsSBpa2FtZTogJXMgacOnaW5kZSBrYXBhdGFuICJgIiB5b2sAaGF0YWzEsSBpa2FtZTogJTIkcyBpw6dpbmRlIGthcGF0YW4gYCUxJHMnIHlvawBiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBrb211dCBpw6dpbiBrxLFzYXlvbCBidWx1bmFtxLF5b3IAYmcgW2fDtnJldl90YW4gLi4uXQBiaW5kIFstbHB2c1BWU1hdIFstbSBhbmFodGFyIGXFn2xlbmnEn2ldIFstZiBkb3N5YWFkxLFdIFstcSBpc2ltXSBbLXUgaXNpbV0gWy1yIGFuYWh0YXIgc8SxcmFzxLFdIFsteCBrZXlzZXE6a2FidWsta29tdXR1XSBba2V5c2VxOnNhdMSxcm9rdW1hLWnFn2xldmkgdmV5YSBzYXTEsXJva3VtYS1rb211dHVdAGJyZWFrIFtuXQB5YXrEsWzEsW0gaGF0YXPEsTogYmFkIGV4cGFzc2lnbiB0b2tlbgBidWlsdGluIFtrYWJ1ay1kYWhpbGkgW2FyZyAuLi5dXQBjYWxsZXIgW2lmYWRlXQBzYWRlY2UgYmlyIGnFn2xldiB2ZXlhIGJldGlrdGVuIGtheW5ha2zEsSBvbGFyYWsgYHJldHVybicgeWFwxLFsYWJpbGlyAHNhZGVjZSBiaXIgacWfbGV2ZGUga3VsbGFuxLFsYWJpbGlyAGZkICVkIHRhbsSxdMSxY8Sxc8SxbmRha2kgYmFzaCBnaXJkaXNpIGnDp2luIHllbmkgZG9zeWEgdGFuxLF0xLFjxLFzxLEgYXlyxLFsYW3EsXlvcgBiZWxnZSBpw6dpbiBnZcOnaWNpIGRvc3lhIG9sdcWfdHVydWxhbcSxeW9yOiAlcwBmZCAlZCwgZmQgJWQgb2xhcmFrIHlpbmVsZW5lbWl5b3IAaXNpbWxpIGJvcnUgJXMgZmQgJWQgb2xhcmFrIHlpbmVsZW5lbWl5b3IAJTIkcyBwYXlsYcWfxLFtbMSxIG5lc25lc2luZGUgJTEkcyBidWx1bmFtxLF5b3I6ICUzJHMAa29tdXQgaWthbWVzaSBpw6dpbiBhbHQgc8O8cmXDpyB5YXDE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Wy1kbnBzXSBbLWYgZG9zeWFhZMSxXSBbaXNpbSAuLi5dAHXDp2JpcmltIG5pdGVsaWtsZXJpIGFsxLFuxLFya2VuIGhhdGE6ICVzAGAlcyduaW4gacWfbGV2IHRhbsSxbcSxbsSxbiBpw6dlcmkgYWt0YXLEsWxtYXPEsW5kYSBoYXRhAHXDp2JpcmltIG5pdGVsaWtsZXJpIGF5YXJsYW7EsXJrZW4gaGF0YTogJXMAZXZhbCBbYXJnIC4uLl0AZXhlYyBbLWNsXSBbLWEgaXNpbV0gW2tvbXV0IFthcmfDvG1hbmxhciAuLi5dXSBbecO2bmxlbmRpcm1lIC4uLl0AZXhpdCBbbl0AYCknIHVtdWx1eW9yZHUAw7xzIHPEsWbEsXJkYW4ga8O8w6fDvGsAZXhwb3J0IFstZm5dIFtpc2ltWz1kZcSfZXJdIC4uLl0gdmV5YSBleHBvcnQgLXAAaWZhZGUgYmVrbGVuaXlvcmR1AGlmYWRlIMO2enlpbmVsZW1lIGTDvHpleWkgYcWfxLFsZMSxAGZhbHNlAGZjIFstZSBlbmFtZV0gWy1sbnJdIFtpbGtdIFtzb25dIHZleWEgZmMgLXMgW3BhdD1yZXBdIFtrb211dF0AZmcgW2fDtnJldl90YW5dAGRvc3lhIHRhbsSxdMSxY8SxIGFyYWzEsWsgZMSxxZ/EsW5kYQBkb3N5YSBpc21pIGFyZ8O8bWFuIGdlcmVraXIAZm9yICgoIGlmYWRlMTsgaWZhZGUyOyBpZmFkZTMgKSk7IGRvIEtPTVVUTEFSOyBkb25lAGZvciDEsFPEsE0gW2luIEtFTMSwTUVMRVIgLi4uIF0gOyBkbyBLT01VVExBUjsgZG9uZQDDp2F0YWxsYW5hbiBwaWQgJWQsIMOnYWzEscWfYW4gacWfICVkIGnDp2luZGUgZ8O2csO8bsO8eW9yAGZyZWU6IHphdGVuIHNlcmJlc3QgYsSxcmFrxLFsbcSxxZ8gYmxvayBhcmfDvG1hbsSxIGlsZSDDp2HEn3LEsWxkxLEAZnJlZTogYXlyxLFsbWFtxLHFnyBibG9rIGFyZ8O8bWFuxLEgaWxlIMOnYcSfcsSxbGTEsQBmcmVlOiBiYcWfbGFuZ8Sxw6cgdmUgc29uIHRvbWFyIGJveXV0bGFyxLEgZmFya2zEsQBmcmVlOiBhbHR0YW4gdGHFn21hIHNhcHRhbmTEsTsgbWhfbmJ5dGVzIGFyYWzEsWsgZMSxxZ/EsW5kYQBmdW5jdGlvbiBpc2ltIHsgS09NVVRMQVIgOyB9IHZleWEgaXNpbSAoKSB7IEtPTVVUTEFSIDsgfQBrYWJ1ayBnZWxlY2VrdGVraSBzw7xyw7xtbGVyaW5kZSwgYmlyIGFyaXRtZXRpayBpa2FtZSBvbGFyYWsgZGXEn2VybGVuZGlybWV5ZSB6b3JsYXlhY2FrAGdldGN3ZDogw7xzdCBkaXppbmxlcmUgZXJpxZ9pbGVtaXlvcgBnZXRvcHRzIG9wdHN0cmluZyBpc2ltIFthcmddAGhhc2ggWy1scl0gWy1wIHlvbGFkxLFdIFstZHRdIFtpc2ltIC4uLl0Aw6dpdGxlbWUgaXB0YWwgZWRpbGRpAGhlbHAgWy1kbXNdIFtkZXNlbiAuLi5dAGJ1IGJlbGdlZGUgJWQgc2F0xLFyxLFuZGEgZG9zeWEgc29udSBzb25sYW5kxLFyxLFsbcSxxZ8gKGlzdGVuZW4gYCVzJykAaGlzdG9yeSBbLWNdIFstZCBiYcWfbGFuZ8Sxw6ddIFtuXSB2ZXlhIGhpc3RvcnkgLWFucncgW2Rvc3lhYWTEsV0gdmV5YSBoaXN0b3J5IC1wcyBhcmcgW2FyZy4uLl0AZ2XDp21pxZ8ga29udW11AGdlw6dtacWfIGJlbGlydGltaQBlxZ9sZcWfbWUJa29tdXQKAGJlbGlydGXDpyDDtm4tYXJ0dMSxcsSxbSB2ZXlhIMO2bi1la3NpbHRpbSBzb25yYXPEsSBiZWtsZW5peW9yZHUAaWYgS09NVVRMQVI7IHRoZW4gS09NVVRMQVI7IFsgZWxpZiBLT01VVExBUjsgdGhlbiBLT01VVExBUjsgXS4uLiBbIGVsc2UgS09NVVRMQVI7IF0gZmkAaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCBiYcWfYXLEsXPEsXoAaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2F0xLFyIGTDvHplbmkAaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZABnZcOnZXJzaXogc2F5xLEgdGFiYW7EsQBnZcOnZXJzaXogdGFiYW4AJTIkcyBpw6dpbiBleHBvcnRzdHIgacOnaW5kZSBnZcOnZXJzaXoga2FyYWt0ZXIgJTEkZABnZcOnZXJzaXogb25hbHTEsWzEsWsgc2F5xLEAZ2XDp2Vyc2l6IHNhecSxAGdlw6dlcnNpeiBzZWtpemxpIHNhecSxAGdlw6dlcnNpeiBzaW55YWwgbnVtYXJhc8SxACVkLiBpxZ8sIGnFnyBkZW5ldGltc2l6IGJhxZ9sYW3EscWfAGfDtnJldl90YW4gWyZdAGpvYnMgWy1sbnByc10gW2fDtnJldnRhbiAuLi5dIHZleWEgam9icyAteCBrb211dCBbYXJnw7xdAGtpbGwgWy1zIHNpbnNwZWMgfCAtbiBzaWdudW0gfCAtc2lnc3BlY10gcGlkIHwgZ8O2cmV2dGFuIC4uLiB2ZXlhIGtpbGwgLWwgW3NpZ3NwZWNdAHNvbiBrb211dDogJXMKAGxldCBhcmcgW2FyZyAuLi5dAHPEsW7EsXIAc2F0xLFyICVkOiAAc2F0xLFyIGTDvHplbmxlbWUgZXRraW4gZGXEn2lsAGxvY2FsIFtzZcOnZW5la10gaXNpbVs9ZGXEn2VyXSAuLi4Aw6fEsWvEscWfCgBsb2dvdXQgW25dAGTDtm5nw7wgc2F5xLFzxLEAbWFrZV9oZXJlX2RvY3VtZW50OiBoYXRhbMSxIHnDtm5lcmdlIHTDvHLDvCAlZABtYWtlX2xvY2FsX3ZhcmlhYmxlOiBnZcOnZXJsaSBldGtpIGFsYW7EsW5kYSBoacOnIGnFn2xldiBiYcSfbGFtxLEgeW9rAG1ha2VfcmVkaXJlY3Rpb246IHnDtm5sZW5kaXJtZSB5w7ZuZXJnZXNpIGAlZCcgYXJhbMSxayBkxLHFn8SxbmRhAG1hbGxvYzogc2VyYmVzdCBixLFyYWvEsWxtxLHFnyBsaXN0ZSDDvHN0w7xuZGUgYmxvayDDvHN0ZSB5YXpkxLEAbWFsbG9jOiBrYW5hYXQgZG/En3J1bGFtYXPEsSBiYcWfYXLEsXPEsXo6ICVzCgBtYXBmaWxlIFstbiBzYXldIFstTyBrYXluYWtdIFstcyBzYXldIFstdF0gWy11IGZkXSBbLUMgZ2VyacOnYcSfxLFyxLFtXSBbLWMgcGFyw6dhY8Sxa10gW2RpemldAHPDvHJlY2kgYmHFn2thIGJpciBpxZ9sZW1jaXllIGFrdGFyAGVrc2lrIGApJwBla3NpayBgXScAXHggacOnaW4gb25hbHTEsWzEsWsgcmFrYW0gZWtzaWsAZXZyZW5zZWwga29kIHJha2FtxLEgZWtzaWsgXCVjAGRlc3Rla2xlbm1leWVuIGHEnyBpxZ9sZW1sZXJpACVzIGnDp2luIGV4cG9ydHN0ciBpw6dpbmRlIGA9JyB5b2sAJTIkcyBpw6dpbmRlIGthcGF0YW4gYCUxJGMnIHlvawBrb211dCB5b2sAYCVzJyBpbGUgaWxnaWxpIGJpciB5YXJkxLFtIG1ldG5pIHlvay4gIGBoZWxwIGhlbHAnIHZleWEgYG1hbiAtayAlcycgeWEgZGEgYGluZm8gJXMnLnlhem1hecSxIGRlbmV5ZWJpbGlyc2luaXouAGnFnyBkZW5ldGltaSB5b2sAYnUga2FidWt0YSBpxZ8gZGVuZXRpbWkgeW9rAGXFn2xlxZ9tZSB5b2s6ICVzAGJhxZ9rYSBkaXppbiB5b2sAYC14JyBpbGUgYmHFn2thIHNlw6dlbmVrIGt1bGxhbsSxbGFtYXoAxZ91YW4gdGFtYW1sYW1hIGnFn2xldmkgw6dhbMSxxZ90xLFyxLFsbcSxeW9yAG90dXJ1bSBhw6dtYSBrYWJ1xJ91IGRlxJ9pbDogYGV4aXQnIGt1bGxhbsSxbgBzZWtpemxpayBzYXnEsQBzYWRlY2UgYmlyIGBmb3InLCBgd2hpbGUnIHZleWEgYHVudGlsJyBkw7ZuZ8O8c8O8bmRlIGFubGFtbMSxAGlsZXRpxZ9pbSB0w7xuZWxpIGhhdGFzxLEAcG9wX3Njb3BlOiBrYWJ1ayBkZcSfacWfa2VubGVyaW5pbiBiYcWfxLEgYmlyIGdlw6dpY2kgb3J0YW0gZXRraSBhbGFuxLEgZGXEn2lsAHBvcF92YXJfY29udGV4dDoga2FidWsgZGXEn2nFn2tlbmxlcmluaW4gYmHFn8SxIGJpciBpxZ9sZXYgYmHEn2xhbcSxIGRlxJ9pbABwb3BfdmFyX2NvbnRleHQ6IGdlbmVsIGRlxJ9pxZ9rZW5sZXIgYmHEn2xhbcSxIHlvawBwb3BkIFstbl0gWytOIHwgLU5dAHlha8SxbiBnw7zDpyBiYcWfYXLEsXPEsXpsxLHEn8SxAHByaW50X2NvbW1hbmQ6IGhhdGFsxLEgYmHEn2xhecSxY8SxIGAlZCcAcHJpbnRmIFstdiB2YXJdIGJpw6dpbSBbYXJnw7xtYW5sYXJdAHByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMAcHJvZ3JhbWxhbWEgaGF0YXPEsQBwdXNoZCBbLW5dIFsrTiB8IC1OIHwgZGl6aW5dAHB3ZCBbLUxQXQByZWFkIFstZXJzXSBbLWEgZGl6aV0gWy1kIHNvbmxhbmTEsXLEsWPEsV0gWy1pIG1ldGluXSBbLW4gbmthcmFrdGVyXSBbLU4gbmthcmFrdGVyXSBbLXAgaXN0ZW1dIFstdCB6YW1hbmHFn8SxbcSxXSBbLXUgZmRdIFtpc2ltIC4uLl0Ab2t1bWEgaGF0YXPEsTogJWQ6ICVzAHJlYWRhcnJheSBbLW4gc2F5XSBbLU8ga2F5bmFrXSBbLXMgc2F5XSBbLXRdIFstdSBmZF0gWy1DIGdlcmnDp2HEn8SxcsSxbV0gWy1jIHBhcsOnYWPEsWtdIFtkaXppXQByZWFkb25seSBbLWFBZl0gW2lzaW1bPWRlxJ9lcl0gLi4uXSB2ZXlhIHJlYWRvbmx5IC1wAHJlYWxsb2M6IGF5csSxbG1hbcSxxZ8gYmxvayBhcmfDvG1hbsSxIGlsZSDDp2HEn3LEsWxkxLEAcmVhbGxvYzogYmHFn2xhbmfEscOnIHZlIHNvbiB0b21hciBib3l1dGxhcsSxIGZhcmtsxLEAcmVhbGxvYzogYWx0dGFuIHRhxZ9tYSBzYXB0YW5kxLE7IG1oX25ieXRlcyBhcmFsxLFrIGTEscWfxLFuZGEAw7Z6eWluZWxlbWUgecSxxJ/EsXTEsSBhbHR0YW4gdGHFn3TEsQB5w7ZubGVuZGlybWUgaGF0YXPEsTogZmQgeWluZWxlbmVtaXlvcgByZWdpc3Rlcl9hbGxvYzogJXAgemF0ZW4gYXlyxLFsbcSxxZ8gb2xhcmFrIHRhYmxvZGEgZGXEn2lsIG1pPwoAcmVnaXN0ZXJfYWxsb2M6IGFsbG9jIHRhYmxvc3UgRklORF9BTExPQyBpbGUgZG9sdSBvbGFiaWxpciBtaT8KAHJlZ2lzdGVyX2ZyZWU6ICVwIHphdGVuIHNlcmJlc3QgYsSxcmFrxLFsbcSxxZ8gb2xhcmFrIHRhYmxvZGEgZGXEn2lsIG1pPwoAa8Sxc8SxdGzEsQByZXR1cm4gW25dAHJ1bl9wZW5kaW5nX3RyYXBzOnRyYXBfbGlzdFslZF0gacOnaW5kZSBoYXRhbMSxIGRlxJ9lcjogJXAAcnVuX3BlbmRpbmdfdHJhcHM6IHNpbnlhbCB5YWthbGF5xLFjxLEgU0lHX0RGTCdkaXIsIGtlbmRpbWUgJWQgKCVzKSBnw7ZuZGVyZXJlawBzYXZlX2Jhc2hfaW5wdXQ6IHllbmkgZmQgJWQgacOnaW4gdGFtcG9uIHphdGVuIHZhcgBzZWxlY3QgxLBTxLBNIFtpbiBLRUzEsE1FTEVSIC4uLiA7XSBkbyBLT01VVExBUjsgZG9uZQBzZXQgWy1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbLS1dIFthcmcgLi4uXQBzZXRsb2NhbGU6ICVzOiB5ZXJlbCAoJXMpIGRlxJ9pxZ90aXJpbGVtaXlvcgBzZXRsb2NhbGU6ICVzOiB5ZXJlbCAoJXMpIGRlxJ9pxZ90aXJpbGVtaXlvcjogJXMAc2V0bG9jYWxlOiBMQ19BTEw6ICglcykgZGlsaW5lIGRlxJ9pxZ90aXJpbGVtZWRpAHNldGxvY2FsZTogTENfQUxMOiDFn3UgZGlsZSAoJXMpIGRlxJ9pxZ90aXJpbGVtZWRpOiAlcwBrYWJ1ayBkw7x6ZXlpICglZCkgw6dvayB5w7xrc2VrLCAxIHlhcMSxbMSxeW9yAHNoaWZ0IFtuXQBzaGlmdCBzYXnEsXPEsQBzaG9wdCBbLXBxc3VdIFstb10gW29wdG5hbWUgLi4uXQBzaWdwcm9jbWFzazogJWQ6IGdlw6dlcnNpeiBpxZ9sZW0Ac291cmNlIGRvc3lhYWTEsSBbYXJnw7xtYW5sYXJdAHN0YXJ0X3BpcGVsaW5lOiBwZ3JwIGlsZXRpxZ9pbSB0w7xuZWxpAHN1c3BlbmQgWy1mXQBzw7Z6ZGl6aW1pIGhhdGFzxLEAa2/Fn3VsbHUgaWZhZGVkZSBzw7Z6ZGl6aW1pIGhhdGFzxLEAa2/Fn3VsbHUgaWZhZGVkZSBzw7Z6ZGl6aW1pIGhhdGFzxLE6IGJla2xlbm1lZGlrIGRpemdlY2lrIGAlcycAaWZhZGVkZSBzw7Z6ZGl6aW1pIGhhdGFzxLEAYCVzJyB5YWvEsW7EsW5kYSBzw7Z6ZGl6aW1pIGhhdGFzxLEAYmVrbGVubWV5ZW4gZGl6Z2VjaWsgYCVzJyB5YWvEsW7EsW5kYSBzw7Z6ZGl6aW1pIGhhdGFzxLEAc8O2emRpemltaSBoYXRhc8SxOiBgKCglcykpJwBzw7Z6ZGl6aW1pIGhhdGFzxLE6IGA7JyBiZWtsZW5taXlvcmR1AHPDtnpkaXppbWkgaGF0YXPEsTogYXJpdG1ldGlrIGlmYWRlc2kgZ2VyZWtsaQBzw7Z6ZGl6aW1pIGhhdGFzxLE6IGdlw6dlcnNpeiBhcml0bWV0aWsgacWfbGVjaQBzw7Z6ZGl6aW1pIGhhdGFzxLE6IHRlcmltIHVtdWx1eW9yZHUAc8O2emRpemltaSBoYXRhc8SxOiBiZWtsZW5tZXllbiBkb3N5YSBzb251AHlha8SxbiBzaXN0ZW0gw6fDtmttZXNpAHRlc3QgW2lmYWRlXQB0aW1lIFstcF0gemFtYW50w7xuZWxpAHRpbWVzAMOnb2sgZmF6bGEgYXJnw7xtYW4AdHJhcCBbLWxwXSBbW2FyZ10gc2lueWFsX3RhbiAuLi5dAHRyYXBfaGFuZGxlcjpoYXRhbMSxIHNpbnlhbCAlZAB0cnVlAHR5cGUgWy1hZnB0UF0gaXNpbSBbaXNpbSAuLi5dAHR5cGVzZXQgWy1hQWZGZ2lscnR1eF0gWy1wXSBpc2ltWz1kZcSfZXJdIC4uLgB1bGltaXQgWy1TSGFiY2RlZmlsbW5wcXJzdHV2eFRdIFtzxLFuxLFyXQB1bWFzayBbLXBdIFstU10gW2tpcF0AdW5hbGlhcyBbLWFdIGlzaW0gW2lzaW0gLi4uXQBgXV0nIGFyYW7EsXJrZW4gYmVrbGVubWVkaWsgZG9zeWEgc29udQBgJWMnIGnDp2luIGXFn2xlxZ9tZSBhcmFuxLFya2VuIGJla2xlbm1lZGlrIGRvc3lhIHNvbnUAYCknIGnDp2luIGXFn2xlxZ9tZSBhcmFuxLFya2VuIGJla2xlbm1lZGlrIGRvc3lhIHNvbnUAa2/Fn3VsbHUgaWtpIHRlcmltbGkgacWfbGVjZSBiZWtsZW5tZWRpayBhcmfDvG1hbiBgJXMnAGtvxZ91bGx1IHRlayB0ZXJpbWxpIGnFn2xlY2UgYmVrbGVubWVkaWsgYXJnw7xtYW4gYCVzJwBrb8WfdWxsdSBpa2kgdGVyaW1saSBpxZ9sZWNlIGJla2xlbm1lZGlrIGFyZ8O8bWFuAGtvxZ91bGx1IHRlayB0ZXJpbWxpIGnFn2xlY2UgYmVrbGVubWVkaWsgYXJnw7xtYW4Aa2/Fn3VsbHUga29tdXR0YSBiZWtsZW5tZXllbiBkaXpnZWNpayAlZABrb8WfdWxsdSBrb211dHRhIGJla2xlbm1leWVuIGRpemdlY2lrIGAlYycAa2/Fn3VsbHUga29tdXR0YSBiZWtsZW5tZXllbiBkaXpnZWNpayBgJXMnAGJla2xlbm1lZGlrIGRpemdlY2lrIGAlcycsIGtvxZ91bGx1IGlraSB0ZXJpbWxpIGnFn2xlw6cgdW11bHV5b3JkdQBiZWtsZW5tZWRpayBkaXpnZWNpayBgJXMnLCBgKScgdW11bHV5b3JkdQBiaWxpbm1leWVuAGJpbGlubWV5ZW4ga29tdXQgaGF0YXPEsQB1bnNldCBbLWZdIFstdl0gWy1uXSBbaXNpbSAuLi5dAHVudGlsIEtPTVVUTEFSOyBkbyBLT01VVExBUjsgZG9uZQBkZcSfZXIgdGFiYW4gacOnaW4gZmF6bGEgYsO8ecO8awB2YXJpYWJsZXMgLSBCYXrEsSBrYWJ1ayBkZcSfacWfa2VubGVyaW5pbiBpc2ltIHZlIGFubGFtbGFyxLEAd2FpdCBbLW5dIFtpZCAuLi5dAHdhaXQgW3BpZCAuLi5dAHdhaXQ6IHBpZCAlbGQgYnUga2FidcSfdW4gYmlyIGFsdCBzw7xyZWNpbmUgYWl0IGRlxJ9pbAB3YWl0X2Zvcjogc8O8cmXDpyAlbGQgacOnaW4ga2F5xLF0IHlvawB3YWl0X2Zvcl9qb2I6IGnFnyAlZCBkdXJkdQB3YWl0Y2hsZDogYmVsaXJzaXogYmxvayDDtm5sZW5tZWsgacOnaW4gV05PSEFORyBhw6fEsWzEsXlvcgB1eWFyxLE6IAB1eWFyxLE6ICVzOiAlcwB1eWFyxLE6IC1DIHNlw6dlbmXEn2kgdW1kdcSfdW51eiBnaWJpIMOnYWzEscWfbWF5YWJpbGlyAHV5YXLEsTogLUYgc2XDp2VuZcSfaSB1bWR1xJ91bnV6IGdpYmkgw6dhbMSxxZ9tYXlhYmlsaXIAd2hpbGUgS09NVVRMQVI7IGRvIEtPTVVUTEFSOyBkb25lAHlhem1hIGhhdGFzxLE6ICVzAHh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKQB4dHJhY2Vfc2V0OiAlZDogZ2XDp2Vyc2l6IGRvc3lhIHRhbsSxbWxhecSxY8Sxc8SxAHh0cmFjZV9zZXQ6IEJPxZ4gZG9zeWEgacWfYXJldMOnaXNpAHsgS09NVVRMQVIgOyB9AA==