YXBwbGljYXRpb25Db250ZXh0LmF0dHJpYnV0ZUV2ZW50PUV4Y2VwdGlvbiBsYW5j6WUgcGFyIGwnJ+ljb3V0ZXVyIChsaXN0ZW5lcikgZCcn6XbobmVtZW50IGF0dHJpYnV0cwphcHBsaWNhdGlvbkNvbnRleHQucmVxdWVzdERpc3BhdGNoZXIuaWFlPUxlIGNoZW1pbiB7MH0gbmUgY29tbWVuY2UgcGFzIHBhciBsZSBjYXJhY3TocmUgIi8iCmFwcGxpY2F0aW9uQ29udGV4dC5zZXRBdHRyaWJ1dGUubmFtZW51bGw9bGUgbm9tIG5lIHBldXQg6nRyZSBudWwKYXBwbGljYXRpb25EaXNwYXRjaGVyLmFsbG9jYXRlRXhjZXB0aW9uPUV4Y2VwdGlvbiBkJydhbGxvY2F0aW9uIHBvdXIgbGEgc2VydmxldCB7MH0KYXBwbGljYXRpb25EaXNwYXRjaGVyLmRlYWxsb2NhdGVFeGNlcHRpb249RXhjZXB0aW9uIGRlIGTpc2FsbG9jYXRpb24gcG91ciBsYSBzZXJ2bGV0IHswfQphcHBsaWNhdGlvbkRpc3BhdGNoZXIuZm9yd2FyZC5pc2U9SW1wb3NzaWJsZSBkJyd1dGlsaXNlciBmYWlyZS1zdWl2cmUgKGZvcndhcmQpIGFwcuhzIHF1ZSBsYSBy6XBvbnNlIGFpdCDpdOkgZW52b3npZQphcHBsaWNhdGlvbkRpc3BhdGNoZXIuZm9yd2FyZC50aHJvdz1MYSByZXNzb3VyY2UgZmFpcmUtc3VpdnJlIChmb3J3YXJkZWQpIGEgbGFuY+kgdW5lIGV4Y2VwdGlvbgphcHBsaWNhdGlvbkRpc3BhdGNoZXIuaW5jbHVkZS50aHJvdz1MYSByZXNzb3VyY2UgaW5jbHVzZSAoaW5jbHVkZWQpIGEgbGFuY+kgdW5lIGV4Y2VwdGlvbgphcHBsaWNhdGlvbkRpc3BhdGNoZXIuaXNVbmF2YWlsYWJsZT1MYSBzZXJ2bGV0IHswfSBlc3QgYWN0dWVsbGVtZW50IGluZGlzcG9uaWJsZQphcHBsaWNhdGlvbkRpc3BhdGNoZXIuc2VydmljZUV4Y2VwdGlvbj0iU2VydmxldC5zZXJ2aWNlKCkiIHBvdXIgbGEgc2VydmxldCB7MH0gYSBsYW5j6SB1bmUgZXhjZXB0aW9uCmFwcGxpY2F0aW9uUmVxdWVzdC5iYWRQYXJlbnQ9SW1wb3NzaWJsZSBkZSB0cm91dmVyIGwnJ2ltcGxlbWVudGF0aW9uIHJlcXXqdGUgYXBwYXJlbnTpZSAocGFyZW50IHJlcXVlc3QpCmFwcGxpY2F0aW9uUmVxdWVzdC5iYWRSZXF1ZXN0PUxhIHJlcXXqdGUgbicnZXN0IHBhcyB1bmUgImphdmF4LnNlcnZsZXQuU2VydmxldFJlcXVlc3RXcmFwcGVyIgphcHBsaWNhdGlvblJlc3BvbnNlLmJhZFBhcmVudD1JbXBvc3NpYmxlIGRlIHRyb3V2ZXIgdW5lIGltcGzpbWVudGF0aW9uIHLpcG9uc2UgYXBwYXJlbnTpZSAocGFyZW50IHJlc3BvbnNlKQphcHBsaWNhdGlvblJlc3BvbnNlLmJhZFJlc3BvbnNlPUxhIHLpcG9uc2UgbicnZXN0IHBhcyB1bmUgImphdmF4LnNlcnZsZXQuU2VydmxldFJlc3BvbnNlV3JhcHBlciIKY29udGFpbmVyQmFzZS5hZGREZWZhdWx0TWFwcGVyPUV4Y2VwdGlvbiBsb3JzIGRlIGxhIGNvbmZpZ3VyYXRpb24gZHUgcm91dGV1ciBwYXIgZOlmYXV0IChkZWZhdWx0IG1hcHBlcikgcG91ciBsYSBjbGFzc2UgezB9CmNvbnRhaW5lckJhc2UuYWxyZWFkeVN0YXJ0ZWQ9TGUgY29udGVuZXVyIHswfSBhIGTpauAg6XTpIGTpbWFycukKY29udGFpbmVyQmFzZS5ub3RDb25maWd1cmVkPUF1Y3VuZSBWYWx2ZSBiYXNpcXVlIChiYXNpYyB2YWx2ZSkgbicnYSDpdOkgY29uZmlndXLpZQpjb250YWluZXJCYXNlLm5vdFN0YXJ0ZWQ9TGUgY29udGVuZXVyIHswfSBuJydhIHBhcyDpdOkgZOltYXJy6QpmYXN0RW5naW5lTWFwcGVyLmFscmVhZHlTdGFydGVkPWxlICJGYXN0RW5naW5lTWFwcGVyIiB7MH0gYSBk6WrgIOl06SBk6W1hcnLpCmZhc3RFbmdpbmVNYXBwZXIubm90U3RhcnRlZD1MZSAiRmFzdEVuZ2luZU1hcHBlciIgezB9IG4nJ2EgcGFzIGVuY29yZSDpdOkgZOltYXJy6QpmaWx0ZXJDaGFpbi5maWx0ZXI9TCcnZXjpY3V0aW9uIGR1IGZpbHRyZSAoRmlsdGVyKSBhIGxhbmPpIHVuZSBleGNlcHRpb24KZmlsdGVyQ2hhaW4uc2VydmxldD1MJydleOljdXRpb24gZGUgbGEgc2VydmxldCBhIGxhbmPpIHVuZSBleGNlcHRpb24KaHR0cENvbnRleHRNYXBwZXIuY29udGFpbmVyPUNlIGNvbnRlbmV1ciBuJydlc3QgcGFzIHVuICJTdGFuZGFyZENvbnRleHQiCmh0dHBFbmdpbmVNYXBwZXIuY29udGFpbmVyPUNlIGNvbnRlbmV1ciBuJydlc3QgcGFzIHVuICJTdGFuZGFyZEVuZ2luZSIKaHR0cEhvc3RNYXBwZXIuY29udGFpbmVyPUNlIGNvbnRlbmV1ciBuJydlc3QgcGFzIHVuICJTdGFuZGFyZEhvc3QiCmludGVyY2VwdG9yVmFsdmUuYWxyZWFkeVN0YXJ0ZWQ9TGEgdmFsdmUgZCcnaW50ZXJjZXB0aW9uIChJbnRlcmNlcHRvclZhbHZlKSBhIGTpauAg6XTpIGTpbWFycullCmludGVyY2VwdG9yVmFsdmUubm90U3RhcnRlZD1MYSB2YWx2ZSBkJydpbnRlcmNlcHRpb24gKEludGVyY2VwdG9yVmFsdmUpIG4nJ2EgcGFzIGVuY29yZSDpdOkgZOltYXJy6WUKbmFtaW5nLmJpbmRGYWlsZWQ9RWNoZWMgbG9ycyBkdSBsaWFnZSDgIGwnJ29iamV0OiB7MH0KbmFtaW5nLnVuYmluZEZhaWxlZD1FY2hlYyBsb3JzIGR1IGTpbGlhZ2Ug4CBsJ29iamV0IDogezB9Cm5hbWluZy5pbnZhbGlkRW52RW50cnlUeXBlPUwnJ2VudHLpZSBlbnZpcm9ubmVtZW50IHswfSBhIHVuIHR5cGUgaW52YWxpZGUKbmFtaW5nLmludmFsaWRFbnZFbnRyeVZhbHVlPUwnJ2VudHLpZSBlbnZpcm9ubmVtZW50IHswfSBhIHVuZSB2YWxldXIgaW52YWxpZGUKbmFtaW5nLm5hbWluZ0NvbnRleHRDcmVhdGlvbkZhaWxlZD1MYSBjculhdGlvbiBkdSBjb250ZXh0IGRlIG5vbW1hZ2UgKG5hbWluZyBjb250ZXh0KSBhIOljaG916SA6IHswfQpzdGFuZGFyZENvbnRleHQuYWxyZWFkeVN0YXJ0ZWQ9TGUgY29udGV4dGUgYSBk6WrgIOl06SBk6W1hcnLpCnN0YW5kYXJkQ29udGV4dC5hcHBsaWNhdGlvbkxpc3RlbmVyPUVycmV1ciBsb3JzIGRlIGxhIGNvbmZpZ3VyYXRpb24gZGUgbGEgY2xhc3NlIGQnJ+ljb3V0ZSBkZSBsJydhcHBsaWNhdGlvbiAoYXBwbGljYXRpb24gbGlzdGVuZXIpIHswfQpzdGFuZGFyZENvbnRleHQuYXBwbGljYXRpb25Ta2lwcGVkPUwnaW5zdGFsbGF0aW9uIGRlcyDpY291dGV1cnMgKGxpc3RlbmVycykgZGUgbCcnYXBwbGljYXRpb24gYSDpdOkgc2F1dOllIHN1aXRlIGF1eCBlcnJldXJzIHBy6WPpZGVudGVzCnN0YW5kYXJkQ29udGV4dC5iYWRSZXF1ZXN0PUNoZW1pbiBkZSByZXF16nRlIGludmFsaWRlICh7MH0pLgpzdGFuZGFyZENvbnRleHQuZXJyb3JQYWdlLmVycm9yPUxhIHBvc2l0aW9uIGRlIGxhIHBhZ2UgZCcnZXJyZXVyIChFcnJvclBhZ2UpIHswfSBkb2l0IGNvbW1lbmNlciBwYXIgdW4gJy8nCnN0YW5kYXJkQ29udGV4dC5lcnJvclBhZ2UucmVxdWlyZWQ9TGEgcGFnZSBkJydlcnJldXIgKEVycm9yUGFnZSkgbmUgcGV1dCDqdHJlIG51bGxlCnN0YW5kYXJkQ29udGV4dC5lcnJvclBhZ2Uud2FybmluZz1BVFRFTlRJT046IExhIHBvc2l0aW9uIGRlIGxhIHBhZ2UgZCcnZXJyZXVyIChFcnJvclBhZ2UpIHswfSBkb2l0IGNvbW1lbmNlciBwYXIgdW4gJy8nIGRhbnMgbCcnQVBJIFNlcnZsZXQgMi40CnN0YW5kYXJkQ29udGV4dC5maWx0ZXJNYXAuZWl0aGVyPUwnJ2Fzc29jaWF0aW9uIGRlIGZpbHRyZSAoZmlsdGVyIG1hcHBpbmcpIGRvaXQgaW5kaXF16SBzb2l0IHVuZSA8dXJsLXBhdHRlcm4+IG91IHVuZSA8c2VydmxldC1uYW1lPgpzdGFuZGFyZENvbnRleHQuZmlsdGVyTWFwLm5hbWU9TCcnYXNzb2NpYXRpb24gZGUgZmlsdHJlIChmaWx0ZXIgbWFwcGluZykgaW5kaXF1ZSB1biBub20gZGUgZmlsdHJlIGluY29ubnUgezB9CnN0YW5kYXJkQ29udGV4dC5maWx0ZXJNYXAucGF0dGVybj08dXJsLXBhdHRlcm4+IHswfSBpbnZhbGlkZSBkYW5zIGwnJ2Fzc29jaWF0aW9uIGRlIGZpbHRyZSAoZmlsdGVyIG1hcHBpbmcpCnN0YW5kYXJkQ29udGV4dC5maWx0ZXJTdGFydD1FeGNlcHRpb24gYXUgZOltYXJyYWdlIGR1IGZpbHRyZSB7MH0Kc3RhbmRhcmRDb250ZXh0LmZpbHRlclN0YXJ0RmFpbGVkPUVjaGVjIGR1IGTpbWFycmFnZSBkZXMgZmlsdHJlcyBkJydhcHBsaWNhdGlvbgpzdGFuZGFyZENvbnRleHQucmVxdWVzdExpc3RlbmVyU3RhcnRGYWlsZWQ9RWNoZWMgZOltYXJyYWdlIGRlcyBWYWx2ZXMgZCcn6WNvdXRlCnN0YW5kYXJkQ29udGV4dC5yZXF1ZXN0TGlzdGVuZXJDb25maWcuYWRkZWQ9QWpvdXQgZGUgbGEgdmFsdmUgZCcn6WNvdXRlCnN0YW5kYXJkQ29udGV4dC5yZXF1ZXN0TGlzdGVuZXJDb25maWcuZXJyb3I9RXhjZXB0aW9uIGxvcnMgZGUgbCcnYWpvdXQgZGUgbGEgdmFsdmUgZCcn6WNvdXRlIGRlIHJlcXXqdGU6IHswfQpzdGFuZGFyZENvbnRleHQuaXNVbmF2YWlsYWJsZT1DZXR0ZSBhcHBsaWNhdGlvbiBuJydlc3QgcGFzIGRpc3BvbmlibGUgYWN0dWVsbGVtZW50CnN0YW5kYXJkQ29udGV4dC5saXN0ZW5lclN0YXJ0PUV4Y2VwdGlvbiBsb3JzIGRlIGwnJ2Vudm9pIGRlIGwnJ+l26G5lbWVudCBjb250ZXh0ZSBpbml0aWFsaXPpIChjb250ZXh0IGluaXRpYWxpemVkKSDgIGwnJ2luc3RhbmNlIGRlIGNsYXNzZSBkJyfpY291dGUgKGxpc3RlbmVyKSB7MH0Kc3RhbmRhcmRDb250ZXh0Lmxpc3RlbmVyU3RhcnRGYWlsZWQ9RWNoZWMgZHUgZOltYXJyYWdlIGRlcyDpY291dGV1cnMgKGxpc3RlbmVycykgZCcnYXBwbGljYXRpb24Kc3RhbmRhcmRDb250ZXh0Lmxpc3RlbmVyU3RvcD1FeGNlcHRpb24gbG9ycyBkZSBsJydlbnZvaSBkZSBsJyfpduhuZW1lbnQgY29udGV4dGUgZOl0cnVpdCAoY29udGV4dCBkZXN0cm95ZWQpIOAgbCcnaW5zdGFuY2UgZGUgY2xhc3NlIGQnJ+ljb3V0ZSB7MH0Kc3RhbmRhcmRDb250ZXh0LmxvZ2luQ29uZmlnLmVycm9yUGFnZT1MYSBmb3JtZSBkZSBwYWdlIGQnJ2VycmV1ciAoZm9ybSBlcnJvciBwYWdlKSB7MH0gZG9pdCBjb21tZW5jZXIgcGFyIHVuICcvJwpzdGFuZGFyZENvbnRleHQubG9naW5Db25maWcuZXJyb3JXYXJuaW5nPUFUVEVOVElPTjogTGEgZm9ybWUgZGUgcGFnZSBkJydlcnJldXIgKGZvcm0gZXJyb3IgcGFnZSkgezB9IGRvaXQgY29tbWVuY2VyIHBhciB1biAnLycgZGFucyBsJydBUEkgU2VydmxldCAyLjQKc3RhbmRhcmRDb250ZXh0LmxvZ2luQ29uZmlnLmxvZ2luUGFnZT1MYSBmb3JtZSBkZSBwYWdlIGRlIGNvbm5leGlvbiAoZm9ybSBsb2dpbiBwYWdlKSB7MH0gZG9pdCBjb21tZW5jZXIgcGFyIHVuICcvJwpzdGFuZGFyZENvbnRleHQubG9naW5Db25maWcubG9naW5XYXJuaW5nPUFUVEVOVElPTjogTGEgZm9ybWUgZGUgcGFnZSBkZSBjb25uZXhpb24gKGZvcm0gbG9naW4gcGFnZSkgezB9IGRvaXQgY29tbWVuY2VyIHBhciB1biAnLycgZGFucyBsJydBUEkgU2VydmxldCAyLjQKc3RhbmRhcmRDb250ZXh0LmxvZ2luQ29uZmlnLnJlcXVpcmVkPSJMb2dpbkNvbmZpZyIgbmUgcGV1dCDqdHJlIG51bApzdGFuZGFyZENvbnRleHQubWFwcGluZ0Vycm9yPUVycmV1ciBkYW5zIGxhIGNvbmZpZ3VyYXRpb24gZCcnYXNzb2NpYXRpb24gKG1hcHBpbmcgY29uZmlndXJhdGlvbikgcG91ciBsJydVUkkgcmVsYXRpdmUgezB9CnN0YW5kYXJkQ29udGV4dC5ub3RGb3VuZD1MYSByZXNzb3VyY2UgZGVtYW5k6WUgKHswfSkgbicnZXN0IHBhcyBkaXNwb25pYmxlLgpzdGFuZGFyZENvbnRleHQubm90UmVsb2FkYWJsZT1MZSByZWNoYXJnZW1lbnQgZXN0IGTpc2FjdGl26SBwb3VyIGNlIGNvbnRleHRlCnN0YW5kYXJkQ29udGV4dC5ub3RTdGFydGVkPUxlIGNvbnRleHRlIG4nJ2EgcGFzIGVuY29yZSDpdOkgZOltYXJy6QpzdGFuZGFyZENvbnRleHQubm90V3JhcHBlcj1MZSBmaWxzIGR1IGNvbnRleHRlIChjaGlsZCBvZiBjb250ZXh0KSBkb2l0IOp0cmUgdW4gZW5yb2JldXIgKHdyYXBwZXIpCnN0YW5kYXJkQ29udGV4dC5wYXJhbWV0ZXIuZHVwbGljYXRlPVBhcmFt6HRyZSBkJydpbml0aWFsaXNhdGlvbiBkZSBjb250ZXh0ZSBkdXBsaXF16SB7MH0Kc3RhbmRhcmRDb250ZXh0LnBhcmFtZXRlci5yZXF1aXJlZD1MZSBub20gZGUgcGFyYW3odHJlIGFpbnNpIHF1ZSBsYSB2YWxldXIgZHUgcGFyYW3odHJlIHNvbnQgcmVxdWlzCnN0YW5kYXJkQ29udGV4dC5yZWxvYWRpbmdDb21wbGV0ZWQ9TGUgcmVjaGFyZ2VtZW50IGRlIGNlIGNvbnRleHRlIGVzdCB0ZXJtaW7pCnN0YW5kYXJkQ29udGV4dC5yZWxvYWRpbmdGYWlsZWQ9TGUgcmVjaGFyZ2VtZW50IGRlIGNlIGNvbnRleHRlIGEg6WNob3XpIHN1aXRlIOAgdW5lIGVycmV1ciBwculj6WRlbnRlCnN0YW5kYXJkQ29udGV4dC5yZWxvYWRpbmdTdGFydGVkPUxlIHJlY2hhcmdlbWVudCBkZSBjZSBjb250ZXh0ZSBhIGTpbWFycukKc3RhbmRhcmRDb250ZXh0LnNlY3VyaXR5Q29uc3RyYWludC5wYXR0ZXJuPTx1cmwtcGF0dGVybj4gezB9IGludmFsaWRlIGQnJ2FwcuhzIGxlcyBjb250cmFpbnRlcyBkZSBz6WN1cml06SAoc2VjdXJpdHkgY29uc3RyYWludCkKc3RhbmRhcmRDb250ZXh0LnNlcnZsZXRNYXAubmFtZT1MJydhc3NvY2lhdGlvbiBkZSBzZXJ2bGV0IChzZXJ2bGV0IG1hcHBpbmcpIGluZGlxdWUgdW4gbm9tIGRlIHNlcnZsZXQgaW5jb25udSB7MH0Kc3RhbmRhcmRDb250ZXh0LnNlcnZsZXRNYXAucGF0dGVybj08dXJsLXBhdHRlcm4+IHswfSBpbnZhbGlkZSBkYW5zIGwnJ2Fzc29jaWF0aW9uIGRlIHNlcnZsZXQgKHNlcnZsZXQgbWFwcGluZykKc3RhbmRhcmRDb250ZXh0LnN0YXJ0Q2xlYW51cD1FeGNlcHRpb24gbG9ycyBkdSBuZXR0b3lhZ2UgYXBy6HMgcXVlIGxlIGTpbWFycmFnZSBhaXQg6WNob3XpCnN0YW5kYXJkQ29udGV4dC5zdGFydEZhaWxlZD1FcnJldXIgZGUgZOltYXJyYWdlIGR1IGNvbnRleHRlIHN1aXRlIGF1eCBlcnJldXJzIHBy6WPpZGVudGVzCnN0YW5kYXJkQ29udGV4dC5zdGFydGluZ0xvYWRlcj1FeGNlcHRpb24gYW4gZOltYXJyYWdlIGR1ICJMb2FkZXIiCnN0YW5kYXJkQ29udGV4dC5zdGFydGluZ01hbmFnZXI9RXhjZXB0aW9uIGFuIGTpbWFycmFnZSBkdSAiTWFuYWdlciIKc3RhbmRhcmRDb250ZXh0LnN0YXJ0aW5nV3JhcHBlcj1FeGNlcHRpb24gYW4gZOltYXJyYWdlIGRlIGwnJ2Vucm9iZXVyICh3cmFwcGVyKSBkZSBsYSBzZXJ2bGV0IHswfQpzdGFuZGFyZENvbnRleHQuc3RvcHBpbmdMb2FkZXI9RXhjZXB0aW9uIOAgbCcnYXJy6nQgZHUgIkxvYWRlciIKc3RhbmRhcmRDb250ZXh0LnN0b3BwaW5nTWFuYWdlcj1FeGNlcHRpb24g4CBsJydhcnLqdCBkdSAiTWFuYWdlciIKc3RhbmRhcmRDb250ZXh0LnN0b3BwaW5nV3JhcHBlcj1FeGNlcHRpb24g4CBsJydhcnLqdCBkZSBsJydlbnJvYmV1ciAod3JhcHBlcikgZGUgbGEgc2VydmxldCB7MH0Kc3RhbmRhcmRDb250ZXh0LnJlc291cmNlc1N0YXJ0PUVycmV1ciBsb3JzIGR1IGTpbWFycmFnZSBkZXMgUmVzb3VyY2VzIHN0YXRpcXVlcwpzdGFuZGFyZENvbnRleHQudXJsRGVjb2RlPUltcG9zc2libGUgZGUgZOljb2RlciBsZSBjaGVtaW4gZGUgcmVxdep0ZSBlbmNvZOkgZGFucyBsJydVUkwgezB9CnN0YW5kYXJkQ29udGV4dC51cmxQYXR0ZXJuLnBhdHRlcm5XYXJuaW5nPUFUVEVOVElPTjogTGUgbW9k6GxlIChwYXR0ZXJuKSBVUkwgezB9IGRvaXQgY29tbWVuY2VyIHBhciB1biAnLycgZGFucyBsJydBUEkgU2VydmxldCAyLjQKc3RhbmRhcmRDb250ZXh0LnVybFZhbGlkYXRlPUltcG9zc2libGUgZGUgdmFsaWRlciBsZSBjaGVtaW4gZGUgcmVxdep0ZSBlbmNvZOkgZGFucyBsJydVUkwgezB9CnN0YW5kYXJkQ29udGV4dC53cmFwcGVyLmVycm9yPUxlIGZpY2hpZXIgSlNQIHswfSBkb2l0IGNvbW1lbmNlciBwYXIgdW4gJy8nCnN0YW5kYXJkQ29udGV4dC53cmFwcGVyLndhcm5pbmc9QVRURU5USU9OOiBMZSBmaWNoaWVyIEpTUCB7MH0gZG9pdCBjb21tZW5jZXIgcGFyIHVuICAnLycgZGFucyBsJydBUEkgU2VydmxldCAyLjQKc3RhbmRhcmRFbmdpbmUuYWxyZWFkeVN0YXJ0ZWQ9TGUgbW90ZXVyIGEgZOlq4CDpdOkgZOltYXJy6QpzdGFuZGFyZEVuZ2luZS5tYXBwaW5nRXJyb3I9RXJyZXVyIGRlIGNvbmZpZ3VyYXRpb24gZCcnYXNzb2NpYXRpb24gKG1hcHBpbmcgY29uZmlndXJhdGlvbikgcG91ciBsZSBzZXJ2ZXVyIHswfQpzdGFuZGFyZEVuZ2luZS5ub0hvc3Q9QXVjdW5lIGj0dGUgKGhvc3QpIG5lIGNvcnJlc3BvbmQgYXUgbm9tIGRlIHNlcnZldXIgezB9CnN0YW5kYXJkRW5naW5lLm5vSG9zdEhlYWRlcj1yZXF16nRlIEhUVFAvMS4xIHNhbnMgZW506nRlIEhvc3Q6IApzdGFuZGFyZEVuZ2luZS5ub3RIb3N0PUxlIGZpbHMgZCcndW4gbW90ZXVyIChjaGlsZCBvZiBhbiBFbmdpbmUpIGRvaXQg6nRyZSB1biBo9HRlCnN0YW5kYXJkRW5naW5lLm5vdFBhcmVudD1MZXMgbW90ZXVycyAoZW5naW5lKSBuZSBwZXV2ZW50IGF2b2lyIGRlIHBhcmVudCBjb250ZW5ldXIgKGNvbnRhaW5lcikKc3RhbmRhcmRFbmdpbmUubm90U3RhcnRlZD1MZSBtb3RldXIgbicnYSBwYXMgZW5jb3JlIOl06SBk6W1hcnLpCnN0YW5kYXJkRW5naW5lLnVuZm91bmRIb3N0PUwnJ2j0dGUgdmlydHVlbCAodmlydHVhbCBob3N0KSB7MH0gZXN0IGludHJvdXZhYmxlCnN0YW5kYXJkRW5naW5lLnVua25vd25Ib3N0PUF1Y3VuIHNlcnZldXIgaPR0ZSBuJydlc3QgaW5kaXF16SBwb3VyIGNldHRlIHJlcXXqdGUKc3RhbmRhcmRIb3N0LmFjY2Vzc0Jhc2U9SW1wb3NzaWJsZSBkJydhY2PpZGVyIGxlIHLpcGVydG9pcmUgImRvY3VtZW50IGJhc2UiIHswfQpzdGFuZGFyZEhvc3QuYWxyZWFkeVN0YXJ0ZWQ9TCcnaPR0ZSBhIGTpauAg6XTpIGTpbWFycukKc3RhbmRhcmRIb3N0LmFwcEJhc2U9TGUgculwZXJ0b2lyZSBkZSBiYXNlIGRlIGwnJ2FwcGxpY2F0aW9uIHswfSBuJydleGlzdGUgcGFzCnN0YW5kYXJkSG9zdC5jb25maWdSZXF1aXJlZD1VbmUgVVJMIHZlcnMgbGUgZmljaGllciBkZSBjb25maWd1cmF0aW9uIGVzdCBvYmxpZ2F0b2lyZQpzdGFuZGFyZEhvc3QuY29uZmlnTm90QWxsb3dlZD1MJyd1dGlsaXNhdGlvbiBkJ3VuIGZpY2hpZXIgZGUgY29uZmlndXJhdGlvbiBmaWxlIG4nJ2VzdCBwYXMgYXV0b3Jpc+kKc3RhbmRhcmRIb3N0Lmluc3RhbGxpbmc9SW5zdGFsbGF0aW9uIGQnJ3VuZSBhcHBsaWNhdGlvbiBwb3VyIGxlIGNoZW1pbiBkZSBjb250ZXh0ZSB7MH0gZGVwdWlzIGwnJ1VSTCB7MX0Kc3RhbmRhcmRIb3N0Lmluc3RhbGxpbmdXQVI9SW5zdGFsbGF0aW9uIGQnJ3VuZSBhcHBsaWNhdGlvbiBkZXB1aXMgbCcnVVJMIHswfQpzdGFuZGFyZEhvc3QuaW5zdGFsbEVycm9yPUVycmV1ciBsb3JzIGR1IGTpcGxvaWVtZW50IGRlIGwnJ2FwcGxpY2F0aW9uIHBvdXIgbGUgY2hlbWluIGRlIGNvbnRleHRlIHswfQpzdGFuZGFyZEhvc3QuaW52YWxpZEVycm9yUmVwb3J0VmFsdmVDbGFzcz1JbXBvc3NpYmxlIGRlIGNoYXJnZXIgbGEgY2xhc3NlIHZhbHZlIGRlIHJhcHBvcnQgZCcnZXJyZXVyOiB7MH0Kc3RhbmRhcmRIb3N0LmRvY0Jhc2U9TGUgculwZXJ0b2lyZSAiZG9jdW1lbnQgYmFzZSIgezB9IGV4aXN0ZSBk6WrgCnN0YW5kYXJkSG9zdC5tYXBwaW5nRXJyb3I9RXJyZXVyIGQnJ2Fzc29jaWF0aW9uIGRlIGNvbmZpZ3VyYXRpb24gKG1hcHBpbmcgY29uZmlndXJhdGlvbikgcG91ciBsJydVUkkgZGVtYW5k6WUgezB9CnN0YW5kYXJkSG9zdC5ub0NvbnRleHQ9QXVjdW5lIGNvbnRleHRlIG4nJ2VzdCBjb25maWd1cukgcG91ciB0cmFpdGVyIGNldHRlIHJlcXXqdGUKc3RhbmRhcmRIb3N0Lm5vSG9zdD1BdWN1biBo9HRlIG4nJ2VzdCBjb25maWd1cukgcG91ciB0cmFpdGVyIGNldHRlIHJlcXXqdGUKc3RhbmRhcmRIb3N0Lm5vdENvbnRleHQ9TGUgZmlscyBkJyd1biBo9HRlIChjaGlsZCBvZiBhIEhvc3QpIGRvaXQg6nRyZSB1biBjb250ZXh0ZQpzdGFuZGFyZEhvc3Qubm90U3RhcnRlZD1sJydo9HRlIG4nJ2EgcGFzIGVuY29yZSDpdOkgZOltYXJy6QpzdGFuZGFyZEhvc3QubnVsbE5hbWU9TGUgbm9tIGQnJ2j0dGUgZXN0IHJlcXVpcwpzdGFuZGFyZEhvc3QucGF0aEZvcm1hdD1DaGVtaW4gZGUgY29udGV4dGUgaW52YWxpZGU6IHswfQpzdGFuZGFyZEhvc3QucGF0aE1pc3Npbmc9TGUgY2hlbWluIGRlIGNvbnRleHRlIHswfSBuJydlc3QgcGFzIHV0aWxpc+kgYWN0dWVsbGVtZW50CnN0YW5kYXJkSG9zdC5wYXRoUmVxdWlyZWQ9TGUgY2hlbWluIGRlIGNvbnRleHRlIGVzdCByZXF1aXMKc3RhbmRhcmRIb3N0LnBhdGhVc2VkPUxlIGNoZW1pbiBkZSBjb250ZXh0ZSB7MH0gZXN0IGTpauAgdXRpbGlz6QpzdGFuZGFyZEhvc3QucmVtb3Zpbmc9UmV0cmFpdCBkZSBsJydhcHBsaWNhdGlvbiB3ZWIgcG91ciBsZSBjaGVtaW4gZGUgY29udGV4dGUgezB9CnN0YW5kYXJkSG9zdC5yZW1vdmVFcnJvcj1FcnJldXIgbG9ycyBkdSByZXRyYWl0IGRlIGwnJ2FwcGxpY2F0aW9uIHdlYiBwb3VyIGxlIGNoZW1pbiBkZSBjb250ZXh0ZSB7MH0Kc3RhbmRhcmRIb3N0LnN0YXJ0PUTpbWFycmFnZSBkZSBsJydhcHBsaWNhdGlvbiB3ZWIgYXBwbGljYXRpb24gcG91ciBsZSBjaGVtaW4gZGUgY29udGV4dGUgezB9CnN0YW5kYXJkSG9zdC5zdG9wPUFycul0IGRlIGwnJ2FwcGxpY2F0aW9uIHdlYiBhcHBsaWNhdGlvbiBwb3VyIGxlIGNoZW1pbiBkZSBjb250ZXh0ZSB7MH0Kc3RhbmRhcmRIb3N0LnVuZm91bmRDb250ZXh0PUltcG9zc2libGUgZGUgdHJvdXZlciB1biBjb250ZXh0ZSBwb3VyIGwnJ1VSSSB7MH0gZGVtYW5k6WUKc3RhbmRhcmRIb3N0LndhclJlcXVpcmVkPVVuZSBVUkwgdmVycyBsJydhcmNoaXZlIGQnJ2FwcGxpY2F0aW9uIHdlYiAod2FyKSBlc3QgbuljZXNzYWlyZSAKc3RhbmRhcmRIb3N0LndhclVSTD1VUkwgdmVycyBsJydhcmNoaXZlIGQnJ2FwcGxpY2F0aW9uIHdlYiAod2FyKSBpbnZhbGlkZTogezB9CnN0YW5kYXJkUGlwZWxpbmUuYWxyZWFkeVN0YXJ0ZWQ9TGUgIlBpcGVsaW5lIiBhIGTpauAg6XTpIGTpbWFycukKc3RhbmRhcmRQaXBlbGluZS5ub3RTdGFydGVkPWxlICJQaXBlbGluZSIgbicnYSBwYXMg6XTpIGTpbWFycukKc3RhbmRhcmRQaXBlbGluZS5ub1ZhbHZlPVBsdXMgYXVjdW5lIFZhbHZlcyBkYW5zIGxlICJQaXBlbGluZSIgdHJhaXRhbnQgY2V0dGUgcmVxdep0ZQpzdGFuZGFyZFNlcnZlci5hZGRDb250YWluZXIuaXNlPUF1Y3VuIGNvbm5lY3RldXIgZGlzcG9uaWJsZSDgIGFzc29jaWVyIGF2ZWMgY2UgY29udGVuZXVyIChjb250YWluZXIpCnN0YW5kYXJkU2VydmVyLmluaXRpYWxpemUuaW5pdGlhbGl6ZWQ9Q2Ugc2VydmV1ciBhIGTpauAg6XTpIGluaXRpYWxpc+kKc3RhbmRhcmRTZXJ2ZXIuc3RhcnQuY29ubmVjdG9ycz1BdSBtb2lucyB1biBjb25uZWN0ZXVyIG4nJ2VzdCBwYXMgYXNzb2Np6SDgIGF1Y3VuIGNvbnRlbmV1ciAoY29udGFpbmVyKQpzdGFuZGFyZFNlcnZlci5zdGFydC5zdGFydGVkPUNlIHNlcnZldXIgYSBk6WrgIOl06SBk6W1hcnLpCnN0YW5kYXJkU2VydmVyLnN0b3Aubm90U3RhcnRlZD1DZSBzZXJ2ZXVyIG4nJ2EgcGFzIGVuY29yZSDpdOkgZOltYXJy6QpzdGFuZGFyZFNlcnZpY2UuaW5pdGlhbGl6ZS5pbml0aWFsaXplZD1DZSBzZXJ2aWNlIGEgZOlq4CDpdOkgaW5pdGlhbGlz6QpzdGFuZGFyZFNlcnZpY2Uuc3RhcnQubmFtZT1E6W1hcnJhZ2UgZHUgc2VydmljZSB7MH0Kc3RhbmRhcmRTZXJ2aWNlLnN0YXJ0LnN0YXJ0ZWQ9Q2Ugc2VydmljZSBhIGTpauAg6XTpIGTpbWFycukKc3RhbmRhcmRTZXJ2aWNlLnN0b3AubmFtZT1BcnLqdCBkdSBzZXJ2aWNlIHswfQpzdGFuZGFyZFNlcnZpY2Uuc3RvcC5ub3RTdGFydGVkPUNlIHNlcnZpY2UgbicnYSBwYXMgZW5jb3JlIOl06SBk6W1hcnLpCnN0YW5kYXJkV3JhcHBlci5hbGxvY2F0ZT1FcnJldXIgZCcnYWxsb2NhdGlvbiDgIHVuZSBpbnN0YW5jZSBkZSBzZXJ2bGV0CnN0YW5kYXJkV3JhcHBlci5hbGxvY2F0ZUV4Y2VwdGlvbj1FeGNlcHRpb24gbG9ycyBkZSBsJ2FsbG9jYXRpb24gcG91ciBsYSBzZXJ2bGV0IHswfQpzdGFuZGFyZFdyYXBwZXIuY29udGFpbmVyU2VydmxldD1DaGFyZ2VtZW50IGR1IGNvbnRlbmV1ciAoY29udGFpbmVyKSBkZSBzZXJ2bGV0IHswfQpzdGFuZGFyZFdyYXBwZXIuY3JlYXRlRmlsdGVycz1FeGNlcHRpb24g4CBsYSBjculhdGlvbiBkZSBmaWx0cmVzIHBvdXIgbGEgc2VydmxldCB7MH0Kc3RhbmRhcmRXcmFwcGVyLmRlYWxsb2NhdGVFeGNlcHRpb249RXhjZXB0aW9uIOAgbGEgZOlzYWxsb2NhdGlvbiBwb3VyIGxhIHNlcnZsZXQgezB9CnN0YW5kYXJkV3JhcHBlci5kZXN0cm95RXhjZXB0aW9uPSJTZXJ2bGV0LmRlc3Ryb3koKSIgZGUgbGEgc2VydmxldCB7MH0gYSBn6W7pcukgdW5lIGV4Y2VwdGlvbgpzdGFuZGFyZFdyYXBwZXIuZXhjZXB0aW9uMD1SYXBwb3J0IGQnJ2V4Y2VwdGlvbiBUb21jYXQKc3RhbmRhcmRXcmFwcGVyLmV4Y2VwdGlvbjE9VW5lIGV4Y2VwdGlvbiBTZXJ2bGV0IHMnJ2VzdCBwcm9kdWl0ZQpzdGFuZGFyZFdyYXBwZXIuZXhjZXB0aW9uMj1SYXBwb3J0IGQnJ2V4Y2VwdGlvbjoKc3RhbmRhcmRXcmFwcGVyLmV4Y2VwdGlvbjM9Q2F1c2UgbehyZToKc3RhbmRhcmRXcmFwcGVyLmluaXRFeGNlcHRpb249IlNlcnZsZXQuaW5pdCgpIiBwb3VyIGxhIHNlcnZsZXQgezB9IGEgZ+lu6XLpIHVuZSBleGNlcHRpb24Kc3RhbmRhcmRXcmFwcGVyLmluc3RhbnRpYXRlPUVycmV1ciDgIGwnJ2luc3RhbnRpYXRpb24gZGUgbGEgY2xhc3NlIHNlcnZsZXQgezB9CnN0YW5kYXJkV3JhcHBlci5pc1VuYXZhaWxhYmxlPUxhIHNlcnZsZXQgezB9IGVzdCBhY3R1ZWxsZW1lbnQgaW5kaXNwb25pYmxlCnN0YW5kYXJkV3JhcHBlci5qYXNwZXJMb2FkZXI9VXRpbGlzYXRpb24gZHUgY2hhcmdldXIgZGUgY2xhc3NlIEphc3BlciAoY2xhc3Nsb2FkZXIpIHBvdXIgbGEgc2VydmxldCB7MH0Kc3RhbmRhcmRXcmFwcGVyLmpzcEZpbGUuZm9ybWF0PUxlIGZpY2hpZXIgSlNQIHswfSBuZSBjb21tZW5jZSBwYXIgcGFyIHVuIGNhcmFjdOhyZSAnLycKc3RhbmRhcmRXcmFwcGVyLmxvYWRFeGNlcHRpb249TGEgc2VydmxldCB7MH0gYSBn6W7pcukgdW5lIGV4Y2VwdGlvbiAibG9hZCgpIgpzdGFuZGFyZFdyYXBwZXIubWlzc2luZ0NsYXNzPUwnJ2Vucm9iZXVyICh3cmFwcGVyKSBuZSBwZXV0IHRyb3V2ZXIgbGEgY2xhc3NlIHNlcnZsZXQgezB9IG91IHVuZSBjbGFzc2UgZG9udCBlbGxlIGTpcGVuZApzdGFuZGFyZFdyYXBwZXIubWlzc2luZ0xvYWRlcj1MJydlbnJvYmV1ciAod3JhcHBlcikgbmUgcGV1dCB0cm91dmVyIGRlIGNoYXJnZXVyIChsb2FkZXIpIHBvdXIgbGEgc2VydmxldCB7MH0Kc3RhbmRhcmRXcmFwcGVyLm5vdENoaWxkPUwnJ2Vucm9iZXVyIGRlIGNvbnRlbmV1ciAod3JhcHBlciBjb250YWluZXIpIHBldXQgbmUgcGFzIGF2b2lyIGRlIGNvbnRlbmV1cnMgZmlscwpzdGFuZGFyZFdyYXBwZXIubm90Q2xhc3M9QXVjdW5lIGNsYXNzZSBzZXJ2bGV0IG4nJ2Eg6XTpIHNw6WNpZmnpZSBwb3VyIGxhIHNlcnZsZXQgezB9CnN0YW5kYXJkV3JhcHBlci5ub3RDb250ZXh0PUxlIGNvbnRlbmV1ciBwYXJlbnQgZCcndW4gZW5yb2JldXIgKHdyYXBwZXIpIGRvaXQg6nRyZSB1biBjb250ZXh0ZQpzdGFuZGFyZFdyYXBwZXIubm90Rm91bmQ9U2VydmxldCB7MH0gbicnZXN0IHBhcyBkaXNwb25pYmxlLgpzdGFuZGFyZFdyYXBwZXIubm90U2VydmxldD1MYSBjbGFzc2UgezB9IG4nJ2VzdCBwYXMgdW5lIHNlcnZsZXQKc3RhbmRhcmRXcmFwcGVyLnByaXZpbGVnZWRTZXJ2bGV0PUxhIHNlcnZsZXQgZGUgY2xhc3NlIHswfSBlc3QgcHJpdmls6Wdp6WUgKHByaXZpbGVnZWQpIGV0IG5lIHBldXQg6nRyZSBjaGFyZ+kgcGFyIGNldHRlIGFwcGxpY2F0aW9uIHdlYgpzdGFuZGFyZFdyYXBwZXIucmVsZWFzZUZpbHRlcnM9RXhjZXB0aW9uIGRlcyBmaWx0cmVzIGRlIHNvcnRpZSAocmVsZWFzZSBmaWx0ZXJzKSBwb3VyIGxhIHNlcnZsZXQgezB9CnN0YW5kYXJkV3JhcHBlci5zZXJ2aWNlRXhjZXB0aW9uPSJTZXJ2bGV0LnNlcnZpY2UoKSIgcG91ciBsYSBzZXJ2bGV0IHswfSBhIGfpbuly6SB1bmUgZXhjZXB0aW9uCnN0YW5kYXJkV3JhcHBlci5zdGF0dXNIZWFkZXI9RXRhdCBIVFRQIHswfSAtIHsxfQpzdGFuZGFyZFdyYXBwZXIuc3RhdHVzVGl0bGU9UmFwcG9ydCBkJydlcnJldXIgVG9tY2F0CnN0YW5kYXJkV3JhcHBlci51bmF2YWlsYWJsZT1MYSBzZXJ2bGV0IHswfSBlc3QgbWFycXXpIGNvbW1lIGluZGlzcG9uaWJsZQpzdGFuZGFyZFdyYXBwZXIudW5sb2FkRXhjZXB0aW9uPUxhIHNlcnZsZXQgezB9IGEgZ+lu6XLpIHVuZSBleGNlcHRpb24gInVubG9hZCgpIgpzdGFuZGFyZFdyYXBwZXIudW5sb2FkaW5nPUltcG9zc2libGUgZCcnYWxsb3VlciBsYSBzZXJ2bGV0IHswfSBjYXIgZWxsZSBhIOl06SBk6WNoYXJn6WUK