@plumile/backoffice-core 0.1.151 → 0.1.153

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/esm/types.js CHANGED
@@ -5,4 +5,4 @@ export class BackofficeToolValidationError extends Error {
5
5
  this.label = label;
6
6
  }
7
7
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMitEQSxNQUFNLE9BQU8sNkJBQThCLFNBQVEsS0FBSztJQUMvQyxLQUFLLENBQVk7SUFFeEIsWUFBbUIsS0FBZ0I7UUFDakMsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7IFRGdW5jdGlvbiB9IGZyb20gJ2kxOG5leHQnO1xuaW1wb3J0IHR5cGUgeyBQcmVsb2FkZWRRdWVyeSB9IGZyb20gJ3JlYWN0LXJlbGF5JztcbmltcG9ydCB0eXBlIHtcbiAgR3JhcGhRTFRhZ2dlZE5vZGUsXG4gIE9wZXJhdGlvblR5cGUsXG4gIFJlY29yZFNvdXJjZVNlbGVjdG9yUHJveHksXG59IGZyb20gJ3JlbGF5LXJ1bnRpbWUnO1xuaW1wb3J0IHR5cGUgeyBCQUNLT0ZGSUNFX0VOVElUWV9GQUNFVF9LSU5EUyB9IGZyb20gJy4vY29uc3RhbnRzLmpzJztcblxuZXhwb3J0IHR5cGUgSTE4bkxhYmVsID0gKHQ6IFRGdW5jdGlvbikgPT4gc3RyaW5nO1xuXG50eXBlIEJpdmFyaWFudENhbGxiYWNrPEZuPiA9IEZuIGV4dGVuZHMgKC4uLmFyZ3M6IGluZmVyIEEpID0+IGluZmVyIFJcbiAgPyB7IGJpdmFyaWFuY2VIYWNrOiAoLi4uYXJnczogQSkgPT4gUiB9WydiaXZhcmlhbmNlSGFjayddXG4gIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBY3Rpb25SZW5kZXJOb2RlID0gRXhjbHVkZTxSZWFjdE5vZGUsIFByb21pc2U8dW5rbm93bj4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVmFsdWVMYWJlbCA9IHN0cmluZyB8IG51bWJlciB8IG51bGwgfCBJMThuTGFiZWw7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VCYWRnZVRvbmUgPVxuICB8ICduZXV0cmFsJ1xuICB8ICdpbmZvJ1xuICB8ICdzdWNjZXNzJ1xuICB8ICd3YXJuaW5nJ1xuICB8ICdkYW5nZXInO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTnVtYmVyRm9ybWF0ID0gJ251bWJlcicgfCAnY3VycmVuY3knIHwgJ3BlcmNlbnQnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRmllbGRTaXplID1cbiAgfCAneHMnXG4gIHwgJ3MnXG4gIHwgJ3N0YXR1c0FjdGlvbidcbiAgfCAnbSdcbiAgfCAnbCdcbiAgfCAneGwnXG4gIHwgJ2ZsdWlkJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUFjdGlvblZhcmlhbnQgPVxuICB8ICdwcmltYXJ5J1xuICB8ICdzZWNvbmRhcnknXG4gIHwgJ3RleHQnXG4gIHwgJ3N1Y2Nlc3MnXG4gIHwgJ2RhbmdlcidcbiAgfCAnYnJhbmQnXG4gIHwgJ2JyYW5kR2hvc3QnXG4gIHwgJ3RhYidcbiAgfCAnaWNvbic7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBY3Rpb25TaXplID0gJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUFjdGlvblRvYXN0Vmlld1NwZWM8XG4gIE5vZGUgPSB1bmtub3duLFxuICBSZXNwb25zZSA9IHVua25vd24sXG4+ID0ge1xuICBlbnRpdHlJZDogc3RyaW5nO1xuICBnZXRUYXJnZXRJZDogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKHJlc3BvbnNlOiBSZXNwb25zZSwgbm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbFxuICA+O1xuICBsYWJlbD86IEkxOG5MYWJlbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBY3Rpb25Ub2FzdFNwZWM8Tm9kZSA9IHVua25vd24sIFJlc3BvbnNlID0gdW5rbm93bj4gPSB7XG4gIHRpdGxlOiBJMThuTGFiZWw7XG4gIG1lc3NhZ2U/OiBJMThuTGFiZWw7XG4gIHZpZXc/OiBCYWNrb2ZmaWNlQWN0aW9uVG9hc3RWaWV3U3BlYzxOb2RlLCBSZXNwb25zZT47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uQmFzZTxOb2RlPiA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgYXJpYUxhYmVsPzogSTE4bkxhYmVsO1xuICB2YXJpYW50PzogQmFja29mZmljZUFjdGlvblZhcmlhbnQ7XG4gIHNpemU/OiBCYWNrb2ZmaWNlQWN0aW9uU2l6ZTtcbiAgaXNWaXNpYmxlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IGJvb2xlYW4+O1xuICBpc0Rpc2FibGVkPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IGJvb2xlYW4+O1xufTtcblxudHlwZSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkQmFzZSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkU3BlYyA9XG4gIHwgKEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25Gb3JtRmllbGRCYXNlICYge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGtpbmQ6ICd0ZXh0JztcbiAgICAgIHBsYWNlaG9sZGVyPzogSTE4bkxhYmVsO1xuICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25Gb3JtRmllbGRCYXNlICYge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGtpbmQ6ICd0ZXh0YXJlYSc7XG4gICAgICBwbGFjZWhvbGRlcj86IEkxOG5MYWJlbDtcbiAgICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcbiAgICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICAgIHJvd3M/OiBudW1iZXI7XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUVudGl0eUFjdGlvbkZvcm1GaWVsZEJhc2UgJiB7XG4gICAgICBraW5kOiAnbnVtYmVyJztcbiAgICAgIHBsYWNlaG9sZGVyPzogSTE4bkxhYmVsO1xuICAgICAgZGVmYXVsdFZhbHVlPzogbnVtYmVyO1xuICAgICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25Gb3JtRmllbGRCYXNlICYge1xuICAgICAga2luZDogJ2pzb24nO1xuICAgICAgcGxhY2Vob2xkZXI/OiBJMThuTGFiZWw7XG4gICAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gICAgICByZXF1aXJlZD86IGJvb2xlYW47XG4gICAgICBqc29uVHlwZT86ICdvYmplY3QnIHwgJ2FycmF5JyB8ICdhbnknO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25Gb3JtRmllbGRCYXNlICYge1xuICAgICAga2luZDogJ2VudW0nO1xuICAgICAgb3B0aW9uczogcmVhZG9ubHkgeyB2YWx1ZTogc3RyaW5nOyBsYWJlbDogSTE4bkxhYmVsIH1bXTtcbiAgICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcbiAgICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkQmFzZSAmIHtcbiAgICAgIGtpbmQ6ICdib29sZWFuJztcbiAgICAgIGRlZmF1bHRWYWx1ZT86IGJvb2xlYW47XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUVudGl0eUFjdGlvbkZvcm1GaWVsZEJhc2UgJiB7XG4gICAgICBraW5kOiAnZW50aXR5SWQnO1xuICAgICAgZW50aXR5OiBzdHJpbmc7XG4gICAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gICAgICByZXF1aXJlZD86IGJvb2xlYW47XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUVudGl0eUFjdGlvbkZvcm1GaWVsZEJhc2UgJiB7XG4gICAgICBraW5kOiAnbXVsdGlFbnVtJztcbiAgICAgIG9wdGlvbnM6IHJlYWRvbmx5IHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IEkxOG5MYWJlbCB9W107XG4gICAgICBkZWZhdWx0VmFsdWU/OiByZWFkb25seSBzdHJpbmdbXTtcbiAgICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICB9KTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUFjdGlvblJlc3VsdFNwZWM8Tm9kZSwgUmVzcG9uc2UgPSB1bmtub3duPiA9IHtcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgZ2V0VmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChyZXNwb25zZTogUmVzcG9uc2UsIG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGxcbiAgPjtcbiAgcmVuZGVyPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKHJlc3BvbnNlOiBSZXNwb25zZSwgbm9kZTogTm9kZSkgPT4gQmFja29mZmljZUFjdGlvblJlbmRlck5vZGUgfCBudWxsXG4gID47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uVXBkYXRlcjxOb2RlPiA9IEJpdmFyaWFudENhbGxiYWNrPFxuICAoc3RvcmU6IFJlY29yZFNvdXJjZVNlbGVjdG9yUHJveHksIG5vZGU6IE5vZGUpID0+IHZvaWRcbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlNdXRhdGlvbkFjdGlvblNwZWM8XG4gIE5vZGUsXG4gIFZhcmlhYmxlcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBSZXNwb25zZSA9IHVua25vd24sXG4+ID0gQmFja29mZmljZUVudGl0eUFjdGlvbkJhc2U8Tm9kZT4gJiB7XG4gIGtpbmQ6ICdtdXRhdGlvbic7XG4gIG11dGF0aW9uOiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgZ2V0VmFyaWFibGVzOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gVmFyaWFibGVzPjtcbiAgdXBkYXRlcj86IEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25VcGRhdGVyPE5vZGU+O1xuICBtYXBFcnJvclJlYXNvbj86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChyZWFzb246IHN0cmluZywgbm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWxcbiAgPjtcbiAgb25Db21wbGV0ZWQ/OiBCaXZhcmlhbnRDYWxsYmFjazwocmVzcG9uc2U6IFJlc3BvbnNlLCBub2RlOiBOb2RlKSA9PiB2b2lkPjtcbiAgb25FcnJvcj86IEJpdmFyaWFudENhbGxiYWNrPChlcnJvcjogRXJyb3IsIG5vZGU6IE5vZGUpID0+IHZvaWQ+O1xuICB0b2FzdHM/OiB7XG4gICAgc3VjY2Vzcz86IEJhY2tvZmZpY2VBY3Rpb25Ub2FzdFNwZWM8Tm9kZSwgUmVzcG9uc2U+O1xuICAgIGVycm9yPzogQmFja29mZmljZUFjdGlvblRvYXN0U3BlYzxOb2RlLCBSZXNwb25zZT47XG4gIH07XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5Rm9ybU11dGF0aW9uQWN0aW9uU3BlYzxcbiAgTm9kZSxcbiAgVmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFJlc3BvbnNlID0gdW5rbm93bixcbj4gPSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uQmFzZTxOb2RlPiAmIHtcbiAga2luZDogJ2Zvcm1NdXRhdGlvbic7XG4gIG11dGF0aW9uOiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgZmllbGRzOiByZWFkb25seSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkU3BlY1tdO1xuICBnZXRWYXJpYWJsZXM6IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlLCB2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiBWYXJpYWJsZXNcbiAgPjtcbiAgdXBkYXRlcj86IEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25VcGRhdGVyPE5vZGU+O1xuICBnZXRJbml0aWFsVmFsdWVzPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IFJlY29yZDxzdHJpbmcsIHVua25vd24+PjtcbiAgbWFwRXJyb3JSZWFzb24/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAocmVhc29uOiBzdHJpbmcsIG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsXG4gID47XG4gIG9uQ29tcGxldGVkPzogQml2YXJpYW50Q2FsbGJhY2s8KHJlc3BvbnNlOiBSZXNwb25zZSwgbm9kZTogTm9kZSkgPT4gdm9pZD47XG4gIG9uRXJyb3I/OiBCaXZhcmlhbnRDYWxsYmFjazwoZXJyb3I6IEVycm9yLCBub2RlOiBOb2RlKSA9PiB2b2lkPjtcbiAgdG9hc3RzPzoge1xuICAgIHN1Y2Nlc3M/OiBCYWNrb2ZmaWNlQWN0aW9uVG9hc3RTcGVjPE5vZGUsIFJlc3BvbnNlPjtcbiAgICBlcnJvcj86IEJhY2tvZmZpY2VBY3Rpb25Ub2FzdFNwZWM8Tm9kZSwgUmVzcG9uc2U+O1xuICB9O1xuICByZXN1bHQ/OiBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uUmVzdWx0U3BlYzxOb2RlLCBSZXNwb25zZT47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5Um91dGVBY3Rpb25TcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZUVudGl0eUFjdGlvbkJhc2U8Tm9kZT4gJiB7XG4gICAga2luZDogJ3JvdXRlJztcbiAgICB0bzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZz47XG4gIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25TcGVjPE5vZGU+ID1cbiAgfCBCYWNrb2ZmaWNlRW50aXR5TXV0YXRpb25BY3Rpb25TcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZUVudGl0eUZvcm1NdXRhdGlvbkFjdGlvblNwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlRW50aXR5Um91dGVBY3Rpb25TcGVjPE5vZGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdEFjdGlvblNwZWMgPSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uU3BlYzxudWxsPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUtpbmQgPSAnbGlzdC1kZXRhaWwnIHwgJ3Rvb2wnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RLaW5kID0gJ2xpc3QtZGV0YWlsJyB8ICd0b29sJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUZhY2V0S2luZCA9XG4gICh0eXBlb2YgQkFDS09GRklDRV9FTlRJVFlfRkFDRVRfS0lORFMpW251bWJlcl07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlNb2R1bGVTdGF0dXMgPVxuICB8ICdpZGxlJ1xuICB8ICdsb2FkaW5nJ1xuICB8ICdsb2FkZWQnXG4gIHwgJ2Vycm9yJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUxvYWRNb2RlID0gJ2NhY2hlLWZpcnN0JyB8ICdyZWxvYWQnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQ29uZmlnQWNjZXNzS2luZCA9XG4gIHwgJ21hbmlmZXN0LW9ubHknXG4gIHwgJ2xvYWRlZC1jb25maWctcmVxdWlyZWQnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdFN0YXRlPFdoZXJlLCBTb3J0IGV4dGVuZHMgc3RyaW5nPiA9IHtcbiAgd2hlcmU6IFdoZXJlIHwgbnVsbDtcbiAgc29ydDogU29ydCB8IG51bGw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdFZhcmlhYmxlczxXaGVyZSwgU29ydCBleHRlbmRzIHN0cmluZz4gPSB7XG4gIHdoZXJlOiBXaGVyZSB8IG51bGw7XG4gIHNvcnQ6IFNvcnQgfCBudWxsO1xuICBjb3VudDogbnVtYmVyO1xuICBjdXJzb3I6IHN0cmluZyB8IG51bGw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlT3BlcmF0aW9uVmFyaWFibGVzPFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlPiA9XG4gIFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlT3BlcmF0aW9uUmVzcG9uc2U8VE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGU+ID1cbiAgVE9wZXJhdGlvblsncmVzcG9uc2UnXTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXSBleHRlbmRzIHtcbiAgICB3aGVyZT86IGluZmVyIFdoZXJlIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgfVxuICAgID8gRXh0cmFjdDxOb25OdWxsYWJsZTxXaGVyZT4sIFJlY29yZDxzdHJpbmcsIHVua25vd24+PlxuICAgIDogbmV2ZXIsXG4+ID0gVFdoZXJlO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRTb3J0ID0gVE9wZXJhdGlvblsndmFyaWFibGVzJ10gZXh0ZW5kcyB7XG4gICAgc29ydD86IGluZmVyIFNvcnQgfCBudWxsIHwgdW5kZWZpbmVkO1xuICB9XG4gICAgPyBFeHRyYWN0PE5vbk51bGxhYmxlPFNvcnQ+LCBzdHJpbmc+XG4gICAgOiBuZXZlcixcbj4gPSBFeHRyYWN0PFRTb3J0LCBzdHJpbmc+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGVyaXZlZE9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlPiA9XG4gIFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddIGV4dGVuZHMge1xuICAgIHdoZXJlPzogaW5mZXIgV2hlcmUgfCBudWxsIHwgdW5kZWZpbmVkO1xuICB9XG4gICAgPyBFeHRyYWN0PE5vbk51bGxhYmxlPFdoZXJlPiwgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+XG4gICAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURlcml2ZWRPcGVyYXRpb25Tb3J0PFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlPiA9XG4gIFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddIGV4dGVuZHMge1xuICAgIHNvcnQ/OiBpbmZlciBTb3J0IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgfVxuICAgID8gRXh0cmFjdDxOb25OdWxsYWJsZTxTb3J0Piwgc3RyaW5nPlxuICAgIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0UXVlcnlJbnB1dDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuICBUU29ydCBleHRlbmRzIHN0cmluZyA9IEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFRPcGVyYXRpb24+LFxuPiA9IHtcbiAgd2hlcmU6IFRXaGVyZSB8IG51bGw7XG4gIHNvcnQ6IFRTb3J0IHwgbnVsbDtcbiAgY291bnQ6IG51bWJlcjtcbiAgY3Vyc29yOiBzdHJpbmcgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBpY2tlclNjb3BlPFdoZXJlPiA9IFBhcnRpYWw8e1xuICBbS2V5IGluIGtleW9mIFdoZXJlXTogRXh0cmFjdDxOb25OdWxsYWJsZTxXaGVyZVtLZXldPiwgc3RyaW5nPjtcbn0+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUGlja2VyUXVlcnlJbnB1dDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuPiA9IHtcbiAgc2VhcmNoOiBzdHJpbmc7XG4gIHNjb3BlPzogQmFja29mZmljZVBpY2tlclNjb3BlPFRXaGVyZT47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVsYXRpb25GaWx0ZXJTcGVjPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4+ID0ge1xuICB0YXJnZXQ6IHN0cmluZztcbiAgZmlsdGVySWQ/OiBzdHJpbmc7XG4gIHdoZXJlS2V5OiBFeHRyYWN0PGtleW9mIFRXaGVyZSwgc3RyaW5nPjtcbiAgcGF0aD86IHJlYWRvbmx5IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJ1bnRpbWVSZWxhdGlvbkZpbHRlclNwZWMgPSB7XG4gIHRhcmdldDogc3RyaW5nO1xuICBmaWx0ZXJJZD86IHN0cmluZztcbiAgd2hlcmVLZXk6IHN0cmluZztcbiAgcGF0aD86IHJlYWRvbmx5IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eVJvdXRlcyA9IHtcbiAgbGlzdDogc3RyaW5nO1xuICBkZXRhaWw6IChpZDogc3RyaW5nKSA9PiBzdHJpbmc7XG4gIGRldGFpbFBhZ2U6IChpZDogc3RyaW5nLCBwYWdlSWQ6IHN0cmluZykgPT4gc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eVJvdXRlTWFuaWZlc3QgPSB7XG4gIGxpc3Q6IHN0cmluZztcbiAgZGV0YWlsOiAoaWQ6IHN0cmluZykgPT4gc3RyaW5nO1xuICBkZXRhaWxQYWdlOiAoaWQ6IHN0cmluZywgcGFnZUlkOiBzdHJpbmcpID0+IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQYWdlTWFuaWZlc3RJdGVtID0ge1xuICBpZDogc3RyaW5nO1xuICBwYXRoU2VnbWVudDogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICBpc0RlZmF1bHQ/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VSb3V0ZVNwZWM8TGF5b3V0VmlldyA9IHVua25vd24+ID0ge1xuICBpZDogc3RyaW5nO1xuICBwYXRoOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIGlzVmlzaWJsZT86IEJpdmFyaWFudENhbGxiYWNrPChsYXlvdXRQYWdlOiBMYXlvdXRWaWV3KSA9PiBib29sZWFuPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRDb25maWcgPSB7XG4gIHRpdGxlOiBJMThuTGFiZWw7XG4gIHN1YnRpdGxlPzogSTE4bkxhYmVsO1xuICBxdWVyeT86IEdyYXBoUUxUYWdnZWROb2RlO1xuICB3aWRnZXRzOiByZWFkb25seSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0W107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0U2l6ZSA9ICdzJyB8ICdtJyB8ICdsJyB8ICd4bCcgfCAnZnVsbCc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRTcGFuID0gMyB8IDQgfCA2IHwgOCB8IDEyO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0VGFibGV0U3BhbiA9IDMgfCA2O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0Wm9uZSA9XG4gIHwgJ3N1bW1hcnknXG4gIHwgJ21haW4nXG4gIHwgJ2FzaWRlJ1xuICB8ICdzZWNvbmRhcnknXG4gIHwgJ2Z1bGwnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0TGF5b3V0ID0ge1xuICB6b25lPzogQmFja29mZmljZURhc2hib2FyZFdpZGdldFpvbmU7XG4gIHNwYW4/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0U3BhbjtcbiAgdGFibGV0U3Bhbj86IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRUYWJsZXRTcGFuO1xuICBvcmRlcj86IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRQcmlvcml0eSA9XG4gIHwgJ2NyaXRpY2FsJ1xuICB8ICdoaWdoJ1xuICB8ICdub3JtYWwnXG4gIHwgJ2xvdydcbiAgfCAncHJpbWFyeSdcbiAgfCAnc2Vjb25kYXJ5J1xuICB8ICdkZWJ1Zyc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRCYXNlID0ge1xuICBpZDogc3RyaW5nO1xuICB0aXRsZT86IEkxOG5MYWJlbDtcbiAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gIHNpemU/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0U2l6ZTtcbiAgbGF5b3V0PzogQmFja29mZmljZURhc2hib2FyZFdpZGdldExheW91dDtcbiAgcHJpb3JpdHk/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0UHJpb3JpdHk7XG4gIG1pbkhlaWdodD86ICdzbScgfCAnbWQnIHwgJ2xnJztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXQgPVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGtpbmQ6ICdlbnRpdHlDb3VudCc7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgZW50aXR5SWQ6IHN0cmluZztcbiAgICAgIHF1ZXJ5PzogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gICAgICByZXNvbHZlPzogKGRhdGE6IHVua25vd24pID0+IHsgY291bnQ6IG51bWJlciB8IG51bGwgfTtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGtpbmQ6ICdzaG9ydGN1dCc7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgZW50aXR5SWQ6IHN0cmluZztcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGtpbmQ6ICd0YWJsZVByZXZpZXcnO1xuICAgICAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgICAgIHF1ZXJ5PzogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gICAgICByZXNvbHZlOiAoZGF0YTogdW5rbm93bikgPT4ge1xuICAgICAgICBjb2x1bW5zOiByZWFkb25seSBCYWNrb2ZmaWNlQ29sdW1uU3BlY1tdO1xuICAgICAgICByb3dzOiByZWFkb25seSB1bmtub3duW107XG4gICAgICB9O1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRCYXNlICYge1xuICAgICAga2luZDogJ3N0YXR1c1N1bW1hcnknO1xuICAgICAgcXVlcnk/OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgICAgIHJlc29sdmU6IChkYXRhOiB1bmtub3duKSA9PiByZWFkb25seSB7XG4gICAgICAgIGlkOiBzdHJpbmc7XG4gICAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICAgIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsO1xuICAgICAgICB0b25lPzogQmFja29mZmljZUJhZGdlVG9uZTtcbiAgICAgICAgaHJlZj86IHN0cmluZztcbiAgICAgIH1bXTtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGtpbmQ6ICdyZWNlbnRJdGVtcyc7XG4gICAgICBtYXhJdGVtcz86IG51bWJlcjtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGtpbmQ6ICdxdWlja0FjdGlvbnMnO1xuICAgICAgYWN0aW9uczogcmVhZG9ubHkge1xuICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgICBocmVmOiBzdHJpbmc7XG4gICAgICAgIGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xuICAgICAgICB0b25lPzogJ2RlZmF1bHQnIHwgJ3ByaW1hcnknIHwgJ2Rhbmdlcic7XG4gICAgICB9W107XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBraW5kOiAnbWV0cmljR3JvdXAnO1xuICAgICAgcXVlcnk/OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgICAgIHJlc29sdmU6IChkYXRhOiB1bmtub3duKSA9PiByZWFkb25seSB7XG4gICAgICAgIGlkOiBzdHJpbmc7XG4gICAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICAgIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsO1xuICAgICAgICBtZXRhPzogSTE4bkxhYmVsO1xuICAgICAgICB0b25lPzogJ25ldXRyYWwnIHwgJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2Rhbmdlcic7XG4gICAgICAgIGhyZWY/OiBzdHJpbmc7XG4gICAgICB9W107XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBraW5kOiAnYmlsbGluZ1VzYWdlQ2hhcnQnO1xuICAgICAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgICAgIHF1ZXJ5PzogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gICAgICBjYXRlZ29yaWVzOiByZWFkb25seSB7XG4gICAgICAgIGlkOiBzdHJpbmc7XG4gICAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICAgIGNvbG9yOiBzdHJpbmc7XG4gICAgICB9W107XG4gICAgICBlbXB0eUxhYmVsOiBJMThuTGFiZWw7XG4gICAgICByYW5nZVByZWZpeDogSTE4bkxhYmVsO1xuICAgICAgYXJpYUxhYmVsOiBJMThuTGFiZWw7XG4gICAgICByZXNvbHZlOiAoZGF0YTogdW5rbm93bikgPT4ge1xuICAgICAgICBjdXJyZW5jeTogc3RyaW5nO1xuICAgICAgICB0b3RhbEFtb3VudDogbnVtYmVyO1xuICAgICAgICBmcm9tOiBzdHJpbmcgfCBudWxsO1xuICAgICAgICB0bzogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgYnVja2V0czogcmVhZG9ubHkge1xuICAgICAgICAgIGRheTogc3RyaW5nO1xuICAgICAgICAgIGNhdGVnb3J5OiBzdHJpbmc7XG4gICAgICAgICAgdmFsdWU6IG51bWJlcjtcbiAgICAgICAgfVtdO1xuICAgICAgfSB8IG51bGw7XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBraW5kOiAndGV4dEJsb2NrJztcbiAgICAgIHRpdGxlOiBJMThuTGFiZWw7XG4gICAgICBib2R5OiBJMThuTGFiZWw7XG4gICAgfSk7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0VXJsQ29kZWM8V2hlcmUsIFNvcnQgZXh0ZW5kcyBzdHJpbmc+ID0ge1xuICBwYXJzZTogKHNlYXJjaDogVVJMU2VhcmNoUGFyYW1zKSA9PiBCYWNrb2ZmaWNlTGlzdFN0YXRlPFdoZXJlLCBTb3J0PjtcbiAgc2VyaWFsaXplOiAoc3RhdGU6IEJhY2tvZmZpY2VMaXN0U3RhdGU8V2hlcmUsIFNvcnQ+KSA9PiBVUkxTZWFyY2hQYXJhbXM7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU29ydFNwZWM8U29ydCBleHRlbmRzIHN0cmluZyA9IHN0cmluZz4gPSB7XG4gIGlkOiBTb3J0O1xuICBsYWJlbDogSTE4bkxhYmVsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJvd0ZsYWdTcGVjPFJvdyA9IHVua25vd24+ID0ge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBJMThuTGFiZWw+O1xuICByZW5kZXI6IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gdW5rbm93bj47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdENvbHVtblByaW9yaXR5ID1cbiAgfCAncHJpbWFyeSdcbiAgfCAnaW1wb3J0YW50J1xuICB8ICdzZWNvbmRhcnknXG4gIHwgJ2RlYnVnJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RNb2JpbGVSb2xlID1cbiAgfCAndGl0bGUnXG4gIHwgJ3N1YnRpdGxlJ1xuICB8ICdtZXRhJ1xuICB8ICdiYWRnZSdcbiAgfCAnc3RhdHVzJ1xuICB8ICdhY3Rpb24nXG4gIHwgJ2hpZGRlbic7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0Q29sdW1uVmlzaWJpbGl0eSA9IHtcbiAgcHJpb3JpdHk/OiBCYWNrb2ZmaWNlTGlzdENvbHVtblByaW9yaXR5O1xuICBhbGlnbj86ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JztcbiAgbW9iaWxlPzogQmFja29mZmljZUxpc3RNb2JpbGVSb2xlO1xuICB0YWJsZXQ/OiAndmlzaWJsZScgfCAnaGlkZGVuJztcbiAgZGVza3RvcD86ICd2aXNpYmxlJyB8ICdoaWRkZW4nO1xuICBtaW5WaXNpYmxlQXQ/OiAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnO1xuICBkZWJ1Z09ubHk/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RDb2x1bW5Db3B5ID0ge1xuICBzaG9ydExhYmVsPzogSTE4bkxhYmVsO1xuICBkZXNjcmlwdGlvbj86IEkxOG5MYWJlbDtcbiAgZW1wdHlMYWJlbD86IEkxOG5MYWJlbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VDb2x1bW5TcGVjPFJvdyA9IHVua25vd24+ID0ge1xuICBrZXk6IHN0cmluZztcbiAgaGVhZGVyOiBJMThuTGFiZWw7XG4gIHNpemU6IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gIHZpc2liaWxpdHk/OiBCYWNrb2ZmaWNlTGlzdENvbHVtblZpc2liaWxpdHk7XG4gIGNvcHk/OiBCYWNrb2ZmaWNlTGlzdENvbHVtbkNvcHk7XG4gIGNlbGw6XG4gICAgfCB7XG4gICAgICAgIHNpemU/OiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgICB0eXBlOiAndGV4dCc7XG4gICAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHN0cmluZyB8IG51bWJlciB8IG51bGw+O1xuICAgICAgICBjb3B5VmFsdWU/OiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHN0cmluZyB8IG51bGw+O1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBzaXplPzogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgICAgdHlwZTogJ2xpbmsnO1xuICAgICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudW1iZXIgfCBudWxsPjtcbiAgICAgICAgdG86IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gc3RyaW5nPjtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgc2l6ZT86IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICAgIHR5cGU6ICdiYWRnZSc7XG4gICAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHN0cmluZyB8IG51bGw+O1xuICAgICAgICB0b25lPzpcbiAgICAgICAgICB8IEJhY2tvZmZpY2VCYWRnZVRvbmVcbiAgICAgICAgICB8IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gQmFja29mZmljZUJhZGdlVG9uZT47XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIHNpemU/OiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgICB0eXBlOiAnZGF0ZVRpbWUnO1xuICAgICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudW1iZXIgfCBudWxsPjtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgc2l6ZT86IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICAgIHR5cGU6ICdlbnRpdHlSZWYnO1xuICAgICAgICBlbnRpdHk6IHN0cmluZztcbiAgICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gc3RyaW5nPjtcbiAgICAgICAgbGFiZWw/OiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHN0cmluZyB8IG51bGw+O1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBzaXplPzogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgICAgdHlwZTogJ2N1c3RvbSc7XG4gICAgICAgIHJlbmRlcjogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiB1bmtub3duPjtcbiAgICAgICAgdGV4dFZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgIH07XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdERlbnNpdHkgPSAnY29tcGFjdCcgfCAnZGVmYXVsdCcgfCAnY29tZm9ydGFibGUnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdERpc3BsYXlNb2RlID0gJ3RhYmxlJyB8ICdjYXJkcycgfCAnYXV0byc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0VmlydHVhbGl6YXRpb25Nb2RlID0gJ2F1dG8nIHwgJ2Fsd2F5cycgfCAnbmV2ZXInO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdFZpcnR1YWxpemF0aW9uQ29uZmlnID0ge1xuICBtb2RlPzogQmFja29mZmljZUxpc3RWaXJ0dWFsaXphdGlvbk1vZGU7XG4gIHJvd0hlaWdodFB4PzogbnVtYmVyO1xuICBvdmVyc2Nhbj86IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VJbmZpbml0ZVNjcm9sbENvbmZpZyA9IHtcbiAgZW5hYmxlZD86IHRydWU7XG4gIHJvb3RNYXJnaW4/OiBzdHJpbmc7XG4gIHRocmVzaG9sZD86IG51bWJlcjtcbiAgdGhyZXNob2xkUHg/OiBudW1iZXI7XG4gIGF1dG9Mb2FkPzogYm9vbGVhbjtcbiAgc3RhdHVzPzoge1xuICAgIHNob3dMb2FkZWRDb3VudD86IGJvb2xlYW47XG4gICAgc2hvd1RvdGFsQ291bnQ/OiBib29sZWFuO1xuICAgIHNob3dFbmRTdGF0ZT86IGJvb2xlYW47XG4gICAgc2hvd0luY29uc2lzdGVudFBhZ2VJbmZvPzogYm9vbGVhbjtcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0VG9vbGJhclByb2ZpbGUgPSB7XG4gIGRlbnNpdHk/OiBCYWNrb2ZmaWNlTGlzdERlbnNpdHk7XG4gIGRpc3BsYXlNb2RlPzogQmFja29mZmljZUxpc3REaXNwbGF5TW9kZTtcbiAgbWF4UHJvbW90ZWRGaWx0ZXJzPzogbnVtYmVyO1xuICBzaG93UmVmcmVzaD86IGJvb2xlYW47XG4gIHNob3dTb3J0PzogYm9vbGVhbjtcbiAgc2hvd0ZpbHRlckNoaXBzPzogJ2F1dG8nIHwgJ2Fsd2F5cycgfCAnbmV2ZXInO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RVaUNvbmZpZyA9IHtcbiAgZGVuc2l0eT86IEJhY2tvZmZpY2VMaXN0RGVuc2l0eTtcbiAgZGlzcGxheU1vZGU/OiBCYWNrb2ZmaWNlTGlzdERpc3BsYXlNb2RlO1xuICBpbmZpbml0ZVNjcm9sbD86IEJhY2tvZmZpY2VJbmZpbml0ZVNjcm9sbENvbmZpZztcbiAgdmlydHVhbGl6YXRpb24/OiBCYWNrb2ZmaWNlTGlzdFZpcnR1YWxpemF0aW9uQ29uZmlnO1xuICB0b29sYmFyPzogQmFja29mZmljZUxpc3RUb29sYmFyUHJvZmlsZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0UmVzcG9uc2l2ZU1ldGFJdGVtID0ge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgdmFsdWU6IHN0cmluZztcbiAgdG9uZT86IEJhY2tvZmZpY2VCYWRnZVRvbmU7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdFJlc3BvbnNpdmVQcm9maWxlPFJvdyA9IHVua25vd24+ID0ge1xuICBtb2RlPzogQmFja29mZmljZUxpc3REaXNwbGF5TW9kZTtcbiAgZGVuc2l0eT86IEJhY2tvZmZpY2VMaXN0RGVuc2l0eTtcbiAgbW9iaWxlQnJlYWtwb2ludD86ICdzbScgfCAnbWQnIHwgJ2xnJztcbiAgcHJpbWFyeUNvbHVtbj86IHN0cmluZztcbiAgZGVmYXVsdFZpc2libGVDb2x1bW5zPzogcmVhZG9ubHkgc3RyaW5nW107XG4gIGRlYnVnQ29sdW1ucz86IHJlYWRvbmx5IHN0cmluZ1tdO1xuICByb3dUaXRsZT86IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gc3RyaW5nIHwgbnVsbD47XG4gIHJvd1N1YnRpdGxlPzogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgcm93TWV0YT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChyb3c6IFJvdykgPT4gcmVhZG9ubHkgQmFja29mZmljZUxpc3RSZXNwb25zaXZlTWV0YUl0ZW1bXVxuICA+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUZpbHRlclBsYWNlbWVudCA9ICdxdWljaycgfCAnZHJhd2VyJyB8ICdib3RoJztcblxudHlwZSBCYWNrb2ZmaWNlRmlsdGVyQmFzZTxXaGVyZSwgVmFsdWU+ID0ge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICBwbGFjZW1lbnQ/OiBCYWNrb2ZmaWNlRmlsdGVyUGxhY2VtZW50O1xuICB0b0dyYXBoUUw6ICh2YWx1ZTogVmFsdWUpID0+IFBhcnRpYWw8V2hlcmU+O1xuICBmcm9tR3JhcGhRTD86ICh3aGVyZTogV2hlcmUpID0+IFZhbHVlIHwgbnVsbDtcbiAgd2hlcmVLZXk/OiBrZXlvZiBXaGVyZTtcbiAgcGF0aD86IHJlYWRvbmx5IHN0cmluZ1tdO1xuICBwaWNrZXJTY29wZT86XG4gICAgfCBCYWNrb2ZmaWNlUGlja2VyU2NvcGU8V2hlcmU+XG4gICAgfCAoKHdoZXJlOiBXaGVyZSB8IG51bGwpID0+IEJhY2tvZmZpY2VQaWNrZXJTY29wZTxXaGVyZT4pO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUZpbHRlclNwZWM8V2hlcmU+ID1cbiAgfCAoQmFja29mZmljZUZpbHRlckJhc2U8V2hlcmUsIHN0cmluZz4gJiB7XG4gICAgICBraW5kOiAndGV4dCc7XG4gICAgICBwbGFjZWhvbGRlckxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgcGxhY2Vob2xkZXJUZXh0PzogSTE4bkxhYmVsO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VGaWx0ZXJCYXNlPFdoZXJlLCBzdHJpbmc+ICYge1xuICAgICAga2luZDogJ2RhdGV0aW1lJztcbiAgICAgIG1vZGU/OiAnZnJvbScgfCAndG8nIHwgJ2V4YWN0JztcbiAgICAgIHBsYWNlaG9sZGVyTGFiZWw/OiBJMThuTGFiZWw7XG4gICAgICBwbGFjZWhvbGRlclRleHQ/OiBJMThuTGFiZWw7XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUZpbHRlckJhc2U8V2hlcmUsIG51bWJlcj4gJiB7XG4gICAgICBraW5kOiAnbnVtYmVyJztcbiAgICAgIHBsYWNlaG9sZGVyTGFiZWw/OiBJMThuTGFiZWw7XG4gICAgICBwbGFjZWhvbGRlclRleHQ/OiBJMThuTGFiZWw7XG4gICAgICBpbnB1dE1vZGU/OiAnbnVtZXJpYycgfCAnZGVjaW1hbCc7XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUZpbHRlckJhc2U8V2hlcmUsIHN0cmluZz4gJiB7XG4gICAgICBraW5kOiAnZW51bSc7XG4gICAgICBvcHRpb25zOiByZWFkb25seSB7XG4gICAgICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICB9W107XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUZpbHRlckJhc2U8V2hlcmUsIGJvb2xlYW4+ICYge1xuICAgICAga2luZDogJ2Jvb2xlYW4nO1xuICAgICAgdHJ1ZUxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgZmFsc2VMYWJlbD86IEkxOG5MYWJlbDtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRmlsdGVyQmFzZTxXaGVyZSwgc3RyaW5nPiAmIHtcbiAgICAgIGtpbmQ6ICdlbnRpdHlJZCc7XG4gICAgICBlbnRpdHk6IHN0cmluZztcbiAgICB9KTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUNvbm5lY3Rpb25MaXN0Q29uZmlnPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBMaXN0RnJhZ21lbnREYXRhID0gdW5rbm93bixcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4+ID0ge1xuICBraW5kOiAnY29ubmVjdGlvbic7XG4gIHRpdGxlOiBJMThuTGFiZWw7XG4gIHF1ZXJ5OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgZnJhZ21lbnQ6IEdyYXBoUUxUYWdnZWROb2RlO1xuICBidWlsZFF1ZXJ5VmFyaWFibGVzOiAoXG4gICAgaW5wdXQ6IEJhY2tvZmZpY2VMaXN0UXVlcnlJbnB1dDxUT3BlcmF0aW9uLCBUV2hlcmUsIFRTb3J0PixcbiAgKSA9PiBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXTtcbiAgZ2V0Q29ubmVjdGlvbjogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKGRhdGE6IExpc3RGcmFnbWVudERhdGEpID0+IEJhY2tvZmZpY2VDb25uZWN0aW9uPFJvd1JlZj5cbiAgPjtcbiAgdG9Sb3c6IEJpdmFyaWFudENhbGxiYWNrPChyb3dSZWY6IFJvd1JlZikgPT4gUm93Vmlldz47XG4gIGdldFJvd0lkOiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3dWaWV3KSA9PiBzdHJpbmc+O1xuICBjb2x1bW5zOiByZWFkb25seSBCYWNrb2ZmaWNlQ29sdW1uU3BlYzxSb3dWaWV3PltdO1xuICByb3dGbGFncz86IHJlYWRvbmx5IEJhY2tvZmZpY2VSb3dGbGFnU3BlYzxSb3dWaWV3PltdO1xuICBzb3J0czogcmVhZG9ubHkgQmFja29mZmljZVNvcnRTcGVjPFRTb3J0PltdO1xuICBmaWx0ZXJzOiByZWFkb25seSBCYWNrb2ZmaWNlRmlsdGVyU3BlYzxUV2hlcmU+W107XG4gIHJlc3BvbnNpdmU/OiBCYWNrb2ZmaWNlTGlzdFJlc3BvbnNpdmVQcm9maWxlPFJvd1ZpZXc+O1xuICB1aT86IEJhY2tvZmZpY2VMaXN0VWlDb25maWc7XG4gIGRlZmF1bHRTdGF0ZT86IEJhY2tvZmZpY2VMaXN0U3RhdGU8VFdoZXJlLCBUU29ydD47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVjb3JkTGlzdENvbmZpZzxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgTGlzdEZyYWdtZW50RGF0YSA9IHVua25vd24sXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuICBUU29ydCBleHRlbmRzIHN0cmluZyA9IEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFRPcGVyYXRpb24+LFxuPiA9IHtcbiAga2luZDogJ3JlY29yZHMnO1xuICB0aXRsZTogSTE4bkxhYmVsO1xuICBxdWVyeTogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIGZyYWdtZW50OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgYnVpbGRRdWVyeVZhcmlhYmxlczogKFxuICAgIGlucHV0OiBCYWNrb2ZmaWNlTGlzdFF1ZXJ5SW5wdXQ8VE9wZXJhdGlvbiwgVFdoZXJlLCBUU29ydD4sXG4gICkgPT4gVE9wZXJhdGlvblsndmFyaWFibGVzJ107XG4gIGdldFJvd3M6IEJpdmFyaWFudENhbGxiYWNrPChkYXRhOiBMaXN0RnJhZ21lbnREYXRhKSA9PiByZWFkb25seSBSb3dSZWZbXT47XG4gIHRvUm93OiBCaXZhcmlhbnRDYWxsYmFjazwocm93UmVmOiBSb3dSZWYpID0+IFJvd1ZpZXc+O1xuICBnZXROZXh0Q3Vyc29yPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKGRhdGE6IEJhY2tvZmZpY2VPcGVyYXRpb25SZXNwb25zZTxUT3BlcmF0aW9uPikgPT4gc3RyaW5nIHwgbnVsbFxuICA+O1xuICBnZXRSb3dJZDogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93VmlldykgPT4gc3RyaW5nPjtcbiAgY29sdW1uczogcmVhZG9ubHkgQmFja29mZmljZUNvbHVtblNwZWM8Um93Vmlldz5bXTtcbiAgcm93RmxhZ3M/OiByZWFkb25seSBCYWNrb2ZmaWNlUm93RmxhZ1NwZWM8Um93Vmlldz5bXTtcbiAgc29ydHM6IHJlYWRvbmx5IEJhY2tvZmZpY2VTb3J0U3BlYzxUU29ydD5bXTtcbiAgZmlsdGVyczogcmVhZG9ubHkgQmFja29mZmljZUZpbHRlclNwZWM8VFdoZXJlPltdO1xuICByZXNwb25zaXZlPzogQmFja29mZmljZUxpc3RSZXNwb25zaXZlUHJvZmlsZTxSb3dWaWV3PjtcbiAgdWk/OiBCYWNrb2ZmaWNlTGlzdFVpQ29uZmlnO1xuICBkZWZhdWx0U3RhdGU/OiBCYWNrb2ZmaWNlTGlzdFN0YXRlPFRXaGVyZSwgVFNvcnQ+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUxpc3RDb25maWc8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIExpc3RGcmFnbWVudERhdGEgPSB1bmtub3duLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbiAgVFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxUT3BlcmF0aW9uPixcbj4gPVxuICB8IEJhY2tvZmZpY2VDb25uZWN0aW9uTGlzdENvbmZpZzxcbiAgICAgIFRPcGVyYXRpb24sXG4gICAgICBSb3dSZWYsXG4gICAgICBSb3dWaWV3LFxuICAgICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICAgIFRXaGVyZSxcbiAgICAgIFRTb3J0XG4gICAgPlxuICB8IEJhY2tvZmZpY2VSZWNvcmRMaXN0Q29uZmlnPFxuICAgICAgVE9wZXJhdGlvbixcbiAgICAgIFJvd1JlZixcbiAgICAgIFJvd1ZpZXcsXG4gICAgICBMaXN0RnJhZ21lbnREYXRhLFxuICAgICAgVFdoZXJlLFxuICAgICAgVFNvcnRcbiAgICA+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQmFkZ2VJdGVtID0ge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nIHwgSTE4bkxhYmVsO1xuICB0aXRsZT86IHN0cmluZyB8IEkxOG5MYWJlbDtcbiAgdG9uZT86IEJhY2tvZmZpY2VCYWRnZVRvbmU7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlSW5saW5lVmFsdWVTcGVjID1cbiAgfCB7XG4gICAgICB0eXBlOiAndGV4dCc7XG4gICAgICB2YWx1ZTogQmFja29mZmljZVZhbHVlTGFiZWw7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdlbnRpdHlSZWYnO1xuICAgICAgZW50aXR5OiBzdHJpbmc7XG4gICAgICBpZDogc3RyaW5nIHwgbnVsbDtcbiAgICAgIGxhYmVsPzogQmFja29mZmljZVZhbHVlTGFiZWw7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdsaW5rJztcbiAgICAgIGhyZWY6IHN0cmluZyB8IG51bGw7XG4gICAgICBsYWJlbDogQmFja29mZmljZVZhbHVlTGFiZWw7XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbEhlYWRlclN1YnRpdGxlSXRlbTxOb2RlPiA9IHtcbiAgaWQ6IHN0cmluZztcbiAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlSW5saW5lVmFsdWVTcGVjPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJNZXRhU3BlYzxOb2RlPiA9XG4gIHwge1xuICAgICAgdHlwZT86ICd0ZXh0JztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2RhdGVUaW1lJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bWJlciB8IG51bGw+O1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnZW50aXR5UmVmJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBlbnRpdHk6IHN0cmluZztcbiAgICAgIGlkOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbD47XG4gICAgICB2YWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2xpbmsnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIGhyZWY6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJTdGF0dXNTcGVjPE5vZGU+ID1cbiAgfCB7XG4gICAgICB0eXBlOiAnYmFkZ2UnO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gICAgICB0b25lPzpcbiAgICAgICAgfCBCYWNrb2ZmaWNlQmFkZ2VUb25lXG4gICAgICAgIHwgQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VCYWRnZVRvbmU+O1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnYmFkZ2VSb3cnO1xuICAgICAgaXRlbXM6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiByZWFkb25seSBCYWNrb2ZmaWNlQmFkZ2VJdGVtW10+O1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQbGFjZW1lbnQgPSAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbENvbnRlbnRHcm91cCA9XG4gIHwgJ3N1bW1hcnknXG4gIHwgJ2lkZW50aXR5J1xuICB8ICdzY29wZSdcbiAgfCAnc3RhdHVzJ1xuICB8ICdyZWxhdGlvbnMnXG4gIHwgJ2FjdGl2aXR5J1xuICB8ICdiaWxsaW5nJ1xuICB8ICd0ZWNobmljYWwnXG4gIHwgJ3Jhdyc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxJbXBvcnRhbmNlID1cbiAgfCAnaGVybydcbiAgfCAncHJpbWFyeSdcbiAgfCAnc2Vjb25kYXJ5J1xuICB8ICdkZWJ1Zyc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxDb2xsYXBzZUJlaGF2aW9yID0ge1xuICBjb2xsYXBzaWJsZT86IGJvb2xlYW47XG4gIGRlZmF1bHRDb2xsYXBzZWQ/OiBib29sZWFuO1xuICBwZXJzaXN0S2V5Pzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbiA9IHtcbiAgZ3JvdXA/OiBCYWNrb2ZmaWNlRGV0YWlsQ29udGVudEdyb3VwO1xuICBpbXBvcnRhbmNlPzogQmFja29mZmljZURldGFpbEltcG9ydGFuY2U7XG4gIGNvbGxhcHNlPzogQmFja29mZmljZURldGFpbENvbGxhcHNlQmVoYXZpb3I7XG4gIG1vYmlsZT86ICd2aXNpYmxlJyB8ICdjb2xsYXBzZWQnIHwgJ2hpZGRlbic7XG4gIGRlc2t0b3A/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdmdWxsV2lkdGgnO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVRvbmUgPVxuICB8ICduZXV0cmFsJ1xuICB8ICdpbmZvJ1xuICB8ICdzdWNjZXNzJ1xuICB8ICd3YXJuaW5nJ1xuICB8ICdkYW5nZXInO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQWN0aW9uVG9uZSA9ICduZXV0cmFsJyB8ICdwcmltYXJ5JyB8ICdkYW5nZXInO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGVuc2l0eSA9ICdjb21wYWN0JyB8ICdjb21mb3J0YWJsZSc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VTZW1hbnRpY0RldGFpbFBsYWNlbWVudCA9ICdtYWluJyB8ICdzaWRlJyB8ICdmdWxsV2lkdGgnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU2VtYW50aWNEZXRhaWxQcmlvcml0eSA9XG4gIHwgJ3ByaW1hcnknXG4gIHwgJ3NlY29uZGFyeSdcbiAgfCAnZGlhZ25vc3RpYyc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZW5kZXJhYmxlVmFsdWUgPVxuICB8IHN0cmluZ1xuICB8IG51bWJlclxuICB8IGJvb2xlYW5cbiAgfCBudWxsXG4gIHwgdW5kZWZpbmVkO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU3RhdHVzVmFsdWUgPSB7XG4gIHJlYWRvbmx5IGxhYmVsOiBzdHJpbmcgfCBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHRvbmU6IEJhY2tvZmZpY2VUb25lO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVNlbWFudGljQmxvY2tCYXNlID0ge1xuICByZWFkb25seSBpZD86IHN0cmluZztcbiAgcmVhZG9ubHkgdGl0bGU6IEkxOG5MYWJlbDtcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHBsYWNlbWVudD86IEJhY2tvZmZpY2VTZW1hbnRpY0RldGFpbFBsYWNlbWVudDtcbiAgcmVhZG9ubHkgcHJpb3JpdHk/OiBCYWNrb2ZmaWNlU2VtYW50aWNEZXRhaWxQcmlvcml0eTtcbiAgcmVhZG9ubHkgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VWYWx1ZVNwZWM8Tm9kZT4gPSB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsOiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICByZWFkb25seSB0b25lPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VUb25lIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgaHJlZj86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgY29weVZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcbiAgPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VTdW1tYXJ5SXRlbVNwZWM8Tm9kZT4gPSB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsOiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICByZWFkb25seSB0b25lPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VUb25lIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWxcbiAgPjtcbiAgcmVhZG9ubHkgaHJlZj86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VTdW1tYXJ5QmxvY2tTcGVjPE5vZGU+ID0gQmFja29mZmljZVNlbWFudGljQmxvY2tCYXNlICYge1xuICByZWFkb25seSBraW5kOiAnc3VtbWFyeSc7XG4gIHJlYWRvbmx5IGl0ZW1zOiByZWFkb25seSBCYWNrb2ZmaWNlU3VtbWFyeUl0ZW1TcGVjPE5vZGU+W107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlSGVyb1N1bW1hcnlCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU3VtbWFyeUJsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU1ldHJpY1NwZWM8Tm9kZT4gPSB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsOiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICByZWFkb25seSBmb3JtYXR0ZWRWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG4gID47XG4gIHJlYWRvbmx5IGhpbnQ/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICByZWFkb25seSB0b25lPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VUb25lIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgY29weVZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcbiAgPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VNZXRyaWNHcm91cEJsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgICByZWFkb25seSBraW5kOiAnbWV0cmljcyc7XG4gICAgcmVhZG9ubHkgZGVuc2l0eT86IEJhY2tvZmZpY2VEZW5zaXR5O1xuICAgIHJlYWRvbmx5IGl0ZW1zOiByZWFkb25seSBCYWNrb2ZmaWNlTWV0cmljU3BlYzxOb2RlPltdO1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTWV0cmljQmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZU1ldHJpY0dyb3VwQmxvY2tTcGVjPE5vZGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU3RhdGVTcGVjPE5vZGU+ID0ge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBsYWJlbDogSTE4bkxhYmVsO1xuICByZWFkb25seSB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VSZW5kZXJhYmxlVmFsdWU+O1xuICByZWFkb25seSBnZXREaXNwbGF5OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAoXG4gICAgICB2YWx1ZTogQmFja29mZmljZVJlbmRlcmFibGVWYWx1ZSxcbiAgICAgIG5vZGU6IE5vZGUsXG4gICAgKSA9PiB7XG4gICAgICByZWFkb25seSBsYWJlbDogc3RyaW5nIHwgSTE4bkxhYmVsO1xuICAgICAgcmVhZG9ubHkgdG9uZTogQmFja29mZmljZVRvbmU7XG4gICAgfVxuICA+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVN0YXRlR3JvdXBCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gICAgcmVhZG9ubHkga2luZDogJ3N0YXRlcyc7XG4gICAgcmVhZG9ubHkgc3RhdGVzOiByZWFkb25seSBCYWNrb2ZmaWNlU3RhdGVTcGVjPE5vZGU+W107XG4gIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VTdGF0ZUJsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VTdGF0ZUdyb3VwQmxvY2tTcGVjPE5vZGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQ29udGV4dEl0ZW1TcGVjPE5vZGU+ID0ge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBsYWJlbDogSTE4bkxhYmVsO1xuICByZWFkb25seSB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgcmVhZG9ubHkgaHJlZj86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgZW1wdHlMYWJlbD86IEkxOG5MYWJlbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VDb250ZXh0U3RhY2tCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gICAgcmVhZG9ubHkga2luZDogJ2NvbnRleHQnO1xuICAgIHJlYWRvbmx5IGl0ZW1zOiByZWFkb25seSBCYWNrb2ZmaWNlQ29udGV4dEl0ZW1TcGVjPE5vZGU+W107XG4gIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VDb250ZXh0QmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZUNvbnRleHRTdGFja0Jsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlbGF0aW9uVGlsZVNwZWM8Tm9kZT4gPSB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsOiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IGNvdW50PzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQ+O1xuICByZWFkb25seSBocmVmPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+O1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbFxuICA+O1xuICByZWFkb25seSB0b25lPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VUb25lIHwgdW5kZWZpbmVkPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZWxhdGlvbkdyb3VwQmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZVNlbWFudGljQmxvY2tCYXNlICYge1xuICAgIHJlYWRvbmx5IGtpbmQ6ICdyZWxhdGlvbnMnO1xuICAgIHJlYWRvbmx5IGl0ZW1zOiByZWFkb25seSBCYWNrb2ZmaWNlUmVsYXRpb25UaWxlU3BlYzxOb2RlPltdO1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVsYXRpb25CbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlUmVsYXRpb25Hcm91cEJsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVRpbWVsaW5lRXZlbnRTcGVjPE5vZGU+ID0ge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBsYWJlbDogSTE4bkxhYmVsO1xuICByZWFkb25seSB0aW1lc3RhbXA/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSB8IG51bGwgfCB1bmRlZmluZWRcbiAgPjtcbiAgcmVhZG9ubHkgc3RhdGU/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVN0YXR1c1ZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZFxuICA+O1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbFxuICA+O1xuICByZWFkb25seSBhY3Rvcj86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IHBheWxvYWQ/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gdW5rbm93bj47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVGltZWxpbmVCbG9ja1NwZWM8Tm9kZT4gPSBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gIHJlYWRvbmx5IGtpbmQ6ICd0aW1lbGluZSc7XG4gIHJlYWRvbmx5IGV2ZW50czogcmVhZG9ubHkgQmFja29mZmljZVRpbWVsaW5lRXZlbnRTcGVjPE5vZGU+W107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQXVkaXRJdGVtU3BlYzxOb2RlPiA9IHtcbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbGFiZWw6IEkxOG5MYWJlbDtcbiAgcmVhZG9ubHkgdGltZXN0YW1wPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bWJlciB8IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkXG4gID47XG4gIHJlYWRvbmx5IGFjdG9yPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgcmVhZG9ubHkgc291cmNlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBdWRpdEJsb2NrU3BlYzxOb2RlPiA9IEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgcmVhZG9ubHkga2luZDogJ2F1ZGl0JztcbiAgcmVhZG9ubHkgaXRlbXM6IHJlYWRvbmx5IEJhY2tvZmZpY2VBdWRpdEl0ZW1TcGVjPE5vZGU+W107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVmZXJlbmNlU3BlYzxOb2RlPiA9IHtcbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbGFiZWw6IEkxOG5MYWJlbDtcbiAgcmVhZG9ubHkgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IGhyZWY/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD47XG4gIHJlYWRvbmx5IGNvcHlWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG4gID47XG4gIHJlYWRvbmx5IHJlZktpbmQ/OlxuICAgIHwgJ2lkJ1xuICAgIHwgJ3NsdWcnXG4gICAgfCAncGF0aCdcbiAgICB8ICd1cmwnXG4gICAgfCAnaGFzaCdcbiAgICB8ICdleHRlcm5hbCdcbiAgICB8ICd0ZXh0Jztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZWZlcmVuY2VHcm91cEJsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgICByZWFkb25seSBraW5kOiAncmVmZXJlbmNlcyc7XG4gICAgcmVhZG9ubHkgcmVmZXJlbmNlczogcmVhZG9ubHkgQmFja29mZmljZVJlZmVyZW5jZVNwZWM8Tm9kZT5bXTtcbiAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBheWxvYWRGb3JtYXQgPSAnanNvbicgfCAnbWFya2Rvd24nIHwgJ3RleHQnIHwgJ2NvZGUnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUGF5bG9hZEJsb2NrU3BlYzxOb2RlPiA9IEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgcmVhZG9ubHkga2luZDogJ3BheWxvYWQnO1xuICByZWFkb25seSBmb3JtYXQ/OiBCYWNrb2ZmaWNlUGF5bG9hZEZvcm1hdDtcbiAgcmVhZG9ubHkgc3VtbWFyeT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gdW5rbm93bj47XG4gIHJlYWRvbmx5IGRlZmF1bHRDb2xsYXBzZWQ/OiBib29sZWFuO1xuICByZWFkb25seSBlbXB0eUxhYmVsPzogSTE4bkxhYmVsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUFjdGlvblJlc3VsdEJsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgICByZWFkb25seSBraW5kOiAnYWN0aW9uUmVzdWx0JztcbiAgICByZWFkb25seSBzdGF0dXM/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAgIChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlU3RhdHVzVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkXG4gICAgPjtcbiAgICByZWFkb25seSBtZXNzYWdlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgICByZWFkb25seSByZWZlcmVuY2VzPzogcmVhZG9ubHkgQmFja29mZmljZVJlZmVyZW5jZVNwZWM8Tm9kZT5bXTtcbiAgICByZWFkb25seSBwYXlsb2FkPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHVua25vd24+O1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVGVjaG5pY2FsRmFjdHNCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gICAgcmVhZG9ubHkga2luZDogJ3RlY2huaWNhbEZhY3RzJztcbiAgICByZWFkb25seSBmYWN0czogcmVhZG9ubHkgQmFja29mZmljZVZhbHVlU3BlYzxOb2RlPltdO1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU2VtYW50aWNEZXRhaWxCbG9ja1NwZWM8Tm9kZT4gPVxuICB8IEJhY2tvZmZpY2VTdW1tYXJ5QmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZU1ldHJpY0dyb3VwQmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZVN0YXRlR3JvdXBCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlQ29udGV4dFN0YWNrQmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZVJlbGF0aW9uR3JvdXBCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlVGltZWxpbmVCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlQXVkaXRCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlUmVmZXJlbmNlR3JvdXBCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlUGF5bG9hZEJsb2NrU3BlYzxOb2RlPlxuICB8IEJhY2tvZmZpY2VBY3Rpb25SZXN1bHRCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlVGVjaG5pY2FsRmFjdHNCbG9ja1NwZWM8Tm9kZT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VGbGFnVmFyaWFudCA9XG4gIHwgJ3llc05vJ1xuICB8ICdjYXBhYmlsaXR5J1xuICB8ICdlbmFibGVkJ1xuICB8ICdmYWlsdXJlJ1xuICB8ICdlbmNyeXB0ZWQnXG4gIHwgJ2xvY2tlZCdcbiAgfCAnZGVmYXVsdCdcbiAgfCAnYWdlbnRNYW5hZ2VkJ1xuICB8ICdkZXBsb3llZFByb2R1Y3Rpb24nXG4gIHwgJ2ZvcmNlZCc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxGaWVsZFNwZWM8Tm9kZT4gPVxuICB8IHtcbiAgICAgIHR5cGU6ICd0ZXh0JztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gICAgICBjb3B5VmFsdWU/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbD47XG4gICAgICBmdWxsV2lkdGg/OiBib29sZWFuO1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2JhZGdlJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gICAgICB0b25lPzpcbiAgICAgICAgfCBCYWNrb2ZmaWNlQmFkZ2VUb25lXG4gICAgICAgIHwgQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VCYWRnZVRvbmU+O1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2JhZGdlUm93JztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgaXRlbXM6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiByZWFkb25seSBCYWNrb2ZmaWNlQmFkZ2VJdGVtW10+O1xuICAgICAgZnVsbFdpZHRoPzogYm9vbGVhbjtcbiAgICAgIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdkYXRlVGltZSc7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgbnVsbD47XG4gICAgICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnbnVtYmVyJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBudW1iZXIgfCBudWxsPjtcbiAgICAgIGZvcm1hdD86IEJhY2tvZmZpY2VOdW1iZXJGb3JtYXQ7XG4gICAgICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnZmxhZyc7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gYm9vbGVhbiB8IG51bGw+O1xuICAgICAgdmFyaWFudDogQmFja29mZmljZUZsYWdWYXJpYW50O1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2VudGl0eVJlZic7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIGVudGl0eTogc3RyaW5nO1xuICAgICAgaWQ6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgIHZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGw+O1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2xpbmsnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIHNpemU6IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICBocmVmOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbD47XG4gICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bWJlciB8IG51bGw+O1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ3RhZ2dlZFZhbHVlJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgdGFnOiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAgICAgKG5vZGU6IE5vZGUpID0+IHtcbiAgICAgICAgICBsYWJlbDogc3RyaW5nIHwgSTE4bkxhYmVsO1xuICAgICAgICAgIHRvbmU/OiBCYWNrb2ZmaWNlQmFkZ2VUb25lO1xuICAgICAgICB9IHwgbnVsbFxuICAgICAgPjtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZUlubGluZVZhbHVlU3BlYz47XG4gICAgICBmdWxsV2lkdGg/OiBib29sZWFuO1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ3JlbGF0aW9uJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgcmVsYXRpb246IEJhY2tvZmZpY2VSdW50aW1lUmVsYXRpb25GaWx0ZXJTcGVjO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmc+O1xuICAgICAgY291bnQ/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gbnVtYmVyIHwgbnVsbD47XG4gICAgICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnY3VzdG9tJztcbiAgICAgIGxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIHJlbmRlcjogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHVua25vd24+O1xuICAgICAgZnVsbFdpZHRoPzogYm9vbGVhbjtcbiAgICAgIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbEhlYWRlckNvbmZpZzxOb2RlPiA9IHtcbiAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgdGl0bGVWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlLCB0OiBURnVuY3Rpb24pID0+IHN0cmluZyB8IG51bGw+O1xuICBzdWJ0aXRsZT86IEkxOG5MYWJlbDtcbiAgc3VidGl0bGVWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlLCB0OiBURnVuY3Rpb24pID0+IHN0cmluZyB8IG51bGxcbiAgPjtcbiAgc3VidGl0bGVJdGVtcz86IHJlYWRvbmx5IEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJTdWJ0aXRsZUl0ZW08Tm9kZT5bXTtcbiAgc3VidGl0bGVTZXBhcmF0b3I/OiBzdHJpbmc7XG4gIGlkPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGw+O1xuICBiYWRnZXM/OiByZWFkb25seSB7XG4gICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgICB0b25lPzpcbiAgICAgIHwgQmFja29mZmljZUJhZGdlVG9uZVxuICAgICAgfCBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZUJhZGdlVG9uZT47XG4gIH1bXTtcbiAgc3RhdHVzPzogQmFja29mZmljZURldGFpbEhlYWRlclN0YXR1c1NwZWM8Tm9kZT47XG4gIG1ldGE/OiByZWFkb25seSBCYWNrb2ZmaWNlRGV0YWlsSGVhZGVyTWV0YVNwZWM8Tm9kZT5bXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxTZWN0aW9uQ29uZmlnPE5vZGU+ID0ge1xuICBpZD86IHN0cmluZztcbiAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gIGZpZWxkczogcmVhZG9ubHkgQmFja29mZmljZURldGFpbEZpZWxkU3BlYzxOb2RlPltdO1xuICBwbGFjZW1lbnQ/OiBCYWNrb2ZmaWNlRGV0YWlsUGxhY2VtZW50O1xuICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUZpZWxkU2V0QmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZURldGFpbFNlY3Rpb25Db25maWc8Tm9kZT4gJiB7XG4gICAga2luZDogJ2ZpZWxkU2V0JztcbiAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFRhYmxlQmxvY2tTcGVjPE5vZGUsIFJvdz4gPSB7XG4gIGtpbmQ6ICd0YWJsZSc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xuICBjb2x1bW5zOiByZWFkb25seSBCYWNrb2ZmaWNlQ29sdW1uU3BlYzxSb3c+W107XG4gIHJvd3M6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiByZWFkb25seSBSb3dbXT47XG4gIHBsYWNlbWVudD86IEJhY2tvZmZpY2VEZXRhaWxQbGFjZW1lbnQ7XG4gIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVGFibGVCbG9ja1NwZWM8XG4gIE5vZGUsXG4gIFJvdyA9IHVua25vd24sXG4+ID0gQmFja29mZmljZURldGFpbFRhYmxlQmxvY2tTcGVjPE5vZGUsIFJvdz47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VDdXN0b21CbG9ja1NwZWM8Tm9kZT4gPSB7XG4gIGtpbmQ6ICdjdXN0b20nO1xuICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgcmVuZGVyOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gdW5rbm93bj47XG4gIHBsYWNlbWVudD86IEJhY2tvZmZpY2VEZXRhaWxQbGFjZW1lbnQ7XG4gIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsQmxvY2tTcGVjPE5vZGU+ID1cbiAgfCBCYWNrb2ZmaWNlU2VtYW50aWNEZXRhaWxCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlRGV0YWlsVGFibGVCbG9ja1NwZWM8Tm9kZSwgYW55PlxuICB8IEJhY2tvZmZpY2VDdXN0b21CbG9ja1NwZWM8Tm9kZT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxDb250ZW50U3BlYzxOb2RlPiA9XG4gIHwgQmFja29mZmljZUZpZWxkU2V0QmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZURldGFpbEJsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFZpZXdMYXlvdXRTcGVjID0ge1xuICByZWFkb25seSBkZW5zaXR5PzogQmFja29mZmljZURlbnNpdHk7XG4gIHJlYWRvbmx5IGNvbHVtbnM/OiAnYXV0bycgfCAnc2luZ2xlJyB8ICdtYWluU2lkZSc7XG4gIHJlYWRvbmx5IHRlY2huaWNhbERlZmF1bHRDb2xsYXBzZWQ/OiBib29sZWFuO1xuICByZWFkb25seSBzaWRlQ29sdW1uPzoge1xuICAgIHJlYWRvbmx5IHdpZHRoPzogJ25hcnJvdycgfCAnbWVkaXVtJyB8ICd3aWRlJztcbiAgICByZWFkb25seSBzdGlja3k/OiBib29sZWFuO1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VWaWV3U3BlYzxOb2RlPiA9IHtcbiAgcmVhZG9ubHkgdGl0bGU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IHN1YnRpdGxlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgcmVhZG9ubHkgZXllYnJvdz86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IHN0YXR1cz86IEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJTdGF0dXNTcGVjPE5vZGU+O1xuICByZWFkb25seSByZWZlcmVuY2VzPzogcmVhZG9ubHkgQmFja29mZmljZVJlZmVyZW5jZVNwZWM8Tm9kZT5bXTtcbiAgcmVhZG9ubHkgYWN0aW9ucz86IHJlYWRvbmx5IEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25TcGVjPE5vZGU+W107XG4gIHJlYWRvbmx5IGxheW91dD86IEJhY2tvZmZpY2VEZXRhaWxWaWV3TGF5b3V0U3BlYztcbiAgcmVhZG9ubHkgYmxvY2tzOiByZWFkb25seSBCYWNrb2ZmaWNlRGV0YWlsQ29udGVudFNwZWM8Tm9kZT5bXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQYWdlRGF0YUNvbnRleHQgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGRldGFpbElkPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VWYXJpYWJsZXNSZXN1bHQ8RGV0YWlsUXVlcnlWYXJpYWJsZXM+ID0ge1xuICB2YXJpYWJsZXM6IERldGFpbFF1ZXJ5VmFyaWFibGVzO1xuICBkZXRhaWxJZD86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxWYXJpYWJsZXM8RGV0YWlsUXVlcnlWYXJpYWJsZXM+ID1cbiAgQmFja29mZmljZURldGFpbFBhZ2VWYXJpYWJsZXNSZXN1bHQ8RGV0YWlsUXVlcnlWYXJpYWJsZXM+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTm9kZVF1ZXJ5UmVzcG9uc2U8Tm9kZVJlZj4gPSB7XG4gIHJlYWRvbmx5IG5vZGU/OiBOb2RlUmVmIHwgbnVsbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBbGlhc2VkTm9kZVF1ZXJ5UmVzcG9uc2U8XG4gIEFsaWFzIGV4dGVuZHMgc3RyaW5nLFxuICBOb2RlUmVmLFxuPiA9IHtcbiAgcmVhZG9ubHkgbm9kZT86XG4gICAgfCAoUmVhZG9ubHk8UGFydGlhbDxSZWNvcmQ8QWxpYXMsIE5vZGVSZWYgfCBudWxsPj4+ICYge1xuICAgICAgICByZWFkb25seSBfX3R5cGVuYW1lPzogc3RyaW5nO1xuICAgICAgfSlcbiAgICB8IG51bGw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQWxpYXNlZFBpY2tlclZhbHVlUmVzcG9uc2U8XG4gIEFsaWFzIGV4dGVuZHMgc3RyaW5nLFxuICBSb3dSZWYsXG4+ID0gQmFja29mZmljZUFsaWFzZWROb2RlUXVlcnlSZXNwb25zZTxBbGlhcywgUm93UmVmPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VEYXRhU3BlYzxcbiAgRGV0YWlsVmlldyxcbiAgRGV0YWlsRGF0YSA9IERldGFpbFZpZXcsXG4gIERldGFpbFF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIERldGFpbEZyYWdtZW50S2V5ID0gdW5rbm93bixcbiAgRGV0YWlsUXVlcnlWYXJpYWJsZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSB7XG4gIHF1ZXJ5OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgZnJhZ21lbnQ6IEdyYXBoUUxUYWdnZWROb2RlO1xuICByZXNvbHZlTm9kZTogKFxuICAgIGRhdGE6IERldGFpbFF1ZXJ5RGF0YSxcbiAgICBjb250ZXh0OiBCYWNrb2ZmaWNlRGV0YWlsUGFnZURhdGFDb250ZXh0LFxuICApID0+IERldGFpbEZyYWdtZW50S2V5IHwgbnVsbDtcbiAgdG9WaWV3OiBCaXZhcmlhbnRDYWxsYmFjazwoZGF0YTogRGV0YWlsRGF0YSkgPT4gRGV0YWlsVmlldz47XG4gIGJ1aWxkVmFyaWFibGVzPzogKGlucHV0OiB7XG4gICAgaWQ6IHN0cmluZztcbiAgfSkgPT4gQmFja29mZmljZURldGFpbFBhZ2VWYXJpYWJsZXNSZXN1bHQ8RGV0YWlsUXVlcnlWYXJpYWJsZXM+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFN0YW5kYXJkVGFiID1cbiAgfCAnb3ZlcnZpZXcnXG4gIHwgJ3JlbGF0aW9ucydcbiAgfCAnYWN0aXZpdHknXG4gIHwgJ2JpbGxpbmcnXG4gIHwgJ3RlY2huaWNhbCdcbiAgfCAncmF3JztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFRpdGxlTWV0YUl0ZW0gPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsPzogSTE4bkxhYmVsO1xuICB2YWx1ZTogc3RyaW5nO1xuICB0b25lPzogQmFja29mZmljZUJhZGdlVG9uZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRQcm9maWxlPERldGFpbFZpZXcgPSB1bmtub3duPiA9IHtcbiAgc3RhbmRhcmRUYWJzPzogcmVhZG9ubHkgQmFja29mZmljZURldGFpbFN0YW5kYXJkVGFiW107XG4gIHN1bW1hcnlGaWVsZHM/OiByZWFkb25seSBzdHJpbmdbXTtcbiAgc2NvcGVGaWVsZHM/OiByZWFkb25seSBzdHJpbmdbXTtcbiAgc3RhdHVzRmllbGRzPzogcmVhZG9ubHkgc3RyaW5nW107XG4gIHRlY2huaWNhbEdyb3Vwc0NvbGxhcHNlZD86IGJvb2xlYW47XG4gIHJhd0dyb3Vwc0hpZGRlbkZyb21PdmVydmlldz86IGJvb2xlYW47XG4gIHNpZGVSYWlsPzoge1xuICAgIGdyb3VwczogcmVhZG9ubHkgQmFja29mZmljZURldGFpbENvbnRlbnRHcm91cFtdO1xuICAgIHN0aWNreT86IGJvb2xlYW47XG4gIH07XG4gIHRpdGxlTWV0YT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBEZXRhaWxWaWV3KSA9PiByZWFkb25seSBCYWNrb2ZmaWNlRGV0YWlsVGl0bGVNZXRhSXRlbVtdXG4gID47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0U3BlYzxcbiAgTGF5b3V0VmlldyxcbiAgTGF5b3V0RGF0YSA9IExheW91dFZpZXcsXG4gIExheW91dFF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIExheW91dEZyYWdtZW50S2V5ID0gdW5rbm93bixcbiAgTGF5b3V0UXVlcnlWYXJpYWJsZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSBCYWNrb2ZmaWNlRGV0YWlsUGFnZURhdGFTcGVjPFxuICBMYXlvdXRWaWV3LFxuICBMYXlvdXREYXRhLFxuICBMYXlvdXRRdWVyeURhdGEsXG4gIExheW91dEZyYWdtZW50S2V5LFxuICBMYXlvdXRRdWVyeVZhcmlhYmxlc1xuPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VTcGVjPFxuICBEZXRhaWxWaWV3LFxuICBMYXlvdXRWaWV3ID0gRGV0YWlsVmlldyxcbiAgRGV0YWlsRGF0YSA9IERldGFpbFZpZXcsXG4gIERldGFpbFF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIERldGFpbEZyYWdtZW50S2V5ID0gdW5rbm93bixcbiAgRGV0YWlsUXVlcnlWYXJpYWJsZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSBCYWNrb2ZmaWNlRGV0YWlsUGFnZURhdGFTcGVjPFxuICBEZXRhaWxWaWV3LFxuICBEZXRhaWxEYXRhLFxuICBEZXRhaWxRdWVyeURhdGEsXG4gIERldGFpbEZyYWdtZW50S2V5LFxuICBEZXRhaWxRdWVyeVZhcmlhYmxlc1xuPiAmIHtcbiAgaWQ6IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICBjb250ZW50OiByZWFkb25seSBCYWNrb2ZmaWNlRGV0YWlsQ29udGVudFNwZWM8RGV0YWlsVmlldz5bXTtcbiAgYWN0aW9ucz86IHJlYWRvbmx5IEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25TcGVjPERldGFpbFZpZXc+W107XG4gIGlzVmlzaWJsZT86IEJpdmFyaWFudENhbGxiYWNrPChsYXlvdXRQYWdlOiBMYXlvdXRWaWV3KSA9PiBib29sZWFuPjtcbiAgcHJvZmlsZT86IEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRQcm9maWxlPERldGFpbFZpZXc+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBpY2tlclZhbHVlQ29uZmlnPFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIFZhbHVlUXVlcnlEYXRhID0gdW5rbm93bixcbj4gPSB7XG4gIHF1ZXJ5OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgcmVzb2x2ZVJvdzogKGRhdGE6IFZhbHVlUXVlcnlEYXRhKSA9PiBSb3dSZWYgfCBudWxsO1xuICB0b1JvdzogQml2YXJpYW50Q2FsbGJhY2s8KHJvd1JlZjogUm93UmVmKSA9PiBSb3dWaWV3Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlEZXRhaWxDb25maWc8XG4gIExheW91dERhdGEgPSBhbnksXG4gIExheW91dFZpZXcgPSBhbnksXG4gIE1haW5EYXRhID0gTGF5b3V0RGF0YSxcbiAgTWFpblZpZXcgPSBMYXlvdXRWaWV3LFxuICBTdWJEYXRhID0gTWFpbkRhdGEsXG4gIFN1YlZpZXcgPSBNYWluVmlldyxcbiAgTGF5b3V0UXVlcnlEYXRhID0gdW5rbm93bixcbiAgTWFpblF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIFN1YlF1ZXJ5RGF0YSA9IE1haW5RdWVyeURhdGEsXG4gIExheW91dEZyYWdtZW50S2V5ID0gdW5rbm93bixcbiAgTWFpbkZyYWdtZW50S2V5ID0gdW5rbm93bixcbiAgU3ViRnJhZ21lbnRLZXkgPSBNYWluRnJhZ21lbnRLZXksXG4gIExheW91dFF1ZXJ5VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIE1haW5RdWVyeVZhcmlhYmxlcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBTdWJRdWVyeVZhcmlhYmxlcyA9IE1haW5RdWVyeVZhcmlhYmxlcyxcbj4gPSB7XG4gIHRpdGxlOiBJMThuTGFiZWw7XG4gIGhlYWRlcjogQmFja29mZmljZURldGFpbEhlYWRlckNvbmZpZzxMYXlvdXRWaWV3PjtcbiAgcHJvZmlsZT86IEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRQcm9maWxlPExheW91dFZpZXc+O1xuICBsYXlvdXRQYWdlOiBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0U3BlYzxcbiAgICBMYXlvdXRWaWV3LFxuICAgIExheW91dERhdGEsXG4gICAgTGF5b3V0UXVlcnlEYXRhLFxuICAgIExheW91dEZyYWdtZW50S2V5LFxuICAgIExheW91dFF1ZXJ5VmFyaWFibGVzXG4gID47XG4gIG1haW5QYWdlOiBCYWNrb2ZmaWNlRGV0YWlsUGFnZVNwZWM8XG4gICAgTWFpblZpZXcsXG4gICAgTGF5b3V0VmlldyxcbiAgICBNYWluRGF0YSxcbiAgICBNYWluUXVlcnlEYXRhLFxuICAgIE1haW5GcmFnbWVudEtleSxcbiAgICBNYWluUXVlcnlWYXJpYWJsZXNcbiAgPjtcbiAgc3ViUGFnZXM/OiByZWFkb25seSBCYWNrb2ZmaWNlRGV0YWlsUGFnZVNwZWM8XG4gICAgU3ViVmlldyxcbiAgICBMYXlvdXRWaWV3LFxuICAgIFN1YkRhdGEsXG4gICAgU3ViUXVlcnlEYXRhLFxuICAgIFN1YkZyYWdtZW50S2V5LFxuICAgIFN1YlF1ZXJ5VmFyaWFibGVzXG4gID5bXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlQaWNrZXJDb25maWc8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIFBpY2tlckZyYWdtZW50RGF0YSA9IHVua25vd24sXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuICBWYWx1ZVF1ZXJ5RGF0YSA9IEJhY2tvZmZpY2VBbGlhc2VkUGlja2VyVmFsdWVSZXNwb25zZTxzdHJpbmcsIFJvd1JlZj4sXG4+ID0ge1xuICBxdWVyeTogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIGZyYWdtZW50OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgYnVpbGRRdWVyeVZhcmlhYmxlczogKFxuICAgIGlucHV0OiBCYWNrb2ZmaWNlUGlja2VyUXVlcnlJbnB1dDxUT3BlcmF0aW9uLCBUV2hlcmU+LFxuICApID0+IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddO1xuICB2YWx1ZT86IEJhY2tvZmZpY2VQaWNrZXJWYWx1ZUNvbmZpZzxSb3dSZWYsIFJvd1ZpZXcsIFZhbHVlUXVlcnlEYXRhPjtcbiAgZ2V0Q29ubmVjdGlvbjogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKGRhdGE6IFBpY2tlckZyYWdtZW50RGF0YSkgPT4gQmFja29mZmljZUNvbm5lY3Rpb248Um93UmVmPlxuICA+O1xuICB0b1JvdzogQml2YXJpYW50Q2FsbGJhY2s8KHJvd1JlZjogUm93UmVmKSA9PiBSb3dWaWV3PjtcbiAgZ2V0Um93SWQ6IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvd1ZpZXcpID0+IHN0cmluZz47XG4gIHNlYXJjaEVuYWJsZWQ/OiBib29sZWFuO1xuICBzZWFyY2hSZXF1aXJlZD86IGJvb2xlYW47XG4gIHNlYXJjaFBsYWNlaG9sZGVyPzogSTE4bkxhYmVsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVRvb2xFbnRpdHlDb25maWcgPSB7XG4gIGtpbmQ6ICd0b29sJztcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw/OiBJMThuTGFiZWw7XG4gIHJvdXRlPzogc3RyaW5nO1xuICBvcGVyYXRpb246IEJhY2tvZmZpY2VUb29sT3BlcmF0aW9uO1xuICBsaXN0PzogbmV2ZXI7XG4gIGRldGFpbD86IG5ldmVyO1xuICBwaWNrZXI/OiBuZXZlcjtcbiAgcm91dGVzPzogbmV2ZXI7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdEZhY2V0Q29uZmlnPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBMaXN0RnJhZ21lbnREYXRhLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbiAgVFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxUT3BlcmF0aW9uPixcbj4gPSB7XG4gIGtpbmQ6ICdsaXN0JztcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgbGlzdDogQmFja29mZmljZUVudGl0eUxpc3RDb25maWc8XG4gICAgVE9wZXJhdGlvbixcbiAgICBSb3dSZWYsXG4gICAgUm93VmlldyxcbiAgICBMaXN0RnJhZ21lbnREYXRhLFxuICAgIFRXaGVyZSxcbiAgICBUU29ydFxuICA+O1xuICBsaXN0QWN0aW9ucz86IHJlYWRvbmx5IEJhY2tvZmZpY2VMaXN0QWN0aW9uU3BlY1tdO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBpY2tlckZhY2V0Q29uZmlnPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBQaWNrZXJGcmFnbWVudERhdGEsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuICBWYWx1ZVF1ZXJ5RGF0YSA9IEJhY2tvZmZpY2VBbGlhc2VkUGlja2VyVmFsdWVSZXNwb25zZTxzdHJpbmcsIFJvd1JlZj4sXG4+ID0ge1xuICBraW5kOiAncGlja2VyJztcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgcGlja2VyOiBCYWNrb2ZmaWNlRW50aXR5UGlja2VyQ29uZmlnPFxuICAgIFRPcGVyYXRpb24sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgUGlja2VyRnJhZ21lbnREYXRhLFxuICAgIFRXaGVyZSxcbiAgICBWYWx1ZVF1ZXJ5RGF0YVxuICA+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VzU3BlYzxcbiAgTGF5b3V0VmlldyA9IHVua25vd24sXG4gIFBhZ2UgZXh0ZW5kcyBCYWNrb2ZmaWNlRGV0YWlsUGFnZVJvdXRlU3BlYzxMYXlvdXRWaWV3PiA9XG4gICAgQmFja29mZmljZURldGFpbFBhZ2VSb3V0ZVNwZWM8TGF5b3V0Vmlldz4sXG4+ID0ge1xuICB0aXRsZTogSTE4bkxhYmVsO1xuICBoZWFkZXI6IEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJDb25maWc8TGF5b3V0Vmlldz47XG4gIG1haW5QYWdlOiBQYWdlO1xuICBzdWJQYWdlcz86IHJlYWRvbmx5IFBhZ2VbXTtcbiAgZGVmYXVsdFBhZ2VJZDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbExheW91dEZhY2V0Q29uZmlnPFxuICBMYXlvdXREYXRhID0gYW55LFxuICBMYXlvdXRWaWV3ID0gYW55LFxuICBMYXlvdXRRdWVyeURhdGEgPSB1bmtub3duLFxuICBMYXlvdXRGcmFnbWVudEtleSA9IHVua25vd24sXG4gIExheW91dFF1ZXJ5VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+ID0ge1xuICBraW5kOiAnZGV0YWlsLWxheW91dCc7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIGhlYWRlcjogQmFja29mZmljZURldGFpbEhlYWRlckNvbmZpZzxMYXlvdXRWaWV3PjtcbiAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgbGF5b3V0UGFnZTogQmFja29mZmljZURldGFpbExheW91dFNwZWM8XG4gICAgTGF5b3V0VmlldyxcbiAgICBMYXlvdXREYXRhLFxuICAgIExheW91dFF1ZXJ5RGF0YSxcbiAgICBMYXlvdXRGcmFnbWVudEtleSxcbiAgICBMYXlvdXRRdWVyeVZhcmlhYmxlc1xuICA+O1xuICBwYWdlczogQmFja29mZmljZURldGFpbFBhZ2VzU3BlYzxMYXlvdXRWaWV3Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQYWdlRmFjZXRDb25maWc8XG4gIExheW91dFZpZXcgPSB1bmtub3duLFxuICBEZXRhaWxEYXRhID0gYW55LFxuICBEZXRhaWxWaWV3ID0gYW55LFxuICBEZXRhaWxRdWVyeURhdGEgPSB1bmtub3duLFxuICBEZXRhaWxGcmFnbWVudEtleSA9IHVua25vd24sXG4gIERldGFpbFF1ZXJ5VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+ID0ge1xuICBraW5kOiAnZGV0YWlsLXBhZ2UnO1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICB0aXRsZTogSTE4bkxhYmVsO1xuICBoZWFkZXI6IEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJDb25maWc8TGF5b3V0Vmlldz47XG4gIHBhZ2U6IEJhY2tvZmZpY2VEZXRhaWxQYWdlU3BlYzxcbiAgICBEZXRhaWxWaWV3LFxuICAgIExheW91dFZpZXcsXG4gICAgRGV0YWlsRGF0YSxcbiAgICBEZXRhaWxRdWVyeURhdGEsXG4gICAgRGV0YWlsRnJhZ21lbnRLZXksXG4gICAgRGV0YWlsUXVlcnlWYXJpYWJsZXNcbiAgPjtcbiAgcGFnZXM6IEJhY2tvZmZpY2VEZXRhaWxQYWdlc1NwZWM8TGF5b3V0Vmlldz47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVG9vbEZhY2V0Q29uZmlnID0ge1xuICBraW5kOiAndG9vbCc7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIHRvb2w6IEJhY2tvZmZpY2VUb29sRW50aXR5Q29uZmlnO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUZhY2V0Q29uZmlnQmFzZSA9XG4gIHwgQmFja29mZmljZUxpc3RGYWNldENvbmZpZ0Jhc2VcbiAgfCBCYWNrb2ZmaWNlUGlja2VyRmFjZXRDb25maWdCYXNlXG4gIHwgQmFja29mZmljZURldGFpbExheW91dEZhY2V0Q29uZmlnQmFzZVxuICB8IEJhY2tvZmZpY2VEZXRhaWxQYWdlRmFjZXRDb25maWdCYXNlXG4gIHwgQmFja29mZmljZVRvb2xGYWNldENvbmZpZztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxvYWRlZExpc3RGYWNldE1vZHVsZSA9IHtcbiAga2luZDogJ2xpc3QnO1xuICBpZDogc3RyaW5nO1xuICBjb25maWc6IEJhY2tvZmZpY2VMaXN0RmFjZXRDb25maWdCYXNlO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxvYWRlZFBpY2tlckZhY2V0TW9kdWxlID0ge1xuICBraW5kOiAncGlja2VyJztcbiAgaWQ6IHN0cmluZztcbiAgY29uZmlnOiBCYWNrb2ZmaWNlUGlja2VyRmFjZXRDb25maWdCYXNlO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxvYWRlZERldGFpbExheW91dEZhY2V0TW9kdWxlID0ge1xuICBraW5kOiAnZGV0YWlsLWxheW91dCc7XG4gIGlkOiBzdHJpbmc7XG4gIGNvbmZpZzogQmFja29mZmljZURldGFpbExheW91dEZhY2V0Q29uZmlnQmFzZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMb2FkZWREZXRhaWxQYWdlRmFjZXRNb2R1bGUgPSB7XG4gIGtpbmQ6ICdkZXRhaWwtcGFnZSc7XG4gIGlkOiBzdHJpbmc7XG4gIHBhZ2VJZDogc3RyaW5nO1xuICBjb25maWc6IEJhY2tvZmZpY2VEZXRhaWxQYWdlRmFjZXRDb25maWdCYXNlO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxvYWRlZFRvb2xGYWNldE1vZHVsZSA9IHtcbiAga2luZDogJ3Rvb2wnO1xuICBpZDogc3RyaW5nO1xuICBjb25maWc6IEJhY2tvZmZpY2VUb29sRmFjZXRDb25maWc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUnVudGltZU9wZXJhdGlvbiA9IE9wZXJhdGlvblR5cGUgJiB7XG4gIHZhcmlhYmxlczoge1xuICAgIFtrZXk6IHN0cmluZ106IHVua25vd247XG4gICAgd2hlcmU/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgc29ydD86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgY291bnQ/OiBudW1iZXI7XG4gICAgY3Vyc29yPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgfTtcbiAgcmVzcG9uc2U6IHVua25vd247XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUnVudGltZUxpc3RGYWNldENvbmZpZyA9IEJhY2tvZmZpY2VMaXN0RmFjZXRDb25maWc8XG4gIGFueSxcbiAgYW55LFxuICBhbnksXG4gIGFueSxcbiAgUmVjb3JkPHN0cmluZywgYW55PixcbiAgYW55XG4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUnVudGltZVBpY2tlckZhY2V0Q29uZmlnID0gQmFja29mZmljZVBpY2tlckZhY2V0Q29uZmlnPFxuICBhbnksXG4gIGFueSxcbiAgYW55LFxuICBhbnksXG4gIFJlY29yZDxzdHJpbmcsIGFueT5cbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMb2FkZWRFbnRpdHlGYWNldE1vZHVsZSA9XG4gIHwgQmFja29mZmljZUxvYWRlZExpc3RGYWNldE1vZHVsZVxuICB8IEJhY2tvZmZpY2VMb2FkZWRQaWNrZXJGYWNldE1vZHVsZVxuICB8IEJhY2tvZmZpY2VMb2FkZWREZXRhaWxMYXlvdXRGYWNldE1vZHVsZVxuICB8IEJhY2tvZmZpY2VMb2FkZWREZXRhaWxQYWdlRmFjZXRNb2R1bGVcbiAgfCBCYWNrb2ZmaWNlTG9hZGVkVG9vbEZhY2V0TW9kdWxlO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdEZhY2V0TG9hZGVyID1cbiAgKCkgPT4gUHJvbWlzZTxCYWNrb2ZmaWNlTG9hZGVkTGlzdEZhY2V0TW9kdWxlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBpY2tlckZhY2V0TG9hZGVyID1cbiAgKCkgPT4gUHJvbWlzZTxCYWNrb2ZmaWNlTG9hZGVkUGlja2VyRmFjZXRNb2R1bGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRMb2FkZXIgPVxuICAoKSA9PiBQcm9taXNlPEJhY2tvZmZpY2VMb2FkZWREZXRhaWxMYXlvdXRGYWNldE1vZHVsZT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQYWdlRmFjZXRMb2FkZXIgPSAoXG4gIHBhZ2VJZDogc3RyaW5nLFxuKSA9PiBQcm9taXNlPEJhY2tvZmZpY2VMb2FkZWREZXRhaWxQYWdlRmFjZXRNb2R1bGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVG9vbEZhY2V0TG9hZGVyID1cbiAgKCkgPT4gUHJvbWlzZTxCYWNrb2ZmaWNlTG9hZGVkVG9vbEZhY2V0TW9kdWxlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3REZXRhaWxGYWNldExvYWRlck1hcCA9IHtcbiAgbGlzdD86IEJhY2tvZmZpY2VMaXN0RmFjZXRMb2FkZXI7XG4gIHBpY2tlcj86IEJhY2tvZmZpY2VQaWNrZXJGYWNldExvYWRlcjtcbiAgZGV0YWlsTGF5b3V0OiBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRMb2FkZXI7XG4gIGRldGFpbFBhZ2U6IEJhY2tvZmZpY2VEZXRhaWxQYWdlRmFjZXRMb2FkZXI7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVG9vbEZhY2V0TG9hZGVyTWFwID0ge1xuICB0b29sOiBCYWNrb2ZmaWNlVG9vbEZhY2V0TG9hZGVyO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUZhY2V0TG9hZGVyTWFwID1cbiAgfCBCYWNrb2ZmaWNlTGlzdERldGFpbEZhY2V0TG9hZGVyTWFwXG4gIHwgQmFja29mZmljZVRvb2xGYWNldExvYWRlck1hcDtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbSA9IHtcbiAgaWQ6IHN0cmluZztcbiAga2luZDogQmFja29mZmljZUVudGl0eU1hbmlmZXN0S2luZDtcbiAgcm91dGVTZWdtZW50OiBzdHJpbmc7XG4gIGdyb3VwSWQ/OiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIHJvdXRlczogQmFja29mZmljZUVudGl0eVJvdXRlTWFuaWZlc3Q7XG4gIGhhc0xpc3Q6IGJvb2xlYW47XG4gIGRldGFpbFBhZ2VzPzogcmVhZG9ubHkgQmFja29mZmljZURldGFpbFBhZ2VNYW5pZmVzdEl0ZW1bXTtcbiAgZGVmYXVsdERldGFpbFBhZ2VJZD86IHN0cmluZztcbiAgZmFjZXRzOiBCYWNrb2ZmaWNlRW50aXR5RmFjZXRMb2FkZXJNYXA7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RNYXAgPSBSZWNvcmQ8XG4gIHN0cmluZyxcbiAgQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbVxuPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU1hbmlmZXN0RW50aXR5SWQ8VE1hbmlmZXN0PiA9IEV4dHJhY3Q8XG4gIGtleW9mIFRNYW5pZmVzdCxcbiAgc3RyaW5nXG4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTWFuaWZlc3RMaXN0RW50aXR5SWQ8VE1hbmlmZXN0PiA9IHtcbiAgW1RFbnRpdHlJZCBpbiBCYWNrb2ZmaWNlTWFuaWZlc3RFbnRpdHlJZDxUTWFuaWZlc3Q+XTogVE1hbmlmZXN0W1RFbnRpdHlJZF0gZXh0ZW5kcyB7XG4gICAga2luZDogJ2xpc3QtZGV0YWlsJztcbiAgICBoYXNMaXN0OiB0cnVlO1xuICB9XG4gICAgPyBURW50aXR5SWRcbiAgICA6IG5ldmVyO1xufVtCYWNrb2ZmaWNlTWFuaWZlc3RFbnRpdHlJZDxUTWFuaWZlc3Q+XSBleHRlbmRzIGluZmVyIFRFbnRpdHlJZFxuICA/IFtURW50aXR5SWRdIGV4dGVuZHMgW25ldmVyXVxuICAgID8gc3RyaW5nIGV4dGVuZHMgQmFja29mZmljZU1hbmlmZXN0RW50aXR5SWQ8VE1hbmlmZXN0PlxuICAgICAgPyBzdHJpbmdcbiAgICAgIDogbmV2ZXJcbiAgICA6IEV4dHJhY3Q8VEVudGl0eUlkLCBzdHJpbmc+XG4gIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VNYW5pZmVzdERldGFpbEVudGl0eUlkPFRNYW5pZmVzdD4gPSB7XG4gIFtURW50aXR5SWQgaW4gQmFja29mZmljZU1hbmlmZXN0RW50aXR5SWQ8VE1hbmlmZXN0Pl06IFRNYW5pZmVzdFtURW50aXR5SWRdIGV4dGVuZHMge1xuICAgIGtpbmQ6ICdsaXN0LWRldGFpbCc7XG4gIH1cbiAgICA/IFRFbnRpdHlJZFxuICAgIDogbmV2ZXI7XG59W0JhY2tvZmZpY2VNYW5pZmVzdEVudGl0eUlkPFRNYW5pZmVzdD5dIGV4dGVuZHMgaW5mZXIgVEVudGl0eUlkXG4gID8gW1RFbnRpdHlJZF0gZXh0ZW5kcyBbbmV2ZXJdXG4gICAgPyBzdHJpbmcgZXh0ZW5kcyBCYWNrb2ZmaWNlTWFuaWZlc3RFbnRpdHlJZDxUTWFuaWZlc3Q+XG4gICAgICA/IHN0cmluZ1xuICAgICAgOiBuZXZlclxuICAgIDogRXh0cmFjdDxURW50aXR5SWQsIHN0cmluZz5cbiAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU1hbmlmZXN0VG9vbElkPFRNYW5pZmVzdD4gPSB7XG4gIFtURW50aXR5SWQgaW4gQmFja29mZmljZU1hbmlmZXN0RW50aXR5SWQ8VE1hbmlmZXN0Pl06IFRNYW5pZmVzdFtURW50aXR5SWRdIGV4dGVuZHMge1xuICAgIGtpbmQ6ICd0b29sJztcbiAgfVxuICAgID8gVEVudGl0eUlkXG4gICAgOiBuZXZlcjtcbn1bQmFja29mZmljZU1hbmlmZXN0RW50aXR5SWQ8VE1hbmlmZXN0Pl0gZXh0ZW5kcyBpbmZlciBURW50aXR5SWRcbiAgPyBbVEVudGl0eUlkXSBleHRlbmRzIFtuZXZlcl1cbiAgICA/IHN0cmluZyBleHRlbmRzIEJhY2tvZmZpY2VNYW5pZmVzdEVudGl0eUlkPFRNYW5pZmVzdD5cbiAgICAgID8gc3RyaW5nXG4gICAgICA6IG5ldmVyXG4gICAgOiBFeHRyYWN0PFRFbnRpdHlJZCwgc3RyaW5nPlxuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTWFuaWZlc3REZXRhaWxQYWdlSWQ8XG4gIFRNYW5pZmVzdCxcbiAgVEVudGl0eUlkIGV4dGVuZHMgQmFja29mZmljZU1hbmlmZXN0RGV0YWlsRW50aXR5SWQ8VE1hbmlmZXN0Pixcbj4gPSBUTWFuaWZlc3RbVEVudGl0eUlkXSBleHRlbmRzIHtcbiAgZGV0YWlsUGFnZXM6IHJlYWRvbmx5IChpbmZlciBUUGFnZSlbXTtcbn1cbiAgPyBUUGFnZSBleHRlbmRzIHsgaWQ6IGluZmVyIFRQYWdlSWQgfVxuICAgID8gRXh0cmFjdDxUUGFnZUlkLCBzdHJpbmc+XG4gICAgOiBzdHJpbmdcbiAgOiBzdHJpbmc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZExpc3RGYWNldENvbmZpZzxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgTGlzdEZyYWdtZW50RGF0YSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4+ID0gQmFja29mZmljZUxpc3RGYWNldENvbmZpZzxcbiAgVE9wZXJhdGlvbixcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBMaXN0RnJhZ21lbnREYXRhLFxuICBUV2hlcmUsXG4gIFRTb3J0XG4+ICYge1xuICByb3V0ZXM6IEJhY2tvZmZpY2VFbnRpdHlSb3V0ZXM7XG4gIGxpc3RVcmxDb2RlYz86IEJhY2tvZmZpY2VMaXN0VXJsQ29kZWM8VFdoZXJlLCBUU29ydD47XG4gIGxpc3REZWZhdWx0cz86IEJhY2tvZmZpY2VMaXN0U3RhdGU8VFdoZXJlLCBUU29ydD47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWRQaWNrZXJGYWNldENvbmZpZzxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgUGlja2VyRnJhZ21lbnREYXRhLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbj4gPSBCYWNrb2ZmaWNlUGlja2VyRmFjZXRDb25maWc8XG4gIFRPcGVyYXRpb24sXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgUGlja2VyRnJhZ21lbnREYXRhLFxuICBUV2hlcmVcbj4gJiB7XG4gIHJvdXRlczogQmFja29mZmljZUVudGl0eVJvdXRlcztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbExheW91dEZhY2V0Q29uZmlnPFxuICBMYXlvdXRSZWYgPSBhbnksXG4gIExheW91dFZpZXcgPSBhbnksXG4gIExheW91dFF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIExheW91dEZyYWdtZW50UmVmID0gdW5rbm93bixcbiAgTGF5b3V0UXVlcnlWYXJpYWJsZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRDb25maWc8XG4gIExheW91dFJlZixcbiAgTGF5b3V0VmlldyxcbiAgTGF5b3V0UXVlcnlEYXRhLFxuICBMYXlvdXRGcmFnbWVudFJlZixcbiAgTGF5b3V0UXVlcnlWYXJpYWJsZXNcbj4gJiB7XG4gIHJvdXRlczogQmFja29mZmljZUVudGl0eVJvdXRlcztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbFBhZ2VGYWNldENvbmZpZzxcbiAgTGF5b3V0VmlldyA9IHVua25vd24sXG4gIERldGFpbFJlZiA9IGFueSxcbiAgRGV0YWlsVmlldyA9IGFueSxcbiAgRGV0YWlsUXVlcnlEYXRhID0gdW5rbm93bixcbiAgRGV0YWlsRnJhZ21lbnRSZWYgPSB1bmtub3duLFxuICBEZXRhaWxRdWVyeVZhcmlhYmxlcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPiA9IEJhY2tvZmZpY2VEZXRhaWxQYWdlRmFjZXRDb25maWc8XG4gIExheW91dFZpZXcsXG4gIERldGFpbFJlZixcbiAgRGV0YWlsVmlldyxcbiAgRGV0YWlsUXVlcnlEYXRhLFxuICBEZXRhaWxGcmFnbWVudFJlZixcbiAgRGV0YWlsUXVlcnlWYXJpYWJsZXNcbj4gJiB7XG4gIHJvdXRlczogQmFja29mZmljZUVudGl0eVJvdXRlcztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZFRvb2xGYWNldENvbmZpZyA9IEJhY2tvZmZpY2VUb29sRmFjZXRDb25maWcgJiB7XG4gIHJvdXRlOiBzdHJpbmc7XG4gIHJvdXRlczogQmFja29mZmljZUVudGl0eVJvdXRlcztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZEVudGl0eUZhY2V0Q29uZmlnQmFzZSA9XG4gIHwgQmFja29mZmljZVJlc29sdmVkTGlzdEZhY2V0Q29uZmlnQmFzZVxuICB8IEJhY2tvZmZpY2VSZXNvbHZlZFBpY2tlckZhY2V0Q29uZmlnQmFzZVxuICB8IEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbExheW91dEZhY2V0Q29uZmlnQmFzZVxuICB8IEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbFBhZ2VGYWNldENvbmZpZ0Jhc2VcbiAgfCBCYWNrb2ZmaWNlUmVzb2x2ZWRUb29sRmFjZXRDb25maWc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZExpc3RGYWNldE1vZHVsZSA9IHtcbiAga2luZDogJ2xpc3QnO1xuICBpZDogc3RyaW5nO1xuICBtYW5pZmVzdDogQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbTtcbiAgY29uZmlnOiBCYWNrb2ZmaWNlUmVzb2x2ZWRMaXN0RmFjZXRDb25maWdCYXNlO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkUGlja2VyRmFjZXRNb2R1bGUgPSB7XG4gIGtpbmQ6ICdwaWNrZXInO1xuICBpZDogc3RyaW5nO1xuICBtYW5pZmVzdDogQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbTtcbiAgY29uZmlnOiBCYWNrb2ZmaWNlUmVzb2x2ZWRQaWNrZXJGYWNldENvbmZpZ0Jhc2U7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxMYXlvdXRGYWNldE1vZHVsZSA9IHtcbiAga2luZDogJ2RldGFpbC1sYXlvdXQnO1xuICBpZDogc3RyaW5nO1xuICBtYW5pZmVzdDogQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbTtcbiAgY29uZmlnOiBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxMYXlvdXRGYWNldENvbmZpZ0Jhc2U7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxQYWdlRmFjZXRNb2R1bGUgPSB7XG4gIGtpbmQ6ICdkZXRhaWwtcGFnZSc7XG4gIGlkOiBzdHJpbmc7XG4gIHBhZ2VJZDogc3RyaW5nO1xuICBtYW5pZmVzdDogQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbTtcbiAgY29uZmlnOiBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxQYWdlRmFjZXRDb25maWdCYXNlO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkVG9vbEZhY2V0TW9kdWxlID0ge1xuICBraW5kOiAndG9vbCc7XG4gIGlkOiBzdHJpbmc7XG4gIG1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xuICBjb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZFRvb2xGYWNldENvbmZpZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZEVudGl0eUZhY2V0TW9kdWxlID1cbiAgfCBCYWNrb2ZmaWNlUmVzb2x2ZWRMaXN0RmFjZXRNb2R1bGVcbiAgfCBCYWNrb2ZmaWNlUmVzb2x2ZWRQaWNrZXJGYWNldE1vZHVsZVxuICB8IEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbExheW91dEZhY2V0TW9kdWxlXG4gIHwgQmFja29mZmljZVJlc29sdmVkRGV0YWlsUGFnZUZhY2V0TW9kdWxlXG4gIHwgQmFja29mZmljZVJlc29sdmVkVG9vbEZhY2V0TW9kdWxlO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdEZhY2V0Q29uZmlnQmFzZSA9IEJhY2tvZmZpY2VSdW50aW1lTGlzdEZhY2V0Q29uZmlnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUGlja2VyRmFjZXRDb25maWdCYXNlID1cbiAgQmFja29mZmljZVJ1bnRpbWVQaWNrZXJGYWNldENvbmZpZztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbExheW91dEZhY2V0Q29uZmlnQmFzZSA9XG4gIEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRGYWNldENvbmZpZzxhbnksIGFueSwgYW55LCBhbnksIGFueT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQYWdlRmFjZXRDb25maWdCYXNlID1cbiAgQmFja29mZmljZURldGFpbFBhZ2VGYWNldENvbmZpZzxhbnksIGFueSwgYW55LCBhbnksIGFueSwgYW55PjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkTGlzdEZhY2V0Q29uZmlnQmFzZSA9XG4gIEJhY2tvZmZpY2VSZXNvbHZlZExpc3RGYWNldENvbmZpZzxcbiAgICBhbnksXG4gICAgYW55LFxuICAgIGFueSxcbiAgICBhbnksXG4gICAgUmVjb3JkPHN0cmluZywgYW55PixcbiAgICBhbnlcbiAgPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkUGlja2VyRmFjZXRDb25maWdCYXNlID1cbiAgQmFja29mZmljZVJlc29sdmVkUGlja2VyRmFjZXRDb25maWc8YW55LCBhbnksIGFueSwgYW55LCBSZWNvcmQ8c3RyaW5nLCBhbnk+PjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkRGV0YWlsTGF5b3V0RmFjZXRDb25maWdCYXNlID1cbiAgQmFja29mZmljZVJlc29sdmVkRGV0YWlsTGF5b3V0RmFjZXRDb25maWc8YW55LCBhbnksIGFueSwgYW55LCBhbnk+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxQYWdlRmFjZXRDb25maWdCYXNlID1cbiAgQmFja29mZmljZVJlc29sdmVkRGV0YWlsUGFnZUZhY2V0Q29uZmlnPGFueSwgYW55LCBhbnksIGFueSwgYW55LCBhbnk+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUnVudGltZVJlc29sdmVkTGlzdEZhY2V0Q29uZmlnID1cbiAgQmFja29mZmljZVJlc29sdmVkTGlzdEZhY2V0Q29uZmlnQmFzZTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJ1bnRpbWVSZXNvbHZlZFBpY2tlckZhY2V0Q29uZmlnID1cbiAgQmFja29mZmljZVJlc29sdmVkUGlja2VyRmFjZXRDb25maWdCYXNlO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUnVudGltZUNvbm5lY3Rpb25MaXN0Q29uZmlnID1cbiAgQmFja29mZmljZUNvbm5lY3Rpb25MaXN0Q29uZmlnPGFueSwgYW55LCBhbnksIGFueSwgUmVjb3JkPHN0cmluZywgYW55PiwgYW55PjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJ1bnRpbWVSZWNvcmRMaXN0Q29uZmlnID0gQmFja29mZmljZVJlY29yZExpc3RDb25maWc8XG4gIGFueSxcbiAgYW55LFxuICBhbnksXG4gIGFueSxcbiAgUmVjb3JkPHN0cmluZywgYW55PixcbiAgYW55XG4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUnVudGltZUVudGl0eUxpc3RDb25maWcgPSBCYWNrb2ZmaWNlRW50aXR5TGlzdENvbmZpZzxcbiAgYW55LFxuICBhbnksXG4gIGFueSxcbiAgYW55LFxuICBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICBhbnlcbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSdW50aW1lRW50aXR5UGlja2VyQ29uZmlnID0gQmFja29mZmljZUVudGl0eVBpY2tlckNvbmZpZzxcbiAgYW55LFxuICBhbnksXG4gIGFueSxcbiAgYW55LFxuICBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5RmFjZXRNb2R1bGVDYWNoZUVudHJ5ID0ge1xuICBzdGF0dXM6IEJhY2tvZmZpY2VFbnRpdHlNb2R1bGVTdGF0dXM7XG4gIHByb21pc2U/OiBQcm9taXNlPEJhY2tvZmZpY2VSZXNvbHZlZEVudGl0eUZhY2V0TW9kdWxlPjtcbiAgbW9kdWxlPzogQmFja29mZmljZVJlc29sdmVkRW50aXR5RmFjZXRNb2R1bGU7XG4gIGVycm9yPzogRXJyb3I7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVG9vbFZhcmlhYmxlc0NvbnRleHQgPSB7XG4gIHNjb3BlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgcnVuOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNsYXNzIEJhY2tvZmZpY2VUb29sVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBwdWJsaWMgbGFiZWw6IEkxOG5MYWJlbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IobGFiZWw6IEkxOG5MYWJlbCkge1xuICAgIHN1cGVyKCdCYWNrb2ZmaWNlIHRvb2wgdmFsaWRhdGlvbiBlcnJvcicpO1xuICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVG9vbE9wZXJhdGlvbiA9IHtcbiAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgc3VidGl0bGU/OiBJMThuTGFiZWw7XG4gIGlucHV0VHlwZVNETD86IHN0cmluZztcbiAgcXVlcnk6IEdyYXBoUUxUYWdnZWROb2RlO1xuICBpbnB1dHM/OiByZWFkb25seSBCYWNrb2ZmaWNlVG9vbElucHV0U3BlY1tdO1xuICBvdXRwdXRzPzogcmVhZG9ubHkgQmFja29mZmljZVRvb2xPdXRwdXRTcGVjW107XG4gIHJlbmRlcj86IChkYXRhOiB1bmtub3duKSA9PiB1bmtub3duO1xuICBzaG93UHJvamVjdFBpY2tlcj86IGJvb2xlYW47XG4gIGJ1aWxkVmFyaWFibGVzPzogKFxuICAgIGlucHV0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICBjb250ZXh0OiBCYWNrb2ZmaWNlVG9vbFZhcmlhYmxlc0NvbnRleHQsXG4gICkgPT4gUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVG9vbElucHV0U3BlYyA9XG4gIHwge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGtpbmQ6ICd0ZXh0JztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBwbGFjZWhvbGRlcj86IEkxOG5MYWJlbDtcbiAgICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGtpbmQ6ICdqc29uJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBwbGFjZWhvbGRlcj86IEkxOG5MYWJlbDtcbiAgICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGtpbmQ6ICdlbnVtJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBvcHRpb25zOiByZWFkb25seSB7IHZhbHVlOiBzdHJpbmc7IGxhYmVsOiBJMThuTGFiZWwgfVtdO1xuICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAga2luZDogJ2Jvb2xlYW4nO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIGRlZmF1bHRWYWx1ZT86IGJvb2xlYW47XG4gICAgfVxuICB8IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBraW5kOiAnZW50aXR5SWQnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIGVudGl0eTogc3RyaW5nO1xuICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb29sT3V0cHV0U3BlYyA9XG4gIHwge1xuICAgICAga2luZDogJ3RhYmxlJztcbiAgICAgIGxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gICAgICBjb2x1bW5zOiByZWFkb25seSBCYWNrb2ZmaWNlQ29sdW1uU3BlY1tdO1xuICAgICAgcm93czogKGRhdGE6IHVua25vd24pID0+IHJlYWRvbmx5IHVua25vd25bXTtcbiAgICB9XG4gIHwge1xuICAgICAga2luZDogJ2NvZGUnO1xuICAgICAgbGFiZWw/OiBJMThuTGFiZWw7XG4gICAgICBkZXNjcmlwdGlvbj86IEkxOG5MYWJlbDtcbiAgICAgIHZhbHVlOiAoZGF0YTogdW5rbm93bikgPT4gc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICBraW5kOiAnanNvbic7XG4gICAgICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgICAgIGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xuICAgICAgdmFsdWU6IChkYXRhOiB1bmtub3duKSA9PiB1bmtub3duO1xuICAgIH1cbiAgfCB7XG4gICAgICBraW5kOiAna2V5VmFsdWUnO1xuICAgICAgbGFiZWw/OiBJMThuTGFiZWw7XG4gICAgICBkZXNjcmlwdGlvbj86IEkxOG5MYWJlbDtcbiAgICAgIGl0ZW1zOiByZWFkb25seSB7XG4gICAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICAgIHZhbHVlOiAoZGF0YTogdW5rbm93bikgPT4gQmFja29mZmljZVZhbHVlTGFiZWw7XG4gICAgICB9W107XG4gICAgfVxuICB8IHtcbiAgICAgIGtpbmQ6ICdwYXlsb2FkJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBkZXNjcmlwdGlvbj86IEkxOG5MYWJlbDtcbiAgICAgIHZhbHVlOiAoZGF0YTogdW5rbm93bikgPT4gdW5rbm93bjtcbiAgICAgIGZvcm1hdD86ICdtYXJrZG93bicgfCAnanNvbicgfCAndGV4dCc7XG4gICAgfVxuICB8IHtcbiAgICAgIGtpbmQ6ICdjdXN0b20nO1xuICAgICAgbGFiZWw/OiBJMThuTGFiZWw7XG4gICAgICByZW5kZXI6IChkYXRhOiB1bmtub3duKSA9PiB1bmtub3duO1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VDb25uZWN0aW9uPFJvdz4gPSB7XG4gIGVkZ2VzOiByZWFkb25seSB7IG5vZGU6IFJvdyB9W107XG4gIHRvdGFsQ291bnQ/OiBudW1iZXIgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3REZWZhdWx0czxXaGVyZSwgU29ydCBleHRlbmRzIHN0cmluZz4gPSB7XG4gIHdoZXJlOiBXaGVyZSB8IG51bGw7XG4gIHNvcnQ6IFNvcnQgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVByZXBhcmVkTGlzdFJvdXRlID0ge1xuICBlbnRpdHlJZDogc3RyaW5nO1xuICBlbnRpdHlNYW5pZmVzdDogQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbTtcbiAgZW50aXR5Q29uZmlnOiBCYWNrb2ZmaWNlUmVzb2x2ZWRMaXN0RmFjZXRDb25maWdCYXNlO1xuICBxdWVyeTogUHJlbG9hZGVkUXVlcnk8T3BlcmF0aW9uVHlwZT47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUHJlcGFyZWREZXRhaWxMYXlvdXRSb3V0ZSA9IHtcbiAgZW50aXR5SWQ6IHN0cmluZztcbiAgZW50aXR5TWFuaWZlc3Q6IEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEl0ZW07XG4gIGVudGl0eUNvbmZpZzogQmFja29mZmljZVJlc29sdmVkRGV0YWlsTGF5b3V0RmFjZXRDb25maWdCYXNlO1xuICBsYXlvdXRRdWVyeTogUHJlbG9hZGVkUXVlcnk8T3BlcmF0aW9uVHlwZT47XG4gIGlkOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUHJlcGFyZWREZXRhaWxQYWdlUm91dGUgPSB7XG4gIGVudGl0eUlkOiBzdHJpbmc7XG4gIGVudGl0eU1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xuICBlbnRpdHlDb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbExheW91dEZhY2V0Q29uZmlnQmFzZTtcbiAgaWQ6IHN0cmluZztcbiAgcGFnZUlkOiBzdHJpbmc7XG4gIHBhZ2VQYXRoOiBzdHJpbmc7XG4gIHBhZ2VDb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbFBhZ2VGYWNldENvbmZpZ0Jhc2U7XG4gIHBhZ2VRdWVyeTogUHJlbG9hZGVkUXVlcnk8T3BlcmF0aW9uVHlwZT47XG4gIGRldGFpbElkPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVByZXBhcmVkVG9vbFJvdXRlID0ge1xuICBlbnRpdHlJZDogc3RyaW5nO1xuICBlbnRpdHlNYW5pZmVzdDogQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbTtcbiAgZW50aXR5Q29uZmlnOiBCYWNrb2ZmaWNlUmVzb2x2ZWRUb29sRmFjZXRDb25maWc7XG59O1xuIl19
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNi9EQSxNQUFNLE9BQU8sNkJBQThCLFNBQVEsS0FBSztJQUMvQyxLQUFLLENBQVk7SUFFeEIsWUFBbUIsS0FBZ0I7UUFDakMsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7IFRGdW5jdGlvbiB9IGZyb20gJ2kxOG5leHQnO1xuaW1wb3J0IHR5cGUgeyBQcmVsb2FkZWRRdWVyeSB9IGZyb20gJ3JlYWN0LXJlbGF5JztcbmltcG9ydCB0eXBlIHtcbiAgR3JhcGhRTFRhZ2dlZE5vZGUsXG4gIE9wZXJhdGlvblR5cGUsXG4gIFJlY29yZFNvdXJjZVNlbGVjdG9yUHJveHksXG59IGZyb20gJ3JlbGF5LXJ1bnRpbWUnO1xuaW1wb3J0IHR5cGUgeyBCQUNLT0ZGSUNFX0VOVElUWV9GQUNFVF9LSU5EUyB9IGZyb20gJy4vY29uc3RhbnRzLmpzJztcblxuZXhwb3J0IHR5cGUgSTE4bkxhYmVsID0gKHQ6IFRGdW5jdGlvbikgPT4gc3RyaW5nO1xuXG50eXBlIEJpdmFyaWFudENhbGxiYWNrPEZuPiA9IEZuIGV4dGVuZHMgKC4uLmFyZ3M6IGluZmVyIEEpID0+IGluZmVyIFJcbiAgPyB7IGJpdmFyaWFuY2VIYWNrOiAoLi4uYXJnczogQSkgPT4gUiB9WydiaXZhcmlhbmNlSGFjayddXG4gIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBY3Rpb25SZW5kZXJOb2RlID0gRXhjbHVkZTxSZWFjdE5vZGUsIFByb21pc2U8dW5rbm93bj4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVmFsdWVMYWJlbCA9IHN0cmluZyB8IG51bWJlciB8IG51bGwgfCBJMThuTGFiZWw7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VCYWRnZVRvbmUgPVxuICB8ICduZXV0cmFsJ1xuICB8ICdpbmZvJ1xuICB8ICdzdWNjZXNzJ1xuICB8ICd3YXJuaW5nJ1xuICB8ICdkYW5nZXInO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTnVtYmVyRm9ybWF0ID0gJ251bWJlcicgfCAnY3VycmVuY3knIHwgJ3BlcmNlbnQnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRmllbGRTaXplID1cbiAgfCAneHMnXG4gIHwgJ3MnXG4gIHwgJ3N0YXR1c0FjdGlvbidcbiAgfCAnbSdcbiAgfCAnbCdcbiAgfCAneGwnXG4gIHwgJ2ZsdWlkJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUFjdGlvblZhcmlhbnQgPVxuICB8ICdwcmltYXJ5J1xuICB8ICdzZWNvbmRhcnknXG4gIHwgJ3RleHQnXG4gIHwgJ3N1Y2Nlc3MnXG4gIHwgJ2RhbmdlcidcbiAgfCAnYnJhbmQnXG4gIHwgJ2JyYW5kR2hvc3QnXG4gIHwgJ3RhYidcbiAgfCAnaWNvbic7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBY3Rpb25TaXplID0gJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUFjdGlvblRvYXN0Vmlld1NwZWM8XG4gIE5vZGUgPSB1bmtub3duLFxuICBSZXNwb25zZSA9IHVua25vd24sXG4+ID0ge1xuICBlbnRpdHlJZDogc3RyaW5nO1xuICBnZXRUYXJnZXRJZDogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKHJlc3BvbnNlOiBSZXNwb25zZSwgbm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbFxuICA+O1xuICBsYWJlbD86IEkxOG5MYWJlbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBY3Rpb25Ub2FzdFNwZWM8Tm9kZSA9IHVua25vd24sIFJlc3BvbnNlID0gdW5rbm93bj4gPSB7XG4gIHRpdGxlOiBJMThuTGFiZWw7XG4gIG1lc3NhZ2U/OiBJMThuTGFiZWw7XG4gIHZpZXc/OiBCYWNrb2ZmaWNlQWN0aW9uVG9hc3RWaWV3U3BlYzxOb2RlLCBSZXNwb25zZT47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uQmFzZTxOb2RlPiA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgYXJpYUxhYmVsPzogSTE4bkxhYmVsO1xuICB2YXJpYW50PzogQmFja29mZmljZUFjdGlvblZhcmlhbnQ7XG4gIHNpemU/OiBCYWNrb2ZmaWNlQWN0aW9uU2l6ZTtcbiAgaXNWaXNpYmxlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IGJvb2xlYW4+O1xuICBpc0Rpc2FibGVkPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IGJvb2xlYW4+O1xufTtcblxudHlwZSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkQmFzZSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkU3BlYyA9XG4gIHwgKEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25Gb3JtRmllbGRCYXNlICYge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGtpbmQ6ICd0ZXh0JztcbiAgICAgIHBsYWNlaG9sZGVyPzogSTE4bkxhYmVsO1xuICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25Gb3JtRmllbGRCYXNlICYge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGtpbmQ6ICd0ZXh0YXJlYSc7XG4gICAgICBwbGFjZWhvbGRlcj86IEkxOG5MYWJlbDtcbiAgICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcbiAgICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICAgIHJvd3M/OiBudW1iZXI7XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUVudGl0eUFjdGlvbkZvcm1GaWVsZEJhc2UgJiB7XG4gICAgICBraW5kOiAnbnVtYmVyJztcbiAgICAgIHBsYWNlaG9sZGVyPzogSTE4bkxhYmVsO1xuICAgICAgZGVmYXVsdFZhbHVlPzogbnVtYmVyO1xuICAgICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25Gb3JtRmllbGRCYXNlICYge1xuICAgICAga2luZDogJ2pzb24nO1xuICAgICAgcGxhY2Vob2xkZXI/OiBJMThuTGFiZWw7XG4gICAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gICAgICByZXF1aXJlZD86IGJvb2xlYW47XG4gICAgICBqc29uVHlwZT86ICdvYmplY3QnIHwgJ2FycmF5JyB8ICdhbnknO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25Gb3JtRmllbGRCYXNlICYge1xuICAgICAga2luZDogJ2VudW0nO1xuICAgICAgb3B0aW9uczogcmVhZG9ubHkgeyB2YWx1ZTogc3RyaW5nOyBsYWJlbDogSTE4bkxhYmVsIH1bXTtcbiAgICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcbiAgICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkQmFzZSAmIHtcbiAgICAgIGtpbmQ6ICdib29sZWFuJztcbiAgICAgIGRlZmF1bHRWYWx1ZT86IGJvb2xlYW47XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUVudGl0eUFjdGlvbkZvcm1GaWVsZEJhc2UgJiB7XG4gICAgICBraW5kOiAnZW50aXR5SWQnO1xuICAgICAgZW50aXR5OiBzdHJpbmc7XG4gICAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gICAgICByZXF1aXJlZD86IGJvb2xlYW47XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUVudGl0eUFjdGlvbkZvcm1GaWVsZEJhc2UgJiB7XG4gICAgICBraW5kOiAnbXVsdGlFbnVtJztcbiAgICAgIG9wdGlvbnM6IHJlYWRvbmx5IHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IEkxOG5MYWJlbCB9W107XG4gICAgICBkZWZhdWx0VmFsdWU/OiByZWFkb25seSBzdHJpbmdbXTtcbiAgICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICB9KTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUFjdGlvblJlc3VsdFNwZWM8Tm9kZSwgUmVzcG9uc2UgPSB1bmtub3duPiA9IHtcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgZ2V0VmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChyZXNwb25zZTogUmVzcG9uc2UsIG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGxcbiAgPjtcbiAgcmVuZGVyPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKHJlc3BvbnNlOiBSZXNwb25zZSwgbm9kZTogTm9kZSkgPT4gQmFja29mZmljZUFjdGlvblJlbmRlck5vZGUgfCBudWxsXG4gID47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uVXBkYXRlcjxOb2RlPiA9IEJpdmFyaWFudENhbGxiYWNrPFxuICAoc3RvcmU6IFJlY29yZFNvdXJjZVNlbGVjdG9yUHJveHksIG5vZGU6IE5vZGUpID0+IHZvaWRcbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlNdXRhdGlvbkFjdGlvblNwZWM8XG4gIE5vZGUsXG4gIFZhcmlhYmxlcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBSZXNwb25zZSA9IHVua25vd24sXG4+ID0gQmFja29mZmljZUVudGl0eUFjdGlvbkJhc2U8Tm9kZT4gJiB7XG4gIGtpbmQ6ICdtdXRhdGlvbic7XG4gIG11dGF0aW9uOiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgZ2V0VmFyaWFibGVzOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gVmFyaWFibGVzPjtcbiAgdXBkYXRlcj86IEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25VcGRhdGVyPE5vZGU+O1xuICBtYXBFcnJvclJlYXNvbj86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChyZWFzb246IHN0cmluZywgbm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWxcbiAgPjtcbiAgb25Db21wbGV0ZWQ/OiBCaXZhcmlhbnRDYWxsYmFjazwocmVzcG9uc2U6IFJlc3BvbnNlLCBub2RlOiBOb2RlKSA9PiB2b2lkPjtcbiAgb25FcnJvcj86IEJpdmFyaWFudENhbGxiYWNrPChlcnJvcjogRXJyb3IsIG5vZGU6IE5vZGUpID0+IHZvaWQ+O1xuICB0b2FzdHM/OiB7XG4gICAgc3VjY2Vzcz86IEJhY2tvZmZpY2VBY3Rpb25Ub2FzdFNwZWM8Tm9kZSwgUmVzcG9uc2U+O1xuICAgIGVycm9yPzogQmFja29mZmljZUFjdGlvblRvYXN0U3BlYzxOb2RlLCBSZXNwb25zZT47XG4gIH07XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5Rm9ybU11dGF0aW9uQWN0aW9uU3BlYzxcbiAgTm9kZSxcbiAgVmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFJlc3BvbnNlID0gdW5rbm93bixcbj4gPSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uQmFzZTxOb2RlPiAmIHtcbiAga2luZDogJ2Zvcm1NdXRhdGlvbic7XG4gIG11dGF0aW9uOiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgZmllbGRzOiByZWFkb25seSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkU3BlY1tdO1xuICBnZXRWYXJpYWJsZXM6IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlLCB2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiBWYXJpYWJsZXNcbiAgPjtcbiAgdXBkYXRlcj86IEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25VcGRhdGVyPE5vZGU+O1xuICBnZXRJbml0aWFsVmFsdWVzPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IFJlY29yZDxzdHJpbmcsIHVua25vd24+PjtcbiAgbWFwRXJyb3JSZWFzb24/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAocmVhc29uOiBzdHJpbmcsIG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsXG4gID47XG4gIG9uQ29tcGxldGVkPzogQml2YXJpYW50Q2FsbGJhY2s8KHJlc3BvbnNlOiBSZXNwb25zZSwgbm9kZTogTm9kZSkgPT4gdm9pZD47XG4gIG9uRXJyb3I/OiBCaXZhcmlhbnRDYWxsYmFjazwoZXJyb3I6IEVycm9yLCBub2RlOiBOb2RlKSA9PiB2b2lkPjtcbiAgdG9hc3RzPzoge1xuICAgIHN1Y2Nlc3M/OiBCYWNrb2ZmaWNlQWN0aW9uVG9hc3RTcGVjPE5vZGUsIFJlc3BvbnNlPjtcbiAgICBlcnJvcj86IEJhY2tvZmZpY2VBY3Rpb25Ub2FzdFNwZWM8Tm9kZSwgUmVzcG9uc2U+O1xuICB9O1xuICByZXN1bHQ/OiBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uUmVzdWx0U3BlYzxOb2RlLCBSZXNwb25zZT47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5Um91dGVBY3Rpb25TcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZUVudGl0eUFjdGlvbkJhc2U8Tm9kZT4gJiB7XG4gICAga2luZDogJ3JvdXRlJztcbiAgICB0bzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZz47XG4gIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25TcGVjPE5vZGU+ID1cbiAgfCBCYWNrb2ZmaWNlRW50aXR5TXV0YXRpb25BY3Rpb25TcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZUVudGl0eUZvcm1NdXRhdGlvbkFjdGlvblNwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlRW50aXR5Um91dGVBY3Rpb25TcGVjPE5vZGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdEFjdGlvblNwZWMgPSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uU3BlYzxudWxsPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUtpbmQgPSAnbGlzdC1kZXRhaWwnIHwgJ3Rvb2wnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RLaW5kID0gJ2xpc3QtZGV0YWlsJyB8ICd0b29sJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUZhY2V0S2luZCA9XG4gICh0eXBlb2YgQkFDS09GRklDRV9FTlRJVFlfRkFDRVRfS0lORFMpW251bWJlcl07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlNb2R1bGVTdGF0dXMgPVxuICB8ICdpZGxlJ1xuICB8ICdsb2FkaW5nJ1xuICB8ICdsb2FkZWQnXG4gIHwgJ2Vycm9yJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUxvYWRNb2RlID0gJ2NhY2hlLWZpcnN0JyB8ICdyZWxvYWQnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQ29uZmlnQWNjZXNzS2luZCA9XG4gIHwgJ21hbmlmZXN0LW9ubHknXG4gIHwgJ2xvYWRlZC1jb25maWctcmVxdWlyZWQnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdFN0YXRlPFdoZXJlLCBTb3J0IGV4dGVuZHMgc3RyaW5nPiA9IHtcbiAgd2hlcmU6IFdoZXJlIHwgbnVsbDtcbiAgc29ydDogU29ydCB8IG51bGw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdFZhcmlhYmxlczxXaGVyZSwgU29ydCBleHRlbmRzIHN0cmluZz4gPSB7XG4gIHdoZXJlOiBXaGVyZSB8IG51bGw7XG4gIHNvcnQ6IFNvcnQgfCBudWxsO1xuICBjb3VudDogbnVtYmVyO1xuICBjdXJzb3I6IHN0cmluZyB8IG51bGw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlT3BlcmF0aW9uVmFyaWFibGVzPFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlPiA9XG4gIFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlT3BlcmF0aW9uUmVzcG9uc2U8VE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGU+ID1cbiAgVE9wZXJhdGlvblsncmVzcG9uc2UnXTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXSBleHRlbmRzIHtcbiAgICB3aGVyZT86IGluZmVyIFdoZXJlIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgfVxuICAgID8gRXh0cmFjdDxOb25OdWxsYWJsZTxXaGVyZT4sIFJlY29yZDxzdHJpbmcsIHVua25vd24+PlxuICAgIDogbmV2ZXIsXG4+ID0gVFdoZXJlO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRTb3J0ID0gVE9wZXJhdGlvblsndmFyaWFibGVzJ10gZXh0ZW5kcyB7XG4gICAgc29ydD86IGluZmVyIFNvcnQgfCBudWxsIHwgdW5kZWZpbmVkO1xuICB9XG4gICAgPyBFeHRyYWN0PE5vbk51bGxhYmxlPFNvcnQ+LCBzdHJpbmc+XG4gICAgOiBuZXZlcixcbj4gPSBFeHRyYWN0PFRTb3J0LCBzdHJpbmc+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGVyaXZlZE9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlPiA9XG4gIFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddIGV4dGVuZHMge1xuICAgIHdoZXJlPzogaW5mZXIgV2hlcmUgfCBudWxsIHwgdW5kZWZpbmVkO1xuICB9XG4gICAgPyBFeHRyYWN0PE5vbk51bGxhYmxlPFdoZXJlPiwgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+XG4gICAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURlcml2ZWRPcGVyYXRpb25Tb3J0PFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlPiA9XG4gIFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddIGV4dGVuZHMge1xuICAgIHNvcnQ/OiBpbmZlciBTb3J0IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgfVxuICAgID8gRXh0cmFjdDxOb25OdWxsYWJsZTxTb3J0Piwgc3RyaW5nPlxuICAgIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0UXVlcnlJbnB1dDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuICBUU29ydCBleHRlbmRzIHN0cmluZyA9IEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFRPcGVyYXRpb24+LFxuPiA9IHtcbiAgd2hlcmU6IFRXaGVyZSB8IG51bGw7XG4gIHNvcnQ6IFRTb3J0IHwgbnVsbDtcbiAgY291bnQ6IG51bWJlcjtcbiAgY3Vyc29yOiBzdHJpbmcgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBpY2tlclNjb3BlPFdoZXJlPiA9IFBhcnRpYWw8e1xuICBbS2V5IGluIGtleW9mIFdoZXJlXTogRXh0cmFjdDxOb25OdWxsYWJsZTxXaGVyZVtLZXldPiwgc3RyaW5nPjtcbn0+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUGlja2VyUXVlcnlJbnB1dDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuPiA9IHtcbiAgc2VhcmNoOiBzdHJpbmc7XG4gIHNjb3BlPzogQmFja29mZmljZVBpY2tlclNjb3BlPFRXaGVyZT47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVsYXRpb25GaWx0ZXJTcGVjPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4+ID0ge1xuICB0YXJnZXQ6IHN0cmluZztcbiAgZmlsdGVySWQ/OiBzdHJpbmc7XG4gIHdoZXJlS2V5OiBFeHRyYWN0PGtleW9mIFRXaGVyZSwgc3RyaW5nPjtcbiAgcGF0aD86IHJlYWRvbmx5IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJ1bnRpbWVSZWxhdGlvbkZpbHRlclNwZWMgPSB7XG4gIHRhcmdldDogc3RyaW5nO1xuICBmaWx0ZXJJZD86IHN0cmluZztcbiAgd2hlcmVLZXk6IHN0cmluZztcbiAgcGF0aD86IHJlYWRvbmx5IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlbGF0aW9uQ291bnRTcGVjPFxuICBOb2RlLFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSA9IEJhY2tvZmZpY2VSZWxhdGlvbkNvdW50UnVudGltZU9wZXJhdGlvbixcbj4gPSB7XG4gIHF1ZXJ5OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgZ2V0VmFyaWFibGVzOiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogTm9kZSwgcmVsYXRpb25WYWx1ZTogc3RyaW5nKSA9PiBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXVxuICA+O1xuICBnZXRDb3VudDogQml2YXJpYW50Q2FsbGJhY2s8KGRhdGE6IFRPcGVyYXRpb25bJ3Jlc3BvbnNlJ10pID0+IG51bWJlciB8IG51bGw+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eVJvdXRlcyA9IHtcbiAgbGlzdDogc3RyaW5nO1xuICBkZXRhaWw6IChpZDogc3RyaW5nKSA9PiBzdHJpbmc7XG4gIGRldGFpbFBhZ2U6IChpZDogc3RyaW5nLCBwYWdlSWQ6IHN0cmluZykgPT4gc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eVJvdXRlTWFuaWZlc3QgPSB7XG4gIGxpc3Q6IHN0cmluZztcbiAgZGV0YWlsOiAoaWQ6IHN0cmluZykgPT4gc3RyaW5nO1xuICBkZXRhaWxQYWdlOiAoaWQ6IHN0cmluZywgcGFnZUlkOiBzdHJpbmcpID0+IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQYWdlTWFuaWZlc3RJdGVtID0ge1xuICBpZDogc3RyaW5nO1xuICBwYXRoU2VnbWVudDogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICBpc0RlZmF1bHQ/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VSb3V0ZVNwZWM8TGF5b3V0VmlldyA9IHVua25vd24+ID0ge1xuICBpZDogc3RyaW5nO1xuICBwYXRoOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIGlzVmlzaWJsZT86IEJpdmFyaWFudENhbGxiYWNrPChsYXlvdXRQYWdlOiBMYXlvdXRWaWV3KSA9PiBib29sZWFuPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRDb25maWcgPSB7XG4gIHRpdGxlOiBJMThuTGFiZWw7XG4gIHN1YnRpdGxlPzogSTE4bkxhYmVsO1xuICBxdWVyeT86IEdyYXBoUUxUYWdnZWROb2RlO1xuICB3aWRnZXRzOiByZWFkb25seSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0W107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0U2l6ZSA9ICdzJyB8ICdtJyB8ICdsJyB8ICd4bCcgfCAnZnVsbCc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRTcGFuID0gMyB8IDQgfCA2IHwgOCB8IDEyO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0VGFibGV0U3BhbiA9IDMgfCA2O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0Wm9uZSA9XG4gIHwgJ3N1bW1hcnknXG4gIHwgJ21haW4nXG4gIHwgJ2FzaWRlJ1xuICB8ICdzZWNvbmRhcnknXG4gIHwgJ2Z1bGwnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0TGF5b3V0ID0ge1xuICB6b25lPzogQmFja29mZmljZURhc2hib2FyZFdpZGdldFpvbmU7XG4gIHNwYW4/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0U3BhbjtcbiAgdGFibGV0U3Bhbj86IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRUYWJsZXRTcGFuO1xuICBvcmRlcj86IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRQcmlvcml0eSA9XG4gIHwgJ2NyaXRpY2FsJ1xuICB8ICdoaWdoJ1xuICB8ICdub3JtYWwnXG4gIHwgJ2xvdydcbiAgfCAncHJpbWFyeSdcbiAgfCAnc2Vjb25kYXJ5J1xuICB8ICdkZWJ1Zyc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRCYXNlID0ge1xuICBpZDogc3RyaW5nO1xuICB0aXRsZT86IEkxOG5MYWJlbDtcbiAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gIHNpemU/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0U2l6ZTtcbiAgbGF5b3V0PzogQmFja29mZmljZURhc2hib2FyZFdpZGdldExheW91dDtcbiAgcHJpb3JpdHk/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0UHJpb3JpdHk7XG4gIG1pbkhlaWdodD86ICdzbScgfCAnbWQnIHwgJ2xnJztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXQgPVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGtpbmQ6ICdlbnRpdHlDb3VudCc7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgZW50aXR5SWQ6IHN0cmluZztcbiAgICAgIHF1ZXJ5PzogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gICAgICByZXNvbHZlPzogKGRhdGE6IHVua25vd24pID0+IHsgY291bnQ6IG51bWJlciB8IG51bGwgfTtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGtpbmQ6ICdzaG9ydGN1dCc7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgZW50aXR5SWQ6IHN0cmluZztcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGtpbmQ6ICd0YWJsZVByZXZpZXcnO1xuICAgICAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgICAgIHF1ZXJ5PzogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gICAgICByZXNvbHZlOiAoZGF0YTogdW5rbm93bikgPT4ge1xuICAgICAgICBjb2x1bW5zOiByZWFkb25seSBCYWNrb2ZmaWNlQ29sdW1uU3BlY1tdO1xuICAgICAgICByb3dzOiByZWFkb25seSB1bmtub3duW107XG4gICAgICB9O1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRCYXNlICYge1xuICAgICAga2luZDogJ3N0YXR1c1N1bW1hcnknO1xuICAgICAgcXVlcnk/OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgICAgIHJlc29sdmU6IChkYXRhOiB1bmtub3duKSA9PiByZWFkb25seSB7XG4gICAgICAgIGlkOiBzdHJpbmc7XG4gICAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICAgIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsO1xuICAgICAgICB0b25lPzogQmFja29mZmljZUJhZGdlVG9uZTtcbiAgICAgICAgaHJlZj86IHN0cmluZztcbiAgICAgIH1bXTtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGtpbmQ6ICdyZWNlbnRJdGVtcyc7XG4gICAgICBtYXhJdGVtcz86IG51bWJlcjtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGtpbmQ6ICdxdWlja0FjdGlvbnMnO1xuICAgICAgYWN0aW9uczogcmVhZG9ubHkge1xuICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgICBocmVmOiBzdHJpbmc7XG4gICAgICAgIGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xuICAgICAgICB0b25lPzogJ2RlZmF1bHQnIHwgJ3ByaW1hcnknIHwgJ2Rhbmdlcic7XG4gICAgICB9W107XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBraW5kOiAnbWV0cmljR3JvdXAnO1xuICAgICAgcXVlcnk/OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgICAgIHJlc29sdmU6IChkYXRhOiB1bmtub3duKSA9PiByZWFkb25seSB7XG4gICAgICAgIGlkOiBzdHJpbmc7XG4gICAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICAgIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsO1xuICAgICAgICBtZXRhPzogSTE4bkxhYmVsO1xuICAgICAgICB0b25lPzogJ25ldXRyYWwnIHwgJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2Rhbmdlcic7XG4gICAgICAgIGhyZWY/OiBzdHJpbmc7XG4gICAgICB9W107XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBraW5kOiAnYmlsbGluZ1VzYWdlQ2hhcnQnO1xuICAgICAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgICAgIHF1ZXJ5PzogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gICAgICBjYXRlZ29yaWVzOiByZWFkb25seSB7XG4gICAgICAgIGlkOiBzdHJpbmc7XG4gICAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICAgIGNvbG9yOiBzdHJpbmc7XG4gICAgICB9W107XG4gICAgICBlbXB0eUxhYmVsOiBJMThuTGFiZWw7XG4gICAgICByYW5nZVByZWZpeDogSTE4bkxhYmVsO1xuICAgICAgYXJpYUxhYmVsOiBJMThuTGFiZWw7XG4gICAgICByZXNvbHZlOiAoZGF0YTogdW5rbm93bikgPT4ge1xuICAgICAgICBjdXJyZW5jeTogc3RyaW5nO1xuICAgICAgICB0b3RhbEFtb3VudDogbnVtYmVyO1xuICAgICAgICBmcm9tOiBzdHJpbmcgfCBudWxsO1xuICAgICAgICB0bzogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgYnVja2V0czogcmVhZG9ubHkge1xuICAgICAgICAgIGRheTogc3RyaW5nO1xuICAgICAgICAgIGNhdGVnb3J5OiBzdHJpbmc7XG4gICAgICAgICAgdmFsdWU6IG51bWJlcjtcbiAgICAgICAgfVtdO1xuICAgICAgfSB8IG51bGw7XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBraW5kOiAndGV4dEJsb2NrJztcbiAgICAgIHRpdGxlOiBJMThuTGFiZWw7XG4gICAgICBib2R5OiBJMThuTGFiZWw7XG4gICAgfSk7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0VXJsQ29kZWM8V2hlcmUsIFNvcnQgZXh0ZW5kcyBzdHJpbmc+ID0ge1xuICBwYXJzZTogKHNlYXJjaDogVVJMU2VhcmNoUGFyYW1zKSA9PiBCYWNrb2ZmaWNlTGlzdFN0YXRlPFdoZXJlLCBTb3J0PjtcbiAgc2VyaWFsaXplOiAoc3RhdGU6IEJhY2tvZmZpY2VMaXN0U3RhdGU8V2hlcmUsIFNvcnQ+KSA9PiBVUkxTZWFyY2hQYXJhbXM7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU29ydFNwZWM8U29ydCBleHRlbmRzIHN0cmluZyA9IHN0cmluZz4gPSB7XG4gIGlkOiBTb3J0O1xuICBsYWJlbDogSTE4bkxhYmVsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJvd0ZsYWdTcGVjPFJvdyA9IHVua25vd24+ID0ge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBJMThuTGFiZWw+O1xuICByZW5kZXI6IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gdW5rbm93bj47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdENvbHVtblByaW9yaXR5ID1cbiAgfCAncHJpbWFyeSdcbiAgfCAnaW1wb3J0YW50J1xuICB8ICdzZWNvbmRhcnknXG4gIHwgJ2RlYnVnJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RNb2JpbGVSb2xlID1cbiAgfCAndGl0bGUnXG4gIHwgJ3N1YnRpdGxlJ1xuICB8ICdtZXRhJ1xuICB8ICdiYWRnZSdcbiAgfCAnc3RhdHVzJ1xuICB8ICdhY3Rpb24nXG4gIHwgJ2hpZGRlbic7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0Q29sdW1uVmlzaWJpbGl0eSA9IHtcbiAgcHJpb3JpdHk/OiBCYWNrb2ZmaWNlTGlzdENvbHVtblByaW9yaXR5O1xuICBhbGlnbj86ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JztcbiAgbW9iaWxlPzogQmFja29mZmljZUxpc3RNb2JpbGVSb2xlO1xuICB0YWJsZXQ/OiAndmlzaWJsZScgfCAnaGlkZGVuJztcbiAgZGVza3RvcD86ICd2aXNpYmxlJyB8ICdoaWRkZW4nO1xuICBtaW5WaXNpYmxlQXQ/OiAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnO1xuICBkZWJ1Z09ubHk/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RDb2x1bW5Db3B5ID0ge1xuICBzaG9ydExhYmVsPzogSTE4bkxhYmVsO1xuICBkZXNjcmlwdGlvbj86IEkxOG5MYWJlbDtcbiAgZW1wdHlMYWJlbD86IEkxOG5MYWJlbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VDb2x1bW5TcGVjPFJvdyA9IHVua25vd24+ID0ge1xuICBrZXk6IHN0cmluZztcbiAgaGVhZGVyOiBJMThuTGFiZWw7XG4gIHNpemU6IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gIHZpc2liaWxpdHk/OiBCYWNrb2ZmaWNlTGlzdENvbHVtblZpc2liaWxpdHk7XG4gIGNvcHk/OiBCYWNrb2ZmaWNlTGlzdENvbHVtbkNvcHk7XG4gIGNlbGw6XG4gICAgfCB7XG4gICAgICAgIHNpemU/OiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgICB0eXBlOiAndGV4dCc7XG4gICAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHN0cmluZyB8IG51bWJlciB8IG51bGw+O1xuICAgICAgICBjb3B5VmFsdWU/OiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHN0cmluZyB8IG51bGw+O1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBzaXplPzogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgICAgdHlwZTogJ2xpbmsnO1xuICAgICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudW1iZXIgfCBudWxsPjtcbiAgICAgICAgdG86IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gc3RyaW5nPjtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgc2l6ZT86IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICAgIHR5cGU6ICdiYWRnZSc7XG4gICAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHN0cmluZyB8IG51bGw+O1xuICAgICAgICB0b25lPzpcbiAgICAgICAgICB8IEJhY2tvZmZpY2VCYWRnZVRvbmVcbiAgICAgICAgICB8IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gQmFja29mZmljZUJhZGdlVG9uZT47XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIHNpemU/OiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgICB0eXBlOiAnZGF0ZVRpbWUnO1xuICAgICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudW1iZXIgfCBudWxsPjtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgc2l6ZT86IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICAgIHR5cGU6ICdlbnRpdHlSZWYnO1xuICAgICAgICBlbnRpdHk6IHN0cmluZztcbiAgICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gc3RyaW5nPjtcbiAgICAgICAgbGFiZWw/OiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHN0cmluZyB8IG51bGw+O1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBzaXplPzogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgICAgdHlwZTogJ2N1c3RvbSc7XG4gICAgICAgIHJlbmRlcjogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiB1bmtub3duPjtcbiAgICAgICAgdGV4dFZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgIH07XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdERlbnNpdHkgPSAnY29tcGFjdCcgfCAnZGVmYXVsdCcgfCAnY29tZm9ydGFibGUnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdERpc3BsYXlNb2RlID0gJ3RhYmxlJyB8ICdjYXJkcycgfCAnYXV0byc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0VmlydHVhbGl6YXRpb25Nb2RlID0gJ2F1dG8nIHwgJ2Fsd2F5cycgfCAnbmV2ZXInO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdFZpcnR1YWxpemF0aW9uQ29uZmlnID0ge1xuICBtb2RlPzogQmFja29mZmljZUxpc3RWaXJ0dWFsaXphdGlvbk1vZGU7XG4gIHJvd0hlaWdodFB4PzogbnVtYmVyO1xuICBvdmVyc2Nhbj86IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VJbmZpbml0ZVNjcm9sbENvbmZpZyA9IHtcbiAgZW5hYmxlZD86IHRydWU7XG4gIHJvb3RNYXJnaW4/OiBzdHJpbmc7XG4gIHRocmVzaG9sZD86IG51bWJlcjtcbiAgdGhyZXNob2xkUHg/OiBudW1iZXI7XG4gIGF1dG9Mb2FkPzogYm9vbGVhbjtcbiAgc3RhdHVzPzoge1xuICAgIHNob3dMb2FkZWRDb3VudD86IGJvb2xlYW47XG4gICAgc2hvd1RvdGFsQ291bnQ/OiBib29sZWFuO1xuICAgIHNob3dFbmRTdGF0ZT86IGJvb2xlYW47XG4gICAgc2hvd0luY29uc2lzdGVudFBhZ2VJbmZvPzogYm9vbGVhbjtcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0VG9vbGJhclByb2ZpbGUgPSB7XG4gIGRlbnNpdHk/OiBCYWNrb2ZmaWNlTGlzdERlbnNpdHk7XG4gIGRpc3BsYXlNb2RlPzogQmFja29mZmljZUxpc3REaXNwbGF5TW9kZTtcbiAgbWF4UHJvbW90ZWRGaWx0ZXJzPzogbnVtYmVyO1xuICBzaG93UmVmcmVzaD86IGJvb2xlYW47XG4gIHNob3dTb3J0PzogYm9vbGVhbjtcbiAgc2hvd0ZpbHRlckNoaXBzPzogJ2F1dG8nIHwgJ2Fsd2F5cycgfCAnbmV2ZXInO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RVaUNvbmZpZyA9IHtcbiAgZGVuc2l0eT86IEJhY2tvZmZpY2VMaXN0RGVuc2l0eTtcbiAgZGlzcGxheU1vZGU/OiBCYWNrb2ZmaWNlTGlzdERpc3BsYXlNb2RlO1xuICBpbmZpbml0ZVNjcm9sbD86IEJhY2tvZmZpY2VJbmZpbml0ZVNjcm9sbENvbmZpZztcbiAgdmlydHVhbGl6YXRpb24/OiBCYWNrb2ZmaWNlTGlzdFZpcnR1YWxpemF0aW9uQ29uZmlnO1xuICB0b29sYmFyPzogQmFja29mZmljZUxpc3RUb29sYmFyUHJvZmlsZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0UmVzcG9uc2l2ZU1ldGFJdGVtID0ge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgdmFsdWU6IHN0cmluZztcbiAgdG9uZT86IEJhY2tvZmZpY2VCYWRnZVRvbmU7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdFJlc3BvbnNpdmVQcm9maWxlPFJvdyA9IHVua25vd24+ID0ge1xuICBtb2RlPzogQmFja29mZmljZUxpc3REaXNwbGF5TW9kZTtcbiAgZGVuc2l0eT86IEJhY2tvZmZpY2VMaXN0RGVuc2l0eTtcbiAgbW9iaWxlQnJlYWtwb2ludD86ICdzbScgfCAnbWQnIHwgJ2xnJztcbiAgcHJpbWFyeUNvbHVtbj86IHN0cmluZztcbiAgZGVmYXVsdFZpc2libGVDb2x1bW5zPzogcmVhZG9ubHkgc3RyaW5nW107XG4gIGRlYnVnQ29sdW1ucz86IHJlYWRvbmx5IHN0cmluZ1tdO1xuICByb3dUaXRsZT86IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gc3RyaW5nIHwgbnVsbD47XG4gIHJvd1N1YnRpdGxlPzogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgcm93TWV0YT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChyb3c6IFJvdykgPT4gcmVhZG9ubHkgQmFja29mZmljZUxpc3RSZXNwb25zaXZlTWV0YUl0ZW1bXVxuICA+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlbGF0aW9uQ291bnRSdW50aW1lT3BlcmF0aW9uID0gT3BlcmF0aW9uVHlwZSAmIHtcbiAgLy8gUmVsYXRpb24gY29uZmlnIHN0b3JlcyBhbiBleGlzdGVudGlhbCBSZWxheSBvcGVyYXRpb247IGVhY2ggc3BlYyByZW1haW5zXG4gIC8vIHN0cm9uZ2x5IHR5cGVkIGF0IGRlZmluaXRpb24gdGltZSB0aHJvdWdoIEJhY2tvZmZpY2VSZWxhdGlvbkNvdW50U3BlYzxUTm9kZSwgVE9wZXJhdGlvbj4uXG4gIHJlc3BvbnNlOiBhbnk7XG4gIHZhcmlhYmxlczogYW55O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUZpbHRlclBsYWNlbWVudCA9ICdxdWljaycgfCAnZHJhd2VyJyB8ICdib3RoJztcblxudHlwZSBCYWNrb2ZmaWNlRmlsdGVyQmFzZTxXaGVyZSwgVmFsdWU+ID0ge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICBwbGFjZW1lbnQ/OiBCYWNrb2ZmaWNlRmlsdGVyUGxhY2VtZW50O1xuICB0b0dyYXBoUUw6ICh2YWx1ZTogVmFsdWUpID0+IFBhcnRpYWw8V2hlcmU+O1xuICBmcm9tR3JhcGhRTD86ICh3aGVyZTogV2hlcmUpID0+IFZhbHVlIHwgbnVsbDtcbiAgd2hlcmVLZXk/OiBrZXlvZiBXaGVyZTtcbiAgcGF0aD86IHJlYWRvbmx5IHN0cmluZ1tdO1xuICBwaWNrZXJTY29wZT86XG4gICAgfCBCYWNrb2ZmaWNlUGlja2VyU2NvcGU8V2hlcmU+XG4gICAgfCAoKHdoZXJlOiBXaGVyZSB8IG51bGwpID0+IEJhY2tvZmZpY2VQaWNrZXJTY29wZTxXaGVyZT4pO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUZpbHRlclNwZWM8V2hlcmU+ID1cbiAgfCAoQmFja29mZmljZUZpbHRlckJhc2U8V2hlcmUsIHN0cmluZz4gJiB7XG4gICAgICBraW5kOiAndGV4dCc7XG4gICAgICBwbGFjZWhvbGRlckxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgcGxhY2Vob2xkZXJUZXh0PzogSTE4bkxhYmVsO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VGaWx0ZXJCYXNlPFdoZXJlLCBzdHJpbmc+ICYge1xuICAgICAga2luZDogJ2RhdGV0aW1lJztcbiAgICAgIG1vZGU/OiAnZnJvbScgfCAndG8nIHwgJ2V4YWN0JztcbiAgICAgIHBsYWNlaG9sZGVyTGFiZWw/OiBJMThuTGFiZWw7XG4gICAgICBwbGFjZWhvbGRlclRleHQ/OiBJMThuTGFiZWw7XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUZpbHRlckJhc2U8V2hlcmUsIG51bWJlcj4gJiB7XG4gICAgICBraW5kOiAnbnVtYmVyJztcbiAgICAgIHBsYWNlaG9sZGVyTGFiZWw/OiBJMThuTGFiZWw7XG4gICAgICBwbGFjZWhvbGRlclRleHQ/OiBJMThuTGFiZWw7XG4gICAgICBpbnB1dE1vZGU/OiAnbnVtZXJpYycgfCAnZGVjaW1hbCc7XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUZpbHRlckJhc2U8V2hlcmUsIHN0cmluZz4gJiB7XG4gICAgICBraW5kOiAnZW51bSc7XG4gICAgICBvcHRpb25zOiByZWFkb25seSB7XG4gICAgICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICB9W107XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUZpbHRlckJhc2U8V2hlcmUsIGJvb2xlYW4+ICYge1xuICAgICAga2luZDogJ2Jvb2xlYW4nO1xuICAgICAgdHJ1ZUxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgZmFsc2VMYWJlbD86IEkxOG5MYWJlbDtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRmlsdGVyQmFzZTxXaGVyZSwgc3RyaW5nPiAmIHtcbiAgICAgIGtpbmQ6ICdlbnRpdHlJZCc7XG4gICAgICBlbnRpdHk6IHN0cmluZztcbiAgICB9KTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUNvbm5lY3Rpb25MaXN0Q29uZmlnPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBMaXN0RnJhZ21lbnREYXRhID0gdW5rbm93bixcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4+ID0ge1xuICBraW5kOiAnY29ubmVjdGlvbic7XG4gIHRpdGxlOiBJMThuTGFiZWw7XG4gIHF1ZXJ5OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgZnJhZ21lbnQ6IEdyYXBoUUxUYWdnZWROb2RlO1xuICBidWlsZFF1ZXJ5VmFyaWFibGVzOiAoXG4gICAgaW5wdXQ6IEJhY2tvZmZpY2VMaXN0UXVlcnlJbnB1dDxUT3BlcmF0aW9uLCBUV2hlcmUsIFRTb3J0PixcbiAgKSA9PiBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXTtcbiAgZ2V0Q29ubmVjdGlvbjogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKGRhdGE6IExpc3RGcmFnbWVudERhdGEpID0+IEJhY2tvZmZpY2VDb25uZWN0aW9uPFJvd1JlZj5cbiAgPjtcbiAgdG9Sb3c6IEJpdmFyaWFudENhbGxiYWNrPChyb3dSZWY6IFJvd1JlZikgPT4gUm93Vmlldz47XG4gIGdldFJvd0lkOiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3dWaWV3KSA9PiBzdHJpbmc+O1xuICBjb2x1bW5zOiByZWFkb25seSBCYWNrb2ZmaWNlQ29sdW1uU3BlYzxSb3dWaWV3PltdO1xuICByb3dGbGFncz86IHJlYWRvbmx5IEJhY2tvZmZpY2VSb3dGbGFnU3BlYzxSb3dWaWV3PltdO1xuICBzb3J0czogcmVhZG9ubHkgQmFja29mZmljZVNvcnRTcGVjPFRTb3J0PltdO1xuICBmaWx0ZXJzOiByZWFkb25seSBCYWNrb2ZmaWNlRmlsdGVyU3BlYzxUV2hlcmU+W107XG4gIHJlc3BvbnNpdmU/OiBCYWNrb2ZmaWNlTGlzdFJlc3BvbnNpdmVQcm9maWxlPFJvd1ZpZXc+O1xuICB1aT86IEJhY2tvZmZpY2VMaXN0VWlDb25maWc7XG4gIGRlZmF1bHRTdGF0ZT86IEJhY2tvZmZpY2VMaXN0U3RhdGU8VFdoZXJlLCBUU29ydD47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVjb3JkTGlzdENvbmZpZzxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgTGlzdEZyYWdtZW50RGF0YSA9IHVua25vd24sXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuICBUU29ydCBleHRlbmRzIHN0cmluZyA9IEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFRPcGVyYXRpb24+LFxuPiA9IHtcbiAga2luZDogJ3JlY29yZHMnO1xuICB0aXRsZTogSTE4bkxhYmVsO1xuICBxdWVyeTogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIGZyYWdtZW50OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgYnVpbGRRdWVyeVZhcmlhYmxlczogKFxuICAgIGlucHV0OiBCYWNrb2ZmaWNlTGlzdFF1ZXJ5SW5wdXQ8VE9wZXJhdGlvbiwgVFdoZXJlLCBUU29ydD4sXG4gICkgPT4gVE9wZXJhdGlvblsndmFyaWFibGVzJ107XG4gIGdldFJvd3M6IEJpdmFyaWFudENhbGxiYWNrPChkYXRhOiBMaXN0RnJhZ21lbnREYXRhKSA9PiByZWFkb25seSBSb3dSZWZbXT47XG4gIHRvUm93OiBCaXZhcmlhbnRDYWxsYmFjazwocm93UmVmOiBSb3dSZWYpID0+IFJvd1ZpZXc+O1xuICBnZXROZXh0Q3Vyc29yPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKGRhdGE6IEJhY2tvZmZpY2VPcGVyYXRpb25SZXNwb25zZTxUT3BlcmF0aW9uPikgPT4gc3RyaW5nIHwgbnVsbFxuICA+O1xuICBnZXRSb3dJZDogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93VmlldykgPT4gc3RyaW5nPjtcbiAgY29sdW1uczogcmVhZG9ubHkgQmFja29mZmljZUNvbHVtblNwZWM8Um93Vmlldz5bXTtcbiAgcm93RmxhZ3M/OiByZWFkb25seSBCYWNrb2ZmaWNlUm93RmxhZ1NwZWM8Um93Vmlldz5bXTtcbiAgc29ydHM6IHJlYWRvbmx5IEJhY2tvZmZpY2VTb3J0U3BlYzxUU29ydD5bXTtcbiAgZmlsdGVyczogcmVhZG9ubHkgQmFja29mZmljZUZpbHRlclNwZWM8VFdoZXJlPltdO1xuICByZXNwb25zaXZlPzogQmFja29mZmljZUxpc3RSZXNwb25zaXZlUHJvZmlsZTxSb3dWaWV3PjtcbiAgdWk/OiBCYWNrb2ZmaWNlTGlzdFVpQ29uZmlnO1xuICBkZWZhdWx0U3RhdGU/OiBCYWNrb2ZmaWNlTGlzdFN0YXRlPFRXaGVyZSwgVFNvcnQ+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUxpc3RDb25maWc8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIExpc3RGcmFnbWVudERhdGEgPSB1bmtub3duLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbiAgVFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxUT3BlcmF0aW9uPixcbj4gPVxuICB8IEJhY2tvZmZpY2VDb25uZWN0aW9uTGlzdENvbmZpZzxcbiAgICAgIFRPcGVyYXRpb24sXG4gICAgICBSb3dSZWYsXG4gICAgICBSb3dWaWV3LFxuICAgICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICAgIFRXaGVyZSxcbiAgICAgIFRTb3J0XG4gICAgPlxuICB8IEJhY2tvZmZpY2VSZWNvcmRMaXN0Q29uZmlnPFxuICAgICAgVE9wZXJhdGlvbixcbiAgICAgIFJvd1JlZixcbiAgICAgIFJvd1ZpZXcsXG4gICAgICBMaXN0RnJhZ21lbnREYXRhLFxuICAgICAgVFdoZXJlLFxuICAgICAgVFNvcnRcbiAgICA+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQmFkZ2VJdGVtID0ge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nIHwgSTE4bkxhYmVsO1xuICB0aXRsZT86IHN0cmluZyB8IEkxOG5MYWJlbDtcbiAgdG9uZT86IEJhY2tvZmZpY2VCYWRnZVRvbmU7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlSW5saW5lVmFsdWVTcGVjID1cbiAgfCB7XG4gICAgICB0eXBlOiAndGV4dCc7XG4gICAgICB2YWx1ZTogQmFja29mZmljZVZhbHVlTGFiZWw7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdlbnRpdHlSZWYnO1xuICAgICAgZW50aXR5OiBzdHJpbmc7XG4gICAgICBpZDogc3RyaW5nIHwgbnVsbDtcbiAgICAgIGxhYmVsPzogQmFja29mZmljZVZhbHVlTGFiZWw7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdsaW5rJztcbiAgICAgIGhyZWY6IHN0cmluZyB8IG51bGw7XG4gICAgICBsYWJlbDogQmFja29mZmljZVZhbHVlTGFiZWw7XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbEhlYWRlclN1YnRpdGxlSXRlbTxOb2RlPiA9IHtcbiAgaWQ6IHN0cmluZztcbiAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlSW5saW5lVmFsdWVTcGVjPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJNZXRhU3BlYzxOb2RlPiA9XG4gIHwge1xuICAgICAgdHlwZT86ICd0ZXh0JztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2RhdGVUaW1lJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bWJlciB8IG51bGw+O1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnZW50aXR5UmVmJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBlbnRpdHk6IHN0cmluZztcbiAgICAgIGlkOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbD47XG4gICAgICB2YWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2xpbmsnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIGhyZWY6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJTdGF0dXNTcGVjPE5vZGU+ID1cbiAgfCB7XG4gICAgICB0eXBlOiAnYmFkZ2UnO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gICAgICB0b25lPzpcbiAgICAgICAgfCBCYWNrb2ZmaWNlQmFkZ2VUb25lXG4gICAgICAgIHwgQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VCYWRnZVRvbmU+O1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnYmFkZ2VSb3cnO1xuICAgICAgaXRlbXM6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiByZWFkb25seSBCYWNrb2ZmaWNlQmFkZ2VJdGVtW10+O1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQbGFjZW1lbnQgPSAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbENvbnRlbnRHcm91cCA9XG4gIHwgJ3N1bW1hcnknXG4gIHwgJ2lkZW50aXR5J1xuICB8ICdzY29wZSdcbiAgfCAnc3RhdHVzJ1xuICB8ICdyZWxhdGlvbnMnXG4gIHwgJ2FjdGl2aXR5J1xuICB8ICdiaWxsaW5nJ1xuICB8ICd0ZWNobmljYWwnXG4gIHwgJ3Jhdyc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxJbXBvcnRhbmNlID1cbiAgfCAnaGVybydcbiAgfCAncHJpbWFyeSdcbiAgfCAnc2Vjb25kYXJ5J1xuICB8ICdkZWJ1Zyc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxDb2xsYXBzZUJlaGF2aW9yID0ge1xuICBjb2xsYXBzaWJsZT86IGJvb2xlYW47XG4gIGRlZmF1bHRDb2xsYXBzZWQ/OiBib29sZWFuO1xuICBwZXJzaXN0S2V5Pzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbiA9IHtcbiAgZ3JvdXA/OiBCYWNrb2ZmaWNlRGV0YWlsQ29udGVudEdyb3VwO1xuICBpbXBvcnRhbmNlPzogQmFja29mZmljZURldGFpbEltcG9ydGFuY2U7XG4gIGNvbGxhcHNlPzogQmFja29mZmljZURldGFpbENvbGxhcHNlQmVoYXZpb3I7XG4gIG1vYmlsZT86ICd2aXNpYmxlJyB8ICdjb2xsYXBzZWQnIHwgJ2hpZGRlbic7XG4gIGRlc2t0b3A/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdmdWxsV2lkdGgnO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVRvbmUgPVxuICB8ICduZXV0cmFsJ1xuICB8ICdpbmZvJ1xuICB8ICdzdWNjZXNzJ1xuICB8ICd3YXJuaW5nJ1xuICB8ICdkYW5nZXInO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQWN0aW9uVG9uZSA9ICduZXV0cmFsJyB8ICdwcmltYXJ5JyB8ICdkYW5nZXInO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGVuc2l0eSA9ICdjb21wYWN0JyB8ICdjb21mb3J0YWJsZSc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VTZW1hbnRpY0RldGFpbFBsYWNlbWVudCA9ICdtYWluJyB8ICdzaWRlJyB8ICdmdWxsV2lkdGgnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU2VtYW50aWNEZXRhaWxQcmlvcml0eSA9XG4gIHwgJ3ByaW1hcnknXG4gIHwgJ3NlY29uZGFyeSdcbiAgfCAnZGlhZ25vc3RpYyc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZW5kZXJhYmxlVmFsdWUgPVxuICB8IHN0cmluZ1xuICB8IG51bWJlclxuICB8IGJvb2xlYW5cbiAgfCBudWxsXG4gIHwgdW5kZWZpbmVkO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU3RhdHVzVmFsdWUgPSB7XG4gIHJlYWRvbmx5IGxhYmVsOiBzdHJpbmcgfCBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHRvbmU6IEJhY2tvZmZpY2VUb25lO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVNlbWFudGljQmxvY2tCYXNlID0ge1xuICByZWFkb25seSBpZD86IHN0cmluZztcbiAgcmVhZG9ubHkgdGl0bGU6IEkxOG5MYWJlbDtcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHBsYWNlbWVudD86IEJhY2tvZmZpY2VTZW1hbnRpY0RldGFpbFBsYWNlbWVudDtcbiAgcmVhZG9ubHkgcHJpb3JpdHk/OiBCYWNrb2ZmaWNlU2VtYW50aWNEZXRhaWxQcmlvcml0eTtcbiAgcmVhZG9ubHkgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VWYWx1ZVNwZWM8Tm9kZT4gPSB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsOiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICByZWFkb25seSB0b25lPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VUb25lIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgaHJlZj86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgY29weVZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcbiAgPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VTdW1tYXJ5SXRlbVNwZWM8Tm9kZT4gPSB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsOiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICByZWFkb25seSB0b25lPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VUb25lIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWxcbiAgPjtcbiAgcmVhZG9ubHkgaHJlZj86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VTdW1tYXJ5QmxvY2tTcGVjPE5vZGU+ID0gQmFja29mZmljZVNlbWFudGljQmxvY2tCYXNlICYge1xuICByZWFkb25seSBraW5kOiAnc3VtbWFyeSc7XG4gIHJlYWRvbmx5IGl0ZW1zOiByZWFkb25seSBCYWNrb2ZmaWNlU3VtbWFyeUl0ZW1TcGVjPE5vZGU+W107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlSGVyb1N1bW1hcnlCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU3VtbWFyeUJsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU1ldHJpY1NwZWM8Tm9kZT4gPSB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsOiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICByZWFkb25seSBmb3JtYXR0ZWRWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG4gID47XG4gIHJlYWRvbmx5IGhpbnQ/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICByZWFkb25seSB0b25lPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VUb25lIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgY29weVZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcbiAgPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VNZXRyaWNHcm91cEJsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgICByZWFkb25seSBraW5kOiAnbWV0cmljcyc7XG4gICAgcmVhZG9ubHkgZGVuc2l0eT86IEJhY2tvZmZpY2VEZW5zaXR5O1xuICAgIHJlYWRvbmx5IGl0ZW1zOiByZWFkb25seSBCYWNrb2ZmaWNlTWV0cmljU3BlYzxOb2RlPltdO1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTWV0cmljQmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZU1ldHJpY0dyb3VwQmxvY2tTcGVjPE5vZGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU3RhdGVTcGVjPE5vZGU+ID0ge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBsYWJlbDogSTE4bkxhYmVsO1xuICByZWFkb25seSB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VSZW5kZXJhYmxlVmFsdWU+O1xuICByZWFkb25seSBnZXREaXNwbGF5OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAoXG4gICAgICB2YWx1ZTogQmFja29mZmljZVJlbmRlcmFibGVWYWx1ZSxcbiAgICAgIG5vZGU6IE5vZGUsXG4gICAgKSA9PiB7XG4gICAgICByZWFkb25seSBsYWJlbDogc3RyaW5nIHwgSTE4bkxhYmVsO1xuICAgICAgcmVhZG9ubHkgdG9uZTogQmFja29mZmljZVRvbmU7XG4gICAgfVxuICA+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVN0YXRlR3JvdXBCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gICAgcmVhZG9ubHkga2luZDogJ3N0YXRlcyc7XG4gICAgcmVhZG9ubHkgc3RhdGVzOiByZWFkb25seSBCYWNrb2ZmaWNlU3RhdGVTcGVjPE5vZGU+W107XG4gIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VTdGF0ZUJsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VTdGF0ZUdyb3VwQmxvY2tTcGVjPE5vZGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQ29udGV4dEl0ZW1TcGVjPE5vZGU+ID0ge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBsYWJlbDogSTE4bkxhYmVsO1xuICByZWFkb25seSB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgcmVhZG9ubHkgaHJlZj86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgZW1wdHlMYWJlbD86IEkxOG5MYWJlbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VDb250ZXh0U3RhY2tCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gICAgcmVhZG9ubHkga2luZDogJ2NvbnRleHQnO1xuICAgIHJlYWRvbmx5IGl0ZW1zOiByZWFkb25seSBCYWNrb2ZmaWNlQ29udGV4dEl0ZW1TcGVjPE5vZGU+W107XG4gIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VDb250ZXh0QmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZUNvbnRleHRTdGFja0Jsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlbGF0aW9uVGlsZVNwZWM8Tm9kZT4gPSB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsOiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IGNvdW50PzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQ+O1xuICByZWFkb25seSBocmVmPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+O1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbFxuICA+O1xuICByZWFkb25seSB0b25lPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VUb25lIHwgdW5kZWZpbmVkPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZWxhdGlvbkdyb3VwQmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZVNlbWFudGljQmxvY2tCYXNlICYge1xuICAgIHJlYWRvbmx5IGtpbmQ6ICdyZWxhdGlvbnMnO1xuICAgIHJlYWRvbmx5IGl0ZW1zOiByZWFkb25seSBCYWNrb2ZmaWNlUmVsYXRpb25UaWxlU3BlYzxOb2RlPltdO1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVsYXRpb25CbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlUmVsYXRpb25Hcm91cEJsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVRpbWVsaW5lRXZlbnRTcGVjPE5vZGU+ID0ge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBsYWJlbDogSTE4bkxhYmVsO1xuICByZWFkb25seSB0aW1lc3RhbXA/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSB8IG51bGwgfCB1bmRlZmluZWRcbiAgPjtcbiAgcmVhZG9ubHkgc3RhdGU/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVN0YXR1c1ZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZFxuICA+O1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbFxuICA+O1xuICByZWFkb25seSBhY3Rvcj86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IHBheWxvYWQ/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gdW5rbm93bj47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVGltZWxpbmVCbG9ja1NwZWM8Tm9kZT4gPSBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gIHJlYWRvbmx5IGtpbmQ6ICd0aW1lbGluZSc7XG4gIHJlYWRvbmx5IGV2ZW50czogcmVhZG9ubHkgQmFja29mZmljZVRpbWVsaW5lRXZlbnRTcGVjPE5vZGU+W107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQXVkaXRJdGVtU3BlYzxOb2RlPiA9IHtcbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbGFiZWw6IEkxOG5MYWJlbDtcbiAgcmVhZG9ubHkgdGltZXN0YW1wPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bWJlciB8IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkXG4gID47XG4gIHJlYWRvbmx5IGFjdG9yPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgcmVhZG9ubHkgc291cmNlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBdWRpdEJsb2NrU3BlYzxOb2RlPiA9IEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgcmVhZG9ubHkga2luZDogJ2F1ZGl0JztcbiAgcmVhZG9ubHkgaXRlbXM6IHJlYWRvbmx5IEJhY2tvZmZpY2VBdWRpdEl0ZW1TcGVjPE5vZGU+W107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVmZXJlbmNlU3BlYzxOb2RlPiA9IHtcbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbGFiZWw6IEkxOG5MYWJlbDtcbiAgcmVhZG9ubHkgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IGhyZWY/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD47XG4gIHJlYWRvbmx5IGNvcHlWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG4gID47XG4gIHJlYWRvbmx5IHJlZktpbmQ/OlxuICAgIHwgJ2lkJ1xuICAgIHwgJ3NsdWcnXG4gICAgfCAncGF0aCdcbiAgICB8ICd1cmwnXG4gICAgfCAnaGFzaCdcbiAgICB8ICdleHRlcm5hbCdcbiAgICB8ICd0ZXh0Jztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZWZlcmVuY2VHcm91cEJsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgICByZWFkb25seSBraW5kOiAncmVmZXJlbmNlcyc7XG4gICAgcmVhZG9ubHkgcmVmZXJlbmNlczogcmVhZG9ubHkgQmFja29mZmljZVJlZmVyZW5jZVNwZWM8Tm9kZT5bXTtcbiAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBheWxvYWRGb3JtYXQgPSAnanNvbicgfCAnbWFya2Rvd24nIHwgJ3RleHQnIHwgJ2NvZGUnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUGF5bG9hZEJsb2NrU3BlYzxOb2RlPiA9IEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgcmVhZG9ubHkga2luZDogJ3BheWxvYWQnO1xuICByZWFkb25seSBmb3JtYXQ/OiBCYWNrb2ZmaWNlUGF5bG9hZEZvcm1hdDtcbiAgcmVhZG9ubHkgc3VtbWFyeT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gdW5rbm93bj47XG4gIHJlYWRvbmx5IGRlZmF1bHRDb2xsYXBzZWQ/OiBib29sZWFuO1xuICByZWFkb25seSBlbXB0eUxhYmVsPzogSTE4bkxhYmVsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUFjdGlvblJlc3VsdEJsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgICByZWFkb25seSBraW5kOiAnYWN0aW9uUmVzdWx0JztcbiAgICByZWFkb25seSBzdGF0dXM/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAgIChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlU3RhdHVzVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkXG4gICAgPjtcbiAgICByZWFkb25seSBtZXNzYWdlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgICByZWFkb25seSByZWZlcmVuY2VzPzogcmVhZG9ubHkgQmFja29mZmljZVJlZmVyZW5jZVNwZWM8Tm9kZT5bXTtcbiAgICByZWFkb25seSBwYXlsb2FkPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHVua25vd24+O1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVGVjaG5pY2FsRmFjdHNCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gICAgcmVhZG9ubHkga2luZDogJ3RlY2huaWNhbEZhY3RzJztcbiAgICByZWFkb25seSBmYWN0czogcmVhZG9ubHkgQmFja29mZmljZVZhbHVlU3BlYzxOb2RlPltdO1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU2VtYW50aWNEZXRhaWxCbG9ja1NwZWM8Tm9kZT4gPVxuICB8IEJhY2tvZmZpY2VTdW1tYXJ5QmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZU1ldHJpY0dyb3VwQmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZVN0YXRlR3JvdXBCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlQ29udGV4dFN0YWNrQmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZVJlbGF0aW9uR3JvdXBCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlVGltZWxpbmVCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlQXVkaXRCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlUmVmZXJlbmNlR3JvdXBCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlUGF5bG9hZEJsb2NrU3BlYzxOb2RlPlxuICB8IEJhY2tvZmZpY2VBY3Rpb25SZXN1bHRCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlVGVjaG5pY2FsRmFjdHNCbG9ja1NwZWM8Tm9kZT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VGbGFnVmFyaWFudCA9XG4gIHwgJ3llc05vJ1xuICB8ICdjYXBhYmlsaXR5J1xuICB8ICdlbmFibGVkJ1xuICB8ICdmYWlsdXJlJ1xuICB8ICdlbmNyeXB0ZWQnXG4gIHwgJ2xvY2tlZCdcbiAgfCAnZGVmYXVsdCdcbiAgfCAnYWdlbnRNYW5hZ2VkJ1xuICB8ICdkZXBsb3llZFByb2R1Y3Rpb24nXG4gIHwgJ2ZvcmNlZCc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxGaWVsZFNwZWM8Tm9kZT4gPVxuICB8IHtcbiAgICAgIHR5cGU6ICd0ZXh0JztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gICAgICBjb3B5VmFsdWU/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbD47XG4gICAgICBmdWxsV2lkdGg/OiBib29sZWFuO1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2JhZGdlJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gICAgICB0b25lPzpcbiAgICAgICAgfCBCYWNrb2ZmaWNlQmFkZ2VUb25lXG4gICAgICAgIHwgQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VCYWRnZVRvbmU+O1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2JhZGdlUm93JztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgaXRlbXM6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiByZWFkb25seSBCYWNrb2ZmaWNlQmFkZ2VJdGVtW10+O1xuICAgICAgZnVsbFdpZHRoPzogYm9vbGVhbjtcbiAgICAgIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdkYXRlVGltZSc7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgbnVsbD47XG4gICAgICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnbnVtYmVyJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBudW1iZXIgfCBudWxsPjtcbiAgICAgIGZvcm1hdD86IEJhY2tvZmZpY2VOdW1iZXJGb3JtYXQ7XG4gICAgICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnZmxhZyc7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gYm9vbGVhbiB8IG51bGw+O1xuICAgICAgdmFyaWFudDogQmFja29mZmljZUZsYWdWYXJpYW50O1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2VudGl0eVJlZic7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIGVudGl0eTogc3RyaW5nO1xuICAgICAgaWQ6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgIHZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGw+O1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2xpbmsnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIHNpemU6IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICBocmVmOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbD47XG4gICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bWJlciB8IG51bGw+O1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ3RhZ2dlZFZhbHVlJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgdGFnOiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAgICAgKG5vZGU6IE5vZGUpID0+IHtcbiAgICAgICAgICBsYWJlbDogc3RyaW5nIHwgSTE4bkxhYmVsO1xuICAgICAgICAgIHRvbmU/OiBCYWNrb2ZmaWNlQmFkZ2VUb25lO1xuICAgICAgICB9IHwgbnVsbFxuICAgICAgPjtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZUlubGluZVZhbHVlU3BlYz47XG4gICAgICBmdWxsV2lkdGg/OiBib29sZWFuO1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ3JlbGF0aW9uJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgcmVsYXRpb246IEJhY2tvZmZpY2VSdW50aW1lUmVsYXRpb25GaWx0ZXJTcGVjO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmc+O1xuICAgICAgY291bnQ/OiBCYWNrb2ZmaWNlUmVsYXRpb25Db3VudFNwZWM8Tm9kZT47XG4gICAgICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnY3VzdG9tJztcbiAgICAgIGxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIHJlbmRlcjogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHVua25vd24+O1xuICAgICAgZnVsbFdpZHRoPzogYm9vbGVhbjtcbiAgICAgIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbEhlYWRlckNvbmZpZzxOb2RlPiA9IHtcbiAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgdGl0bGVWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlLCB0OiBURnVuY3Rpb24pID0+IHN0cmluZyB8IG51bGw+O1xuICBzdWJ0aXRsZT86IEkxOG5MYWJlbDtcbiAgc3VidGl0bGVWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlLCB0OiBURnVuY3Rpb24pID0+IHN0cmluZyB8IG51bGxcbiAgPjtcbiAgc3VidGl0bGVJdGVtcz86IHJlYWRvbmx5IEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJTdWJ0aXRsZUl0ZW08Tm9kZT5bXTtcbiAgc3VidGl0bGVTZXBhcmF0b3I/OiBzdHJpbmc7XG4gIGlkPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGw+O1xuICBiYWRnZXM/OiByZWFkb25seSB7XG4gICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgICB0b25lPzpcbiAgICAgIHwgQmFja29mZmljZUJhZGdlVG9uZVxuICAgICAgfCBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZUJhZGdlVG9uZT47XG4gIH1bXTtcbiAgc3RhdHVzPzogQmFja29mZmljZURldGFpbEhlYWRlclN0YXR1c1NwZWM8Tm9kZT47XG4gIG1ldGE/OiByZWFkb25seSBCYWNrb2ZmaWNlRGV0YWlsSGVhZGVyTWV0YVNwZWM8Tm9kZT5bXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxTZWN0aW9uQ29uZmlnPE5vZGU+ID0ge1xuICBpZD86IHN0cmluZztcbiAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gIGZpZWxkczogcmVhZG9ubHkgQmFja29mZmljZURldGFpbEZpZWxkU3BlYzxOb2RlPltdO1xuICBwbGFjZW1lbnQ/OiBCYWNrb2ZmaWNlRGV0YWlsUGxhY2VtZW50O1xuICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUZpZWxkU2V0QmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZURldGFpbFNlY3Rpb25Db25maWc8Tm9kZT4gJiB7XG4gICAga2luZDogJ2ZpZWxkU2V0JztcbiAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFRhYmxlQmxvY2tTcGVjPE5vZGUsIFJvdz4gPSB7XG4gIGtpbmQ6ICd0YWJsZSc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xuICBjb2x1bW5zOiByZWFkb25seSBCYWNrb2ZmaWNlQ29sdW1uU3BlYzxSb3c+W107XG4gIHJvd3M6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiByZWFkb25seSBSb3dbXT47XG4gIHBsYWNlbWVudD86IEJhY2tvZmZpY2VEZXRhaWxQbGFjZW1lbnQ7XG4gIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVGFibGVCbG9ja1NwZWM8XG4gIE5vZGUsXG4gIFJvdyA9IHVua25vd24sXG4+ID0gQmFja29mZmljZURldGFpbFRhYmxlQmxvY2tTcGVjPE5vZGUsIFJvdz47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VDdXN0b21CbG9ja1NwZWM8Tm9kZT4gPSB7XG4gIGtpbmQ6ICdjdXN0b20nO1xuICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgcmVuZGVyOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gdW5rbm93bj47XG4gIHBsYWNlbWVudD86IEJhY2tvZmZpY2VEZXRhaWxQbGFjZW1lbnQ7XG4gIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsQmxvY2tTcGVjPE5vZGU+ID1cbiAgfCBCYWNrb2ZmaWNlU2VtYW50aWNEZXRhaWxCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlRGV0YWlsVGFibGVCbG9ja1NwZWM8Tm9kZSwgYW55PlxuICB8IEJhY2tvZmZpY2VDdXN0b21CbG9ja1NwZWM8Tm9kZT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxDb250ZW50U3BlYzxOb2RlPiA9XG4gIHwgQmFja29mZmljZUZpZWxkU2V0QmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZURldGFpbEJsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFZpZXdMYXlvdXRTcGVjID0ge1xuICByZWFkb25seSBkZW5zaXR5PzogQmFja29mZmljZURlbnNpdHk7XG4gIHJlYWRvbmx5IGNvbHVtbnM/OiAnYXV0bycgfCAnc2luZ2xlJyB8ICdtYWluU2lkZSc7XG4gIHJlYWRvbmx5IHRlY2huaWNhbERlZmF1bHRDb2xsYXBzZWQ/OiBib29sZWFuO1xuICByZWFkb25seSBzaWRlQ29sdW1uPzoge1xuICAgIHJlYWRvbmx5IHdpZHRoPzogJ25hcnJvdycgfCAnbWVkaXVtJyB8ICd3aWRlJztcbiAgICByZWFkb25seSBzdGlja3k/OiBib29sZWFuO1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VWaWV3U3BlYzxOb2RlPiA9IHtcbiAgcmVhZG9ubHkgdGl0bGU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IHN1YnRpdGxlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgcmVhZG9ubHkgZXllYnJvdz86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IHN0YXR1cz86IEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJTdGF0dXNTcGVjPE5vZGU+O1xuICByZWFkb25seSByZWZlcmVuY2VzPzogcmVhZG9ubHkgQmFja29mZmljZVJlZmVyZW5jZVNwZWM8Tm9kZT5bXTtcbiAgcmVhZG9ubHkgYWN0aW9ucz86IHJlYWRvbmx5IEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25TcGVjPE5vZGU+W107XG4gIHJlYWRvbmx5IGxheW91dD86IEJhY2tvZmZpY2VEZXRhaWxWaWV3TGF5b3V0U3BlYztcbiAgcmVhZG9ubHkgYmxvY2tzOiByZWFkb25seSBCYWNrb2ZmaWNlRGV0YWlsQ29udGVudFNwZWM8Tm9kZT5bXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQYWdlRGF0YUNvbnRleHQgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGRldGFpbElkPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VWYXJpYWJsZXNSZXN1bHQ8RGV0YWlsUXVlcnlWYXJpYWJsZXM+ID0ge1xuICB2YXJpYWJsZXM6IERldGFpbFF1ZXJ5VmFyaWFibGVzO1xuICBkZXRhaWxJZD86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxWYXJpYWJsZXM8RGV0YWlsUXVlcnlWYXJpYWJsZXM+ID1cbiAgQmFja29mZmljZURldGFpbFBhZ2VWYXJpYWJsZXNSZXN1bHQ8RGV0YWlsUXVlcnlWYXJpYWJsZXM+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTm9kZVF1ZXJ5UmVzcG9uc2U8Tm9kZVJlZj4gPSB7XG4gIHJlYWRvbmx5IG5vZGU/OiBOb2RlUmVmIHwgbnVsbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBbGlhc2VkTm9kZVF1ZXJ5UmVzcG9uc2U8XG4gIEFsaWFzIGV4dGVuZHMgc3RyaW5nLFxuICBOb2RlUmVmLFxuPiA9IHtcbiAgcmVhZG9ubHkgbm9kZT86XG4gICAgfCAoUmVhZG9ubHk8UGFydGlhbDxSZWNvcmQ8QWxpYXMsIE5vZGVSZWYgfCBudWxsPj4+ICYge1xuICAgICAgICByZWFkb25seSBfX3R5cGVuYW1lPzogc3RyaW5nO1xuICAgICAgfSlcbiAgICB8IG51bGw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQWxpYXNlZFBpY2tlclZhbHVlUmVzcG9uc2U8XG4gIEFsaWFzIGV4dGVuZHMgc3RyaW5nLFxuICBSb3dSZWYsXG4+ID0gQmFja29mZmljZUFsaWFzZWROb2RlUXVlcnlSZXNwb25zZTxBbGlhcywgUm93UmVmPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VEYXRhU3BlYzxcbiAgRGV0YWlsVmlldyxcbiAgRGV0YWlsRGF0YSA9IERldGFpbFZpZXcsXG4gIERldGFpbFF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIERldGFpbEZyYWdtZW50S2V5ID0gdW5rbm93bixcbiAgRGV0YWlsUXVlcnlWYXJpYWJsZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSB7XG4gIHF1ZXJ5OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgZnJhZ21lbnQ6IEdyYXBoUUxUYWdnZWROb2RlO1xuICByZXNvbHZlTm9kZTogKFxuICAgIGRhdGE6IERldGFpbFF1ZXJ5RGF0YSxcbiAgICBjb250ZXh0OiBCYWNrb2ZmaWNlRGV0YWlsUGFnZURhdGFDb250ZXh0LFxuICApID0+IERldGFpbEZyYWdtZW50S2V5IHwgbnVsbDtcbiAgdG9WaWV3OiBCaXZhcmlhbnRDYWxsYmFjazwoZGF0YTogRGV0YWlsRGF0YSkgPT4gRGV0YWlsVmlldz47XG4gIGJ1aWxkVmFyaWFibGVzPzogKGlucHV0OiB7XG4gICAgaWQ6IHN0cmluZztcbiAgfSkgPT4gQmFja29mZmljZURldGFpbFBhZ2VWYXJpYWJsZXNSZXN1bHQ8RGV0YWlsUXVlcnlWYXJpYWJsZXM+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFN0YW5kYXJkVGFiID1cbiAgfCAnb3ZlcnZpZXcnXG4gIHwgJ3JlbGF0aW9ucydcbiAgfCAnYWN0aXZpdHknXG4gIHwgJ2JpbGxpbmcnXG4gIHwgJ3RlY2huaWNhbCdcbiAgfCAncmF3JztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFRpdGxlTWV0YUl0ZW0gPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsPzogSTE4bkxhYmVsO1xuICB2YWx1ZTogc3RyaW5nO1xuICB0b25lPzogQmFja29mZmljZUJhZGdlVG9uZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRQcm9maWxlPERldGFpbFZpZXcgPSB1bmtub3duPiA9IHtcbiAgc3RhbmRhcmRUYWJzPzogcmVhZG9ubHkgQmFja29mZmljZURldGFpbFN0YW5kYXJkVGFiW107XG4gIHN1bW1hcnlGaWVsZHM/OiByZWFkb25seSBzdHJpbmdbXTtcbiAgc2NvcGVGaWVsZHM/OiByZWFkb25seSBzdHJpbmdbXTtcbiAgc3RhdHVzRmllbGRzPzogcmVhZG9ubHkgc3RyaW5nW107XG4gIHRlY2huaWNhbEdyb3Vwc0NvbGxhcHNlZD86IGJvb2xlYW47XG4gIHJhd0dyb3Vwc0hpZGRlbkZyb21PdmVydmlldz86IGJvb2xlYW47XG4gIHNpZGVSYWlsPzoge1xuICAgIGdyb3VwczogcmVhZG9ubHkgQmFja29mZmljZURldGFpbENvbnRlbnRHcm91cFtdO1xuICAgIHN0aWNreT86IGJvb2xlYW47XG4gIH07XG4gIHRpdGxlTWV0YT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBEZXRhaWxWaWV3KSA9PiByZWFkb25seSBCYWNrb2ZmaWNlRGV0YWlsVGl0bGVNZXRhSXRlbVtdXG4gID47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0U3BlYzxcbiAgTGF5b3V0VmlldyxcbiAgTGF5b3V0RGF0YSA9IExheW91dFZpZXcsXG4gIExheW91dFF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIExheW91dEZyYWdtZW50S2V5ID0gdW5rbm93bixcbiAgTGF5b3V0UXVlcnlWYXJpYWJsZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSBCYWNrb2ZmaWNlRGV0YWlsUGFnZURhdGFTcGVjPFxuICBMYXlvdXRWaWV3LFxuICBMYXlvdXREYXRhLFxuICBMYXlvdXRRdWVyeURhdGEsXG4gIExheW91dEZyYWdtZW50S2V5LFxuICBMYXlvdXRRdWVyeVZhcmlhYmxlc1xuPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VTcGVjPFxuICBEZXRhaWxWaWV3LFxuICBMYXlvdXRWaWV3ID0gRGV0YWlsVmlldyxcbiAgRGV0YWlsRGF0YSA9IERldGFpbFZpZXcsXG4gIERldGFpbFF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIERldGFpbEZyYWdtZW50S2V5ID0gdW5rbm93bixcbiAgRGV0YWlsUXVlcnlWYXJpYWJsZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSBCYWNrb2ZmaWNlRGV0YWlsUGFnZURhdGFTcGVjPFxuICBEZXRhaWxWaWV3LFxuICBEZXRhaWxEYXRhLFxuICBEZXRhaWxRdWVyeURhdGEsXG4gIERldGFpbEZyYWdtZW50S2V5LFxuICBEZXRhaWxRdWVyeVZhcmlhYmxlc1xuPiAmIHtcbiAgaWQ6IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICBjb250ZW50OiByZWFkb25seSBCYWNrb2ZmaWNlRGV0YWlsQ29udGVudFNwZWM8RGV0YWlsVmlldz5bXTtcbiAgYWN0aW9ucz86IHJlYWRvbmx5IEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25TcGVjPERldGFpbFZpZXc+W107XG4gIGlzVmlzaWJsZT86IEJpdmFyaWFudENhbGxiYWNrPChsYXlvdXRQYWdlOiBMYXlvdXRWaWV3KSA9PiBib29sZWFuPjtcbiAgcHJvZmlsZT86IEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRQcm9maWxlPERldGFpbFZpZXc+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBpY2tlclZhbHVlQ29uZmlnPFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIFZhbHVlUXVlcnlEYXRhID0gdW5rbm93bixcbj4gPSB7XG4gIHF1ZXJ5OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgcmVzb2x2ZVJvdzogKGRhdGE6IFZhbHVlUXVlcnlEYXRhKSA9PiBSb3dSZWYgfCBudWxsO1xuICB0b1JvdzogQml2YXJpYW50Q2FsbGJhY2s8KHJvd1JlZjogUm93UmVmKSA9PiBSb3dWaWV3Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlEZXRhaWxDb25maWc8XG4gIExheW91dERhdGEgPSBhbnksXG4gIExheW91dFZpZXcgPSBhbnksXG4gIE1haW5EYXRhID0gTGF5b3V0RGF0YSxcbiAgTWFpblZpZXcgPSBMYXlvdXRWaWV3LFxuICBTdWJEYXRhID0gTWFpbkRhdGEsXG4gIFN1YlZpZXcgPSBNYWluVmlldyxcbiAgTGF5b3V0UXVlcnlEYXRhID0gdW5rbm93bixcbiAgTWFpblF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIFN1YlF1ZXJ5RGF0YSA9IE1haW5RdWVyeURhdGEsXG4gIExheW91dEZyYWdtZW50S2V5ID0gdW5rbm93bixcbiAgTWFpbkZyYWdtZW50S2V5ID0gdW5rbm93bixcbiAgU3ViRnJhZ21lbnRLZXkgPSBNYWluRnJhZ21lbnRLZXksXG4gIExheW91dFF1ZXJ5VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIE1haW5RdWVyeVZhcmlhYmxlcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBTdWJRdWVyeVZhcmlhYmxlcyA9IE1haW5RdWVyeVZhcmlhYmxlcyxcbj4gPSB7XG4gIHRpdGxlOiBJMThuTGFiZWw7XG4gIGhlYWRlcjogQmFja29mZmljZURldGFpbEhlYWRlckNvbmZpZzxMYXlvdXRWaWV3PjtcbiAgcHJvZmlsZT86IEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRQcm9maWxlPExheW91dFZpZXc+O1xuICBsYXlvdXRQYWdlOiBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0U3BlYzxcbiAgICBMYXlvdXRWaWV3LFxuICAgIExheW91dERhdGEsXG4gICAgTGF5b3V0UXVlcnlEYXRhLFxuICAgIExheW91dEZyYWdtZW50S2V5LFxuICAgIExheW91dFF1ZXJ5VmFyaWFibGVzXG4gID47XG4gIG1haW5QYWdlOiBCYWNrb2ZmaWNlRGV0YWlsUGFnZVNwZWM8XG4gICAgTWFpblZpZXcsXG4gICAgTGF5b3V0VmlldyxcbiAgICBNYWluRGF0YSxcbiAgICBNYWluUXVlcnlEYXRhLFxuICAgIE1haW5GcmFnbWVudEtleSxcbiAgICBNYWluUXVlcnlWYXJpYWJsZXNcbiAgPjtcbiAgc3ViUGFnZXM/OiByZWFkb25seSBCYWNrb2ZmaWNlRGV0YWlsUGFnZVNwZWM8XG4gICAgU3ViVmlldyxcbiAgICBMYXlvdXRWaWV3LFxuICAgIFN1YkRhdGEsXG4gICAgU3ViUXVlcnlEYXRhLFxuICAgIFN1YkZyYWdtZW50S2V5LFxuICAgIFN1YlF1ZXJ5VmFyaWFibGVzXG4gID5bXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlQaWNrZXJDb25maWc8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIFBpY2tlckZyYWdtZW50RGF0YSA9IHVua25vd24sXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuICBWYWx1ZVF1ZXJ5RGF0YSA9IEJhY2tvZmZpY2VBbGlhc2VkUGlja2VyVmFsdWVSZXNwb25zZTxzdHJpbmcsIFJvd1JlZj4sXG4+ID0ge1xuICBxdWVyeTogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIGZyYWdtZW50OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgYnVpbGRRdWVyeVZhcmlhYmxlczogKFxuICAgIGlucHV0OiBCYWNrb2ZmaWNlUGlja2VyUXVlcnlJbnB1dDxUT3BlcmF0aW9uLCBUV2hlcmU+LFxuICApID0+IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddO1xuICB2YWx1ZT86IEJhY2tvZmZpY2VQaWNrZXJWYWx1ZUNvbmZpZzxSb3dSZWYsIFJvd1ZpZXcsIFZhbHVlUXVlcnlEYXRhPjtcbiAgZ2V0Q29ubmVjdGlvbjogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKGRhdGE6IFBpY2tlckZyYWdtZW50RGF0YSkgPT4gQmFja29mZmljZUNvbm5lY3Rpb248Um93UmVmPlxuICA+O1xuICB0b1JvdzogQml2YXJpYW50Q2FsbGJhY2s8KHJvd1JlZjogUm93UmVmKSA9PiBSb3dWaWV3PjtcbiAgZ2V0Um93SWQ6IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvd1ZpZXcpID0+IHN0cmluZz47XG4gIHNlYXJjaEVuYWJsZWQ/OiBib29sZWFuO1xuICBzZWFyY2hSZXF1aXJlZD86IGJvb2xlYW47XG4gIHNlYXJjaFBsYWNlaG9sZGVyPzogSTE4bkxhYmVsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVRvb2xFbnRpdHlDb25maWcgPSB7XG4gIGtpbmQ6ICd0b29sJztcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw/OiBJMThuTGFiZWw7XG4gIHJvdXRlPzogc3RyaW5nO1xuICBvcGVyYXRpb246IEJhY2tvZmZpY2VUb29sT3BlcmF0aW9uO1xuICBsaXN0PzogbmV2ZXI7XG4gIGRldGFpbD86IG5ldmVyO1xuICBwaWNrZXI/OiBuZXZlcjtcbiAgcm91dGVzPzogbmV2ZXI7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdEZhY2V0Q29uZmlnPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBMaXN0RnJhZ21lbnREYXRhLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbiAgVFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxUT3BlcmF0aW9uPixcbj4gPSB7XG4gIGtpbmQ6ICdsaXN0JztcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgbGlzdDogQmFja29mZmljZUVudGl0eUxpc3RDb25maWc8XG4gICAgVE9wZXJhdGlvbixcbiAgICBSb3dSZWYsXG4gICAgUm93VmlldyxcbiAgICBMaXN0RnJhZ21lbnREYXRhLFxuICAgIFRXaGVyZSxcbiAgICBUU29ydFxuICA+O1xuICBsaXN0QWN0aW9ucz86IHJlYWRvbmx5IEJhY2tvZmZpY2VMaXN0QWN0aW9uU3BlY1tdO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBpY2tlckZhY2V0Q29uZmlnPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBQaWNrZXJGcmFnbWVudERhdGEsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuICBWYWx1ZVF1ZXJ5RGF0YSA9IEJhY2tvZmZpY2VBbGlhc2VkUGlja2VyVmFsdWVSZXNwb25zZTxzdHJpbmcsIFJvd1JlZj4sXG4+ID0ge1xuICBraW5kOiAncGlja2VyJztcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgcGlja2VyOiBCYWNrb2ZmaWNlRW50aXR5UGlja2VyQ29uZmlnPFxuICAgIFRPcGVyYXRpb24sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgUGlja2VyRnJhZ21lbnREYXRhLFxuICAgIFRXaGVyZSxcbiAgICBWYWx1ZVF1ZXJ5RGF0YVxuICA+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VzU3BlYzxcbiAgTGF5b3V0VmlldyA9IHVua25vd24sXG4gIFBhZ2UgZXh0ZW5kcyBCYWNrb2ZmaWNlRGV0YWlsUGFnZVJvdXRlU3BlYzxMYXlvdXRWaWV3PiA9XG4gICAgQmFja29mZmljZURldGFpbFBhZ2VSb3V0ZVNwZWM8TGF5b3V0Vmlldz4sXG4+ID0ge1xuICB0aXRsZTogSTE4bkxhYmVsO1xuICBoZWFkZXI6IEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJDb25maWc8TGF5b3V0Vmlldz47XG4gIG1haW5QYWdlOiBQYWdlO1xuICBzdWJQYWdlcz86IHJlYWRvbmx5IFBhZ2VbXTtcbiAgZGVmYXVsdFBhZ2VJZDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbExheW91dEZhY2V0Q29uZmlnPFxuICBMYXlvdXREYXRhID0gYW55LFxuICBMYXlvdXRWaWV3ID0gYW55LFxuICBMYXlvdXRRdWVyeURhdGEgPSB1bmtub3duLFxuICBMYXlvdXRGcmFnbWVudEtleSA9IHVua25vd24sXG4gIExheW91dFF1ZXJ5VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+ID0ge1xuICBraW5kOiAnZGV0YWlsLWxheW91dCc7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIGhlYWRlcjogQmFja29mZmljZURldGFpbEhlYWRlckNvbmZpZzxMYXlvdXRWaWV3PjtcbiAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgbGF5b3V0UGFnZTogQmFja29mZmljZURldGFpbExheW91dFNwZWM8XG4gICAgTGF5b3V0VmlldyxcbiAgICBMYXlvdXREYXRhLFxuICAgIExheW91dFF1ZXJ5RGF0YSxcbiAgICBMYXlvdXRGcmFnbWVudEtleSxcbiAgICBMYXlvdXRRdWVyeVZhcmlhYmxlc1xuICA+O1xuICBwYWdlczogQmFja29mZmljZURldGFpbFBhZ2VzU3BlYzxMYXlvdXRWaWV3Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQYWdlRmFjZXRDb25maWc8XG4gIExheW91dFZpZXcgPSB1bmtub3duLFxuICBEZXRhaWxEYXRhID0gYW55LFxuICBEZXRhaWxWaWV3ID0gYW55LFxuICBEZXRhaWxRdWVyeURhdGEgPSB1bmtub3duLFxuICBEZXRhaWxGcmFnbWVudEtleSA9IHVua25vd24sXG4gIERldGFpbFF1ZXJ5VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+ID0ge1xuICBraW5kOiAnZGV0YWlsLXBhZ2UnO1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICB0aXRsZTogSTE4bkxhYmVsO1xuICBoZWFkZXI6IEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJDb25maWc8TGF5b3V0Vmlldz47XG4gIHBhZ2U6IEJhY2tvZmZpY2VEZXRhaWxQYWdlU3BlYzxcbiAgICBEZXRhaWxWaWV3LFxuICAgIExheW91dFZpZXcsXG4gICAgRGV0YWlsRGF0YSxcbiAgICBEZXRhaWxRdWVyeURhdGEsXG4gICAgRGV0YWlsRnJhZ21lbnRLZXksXG4gICAgRGV0YWlsUXVlcnlWYXJpYWJsZXNcbiAgPjtcbiAgcGFnZXM6IEJhY2tvZmZpY2VEZXRhaWxQYWdlc1NwZWM8TGF5b3V0Vmlldz47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVG9vbEZhY2V0Q29uZmlnID0ge1xuICBraW5kOiAndG9vbCc7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIHRvb2w6IEJhY2tvZmZpY2VUb29sRW50aXR5Q29uZmlnO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUZhY2V0Q29uZmlnQmFzZSA9XG4gIHwgQmFja29mZmljZUxpc3RGYWNldENvbmZpZ0Jhc2VcbiAgfCBCYWNrb2ZmaWNlUGlja2VyRmFjZXRDb25maWdCYXNlXG4gIHwgQmFja29mZmljZURldGFpbExheW91dEZhY2V0Q29uZmlnQmFzZVxuICB8IEJhY2tvZmZpY2VEZXRhaWxQYWdlRmFjZXRDb25maWdCYXNlXG4gIHwgQmFja29mZmljZVRvb2xGYWNldENvbmZpZztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxvYWRlZExpc3RGYWNldE1vZHVsZSA9IHtcbiAga2luZDogJ2xpc3QnO1xuICBpZDogc3RyaW5nO1xuICBjb25maWc6IEJhY2tvZmZpY2VMaXN0RmFjZXRDb25maWdCYXNlO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxvYWRlZFBpY2tlckZhY2V0TW9kdWxlID0ge1xuICBraW5kOiAncGlja2VyJztcbiAgaWQ6IHN0cmluZztcbiAgY29uZmlnOiBCYWNrb2ZmaWNlUGlja2VyRmFjZXRDb25maWdCYXNlO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxvYWRlZERldGFpbExheW91dEZhY2V0TW9kdWxlID0ge1xuICBraW5kOiAnZGV0YWlsLWxheW91dCc7XG4gIGlkOiBzdHJpbmc7XG4gIGNvbmZpZzogQmFja29mZmljZURldGFpbExheW91dEZhY2V0Q29uZmlnQmFzZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMb2FkZWREZXRhaWxQYWdlRmFjZXRNb2R1bGUgPSB7XG4gIGtpbmQ6ICdkZXRhaWwtcGFnZSc7XG4gIGlkOiBzdHJpbmc7XG4gIHBhZ2VJZDogc3RyaW5nO1xuICBjb25maWc6IEJhY2tvZmZpY2VEZXRhaWxQYWdlRmFjZXRDb25maWdCYXNlO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxvYWRlZFRvb2xGYWNldE1vZHVsZSA9IHtcbiAga2luZDogJ3Rvb2wnO1xuICBpZDogc3RyaW5nO1xuICBjb25maWc6IEJhY2tvZmZpY2VUb29sRmFjZXRDb25maWc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUnVudGltZU9wZXJhdGlvbiA9IE9wZXJhdGlvblR5cGUgJiB7XG4gIHZhcmlhYmxlczoge1xuICAgIFtrZXk6IHN0cmluZ106IHVua25vd247XG4gICAgd2hlcmU/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgc29ydD86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgY291bnQ/OiBudW1iZXI7XG4gICAgY3Vyc29yPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgfTtcbiAgcmVzcG9uc2U6IHVua25vd247XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUnVudGltZUxpc3RGYWNldENvbmZpZyA9IEJhY2tvZmZpY2VMaXN0RmFjZXRDb25maWc8XG4gIGFueSxcbiAgYW55LFxuICBhbnksXG4gIGFueSxcbiAgUmVjb3JkPHN0cmluZywgYW55PixcbiAgYW55XG4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUnVudGltZVBpY2tlckZhY2V0Q29uZmlnID0gQmFja29mZmljZVBpY2tlckZhY2V0Q29uZmlnPFxuICBhbnksXG4gIGFueSxcbiAgYW55LFxuICBhbnksXG4gIFJlY29yZDxzdHJpbmcsIGFueT5cbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMb2FkZWRFbnRpdHlGYWNldE1vZHVsZSA9XG4gIHwgQmFja29mZmljZUxvYWRlZExpc3RGYWNldE1vZHVsZVxuICB8IEJhY2tvZmZpY2VMb2FkZWRQaWNrZXJGYWNldE1vZHVsZVxuICB8IEJhY2tvZmZpY2VMb2FkZWREZXRhaWxMYXlvdXRGYWNldE1vZHVsZVxuICB8IEJhY2tvZmZpY2VMb2FkZWREZXRhaWxQYWdlRmFjZXRNb2R1bGVcbiAgfCBCYWNrb2ZmaWNlTG9hZGVkVG9vbEZhY2V0TW9kdWxlO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdEZhY2V0TG9hZGVyID1cbiAgKCkgPT4gUHJvbWlzZTxCYWNrb2ZmaWNlTG9hZGVkTGlzdEZhY2V0TW9kdWxlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBpY2tlckZhY2V0TG9hZGVyID1cbiAgKCkgPT4gUHJvbWlzZTxCYWNrb2ZmaWNlTG9hZGVkUGlja2VyRmFjZXRNb2R1bGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRMb2FkZXIgPVxuICAoKSA9PiBQcm9taXNlPEJhY2tvZmZpY2VMb2FkZWREZXRhaWxMYXlvdXRGYWNldE1vZHVsZT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQYWdlRmFjZXRMb2FkZXIgPSAoXG4gIHBhZ2VJZDogc3RyaW5nLFxuKSA9PiBQcm9taXNlPEJhY2tvZmZpY2VMb2FkZWREZXRhaWxQYWdlRmFjZXRNb2R1bGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVG9vbEZhY2V0TG9hZGVyID1cbiAgKCkgPT4gUHJvbWlzZTxCYWNrb2ZmaWNlTG9hZGVkVG9vbEZhY2V0TW9kdWxlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3REZXRhaWxGYWNldExvYWRlck1hcCA9IHtcbiAgbGlzdD86IEJhY2tvZmZpY2VMaXN0RmFjZXRMb2FkZXI7XG4gIHBpY2tlcj86IEJhY2tvZmZpY2VQaWNrZXJGYWNldExvYWRlcjtcbiAgZGV0YWlsTGF5b3V0OiBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRMb2FkZXI7XG4gIGRldGFpbFBhZ2U6IEJhY2tvZmZpY2VEZXRhaWxQYWdlRmFjZXRMb2FkZXI7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVG9vbEZhY2V0TG9hZGVyTWFwID0ge1xuICB0b29sOiBCYWNrb2ZmaWNlVG9vbEZhY2V0TG9hZGVyO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUZhY2V0TG9hZGVyTWFwID1cbiAgfCBCYWNrb2ZmaWNlTGlzdERldGFpbEZhY2V0TG9hZGVyTWFwXG4gIHwgQmFja29mZmljZVRvb2xGYWNldExvYWRlck1hcDtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbSA9IHtcbiAgaWQ6IHN0cmluZztcbiAga2luZDogQmFja29mZmljZUVudGl0eU1hbmlmZXN0S2luZDtcbiAgcm91dGVTZWdtZW50OiBzdHJpbmc7XG4gIGdyb3VwSWQ/OiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIHJvdXRlczogQmFja29mZmljZUVudGl0eVJvdXRlTWFuaWZlc3Q7XG4gIGhhc0xpc3Q6IGJvb2xlYW47XG4gIGRldGFpbFBhZ2VzPzogcmVhZG9ubHkgQmFja29mZmljZURldGFpbFBhZ2VNYW5pZmVzdEl0ZW1bXTtcbiAgZGVmYXVsdERldGFpbFBhZ2VJZD86IHN0cmluZztcbiAgZmFjZXRzOiBCYWNrb2ZmaWNlRW50aXR5RmFjZXRMb2FkZXJNYXA7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RNYXAgPSBSZWNvcmQ8XG4gIHN0cmluZyxcbiAgQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbVxuPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU1hbmlmZXN0RW50aXR5SWQ8VE1hbmlmZXN0PiA9IEV4dHJhY3Q8XG4gIGtleW9mIFRNYW5pZmVzdCxcbiAgc3RyaW5nXG4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTWFuaWZlc3RMaXN0RW50aXR5SWQ8VE1hbmlmZXN0PiA9IHtcbiAgW1RFbnRpdHlJZCBpbiBCYWNrb2ZmaWNlTWFuaWZlc3RFbnRpdHlJZDxUTWFuaWZlc3Q+XTogVE1hbmlmZXN0W1RFbnRpdHlJZF0gZXh0ZW5kcyB7XG4gICAga2luZDogJ2xpc3QtZGV0YWlsJztcbiAgICBoYXNMaXN0OiB0cnVlO1xuICB9XG4gICAgPyBURW50aXR5SWRcbiAgICA6IG5ldmVyO1xufVtCYWNrb2ZmaWNlTWFuaWZlc3RFbnRpdHlJZDxUTWFuaWZlc3Q+XSBleHRlbmRzIGluZmVyIFRFbnRpdHlJZFxuICA/IFtURW50aXR5SWRdIGV4dGVuZHMgW25ldmVyXVxuICAgID8gc3RyaW5nIGV4dGVuZHMgQmFja29mZmljZU1hbmlmZXN0RW50aXR5SWQ8VE1hbmlmZXN0PlxuICAgICAgPyBzdHJpbmdcbiAgICAgIDogbmV2ZXJcbiAgICA6IEV4dHJhY3Q8VEVudGl0eUlkLCBzdHJpbmc+XG4gIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VNYW5pZmVzdERldGFpbEVudGl0eUlkPFRNYW5pZmVzdD4gPSB7XG4gIFtURW50aXR5SWQgaW4gQmFja29mZmljZU1hbmlmZXN0RW50aXR5SWQ8VE1hbmlmZXN0Pl06IFRNYW5pZmVzdFtURW50aXR5SWRdIGV4dGVuZHMge1xuICAgIGtpbmQ6ICdsaXN0LWRldGFpbCc7XG4gIH1cbiAgICA/IFRFbnRpdHlJZFxuICAgIDogbmV2ZXI7XG59W0JhY2tvZmZpY2VNYW5pZmVzdEVudGl0eUlkPFRNYW5pZmVzdD5dIGV4dGVuZHMgaW5mZXIgVEVudGl0eUlkXG4gID8gW1RFbnRpdHlJZF0gZXh0ZW5kcyBbbmV2ZXJdXG4gICAgPyBzdHJpbmcgZXh0ZW5kcyBCYWNrb2ZmaWNlTWFuaWZlc3RFbnRpdHlJZDxUTWFuaWZlc3Q+XG4gICAgICA/IHN0cmluZ1xuICAgICAgOiBuZXZlclxuICAgIDogRXh0cmFjdDxURW50aXR5SWQsIHN0cmluZz5cbiAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU1hbmlmZXN0VG9vbElkPFRNYW5pZmVzdD4gPSB7XG4gIFtURW50aXR5SWQgaW4gQmFja29mZmljZU1hbmlmZXN0RW50aXR5SWQ8VE1hbmlmZXN0Pl06IFRNYW5pZmVzdFtURW50aXR5SWRdIGV4dGVuZHMge1xuICAgIGtpbmQ6ICd0b29sJztcbiAgfVxuICAgID8gVEVudGl0eUlkXG4gICAgOiBuZXZlcjtcbn1bQmFja29mZmljZU1hbmlmZXN0RW50aXR5SWQ8VE1hbmlmZXN0Pl0gZXh0ZW5kcyBpbmZlciBURW50aXR5SWRcbiAgPyBbVEVudGl0eUlkXSBleHRlbmRzIFtuZXZlcl1cbiAgICA/IHN0cmluZyBleHRlbmRzIEJhY2tvZmZpY2VNYW5pZmVzdEVudGl0eUlkPFRNYW5pZmVzdD5cbiAgICAgID8gc3RyaW5nXG4gICAgICA6IG5ldmVyXG4gICAgOiBFeHRyYWN0PFRFbnRpdHlJZCwgc3RyaW5nPlxuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTWFuaWZlc3REZXRhaWxQYWdlSWQ8XG4gIFRNYW5pZmVzdCxcbiAgVEVudGl0eUlkIGV4dGVuZHMgQmFja29mZmljZU1hbmlmZXN0RGV0YWlsRW50aXR5SWQ8VE1hbmlmZXN0Pixcbj4gPSBUTWFuaWZlc3RbVEVudGl0eUlkXSBleHRlbmRzIHtcbiAgZGV0YWlsUGFnZXM6IHJlYWRvbmx5IChpbmZlciBUUGFnZSlbXTtcbn1cbiAgPyBUUGFnZSBleHRlbmRzIHsgaWQ6IGluZmVyIFRQYWdlSWQgfVxuICAgID8gRXh0cmFjdDxUUGFnZUlkLCBzdHJpbmc+XG4gICAgOiBzdHJpbmdcbiAgOiBzdHJpbmc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZExpc3RGYWNldENvbmZpZzxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgTGlzdEZyYWdtZW50RGF0YSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4+ID0gQmFja29mZmljZUxpc3RGYWNldENvbmZpZzxcbiAgVE9wZXJhdGlvbixcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBMaXN0RnJhZ21lbnREYXRhLFxuICBUV2hlcmUsXG4gIFRTb3J0XG4+ICYge1xuICByb3V0ZXM6IEJhY2tvZmZpY2VFbnRpdHlSb3V0ZXM7XG4gIGxpc3RVcmxDb2RlYz86IEJhY2tvZmZpY2VMaXN0VXJsQ29kZWM8VFdoZXJlLCBUU29ydD47XG4gIGxpc3REZWZhdWx0cz86IEJhY2tvZmZpY2VMaXN0U3RhdGU8VFdoZXJlLCBUU29ydD47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWRQaWNrZXJGYWNldENvbmZpZzxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgUGlja2VyRnJhZ21lbnREYXRhLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbj4gPSBCYWNrb2ZmaWNlUGlja2VyRmFjZXRDb25maWc8XG4gIFRPcGVyYXRpb24sXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgUGlja2VyRnJhZ21lbnREYXRhLFxuICBUV2hlcmVcbj4gJiB7XG4gIHJvdXRlczogQmFja29mZmljZUVudGl0eVJvdXRlcztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbExheW91dEZhY2V0Q29uZmlnPFxuICBMYXlvdXRSZWYgPSBhbnksXG4gIExheW91dFZpZXcgPSBhbnksXG4gIExheW91dFF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIExheW91dEZyYWdtZW50UmVmID0gdW5rbm93bixcbiAgTGF5b3V0UXVlcnlWYXJpYWJsZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRDb25maWc8XG4gIExheW91dFJlZixcbiAgTGF5b3V0VmlldyxcbiAgTGF5b3V0UXVlcnlEYXRhLFxuICBMYXlvdXRGcmFnbWVudFJlZixcbiAgTGF5b3V0UXVlcnlWYXJpYWJsZXNcbj4gJiB7XG4gIHJvdXRlczogQmFja29mZmljZUVudGl0eVJvdXRlcztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbFBhZ2VGYWNldENvbmZpZzxcbiAgTGF5b3V0VmlldyA9IHVua25vd24sXG4gIERldGFpbFJlZiA9IGFueSxcbiAgRGV0YWlsVmlldyA9IGFueSxcbiAgRGV0YWlsUXVlcnlEYXRhID0gdW5rbm93bixcbiAgRGV0YWlsRnJhZ21lbnRSZWYgPSB1bmtub3duLFxuICBEZXRhaWxRdWVyeVZhcmlhYmxlcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPiA9IEJhY2tvZmZpY2VEZXRhaWxQYWdlRmFjZXRDb25maWc8XG4gIExheW91dFZpZXcsXG4gIERldGFpbFJlZixcbiAgRGV0YWlsVmlldyxcbiAgRGV0YWlsUXVlcnlEYXRhLFxuICBEZXRhaWxGcmFnbWVudFJlZixcbiAgRGV0YWlsUXVlcnlWYXJpYWJsZXNcbj4gJiB7XG4gIHJvdXRlczogQmFja29mZmljZUVudGl0eVJvdXRlcztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZFRvb2xGYWNldENvbmZpZyA9IEJhY2tvZmZpY2VUb29sRmFjZXRDb25maWcgJiB7XG4gIHJvdXRlOiBzdHJpbmc7XG4gIHJvdXRlczogQmFja29mZmljZUVudGl0eVJvdXRlcztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZEVudGl0eUZhY2V0Q29uZmlnQmFzZSA9XG4gIHwgQmFja29mZmljZVJlc29sdmVkTGlzdEZhY2V0Q29uZmlnQmFzZVxuICB8IEJhY2tvZmZpY2VSZXNvbHZlZFBpY2tlckZhY2V0Q29uZmlnQmFzZVxuICB8IEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbExheW91dEZhY2V0Q29uZmlnQmFzZVxuICB8IEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbFBhZ2VGYWNldENvbmZpZ0Jhc2VcbiAgfCBCYWNrb2ZmaWNlUmVzb2x2ZWRUb29sRmFjZXRDb25maWc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZExpc3RGYWNldE1vZHVsZSA9IHtcbiAga2luZDogJ2xpc3QnO1xuICBpZDogc3RyaW5nO1xuICBtYW5pZmVzdDogQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbTtcbiAgY29uZmlnOiBCYWNrb2ZmaWNlUmVzb2x2ZWRMaXN0RmFjZXRDb25maWdCYXNlO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkUGlja2VyRmFjZXRNb2R1bGUgPSB7XG4gIGtpbmQ6ICdwaWNrZXInO1xuICBpZDogc3RyaW5nO1xuICBtYW5pZmVzdDogQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbTtcbiAgY29uZmlnOiBCYWNrb2ZmaWNlUmVzb2x2ZWRQaWNrZXJGYWNldENvbmZpZ0Jhc2U7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxMYXlvdXRGYWNldE1vZHVsZSA9IHtcbiAga2luZDogJ2RldGFpbC1sYXlvdXQnO1xuICBpZDogc3RyaW5nO1xuICBtYW5pZmVzdDogQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbTtcbiAgY29uZmlnOiBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxMYXlvdXRGYWNldENvbmZpZ0Jhc2U7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxQYWdlRmFjZXRNb2R1bGUgPSB7XG4gIGtpbmQ6ICdkZXRhaWwtcGFnZSc7XG4gIGlkOiBzdHJpbmc7XG4gIHBhZ2VJZDogc3RyaW5nO1xuICBtYW5pZmVzdDogQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbTtcbiAgY29uZmlnOiBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxQYWdlRmFjZXRDb25maWdCYXNlO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkVG9vbEZhY2V0TW9kdWxlID0ge1xuICBraW5kOiAndG9vbCc7XG4gIGlkOiBzdHJpbmc7XG4gIG1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xuICBjb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZFRvb2xGYWNldENvbmZpZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZEVudGl0eUZhY2V0TW9kdWxlID1cbiAgfCBCYWNrb2ZmaWNlUmVzb2x2ZWRMaXN0RmFjZXRNb2R1bGVcbiAgfCBCYWNrb2ZmaWNlUmVzb2x2ZWRQaWNrZXJGYWNldE1vZHVsZVxuICB8IEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbExheW91dEZhY2V0TW9kdWxlXG4gIHwgQmFja29mZmljZVJlc29sdmVkRGV0YWlsUGFnZUZhY2V0TW9kdWxlXG4gIHwgQmFja29mZmljZVJlc29sdmVkVG9vbEZhY2V0TW9kdWxlO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdEZhY2V0Q29uZmlnQmFzZSA9IEJhY2tvZmZpY2VSdW50aW1lTGlzdEZhY2V0Q29uZmlnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUGlja2VyRmFjZXRDb25maWdCYXNlID1cbiAgQmFja29mZmljZVJ1bnRpbWVQaWNrZXJGYWNldENvbmZpZztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbExheW91dEZhY2V0Q29uZmlnQmFzZSA9XG4gIEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRGYWNldENvbmZpZzxhbnksIGFueSwgYW55LCBhbnksIGFueT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQYWdlRmFjZXRDb25maWdCYXNlID1cbiAgQmFja29mZmljZURldGFpbFBhZ2VGYWNldENvbmZpZzxhbnksIGFueSwgYW55LCBhbnksIGFueSwgYW55PjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkTGlzdEZhY2V0Q29uZmlnQmFzZSA9XG4gIEJhY2tvZmZpY2VSZXNvbHZlZExpc3RGYWNldENvbmZpZzxcbiAgICBhbnksXG4gICAgYW55LFxuICAgIGFueSxcbiAgICBhbnksXG4gICAgUmVjb3JkPHN0cmluZywgYW55PixcbiAgICBhbnlcbiAgPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkUGlja2VyRmFjZXRDb25maWdCYXNlID1cbiAgQmFja29mZmljZVJlc29sdmVkUGlja2VyRmFjZXRDb25maWc8YW55LCBhbnksIGFueSwgYW55LCBSZWNvcmQ8c3RyaW5nLCBhbnk+PjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkRGV0YWlsTGF5b3V0RmFjZXRDb25maWdCYXNlID1cbiAgQmFja29mZmljZVJlc29sdmVkRGV0YWlsTGF5b3V0RmFjZXRDb25maWc8YW55LCBhbnksIGFueSwgYW55LCBhbnk+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxQYWdlRmFjZXRDb25maWdCYXNlID1cbiAgQmFja29mZmljZVJlc29sdmVkRGV0YWlsUGFnZUZhY2V0Q29uZmlnPGFueSwgYW55LCBhbnksIGFueSwgYW55LCBhbnk+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUnVudGltZVJlc29sdmVkTGlzdEZhY2V0Q29uZmlnID1cbiAgQmFja29mZmljZVJlc29sdmVkTGlzdEZhY2V0Q29uZmlnQmFzZTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJ1bnRpbWVSZXNvbHZlZFBpY2tlckZhY2V0Q29uZmlnID1cbiAgQmFja29mZmljZVJlc29sdmVkUGlja2VyRmFjZXRDb25maWdCYXNlO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUnVudGltZUNvbm5lY3Rpb25MaXN0Q29uZmlnID1cbiAgQmFja29mZmljZUNvbm5lY3Rpb25MaXN0Q29uZmlnPGFueSwgYW55LCBhbnksIGFueSwgUmVjb3JkPHN0cmluZywgYW55PiwgYW55PjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJ1bnRpbWVSZWNvcmRMaXN0Q29uZmlnID0gQmFja29mZmljZVJlY29yZExpc3RDb25maWc8XG4gIGFueSxcbiAgYW55LFxuICBhbnksXG4gIGFueSxcbiAgUmVjb3JkPHN0cmluZywgYW55PixcbiAgYW55XG4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUnVudGltZUVudGl0eUxpc3RDb25maWcgPSBCYWNrb2ZmaWNlRW50aXR5TGlzdENvbmZpZzxcbiAgYW55LFxuICBhbnksXG4gIGFueSxcbiAgYW55LFxuICBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICBhbnlcbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSdW50aW1lRW50aXR5UGlja2VyQ29uZmlnID0gQmFja29mZmljZUVudGl0eVBpY2tlckNvbmZpZzxcbiAgYW55LFxuICBhbnksXG4gIGFueSxcbiAgYW55LFxuICBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5RmFjZXRNb2R1bGVDYWNoZUVudHJ5ID0ge1xuICBzdGF0dXM6IEJhY2tvZmZpY2VFbnRpdHlNb2R1bGVTdGF0dXM7XG4gIHByb21pc2U/OiBQcm9taXNlPEJhY2tvZmZpY2VSZXNvbHZlZEVudGl0eUZhY2V0TW9kdWxlPjtcbiAgbW9kdWxlPzogQmFja29mZmljZVJlc29sdmVkRW50aXR5RmFjZXRNb2R1bGU7XG4gIGVycm9yPzogRXJyb3I7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVG9vbFZhcmlhYmxlc0NvbnRleHQgPSB7XG4gIHNjb3BlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgcnVuOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNsYXNzIEJhY2tvZmZpY2VUb29sVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBwdWJsaWMgbGFiZWw6IEkxOG5MYWJlbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IobGFiZWw6IEkxOG5MYWJlbCkge1xuICAgIHN1cGVyKCdCYWNrb2ZmaWNlIHRvb2wgdmFsaWRhdGlvbiBlcnJvcicpO1xuICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVG9vbE9wZXJhdGlvbiA9IHtcbiAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgc3VidGl0bGU/OiBJMThuTGFiZWw7XG4gIGlucHV0VHlwZVNETD86IHN0cmluZztcbiAgcXVlcnk6IEdyYXBoUUxUYWdnZWROb2RlO1xuICBpbnB1dHM/OiByZWFkb25seSBCYWNrb2ZmaWNlVG9vbElucHV0U3BlY1tdO1xuICBvdXRwdXRzPzogcmVhZG9ubHkgQmFja29mZmljZVRvb2xPdXRwdXRTcGVjW107XG4gIHJlbmRlcj86IChkYXRhOiB1bmtub3duKSA9PiB1bmtub3duO1xuICBzaG93UHJvamVjdFBpY2tlcj86IGJvb2xlYW47XG4gIGJ1aWxkVmFyaWFibGVzPzogKFxuICAgIGlucHV0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICBjb250ZXh0OiBCYWNrb2ZmaWNlVG9vbFZhcmlhYmxlc0NvbnRleHQsXG4gICkgPT4gUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVG9vbElucHV0U3BlYyA9XG4gIHwge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGtpbmQ6ICd0ZXh0JztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBwbGFjZWhvbGRlcj86IEkxOG5MYWJlbDtcbiAgICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGtpbmQ6ICdqc29uJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBwbGFjZWhvbGRlcj86IEkxOG5MYWJlbDtcbiAgICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGtpbmQ6ICdlbnVtJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBvcHRpb25zOiByZWFkb25seSB7IHZhbHVlOiBzdHJpbmc7IGxhYmVsOiBJMThuTGFiZWwgfVtdO1xuICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAga2luZDogJ2Jvb2xlYW4nO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIGRlZmF1bHRWYWx1ZT86IGJvb2xlYW47XG4gICAgfVxuICB8IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBraW5kOiAnZW50aXR5SWQnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIGVudGl0eTogc3RyaW5nO1xuICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb29sT3V0cHV0U3BlYyA9XG4gIHwge1xuICAgICAga2luZDogJ3RhYmxlJztcbiAgICAgIGxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gICAgICBjb2x1bW5zOiByZWFkb25seSBCYWNrb2ZmaWNlQ29sdW1uU3BlY1tdO1xuICAgICAgcm93czogKGRhdGE6IHVua25vd24pID0+IHJlYWRvbmx5IHVua25vd25bXTtcbiAgICB9XG4gIHwge1xuICAgICAga2luZDogJ2NvZGUnO1xuICAgICAgbGFiZWw/OiBJMThuTGFiZWw7XG4gICAgICBkZXNjcmlwdGlvbj86IEkxOG5MYWJlbDtcbiAgICAgIHZhbHVlOiAoZGF0YTogdW5rbm93bikgPT4gc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICBraW5kOiAnanNvbic7XG4gICAgICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgICAgIGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xuICAgICAgdmFsdWU6IChkYXRhOiB1bmtub3duKSA9PiB1bmtub3duO1xuICAgIH1cbiAgfCB7XG4gICAgICBraW5kOiAna2V5VmFsdWUnO1xuICAgICAgbGFiZWw/OiBJMThuTGFiZWw7XG4gICAgICBkZXNjcmlwdGlvbj86IEkxOG5MYWJlbDtcbiAgICAgIGl0ZW1zOiByZWFkb25seSB7XG4gICAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICAgIHZhbHVlOiAoZGF0YTogdW5rbm93bikgPT4gQmFja29mZmljZVZhbHVlTGFiZWw7XG4gICAgICB9W107XG4gICAgfVxuICB8IHtcbiAgICAgIGtpbmQ6ICdwYXlsb2FkJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBkZXNjcmlwdGlvbj86IEkxOG5MYWJlbDtcbiAgICAgIHZhbHVlOiAoZGF0YTogdW5rbm93bikgPT4gdW5rbm93bjtcbiAgICAgIGZvcm1hdD86ICdtYXJrZG93bicgfCAnanNvbicgfCAndGV4dCc7XG4gICAgfVxuICB8IHtcbiAgICAgIGtpbmQ6ICdjdXN0b20nO1xuICAgICAgbGFiZWw/OiBJMThuTGFiZWw7XG4gICAgICByZW5kZXI6IChkYXRhOiB1bmtub3duKSA9PiB1bmtub3duO1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VDb25uZWN0aW9uPFJvdz4gPSB7XG4gIGVkZ2VzOiByZWFkb25seSB7IG5vZGU6IFJvdyB9W107XG4gIHRvdGFsQ291bnQ/OiBudW1iZXIgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3REZWZhdWx0czxXaGVyZSwgU29ydCBleHRlbmRzIHN0cmluZz4gPSB7XG4gIHdoZXJlOiBXaGVyZSB8IG51bGw7XG4gIHNvcnQ6IFNvcnQgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVByZXBhcmVkTGlzdFJvdXRlID0ge1xuICBlbnRpdHlJZDogc3RyaW5nO1xuICBlbnRpdHlNYW5pZmVzdDogQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbTtcbiAgZW50aXR5Q29uZmlnOiBCYWNrb2ZmaWNlUmVzb2x2ZWRMaXN0RmFjZXRDb25maWdCYXNlO1xuICBxdWVyeTogUHJlbG9hZGVkUXVlcnk8T3BlcmF0aW9uVHlwZT47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUHJlcGFyZWREZXRhaWxMYXlvdXRSb3V0ZSA9IHtcbiAgZW50aXR5SWQ6IHN0cmluZztcbiAgZW50aXR5TWFuaWZlc3Q6IEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEl0ZW07XG4gIGVudGl0eUNvbmZpZzogQmFja29mZmljZVJlc29sdmVkRGV0YWlsTGF5b3V0RmFjZXRDb25maWdCYXNlO1xuICBsYXlvdXRRdWVyeTogUHJlbG9hZGVkUXVlcnk8T3BlcmF0aW9uVHlwZT47XG4gIGlkOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUHJlcGFyZWREZXRhaWxQYWdlUm91dGUgPSB7XG4gIGVudGl0eUlkOiBzdHJpbmc7XG4gIGVudGl0eU1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xuICBlbnRpdHlDb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbExheW91dEZhY2V0Q29uZmlnQmFzZTtcbiAgaWQ6IHN0cmluZztcbiAgcGFnZUlkOiBzdHJpbmc7XG4gIHBhZ2VQYXRoOiBzdHJpbmc7XG4gIHBhZ2VDb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbFBhZ2VGYWNldENvbmZpZ0Jhc2U7XG4gIHBhZ2VRdWVyeTogUHJlbG9hZGVkUXVlcnk8T3BlcmF0aW9uVHlwZT47XG4gIGRldGFpbElkPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVByZXBhcmVkVG9vbFJvdXRlID0ge1xuICBlbnRpdHlJZDogc3RyaW5nO1xuICBlbnRpdHlNYW5pZmVzdDogQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbTtcbiAgZW50aXR5Q29uZmlnOiBCYWNrb2ZmaWNlUmVzb2x2ZWRUb29sRmFjZXRDb25maWc7XG59O1xuIl19