Plugin Directory

Changeset 3118281


Ignore:
Timestamp:
07/15/2024 12:07:53 PM (17 months ago)
Author:
donmhico
Message:

Sugar Calendar Lite v3.1.2

Location:
sugar-calendar-lite
Files:
1082 added
1 deleted
54 edited

Legend:

Unmodified
Added
Removed
  • sugar-calendar-lite/trunk/assets/css/admin-calendar.css

    r3095175 r3118281  
    528528}
    529529.sugar-calendar-admin-wrap .notice {
    530   margin: 0 0 30px;
     530  margin: 0 0 15px;
    531531}
    532532
     
    571571.sugar-calendar-admin-content p.submit:last-of-type {
    572572  padding-bottom: 0;
     573}
     574.sugar-calendar-admin-content .sugar-calendar-admin-content__settings-form {
     575  padding-top: 15px;
    573576}
    574577
     
    11241127  border: none;
    11251128}
    1126 /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3NzL2FkbWluL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL3ZlbmRvci9jaG9pY2VzL19zdHlsZXMuc2NzcyIsImFzc2V0cy9zY3NzL3ZlbmRvci9jaG9pY2VzL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL3ZlbmRvci9jaG9pY2VzL19ydGwuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19jaG9pY2VzLnNjc3MiLCJhc3NldHMvc2Nzcy92ZW5kb3IvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19nZW5lcmFsLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9faGVhZGVyLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9fZm9ybXMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19taXhpbnMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19idXR0b25zLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9fc3ViaGVhZGVyLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi1jYWxlbmRhci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0FBNERBO0FDOURBO0VBQ0M7RUFDQSxlQ2tCMEI7O0FEaEIxQjtFQUNDLE9DVzBCOztBRFIzQjtFQUNDLE9DTzBCO0VETjFCOztBQUdEO0VBQ0MsT0NFMEI7O0FEQzNCO0VBQ0M7O0FBR0Q7RUFDQzs7QUFJQTtBQUFBO0VBRUMsa0JDckJ5QjtFRHNCekI7RUFDQTs7QUFJRjtFQUNDOztBQUdEO0VBQ0M7O0FBSUE7RUFDQzs7QUFLRDtFQUNDOzs7QUFLSDtFQUNDOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOztBQUdEO0VBQ0M7O0FBSUY7RUFDQzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBOztBQUlBO0VBQ0M7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRjtFQUNDLGVDdEh5Qjs7QUR1SHpCO0VBQ0M7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTs7O0FBTUQ7QUFBQTtFQUNDOztBQUdEO0FBQUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxpQkMvSnlCO0VEZ0t6QjtFQUNBO0VBQ0EsT0NsS3lCO0VEbUt6QixRQ25LeUI7RURvS3pCO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7RUFFQzs7O0FBS0g7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCQ25NMkI7RURvTTNCO0VBQ0E7RUFDQTtFQUNBLGVDcEw0Qjs7O0FEdUw3QjtFQUNDO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7OztBQUtIO0VBQ0M7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBLGVDek4yQjtFRDBOM0I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCQzlPMEI7RUQrTzFCO0VBQ0EsT0NyUDBCO0VEc1AxQjtFQUNBOztBQUVBO0VBQ0Msa0JDclB5Qjs7O0FENFAxQjtFQUNDLGtCQzVQeUI7RUQ2UHpCOzs7QUFLSDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JDN1EyQjtFRDhRM0I7RUFDQTtFQUNBO0VBQ0EsMkJDOVA0QjtFRCtQNUIsNEJDL1A0QjtFRGdRNUI7RUFDQTs7QUFFQTtFQUNDOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBQUlBO0VBQ0M7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFJRjtFQUNDOztBQUVBO0VBQ0M7O0FBS0g7RUFDQzs7O0FBS0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNDOzs7QUFHRDtFQUNDOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPQ3pWMkI7O0FEMlYzQjtFQUNDOzs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQzs7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLRDtFQUNDO0VBQ0E7RUFDQTs7O0FBSUY7RUFDQzs7O0FBTUU7RUFDQzs7QUFNRjtFQUNDOztBQUtEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtEO0VBQ0M7OztBRXBjQztFQUNFO0VBQ0EsY0RnQnFCOztBQ2J2QjtFQUNFO0VBQ0E7O0FBSUo7RUFDRTtFQUNBOztBQUlBO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBTUo7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7O0FBSUE7RUFDRSxjRHJCcUI7RUNzQnJCO0VBQ0E7RUFDQTs7QUFJSjtFQUVJO0lBQ0U7SUFDQTtJQUNBOztFQUNBO0lBQ0U7SUFDQTs7OztBQzFEVjtFQUNDO0VBQ0E7O0FBRUE7RUFDQyxXSmlIaUI7O0FJOUdsQjtFQUNDOztBQUVBO0VBQ0M7O0FBS0Q7RUFDQzs7QUFJRjtFQUNDOztBQzBrQkU7RURqbUJKO0lBMkJFOzs7QUFJRDtFQUNDOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9GbkN5QjtFRW9DekI7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTs7QUFLRDtFQUNDO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOztBQU9GO0FBQUE7RUFDQyxjRnJEeUI7RUVzRHpCO0VBQ0E7O0FBS0Q7RUFDQyxjRjdEeUI7RUU4RHpCO0VBQ0E7O0FBS0Q7RUFDQyxjRnJFeUI7RUVzRXpCO0VBQ0E7RUFDQTs7QUFLRDtFQUNDO0VBQ0E7RUFDQTs7O0FBS0g7RUFDQzs7O0FFakdEO0VBQ0M7RUFDQTs7QUFFQTtFQUpEO0lBS0U7Ozs7QUFLRDtFQUREO0lBRUU7Ozs7QUFLRjtFQUNDOztBQUVBO0VBQ0M7OztBQUtGO0VBQ0M7O0FBRUE7QUFBQTtBQUFBO0VBR0M7O0FBR0Q7RUFDQztFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLE9OekNpQjs7QU00Q2xCO0VBQ0M7O0FBSUE7RUFDQztFQUNBO0VBQ0E7O0FBRUE7RUFDQzs7O0FBWUE7QUFBQTtFQUVDOztBQUdEO0VBQ0M7O0FBR0Q7RUFDQzs7QUFHRDtFQUNDOzs7QUNsR0w7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FGeWxCRztFRS9sQko7SUFTRTs7OztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0Esa0JQWXFCO0VPWHJCO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7O0FGdWtCRTtFRTFrQkg7SUFNRTs7O0FBSUY7RUFDQztFQUNBLE9QWmlCO0VPYWpCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQSxrQlB2QmdCO0VPd0JoQjtFQUNBO0VBQ0E7O0FBR0Q7RUFFQyxPUGxDZ0I7O0FPb0NoQjtFQUNDLGtCUHJDZTs7O0FPMkNuQjtFQUNDO0lBQ0M7OztBQ21FRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT1J0SGtCO0VRdUhsQjtFQUNBO0VBQ0E7O0FBRUE7RUNySUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURpSUM7RUFFQztFQUNBOztBQUlBO0VBQ0Msa0JSckllOztBUTBJaEI7RUFDQzs7QUFLRDtFQUNDLGtCUnpKa0I7O0FRMkpsQjtFQUNDO0VBQ0E7O0FBS0Q7RUFDQyxrQlJqS2lCOztBUXNLbEI7RUFDQzs7QUFNRjtFQUNDOztBQUtBO0VBQ0M7O0FBTUo7QUFBQTtFQUVDO0VBQ0E7O0FBR0Q7RUFDQztFQUNBOztBQUdEO0VBQ0MsT1JqTWlCO0VRa01qQixXUmxHa0I7RVFtR2xCO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0FBQUE7RUFFQzs7QUFHRDtBQUFBO0VBRUM7O0FBR0Q7RUFDQyxrQlJsTmlCO0VRbU5qQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDLFlSbE5tQjtFUW1ObkI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJRjtBQUFBO0FBQUE7RUFHQzs7O0FFL1BGO0VBQ0M7RUFDQTtFQUNBLGVWRFc7RVVFWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDQztFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQyxrQlYxQ3VCO0VVMkN2QixjVjNDdUI7RVU0Q3ZCOztBQUVBO0VBQ0Msa0JWOUNzQjtFVStDdEIsY1YvQ3NCO0VVZ0R0Qjs7QUFHRDtFQUNDO0VBQ0EsY1ZqQ29CO0VVa0NwQjs7O0FBSUY7RUFDQyxrQlYxRHFCO0VVMkRyQixjVjNEcUI7RVU0RHJCOztBQUVBO0VBQ0Msa0JWN0RvQjtFVThEcEIsY1Y5RG9CO0VVK0RwQjs7QUFHRDtFQUNDO0VBQ0EsY1ZuRG9CO0VVb0RwQjs7O0FBSUY7RUFDQyxrQlYxRGlCO0VVMkRqQixjVnBFa0I7RVVxRWxCOztBQUVBO0VBQ0Msa0JWaEVnQjtFVWlFaEIsY1YzRWlCO0VVNEVqQjs7QUFHRDtFQUNDOzs7QUFJRjtFQUNDLGtCVjdFd0I7RVU4RXhCO0VBQ0E7O0FBRUE7RUFDQztFQUNBLGNWL0VvQjtFVWdGcEI7OztBQUlGO0VBQ0Msa0JWM0ZzQjtFVTRGdEI7RUFDQTs7QUFFQTtFQUNDO0VBQ0EsY1YzRm9CO0VVNEZwQjs7O0FDMUhGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JYdUJxQjtFV3RCckI7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7RUFHQzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBLE9YVmtCO0VXV2xCOztBQUdEO0VBQ0MsYVh2Qlc7O0FXeUJYO0VBQ0M7RUFDQTtFQUNBO0VBQ0Esa0JYTG1CO0VXTW5CO0VBQ0E7RUFDQTs7O0FDekJGO0VBQ0M7O0FBRUE7QUFBQTtFSmhCRCxrQlI4QnFCO0VRN0JyQjtFQUNBO0VBQ0E7RUFDQSxPUllrQjtFUVhsQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0VBQ0MsT1JFaUI7O0FRQ2xCO0FBQUE7RUFDQztFQUNBO0VBQ0E7O0FBR0Q7QUFBQTtFQUNDOztBSHdrQkU7RU9obEJGO0FBQUE7SUpZQTs7O0FJUEE7RUpyQkQsa0JSOEJxQjtFUTdCckI7RUFDQTtFQUNBO0VBQ0EsT1JZa0I7RVFYbEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUF3QkE7RUFDQTtFQUNBO0VBQ0E7O0FBekJBO0VBQ0MsT1JFaUI7O0FRQ2xCO0VBQ0M7RUFDQTtFQUNBOztBQUdEO0VBQ0M7O0FId2tCRTtFTzNrQkY7SUpPQTs7O0FJRkM7RUFFQztFQUNBLGVadkJTO0VZd0JUO0VBQ0E7RUFDQTs7QUFLSDtFQUNDO0VBQ0EsZVpyQ1U7O0FZd0NUO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7QUFBQTtFQUVDOztBQUlGO0VBQ0M7RUFDQTtFQUNBLFNabkRVO0VZb0RWLFNacERVO0VZcURWOztBQUVBO0VBQ0M7RUFDQSxZWjNEUzs7QVk2RFQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT1p4RGM7O0FZMkRmO0VBQ0M7O0FBRUE7RUFDQztFQUNBOztBQUlBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxlWnZGSztFWXdGTDtFQUNBLGtCWjdEZTs7QVkrRGY7RUFDQztFQUNBO0VBQ0E7O0FBR0Q7RUFFQztFQUNBOztBQUdEO0VBQ0M7RUFDQSxNWnRHSztFWXVHTDtFQUNBO0VBQ0EsT1p4R0s7RVl5R0wsUVp6R0s7RVkwR0w7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9aNUdXO0VZNkdYO0VBQ0E7O0FBR0Q7RUFDQzs7QUFJRjtFSnhJTCxrQlI4QnFCO0VRN0JyQjtFQUNBO0VBQ0E7RUFDQSxPUllrQjtFUVhsQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFSWdJTTtFQUNBOztBSi9ITjtFQUNDLE9SRWlCOztBUUNsQjtFQUNDO0VBQ0E7RUFDQTs7QUFHRDtFQUNDOztBSHdrQkU7RU94ZEU7SUo1R0o7OztBSW1ISTtFQUtDO0VBQ0E7O0FBS0Q7RUFDQztFQUNBO0VBQ0E7RUFDQSxPWjNJWTs7QVlrSmpCO0VBQ0M7O0FBRUE7RUFDQzs7QUFHRDtFQUNDOztBQU1GO0VBQ0MiLCJmaWxlIjoiYXNzZXRzL2Nzcy9hZG1pbi1jYWxlbmRhci5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBZG1pbiB2YXJpYWJsZXMuXG5cbi8qIFZhcmlhYmxlcyAgKi9cbiRyYWRpdXMtbWQ6IDRweDtcbiRyYWRpdXMtbGc6IDZweDtcbiRyYWRpdXMtc206IDNweDtcbiRzcGFjaW5nLXNtOiAxMHB4O1xuJHNwYWNpbmctbWQ6IDIwcHg7XG4kc3BhY2luZy1sZzogMzBweDtcbiRzcGFjaW5nLXhsOiA1MHB4O1xuJGNvbG9yLWJyYW5kLW9yYW5nZS01MDogI0ZGODg0NUZGO1xuJGNvbG9yLWJyYW5kLW9yYW5nZS03MDogI0NCNkQzN0ZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtNTA6ICMyMjcxQjFGRjtcbiRjb2xvci1icmFuZC1ibHVlLWJyaWdodC01MDogIzAwQTBEMkZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtNzA6ICMwQTRCNzhGRjtcbiRjb2xvci1uZXV0cmFsLTEwMDogIzEwMTUxNztcbiRjb2xvci1uZXV0cmFsLTkwOiAjMUQyMzI3RkY7XG4kY29sb3ItbmV1dHJhbC04MDogIzJDMzMzOEZGO1xuJGNvbG9yLW5ldXRyYWwtNzA6ICMzQzQzNEFGRjtcbiRjb2xvci1uZXV0cmFsLTYwOiAjNTA1NzVFRkY7XG4kY29sb3ItbmV1dHJhbC01MDogIzY0Njk3MEZGO1xuJGNvbG9yLW5ldXRyYWwtMzA6ICM4QzhGOTRGRjtcbiRjb2xvci1uZXV0cmFsLTEwOiAjQzNDNEM3RkY7XG4kY29sb3ItbmV1dHJhbC0yMDogI0E3QUFBREZGO1xuJGNvbG9yLW5ldXRyYWwtNTogI0RDRENERUZGO1xuJGNvbG9yLXV0aWxpdHktcmVkLTUwOiAjRDYzNjM4RkY7XG4kY29sb3ItdXRpbGl0eS15ZWxsb3ctNTA6ICNEQkE2MTdGRjtcbiRjb2xvci11dGlsaXR5LWdyZWVuLTUwOiAjMDA4QTIwRkY7XG4kcmFkaXVzLXhsOiA5cHg7XG4kY29sb3ItbmV1dHJhbC0zOiAjRjBGMEYxRkY7XG4kY29sb3ItbmV1dHJhbC0wOiAjRjZGN0Y3RkY7XG4kY29sb3ItdXRpbGl0eS13aGl0ZTogI0ZGRkZGRkZGO1xuJGNvbG9yLWJyYW5kLW9yYW5nZS0wOiAjRkZGM0VDRkY7XG4kY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtMDogI0U1RjVGQUZGO1xuJGNvbG9yLXV0aWxpdHktZ3JlZW4tMDogI0VERkFFRkZGO1xuJGNvbG9yLXV0aWxpdHktcmVkLTA6ICNGQ0YwRjFGRjtcbiRjb2xvci1icmFuZC1vcmFuZ2UtMzA6ICNGRkEwNkFGRjtcbiRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0zMDogIzY2QzZFNEZGO1xuJGNvbG9yLXV0aWxpdHktZ3JlZW4tMzA6ICMwMEJBMzdGRjtcbiRjb2xvci11dGlsaXR5LXJlZC0zMDogI0Y4NjM2OEZGO1xuJGNvbG9yLXdvcmRwcmVzcy1ibHVlOiAjMjI3MUIxRkY7XG4kY29sb3ItdXRpbGl0eS1ncmF5LTA6ICNGNkY2RjZGRjtcbiRjb2xvci1hY2NlbnQtb3JhbmdlLTUwOiAjRkU5RTY4RkY7XG4kY29sb3ItYWNjZW50LW9yYW5nZS0wOiAjRkZGMEU4RkY7XG4kY29sb3ItYWNjZW50LXJlZC01MDogI0ZGNzM2OEZGO1xuJGNvbG9yLWFjY2VudC1yZWQtMDogI0ZGRUFFOEZGO1xuJGNvbG9yLWFjY2VudC1waW5rLTUwOiAjREY1QjlBRkY7XG4kY29sb3ItYWNjZW50LXBpbmstMDogI0ZBRTZGMEZGO1xuJGNvbG9yLWFjY2VudC1wdXJwbGUtNTA6ICM4NjU5QzJGRjtcbiRjb2xvci1hY2NlbnQtcHVycGxlLTA6ICNFREU2RjZGRjtcbiRjb2xvci1hY2NlbnQtYmx1ZS01MDogIzU2ODVCREZGO1xuJGNvbG9yLWFjY2VudC1ibHVlLTA6ICNFNkVERjVGRjtcbiRjb2xvci1hY2NlbnQtdGVhbC01MDogIzRCQjlBN0ZGO1xuJGNvbG9yLWFjY2VudC10ZWFsLTA6ICNFNEY1RjJGRjtcbiRjb2xvci1hY2NlbnQtZ3JlZW4tNTA6ICM1N0Q0NjZGRjtcbiRjb2xvci1hY2NlbnQtZ3JlZW4tMDogI0U2RjlFOEZGO1xuJGNvbG9yLWFjY2VudC15ZWxsb3ctNTA6ICNGRkM0NjlGRjtcbiRjb2xvci1hY2NlbnQteWVsbG93LTA6ICNGRkY2RTlGRjtcbiRjYWxlbmRhci10ZXh0LXByaW1hcnk6ICMwMDAwMDBEOTtcbiRjYWxlbmRhci10ZXh0LXRlcnRpYXJ5OiAjMDAwMDAwNjY7XG4kY2FsZW5kYXItYmFja2dyb3VuZDogIzAwMDAwMDA4O1xuXG4vKiBBbGlhc2VzICAqL1xuJHRleHQtdGV4dC1wcmltYXJ5OiAkY29sb3ItbmV1dHJhbC04MDtcbiR0ZXh0LXRleHQtc2Vjb25kYXJ5OiAkY29sb3ItbmV1dHJhbC02MDtcbiR0ZXh0LXRleHQtdGVydGlhcnk6ICRjb2xvci1uZXV0cmFsLTUwO1xuJHRleHQtdGV4dC1oZWFkaW5nOiAkY29sb3ItbmV1dHJhbC05MDtcbiR0ZXh0LXRleHQtdGl0bGU6ICRjb2xvci1uZXV0cmFsLTEwMDtcbiRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1vcmFuZ2UtNTA7XG4kYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLTA7XG4kZmllbGRzLWZpZWxkLWJvcmRlcjogJGNvbG9yLW5ldXRyYWwtMzA7XG4kc3VyZmFjZS1zdXJmYWNlLWJvcmRlcjogJGNvbG9yLW5ldXRyYWwtMTA7XG4kc3VyZmFjZS1zdXJmYWNlLWRpdmlkZXI6ICRjb2xvci1uZXV0cmFsLTU7XG4kYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3ZlcjogJGNvbG9yLWJyYW5kLW9yYW5nZS03MDtcbiRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC0taG92ZXI6ICRjb2xvci1icmFuZC1ibHVlLTcwO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlcjogJGNvbG9yLW5ldXRyYWwtMzA7XG4kYnV0dG9ucy1idXR0b24tcHJpbWFyeS10ZXh0OiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcbiRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktdGV4dDogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dDogJGNvbG9yLW5ldXRyYWwtNjA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyLS1ob3ZlcjogJGNvbG9yLW5ldXRyYWwtNjA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZC0tLWhvdmVyOiAkY29sb3ItbmV1dHJhbC0zO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LXRleHQtLWhvdmVyOiAkY29sb3ItbmV1dHJhbC04MDtcbiRidXR0b25zLWJ1dHRvbi13cC1wcmltYXJ5LWJhY2tncm91bmQ6ICMyMjcxQjE7XG4kdGV4dC10ZXh0LWxpbms6ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuJHRleHQtdGV4dC1zdWNjZXNzOiAkY29sb3ItdXRpbGl0eS1ncmVlbi01MDtcbiR0ZXh0LXRleHQtZXJyb3I6ICRjb2xvci11dGlsaXR5LXJlZC01MDtcbiR0ZXh0LXRleHQtd2FybmluZzogJGNvbG9yLXV0aWxpdHkteWVsbG93LTUwO1xuJGZpZWxkcy1maWVsZC1ib3JkZXItLWZvY3VzOiAkY29sb3ItYnJhbmQtYmx1ZS01MDtcbiRmaWVsZHMtZmllbGQtYm9yZGVyLWVycm9yOiAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vZmY6ICRjb2xvci1uZXV0cmFsLTMwO1xuJGZpZWxkcy1maWVsZC1jaG9pY2Utb246ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuJGJhZGdlcy1iYWRnZS1vcmFuZ2UtdGV4dDogJGNvbG9yLWJyYW5kLW9yYW5nZS0zMDtcbiRiYWRnZXMtYmFkZ2Utb3JhbmdlLWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1vcmFuZ2UtMDtcbiRiYWRnZXMtYmFkZ2UtYmx1ZS1iYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtMDtcbiRiYWRnZXMtYmFkZ2UtYmx1ZS10ZXh0OiAkY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtMzA7XG4kYmFkZ2VzLWJhZGdlLWdyZWVuLWJhY2tncm91bmQ6ICRjb2xvci11dGlsaXR5LWdyZWVuLTA7XG4kYmFkZ2VzLWJhZGdlLWdyZWVuLXRleHQ6ICRjb2xvci11dGlsaXR5LWdyZWVuLTMwO1xuJGJhZGdlcy1iYWRnZS1yZWQtYmFja2dyb3VuZDogJGNvbG9yLXV0aWxpdHktcmVkLTA7XG4kYmFkZ2VzLWJhZGdlLXJlZC10ZXh0OiAkY29sb3ItdXRpbGl0eS1yZWQtMzA7XG4kYmFkZ2VzLWJhZGdlLW5ldXRyYWwtYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtNTtcbiRiYWRnZXMtYmFkZ2UtbmV1dHJhbC10ZXh0OiAkY29sb3ItbmV1dHJhbC0zMDtcbiRyYWRpdXMtcmFkaXVzLWJ1dHRvbjogJHJhZGl1cy1tZDtcbiRyYWRpdXMtcmFkaXVzLWZpZWxkOiAkcmFkaXVzLW1kO1xuJHJhZGl1cy1yYWRpdXMtYmFkZ2U6ICRyYWRpdXMtc207XG4kc3VyZmFjZS1zdXJmYWNlLWJvcmRlci1wcmltYXJ5OiAkY29sb3ItYnJhbmQtb3JhbmdlLTUwO1xuJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC0zO1xuJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcbiR0ZXh0LXRleHQtaWNvbjogJGNvbG9yLW5ldXRyYWwtMjA7XG4kc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtbGlnaHQ6ICRjb2xvci11dGlsaXR5LWdyYXktMDtcbiRmaWVsZHMtZmllbGQtY2hvaWNlLW9mZi0taG92ZXI6ICRjb2xvci1uZXV0cmFsLTUwO1xuJGZpZWxkcy1maWVsZC1jaG9pY2Utb24tLWhvdmVyOiAkY29sb3ItYnJhbmQtYmx1ZS03MDtcblxuLy8gRm9udCBzaXplcy5cbiR0ZXh0LWZvbnQtc2l6ZS0yeHM6IDExcHg7XG4kdGV4dC1mb250LXNpemUteHM6IDEycHg7XG4kdGV4dC1mb250LXNpemUtc3M6IDEzcHg7XG4kdGV4dC1mb250LXNpemUtczogMTRweDtcbiR0ZXh0LWZvbnQtc2l6ZS1tOiAxNnB4O1xuJHRleHQtZm9udC1zaXplLWw6IDE4cHg7XG4kdGV4dC1mb250LXNpemUtbGw6IDIwcHg7XG4kdGV4dC1mb250LXNpemUtbGxsOiAyMnB4O1xuJHRleHQtZm9udC1zaXplLXhsOiAyNHB4O1xuJHRleHQtZm9udC1zaXplLXh4bDogMjhweDtcblxuLy8gVHJhbnNpdGlvbnMuXG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1zbG93ZXN0OiAuNTBzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tc2xvd2VyOiAuNDBzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tc2xvdzogLjI1cztcbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLW5vcm1hbDogLjE1cztcbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLWZhc3Q6IC4wNXM7XG4iLCIuI3skY2hvaWNlcy1zZWxlY3Rvcn0ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi1ib3R0b206ICRjaG9pY2VzLWd1dHRlcmluZztcblxuXHQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuXHRcdGNvbG9yOiAkY29sb3JfcGxhY2Vob2xkZXI7XG5cdH1cblxuXHQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuXHRcdGNvbG9yOiAkY29sb3JfcGxhY2Vob2xkZXI7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXG5cdDo6cGxhY2Vob2xkZXIge1xuXHRcdGNvbG9yOiAkY29sb3JfcGxhY2Vob2xkZXI7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHR9XG5cblx0JjpsYXN0LWNoaWxkIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG5cblx0Ji5pcy1kaXNhYmxlZCB7XG5cdFx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbm5lcixcblx0XHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lucHV0IHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjaG9pY2VzLWJnLWNvbG9yLWRpc2FibGVkO1xuXHRcdFx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0XHRcdHVzZXItc2VsZWN0OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdCYgW2hpZGRlbl0ge1xuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXG5cdCoge1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdH1cblxuXHQmLmlzLW9wZW4ge1xuXHRcdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5uZXIge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogJGNob2ljZXMtYm9yZGVyLXJhZGl1cyAkY2hvaWNlcy1ib3JkZXItcmFkaXVzIDAgMCA7XG5cdFx0fVxuXHR9XG5cblx0Ji5pcy1vcGVuLmlzLWZsaXBwZWQge1xuXHRcdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5uZXIge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMCAwICRjaG9pY2VzLWJvcmRlci1yYWRpdXMgJGNob2ljZXMtYm9yZGVyLXJhZGl1cztcblx0XHR9XG5cdH1cbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9W2RhdGEtdHlwZSo9XCJzZWxlY3Qtb25lXCJdIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdGlucHV0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbnB1dCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luOiAxMHB4ICFpbXBvcnRhbnQ7XG5cdFx0cGFkZGluZzogN3B4IDEycHggIWltcG9ydGFudDtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGNob2ljZXMta2V5bGluZS1jb2xvciAhaW1wb3J0YW50O1xuXHRcdGJvcmRlci1yYWRpdXM6ICRjaG9pY2VzLWJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkY2hvaWNlcy1mb2N1c2VkLWNvbG9yICFpbXBvcnRhbnQ7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJGNob2ljZXMtZm9jdXNlZC1jb2xvciAhaW1wb3J0YW50O1xuXHRcdFx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXG5cdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fYnV0dG9uIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGNob2ljZXMtYnV0dG9uLWljb24tcGF0aCArICcvY3Jvc3MtaW52ZXJzZS5zdmcnKTtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogOHB4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDUwJTtcblx0XHRyaWdodDogMDtcblx0XHRtYXJnaW4tdG9wOiAtMTBweDtcblx0XHRtYXJnaW4tcmlnaHQ6IDI1cHg7XG5cdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdHdpZHRoOiAyMHB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDEwZW07XG5cdFx0b3BhY2l0eTogLjU7XG5cblx0XHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggJGNob2ljZXMtaGlnaGxpZ2h0LWNvbG9yO1xuXHRcdH1cblx0fVxuXG5cdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faXRlbVtkYXRhLXZhbHVlPScnXSAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2J1dHRvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdHdpZHRoOiAwO1xuXHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY2hvaWNlcy10ZXh0LWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci13aWR0aDogNXB4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMTEuNXB4O1xuXHRcdHRvcDogNTAlO1xuXHRcdG1hcmdpbi10b3A6IC0yLjVweDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0fVxuXG5cdCYuaXMtb3BlbjphZnRlciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkY2hvaWNlcy10ZXh0LWNvbG9yIHRyYW5zcGFyZW50O1xuXHRcdG1hcmdpbi10b3A6IC03LjVweDtcblx0fVxuXG5cdCZbZGlyPVwicnRsXCJdIHtcblx0XHQmOmFmdGVyIHtcblx0XHRcdGxlZnQ6IDExLjVweDtcblx0XHRcdHJpZ2h0OiBhdXRvO1xuXHRcdH1cblxuXHRcdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fYnV0dG9uIHtcblx0XHRcdHJpZ2h0OiBhdXRvO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdG1hcmdpbi1sZWZ0OiAyNXB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdH1cblx0fVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1bZGF0YS10eXBlKj1cInNlbGVjdC1tdWx0aXBsZVwiXSB7XG5cdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5uZXIge1xuXHRcdHBhZGRpbmctcmlnaHQ6ICRjaG9pY2VzLWd1dHRlcmluZztcblx0XHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lucHV0IHtcblx0XHRcdHBhZGRpbmc6IDAgNHB4IWltcG9ydGFudDtcblx0XHR9XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGhlaWdodDogMDtcblx0XHR3aWR0aDogMDtcblx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdGJvcmRlci1jb2xvcjogJGNob2ljZXMtdGV4dC1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItd2lkdGg6IDVweDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDExLjVweDtcblx0XHR0b3A6IDUwJTtcblx0XHRtYXJnaW4tdG9wOiAtMi41cHg7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdH1cblxuXHQmLmlzLW9wZW46YWZ0ZXIge1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGNob2ljZXMtdGV4dC1jb2xvciB0cmFuc3BhcmVudDtcblx0XHRtYXJnaW4tdG9wOiAtNy41cHg7XG5cdH1cbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9W2RhdGEtdHlwZSo9XCJzZWxlY3QtbXVsdGlwbGVcIl0sXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1bZGF0YS10eXBlKj1cInRleHRcIl0ge1xuXHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lubmVyIHtcblx0XHRjdXJzb3I6IHRleHQ7XG5cdH1cblxuXHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2J1dHRvbiB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdFx0cGFkZGluZzogMDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGNob2ljZXMtYnV0dG9uLWljb24tcGF0aCArICcvY3Jvc3Muc3ZnJyk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiAkY2hvaWNlcy1idXR0b24tZGltZW5zaW9uO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHR3aWR0aDogJGNob2ljZXMtYnV0dG9uLWRpbWVuc2lvbjtcblx0XHRoZWlnaHQ6ICRjaG9pY2VzLWJ1dHRvbi1kaW1lbnNpb247XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0b3BhY2l0eTogLjc1O1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cdH1cbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbm5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjaG9pY2VzLWJnLWNvbG9yO1xuXHRwYWRkaW5nOiA2cHggNnB4IDA7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjaG9pY2VzLWtleWxpbmUtY29sb3I7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJvcmRlci1yYWRpdXM6ICRjaG9pY2VzLWJvcmRlci1yYWRpdXM7XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZy1sZWZ0OiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2xpc3QtLXNpbmdsZSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogMCAxNnB4IDRweCA0cHg7XG5cdGZvbnQtc2l6ZTogMC44NzVlbTtcblxuXHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2l0ZW0ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0cGFkZGluZy1yaWdodDogMjBweDtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdGNvbG9yOiAjMmMzMzM4O1xuXG5cdFx0JltkYXRhLXZhbHVlPScnXSB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdH1cblx0fVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2xpc3QtLW11bHRpcGxlIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faXRlbSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWdyaWQ7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRib3JkZXItcmFkaXVzOiAkY2hvaWNlcy1ib3JkZXItcmFkaXVzLWl0ZW07XG5cdFx0cGFkZGluZzogNHB4IDdweDtcblx0XHRmb250LXNpemU6IC43NWVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0bWFyZ2luOiAwIDZweCA0cHggMDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY2hvaWNlcy1wcmltYXJ5LWNvbG9yO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRjaG9pY2VzLXByaW1hcnktY29sb3I7XG5cdFx0Y29sb3I6ICRjaG9pY2VzLWJnLWNvbG9yO1xuXHRcdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgY2FsYyggI3skY2hvaWNlcy1idXR0b24tZGltZW5zaW9ufSArIDVweCApO1xuXG5cdFx0Ji5pcy1oaWdobGlnaHRlZCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY2hvaWNlcy1oaWdobGlnaHQtY29sb3I7XG5cdFx0fVxuXHR9XG59XG5cbi5pcy1kaXNhYmxlZCB7XG5cdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdC0tbXVsdGlwbGUge1xuXHRcdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faXRlbSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY2hvaWNlcy1kaXNhYmxlZC1jb2xvcjtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRjaG9pY2VzLWRpc2FibGVkLWNvbG9yO1xuXHRcdH1cblx0fVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2xpc3QtLWRyb3Bkb3duIHtcblx0ZGlzcGxheTogbm9uZTtcblx0ei1pbmRleDogMTAxO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY2hvaWNlcy1iZy1jb2xvci1kcm9wZG93bjtcblx0Ym9yZGVyOiAxcHggc29saWQgJGNob2ljZXMta2V5bGluZS1jb2xvcjtcblx0dG9wOiAxMDAlO1xuXHRtYXJnaW4tdG9wOiAtMXB4O1xuXHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkY2hvaWNlcy1ib3JkZXItcmFkaXVzO1xuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGNob2ljZXMtYm9yZGVyLXJhZGl1cztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0b3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblxuXHQmLmlzLWFjdGl2ZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2xpc3Qge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXgtaGVpZ2h0OiAzMDBweDtcblx0XHRvdmVyZmxvdzogYXV0bztcblx0XHQtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cdFx0d2lsbC1jaGFuZ2U6IHNjcm9sbC1wb3NpdGlvbjtcblx0fVxuXG5cdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faXRlbSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0cGFkZGluZzogMTBweDtcblx0XHRmb250LXNpemU6IC44NzVlbTtcblx0fVxuXG5cdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faXRlbS0tc2VsZWN0YWJsZSB7XG5cdFx0QG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogYXR0cihkYXRhLXNlbGVjdC10ZXh0KTtcblx0XHRcdFx0Zm9udC1zaXplOiAuNzVlbTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0cmlnaHQ6IDEwcHg7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5pcy1oaWdobGlnaHRlZCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0b3BhY2l0eTogLjU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19wbGFjZWhvbGRlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4uaXMtZmxpcHBlZCB7XG5cdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdC0tZHJvcGRvd24ge1xuXHRcdHRvcDogYXV0bztcblx0XHRib3R0b206IDEwMCU7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0XHRtYXJnaW4tYm90dG9tOiAtMXB4O1xuXHRcdGJvcmRlci1yYWRpdXM6ICRjaG9pY2VzLWJvcmRlci1yYWRpdXMgJGNob2ljZXMtYm9yZGVyLXJhZGl1cyAwIDA7XG5cdH1cbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9X19pdGVtIHtcblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2l0ZW0tLXNlbGVjdGFibGUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faXRlbS0tZGlzYWJsZWQge1xuXHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0b3BhY2l0eTogLjU7XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faGVhZGluZyB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogLjc1ZW07XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCBsaWdodGVuKCRjaG9pY2VzLWtleWxpbmUtY29sb3IsIDE1JSk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBsaWdodGVuKCRjaG9pY2VzLWtleWxpbmUtY29sb3IsIDE1JSk7XG5cdGNvbG9yOiAkY29sb3JfaGVhZGluZztcblxuXHQuY2hvaWNlc19fZ3JvdXBbZGF0YS12YWx1ZT1cImhpZGRlblwiXSA+ICYge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9X19idXR0b24ge1xuXHR0ZXh0LWluZGVudDogLTk5OTlweDtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRhcHBlYXJhbmNlOiBub25lO1xuXHRib3JkZXI6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdGN1cnNvcjogcG9pbnRlcjtcblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHR9XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5wdXQge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRtYXJnaW46IDAgMCA0cHggMCAhaW1wb3J0YW50O1xuXHRib3JkZXI6IDAgIWltcG9ydGFudDtcblx0Ym9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcblx0d2lkdGg6IGF1dG8gIWltcG9ydGFudDtcblx0cGFkZGluZzogMnB4IDRweCAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IGF1dG8haW1wb3J0YW50O1xuXG5cdC8vIFRoaXMgaXMgY3VzdG9tIHN0eWxlcyBmb3IgaGlkaW5nIGEgaW5wdXQgb24gY2hhbmdlIGV2ZW50LlxuXHQmLS1oaWRkZW4ge1xuXHRcdGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KSAhaW1wb3J0YW50O1xuXHRcdGNsaXAtcGF0aDogaW5zZXQoNTAlKSAhaW1wb3J0YW50O1xuXHRcdGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuXHRcdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcblx0XHR3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG5cdFx0bWluLXdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0d29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDtcblx0fVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn0gLiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbm5lciB7XG5cdGlucHV0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbnB1dDpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblx0XHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0fVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX3BsYWNlaG9sZGVyIHtcblx0b3BhY2l0eTogLjU7XG59XG5cbiN3cGZvcm1zLWFkbWluLWZvcm0tZW1iZWQtd2l6YXJkIHtcblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9IHtcblx0XHQmLmlzLW9wZW4uaXMtZmxpcHBlZCB7XG5cdFx0XHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lubmVyIHtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogJGNob2ljZXMtYm9yZGVyLXJhZGl1cyAkY2hvaWNlcy1ib3JkZXItcmFkaXVzIDAgMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuaXMtZmxpcHBlZCB7XG5cdFx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19saXN0LS1kcm9wZG93biB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuXHRcdH1cblx0fVxuXG5cdC4jeyRjaG9pY2VzLXNlbGVjdG9yfVtkYXRhLXR5cGUqPVwic2VsZWN0LW9uZVwiXSB7XG5cdFx0JjphZnRlciB7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmZmZmIHVybChkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VUy1BU0NJSSwlM0NzdmclMjB3aWR0aCUzRCUyMjIwJTIyJTIwaGVpZ2h0JTNEJTIyMjAlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTUlMjA2bDUlMjA1JTIwNS01JTIwMiUyMDEtNyUyMDctNy03JTIwMi0xeiUyMiUyMGZpbGwlM0QlMjIlMjM3NzclMjIlMkYlM0UlM0MlMkZzdmclM0UpIG5vLXJlcGVhdCBjZW50ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTZweDtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdHdpZHRoOiAxNnB4O1xuXHRcdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdFx0dG9wOiAxM3B4O1xuXHRcdFx0cmlnaHQ6IDhweDtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0fVxuXHR9XG5cblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9W2RhdGEtdHlwZSo9XCJzZWxlY3Qtb25lXCJdLmlzLWZsaXBwZWQge1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcblx0XHR9XG5cdH1cbn1cbiIsIi8vIFNlbGVjdG9ycy5cbiRjaG9pY2VzLXNlbGVjdG9yOiAgICAgJ2Nob2ljZXMnICFkZWZhdWx0O1xuJGNob2ljZXMtcnRsLXNlbGVjdG9yOiAnYm9keS5ydGwnICFkZWZhdWx0O1xuXG4vLyBDb2xvcnMuXG4kdGV4dC1zZWNvbmRhcnk6ICAgICAgICAgICAgIzUwNTc1ZSAhZGVmYXVsdDtcbiRjaG9pY2VzLWJnLWNvbG9yOiAgICAgICAgICAjZmZmZmZmICFkZWZhdWx0O1xuJGNob2ljZXMtYmctY29sb3ItZGlzYWJsZWQ6ICNiYmJiYmIgIWRlZmF1bHQ7XG4kY2hvaWNlcy1iZy1jb2xvci1kcm9wZG93bjogJGNob2ljZXMtYmctY29sb3IgIWRlZmF1bHQ7XG4kY2hvaWNlcy10ZXh0LWNvbG9yOiAgICAgICAgY3VycmVudENvbG9yICFkZWZhdWx0O1xuJGNob2ljZXMta2V5bGluZS1jb2xvcjogICAgICM4YzhmOTQgIWRlZmF1bHQ7XG4kY2hvaWNlcy1wcmltYXJ5LWNvbG9yOiAgICAgIzAzNmFhYiAhZGVmYXVsdDtcbiRjaG9pY2VzLWRpc2FibGVkLWNvbG9yOiAgICAjYmJiYmJiICFkZWZhdWx0O1xuJGNob2ljZXMtaGlnaGxpZ2h0LWNvbG9yOiAgICRjaG9pY2VzLXByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kY2hvaWNlcy1mb2N1c2VkLWNvbG9yOiAgICAgIzA1NmFhYiAhZGVmYXVsdDtcbiRjaG9pY2VzLWRyb3Bkb3duLWNvbG9yOiAgICAjNzc3Nzc3O1xuJGNvbG9yX3BsYWNlaG9sZGVyOiAgICAgICAgICM5OTk5OTk7XG4kY29sb3JfaGVhZGluZzogICAgICAgICAgICAgI2E2YTZhNjtcblxuLy8gU2l6aW5nLlxuJGNob2ljZXMtZ3V0dGVyaW5nOiAgICAgICAgMjRweCAhZGVmYXVsdDtcbiRjaG9pY2VzLWJ1dHRvbi1kaW1lbnNpb246IDEycHggIWRlZmF1bHQ7XG4kY2hvaWNlcy1idXR0b24tb2Zmc2V0OiAgICAycHggIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciByYWRpdXMuXG4kY2hvaWNlcy1ib3JkZXItcmFkaXVzOiAgICAgIDRweCAhZGVmYXVsdDtcbiRjaG9pY2VzLWJvcmRlci1yYWRpdXMtaXRlbTogMnB4ICFkZWZhdWx0O1xuXG4vLyBQYXRoIHRvIGljb25zLlxuJGNob2ljZXMtYnV0dG9uLWljb24tcGF0aDogJy4uL2ltYWdlcycgIWRlZmF1bHQ7XG5cbiIsIiN7JGNob2ljZXMtcnRsLXNlbGVjdG9yfSB7XG4gIC4jeyRjaG9pY2VzLXNlbGVjdG9yfVtkYXRhLXR5cGUqPVwic2VsZWN0LW11bHRpcGxlXCJdIHtcbiAgICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lubmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgICAgIHBhZGRpbmctbGVmdDogJGNob2ljZXMtZ3V0dGVyaW5nO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMS41cHg7XG4gICAgfVxuICB9XG5cbiAgLiN7JGNob2ljZXMtc2VsZWN0b3J9X19saXN0LS1zaW5nbGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIH1cblxuICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2xpc3QtLW11bHRpcGxlIHtcbiAgICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2l0ZW0ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDMuNzVweDtcblxuICAgICAgJltkYXRhLWRlbGV0YWJsZV0ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2xpc3QtLWRyb3Bkb3duIHtcbiAgICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2l0ZW0ge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbnB1dCB7XG4gICAgcGFkZGluZy1yaWdodDogMnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1bZGF0YS10eXBlKj1cInNlbGVjdC1tdWx0aXBsZVwiXSwgLiN7JGNob2ljZXMtc2VsZWN0b3J9W2RhdGEtdHlwZSo9XCJ0ZXh0XCJdIHtcbiAgICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2J1dHRvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRjaG9pY2VzLWJ1dHRvbi1vZmZzZXQ7XG4gICAgICBtYXJnaW4tbGVmdDogLSBjYWxjKCRjaG9pY2VzLWJ1dHRvbi1vZmZzZXQvMik7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZW4oJGNob2ljZXMtcHJpbWFyeS1jb2xvciwgMTAlKTtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdC0tZHJvcGRvd24ge1xuICAgICAgLiN7JGNob2ljZXMtc2VsZWN0b3J9X19pdGVtLS1zZWxlY3RhYmxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jaG9pY2VzanMtc2VsZWN0LXdyYXAge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Y29sb3I6ICMzMzM7XG5cblx0LmNob2ljZXMge1xuXHRcdGZvbnQtc2l6ZTogJHRleHQtZm9udC1zaXplLW07XG5cdH1cblxuXHQuY2hvaWNlc19faW5uZXIge1xuXHRcdHBhZGRpbmc6IDRweCAwIDAgNnB4O1xuXG5cdFx0LmNob2ljZXNfX2xpc3QtLW11bHRpcGxlOm5vdCg6ZW1wdHkpIHtcblx0XHRcdG1hcmdpbi1yaWdodDogMjZweDtcblx0XHR9XG5cdH1cblxuXHQuY2hvaWNlc2pzLXNlbGVjdFttdWx0aXBsZV0ge1xuXHRcdG9wdGlvbiB7XG5cdFx0XHRwYWRkaW5nOiAxLjVweCAwIDAgMDtcblx0XHR9XG5cdH1cblxuXHRzZWxlY3Qge1xuXHRcdG1heC13aWR0aDogNDAwcHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wXCIpIHtcblx0XHR3aWR0aDogMzAwcHg7XG5cdH1cblxuXHQvLyBVcGRhdGUgYXJyb3cgdG8gZml0IFdQIHN0eWxlcy5cblx0LmNob2ljZXMge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCJcXGYzNDdcIjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogY2FsYyg1MCUgLSA2cHgpO1xuXHRcdFx0cmlnaHQ6IDZweDtcblx0XHRcdGZvbnQtZmFtaWx5OiBkYXNoaWNvbnMsIHNhbnMtc2VyaWY7XG5cdFx0XHRjb2xvcjogJHRleHQtc2Vjb25kYXJ5O1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0d2lkdGg6IDE2cHg7XG5cdFx0XHRoZWlnaHQ6IDE3cHg7XG5cdFx0fVxuXG5cdFx0Ji5pcy1vcGVuOmFmdGVyIHtcblx0XHRcdG1hcmdpbi10b3A6IC0xcHg7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuXHRcdH1cblx0fVxuXG5cdC5jaG9pY2VzW2RhdGEtdHlwZSo9XCJzZWxlY3QtbXVsdGlwbGVcIl0ge1xuXHRcdC5jaG9pY2VzX19pbm5lciB7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRhbGlnbi1pdGVtczogc3RhcnQ7XG5cdFx0XHRwYWRkaW5nLXRvcDogNnB4ICFpbXBvcnRhbnQ7XG5cblx0XHRcdC5jaG9pY2VzX19pbnB1dCB7XG5cdFx0XHRcdHBhZGRpbmc6IDJweCA0cHggIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuaXMtZm9jdXNlZCxcblx0LmlzLW9wZW4ge1xuXHRcdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5uZXIge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkY2hvaWNlcy1mb2N1c2VkLWNvbG9yO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRjaG9pY2VzLWZvY3VzZWQtY29sb3I7XG5cdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdH1cblx0fVxuXG5cdC5pcy1mbGlwcGVkLmlzLW9wZW4ge1xuXHRcdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5uZXIge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkY2hvaWNlcy1mb2N1c2VkLWNvbG9yO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRjaG9pY2VzLWZvY3VzZWQtY29sb3I7XG5cdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdH1cblx0fVxuXG5cdC5pcy1vcGVuIHtcblx0XHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2xpc3QtLWRyb3Bkb3duIHtcblx0XHRcdGJvcmRlci1jb2xvcjogJGNob2ljZXMtZm9jdXNlZC1jb2xvcjtcblx0XHRcdGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkY2hvaWNlcy1rZXlsaW5lLWNvbG9yLCAxMCUpO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcblx0XHRcdGJveC1zaGFkb3c6IDAgMXB4IDAgMXB4ICRjaG9pY2VzLWZvY3VzZWQtY29sb3I7XG5cdFx0fVxuXHR9XG5cblx0LmlzLW9wZW4uaXMtZmxpcHBlZCB7XG5cdFx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19saXN0LS1kcm9wZG93biB7XG5cdFx0XHRib3JkZXItdG9wOiAwO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtlbigkY2hvaWNlcy1rZXlsaW5lLWNvbG9yLCAxMCUpO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAtMXB4IDAgMXB4ICRjaG9pY2VzLWZvY3VzZWQtY29sb3I7XG5cdFx0fVxuXHR9XG59XG5cbi5jaG9pY2VzX19pbm5lciB7XG5cdG1pbi1oZWlnaHQ6IDM2cHg7XG59XG4iLCIvLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjIuMC4wXG4vL1xuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBLaXR0eSBHaXJhdWRlbCAoQGtpdHR5Z2lyYXVkZWwpXG4vL1xuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxuQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5AdXNlICdzYXNzOm1hdGgnO1xuQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2FzczpsaXN0JztcbkB1c2UgJ3Nhc3M6c3RyaW5nJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdkZXNrdG9wJzogMTAyNHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxuICAncHJpbnQnOiAncHJpbnQnLFxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXG4gICdyZXRpbmEyeCc6XG4gICAgJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzpcbiAgICAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknLFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2Bcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cbi8vL1xuJHVuaXQtaW50ZXJ2YWxzOiAoXG4gICdweCc6IDEsXG4gICdlbSc6IDAuMDEsXG4gICdyZW0nOiAwLjEsXG4gICcnOiAwLFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBtZXRhLmZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgfVxufVxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7XG59XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLmdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge1xuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLmhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpXG4gICAgICB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgbGlzdC5pbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyaW5nLnNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci10cmltKCRwYXJzZWQtZGltZW5zaW9uKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyaW5nLmxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XG4gIEByZXR1cm4gaWYobGlzdC5pbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cbi8vL1xuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICR2YWx1ZTogc3RyaW5nLnNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHJpbmcubGVuZ3RoKCRvcGVyYXRvcikpO1xuICAkdHJpbW1lZFZhbHVlOiBzdHItdHJpbSgkdmFsdWUpO1xuXG4gIEBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICR0cmltbWVkVmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkdHJpbW1lZFZhbHVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHRyaW1tZWRWYWx1ZSk7XG4gIH1cblxuICAkaW50ZXJ2YWw6IG1hcC5nZXQoJHVuaXQtaW50ZXJ2YWxzLCBtYXRoLnVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3ttYXRoLnVuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC5oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC5nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsaXN0Lmxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxpc3QubGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XG4gICAgQHJldHVybiAoKTtcbiAgfVxuXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcbiAgICAkcmVzdWx0OiBsaXN0LmFwcGVuZCgkcmVzdWx0LCBsaXN0Lm50aCgkbGlzdCwgJGkpLCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKFxuICAgICcwJzogMCxcbiAgICAnMSc6IDEsXG4gICAgJzInOiAyLFxuICAgICczJzogMyxcbiAgICAnNCc6IDQsXG4gICAgJzUnOiA1LFxuICAgICc2JzogNixcbiAgICAnNyc6IDcsXG4gICAgJzgnOiA4LFxuICAgICc5JzogOSxcbiAgKTtcblxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xuICAgICR2YWx1ZTogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0cmluZy5sZW5ndGgoJHZhbHVlKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgIEBpZiBub3QobGlzdC5pbmRleChtYXAua2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGkpKTtcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAuZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXRoLmRpdihtYXAuZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSwgJGRpZ2l0cyk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAkdW5pdHM6IChcbiAgICAncHgnOiAxcHgsXG4gICAgJ2NtJzogMWNtLFxuICAgICdtbSc6IDFtbSxcbiAgICAnJSc6IDElLFxuICAgICdjaCc6IDFjaCxcbiAgICAncGMnOiAxcGMsXG4gICAgJ2luJzogMWluLFxuICAgICdlbSc6IDFlbSxcbiAgICAncmVtJzogMXJlbSxcbiAgICAncHQnOiAxcHQsXG4gICAgJ2V4JzogMWV4LFxuICAgICd2dyc6IDF2dyxcbiAgICAndmgnOiAxdmgsXG4gICAgJ3ZtaW4nOiAxdm1pbixcbiAgICAndm1heCc6IDF2bWF4LFxuICApO1xuXG4gIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAuZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEphY2sgTWNOaWNvbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBUcmltcyBhIHN0cmluZyBvZiBsZWFkaW5nIGFuZCB0cmFpbGluZyBzcGFjZXNcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gVmFsdWUgdG8gYmUgdHJpbW1lZFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfVxuLy8vXG5cbkBmdW5jdGlvbiBzdHItdHJpbSgkc3RyaW5nKSB7XG4gIEBpZiAoc3RyLXNsaWNlKCRzdHJpbmcsIDEsIDEpID09ICcgJykge1xuICAgIEByZXR1cm4gc3RyLXRyaW0oc3RyLXNsaWNlKCRzdHJpbmcsIDIpKTtcbiAgfSBAZWxzZSBpZiAoc3RyLXNsaWNlKCRzdHJpbmcsIHN0ci1sZW5ndGgoJHN0cmluZyksIC0xKSA9PSAnICcpIHtcbiAgICBAcmV0dXJuIHN0ci10cmltKHN0ci1zbGljZSgkc3RyaW5nLCAxLCAtMikpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRzdHJpbmc7XG4gIH1cbn1cblxuLy8vXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxuLy8vIGZvciBpbnN0YW5jZS5cbi8vL1xuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC5tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAubWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxpc3QubGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKVxuICB7XG4gICAgQGNvbnRlbnQ7XG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsaXN0Lmxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7c3RyaW5nLnVucXVvdGUocGFyc2UtZXhwcmVzc2lvbihsaXN0Lm50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgICRzbGljZWQtY29uZGl0aW9uczogc2xpY2UoJGNvbmRpdGlvbnMsIDIpO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJHNsaWNlZC1jb25kaXRpb25zLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gR2VuZXJhbCBhZG1pbiBzdHlsaW5nLlxuXG4vLyBDb3JlIGFkbWluIHN0eWxlIG92ZXJyaWRlcy5cbiN3cGNvbnRlbnQge1xuXHRwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cdFx0cGFkZGluZy10b3A6IDQ2cHg7XG5cdH1cbn1cblxuI3dwYm9keSB7XG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdH1cbn1cblxuLy8gQWRtaW4gd3JhcCAtIGNvbnRhaW5zIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBoZWFkZXIuXG4uc3VnYXItY2FsZW5kYXItYWRtaW4td3JhcCB7XG5cdG1hcmdpbjogMDtcblxuXHQubm90aWNlIHtcblx0XHRtYXJnaW46IDAgMCAkc3BhY2luZy1sZztcblx0fVxufVxuXG4vLyBBZG1pbiBjb250ZW50LlxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLWNvbnRlbnQge1xuXHRwYWRkaW5nOiAkc3BhY2luZy1sZyAkc3BhY2luZy1sZyAwICRzcGFjaW5nLWxnO1xuXG5cdCosXG5cdCo6OmJlZm9yZSxcblx0Kjo6YWZ0ZXIge1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdH1cblxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogXCIgXCI7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHRjbGVhcjogYm90aDtcblx0XHRjb250ZW50OiBcIiBcIjtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0fVxuXG5cdGhyIHtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNlNGU0ZTQ7XG5cdFx0bWFyZ2luOiAyMHB4IDA7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0fVxuXG5cdGNvZGUge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRwYWRkaW5nOiAwIDZweDtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtc2Vjb25kYXJ5O1xuXHR9XG5cblx0c3Ryb25nIHtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHR9XG5cblx0cCB7XG5cdFx0Ji5zdWJtaXQge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogJHNwYWNpbmctbGcgMCAyMHB4IDA7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2U0ZTRlNDtcblxuXHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0fVxufVxuXG4vLyBMZWdhY3kgYWRkb24gZml4ZXMuXG4uc3VnYXItY2FsZW5kYXItYWRtaW4tY29udGVudCB7XG5cdC5mb3JtLXRhYmxlOmZpcnN0LWNoaWxkIHtcblx0XHR0Ym9keSB7XG5cdFx0XHR0cjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdHRoLFxuXHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRoIHtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMnB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aDMge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8vIEhlYWRlciBzdHlsZXMuXG5cbiNzdWdhci1jYWxlbmRhci1oZWFkZXItdGVtcCB7XG5cdG1hcmdpbjogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IC0xcHg7XG5cdGxlZnQ6IDIwcHg7XG5cdHJpZ2h0OiAwO1xuXHR6LWluZGV4OiA5OTtcblxuXHRAaW5jbHVkZSBtZWRpYShcIjw2MDBweFwiKSB7XG5cdFx0cGFkZGluZy10b3A6IDUwcHg7XG5cdH1cbn1cblxuI3N1Z2FyLWNhbGVuZGFyLWhlYWRlciB7XG5cdHBhZGRpbmc6IDIwcHggMzBweDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzdXJmYWNlLXN1cmZhY2UtZGl2aWRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdG1heC13aWR0aDogMjk2cHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcblx0XHRcdG1heC13aWR0aDogMjAwcHg7XG5cdFx0fVxuXHR9XG5cblx0YSNzdWdhci1jYWxlbmRhci1oZWFkZXItaGVscCB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtaWNvbjtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxM3B4O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRtYXNrLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcXVlc3Rpb24tY2lyY2xlLnN2Z1wiKTtcblx0XHRcdG1hc2stcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC10ZXh0LWljb247XG5cdFx0XHR3aWR0aDogMTZweDtcblx0XHRcdGhlaWdodDogMTZweDtcblx0XHRcdG1hcmdpbi1yaWdodDogNnB4O1xuXHRcdH1cblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRjb2xvcjogJHRleHQtdGV4dC10ZXJ0aWFyeTtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC10ZXh0LXRlcnRpYXJ5O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcblx0I3N1Z2FyLWNhbGVuZGFyLW5vdGljZS1iYXIgKyAjc3VnYXItY2FsZW5kYXItaGVhZGVyLXRlbXAge1xuXHRcdHRvcDogMzRweDtcblx0fVxufVxuIiwiQG1peGluIGZvcm0tZmllbGQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRmaWVsZHMtZmllbGQtYm9yZGVyO1xuXHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLXJhZGl1cy1maWVsZDtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0Y29sb3I6ICR0ZXh0LXRleHQtcHJpbWFyeTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRwYWRkaW5nOiA3cHggMTJweDtcblx0bWFyZ2luOiAwO1xuXHR3aWR0aDogNDAwcHg7XG5cdG1pbi1oZWlnaHQ6IDM2cHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtcHJpbWFyeTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1ib3JkZXItLWZvY3VzICFpbXBvcnRhbnQ7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRmaWVsZHMtZmllbGQtYm9yZGVyLS1mb2N1cyAhaW1wb3J0YW50O1xuXHRcdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6ZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPGRlc2t0b3BcIikge1xuXHRcdHdpZHRoOiAzMDBweDtcblx0fVxufVxuXG5AbWl4aW4gZm9ybS1maWVsZC1zZWxlY3Qge1xuXHRAaW5jbHVkZSBmb3JtLWZpZWxkO1xuXG5cdHBhZGRpbmc6IDdweCAyNHB4IDdweCAxMHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuQG1peGluIGZvcm0tZmllbGQtcmFkaW8ge1xuXHRib3JkZXI6IDFweCBzb2xpZCAkZmllbGRzLWZpZWxkLWJvcmRlcjtcblx0bWFyZ2luOiAxcHggMTBweCAwIDA7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0fVxuXG5cdCY6Y2hlY2tlZCB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3Zlcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmZvY3VzIHtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cdFx0fVxuXHR9XG5cblx0JjpkaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRmaWVsZHMtZmllbGQtY2hvaWNlLW9mZjtcblx0fVxufVxuXG5AbWl4aW4gZm9ybS1maWVsZC1jaGVja2JveCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRmaWVsZHMtZmllbGQtYm9yZGVyO1xuXHRtYXJnaW46IDFweCAxMHB4IDAgMDtcblxuXHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHR9XG5cblx0Jjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdH1cblxuXHQmOmNoZWNrZWQge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdG1hc2s6IHVybCguLi9pbWFnZXMvaWNvbnMveWVzLnN2ZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJVxuXHRcdH1cblxuXHRcdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cdFx0fVxuXG5cdFx0Jjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlLCAwIDAgMCAycHggJGZpZWxkcy1maWVsZC1jaG9pY2Utb24tLWhvdmVyO1xuXHRcdH1cblx0fVxuXG5cdCY6ZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IDAuNTtcblxuXHRcdCY6Y2hlY2tlZCB7XG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gZm9ybS1maWVsZC10ZXh0YXJlYSB7XG5cdEBpbmNsdWRlIGZvcm0tZmllbGQ7XG59XG5cbi5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbjogMCAxcHg7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRjb2xvcjogJHRleHQtdGV4dC1zZWNvbmRhcnk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGhlaWdodDogMjVweDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHRpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG5cdFx0QGluY2x1ZGUgdmlzdWFsbHktaGlkZTtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdCYgKyBsYWJlbC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb2ZmLS1ob3Zlcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdCYgKyBsYWJlbC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZSwgMCAwIDAgMnB4ICRmaWVsZHMtZmllbGQtYm9yZGVyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6Y2hlY2tlZCB7XG5cdFx0XHQmICsgbGFiZWwuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGxlZnQ6IGNhbGMoMTAwJSAtIDJweCk7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3Zlcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGUsIDAgMCAwIDJweCAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6ZGlzYWJsZWQge1xuXHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRzcGFuLFxuXHRsYWJlbCB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtbGFiZWwge1xuXHRcdHBhZGRpbmc6IDAgJHNwYWNpbmctc207XG5cdFx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA2NXB4KTtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMge1xuXHRcdGNvbG9yOiAkdGV4dC10ZXh0LXNlY29uZGFyeTtcblx0XHRmb250LXNpemU6ICR0ZXh0LWZvbnQtc2l6ZS14cztcblx0XHRsaW5lLWhlaWdodDogMTdweDtcblx0XHRwYWRkaW5nOiAwICRzcGFjaW5nLXNtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb2ZmLFxuXHQuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtc3RhdHVzLW9uIHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdH1cblxuXHRpbnB1dDpub3QoOmNoZWNrZWQpIH4gLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLXN0YXR1cy1vZmYsXG5cdGlucHV0OmNoZWNrZWQgfiAuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtc3RhdHVzLW9uIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5ldXRyYWwtMzA7XG5cdFx0Ym9yZGVyLXJhZGl1czogOC41cHg7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRoZWlnaHQ6IDE3cHg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRleHQtaW5kZW50OiAtOTk5OXB4O1xuXHRcdHdpZHRoOiAyN3B4O1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRoZWlnaHQ6IDEzcHg7XG5cdFx0XHRsZWZ0OiAycHg7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDJweDtcblx0XHRcdHdpZHRoOiAxM3B4O1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLW5vcm1hbCBlYXNlLW91dDtcblx0XHR9XG5cdH1cblxuXHRpbnB1dDpkaXNhYmxlZCB+IC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uLFxuXHRpbnB1dDpkaXNhYmxlZCB+IC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb2ZmLFxuXHRpbnB1dDpkaXNhYmxlZCB+IC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb24ge1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0fVxufVxuIiwiQG1peGluIGxpbmstcmVzZXQge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHRib3gtc2hhZG93OiBub25lO1xuXHRvdXRsaW5lOiBub25lO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbkBtaXhpbiB2aXN1YWxseS1oaWRlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRoZWlnaHQ6IDA7XG5cdHdpZHRoOiAwO1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXHRtYXJnaW46IDA7XG5cdG1pbi13aWR0aDogMDtcbn1cblxuQG1peGluIGJhZGdlKCRwb3NpdGlvbjogYWZ0ZXIpIHtcblx0Jjo6I3skcG9zaXRpb259IHtcblx0XHRjb250ZW50OiBcIlBST1wiO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW4tbGVmdDogJHNwYWNpbmctc207XG5cdFx0cGFkZGluZzogNXB4IDhweDtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdGZvbnQtc2l6ZTogOHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiA4cHg7XG5cdFx0Y29sb3I6ICRiYWRnZXMtYmFkZ2UtbmV1dHJhbC10ZXh0O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRiYWRnZXMtYmFkZ2UtbmV1dHJhbC1iYWNrZ3JvdW5kO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtcmFkaXVzLWJhZGdlO1xuXG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cbiIsIi8vIEJ1dHRvbnMuXG4uc3VnYXItY2FsZW5kYXItYnRuIHtcblx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtcmFkaXVzLWJ1dHRvbjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbjogMDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cdHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1mYXN0IGVhc2Utb3V0O1xuXG5cdCYuaW5hY3RpdmUge1xuXHRcdGN1cnNvcjogbm8tZHJvcDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLWJsb2NrIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXNtIHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsaW5lLWhlaWdodDogMjhweDtcblx0cGFkZGluZzogMCAxMHB4O1xuXHRoZWlnaHQ6IDMwcHg7XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tbWQge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGxpbmUtaGVpZ2h0OiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRwYWRkaW5nOiAxMHB4IDE1cHg7XG5cdG1pbi1oZWlnaHQ6IDM2cHg7XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tbGcge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHBhZGRpbmc6IDExcHggMTdweDtcblx0bWluLWhlaWdodDogNDRweDtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1wcmltYXJ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDtcblx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1zZWNvbmRhcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG5cdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0b3V0bGluZTogMDtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXRlcnRpYXJ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQ7XG5cdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlcjtcblx0Y29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0ICFpbXBvcnRhbnQ7XG5cblx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQtLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXItLWhvdmVyO1xuXHRcdGNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dC0taG92ZXIgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyLS1ob3Zlcjtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLWdyZWVuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci11dGlsaXR5LWdyZWVuLTUwO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tcmVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG4iLCIvLyBQYWdlIHN1YmhlYWRlci5cbi5zdWdhci1jYWxlbmRhci1hZG1pbi1zdWJoZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGhlaWdodDogNjBweDtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAxNXB4ICRzcGFjaW5nLWxnO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA3KTtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHQqLFxuXHQqOjpiZWZvcmUsXG5cdCo6OmFmdGVyIHtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cblx0aDQge1xuXHRcdGZvbnQtc2l6ZTogMjJweDtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdGNvbG9yOiAkdGV4dC10ZXh0LXRpdGxlO1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci1idG4tbmV3LWl0ZW0ge1xuXHRcdG1hcmdpbi1sZWZ0OiAkc3BhY2luZy1tZDtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0bWFzazogdXJsKC4uL2ltYWdlcy9pY29ucy9hZGQuc3ZnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdFx0d2lkdGg6IDExcHg7XG5cdFx0XHRoZWlnaHQ6IDExcHg7XG5cdFx0XHRtYXJnaW46IDAgNnB4IDAgMDtcblx0XHR9XG5cdH1cbn1cbiIsIkBpbXBvcnQgJ2FkbWluL3ZhcmlhYmxlcyc7XG5cbkBpbXBvcnQgJ3ZlbmRvci9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3ZlbmRvci9jaG9pY2VzL2Nob2ljZXMnO1xuXG5AaW1wb3J0IFwiYWRtaW4vbWl4aW5zXCI7XG5AaW1wb3J0IFwiYWRtaW4vY2hvaWNlc1wiO1xuQGltcG9ydCAnYWRtaW4vZ2VuZXJhbCc7XG5AaW1wb3J0ICdhZG1pbi9oZWFkZXInO1xuQGltcG9ydCAnYWRtaW4vZm9ybXMnO1xuQGltcG9ydCAnYWRtaW4vYnV0dG9ucyc7XG5AaW1wb3J0ICdhZG1pbi9zdWJoZWFkZXInO1xuXG4uc3VnYXItY2FsZW5kYXItYWRtaW4tY29udGVudCB7XG5cdC5zdWdhci1jYWxlbmRhci1jYWxlbmRhci1mb3JtIHtcblx0XHRtYXgtd2lkdGg6IDkwMHB4O1xuXG5cdFx0aW5wdXQsXG5cdFx0dGV4dGFyZWEge1xuXHRcdFx0QGluY2x1ZGUgZm9ybS1maWVsZDtcblx0XHR9XG5cblx0XHRzZWxlY3Qge1xuXHRcdFx0QGluY2x1ZGUgZm9ybS1maWVsZC1zZWxlY3Q7XG5cdFx0fVxuXG5cdFx0aW5wdXQge1xuXHRcdFx0JiN0YWctbmFtZSxcblx0XHRcdCYjbmFtZSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1tZDtcblx0XHRcdFx0cGFkZGluZzogOXB4IDhweDtcblx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMThweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQucG9zdGJveCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLW1kO1xuXG5cdFx0LnBvc3Rib3gtaGVhZGVyIHtcblx0XHRcdGgyIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRwYWRkaW5nOiA4cHggMTJweDtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHRcdH1cblxuXHRcdFx0LmhhbmRsZS1vcmRlci1oaWdoZXIsXG5cdFx0XHQuaGFuZGxlLW9yZGVyLWxvd2VyIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuaW5zaWRlIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0cGFkZGluZzogJHNwYWNpbmctbGc7XG5cdFx0XHRyb3ctZ2FwOiAkc3BhY2luZy1sZztcblx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0LnN1Z2FyLWNhbGVuZGFyLW1ldGFib3hfX2ZpZWxkLXJvdyB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGNvbHVtbi1nYXA6ICRzcGFjaW5nLXNtO1xuXG5cdFx0XHRcdD4gbGFiZWwge1xuXHRcdFx0XHRcdHdpZHRoOiAyMDBweDtcblx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDM0cHg7XG5cdFx0XHRcdFx0Y29sb3I6ICR0ZXh0LXRleHQtcHJpbWFyeTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5zdWdhci1jYWxlbmRhci1tZXRhYm94X19maWVsZCB7XG5cdFx0XHRcdFx0ZmxleDogMTtcblxuXHRcdFx0XHRcdC5jaG9pY2VzanMtc2VsZWN0LXdyYXAge1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiA0MDBweDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC53cC1waWNrZXItY29udGFpbmVyIHtcblx0XHRcdFx0XHRcdC53cC1jb2xvci1yZXN1bHQge1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxMjhweDtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAzNnB4O1xuXHRcdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLXJhZGl1cy1maWVsZDtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGZpZWxkcy1maWVsZC1ib3JkZXI7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTtcblxuXHRcdFx0XHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtYm9yZGVyLS1mb2N1cyAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkZmllbGRzLWZpZWxkLWJvcmRlci0tZm9jdXMgIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdFx0XHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQmIHNwYW4sXG5cdFx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6ICRzcGFjaW5nLXNtO1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IC0xMHB4O1xuXHRcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6ICRzcGFjaW5nLW1kO1xuXHRcdFx0XHRcdFx0XHRcdGhlaWdodDogJHNwYWNpbmctbWQ7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG5cdFx0XHRcdFx0XHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwICRzcGFjaW5nLXNtIDAgMzZweDtcblx0XHRcdFx0XHRcdFx0XHRtaW4taGVpZ2h0OiAzNHB4O1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMzRweDtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJHRleHQtdGV4dC1zZWNvbmRhcnk7XG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQmOm5vdCgud3AtcGlja2VyLW9wZW4pIHtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdCN0ZXJtLWNvbG9yIHtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZm9ybS1maWVsZDtcblxuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiA5MHB4O1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQud3AtcGlja2VyLWNsZWFyIHtcblx0XHRcdFx0XHRcdFx0QGV4dGVuZCAuc3VnYXItY2FsZW5kYXItYnRuO1xuXHRcdFx0XHRcdFx0XHRAZXh0ZW5kIC5zdWdhci1jYWxlbmRhci1idG4tbWQ7XG5cdFx0XHRcdFx0XHRcdEBleHRlbmQgLnN1Z2FyLWNhbGVuZGFyLWJ0bi10ZXJ0aWFyeTtcblxuXHRcdFx0XHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDZweDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRwIHtcblx0XHRcdFx0XHRcdCYuZGVzYyB7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkdGV4dC10ZXh0LXRlcnRpYXJ5O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYuY2xvc2VkIHtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzNjNGM3O1xuXG5cdFx0XHQucG9zdGJveC1oZWFkZXIge1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdFx0fVxuXG5cdFx0XHQuaW5zaWRlIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRwIHtcblx0XHQmLnN1Ym1pdCB7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG4iXX0= */
     1129/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3NzL2FkbWluL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL3ZlbmRvci9jaG9pY2VzL19zdHlsZXMuc2NzcyIsImFzc2V0cy9zY3NzL3ZlbmRvci9jaG9pY2VzL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL3ZlbmRvci9jaG9pY2VzL19ydGwuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19jaG9pY2VzLnNjc3MiLCJhc3NldHMvc2Nzcy92ZW5kb3IvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19nZW5lcmFsLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9faGVhZGVyLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9fZm9ybXMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19taXhpbnMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19idXR0b25zLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9fc3ViaGVhZGVyLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi1jYWxlbmRhci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0FBNERBO0FDOURBO0VBQ0M7RUFDQSxlQ2tCMEI7O0FEaEIxQjtFQUNDLE9DVzBCOztBRFIzQjtFQUNDLE9DTzBCO0VETjFCOztBQUdEO0VBQ0MsT0NFMEI7O0FEQzNCO0VBQ0M7O0FBR0Q7RUFDQzs7QUFJQTtBQUFBO0VBRUMsa0JDckJ5QjtFRHNCekI7RUFDQTs7QUFJRjtFQUNDOztBQUdEO0VBQ0M7O0FBSUE7RUFDQzs7QUFLRDtFQUNDOzs7QUFLSDtFQUNDOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOztBQUdEO0VBQ0M7O0FBSUY7RUFDQzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBOztBQUlBO0VBQ0M7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRjtFQUNDLGVDdEh5Qjs7QUR1SHpCO0VBQ0M7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTs7O0FBTUQ7QUFBQTtFQUNDOztBQUdEO0FBQUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxpQkMvSnlCO0VEZ0t6QjtFQUNBO0VBQ0EsT0NsS3lCO0VEbUt6QixRQ25LeUI7RURvS3pCO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7RUFFQzs7O0FBS0g7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCQ25NMkI7RURvTTNCO0VBQ0E7RUFDQTtFQUNBLGVDcEw0Qjs7O0FEdUw3QjtFQUNDO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7OztBQUtIO0VBQ0M7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBLGVDek4yQjtFRDBOM0I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCQzlPMEI7RUQrTzFCO0VBQ0EsT0NyUDBCO0VEc1AxQjtFQUNBOztBQUVBO0VBQ0Msa0JDclB5Qjs7O0FENFAxQjtFQUNDLGtCQzVQeUI7RUQ2UHpCOzs7QUFLSDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JDN1EyQjtFRDhRM0I7RUFDQTtFQUNBO0VBQ0EsMkJDOVA0QjtFRCtQNUIsNEJDL1A0QjtFRGdRNUI7RUFDQTs7QUFFQTtFQUNDOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBQUlBO0VBQ0M7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFJRjtFQUNDOztBQUVBO0VBQ0M7O0FBS0g7RUFDQzs7O0FBS0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNDOzs7QUFHRDtFQUNDOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPQ3pWMkI7O0FEMlYzQjtFQUNDOzs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQzs7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLRDtFQUNDO0VBQ0E7RUFDQTs7O0FBSUY7RUFDQzs7O0FBTUU7RUFDQzs7QUFNRjtFQUNDOztBQUtEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtEO0VBQ0M7OztBRXBjQztFQUNFO0VBQ0EsY0RnQnFCOztBQ2J2QjtFQUNFO0VBQ0E7O0FBSUo7RUFDRTtFQUNBOztBQUlBO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBTUo7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7O0FBSUE7RUFDRSxjRHJCcUI7RUNzQnJCO0VBQ0E7RUFDQTs7QUFJSjtFQUVJO0lBQ0U7SUFDQTtJQUNBOztFQUNBO0lBQ0U7SUFDQTs7OztBQzFEVjtFQUNDO0VBQ0E7O0FBRUE7RUFDQyxXSmlIaUI7O0FJOUdsQjtFQUNDOztBQUVBO0VBQ0M7O0FBS0Q7RUFDQzs7QUFJRjtFQUNDOztBQzBrQkU7RURqbUJKO0lBMkJFOzs7QUFJRDtFQUNDOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9GbkN5QjtFRW9DekI7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTs7QUFLRDtFQUNDO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOztBQU9GO0FBQUE7RUFDQyxjRnJEeUI7RUVzRHpCO0VBQ0E7O0FBS0Q7RUFDQyxjRjdEeUI7RUU4RHpCO0VBQ0E7O0FBS0Q7RUFDQyxjRnJFeUI7RUVzRXpCO0VBQ0E7RUFDQTs7QUFLRDtFQUNDO0VBQ0E7RUFDQTs7O0FBS0g7RUFDQzs7O0FFakdEO0VBQ0M7RUFDQTs7QUFFQTtFQUpEO0lBS0U7Ozs7QUFLRDtFQUREO0lBRUU7Ozs7QUFLRjtFQUNDOztBQUVBO0VBQ0M7OztBQUtGO0VBQ0M7O0FBRUE7QUFBQTtBQUFBO0VBR0M7O0FBR0Q7RUFDQztFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLE9OekNpQjs7QU00Q2xCO0VBQ0M7O0FBSUE7RUFDQztFQUNBO0VBQ0E7O0FBRUE7RUFDQzs7QUFNSDtFQUNDOzs7QUFTRTtBQUFBO0VBRUM7O0FBR0Q7RUFDQzs7QUFHRDtFQUNDOztBQUdEO0VBQ0M7OztBQ3RHTDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUZ5bEJHO0VFL2xCSjtJQVNFOzs7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQSxrQlBZcUI7RU9YckI7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTs7QUZ1a0JFO0VFMWtCSDtJQU1FOzs7QUFJRjtFQUNDO0VBQ0EsT1BaaUI7RU9hakI7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBLGtCUHZCZ0I7RU93QmhCO0VBQ0E7RUFDQTs7QUFHRDtFQUVDLE9QbENnQjs7QU9vQ2hCO0VBQ0Msa0JQckNlOzs7QU8yQ25CO0VBQ0M7SUFDQzs7O0FDbUVGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPUnRIa0I7RVF1SGxCO0VBQ0E7RUFDQTs7QUFFQTtFQ3JJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRGlJQztFQUVDO0VBQ0E7O0FBSUE7RUFDQyxrQlJySWU7O0FRMEloQjtFQUNDOztBQUtEO0VBQ0Msa0JSekprQjs7QVEySmxCO0VBQ0M7RUFDQTs7QUFLRDtFQUNDLGtCUmpLaUI7O0FRc0tsQjtFQUNDOztBQU1GO0VBQ0M7O0FBS0E7RUFDQzs7QUFNSjtBQUFBO0VBRUM7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7O0FBR0Q7RUFDQyxPUmpNaUI7RVFrTWpCLFdSbEdrQjtFUW1HbEI7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7QUFBQTtFQUVDOztBQUdEO0FBQUE7RUFFQzs7QUFHRDtFQUNDLGtCUmxOaUI7RVFtTmpCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0MsWVJsTm1CO0VRbU5uQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlGO0FBQUE7QUFBQTtFQUdDOzs7QUUvUEY7RUFDQztFQUNBO0VBQ0EsZVZEVztFVUVYO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNDO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDLGtCVjFDdUI7RVUyQ3ZCLGNWM0N1QjtFVTRDdkI7O0FBRUE7RUFDQyxrQlY5Q3NCO0VVK0N0QixjVi9Dc0I7RVVnRHRCOztBQUdEO0VBQ0M7RUFDQSxjVmpDb0I7RVVrQ3BCOzs7QUFJRjtFQUNDLGtCVjFEcUI7RVUyRHJCLGNWM0RxQjtFVTREckI7O0FBRUE7RUFDQyxrQlY3RG9CO0VVOERwQixjVjlEb0I7RVUrRHBCOztBQUdEO0VBQ0M7RUFDQSxjVm5Eb0I7RVVvRHBCOzs7QUFJRjtFQUNDLGtCVjFEaUI7RVUyRGpCLGNWcEVrQjtFVXFFbEI7O0FBRUE7RUFDQyxrQlZoRWdCO0VVaUVoQixjVjNFaUI7RVU0RWpCOztBQUdEO0VBQ0M7OztBQUlGO0VBQ0Msa0JWN0V3QjtFVThFeEI7RUFDQTs7QUFFQTtFQUNDO0VBQ0EsY1YvRW9CO0VVZ0ZwQjs7O0FBSUY7RUFDQyxrQlYzRnNCO0VVNEZ0QjtFQUNBOztBQUVBO0VBQ0M7RUFDQSxjVjNGb0I7RVU0RnBCOzs7QUMxSEY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQlh1QnFCO0VXdEJyQjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUdDOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0EsT1hWa0I7RVdXbEI7O0FBR0Q7RUFDQyxhWHZCVzs7QVd5Qlg7RUFDQztFQUNBO0VBQ0E7RUFDQSxrQlhMbUI7RVdNbkI7RUFDQTtFQUNBOzs7QUN6QkY7RUFDQzs7QUFFQTtBQUFBO0VKaEJELGtCUjhCcUI7RVE3QnJCO0VBQ0E7RUFDQTtFQUNBLE9SWWtCO0VRWGxCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7RUFDQyxPUkVpQjs7QVFDbEI7QUFBQTtFQUNDO0VBQ0E7RUFDQTs7QUFHRDtBQUFBO0VBQ0M7O0FId2tCRTtFT2hsQkY7QUFBQTtJSllBOzs7QUlQQTtFSnJCRCxrQlI4QnFCO0VRN0JyQjtFQUNBO0VBQ0E7RUFDQSxPUllrQjtFUVhsQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQXdCQTtFQUNBO0VBQ0E7RUFDQTs7QUF6QkE7RUFDQyxPUkVpQjs7QVFDbEI7RUFDQztFQUNBO0VBQ0E7O0FBR0Q7RUFDQzs7QUh3a0JFO0VPM2tCRjtJSk9BOzs7QUlGQztFQUVDO0VBQ0EsZVp2QlM7RVl3QlQ7RUFDQTtFQUNBOztBQUtIO0VBQ0M7RUFDQSxlWnJDVTs7QVl3Q1Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QUFHRDtBQUFBO0VBRUM7O0FBSUY7RUFDQztFQUNBO0VBQ0EsU1puRFU7RVlvRFYsU1pwRFU7RVlxRFY7O0FBRUE7RUFDQztFQUNBLFlaM0RTOztBWTZEVDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPWnhEYzs7QVkyRGY7RUFDQzs7QUFFQTtFQUNDO0VBQ0E7O0FBSUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLGVadkZLO0VZd0ZMO0VBQ0Esa0JaN0RlOztBWStEZjtFQUNDO0VBQ0E7RUFDQTs7QUFHRDtFQUVDO0VBQ0E7O0FBR0Q7RUFDQztFQUNBLE1adEdLO0VZdUdMO0VBQ0E7RUFDQSxPWnhHSztFWXlHTCxRWnpHSztFWTBHTDtFQUNBO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT1o1R1c7RVk2R1g7RUFDQTs7QUFHRDtFQUNDOztBQUlGO0VKeElMLGtCUjhCcUI7RVE3QnJCO0VBQ0E7RUFDQTtFQUNBLE9SWWtCO0VRWGxCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VJZ0lNO0VBQ0E7O0FKL0hOO0VBQ0MsT1JFaUI7O0FRQ2xCO0VBQ0M7RUFDQTtFQUNBOztBQUdEO0VBQ0M7O0FId2tCRTtFT3hkRTtJSjVHSjs7O0FJbUhJO0VBS0M7RUFDQTs7QUFLRDtFQUNDO0VBQ0E7RUFDQTtFQUNBLE9aM0lZOztBWWtKakI7RUFDQzs7QUFFQTtFQUNDOztBQUdEO0VBQ0M7O0FBTUY7RUFDQyIsImZpbGUiOiJhc3NldHMvY3NzL2FkbWluLWNhbGVuZGFyLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFkbWluIHZhcmlhYmxlcy5cblxuLyogVmFyaWFibGVzICAqL1xuJHJhZGl1cy1tZDogNHB4O1xuJHJhZGl1cy1sZzogNnB4O1xuJHJhZGl1cy1zbTogM3B4O1xuJHNwYWNpbmctc206IDEwcHg7XG4kc3BhY2luZy1tZDogMjBweDtcbiRzcGFjaW5nLWxnOiAzMHB4O1xuJHNwYWNpbmcteGw6IDUwcHg7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTUwOiAjRkY4ODQ1RkY7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTcwOiAjQ0I2RDM3RkY7XG4kY29sb3ItYnJhbmQtYmx1ZS01MDogIzIyNzFCMUZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTUwOiAjMDBBMEQyRkY7XG4kY29sb3ItYnJhbmQtYmx1ZS03MDogIzBBNEI3OEZGO1xuJGNvbG9yLW5ldXRyYWwtMTAwOiAjMTAxNTE3O1xuJGNvbG9yLW5ldXRyYWwtOTA6ICMxRDIzMjdGRjtcbiRjb2xvci1uZXV0cmFsLTgwOiAjMkMzMzM4RkY7XG4kY29sb3ItbmV1dHJhbC03MDogIzNDNDM0QUZGO1xuJGNvbG9yLW5ldXRyYWwtNjA6ICM1MDU3NUVGRjtcbiRjb2xvci1uZXV0cmFsLTUwOiAjNjQ2OTcwRkY7XG4kY29sb3ItbmV1dHJhbC0zMDogIzhDOEY5NEZGO1xuJGNvbG9yLW5ldXRyYWwtMTA6ICNDM0M0QzdGRjtcbiRjb2xvci1uZXV0cmFsLTIwOiAjQTdBQUFERkY7XG4kY29sb3ItbmV1dHJhbC01OiAjRENEQ0RFRkY7XG4kY29sb3ItdXRpbGl0eS1yZWQtNTA6ICNENjM2MzhGRjtcbiRjb2xvci11dGlsaXR5LXllbGxvdy01MDogI0RCQTYxN0ZGO1xuJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA6ICMwMDhBMjBGRjtcbiRyYWRpdXMteGw6IDlweDtcbiRjb2xvci1uZXV0cmFsLTM6ICNGMEYwRjFGRjtcbiRjb2xvci1uZXV0cmFsLTA6ICNGNkY3RjdGRjtcbiRjb2xvci11dGlsaXR5LXdoaXRlOiAjRkZGRkZGRkY7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTA6ICNGRkYzRUNGRjtcbiRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0wOiAjRTVGNUZBRkY7XG4kY29sb3ItdXRpbGl0eS1ncmVlbi0wOiAjRURGQUVGRkY7XG4kY29sb3ItdXRpbGl0eS1yZWQtMDogI0ZDRjBGMUZGO1xuJGNvbG9yLWJyYW5kLW9yYW5nZS0zMDogI0ZGQTA2QUZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTMwOiAjNjZDNkU0RkY7XG4kY29sb3ItdXRpbGl0eS1ncmVlbi0zMDogIzAwQkEzN0ZGO1xuJGNvbG9yLXV0aWxpdHktcmVkLTMwOiAjRjg2MzY4RkY7XG4kY29sb3Itd29yZHByZXNzLWJsdWU6ICMyMjcxQjFGRjtcbiRjb2xvci11dGlsaXR5LWdyYXktMDogI0Y2RjZGNkZGO1xuJGNvbG9yLWFjY2VudC1vcmFuZ2UtNTA6ICNGRTlFNjhGRjtcbiRjb2xvci1hY2NlbnQtb3JhbmdlLTA6ICNGRkYwRThGRjtcbiRjb2xvci1hY2NlbnQtcmVkLTUwOiAjRkY3MzY4RkY7XG4kY29sb3ItYWNjZW50LXJlZC0wOiAjRkZFQUU4RkY7XG4kY29sb3ItYWNjZW50LXBpbmstNTA6ICNERjVCOUFGRjtcbiRjb2xvci1hY2NlbnQtcGluay0wOiAjRkFFNkYwRkY7XG4kY29sb3ItYWNjZW50LXB1cnBsZS01MDogIzg2NTlDMkZGO1xuJGNvbG9yLWFjY2VudC1wdXJwbGUtMDogI0VERTZGNkZGO1xuJGNvbG9yLWFjY2VudC1ibHVlLTUwOiAjNTY4NUJERkY7XG4kY29sb3ItYWNjZW50LWJsdWUtMDogI0U2RURGNUZGO1xuJGNvbG9yLWFjY2VudC10ZWFsLTUwOiAjNEJCOUE3RkY7XG4kY29sb3ItYWNjZW50LXRlYWwtMDogI0U0RjVGMkZGO1xuJGNvbG9yLWFjY2VudC1ncmVlbi01MDogIzU3RDQ2NkZGO1xuJGNvbG9yLWFjY2VudC1ncmVlbi0wOiAjRTZGOUU4RkY7XG4kY29sb3ItYWNjZW50LXllbGxvdy01MDogI0ZGQzQ2OUZGO1xuJGNvbG9yLWFjY2VudC15ZWxsb3ctMDogI0ZGRjZFOUZGO1xuJGNhbGVuZGFyLXRleHQtcHJpbWFyeTogIzAwMDAwMEQ5O1xuJGNhbGVuZGFyLXRleHQtdGVydGlhcnk6ICMwMDAwMDA2NjtcbiRjYWxlbmRhci1iYWNrZ3JvdW5kOiAjMDAwMDAwMDg7XG5cbi8qIEFsaWFzZXMgICovXG4kdGV4dC10ZXh0LXByaW1hcnk6ICRjb2xvci1uZXV0cmFsLTgwO1xuJHRleHQtdGV4dC1zZWNvbmRhcnk6ICRjb2xvci1uZXV0cmFsLTYwO1xuJHRleHQtdGV4dC10ZXJ0aWFyeTogJGNvbG9yLW5ldXRyYWwtNTA7XG4kdGV4dC10ZXh0LWhlYWRpbmc6ICRjb2xvci1uZXV0cmFsLTkwO1xuJHRleHQtdGV4dC10aXRsZTogJGNvbG9yLW5ldXRyYWwtMTAwO1xuJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLW9yYW5nZS01MDtcbiRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtMDtcbiRmaWVsZHMtZmllbGQtYm9yZGVyOiAkY29sb3ItbmV1dHJhbC0zMDtcbiRzdXJmYWNlLXN1cmZhY2UtYm9yZGVyOiAkY29sb3ItbmV1dHJhbC0xMDtcbiRzdXJmYWNlLXN1cmZhY2UtZGl2aWRlcjogJGNvbG9yLW5ldXRyYWwtNTtcbiRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtLWhvdmVyOiAkY29sb3ItYnJhbmQtb3JhbmdlLTcwO1xuJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLS1ob3ZlcjogJGNvbG9yLWJyYW5kLWJsdWUtNzA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyOiAkY29sb3ItbmV1dHJhbC0zMDtcbiRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LXRleHQ6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS10ZXh0OiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0OiAkY29sb3ItbmV1dHJhbC02MDtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXItLWhvdmVyOiAkY29sb3ItbmV1dHJhbC02MDtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1iYWNrZ3JvdW5kLS0taG92ZXI6ICRjb2xvci1uZXV0cmFsLTM7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dC0taG92ZXI6ICRjb2xvci1uZXV0cmFsLTgwO1xuJGJ1dHRvbnMtYnV0dG9uLXdwLXByaW1hcnktYmFja2dyb3VuZDogIzIyNzFCMTtcbiR0ZXh0LXRleHQtbGluazogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kdGV4dC10ZXh0LXN1Y2Nlc3M6ICRjb2xvci11dGlsaXR5LWdyZWVuLTUwO1xuJHRleHQtdGV4dC1lcnJvcjogJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuJHRleHQtdGV4dC13YXJuaW5nOiAkY29sb3ItdXRpbGl0eS15ZWxsb3ctNTA7XG4kZmllbGRzLWZpZWxkLWJvcmRlci0tZm9jdXM6ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuJGZpZWxkcy1maWVsZC1ib3JkZXItZXJyb3I6ICRjb2xvci11dGlsaXR5LXJlZC01MDtcbiRmaWVsZHMtZmllbGQtY2hvaWNlLW9mZjogJGNvbG9yLW5ldXRyYWwtMzA7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vbjogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kYmFkZ2VzLWJhZGdlLW9yYW5nZS10ZXh0OiAkY29sb3ItYnJhbmQtb3JhbmdlLTMwO1xuJGJhZGdlcy1iYWRnZS1vcmFuZ2UtYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLW9yYW5nZS0wO1xuJGJhZGdlcy1iYWRnZS1ibHVlLWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0wO1xuJGJhZGdlcy1iYWRnZS1ibHVlLXRleHQ6ICRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0zMDtcbiRiYWRnZXMtYmFkZ2UtZ3JlZW4tYmFja2dyb3VuZDogJGNvbG9yLXV0aWxpdHktZ3JlZW4tMDtcbiRiYWRnZXMtYmFkZ2UtZ3JlZW4tdGV4dDogJGNvbG9yLXV0aWxpdHktZ3JlZW4tMzA7XG4kYmFkZ2VzLWJhZGdlLXJlZC1iYWNrZ3JvdW5kOiAkY29sb3ItdXRpbGl0eS1yZWQtMDtcbiRiYWRnZXMtYmFkZ2UtcmVkLXRleHQ6ICRjb2xvci11dGlsaXR5LXJlZC0zMDtcbiRiYWRnZXMtYmFkZ2UtbmV1dHJhbC1iYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC01O1xuJGJhZGdlcy1iYWRnZS1uZXV0cmFsLXRleHQ6ICRjb2xvci1uZXV0cmFsLTMwO1xuJHJhZGl1cy1yYWRpdXMtYnV0dG9uOiAkcmFkaXVzLW1kO1xuJHJhZGl1cy1yYWRpdXMtZmllbGQ6ICRyYWRpdXMtbWQ7XG4kcmFkaXVzLXJhZGl1cy1iYWRnZTogJHJhZGl1cy1zbTtcbiRzdXJmYWNlLXN1cmZhY2UtYm9yZGVyLXByaW1hcnk6ICRjb2xvci1icmFuZC1vcmFuZ2UtNTA7XG4kc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLTM7XG4kc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuJHRleHQtdGV4dC1pY29uOiAkY29sb3ItbmV1dHJhbC0yMDtcbiRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC1saWdodDogJGNvbG9yLXV0aWxpdHktZ3JheS0wO1xuJGZpZWxkcy1maWVsZC1jaG9pY2Utb2ZmLS1ob3ZlcjogJGNvbG9yLW5ldXRyYWwtNTA7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI6ICRjb2xvci1icmFuZC1ibHVlLTcwO1xuXG4vLyBGb250IHNpemVzLlxuJHRleHQtZm9udC1zaXplLTJ4czogMTFweDtcbiR0ZXh0LWZvbnQtc2l6ZS14czogMTJweDtcbiR0ZXh0LWZvbnQtc2l6ZS1zczogMTNweDtcbiR0ZXh0LWZvbnQtc2l6ZS1zOiAxNHB4O1xuJHRleHQtZm9udC1zaXplLW06IDE2cHg7XG4kdGV4dC1mb250LXNpemUtbDogMThweDtcbiR0ZXh0LWZvbnQtc2l6ZS1sbDogMjBweDtcbiR0ZXh0LWZvbnQtc2l6ZS1sbGw6IDIycHg7XG4kdGV4dC1mb250LXNpemUteGw6IDI0cHg7XG4kdGV4dC1mb250LXNpemUteHhsOiAyOHB4O1xuXG4vLyBUcmFuc2l0aW9ucy5cbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLXNsb3dlc3Q6IC41MHM7XG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1zbG93ZXI6IC40MHM7XG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1zbG93OiAuMjVzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tbm9ybWFsOiAuMTVzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tZmFzdDogLjA1cztcbiIsIi4jeyRjaG9pY2VzLXNlbGVjdG9yfSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLWJvdHRvbTogJGNob2ljZXMtZ3V0dGVyaW5nO1xuXG5cdDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG5cdFx0Y29sb3I6ICRjb2xvcl9wbGFjZWhvbGRlcjtcblx0fVxuXG5cdDo6LW1vei1wbGFjZWhvbGRlciB7XG5cdFx0Y29sb3I6ICRjb2xvcl9wbGFjZWhvbGRlcjtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cblx0OjpwbGFjZWhvbGRlciB7XG5cdFx0Y29sb3I6ICRjb2xvcl9wbGFjZWhvbGRlcjtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cblxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHQmLmlzLWRpc2FibGVkIHtcblx0XHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lubmVyLFxuXHRcdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5wdXQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNob2ljZXMtYmctY29sb3ItZGlzYWJsZWQ7XG5cdFx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHRcdFx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0JiBbaGlkZGVuXSB7XG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0KiB7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0fVxuXG5cdCYuaXMtb3BlbiB7XG5cdFx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbm5lciB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAkY2hvaWNlcy1ib3JkZXItcmFkaXVzICRjaG9pY2VzLWJvcmRlci1yYWRpdXMgMCAwIDtcblx0XHR9XG5cdH1cblxuXHQmLmlzLW9wZW4uaXMtZmxpcHBlZCB7XG5cdFx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbm5lciB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwIDAgJGNob2ljZXMtYm9yZGVyLXJhZGl1cyAkY2hvaWNlcy1ib3JkZXItcmFkaXVzO1xuXHRcdH1cblx0fVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1bZGF0YS10eXBlKj1cInNlbGVjdC1vbmVcIl0ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0aW5wdXQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lucHV0IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gMjBweCkgIWltcG9ydGFudDtcblx0XHRtYXJnaW46IDEwcHggIWltcG9ydGFudDtcblx0XHRwYWRkaW5nOiA3cHggMTJweCAhaW1wb3J0YW50O1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkY2hvaWNlcy1rZXlsaW5lLWNvbG9yICFpbXBvcnRhbnQ7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGNob2ljZXMtYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cblx0XHQmOmZvY3VzIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRjaG9pY2VzLWZvY3VzZWQtY29sb3IgIWltcG9ydGFudDtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hvaWNlcy1mb2N1c2VkLWNvbG9yICFpbXBvcnRhbnQ7XG5cdFx0XHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19idXR0b24ge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgkY2hvaWNlcy1idXR0b24taWNvbi1wYXRoICsgJy9jcm9zcy1pbnZlcnNlLnN2ZycpO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0YmFja2dyb3VuZC1zaXplOiA4cHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogNTAlO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdG1hcmdpbi10b3A6IC0xMHB4O1xuXHRcdG1hcmdpbi1yaWdodDogMjVweDtcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0d2lkdGg6IDIwcHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogMTBlbTtcblx0XHRvcGFjaXR5OiAuNTtcblxuXHRcdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cblx0XHQmOmZvY3VzIHtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkY2hvaWNlcy1oaWdobGlnaHQtY29sb3I7XG5cdFx0fVxuXHR9XG5cblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pdGVtW2RhdGEtdmFsdWU9JyddIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fYnV0dG9uIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRoZWlnaHQ6IDA7XG5cdFx0d2lkdGg6IDA7XG5cdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRib3JkZXItY29sb3I6ICRjaG9pY2VzLXRleHQtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiA1cHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAxMS41cHg7XG5cdFx0dG9wOiA1MCU7XG5cdFx0bWFyZ2luLXRvcDogLTIuNXB4O1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR9XG5cblx0Ji5pcy1vcGVuOmFmdGVyIHtcblx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjaG9pY2VzLXRleHQtY29sb3IgdHJhbnNwYXJlbnQ7XG5cdFx0bWFyZ2luLXRvcDogLTcuNXB4O1xuXHR9XG5cblx0JltkaXI9XCJydGxcIl0ge1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0bGVmdDogMTEuNXB4O1xuXHRcdFx0cmlnaHQ6IGF1dG87XG5cdFx0fVxuXG5cdFx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19idXR0b24ge1xuXHRcdFx0cmlnaHQ6IGF1dG87XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDI1cHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0fVxuXHR9XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfVtkYXRhLXR5cGUqPVwic2VsZWN0LW11bHRpcGxlXCJdIHtcblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbm5lciB7XG5cdFx0cGFkZGluZy1yaWdodDogJGNob2ljZXMtZ3V0dGVyaW5nO1xuXHRcdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5wdXQge1xuXHRcdFx0cGFkZGluZzogMCA0cHghaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdHdpZHRoOiAwO1xuXHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY2hvaWNlcy10ZXh0LWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci13aWR0aDogNXB4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMTEuNXB4O1xuXHRcdHRvcDogNTAlO1xuXHRcdG1hcmdpbi10b3A6IC0yLjVweDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0fVxuXG5cdCYuaXMtb3BlbjphZnRlciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkY2hvaWNlcy10ZXh0LWNvbG9yIHRyYW5zcGFyZW50O1xuXHRcdG1hcmdpbi10b3A6IC03LjVweDtcblx0fVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1bZGF0YS10eXBlKj1cInNlbGVjdC1tdWx0aXBsZVwiXSxcbi4jeyRjaG9pY2VzLXNlbGVjdG9yfVtkYXRhLXR5cGUqPVwidGV4dFwiXSB7XG5cdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5uZXIge1xuXHRcdGN1cnNvcjogdGV4dDtcblx0fVxuXG5cdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fYnV0dG9uIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0bWFyZ2luLWxlZnQ6IDVweDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgkY2hvaWNlcy1idXR0b24taWNvbi1wYXRoICsgJy9jcm9zcy5zdmcnKTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6ICRjaG9pY2VzLWJ1dHRvbi1kaW1lbnNpb247XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdHdpZHRoOiAkY2hvaWNlcy1idXR0b24tZGltZW5zaW9uO1xuXHRcdGhlaWdodDogJGNob2ljZXMtYnV0dG9uLWRpbWVuc2lvbjtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRvcGFjaXR5OiAuNzU7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblx0fVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lubmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR3aWR0aDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNob2ljZXMtYmctY29sb3I7XG5cdHBhZGRpbmc6IDZweCA2cHggMDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGNob2ljZXMta2V5bGluZS1jb2xvcjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Ym9yZGVyLXJhZGl1czogJGNob2ljZXMtYm9yZGVyLXJhZGl1cztcbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9X19saXN0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdC0tc2luZ2xlIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiAwIDE2cHggNHB4IDRweDtcblx0Zm9udC1zaXplOiAwLjg3NWVtO1xuXG5cdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faXRlbSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0Y29sb3I6ICMyYzMzMzg7XG5cblx0XHQmW2RhdGEtdmFsdWU9JyddIHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0fVxuXHR9XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdC0tbXVsdGlwbGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pdGVtIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRjaG9pY2VzLWJvcmRlci1yYWRpdXMtaXRlbTtcblx0XHRwYWRkaW5nOiA0cHggN3B4O1xuXHRcdGZvbnQtc2l6ZTogLjc1ZW07XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRtYXJnaW46IDAgNnB4IDRweCAwO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjaG9pY2VzLXByaW1hcnktY29sb3I7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGNob2ljZXMtcHJpbWFyeS1jb2xvcjtcblx0XHRjb2xvcjogJGNob2ljZXMtYmctY29sb3I7XG5cdFx0d29yZC1icmVhazogYnJlYWstd29yZDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBjYWxjKCAjeyRjaG9pY2VzLWJ1dHRvbi1kaW1lbnNpb259ICsgNXB4ICk7XG5cblx0XHQmLmlzLWhpZ2hsaWdodGVkIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjaG9pY2VzLWhpZ2hsaWdodC1jb2xvcjtcblx0XHR9XG5cdH1cbn1cblxuLmlzLWRpc2FibGVkIHtcblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19saXN0LS1tdWx0aXBsZSB7XG5cdFx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pdGVtIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjaG9pY2VzLWRpc2FibGVkLWNvbG9yO1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGNob2ljZXMtZGlzYWJsZWQtY29sb3I7XG5cdFx0fVxuXHR9XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdC0tZHJvcGRvd24ge1xuXHRkaXNwbGF5OiBub25lO1xuXHR6LWluZGV4OiAxMDE7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjaG9pY2VzLWJnLWNvbG9yLWRyb3Bkb3duO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY2hvaWNlcy1rZXlsaW5lLWNvbG9yO1xuXHR0b3A6IDEwMCU7XG5cdG1hcmdpbi10b3A6IC0xcHg7XG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRjaG9pY2VzLWJvcmRlci1yYWRpdXM7XG5cdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkY2hvaWNlcy1ib3JkZXItcmFkaXVzO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuXG5cdCYuaXMtYWN0aXZlIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdCB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1heC1oZWlnaHQ6IDMwMHB4O1xuXHRcdG92ZXJmbG93OiBhdXRvO1xuXHRcdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblx0XHR3aWxsLWNoYW5nZTogc2Nyb2xsLXBvc2l0aW9uO1xuXHR9XG5cblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pdGVtIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdGZvbnQtc2l6ZTogLjg3NWVtO1xuXHR9XG5cblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pdGVtLS1zZWxlY3RhYmxlIHtcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiBhdHRyKGRhdGEtc2VsZWN0LXRleHQpO1xuXHRcdFx0XHRmb250LXNpemU6IC43NWVtO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRyaWdodDogMTBweDtcblx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmlzLWhpZ2hsaWdodGVkIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG5cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRvcGFjaXR5OiAuNTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX3BsYWNlaG9sZGVyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi5pcy1mbGlwcGVkIHtcblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19saXN0LS1kcm9wZG93biB7XG5cdFx0dG9wOiBhdXRvO1xuXHRcdGJvdHRvbTogMTAwJTtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdG1hcmdpbi1ib3R0b206IC0xcHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGNob2ljZXMtYm9yZGVyLXJhZGl1cyAkY2hvaWNlcy1ib3JkZXItcmFkaXVzIDAgMDtcblx0fVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2l0ZW0ge1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faXRlbS0tc2VsZWN0YWJsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9X19pdGVtLS1kaXNhYmxlZCB7XG5cdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHRvcGFjaXR5OiAuNTtcbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9X19oZWFkaW5nIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAuNzVlbTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0cGFkZGluZzogMTBweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIGxpZ2h0ZW4oJGNob2ljZXMta2V5bGluZS1jb2xvciwgMTUlKTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGxpZ2h0ZW4oJGNob2ljZXMta2V5bGluZS1jb2xvciwgMTUlKTtcblx0Y29sb3I6ICRjb2xvcl9oZWFkaW5nO1xuXG5cdC5jaG9pY2VzX19ncm91cFtkYXRhLXZhbHVlPVwiaGlkZGVuXCJdID4gJiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2J1dHRvbiB7XG5cdHRleHQtaW5kZW50OiAtOTk5OXB4O1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG5cdGJvcmRlcjogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbnB1dCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdG1hcmdpbjogMCAwIDRweCAwICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXHRib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG5cdG1heC13aWR0aDogMTAwJTtcblx0bWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuXHR3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAycHggNHB4ICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogYXV0byFpbXBvcnRhbnQ7XG5cblx0Ly8gVGhpcyBpcyBjdXN0b20gc3R5bGVzIGZvciBoaWRpbmcgYSBpbnB1dCBvbiBjaGFuZ2UgZXZlbnQuXG5cdCYtLWhpZGRlbiB7XG5cdFx0Y2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpICFpbXBvcnRhbnQ7XG5cdFx0Y2xpcC1wYXRoOiBpbnNldCg1MCUpICFpbXBvcnRhbnQ7XG5cdFx0aGVpZ2h0OiAxcHggIWltcG9ydGFudDtcblx0XHRtYXJnaW46IC0xcHggIWltcG9ydGFudDtcblx0XHRvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG5cdFx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuXHRcdHdpZHRoOiAxcHggIWltcG9ydGFudDtcblx0XHRtaW4td2lkdGg6IGF1dG8gIWltcG9ydGFudDtcblx0XHR3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfSAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lubmVyIHtcblx0aW5wdXQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lucHV0OmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXHRcdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fcGxhY2Vob2xkZXIge1xuXHRvcGFjaXR5OiAuNTtcbn1cblxuI3dwZm9ybXMtYWRtaW4tZm9ybS1lbWJlZC13aXphcmQge1xuXHQuI3skY2hvaWNlcy1zZWxlY3Rvcn0ge1xuXHRcdCYuaXMtb3Blbi5pcy1mbGlwcGVkIHtcblx0XHRcdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5uZXIge1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAkY2hvaWNlcy1ib3JkZXItcmFkaXVzICRjaG9pY2VzLWJvcmRlci1yYWRpdXMgMCAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5pcy1mbGlwcGVkIHtcblx0XHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2xpc3QtLWRyb3Bkb3duIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG5cdFx0fVxuXHR9XG5cblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9W2RhdGEtdHlwZSo9XCJzZWxlY3Qtb25lXCJdIHtcblx0XHQmOmFmdGVyIHtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdGJhY2tncm91bmQ6ICNmZmZmZmYgdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVTLUFTQ0lJLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjAlMjIlMjBoZWlnaHQlM0QlMjIyMCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNNSUyMDZsNSUyMDUlMjA1LTUlMjAyJTIwMS03JTIwNy03LTclMjAyLTF6JTIyJTIwZmlsbCUzRCUyMiUyMzc3NyUyMiUyRiUzRSUzQyUyRnN2ZyUzRSkgbm8tcmVwZWF0IGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogMTZweCAxNnB4O1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0d2lkdGg6IDE2cHg7XG5cdFx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0XHR0b3A6IDEzcHg7XG5cdFx0XHRyaWdodDogOHB4O1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cdH1cblxuXHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1bZGF0YS10eXBlKj1cInNlbGVjdC1vbmVcIl0uaXMtZmxpcHBlZCB7XG5cdFx0JjphZnRlciB7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuXHRcdH1cblx0fVxufVxuIiwiLy8gU2VsZWN0b3JzLlxuJGNob2ljZXMtc2VsZWN0b3I6ICAgICAnY2hvaWNlcycgIWRlZmF1bHQ7XG4kY2hvaWNlcy1ydGwtc2VsZWN0b3I6ICdib2R5LnJ0bCcgIWRlZmF1bHQ7XG5cbi8vIENvbG9ycy5cbiR0ZXh0LXNlY29uZGFyeTogICAgICAgICAgICAjNTA1NzVlICFkZWZhdWx0O1xuJGNob2ljZXMtYmctY29sb3I6ICAgICAgICAgICNmZmZmZmYgIWRlZmF1bHQ7XG4kY2hvaWNlcy1iZy1jb2xvci1kaXNhYmxlZDogI2JiYmJiYiAhZGVmYXVsdDtcbiRjaG9pY2VzLWJnLWNvbG9yLWRyb3Bkb3duOiAkY2hvaWNlcy1iZy1jb2xvciAhZGVmYXVsdDtcbiRjaG9pY2VzLXRleHQtY29sb3I6ICAgICAgICBjdXJyZW50Q29sb3IgIWRlZmF1bHQ7XG4kY2hvaWNlcy1rZXlsaW5lLWNvbG9yOiAgICAgIzhjOGY5NCAhZGVmYXVsdDtcbiRjaG9pY2VzLXByaW1hcnktY29sb3I6ICAgICAjMDM2YWFiICFkZWZhdWx0O1xuJGNob2ljZXMtZGlzYWJsZWQtY29sb3I6ICAgICNiYmJiYmIgIWRlZmF1bHQ7XG4kY2hvaWNlcy1oaWdobGlnaHQtY29sb3I6ICAgJGNob2ljZXMtcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRjaG9pY2VzLWZvY3VzZWQtY29sb3I6ICAgICAjMDU2YWFiICFkZWZhdWx0O1xuJGNob2ljZXMtZHJvcGRvd24tY29sb3I6ICAgICM3Nzc3Nzc7XG4kY29sb3JfcGxhY2Vob2xkZXI6ICAgICAgICAgIzk5OTk5OTtcbiRjb2xvcl9oZWFkaW5nOiAgICAgICAgICAgICAjYTZhNmE2O1xuXG4vLyBTaXppbmcuXG4kY2hvaWNlcy1ndXR0ZXJpbmc6ICAgICAgICAyNHB4ICFkZWZhdWx0O1xuJGNob2ljZXMtYnV0dG9uLWRpbWVuc2lvbjogMTJweCAhZGVmYXVsdDtcbiRjaG9pY2VzLWJ1dHRvbi1vZmZzZXQ6ICAgIDJweCAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHJhZGl1cy5cbiRjaG9pY2VzLWJvcmRlci1yYWRpdXM6ICAgICAgNHB4ICFkZWZhdWx0O1xuJGNob2ljZXMtYm9yZGVyLXJhZGl1cy1pdGVtOiAycHggIWRlZmF1bHQ7XG5cbi8vIFBhdGggdG8gaWNvbnMuXG4kY2hvaWNlcy1idXR0b24taWNvbi1wYXRoOiAnLi4vaW1hZ2VzJyAhZGVmYXVsdDtcblxuIiwiI3skY2hvaWNlcy1ydGwtc2VsZWN0b3J9IHtcbiAgLiN7JGNob2ljZXMtc2VsZWN0b3J9W2RhdGEtdHlwZSo9XCJzZWxlY3QtbXVsdGlwbGVcIl0ge1xuICAgIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5uZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAkY2hvaWNlcy1ndXR0ZXJpbmc7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDExLjVweDtcbiAgICB9XG4gIH1cblxuICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2xpc3QtLXNpbmdsZSB7XG4gICAgcGFkZGluZy1yaWdodDogNHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgfVxuXG4gIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdC0tbXVsdGlwbGUge1xuICAgIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faXRlbSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMy43NXB4O1xuXG4gICAgICAmW2RhdGEtZGVsZXRhYmxlXSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdC0tZHJvcGRvd24ge1xuICAgIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faXRlbSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lucHV0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC4jeyRjaG9pY2VzLXNlbGVjdG9yfVtkYXRhLXR5cGUqPVwic2VsZWN0LW11bHRpcGxlXCJdLCAuI3skY2hvaWNlcy1zZWxlY3Rvcn1bZGF0YS10eXBlKj1cInRleHRcIl0ge1xuICAgIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNob2ljZXMtYnV0dG9uLW9mZnNldDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtIGNhbGMoJGNob2ljZXMtYnV0dG9uLW9mZnNldC8yKTtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtlbigkY2hvaWNlcy1wcmltYXJ5LWNvbG9yLCAxMCUpO1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLiN7JGNob2ljZXMtc2VsZWN0b3J9X19saXN0LS1kcm9wZG93biB7XG4gICAgICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2l0ZW0tLXNlbGVjdGFibGUge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMDBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNob2ljZXNqcy1zZWxlY3Qtd3JhcCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjb2xvcjogIzMzMztcblxuXHQuY2hvaWNlcyB7XG5cdFx0Zm9udC1zaXplOiAkdGV4dC1mb250LXNpemUtbTtcblx0fVxuXG5cdC5jaG9pY2VzX19pbm5lciB7XG5cdFx0cGFkZGluZzogNHB4IDAgMCA2cHg7XG5cblx0XHQuY2hvaWNlc19fbGlzdC0tbXVsdGlwbGU6bm90KDplbXB0eSkge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyNnB4O1xuXHRcdH1cblx0fVxuXG5cdC5jaG9pY2VzanMtc2VsZWN0W211bHRpcGxlXSB7XG5cdFx0b3B0aW9uIHtcblx0XHRcdHBhZGRpbmc6IDEuNXB4IDAgMCAwO1xuXHRcdH1cblx0fVxuXG5cdHNlbGVjdCB7XG5cdFx0bWF4LXdpZHRoOiA0MDBweDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPGRlc2t0b3BcIikge1xuXHRcdHdpZHRoOiAzMDBweDtcblx0fVxuXG5cdC8vIFVwZGF0ZSBhcnJvdyB0byBmaXQgV1Agc3R5bGVzLlxuXHQuY2hvaWNlcyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlxcZjM0N1wiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiBjYWxjKDUwJSAtIDZweCk7XG5cdFx0XHRyaWdodDogNnB4O1xuXHRcdFx0Zm9udC1mYW1pbHk6IGRhc2hpY29ucywgc2Fucy1zZXJpZjtcblx0XHRcdGNvbG9yOiAkdGV4dC1zZWNvbmRhcnk7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHR3aWR0aDogMTZweDtcblx0XHRcdGhlaWdodDogMTdweDtcblx0XHR9XG5cblx0XHQmLmlzLW9wZW46YWZ0ZXIge1xuXHRcdFx0bWFyZ2luLXRvcDogLTFweDtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG5cdFx0fVxuXHR9XG5cblx0LmNob2ljZXNbZGF0YS10eXBlKj1cInNlbGVjdC1tdWx0aXBsZVwiXSB7XG5cdFx0LmNob2ljZXNfX2lubmVyIHtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBzdGFydDtcblx0XHRcdHBhZGRpbmctdG9wOiA2cHggIWltcG9ydGFudDtcblxuXHRcdFx0LmNob2ljZXNfX2lucHV0IHtcblx0XHRcdFx0cGFkZGluZzogMnB4IDRweCAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5pcy1mb2N1c2VkLFxuXHQuaXMtb3BlbiB7XG5cdFx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbm5lciB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRjaG9pY2VzLWZvY3VzZWQtY29sb3I7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJGNob2ljZXMtZm9jdXNlZC1jb2xvcjtcblx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0LmlzLWZsaXBwZWQuaXMtb3BlbiB7XG5cdFx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbm5lciB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRjaG9pY2VzLWZvY3VzZWQtY29sb3I7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJGNob2ljZXMtZm9jdXNlZC1jb2xvcjtcblx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0LmlzLW9wZW4ge1xuXHRcdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdC0tZHJvcGRvd24ge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkY2hvaWNlcy1mb2N1c2VkLWNvbG9yO1xuXHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRjaG9pY2VzLWtleWxpbmUtY29sb3IsIDEwJSk7XG5cdFx0XHRib3JkZXItYm90dG9tOiAwO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAxcHggMCAxcHggJGNob2ljZXMtZm9jdXNlZC1jb2xvcjtcblx0XHR9XG5cdH1cblxuXHQuaXMtb3Blbi5pcy1mbGlwcGVkIHtcblx0XHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2xpc3QtLWRyb3Bkb3duIHtcblx0XHRcdGJvcmRlci10b3A6IDA7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2VuKCRjaG9pY2VzLWtleWxpbmUtY29sb3IsIDEwJSk7XG5cdFx0XHRib3gtc2hhZG93OiAwIC0xcHggMCAxcHggJGNob2ljZXMtZm9jdXNlZC1jb2xvcjtcblx0XHR9XG5cdH1cbn1cblxuLmNob2ljZXNfX2lubmVyIHtcblx0bWluLWhlaWdodDogMzZweDtcbn1cbiIsIi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2Mi4wLjBcbi8vXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXG4vL1xuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXG4vLyAgICAgICAgICAgICAgICAgIEtpdHR5IEdpcmF1ZGVsIChAa2l0dHlnaXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG5AY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cbkB1c2UgJ3Nhc3M6bWF0aCc7XG5AdXNlICdzYXNzOm1hcCc7XG5AdXNlICdzYXNzOmxpc3QnO1xuQHVzZSAnc2FzczpzdHJpbmcnO1xuQHVzZSAnc2FzczptZXRhJztcblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6IChcbiAgJ3Bob25lJzogMzIwcHgsXG4gICd0YWJsZXQnOiA3NjhweCxcbiAgJ2Rlc2t0b3AnOiAxMDI0cHgsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzpcbiAgICAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuICAncmV0aW5hM3gnOlxuICAgICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KScsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDAsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgQGlmIG1ldGEuZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgIEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge1xuICB9XG59XG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHtcbn1cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAuaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSlcbiAgICAgIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmIG5vdCBsaXN0LmluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xuICAgIEBpZiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xufVxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHJpbmcuc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXRyaW0oJHBhcnNlZC1kaW1lbnNpb24pO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHJpbmcubGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihsaXN0LmluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0cmluZy5pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHJpbmcuc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0cmluZy5sZW5ndGgoJG9wZXJhdG9yKSk7XG4gICR0cmltbWVkVmFsdWU6IHN0ci10cmltKCR2YWx1ZSk7XG5cbiAgQGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJHRyaW1tZWRWYWx1ZSkge1xuICAgICR2YWx1ZTogbWFwLmdldCgkYnJlYWtwb2ludHMsICR0cmltbWVkVmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdHJpbW1lZFZhbHVlKTtcbiAgfVxuXG4gICRpbnRlcnZhbDogbWFwLmdldCgkdW5pdC1pbnRlcnZhbHMsIG1hdGgudW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje21hdGgudW5pdCgkdmFsdWUpfWAuJyk7XG4gIH1cblxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLmhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLmdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxpc3QubGVuZ3RoKCRsaXN0KSkge1xuICBAaWYgbGlzdC5sZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICRyZXN1bHQ6IGxpc3QuYXBwZW5kKCRyZXN1bHQsIGxpc3QubnRoKCRsaXN0LCAkaSksIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG4vLy9cblxuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIG1ldGEudHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcbiAgfVxuXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0cmluZy5zbGljZSgkdmFsdWUsIDEsIDEpO1xuICAkcmVzdWx0OiAwO1xuICAkZGlnaXRzOiAwO1xuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XG4gICRudW1iZXJzOiAoXG4gICAgJzAnOiAwLFxuICAgICcxJzogMSxcbiAgICAnMic6IDIsXG4gICAgJzMnOiAzLFxuICAgICc0JzogNCxcbiAgICAnNSc6IDUsXG4gICAgJzYnOiA2LFxuICAgICc3JzogNyxcbiAgICAnOCc6IDgsXG4gICAgJzknOiA5LFxuICApO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyaW5nLmxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdChsaXN0LmluZGV4KG1hcC5rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHJpbmcuc2xpY2UoJHZhbHVlLCAkaSkpO1xuICAgIH1cblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGlnaXRzOiAxO1xuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC5nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hdGguZGl2KG1hcC5nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpLCAkZGlnaXRzKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKFxuICAgICdweCc6IDFweCxcbiAgICAnY20nOiAxY20sXG4gICAgJ21tJzogMW1tLFxuICAgICclJzogMSUsXG4gICAgJ2NoJzogMWNoLFxuICAgICdwYyc6IDFwYyxcbiAgICAnaW4nOiAxaW4sXG4gICAgJ2VtJzogMWVtLFxuICAgICdyZW0nOiAxcmVtLFxuICAgICdwdCc6IDFwdCxcbiAgICAnZXgnOiAxZXgsXG4gICAgJ3Z3JzogMXZ3LFxuICAgICd2aCc6IDF2aCxcbiAgICAndm1pbic6IDF2bWluLFxuICAgICd2bWF4JzogMXZtYXgsXG4gICk7XG5cbiAgQGlmIG5vdCBsaXN0LmluZGV4KG1hcC5rZXlzKCR1bml0cyksICR1bml0KSB7XG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC5nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgSmFjayBNY05pY29sXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIFRyaW1zIGEgc3RyaW5nIG9mIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHNwYWNlc1xuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBWYWx1ZSB0byBiZSB0cmltbWVkXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9XG4vLy9cblxuQGZ1bmN0aW9uIHN0ci10cmltKCRzdHJpbmcpIHtcbiAgQGlmIChzdHItc2xpY2UoJHN0cmluZywgMSwgMSkgPT0gJyAnKSB7XG4gICAgQHJldHVybiBzdHItdHJpbShzdHItc2xpY2UoJHN0cmluZywgMikpO1xuICB9IEBlbHNlIGlmIChzdHItc2xpY2UoJHN0cmluZywgc3RyLWxlbmd0aCgkc3RyaW5nKSwgLTEpID09ICcgJykge1xuICAgIEByZXR1cm4gc3RyLXRyaW0oc3RyLXNsaWNlKCRzdHJpbmcsIDEsIC0yKSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJHN0cmluZztcbiAgfVxufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLm1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC5tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGlzdC5sZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpXG4gIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxpc3QubGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3tzdHJpbmcudW5xdW90ZShwYXJzZS1leHByZXNzaW9uKGxpc3QubnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgJHNsaWNlZC1jb25kaXRpb25zOiBzbGljZSgkY29uZGl0aW9ucywgMik7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkc2xpY2VkLWNvbmRpdGlvbnMuLi4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBHZW5lcmFsIGFkbWluIHN0eWxpbmcuXG5cbi8vIENvcmUgYWRtaW4gc3R5bGUgb3ZlcnJpZGVzLlxuI3dwY29udGVudCB7XG5cdHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblx0XHRwYWRkaW5nLXRvcDogNDZweDtcblx0fVxufVxuXG4jd3Bib2R5IHtcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0fVxufVxuXG4vLyBBZG1pbiB3cmFwIC0gY29udGFpbnMgZXZlcnl0aGluZyBleGNlcHQgdGhlIGhlYWRlci5cbi5zdWdhci1jYWxlbmRhci1hZG1pbi13cmFwIHtcblx0bWFyZ2luOiAwO1xuXG5cdC5ub3RpY2Uge1xuXHRcdG1hcmdpbjogMCAwIDE1cHg7XG5cdH1cbn1cblxuLy8gQWRtaW4gY29udGVudC5cbi5zdWdhci1jYWxlbmRhci1hZG1pbi1jb250ZW50IHtcblx0cGFkZGluZzogJHNwYWNpbmctbGcgJHNwYWNpbmctbGcgMCAkc3BhY2luZy1sZztcblxuXHQqLFxuXHQqOjpiZWZvcmUsXG5cdCo6OmFmdGVyIHtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHR9XG5cblx0JjphZnRlciB7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0Y29udGVudDogXCIgXCI7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdH1cblxuXHRociB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTRlNGU0O1xuXHRcdG1hcmdpbjogMjBweCAwO1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdH1cblxuXHRjb2RlIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cGFkZGluZzogMCA2cHg7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdGNvbG9yOiAkdGV4dC10ZXh0LXNlY29uZGFyeTtcblx0fVxuXG5cdHN0cm9uZyB7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0fVxuXG5cdHAge1xuXHRcdCYuc3VibWl0IHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6ICRzcGFjaW5nLWxnIDAgMjBweCAwO1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNlNGU0ZTQ7XG5cblx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItYWRtaW4tY29udGVudF9fc2V0dGluZ3MtZm9ybSB7XG5cdFx0cGFkZGluZy10b3A6IDE1cHg7XG5cdH1cbn1cblxuLy8gTGVnYWN5IGFkZG9uIGZpeGVzLlxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLWNvbnRlbnQge1xuXHQuZm9ybS10YWJsZTpmaXJzdC1jaGlsZCB7XG5cdFx0dGJvZHkge1xuXHRcdFx0dHI6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHR0aCxcblx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aCB7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDJweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRkIHtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGgzIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBIZWFkZXIgc3R5bGVzLlxuXG4jc3VnYXItY2FsZW5kYXItaGVhZGVyLXRlbXAge1xuXHRtYXJnaW46IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtMXB4O1xuXHRsZWZ0OiAyMHB4O1xuXHRyaWdodDogMDtcblx0ei1pbmRleDogOTk7XG5cblx0QGluY2x1ZGUgbWVkaWEoXCI8NjAwcHhcIikge1xuXHRcdHBhZGRpbmctdG9wOiA1MHB4O1xuXHR9XG59XG5cbiNzdWdhci1jYWxlbmRhci1oZWFkZXIge1xuXHRwYWRkaW5nOiAyMHB4IDMwcHg7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc3VyZmFjZS1zdXJmYWNlLWRpdmlkZXI7XG5cdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRpbWcge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbjogMDtcblx0XHRtYXgtd2lkdGg6IDI5NnB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XG5cdFx0XHRtYXgtd2lkdGg6IDIwMHB4O1xuXHRcdH1cblx0fVxuXG5cdGEjc3VnYXItY2FsZW5kYXItaGVhZGVyLWhlbHAge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdGNvbG9yOiAkdGV4dC10ZXh0LWljb247XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRsaW5lLWhlaWdodDogMTNweDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0bWFzay1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3F1ZXN0aW9uLWNpcmNsZS5zdmdcIik7XG5cdFx0XHRtYXNrLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRleHQtdGV4dC1pY29uO1xuXHRcdFx0d2lkdGg6IDE2cHg7XG5cdFx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDZweDtcblx0XHR9XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Y29sb3I6ICR0ZXh0LXRleHQtdGVydGlhcnk7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRleHQtdGV4dC10ZXJ0aWFyeTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG5cdCNzdWdhci1jYWxlbmRhci1ub3RpY2UtYmFyICsgI3N1Z2FyLWNhbGVuZGFyLWhlYWRlci10ZW1wIHtcblx0XHR0b3A6IDM0cHg7XG5cdH1cbn1cbiIsIkBtaXhpbiBmb3JtLWZpZWxkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkZmllbGRzLWZpZWxkLWJvcmRlcjtcblx0Ym9yZGVyLXJhZGl1czogJHJhZGl1cy1yYWRpdXMtZmllbGQ7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cdGNvbG9yOiAkdGV4dC10ZXh0LXByaW1hcnk7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0cGFkZGluZzogN3B4IDEycHg7XG5cdG1hcmdpbjogMDtcblx0d2lkdGg6IDQwMHB4O1xuXHRtaW4taGVpZ2h0OiAzNnB4O1xuXHRsaW5lLWhlaWdodDogMS4zO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiAkdGV4dC10ZXh0LXByaW1hcnk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtYm9yZGVyLS1mb2N1cyAhaW1wb3J0YW50O1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkZmllbGRzLWZpZWxkLWJvcmRlci0tZm9jdXMgIWltcG9ydGFudDtcblx0XHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmOmRpc2FibGVkIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wXCIpIHtcblx0XHR3aWR0aDogMzAwcHg7XG5cdH1cbn1cblxuQG1peGluIGZvcm0tZmllbGQtc2VsZWN0IHtcblx0QGluY2x1ZGUgZm9ybS1maWVsZDtcblxuXHRwYWRkaW5nOiA3cHggMjRweCA3cHggMTBweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbkBtaXhpbiBmb3JtLWZpZWxkLXJhZGlvIHtcblx0Ym9yZGVyOiAxcHggc29saWQgJGZpZWxkcy1maWVsZC1ib3JkZXI7XG5cdG1hcmdpbjogMXB4IDEwcHggMCAwO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdH1cblxuXHQmOmNoZWNrZWQge1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb24tLWhvdmVyO1xuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJGZpZWxkcy1maWVsZC1jaG9pY2Utb24tLWhvdmVyO1xuXHRcdH1cblx0fVxuXG5cdCY6ZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkZmllbGRzLWZpZWxkLWNob2ljZS1vZmY7XG5cdH1cbn1cblxuQG1peGluIGZvcm0tZmllbGQtY2hlY2tib3gge1xuXHRib3JkZXI6IDFweCBzb2xpZCAkZmllbGRzLWZpZWxkLWJvcmRlcjtcblx0bWFyZ2luOiAxcHggMTBweCAwIDA7XG5cblx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0fVxuXG5cdCY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHR9XG5cblx0JjpjaGVja2VkIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRtYXNrOiB1cmwoLi4vaW1hZ2VzL2ljb25zL3llcy5zdmcpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMCVcblx0XHR9XG5cblx0XHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb24tLWhvdmVyO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb24tLWhvdmVyO1xuXHRcdH1cblxuXHRcdCY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZSwgMCAwIDAgMnB4ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3Zlcjtcblx0XHR9XG5cdH1cblxuXHQmOmRpc2FibGVkIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cblx0XHQmOmNoZWNrZWQge1xuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGZvcm0tZmllbGQtdGV4dGFyZWEge1xuXHRAaW5jbHVkZSBmb3JtLWZpZWxkO1xufVxuXG4uc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW46IDAgMXB4O1xuXHRsaW5lLWhlaWdodDogMTtcblx0Y29sb3I6ICR0ZXh0LXRleHQtc2Vjb25kYXJ5O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRoZWlnaHQ6IDI1cHg7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cblx0aW5wdXRbdHlwZT1jaGVja2JveF0ge1xuXHRcdEBpbmNsdWRlIHZpc3VhbGx5LWhpZGU7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG5cdFx0XHQmICsgbGFiZWwuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9mZi0taG92ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG5cdFx0XHQmICsgbGFiZWwuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGUsIDAgMCAwIDJweCAkZmllbGRzLWZpZWxkLWJvcmRlcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmNoZWNrZWQge1xuXHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRsZWZ0OiBjYWxjKDEwMCUgLSAycHgpO1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG5cdFx0XHRcdCYgKyBsYWJlbC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Jjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG5cdFx0XHRcdCYgKyBsYWJlbC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uIHtcblx0XHRcdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlLCAwIDAgMCAycHggJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmRpc2FibGVkIHtcblx0XHRcdCYgKyBsYWJlbC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uIHtcblx0XHRcdFx0b3BhY2l0eTogMC41O1xuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdCYgKyBsYWJlbC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uIHtcblx0XHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0c3Bhbixcblx0bGFiZWwge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWxhYmVsIHtcblx0XHRwYWRkaW5nOiAwICRzcGFjaW5nLXNtO1xuXHRcdG1heC13aWR0aDogY2FsYygxMDAlIC0gNjVweCk7XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtc3RhdHVzIHtcblx0XHRjb2xvcjogJHRleHQtdGV4dC1zZWNvbmRhcnk7XG5cdFx0Zm9udC1zaXplOiAkdGV4dC1mb250LXNpemUteHM7XG5cdFx0bGluZS1oZWlnaHQ6IDE3cHg7XG5cdFx0cGFkZGluZzogMCAkc3BhY2luZy1zbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtc3RhdHVzLW9mZixcblx0LnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLXN0YXR1cy1vbiB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHR9XG5cblx0aW5wdXQ6bm90KDpjaGVja2VkKSB+IC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb2ZmLFxuXHRpbnB1dDpjaGVja2VkIH4gLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLXN0YXR1cy1vbiB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uZXV0cmFsLTMwO1xuXHRcdGJvcmRlci1yYWRpdXM6IDguNXB4O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0aGVpZ2h0OiAxN3B4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0ZXh0LWluZGVudDogLTk5OTlweDtcblx0XHR3aWR0aDogMjdweDtcblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0aGVpZ2h0OiAxM3B4O1xuXHRcdFx0bGVmdDogMnB4O1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAycHg7XG5cdFx0XHR3aWR0aDogMTNweDtcblx0XHRcdHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1ub3JtYWwgZWFzZS1vdXQ7XG5cdFx0fVxuXHR9XG5cblx0aW5wdXQ6ZGlzYWJsZWQgfiAuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbixcblx0aW5wdXQ6ZGlzYWJsZWQgfiAuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtc3RhdHVzLW9mZixcblx0aW5wdXQ6ZGlzYWJsZWQgfiAuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtc3RhdHVzLW9uIHtcblx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdH1cbn1cbiIsIkBtaXhpbiBsaW5rLXJlc2V0IHtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjb2xvcjogaW5oZXJpdDtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0b3V0bGluZTogbm9uZTtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG5AbWl4aW4gdmlzdWFsbHktaGlkZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0aGVpZ2h0OiAwO1xuXHR3aWR0aDogMDtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblx0bWFyZ2luOiAwO1xuXHRtaW4td2lkdGg6IDA7XG59XG5cbkBtaXhpbiBiYWRnZSgkcG9zaXRpb246IGFmdGVyKSB7XG5cdCY6OiN7JHBvc2l0aW9ufSB7XG5cdFx0Y29udGVudDogXCJQUk9cIjtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLWxlZnQ6ICRzcGFjaW5nLXNtO1xuXHRcdHBhZGRpbmc6IDVweCA4cHg7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRmb250LXNpemU6IDhweDtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjRweDtcblx0XHRsaW5lLWhlaWdodDogOHB4O1xuXHRcdGNvbG9yOiAkYmFkZ2VzLWJhZGdlLW5ldXRyYWwtdGV4dDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmFkZ2VzLWJhZGdlLW5ldXRyYWwtYmFja2dyb3VuZDtcblx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLXJhZGl1cy1iYWRnZTtcblxuXHRcdEBjb250ZW50O1xuXHR9XG59XG4iLCIvLyBCdXR0b25zLlxuLnN1Z2FyLWNhbGVuZGFyLWJ0biB7XG5cdGJvcmRlci13aWR0aDogMXB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLXJhZGl1cy1idXR0b247XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW46IDA7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRib3gtc2hhZG93OiBub25lO1xuXHR0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tZmFzdCBlYXNlLW91dDtcblxuXHQmLmluYWN0aXZlIHtcblx0XHRjdXJzb3I6IG5vLWRyb3A7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1ibG9jayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1zbSB7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cdHBhZGRpbmc6IDAgMTBweDtcblx0aGVpZ2h0OiAzMHB4O1xufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLW1kIHtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRsaW5lLWhlaWdodDogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0cGFkZGluZzogMTBweCAxNXB4O1xuXHRtaW4taGVpZ2h0OiAzNnB4O1xufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLWxnIHtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRwYWRkaW5nOiAxMXB4IDE3cHg7XG5cdG1pbi1oZWlnaHQ6IDQ0cHg7XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tcHJpbWFyeSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG5cdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDtcblx0Y29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlICFpbXBvcnRhbnQ7XG5cblx0Jjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Y29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tc2Vjb25kYXJ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuXHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDtcblx0Y29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlICFpbXBvcnRhbnQ7XG5cblx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Y29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi10ZXJ0aWFyeSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1iYWNrZ3JvdW5kO1xuXHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXI7XG5cdGNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dCAhaW1wb3J0YW50O1xuXG5cdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1iYWNrZ3JvdW5kLS0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyLS1ob3Zlcjtcblx0XHRjb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LXRleHQtLWhvdmVyICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlci0taG92ZXI7XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1ncmVlbiB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci11dGlsaXR5LWdyZWVuLTUwO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItdXRpbGl0eS1ncmVlbi01MDtcblx0Y29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlICFpbXBvcnRhbnQ7XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRjb2xvci11dGlsaXR5LWdyZWVuLTUwO1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0b3V0bGluZTogMDtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXJlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci11dGlsaXR5LXJlZC01MDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0b3V0bGluZTogMDtcblx0fVxufVxuIiwiLy8gUGFnZSBzdWJoZWFkZXIuXG4uc3VnYXItY2FsZW5kYXItYWRtaW4tc3ViaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRoZWlnaHQ6IDYwcHg7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMTVweCAkc3BhY2luZy1sZztcblx0YmFja2dyb3VuZC1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4wNyk7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cblx0Kixcblx0Kjo6YmVmb3JlLFxuXHQqOjphZnRlciB7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0fVxuXG5cdGg0IHtcblx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHRjb2xvcjogJHRleHQtdGV4dC10aXRsZTtcblx0XHRtYXJnaW46IDA7XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItYnRuLW5ldy1pdGVtIHtcblx0XHRtYXJnaW4tbGVmdDogJHNwYWNpbmctbWQ7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdG1hc2s6IHVybCguLi9pbWFnZXMvaWNvbnMvYWRkLnN2ZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRcdHdpZHRoOiAxMXB4O1xuXHRcdFx0aGVpZ2h0OiAxMXB4O1xuXHRcdFx0bWFyZ2luOiAwIDZweCAwIDA7XG5cdFx0fVxuXHR9XG59XG4iLCJAaW1wb3J0ICdhZG1pbi92YXJpYWJsZXMnO1xuXG5AaW1wb3J0ICd2ZW5kb3IvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd2ZW5kb3IvY2hvaWNlcy9jaG9pY2VzJztcblxuQGltcG9ydCBcImFkbWluL21peGluc1wiO1xuQGltcG9ydCBcImFkbWluL2Nob2ljZXNcIjtcbkBpbXBvcnQgJ2FkbWluL2dlbmVyYWwnO1xuQGltcG9ydCAnYWRtaW4vaGVhZGVyJztcbkBpbXBvcnQgJ2FkbWluL2Zvcm1zJztcbkBpbXBvcnQgJ2FkbWluL2J1dHRvbnMnO1xuQGltcG9ydCAnYWRtaW4vc3ViaGVhZGVyJztcblxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLWNvbnRlbnQge1xuXHQuc3VnYXItY2FsZW5kYXItY2FsZW5kYXItZm9ybSB7XG5cdFx0bWF4LXdpZHRoOiA5MDBweDtcblxuXHRcdGlucHV0LFxuXHRcdHRleHRhcmVhIHtcblx0XHRcdEBpbmNsdWRlIGZvcm0tZmllbGQ7XG5cdFx0fVxuXG5cdFx0c2VsZWN0IHtcblx0XHRcdEBpbmNsdWRlIGZvcm0tZmllbGQtc2VsZWN0O1xuXHRcdH1cblxuXHRcdGlucHV0IHtcblx0XHRcdCYjdGFnLW5hbWUsXG5cdFx0XHQmI25hbWUge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbWQ7XG5cdFx0XHRcdHBhZGRpbmc6IDlweCA4cHg7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE4cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnBvc3Rib3gge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0Ym9yZGVyLXJhZGl1czogJHJhZGl1cy1tZDtcblxuXHRcdC5wb3N0Ym94LWhlYWRlciB7XG5cdFx0XHRoMiB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0cGFkZGluZzogOHB4IDEycHg7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0XHR9XG5cblx0XHRcdC5oYW5kbGUtb3JkZXItaGlnaGVyLFxuXHRcdFx0LmhhbmRsZS1vcmRlci1sb3dlciB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Lmluc2lkZSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdHBhZGRpbmc6ICRzcGFjaW5nLWxnO1xuXHRcdFx0cm93LWdhcDogJHNwYWNpbmctbGc7XG5cdFx0XHRtYXJnaW46IDA7XG5cblx0XHRcdC5zdWdhci1jYWxlbmRhci1tZXRhYm94X19maWVsZC1yb3cge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRjb2x1bW4tZ2FwOiAkc3BhY2luZy1zbTtcblxuXHRcdFx0XHQ+IGxhYmVsIHtcblx0XHRcdFx0XHR3aWR0aDogMjAwcHg7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAzNHB4O1xuXHRcdFx0XHRcdGNvbG9yOiAkdGV4dC10ZXh0LXByaW1hcnk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuc3VnYXItY2FsZW5kYXItbWV0YWJveF9fZmllbGQge1xuXHRcdFx0XHRcdGZsZXg6IDE7XG5cblx0XHRcdFx0XHQuY2hvaWNlc2pzLXNlbGVjdC13cmFwIHtcblx0XHRcdFx0XHRcdG1heC13aWR0aDogNDAwcHg7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQud3AtcGlja2VyLWNvbnRhaW5lciB7XG5cdFx0XHRcdFx0XHQud3AtY29sb3ItcmVzdWx0IHtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMTI4cHg7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMzZweDtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogJHJhZGl1cy1yYWRpdXMtZmllbGQ7XG5cdFx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRmaWVsZHMtZmllbGQtYm9yZGVyO1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cblx0XHRcdFx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWJvcmRlci0tZm9jdXMgIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJGZpZWxkcy1maWVsZC1ib3JkZXItLWZvY3VzICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRcdFx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0JiBzcGFuLFxuXHRcdFx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHRcdFx0XHRsZWZ0OiAkc3BhY2luZy1zbTtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAtMTBweDtcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAkc3BhY2luZy1tZDtcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6ICRzcGFjaW5nLW1kO1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuXHRcdFx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogMCAkc3BhY2luZy1zbSAwIDM2cHg7XG5cdFx0XHRcdFx0XHRcdFx0bWluLWhlaWdodDogMzRweDtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDM0cHg7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICR0ZXh0LXRleHQtc2Vjb25kYXJ5O1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0Jjpub3QoLndwLXBpY2tlci1vcGVuKSB7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQjdGVybS1jb2xvciB7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZvcm0tZmllbGQ7XG5cblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogOTBweDtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0LndwLXBpY2tlci1jbGVhciB7XG5cdFx0XHRcdFx0XHRcdEBleHRlbmQgLnN1Z2FyLWNhbGVuZGFyLWJ0bjtcblx0XHRcdFx0XHRcdFx0QGV4dGVuZCAuc3VnYXItY2FsZW5kYXItYnRuLW1kO1xuXHRcdFx0XHRcdFx0XHRAZXh0ZW5kIC5zdWdhci1jYWxlbmRhci1idG4tdGVydGlhcnk7XG5cblx0XHRcdFx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiA2cHg7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0XHQmLmRlc2Mge1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJHRleHQtdGV4dC10ZXJ0aWFyeTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmNsb3NlZCB7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2MzYzRjNztcblxuXHRcdFx0LnBvc3Rib3gtaGVhZGVyIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRcdH1cblxuXHRcdFx0Lmluc2lkZSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cCB7XG5cdFx0Ji5zdWJtaXQge1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdH1cblx0fVxufVxuIl19 */
  • sugar-calendar-lite/trunk/assets/css/admin-calendar.min.css

    r3095175 r3118281  
    1 .choices{position:relative;margin-bottom:24px}.choices ::-webkit-input-placeholder{color:#999}.choices ::-moz-placeholder{color:#999;opacity:1}.choices ::placeholder{color:#999}.choices:focus{outline:none}.choices:last-child{margin-bottom:0}.choices.is-disabled .choices__inner,.choices.is-disabled .choices__input{background-color:#bbb;cursor:not-allowed;user-select:none}.choices [hidden]{display:none !important}.choices *{box-sizing:border-box}.choices.is-open .choices__inner{border-radius:4px 4px 0 0}.choices.is-open.is-flipped .choices__inner{border-radius:0 0 4px 4px}.choices[data-type*=select-one]{cursor:pointer}.choices[data-type*=select-one] input.choices__input{display:block;width:calc(100% - 20px) !important;margin:10px !important;padding:7px 12px !important;box-sizing:border-box !important;border:1px solid #8c8f94 !important;border-radius:4px !important;background-color:#fff}.choices[data-type*=select-one] input.choices__input:focus{border:1px solid #056aab !important;box-shadow:0 0 0 1px #056aab !important;outline:none !important}.choices[data-type*=select-one] .choices__button{background-image:url("../images/cross-inverse.svg");padding:0;background-size:8px;position:absolute;top:50%;right:0;margin-top:-10px;margin-right:25px;height:20px;width:20px;border-radius:10em;opacity:.5}.choices[data-type*=select-one] .choices__button:hover,.choices[data-type*=select-one] .choices__button:focus{opacity:1}.choices[data-type*=select-one] .choices__button:focus{box-shadow:0 0 0 2px #036aab}.choices[data-type*=select-one] .choices__item[data-value=""] .choices__button{display:none}.choices[data-type*=select-one]:after{content:"";height:0;width:0;border-style:solid;border-color:currentColor rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);border-width:5px;position:absolute;right:11.5px;top:50%;margin-top:-2.5px;pointer-events:none}.choices[data-type*=select-one].is-open:after{border-color:rgba(0,0,0,0) rgba(0,0,0,0) currentColor rgba(0,0,0,0);margin-top:-7.5px}.choices[data-type*=select-one][dir=rtl]:after{left:11.5px;right:auto}.choices[data-type*=select-one][dir=rtl] .choices__button{right:auto;left:0;margin-left:25px;margin-right:0}.choices[data-type*=select-multiple] .choices__inner{padding-right:24px}.choices[data-type*=select-multiple] .choices__inner .choices__input{padding:0 4px !important}.choices[data-type*=select-multiple]:after{content:"";height:0;width:0;border-style:solid;border-color:currentColor rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);border-width:5px;position:absolute;right:11.5px;top:50%;margin-top:-2.5px;pointer-events:none}.choices[data-type*=select-multiple].is-open:after{border-color:rgba(0,0,0,0) rgba(0,0,0,0) currentColor rgba(0,0,0,0);margin-top:-7.5px}.choices[data-type*=select-multiple] .choices__inner,.choices[data-type*=text] .choices__inner{cursor:text}.choices[data-type*=select-multiple] .choices__button,.choices[data-type*=text] .choices__button{position:relative;display:inline-block;vertical-align:baseline;margin-top:0;margin-bottom:0;margin-left:5px;padding:0;background-color:rgba(0,0,0,0);background-image:url("../images/cross.svg");background-size:12px;background-position:center center;background-repeat:no-repeat;width:12px;height:12px;line-height:1;opacity:.75;border-radius:0}.choices[data-type*=select-multiple] .choices__button:hover,.choices[data-type*=select-multiple] .choices__button:focus,.choices[data-type*=text] .choices__button:hover,.choices[data-type*=text] .choices__button:focus{opacity:1}.choices__inner{display:flex;flex-wrap:wrap;align-items:center;width:100%;background-color:#fff;padding:6px 6px 0;border:1px solid #8c8f94;overflow:hidden;border-radius:4px}.choices__list{margin:0;padding-left:0;list-style:none}.choices__list--single{display:inline-block;vertical-align:baseline;width:100%;padding:0 16px 4px 4px;font-size:.875em}.choices__list--single .choices__item{width:100%;overflow:hidden;text-overflow:ellipsis;padding-right:20px;white-space:nowrap;color:#2c3338}.choices__list--single .choices__item[data-value=""]{padding-right:0}.choices__list--multiple{display:flex;flex-wrap:wrap;align-items:center}.choices__list--multiple .choices__item{display:inline-grid;align-items:center;border-radius:2px;padding:4px 7px;font-size:.75em;line-height:1;font-weight:400;margin:0 6px 4px 0;background-color:#036aab;border:1px solid #036aab;color:#fff;word-break:break-word;grid-template-columns:1fr 17px}.choices__list--multiple .choices__item.is-highlighted{background-color:#036aab}.is-disabled .choices__list--multiple .choices__item{background-color:#bbb;border:1px solid #bbb}.choices__list--dropdown{display:none;z-index:101;position:absolute;width:100%;background-color:#fff;border:1px solid #8c8f94;top:100%;margin-top:-1px;border-bottom-left-radius:4px;border-bottom-right-radius:4px;overflow:hidden;overflow-wrap:break-word}.choices__list--dropdown.is-active{display:block}.choices__list--dropdown .choices__list{position:relative;max-height:300px;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position}.choices__list--dropdown .choices__item{position:relative;vertical-align:top;padding:10px;font-size:.875em}@media(min-width: 640px){.choices__list--dropdown .choices__item--selectable:after{content:attr(data-select-text);font-size:.75em;line-height:1;opacity:0;position:absolute;right:10px;top:50%;transform:translateY(-50%)}}.choices__list--dropdown .choices__item--selectable.is-highlighted{background-color:#f6f6f6}.choices__list--dropdown .choices__item--selectable.is-highlighted:after{opacity:.5}.choices__list--dropdown .choices__placeholder{display:none}.is-flipped .choices__list--dropdown{top:auto;bottom:100%;margin-top:0;margin-bottom:-1px;border-radius:4px 4px 0 0}.choices__item{cursor:default}.choices__item--selectable{cursor:pointer}.choices__item--disabled{cursor:not-allowed;user-select:none;opacity:.5}.choices__heading{font-weight:600;font-size:.75em;text-transform:uppercase;padding:10px;border-top:1px solid #b4b6b9;border-bottom:1px solid #b4b6b9;color:#a6a6a6}.choices__group[data-value=hidden]>.choices__heading{display:none}.choices__button{text-indent:-9999px;-webkit-appearance:none;appearance:none;border:0;background-color:rgba(0,0,0,0);background-repeat:no-repeat;background-position:center;cursor:pointer}.choices__button:focus{outline:none}.choices__input{display:inline-block;background-color:rgba(0,0,0,0);margin:0 0 4px 0 !important;border:0 !important;border-radius:0 !important;max-width:100%;min-height:0 !important;width:auto !important;padding:2px 4px !important;height:auto !important}.choices__input--hidden{clip:rect(1px, 1px, 1px, 1px) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;min-width:auto !important;word-wrap:normal !important}.choices .choices__inner input.choices__input:focus{outline:none !important;box-shadow:none !important;border:none !important}.choices__placeholder{opacity:.5}#wpforms-admin-form-embed-wizard .choices.is-open.is-flipped .choices__inner{border-radius:4px 4px 0 0}#wpforms-admin-form-embed-wizard .is-flipped .choices__list--dropdown{border-radius:inherit}#wpforms-admin-form-embed-wizard .choices[data-type*=select-one]:after{border:none;background:#fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23777%22%2F%3E%3C%2Fsvg%3E) no-repeat center;background-size:16px 16px;cursor:pointer;width:16px;height:16px;top:13px;right:8px;margin-top:0}#wpforms-admin-form-embed-wizard .choices[data-type*=select-one].is-flipped:after{transform:rotate(180deg)}body.rtl .choices[data-type*=select-multiple] .choices__inner{padding-right:4px;padding-left:24px}body.rtl .choices[data-type*=select-multiple]:after{right:auto;left:11.5px}body.rtl .choices__list--single{padding-right:4px;padding-left:16px}body.rtl .choices__list--multiple .choices__item{margin-right:0;margin-left:3.75px}body.rtl .choices__list--multiple .choices__item[data-deletable]{padding-right:10px;padding-left:5px}body.rtl .choices__list--dropdown .choices__item{text-align:right}body.rtl .choices__input{padding-right:2px !important;padding-left:0 !important}body.rtl .choices[data-type*=select-multiple] .choices__button,body.rtl .choices[data-type*=text] .choices__button{margin-right:2px;margin-left:-1px;border-right:1px solid #024b79;border-left:none}@media(min-width: 640px){body.rtl .choices__list--dropdown .choices__item--selectable{text-align:right;padding-left:100px;padding-right:10px}body.rtl .choices__list--dropdown .choices__item--selectable:after{right:auto;left:10px}}.choicesjs-select-wrap{display:block;color:#333}.choicesjs-select-wrap .choices{font-size:16px}.choicesjs-select-wrap .choices__inner{padding:4px 0 0 6px}.choicesjs-select-wrap .choices__inner .choices__list--multiple:not(:empty){margin-right:26px}.choicesjs-select-wrap .choicesjs-select[multiple] option{padding:1.5px 0 0 0}.choicesjs-select-wrap select{max-width:400px}@media(max-width: 1023px){.choicesjs-select-wrap{width:300px}}.choicesjs-select-wrap .choices{position:relative}.choicesjs-select-wrap .choices:after{content:"";position:absolute;top:calc(50% - 6px);right:6px;font-family:dashicons,sans-serif;color:#50575e;border:none;width:16px;height:17px}.choicesjs-select-wrap .choices.is-open:after{margin-top:-1px;transform:rotate(180deg)}.choicesjs-select-wrap .choices[data-type*=select-multiple] .choices__inner{cursor:pointer;align-items:start;padding-top:6px !important}.choicesjs-select-wrap .choices[data-type*=select-multiple] .choices__inner .choices__input{padding:2px 4px !important}.choicesjs-select-wrap .is-focused .choices__inner,.choicesjs-select-wrap .is-open .choices__inner{border-color:#056aab;box-shadow:0 0 0 1px #056aab;outline:none}.choicesjs-select-wrap .is-flipped.is-open .choices__inner{border-color:#056aab;box-shadow:0 0 0 1px #056aab;outline:none}.choicesjs-select-wrap .is-open .choices__list--dropdown{border-color:#056aab;border-top-color:#72757b;border-bottom:0;box-shadow:0 1px 0 1px #056aab}.choicesjs-select-wrap .is-open.is-flipped .choices__list--dropdown{border-top:0;border-bottom:1px solid #72757b;box-shadow:0 -1px 0 1px #056aab}.choices__inner{min-height:36px}#wpcontent{padding-left:0 !important;position:relative}@media screen and (max-width: 600px){#wpcontent{padding-top:46px}}@media screen and (max-width: 600px){#wpbody{padding-top:0}}.sugar-calendar-admin-wrap{margin:0}.sugar-calendar-admin-wrap .notice{margin:0 0 30px}.sugar-calendar-admin-content{padding:30px 30px 0 30px}.sugar-calendar-admin-content *,.sugar-calendar-admin-content *::before,.sugar-calendar-admin-content *::after{box-sizing:border-box}.sugar-calendar-admin-content:before{content:" ";display:table}.sugar-calendar-admin-content:after{clear:both;content:" ";display:table}.sugar-calendar-admin-content hr{border:none;border-top:1px solid #e4e4e4;margin:20px 0;background:none}.sugar-calendar-admin-content code{display:inline-block;padding:0 6px;font-size:12px;line-height:20px;color:#50575e}.sugar-calendar-admin-content strong{font-weight:500}.sugar-calendar-admin-content p.submit{margin:0;padding:30px 0 20px 0;border-top:1px solid #e4e4e4}.sugar-calendar-admin-content p.submit:last-of-type{padding-bottom:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th,.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{vertical-align:top}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th{padding-top:2px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{padding-top:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child h3{margin-top:0}#sugar-calendar-header-temp{margin:0;position:absolute;top:-1px;left:20px;right:0;z-index:99}@media(max-width: 599px){#sugar-calendar-header-temp{padding-top:50px}}#sugar-calendar-header{padding:20px 30px;box-sizing:border-box;border-bottom:1px solid #dcdcde;background-color:#fff;display:flex;align-items:center}#sugar-calendar-header img{display:block;margin:0;max-width:296px}@media(max-width: 768px){#sugar-calendar-header img{max-width:200px}}#sugar-calendar-header a#sugar-calendar-header-help{margin-left:auto;color:#a7aaad;text-decoration:none;font-size:13px;line-height:13px;display:flex;align-items:center}#sugar-calendar-header a#sugar-calendar-header-help:before{content:"";mask-image:url("../images/icons/question-circle.svg");mask-position:center center;background-color:#a7aaad;width:16px;height:16px;margin-right:6px}#sugar-calendar-header a#sugar-calendar-header-help:hover,#sugar-calendar-header a#sugar-calendar-header-help:focus{color:#646970}#sugar-calendar-header a#sugar-calendar-header-help:hover:before,#sugar-calendar-header a#sugar-calendar-header-help:focus:before{background-color:#646970}@media screen and (min-width: 1024px){#sugar-calendar-notice-bar+#sugar-calendar-header-temp{top:34px}}.sugar-calendar-toggle-control{display:flex;align-items:center;margin:0 1px;line-height:1;color:#50575e;font-weight:500;height:25px;box-sizing:border-box}.sugar-calendar-toggle-control input[type=checkbox]{position:absolute;overflow:hidden;height:0;width:0;border:none !important;box-shadow:none !important;margin:0;min-width:0}.sugar-calendar-toggle-control input[type=checkbox]:hover,.sugar-calendar-toggle-control input[type=checkbox]:focus{border:none !important;box-shadow:none !important}.sugar-calendar-toggle-control input[type=checkbox]:hover:not(:disabled)+label.sugar-calendar-toggle-control-icon{background-color:#646970}.sugar-calendar-toggle-control input[type=checkbox]:focus:not(:disabled)+label.sugar-calendar-toggle-control-icon{box-shadow:0 0 0 1px #fff,0 0 0 2px #8c8f94}.sugar-calendar-toggle-control input[type=checkbox]:checked+label.sugar-calendar-toggle-control-icon{background-color:#2271b1}.sugar-calendar-toggle-control input[type=checkbox]:checked+label.sugar-calendar-toggle-control-icon:after{left:calc(100% - 2px);transform:translateX(-100%)}.sugar-calendar-toggle-control input[type=checkbox]:checked:hover:not(:disabled)+label.sugar-calendar-toggle-control-icon{background-color:#0a4b78}.sugar-calendar-toggle-control input[type=checkbox]:checked:focus:not(:disabled)+label.sugar-calendar-toggle-control-icon{box-shadow:0 0 0 1px #fff,0 0 0 2px #2271b1}.sugar-calendar-toggle-control input[type=checkbox]:disabled+label.sugar-calendar-toggle-control-icon{opacity:.5}.sugar-calendar-toggle-control input[type=checkbox]:disabled:hover+label.sugar-calendar-toggle-control-icon,.sugar-calendar-toggle-control input[type=checkbox]:disabled:focus+label.sugar-calendar-toggle-control-icon{box-shadow:none}.sugar-calendar-toggle-control span,.sugar-calendar-toggle-control label{display:inline-block;margin-bottom:0}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-label{padding:0 10px;max-width:calc(100% - 65px)}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status{color:#50575e;font-size:12px;line-height:17px;padding:0 10px;text-transform:uppercase;display:none}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status-on{cursor:pointer}.sugar-calendar-toggle-control input:not(:checked)~.sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control input:checked~.sugar-calendar-toggle-control-status-on{display:inline-block}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-icon{background-color:#8c8f94;border-radius:8.5px;cursor:pointer;display:inline-block;height:17px;position:relative;text-indent:-9999px;width:27px}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-icon:after{background:#fff;border-radius:50%;content:"";height:13px;left:2px;position:absolute;top:2px;width:13px;transition:all .15s ease-out}.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-icon,.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-status-on{cursor:default}.sugar-calendar-btn,.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-picker-clear{border-width:1px;border-style:solid;border-radius:4px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;box-shadow:none;transition:all .05s ease-out}.sugar-calendar-btn.inactive,.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .inactive.wp-picker-clear{cursor:no-drop;pointer-events:none;box-shadow:none;opacity:.5}.sugar-calendar-btn-block{display:block;width:100%}.sugar-calendar-btn-sm{font-size:13px;font-weight:500;line-height:28px;padding:0 10px;height:30px}.sugar-calendar-btn-md,.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-picker-clear{font-size:14px;line-height:14px;font-weight:500;padding:10px 15px;min-height:36px}.sugar-calendar-btn-lg{font-size:16px;font-weight:500;padding:11px 17px;min-height:44px}.sugar-calendar-btn-primary{background-color:#ff8845;border-color:#ff8845;color:#fff !important}.sugar-calendar-btn-primary:hover,.sugar-calendar-btn-primary:active,.sugar-calendar-btn-primary:focus{background-color:#cb6d37;border-color:#cb6d37;color:#fff !important}.sugar-calendar-btn-primary:focus{box-shadow:0 0 0 2px #cb6d37;border-color:#fff;outline:0}.sugar-calendar-btn-secondary{background-color:#2271b1;border-color:#2271b1;color:#fff !important}.sugar-calendar-btn-secondary:hover,.sugar-calendar-btn-secondary:focus{background-color:#0a4b78;border-color:#0a4b78;color:#fff !important}.sugar-calendar-btn-secondary:focus{box-shadow:0 0 0 2px #0a4b78;border-color:#fff;outline:0}.sugar-calendar-btn-tertiary,.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-picker-clear{background-color:#f6f7f7;border-color:#8c8f94;color:#50575e !important}.sugar-calendar-btn-tertiary:hover,.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-picker-clear:hover,.sugar-calendar-btn-tertiary:focus,.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-picker-clear:focus{background-color:#f0f0f1;border-color:#50575e;color:#2c3338 !important}.sugar-calendar-btn-tertiary:focus,.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-picker-clear:focus{box-shadow:0 0 0 1px #50575e}.sugar-calendar-btn-green{background-color:#008a20;border:1px solid #008a20;color:#fff !important}.sugar-calendar-btn-green:focus{box-shadow:0 0 0 2px #008a20;border-color:#fff;outline:0}.sugar-calendar-btn-red{background-color:#d63638;border:1px solid #d63638;color:#fff !important}.sugar-calendar-btn-red:focus{box-shadow:0 0 0 2px #d63638;border-color:#fff;outline:0}.sugar-calendar-admin-subheader{display:flex;flex-wrap:wrap;align-items:center;height:60px;margin:0;padding:15px 30px;background-color:#fff;list-style:none;font-size:14px;font-weight:400;box-shadow:0 2px 4px 0 rgba(0,0,0,.07);box-sizing:border-box}.sugar-calendar-admin-subheader *,.sugar-calendar-admin-subheader *::before,.sugar-calendar-admin-subheader *::after{box-sizing:border-box}.sugar-calendar-admin-subheader h4{font-size:22px;font-weight:500;line-height:20px;color:#101517;margin:0}.sugar-calendar-admin-subheader .sugar-calendar-btn-new-item{margin-left:20px}.sugar-calendar-admin-subheader .sugar-calendar-btn-new-item::before{content:"";display:inline-block;mask:url(../images/icons/add.svg) center center no-repeat;background-color:#fff;width:11px;height:11px;margin:0 6px 0 0}.sugar-calendar-admin-content .sugar-calendar-calendar-form{max-width:900px}.sugar-calendar-admin-content .sugar-calendar-calendar-form input,.sugar-calendar-admin-content .sugar-calendar-calendar-form textarea{background-color:#fff;border:1px solid #8c8f94;border-radius:4px;box-shadow:none;color:#2c3338;display:inline-block;vertical-align:middle;padding:7px 12px;margin:0;width:400px;min-height:36px;line-height:1.3}.sugar-calendar-admin-content .sugar-calendar-calendar-form input:hover,.sugar-calendar-admin-content .sugar-calendar-calendar-form textarea:hover{color:#2c3338}.sugar-calendar-admin-content .sugar-calendar-calendar-form input:focus,.sugar-calendar-admin-content .sugar-calendar-calendar-form textarea:focus{border-color:#2271b1 !important;box-shadow:0 0 0 1px #2271b1 !important;outline:none !important}.sugar-calendar-admin-content .sugar-calendar-calendar-form input:disabled,.sugar-calendar-admin-content .sugar-calendar-calendar-form textarea:disabled{opacity:.5}@media(max-width: 1023px){.sugar-calendar-admin-content .sugar-calendar-calendar-form input,.sugar-calendar-admin-content .sugar-calendar-calendar-form textarea{width:300px}}.sugar-calendar-admin-content .sugar-calendar-calendar-form select{background-color:#fff;border:1px solid #8c8f94;border-radius:4px;box-shadow:none;color:#2c3338;display:inline-block;vertical-align:middle;padding:7px 12px;margin:0;width:400px;min-height:36px;line-height:1.3;padding:7px 24px 7px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sugar-calendar-admin-content .sugar-calendar-calendar-form select:hover{color:#2c3338}.sugar-calendar-admin-content .sugar-calendar-calendar-form select:focus{border-color:#2271b1 !important;box-shadow:0 0 0 1px #2271b1 !important;outline:none !important}.sugar-calendar-admin-content .sugar-calendar-calendar-form select:disabled{opacity:.5}@media(max-width: 1023px){.sugar-calendar-admin-content .sugar-calendar-calendar-form select{width:300px}}.sugar-calendar-admin-content .sugar-calendar-calendar-form input#tag-name,.sugar-calendar-admin-content .sugar-calendar-calendar-form input#name{width:100%;margin-bottom:20px;padding:9px 8px;font-size:18px;line-height:18px}.sugar-calendar-admin-content .postbox{margin-bottom:0;border-radius:4px}.sugar-calendar-admin-content .postbox .postbox-header h2{font-size:14px;padding:8px 12px;margin:0;line-height:20px}.sugar-calendar-admin-content .postbox .postbox-header .handle-order-higher,.sugar-calendar-admin-content .postbox .postbox-header .handle-order-lower{display:none}.sugar-calendar-admin-content .postbox .inside{display:flex;flex-direction:column;padding:30px;row-gap:30px;margin:0}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row{display:flex;column-gap:10px}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row>label{width:200px;font-size:14px;font-style:normal;font-weight:500;line-height:34px;color:#2c3338}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field{flex:1}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .choicesjs-select-wrap{max-width:400px;line-height:20px}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-color-result{position:relative;overflow:hidden;width:128px;height:36px;border-radius:4px;border:1px solid #8c8f94;background-color:#fff}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-color-result:focus{border-color:#2271b1 !important;box-shadow:0 0 0 1px #2271b1 !important;outline:none !important}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-color-result span,.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-color-result:after{position:absolute;display:block}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-color-result:after{top:50%;left:10px;margin-top:-10px;content:"";width:20px;height:20px;border-radius:50%;background-color:inherit;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);border:none !important}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-color-result span{top:0;left:0;width:100%;padding:0 10px 0 36px;min-height:34px;font-size:14px;line-height:34px;color:#50575e;background-color:#fff;border:none}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-color-result:not(.wp-picker-open){margin-bottom:0}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container #term-color{background-color:#fff;border:1px solid #8c8f94;border-radius:4px;box-shadow:none;color:#2c3338;display:inline-block;vertical-align:middle;padding:7px 12px;margin:0;width:400px;min-height:36px;line-height:1.3;font-size:14px;width:90px}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container #term-color:hover{color:#2c3338}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container #term-color:focus{border-color:#2271b1 !important;box-shadow:0 0 0 1px #2271b1 !important;outline:none !important}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container #term-color:disabled{opacity:.5}@media(max-width: 1023px){.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container #term-color{width:300px}}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-picker-clear{width:auto;margin-left:6px}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field p.desc{margin-bottom:0;font-size:14px;line-height:20px;color:#646970}.sugar-calendar-admin-content .postbox.closed{border-bottom:1px solid #c3c4c7}.sugar-calendar-admin-content .postbox.closed .postbox-header{border-bottom:none}.sugar-calendar-admin-content .postbox.closed .inside{display:none}.sugar-calendar-admin-content p.submit{border:none}
     1.choices{position:relative;margin-bottom:24px}.choices ::-webkit-input-placeholder{color:#999}.choices ::-moz-placeholder{color:#999;opacity:1}.choices ::placeholder{color:#999}.choices:focus{outline:none}.choices:last-child{margin-bottom:0}.choices.is-disabled .choices__inner,.choices.is-disabled .choices__input{background-color:#bbb;cursor:not-allowed;user-select:none}.choices [hidden]{display:none !important}.choices *{box-sizing:border-box}.choices.is-open .choices__inner{border-radius:4px 4px 0 0}.choices.is-open.is-flipped .choices__inner{border-radius:0 0 4px 4px}.choices[data-type*=select-one]{cursor:pointer}.choices[data-type*=select-one] input.choices__input{display:block;width:calc(100% - 20px) !important;margin:10px !important;padding:7px 12px !important;box-sizing:border-box !important;border:1px solid #8c8f94 !important;border-radius:4px !important;background-color:#fff}.choices[data-type*=select-one] input.choices__input:focus{border:1px solid #056aab !important;box-shadow:0 0 0 1px #056aab !important;outline:none !important}.choices[data-type*=select-one] .choices__button{background-image:url("../images/cross-inverse.svg");padding:0;background-size:8px;position:absolute;top:50%;right:0;margin-top:-10px;margin-right:25px;height:20px;width:20px;border-radius:10em;opacity:.5}.choices[data-type*=select-one] .choices__button:hover,.choices[data-type*=select-one] .choices__button:focus{opacity:1}.choices[data-type*=select-one] .choices__button:focus{box-shadow:0 0 0 2px #036aab}.choices[data-type*=select-one] .choices__item[data-value=""] .choices__button{display:none}.choices[data-type*=select-one]:after{content:"";height:0;width:0;border-style:solid;border-color:currentColor rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);border-width:5px;position:absolute;right:11.5px;top:50%;margin-top:-2.5px;pointer-events:none}.choices[data-type*=select-one].is-open:after{border-color:rgba(0,0,0,0) rgba(0,0,0,0) currentColor rgba(0,0,0,0);margin-top:-7.5px}.choices[data-type*=select-one][dir=rtl]:after{left:11.5px;right:auto}.choices[data-type*=select-one][dir=rtl] .choices__button{right:auto;left:0;margin-left:25px;margin-right:0}.choices[data-type*=select-multiple] .choices__inner{padding-right:24px}.choices[data-type*=select-multiple] .choices__inner .choices__input{padding:0 4px !important}.choices[data-type*=select-multiple]:after{content:"";height:0;width:0;border-style:solid;border-color:currentColor rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);border-width:5px;position:absolute;right:11.5px;top:50%;margin-top:-2.5px;pointer-events:none}.choices[data-type*=select-multiple].is-open:after{border-color:rgba(0,0,0,0) rgba(0,0,0,0) currentColor rgba(0,0,0,0);margin-top:-7.5px}.choices[data-type*=select-multiple] .choices__inner,.choices[data-type*=text] .choices__inner{cursor:text}.choices[data-type*=select-multiple] .choices__button,.choices[data-type*=text] .choices__button{position:relative;display:inline-block;vertical-align:baseline;margin-top:0;margin-bottom:0;margin-left:5px;padding:0;background-color:rgba(0,0,0,0);background-image:url("../images/cross.svg");background-size:12px;background-position:center center;background-repeat:no-repeat;width:12px;height:12px;line-height:1;opacity:.75;border-radius:0}.choices[data-type*=select-multiple] .choices__button:hover,.choices[data-type*=select-multiple] .choices__button:focus,.choices[data-type*=text] .choices__button:hover,.choices[data-type*=text] .choices__button:focus{opacity:1}.choices__inner{display:flex;flex-wrap:wrap;align-items:center;width:100%;background-color:#fff;padding:6px 6px 0;border:1px solid #8c8f94;overflow:hidden;border-radius:4px}.choices__list{margin:0;padding-left:0;list-style:none}.choices__list--single{display:inline-block;vertical-align:baseline;width:100%;padding:0 16px 4px 4px;font-size:.875em}.choices__list--single .choices__item{width:100%;overflow:hidden;text-overflow:ellipsis;padding-right:20px;white-space:nowrap;color:#2c3338}.choices__list--single .choices__item[data-value=""]{padding-right:0}.choices__list--multiple{display:flex;flex-wrap:wrap;align-items:center}.choices__list--multiple .choices__item{display:inline-grid;align-items:center;border-radius:2px;padding:4px 7px;font-size:.75em;line-height:1;font-weight:400;margin:0 6px 4px 0;background-color:#036aab;border:1px solid #036aab;color:#fff;word-break:break-word;grid-template-columns:1fr 17px}.choices__list--multiple .choices__item.is-highlighted{background-color:#036aab}.is-disabled .choices__list--multiple .choices__item{background-color:#bbb;border:1px solid #bbb}.choices__list--dropdown{display:none;z-index:101;position:absolute;width:100%;background-color:#fff;border:1px solid #8c8f94;top:100%;margin-top:-1px;border-bottom-left-radius:4px;border-bottom-right-radius:4px;overflow:hidden;overflow-wrap:break-word}.choices__list--dropdown.is-active{display:block}.choices__list--dropdown .choices__list{position:relative;max-height:300px;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position}.choices__list--dropdown .choices__item{position:relative;vertical-align:top;padding:10px;font-size:.875em}@media(min-width: 640px){.choices__list--dropdown .choices__item--selectable:after{content:attr(data-select-text);font-size:.75em;line-height:1;opacity:0;position:absolute;right:10px;top:50%;transform:translateY(-50%)}}.choices__list--dropdown .choices__item--selectable.is-highlighted{background-color:#f6f6f6}.choices__list--dropdown .choices__item--selectable.is-highlighted:after{opacity:.5}.choices__list--dropdown .choices__placeholder{display:none}.is-flipped .choices__list--dropdown{top:auto;bottom:100%;margin-top:0;margin-bottom:-1px;border-radius:4px 4px 0 0}.choices__item{cursor:default}.choices__item--selectable{cursor:pointer}.choices__item--disabled{cursor:not-allowed;user-select:none;opacity:.5}.choices__heading{font-weight:600;font-size:.75em;text-transform:uppercase;padding:10px;border-top:1px solid #b4b6b9;border-bottom:1px solid #b4b6b9;color:#a6a6a6}.choices__group[data-value=hidden]>.choices__heading{display:none}.choices__button{text-indent:-9999px;-webkit-appearance:none;appearance:none;border:0;background-color:rgba(0,0,0,0);background-repeat:no-repeat;background-position:center;cursor:pointer}.choices__button:focus{outline:none}.choices__input{display:inline-block;background-color:rgba(0,0,0,0);margin:0 0 4px 0 !important;border:0 !important;border-radius:0 !important;max-width:100%;min-height:0 !important;width:auto !important;padding:2px 4px !important;height:auto !important}.choices__input--hidden{clip:rect(1px, 1px, 1px, 1px) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;min-width:auto !important;word-wrap:normal !important}.choices .choices__inner input.choices__input:focus{outline:none !important;box-shadow:none !important;border:none !important}.choices__placeholder{opacity:.5}#wpforms-admin-form-embed-wizard .choices.is-open.is-flipped .choices__inner{border-radius:4px 4px 0 0}#wpforms-admin-form-embed-wizard .is-flipped .choices__list--dropdown{border-radius:inherit}#wpforms-admin-form-embed-wizard .choices[data-type*=select-one]:after{border:none;background:#fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23777%22%2F%3E%3C%2Fsvg%3E) no-repeat center;background-size:16px 16px;cursor:pointer;width:16px;height:16px;top:13px;right:8px;margin-top:0}#wpforms-admin-form-embed-wizard .choices[data-type*=select-one].is-flipped:after{transform:rotate(180deg)}body.rtl .choices[data-type*=select-multiple] .choices__inner{padding-right:4px;padding-left:24px}body.rtl .choices[data-type*=select-multiple]:after{right:auto;left:11.5px}body.rtl .choices__list--single{padding-right:4px;padding-left:16px}body.rtl .choices__list--multiple .choices__item{margin-right:0;margin-left:3.75px}body.rtl .choices__list--multiple .choices__item[data-deletable]{padding-right:10px;padding-left:5px}body.rtl .choices__list--dropdown .choices__item{text-align:right}body.rtl .choices__input{padding-right:2px !important;padding-left:0 !important}body.rtl .choices[data-type*=select-multiple] .choices__button,body.rtl .choices[data-type*=text] .choices__button{margin-right:2px;margin-left:-1px;border-right:1px solid #024b79;border-left:none}@media(min-width: 640px){body.rtl .choices__list--dropdown .choices__item--selectable{text-align:right;padding-left:100px;padding-right:10px}body.rtl .choices__list--dropdown .choices__item--selectable:after{right:auto;left:10px}}.choicesjs-select-wrap{display:block;color:#333}.choicesjs-select-wrap .choices{font-size:16px}.choicesjs-select-wrap .choices__inner{padding:4px 0 0 6px}.choicesjs-select-wrap .choices__inner .choices__list--multiple:not(:empty){margin-right:26px}.choicesjs-select-wrap .choicesjs-select[multiple] option{padding:1.5px 0 0 0}.choicesjs-select-wrap select{max-width:400px}@media(max-width: 1023px){.choicesjs-select-wrap{width:300px}}.choicesjs-select-wrap .choices{position:relative}.choicesjs-select-wrap .choices:after{content:"";position:absolute;top:calc(50% - 6px);right:6px;font-family:dashicons,sans-serif;color:#50575e;border:none;width:16px;height:17px}.choicesjs-select-wrap .choices.is-open:after{margin-top:-1px;transform:rotate(180deg)}.choicesjs-select-wrap .choices[data-type*=select-multiple] .choices__inner{cursor:pointer;align-items:start;padding-top:6px !important}.choicesjs-select-wrap .choices[data-type*=select-multiple] .choices__inner .choices__input{padding:2px 4px !important}.choicesjs-select-wrap .is-focused .choices__inner,.choicesjs-select-wrap .is-open .choices__inner{border-color:#056aab;box-shadow:0 0 0 1px #056aab;outline:none}.choicesjs-select-wrap .is-flipped.is-open .choices__inner{border-color:#056aab;box-shadow:0 0 0 1px #056aab;outline:none}.choicesjs-select-wrap .is-open .choices__list--dropdown{border-color:#056aab;border-top-color:#72757b;border-bottom:0;box-shadow:0 1px 0 1px #056aab}.choicesjs-select-wrap .is-open.is-flipped .choices__list--dropdown{border-top:0;border-bottom:1px solid #72757b;box-shadow:0 -1px 0 1px #056aab}.choices__inner{min-height:36px}#wpcontent{padding-left:0 !important;position:relative}@media screen and (max-width: 600px){#wpcontent{padding-top:46px}}@media screen and (max-width: 600px){#wpbody{padding-top:0}}.sugar-calendar-admin-wrap{margin:0}.sugar-calendar-admin-wrap .notice{margin:0 0 15px}.sugar-calendar-admin-content{padding:30px 30px 0 30px}.sugar-calendar-admin-content *,.sugar-calendar-admin-content *::before,.sugar-calendar-admin-content *::after{box-sizing:border-box}.sugar-calendar-admin-content:before{content:" ";display:table}.sugar-calendar-admin-content:after{clear:both;content:" ";display:table}.sugar-calendar-admin-content hr{border:none;border-top:1px solid #e4e4e4;margin:20px 0;background:none}.sugar-calendar-admin-content code{display:inline-block;padding:0 6px;font-size:12px;line-height:20px;color:#50575e}.sugar-calendar-admin-content strong{font-weight:500}.sugar-calendar-admin-content p.submit{margin:0;padding:30px 0 20px 0;border-top:1px solid #e4e4e4}.sugar-calendar-admin-content p.submit:last-of-type{padding-bottom:0}.sugar-calendar-admin-content .sugar-calendar-admin-content__settings-form{padding-top:15px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th,.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{vertical-align:top}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th{padding-top:2px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{padding-top:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child h3{margin-top:0}#sugar-calendar-header-temp{margin:0;position:absolute;top:-1px;left:20px;right:0;z-index:99}@media(max-width: 599px){#sugar-calendar-header-temp{padding-top:50px}}#sugar-calendar-header{padding:20px 30px;box-sizing:border-box;border-bottom:1px solid #dcdcde;background-color:#fff;display:flex;align-items:center}#sugar-calendar-header img{display:block;margin:0;max-width:296px}@media(max-width: 768px){#sugar-calendar-header img{max-width:200px}}#sugar-calendar-header a#sugar-calendar-header-help{margin-left:auto;color:#a7aaad;text-decoration:none;font-size:13px;line-height:13px;display:flex;align-items:center}#sugar-calendar-header a#sugar-calendar-header-help:before{content:"";mask-image:url("../images/icons/question-circle.svg");mask-position:center center;background-color:#a7aaad;width:16px;height:16px;margin-right:6px}#sugar-calendar-header a#sugar-calendar-header-help:hover,#sugar-calendar-header a#sugar-calendar-header-help:focus{color:#646970}#sugar-calendar-header a#sugar-calendar-header-help:hover:before,#sugar-calendar-header a#sugar-calendar-header-help:focus:before{background-color:#646970}@media screen and (min-width: 1024px){#sugar-calendar-notice-bar+#sugar-calendar-header-temp{top:34px}}.sugar-calendar-toggle-control{display:flex;align-items:center;margin:0 1px;line-height:1;color:#50575e;font-weight:500;height:25px;box-sizing:border-box}.sugar-calendar-toggle-control input[type=checkbox]{position:absolute;overflow:hidden;height:0;width:0;border:none !important;box-shadow:none !important;margin:0;min-width:0}.sugar-calendar-toggle-control input[type=checkbox]:hover,.sugar-calendar-toggle-control input[type=checkbox]:focus{border:none !important;box-shadow:none !important}.sugar-calendar-toggle-control input[type=checkbox]:hover:not(:disabled)+label.sugar-calendar-toggle-control-icon{background-color:#646970}.sugar-calendar-toggle-control input[type=checkbox]:focus:not(:disabled)+label.sugar-calendar-toggle-control-icon{box-shadow:0 0 0 1px #fff,0 0 0 2px #8c8f94}.sugar-calendar-toggle-control input[type=checkbox]:checked+label.sugar-calendar-toggle-control-icon{background-color:#2271b1}.sugar-calendar-toggle-control input[type=checkbox]:checked+label.sugar-calendar-toggle-control-icon:after{left:calc(100% - 2px);transform:translateX(-100%)}.sugar-calendar-toggle-control input[type=checkbox]:checked:hover:not(:disabled)+label.sugar-calendar-toggle-control-icon{background-color:#0a4b78}.sugar-calendar-toggle-control input[type=checkbox]:checked:focus:not(:disabled)+label.sugar-calendar-toggle-control-icon{box-shadow:0 0 0 1px #fff,0 0 0 2px #2271b1}.sugar-calendar-toggle-control input[type=checkbox]:disabled+label.sugar-calendar-toggle-control-icon{opacity:.5}.sugar-calendar-toggle-control input[type=checkbox]:disabled:hover+label.sugar-calendar-toggle-control-icon,.sugar-calendar-toggle-control input[type=checkbox]:disabled:focus+label.sugar-calendar-toggle-control-icon{box-shadow:none}.sugar-calendar-toggle-control span,.sugar-calendar-toggle-control label{display:inline-block;margin-bottom:0}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-label{padding:0 10px;max-width:calc(100% - 65px)}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status{color:#50575e;font-size:12px;line-height:17px;padding:0 10px;text-transform:uppercase;display:none}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status-on{cursor:pointer}.sugar-calendar-toggle-control input:not(:checked)~.sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control input:checked~.sugar-calendar-toggle-control-status-on{display:inline-block}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-icon{background-color:#8c8f94;border-radius:8.5px;cursor:pointer;display:inline-block;height:17px;position:relative;text-indent:-9999px;width:27px}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-icon:after{background:#fff;border-radius:50%;content:"";height:13px;left:2px;position:absolute;top:2px;width:13px;transition:all .15s ease-out}.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-icon,.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-status-on{cursor:default}.sugar-calendar-btn,.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-picker-clear{border-width:1px;border-style:solid;border-radius:4px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;box-shadow:none;transition:all .05s ease-out}.sugar-calendar-btn.inactive,.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .inactive.wp-picker-clear{cursor:no-drop;pointer-events:none;box-shadow:none;opacity:.5}.sugar-calendar-btn-block{display:block;width:100%}.sugar-calendar-btn-sm{font-size:13px;font-weight:500;line-height:28px;padding:0 10px;height:30px}.sugar-calendar-btn-md,.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-picker-clear{font-size:14px;line-height:14px;font-weight:500;padding:10px 15px;min-height:36px}.sugar-calendar-btn-lg{font-size:16px;font-weight:500;padding:11px 17px;min-height:44px}.sugar-calendar-btn-primary{background-color:#ff8845;border-color:#ff8845;color:#fff !important}.sugar-calendar-btn-primary:hover,.sugar-calendar-btn-primary:active,.sugar-calendar-btn-primary:focus{background-color:#cb6d37;border-color:#cb6d37;color:#fff !important}.sugar-calendar-btn-primary:focus{box-shadow:0 0 0 2px #cb6d37;border-color:#fff;outline:0}.sugar-calendar-btn-secondary{background-color:#2271b1;border-color:#2271b1;color:#fff !important}.sugar-calendar-btn-secondary:hover,.sugar-calendar-btn-secondary:focus{background-color:#0a4b78;border-color:#0a4b78;color:#fff !important}.sugar-calendar-btn-secondary:focus{box-shadow:0 0 0 2px #0a4b78;border-color:#fff;outline:0}.sugar-calendar-btn-tertiary,.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-picker-clear{background-color:#f6f7f7;border-color:#8c8f94;color:#50575e !important}.sugar-calendar-btn-tertiary:hover,.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-picker-clear:hover,.sugar-calendar-btn-tertiary:focus,.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-picker-clear:focus{background-color:#f0f0f1;border-color:#50575e;color:#2c3338 !important}.sugar-calendar-btn-tertiary:focus,.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-picker-clear:focus{box-shadow:0 0 0 1px #50575e}.sugar-calendar-btn-green{background-color:#008a20;border:1px solid #008a20;color:#fff !important}.sugar-calendar-btn-green:focus{box-shadow:0 0 0 2px #008a20;border-color:#fff;outline:0}.sugar-calendar-btn-red{background-color:#d63638;border:1px solid #d63638;color:#fff !important}.sugar-calendar-btn-red:focus{box-shadow:0 0 0 2px #d63638;border-color:#fff;outline:0}.sugar-calendar-admin-subheader{display:flex;flex-wrap:wrap;align-items:center;height:60px;margin:0;padding:15px 30px;background-color:#fff;list-style:none;font-size:14px;font-weight:400;box-shadow:0 2px 4px 0 rgba(0,0,0,.07);box-sizing:border-box}.sugar-calendar-admin-subheader *,.sugar-calendar-admin-subheader *::before,.sugar-calendar-admin-subheader *::after{box-sizing:border-box}.sugar-calendar-admin-subheader h4{font-size:22px;font-weight:500;line-height:20px;color:#101517;margin:0}.sugar-calendar-admin-subheader .sugar-calendar-btn-new-item{margin-left:20px}.sugar-calendar-admin-subheader .sugar-calendar-btn-new-item::before{content:"";display:inline-block;mask:url(../images/icons/add.svg) center center no-repeat;background-color:#fff;width:11px;height:11px;margin:0 6px 0 0}.sugar-calendar-admin-content .sugar-calendar-calendar-form{max-width:900px}.sugar-calendar-admin-content .sugar-calendar-calendar-form input,.sugar-calendar-admin-content .sugar-calendar-calendar-form textarea{background-color:#fff;border:1px solid #8c8f94;border-radius:4px;box-shadow:none;color:#2c3338;display:inline-block;vertical-align:middle;padding:7px 12px;margin:0;width:400px;min-height:36px;line-height:1.3}.sugar-calendar-admin-content .sugar-calendar-calendar-form input:hover,.sugar-calendar-admin-content .sugar-calendar-calendar-form textarea:hover{color:#2c3338}.sugar-calendar-admin-content .sugar-calendar-calendar-form input:focus,.sugar-calendar-admin-content .sugar-calendar-calendar-form textarea:focus{border-color:#2271b1 !important;box-shadow:0 0 0 1px #2271b1 !important;outline:none !important}.sugar-calendar-admin-content .sugar-calendar-calendar-form input:disabled,.sugar-calendar-admin-content .sugar-calendar-calendar-form textarea:disabled{opacity:.5}@media(max-width: 1023px){.sugar-calendar-admin-content .sugar-calendar-calendar-form input,.sugar-calendar-admin-content .sugar-calendar-calendar-form textarea{width:300px}}.sugar-calendar-admin-content .sugar-calendar-calendar-form select{background-color:#fff;border:1px solid #8c8f94;border-radius:4px;box-shadow:none;color:#2c3338;display:inline-block;vertical-align:middle;padding:7px 12px;margin:0;width:400px;min-height:36px;line-height:1.3;padding:7px 24px 7px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sugar-calendar-admin-content .sugar-calendar-calendar-form select:hover{color:#2c3338}.sugar-calendar-admin-content .sugar-calendar-calendar-form select:focus{border-color:#2271b1 !important;box-shadow:0 0 0 1px #2271b1 !important;outline:none !important}.sugar-calendar-admin-content .sugar-calendar-calendar-form select:disabled{opacity:.5}@media(max-width: 1023px){.sugar-calendar-admin-content .sugar-calendar-calendar-form select{width:300px}}.sugar-calendar-admin-content .sugar-calendar-calendar-form input#tag-name,.sugar-calendar-admin-content .sugar-calendar-calendar-form input#name{width:100%;margin-bottom:20px;padding:9px 8px;font-size:18px;line-height:18px}.sugar-calendar-admin-content .postbox{margin-bottom:0;border-radius:4px}.sugar-calendar-admin-content .postbox .postbox-header h2{font-size:14px;padding:8px 12px;margin:0;line-height:20px}.sugar-calendar-admin-content .postbox .postbox-header .handle-order-higher,.sugar-calendar-admin-content .postbox .postbox-header .handle-order-lower{display:none}.sugar-calendar-admin-content .postbox .inside{display:flex;flex-direction:column;padding:30px;row-gap:30px;margin:0}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row{display:flex;column-gap:10px}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row>label{width:200px;font-size:14px;font-style:normal;font-weight:500;line-height:34px;color:#2c3338}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field{flex:1}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .choicesjs-select-wrap{max-width:400px;line-height:20px}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-color-result{position:relative;overflow:hidden;width:128px;height:36px;border-radius:4px;border:1px solid #8c8f94;background-color:#fff}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-color-result:focus{border-color:#2271b1 !important;box-shadow:0 0 0 1px #2271b1 !important;outline:none !important}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-color-result span,.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-color-result:after{position:absolute;display:block}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-color-result:after{top:50%;left:10px;margin-top:-10px;content:"";width:20px;height:20px;border-radius:50%;background-color:inherit;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);border:none !important}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-color-result span{top:0;left:0;width:100%;padding:0 10px 0 36px;min-height:34px;font-size:14px;line-height:34px;color:#50575e;background-color:#fff;border:none}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-color-result:not(.wp-picker-open){margin-bottom:0}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container #term-color{background-color:#fff;border:1px solid #8c8f94;border-radius:4px;box-shadow:none;color:#2c3338;display:inline-block;vertical-align:middle;padding:7px 12px;margin:0;width:400px;min-height:36px;line-height:1.3;font-size:14px;width:90px}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container #term-color:hover{color:#2c3338}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container #term-color:focus{border-color:#2271b1 !important;box-shadow:0 0 0 1px #2271b1 !important;outline:none !important}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container #term-color:disabled{opacity:.5}@media(max-width: 1023px){.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container #term-color{width:300px}}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field .wp-picker-container .wp-picker-clear{width:auto;margin-left:6px}.sugar-calendar-admin-content .postbox .inside .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field p.desc{margin-bottom:0;font-size:14px;line-height:20px;color:#646970}.sugar-calendar-admin-content .postbox.closed{border-bottom:1px solid #c3c4c7}.sugar-calendar-admin-content .postbox.closed .postbox-header{border-bottom:none}.sugar-calendar-admin-content .postbox.closed .inside{display:none}.sugar-calendar-admin-content p.submit{border:none}
  • sugar-calendar-lite/trunk/assets/css/admin-calendars.css

    r3095175 r3118281  
    2121}
    2222.sugar-calendar-admin-wrap .notice {
    23   margin: 0 0 30px;
     23  margin: 0 0 15px;
    2424}
    2525
     
    6464.sugar-calendar-admin-content p.submit:last-of-type {
    6565  padding-bottom: 0;
     66}
     67.sugar-calendar-admin-content .sugar-calendar-admin-content__settings-form {
     68  padding-top: 15px;
    6669}
    6770
     
    350353  width: 100px;
    351354}
    352 /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3NzL2FkbWluL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19nZW5lcmFsLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9faGVhZGVyLnNjc3MiLCJhc3NldHMvc2Nzcy92ZW5kb3IvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19idXR0b25zLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9fc3ViaGVhZGVyLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi1jYWxlbmRhcnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtBQTREQTtBQzNEQTtFQUNDO0VBQ0E7O0FBRUE7RUFKRDtJQUtFOzs7O0FBS0Q7RUFERDtJQUVFOzs7O0FBS0Y7RUFDQzs7QUFFQTtFQUNDOzs7QUFLRjtFQUNDOztBQUVBO0FBQUE7QUFBQTtFQUdDOztBQUdEO0VBQ0M7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPRHpDaUI7O0FDNENsQjtFQUNDOztBQUlBO0VBQ0M7RUFDQTtFQUNBOztBQUVBO0VBQ0M7OztBQVlBO0FBQUE7RUFFQzs7QUFHRDtFQUNDOztBQUdEO0VBQ0M7O0FBR0Q7RUFDQzs7O0FDbEdMO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQ3lsQkc7RUQvbEJKO0lBU0U7Ozs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBLGtCRllxQjtFRVhyQjtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBOztBQ3VrQkU7RUQxa0JIO0lBTUU7OztBQUlGO0VBQ0M7RUFDQSxPRlppQjtFRWFqQjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0Esa0JGdkJnQjtFRXdCaEI7RUFDQTtFQUNBOztBQUdEO0VBRUMsT0ZsQ2dCOztBRW9DaEI7RUFDQyxrQkZyQ2U7OztBRTJDbkI7RUFDQztJQUNDOzs7QUVoRUY7RUFDQztFQUNBO0VBQ0EsZUpEVztFSUVYO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNDO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDLGtCSjFDdUI7RUkyQ3ZCLGNKM0N1QjtFSTRDdkI7O0FBRUE7RUFDQyxrQko5Q3NCO0VJK0N0QixjSi9Dc0I7RUlnRHRCOztBQUdEO0VBQ0M7RUFDQSxjSmpDb0I7RUlrQ3BCOzs7QUFJRjtFQUNDLGtCSjFEcUI7RUkyRHJCLGNKM0RxQjtFSTREckI7O0FBRUE7RUFDQyxrQko3RG9CO0VJOERwQixjSjlEb0I7RUkrRHBCOztBQUdEO0VBQ0M7RUFDQSxjSm5Eb0I7RUlvRHBCOzs7QUFJRjtFQUNDLGtCSjFEaUI7RUkyRGpCLGNKcEVrQjtFSXFFbEI7O0FBRUE7RUFDQyxrQkpoRWdCO0VJaUVoQixjSjNFaUI7RUk0RWpCOztBQUdEO0VBQ0M7OztBQUlGO0VBQ0Msa0JKN0V3QjtFSThFeEI7RUFDQTs7QUFFQTtFQUNDO0VBQ0EsY0ovRW9CO0VJZ0ZwQjs7O0FBSUY7RUFDQyxrQkozRnNCO0VJNEZ0QjtFQUNBOztBQUVBO0VBQ0M7RUFDQSxjSjNGb0I7RUk0RnBCOzs7QUMxSEY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQkx1QnFCO0VLdEJyQjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUdDOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0EsT0xWa0I7RUtXbEI7O0FBR0Q7RUFDQyxhTHZCVzs7QUt5Qlg7RUFDQztFQUNBO0VBQ0E7RUFDQSxrQkxMbUI7RUtNbkI7RUFDQTtFQUNBOzs7QUM3Qkg7RUFDQztFQUNBOztBQUdDO0VBQ0M7O0FBS0Q7RUFDQzs7QUFJRjtFQUNDOztBQUdEO0VBQ0M7RUFDQTs7QUFFQTtFQUNDOztBQUlFO0VBQ0M7O0FBS0g7RUFDQyxlTjNDUTtFTTRDUjs7QUFJRTtFQUNDOztBQUdEO0VBQ0M7O0FBRUE7RUFDQzs7QUFRRjtFQUNDOztBQUdEO0VBQ0M7O0FBTUE7RUFDQztFQUNBLE9OekVLO0VNMEVMLFFOMUVLO0VNMkVMO0VBQ0E7O0FBVVA7RUFDQyIsImZpbGUiOiJhc3NldHMvY3NzL2FkbWluLWNhbGVuZGFycy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBZG1pbiB2YXJpYWJsZXMuXG5cbi8qIFZhcmlhYmxlcyAgKi9cbiRyYWRpdXMtbWQ6IDRweDtcbiRyYWRpdXMtbGc6IDZweDtcbiRyYWRpdXMtc206IDNweDtcbiRzcGFjaW5nLXNtOiAxMHB4O1xuJHNwYWNpbmctbWQ6IDIwcHg7XG4kc3BhY2luZy1sZzogMzBweDtcbiRzcGFjaW5nLXhsOiA1MHB4O1xuJGNvbG9yLWJyYW5kLW9yYW5nZS01MDogI0ZGODg0NUZGO1xuJGNvbG9yLWJyYW5kLW9yYW5nZS03MDogI0NCNkQzN0ZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtNTA6ICMyMjcxQjFGRjtcbiRjb2xvci1icmFuZC1ibHVlLWJyaWdodC01MDogIzAwQTBEMkZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtNzA6ICMwQTRCNzhGRjtcbiRjb2xvci1uZXV0cmFsLTEwMDogIzEwMTUxNztcbiRjb2xvci1uZXV0cmFsLTkwOiAjMUQyMzI3RkY7XG4kY29sb3ItbmV1dHJhbC04MDogIzJDMzMzOEZGO1xuJGNvbG9yLW5ldXRyYWwtNzA6ICMzQzQzNEFGRjtcbiRjb2xvci1uZXV0cmFsLTYwOiAjNTA1NzVFRkY7XG4kY29sb3ItbmV1dHJhbC01MDogIzY0Njk3MEZGO1xuJGNvbG9yLW5ldXRyYWwtMzA6ICM4QzhGOTRGRjtcbiRjb2xvci1uZXV0cmFsLTEwOiAjQzNDNEM3RkY7XG4kY29sb3ItbmV1dHJhbC0yMDogI0E3QUFBREZGO1xuJGNvbG9yLW5ldXRyYWwtNTogI0RDRENERUZGO1xuJGNvbG9yLXV0aWxpdHktcmVkLTUwOiAjRDYzNjM4RkY7XG4kY29sb3ItdXRpbGl0eS15ZWxsb3ctNTA6ICNEQkE2MTdGRjtcbiRjb2xvci11dGlsaXR5LWdyZWVuLTUwOiAjMDA4QTIwRkY7XG4kcmFkaXVzLXhsOiA5cHg7XG4kY29sb3ItbmV1dHJhbC0zOiAjRjBGMEYxRkY7XG4kY29sb3ItbmV1dHJhbC0wOiAjRjZGN0Y3RkY7XG4kY29sb3ItdXRpbGl0eS13aGl0ZTogI0ZGRkZGRkZGO1xuJGNvbG9yLWJyYW5kLW9yYW5nZS0wOiAjRkZGM0VDRkY7XG4kY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtMDogI0U1RjVGQUZGO1xuJGNvbG9yLXV0aWxpdHktZ3JlZW4tMDogI0VERkFFRkZGO1xuJGNvbG9yLXV0aWxpdHktcmVkLTA6ICNGQ0YwRjFGRjtcbiRjb2xvci1icmFuZC1vcmFuZ2UtMzA6ICNGRkEwNkFGRjtcbiRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0zMDogIzY2QzZFNEZGO1xuJGNvbG9yLXV0aWxpdHktZ3JlZW4tMzA6ICMwMEJBMzdGRjtcbiRjb2xvci11dGlsaXR5LXJlZC0zMDogI0Y4NjM2OEZGO1xuJGNvbG9yLXdvcmRwcmVzcy1ibHVlOiAjMjI3MUIxRkY7XG4kY29sb3ItdXRpbGl0eS1ncmF5LTA6ICNGNkY2RjZGRjtcbiRjb2xvci1hY2NlbnQtb3JhbmdlLTUwOiAjRkU5RTY4RkY7XG4kY29sb3ItYWNjZW50LW9yYW5nZS0wOiAjRkZGMEU4RkY7XG4kY29sb3ItYWNjZW50LXJlZC01MDogI0ZGNzM2OEZGO1xuJGNvbG9yLWFjY2VudC1yZWQtMDogI0ZGRUFFOEZGO1xuJGNvbG9yLWFjY2VudC1waW5rLTUwOiAjREY1QjlBRkY7XG4kY29sb3ItYWNjZW50LXBpbmstMDogI0ZBRTZGMEZGO1xuJGNvbG9yLWFjY2VudC1wdXJwbGUtNTA6ICM4NjU5QzJGRjtcbiRjb2xvci1hY2NlbnQtcHVycGxlLTA6ICNFREU2RjZGRjtcbiRjb2xvci1hY2NlbnQtYmx1ZS01MDogIzU2ODVCREZGO1xuJGNvbG9yLWFjY2VudC1ibHVlLTA6ICNFNkVERjVGRjtcbiRjb2xvci1hY2NlbnQtdGVhbC01MDogIzRCQjlBN0ZGO1xuJGNvbG9yLWFjY2VudC10ZWFsLTA6ICNFNEY1RjJGRjtcbiRjb2xvci1hY2NlbnQtZ3JlZW4tNTA6ICM1N0Q0NjZGRjtcbiRjb2xvci1hY2NlbnQtZ3JlZW4tMDogI0U2RjlFOEZGO1xuJGNvbG9yLWFjY2VudC15ZWxsb3ctNTA6ICNGRkM0NjlGRjtcbiRjb2xvci1hY2NlbnQteWVsbG93LTA6ICNGRkY2RTlGRjtcbiRjYWxlbmRhci10ZXh0LXByaW1hcnk6ICMwMDAwMDBEOTtcbiRjYWxlbmRhci10ZXh0LXRlcnRpYXJ5OiAjMDAwMDAwNjY7XG4kY2FsZW5kYXItYmFja2dyb3VuZDogIzAwMDAwMDA4O1xuXG4vKiBBbGlhc2VzICAqL1xuJHRleHQtdGV4dC1wcmltYXJ5OiAkY29sb3ItbmV1dHJhbC04MDtcbiR0ZXh0LXRleHQtc2Vjb25kYXJ5OiAkY29sb3ItbmV1dHJhbC02MDtcbiR0ZXh0LXRleHQtdGVydGlhcnk6ICRjb2xvci1uZXV0cmFsLTUwO1xuJHRleHQtdGV4dC1oZWFkaW5nOiAkY29sb3ItbmV1dHJhbC05MDtcbiR0ZXh0LXRleHQtdGl0bGU6ICRjb2xvci1uZXV0cmFsLTEwMDtcbiRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1vcmFuZ2UtNTA7XG4kYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLTA7XG4kZmllbGRzLWZpZWxkLWJvcmRlcjogJGNvbG9yLW5ldXRyYWwtMzA7XG4kc3VyZmFjZS1zdXJmYWNlLWJvcmRlcjogJGNvbG9yLW5ldXRyYWwtMTA7XG4kc3VyZmFjZS1zdXJmYWNlLWRpdmlkZXI6ICRjb2xvci1uZXV0cmFsLTU7XG4kYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3ZlcjogJGNvbG9yLWJyYW5kLW9yYW5nZS03MDtcbiRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC0taG92ZXI6ICRjb2xvci1icmFuZC1ibHVlLTcwO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlcjogJGNvbG9yLW5ldXRyYWwtMzA7XG4kYnV0dG9ucy1idXR0b24tcHJpbWFyeS10ZXh0OiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcbiRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktdGV4dDogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dDogJGNvbG9yLW5ldXRyYWwtNjA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyLS1ob3ZlcjogJGNvbG9yLW5ldXRyYWwtNjA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZC0tLWhvdmVyOiAkY29sb3ItbmV1dHJhbC0zO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LXRleHQtLWhvdmVyOiAkY29sb3ItbmV1dHJhbC04MDtcbiRidXR0b25zLWJ1dHRvbi13cC1wcmltYXJ5LWJhY2tncm91bmQ6ICMyMjcxQjE7XG4kdGV4dC10ZXh0LWxpbms6ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuJHRleHQtdGV4dC1zdWNjZXNzOiAkY29sb3ItdXRpbGl0eS1ncmVlbi01MDtcbiR0ZXh0LXRleHQtZXJyb3I6ICRjb2xvci11dGlsaXR5LXJlZC01MDtcbiR0ZXh0LXRleHQtd2FybmluZzogJGNvbG9yLXV0aWxpdHkteWVsbG93LTUwO1xuJGZpZWxkcy1maWVsZC1ib3JkZXItLWZvY3VzOiAkY29sb3ItYnJhbmQtYmx1ZS01MDtcbiRmaWVsZHMtZmllbGQtYm9yZGVyLWVycm9yOiAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vZmY6ICRjb2xvci1uZXV0cmFsLTMwO1xuJGZpZWxkcy1maWVsZC1jaG9pY2Utb246ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuJGJhZGdlcy1iYWRnZS1vcmFuZ2UtdGV4dDogJGNvbG9yLWJyYW5kLW9yYW5nZS0zMDtcbiRiYWRnZXMtYmFkZ2Utb3JhbmdlLWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1vcmFuZ2UtMDtcbiRiYWRnZXMtYmFkZ2UtYmx1ZS1iYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtMDtcbiRiYWRnZXMtYmFkZ2UtYmx1ZS10ZXh0OiAkY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtMzA7XG4kYmFkZ2VzLWJhZGdlLWdyZWVuLWJhY2tncm91bmQ6ICRjb2xvci11dGlsaXR5LWdyZWVuLTA7XG4kYmFkZ2VzLWJhZGdlLWdyZWVuLXRleHQ6ICRjb2xvci11dGlsaXR5LWdyZWVuLTMwO1xuJGJhZGdlcy1iYWRnZS1yZWQtYmFja2dyb3VuZDogJGNvbG9yLXV0aWxpdHktcmVkLTA7XG4kYmFkZ2VzLWJhZGdlLXJlZC10ZXh0OiAkY29sb3ItdXRpbGl0eS1yZWQtMzA7XG4kYmFkZ2VzLWJhZGdlLW5ldXRyYWwtYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtNTtcbiRiYWRnZXMtYmFkZ2UtbmV1dHJhbC10ZXh0OiAkY29sb3ItbmV1dHJhbC0zMDtcbiRyYWRpdXMtcmFkaXVzLWJ1dHRvbjogJHJhZGl1cy1tZDtcbiRyYWRpdXMtcmFkaXVzLWZpZWxkOiAkcmFkaXVzLW1kO1xuJHJhZGl1cy1yYWRpdXMtYmFkZ2U6ICRyYWRpdXMtc207XG4kc3VyZmFjZS1zdXJmYWNlLWJvcmRlci1wcmltYXJ5OiAkY29sb3ItYnJhbmQtb3JhbmdlLTUwO1xuJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC0zO1xuJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcbiR0ZXh0LXRleHQtaWNvbjogJGNvbG9yLW5ldXRyYWwtMjA7XG4kc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtbGlnaHQ6ICRjb2xvci11dGlsaXR5LWdyYXktMDtcbiRmaWVsZHMtZmllbGQtY2hvaWNlLW9mZi0taG92ZXI6ICRjb2xvci1uZXV0cmFsLTUwO1xuJGZpZWxkcy1maWVsZC1jaG9pY2Utb24tLWhvdmVyOiAkY29sb3ItYnJhbmQtYmx1ZS03MDtcblxuLy8gRm9udCBzaXplcy5cbiR0ZXh0LWZvbnQtc2l6ZS0yeHM6IDExcHg7XG4kdGV4dC1mb250LXNpemUteHM6IDEycHg7XG4kdGV4dC1mb250LXNpemUtc3M6IDEzcHg7XG4kdGV4dC1mb250LXNpemUtczogMTRweDtcbiR0ZXh0LWZvbnQtc2l6ZS1tOiAxNnB4O1xuJHRleHQtZm9udC1zaXplLWw6IDE4cHg7XG4kdGV4dC1mb250LXNpemUtbGw6IDIwcHg7XG4kdGV4dC1mb250LXNpemUtbGxsOiAyMnB4O1xuJHRleHQtZm9udC1zaXplLXhsOiAyNHB4O1xuJHRleHQtZm9udC1zaXplLXh4bDogMjhweDtcblxuLy8gVHJhbnNpdGlvbnMuXG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1zbG93ZXN0OiAuNTBzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tc2xvd2VyOiAuNDBzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tc2xvdzogLjI1cztcbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLW5vcm1hbDogLjE1cztcbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLWZhc3Q6IC4wNXM7XG4iLCIvLyBHZW5lcmFsIGFkbWluIHN0eWxpbmcuXG5cbi8vIENvcmUgYWRtaW4gc3R5bGUgb3ZlcnJpZGVzLlxuI3dwY29udGVudCB7XG5cdHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblx0XHRwYWRkaW5nLXRvcDogNDZweDtcblx0fVxufVxuXG4jd3Bib2R5IHtcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0fVxufVxuXG4vLyBBZG1pbiB3cmFwIC0gY29udGFpbnMgZXZlcnl0aGluZyBleGNlcHQgdGhlIGhlYWRlci5cbi5zdWdhci1jYWxlbmRhci1hZG1pbi13cmFwIHtcblx0bWFyZ2luOiAwO1xuXG5cdC5ub3RpY2Uge1xuXHRcdG1hcmdpbjogMCAwICRzcGFjaW5nLWxnO1xuXHR9XG59XG5cbi8vIEFkbWluIGNvbnRlbnQuXG4uc3VnYXItY2FsZW5kYXItYWRtaW4tY29udGVudCB7XG5cdHBhZGRpbmc6ICRzcGFjaW5nLWxnICRzcGFjaW5nLWxnIDAgJHNwYWNpbmctbGc7XG5cblx0Kixcblx0Kjo6YmVmb3JlLFxuXHQqOjphZnRlciB7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0fVxuXG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIiBcIjtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHR9XG5cblx0aHIge1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2U0ZTRlNDtcblx0XHRtYXJnaW46IDIwcHggMDtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHR9XG5cblx0Y29kZSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBhZGRpbmc6IDAgNnB4O1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHRjb2xvcjogJHRleHQtdGV4dC1zZWNvbmRhcnk7XG5cdH1cblxuXHRzdHJvbmcge1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdH1cblxuXHRwIHtcblx0XHQmLnN1Ym1pdCB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1sZyAwIDIwcHggMDtcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTRlNGU0O1xuXG5cdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG59XG5cbi8vIExlZ2FjeSBhZGRvbiBmaXhlcy5cbi5zdWdhci1jYWxlbmRhci1hZG1pbi1jb250ZW50IHtcblx0LmZvcm0tdGFibGU6Zmlyc3QtY2hpbGQge1xuXHRcdHRib2R5IHtcblx0XHRcdHRyOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0dGgsXG5cdFx0XHRcdHRkIHtcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGgge1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAycHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRoMyB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy8gSGVhZGVyIHN0eWxlcy5cblxuI3N1Z2FyLWNhbGVuZGFyLWhlYWRlci10ZW1wIHtcblx0bWFyZ2luOiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogLTFweDtcblx0bGVmdDogMjBweDtcblx0cmlnaHQ6IDA7XG5cdHotaW5kZXg6IDk5O1xuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPDYwMHB4XCIpIHtcblx0XHRwYWRkaW5nLXRvcDogNTBweDtcblx0fVxufVxuXG4jc3VnYXItY2FsZW5kYXItaGVhZGVyIHtcblx0cGFkZGluZzogMjBweCAzMHB4O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJHN1cmZhY2Utc3VyZmFjZS1kaXZpZGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0aW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW46IDA7XG5cdFx0bWF4LXdpZHRoOiAyOTZweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xuXHRcdFx0bWF4LXdpZHRoOiAyMDBweDtcblx0XHR9XG5cdH1cblxuXHRhI3N1Z2FyLWNhbGVuZGFyLWhlYWRlci1oZWxwIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRjb2xvcjogJHRleHQtdGV4dC1pY29uO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEzcHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdG1hc2staW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9xdWVzdGlvbi1jaXJjbGUuc3ZnXCIpO1xuXHRcdFx0bWFzay1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LXRleHQtaWNvbjtcblx0XHRcdHdpZHRoOiAxNnB4O1xuXHRcdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiA2cHg7XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGNvbG9yOiAkdGV4dC10ZXh0LXRlcnRpYXJ5O1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LXRleHQtdGVydGlhcnk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuXHQjc3VnYXItY2FsZW5kYXItbm90aWNlLWJhciArICNzdWdhci1jYWxlbmRhci1oZWFkZXItdGVtcCB7XG5cdFx0dG9wOiAzNHB4O1xuXHR9XG59XG4iLCIvLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjIuMC4wXG4vL1xuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBLaXR0eSBHaXJhdWRlbCAoQGtpdHR5Z2lyYXVkZWwpXG4vL1xuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxuQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5AdXNlICdzYXNzOm1hdGgnO1xuQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2FzczpsaXN0JztcbkB1c2UgJ3Nhc3M6c3RyaW5nJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdkZXNrdG9wJzogMTAyNHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxuICAncHJpbnQnOiAncHJpbnQnLFxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXG4gICdyZXRpbmEyeCc6XG4gICAgJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzpcbiAgICAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknLFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2Bcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cbi8vL1xuJHVuaXQtaW50ZXJ2YWxzOiAoXG4gICdweCc6IDEsXG4gICdlbSc6IDAuMDEsXG4gICdyZW0nOiAwLjEsXG4gICcnOiAwLFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBtZXRhLmZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgfVxufVxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7XG59XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLmdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge1xuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLmhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpXG4gICAgICB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgbGlzdC5pbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyaW5nLnNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci10cmltKCRwYXJzZWQtZGltZW5zaW9uKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyaW5nLmxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XG4gIEByZXR1cm4gaWYobGlzdC5pbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cbi8vL1xuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICR2YWx1ZTogc3RyaW5nLnNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHJpbmcubGVuZ3RoKCRvcGVyYXRvcikpO1xuICAkdHJpbW1lZFZhbHVlOiBzdHItdHJpbSgkdmFsdWUpO1xuXG4gIEBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICR0cmltbWVkVmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkdHJpbW1lZFZhbHVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHRyaW1tZWRWYWx1ZSk7XG4gIH1cblxuICAkaW50ZXJ2YWw6IG1hcC5nZXQoJHVuaXQtaW50ZXJ2YWxzLCBtYXRoLnVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3ttYXRoLnVuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC5oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC5nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsaXN0Lmxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxpc3QubGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XG4gICAgQHJldHVybiAoKTtcbiAgfVxuXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcbiAgICAkcmVzdWx0OiBsaXN0LmFwcGVuZCgkcmVzdWx0LCBsaXN0Lm50aCgkbGlzdCwgJGkpLCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKFxuICAgICcwJzogMCxcbiAgICAnMSc6IDEsXG4gICAgJzInOiAyLFxuICAgICczJzogMyxcbiAgICAnNCc6IDQsXG4gICAgJzUnOiA1LFxuICAgICc2JzogNixcbiAgICAnNyc6IDcsXG4gICAgJzgnOiA4LFxuICAgICc5JzogOSxcbiAgKTtcblxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xuICAgICR2YWx1ZTogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0cmluZy5sZW5ndGgoJHZhbHVlKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgIEBpZiBub3QobGlzdC5pbmRleChtYXAua2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGkpKTtcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAuZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXRoLmRpdihtYXAuZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSwgJGRpZ2l0cyk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAkdW5pdHM6IChcbiAgICAncHgnOiAxcHgsXG4gICAgJ2NtJzogMWNtLFxuICAgICdtbSc6IDFtbSxcbiAgICAnJSc6IDElLFxuICAgICdjaCc6IDFjaCxcbiAgICAncGMnOiAxcGMsXG4gICAgJ2luJzogMWluLFxuICAgICdlbSc6IDFlbSxcbiAgICAncmVtJzogMXJlbSxcbiAgICAncHQnOiAxcHQsXG4gICAgJ2V4JzogMWV4LFxuICAgICd2dyc6IDF2dyxcbiAgICAndmgnOiAxdmgsXG4gICAgJ3ZtaW4nOiAxdm1pbixcbiAgICAndm1heCc6IDF2bWF4LFxuICApO1xuXG4gIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAuZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEphY2sgTWNOaWNvbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBUcmltcyBhIHN0cmluZyBvZiBsZWFkaW5nIGFuZCB0cmFpbGluZyBzcGFjZXNcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gVmFsdWUgdG8gYmUgdHJpbW1lZFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfVxuLy8vXG5cbkBmdW5jdGlvbiBzdHItdHJpbSgkc3RyaW5nKSB7XG4gIEBpZiAoc3RyLXNsaWNlKCRzdHJpbmcsIDEsIDEpID09ICcgJykge1xuICAgIEByZXR1cm4gc3RyLXRyaW0oc3RyLXNsaWNlKCRzdHJpbmcsIDIpKTtcbiAgfSBAZWxzZSBpZiAoc3RyLXNsaWNlKCRzdHJpbmcsIHN0ci1sZW5ndGgoJHN0cmluZyksIC0xKSA9PSAnICcpIHtcbiAgICBAcmV0dXJuIHN0ci10cmltKHN0ci1zbGljZSgkc3RyaW5nLCAxLCAtMikpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRzdHJpbmc7XG4gIH1cbn1cblxuLy8vXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxuLy8vIGZvciBpbnN0YW5jZS5cbi8vL1xuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC5tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAubWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxpc3QubGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKVxuICB7XG4gICAgQGNvbnRlbnQ7XG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsaXN0Lmxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7c3RyaW5nLnVucXVvdGUocGFyc2UtZXhwcmVzc2lvbihsaXN0Lm50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgICRzbGljZWQtY29uZGl0aW9uczogc2xpY2UoJGNvbmRpdGlvbnMsIDIpO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJHNsaWNlZC1jb25kaXRpb25zLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQnV0dG9ucy5cbi5zdWdhci1jYWxlbmRhci1idG4ge1xuXHRib3JkZXItd2lkdGg6IDFweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLXJhZGl1czogJHJhZGl1cy1yYWRpdXMtYnV0dG9uO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luOiAwO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0dHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLWZhc3QgZWFzZS1vdXQ7XG5cblx0Ji5pbmFjdGl2ZSB7XG5cdFx0Y3Vyc29yOiBuby1kcm9wO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tYmxvY2sge1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tc20ge1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXHRwYWRkaW5nOiAwIDEwcHg7XG5cdGhlaWdodDogMzBweDtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1tZCB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0bGluZS1oZWlnaHQ6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHBhZGRpbmc6IDEwcHggMTVweDtcblx0bWluLWhlaWdodDogMzZweDtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1sZyB7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0cGFkZGluZzogMTFweCAxN3B4O1xuXHRtaW4taGVpZ2h0OiA0NHB4O1xufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXByaW1hcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuXHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0b3V0bGluZTogMDtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXNlY29uZGFyeSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDtcblx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tdGVydGlhcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZDtcblx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyO1xuXHRjb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LXRleHQgIWltcG9ydGFudDtcblxuXHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZC0tLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlci0taG92ZXI7XG5cdFx0Y29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0LS1ob3ZlciAhaW1wb3J0YW50O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXItLWhvdmVyO1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tZ3JlZW4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdXRpbGl0eS1ncmVlbi01MDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkY29sb3ItdXRpbGl0eS1ncmVlbi01MDtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1yZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci11dGlsaXR5LXJlZC01MDtcblx0Y29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlICFpbXBvcnRhbnQ7XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRjb2xvci11dGlsaXR5LXJlZC01MDtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cbiIsIi8vIFBhZ2Ugc3ViaGVhZGVyLlxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLXN1YmhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0aGVpZ2h0OiA2MHB4O1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDE1cHggJHNwYWNpbmctbGc7XG5cdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG5cdCosXG5cdCo6OmJlZm9yZSxcblx0Kjo6YWZ0ZXIge1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdH1cblxuXHRoNCB7XG5cdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtdGl0bGU7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLWJ0bi1uZXctaXRlbSB7XG5cdFx0bWFyZ2luLWxlZnQ6ICRzcGFjaW5nLW1kO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRtYXNrOiB1cmwoLi4vaW1hZ2VzL2ljb25zL2FkZC5zdmcpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0XHR3aWR0aDogMTFweDtcblx0XHRcdGhlaWdodDogMTFweDtcblx0XHRcdG1hcmdpbjogMCA2cHggMCAwO1xuXHRcdH1cblx0fVxufVxuIiwiQGltcG9ydCAnYWRtaW4vdmFyaWFibGVzJztcblxuQGltcG9ydCAndmVuZG9yL2luY2x1ZGUtbWVkaWEnO1xuXG5AaW1wb3J0IFwiYWRtaW4vbWl4aW5zXCI7XG5AaW1wb3J0ICdhZG1pbi9nZW5lcmFsJztcbkBpbXBvcnQgJ2FkbWluL2hlYWRlcic7XG5AaW1wb3J0ICdhZG1pbi9idXR0b25zJztcbkBpbXBvcnQgJ2FkbWluL3N1YmhlYWRlcic7XG5cbi53cmFwIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAkc3BhY2luZy1sZyAkc3BhY2luZy1sZyAwO1xuXG5cdGgxIHtcblx0XHQmLndwLWhlYWRpbmctaW5saW5lIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0YSB7XG5cdFx0Ji5wYWdlLXRpdGxlLWFjdGlvbiB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdCNjb2wtbGVmdCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdCNjb2wtcmlnaHQge1xuXHRcdGZsb2F0OiBub25lO1xuXHRcdHdpZHRoOiBhdXRvO1xuXG5cdFx0LmNvbC13cmFwIHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cblx0XHRcdC50YWJsZW5hdiB7XG5cdFx0XHRcdC5vbmUtcGFnZSB7XG5cdFx0XHRcdFx0LnBhZ2luYXRpb24tbGlua3Mge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQud3AtbGlzdC10YWJsZSB7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtbWQ7XG5cdFx0XHRcdGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4wNykgIWltcG9ydGFudDtcblxuXHRcdFx0XHQmLnN0cmlwZWQge1xuXHRcdFx0XHRcdD4gdGJvZHkge1xuXHRcdFx0XHRcdFx0dHIge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0PiB0cjpudGgtY2hpbGQob2RkIG9mIDpub3QoLnN1Z2FyLWNhbGVuZGFyLWNhbGVuZGFyLXRhYmxlLWZlZWRzLXJvdykpIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2Y2ZjdmNztcblxuXHRcdFx0XHRcdFx0XHQmICsgLnN1Z2FyLWNhbGVuZGFyLWNhbGVuZGFyLXRhYmxlLWZlZWRzLXJvdyB7XG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2Y2ZjdmNztcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRyIHtcblx0XHRcdFx0XHR0aCB7XG5cdFx0XHRcdFx0XHQmI3RpbWV6b25lIHtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDIwMHB4O1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmI2NvbG9yIHtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMHB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHRkIHtcblx0XHRcdFx0XHRcdGkge1xuXHRcdFx0XHRcdFx0XHQmLnRlcm0tY29sb3Ige1xuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAkc3BhY2luZy1tZDtcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6ICRzcGFjaW5nLW1kO1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHRcdFx0XHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIEZpeCB0aGUgd2lkdGggb2YgdGhlIEV2ZW50cyB0YWJsZSBjb2x1bW4uXG5cdC5maXhlZCAuY29sdW1uLXBvc3RzIHtcblx0XHR3aWR0aDogMTAwcHg7XG5cdH1cbn1cbiJdfQ== */
     355/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3NzL2FkbWluL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19nZW5lcmFsLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9faGVhZGVyLnNjc3MiLCJhc3NldHMvc2Nzcy92ZW5kb3IvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19idXR0b25zLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9fc3ViaGVhZGVyLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi1jYWxlbmRhcnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtBQTREQTtBQzNEQTtFQUNDO0VBQ0E7O0FBRUE7RUFKRDtJQUtFOzs7O0FBS0Q7RUFERDtJQUVFOzs7O0FBS0Y7RUFDQzs7QUFFQTtFQUNDOzs7QUFLRjtFQUNDOztBQUVBO0FBQUE7QUFBQTtFQUdDOztBQUdEO0VBQ0M7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPRHpDaUI7O0FDNENsQjtFQUNDOztBQUlBO0VBQ0M7RUFDQTtFQUNBOztBQUVBO0VBQ0M7O0FBTUg7RUFDQzs7O0FBU0U7QUFBQTtFQUVDOztBQUdEO0VBQ0M7O0FBR0Q7RUFDQzs7QUFHRDtFQUNDOzs7QUN0R0w7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FDeWxCRztFRC9sQko7SUFTRTs7OztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0Esa0JGWXFCO0VFWHJCO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7O0FDdWtCRTtFRDFrQkg7SUFNRTs7O0FBSUY7RUFDQztFQUNBLE9GWmlCO0VFYWpCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQSxrQkZ2QmdCO0VFd0JoQjtFQUNBO0VBQ0E7O0FBR0Q7RUFFQyxPRmxDZ0I7O0FFb0NoQjtFQUNDLGtCRnJDZTs7O0FFMkNuQjtFQUNDO0lBQ0M7OztBRWhFRjtFQUNDO0VBQ0E7RUFDQSxlSkRXO0VJRVg7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0M7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0Msa0JKMUN1QjtFSTJDdkIsY0ozQ3VCO0VJNEN2Qjs7QUFFQTtFQUNDLGtCSjlDc0I7RUkrQ3RCLGNKL0NzQjtFSWdEdEI7O0FBR0Q7RUFDQztFQUNBLGNKakNvQjtFSWtDcEI7OztBQUlGO0VBQ0Msa0JKMURxQjtFSTJEckIsY0ozRHFCO0VJNERyQjs7QUFFQTtFQUNDLGtCSjdEb0I7RUk4RHBCLGNKOURvQjtFSStEcEI7O0FBR0Q7RUFDQztFQUNBLGNKbkRvQjtFSW9EcEI7OztBQUlGO0VBQ0Msa0JKMURpQjtFSTJEakIsY0pwRWtCO0VJcUVsQjs7QUFFQTtFQUNDLGtCSmhFZ0I7RUlpRWhCLGNKM0VpQjtFSTRFakI7O0FBR0Q7RUFDQzs7O0FBSUY7RUFDQyxrQko3RXdCO0VJOEV4QjtFQUNBOztBQUVBO0VBQ0M7RUFDQSxjSi9Fb0I7RUlnRnBCOzs7QUFJRjtFQUNDLGtCSjNGc0I7RUk0RnRCO0VBQ0E7O0FBRUE7RUFDQztFQUNBLGNKM0ZvQjtFSTRGcEI7OztBQzFIRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCTHVCcUI7RUt0QnJCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0VBR0M7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQSxPTFZrQjtFS1dsQjs7QUFHRDtFQUNDLGFMdkJXOztBS3lCWDtFQUNDO0VBQ0E7RUFDQTtFQUNBLGtCTExtQjtFS01uQjtFQUNBO0VBQ0E7OztBQzdCSDtFQUNDO0VBQ0E7O0FBR0M7RUFDQzs7QUFLRDtFQUNDOztBQUlGO0VBQ0M7O0FBR0Q7RUFDQztFQUNBOztBQUVBO0VBQ0M7O0FBSUU7RUFDQzs7QUFLSDtFQUNDLGVOM0NRO0VNNENSOztBQUlFO0VBQ0M7O0FBR0Q7RUFDQzs7QUFFQTtFQUNDOztBQVFGO0VBQ0M7O0FBR0Q7RUFDQzs7QUFNQTtFQUNDO0VBQ0EsT056RUs7RU0wRUwsUU4xRUs7RU0yRUw7RUFDQTs7QUFVUDtFQUNDIiwiZmlsZSI6ImFzc2V0cy9jc3MvYWRtaW4tY2FsZW5kYXJzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFkbWluIHZhcmlhYmxlcy5cblxuLyogVmFyaWFibGVzICAqL1xuJHJhZGl1cy1tZDogNHB4O1xuJHJhZGl1cy1sZzogNnB4O1xuJHJhZGl1cy1zbTogM3B4O1xuJHNwYWNpbmctc206IDEwcHg7XG4kc3BhY2luZy1tZDogMjBweDtcbiRzcGFjaW5nLWxnOiAzMHB4O1xuJHNwYWNpbmcteGw6IDUwcHg7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTUwOiAjRkY4ODQ1RkY7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTcwOiAjQ0I2RDM3RkY7XG4kY29sb3ItYnJhbmQtYmx1ZS01MDogIzIyNzFCMUZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTUwOiAjMDBBMEQyRkY7XG4kY29sb3ItYnJhbmQtYmx1ZS03MDogIzBBNEI3OEZGO1xuJGNvbG9yLW5ldXRyYWwtMTAwOiAjMTAxNTE3O1xuJGNvbG9yLW5ldXRyYWwtOTA6ICMxRDIzMjdGRjtcbiRjb2xvci1uZXV0cmFsLTgwOiAjMkMzMzM4RkY7XG4kY29sb3ItbmV1dHJhbC03MDogIzNDNDM0QUZGO1xuJGNvbG9yLW5ldXRyYWwtNjA6ICM1MDU3NUVGRjtcbiRjb2xvci1uZXV0cmFsLTUwOiAjNjQ2OTcwRkY7XG4kY29sb3ItbmV1dHJhbC0zMDogIzhDOEY5NEZGO1xuJGNvbG9yLW5ldXRyYWwtMTA6ICNDM0M0QzdGRjtcbiRjb2xvci1uZXV0cmFsLTIwOiAjQTdBQUFERkY7XG4kY29sb3ItbmV1dHJhbC01OiAjRENEQ0RFRkY7XG4kY29sb3ItdXRpbGl0eS1yZWQtNTA6ICNENjM2MzhGRjtcbiRjb2xvci11dGlsaXR5LXllbGxvdy01MDogI0RCQTYxN0ZGO1xuJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA6ICMwMDhBMjBGRjtcbiRyYWRpdXMteGw6IDlweDtcbiRjb2xvci1uZXV0cmFsLTM6ICNGMEYwRjFGRjtcbiRjb2xvci1uZXV0cmFsLTA6ICNGNkY3RjdGRjtcbiRjb2xvci11dGlsaXR5LXdoaXRlOiAjRkZGRkZGRkY7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTA6ICNGRkYzRUNGRjtcbiRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0wOiAjRTVGNUZBRkY7XG4kY29sb3ItdXRpbGl0eS1ncmVlbi0wOiAjRURGQUVGRkY7XG4kY29sb3ItdXRpbGl0eS1yZWQtMDogI0ZDRjBGMUZGO1xuJGNvbG9yLWJyYW5kLW9yYW5nZS0zMDogI0ZGQTA2QUZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTMwOiAjNjZDNkU0RkY7XG4kY29sb3ItdXRpbGl0eS1ncmVlbi0zMDogIzAwQkEzN0ZGO1xuJGNvbG9yLXV0aWxpdHktcmVkLTMwOiAjRjg2MzY4RkY7XG4kY29sb3Itd29yZHByZXNzLWJsdWU6ICMyMjcxQjFGRjtcbiRjb2xvci11dGlsaXR5LWdyYXktMDogI0Y2RjZGNkZGO1xuJGNvbG9yLWFjY2VudC1vcmFuZ2UtNTA6ICNGRTlFNjhGRjtcbiRjb2xvci1hY2NlbnQtb3JhbmdlLTA6ICNGRkYwRThGRjtcbiRjb2xvci1hY2NlbnQtcmVkLTUwOiAjRkY3MzY4RkY7XG4kY29sb3ItYWNjZW50LXJlZC0wOiAjRkZFQUU4RkY7XG4kY29sb3ItYWNjZW50LXBpbmstNTA6ICNERjVCOUFGRjtcbiRjb2xvci1hY2NlbnQtcGluay0wOiAjRkFFNkYwRkY7XG4kY29sb3ItYWNjZW50LXB1cnBsZS01MDogIzg2NTlDMkZGO1xuJGNvbG9yLWFjY2VudC1wdXJwbGUtMDogI0VERTZGNkZGO1xuJGNvbG9yLWFjY2VudC1ibHVlLTUwOiAjNTY4NUJERkY7XG4kY29sb3ItYWNjZW50LWJsdWUtMDogI0U2RURGNUZGO1xuJGNvbG9yLWFjY2VudC10ZWFsLTUwOiAjNEJCOUE3RkY7XG4kY29sb3ItYWNjZW50LXRlYWwtMDogI0U0RjVGMkZGO1xuJGNvbG9yLWFjY2VudC1ncmVlbi01MDogIzU3RDQ2NkZGO1xuJGNvbG9yLWFjY2VudC1ncmVlbi0wOiAjRTZGOUU4RkY7XG4kY29sb3ItYWNjZW50LXllbGxvdy01MDogI0ZGQzQ2OUZGO1xuJGNvbG9yLWFjY2VudC15ZWxsb3ctMDogI0ZGRjZFOUZGO1xuJGNhbGVuZGFyLXRleHQtcHJpbWFyeTogIzAwMDAwMEQ5O1xuJGNhbGVuZGFyLXRleHQtdGVydGlhcnk6ICMwMDAwMDA2NjtcbiRjYWxlbmRhci1iYWNrZ3JvdW5kOiAjMDAwMDAwMDg7XG5cbi8qIEFsaWFzZXMgICovXG4kdGV4dC10ZXh0LXByaW1hcnk6ICRjb2xvci1uZXV0cmFsLTgwO1xuJHRleHQtdGV4dC1zZWNvbmRhcnk6ICRjb2xvci1uZXV0cmFsLTYwO1xuJHRleHQtdGV4dC10ZXJ0aWFyeTogJGNvbG9yLW5ldXRyYWwtNTA7XG4kdGV4dC10ZXh0LWhlYWRpbmc6ICRjb2xvci1uZXV0cmFsLTkwO1xuJHRleHQtdGV4dC10aXRsZTogJGNvbG9yLW5ldXRyYWwtMTAwO1xuJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLW9yYW5nZS01MDtcbiRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtMDtcbiRmaWVsZHMtZmllbGQtYm9yZGVyOiAkY29sb3ItbmV1dHJhbC0zMDtcbiRzdXJmYWNlLXN1cmZhY2UtYm9yZGVyOiAkY29sb3ItbmV1dHJhbC0xMDtcbiRzdXJmYWNlLXN1cmZhY2UtZGl2aWRlcjogJGNvbG9yLW5ldXRyYWwtNTtcbiRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtLWhvdmVyOiAkY29sb3ItYnJhbmQtb3JhbmdlLTcwO1xuJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLS1ob3ZlcjogJGNvbG9yLWJyYW5kLWJsdWUtNzA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyOiAkY29sb3ItbmV1dHJhbC0zMDtcbiRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LXRleHQ6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS10ZXh0OiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0OiAkY29sb3ItbmV1dHJhbC02MDtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXItLWhvdmVyOiAkY29sb3ItbmV1dHJhbC02MDtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1iYWNrZ3JvdW5kLS0taG92ZXI6ICRjb2xvci1uZXV0cmFsLTM7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dC0taG92ZXI6ICRjb2xvci1uZXV0cmFsLTgwO1xuJGJ1dHRvbnMtYnV0dG9uLXdwLXByaW1hcnktYmFja2dyb3VuZDogIzIyNzFCMTtcbiR0ZXh0LXRleHQtbGluazogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kdGV4dC10ZXh0LXN1Y2Nlc3M6ICRjb2xvci11dGlsaXR5LWdyZWVuLTUwO1xuJHRleHQtdGV4dC1lcnJvcjogJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuJHRleHQtdGV4dC13YXJuaW5nOiAkY29sb3ItdXRpbGl0eS15ZWxsb3ctNTA7XG4kZmllbGRzLWZpZWxkLWJvcmRlci0tZm9jdXM6ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuJGZpZWxkcy1maWVsZC1ib3JkZXItZXJyb3I6ICRjb2xvci11dGlsaXR5LXJlZC01MDtcbiRmaWVsZHMtZmllbGQtY2hvaWNlLW9mZjogJGNvbG9yLW5ldXRyYWwtMzA7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vbjogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kYmFkZ2VzLWJhZGdlLW9yYW5nZS10ZXh0OiAkY29sb3ItYnJhbmQtb3JhbmdlLTMwO1xuJGJhZGdlcy1iYWRnZS1vcmFuZ2UtYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLW9yYW5nZS0wO1xuJGJhZGdlcy1iYWRnZS1ibHVlLWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0wO1xuJGJhZGdlcy1iYWRnZS1ibHVlLXRleHQ6ICRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0zMDtcbiRiYWRnZXMtYmFkZ2UtZ3JlZW4tYmFja2dyb3VuZDogJGNvbG9yLXV0aWxpdHktZ3JlZW4tMDtcbiRiYWRnZXMtYmFkZ2UtZ3JlZW4tdGV4dDogJGNvbG9yLXV0aWxpdHktZ3JlZW4tMzA7XG4kYmFkZ2VzLWJhZGdlLXJlZC1iYWNrZ3JvdW5kOiAkY29sb3ItdXRpbGl0eS1yZWQtMDtcbiRiYWRnZXMtYmFkZ2UtcmVkLXRleHQ6ICRjb2xvci11dGlsaXR5LXJlZC0zMDtcbiRiYWRnZXMtYmFkZ2UtbmV1dHJhbC1iYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC01O1xuJGJhZGdlcy1iYWRnZS1uZXV0cmFsLXRleHQ6ICRjb2xvci1uZXV0cmFsLTMwO1xuJHJhZGl1cy1yYWRpdXMtYnV0dG9uOiAkcmFkaXVzLW1kO1xuJHJhZGl1cy1yYWRpdXMtZmllbGQ6ICRyYWRpdXMtbWQ7XG4kcmFkaXVzLXJhZGl1cy1iYWRnZTogJHJhZGl1cy1zbTtcbiRzdXJmYWNlLXN1cmZhY2UtYm9yZGVyLXByaW1hcnk6ICRjb2xvci1icmFuZC1vcmFuZ2UtNTA7XG4kc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLTM7XG4kc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuJHRleHQtdGV4dC1pY29uOiAkY29sb3ItbmV1dHJhbC0yMDtcbiRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC1saWdodDogJGNvbG9yLXV0aWxpdHktZ3JheS0wO1xuJGZpZWxkcy1maWVsZC1jaG9pY2Utb2ZmLS1ob3ZlcjogJGNvbG9yLW5ldXRyYWwtNTA7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI6ICRjb2xvci1icmFuZC1ibHVlLTcwO1xuXG4vLyBGb250IHNpemVzLlxuJHRleHQtZm9udC1zaXplLTJ4czogMTFweDtcbiR0ZXh0LWZvbnQtc2l6ZS14czogMTJweDtcbiR0ZXh0LWZvbnQtc2l6ZS1zczogMTNweDtcbiR0ZXh0LWZvbnQtc2l6ZS1zOiAxNHB4O1xuJHRleHQtZm9udC1zaXplLW06IDE2cHg7XG4kdGV4dC1mb250LXNpemUtbDogMThweDtcbiR0ZXh0LWZvbnQtc2l6ZS1sbDogMjBweDtcbiR0ZXh0LWZvbnQtc2l6ZS1sbGw6IDIycHg7XG4kdGV4dC1mb250LXNpemUteGw6IDI0cHg7XG4kdGV4dC1mb250LXNpemUteHhsOiAyOHB4O1xuXG4vLyBUcmFuc2l0aW9ucy5cbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLXNsb3dlc3Q6IC41MHM7XG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1zbG93ZXI6IC40MHM7XG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1zbG93OiAuMjVzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tbm9ybWFsOiAuMTVzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tZmFzdDogLjA1cztcbiIsIi8vIEdlbmVyYWwgYWRtaW4gc3R5bGluZy5cblxuLy8gQ29yZSBhZG1pbiBzdHlsZSBvdmVycmlkZXMuXG4jd3Bjb250ZW50IHtcblx0cGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXHRcdHBhZGRpbmctdG9wOiA0NnB4O1xuXHR9XG59XG5cbiN3cGJvZHkge1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHR9XG59XG5cbi8vIEFkbWluIHdyYXAgLSBjb250YWlucyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgaGVhZGVyLlxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLXdyYXAge1xuXHRtYXJnaW46IDA7XG5cblx0Lm5vdGljZSB7XG5cdFx0bWFyZ2luOiAwIDAgMTVweDtcblx0fVxufVxuXG4vLyBBZG1pbiBjb250ZW50LlxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLWNvbnRlbnQge1xuXHRwYWRkaW5nOiAkc3BhY2luZy1sZyAkc3BhY2luZy1sZyAwICRzcGFjaW5nLWxnO1xuXG5cdCosXG5cdCo6OmJlZm9yZSxcblx0Kjo6YWZ0ZXIge1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdH1cblxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogXCIgXCI7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHRjbGVhcjogYm90aDtcblx0XHRjb250ZW50OiBcIiBcIjtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0fVxuXG5cdGhyIHtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNlNGU0ZTQ7XG5cdFx0bWFyZ2luOiAyMHB4IDA7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0fVxuXG5cdGNvZGUge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRwYWRkaW5nOiAwIDZweDtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtc2Vjb25kYXJ5O1xuXHR9XG5cblx0c3Ryb25nIHtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHR9XG5cblx0cCB7XG5cdFx0Ji5zdWJtaXQge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogJHNwYWNpbmctbGcgMCAyMHB4IDA7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2U0ZTRlNDtcblxuXHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci1hZG1pbi1jb250ZW50X19zZXR0aW5ncy1mb3JtIHtcblx0XHRwYWRkaW5nLXRvcDogMTVweDtcblx0fVxufVxuXG4vLyBMZWdhY3kgYWRkb24gZml4ZXMuXG4uc3VnYXItY2FsZW5kYXItYWRtaW4tY29udGVudCB7XG5cdC5mb3JtLXRhYmxlOmZpcnN0LWNoaWxkIHtcblx0XHR0Ym9keSB7XG5cdFx0XHR0cjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdHRoLFxuXHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRoIHtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMnB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aDMge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8vIEhlYWRlciBzdHlsZXMuXG5cbiNzdWdhci1jYWxlbmRhci1oZWFkZXItdGVtcCB7XG5cdG1hcmdpbjogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IC0xcHg7XG5cdGxlZnQ6IDIwcHg7XG5cdHJpZ2h0OiAwO1xuXHR6LWluZGV4OiA5OTtcblxuXHRAaW5jbHVkZSBtZWRpYShcIjw2MDBweFwiKSB7XG5cdFx0cGFkZGluZy10b3A6IDUwcHg7XG5cdH1cbn1cblxuI3N1Z2FyLWNhbGVuZGFyLWhlYWRlciB7XG5cdHBhZGRpbmc6IDIwcHggMzBweDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzdXJmYWNlLXN1cmZhY2UtZGl2aWRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdG1heC13aWR0aDogMjk2cHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcblx0XHRcdG1heC13aWR0aDogMjAwcHg7XG5cdFx0fVxuXHR9XG5cblx0YSNzdWdhci1jYWxlbmRhci1oZWFkZXItaGVscCB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtaWNvbjtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxM3B4O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRtYXNrLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcXVlc3Rpb24tY2lyY2xlLnN2Z1wiKTtcblx0XHRcdG1hc2stcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC10ZXh0LWljb247XG5cdFx0XHR3aWR0aDogMTZweDtcblx0XHRcdGhlaWdodDogMTZweDtcblx0XHRcdG1hcmdpbi1yaWdodDogNnB4O1xuXHRcdH1cblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRjb2xvcjogJHRleHQtdGV4dC10ZXJ0aWFyeTtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC10ZXh0LXRlcnRpYXJ5O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcblx0I3N1Z2FyLWNhbGVuZGFyLW5vdGljZS1iYXIgKyAjc3VnYXItY2FsZW5kYXItaGVhZGVyLXRlbXAge1xuXHRcdHRvcDogMzRweDtcblx0fVxufVxuIiwiLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYyLjAuMFxuLy9cbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgS2l0dHkgR2lyYXVkZWwgKEBraXR0eWdpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcbkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuQHVzZSAnc2FzczptYXRoJztcbkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ3Nhc3M6bGlzdCc7XG5AdXNlICdzYXNzOnN0cmluZyc7XG5AdXNlICdzYXNzOm1ldGEnO1xuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiAzMjBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnZGVza3RvcCc6IDEwMjRweCxcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcbi8vLyAgKTtcbi8vL1xuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcbiAgJ3ByaW50JzogJ3ByaW50JyxcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAncmV0aW5hMngnOlxuICAgICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXG4gICdyZXRpbmEzeCc6XG4gICAgJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJyxcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XG4vLy9cbiR1bml0LWludGVydmFsczogKFxuICAncHgnOiAxLFxuICAnZW0nOiAwLjAxLFxuICAncmVtJzogMC4xLFxuICAnJzogMCxcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xuICBAaWYgbWV0YS5mZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XG4gICAgQGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAkbWVzc2FnZTtcbiAgICAkXzogbm9vcCgpO1xuICB9XG5cbiAgQHJldHVybiAkbWVzc2FnZTtcbn1cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7XG4gIH1cbn1cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge1xufVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XG5cbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHtcbiAgICB9XG4gIH1cblxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcbiAgICBAaWYgbm90IG1hcC5oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xuXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcbiAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKVxuICAgICAge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgbm90IGxpc3QuaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XG4gICAgQGlmIHN0cmluZy5pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XG59XG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0cmluZy5pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0cmluZy5zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItdHJpbSgkcGFyc2VkLWRpbWVuc2lvbik7XG4gICRkaW1lbnNpb246ICd3aWR0aCc7XG5cbiAgQGlmIHN0cmluZy5sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XG4gIH1cblxuICBAcmV0dXJuICRkaW1lbnNpb247XG59XG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGxpc3QuaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xufVxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0cmluZy5zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyaW5nLmxlbmd0aCgkb3BlcmF0b3IpKTtcbiAgJHRyaW1tZWRWYWx1ZTogc3RyLXRyaW0oJHZhbHVlKTtcblxuICBAaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdHJpbW1lZFZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJHRyaW1tZWRWYWx1ZSk7XG4gIH0gQGVsc2Uge1xuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR0cmltbWVkVmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAuZ2V0KCR1bml0LWludGVydmFscywgbWF0aC51bml0KCR2YWx1ZSkpO1xuXG4gIEBpZiBub3QgJGludGVydmFsIHtcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gICAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7bWF0aC51bml0KCR2YWx1ZSl9YC4nKTtcbiAgfVxuXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy9cbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2Vcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxuLy8vXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gIEBpZiBtYXAuaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XG4gICAgQHJldHVybiBtYXAuZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xuICB9XG5cbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG5cbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XG59XG5cbi8vL1xuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2Vcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxuLy8vXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGlzdC5sZW5ndGgoJGxpc3QpKSB7XG4gIEBpZiBsaXN0Lmxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogbGlzdC5hcHBlbmQoJHJlc3VsdCwgbGlzdC5udGgoJGxpc3QsICRpKSwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9IEBlbHNlIGlmIG1ldGEudHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6IChcbiAgICAnMCc6IDAsXG4gICAgJzEnOiAxLFxuICAgICcyJzogMixcbiAgICAnMyc6IDMsXG4gICAgJzQnOiA0LFxuICAgICc1JzogNSxcbiAgICAnNic6IDYsXG4gICAgJzcnOiA3LFxuICAgICc4JzogOCxcbiAgICAnOSc6IDksXG4gICk7XG5cbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcbiAgICAkdmFsdWU6IHN0cmluZy5zbGljZSgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHJpbmcubGVuZ3RoKCR2YWx1ZSkge1xuICAgICRjaGFyYWN0ZXI6IHN0cmluZy5zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cbiAgICBAaWYgbm90KGxpc3QuaW5kZXgobWFwLmtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0cmluZy5zbGljZSgkdmFsdWUsICRpKSk7XG4gICAgfVxuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcbiAgICAgICRkaWdpdHM6IDE7XG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLmdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWF0aC5kaXYobWFwLmdldCgkbnVtYmVycywgJGNoYXJhY3RlciksICRkaWdpdHMpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG5cbi8vL1xuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxuLy8vXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcbiAgJHVuaXRzOiAoXG4gICAgJ3B4JzogMXB4LFxuICAgICdjbSc6IDFjbSxcbiAgICAnbW0nOiAxbW0sXG4gICAgJyUnOiAxJSxcbiAgICAnY2gnOiAxY2gsXG4gICAgJ3BjJzogMXBjLFxuICAgICdpbic6IDFpbixcbiAgICAnZW0nOiAxZW0sXG4gICAgJ3JlbSc6IDFyZW0sXG4gICAgJ3B0JzogMXB0LFxuICAgICdleCc6IDFleCxcbiAgICAndncnOiAxdncsXG4gICAgJ3ZoJzogMXZoLFxuICAgICd2bWluJzogMXZtaW4sXG4gICAgJ3ZtYXgnOiAxdm1heCxcbiAgKTtcblxuICBAaWYgbm90IGxpc3QuaW5kZXgobWFwLmtleXMoJHVuaXRzKSwgJHVuaXQpIHtcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLmdldCgkdW5pdHMsICR1bml0KTtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBKYWNrIE1jTmljb2xcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gVHJpbXMgYSBzdHJpbmcgb2YgbGVhZGluZyBhbmQgdHJhaWxpbmcgc3BhY2VzXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIFZhbHVlIHRvIGJlIHRyaW1tZWRcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ31cbi8vL1xuXG5AZnVuY3Rpb24gc3RyLXRyaW0oJHN0cmluZykge1xuICBAaWYgKHN0ci1zbGljZSgkc3RyaW5nLCAxLCAxKSA9PSAnICcpIHtcbiAgICBAcmV0dXJuIHN0ci10cmltKHN0ci1zbGljZSgkc3RyaW5nLCAyKSk7XG4gIH0gQGVsc2UgaWYgKHN0ci1zbGljZSgkc3RyaW5nLCBzdHItbGVuZ3RoKCRzdHJpbmcpLCAtMSkgPT0gJyAnKSB7XG4gICAgQHJldHVybiBzdHItdHJpbShzdHItc2xpY2UoJHN0cmluZywgMSwgLTIpKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkc3RyaW5nO1xuICB9XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiBtYXAubWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLm1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xufVxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsaXN0Lmxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcbiAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSlcbiAge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGlzdC5sZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xuICAgIEBtZWRpYSAje3N0cmluZy51bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obGlzdC5udGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXG4gICAgICAkc2xpY2VkLWNvbmRpdGlvbnM6IHNsaWNlKCRjb25kaXRpb25zLCAyKTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRzbGljZWQtY29uZGl0aW9ucy4uLikge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbnMuXG4uc3VnYXItY2FsZW5kYXItYnRuIHtcblx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtcmFkaXVzLWJ1dHRvbjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbjogMDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cdHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1mYXN0IGVhc2Utb3V0O1xuXG5cdCYuaW5hY3RpdmUge1xuXHRcdGN1cnNvcjogbm8tZHJvcDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLWJsb2NrIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXNtIHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsaW5lLWhlaWdodDogMjhweDtcblx0cGFkZGluZzogMCAxMHB4O1xuXHRoZWlnaHQ6IDMwcHg7XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tbWQge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGxpbmUtaGVpZ2h0OiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRwYWRkaW5nOiAxMHB4IDE1cHg7XG5cdG1pbi1oZWlnaHQ6IDM2cHg7XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tbGcge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHBhZGRpbmc6IDExcHggMTdweDtcblx0bWluLWhlaWdodDogNDRweDtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1wcmltYXJ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDtcblx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1zZWNvbmRhcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG5cdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0b3V0bGluZTogMDtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXRlcnRpYXJ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQ7XG5cdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlcjtcblx0Y29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0ICFpbXBvcnRhbnQ7XG5cblx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQtLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXItLWhvdmVyO1xuXHRcdGNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dC0taG92ZXIgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyLS1ob3Zlcjtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLWdyZWVuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci11dGlsaXR5LWdyZWVuLTUwO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tcmVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG4iLCIvLyBQYWdlIHN1YmhlYWRlci5cbi5zdWdhci1jYWxlbmRhci1hZG1pbi1zdWJoZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGhlaWdodDogNjBweDtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAxNXB4ICRzcGFjaW5nLWxnO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA3KTtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHQqLFxuXHQqOjpiZWZvcmUsXG5cdCo6OmFmdGVyIHtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cblx0aDQge1xuXHRcdGZvbnQtc2l6ZTogMjJweDtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdGNvbG9yOiAkdGV4dC10ZXh0LXRpdGxlO1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci1idG4tbmV3LWl0ZW0ge1xuXHRcdG1hcmdpbi1sZWZ0OiAkc3BhY2luZy1tZDtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0bWFzazogdXJsKC4uL2ltYWdlcy9pY29ucy9hZGQuc3ZnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdFx0d2lkdGg6IDExcHg7XG5cdFx0XHRoZWlnaHQ6IDExcHg7XG5cdFx0XHRtYXJnaW46IDAgNnB4IDAgMDtcblx0XHR9XG5cdH1cbn1cbiIsIkBpbXBvcnQgJ2FkbWluL3ZhcmlhYmxlcyc7XG5cbkBpbXBvcnQgJ3ZlbmRvci9pbmNsdWRlLW1lZGlhJztcblxuQGltcG9ydCBcImFkbWluL21peGluc1wiO1xuQGltcG9ydCAnYWRtaW4vZ2VuZXJhbCc7XG5AaW1wb3J0ICdhZG1pbi9oZWFkZXInO1xuQGltcG9ydCAnYWRtaW4vYnV0dG9ucyc7XG5AaW1wb3J0ICdhZG1pbi9zdWJoZWFkZXInO1xuXG4ud3JhcCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogJHNwYWNpbmctbGcgJHNwYWNpbmctbGcgMDtcblxuXHRoMSB7XG5cdFx0Ji53cC1oZWFkaW5nLWlubGluZSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdGEge1xuXHRcdCYucGFnZS10aXRsZS1hY3Rpb24ge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQjY29sLWxlZnQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQjY29sLXJpZ2h0IHtcblx0XHRmbG9hdDogbm9uZTtcblx0XHR3aWR0aDogYXV0bztcblxuXHRcdC5jb2wtd3JhcCB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHQudGFibGVuYXYge1xuXHRcdFx0XHQub25lLXBhZ2Uge1xuXHRcdFx0XHRcdC5wYWdpbmF0aW9uLWxpbmtzIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LndwLWxpc3QtdGFibGUge1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLW1kO1xuXHRcdFx0XHRib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMDcpICFpbXBvcnRhbnQ7XG5cblx0XHRcdFx0Ji5zdHJpcGVkIHtcblx0XHRcdFx0XHQ+IHRib2R5IHtcblx0XHRcdFx0XHRcdHRyIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdD4gdHI6bnRoLWNoaWxkKG9kZCBvZiA6bm90KC5zdWdhci1jYWxlbmRhci1jYWxlbmRhci10YWJsZS1mZWVkcy1yb3cpKSB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmNmY3Zjc7XG5cblx0XHRcdFx0XHRcdFx0JiArIC5zdWdhci1jYWxlbmRhci1jYWxlbmRhci10YWJsZS1mZWVkcy1yb3cge1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmNmY3Zjc7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0ciB7XG5cdFx0XHRcdFx0dGgge1xuXHRcdFx0XHRcdFx0JiN0aW1lem9uZSB7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAyMDBweDtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0JiNjb2xvciB7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDBweDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0XHRpIHtcblx0XHRcdFx0XHRcdFx0Ji50ZXJtLWNvbG9yIHtcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogJHNwYWNpbmctbWQ7XG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAkc3BhY2luZy1tZDtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRcdFx0XHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBGaXggdGhlIHdpZHRoIG9mIHRoZSBFdmVudHMgdGFibGUgY29sdW1uLlxuXHQuZml4ZWQgLmNvbHVtbi1wb3N0cyB7XG5cdFx0d2lkdGg6IDEwMHB4O1xuXHR9XG59XG4iXX0= */
  • sugar-calendar-lite/trunk/assets/css/admin-calendars.min.css

    r3095175 r3118281  
    1 #wpcontent{padding-left:0 !important;position:relative}@media screen and (max-width: 600px){#wpcontent{padding-top:46px}}@media screen and (max-width: 600px){#wpbody{padding-top:0}}.sugar-calendar-admin-wrap{margin:0}.sugar-calendar-admin-wrap .notice{margin:0 0 30px}.sugar-calendar-admin-content{padding:30px 30px 0 30px}.sugar-calendar-admin-content *,.sugar-calendar-admin-content *::before,.sugar-calendar-admin-content *::after{box-sizing:border-box}.sugar-calendar-admin-content:before{content:" ";display:table}.sugar-calendar-admin-content:after{clear:both;content:" ";display:table}.sugar-calendar-admin-content hr{border:none;border-top:1px solid #e4e4e4;margin:20px 0;background:none}.sugar-calendar-admin-content code{display:inline-block;padding:0 6px;font-size:12px;line-height:20px;color:#50575e}.sugar-calendar-admin-content strong{font-weight:500}.sugar-calendar-admin-content p.submit{margin:0;padding:30px 0 20px 0;border-top:1px solid #e4e4e4}.sugar-calendar-admin-content p.submit:last-of-type{padding-bottom:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th,.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{vertical-align:top}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th{padding-top:2px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{padding-top:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child h3{margin-top:0}#sugar-calendar-header-temp{margin:0;position:absolute;top:-1px;left:20px;right:0;z-index:99}@media(max-width: 599px){#sugar-calendar-header-temp{padding-top:50px}}#sugar-calendar-header{padding:20px 30px;box-sizing:border-box;border-bottom:1px solid #dcdcde;background-color:#fff;display:flex;align-items:center}#sugar-calendar-header img{display:block;margin:0;max-width:296px}@media(max-width: 768px){#sugar-calendar-header img{max-width:200px}}#sugar-calendar-header a#sugar-calendar-header-help{margin-left:auto;color:#a7aaad;text-decoration:none;font-size:13px;line-height:13px;display:flex;align-items:center}#sugar-calendar-header a#sugar-calendar-header-help:before{content:"";mask-image:url("../images/icons/question-circle.svg");mask-position:center center;background-color:#a7aaad;width:16px;height:16px;margin-right:6px}#sugar-calendar-header a#sugar-calendar-header-help:hover,#sugar-calendar-header a#sugar-calendar-header-help:focus{color:#646970}#sugar-calendar-header a#sugar-calendar-header-help:hover:before,#sugar-calendar-header a#sugar-calendar-header-help:focus:before{background-color:#646970}@media screen and (min-width: 1024px){#sugar-calendar-notice-bar+#sugar-calendar-header-temp{top:34px}}.sugar-calendar-btn{border-width:1px;border-style:solid;border-radius:4px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;box-shadow:none;transition:all .05s ease-out}.sugar-calendar-btn.inactive{cursor:no-drop;pointer-events:none;box-shadow:none;opacity:.5}.sugar-calendar-btn-block{display:block;width:100%}.sugar-calendar-btn-sm{font-size:13px;font-weight:500;line-height:28px;padding:0 10px;height:30px}.sugar-calendar-btn-md{font-size:14px;line-height:14px;font-weight:500;padding:10px 15px;min-height:36px}.sugar-calendar-btn-lg{font-size:16px;font-weight:500;padding:11px 17px;min-height:44px}.sugar-calendar-btn-primary{background-color:#ff8845;border-color:#ff8845;color:#fff !important}.sugar-calendar-btn-primary:hover,.sugar-calendar-btn-primary:active,.sugar-calendar-btn-primary:focus{background-color:#cb6d37;border-color:#cb6d37;color:#fff !important}.sugar-calendar-btn-primary:focus{box-shadow:0 0 0 2px #cb6d37;border-color:#fff;outline:0}.sugar-calendar-btn-secondary{background-color:#2271b1;border-color:#2271b1;color:#fff !important}.sugar-calendar-btn-secondary:hover,.sugar-calendar-btn-secondary:focus{background-color:#0a4b78;border-color:#0a4b78;color:#fff !important}.sugar-calendar-btn-secondary:focus{box-shadow:0 0 0 2px #0a4b78;border-color:#fff;outline:0}.sugar-calendar-btn-tertiary{background-color:#f6f7f7;border-color:#8c8f94;color:#50575e !important}.sugar-calendar-btn-tertiary:hover,.sugar-calendar-btn-tertiary:focus{background-color:#f0f0f1;border-color:#50575e;color:#2c3338 !important}.sugar-calendar-btn-tertiary:focus{box-shadow:0 0 0 1px #50575e}.sugar-calendar-btn-green{background-color:#008a20;border:1px solid #008a20;color:#fff !important}.sugar-calendar-btn-green:focus{box-shadow:0 0 0 2px #008a20;border-color:#fff;outline:0}.sugar-calendar-btn-red{background-color:#d63638;border:1px solid #d63638;color:#fff !important}.sugar-calendar-btn-red:focus{box-shadow:0 0 0 2px #d63638;border-color:#fff;outline:0}.sugar-calendar-admin-subheader{display:flex;flex-wrap:wrap;align-items:center;height:60px;margin:0;padding:15px 30px;background-color:#fff;list-style:none;font-size:14px;font-weight:400;box-shadow:0 2px 4px 0 rgba(0,0,0,.07);box-sizing:border-box}.sugar-calendar-admin-subheader *,.sugar-calendar-admin-subheader *::before,.sugar-calendar-admin-subheader *::after{box-sizing:border-box}.sugar-calendar-admin-subheader h4{font-size:22px;font-weight:500;line-height:20px;color:#101517;margin:0}.sugar-calendar-admin-subheader .sugar-calendar-btn-new-item{margin-left:20px}.sugar-calendar-admin-subheader .sugar-calendar-btn-new-item::before{content:"";display:inline-block;mask:url(../images/icons/add.svg) center center no-repeat;background-color:#fff;width:11px;height:11px;margin:0 6px 0 0}.wrap{margin:0;padding:30px 30px 0}.wrap h1.wp-heading-inline{display:none}.wrap a.page-title-action{display:none}.wrap #col-left{display:none}.wrap #col-right{float:none;width:auto}.wrap #col-right .col-wrap{padding:0}.wrap #col-right .col-wrap .tablenav .one-page .pagination-links{display:inline-block}.wrap #col-right .col-wrap .wp-list-table{border-radius:4px;box-shadow:0 2px 4px 0 rgba(0,0,0,.07) !important}.wrap #col-right .col-wrap .wp-list-table.striped>tbody tr{background-color:#fff}.wrap #col-right .col-wrap .wp-list-table.striped>tbody>tr:nth-child(odd of :not(.sugar-calendar-calendar-table-feeds-row)){background-color:#f6f7f7}.wrap #col-right .col-wrap .wp-list-table.striped>tbody>tr:nth-child(odd of :not(.sugar-calendar-calendar-table-feeds-row))+.sugar-calendar-calendar-table-feeds-row{background-color:#f6f7f7}.wrap #col-right .col-wrap .wp-list-table tr th#timezone{width:200px}.wrap #col-right .col-wrap .wp-list-table tr th#color{width:100px}.wrap #col-right .col-wrap .wp-list-table tr td i.term-color{display:block;width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}.wrap .fixed .column-posts{width:100px}
     1#wpcontent{padding-left:0 !important;position:relative}@media screen and (max-width: 600px){#wpcontent{padding-top:46px}}@media screen and (max-width: 600px){#wpbody{padding-top:0}}.sugar-calendar-admin-wrap{margin:0}.sugar-calendar-admin-wrap .notice{margin:0 0 15px}.sugar-calendar-admin-content{padding:30px 30px 0 30px}.sugar-calendar-admin-content *,.sugar-calendar-admin-content *::before,.sugar-calendar-admin-content *::after{box-sizing:border-box}.sugar-calendar-admin-content:before{content:" ";display:table}.sugar-calendar-admin-content:after{clear:both;content:" ";display:table}.sugar-calendar-admin-content hr{border:none;border-top:1px solid #e4e4e4;margin:20px 0;background:none}.sugar-calendar-admin-content code{display:inline-block;padding:0 6px;font-size:12px;line-height:20px;color:#50575e}.sugar-calendar-admin-content strong{font-weight:500}.sugar-calendar-admin-content p.submit{margin:0;padding:30px 0 20px 0;border-top:1px solid #e4e4e4}.sugar-calendar-admin-content p.submit:last-of-type{padding-bottom:0}.sugar-calendar-admin-content .sugar-calendar-admin-content__settings-form{padding-top:15px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th,.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{vertical-align:top}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th{padding-top:2px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{padding-top:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child h3{margin-top:0}#sugar-calendar-header-temp{margin:0;position:absolute;top:-1px;left:20px;right:0;z-index:99}@media(max-width: 599px){#sugar-calendar-header-temp{padding-top:50px}}#sugar-calendar-header{padding:20px 30px;box-sizing:border-box;border-bottom:1px solid #dcdcde;background-color:#fff;display:flex;align-items:center}#sugar-calendar-header img{display:block;margin:0;max-width:296px}@media(max-width: 768px){#sugar-calendar-header img{max-width:200px}}#sugar-calendar-header a#sugar-calendar-header-help{margin-left:auto;color:#a7aaad;text-decoration:none;font-size:13px;line-height:13px;display:flex;align-items:center}#sugar-calendar-header a#sugar-calendar-header-help:before{content:"";mask-image:url("../images/icons/question-circle.svg");mask-position:center center;background-color:#a7aaad;width:16px;height:16px;margin-right:6px}#sugar-calendar-header a#sugar-calendar-header-help:hover,#sugar-calendar-header a#sugar-calendar-header-help:focus{color:#646970}#sugar-calendar-header a#sugar-calendar-header-help:hover:before,#sugar-calendar-header a#sugar-calendar-header-help:focus:before{background-color:#646970}@media screen and (min-width: 1024px){#sugar-calendar-notice-bar+#sugar-calendar-header-temp{top:34px}}.sugar-calendar-btn{border-width:1px;border-style:solid;border-radius:4px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;box-shadow:none;transition:all .05s ease-out}.sugar-calendar-btn.inactive{cursor:no-drop;pointer-events:none;box-shadow:none;opacity:.5}.sugar-calendar-btn-block{display:block;width:100%}.sugar-calendar-btn-sm{font-size:13px;font-weight:500;line-height:28px;padding:0 10px;height:30px}.sugar-calendar-btn-md{font-size:14px;line-height:14px;font-weight:500;padding:10px 15px;min-height:36px}.sugar-calendar-btn-lg{font-size:16px;font-weight:500;padding:11px 17px;min-height:44px}.sugar-calendar-btn-primary{background-color:#ff8845;border-color:#ff8845;color:#fff !important}.sugar-calendar-btn-primary:hover,.sugar-calendar-btn-primary:active,.sugar-calendar-btn-primary:focus{background-color:#cb6d37;border-color:#cb6d37;color:#fff !important}.sugar-calendar-btn-primary:focus{box-shadow:0 0 0 2px #cb6d37;border-color:#fff;outline:0}.sugar-calendar-btn-secondary{background-color:#2271b1;border-color:#2271b1;color:#fff !important}.sugar-calendar-btn-secondary:hover,.sugar-calendar-btn-secondary:focus{background-color:#0a4b78;border-color:#0a4b78;color:#fff !important}.sugar-calendar-btn-secondary:focus{box-shadow:0 0 0 2px #0a4b78;border-color:#fff;outline:0}.sugar-calendar-btn-tertiary{background-color:#f6f7f7;border-color:#8c8f94;color:#50575e !important}.sugar-calendar-btn-tertiary:hover,.sugar-calendar-btn-tertiary:focus{background-color:#f0f0f1;border-color:#50575e;color:#2c3338 !important}.sugar-calendar-btn-tertiary:focus{box-shadow:0 0 0 1px #50575e}.sugar-calendar-btn-green{background-color:#008a20;border:1px solid #008a20;color:#fff !important}.sugar-calendar-btn-green:focus{box-shadow:0 0 0 2px #008a20;border-color:#fff;outline:0}.sugar-calendar-btn-red{background-color:#d63638;border:1px solid #d63638;color:#fff !important}.sugar-calendar-btn-red:focus{box-shadow:0 0 0 2px #d63638;border-color:#fff;outline:0}.sugar-calendar-admin-subheader{display:flex;flex-wrap:wrap;align-items:center;height:60px;margin:0;padding:15px 30px;background-color:#fff;list-style:none;font-size:14px;font-weight:400;box-shadow:0 2px 4px 0 rgba(0,0,0,.07);box-sizing:border-box}.sugar-calendar-admin-subheader *,.sugar-calendar-admin-subheader *::before,.sugar-calendar-admin-subheader *::after{box-sizing:border-box}.sugar-calendar-admin-subheader h4{font-size:22px;font-weight:500;line-height:20px;color:#101517;margin:0}.sugar-calendar-admin-subheader .sugar-calendar-btn-new-item{margin-left:20px}.sugar-calendar-admin-subheader .sugar-calendar-btn-new-item::before{content:"";display:inline-block;mask:url(../images/icons/add.svg) center center no-repeat;background-color:#fff;width:11px;height:11px;margin:0 6px 0 0}.wrap{margin:0;padding:30px 30px 0}.wrap h1.wp-heading-inline{display:none}.wrap a.page-title-action{display:none}.wrap #col-left{display:none}.wrap #col-right{float:none;width:auto}.wrap #col-right .col-wrap{padding:0}.wrap #col-right .col-wrap .tablenav .one-page .pagination-links{display:inline-block}.wrap #col-right .col-wrap .wp-list-table{border-radius:4px;box-shadow:0 2px 4px 0 rgba(0,0,0,.07) !important}.wrap #col-right .col-wrap .wp-list-table.striped>tbody tr{background-color:#fff}.wrap #col-right .col-wrap .wp-list-table.striped>tbody>tr:nth-child(odd of :not(.sugar-calendar-calendar-table-feeds-row)){background-color:#f6f7f7}.wrap #col-right .col-wrap .wp-list-table.striped>tbody>tr:nth-child(odd of :not(.sugar-calendar-calendar-table-feeds-row))+.sugar-calendar-calendar-table-feeds-row{background-color:#f6f7f7}.wrap #col-right .col-wrap .wp-list-table tr th#timezone{width:200px}.wrap #col-right .col-wrap .wp-list-table tr th#color{width:100px}.wrap #col-right .col-wrap .wp-list-table tr td i.term-color{display:block;width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}.wrap .fixed .column-posts{width:100px}
  • sugar-calendar-lite/trunk/assets/css/admin-event.css

    r3095175 r3118281  
    2121}
    2222.sugar-calendar-admin-wrap .notice {
    23   margin: 0 0 30px;
     23  margin: 0 0 15px;
    2424}
    2525
     
    6464.sugar-calendar-admin-content p.submit:last-of-type {
    6565  padding-bottom: 0;
     66}
     67.sugar-calendar-admin-content .sugar-calendar-admin-content__settings-form {
     68  padding-top: 15px;
    6669}
    6770
     
    496499  box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.25);
    497500}
    498 /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3NzL2FkbWluL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19nZW5lcmFsLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9faGVhZGVyLnNjc3MiLCJhc3NldHMvc2Nzcy92ZW5kb3IvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19mb3Jtcy5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX21peGlucy5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX2J1dHRvbnMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19zdWJoZWFkZXIuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluLWV2ZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7QUE0REE7QUMzREE7RUFDQztFQUNBOztBQUVBO0VBSkQ7SUFLRTs7OztBQUtEO0VBREQ7SUFFRTs7OztBQUtGO0VBQ0M7O0FBRUE7RUFDQzs7O0FBS0Y7RUFDQzs7QUFFQTtBQUFBO0FBQUE7RUFHQzs7QUFHRDtFQUNDO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT0R6Q2lCOztBQzRDbEI7RUFDQzs7QUFJQTtFQUNDO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOzs7QUFZQTtBQUFBO0VBRUM7O0FBR0Q7RUFDQzs7QUFHRDtFQUNDOztBQUdEO0VBQ0M7OztBQ2xHTDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUN5bEJHO0VEL2xCSjtJQVNFOzs7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQSxrQkZZcUI7RUVYckI7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTs7QUN1a0JFO0VEMWtCSDtJQU1FOzs7QUFJRjtFQUNDO0VBQ0EsT0ZaaUI7RUVhakI7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBLGtCRnZCZ0I7RUV3QmhCO0VBQ0E7RUFDQTs7QUFHRDtFQUVDLE9GbENnQjs7QUVvQ2hCO0VBQ0Msa0JGckNlOzs7QUUyQ25CO0VBQ0M7SUFDQzs7O0FFbUVGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPSnRIa0I7RUl1SGxCO0VBQ0E7RUFDQTs7QUFFQTtFQ3JJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRGlJQztFQUVDO0VBQ0E7O0FBSUE7RUFDQyxrQkpySWU7O0FJMEloQjtFQUNDOztBQUtEO0VBQ0Msa0JKekprQjs7QUkySmxCO0VBQ0M7RUFDQTs7QUFLRDtFQUNDLGtCSmpLaUI7O0FJc0tsQjtFQUNDOztBQU1GO0VBQ0M7O0FBS0E7RUFDQzs7QUFNSjtBQUFBO0VBRUM7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7O0FBR0Q7RUFDQyxPSmpNaUI7RUlrTWpCLFdKbEdrQjtFSW1HbEI7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7QUFBQTtFQUVDOztBQUdEO0FBQUE7RUFFQzs7QUFHRDtFQUNDLGtCSmxOaUI7RUltTmpCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0MsWUpsTm1CO0VJbU5uQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlGO0FBQUE7QUFBQTtFQUdDOzs7QUUvUEY7RUFDQztFQUNBO0VBQ0EsZU5EVztFTUVYO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNDO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDLGtCTjFDdUI7RU0yQ3ZCLGNOM0N1QjtFTTRDdkI7O0FBRUE7RUFDQyxrQk45Q3NCO0VNK0N0QixjTi9Dc0I7RU1nRHRCOztBQUdEO0VBQ0M7RUFDQSxjTmpDb0I7RU1rQ3BCOzs7QUFJRjtFQUNDLGtCTjFEcUI7RU0yRHJCLGNOM0RxQjtFTTREckI7O0FBRUE7RUFDQyxrQk43RG9CO0VNOERwQixjTjlEb0I7RU0rRHBCOztBQUdEO0VBQ0M7RUFDQSxjTm5Eb0I7RU1vRHBCOzs7QUFJRjtFQUNDLGtCTjFEaUI7RU0yRGpCLGNOcEVrQjtFTXFFbEI7O0FBRUE7RUFDQyxrQk5oRWdCO0VNaUVoQixjTjNFaUI7RU00RWpCOztBQUdEO0VBQ0M7OztBQUlGO0VBQ0Msa0JON0V3QjtFTThFeEI7RUFDQTs7QUFFQTtFQUNDO0VBQ0EsY04vRW9CO0VNZ0ZwQjs7O0FBSUY7RUFDQyxrQk4zRnNCO0VNNEZ0QjtFQUNBOztBQUVBO0VBQ0M7RUFDQSxjTjNGb0I7RU00RnBCOzs7QUMxSEY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQlB1QnFCO0VPdEJyQjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUdDOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0EsT1BWa0I7RU9XbEI7O0FBR0Q7RUFDQyxhUHZCVzs7QU95Qlg7RUFDQztFQUNBO0VBQ0E7RUFDQSxrQlBMbUI7RU9NbkI7RUFDQTtFQUNBOzs7QUM1Qkg7RUFDQztFQUNBOztBQUdDO0VBQ0M7O0FBS0Q7RUFDQzs7QUFJRjtFQUNDOztBQUdDO0VBQ0M7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBSUY7RUFDQyxlUjNDUzs7QVE2Q1Q7RUFDQzs7QUFHRDtFQUNDOztBQUVBO0VBQ0M7O0FBSUY7RUFDQzs7QUFFQTtFQUNDOztBQUdDO0VBQ0M7RUFDQTtFQUNBOztBQUdDO0VBQ0M7RUFDQTs7QUFNSjtFQUNDO0VBQ0E7RUFDQSxrQlIzQ2lCO0VRNENqQjs7QUFHQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTs7QUFPRDtFQUNDO0VBQ0E7RUFDQSIsImZpbGUiOiJhc3NldHMvY3NzL2FkbWluLWV2ZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFkbWluIHZhcmlhYmxlcy5cblxuLyogVmFyaWFibGVzICAqL1xuJHJhZGl1cy1tZDogNHB4O1xuJHJhZGl1cy1sZzogNnB4O1xuJHJhZGl1cy1zbTogM3B4O1xuJHNwYWNpbmctc206IDEwcHg7XG4kc3BhY2luZy1tZDogMjBweDtcbiRzcGFjaW5nLWxnOiAzMHB4O1xuJHNwYWNpbmcteGw6IDUwcHg7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTUwOiAjRkY4ODQ1RkY7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTcwOiAjQ0I2RDM3RkY7XG4kY29sb3ItYnJhbmQtYmx1ZS01MDogIzIyNzFCMUZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTUwOiAjMDBBMEQyRkY7XG4kY29sb3ItYnJhbmQtYmx1ZS03MDogIzBBNEI3OEZGO1xuJGNvbG9yLW5ldXRyYWwtMTAwOiAjMTAxNTE3O1xuJGNvbG9yLW5ldXRyYWwtOTA6ICMxRDIzMjdGRjtcbiRjb2xvci1uZXV0cmFsLTgwOiAjMkMzMzM4RkY7XG4kY29sb3ItbmV1dHJhbC03MDogIzNDNDM0QUZGO1xuJGNvbG9yLW5ldXRyYWwtNjA6ICM1MDU3NUVGRjtcbiRjb2xvci1uZXV0cmFsLTUwOiAjNjQ2OTcwRkY7XG4kY29sb3ItbmV1dHJhbC0zMDogIzhDOEY5NEZGO1xuJGNvbG9yLW5ldXRyYWwtMTA6ICNDM0M0QzdGRjtcbiRjb2xvci1uZXV0cmFsLTIwOiAjQTdBQUFERkY7XG4kY29sb3ItbmV1dHJhbC01OiAjRENEQ0RFRkY7XG4kY29sb3ItdXRpbGl0eS1yZWQtNTA6ICNENjM2MzhGRjtcbiRjb2xvci11dGlsaXR5LXllbGxvdy01MDogI0RCQTYxN0ZGO1xuJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA6ICMwMDhBMjBGRjtcbiRyYWRpdXMteGw6IDlweDtcbiRjb2xvci1uZXV0cmFsLTM6ICNGMEYwRjFGRjtcbiRjb2xvci1uZXV0cmFsLTA6ICNGNkY3RjdGRjtcbiRjb2xvci11dGlsaXR5LXdoaXRlOiAjRkZGRkZGRkY7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTA6ICNGRkYzRUNGRjtcbiRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0wOiAjRTVGNUZBRkY7XG4kY29sb3ItdXRpbGl0eS1ncmVlbi0wOiAjRURGQUVGRkY7XG4kY29sb3ItdXRpbGl0eS1yZWQtMDogI0ZDRjBGMUZGO1xuJGNvbG9yLWJyYW5kLW9yYW5nZS0zMDogI0ZGQTA2QUZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTMwOiAjNjZDNkU0RkY7XG4kY29sb3ItdXRpbGl0eS1ncmVlbi0zMDogIzAwQkEzN0ZGO1xuJGNvbG9yLXV0aWxpdHktcmVkLTMwOiAjRjg2MzY4RkY7XG4kY29sb3Itd29yZHByZXNzLWJsdWU6ICMyMjcxQjFGRjtcbiRjb2xvci11dGlsaXR5LWdyYXktMDogI0Y2RjZGNkZGO1xuJGNvbG9yLWFjY2VudC1vcmFuZ2UtNTA6ICNGRTlFNjhGRjtcbiRjb2xvci1hY2NlbnQtb3JhbmdlLTA6ICNGRkYwRThGRjtcbiRjb2xvci1hY2NlbnQtcmVkLTUwOiAjRkY3MzY4RkY7XG4kY29sb3ItYWNjZW50LXJlZC0wOiAjRkZFQUU4RkY7XG4kY29sb3ItYWNjZW50LXBpbmstNTA6ICNERjVCOUFGRjtcbiRjb2xvci1hY2NlbnQtcGluay0wOiAjRkFFNkYwRkY7XG4kY29sb3ItYWNjZW50LXB1cnBsZS01MDogIzg2NTlDMkZGO1xuJGNvbG9yLWFjY2VudC1wdXJwbGUtMDogI0VERTZGNkZGO1xuJGNvbG9yLWFjY2VudC1ibHVlLTUwOiAjNTY4NUJERkY7XG4kY29sb3ItYWNjZW50LWJsdWUtMDogI0U2RURGNUZGO1xuJGNvbG9yLWFjY2VudC10ZWFsLTUwOiAjNEJCOUE3RkY7XG4kY29sb3ItYWNjZW50LXRlYWwtMDogI0U0RjVGMkZGO1xuJGNvbG9yLWFjY2VudC1ncmVlbi01MDogIzU3RDQ2NkZGO1xuJGNvbG9yLWFjY2VudC1ncmVlbi0wOiAjRTZGOUU4RkY7XG4kY29sb3ItYWNjZW50LXllbGxvdy01MDogI0ZGQzQ2OUZGO1xuJGNvbG9yLWFjY2VudC15ZWxsb3ctMDogI0ZGRjZFOUZGO1xuJGNhbGVuZGFyLXRleHQtcHJpbWFyeTogIzAwMDAwMEQ5O1xuJGNhbGVuZGFyLXRleHQtdGVydGlhcnk6ICMwMDAwMDA2NjtcbiRjYWxlbmRhci1iYWNrZ3JvdW5kOiAjMDAwMDAwMDg7XG5cbi8qIEFsaWFzZXMgICovXG4kdGV4dC10ZXh0LXByaW1hcnk6ICRjb2xvci1uZXV0cmFsLTgwO1xuJHRleHQtdGV4dC1zZWNvbmRhcnk6ICRjb2xvci1uZXV0cmFsLTYwO1xuJHRleHQtdGV4dC10ZXJ0aWFyeTogJGNvbG9yLW5ldXRyYWwtNTA7XG4kdGV4dC10ZXh0LWhlYWRpbmc6ICRjb2xvci1uZXV0cmFsLTkwO1xuJHRleHQtdGV4dC10aXRsZTogJGNvbG9yLW5ldXRyYWwtMTAwO1xuJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLW9yYW5nZS01MDtcbiRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtMDtcbiRmaWVsZHMtZmllbGQtYm9yZGVyOiAkY29sb3ItbmV1dHJhbC0zMDtcbiRzdXJmYWNlLXN1cmZhY2UtYm9yZGVyOiAkY29sb3ItbmV1dHJhbC0xMDtcbiRzdXJmYWNlLXN1cmZhY2UtZGl2aWRlcjogJGNvbG9yLW5ldXRyYWwtNTtcbiRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtLWhvdmVyOiAkY29sb3ItYnJhbmQtb3JhbmdlLTcwO1xuJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLS1ob3ZlcjogJGNvbG9yLWJyYW5kLWJsdWUtNzA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyOiAkY29sb3ItbmV1dHJhbC0zMDtcbiRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LXRleHQ6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS10ZXh0OiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0OiAkY29sb3ItbmV1dHJhbC02MDtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXItLWhvdmVyOiAkY29sb3ItbmV1dHJhbC02MDtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1iYWNrZ3JvdW5kLS0taG92ZXI6ICRjb2xvci1uZXV0cmFsLTM7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dC0taG92ZXI6ICRjb2xvci1uZXV0cmFsLTgwO1xuJGJ1dHRvbnMtYnV0dG9uLXdwLXByaW1hcnktYmFja2dyb3VuZDogIzIyNzFCMTtcbiR0ZXh0LXRleHQtbGluazogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kdGV4dC10ZXh0LXN1Y2Nlc3M6ICRjb2xvci11dGlsaXR5LWdyZWVuLTUwO1xuJHRleHQtdGV4dC1lcnJvcjogJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuJHRleHQtdGV4dC13YXJuaW5nOiAkY29sb3ItdXRpbGl0eS15ZWxsb3ctNTA7XG4kZmllbGRzLWZpZWxkLWJvcmRlci0tZm9jdXM6ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuJGZpZWxkcy1maWVsZC1ib3JkZXItZXJyb3I6ICRjb2xvci11dGlsaXR5LXJlZC01MDtcbiRmaWVsZHMtZmllbGQtY2hvaWNlLW9mZjogJGNvbG9yLW5ldXRyYWwtMzA7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vbjogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kYmFkZ2VzLWJhZGdlLW9yYW5nZS10ZXh0OiAkY29sb3ItYnJhbmQtb3JhbmdlLTMwO1xuJGJhZGdlcy1iYWRnZS1vcmFuZ2UtYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLW9yYW5nZS0wO1xuJGJhZGdlcy1iYWRnZS1ibHVlLWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0wO1xuJGJhZGdlcy1iYWRnZS1ibHVlLXRleHQ6ICRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0zMDtcbiRiYWRnZXMtYmFkZ2UtZ3JlZW4tYmFja2dyb3VuZDogJGNvbG9yLXV0aWxpdHktZ3JlZW4tMDtcbiRiYWRnZXMtYmFkZ2UtZ3JlZW4tdGV4dDogJGNvbG9yLXV0aWxpdHktZ3JlZW4tMzA7XG4kYmFkZ2VzLWJhZGdlLXJlZC1iYWNrZ3JvdW5kOiAkY29sb3ItdXRpbGl0eS1yZWQtMDtcbiRiYWRnZXMtYmFkZ2UtcmVkLXRleHQ6ICRjb2xvci11dGlsaXR5LXJlZC0zMDtcbiRiYWRnZXMtYmFkZ2UtbmV1dHJhbC1iYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC01O1xuJGJhZGdlcy1iYWRnZS1uZXV0cmFsLXRleHQ6ICRjb2xvci1uZXV0cmFsLTMwO1xuJHJhZGl1cy1yYWRpdXMtYnV0dG9uOiAkcmFkaXVzLW1kO1xuJHJhZGl1cy1yYWRpdXMtZmllbGQ6ICRyYWRpdXMtbWQ7XG4kcmFkaXVzLXJhZGl1cy1iYWRnZTogJHJhZGl1cy1zbTtcbiRzdXJmYWNlLXN1cmZhY2UtYm9yZGVyLXByaW1hcnk6ICRjb2xvci1icmFuZC1vcmFuZ2UtNTA7XG4kc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLTM7XG4kc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuJHRleHQtdGV4dC1pY29uOiAkY29sb3ItbmV1dHJhbC0yMDtcbiRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC1saWdodDogJGNvbG9yLXV0aWxpdHktZ3JheS0wO1xuJGZpZWxkcy1maWVsZC1jaG9pY2Utb2ZmLS1ob3ZlcjogJGNvbG9yLW5ldXRyYWwtNTA7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI6ICRjb2xvci1icmFuZC1ibHVlLTcwO1xuXG4vLyBGb250IHNpemVzLlxuJHRleHQtZm9udC1zaXplLTJ4czogMTFweDtcbiR0ZXh0LWZvbnQtc2l6ZS14czogMTJweDtcbiR0ZXh0LWZvbnQtc2l6ZS1zczogMTNweDtcbiR0ZXh0LWZvbnQtc2l6ZS1zOiAxNHB4O1xuJHRleHQtZm9udC1zaXplLW06IDE2cHg7XG4kdGV4dC1mb250LXNpemUtbDogMThweDtcbiR0ZXh0LWZvbnQtc2l6ZS1sbDogMjBweDtcbiR0ZXh0LWZvbnQtc2l6ZS1sbGw6IDIycHg7XG4kdGV4dC1mb250LXNpemUteGw6IDI0cHg7XG4kdGV4dC1mb250LXNpemUteHhsOiAyOHB4O1xuXG4vLyBUcmFuc2l0aW9ucy5cbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLXNsb3dlc3Q6IC41MHM7XG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1zbG93ZXI6IC40MHM7XG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1zbG93OiAuMjVzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tbm9ybWFsOiAuMTVzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tZmFzdDogLjA1cztcbiIsIi8vIEdlbmVyYWwgYWRtaW4gc3R5bGluZy5cblxuLy8gQ29yZSBhZG1pbiBzdHlsZSBvdmVycmlkZXMuXG4jd3Bjb250ZW50IHtcblx0cGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXHRcdHBhZGRpbmctdG9wOiA0NnB4O1xuXHR9XG59XG5cbiN3cGJvZHkge1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHR9XG59XG5cbi8vIEFkbWluIHdyYXAgLSBjb250YWlucyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgaGVhZGVyLlxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLXdyYXAge1xuXHRtYXJnaW46IDA7XG5cblx0Lm5vdGljZSB7XG5cdFx0bWFyZ2luOiAwIDAgJHNwYWNpbmctbGc7XG5cdH1cbn1cblxuLy8gQWRtaW4gY29udGVudC5cbi5zdWdhci1jYWxlbmRhci1hZG1pbi1jb250ZW50IHtcblx0cGFkZGluZzogJHNwYWNpbmctbGcgJHNwYWNpbmctbGcgMCAkc3BhY2luZy1sZztcblxuXHQqLFxuXHQqOjpiZWZvcmUsXG5cdCo6OmFmdGVyIHtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHR9XG5cblx0JjphZnRlciB7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0Y29udGVudDogXCIgXCI7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdH1cblxuXHRociB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTRlNGU0O1xuXHRcdG1hcmdpbjogMjBweCAwO1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdH1cblxuXHRjb2RlIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cGFkZGluZzogMCA2cHg7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdGNvbG9yOiAkdGV4dC10ZXh0LXNlY29uZGFyeTtcblx0fVxuXG5cdHN0cm9uZyB7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0fVxuXG5cdHAge1xuXHRcdCYuc3VibWl0IHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6ICRzcGFjaW5nLWxnIDAgMjBweCAwO1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNlNGU0ZTQ7XG5cblx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cbn1cblxuLy8gTGVnYWN5IGFkZG9uIGZpeGVzLlxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLWNvbnRlbnQge1xuXHQuZm9ybS10YWJsZTpmaXJzdC1jaGlsZCB7XG5cdFx0dGJvZHkge1xuXHRcdFx0dHI6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHR0aCxcblx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aCB7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDJweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRkIHtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGgzIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBIZWFkZXIgc3R5bGVzLlxuXG4jc3VnYXItY2FsZW5kYXItaGVhZGVyLXRlbXAge1xuXHRtYXJnaW46IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtMXB4O1xuXHRsZWZ0OiAyMHB4O1xuXHRyaWdodDogMDtcblx0ei1pbmRleDogOTk7XG5cblx0QGluY2x1ZGUgbWVkaWEoXCI8NjAwcHhcIikge1xuXHRcdHBhZGRpbmctdG9wOiA1MHB4O1xuXHR9XG59XG5cbiNzdWdhci1jYWxlbmRhci1oZWFkZXIge1xuXHRwYWRkaW5nOiAyMHB4IDMwcHg7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc3VyZmFjZS1zdXJmYWNlLWRpdmlkZXI7XG5cdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRpbWcge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbjogMDtcblx0XHRtYXgtd2lkdGg6IDI5NnB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XG5cdFx0XHRtYXgtd2lkdGg6IDIwMHB4O1xuXHRcdH1cblx0fVxuXG5cdGEjc3VnYXItY2FsZW5kYXItaGVhZGVyLWhlbHAge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdGNvbG9yOiAkdGV4dC10ZXh0LWljb247XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRsaW5lLWhlaWdodDogMTNweDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0bWFzay1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3F1ZXN0aW9uLWNpcmNsZS5zdmdcIik7XG5cdFx0XHRtYXNrLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRleHQtdGV4dC1pY29uO1xuXHRcdFx0d2lkdGg6IDE2cHg7XG5cdFx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDZweDtcblx0XHR9XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Y29sb3I6ICR0ZXh0LXRleHQtdGVydGlhcnk7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRleHQtdGV4dC10ZXJ0aWFyeTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG5cdCNzdWdhci1jYWxlbmRhci1ub3RpY2UtYmFyICsgI3N1Z2FyLWNhbGVuZGFyLWhlYWRlci10ZW1wIHtcblx0XHR0b3A6IDM0cHg7XG5cdH1cbn1cbiIsIi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2Mi4wLjBcbi8vXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXG4vL1xuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXG4vLyAgICAgICAgICAgICAgICAgIEtpdHR5IEdpcmF1ZGVsIChAa2l0dHlnaXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG5AY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cbkB1c2UgJ3Nhc3M6bWF0aCc7XG5AdXNlICdzYXNzOm1hcCc7XG5AdXNlICdzYXNzOmxpc3QnO1xuQHVzZSAnc2FzczpzdHJpbmcnO1xuQHVzZSAnc2FzczptZXRhJztcblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6IChcbiAgJ3Bob25lJzogMzIwcHgsXG4gICd0YWJsZXQnOiA3NjhweCxcbiAgJ2Rlc2t0b3AnOiAxMDI0cHgsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzpcbiAgICAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuICAncmV0aW5hM3gnOlxuICAgICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KScsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDAsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgQGlmIG1ldGEuZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgIEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge1xuICB9XG59XG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHtcbn1cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAuaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSlcbiAgICAgIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmIG5vdCBsaXN0LmluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xuICAgIEBpZiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xufVxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHJpbmcuc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXRyaW0oJHBhcnNlZC1kaW1lbnNpb24pO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHJpbmcubGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihsaXN0LmluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0cmluZy5pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHJpbmcuc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0cmluZy5sZW5ndGgoJG9wZXJhdG9yKSk7XG4gICR0cmltbWVkVmFsdWU6IHN0ci10cmltKCR2YWx1ZSk7XG5cbiAgQGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJHRyaW1tZWRWYWx1ZSkge1xuICAgICR2YWx1ZTogbWFwLmdldCgkYnJlYWtwb2ludHMsICR0cmltbWVkVmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdHJpbW1lZFZhbHVlKTtcbiAgfVxuXG4gICRpbnRlcnZhbDogbWFwLmdldCgkdW5pdC1pbnRlcnZhbHMsIG1hdGgudW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje21hdGgudW5pdCgkdmFsdWUpfWAuJyk7XG4gIH1cblxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLmhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLmdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxpc3QubGVuZ3RoKCRsaXN0KSkge1xuICBAaWYgbGlzdC5sZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICRyZXN1bHQ6IGxpc3QuYXBwZW5kKCRyZXN1bHQsIGxpc3QubnRoKCRsaXN0LCAkaSksIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG4vLy9cblxuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIG1ldGEudHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcbiAgfVxuXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0cmluZy5zbGljZSgkdmFsdWUsIDEsIDEpO1xuICAkcmVzdWx0OiAwO1xuICAkZGlnaXRzOiAwO1xuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XG4gICRudW1iZXJzOiAoXG4gICAgJzAnOiAwLFxuICAgICcxJzogMSxcbiAgICAnMic6IDIsXG4gICAgJzMnOiAzLFxuICAgICc0JzogNCxcbiAgICAnNSc6IDUsXG4gICAgJzYnOiA2LFxuICAgICc3JzogNyxcbiAgICAnOCc6IDgsXG4gICAgJzknOiA5LFxuICApO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyaW5nLmxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdChsaXN0LmluZGV4KG1hcC5rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHJpbmcuc2xpY2UoJHZhbHVlLCAkaSkpO1xuICAgIH1cblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGlnaXRzOiAxO1xuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC5nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hdGguZGl2KG1hcC5nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpLCAkZGlnaXRzKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKFxuICAgICdweCc6IDFweCxcbiAgICAnY20nOiAxY20sXG4gICAgJ21tJzogMW1tLFxuICAgICclJzogMSUsXG4gICAgJ2NoJzogMWNoLFxuICAgICdwYyc6IDFwYyxcbiAgICAnaW4nOiAxaW4sXG4gICAgJ2VtJzogMWVtLFxuICAgICdyZW0nOiAxcmVtLFxuICAgICdwdCc6IDFwdCxcbiAgICAnZXgnOiAxZXgsXG4gICAgJ3Z3JzogMXZ3LFxuICAgICd2aCc6IDF2aCxcbiAgICAndm1pbic6IDF2bWluLFxuICAgICd2bWF4JzogMXZtYXgsXG4gICk7XG5cbiAgQGlmIG5vdCBsaXN0LmluZGV4KG1hcC5rZXlzKCR1bml0cyksICR1bml0KSB7XG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC5nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgSmFjayBNY05pY29sXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIFRyaW1zIGEgc3RyaW5nIG9mIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHNwYWNlc1xuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBWYWx1ZSB0byBiZSB0cmltbWVkXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9XG4vLy9cblxuQGZ1bmN0aW9uIHN0ci10cmltKCRzdHJpbmcpIHtcbiAgQGlmIChzdHItc2xpY2UoJHN0cmluZywgMSwgMSkgPT0gJyAnKSB7XG4gICAgQHJldHVybiBzdHItdHJpbShzdHItc2xpY2UoJHN0cmluZywgMikpO1xuICB9IEBlbHNlIGlmIChzdHItc2xpY2UoJHN0cmluZywgc3RyLWxlbmd0aCgkc3RyaW5nKSwgLTEpID09ICcgJykge1xuICAgIEByZXR1cm4gc3RyLXRyaW0oc3RyLXNsaWNlKCRzdHJpbmcsIDEsIC0yKSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJHN0cmluZztcbiAgfVxufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLm1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC5tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGlzdC5sZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpXG4gIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxpc3QubGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3tzdHJpbmcudW5xdW90ZShwYXJzZS1leHByZXNzaW9uKGxpc3QubnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgJHNsaWNlZC1jb25kaXRpb25zOiBzbGljZSgkY29uZGl0aW9ucywgMik7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkc2xpY2VkLWNvbmRpdGlvbnMuLi4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gZm9ybS1maWVsZCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTtcblx0Ym9yZGVyOiAxcHggc29saWQgJGZpZWxkcy1maWVsZC1ib3JkZXI7XG5cdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtcmFkaXVzLWZpZWxkO1xuXHRib3gtc2hhZG93OiBub25lO1xuXHRjb2xvcjogJHRleHQtdGV4dC1wcmltYXJ5O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdHBhZGRpbmc6IDdweCAxMnB4O1xuXHRtYXJnaW46IDA7XG5cdHdpZHRoOiA0MDBweDtcblx0bWluLWhlaWdodDogMzZweDtcblx0bGluZS1oZWlnaHQ6IDEuMztcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogJHRleHQtdGV4dC1wcmltYXJ5O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWJvcmRlci0tZm9jdXMgIWltcG9ydGFudDtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJGZpZWxkcy1maWVsZC1ib3JkZXItLWZvY3VzICFpbXBvcnRhbnQ7XG5cdFx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0JjpkaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XG5cdFx0d2lkdGg6IDMwMHB4O1xuXHR9XG59XG5cbkBtaXhpbiBmb3JtLWZpZWxkLXNlbGVjdCB7XG5cdEBpbmNsdWRlIGZvcm0tZmllbGQ7XG5cblx0cGFkZGluZzogN3B4IDI0cHggN3B4IDEwcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5AbWl4aW4gZm9ybS1maWVsZC1yYWRpbyB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRmaWVsZHMtZmllbGQtYm9yZGVyO1xuXHRtYXJnaW46IDFweCAxMHB4IDAgMDtcblxuXHQmOjpiZWZvcmUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHR9XG5cblx0JjpjaGVja2VkIHtcblx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3ZlcjtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb24tLWhvdmVyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3Zlcjtcblx0XHR9XG5cdH1cblxuXHQmOmRpc2FibGVkIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGZpZWxkcy1maWVsZC1jaG9pY2Utb2ZmO1xuXHR9XG59XG5cbkBtaXhpbiBmb3JtLWZpZWxkLWNoZWNrYm94IHtcblx0Ym9yZGVyOiAxcHggc29saWQgJGZpZWxkcy1maWVsZC1ib3JkZXI7XG5cdG1hcmdpbjogMXB4IDEwcHggMCAwO1xuXG5cdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdH1cblxuXHQmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0fVxuXG5cdCY6Y2hlY2tlZCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0bWFzazogdXJsKC4uL2ltYWdlcy9pY29ucy95ZXMuc3ZnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlXG5cdFx0fVxuXG5cdFx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3Zlcjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3Zlcjtcblx0XHR9XG5cblx0XHQmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGUsIDAgMCAwIDJweCAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cdFx0fVxuXHR9XG5cblx0JjpkaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC41O1xuXG5cdFx0JjpjaGVja2VkIHtcblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBmb3JtLWZpZWxkLXRleHRhcmVhIHtcblx0QGluY2x1ZGUgZm9ybS1maWVsZDtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luOiAwIDFweDtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdGNvbG9yOiAkdGV4dC10ZXh0LXNlY29uZGFyeTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0aGVpZ2h0OiAyNXB4O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG5cdGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcblx0XHRAaW5jbHVkZSB2aXN1YWxseS1oaWRlO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXHRcdH1cblxuXHRcdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vZmYtLWhvdmVyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlLCAwIDAgMCAycHggJGZpZWxkcy1maWVsZC1ib3JkZXI7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpjaGVja2VkIHtcblx0XHRcdCYgKyBsYWJlbC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0bGVmdDogY2FsYygxMDAlIC0gMnB4KTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0XHQmICsgbGFiZWwuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb24tLWhvdmVyO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0XHQmICsgbGFiZWwuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZSwgMCAwIDAgMnB4ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpkaXNhYmxlZCB7XG5cdFx0XHQmICsgbGFiZWwuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0XHRcdG9wYWNpdHk6IDAuNTtcblx0XHRcdH1cblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHQmICsgbGFiZWwuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHNwYW4sXG5cdGxhYmVsIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1sYWJlbCB7XG5cdFx0cGFkZGluZzogMCAkc3BhY2luZy1zbTtcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDY1cHgpO1xuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLXN0YXR1cyB7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtc2Vjb25kYXJ5O1xuXHRcdGZvbnQtc2l6ZTogJHRleHQtZm9udC1zaXplLXhzO1xuXHRcdGxpbmUtaGVpZ2h0OiAxN3B4O1xuXHRcdHBhZGRpbmc6IDAgJHNwYWNpbmctc207XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLXN0YXR1cy1vZmYsXG5cdC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb24ge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0fVxuXG5cdGlucHV0Om5vdCg6Y2hlY2tlZCkgfiAuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtc3RhdHVzLW9mZixcblx0aW5wdXQ6Y2hlY2tlZCB+IC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb24ge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmV1dHJhbC0zMDtcblx0XHRib3JkZXItcmFkaXVzOiA4LjVweDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGhlaWdodDogMTdweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dGV4dC1pbmRlbnQ6IC05OTk5cHg7XG5cdFx0d2lkdGg6IDI3cHg7XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdGhlaWdodDogMTNweDtcblx0XHRcdGxlZnQ6IDJweDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMnB4O1xuXHRcdFx0d2lkdGg6IDEzcHg7XG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tbm9ybWFsIGVhc2Utb3V0O1xuXHRcdH1cblx0fVxuXG5cdGlucHV0OmRpc2FibGVkIH4gLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24sXG5cdGlucHV0OmRpc2FibGVkIH4gLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLXN0YXR1cy1vZmYsXG5cdGlucHV0OmRpc2FibGVkIH4gLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLXN0YXR1cy1vbiB7XG5cdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHR9XG59XG4iLCJAbWl4aW4gbGluay1yZXNldCB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cdG91dGxpbmU6IG5vbmU7XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuQG1peGluIHZpc3VhbGx5LWhpZGUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGhlaWdodDogMDtcblx0d2lkdGg6IDA7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cdG1hcmdpbjogMDtcblx0bWluLXdpZHRoOiAwO1xufVxuXG5AbWl4aW4gYmFkZ2UoJHBvc2l0aW9uOiBhZnRlcikge1xuXHQmOjojeyRwb3NpdGlvbn0ge1xuXHRcdGNvbnRlbnQ6IFwiUFJPXCI7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi1sZWZ0OiAkc3BhY2luZy1zbTtcblx0XHRwYWRkaW5nOiA1cHggOHB4O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0Zm9udC1zaXplOiA4cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC40cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDhweDtcblx0XHRjb2xvcjogJGJhZGdlcy1iYWRnZS1uZXV0cmFsLXRleHQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJhZGdlcy1iYWRnZS1uZXV0cmFsLWJhY2tncm91bmQ7XG5cdFx0Ym9yZGVyLXJhZGl1czogJHJhZGl1cy1yYWRpdXMtYmFkZ2U7XG5cblx0XHRAY29udGVudDtcblx0fVxufVxuIiwiLy8gQnV0dG9ucy5cbi5zdWdhci1jYWxlbmRhci1idG4ge1xuXHRib3JkZXItd2lkdGg6IDFweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLXJhZGl1czogJHJhZGl1cy1yYWRpdXMtYnV0dG9uO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luOiAwO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0dHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLWZhc3QgZWFzZS1vdXQ7XG5cblx0Ji5pbmFjdGl2ZSB7XG5cdFx0Y3Vyc29yOiBuby1kcm9wO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tYmxvY2sge1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tc20ge1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXHRwYWRkaW5nOiAwIDEwcHg7XG5cdGhlaWdodDogMzBweDtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1tZCB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0bGluZS1oZWlnaHQ6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHBhZGRpbmc6IDEwcHggMTVweDtcblx0bWluLWhlaWdodDogMzZweDtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1sZyB7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0cGFkZGluZzogMTFweCAxN3B4O1xuXHRtaW4taGVpZ2h0OiA0NHB4O1xufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXByaW1hcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuXHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0b3V0bGluZTogMDtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXNlY29uZGFyeSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDtcblx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tdGVydGlhcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZDtcblx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyO1xuXHRjb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LXRleHQgIWltcG9ydGFudDtcblxuXHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZC0tLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlci0taG92ZXI7XG5cdFx0Y29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0LS1ob3ZlciAhaW1wb3J0YW50O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXItLWhvdmVyO1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tZ3JlZW4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdXRpbGl0eS1ncmVlbi01MDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkY29sb3ItdXRpbGl0eS1ncmVlbi01MDtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1yZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci11dGlsaXR5LXJlZC01MDtcblx0Y29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlICFpbXBvcnRhbnQ7XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRjb2xvci11dGlsaXR5LXJlZC01MDtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cbiIsIi8vIFBhZ2Ugc3ViaGVhZGVyLlxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLXN1YmhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0aGVpZ2h0OiA2MHB4O1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDE1cHggJHNwYWNpbmctbGc7XG5cdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG5cdCosXG5cdCo6OmJlZm9yZSxcblx0Kjo6YWZ0ZXIge1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdH1cblxuXHRoNCB7XG5cdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtdGl0bGU7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLWJ0bi1uZXctaXRlbSB7XG5cdFx0bWFyZ2luLWxlZnQ6ICRzcGFjaW5nLW1kO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRtYXNrOiB1cmwoLi4vaW1hZ2VzL2ljb25zL2FkZC5zdmcpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0XHR3aWR0aDogMTFweDtcblx0XHRcdGhlaWdodDogMTFweDtcblx0XHRcdG1hcmdpbjogMCA2cHggMCAwO1xuXHRcdH1cblx0fVxufVxuIiwiQGltcG9ydCAnYWRtaW4vdmFyaWFibGVzJztcblxuQGltcG9ydCAndmVuZG9yL2luY2x1ZGUtbWVkaWEnO1xuXG5AaW1wb3J0IFwiYWRtaW4vbWl4aW5zXCI7XG5AaW1wb3J0ICdhZG1pbi9nZW5lcmFsJztcbkBpbXBvcnQgJ2FkbWluL2hlYWRlcic7XG5AaW1wb3J0ICdhZG1pbi9mb3Jtcyc7XG5AaW1wb3J0ICdhZG1pbi9idXR0b25zJztcbkBpbXBvcnQgJ2FkbWluL3N1YmhlYWRlcic7XG5cbi53cmFwIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAkc3BhY2luZy1sZyAkc3BhY2luZy1sZyAwO1xuXG5cdGgxIHtcblx0XHQmLndwLWhlYWRpbmctaW5saW5lIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0YSB7XG5cdFx0Ji5wYWdlLXRpdGxlLWFjdGlvbiB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdCNwb3N0c3R1ZmYge1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXG5cdFx0I3RpdGxlZGl2IHtcblx0XHRcdCN0aXRsZS1wcm9tcHQtdGV4dCB7XG5cdFx0XHRcdHBhZGRpbmc6IDExcHggMTNweCA5cHg7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0XHR9XG5cblx0XHRcdCN0aXRsZSB7XG5cdFx0XHRcdHBhZGRpbmc6IDEwcHggMTJweDtcblx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTlweDtcblx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5wb3N0Ym94IHtcblx0XHRcdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtbWQ7XG5cblx0XHRcdCYjc3VibWl0ZGl2IHtcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdH1cblxuXHRcdFx0Ji5jbG9zZWQge1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2MzYzRjNztcblxuXHRcdFx0XHQucG9zdGJveC1oZWFkZXIge1xuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0JiNzY19ldmVudF9jYXRlZ29yeWRpdiB7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRcdFx0Lmluc2lkZSB7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cblx0XHRcdFx0XHQjc2NfZXZlbnRfY2F0ZWdvcnljaGVja2xpc3Qge1xuXHRcdFx0XHRcdFx0aW5wdXRbdHlwZT1yYWRpb10ge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdWdhci1jYWxlbmRhci1iYWNrZ3JvdW5kLWNvbG9yKTtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRcdFx0XHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcblxuXHRcdFx0XHRcdFx0XHQmOmNoZWNrZWQge1xuXHRcdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbjogNHB4O1xuXHRcdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3VnYXItY2FsZW5kYXItZm9yZWdyb3VuZC1jb2xvcik7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0I3NjX2V2ZW50X2NhdGVnb3J5LWFkZGVyIHtcblx0XHRcdFx0XHRcdG1hcmdpbjogJHNwYWNpbmctc20gLTEycHggMDtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDEwcHggMTJweDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC1saWdodDtcblx0XHRcdFx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkc3VyZmFjZS1zdXJmYWNlLWJvcmRlcjtcblxuXHRcdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRcdCYudGF4b25vbXktYWRkLW5ldyB7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMi4xNTM4NDYxNTtcblx0XHRcdFx0XHRcdFx0XHRtaW4taGVpZ2h0OiAzMHB4O1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwIDEwcHg7XG5cdFx0XHRcdFx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci13aWR0aDogMXB4O1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0XHRcdFx0XHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHRcdFx0XHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0XHRcdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cblx0XHRcdFx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmMGYwZjE7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3JkZXItY29sb3I6ICMwYTRiNzg7XG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogIzBhNGI3ODtcblx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmNmY3Zjc7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3JkZXItY29sb3I6ICMzNTgyYzQ7XG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogIzBhNGI3ODtcblx0XHRcdFx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMzU4MmM0O1xuXHRcdFx0XHRcdFx0XHRcdFx0b3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdFx0XHRcdFx0b3V0bGluZS1vZmZzZXQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0JjphY3RpdmUge1xuXHRcdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI2Y2ZjdmNztcblx0XHRcdFx0XHRcdFx0XHRcdGJvcmRlci1jb2xvcjogIzhjOGY5NDtcblx0XHRcdFx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdCY6bm90KC53cC1oaWRkZW4tY2hpbGRyZW4pIHtcblx0XHRcdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRcdFx0Ji50YXhvbm9teS1hZGQtbmV3IHtcblx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmMGYwZjE7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3JkZXItY29sb3I6ICM4YzhmOTQ7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3gtc2hhZG93OiBpbnNldCAwIDJweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIl19 */
     501/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3NzL2FkbWluL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19nZW5lcmFsLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9faGVhZGVyLnNjc3MiLCJhc3NldHMvc2Nzcy92ZW5kb3IvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19mb3Jtcy5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX21peGlucy5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX2J1dHRvbnMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19zdWJoZWFkZXIuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluLWV2ZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7QUE0REE7QUMzREE7RUFDQztFQUNBOztBQUVBO0VBSkQ7SUFLRTs7OztBQUtEO0VBREQ7SUFFRTs7OztBQUtGO0VBQ0M7O0FBRUE7RUFDQzs7O0FBS0Y7RUFDQzs7QUFFQTtBQUFBO0FBQUE7RUFHQzs7QUFHRDtFQUNDO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT0R6Q2lCOztBQzRDbEI7RUFDQzs7QUFJQTtFQUNDO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOztBQU1IO0VBQ0M7OztBQVNFO0FBQUE7RUFFQzs7QUFHRDtFQUNDOztBQUdEO0VBQ0M7O0FBR0Q7RUFDQzs7O0FDdEdMO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQ3lsQkc7RUQvbEJKO0lBU0U7Ozs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBLGtCRllxQjtFRVhyQjtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBOztBQ3VrQkU7RUQxa0JIO0lBTUU7OztBQUlGO0VBQ0M7RUFDQSxPRlppQjtFRWFqQjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0Esa0JGdkJnQjtFRXdCaEI7RUFDQTtFQUNBOztBQUdEO0VBRUMsT0ZsQ2dCOztBRW9DaEI7RUFDQyxrQkZyQ2U7OztBRTJDbkI7RUFDQztJQUNDOzs7QUVtRUY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLE9KdEhrQjtFSXVIbEI7RUFDQTtFQUNBOztBQUVBO0VDcklBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FEaUlDO0VBRUM7RUFDQTs7QUFJQTtFQUNDLGtCSnJJZTs7QUkwSWhCO0VBQ0M7O0FBS0Q7RUFDQyxrQkp6SmtCOztBSTJKbEI7RUFDQztFQUNBOztBQUtEO0VBQ0Msa0JKaktpQjs7QUlzS2xCO0VBQ0M7O0FBTUY7RUFDQzs7QUFLQTtFQUNDOztBQU1KO0FBQUE7RUFFQztFQUNBOztBQUdEO0VBQ0M7RUFDQTs7QUFHRDtFQUNDLE9Kak1pQjtFSWtNakIsV0psR2tCO0VJbUdsQjtFQUNBO0VBQ0E7RUFDQTs7QUFHRDtBQUFBO0VBRUM7O0FBR0Q7QUFBQTtFQUVDOztBQUdEO0VBQ0Msa0JKbE5pQjtFSW1OakI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQyxZSmxObUI7RUltTm5CO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUY7QUFBQTtBQUFBO0VBR0M7OztBRS9QRjtFQUNDO0VBQ0E7RUFDQSxlTkRXO0VNRVg7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0M7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0Msa0JOMUN1QjtFTTJDdkIsY04zQ3VCO0VNNEN2Qjs7QUFFQTtFQUNDLGtCTjlDc0I7RU0rQ3RCLGNOL0NzQjtFTWdEdEI7O0FBR0Q7RUFDQztFQUNBLGNOakNvQjtFTWtDcEI7OztBQUlGO0VBQ0Msa0JOMURxQjtFTTJEckIsY04zRHFCO0VNNERyQjs7QUFFQTtFQUNDLGtCTjdEb0I7RU04RHBCLGNOOURvQjtFTStEcEI7O0FBR0Q7RUFDQztFQUNBLGNObkRvQjtFTW9EcEI7OztBQUlGO0VBQ0Msa0JOMURpQjtFTTJEakIsY05wRWtCO0VNcUVsQjs7QUFFQTtFQUNDLGtCTmhFZ0I7RU1pRWhCLGNOM0VpQjtFTTRFakI7O0FBR0Q7RUFDQzs7O0FBSUY7RUFDQyxrQk43RXdCO0VNOEV4QjtFQUNBOztBQUVBO0VBQ0M7RUFDQSxjTi9Fb0I7RU1nRnBCOzs7QUFJRjtFQUNDLGtCTjNGc0I7RU00RnRCO0VBQ0E7O0FBRUE7RUFDQztFQUNBLGNOM0ZvQjtFTTRGcEI7OztBQzFIRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCUHVCcUI7RU90QnJCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0VBR0M7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQSxPUFZrQjtFT1dsQjs7QUFHRDtFQUNDLGFQdkJXOztBT3lCWDtFQUNDO0VBQ0E7RUFDQTtFQUNBLGtCUExtQjtFT01uQjtFQUNBO0VBQ0E7OztBQzVCSDtFQUNDO0VBQ0E7O0FBR0M7RUFDQzs7QUFLRDtFQUNDOztBQUlGO0VBQ0M7O0FBR0M7RUFDQztFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QUFJRjtFQUNDLGVSM0NTOztBUTZDVDtFQUNDOztBQUdEO0VBQ0M7O0FBRUE7RUFDQzs7QUFJRjtFQUNDOztBQUVBO0VBQ0M7O0FBR0M7RUFDQztFQUNBO0VBQ0E7O0FBR0M7RUFDQztFQUNBOztBQU1KO0VBQ0M7RUFDQTtFQUNBLGtCUjNDaUI7RVE0Q2pCOztBQUdDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBOztBQU9EO0VBQ0M7RUFDQTtFQUNBIiwiZmlsZSI6ImFzc2V0cy9jc3MvYWRtaW4tZXZlbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQWRtaW4gdmFyaWFibGVzLlxuXG4vKiBWYXJpYWJsZXMgICovXG4kcmFkaXVzLW1kOiA0cHg7XG4kcmFkaXVzLWxnOiA2cHg7XG4kcmFkaXVzLXNtOiAzcHg7XG4kc3BhY2luZy1zbTogMTBweDtcbiRzcGFjaW5nLW1kOiAyMHB4O1xuJHNwYWNpbmctbGc6IDMwcHg7XG4kc3BhY2luZy14bDogNTBweDtcbiRjb2xvci1icmFuZC1vcmFuZ2UtNTA6ICNGRjg4NDVGRjtcbiRjb2xvci1icmFuZC1vcmFuZ2UtNzA6ICNDQjZEMzdGRjtcbiRjb2xvci1icmFuZC1ibHVlLTUwOiAjMjI3MUIxRkY7XG4kY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtNTA6ICMwMEEwRDJGRjtcbiRjb2xvci1icmFuZC1ibHVlLTcwOiAjMEE0Qjc4RkY7XG4kY29sb3ItbmV1dHJhbC0xMDA6ICMxMDE1MTc7XG4kY29sb3ItbmV1dHJhbC05MDogIzFEMjMyN0ZGO1xuJGNvbG9yLW5ldXRyYWwtODA6ICMyQzMzMzhGRjtcbiRjb2xvci1uZXV0cmFsLTcwOiAjM0M0MzRBRkY7XG4kY29sb3ItbmV1dHJhbC02MDogIzUwNTc1RUZGO1xuJGNvbG9yLW5ldXRyYWwtNTA6ICM2NDY5NzBGRjtcbiRjb2xvci1uZXV0cmFsLTMwOiAjOEM4Rjk0RkY7XG4kY29sb3ItbmV1dHJhbC0xMDogI0MzQzRDN0ZGO1xuJGNvbG9yLW5ldXRyYWwtMjA6ICNBN0FBQURGRjtcbiRjb2xvci1uZXV0cmFsLTU6ICNEQ0RDREVGRjtcbiRjb2xvci11dGlsaXR5LXJlZC01MDogI0Q2MzYzOEZGO1xuJGNvbG9yLXV0aWxpdHkteWVsbG93LTUwOiAjREJBNjE3RkY7XG4kY29sb3ItdXRpbGl0eS1ncmVlbi01MDogIzAwOEEyMEZGO1xuJHJhZGl1cy14bDogOXB4O1xuJGNvbG9yLW5ldXRyYWwtMzogI0YwRjBGMUZGO1xuJGNvbG9yLW5ldXRyYWwtMDogI0Y2RjdGN0ZGO1xuJGNvbG9yLXV0aWxpdHktd2hpdGU6ICNGRkZGRkZGRjtcbiRjb2xvci1icmFuZC1vcmFuZ2UtMDogI0ZGRjNFQ0ZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTA6ICNFNUY1RkFGRjtcbiRjb2xvci11dGlsaXR5LWdyZWVuLTA6ICNFREZBRUZGRjtcbiRjb2xvci11dGlsaXR5LXJlZC0wOiAjRkNGMEYxRkY7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTMwOiAjRkZBMDZBRkY7XG4kY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtMzA6ICM2NkM2RTRGRjtcbiRjb2xvci11dGlsaXR5LWdyZWVuLTMwOiAjMDBCQTM3RkY7XG4kY29sb3ItdXRpbGl0eS1yZWQtMzA6ICNGODYzNjhGRjtcbiRjb2xvci13b3JkcHJlc3MtYmx1ZTogIzIyNzFCMUZGO1xuJGNvbG9yLXV0aWxpdHktZ3JheS0wOiAjRjZGNkY2RkY7XG4kY29sb3ItYWNjZW50LW9yYW5nZS01MDogI0ZFOUU2OEZGO1xuJGNvbG9yLWFjY2VudC1vcmFuZ2UtMDogI0ZGRjBFOEZGO1xuJGNvbG9yLWFjY2VudC1yZWQtNTA6ICNGRjczNjhGRjtcbiRjb2xvci1hY2NlbnQtcmVkLTA6ICNGRkVBRThGRjtcbiRjb2xvci1hY2NlbnQtcGluay01MDogI0RGNUI5QUZGO1xuJGNvbG9yLWFjY2VudC1waW5rLTA6ICNGQUU2RjBGRjtcbiRjb2xvci1hY2NlbnQtcHVycGxlLTUwOiAjODY1OUMyRkY7XG4kY29sb3ItYWNjZW50LXB1cnBsZS0wOiAjRURFNkY2RkY7XG4kY29sb3ItYWNjZW50LWJsdWUtNTA6ICM1Njg1QkRGRjtcbiRjb2xvci1hY2NlbnQtYmx1ZS0wOiAjRTZFREY1RkY7XG4kY29sb3ItYWNjZW50LXRlYWwtNTA6ICM0QkI5QTdGRjtcbiRjb2xvci1hY2NlbnQtdGVhbC0wOiAjRTRGNUYyRkY7XG4kY29sb3ItYWNjZW50LWdyZWVuLTUwOiAjNTdENDY2RkY7XG4kY29sb3ItYWNjZW50LWdyZWVuLTA6ICNFNkY5RThGRjtcbiRjb2xvci1hY2NlbnQteWVsbG93LTUwOiAjRkZDNDY5RkY7XG4kY29sb3ItYWNjZW50LXllbGxvdy0wOiAjRkZGNkU5RkY7XG4kY2FsZW5kYXItdGV4dC1wcmltYXJ5OiAjMDAwMDAwRDk7XG4kY2FsZW5kYXItdGV4dC10ZXJ0aWFyeTogIzAwMDAwMDY2O1xuJGNhbGVuZGFyLWJhY2tncm91bmQ6ICMwMDAwMDAwODtcblxuLyogQWxpYXNlcyAgKi9cbiR0ZXh0LXRleHQtcHJpbWFyeTogJGNvbG9yLW5ldXRyYWwtODA7XG4kdGV4dC10ZXh0LXNlY29uZGFyeTogJGNvbG9yLW5ldXRyYWwtNjA7XG4kdGV4dC10ZXh0LXRlcnRpYXJ5OiAkY29sb3ItbmV1dHJhbC01MDtcbiR0ZXh0LXRleHQtaGVhZGluZzogJGNvbG9yLW5ldXRyYWwtOTA7XG4kdGV4dC10ZXh0LXRpdGxlOiAkY29sb3ItbmV1dHJhbC0xMDA7XG4kYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtb3JhbmdlLTUwO1xuJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtYmx1ZS01MDtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1iYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC0wO1xuJGZpZWxkcy1maWVsZC1ib3JkZXI6ICRjb2xvci1uZXV0cmFsLTMwO1xuJHN1cmZhY2Utc3VyZmFjZS1ib3JkZXI6ICRjb2xvci1uZXV0cmFsLTEwO1xuJHN1cmZhY2Utc3VyZmFjZS1kaXZpZGVyOiAkY29sb3ItbmV1dHJhbC01O1xuJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC0taG92ZXI6ICRjb2xvci1icmFuZC1vcmFuZ2UtNzA7XG4kYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyOiAkY29sb3ItYnJhbmQtYmx1ZS03MDtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXI6ICRjb2xvci1uZXV0cmFsLTMwO1xuJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktdGV4dDogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG4kYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LXRleHQ6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LXRleHQ6ICRjb2xvci1uZXV0cmFsLTYwO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlci0taG92ZXI6ICRjb2xvci1uZXV0cmFsLTYwO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQtLS1ob3ZlcjogJGNvbG9yLW5ldXRyYWwtMztcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0LS1ob3ZlcjogJGNvbG9yLW5ldXRyYWwtODA7XG4kYnV0dG9ucy1idXR0b24td3AtcHJpbWFyeS1iYWNrZ3JvdW5kOiAjMjI3MUIxO1xuJHRleHQtdGV4dC1saW5rOiAkY29sb3ItYnJhbmQtYmx1ZS01MDtcbiR0ZXh0LXRleHQtc3VjY2VzczogJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG4kdGV4dC10ZXh0LWVycm9yOiAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG4kdGV4dC10ZXh0LXdhcm5pbmc6ICRjb2xvci11dGlsaXR5LXllbGxvdy01MDtcbiRmaWVsZHMtZmllbGQtYm9yZGVyLS1mb2N1czogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kZmllbGRzLWZpZWxkLWJvcmRlci1lcnJvcjogJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuJGZpZWxkcy1maWVsZC1jaG9pY2Utb2ZmOiAkY29sb3ItbmV1dHJhbC0zMDtcbiRmaWVsZHMtZmllbGQtY2hvaWNlLW9uOiAkY29sb3ItYnJhbmQtYmx1ZS01MDtcbiRiYWRnZXMtYmFkZ2Utb3JhbmdlLXRleHQ6ICRjb2xvci1icmFuZC1vcmFuZ2UtMzA7XG4kYmFkZ2VzLWJhZGdlLW9yYW5nZS1iYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtb3JhbmdlLTA7XG4kYmFkZ2VzLWJhZGdlLWJsdWUtYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTA7XG4kYmFkZ2VzLWJhZGdlLWJsdWUtdGV4dDogJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTMwO1xuJGJhZGdlcy1iYWRnZS1ncmVlbi1iYWNrZ3JvdW5kOiAkY29sb3ItdXRpbGl0eS1ncmVlbi0wO1xuJGJhZGdlcy1iYWRnZS1ncmVlbi10ZXh0OiAkY29sb3ItdXRpbGl0eS1ncmVlbi0zMDtcbiRiYWRnZXMtYmFkZ2UtcmVkLWJhY2tncm91bmQ6ICRjb2xvci11dGlsaXR5LXJlZC0wO1xuJGJhZGdlcy1iYWRnZS1yZWQtdGV4dDogJGNvbG9yLXV0aWxpdHktcmVkLTMwO1xuJGJhZGdlcy1iYWRnZS1uZXV0cmFsLWJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLTU7XG4kYmFkZ2VzLWJhZGdlLW5ldXRyYWwtdGV4dDogJGNvbG9yLW5ldXRyYWwtMzA7XG4kcmFkaXVzLXJhZGl1cy1idXR0b246ICRyYWRpdXMtbWQ7XG4kcmFkaXVzLXJhZGl1cy1maWVsZDogJHJhZGl1cy1tZDtcbiRyYWRpdXMtcmFkaXVzLWJhZGdlOiAkcmFkaXVzLXNtO1xuJHN1cmZhY2Utc3VyZmFjZS1ib3JkZXItcHJpbWFyeTogJGNvbG9yLWJyYW5kLW9yYW5nZS01MDtcbiRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtMztcbiRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG4kdGV4dC10ZXh0LWljb246ICRjb2xvci1uZXV0cmFsLTIwO1xuJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLWxpZ2h0OiAkY29sb3ItdXRpbGl0eS1ncmF5LTA7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vZmYtLWhvdmVyOiAkY29sb3ItbmV1dHJhbC01MDtcbiRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3ZlcjogJGNvbG9yLWJyYW5kLWJsdWUtNzA7XG5cbi8vIEZvbnQgc2l6ZXMuXG4kdGV4dC1mb250LXNpemUtMnhzOiAxMXB4O1xuJHRleHQtZm9udC1zaXplLXhzOiAxMnB4O1xuJHRleHQtZm9udC1zaXplLXNzOiAxM3B4O1xuJHRleHQtZm9udC1zaXplLXM6IDE0cHg7XG4kdGV4dC1mb250LXNpemUtbTogMTZweDtcbiR0ZXh0LWZvbnQtc2l6ZS1sOiAxOHB4O1xuJHRleHQtZm9udC1zaXplLWxsOiAyMHB4O1xuJHRleHQtZm9udC1zaXplLWxsbDogMjJweDtcbiR0ZXh0LWZvbnQtc2l6ZS14bDogMjRweDtcbiR0ZXh0LWZvbnQtc2l6ZS14eGw6IDI4cHg7XG5cbi8vIFRyYW5zaXRpb25zLlxuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tc2xvd2VzdDogLjUwcztcbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLXNsb3dlcjogLjQwcztcbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLXNsb3c6IC4yNXM7XG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1ub3JtYWw6IC4xNXM7XG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1mYXN0OiAuMDVzO1xuIiwiLy8gR2VuZXJhbCBhZG1pbiBzdHlsaW5nLlxuXG4vLyBDb3JlIGFkbWluIHN0eWxlIG92ZXJyaWRlcy5cbiN3cGNvbnRlbnQge1xuXHRwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cdFx0cGFkZGluZy10b3A6IDQ2cHg7XG5cdH1cbn1cblxuI3dwYm9keSB7XG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdH1cbn1cblxuLy8gQWRtaW4gd3JhcCAtIGNvbnRhaW5zIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBoZWFkZXIuXG4uc3VnYXItY2FsZW5kYXItYWRtaW4td3JhcCB7XG5cdG1hcmdpbjogMDtcblxuXHQubm90aWNlIHtcblx0XHRtYXJnaW46IDAgMCAxNXB4O1xuXHR9XG59XG5cbi8vIEFkbWluIGNvbnRlbnQuXG4uc3VnYXItY2FsZW5kYXItYWRtaW4tY29udGVudCB7XG5cdHBhZGRpbmc6ICRzcGFjaW5nLWxnICRzcGFjaW5nLWxnIDAgJHNwYWNpbmctbGc7XG5cblx0Kixcblx0Kjo6YmVmb3JlLFxuXHQqOjphZnRlciB7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0fVxuXG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIiBcIjtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHR9XG5cblx0aHIge1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2U0ZTRlNDtcblx0XHRtYXJnaW46IDIwcHggMDtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHR9XG5cblx0Y29kZSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBhZGRpbmc6IDAgNnB4O1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHRjb2xvcjogJHRleHQtdGV4dC1zZWNvbmRhcnk7XG5cdH1cblxuXHRzdHJvbmcge1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdH1cblxuXHRwIHtcblx0XHQmLnN1Ym1pdCB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1sZyAwIDIwcHggMDtcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTRlNGU0O1xuXG5cdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLWFkbWluLWNvbnRlbnRfX3NldHRpbmdzLWZvcm0ge1xuXHRcdHBhZGRpbmctdG9wOiAxNXB4O1xuXHR9XG59XG5cbi8vIExlZ2FjeSBhZGRvbiBmaXhlcy5cbi5zdWdhci1jYWxlbmRhci1hZG1pbi1jb250ZW50IHtcblx0LmZvcm0tdGFibGU6Zmlyc3QtY2hpbGQge1xuXHRcdHRib2R5IHtcblx0XHRcdHRyOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0dGgsXG5cdFx0XHRcdHRkIHtcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGgge1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAycHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRoMyB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy8gSGVhZGVyIHN0eWxlcy5cblxuI3N1Z2FyLWNhbGVuZGFyLWhlYWRlci10ZW1wIHtcblx0bWFyZ2luOiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogLTFweDtcblx0bGVmdDogMjBweDtcblx0cmlnaHQ6IDA7XG5cdHotaW5kZXg6IDk5O1xuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPDYwMHB4XCIpIHtcblx0XHRwYWRkaW5nLXRvcDogNTBweDtcblx0fVxufVxuXG4jc3VnYXItY2FsZW5kYXItaGVhZGVyIHtcblx0cGFkZGluZzogMjBweCAzMHB4O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJHN1cmZhY2Utc3VyZmFjZS1kaXZpZGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0aW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW46IDA7XG5cdFx0bWF4LXdpZHRoOiAyOTZweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xuXHRcdFx0bWF4LXdpZHRoOiAyMDBweDtcblx0XHR9XG5cdH1cblxuXHRhI3N1Z2FyLWNhbGVuZGFyLWhlYWRlci1oZWxwIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRjb2xvcjogJHRleHQtdGV4dC1pY29uO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEzcHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdG1hc2staW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9xdWVzdGlvbi1jaXJjbGUuc3ZnXCIpO1xuXHRcdFx0bWFzay1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LXRleHQtaWNvbjtcblx0XHRcdHdpZHRoOiAxNnB4O1xuXHRcdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiA2cHg7XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGNvbG9yOiAkdGV4dC10ZXh0LXRlcnRpYXJ5O1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LXRleHQtdGVydGlhcnk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuXHQjc3VnYXItY2FsZW5kYXItbm90aWNlLWJhciArICNzdWdhci1jYWxlbmRhci1oZWFkZXItdGVtcCB7XG5cdFx0dG9wOiAzNHB4O1xuXHR9XG59XG4iLCIvLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjIuMC4wXG4vL1xuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBLaXR0eSBHaXJhdWRlbCAoQGtpdHR5Z2lyYXVkZWwpXG4vL1xuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxuQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5AdXNlICdzYXNzOm1hdGgnO1xuQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2FzczpsaXN0JztcbkB1c2UgJ3Nhc3M6c3RyaW5nJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdkZXNrdG9wJzogMTAyNHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxuICAncHJpbnQnOiAncHJpbnQnLFxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXG4gICdyZXRpbmEyeCc6XG4gICAgJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzpcbiAgICAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknLFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2Bcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cbi8vL1xuJHVuaXQtaW50ZXJ2YWxzOiAoXG4gICdweCc6IDEsXG4gICdlbSc6IDAuMDEsXG4gICdyZW0nOiAwLjEsXG4gICcnOiAwLFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBtZXRhLmZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgfVxufVxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7XG59XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLmdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge1xuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLmhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpXG4gICAgICB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgbGlzdC5pbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyaW5nLnNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci10cmltKCRwYXJzZWQtZGltZW5zaW9uKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyaW5nLmxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XG4gIEByZXR1cm4gaWYobGlzdC5pbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cbi8vL1xuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICR2YWx1ZTogc3RyaW5nLnNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHJpbmcubGVuZ3RoKCRvcGVyYXRvcikpO1xuICAkdHJpbW1lZFZhbHVlOiBzdHItdHJpbSgkdmFsdWUpO1xuXG4gIEBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICR0cmltbWVkVmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkdHJpbW1lZFZhbHVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHRyaW1tZWRWYWx1ZSk7XG4gIH1cblxuICAkaW50ZXJ2YWw6IG1hcC5nZXQoJHVuaXQtaW50ZXJ2YWxzLCBtYXRoLnVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3ttYXRoLnVuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC5oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC5nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsaXN0Lmxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxpc3QubGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XG4gICAgQHJldHVybiAoKTtcbiAgfVxuXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcbiAgICAkcmVzdWx0OiBsaXN0LmFwcGVuZCgkcmVzdWx0LCBsaXN0Lm50aCgkbGlzdCwgJGkpLCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKFxuICAgICcwJzogMCxcbiAgICAnMSc6IDEsXG4gICAgJzInOiAyLFxuICAgICczJzogMyxcbiAgICAnNCc6IDQsXG4gICAgJzUnOiA1LFxuICAgICc2JzogNixcbiAgICAnNyc6IDcsXG4gICAgJzgnOiA4LFxuICAgICc5JzogOSxcbiAgKTtcblxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xuICAgICR2YWx1ZTogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0cmluZy5sZW5ndGgoJHZhbHVlKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgIEBpZiBub3QobGlzdC5pbmRleChtYXAua2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGkpKTtcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAuZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXRoLmRpdihtYXAuZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSwgJGRpZ2l0cyk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAkdW5pdHM6IChcbiAgICAncHgnOiAxcHgsXG4gICAgJ2NtJzogMWNtLFxuICAgICdtbSc6IDFtbSxcbiAgICAnJSc6IDElLFxuICAgICdjaCc6IDFjaCxcbiAgICAncGMnOiAxcGMsXG4gICAgJ2luJzogMWluLFxuICAgICdlbSc6IDFlbSxcbiAgICAncmVtJzogMXJlbSxcbiAgICAncHQnOiAxcHQsXG4gICAgJ2V4JzogMWV4LFxuICAgICd2dyc6IDF2dyxcbiAgICAndmgnOiAxdmgsXG4gICAgJ3ZtaW4nOiAxdm1pbixcbiAgICAndm1heCc6IDF2bWF4LFxuICApO1xuXG4gIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAuZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEphY2sgTWNOaWNvbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBUcmltcyBhIHN0cmluZyBvZiBsZWFkaW5nIGFuZCB0cmFpbGluZyBzcGFjZXNcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gVmFsdWUgdG8gYmUgdHJpbW1lZFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfVxuLy8vXG5cbkBmdW5jdGlvbiBzdHItdHJpbSgkc3RyaW5nKSB7XG4gIEBpZiAoc3RyLXNsaWNlKCRzdHJpbmcsIDEsIDEpID09ICcgJykge1xuICAgIEByZXR1cm4gc3RyLXRyaW0oc3RyLXNsaWNlKCRzdHJpbmcsIDIpKTtcbiAgfSBAZWxzZSBpZiAoc3RyLXNsaWNlKCRzdHJpbmcsIHN0ci1sZW5ndGgoJHN0cmluZyksIC0xKSA9PSAnICcpIHtcbiAgICBAcmV0dXJuIHN0ci10cmltKHN0ci1zbGljZSgkc3RyaW5nLCAxLCAtMikpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRzdHJpbmc7XG4gIH1cbn1cblxuLy8vXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxuLy8vIGZvciBpbnN0YW5jZS5cbi8vL1xuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC5tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAubWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxpc3QubGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKVxuICB7XG4gICAgQGNvbnRlbnQ7XG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsaXN0Lmxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7c3RyaW5nLnVucXVvdGUocGFyc2UtZXhwcmVzc2lvbihsaXN0Lm50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgICRzbGljZWQtY29uZGl0aW9uczogc2xpY2UoJGNvbmRpdGlvbnMsIDIpO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJHNsaWNlZC1jb25kaXRpb25zLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGZvcm0tZmllbGQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRmaWVsZHMtZmllbGQtYm9yZGVyO1xuXHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLXJhZGl1cy1maWVsZDtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0Y29sb3I6ICR0ZXh0LXRleHQtcHJpbWFyeTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRwYWRkaW5nOiA3cHggMTJweDtcblx0bWFyZ2luOiAwO1xuXHR3aWR0aDogNDAwcHg7XG5cdG1pbi1oZWlnaHQ6IDM2cHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtcHJpbWFyeTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1ib3JkZXItLWZvY3VzICFpbXBvcnRhbnQ7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRmaWVsZHMtZmllbGQtYm9yZGVyLS1mb2N1cyAhaW1wb3J0YW50O1xuXHRcdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6ZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPGRlc2t0b3BcIikge1xuXHRcdHdpZHRoOiAzMDBweDtcblx0fVxufVxuXG5AbWl4aW4gZm9ybS1maWVsZC1zZWxlY3Qge1xuXHRAaW5jbHVkZSBmb3JtLWZpZWxkO1xuXG5cdHBhZGRpbmc6IDdweCAyNHB4IDdweCAxMHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuQG1peGluIGZvcm0tZmllbGQtcmFkaW8ge1xuXHRib3JkZXI6IDFweCBzb2xpZCAkZmllbGRzLWZpZWxkLWJvcmRlcjtcblx0bWFyZ2luOiAxcHggMTBweCAwIDA7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0fVxuXG5cdCY6Y2hlY2tlZCB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3Zlcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmZvY3VzIHtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cdFx0fVxuXHR9XG5cblx0JjpkaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRmaWVsZHMtZmllbGQtY2hvaWNlLW9mZjtcblx0fVxufVxuXG5AbWl4aW4gZm9ybS1maWVsZC1jaGVja2JveCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRmaWVsZHMtZmllbGQtYm9yZGVyO1xuXHRtYXJnaW46IDFweCAxMHB4IDAgMDtcblxuXHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHR9XG5cblx0Jjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdH1cblxuXHQmOmNoZWNrZWQge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdG1hc2s6IHVybCguLi9pbWFnZXMvaWNvbnMveWVzLnN2ZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJVxuXHRcdH1cblxuXHRcdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cdFx0fVxuXG5cdFx0Jjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlLCAwIDAgMCAycHggJGZpZWxkcy1maWVsZC1jaG9pY2Utb24tLWhvdmVyO1xuXHRcdH1cblx0fVxuXG5cdCY6ZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IDAuNTtcblxuXHRcdCY6Y2hlY2tlZCB7XG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gZm9ybS1maWVsZC10ZXh0YXJlYSB7XG5cdEBpbmNsdWRlIGZvcm0tZmllbGQ7XG59XG5cbi5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbjogMCAxcHg7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRjb2xvcjogJHRleHQtdGV4dC1zZWNvbmRhcnk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGhlaWdodDogMjVweDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHRpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG5cdFx0QGluY2x1ZGUgdmlzdWFsbHktaGlkZTtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdCYgKyBsYWJlbC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb2ZmLS1ob3Zlcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdCYgKyBsYWJlbC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZSwgMCAwIDAgMnB4ICRmaWVsZHMtZmllbGQtYm9yZGVyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6Y2hlY2tlZCB7XG5cdFx0XHQmICsgbGFiZWwuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGxlZnQ6IGNhbGMoMTAwJSAtIDJweCk7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3Zlcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGUsIDAgMCAwIDJweCAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6ZGlzYWJsZWQge1xuXHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRzcGFuLFxuXHRsYWJlbCB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtbGFiZWwge1xuXHRcdHBhZGRpbmc6IDAgJHNwYWNpbmctc207XG5cdFx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA2NXB4KTtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMge1xuXHRcdGNvbG9yOiAkdGV4dC10ZXh0LXNlY29uZGFyeTtcblx0XHRmb250LXNpemU6ICR0ZXh0LWZvbnQtc2l6ZS14cztcblx0XHRsaW5lLWhlaWdodDogMTdweDtcblx0XHRwYWRkaW5nOiAwICRzcGFjaW5nLXNtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb2ZmLFxuXHQuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtc3RhdHVzLW9uIHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdH1cblxuXHRpbnB1dDpub3QoOmNoZWNrZWQpIH4gLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLXN0YXR1cy1vZmYsXG5cdGlucHV0OmNoZWNrZWQgfiAuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtc3RhdHVzLW9uIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5ldXRyYWwtMzA7XG5cdFx0Ym9yZGVyLXJhZGl1czogOC41cHg7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRoZWlnaHQ6IDE3cHg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRleHQtaW5kZW50OiAtOTk5OXB4O1xuXHRcdHdpZHRoOiAyN3B4O1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRoZWlnaHQ6IDEzcHg7XG5cdFx0XHRsZWZ0OiAycHg7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDJweDtcblx0XHRcdHdpZHRoOiAxM3B4O1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLW5vcm1hbCBlYXNlLW91dDtcblx0XHR9XG5cdH1cblxuXHRpbnB1dDpkaXNhYmxlZCB+IC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uLFxuXHRpbnB1dDpkaXNhYmxlZCB+IC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb2ZmLFxuXHRpbnB1dDpkaXNhYmxlZCB+IC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb24ge1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0fVxufVxuIiwiQG1peGluIGxpbmstcmVzZXQge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHRib3gtc2hhZG93OiBub25lO1xuXHRvdXRsaW5lOiBub25lO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbkBtaXhpbiB2aXN1YWxseS1oaWRlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRoZWlnaHQ6IDA7XG5cdHdpZHRoOiAwO1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXHRtYXJnaW46IDA7XG5cdG1pbi13aWR0aDogMDtcbn1cblxuQG1peGluIGJhZGdlKCRwb3NpdGlvbjogYWZ0ZXIpIHtcblx0Jjo6I3skcG9zaXRpb259IHtcblx0XHRjb250ZW50OiBcIlBST1wiO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW4tbGVmdDogJHNwYWNpbmctc207XG5cdFx0cGFkZGluZzogNXB4IDhweDtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdGZvbnQtc2l6ZTogOHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiA4cHg7XG5cdFx0Y29sb3I6ICRiYWRnZXMtYmFkZ2UtbmV1dHJhbC10ZXh0O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRiYWRnZXMtYmFkZ2UtbmV1dHJhbC1iYWNrZ3JvdW5kO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtcmFkaXVzLWJhZGdlO1xuXG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cbiIsIi8vIEJ1dHRvbnMuXG4uc3VnYXItY2FsZW5kYXItYnRuIHtcblx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtcmFkaXVzLWJ1dHRvbjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbjogMDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cdHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1mYXN0IGVhc2Utb3V0O1xuXG5cdCYuaW5hY3RpdmUge1xuXHRcdGN1cnNvcjogbm8tZHJvcDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLWJsb2NrIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXNtIHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsaW5lLWhlaWdodDogMjhweDtcblx0cGFkZGluZzogMCAxMHB4O1xuXHRoZWlnaHQ6IDMwcHg7XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tbWQge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGxpbmUtaGVpZ2h0OiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRwYWRkaW5nOiAxMHB4IDE1cHg7XG5cdG1pbi1oZWlnaHQ6IDM2cHg7XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tbGcge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHBhZGRpbmc6IDExcHggMTdweDtcblx0bWluLWhlaWdodDogNDRweDtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1wcmltYXJ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDtcblx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1zZWNvbmRhcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG5cdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0b3V0bGluZTogMDtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXRlcnRpYXJ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQ7XG5cdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlcjtcblx0Y29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0ICFpbXBvcnRhbnQ7XG5cblx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQtLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXItLWhvdmVyO1xuXHRcdGNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dC0taG92ZXIgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyLS1ob3Zlcjtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLWdyZWVuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci11dGlsaXR5LWdyZWVuLTUwO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tcmVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG4iLCIvLyBQYWdlIHN1YmhlYWRlci5cbi5zdWdhci1jYWxlbmRhci1hZG1pbi1zdWJoZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGhlaWdodDogNjBweDtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAxNXB4ICRzcGFjaW5nLWxnO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA3KTtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHQqLFxuXHQqOjpiZWZvcmUsXG5cdCo6OmFmdGVyIHtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cblx0aDQge1xuXHRcdGZvbnQtc2l6ZTogMjJweDtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdGNvbG9yOiAkdGV4dC10ZXh0LXRpdGxlO1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci1idG4tbmV3LWl0ZW0ge1xuXHRcdG1hcmdpbi1sZWZ0OiAkc3BhY2luZy1tZDtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0bWFzazogdXJsKC4uL2ltYWdlcy9pY29ucy9hZGQuc3ZnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdFx0d2lkdGg6IDExcHg7XG5cdFx0XHRoZWlnaHQ6IDExcHg7XG5cdFx0XHRtYXJnaW46IDAgNnB4IDAgMDtcblx0XHR9XG5cdH1cbn1cbiIsIkBpbXBvcnQgJ2FkbWluL3ZhcmlhYmxlcyc7XG5cbkBpbXBvcnQgJ3ZlbmRvci9pbmNsdWRlLW1lZGlhJztcblxuQGltcG9ydCBcImFkbWluL21peGluc1wiO1xuQGltcG9ydCAnYWRtaW4vZ2VuZXJhbCc7XG5AaW1wb3J0ICdhZG1pbi9oZWFkZXInO1xuQGltcG9ydCAnYWRtaW4vZm9ybXMnO1xuQGltcG9ydCAnYWRtaW4vYnV0dG9ucyc7XG5AaW1wb3J0ICdhZG1pbi9zdWJoZWFkZXInO1xuXG4ud3JhcCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogJHNwYWNpbmctbGcgJHNwYWNpbmctbGcgMDtcblxuXHRoMSB7XG5cdFx0Ji53cC1oZWFkaW5nLWlubGluZSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdGEge1xuXHRcdCYucGFnZS10aXRsZS1hY3Rpb24ge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQjcG9zdHN0dWZmIHtcblx0XHRwYWRkaW5nLXRvcDogMDtcblxuXHRcdCN0aXRsZWRpdiB7XG5cdFx0XHQjdGl0bGUtcHJvbXB0LXRleHQge1xuXHRcdFx0XHRwYWRkaW5nOiAxMXB4IDEzcHggOXB4O1xuXHRcdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdFx0fVxuXG5cdFx0XHQjdGl0bGUge1xuXHRcdFx0XHRwYWRkaW5nOiAxMHB4IDEycHg7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE5cHg7XG5cdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdH1cblx0XHR9XG5cblx0XHQucG9zdGJveCB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLW1kO1xuXG5cdFx0XHQmI3N1Ym1pdGRpdiB7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHR9XG5cblx0XHRcdCYuY2xvc2VkIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjM2M0Yzc7XG5cblx0XHRcdFx0LnBvc3Rib3gtaGVhZGVyIHtcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCYjc2NfZXZlbnRfY2F0ZWdvcnlkaXYge1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0XHRcdC5pbnNpZGUge1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXG5cdFx0XHRcdFx0I3NjX2V2ZW50X2NhdGVnb3J5Y2hlY2tsaXN0IHtcblx0XHRcdFx0XHRcdGlucHV0W3R5cGU9cmFkaW9dIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3VnYXItY2FsZW5kYXItYmFja2dyb3VuZC1jb2xvcik7XG5cdFx0XHRcdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0XHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG5cblx0XHRcdFx0XHRcdFx0JjpjaGVja2VkIHtcblx0XHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW46IDRweDtcblx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN1Z2FyLWNhbGVuZGFyLWZvcmVncm91bmQtY29sb3IpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCNzY19ldmVudF9jYXRlZ29yeS1hZGRlciB7XG5cdFx0XHRcdFx0XHRtYXJnaW46ICRzcGFjaW5nLXNtIC0xMnB4IDA7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAxMHB4IDEycHg7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtbGlnaHQ7XG5cdFx0XHRcdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJHN1cmZhY2Utc3VyZmFjZS1ib3JkZXI7XG5cblx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHQmLnRheG9ub215LWFkZC1uZXcge1xuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDIuMTUzODQ2MTU7XG5cdFx0XHRcdFx0XHRcdFx0bWluLWhlaWdodDogMzBweDtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogMCAxMHB4O1xuXHRcdFx0XHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItd2lkdGg6IDFweDtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdFx0XHRcdFx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0XHRcdFx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdFx0XHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG5cdFx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZjBmMGYxO1xuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjMGE0Yjc4O1xuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICMwYTRiNzg7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZjZmN2Y3O1xuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjMzU4MmM0O1xuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICMwYTRiNzg7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggIzM1ODJjNDtcblx0XHRcdFx0XHRcdFx0XHRcdG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdFx0XHRcdG91dGxpbmUtb2Zmc2V0OiAwO1xuXHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdCY6YWN0aXZlIHtcblx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmNmY3Zjc7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3JkZXItY29sb3I6ICM4YzhmOTQ7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmOm5vdCgud3AtaGlkZGVuLWNoaWxkcmVuKSB7XG5cdFx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRcdCYudGF4b25vbXktYWRkLW5ldyB7XG5cdFx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZjBmMGYxO1xuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjOGM4Zjk0O1xuXHRcdFx0XHRcdFx0XHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAycHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiJdfQ== */
  • sugar-calendar-lite/trunk/assets/css/admin-event.min.css

    r3095175 r3118281  
    1 #wpcontent{padding-left:0 !important;position:relative}@media screen and (max-width: 600px){#wpcontent{padding-top:46px}}@media screen and (max-width: 600px){#wpbody{padding-top:0}}.sugar-calendar-admin-wrap{margin:0}.sugar-calendar-admin-wrap .notice{margin:0 0 30px}.sugar-calendar-admin-content{padding:30px 30px 0 30px}.sugar-calendar-admin-content *,.sugar-calendar-admin-content *::before,.sugar-calendar-admin-content *::after{box-sizing:border-box}.sugar-calendar-admin-content:before{content:" ";display:table}.sugar-calendar-admin-content:after{clear:both;content:" ";display:table}.sugar-calendar-admin-content hr{border:none;border-top:1px solid #e4e4e4;margin:20px 0;background:none}.sugar-calendar-admin-content code{display:inline-block;padding:0 6px;font-size:12px;line-height:20px;color:#50575e}.sugar-calendar-admin-content strong{font-weight:500}.sugar-calendar-admin-content p.submit{margin:0;padding:30px 0 20px 0;border-top:1px solid #e4e4e4}.sugar-calendar-admin-content p.submit:last-of-type{padding-bottom:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th,.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{vertical-align:top}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th{padding-top:2px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{padding-top:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child h3{margin-top:0}#sugar-calendar-header-temp{margin:0;position:absolute;top:-1px;left:20px;right:0;z-index:99}@media(max-width: 599px){#sugar-calendar-header-temp{padding-top:50px}}#sugar-calendar-header{padding:20px 30px;box-sizing:border-box;border-bottom:1px solid #dcdcde;background-color:#fff;display:flex;align-items:center}#sugar-calendar-header img{display:block;margin:0;max-width:296px}@media(max-width: 768px){#sugar-calendar-header img{max-width:200px}}#sugar-calendar-header a#sugar-calendar-header-help{margin-left:auto;color:#a7aaad;text-decoration:none;font-size:13px;line-height:13px;display:flex;align-items:center}#sugar-calendar-header a#sugar-calendar-header-help:before{content:"";mask-image:url("../images/icons/question-circle.svg");mask-position:center center;background-color:#a7aaad;width:16px;height:16px;margin-right:6px}#sugar-calendar-header a#sugar-calendar-header-help:hover,#sugar-calendar-header a#sugar-calendar-header-help:focus{color:#646970}#sugar-calendar-header a#sugar-calendar-header-help:hover:before,#sugar-calendar-header a#sugar-calendar-header-help:focus:before{background-color:#646970}@media screen and (min-width: 1024px){#sugar-calendar-notice-bar+#sugar-calendar-header-temp{top:34px}}.sugar-calendar-toggle-control{display:flex;align-items:center;margin:0 1px;line-height:1;color:#50575e;font-weight:500;height:25px;box-sizing:border-box}.sugar-calendar-toggle-control input[type=checkbox]{position:absolute;overflow:hidden;height:0;width:0;border:none !important;box-shadow:none !important;margin:0;min-width:0}.sugar-calendar-toggle-control input[type=checkbox]:hover,.sugar-calendar-toggle-control input[type=checkbox]:focus{border:none !important;box-shadow:none !important}.sugar-calendar-toggle-control input[type=checkbox]:hover:not(:disabled)+label.sugar-calendar-toggle-control-icon{background-color:#646970}.sugar-calendar-toggle-control input[type=checkbox]:focus:not(:disabled)+label.sugar-calendar-toggle-control-icon{box-shadow:0 0 0 1px #fff,0 0 0 2px #8c8f94}.sugar-calendar-toggle-control input[type=checkbox]:checked+label.sugar-calendar-toggle-control-icon{background-color:#2271b1}.sugar-calendar-toggle-control input[type=checkbox]:checked+label.sugar-calendar-toggle-control-icon:after{left:calc(100% - 2px);transform:translateX(-100%)}.sugar-calendar-toggle-control input[type=checkbox]:checked:hover:not(:disabled)+label.sugar-calendar-toggle-control-icon{background-color:#0a4b78}.sugar-calendar-toggle-control input[type=checkbox]:checked:focus:not(:disabled)+label.sugar-calendar-toggle-control-icon{box-shadow:0 0 0 1px #fff,0 0 0 2px #2271b1}.sugar-calendar-toggle-control input[type=checkbox]:disabled+label.sugar-calendar-toggle-control-icon{opacity:.5}.sugar-calendar-toggle-control input[type=checkbox]:disabled:hover+label.sugar-calendar-toggle-control-icon,.sugar-calendar-toggle-control input[type=checkbox]:disabled:focus+label.sugar-calendar-toggle-control-icon{box-shadow:none}.sugar-calendar-toggle-control span,.sugar-calendar-toggle-control label{display:inline-block;margin-bottom:0}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-label{padding:0 10px;max-width:calc(100% - 65px)}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status{color:#50575e;font-size:12px;line-height:17px;padding:0 10px;text-transform:uppercase;display:none}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status-on{cursor:pointer}.sugar-calendar-toggle-control input:not(:checked)~.sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control input:checked~.sugar-calendar-toggle-control-status-on{display:inline-block}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-icon{background-color:#8c8f94;border-radius:8.5px;cursor:pointer;display:inline-block;height:17px;position:relative;text-indent:-9999px;width:27px}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-icon:after{background:#fff;border-radius:50%;content:"";height:13px;left:2px;position:absolute;top:2px;width:13px;transition:all .15s ease-out}.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-icon,.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-status-on{cursor:default}.sugar-calendar-btn{border-width:1px;border-style:solid;border-radius:4px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;box-shadow:none;transition:all .05s ease-out}.sugar-calendar-btn.inactive{cursor:no-drop;pointer-events:none;box-shadow:none;opacity:.5}.sugar-calendar-btn-block{display:block;width:100%}.sugar-calendar-btn-sm{font-size:13px;font-weight:500;line-height:28px;padding:0 10px;height:30px}.sugar-calendar-btn-md{font-size:14px;line-height:14px;font-weight:500;padding:10px 15px;min-height:36px}.sugar-calendar-btn-lg{font-size:16px;font-weight:500;padding:11px 17px;min-height:44px}.sugar-calendar-btn-primary{background-color:#ff8845;border-color:#ff8845;color:#fff !important}.sugar-calendar-btn-primary:hover,.sugar-calendar-btn-primary:active,.sugar-calendar-btn-primary:focus{background-color:#cb6d37;border-color:#cb6d37;color:#fff !important}.sugar-calendar-btn-primary:focus{box-shadow:0 0 0 2px #cb6d37;border-color:#fff;outline:0}.sugar-calendar-btn-secondary{background-color:#2271b1;border-color:#2271b1;color:#fff !important}.sugar-calendar-btn-secondary:hover,.sugar-calendar-btn-secondary:focus{background-color:#0a4b78;border-color:#0a4b78;color:#fff !important}.sugar-calendar-btn-secondary:focus{box-shadow:0 0 0 2px #0a4b78;border-color:#fff;outline:0}.sugar-calendar-btn-tertiary{background-color:#f6f7f7;border-color:#8c8f94;color:#50575e !important}.sugar-calendar-btn-tertiary:hover,.sugar-calendar-btn-tertiary:focus{background-color:#f0f0f1;border-color:#50575e;color:#2c3338 !important}.sugar-calendar-btn-tertiary:focus{box-shadow:0 0 0 1px #50575e}.sugar-calendar-btn-green{background-color:#008a20;border:1px solid #008a20;color:#fff !important}.sugar-calendar-btn-green:focus{box-shadow:0 0 0 2px #008a20;border-color:#fff;outline:0}.sugar-calendar-btn-red{background-color:#d63638;border:1px solid #d63638;color:#fff !important}.sugar-calendar-btn-red:focus{box-shadow:0 0 0 2px #d63638;border-color:#fff;outline:0}.sugar-calendar-admin-subheader{display:flex;flex-wrap:wrap;align-items:center;height:60px;margin:0;padding:15px 30px;background-color:#fff;list-style:none;font-size:14px;font-weight:400;box-shadow:0 2px 4px 0 rgba(0,0,0,.07);box-sizing:border-box}.sugar-calendar-admin-subheader *,.sugar-calendar-admin-subheader *::before,.sugar-calendar-admin-subheader *::after{box-sizing:border-box}.sugar-calendar-admin-subheader h4{font-size:22px;font-weight:500;line-height:20px;color:#101517;margin:0}.sugar-calendar-admin-subheader .sugar-calendar-btn-new-item{margin-left:20px}.sugar-calendar-admin-subheader .sugar-calendar-btn-new-item::before{content:"";display:inline-block;mask:url(../images/icons/add.svg) center center no-repeat;background-color:#fff;width:11px;height:11px;margin:0 6px 0 0}.wrap{margin:0;padding:30px 30px 0}.wrap h1.wp-heading-inline{display:none}.wrap a.page-title-action{display:none}.wrap #poststuff{padding-top:0}.wrap #poststuff #titlediv #title-prompt-text{padding:11px 13px 9px;font-size:18px;line-height:20px}.wrap #poststuff #titlediv #title{padding:10px 12px;font-size:18px;line-height:19px;height:auto}.wrap #poststuff .postbox{border-radius:4px}.wrap #poststuff .postbox#submitdiv{overflow:hidden}.wrap #poststuff .postbox.closed{border-bottom:1px solid #c3c4c7}.wrap #poststuff .postbox.closed .postbox-header{border-bottom:none}.wrap #poststuff .postbox#sc_event_categorydiv{overflow:hidden}.wrap #poststuff .postbox#sc_event_categorydiv .inside{padding-bottom:0}.wrap #poststuff .postbox#sc_event_categorydiv .inside #sc_event_categorychecklist input[type=radio]{background-color:var(--sugar-calendar-background-color);border:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}.wrap #poststuff .postbox#sc_event_categorydiv .inside #sc_event_categorychecklist input[type=radio]:checked:before{margin:4px;background-color:var(--sugar-calendar-foreground-color)}.wrap #poststuff .postbox#sc_event_categorydiv .inside #sc_event_category-adder{margin:10px -12px 0;padding:10px 12px;background-color:#f6f6f6;border-top:1px solid #c3c4c7}.wrap #poststuff .postbox#sc_event_categorydiv .inside #sc_event_category-adder a.taxonomy-add-new{display:inline-block;text-decoration:none;font-size:13px;font-weight:400;line-height:2.15384615;min-height:30px;margin:0;padding:0 10px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-sizing:border-box}.wrap #poststuff .postbox#sc_event_categorydiv .inside #sc_event_category-adder a.taxonomy-add-new:hover{background:#f0f0f1;border-color:#0a4b78;color:#0a4b78}.wrap #poststuff .postbox#sc_event_categorydiv .inside #sc_event_category-adder a.taxonomy-add-new:focus{background:#f6f7f7;border-color:#3582c4;color:#0a4b78;box-shadow:0 0 0 1px #3582c4;outline:2px solid rgba(0,0,0,0);outline-offset:0}.wrap #poststuff .postbox#sc_event_categorydiv .inside #sc_event_category-adder a.taxonomy-add-new:active{background:#f6f7f7;border-color:#8c8f94;box-shadow:none}.wrap #poststuff .postbox#sc_event_categorydiv .inside #sc_event_category-adder:not(.wp-hidden-children) a.taxonomy-add-new{background:#f0f0f1;border-color:#8c8f94;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.25)}
     1#wpcontent{padding-left:0 !important;position:relative}@media screen and (max-width: 600px){#wpcontent{padding-top:46px}}@media screen and (max-width: 600px){#wpbody{padding-top:0}}.sugar-calendar-admin-wrap{margin:0}.sugar-calendar-admin-wrap .notice{margin:0 0 15px}.sugar-calendar-admin-content{padding:30px 30px 0 30px}.sugar-calendar-admin-content *,.sugar-calendar-admin-content *::before,.sugar-calendar-admin-content *::after{box-sizing:border-box}.sugar-calendar-admin-content:before{content:" ";display:table}.sugar-calendar-admin-content:after{clear:both;content:" ";display:table}.sugar-calendar-admin-content hr{border:none;border-top:1px solid #e4e4e4;margin:20px 0;background:none}.sugar-calendar-admin-content code{display:inline-block;padding:0 6px;font-size:12px;line-height:20px;color:#50575e}.sugar-calendar-admin-content strong{font-weight:500}.sugar-calendar-admin-content p.submit{margin:0;padding:30px 0 20px 0;border-top:1px solid #e4e4e4}.sugar-calendar-admin-content p.submit:last-of-type{padding-bottom:0}.sugar-calendar-admin-content .sugar-calendar-admin-content__settings-form{padding-top:15px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th,.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{vertical-align:top}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th{padding-top:2px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{padding-top:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child h3{margin-top:0}#sugar-calendar-header-temp{margin:0;position:absolute;top:-1px;left:20px;right:0;z-index:99}@media(max-width: 599px){#sugar-calendar-header-temp{padding-top:50px}}#sugar-calendar-header{padding:20px 30px;box-sizing:border-box;border-bottom:1px solid #dcdcde;background-color:#fff;display:flex;align-items:center}#sugar-calendar-header img{display:block;margin:0;max-width:296px}@media(max-width: 768px){#sugar-calendar-header img{max-width:200px}}#sugar-calendar-header a#sugar-calendar-header-help{margin-left:auto;color:#a7aaad;text-decoration:none;font-size:13px;line-height:13px;display:flex;align-items:center}#sugar-calendar-header a#sugar-calendar-header-help:before{content:"";mask-image:url("../images/icons/question-circle.svg");mask-position:center center;background-color:#a7aaad;width:16px;height:16px;margin-right:6px}#sugar-calendar-header a#sugar-calendar-header-help:hover,#sugar-calendar-header a#sugar-calendar-header-help:focus{color:#646970}#sugar-calendar-header a#sugar-calendar-header-help:hover:before,#sugar-calendar-header a#sugar-calendar-header-help:focus:before{background-color:#646970}@media screen and (min-width: 1024px){#sugar-calendar-notice-bar+#sugar-calendar-header-temp{top:34px}}.sugar-calendar-toggle-control{display:flex;align-items:center;margin:0 1px;line-height:1;color:#50575e;font-weight:500;height:25px;box-sizing:border-box}.sugar-calendar-toggle-control input[type=checkbox]{position:absolute;overflow:hidden;height:0;width:0;border:none !important;box-shadow:none !important;margin:0;min-width:0}.sugar-calendar-toggle-control input[type=checkbox]:hover,.sugar-calendar-toggle-control input[type=checkbox]:focus{border:none !important;box-shadow:none !important}.sugar-calendar-toggle-control input[type=checkbox]:hover:not(:disabled)+label.sugar-calendar-toggle-control-icon{background-color:#646970}.sugar-calendar-toggle-control input[type=checkbox]:focus:not(:disabled)+label.sugar-calendar-toggle-control-icon{box-shadow:0 0 0 1px #fff,0 0 0 2px #8c8f94}.sugar-calendar-toggle-control input[type=checkbox]:checked+label.sugar-calendar-toggle-control-icon{background-color:#2271b1}.sugar-calendar-toggle-control input[type=checkbox]:checked+label.sugar-calendar-toggle-control-icon:after{left:calc(100% - 2px);transform:translateX(-100%)}.sugar-calendar-toggle-control input[type=checkbox]:checked:hover:not(:disabled)+label.sugar-calendar-toggle-control-icon{background-color:#0a4b78}.sugar-calendar-toggle-control input[type=checkbox]:checked:focus:not(:disabled)+label.sugar-calendar-toggle-control-icon{box-shadow:0 0 0 1px #fff,0 0 0 2px #2271b1}.sugar-calendar-toggle-control input[type=checkbox]:disabled+label.sugar-calendar-toggle-control-icon{opacity:.5}.sugar-calendar-toggle-control input[type=checkbox]:disabled:hover+label.sugar-calendar-toggle-control-icon,.sugar-calendar-toggle-control input[type=checkbox]:disabled:focus+label.sugar-calendar-toggle-control-icon{box-shadow:none}.sugar-calendar-toggle-control span,.sugar-calendar-toggle-control label{display:inline-block;margin-bottom:0}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-label{padding:0 10px;max-width:calc(100% - 65px)}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status{color:#50575e;font-size:12px;line-height:17px;padding:0 10px;text-transform:uppercase;display:none}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status-on{cursor:pointer}.sugar-calendar-toggle-control input:not(:checked)~.sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control input:checked~.sugar-calendar-toggle-control-status-on{display:inline-block}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-icon{background-color:#8c8f94;border-radius:8.5px;cursor:pointer;display:inline-block;height:17px;position:relative;text-indent:-9999px;width:27px}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-icon:after{background:#fff;border-radius:50%;content:"";height:13px;left:2px;position:absolute;top:2px;width:13px;transition:all .15s ease-out}.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-icon,.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-status-on{cursor:default}.sugar-calendar-btn{border-width:1px;border-style:solid;border-radius:4px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;box-shadow:none;transition:all .05s ease-out}.sugar-calendar-btn.inactive{cursor:no-drop;pointer-events:none;box-shadow:none;opacity:.5}.sugar-calendar-btn-block{display:block;width:100%}.sugar-calendar-btn-sm{font-size:13px;font-weight:500;line-height:28px;padding:0 10px;height:30px}.sugar-calendar-btn-md{font-size:14px;line-height:14px;font-weight:500;padding:10px 15px;min-height:36px}.sugar-calendar-btn-lg{font-size:16px;font-weight:500;padding:11px 17px;min-height:44px}.sugar-calendar-btn-primary{background-color:#ff8845;border-color:#ff8845;color:#fff !important}.sugar-calendar-btn-primary:hover,.sugar-calendar-btn-primary:active,.sugar-calendar-btn-primary:focus{background-color:#cb6d37;border-color:#cb6d37;color:#fff !important}.sugar-calendar-btn-primary:focus{box-shadow:0 0 0 2px #cb6d37;border-color:#fff;outline:0}.sugar-calendar-btn-secondary{background-color:#2271b1;border-color:#2271b1;color:#fff !important}.sugar-calendar-btn-secondary:hover,.sugar-calendar-btn-secondary:focus{background-color:#0a4b78;border-color:#0a4b78;color:#fff !important}.sugar-calendar-btn-secondary:focus{box-shadow:0 0 0 2px #0a4b78;border-color:#fff;outline:0}.sugar-calendar-btn-tertiary{background-color:#f6f7f7;border-color:#8c8f94;color:#50575e !important}.sugar-calendar-btn-tertiary:hover,.sugar-calendar-btn-tertiary:focus{background-color:#f0f0f1;border-color:#50575e;color:#2c3338 !important}.sugar-calendar-btn-tertiary:focus{box-shadow:0 0 0 1px #50575e}.sugar-calendar-btn-green{background-color:#008a20;border:1px solid #008a20;color:#fff !important}.sugar-calendar-btn-green:focus{box-shadow:0 0 0 2px #008a20;border-color:#fff;outline:0}.sugar-calendar-btn-red{background-color:#d63638;border:1px solid #d63638;color:#fff !important}.sugar-calendar-btn-red:focus{box-shadow:0 0 0 2px #d63638;border-color:#fff;outline:0}.sugar-calendar-admin-subheader{display:flex;flex-wrap:wrap;align-items:center;height:60px;margin:0;padding:15px 30px;background-color:#fff;list-style:none;font-size:14px;font-weight:400;box-shadow:0 2px 4px 0 rgba(0,0,0,.07);box-sizing:border-box}.sugar-calendar-admin-subheader *,.sugar-calendar-admin-subheader *::before,.sugar-calendar-admin-subheader *::after{box-sizing:border-box}.sugar-calendar-admin-subheader h4{font-size:22px;font-weight:500;line-height:20px;color:#101517;margin:0}.sugar-calendar-admin-subheader .sugar-calendar-btn-new-item{margin-left:20px}.sugar-calendar-admin-subheader .sugar-calendar-btn-new-item::before{content:"";display:inline-block;mask:url(../images/icons/add.svg) center center no-repeat;background-color:#fff;width:11px;height:11px;margin:0 6px 0 0}.wrap{margin:0;padding:30px 30px 0}.wrap h1.wp-heading-inline{display:none}.wrap a.page-title-action{display:none}.wrap #poststuff{padding-top:0}.wrap #poststuff #titlediv #title-prompt-text{padding:11px 13px 9px;font-size:18px;line-height:20px}.wrap #poststuff #titlediv #title{padding:10px 12px;font-size:18px;line-height:19px;height:auto}.wrap #poststuff .postbox{border-radius:4px}.wrap #poststuff .postbox#submitdiv{overflow:hidden}.wrap #poststuff .postbox.closed{border-bottom:1px solid #c3c4c7}.wrap #poststuff .postbox.closed .postbox-header{border-bottom:none}.wrap #poststuff .postbox#sc_event_categorydiv{overflow:hidden}.wrap #poststuff .postbox#sc_event_categorydiv .inside{padding-bottom:0}.wrap #poststuff .postbox#sc_event_categorydiv .inside #sc_event_categorychecklist input[type=radio]{background-color:var(--sugar-calendar-background-color);border:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}.wrap #poststuff .postbox#sc_event_categorydiv .inside #sc_event_categorychecklist input[type=radio]:checked:before{margin:4px;background-color:var(--sugar-calendar-foreground-color)}.wrap #poststuff .postbox#sc_event_categorydiv .inside #sc_event_category-adder{margin:10px -12px 0;padding:10px 12px;background-color:#f6f6f6;border-top:1px solid #c3c4c7}.wrap #poststuff .postbox#sc_event_categorydiv .inside #sc_event_category-adder a.taxonomy-add-new{display:inline-block;text-decoration:none;font-size:13px;font-weight:400;line-height:2.15384615;min-height:30px;margin:0;padding:0 10px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-sizing:border-box}.wrap #poststuff .postbox#sc_event_categorydiv .inside #sc_event_category-adder a.taxonomy-add-new:hover{background:#f0f0f1;border-color:#0a4b78;color:#0a4b78}.wrap #poststuff .postbox#sc_event_categorydiv .inside #sc_event_category-adder a.taxonomy-add-new:focus{background:#f6f7f7;border-color:#3582c4;color:#0a4b78;box-shadow:0 0 0 1px #3582c4;outline:2px solid rgba(0,0,0,0);outline-offset:0}.wrap #poststuff .postbox#sc_event_categorydiv .inside #sc_event_category-adder a.taxonomy-add-new:active{background:#f6f7f7;border-color:#8c8f94;box-shadow:none}.wrap #poststuff .postbox#sc_event_categorydiv .inside #sc_event_category-adder:not(.wp-hidden-children) a.taxonomy-add-new{background:#f0f0f1;border-color:#8c8f94;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.25)}
  • sugar-calendar-lite/trunk/assets/css/admin-events.css

    r3095175 r3118281  
    2121}
    2222.sugar-calendar-admin-wrap .notice {
    23   margin: 0 0 30px;
     23  margin: 0 0 15px;
    2424}
    2525
     
    6464.sugar-calendar-admin-content p.submit:last-of-type {
    6565  padding-bottom: 0;
     66}
     67.sugar-calendar-admin-content .sugar-calendar-admin-content__settings-form {
     68  padding-top: 15px;
    6669}
    6770
     
    843846  padding-top: 10px;
    844847}
    845 /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3NzL2FkbWluL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19nZW5lcmFsLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9faGVhZGVyLnNjc3MiLCJhc3NldHMvc2Nzcy92ZW5kb3IvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19mb3Jtcy5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX21peGlucy5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX2J1dHRvbnMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19zdWJoZWFkZXIuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL190YWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluLWV2ZW50cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0FBNERBO0FDM0RBO0VBQ0M7RUFDQTs7QUFFQTtFQUpEO0lBS0U7Ozs7QUFLRDtFQUREO0lBRUU7Ozs7QUFLRjtFQUNDOztBQUVBO0VBQ0M7OztBQUtGO0VBQ0M7O0FBRUE7QUFBQTtBQUFBO0VBR0M7O0FBR0Q7RUFDQztFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLE9EekNpQjs7QUM0Q2xCO0VBQ0M7O0FBSUE7RUFDQztFQUNBO0VBQ0E7O0FBRUE7RUFDQzs7O0FBWUE7QUFBQTtFQUVDOztBQUdEO0VBQ0M7O0FBR0Q7RUFDQzs7QUFHRDtFQUNDOzs7QUNsR0w7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FDeWxCRztFRC9sQko7SUFTRTs7OztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0Esa0JGWXFCO0VFWHJCO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7O0FDdWtCRTtFRDFrQkg7SUFNRTs7O0FBSUY7RUFDQztFQUNBLE9GWmlCO0VFYWpCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQSxrQkZ2QmdCO0VFd0JoQjtFQUNBO0VBQ0E7O0FBR0Q7RUFFQyxPRmxDZ0I7O0FFb0NoQjtFQUNDLGtCRnJDZTs7O0FFMkNuQjtFQUNDO0lBQ0M7OztBRW1FRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT0p0SGtCO0VJdUhsQjtFQUNBO0VBQ0E7O0FBRUE7RUNySUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURpSUM7RUFFQztFQUNBOztBQUlBO0VBQ0Msa0JKckllOztBSTBJaEI7RUFDQzs7QUFLRDtFQUNDLGtCSnpKa0I7O0FJMkpsQjtFQUNDO0VBQ0E7O0FBS0Q7RUFDQyxrQkpqS2lCOztBSXNLbEI7RUFDQzs7QUFNRjtFQUNDOztBQUtBO0VBQ0M7O0FBTUo7QUFBQTtFQUVDO0VBQ0E7O0FBR0Q7RUFDQztFQUNBOztBQUdEO0VBQ0MsT0pqTWlCO0VJa01qQixXSmxHa0I7RUltR2xCO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0FBQUE7RUFFQzs7QUFHRDtBQUFBO0VBRUM7O0FBR0Q7RUFDQyxrQkpsTmlCO0VJbU5qQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDLFlKbE5tQjtFSW1ObkI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJRjtBQUFBO0FBQUE7RUFHQzs7O0FFL1BGO0VBQ0M7RUFDQTtFQUNBLGVORFc7RU1FWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDQztFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQyxrQk4xQ3VCO0VNMkN2QixjTjNDdUI7RU00Q3ZCOztBQUVBO0VBQ0Msa0JOOUNzQjtFTStDdEIsY04vQ3NCO0VNZ0R0Qjs7QUFHRDtFQUNDO0VBQ0EsY05qQ29CO0VNa0NwQjs7O0FBSUY7RUFDQyxrQk4xRHFCO0VNMkRyQixjTjNEcUI7RU00RHJCOztBQUVBO0VBQ0Msa0JON0RvQjtFTThEcEIsY045RG9CO0VNK0RwQjs7QUFHRDtFQUNDO0VBQ0EsY05uRG9CO0VNb0RwQjs7O0FBSUY7RUFDQyxrQk4xRGlCO0VNMkRqQixjTnBFa0I7RU1xRWxCOztBQUVBO0VBQ0Msa0JOaEVnQjtFTWlFaEIsY04zRWlCO0VNNEVqQjs7QUFHRDtFQUNDOzs7QUFJRjtFQUNDLGtCTjdFd0I7RU04RXhCO0VBQ0E7O0FBRUE7RUFDQztFQUNBLGNOL0VvQjtFTWdGcEI7OztBQUlGO0VBQ0Msa0JOM0ZzQjtFTTRGdEI7RUFDQTs7QUFFQTtFQUNDO0VBQ0EsY04zRm9CO0VNNEZwQjs7O0FDMUhGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JQdUJxQjtFT3RCckI7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7RUFHQzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBLE9QVmtCO0VPV2xCOztBQUdEO0VBQ0MsYVB2Qlc7O0FPeUJYO0VBQ0M7RUFDQTtFQUNBO0VBQ0Esa0JQTG1CO0VPTW5CO0VBQ0E7RUFDQTs7O0FDckNGO0VBQ0MsY1JHVzs7QVFBWjtFQUNDO0VBQ0E7OztBQU1BO0VBQ0M7O0FBR0Q7RUFDQztFQUNBOztBQUlGO0VBQ0M7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTs7QUFHRDtFQUNDLE9SZmdCO0VRZ0JoQjs7QUFLQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBUUY7RUFDQzs7O0FDMUNIO0VBQ0M7RUFDQTtFQUNBLEtUVlc7O0FTWVg7RUFDQztFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxRVG5CUztFU29CVDtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQlRiYztFU2NkO0VBQ0E7O0FBR0Q7RUFFQzs7QUFHQztFQUNDLGtCVDNCWTs7QVNnQ2Y7RUFDQyxrQlRyQmtCOztBU3VCbEI7RUFDQyxrQlQ5Q2tCOztBU21EbkI7RUFDQzs7QUFLRDtFQUNDOztBQUtEO0VBQ0M7O0FBS0Q7RUFDQzs7QUFPTDtFQUNDOztBQUVBO0VBQ0Msa0JUN0RlO0VTOERmLE9UekVnQjtFUzBFaEIsY1R4RWdCO0VTeUVoQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7O0FBRUE7RUFMRDtJQU1FOzs7QUFHRDtFQUNDLE1UNUZjO0VTNkZkO0VBQ0E7O0FBSUY7RUFHQyxrQlQxRmM7RVMyRmQsY1R0R2U7O0FTeUdkO0VBQ0MsTVQ1R2E7O0FTaUhoQjtFQUNDOztBQUdEO0VBRUM7O0FBS0M7RUFDQzs7QUFNSjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQlQzSG1CO0VTNEhuQixlVHZKUztFU3dKVDs7QUFFQTtFQUNDOztBQUVBO0VBQ0M7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQSxPVHBKYzs7QVN1SmY7RUFDQztFQUNBO0VBQ0EsT1Q1SmM7RVM2SmQsZVQxS1E7O0FTNEtSO0VMaEdKO0VBQ0E7RUtrR0s7O0FMaEdMO0VBQ0MsY0oxRW9COztBSTZFckI7RUFDQyxjSjlFb0I7RUkrRXBCOztBQUdEO0VBQ0Msa0JKbkZvQjtFSW9GcEIsY0pwRm9COztBSXNGcEI7RUFDQztFQUNBO0VBQ0Esa0JKdEVtQjtFSXVFbkI7RUFDQTtFQUNBOztBQUdEO0VBQ0MsY0o5Rm1CO0VJK0ZuQixrQkovRm1COztBSWtHcEI7RUFDQzs7QUFJRjtFQUNDOztBQUdDO0VBQ0M7O0FLK0RBO0FBQUE7RUFFQyxPVHhLYztFU3lLZDtFQUNBOztBQUtEO0VBQ0M7RUFDQTs7O0FBT0w7RUFDQyxlVHpNVztFUzBNWCxrQlQ5S3FCO0VTK0tyQjtFQUNBOztBQUdDO0VBR0M7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBOztBQUdEO0VBQ0M7O0FBRUE7RUFDQzs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBLGtCVDVNa0I7O0FTOE1sQjtFQUNDO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPVDNPYztFUzRPZDtFQUNBOztBQUdEO0VBQ0MsUVQ1UFE7RVM2UFI7RUFDQTtFQUNBO0VBQ0EsT1QvT2M7RVNnUGQ7O0FBRUE7RUFDQyxPVHRQYTs7QVM0UGY7RUovUUg7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUlpUkc7RUFDQztFQUNBLE9UdlFjO0VTd1FkO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQyxZVDFSTzs7QVM2UlI7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJQTtFQUNDOztBQU1KO0VBQ0M7RUFDQTs7QUFFQTtFQUNDLGVUMVRPO0VTMlRQLGtCVC9SaUI7O0FTaVNqQjtFQUNDOztBQUVBO0VBQ0Msd0JUalVLO0VTa1VMLHlCVGxVSztFU21VTCxrQlQxVGU7O0FTNFRmO0VBQ0M7RUFDQTtFQUNBLE9UNVNjO0VTNlNkOztBQUVBO0VKN1VQO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FJK1VLO0VBQ0M7RUFDQTtFQUNBO0VBQ0EsT1R2VVk7RVN3VVo7RUFDQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtFQUVDOztBQUlBO0VBQ0MsWVQ3Vkk7O0FTZ1dMO0VBQ0MsT1RwVlU7O0FTeVZiO0VBQ0M7RUFDQSxrQlRyVWdCO0VTc1VoQjtFQUNBO0VBQ0EsMkJUOVdLO0VTK1dMLDRCVC9XSztFU2dYTDs7QUFFQTtFQUNDOztBQUVBO0VBQ0M7O0FBRUE7RUFDQzs7QUFRSjtFQUNDOztBQUVBO0VBQ0M7RUFDQSxrQlRuWFc7O0FTc1haO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQlRyWGM7RVNzWGQ7O0FBT0Q7RUFDQyxxQlRqWmM7O0FTMFpuQjtFQUNDOztBQUlFO0VBQ0MsT1RwWlc7O0FTeVpkO0VBQ0Msa0JUellrQjs7QVNpWm5CO0VBQ0Msa0JUbFprQjs7QVN1Wm5CO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPVGpiYzs7QVNvYmY7RUFDQzs7QUFNQTtFQUNDLGdCVDFjTztFUzJjUDs7QUFHQztFQUNDO0VBQ0E7RUFDQTtFQUNBLGFUamRLO0VTa2RMO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOztBQVVOO0VBQ0M7O0FBR0M7RUFDQztFQUNBOztBQUtEO0VBQ0M7RUFDQTs7QUFJRjtFQUNDLGFUcGZROztBUzRmUjtFQUNDLGFUN2ZPIiwiZmlsZSI6ImFzc2V0cy9jc3MvYWRtaW4tZXZlbnRzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFkbWluIHZhcmlhYmxlcy5cblxuLyogVmFyaWFibGVzICAqL1xuJHJhZGl1cy1tZDogNHB4O1xuJHJhZGl1cy1sZzogNnB4O1xuJHJhZGl1cy1zbTogM3B4O1xuJHNwYWNpbmctc206IDEwcHg7XG4kc3BhY2luZy1tZDogMjBweDtcbiRzcGFjaW5nLWxnOiAzMHB4O1xuJHNwYWNpbmcteGw6IDUwcHg7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTUwOiAjRkY4ODQ1RkY7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTcwOiAjQ0I2RDM3RkY7XG4kY29sb3ItYnJhbmQtYmx1ZS01MDogIzIyNzFCMUZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTUwOiAjMDBBMEQyRkY7XG4kY29sb3ItYnJhbmQtYmx1ZS03MDogIzBBNEI3OEZGO1xuJGNvbG9yLW5ldXRyYWwtMTAwOiAjMTAxNTE3O1xuJGNvbG9yLW5ldXRyYWwtOTA6ICMxRDIzMjdGRjtcbiRjb2xvci1uZXV0cmFsLTgwOiAjMkMzMzM4RkY7XG4kY29sb3ItbmV1dHJhbC03MDogIzNDNDM0QUZGO1xuJGNvbG9yLW5ldXRyYWwtNjA6ICM1MDU3NUVGRjtcbiRjb2xvci1uZXV0cmFsLTUwOiAjNjQ2OTcwRkY7XG4kY29sb3ItbmV1dHJhbC0zMDogIzhDOEY5NEZGO1xuJGNvbG9yLW5ldXRyYWwtMTA6ICNDM0M0QzdGRjtcbiRjb2xvci1uZXV0cmFsLTIwOiAjQTdBQUFERkY7XG4kY29sb3ItbmV1dHJhbC01OiAjRENEQ0RFRkY7XG4kY29sb3ItdXRpbGl0eS1yZWQtNTA6ICNENjM2MzhGRjtcbiRjb2xvci11dGlsaXR5LXllbGxvdy01MDogI0RCQTYxN0ZGO1xuJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA6ICMwMDhBMjBGRjtcbiRyYWRpdXMteGw6IDlweDtcbiRjb2xvci1uZXV0cmFsLTM6ICNGMEYwRjFGRjtcbiRjb2xvci1uZXV0cmFsLTA6ICNGNkY3RjdGRjtcbiRjb2xvci11dGlsaXR5LXdoaXRlOiAjRkZGRkZGRkY7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTA6ICNGRkYzRUNGRjtcbiRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0wOiAjRTVGNUZBRkY7XG4kY29sb3ItdXRpbGl0eS1ncmVlbi0wOiAjRURGQUVGRkY7XG4kY29sb3ItdXRpbGl0eS1yZWQtMDogI0ZDRjBGMUZGO1xuJGNvbG9yLWJyYW5kLW9yYW5nZS0zMDogI0ZGQTA2QUZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTMwOiAjNjZDNkU0RkY7XG4kY29sb3ItdXRpbGl0eS1ncmVlbi0zMDogIzAwQkEzN0ZGO1xuJGNvbG9yLXV0aWxpdHktcmVkLTMwOiAjRjg2MzY4RkY7XG4kY29sb3Itd29yZHByZXNzLWJsdWU6ICMyMjcxQjFGRjtcbiRjb2xvci11dGlsaXR5LWdyYXktMDogI0Y2RjZGNkZGO1xuJGNvbG9yLWFjY2VudC1vcmFuZ2UtNTA6ICNGRTlFNjhGRjtcbiRjb2xvci1hY2NlbnQtb3JhbmdlLTA6ICNGRkYwRThGRjtcbiRjb2xvci1hY2NlbnQtcmVkLTUwOiAjRkY3MzY4RkY7XG4kY29sb3ItYWNjZW50LXJlZC0wOiAjRkZFQUU4RkY7XG4kY29sb3ItYWNjZW50LXBpbmstNTA6ICNERjVCOUFGRjtcbiRjb2xvci1hY2NlbnQtcGluay0wOiAjRkFFNkYwRkY7XG4kY29sb3ItYWNjZW50LXB1cnBsZS01MDogIzg2NTlDMkZGO1xuJGNvbG9yLWFjY2VudC1wdXJwbGUtMDogI0VERTZGNkZGO1xuJGNvbG9yLWFjY2VudC1ibHVlLTUwOiAjNTY4NUJERkY7XG4kY29sb3ItYWNjZW50LWJsdWUtMDogI0U2RURGNUZGO1xuJGNvbG9yLWFjY2VudC10ZWFsLTUwOiAjNEJCOUE3RkY7XG4kY29sb3ItYWNjZW50LXRlYWwtMDogI0U0RjVGMkZGO1xuJGNvbG9yLWFjY2VudC1ncmVlbi01MDogIzU3RDQ2NkZGO1xuJGNvbG9yLWFjY2VudC1ncmVlbi0wOiAjRTZGOUU4RkY7XG4kY29sb3ItYWNjZW50LXllbGxvdy01MDogI0ZGQzQ2OUZGO1xuJGNvbG9yLWFjY2VudC15ZWxsb3ctMDogI0ZGRjZFOUZGO1xuJGNhbGVuZGFyLXRleHQtcHJpbWFyeTogIzAwMDAwMEQ5O1xuJGNhbGVuZGFyLXRleHQtdGVydGlhcnk6ICMwMDAwMDA2NjtcbiRjYWxlbmRhci1iYWNrZ3JvdW5kOiAjMDAwMDAwMDg7XG5cbi8qIEFsaWFzZXMgICovXG4kdGV4dC10ZXh0LXByaW1hcnk6ICRjb2xvci1uZXV0cmFsLTgwO1xuJHRleHQtdGV4dC1zZWNvbmRhcnk6ICRjb2xvci1uZXV0cmFsLTYwO1xuJHRleHQtdGV4dC10ZXJ0aWFyeTogJGNvbG9yLW5ldXRyYWwtNTA7XG4kdGV4dC10ZXh0LWhlYWRpbmc6ICRjb2xvci1uZXV0cmFsLTkwO1xuJHRleHQtdGV4dC10aXRsZTogJGNvbG9yLW5ldXRyYWwtMTAwO1xuJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLW9yYW5nZS01MDtcbiRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtMDtcbiRmaWVsZHMtZmllbGQtYm9yZGVyOiAkY29sb3ItbmV1dHJhbC0zMDtcbiRzdXJmYWNlLXN1cmZhY2UtYm9yZGVyOiAkY29sb3ItbmV1dHJhbC0xMDtcbiRzdXJmYWNlLXN1cmZhY2UtZGl2aWRlcjogJGNvbG9yLW5ldXRyYWwtNTtcbiRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtLWhvdmVyOiAkY29sb3ItYnJhbmQtb3JhbmdlLTcwO1xuJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLS1ob3ZlcjogJGNvbG9yLWJyYW5kLWJsdWUtNzA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyOiAkY29sb3ItbmV1dHJhbC0zMDtcbiRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LXRleHQ6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS10ZXh0OiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0OiAkY29sb3ItbmV1dHJhbC02MDtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXItLWhvdmVyOiAkY29sb3ItbmV1dHJhbC02MDtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1iYWNrZ3JvdW5kLS0taG92ZXI6ICRjb2xvci1uZXV0cmFsLTM7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dC0taG92ZXI6ICRjb2xvci1uZXV0cmFsLTgwO1xuJGJ1dHRvbnMtYnV0dG9uLXdwLXByaW1hcnktYmFja2dyb3VuZDogIzIyNzFCMTtcbiR0ZXh0LXRleHQtbGluazogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kdGV4dC10ZXh0LXN1Y2Nlc3M6ICRjb2xvci11dGlsaXR5LWdyZWVuLTUwO1xuJHRleHQtdGV4dC1lcnJvcjogJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuJHRleHQtdGV4dC13YXJuaW5nOiAkY29sb3ItdXRpbGl0eS15ZWxsb3ctNTA7XG4kZmllbGRzLWZpZWxkLWJvcmRlci0tZm9jdXM6ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuJGZpZWxkcy1maWVsZC1ib3JkZXItZXJyb3I6ICRjb2xvci11dGlsaXR5LXJlZC01MDtcbiRmaWVsZHMtZmllbGQtY2hvaWNlLW9mZjogJGNvbG9yLW5ldXRyYWwtMzA7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vbjogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kYmFkZ2VzLWJhZGdlLW9yYW5nZS10ZXh0OiAkY29sb3ItYnJhbmQtb3JhbmdlLTMwO1xuJGJhZGdlcy1iYWRnZS1vcmFuZ2UtYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLW9yYW5nZS0wO1xuJGJhZGdlcy1iYWRnZS1ibHVlLWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0wO1xuJGJhZGdlcy1iYWRnZS1ibHVlLXRleHQ6ICRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0zMDtcbiRiYWRnZXMtYmFkZ2UtZ3JlZW4tYmFja2dyb3VuZDogJGNvbG9yLXV0aWxpdHktZ3JlZW4tMDtcbiRiYWRnZXMtYmFkZ2UtZ3JlZW4tdGV4dDogJGNvbG9yLXV0aWxpdHktZ3JlZW4tMzA7XG4kYmFkZ2VzLWJhZGdlLXJlZC1iYWNrZ3JvdW5kOiAkY29sb3ItdXRpbGl0eS1yZWQtMDtcbiRiYWRnZXMtYmFkZ2UtcmVkLXRleHQ6ICRjb2xvci11dGlsaXR5LXJlZC0zMDtcbiRiYWRnZXMtYmFkZ2UtbmV1dHJhbC1iYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC01O1xuJGJhZGdlcy1iYWRnZS1uZXV0cmFsLXRleHQ6ICRjb2xvci1uZXV0cmFsLTMwO1xuJHJhZGl1cy1yYWRpdXMtYnV0dG9uOiAkcmFkaXVzLW1kO1xuJHJhZGl1cy1yYWRpdXMtZmllbGQ6ICRyYWRpdXMtbWQ7XG4kcmFkaXVzLXJhZGl1cy1iYWRnZTogJHJhZGl1cy1zbTtcbiRzdXJmYWNlLXN1cmZhY2UtYm9yZGVyLXByaW1hcnk6ICRjb2xvci1icmFuZC1vcmFuZ2UtNTA7XG4kc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLTM7XG4kc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuJHRleHQtdGV4dC1pY29uOiAkY29sb3ItbmV1dHJhbC0yMDtcbiRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC1saWdodDogJGNvbG9yLXV0aWxpdHktZ3JheS0wO1xuJGZpZWxkcy1maWVsZC1jaG9pY2Utb2ZmLS1ob3ZlcjogJGNvbG9yLW5ldXRyYWwtNTA7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI6ICRjb2xvci1icmFuZC1ibHVlLTcwO1xuXG4vLyBGb250IHNpemVzLlxuJHRleHQtZm9udC1zaXplLTJ4czogMTFweDtcbiR0ZXh0LWZvbnQtc2l6ZS14czogMTJweDtcbiR0ZXh0LWZvbnQtc2l6ZS1zczogMTNweDtcbiR0ZXh0LWZvbnQtc2l6ZS1zOiAxNHB4O1xuJHRleHQtZm9udC1zaXplLW06IDE2cHg7XG4kdGV4dC1mb250LXNpemUtbDogMThweDtcbiR0ZXh0LWZvbnQtc2l6ZS1sbDogMjBweDtcbiR0ZXh0LWZvbnQtc2l6ZS1sbGw6IDIycHg7XG4kdGV4dC1mb250LXNpemUteGw6IDI0cHg7XG4kdGV4dC1mb250LXNpemUteHhsOiAyOHB4O1xuXG4vLyBUcmFuc2l0aW9ucy5cbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLXNsb3dlc3Q6IC41MHM7XG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1zbG93ZXI6IC40MHM7XG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1zbG93OiAuMjVzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tbm9ybWFsOiAuMTVzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tZmFzdDogLjA1cztcbiIsIi8vIEdlbmVyYWwgYWRtaW4gc3R5bGluZy5cblxuLy8gQ29yZSBhZG1pbiBzdHlsZSBvdmVycmlkZXMuXG4jd3Bjb250ZW50IHtcblx0cGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXHRcdHBhZGRpbmctdG9wOiA0NnB4O1xuXHR9XG59XG5cbiN3cGJvZHkge1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHR9XG59XG5cbi8vIEFkbWluIHdyYXAgLSBjb250YWlucyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgaGVhZGVyLlxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLXdyYXAge1xuXHRtYXJnaW46IDA7XG5cblx0Lm5vdGljZSB7XG5cdFx0bWFyZ2luOiAwIDAgJHNwYWNpbmctbGc7XG5cdH1cbn1cblxuLy8gQWRtaW4gY29udGVudC5cbi5zdWdhci1jYWxlbmRhci1hZG1pbi1jb250ZW50IHtcblx0cGFkZGluZzogJHNwYWNpbmctbGcgJHNwYWNpbmctbGcgMCAkc3BhY2luZy1sZztcblxuXHQqLFxuXHQqOjpiZWZvcmUsXG5cdCo6OmFmdGVyIHtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHR9XG5cblx0JjphZnRlciB7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0Y29udGVudDogXCIgXCI7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdH1cblxuXHRociB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTRlNGU0O1xuXHRcdG1hcmdpbjogMjBweCAwO1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdH1cblxuXHRjb2RlIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cGFkZGluZzogMCA2cHg7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdGNvbG9yOiAkdGV4dC10ZXh0LXNlY29uZGFyeTtcblx0fVxuXG5cdHN0cm9uZyB7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0fVxuXG5cdHAge1xuXHRcdCYuc3VibWl0IHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6ICRzcGFjaW5nLWxnIDAgMjBweCAwO1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNlNGU0ZTQ7XG5cblx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cbn1cblxuLy8gTGVnYWN5IGFkZG9uIGZpeGVzLlxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLWNvbnRlbnQge1xuXHQuZm9ybS10YWJsZTpmaXJzdC1jaGlsZCB7XG5cdFx0dGJvZHkge1xuXHRcdFx0dHI6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHR0aCxcblx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aCB7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDJweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRkIHtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGgzIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBIZWFkZXIgc3R5bGVzLlxuXG4jc3VnYXItY2FsZW5kYXItaGVhZGVyLXRlbXAge1xuXHRtYXJnaW46IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtMXB4O1xuXHRsZWZ0OiAyMHB4O1xuXHRyaWdodDogMDtcblx0ei1pbmRleDogOTk7XG5cblx0QGluY2x1ZGUgbWVkaWEoXCI8NjAwcHhcIikge1xuXHRcdHBhZGRpbmctdG9wOiA1MHB4O1xuXHR9XG59XG5cbiNzdWdhci1jYWxlbmRhci1oZWFkZXIge1xuXHRwYWRkaW5nOiAyMHB4IDMwcHg7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc3VyZmFjZS1zdXJmYWNlLWRpdmlkZXI7XG5cdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRpbWcge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbjogMDtcblx0XHRtYXgtd2lkdGg6IDI5NnB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XG5cdFx0XHRtYXgtd2lkdGg6IDIwMHB4O1xuXHRcdH1cblx0fVxuXG5cdGEjc3VnYXItY2FsZW5kYXItaGVhZGVyLWhlbHAge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdGNvbG9yOiAkdGV4dC10ZXh0LWljb247XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRsaW5lLWhlaWdodDogMTNweDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0bWFzay1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3F1ZXN0aW9uLWNpcmNsZS5zdmdcIik7XG5cdFx0XHRtYXNrLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRleHQtdGV4dC1pY29uO1xuXHRcdFx0d2lkdGg6IDE2cHg7XG5cdFx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDZweDtcblx0XHR9XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Y29sb3I6ICR0ZXh0LXRleHQtdGVydGlhcnk7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRleHQtdGV4dC10ZXJ0aWFyeTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG5cdCNzdWdhci1jYWxlbmRhci1ub3RpY2UtYmFyICsgI3N1Z2FyLWNhbGVuZGFyLWhlYWRlci10ZW1wIHtcblx0XHR0b3A6IDM0cHg7XG5cdH1cbn1cbiIsIi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2Mi4wLjBcbi8vXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXG4vL1xuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXG4vLyAgICAgICAgICAgICAgICAgIEtpdHR5IEdpcmF1ZGVsIChAa2l0dHlnaXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG5AY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cbkB1c2UgJ3Nhc3M6bWF0aCc7XG5AdXNlICdzYXNzOm1hcCc7XG5AdXNlICdzYXNzOmxpc3QnO1xuQHVzZSAnc2FzczpzdHJpbmcnO1xuQHVzZSAnc2FzczptZXRhJztcblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6IChcbiAgJ3Bob25lJzogMzIwcHgsXG4gICd0YWJsZXQnOiA3NjhweCxcbiAgJ2Rlc2t0b3AnOiAxMDI0cHgsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzpcbiAgICAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuICAncmV0aW5hM3gnOlxuICAgICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KScsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDAsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgQGlmIG1ldGEuZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgIEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge1xuICB9XG59XG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHtcbn1cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAuaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSlcbiAgICAgIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmIG5vdCBsaXN0LmluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xuICAgIEBpZiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xufVxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHJpbmcuc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXRyaW0oJHBhcnNlZC1kaW1lbnNpb24pO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHJpbmcubGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihsaXN0LmluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0cmluZy5pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHJpbmcuc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0cmluZy5sZW5ndGgoJG9wZXJhdG9yKSk7XG4gICR0cmltbWVkVmFsdWU6IHN0ci10cmltKCR2YWx1ZSk7XG5cbiAgQGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJHRyaW1tZWRWYWx1ZSkge1xuICAgICR2YWx1ZTogbWFwLmdldCgkYnJlYWtwb2ludHMsICR0cmltbWVkVmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdHJpbW1lZFZhbHVlKTtcbiAgfVxuXG4gICRpbnRlcnZhbDogbWFwLmdldCgkdW5pdC1pbnRlcnZhbHMsIG1hdGgudW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje21hdGgudW5pdCgkdmFsdWUpfWAuJyk7XG4gIH1cblxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLmhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLmdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxpc3QubGVuZ3RoKCRsaXN0KSkge1xuICBAaWYgbGlzdC5sZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICRyZXN1bHQ6IGxpc3QuYXBwZW5kKCRyZXN1bHQsIGxpc3QubnRoKCRsaXN0LCAkaSksIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG4vLy9cblxuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIG1ldGEudHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcbiAgfVxuXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0cmluZy5zbGljZSgkdmFsdWUsIDEsIDEpO1xuICAkcmVzdWx0OiAwO1xuICAkZGlnaXRzOiAwO1xuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XG4gICRudW1iZXJzOiAoXG4gICAgJzAnOiAwLFxuICAgICcxJzogMSxcbiAgICAnMic6IDIsXG4gICAgJzMnOiAzLFxuICAgICc0JzogNCxcbiAgICAnNSc6IDUsXG4gICAgJzYnOiA2LFxuICAgICc3JzogNyxcbiAgICAnOCc6IDgsXG4gICAgJzknOiA5LFxuICApO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyaW5nLmxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdChsaXN0LmluZGV4KG1hcC5rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHJpbmcuc2xpY2UoJHZhbHVlLCAkaSkpO1xuICAgIH1cblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGlnaXRzOiAxO1xuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC5nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hdGguZGl2KG1hcC5nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpLCAkZGlnaXRzKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKFxuICAgICdweCc6IDFweCxcbiAgICAnY20nOiAxY20sXG4gICAgJ21tJzogMW1tLFxuICAgICclJzogMSUsXG4gICAgJ2NoJzogMWNoLFxuICAgICdwYyc6IDFwYyxcbiAgICAnaW4nOiAxaW4sXG4gICAgJ2VtJzogMWVtLFxuICAgICdyZW0nOiAxcmVtLFxuICAgICdwdCc6IDFwdCxcbiAgICAnZXgnOiAxZXgsXG4gICAgJ3Z3JzogMXZ3LFxuICAgICd2aCc6IDF2aCxcbiAgICAndm1pbic6IDF2bWluLFxuICAgICd2bWF4JzogMXZtYXgsXG4gICk7XG5cbiAgQGlmIG5vdCBsaXN0LmluZGV4KG1hcC5rZXlzKCR1bml0cyksICR1bml0KSB7XG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC5nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgSmFjayBNY05pY29sXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIFRyaW1zIGEgc3RyaW5nIG9mIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHNwYWNlc1xuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBWYWx1ZSB0byBiZSB0cmltbWVkXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9XG4vLy9cblxuQGZ1bmN0aW9uIHN0ci10cmltKCRzdHJpbmcpIHtcbiAgQGlmIChzdHItc2xpY2UoJHN0cmluZywgMSwgMSkgPT0gJyAnKSB7XG4gICAgQHJldHVybiBzdHItdHJpbShzdHItc2xpY2UoJHN0cmluZywgMikpO1xuICB9IEBlbHNlIGlmIChzdHItc2xpY2UoJHN0cmluZywgc3RyLWxlbmd0aCgkc3RyaW5nKSwgLTEpID09ICcgJykge1xuICAgIEByZXR1cm4gc3RyLXRyaW0oc3RyLXNsaWNlKCRzdHJpbmcsIDEsIC0yKSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJHN0cmluZztcbiAgfVxufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLm1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC5tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGlzdC5sZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpXG4gIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxpc3QubGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3tzdHJpbmcudW5xdW90ZShwYXJzZS1leHByZXNzaW9uKGxpc3QubnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgJHNsaWNlZC1jb25kaXRpb25zOiBzbGljZSgkY29uZGl0aW9ucywgMik7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkc2xpY2VkLWNvbmRpdGlvbnMuLi4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gZm9ybS1maWVsZCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTtcblx0Ym9yZGVyOiAxcHggc29saWQgJGZpZWxkcy1maWVsZC1ib3JkZXI7XG5cdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtcmFkaXVzLWZpZWxkO1xuXHRib3gtc2hhZG93OiBub25lO1xuXHRjb2xvcjogJHRleHQtdGV4dC1wcmltYXJ5O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdHBhZGRpbmc6IDdweCAxMnB4O1xuXHRtYXJnaW46IDA7XG5cdHdpZHRoOiA0MDBweDtcblx0bWluLWhlaWdodDogMzZweDtcblx0bGluZS1oZWlnaHQ6IDEuMztcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogJHRleHQtdGV4dC1wcmltYXJ5O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWJvcmRlci0tZm9jdXMgIWltcG9ydGFudDtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJGZpZWxkcy1maWVsZC1ib3JkZXItLWZvY3VzICFpbXBvcnRhbnQ7XG5cdFx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0JjpkaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XG5cdFx0d2lkdGg6IDMwMHB4O1xuXHR9XG59XG5cbkBtaXhpbiBmb3JtLWZpZWxkLXNlbGVjdCB7XG5cdEBpbmNsdWRlIGZvcm0tZmllbGQ7XG5cblx0cGFkZGluZzogN3B4IDI0cHggN3B4IDEwcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5AbWl4aW4gZm9ybS1maWVsZC1yYWRpbyB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRmaWVsZHMtZmllbGQtYm9yZGVyO1xuXHRtYXJnaW46IDFweCAxMHB4IDAgMDtcblxuXHQmOjpiZWZvcmUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHR9XG5cblx0JjpjaGVja2VkIHtcblx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3ZlcjtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb24tLWhvdmVyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3Zlcjtcblx0XHR9XG5cdH1cblxuXHQmOmRpc2FibGVkIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGZpZWxkcy1maWVsZC1jaG9pY2Utb2ZmO1xuXHR9XG59XG5cbkBtaXhpbiBmb3JtLWZpZWxkLWNoZWNrYm94IHtcblx0Ym9yZGVyOiAxcHggc29saWQgJGZpZWxkcy1maWVsZC1ib3JkZXI7XG5cdG1hcmdpbjogMXB4IDEwcHggMCAwO1xuXG5cdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdH1cblxuXHQmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0fVxuXG5cdCY6Y2hlY2tlZCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0bWFzazogdXJsKC4uL2ltYWdlcy9pY29ucy95ZXMuc3ZnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlXG5cdFx0fVxuXG5cdFx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3Zlcjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3Zlcjtcblx0XHR9XG5cblx0XHQmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGUsIDAgMCAwIDJweCAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cdFx0fVxuXHR9XG5cblx0JjpkaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC41O1xuXG5cdFx0JjpjaGVja2VkIHtcblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBmb3JtLWZpZWxkLXRleHRhcmVhIHtcblx0QGluY2x1ZGUgZm9ybS1maWVsZDtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luOiAwIDFweDtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdGNvbG9yOiAkdGV4dC10ZXh0LXNlY29uZGFyeTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0aGVpZ2h0OiAyNXB4O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG5cdGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcblx0XHRAaW5jbHVkZSB2aXN1YWxseS1oaWRlO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXHRcdH1cblxuXHRcdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vZmYtLWhvdmVyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlLCAwIDAgMCAycHggJGZpZWxkcy1maWVsZC1ib3JkZXI7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpjaGVja2VkIHtcblx0XHRcdCYgKyBsYWJlbC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0bGVmdDogY2FsYygxMDAlIC0gMnB4KTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0XHQmICsgbGFiZWwuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb24tLWhvdmVyO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0XHQmICsgbGFiZWwuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZSwgMCAwIDAgMnB4ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpkaXNhYmxlZCB7XG5cdFx0XHQmICsgbGFiZWwuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0XHRcdG9wYWNpdHk6IDAuNTtcblx0XHRcdH1cblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHQmICsgbGFiZWwuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHNwYW4sXG5cdGxhYmVsIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1sYWJlbCB7XG5cdFx0cGFkZGluZzogMCAkc3BhY2luZy1zbTtcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDY1cHgpO1xuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLXN0YXR1cyB7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtc2Vjb25kYXJ5O1xuXHRcdGZvbnQtc2l6ZTogJHRleHQtZm9udC1zaXplLXhzO1xuXHRcdGxpbmUtaGVpZ2h0OiAxN3B4O1xuXHRcdHBhZGRpbmc6IDAgJHNwYWNpbmctc207XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLXN0YXR1cy1vZmYsXG5cdC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb24ge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0fVxuXG5cdGlucHV0Om5vdCg6Y2hlY2tlZCkgfiAuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtc3RhdHVzLW9mZixcblx0aW5wdXQ6Y2hlY2tlZCB+IC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb24ge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmV1dHJhbC0zMDtcblx0XHRib3JkZXItcmFkaXVzOiA4LjVweDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGhlaWdodDogMTdweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dGV4dC1pbmRlbnQ6IC05OTk5cHg7XG5cdFx0d2lkdGg6IDI3cHg7XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdGhlaWdodDogMTNweDtcblx0XHRcdGxlZnQ6IDJweDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMnB4O1xuXHRcdFx0d2lkdGg6IDEzcHg7XG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tbm9ybWFsIGVhc2Utb3V0O1xuXHRcdH1cblx0fVxuXG5cdGlucHV0OmRpc2FibGVkIH4gLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24sXG5cdGlucHV0OmRpc2FibGVkIH4gLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLXN0YXR1cy1vZmYsXG5cdGlucHV0OmRpc2FibGVkIH4gLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLXN0YXR1cy1vbiB7XG5cdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHR9XG59XG4iLCJAbWl4aW4gbGluay1yZXNldCB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cdG91dGxpbmU6IG5vbmU7XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuQG1peGluIHZpc3VhbGx5LWhpZGUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGhlaWdodDogMDtcblx0d2lkdGg6IDA7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cdG1hcmdpbjogMDtcblx0bWluLXdpZHRoOiAwO1xufVxuXG5AbWl4aW4gYmFkZ2UoJHBvc2l0aW9uOiBhZnRlcikge1xuXHQmOjojeyRwb3NpdGlvbn0ge1xuXHRcdGNvbnRlbnQ6IFwiUFJPXCI7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi1sZWZ0OiAkc3BhY2luZy1zbTtcblx0XHRwYWRkaW5nOiA1cHggOHB4O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0Zm9udC1zaXplOiA4cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC40cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDhweDtcblx0XHRjb2xvcjogJGJhZGdlcy1iYWRnZS1uZXV0cmFsLXRleHQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJhZGdlcy1iYWRnZS1uZXV0cmFsLWJhY2tncm91bmQ7XG5cdFx0Ym9yZGVyLXJhZGl1czogJHJhZGl1cy1yYWRpdXMtYmFkZ2U7XG5cblx0XHRAY29udGVudDtcblx0fVxufVxuIiwiLy8gQnV0dG9ucy5cbi5zdWdhci1jYWxlbmRhci1idG4ge1xuXHRib3JkZXItd2lkdGg6IDFweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLXJhZGl1czogJHJhZGl1cy1yYWRpdXMtYnV0dG9uO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luOiAwO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0dHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLWZhc3QgZWFzZS1vdXQ7XG5cblx0Ji5pbmFjdGl2ZSB7XG5cdFx0Y3Vyc29yOiBuby1kcm9wO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tYmxvY2sge1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tc20ge1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXHRwYWRkaW5nOiAwIDEwcHg7XG5cdGhlaWdodDogMzBweDtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1tZCB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0bGluZS1oZWlnaHQ6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHBhZGRpbmc6IDEwcHggMTVweDtcblx0bWluLWhlaWdodDogMzZweDtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1sZyB7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0cGFkZGluZzogMTFweCAxN3B4O1xuXHRtaW4taGVpZ2h0OiA0NHB4O1xufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXByaW1hcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuXHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0b3V0bGluZTogMDtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXNlY29uZGFyeSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDtcblx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tdGVydGlhcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZDtcblx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyO1xuXHRjb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LXRleHQgIWltcG9ydGFudDtcblxuXHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZC0tLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlci0taG92ZXI7XG5cdFx0Y29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0LS1ob3ZlciAhaW1wb3J0YW50O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXItLWhvdmVyO1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tZ3JlZW4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdXRpbGl0eS1ncmVlbi01MDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkY29sb3ItdXRpbGl0eS1ncmVlbi01MDtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1yZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci11dGlsaXR5LXJlZC01MDtcblx0Y29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlICFpbXBvcnRhbnQ7XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRjb2xvci11dGlsaXR5LXJlZC01MDtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cbiIsIi8vIFBhZ2Ugc3ViaGVhZGVyLlxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLXN1YmhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0aGVpZ2h0OiA2MHB4O1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDE1cHggJHNwYWNpbmctbGc7XG5cdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG5cdCosXG5cdCo6OmJlZm9yZSxcblx0Kjo6YWZ0ZXIge1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdH1cblxuXHRoNCB7XG5cdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtdGl0bGU7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLWJ0bi1uZXctaXRlbSB7XG5cdFx0bWFyZ2luLWxlZnQ6ICRzcGFjaW5nLW1kO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRtYXNrOiB1cmwoLi4vaW1hZ2VzL2ljb25zL2FkZC5zdmcpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0XHR3aWR0aDogMTFweDtcblx0XHRcdGhlaWdodDogMTFweDtcblx0XHRcdG1hcmdpbjogMCA2cHggMCAwO1xuXHRcdH1cblx0fVxufVxuIiwiLy8gVGFibGVzIGFuZCByZWxhdGVkIGNvbnRyb2xzLlxuLnN1Z2FyLWNhbGVuZGFyLWl0ZW0tZmlsdGVycyB7XG5cdC5zZWFyY2gge1xuXHRcdG1hcmdpbi1yaWdodDogJHNwYWNpbmctc207XG5cdH1cblxuXHQuYnV0dG9uIHtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLXRhYmxlbmF2IHtcblx0Ji5zdWdhci1jYWxlbmRhci10YWJsZW5hdi10b3Age1xuXHRcdD4gKiB7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdH1cblxuXHRcdC5idXR0b24ge1xuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cdFx0fVxuXHR9XG5cblx0Ji5zdWdhci1jYWxlbmRhci10YWJsZW5hdi10b29scyB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdG1hcmdpbi1ib3R0b206IDVweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXG5cdFx0PiAqIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cblx0XHQ+IHNwYW4ge1xuXHRcdFx0Y29sb3I6ICR0ZXh0LXRleHQtdGVydGlhcnk7XG5cdFx0XHRwYWRkaW5nOiA2cHggMTBweDtcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdCYuc2NyZWVuLW9wdGlvbnMge1xuXHRcdFx0XHQuZGFzaGljb25zIHtcblx0XHRcdFx0XHRjb2xvcjogI2I0YjliZTtcblx0XHRcdFx0XHRwYWRkaW5nOiA1cHg7XG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAtM3B4O1xuXHRcdFx0XHRcdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji5zdWdhci1jYWxlbmRhci10YWJsZW5hdi1wYWdlcyB7XG5cdFx0YSB7XG5cdFx0XHQmLnRvZGF5IHtcblx0XHRcdFx0cGFkZGluZzogMCAxNXB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbiIsIkBpbXBvcnQgJ2FkbWluL3ZhcmlhYmxlcyc7XG5cbkBpbXBvcnQgJ3ZlbmRvci9pbmNsdWRlLW1lZGlhJztcblxuQGltcG9ydCBcImFkbWluL21peGluc1wiO1xuQGltcG9ydCAnYWRtaW4vZ2VuZXJhbCc7XG5AaW1wb3J0ICdhZG1pbi9oZWFkZXInO1xuQGltcG9ydCAnYWRtaW4vZm9ybXMnO1xuQGltcG9ydCAnYWRtaW4vYnV0dG9ucyc7XG5AaW1wb3J0ICdhZG1pbi9zdWJoZWFkZXInO1xuQGltcG9ydCAnYWRtaW4vdGFibGVzJztcblxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLXN1YmhlYWRlciB7XG5cdC5zdWdhci1jYWxlbmRhci1hZG1pbi1zdWJoZWFkZXItdG9vbHMge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0Z2FwOiAkc3BhY2luZy1zbTtcblxuXHRcdC5zdWdhci1jYWxlbmRhci12aWV3LW1vZGVzIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRnYXA6IDVweDtcblxuXHRcdFx0LnN1Z2FyLWNhbGVuZGFyLXZpZXctbW9kZSB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0d2lkdGg6IDMycHg7XG5cdFx0XHRcdGhlaWdodDogJHNwYWNpbmctbGc7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLWZhc3QgZWFzZS1vdXQ7XG5cblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0bWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0XHRtYXNrLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdFx0XHRcdG1hc2stc2l6ZTogY29udGFpbjtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC10ZXh0LWljb247XG5cdFx0XHRcdFx0d2lkdGg6IDE4cHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxOHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblxuXHRcdFx0XHRcdCY6bm90KC5jdXJyZW50KSB7XG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LXRleHQtdGVydGlhcnk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5jdXJyZW50IHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnJhbmQtb3JhbmdlLTA7XG5cblx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnJhbmQtb3JhbmdlLTUwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYtbW9udGgge1xuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdG1hc2staW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy92aWV3LW1vbnRoLnN2Z1wiKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLXdlZWsge1xuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdG1hc2staW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy92aWV3LXdlZWsuc3ZnXCIpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYtZGF5IHtcblx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRtYXNrLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvdmlldy1kYXkuc3ZnXCIpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYtbGlzdCB7XG5cdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0bWFzay1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3ZpZXctbGlzdC5zdmdcIik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLXNjcmVlbi1vcHRpb25zIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHQuc3VnYXItY2FsZW5kYXItc2NyZWVuLW9wdGlvbnMtdG9nZ2xlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1iYWNrZ3JvdW5kO1xuXHRcdFx0Y29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0O1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyO1xuXHRcdFx0cGFkZGluZzogMXB4IDZweCAwO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRcdFx0c3ZnIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHR3aWR0aDogMTlweDtcblx0XHRcdFx0aGVpZ2h0OiAxOXB4O1xuXG5cdFx0XHRcdEBtZWRpYSAobWF4LXdpZHRoOiA3ODJweCkge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDVweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHBhdGgge1xuXHRcdFx0XHRcdGZpbGw6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0O1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xuXHRcdFx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6YWN0aXZlLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1iYWNrZ3JvdW5kO1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXItLWhvdmVyO1xuXG5cdFx0XHRcdHN2ZyB7XG5cdFx0XHRcdFx0cGF0aCB7XG5cdFx0XHRcdFx0XHRmaWxsOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dC0taG92ZXI7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmFjdGl2ZSxcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlci0taG92ZXI7XG5cdFx0XHR9XG5cblx0XHRcdCYub3BlbiB7XG5cdFx0XHRcdHN2ZyB7XG5cdFx0XHRcdFx0cGF0aCB7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnN1Z2FyLWNhbGVuZGFyLXNjcmVlbi1vcHRpb25zLW1lbnUge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiA0MHB4O1xuXHRcdFx0cmlnaHQ6IC0xMHB4O1xuXHRcdFx0d2lkdGg6IDI0MHB4O1xuXHRcdFx0ei1pbmRleDogOTk5OTk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLWxnO1xuXHRcdFx0Ym94LXNoYWRvdzogMCA1cHggMTVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cblx0XHRcdGZpZWxkc2V0IHtcblx0XHRcdFx0cGFkZGluZzogMCAxNXB4IDE1cHg7XG5cblx0XHRcdFx0Jjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc3VyZmFjZS1zdXJmYWNlLWRpdmlkZXI7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRsZWdlbmQge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDE1cHggMDtcblx0XHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEycHg7XG5cdFx0XHRcdFx0Y29sb3I6ICRjb2xvci1uZXV0cmFsLTMwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHRcdGNvbG9yOiAkdGV4dC10ZXh0LXNlY29uZGFyeTtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1zbTtcblxuXHRcdFx0XHRcdGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZvcm0tZmllbGQtY2hlY2tib3g7XG5cblx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBib3R0b207XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0aW5wdXRbdHlwZT1udW1iZXJdLFxuXHRcdFx0XHRzZWxlY3Qge1xuXHRcdFx0XHRcdGNvbG9yOiAkdGV4dC10ZXh0LXNlY29uZGFyeTtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRwIHtcblx0XHRcdFx0Ji5zdWJtaXQge1xuXHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRwYWRkaW5nOiAwIDE1cHggMTVweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItdGFibGUge1xuXHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLW1kO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRzdXJmYWNlLXN1cmZhY2UtYm9yZGVyICFpbXBvcnRhbnQ7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4wNykgIWltcG9ydGFudDtcblxuXHQmLWV2ZW50cyB7XG5cdFx0Ji0tbW9udGgsXG5cdFx0Ji0td2Vlayxcblx0XHQmLS1kYXkge1xuXHRcdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdC0tZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBbIHdlZWsgXSBtaW5tYXgoMCwgMTIwcHgpIFsgc3VuZGF5IF0gbWlubWF4KDAsIDFmcikgWyBtb25kYXkgXSBtaW5tYXgoMCwgMWZyKSBbIHR1ZXNkYXkgXSBtaW5tYXgoMCwgMWZyKSBbIHdlZG5lc2RheSBdIG1pbm1heCgwLCAxZnIpIFsgdGh1cnNkYXkgXSBtaW5tYXgoMCwgMWZyKSBbIGZyaWRheSBdIG1pbm1heCgwLCAxZnIpIFsgc2F0dXJkYXkgXSBtaW5tYXgoMCwgMWZyKTtcblxuXHRcdFx0LnJvdyB7XG5cdFx0XHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zKTtcblx0XHRcdH1cblxuXHRcdFx0LmNvbHVtbiB7XG5cdFx0XHRcdG91dGxpbmU6IDFweCBzb2xpZCAkY29sb3ItbmV1dHJhbC01O1xuXG5cdFx0XHRcdCYuaGlkZGVuIHtcblx0XHRcdFx0XHRvdXRsaW5lOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5jb2x1bW4ge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlO1xuXG5cdFx0XHRcdCYuaGlkZGVuIHtcblx0XHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblx0XHRcdFx0XHRib3JkZXI6IDAgIWltcG9ydGFudDtcblxuXHRcdFx0XHRcdCoge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLmhlYWRlciB7XG5cdFx0XHRcdFx0cGFkZGluZzogJHNwYWNpbmctc20gJHNwYWNpbmctbWQ7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHRjb2xvcjogJHRleHQtdGV4dC1wcmltYXJ5O1xuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0bWF4LWhlaWdodDogNDBweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGg0IHtcblx0XHRcdFx0XHRtYXJnaW46ICRzcGFjaW5nLXNtO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdFx0XHRcdGNvbG9yOiAkdGV4dC10ZXh0LWljb247XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRjb2xvcjogJHRleHQtdGV4dC10ZXJ0aWFyeTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0YSB7XG5cdFx0XHRcdCYuZGF5LW51bWJlcixcblx0XHRcdFx0Ji53ZWVrLW51bWJlcixcblx0XHRcdFx0Ji5zdWdhci1jYWxlbmRhci1ldmVudC1lbnRyeSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbGluay1yZXNldDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYuc3VnYXItY2FsZW5kYXItZXZlbnQtZW50cnkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdFx0XHRjb2xvcjogJHRleHQtdGV4dC1wcmltYXJ5O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxNnB4O1xuXHRcdFx0XHRcdG1hcmdpbjogMCAkc3BhY2luZy1zbSAkc3BhY2luZy1zbTtcblx0XHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6ICRzcGFjaW5nLXNtO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0XHRcdFx0bWFzay1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2V2ZW50LnN2Z1wiKTtcblx0XHRcdFx0XHRcdG1hc2stcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0XHRcdFx0XHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3VnYXItY2FsZW5kYXItYmFja2dyb3VuZC1jb2xvciwgJHRleHQtdGV4dC1wcmltYXJ5KTtcblx0XHRcdFx0XHRcdHdpZHRoOiAxNnB4O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAtNHB4IDRweCAwIDA7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ji5hbGwtZGF5IHtcblx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0bWFzay1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2V2ZW50LWFsbC1kYXkuc3ZnXCIpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRbZGF0YS10aXBweS1yb290XSB7XG5cdFx0XHRcdHdpZHRoOiAzMjBweDtcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA3KSAhaW1wb3J0YW50O1xuXG5cdFx0XHRcdC50aXBweS1ib3gge1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtbWQ7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlO1xuXG5cdFx0XHRcdFx0LnRpcHB5LWNvbnRlbnQge1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMDtcblxuXHRcdFx0XHRcdFx0LnN1Z2FyX2NhbGVuZGFyX2V2ZW50X3Rvb2x0aXBfX2hlYWRlciB7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXMtbWQ7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzLW1kO1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG5cblx0XHRcdFx0XHRcdFx0aDMge1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1zbSAkc3BhY2luZy1tZDtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS10ZXh0O1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblxuXHRcdFx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbGluay1yZXNldDtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0LnN1Z2FyX2NhbGVuZGFyX2V2ZW50X3Rvb2x0aXBfX2JvZHkge1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1zbSAkc3BhY2luZy1tZDtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkc3VyZmFjZS1zdXJmYWNlLWJvcmRlcjtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHN1cmZhY2Utc3VyZmFjZS1ib3JkZXI7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkdGV4dC10ZXh0LXByaW1hcnk7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cblx0XHRcdFx0XHRcdFx0c3Ryb25nLFxuXHRcdFx0XHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdFx0XHRcdCYgKyBzdHJvbmcge1xuXHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogJHNwYWNpbmctc207XG5cdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0Ji5zYy10aW1lem9uZSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJHRleHQtdGV4dC1zZWNvbmRhcnk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdC5zdWdhcl9jYWxlbmRhcl9ldmVudF90b29sdGlwX19mb290ZXIge1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1zbSAkc3BhY2luZy1tZDtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLWxpZ2h0O1xuXHRcdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkc3VyZmFjZS1zdXJmYWNlLWJvcmRlcjtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1uZXV0cmFsLTU7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXMtbWQ7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzLW1kO1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogI2E3YWFhZDtcblxuXHRcdFx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdFx0XHRcdFx0XHQmLmRlbGV0ZSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogI2RjMzIzMjtcblxuXHRcdFx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAjYjMyZDJlO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCZbZGF0YS1wbGFjZW1lbnQ9dG9wXSB7XG5cdFx0XHRcdFx0XHQudGlwcHktYXJyb3cge1xuXHRcdFx0XHRcdFx0XHR6LWluZGV4OiA5OTk5O1xuXG5cdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0XHRib3R0b206IC04cHg7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1ib3JkZXI7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0XHRib3R0b206IC03cHg7XG5cdFx0XHRcdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci13aWR0aDogOHB4IDhweCAwO1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlO1xuXHRcdFx0XHRcdFx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmW2RhdGEtcGxhY2VtZW50PWJvdHRvbV0ge1xuXHRcdFx0XHRcdFx0LnRpcHB5LWFycm93IHtcblx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtLW1vbnRoIHtcblx0XHRcdC5jb2x1bW4ge1xuXHRcdFx0XHRtaW4taGVpZ2h0OiAxMjBweDtcblxuXHRcdFx0XHQmLmRpZmZlcmVudC1tb250aCB7XG5cdFx0XHRcdFx0aDQge1xuXHRcdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkY29sb3ItbmV1dHJhbC01O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYud2Vla2VuZCB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLWxpZ2h0O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji0td2Vlayxcblx0XHQmLS1kYXkge1xuXHRcdFx0LnJvdzpub3QoLmV2ZW50LXNwYW5zKTpudGgtY2hpbGQoMm4pIHtcblx0XHRcdFx0LmNvbHVtbjpub3QoLmNvbHVtbi1ob3VyKTpub3QoLmhlYWRlcikge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC1saWdodDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuY29sdW1uIHtcblx0XHRcdFx0Jjpub3QoLmhlYWRlcikuY29sdW1uLWhvdXIge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDhweCAkc3BhY2luZy1zbTtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdFx0XHRcdGNvbG9yOiAkdGV4dC10ZXh0LXRlcnRpYXJ5O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjpub3QoLmhlYWRlcikge1xuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDM2cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmV2ZW50LXNwYW5zLWdyb3VwIHtcblx0XHRcdFx0LmV2ZW50LXNwYW5zIHtcblx0XHRcdFx0XHQuZXZlbnQtc3BhbiB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctc207XG5cdFx0XHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdFx0Ji5zdWdhci1jYWxlbmRhci1ldmVudC1lbnRyeSB7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3VnYXItY2FsZW5kYXItYmFja2dyb3VuZC1jb2xvciwgJHRleHQtdGV4dC1wcmltYXJ5KTtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogdmFyKC0tc3VnYXItY2FsZW5kYXItZm9yZWdyb3VuZC1jb2xvciwgJGNvbG9yLXV0aWxpdHktd2hpdGUpO1xuXHRcdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAkc3BhY2luZy1tZDtcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwICRzcGFjaW5nLXNtO1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbjogMCAkc3BhY2luZy1zbTtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiBjYWxjKCRzcGFjaW5nLW1kIC8gMik7XG5cblx0XHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiBub25lO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtLXdlZWsge1xuXHRcdFx0LmV2ZW50LXNwYW5zLWdyb3VwIHtcblx0XHRcdFx0ZGlzcGxheTogY29udGVudHM7XG5cblx0XHRcdFx0Ji0tYWxsX2RheSB7XG5cdFx0XHRcdFx0LnJvdyB7XG5cdFx0XHRcdFx0XHRncmlkLXJvdzogMjtcblx0XHRcdFx0XHRcdGdyaWQtY29sdW1uOiAxO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYtLW11bHRpX2RheSB7XG5cdFx0XHRcdFx0LnJvdyB7XG5cdFx0XHRcdFx0XHRncmlkLXJvdzogMztcblx0XHRcdFx0XHRcdGdyaWQtY29sdW1uOiAxO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5ldmVudC1zcGFucyB7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6ICRzcGFjaW5nLXNtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji0tZGF5IHtcblx0XHRcdC5ldmVudC1zcGFucy1ncm91cCB7XG5cdFx0XHRcdC5ldmVudC1zcGFuIHtcblx0XHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAkc3BhY2luZy1zbTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiJdfQ== */
     848/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3NzL2FkbWluL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19nZW5lcmFsLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9faGVhZGVyLnNjc3MiLCJhc3NldHMvc2Nzcy92ZW5kb3IvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19mb3Jtcy5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX21peGlucy5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX2J1dHRvbnMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19zdWJoZWFkZXIuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL190YWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluLWV2ZW50cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0FBNERBO0FDM0RBO0VBQ0M7RUFDQTs7QUFFQTtFQUpEO0lBS0U7Ozs7QUFLRDtFQUREO0lBRUU7Ozs7QUFLRjtFQUNDOztBQUVBO0VBQ0M7OztBQUtGO0VBQ0M7O0FBRUE7QUFBQTtBQUFBO0VBR0M7O0FBR0Q7RUFDQztFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLE9EekNpQjs7QUM0Q2xCO0VBQ0M7O0FBSUE7RUFDQztFQUNBO0VBQ0E7O0FBRUE7RUFDQzs7QUFNSDtFQUNDOzs7QUFTRTtBQUFBO0VBRUM7O0FBR0Q7RUFDQzs7QUFHRDtFQUNDOztBQUdEO0VBQ0M7OztBQ3RHTDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUN5bEJHO0VEL2xCSjtJQVNFOzs7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQSxrQkZZcUI7RUVYckI7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTs7QUN1a0JFO0VEMWtCSDtJQU1FOzs7QUFJRjtFQUNDO0VBQ0EsT0ZaaUI7RUVhakI7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBLGtCRnZCZ0I7RUV3QmhCO0VBQ0E7RUFDQTs7QUFHRDtFQUVDLE9GbENnQjs7QUVvQ2hCO0VBQ0Msa0JGckNlOzs7QUUyQ25CO0VBQ0M7SUFDQzs7O0FFbUVGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPSnRIa0I7RUl1SGxCO0VBQ0E7RUFDQTs7QUFFQTtFQ3JJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRGlJQztFQUVDO0VBQ0E7O0FBSUE7RUFDQyxrQkpySWU7O0FJMEloQjtFQUNDOztBQUtEO0VBQ0Msa0JKekprQjs7QUkySmxCO0VBQ0M7RUFDQTs7QUFLRDtFQUNDLGtCSmpLaUI7O0FJc0tsQjtFQUNDOztBQU1GO0VBQ0M7O0FBS0E7RUFDQzs7QUFNSjtBQUFBO0VBRUM7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7O0FBR0Q7RUFDQyxPSmpNaUI7RUlrTWpCLFdKbEdrQjtFSW1HbEI7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7QUFBQTtFQUVDOztBQUdEO0FBQUE7RUFFQzs7QUFHRDtFQUNDLGtCSmxOaUI7RUltTmpCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0MsWUpsTm1CO0VJbU5uQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlGO0FBQUE7QUFBQTtFQUdDOzs7QUUvUEY7RUFDQztFQUNBO0VBQ0EsZU5EVztFTUVYO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNDO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDLGtCTjFDdUI7RU0yQ3ZCLGNOM0N1QjtFTTRDdkI7O0FBRUE7RUFDQyxrQk45Q3NCO0VNK0N0QixjTi9Dc0I7RU1nRHRCOztBQUdEO0VBQ0M7RUFDQSxjTmpDb0I7RU1rQ3BCOzs7QUFJRjtFQUNDLGtCTjFEcUI7RU0yRHJCLGNOM0RxQjtFTTREckI7O0FBRUE7RUFDQyxrQk43RG9CO0VNOERwQixjTjlEb0I7RU0rRHBCOztBQUdEO0VBQ0M7RUFDQSxjTm5Eb0I7RU1vRHBCOzs7QUFJRjtFQUNDLGtCTjFEaUI7RU0yRGpCLGNOcEVrQjtFTXFFbEI7O0FBRUE7RUFDQyxrQk5oRWdCO0VNaUVoQixjTjNFaUI7RU00RWpCOztBQUdEO0VBQ0M7OztBQUlGO0VBQ0Msa0JON0V3QjtFTThFeEI7RUFDQTs7QUFFQTtFQUNDO0VBQ0EsY04vRW9CO0VNZ0ZwQjs7O0FBSUY7RUFDQyxrQk4zRnNCO0VNNEZ0QjtFQUNBOztBQUVBO0VBQ0M7RUFDQSxjTjNGb0I7RU00RnBCOzs7QUMxSEY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQlB1QnFCO0VPdEJyQjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUdDOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0EsT1BWa0I7RU9XbEI7O0FBR0Q7RUFDQyxhUHZCVzs7QU95Qlg7RUFDQztFQUNBO0VBQ0E7RUFDQSxrQlBMbUI7RU9NbkI7RUFDQTtFQUNBOzs7QUNyQ0Y7RUFDQyxjUkdXOztBUUFaO0VBQ0M7RUFDQTs7O0FBTUE7RUFDQzs7QUFHRDtFQUNDO0VBQ0E7O0FBSUY7RUFDQztFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBOztBQUdEO0VBQ0MsT1JmZ0I7RVFnQmhCOztBQUtDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFRRjtFQUNDOzs7QUMxQ0g7RUFDQztFQUNBO0VBQ0EsS1RWVzs7QVNZWDtFQUNDO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLFFUbkJTO0VTb0JUO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCVGJjO0VTY2Q7RUFDQTs7QUFHRDtFQUVDOztBQUdDO0VBQ0Msa0JUM0JZOztBU2dDZjtFQUNDLGtCVHJCa0I7O0FTdUJsQjtFQUNDLGtCVDlDa0I7O0FTbURuQjtFQUNDOztBQUtEO0VBQ0M7O0FBS0Q7RUFDQzs7QUFLRDtFQUNDOztBQU9MO0VBQ0M7O0FBRUE7RUFDQyxrQlQ3RGU7RVM4RGYsT1R6RWdCO0VTMEVoQixjVHhFZ0I7RVN5RWhCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTs7QUFFQTtFQUxEO0lBTUU7OztBQUdEO0VBQ0MsTVQ1RmM7RVM2RmQ7RUFDQTs7QUFJRjtFQUdDLGtCVDFGYztFUzJGZCxjVHRHZTs7QVN5R2Q7RUFDQyxNVDVHYTs7QVNpSGhCO0VBQ0M7O0FBR0Q7RUFFQzs7QUFLQztFQUNDOztBQU1KO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCVDNIbUI7RVM0SG5CLGVUdkpTO0VTd0pUOztBQUVBO0VBQ0M7O0FBRUE7RUFDQzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBLE9UcEpjOztBU3VKZjtFQUNDO0VBQ0E7RUFDQSxPVDVKYztFUzZKZCxlVDFLUTs7QVM0S1I7RUxoR0o7RUFDQTtFS2tHSzs7QUxoR0w7RUFDQyxjSjFFb0I7O0FJNkVyQjtFQUNDLGNKOUVvQjtFSStFcEI7O0FBR0Q7RUFDQyxrQkpuRm9CO0VJb0ZwQixjSnBGb0I7O0FJc0ZwQjtFQUNDO0VBQ0E7RUFDQSxrQkp0RW1CO0VJdUVuQjtFQUNBO0VBQ0E7O0FBR0Q7RUFDQyxjSjlGbUI7RUkrRm5CLGtCSi9GbUI7O0FJa0dwQjtFQUNDOztBQUlGO0VBQ0M7O0FBR0M7RUFDQzs7QUsrREE7QUFBQTtFQUVDLE9UeEtjO0VTeUtkO0VBQ0E7O0FBS0Q7RUFDQztFQUNBOzs7QUFPTDtFQUNDLGVUek1XO0VTME1YLGtCVDlLcUI7RVMrS3JCO0VBQ0E7O0FBR0M7RUFHQztFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7O0FBR0Q7RUFDQzs7QUFFQTtFQUNDOztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0Esa0JUNU1rQjs7QVM4TWxCO0VBQ0M7RUFDQTtFQUNBOztBQUVBO0VBQ0M7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLE9UM09jO0VTNE9kO0VBQ0E7O0FBR0Q7RUFDQyxRVDVQUTtFUzZQUjtFQUNBO0VBQ0E7RUFDQSxPVC9PYztFU2dQZDs7QUFFQTtFQUNDLE9UdFBhOztBUzRQZjtFSi9RSDtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBSWlSRztFQUNDO0VBQ0EsT1R2UWM7RVN3UWQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDLFlUMVJPOztBUzZSUjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlBO0VBQ0M7O0FBTUo7RUFDQztFQUNBOztBQUVBO0VBQ0MsZVQxVE87RVMyVFAsa0JUL1JpQjs7QVNpU2pCO0VBQ0M7O0FBRUE7RUFDQyx3QlRqVUs7RVNrVUwseUJUbFVLO0VTbVVMLGtCVDFUZTs7QVM0VGY7RUFDQztFQUNBO0VBQ0EsT1Q1U2M7RVM2U2Q7O0FBRUE7RUo3VVA7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUkrVUs7RUFDQztFQUNBO0VBQ0E7RUFDQSxPVHZVWTtFU3dVWjtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0VBRUM7O0FBSUE7RUFDQyxZVDdWSTs7QVNnV0w7RUFDQyxPVHBWVTs7QVN5VmI7RUFDQztFQUNBLGtCVHJVZ0I7RVNzVWhCO0VBQ0E7RUFDQSwyQlQ5V0s7RVMrV0wsNEJUL1dLO0VTZ1hMOztBQUVBO0VBQ0M7O0FBRUE7RUFDQzs7QUFFQTtFQUNDOztBQVFKO0VBQ0M7O0FBRUE7RUFDQztFQUNBLGtCVG5YVzs7QVNzWFo7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCVHJYYztFU3NYZDs7QUFPRDtFQUNDLHFCVGpaYzs7QVMwWm5CO0VBQ0M7O0FBSUU7RUFDQyxPVHBaVzs7QVN5WmQ7RUFDQyxrQlR6WWtCOztBU2labkI7RUFDQyxrQlRsWmtCOztBU3VabkI7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLE9UamJjOztBU29iZjtFQUNDOztBQU1BO0VBQ0MsZ0JUMWNPO0VTMmNQOztBQUdDO0VBQ0M7RUFDQTtFQUNBO0VBQ0EsYVRqZEs7RVNrZEw7RUFDQTtFQUNBOztBQUVBO0VBQ0M7O0FBVU47RUFDQzs7QUFHQztFQUNDO0VBQ0E7O0FBS0Q7RUFDQztFQUNBOztBQUlGO0VBQ0MsYVRwZlE7O0FTNGZSO0VBQ0MsYVQ3Zk8iLCJmaWxlIjoiYXNzZXRzL2Nzcy9hZG1pbi1ldmVudHMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQWRtaW4gdmFyaWFibGVzLlxuXG4vKiBWYXJpYWJsZXMgICovXG4kcmFkaXVzLW1kOiA0cHg7XG4kcmFkaXVzLWxnOiA2cHg7XG4kcmFkaXVzLXNtOiAzcHg7XG4kc3BhY2luZy1zbTogMTBweDtcbiRzcGFjaW5nLW1kOiAyMHB4O1xuJHNwYWNpbmctbGc6IDMwcHg7XG4kc3BhY2luZy14bDogNTBweDtcbiRjb2xvci1icmFuZC1vcmFuZ2UtNTA6ICNGRjg4NDVGRjtcbiRjb2xvci1icmFuZC1vcmFuZ2UtNzA6ICNDQjZEMzdGRjtcbiRjb2xvci1icmFuZC1ibHVlLTUwOiAjMjI3MUIxRkY7XG4kY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtNTA6ICMwMEEwRDJGRjtcbiRjb2xvci1icmFuZC1ibHVlLTcwOiAjMEE0Qjc4RkY7XG4kY29sb3ItbmV1dHJhbC0xMDA6ICMxMDE1MTc7XG4kY29sb3ItbmV1dHJhbC05MDogIzFEMjMyN0ZGO1xuJGNvbG9yLW5ldXRyYWwtODA6ICMyQzMzMzhGRjtcbiRjb2xvci1uZXV0cmFsLTcwOiAjM0M0MzRBRkY7XG4kY29sb3ItbmV1dHJhbC02MDogIzUwNTc1RUZGO1xuJGNvbG9yLW5ldXRyYWwtNTA6ICM2NDY5NzBGRjtcbiRjb2xvci1uZXV0cmFsLTMwOiAjOEM4Rjk0RkY7XG4kY29sb3ItbmV1dHJhbC0xMDogI0MzQzRDN0ZGO1xuJGNvbG9yLW5ldXRyYWwtMjA6ICNBN0FBQURGRjtcbiRjb2xvci1uZXV0cmFsLTU6ICNEQ0RDREVGRjtcbiRjb2xvci11dGlsaXR5LXJlZC01MDogI0Q2MzYzOEZGO1xuJGNvbG9yLXV0aWxpdHkteWVsbG93LTUwOiAjREJBNjE3RkY7XG4kY29sb3ItdXRpbGl0eS1ncmVlbi01MDogIzAwOEEyMEZGO1xuJHJhZGl1cy14bDogOXB4O1xuJGNvbG9yLW5ldXRyYWwtMzogI0YwRjBGMUZGO1xuJGNvbG9yLW5ldXRyYWwtMDogI0Y2RjdGN0ZGO1xuJGNvbG9yLXV0aWxpdHktd2hpdGU6ICNGRkZGRkZGRjtcbiRjb2xvci1icmFuZC1vcmFuZ2UtMDogI0ZGRjNFQ0ZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTA6ICNFNUY1RkFGRjtcbiRjb2xvci11dGlsaXR5LWdyZWVuLTA6ICNFREZBRUZGRjtcbiRjb2xvci11dGlsaXR5LXJlZC0wOiAjRkNGMEYxRkY7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTMwOiAjRkZBMDZBRkY7XG4kY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtMzA6ICM2NkM2RTRGRjtcbiRjb2xvci11dGlsaXR5LWdyZWVuLTMwOiAjMDBCQTM3RkY7XG4kY29sb3ItdXRpbGl0eS1yZWQtMzA6ICNGODYzNjhGRjtcbiRjb2xvci13b3JkcHJlc3MtYmx1ZTogIzIyNzFCMUZGO1xuJGNvbG9yLXV0aWxpdHktZ3JheS0wOiAjRjZGNkY2RkY7XG4kY29sb3ItYWNjZW50LW9yYW5nZS01MDogI0ZFOUU2OEZGO1xuJGNvbG9yLWFjY2VudC1vcmFuZ2UtMDogI0ZGRjBFOEZGO1xuJGNvbG9yLWFjY2VudC1yZWQtNTA6ICNGRjczNjhGRjtcbiRjb2xvci1hY2NlbnQtcmVkLTA6ICNGRkVBRThGRjtcbiRjb2xvci1hY2NlbnQtcGluay01MDogI0RGNUI5QUZGO1xuJGNvbG9yLWFjY2VudC1waW5rLTA6ICNGQUU2RjBGRjtcbiRjb2xvci1hY2NlbnQtcHVycGxlLTUwOiAjODY1OUMyRkY7XG4kY29sb3ItYWNjZW50LXB1cnBsZS0wOiAjRURFNkY2RkY7XG4kY29sb3ItYWNjZW50LWJsdWUtNTA6ICM1Njg1QkRGRjtcbiRjb2xvci1hY2NlbnQtYmx1ZS0wOiAjRTZFREY1RkY7XG4kY29sb3ItYWNjZW50LXRlYWwtNTA6ICM0QkI5QTdGRjtcbiRjb2xvci1hY2NlbnQtdGVhbC0wOiAjRTRGNUYyRkY7XG4kY29sb3ItYWNjZW50LWdyZWVuLTUwOiAjNTdENDY2RkY7XG4kY29sb3ItYWNjZW50LWdyZWVuLTA6ICNFNkY5RThGRjtcbiRjb2xvci1hY2NlbnQteWVsbG93LTUwOiAjRkZDNDY5RkY7XG4kY29sb3ItYWNjZW50LXllbGxvdy0wOiAjRkZGNkU5RkY7XG4kY2FsZW5kYXItdGV4dC1wcmltYXJ5OiAjMDAwMDAwRDk7XG4kY2FsZW5kYXItdGV4dC10ZXJ0aWFyeTogIzAwMDAwMDY2O1xuJGNhbGVuZGFyLWJhY2tncm91bmQ6ICMwMDAwMDAwODtcblxuLyogQWxpYXNlcyAgKi9cbiR0ZXh0LXRleHQtcHJpbWFyeTogJGNvbG9yLW5ldXRyYWwtODA7XG4kdGV4dC10ZXh0LXNlY29uZGFyeTogJGNvbG9yLW5ldXRyYWwtNjA7XG4kdGV4dC10ZXh0LXRlcnRpYXJ5OiAkY29sb3ItbmV1dHJhbC01MDtcbiR0ZXh0LXRleHQtaGVhZGluZzogJGNvbG9yLW5ldXRyYWwtOTA7XG4kdGV4dC10ZXh0LXRpdGxlOiAkY29sb3ItbmV1dHJhbC0xMDA7XG4kYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtb3JhbmdlLTUwO1xuJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtYmx1ZS01MDtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1iYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC0wO1xuJGZpZWxkcy1maWVsZC1ib3JkZXI6ICRjb2xvci1uZXV0cmFsLTMwO1xuJHN1cmZhY2Utc3VyZmFjZS1ib3JkZXI6ICRjb2xvci1uZXV0cmFsLTEwO1xuJHN1cmZhY2Utc3VyZmFjZS1kaXZpZGVyOiAkY29sb3ItbmV1dHJhbC01O1xuJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC0taG92ZXI6ICRjb2xvci1icmFuZC1vcmFuZ2UtNzA7XG4kYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyOiAkY29sb3ItYnJhbmQtYmx1ZS03MDtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXI6ICRjb2xvci1uZXV0cmFsLTMwO1xuJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktdGV4dDogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG4kYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LXRleHQ6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LXRleHQ6ICRjb2xvci1uZXV0cmFsLTYwO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlci0taG92ZXI6ICRjb2xvci1uZXV0cmFsLTYwO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQtLS1ob3ZlcjogJGNvbG9yLW5ldXRyYWwtMztcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0LS1ob3ZlcjogJGNvbG9yLW5ldXRyYWwtODA7XG4kYnV0dG9ucy1idXR0b24td3AtcHJpbWFyeS1iYWNrZ3JvdW5kOiAjMjI3MUIxO1xuJHRleHQtdGV4dC1saW5rOiAkY29sb3ItYnJhbmQtYmx1ZS01MDtcbiR0ZXh0LXRleHQtc3VjY2VzczogJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG4kdGV4dC10ZXh0LWVycm9yOiAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG4kdGV4dC10ZXh0LXdhcm5pbmc6ICRjb2xvci11dGlsaXR5LXllbGxvdy01MDtcbiRmaWVsZHMtZmllbGQtYm9yZGVyLS1mb2N1czogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kZmllbGRzLWZpZWxkLWJvcmRlci1lcnJvcjogJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuJGZpZWxkcy1maWVsZC1jaG9pY2Utb2ZmOiAkY29sb3ItbmV1dHJhbC0zMDtcbiRmaWVsZHMtZmllbGQtY2hvaWNlLW9uOiAkY29sb3ItYnJhbmQtYmx1ZS01MDtcbiRiYWRnZXMtYmFkZ2Utb3JhbmdlLXRleHQ6ICRjb2xvci1icmFuZC1vcmFuZ2UtMzA7XG4kYmFkZ2VzLWJhZGdlLW9yYW5nZS1iYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtb3JhbmdlLTA7XG4kYmFkZ2VzLWJhZGdlLWJsdWUtYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTA7XG4kYmFkZ2VzLWJhZGdlLWJsdWUtdGV4dDogJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTMwO1xuJGJhZGdlcy1iYWRnZS1ncmVlbi1iYWNrZ3JvdW5kOiAkY29sb3ItdXRpbGl0eS1ncmVlbi0wO1xuJGJhZGdlcy1iYWRnZS1ncmVlbi10ZXh0OiAkY29sb3ItdXRpbGl0eS1ncmVlbi0zMDtcbiRiYWRnZXMtYmFkZ2UtcmVkLWJhY2tncm91bmQ6ICRjb2xvci11dGlsaXR5LXJlZC0wO1xuJGJhZGdlcy1iYWRnZS1yZWQtdGV4dDogJGNvbG9yLXV0aWxpdHktcmVkLTMwO1xuJGJhZGdlcy1iYWRnZS1uZXV0cmFsLWJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLTU7XG4kYmFkZ2VzLWJhZGdlLW5ldXRyYWwtdGV4dDogJGNvbG9yLW5ldXRyYWwtMzA7XG4kcmFkaXVzLXJhZGl1cy1idXR0b246ICRyYWRpdXMtbWQ7XG4kcmFkaXVzLXJhZGl1cy1maWVsZDogJHJhZGl1cy1tZDtcbiRyYWRpdXMtcmFkaXVzLWJhZGdlOiAkcmFkaXVzLXNtO1xuJHN1cmZhY2Utc3VyZmFjZS1ib3JkZXItcHJpbWFyeTogJGNvbG9yLWJyYW5kLW9yYW5nZS01MDtcbiRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtMztcbiRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG4kdGV4dC10ZXh0LWljb246ICRjb2xvci1uZXV0cmFsLTIwO1xuJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLWxpZ2h0OiAkY29sb3ItdXRpbGl0eS1ncmF5LTA7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vZmYtLWhvdmVyOiAkY29sb3ItbmV1dHJhbC01MDtcbiRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3ZlcjogJGNvbG9yLWJyYW5kLWJsdWUtNzA7XG5cbi8vIEZvbnQgc2l6ZXMuXG4kdGV4dC1mb250LXNpemUtMnhzOiAxMXB4O1xuJHRleHQtZm9udC1zaXplLXhzOiAxMnB4O1xuJHRleHQtZm9udC1zaXplLXNzOiAxM3B4O1xuJHRleHQtZm9udC1zaXplLXM6IDE0cHg7XG4kdGV4dC1mb250LXNpemUtbTogMTZweDtcbiR0ZXh0LWZvbnQtc2l6ZS1sOiAxOHB4O1xuJHRleHQtZm9udC1zaXplLWxsOiAyMHB4O1xuJHRleHQtZm9udC1zaXplLWxsbDogMjJweDtcbiR0ZXh0LWZvbnQtc2l6ZS14bDogMjRweDtcbiR0ZXh0LWZvbnQtc2l6ZS14eGw6IDI4cHg7XG5cbi8vIFRyYW5zaXRpb25zLlxuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tc2xvd2VzdDogLjUwcztcbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLXNsb3dlcjogLjQwcztcbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLXNsb3c6IC4yNXM7XG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1ub3JtYWw6IC4xNXM7XG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1mYXN0OiAuMDVzO1xuIiwiLy8gR2VuZXJhbCBhZG1pbiBzdHlsaW5nLlxuXG4vLyBDb3JlIGFkbWluIHN0eWxlIG92ZXJyaWRlcy5cbiN3cGNvbnRlbnQge1xuXHRwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cdFx0cGFkZGluZy10b3A6IDQ2cHg7XG5cdH1cbn1cblxuI3dwYm9keSB7XG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdH1cbn1cblxuLy8gQWRtaW4gd3JhcCAtIGNvbnRhaW5zIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBoZWFkZXIuXG4uc3VnYXItY2FsZW5kYXItYWRtaW4td3JhcCB7XG5cdG1hcmdpbjogMDtcblxuXHQubm90aWNlIHtcblx0XHRtYXJnaW46IDAgMCAxNXB4O1xuXHR9XG59XG5cbi8vIEFkbWluIGNvbnRlbnQuXG4uc3VnYXItY2FsZW5kYXItYWRtaW4tY29udGVudCB7XG5cdHBhZGRpbmc6ICRzcGFjaW5nLWxnICRzcGFjaW5nLWxnIDAgJHNwYWNpbmctbGc7XG5cblx0Kixcblx0Kjo6YmVmb3JlLFxuXHQqOjphZnRlciB7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0fVxuXG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIiBcIjtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHR9XG5cblx0aHIge1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2U0ZTRlNDtcblx0XHRtYXJnaW46IDIwcHggMDtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHR9XG5cblx0Y29kZSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBhZGRpbmc6IDAgNnB4O1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHRjb2xvcjogJHRleHQtdGV4dC1zZWNvbmRhcnk7XG5cdH1cblxuXHRzdHJvbmcge1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdH1cblxuXHRwIHtcblx0XHQmLnN1Ym1pdCB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1sZyAwIDIwcHggMDtcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTRlNGU0O1xuXG5cdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLWFkbWluLWNvbnRlbnRfX3NldHRpbmdzLWZvcm0ge1xuXHRcdHBhZGRpbmctdG9wOiAxNXB4O1xuXHR9XG59XG5cbi8vIExlZ2FjeSBhZGRvbiBmaXhlcy5cbi5zdWdhci1jYWxlbmRhci1hZG1pbi1jb250ZW50IHtcblx0LmZvcm0tdGFibGU6Zmlyc3QtY2hpbGQge1xuXHRcdHRib2R5IHtcblx0XHRcdHRyOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0dGgsXG5cdFx0XHRcdHRkIHtcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGgge1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAycHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRoMyB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy8gSGVhZGVyIHN0eWxlcy5cblxuI3N1Z2FyLWNhbGVuZGFyLWhlYWRlci10ZW1wIHtcblx0bWFyZ2luOiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogLTFweDtcblx0bGVmdDogMjBweDtcblx0cmlnaHQ6IDA7XG5cdHotaW5kZXg6IDk5O1xuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPDYwMHB4XCIpIHtcblx0XHRwYWRkaW5nLXRvcDogNTBweDtcblx0fVxufVxuXG4jc3VnYXItY2FsZW5kYXItaGVhZGVyIHtcblx0cGFkZGluZzogMjBweCAzMHB4O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJHN1cmZhY2Utc3VyZmFjZS1kaXZpZGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0aW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW46IDA7XG5cdFx0bWF4LXdpZHRoOiAyOTZweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xuXHRcdFx0bWF4LXdpZHRoOiAyMDBweDtcblx0XHR9XG5cdH1cblxuXHRhI3N1Z2FyLWNhbGVuZGFyLWhlYWRlci1oZWxwIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRjb2xvcjogJHRleHQtdGV4dC1pY29uO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEzcHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdG1hc2staW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9xdWVzdGlvbi1jaXJjbGUuc3ZnXCIpO1xuXHRcdFx0bWFzay1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LXRleHQtaWNvbjtcblx0XHRcdHdpZHRoOiAxNnB4O1xuXHRcdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiA2cHg7XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGNvbG9yOiAkdGV4dC10ZXh0LXRlcnRpYXJ5O1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LXRleHQtdGVydGlhcnk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuXHQjc3VnYXItY2FsZW5kYXItbm90aWNlLWJhciArICNzdWdhci1jYWxlbmRhci1oZWFkZXItdGVtcCB7XG5cdFx0dG9wOiAzNHB4O1xuXHR9XG59XG4iLCIvLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjIuMC4wXG4vL1xuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBLaXR0eSBHaXJhdWRlbCAoQGtpdHR5Z2lyYXVkZWwpXG4vL1xuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxuQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5AdXNlICdzYXNzOm1hdGgnO1xuQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2FzczpsaXN0JztcbkB1c2UgJ3Nhc3M6c3RyaW5nJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdkZXNrdG9wJzogMTAyNHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxuICAncHJpbnQnOiAncHJpbnQnLFxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXG4gICdyZXRpbmEyeCc6XG4gICAgJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzpcbiAgICAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknLFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2Bcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cbi8vL1xuJHVuaXQtaW50ZXJ2YWxzOiAoXG4gICdweCc6IDEsXG4gICdlbSc6IDAuMDEsXG4gICdyZW0nOiAwLjEsXG4gICcnOiAwLFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBtZXRhLmZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgfVxufVxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7XG59XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLmdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge1xuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLmhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpXG4gICAgICB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgbGlzdC5pbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyaW5nLnNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci10cmltKCRwYXJzZWQtZGltZW5zaW9uKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyaW5nLmxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XG4gIEByZXR1cm4gaWYobGlzdC5pbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cbi8vL1xuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICR2YWx1ZTogc3RyaW5nLnNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHJpbmcubGVuZ3RoKCRvcGVyYXRvcikpO1xuICAkdHJpbW1lZFZhbHVlOiBzdHItdHJpbSgkdmFsdWUpO1xuXG4gIEBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICR0cmltbWVkVmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkdHJpbW1lZFZhbHVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHRyaW1tZWRWYWx1ZSk7XG4gIH1cblxuICAkaW50ZXJ2YWw6IG1hcC5nZXQoJHVuaXQtaW50ZXJ2YWxzLCBtYXRoLnVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3ttYXRoLnVuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC5oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC5nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsaXN0Lmxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxpc3QubGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XG4gICAgQHJldHVybiAoKTtcbiAgfVxuXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcbiAgICAkcmVzdWx0OiBsaXN0LmFwcGVuZCgkcmVzdWx0LCBsaXN0Lm50aCgkbGlzdCwgJGkpLCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKFxuICAgICcwJzogMCxcbiAgICAnMSc6IDEsXG4gICAgJzInOiAyLFxuICAgICczJzogMyxcbiAgICAnNCc6IDQsXG4gICAgJzUnOiA1LFxuICAgICc2JzogNixcbiAgICAnNyc6IDcsXG4gICAgJzgnOiA4LFxuICAgICc5JzogOSxcbiAgKTtcblxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xuICAgICR2YWx1ZTogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0cmluZy5sZW5ndGgoJHZhbHVlKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgIEBpZiBub3QobGlzdC5pbmRleChtYXAua2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGkpKTtcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAuZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXRoLmRpdihtYXAuZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSwgJGRpZ2l0cyk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAkdW5pdHM6IChcbiAgICAncHgnOiAxcHgsXG4gICAgJ2NtJzogMWNtLFxuICAgICdtbSc6IDFtbSxcbiAgICAnJSc6IDElLFxuICAgICdjaCc6IDFjaCxcbiAgICAncGMnOiAxcGMsXG4gICAgJ2luJzogMWluLFxuICAgICdlbSc6IDFlbSxcbiAgICAncmVtJzogMXJlbSxcbiAgICAncHQnOiAxcHQsXG4gICAgJ2V4JzogMWV4LFxuICAgICd2dyc6IDF2dyxcbiAgICAndmgnOiAxdmgsXG4gICAgJ3ZtaW4nOiAxdm1pbixcbiAgICAndm1heCc6IDF2bWF4LFxuICApO1xuXG4gIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAuZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEphY2sgTWNOaWNvbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBUcmltcyBhIHN0cmluZyBvZiBsZWFkaW5nIGFuZCB0cmFpbGluZyBzcGFjZXNcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gVmFsdWUgdG8gYmUgdHJpbW1lZFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfVxuLy8vXG5cbkBmdW5jdGlvbiBzdHItdHJpbSgkc3RyaW5nKSB7XG4gIEBpZiAoc3RyLXNsaWNlKCRzdHJpbmcsIDEsIDEpID09ICcgJykge1xuICAgIEByZXR1cm4gc3RyLXRyaW0oc3RyLXNsaWNlKCRzdHJpbmcsIDIpKTtcbiAgfSBAZWxzZSBpZiAoc3RyLXNsaWNlKCRzdHJpbmcsIHN0ci1sZW5ndGgoJHN0cmluZyksIC0xKSA9PSAnICcpIHtcbiAgICBAcmV0dXJuIHN0ci10cmltKHN0ci1zbGljZSgkc3RyaW5nLCAxLCAtMikpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRzdHJpbmc7XG4gIH1cbn1cblxuLy8vXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxuLy8vIGZvciBpbnN0YW5jZS5cbi8vL1xuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC5tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAubWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxpc3QubGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKVxuICB7XG4gICAgQGNvbnRlbnQ7XG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsaXN0Lmxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7c3RyaW5nLnVucXVvdGUocGFyc2UtZXhwcmVzc2lvbihsaXN0Lm50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgICRzbGljZWQtY29uZGl0aW9uczogc2xpY2UoJGNvbmRpdGlvbnMsIDIpO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJHNsaWNlZC1jb25kaXRpb25zLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGZvcm0tZmllbGQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRmaWVsZHMtZmllbGQtYm9yZGVyO1xuXHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLXJhZGl1cy1maWVsZDtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0Y29sb3I6ICR0ZXh0LXRleHQtcHJpbWFyeTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRwYWRkaW5nOiA3cHggMTJweDtcblx0bWFyZ2luOiAwO1xuXHR3aWR0aDogNDAwcHg7XG5cdG1pbi1oZWlnaHQ6IDM2cHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtcHJpbWFyeTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1ib3JkZXItLWZvY3VzICFpbXBvcnRhbnQ7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRmaWVsZHMtZmllbGQtYm9yZGVyLS1mb2N1cyAhaW1wb3J0YW50O1xuXHRcdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6ZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPGRlc2t0b3BcIikge1xuXHRcdHdpZHRoOiAzMDBweDtcblx0fVxufVxuXG5AbWl4aW4gZm9ybS1maWVsZC1zZWxlY3Qge1xuXHRAaW5jbHVkZSBmb3JtLWZpZWxkO1xuXG5cdHBhZGRpbmc6IDdweCAyNHB4IDdweCAxMHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuQG1peGluIGZvcm0tZmllbGQtcmFkaW8ge1xuXHRib3JkZXI6IDFweCBzb2xpZCAkZmllbGRzLWZpZWxkLWJvcmRlcjtcblx0bWFyZ2luOiAxcHggMTBweCAwIDA7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0fVxuXG5cdCY6Y2hlY2tlZCB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3Zlcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmZvY3VzIHtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cdFx0fVxuXHR9XG5cblx0JjpkaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRmaWVsZHMtZmllbGQtY2hvaWNlLW9mZjtcblx0fVxufVxuXG5AbWl4aW4gZm9ybS1maWVsZC1jaGVja2JveCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRmaWVsZHMtZmllbGQtYm9yZGVyO1xuXHRtYXJnaW46IDFweCAxMHB4IDAgMDtcblxuXHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHR9XG5cblx0Jjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdH1cblxuXHQmOmNoZWNrZWQge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdG1hc2s6IHVybCguLi9pbWFnZXMvaWNvbnMveWVzLnN2ZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJVxuXHRcdH1cblxuXHRcdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cdFx0fVxuXG5cdFx0Jjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlLCAwIDAgMCAycHggJGZpZWxkcy1maWVsZC1jaG9pY2Utb24tLWhvdmVyO1xuXHRcdH1cblx0fVxuXG5cdCY6ZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IDAuNTtcblxuXHRcdCY6Y2hlY2tlZCB7XG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gZm9ybS1maWVsZC10ZXh0YXJlYSB7XG5cdEBpbmNsdWRlIGZvcm0tZmllbGQ7XG59XG5cbi5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbjogMCAxcHg7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRjb2xvcjogJHRleHQtdGV4dC1zZWNvbmRhcnk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGhlaWdodDogMjVweDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHRpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG5cdFx0QGluY2x1ZGUgdmlzdWFsbHktaGlkZTtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdCYgKyBsYWJlbC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb2ZmLS1ob3Zlcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdCYgKyBsYWJlbC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZSwgMCAwIDAgMnB4ICRmaWVsZHMtZmllbGQtYm9yZGVyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6Y2hlY2tlZCB7XG5cdFx0XHQmICsgbGFiZWwuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGxlZnQ6IGNhbGMoMTAwJSAtIDJweCk7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3Zlcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGUsIDAgMCAwIDJweCAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6ZGlzYWJsZWQge1xuXHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRzcGFuLFxuXHRsYWJlbCB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtbGFiZWwge1xuXHRcdHBhZGRpbmc6IDAgJHNwYWNpbmctc207XG5cdFx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA2NXB4KTtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMge1xuXHRcdGNvbG9yOiAkdGV4dC10ZXh0LXNlY29uZGFyeTtcblx0XHRmb250LXNpemU6ICR0ZXh0LWZvbnQtc2l6ZS14cztcblx0XHRsaW5lLWhlaWdodDogMTdweDtcblx0XHRwYWRkaW5nOiAwICRzcGFjaW5nLXNtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb2ZmLFxuXHQuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtc3RhdHVzLW9uIHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdH1cblxuXHRpbnB1dDpub3QoOmNoZWNrZWQpIH4gLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLXN0YXR1cy1vZmYsXG5cdGlucHV0OmNoZWNrZWQgfiAuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtc3RhdHVzLW9uIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5ldXRyYWwtMzA7XG5cdFx0Ym9yZGVyLXJhZGl1czogOC41cHg7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRoZWlnaHQ6IDE3cHg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRleHQtaW5kZW50OiAtOTk5OXB4O1xuXHRcdHdpZHRoOiAyN3B4O1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRoZWlnaHQ6IDEzcHg7XG5cdFx0XHRsZWZ0OiAycHg7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDJweDtcblx0XHRcdHdpZHRoOiAxM3B4O1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLW5vcm1hbCBlYXNlLW91dDtcblx0XHR9XG5cdH1cblxuXHRpbnB1dDpkaXNhYmxlZCB+IC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uLFxuXHRpbnB1dDpkaXNhYmxlZCB+IC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb2ZmLFxuXHRpbnB1dDpkaXNhYmxlZCB+IC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb24ge1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0fVxufVxuIiwiQG1peGluIGxpbmstcmVzZXQge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHRib3gtc2hhZG93OiBub25lO1xuXHRvdXRsaW5lOiBub25lO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbkBtaXhpbiB2aXN1YWxseS1oaWRlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRoZWlnaHQ6IDA7XG5cdHdpZHRoOiAwO1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXHRtYXJnaW46IDA7XG5cdG1pbi13aWR0aDogMDtcbn1cblxuQG1peGluIGJhZGdlKCRwb3NpdGlvbjogYWZ0ZXIpIHtcblx0Jjo6I3skcG9zaXRpb259IHtcblx0XHRjb250ZW50OiBcIlBST1wiO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW4tbGVmdDogJHNwYWNpbmctc207XG5cdFx0cGFkZGluZzogNXB4IDhweDtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdGZvbnQtc2l6ZTogOHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiA4cHg7XG5cdFx0Y29sb3I6ICRiYWRnZXMtYmFkZ2UtbmV1dHJhbC10ZXh0O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRiYWRnZXMtYmFkZ2UtbmV1dHJhbC1iYWNrZ3JvdW5kO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtcmFkaXVzLWJhZGdlO1xuXG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cbiIsIi8vIEJ1dHRvbnMuXG4uc3VnYXItY2FsZW5kYXItYnRuIHtcblx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtcmFkaXVzLWJ1dHRvbjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbjogMDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cdHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1mYXN0IGVhc2Utb3V0O1xuXG5cdCYuaW5hY3RpdmUge1xuXHRcdGN1cnNvcjogbm8tZHJvcDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLWJsb2NrIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXNtIHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsaW5lLWhlaWdodDogMjhweDtcblx0cGFkZGluZzogMCAxMHB4O1xuXHRoZWlnaHQ6IDMwcHg7XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tbWQge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGxpbmUtaGVpZ2h0OiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRwYWRkaW5nOiAxMHB4IDE1cHg7XG5cdG1pbi1oZWlnaHQ6IDM2cHg7XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tbGcge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHBhZGRpbmc6IDExcHggMTdweDtcblx0bWluLWhlaWdodDogNDRweDtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1wcmltYXJ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDtcblx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1zZWNvbmRhcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG5cdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0b3V0bGluZTogMDtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXRlcnRpYXJ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQ7XG5cdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlcjtcblx0Y29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0ICFpbXBvcnRhbnQ7XG5cblx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQtLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXItLWhvdmVyO1xuXHRcdGNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dC0taG92ZXIgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyLS1ob3Zlcjtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLWdyZWVuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci11dGlsaXR5LWdyZWVuLTUwO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tcmVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG4iLCIvLyBQYWdlIHN1YmhlYWRlci5cbi5zdWdhci1jYWxlbmRhci1hZG1pbi1zdWJoZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGhlaWdodDogNjBweDtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAxNXB4ICRzcGFjaW5nLWxnO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA3KTtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHQqLFxuXHQqOjpiZWZvcmUsXG5cdCo6OmFmdGVyIHtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cblx0aDQge1xuXHRcdGZvbnQtc2l6ZTogMjJweDtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdGNvbG9yOiAkdGV4dC10ZXh0LXRpdGxlO1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci1idG4tbmV3LWl0ZW0ge1xuXHRcdG1hcmdpbi1sZWZ0OiAkc3BhY2luZy1tZDtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0bWFzazogdXJsKC4uL2ltYWdlcy9pY29ucy9hZGQuc3ZnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdFx0d2lkdGg6IDExcHg7XG5cdFx0XHRoZWlnaHQ6IDExcHg7XG5cdFx0XHRtYXJnaW46IDAgNnB4IDAgMDtcblx0XHR9XG5cdH1cbn1cbiIsIi8vIFRhYmxlcyBhbmQgcmVsYXRlZCBjb250cm9scy5cbi5zdWdhci1jYWxlbmRhci1pdGVtLWZpbHRlcnMge1xuXHQuc2VhcmNoIHtcblx0XHRtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLXNtO1xuXHR9XG5cblx0LmJ1dHRvbiB7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci10YWJsZW5hdiB7XG5cdCYuc3VnYXItY2FsZW5kYXItdGFibGVuYXYtdG9wIHtcblx0XHQ+ICoge1xuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHR9XG5cblx0XHQuYnV0dG9uIHtcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXHRcdH1cblx0fVxuXG5cdCYuc3VnYXItY2FsZW5kYXItdGFibGVuYXYtdG9vbHMge1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0cGFkZGluZy1yaWdodDogMTBweDtcblxuXHRcdD4gKiB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0fVxuXG5cdFx0PiBzcGFuIHtcblx0XHRcdGNvbG9yOiAkdGV4dC10ZXh0LXRlcnRpYXJ5O1xuXHRcdFx0cGFkZGluZzogNnB4IDEwcHg7XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHQmLnNjcmVlbi1vcHRpb25zIHtcblx0XHRcdFx0LmRhc2hpY29ucyB7XG5cdFx0XHRcdFx0Y29sb3I6ICNiNGI5YmU7XG5cdFx0XHRcdFx0cGFkZGluZzogNXB4O1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogLTNweDtcblx0XHRcdFx0XHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYuc3VnYXItY2FsZW5kYXItdGFibGVuYXYtcGFnZXMge1xuXHRcdGEge1xuXHRcdFx0Ji50b2RheSB7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMTVweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4iLCJAaW1wb3J0ICdhZG1pbi92YXJpYWJsZXMnO1xuXG5AaW1wb3J0ICd2ZW5kb3IvaW5jbHVkZS1tZWRpYSc7XG5cbkBpbXBvcnQgXCJhZG1pbi9taXhpbnNcIjtcbkBpbXBvcnQgJ2FkbWluL2dlbmVyYWwnO1xuQGltcG9ydCAnYWRtaW4vaGVhZGVyJztcbkBpbXBvcnQgJ2FkbWluL2Zvcm1zJztcbkBpbXBvcnQgJ2FkbWluL2J1dHRvbnMnO1xuQGltcG9ydCAnYWRtaW4vc3ViaGVhZGVyJztcbkBpbXBvcnQgJ2FkbWluL3RhYmxlcyc7XG5cbi5zdWdhci1jYWxlbmRhci1hZG1pbi1zdWJoZWFkZXIge1xuXHQuc3VnYXItY2FsZW5kYXItYWRtaW4tc3ViaGVhZGVyLXRvb2xzIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGdhcDogJHNwYWNpbmctc207XG5cblx0XHQuc3VnYXItY2FsZW5kYXItdmlldy1tb2RlcyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0Z2FwOiA1cHg7XG5cblx0XHRcdC5zdWdhci1jYWxlbmRhci12aWV3LW1vZGUge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdHdpZHRoOiAzMnB4O1xuXHRcdFx0XHRoZWlnaHQ6ICRzcGFjaW5nLWxnO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1mYXN0IGVhc2Utb3V0O1xuXG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0bWFzay1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRcdFx0XHRtYXNrLXNpemU6IGNvbnRhaW47XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRleHQtdGV4dC1pY29uO1xuXHRcdFx0XHRcdHdpZHRoOiAxOHB4O1xuXHRcdFx0XHRcdGhlaWdodDogMThweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cblx0XHRcdFx0XHQmOm5vdCguY3VycmVudCkge1xuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC10ZXh0LXRlcnRpYXJ5O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYuY3VycmVudCB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJyYW5kLW9yYW5nZS0wO1xuXG5cdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJyYW5kLW9yYW5nZS01MDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLW1vbnRoIHtcblx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRtYXNrLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvdmlldy1tb250aC5zdmdcIik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji13ZWVrIHtcblx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRtYXNrLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvdmlldy13ZWVrLnN2Z1wiKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLWRheSB7XG5cdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0bWFzay1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3ZpZXctZGF5LnN2Z1wiKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLWxpc3Qge1xuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdG1hc2staW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy92aWV3LWxpc3Quc3ZnXCIpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci1zY3JlZW4tb3B0aW9ucyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0LnN1Z2FyLWNhbGVuZGFyLXNjcmVlbi1vcHRpb25zLXRvZ2dsZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZDtcblx0XHRcdGNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dDtcblx0XHRcdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlcjtcblx0XHRcdHBhZGRpbmc6IDFweCA2cHggMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblx0XHRcdHN2ZyB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0d2lkdGg6IDE5cHg7XG5cdFx0XHRcdGhlaWdodDogMTlweDtcblxuXHRcdFx0XHRAbWVkaWEgKG1heC13aWR0aDogNzgycHgpIHtcblx0XHRcdFx0XHRwYWRkaW5nOiA1cHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRwYXRoIHtcblx0XHRcdFx0XHRmaWxsOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dDtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycztcblx0XHRcdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmFjdGl2ZSxcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZDtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyLS1ob3ZlcjtcblxuXHRcdFx0XHRzdmcge1xuXHRcdFx0XHRcdHBhdGgge1xuXHRcdFx0XHRcdFx0ZmlsbDogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LXRleHQtLWhvdmVyO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdH1cblxuXHRcdFx0JjphY3RpdmUsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXItLWhvdmVyO1xuXHRcdFx0fVxuXG5cdFx0XHQmLm9wZW4ge1xuXHRcdFx0XHRzdmcge1xuXHRcdFx0XHRcdHBhdGgge1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5zdWdhci1jYWxlbmRhci1zY3JlZW4tb3B0aW9ucy1tZW51IHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogNDBweDtcblx0XHRcdHJpZ2h0OiAtMTBweDtcblx0XHRcdHdpZHRoOiAyNDBweDtcblx0XHRcdHotaW5kZXg6IDk5OTk5O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogJHJhZGl1cy1sZztcblx0XHRcdGJveC1zaGFkb3c6IDAgNXB4IDE1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXG5cdFx0XHRmaWVsZHNldCB7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMTVweCAxNXB4O1xuXG5cdFx0XHRcdCY6bm90KDpsYXN0LW9mLXR5cGUpIHtcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJHN1cmZhY2Utc3VyZmFjZS1kaXZpZGVyO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0bGVnZW5kIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAxNXB4IDA7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxMnB4O1xuXHRcdFx0XHRcdGNvbG9yOiAkY29sb3ItbmV1dHJhbC0zMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGxhYmVsIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0XHRjb2xvcjogJHRleHQtdGV4dC1zZWNvbmRhcnk7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmctc207XG5cblx0XHRcdFx0XHRpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmb3JtLWZpZWxkLWNoZWNrYm94O1xuXG5cdFx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlucHV0W3R5cGU9bnVtYmVyXSxcblx0XHRcdFx0c2VsZWN0IHtcblx0XHRcdFx0XHRjb2xvcjogJHRleHQtdGV4dC1zZWNvbmRhcnk7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0cCB7XG5cdFx0XHRcdCYuc3VibWl0IHtcblx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0cGFkZGluZzogMCAxNXB4IDE1cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLXRhYmxlIHtcblx0Ym9yZGVyLXJhZGl1czogJHJhZGl1cy1tZDtcblx0YmFja2dyb3VuZC1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkc3VyZmFjZS1zdXJmYWNlLWJvcmRlciAhaW1wb3J0YW50O1xuXHRib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMDcpICFpbXBvcnRhbnQ7XG5cblx0Ji1ldmVudHMge1xuXHRcdCYtLW1vbnRoLFxuXHRcdCYtLXdlZWssXG5cdFx0Ji0tZGF5IHtcblx0XHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHQtLWdyaWQtdGVtcGxhdGUtY29sdW1uczogWyB3ZWVrIF0gbWlubWF4KDAsIDEyMHB4KSBbIHN1bmRheSBdIG1pbm1heCgwLCAxZnIpIFsgbW9uZGF5IF0gbWlubWF4KDAsIDFmcikgWyB0dWVzZGF5IF0gbWlubWF4KDAsIDFmcikgWyB3ZWRuZXNkYXkgXSBtaW5tYXgoMCwgMWZyKSBbIHRodXJzZGF5IF0gbWlubWF4KDAsIDFmcikgWyBmcmlkYXkgXSBtaW5tYXgoMCwgMWZyKSBbIHNhdHVyZGF5IF0gbWlubWF4KDAsIDFmcik7XG5cblx0XHRcdC5yb3cge1xuXHRcdFx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLWdyaWQtdGVtcGxhdGUtY29sdW1ucyk7XG5cdFx0XHR9XG5cblx0XHRcdC5jb2x1bW4ge1xuXHRcdFx0XHRvdXRsaW5lOiAxcHggc29saWQgJGNvbG9yLW5ldXRyYWwtNTtcblxuXHRcdFx0XHQmLmhpZGRlbiB7XG5cdFx0XHRcdFx0b3V0bGluZTogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuY29sdW1uIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0YWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTtcblxuXHRcdFx0XHQmLmhpZGRlbiB7XG5cdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0XHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0Ym9yZGVyOiAwICFpbXBvcnRhbnQ7XG5cblx0XHRcdFx0XHQqIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5oZWFkZXIge1xuXHRcdFx0XHRcdHBhZGRpbmc6ICRzcGFjaW5nLXNtICRzcGFjaW5nLW1kO1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0Y29sb3I6ICR0ZXh0LXRleHQtcHJpbWFyeTtcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdG1heC1oZWlnaHQ6IDQwcHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRoNCB7XG5cdFx0XHRcdFx0bWFyZ2luOiAkc3BhY2luZy1zbTtcblx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHRcdFx0XHRjb2xvcjogJHRleHQtdGV4dC1pY29uO1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICR0ZXh0LXRleHQtdGVydGlhcnk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGEge1xuXHRcdFx0XHQmLmRheS1udW1iZXIsXG5cdFx0XHRcdCYud2Vlay1udW1iZXIsXG5cdFx0XHRcdCYuc3VnYXItY2FsZW5kYXItZXZlbnQtZW50cnkge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGxpbmstcmVzZXQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLnN1Z2FyLWNhbGVuZGFyLWV2ZW50LWVudHJ5IHtcblx0XHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRcdFx0Y29sb3I6ICR0ZXh0LXRleHQtcHJpbWFyeTtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTZweDtcblx0XHRcdFx0XHRtYXJnaW46IDAgJHNwYWNpbmctc20gJHNwYWNpbmctc207XG5cdFx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAkc3BhY2luZy1zbTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0XHRcdG1hc2staW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9ldmVudC5zdmdcIik7XG5cdFx0XHRcdFx0XHRtYXNrLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdFx0XHRcdFx0bWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN1Z2FyLWNhbGVuZGFyLWJhY2tncm91bmQtY29sb3IsICR0ZXh0LXRleHQtcHJpbWFyeSk7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTZweDtcblx0XHRcdFx0XHRcdGhlaWdodDogMTZweDtcblx0XHRcdFx0XHRcdG1hcmdpbjogLTRweCA0cHggMCAwO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYuYWxsLWRheSB7XG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdG1hc2staW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9ldmVudC1hbGwtZGF5LnN2Z1wiKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0W2RhdGEtdGlwcHktcm9vdF0ge1xuXHRcdFx0XHR3aWR0aDogMzIwcHg7XG5cdFx0XHRcdGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4wNykgIWltcG9ydGFudDtcblxuXHRcdFx0XHQudGlwcHktYm94IHtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLW1kO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTtcblxuXHRcdFx0XHRcdC50aXBweS1jb250ZW50IHtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cblx0XHRcdFx0XHRcdC5zdWdhcl9jYWxlbmRhcl9ldmVudF90b29sdGlwX19oZWFkZXIge1xuXHRcdFx0XHRcdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzLW1kO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cy1tZDtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuXG5cdFx0XHRcdFx0XHRcdGgzIHtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogJHNwYWNpbmctc20gJHNwYWNpbmctbWQ7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktdGV4dDtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE4cHg7XG5cblx0XHRcdFx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGxpbmstcmVzZXQ7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdC5zdWdhcl9jYWxlbmRhcl9ldmVudF90b29sdGlwX19ib2R5IHtcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogJHNwYWNpbmctc20gJHNwYWNpbmctbWQ7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHN1cmZhY2Utc3VyZmFjZS1ib3JkZXI7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRzdXJmYWNlLXN1cmZhY2UtYm9yZGVyO1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJHRleHQtdGV4dC1wcmltYXJ5O1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG5cdFx0XHRcdFx0XHRcdHN0cm9uZyxcblx0XHRcdFx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRcdFx0XHQmICsgc3Ryb25nIHtcblx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6ICRzcGFjaW5nLXNtO1xuXHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdCYuc2MtdGltZXpvbmUge1xuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICR0ZXh0LXRleHQtc2Vjb25kYXJ5O1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQuc3VnYXJfY2FsZW5kYXJfZXZlbnRfdG9vbHRpcF9fZm9vdGVyIHtcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogJHNwYWNpbmctc20gJHNwYWNpbmctbWQ7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC1saWdodDtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJHN1cmZhY2Utc3VyZmFjZS1ib3JkZXI7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItbmV1dHJhbC01O1xuXHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzLW1kO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cy1tZDtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICNhN2FhYWQ7XG5cblx0XHRcdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHRcdFx0XHRcdFx0Ji5kZWxldGUge1xuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICNkYzMyMzI7XG5cblx0XHRcdFx0XHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogI2IzMmQyZTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmW2RhdGEtcGxhY2VtZW50PXRvcF0ge1xuXHRcdFx0XHRcdFx0LnRpcHB5LWFycm93IHtcblx0XHRcdFx0XHRcdFx0ei1pbmRleDogOTk5OTtcblxuXHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdFx0Ym90dG9tOiAtOHB4O1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci10b3AtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYm9yZGVyO1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdFx0Ym90dG9tOiAtN3B4O1xuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItd2lkdGg6IDhweCA4cHggMDtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci10b3AtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTtcblx0XHRcdFx0XHRcdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0JltkYXRhLXBsYWNlbWVudD1ib3R0b21dIHtcblx0XHRcdFx0XHRcdC50aXBweS1hcnJvdyB7XG5cdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLS1tb250aCB7XG5cdFx0XHQuY29sdW1uIHtcblx0XHRcdFx0bWluLWhlaWdodDogMTIwcHg7XG5cblx0XHRcdFx0Ji5kaWZmZXJlbnQtbW9udGgge1xuXHRcdFx0XHRcdGg0IHtcblx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGNvbG9yLW5ldXRyYWwtNTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLndlZWtlbmQge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC1saWdodDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtLXdlZWssXG5cdFx0Ji0tZGF5IHtcblx0XHRcdC5yb3c6bm90KC5ldmVudC1zcGFucyk6bnRoLWNoaWxkKDJuKSB7XG5cdFx0XHRcdC5jb2x1bW46bm90KC5jb2x1bW4taG91cik6bm90KC5oZWFkZXIpIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtbGlnaHQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmNvbHVtbiB7XG5cdFx0XHRcdCY6bm90KC5oZWFkZXIpLmNvbHVtbi1ob3VyIHtcblx0XHRcdFx0XHRwYWRkaW5nOiA4cHggJHNwYWNpbmctc207XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHRcdFx0XHRjb2xvcjogJHRleHQtdGV4dC10ZXJ0aWFyeTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6bm90KC5oZWFkZXIpIHtcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAzNnB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5ldmVudC1zcGFucy1ncm91cCB7XG5cdFx0XHRcdC5ldmVudC1zcGFucyB7XG5cdFx0XHRcdFx0LmV2ZW50LXNwYW4ge1xuXHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXNtO1xuXHRcdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRcdCYuc3VnYXItY2FsZW5kYXItZXZlbnQtZW50cnkge1xuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN1Z2FyLWNhbGVuZGFyLWJhY2tncm91bmQtY29sb3IsICR0ZXh0LXRleHQtcHJpbWFyeSk7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6IHZhcigtLXN1Z2FyLWNhbGVuZGFyLWZvcmVncm91bmQtY29sb3IsICRjb2xvci11dGlsaXR5LXdoaXRlKTtcblx0XHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogJHNwYWNpbmctbWQ7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogMCAkc3BhY2luZy1zbTtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW46IDAgJHNwYWNpbmctc207XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogY2FsYygkc3BhY2luZy1tZCAvIDIpO1xuXG5cdFx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRcdFx0Y29udGVudDogbm9uZTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLS13ZWVrIHtcblx0XHRcdC5ldmVudC1zcGFucy1ncm91cCB7XG5cdFx0XHRcdGRpc3BsYXk6IGNvbnRlbnRzO1xuXG5cdFx0XHRcdCYtLWFsbF9kYXkge1xuXHRcdFx0XHRcdC5yb3cge1xuXHRcdFx0XHRcdFx0Z3JpZC1yb3c6IDI7XG5cdFx0XHRcdFx0XHRncmlkLWNvbHVtbjogMTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLS1tdWx0aV9kYXkge1xuXHRcdFx0XHRcdC5yb3cge1xuXHRcdFx0XHRcdFx0Z3JpZC1yb3c6IDM7XG5cdFx0XHRcdFx0XHRncmlkLWNvbHVtbjogMTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuZXZlbnQtc3BhbnMge1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAkc3BhY2luZy1zbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtLWRheSB7XG5cdFx0XHQuZXZlbnQtc3BhbnMtZ3JvdXAge1xuXHRcdFx0XHQuZXZlbnQtc3BhbiB7XG5cdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogJHNwYWNpbmctc207XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iXX0= */
  • sugar-calendar-lite/trunk/assets/css/admin-events.min.css

    r3095175 r3118281  
    1 #wpcontent{padding-left:0 !important;position:relative}@media screen and (max-width: 600px){#wpcontent{padding-top:46px}}@media screen and (max-width: 600px){#wpbody{padding-top:0}}.sugar-calendar-admin-wrap{margin:0}.sugar-calendar-admin-wrap .notice{margin:0 0 30px}.sugar-calendar-admin-content{padding:30px 30px 0 30px}.sugar-calendar-admin-content *,.sugar-calendar-admin-content *::before,.sugar-calendar-admin-content *::after{box-sizing:border-box}.sugar-calendar-admin-content:before{content:" ";display:table}.sugar-calendar-admin-content:after{clear:both;content:" ";display:table}.sugar-calendar-admin-content hr{border:none;border-top:1px solid #e4e4e4;margin:20px 0;background:none}.sugar-calendar-admin-content code{display:inline-block;padding:0 6px;font-size:12px;line-height:20px;color:#50575e}.sugar-calendar-admin-content strong{font-weight:500}.sugar-calendar-admin-content p.submit{margin:0;padding:30px 0 20px 0;border-top:1px solid #e4e4e4}.sugar-calendar-admin-content p.submit:last-of-type{padding-bottom:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th,.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{vertical-align:top}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th{padding-top:2px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{padding-top:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child h3{margin-top:0}#sugar-calendar-header-temp{margin:0;position:absolute;top:-1px;left:20px;right:0;z-index:99}@media(max-width: 599px){#sugar-calendar-header-temp{padding-top:50px}}#sugar-calendar-header{padding:20px 30px;box-sizing:border-box;border-bottom:1px solid #dcdcde;background-color:#fff;display:flex;align-items:center}#sugar-calendar-header img{display:block;margin:0;max-width:296px}@media(max-width: 768px){#sugar-calendar-header img{max-width:200px}}#sugar-calendar-header a#sugar-calendar-header-help{margin-left:auto;color:#a7aaad;text-decoration:none;font-size:13px;line-height:13px;display:flex;align-items:center}#sugar-calendar-header a#sugar-calendar-header-help:before{content:"";mask-image:url("../images/icons/question-circle.svg");mask-position:center center;background-color:#a7aaad;width:16px;height:16px;margin-right:6px}#sugar-calendar-header a#sugar-calendar-header-help:hover,#sugar-calendar-header a#sugar-calendar-header-help:focus{color:#646970}#sugar-calendar-header a#sugar-calendar-header-help:hover:before,#sugar-calendar-header a#sugar-calendar-header-help:focus:before{background-color:#646970}@media screen and (min-width: 1024px){#sugar-calendar-notice-bar+#sugar-calendar-header-temp{top:34px}}.sugar-calendar-toggle-control{display:flex;align-items:center;margin:0 1px;line-height:1;color:#50575e;font-weight:500;height:25px;box-sizing:border-box}.sugar-calendar-toggle-control input[type=checkbox]{position:absolute;overflow:hidden;height:0;width:0;border:none !important;box-shadow:none !important;margin:0;min-width:0}.sugar-calendar-toggle-control input[type=checkbox]:hover,.sugar-calendar-toggle-control input[type=checkbox]:focus{border:none !important;box-shadow:none !important}.sugar-calendar-toggle-control input[type=checkbox]:hover:not(:disabled)+label.sugar-calendar-toggle-control-icon{background-color:#646970}.sugar-calendar-toggle-control input[type=checkbox]:focus:not(:disabled)+label.sugar-calendar-toggle-control-icon{box-shadow:0 0 0 1px #fff,0 0 0 2px #8c8f94}.sugar-calendar-toggle-control input[type=checkbox]:checked+label.sugar-calendar-toggle-control-icon{background-color:#2271b1}.sugar-calendar-toggle-control input[type=checkbox]:checked+label.sugar-calendar-toggle-control-icon:after{left:calc(100% - 2px);transform:translateX(-100%)}.sugar-calendar-toggle-control input[type=checkbox]:checked:hover:not(:disabled)+label.sugar-calendar-toggle-control-icon{background-color:#0a4b78}.sugar-calendar-toggle-control input[type=checkbox]:checked:focus:not(:disabled)+label.sugar-calendar-toggle-control-icon{box-shadow:0 0 0 1px #fff,0 0 0 2px #2271b1}.sugar-calendar-toggle-control input[type=checkbox]:disabled+label.sugar-calendar-toggle-control-icon{opacity:.5}.sugar-calendar-toggle-control input[type=checkbox]:disabled:hover+label.sugar-calendar-toggle-control-icon,.sugar-calendar-toggle-control input[type=checkbox]:disabled:focus+label.sugar-calendar-toggle-control-icon{box-shadow:none}.sugar-calendar-toggle-control span,.sugar-calendar-toggle-control label{display:inline-block;margin-bottom:0}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-label{padding:0 10px;max-width:calc(100% - 65px)}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status{color:#50575e;font-size:12px;line-height:17px;padding:0 10px;text-transform:uppercase;display:none}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status-on{cursor:pointer}.sugar-calendar-toggle-control input:not(:checked)~.sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control input:checked~.sugar-calendar-toggle-control-status-on{display:inline-block}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-icon{background-color:#8c8f94;border-radius:8.5px;cursor:pointer;display:inline-block;height:17px;position:relative;text-indent:-9999px;width:27px}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-icon:after{background:#fff;border-radius:50%;content:"";height:13px;left:2px;position:absolute;top:2px;width:13px;transition:all .15s ease-out}.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-icon,.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-status-on{cursor:default}.sugar-calendar-btn{border-width:1px;border-style:solid;border-radius:4px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;box-shadow:none;transition:all .05s ease-out}.sugar-calendar-btn.inactive{cursor:no-drop;pointer-events:none;box-shadow:none;opacity:.5}.sugar-calendar-btn-block{display:block;width:100%}.sugar-calendar-btn-sm{font-size:13px;font-weight:500;line-height:28px;padding:0 10px;height:30px}.sugar-calendar-btn-md{font-size:14px;line-height:14px;font-weight:500;padding:10px 15px;min-height:36px}.sugar-calendar-btn-lg{font-size:16px;font-weight:500;padding:11px 17px;min-height:44px}.sugar-calendar-btn-primary{background-color:#ff8845;border-color:#ff8845;color:#fff !important}.sugar-calendar-btn-primary:hover,.sugar-calendar-btn-primary:active,.sugar-calendar-btn-primary:focus{background-color:#cb6d37;border-color:#cb6d37;color:#fff !important}.sugar-calendar-btn-primary:focus{box-shadow:0 0 0 2px #cb6d37;border-color:#fff;outline:0}.sugar-calendar-btn-secondary{background-color:#2271b1;border-color:#2271b1;color:#fff !important}.sugar-calendar-btn-secondary:hover,.sugar-calendar-btn-secondary:focus{background-color:#0a4b78;border-color:#0a4b78;color:#fff !important}.sugar-calendar-btn-secondary:focus{box-shadow:0 0 0 2px #0a4b78;border-color:#fff;outline:0}.sugar-calendar-btn-tertiary{background-color:#f6f7f7;border-color:#8c8f94;color:#50575e !important}.sugar-calendar-btn-tertiary:hover,.sugar-calendar-btn-tertiary:focus{background-color:#f0f0f1;border-color:#50575e;color:#2c3338 !important}.sugar-calendar-btn-tertiary:focus{box-shadow:0 0 0 1px #50575e}.sugar-calendar-btn-green{background-color:#008a20;border:1px solid #008a20;color:#fff !important}.sugar-calendar-btn-green:focus{box-shadow:0 0 0 2px #008a20;border-color:#fff;outline:0}.sugar-calendar-btn-red{background-color:#d63638;border:1px solid #d63638;color:#fff !important}.sugar-calendar-btn-red:focus{box-shadow:0 0 0 2px #d63638;border-color:#fff;outline:0}.sugar-calendar-admin-subheader{display:flex;flex-wrap:wrap;align-items:center;height:60px;margin:0;padding:15px 30px;background-color:#fff;list-style:none;font-size:14px;font-weight:400;box-shadow:0 2px 4px 0 rgba(0,0,0,.07);box-sizing:border-box}.sugar-calendar-admin-subheader *,.sugar-calendar-admin-subheader *::before,.sugar-calendar-admin-subheader *::after{box-sizing:border-box}.sugar-calendar-admin-subheader h4{font-size:22px;font-weight:500;line-height:20px;color:#101517;margin:0}.sugar-calendar-admin-subheader .sugar-calendar-btn-new-item{margin-left:20px}.sugar-calendar-admin-subheader .sugar-calendar-btn-new-item::before{content:"";display:inline-block;mask:url(../images/icons/add.svg) center center no-repeat;background-color:#fff;width:11px;height:11px;margin:0 6px 0 0}.sugar-calendar-item-filters .search{margin-right:10px}.sugar-calendar-item-filters .button{font-size:14px;line-height:28px}.sugar-calendar-tablenav.sugar-calendar-tablenav-top>*{vertical-align:middle}.sugar-calendar-tablenav.sugar-calendar-tablenav-top .button{font-size:14px;line-height:28px}.sugar-calendar-tablenav.sugar-calendar-tablenav-tools{float:right;margin-bottom:5px;padding-right:10px}.sugar-calendar-tablenav.sugar-calendar-tablenav-tools>*{margin:0;display:inline-block}.sugar-calendar-tablenav.sugar-calendar-tablenav-tools>span{color:#646970;padding:6px 10px}.sugar-calendar-tablenav.sugar-calendar-tablenav-tools a.screen-options .dashicons{color:#b4b9be;padding:5px;vertical-align:middle;margin-top:-3px;box-sizing:content-box}.sugar-calendar-tablenav.sugar-calendar-tablenav-pages a.today{padding:0 15px}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools{margin-left:auto;display:flex;gap:10px}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes{display:flex;gap:5px}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode{display:inline-flex;align-items:center;justify-content:center;width:32px;height:30px;border-radius:3px;transition:all .05s ease-out}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode:before{content:"";mask-repeat:no-repeat;mask-position:center center;mask-size:contain;background-color:#a7aaad;width:18px;height:18px}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode:hover,.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode:focus{box-shadow:none}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode:hover:not(.current):before,.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode:focus:not(.current):before{background-color:#646970}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode.current{background-color:#fff3ec}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode.current:before{background-color:#ff8845}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode-month:before{mask-image:url("../images/icons/view-month.svg")}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode-week:before{mask-image:url("../images/icons/view-week.svg")}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode-day:before{mask-image:url("../images/icons/view-day.svg")}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode-list:before{mask-image:url("../images/icons/view-list.svg")}.sugar-calendar-admin-subheader .sugar-calendar-screen-options{position:relative}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle{background-color:#f6f7f7;color:#50575e;border-color:#8c8f94;padding:1px 6px 0;margin-bottom:0;line-height:1;display:flex;align-items:center;justify-content:center}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle svg{display:inline-block;width:19px;height:19px}@media(max-width: 782px){.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle svg{padding:5px}}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle svg path{fill:#50575e;transition:transform .2s;transform-origin:center center}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle:hover,.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle:active,.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle:focus{background-color:#f6f7f7;border-color:#50575e}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle:hover svg path,.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle:active svg path,.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle:focus svg path{fill:#2c3338}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle:hover{box-shadow:none}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle:active,.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle:focus{box-shadow:0 0 0 1px #50575e}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle.open svg path{transform:rotate(90deg)}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu{position:absolute;top:40px;right:-10px;width:240px;z-index:99999;background-color:#fff;border-radius:6px;box-shadow:0 5px 15px 0 rgba(0,0,0,.15)}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset{padding:0 15px 15px}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset:not(:last-of-type){border-bottom:1px solid #dcdcde}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset legend{padding:15px 0;font-size:12px;line-height:12px;color:#8c8f94}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset label{display:block;line-height:1;color:#50575e;margin-bottom:10px}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset label input[type=checkbox]{border:1px solid #8c8f94;margin:1px 10px 0 0;vertical-align:bottom}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset label input[type=checkbox]:hover:not(:disabled){border-color:#2271b1}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset label input[type=checkbox]:focus:not(:disabled){border-color:#2271b1;box-shadow:0 0 0 1px #2271b1}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset label input[type=checkbox]:checked{background-color:#2271b1;border-color:#2271b1}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset label input[type=checkbox]:checked::before{content:"";mask:url(../images/icons/yes.svg) center center no-repeat;background-color:#fff;margin:0;width:100%;height:100%}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset label input[type=checkbox]:checked:hover:not(:disabled){border-color:#0a4b78;background-color:#0a4b78}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset label input[type=checkbox]:checked:focus:not(:disabled){box-shadow:0 0 0 1px #fff,0 0 0 2px #0a4b78}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset label input[type=checkbox]:disabled{opacity:.5}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset label input[type=checkbox]:disabled:checked::before{opacity:1}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset input[type=number],.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset select{color:#50575e;width:100%;font-family:inherit}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu p.submit{margin:0;padding:0 15px 15px}.sugar-calendar-table{border-radius:4px;background-color:#fff;border:1px solid #c3c4c7 !important;box-shadow:0 2px 4px 0 rgba(0,0,0,.07) !important}.sugar-calendar-table-events--month,.sugar-calendar-table-events--week,.sugar-calendar-table-events--day{display:grid;width:100%;overflow:hidden;--grid-template-columns: [ week ] minmax(0, 120px) [ sunday ] minmax(0, 1fr) [ monday ] minmax(0, 1fr) [ tuesday ] minmax(0, 1fr) [ wednesday ] minmax(0, 1fr) [ thursday ] minmax(0, 1fr) [ friday ] minmax(0, 1fr) [ saturday ] minmax(0, 1fr)}.sugar-calendar-table-events--month .row,.sugar-calendar-table-events--week .row,.sugar-calendar-table-events--day .row{display:grid;grid-template-columns:var(--grid-template-columns)}.sugar-calendar-table-events--month .column,.sugar-calendar-table-events--week .column,.sugar-calendar-table-events--day .column{outline:1px solid #dcdcde}.sugar-calendar-table-events--month .column.hidden,.sugar-calendar-table-events--week .column.hidden,.sugar-calendar-table-events--day .column.hidden{outline:0}.sugar-calendar-table-events--month .column,.sugar-calendar-table-events--week .column,.sugar-calendar-table-events--day .column{display:flex;flex-direction:column;align-items:stretch;background-color:#fff}.sugar-calendar-table-events--month .column.hidden,.sugar-calendar-table-events--week .column.hidden,.sugar-calendar-table-events--day .column.hidden{overflow:hidden;padding:0 !important;border:0 !important}.sugar-calendar-table-events--month .column.hidden *,.sugar-calendar-table-events--week .column.hidden *,.sugar-calendar-table-events--day .column.hidden *{display:none}.sugar-calendar-table-events--month .column.header,.sugar-calendar-table-events--week .column.header,.sugar-calendar-table-events--day .column.header{padding:10px 20px;text-align:center;line-height:20px;font-size:14px;color:#2c3338;min-height:auto;max-height:40px}.sugar-calendar-table-events--month .column h4,.sugar-calendar-table-events--week .column h4,.sugar-calendar-table-events--day .column h4{margin:10px;font-size:14px;font-weight:500;line-height:20px;color:#a7aaad;text-align:center}.sugar-calendar-table-events--month .column h4 a,.sugar-calendar-table-events--week .column h4 a,.sugar-calendar-table-events--day .column h4 a{color:#646970}.sugar-calendar-table-events--month a.day-number,.sugar-calendar-table-events--month a.week-number,.sugar-calendar-table-events--month a.sugar-calendar-event-entry,.sugar-calendar-table-events--week a.day-number,.sugar-calendar-table-events--week a.week-number,.sugar-calendar-table-events--week a.sugar-calendar-event-entry,.sugar-calendar-table-events--day a.day-number,.sugar-calendar-table-events--day a.week-number,.sugar-calendar-table-events--day a.sugar-calendar-event-entry{text-decoration:none;color:inherit;box-shadow:none;outline:none;max-width:100%}.sugar-calendar-table-events--month a.sugar-calendar-event-entry,.sugar-calendar-table-events--week a.sugar-calendar-event-entry,.sugar-calendar-table-events--day a.sugar-calendar-event-entry{font-size:12px;color:#2c3338;line-height:16px;margin:0 10px 10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sugar-calendar-table-events--month a.sugar-calendar-event-entry:first-child,.sugar-calendar-table-events--week a.sugar-calendar-event-entry:first-child,.sugar-calendar-table-events--day a.sugar-calendar-event-entry:first-child{margin-top:10px}.sugar-calendar-table-events--month a.sugar-calendar-event-entry:before,.sugar-calendar-table-events--week a.sugar-calendar-event-entry:before,.sugar-calendar-table-events--day a.sugar-calendar-event-entry:before{content:"";display:inline-block;vertical-align:middle;mask-image:url("../images/icons/event.svg");mask-position:center center;mask-repeat:no-repeat;background-color:var(--sugar-calendar-background-color, #2c3338);width:16px;height:16px;margin:-4px 4px 0 0}.sugar-calendar-table-events--month a.sugar-calendar-event-entry.all-day:before,.sugar-calendar-table-events--week a.sugar-calendar-event-entry.all-day:before,.sugar-calendar-table-events--day a.sugar-calendar-event-entry.all-day:before{mask-image:url("../images/icons/event-all-day.svg")}.sugar-calendar-table-events--month [data-tippy-root],.sugar-calendar-table-events--week [data-tippy-root],.sugar-calendar-table-events--day [data-tippy-root]{width:320px;box-shadow:0 2px 4px 0 rgba(0,0,0,.07) !important}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box{border-radius:4px;background-color:#fff}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content{padding:0}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__header,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__header,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__header{border-top-left-radius:4px;border-top-right-radius:4px;background-color:#2271b1}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__header h3,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__header h3,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__header h3{margin:0;padding:10px 20px;color:#fff;font-size:18px}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__header h3 a,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__header h3 a,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__header h3 a{text-decoration:none;color:inherit;box-shadow:none;outline:none;max-width:100%}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body{padding:10px 20px;border-left:1px solid #c3c4c7;border-right:1px solid #c3c4c7;color:#2c3338;font-size:14px;line-height:20px}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body strong,.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body span,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body strong,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body span,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body strong,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body span{display:block}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body span+strong,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body span+strong,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body span+strong{margin-top:10px}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body span.sc-timezone,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body span.sc-timezone,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body span.sc-timezone{color:#50575e}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer{padding:10px 20px;background-color:#f6f6f6;border:1px solid #c3c4c7;border-top:1px solid #dcdcde;border-bottom-left-radius:4px;border-bottom-right-radius:4px;color:#a7aaad}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer a,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer a,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer a{text-decoration:none}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer a.delete,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer a.delete,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer a.delete{color:#dc3232}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer a.delete:hover,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer a.delete:hover,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer a.delete:hover{color:#b32d2e}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box[data-placement=top] .tippy-arrow,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box[data-placement=top] .tippy-arrow,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box[data-placement=top] .tippy-arrow{z-index:9999}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box[data-placement=top] .tippy-arrow:before,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box[data-placement=top] .tippy-arrow:before,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box[data-placement=top] .tippy-arrow:before{bottom:-8px;border-top-color:#c3c4c7}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box[data-placement=top] .tippy-arrow:after,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box[data-placement=top] .tippy-arrow:after,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box[data-placement=top] .tippy-arrow:after{content:"";position:absolute;bottom:-7px;left:0;border-style:solid;border-width:8px 8px 0;border-color:rgba(0,0,0,0);border-top-color:#fff;transform-origin:center top}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box[data-placement=bottom] .tippy-arrow:before,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box[data-placement=bottom] .tippy-arrow:before,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box[data-placement=bottom] .tippy-arrow:before{border-bottom-color:#2271b1}.sugar-calendar-table-events--month .column{min-height:120px}.sugar-calendar-table-events--month .column.different-month h4 a{color:#dcdcde}.sugar-calendar-table-events--month .column.weekend{background-color:#f6f6f6}.sugar-calendar-table-events--week .row:not(.event-spans):nth-child(2n) .column:not(.column-hour):not(.header),.sugar-calendar-table-events--day .row:not(.event-spans):nth-child(2n) .column:not(.column-hour):not(.header){background-color:#f6f6f6}.sugar-calendar-table-events--week .column:not(.header).column-hour,.sugar-calendar-table-events--day .column:not(.header).column-hour{padding:8px 10px;text-align:center;font-size:14px;line-height:20px;color:#646970}.sugar-calendar-table-events--week .column:not(.header),.sugar-calendar-table-events--day .column:not(.header){min-height:36px}.sugar-calendar-table-events--week .event-spans-group .event-spans .event-span,.sugar-calendar-table-events--day .event-spans-group .event-spans .event-span{padding-bottom:10px;overflow:hidden}.sugar-calendar-table-events--week .event-spans-group .event-spans .event-span a.sugar-calendar-event-entry,.sugar-calendar-table-events--day .event-spans-group .event-spans .event-span a.sugar-calendar-event-entry{display:block;background-color:var(--sugar-calendar-background-color, #2c3338);color:var(--sugar-calendar-foreground-color, white);line-height:20px;padding:0 10px;margin:0 10px;border-radius:10px}.sugar-calendar-table-events--week .event-spans-group .event-spans .event-span a.sugar-calendar-event-entry:before,.sugar-calendar-table-events--day .event-spans-group .event-spans .event-span a.sugar-calendar-event-entry:before{content:none}.sugar-calendar-table-events--week .event-spans-group{display:contents}.sugar-calendar-table-events--week .event-spans-group--all_day .row{grid-row:2;grid-column:1}.sugar-calendar-table-events--week .event-spans-group--multi_day .row{grid-row:3;grid-column:1}.sugar-calendar-table-events--week .event-spans-group .event-spans{padding-top:10px}.sugar-calendar-table-events--day .event-spans-group .event-span:first-child{padding-top:10px}
     1#wpcontent{padding-left:0 !important;position:relative}@media screen and (max-width: 600px){#wpcontent{padding-top:46px}}@media screen and (max-width: 600px){#wpbody{padding-top:0}}.sugar-calendar-admin-wrap{margin:0}.sugar-calendar-admin-wrap .notice{margin:0 0 15px}.sugar-calendar-admin-content{padding:30px 30px 0 30px}.sugar-calendar-admin-content *,.sugar-calendar-admin-content *::before,.sugar-calendar-admin-content *::after{box-sizing:border-box}.sugar-calendar-admin-content:before{content:" ";display:table}.sugar-calendar-admin-content:after{clear:both;content:" ";display:table}.sugar-calendar-admin-content hr{border:none;border-top:1px solid #e4e4e4;margin:20px 0;background:none}.sugar-calendar-admin-content code{display:inline-block;padding:0 6px;font-size:12px;line-height:20px;color:#50575e}.sugar-calendar-admin-content strong{font-weight:500}.sugar-calendar-admin-content p.submit{margin:0;padding:30px 0 20px 0;border-top:1px solid #e4e4e4}.sugar-calendar-admin-content p.submit:last-of-type{padding-bottom:0}.sugar-calendar-admin-content .sugar-calendar-admin-content__settings-form{padding-top:15px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th,.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{vertical-align:top}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th{padding-top:2px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{padding-top:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child h3{margin-top:0}#sugar-calendar-header-temp{margin:0;position:absolute;top:-1px;left:20px;right:0;z-index:99}@media(max-width: 599px){#sugar-calendar-header-temp{padding-top:50px}}#sugar-calendar-header{padding:20px 30px;box-sizing:border-box;border-bottom:1px solid #dcdcde;background-color:#fff;display:flex;align-items:center}#sugar-calendar-header img{display:block;margin:0;max-width:296px}@media(max-width: 768px){#sugar-calendar-header img{max-width:200px}}#sugar-calendar-header a#sugar-calendar-header-help{margin-left:auto;color:#a7aaad;text-decoration:none;font-size:13px;line-height:13px;display:flex;align-items:center}#sugar-calendar-header a#sugar-calendar-header-help:before{content:"";mask-image:url("../images/icons/question-circle.svg");mask-position:center center;background-color:#a7aaad;width:16px;height:16px;margin-right:6px}#sugar-calendar-header a#sugar-calendar-header-help:hover,#sugar-calendar-header a#sugar-calendar-header-help:focus{color:#646970}#sugar-calendar-header a#sugar-calendar-header-help:hover:before,#sugar-calendar-header a#sugar-calendar-header-help:focus:before{background-color:#646970}@media screen and (min-width: 1024px){#sugar-calendar-notice-bar+#sugar-calendar-header-temp{top:34px}}.sugar-calendar-toggle-control{display:flex;align-items:center;margin:0 1px;line-height:1;color:#50575e;font-weight:500;height:25px;box-sizing:border-box}.sugar-calendar-toggle-control input[type=checkbox]{position:absolute;overflow:hidden;height:0;width:0;border:none !important;box-shadow:none !important;margin:0;min-width:0}.sugar-calendar-toggle-control input[type=checkbox]:hover,.sugar-calendar-toggle-control input[type=checkbox]:focus{border:none !important;box-shadow:none !important}.sugar-calendar-toggle-control input[type=checkbox]:hover:not(:disabled)+label.sugar-calendar-toggle-control-icon{background-color:#646970}.sugar-calendar-toggle-control input[type=checkbox]:focus:not(:disabled)+label.sugar-calendar-toggle-control-icon{box-shadow:0 0 0 1px #fff,0 0 0 2px #8c8f94}.sugar-calendar-toggle-control input[type=checkbox]:checked+label.sugar-calendar-toggle-control-icon{background-color:#2271b1}.sugar-calendar-toggle-control input[type=checkbox]:checked+label.sugar-calendar-toggle-control-icon:after{left:calc(100% - 2px);transform:translateX(-100%)}.sugar-calendar-toggle-control input[type=checkbox]:checked:hover:not(:disabled)+label.sugar-calendar-toggle-control-icon{background-color:#0a4b78}.sugar-calendar-toggle-control input[type=checkbox]:checked:focus:not(:disabled)+label.sugar-calendar-toggle-control-icon{box-shadow:0 0 0 1px #fff,0 0 0 2px #2271b1}.sugar-calendar-toggle-control input[type=checkbox]:disabled+label.sugar-calendar-toggle-control-icon{opacity:.5}.sugar-calendar-toggle-control input[type=checkbox]:disabled:hover+label.sugar-calendar-toggle-control-icon,.sugar-calendar-toggle-control input[type=checkbox]:disabled:focus+label.sugar-calendar-toggle-control-icon{box-shadow:none}.sugar-calendar-toggle-control span,.sugar-calendar-toggle-control label{display:inline-block;margin-bottom:0}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-label{padding:0 10px;max-width:calc(100% - 65px)}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status{color:#50575e;font-size:12px;line-height:17px;padding:0 10px;text-transform:uppercase;display:none}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status-on{cursor:pointer}.sugar-calendar-toggle-control input:not(:checked)~.sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control input:checked~.sugar-calendar-toggle-control-status-on{display:inline-block}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-icon{background-color:#8c8f94;border-radius:8.5px;cursor:pointer;display:inline-block;height:17px;position:relative;text-indent:-9999px;width:27px}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-icon:after{background:#fff;border-radius:50%;content:"";height:13px;left:2px;position:absolute;top:2px;width:13px;transition:all .15s ease-out}.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-icon,.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-status-on{cursor:default}.sugar-calendar-btn{border-width:1px;border-style:solid;border-radius:4px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;box-shadow:none;transition:all .05s ease-out}.sugar-calendar-btn.inactive{cursor:no-drop;pointer-events:none;box-shadow:none;opacity:.5}.sugar-calendar-btn-block{display:block;width:100%}.sugar-calendar-btn-sm{font-size:13px;font-weight:500;line-height:28px;padding:0 10px;height:30px}.sugar-calendar-btn-md{font-size:14px;line-height:14px;font-weight:500;padding:10px 15px;min-height:36px}.sugar-calendar-btn-lg{font-size:16px;font-weight:500;padding:11px 17px;min-height:44px}.sugar-calendar-btn-primary{background-color:#ff8845;border-color:#ff8845;color:#fff !important}.sugar-calendar-btn-primary:hover,.sugar-calendar-btn-primary:active,.sugar-calendar-btn-primary:focus{background-color:#cb6d37;border-color:#cb6d37;color:#fff !important}.sugar-calendar-btn-primary:focus{box-shadow:0 0 0 2px #cb6d37;border-color:#fff;outline:0}.sugar-calendar-btn-secondary{background-color:#2271b1;border-color:#2271b1;color:#fff !important}.sugar-calendar-btn-secondary:hover,.sugar-calendar-btn-secondary:focus{background-color:#0a4b78;border-color:#0a4b78;color:#fff !important}.sugar-calendar-btn-secondary:focus{box-shadow:0 0 0 2px #0a4b78;border-color:#fff;outline:0}.sugar-calendar-btn-tertiary{background-color:#f6f7f7;border-color:#8c8f94;color:#50575e !important}.sugar-calendar-btn-tertiary:hover,.sugar-calendar-btn-tertiary:focus{background-color:#f0f0f1;border-color:#50575e;color:#2c3338 !important}.sugar-calendar-btn-tertiary:focus{box-shadow:0 0 0 1px #50575e}.sugar-calendar-btn-green{background-color:#008a20;border:1px solid #008a20;color:#fff !important}.sugar-calendar-btn-green:focus{box-shadow:0 0 0 2px #008a20;border-color:#fff;outline:0}.sugar-calendar-btn-red{background-color:#d63638;border:1px solid #d63638;color:#fff !important}.sugar-calendar-btn-red:focus{box-shadow:0 0 0 2px #d63638;border-color:#fff;outline:0}.sugar-calendar-admin-subheader{display:flex;flex-wrap:wrap;align-items:center;height:60px;margin:0;padding:15px 30px;background-color:#fff;list-style:none;font-size:14px;font-weight:400;box-shadow:0 2px 4px 0 rgba(0,0,0,.07);box-sizing:border-box}.sugar-calendar-admin-subheader *,.sugar-calendar-admin-subheader *::before,.sugar-calendar-admin-subheader *::after{box-sizing:border-box}.sugar-calendar-admin-subheader h4{font-size:22px;font-weight:500;line-height:20px;color:#101517;margin:0}.sugar-calendar-admin-subheader .sugar-calendar-btn-new-item{margin-left:20px}.sugar-calendar-admin-subheader .sugar-calendar-btn-new-item::before{content:"";display:inline-block;mask:url(../images/icons/add.svg) center center no-repeat;background-color:#fff;width:11px;height:11px;margin:0 6px 0 0}.sugar-calendar-item-filters .search{margin-right:10px}.sugar-calendar-item-filters .button{font-size:14px;line-height:28px}.sugar-calendar-tablenav.sugar-calendar-tablenav-top>*{vertical-align:middle}.sugar-calendar-tablenav.sugar-calendar-tablenav-top .button{font-size:14px;line-height:28px}.sugar-calendar-tablenav.sugar-calendar-tablenav-tools{float:right;margin-bottom:5px;padding-right:10px}.sugar-calendar-tablenav.sugar-calendar-tablenav-tools>*{margin:0;display:inline-block}.sugar-calendar-tablenav.sugar-calendar-tablenav-tools>span{color:#646970;padding:6px 10px}.sugar-calendar-tablenav.sugar-calendar-tablenav-tools a.screen-options .dashicons{color:#b4b9be;padding:5px;vertical-align:middle;margin-top:-3px;box-sizing:content-box}.sugar-calendar-tablenav.sugar-calendar-tablenav-pages a.today{padding:0 15px}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools{margin-left:auto;display:flex;gap:10px}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes{display:flex;gap:5px}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode{display:inline-flex;align-items:center;justify-content:center;width:32px;height:30px;border-radius:3px;transition:all .05s ease-out}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode:before{content:"";mask-repeat:no-repeat;mask-position:center center;mask-size:contain;background-color:#a7aaad;width:18px;height:18px}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode:hover,.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode:focus{box-shadow:none}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode:hover:not(.current):before,.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode:focus:not(.current):before{background-color:#646970}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode.current{background-color:#fff3ec}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode.current:before{background-color:#ff8845}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode-month:before{mask-image:url("../images/icons/view-month.svg")}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode-week:before{mask-image:url("../images/icons/view-week.svg")}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode-day:before{mask-image:url("../images/icons/view-day.svg")}.sugar-calendar-admin-subheader .sugar-calendar-admin-subheader-tools .sugar-calendar-view-modes .sugar-calendar-view-mode-list:before{mask-image:url("../images/icons/view-list.svg")}.sugar-calendar-admin-subheader .sugar-calendar-screen-options{position:relative}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle{background-color:#f6f7f7;color:#50575e;border-color:#8c8f94;padding:1px 6px 0;margin-bottom:0;line-height:1;display:flex;align-items:center;justify-content:center}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle svg{display:inline-block;width:19px;height:19px}@media(max-width: 782px){.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle svg{padding:5px}}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle svg path{fill:#50575e;transition:transform .2s;transform-origin:center center}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle:hover,.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle:active,.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle:focus{background-color:#f6f7f7;border-color:#50575e}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle:hover svg path,.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle:active svg path,.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle:focus svg path{fill:#2c3338}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle:hover{box-shadow:none}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle:active,.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle:focus{box-shadow:0 0 0 1px #50575e}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-toggle.open svg path{transform:rotate(90deg)}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu{position:absolute;top:40px;right:-10px;width:240px;z-index:99999;background-color:#fff;border-radius:6px;box-shadow:0 5px 15px 0 rgba(0,0,0,.15)}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset{padding:0 15px 15px}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset:not(:last-of-type){border-bottom:1px solid #dcdcde}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset legend{padding:15px 0;font-size:12px;line-height:12px;color:#8c8f94}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset label{display:block;line-height:1;color:#50575e;margin-bottom:10px}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset label input[type=checkbox]{border:1px solid #8c8f94;margin:1px 10px 0 0;vertical-align:bottom}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset label input[type=checkbox]:hover:not(:disabled){border-color:#2271b1}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset label input[type=checkbox]:focus:not(:disabled){border-color:#2271b1;box-shadow:0 0 0 1px #2271b1}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset label input[type=checkbox]:checked{background-color:#2271b1;border-color:#2271b1}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset label input[type=checkbox]:checked::before{content:"";mask:url(../images/icons/yes.svg) center center no-repeat;background-color:#fff;margin:0;width:100%;height:100%}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset label input[type=checkbox]:checked:hover:not(:disabled){border-color:#0a4b78;background-color:#0a4b78}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset label input[type=checkbox]:checked:focus:not(:disabled){box-shadow:0 0 0 1px #fff,0 0 0 2px #0a4b78}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset label input[type=checkbox]:disabled{opacity:.5}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset label input[type=checkbox]:disabled:checked::before{opacity:1}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset input[type=number],.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu fieldset select{color:#50575e;width:100%;font-family:inherit}.sugar-calendar-admin-subheader .sugar-calendar-screen-options .sugar-calendar-screen-options-menu p.submit{margin:0;padding:0 15px 15px}.sugar-calendar-table{border-radius:4px;background-color:#fff;border:1px solid #c3c4c7 !important;box-shadow:0 2px 4px 0 rgba(0,0,0,.07) !important}.sugar-calendar-table-events--month,.sugar-calendar-table-events--week,.sugar-calendar-table-events--day{display:grid;width:100%;overflow:hidden;--grid-template-columns: [ week ] minmax(0, 120px) [ sunday ] minmax(0, 1fr) [ monday ] minmax(0, 1fr) [ tuesday ] minmax(0, 1fr) [ wednesday ] minmax(0, 1fr) [ thursday ] minmax(0, 1fr) [ friday ] minmax(0, 1fr) [ saturday ] minmax(0, 1fr)}.sugar-calendar-table-events--month .row,.sugar-calendar-table-events--week .row,.sugar-calendar-table-events--day .row{display:grid;grid-template-columns:var(--grid-template-columns)}.sugar-calendar-table-events--month .column,.sugar-calendar-table-events--week .column,.sugar-calendar-table-events--day .column{outline:1px solid #dcdcde}.sugar-calendar-table-events--month .column.hidden,.sugar-calendar-table-events--week .column.hidden,.sugar-calendar-table-events--day .column.hidden{outline:0}.sugar-calendar-table-events--month .column,.sugar-calendar-table-events--week .column,.sugar-calendar-table-events--day .column{display:flex;flex-direction:column;align-items:stretch;background-color:#fff}.sugar-calendar-table-events--month .column.hidden,.sugar-calendar-table-events--week .column.hidden,.sugar-calendar-table-events--day .column.hidden{overflow:hidden;padding:0 !important;border:0 !important}.sugar-calendar-table-events--month .column.hidden *,.sugar-calendar-table-events--week .column.hidden *,.sugar-calendar-table-events--day .column.hidden *{display:none}.sugar-calendar-table-events--month .column.header,.sugar-calendar-table-events--week .column.header,.sugar-calendar-table-events--day .column.header{padding:10px 20px;text-align:center;line-height:20px;font-size:14px;color:#2c3338;min-height:auto;max-height:40px}.sugar-calendar-table-events--month .column h4,.sugar-calendar-table-events--week .column h4,.sugar-calendar-table-events--day .column h4{margin:10px;font-size:14px;font-weight:500;line-height:20px;color:#a7aaad;text-align:center}.sugar-calendar-table-events--month .column h4 a,.sugar-calendar-table-events--week .column h4 a,.sugar-calendar-table-events--day .column h4 a{color:#646970}.sugar-calendar-table-events--month a.day-number,.sugar-calendar-table-events--month a.week-number,.sugar-calendar-table-events--month a.sugar-calendar-event-entry,.sugar-calendar-table-events--week a.day-number,.sugar-calendar-table-events--week a.week-number,.sugar-calendar-table-events--week a.sugar-calendar-event-entry,.sugar-calendar-table-events--day a.day-number,.sugar-calendar-table-events--day a.week-number,.sugar-calendar-table-events--day a.sugar-calendar-event-entry{text-decoration:none;color:inherit;box-shadow:none;outline:none;max-width:100%}.sugar-calendar-table-events--month a.sugar-calendar-event-entry,.sugar-calendar-table-events--week a.sugar-calendar-event-entry,.sugar-calendar-table-events--day a.sugar-calendar-event-entry{font-size:12px;color:#2c3338;line-height:16px;margin:0 10px 10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sugar-calendar-table-events--month a.sugar-calendar-event-entry:first-child,.sugar-calendar-table-events--week a.sugar-calendar-event-entry:first-child,.sugar-calendar-table-events--day a.sugar-calendar-event-entry:first-child{margin-top:10px}.sugar-calendar-table-events--month a.sugar-calendar-event-entry:before,.sugar-calendar-table-events--week a.sugar-calendar-event-entry:before,.sugar-calendar-table-events--day a.sugar-calendar-event-entry:before{content:"";display:inline-block;vertical-align:middle;mask-image:url("../images/icons/event.svg");mask-position:center center;mask-repeat:no-repeat;background-color:var(--sugar-calendar-background-color, #2c3338);width:16px;height:16px;margin:-4px 4px 0 0}.sugar-calendar-table-events--month a.sugar-calendar-event-entry.all-day:before,.sugar-calendar-table-events--week a.sugar-calendar-event-entry.all-day:before,.sugar-calendar-table-events--day a.sugar-calendar-event-entry.all-day:before{mask-image:url("../images/icons/event-all-day.svg")}.sugar-calendar-table-events--month [data-tippy-root],.sugar-calendar-table-events--week [data-tippy-root],.sugar-calendar-table-events--day [data-tippy-root]{width:320px;box-shadow:0 2px 4px 0 rgba(0,0,0,.07) !important}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box{border-radius:4px;background-color:#fff}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content{padding:0}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__header,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__header,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__header{border-top-left-radius:4px;border-top-right-radius:4px;background-color:#2271b1}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__header h3,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__header h3,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__header h3{margin:0;padding:10px 20px;color:#fff;font-size:18px}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__header h3 a,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__header h3 a,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__header h3 a{text-decoration:none;color:inherit;box-shadow:none;outline:none;max-width:100%}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body{padding:10px 20px;border-left:1px solid #c3c4c7;border-right:1px solid #c3c4c7;color:#2c3338;font-size:14px;line-height:20px}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body strong,.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body span,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body strong,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body span,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body strong,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body span{display:block}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body span+strong,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body span+strong,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body span+strong{margin-top:10px}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body span.sc-timezone,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body span.sc-timezone,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__body span.sc-timezone{color:#50575e}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer{padding:10px 20px;background-color:#f6f6f6;border:1px solid #c3c4c7;border-top:1px solid #dcdcde;border-bottom-left-radius:4px;border-bottom-right-radius:4px;color:#a7aaad}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer a,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer a,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer a{text-decoration:none}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer a.delete,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer a.delete,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer a.delete{color:#dc3232}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer a.delete:hover,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer a.delete:hover,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box .tippy-content .sugar_calendar_event_tooltip__footer a.delete:hover{color:#b32d2e}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box[data-placement=top] .tippy-arrow,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box[data-placement=top] .tippy-arrow,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box[data-placement=top] .tippy-arrow{z-index:9999}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box[data-placement=top] .tippy-arrow:before,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box[data-placement=top] .tippy-arrow:before,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box[data-placement=top] .tippy-arrow:before{bottom:-8px;border-top-color:#c3c4c7}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box[data-placement=top] .tippy-arrow:after,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box[data-placement=top] .tippy-arrow:after,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box[data-placement=top] .tippy-arrow:after{content:"";position:absolute;bottom:-7px;left:0;border-style:solid;border-width:8px 8px 0;border-color:rgba(0,0,0,0);border-top-color:#fff;transform-origin:center top}.sugar-calendar-table-events--month [data-tippy-root] .tippy-box[data-placement=bottom] .tippy-arrow:before,.sugar-calendar-table-events--week [data-tippy-root] .tippy-box[data-placement=bottom] .tippy-arrow:before,.sugar-calendar-table-events--day [data-tippy-root] .tippy-box[data-placement=bottom] .tippy-arrow:before{border-bottom-color:#2271b1}.sugar-calendar-table-events--month .column{min-height:120px}.sugar-calendar-table-events--month .column.different-month h4 a{color:#dcdcde}.sugar-calendar-table-events--month .column.weekend{background-color:#f6f6f6}.sugar-calendar-table-events--week .row:not(.event-spans):nth-child(2n) .column:not(.column-hour):not(.header),.sugar-calendar-table-events--day .row:not(.event-spans):nth-child(2n) .column:not(.column-hour):not(.header){background-color:#f6f6f6}.sugar-calendar-table-events--week .column:not(.header).column-hour,.sugar-calendar-table-events--day .column:not(.header).column-hour{padding:8px 10px;text-align:center;font-size:14px;line-height:20px;color:#646970}.sugar-calendar-table-events--week .column:not(.header),.sugar-calendar-table-events--day .column:not(.header){min-height:36px}.sugar-calendar-table-events--week .event-spans-group .event-spans .event-span,.sugar-calendar-table-events--day .event-spans-group .event-spans .event-span{padding-bottom:10px;overflow:hidden}.sugar-calendar-table-events--week .event-spans-group .event-spans .event-span a.sugar-calendar-event-entry,.sugar-calendar-table-events--day .event-spans-group .event-spans .event-span a.sugar-calendar-event-entry{display:block;background-color:var(--sugar-calendar-background-color, #2c3338);color:var(--sugar-calendar-foreground-color, white);line-height:20px;padding:0 10px;margin:0 10px;border-radius:10px}.sugar-calendar-table-events--week .event-spans-group .event-spans .event-span a.sugar-calendar-event-entry:before,.sugar-calendar-table-events--day .event-spans-group .event-spans .event-span a.sugar-calendar-event-entry:before{content:none}.sugar-calendar-table-events--week .event-spans-group{display:contents}.sugar-calendar-table-events--week .event-spans-group--all_day .row{grid-row:2;grid-column:1}.sugar-calendar-table-events--week .event-spans-group--multi_day .row{grid-row:3;grid-column:1}.sugar-calendar-table-events--week .event-spans-group .event-spans{padding-top:10px}.sugar-calendar-table-events--day .event-spans-group .event-span:first-child{padding-top:10px}
  • sugar-calendar-lite/trunk/assets/css/admin-settings.css

    r3095175 r3118281  
    528528}
    529529.sugar-calendar-admin-wrap .notice {
    530   margin: 0 0 30px;
     530  margin: 0 0 15px;
    531531}
    532532
     
    571571.sugar-calendar-admin-content p.submit:last-of-type {
    572572  padding-bottom: 0;
     573}
     574.sugar-calendar-admin-content .sugar-calendar-admin-content__settings-form {
     575  padding-top: 15px;
    573576}
    574577
     
    12601263  cursor: grab;
    12611264}
    1262 /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3NzL2FkbWluL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL3ZlbmRvci9jaG9pY2VzL19zdHlsZXMuc2NzcyIsImFzc2V0cy9zY3NzL3ZlbmRvci9jaG9pY2VzL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL3ZlbmRvci9jaG9pY2VzL19ydGwuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19jaG9pY2VzLnNjc3MiLCJhc3NldHMvc2Nzcy92ZW5kb3IvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19nZW5lcmFsLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9faGVhZGVyLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9fdGFicy5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX2Zvcm1zLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9fbWl4aW5zLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9fYnV0dG9ucy5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX3NldHRpbmdzLXJvdy5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX3NldHRpbmdzLXJvdy1yYWRpby5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX3NldHRpbmdzLXJvdy1kYXRlLXRpbWUtZm9ybWF0LnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9fc2V0dGluZ3Mtcm93LXNlbGVjdC5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX3NldHRpbmdzLXJvdy10b2dnbGUuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19zZXR0aW5ncy1yb3ctaGVhZGluZy5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX3NldHRpbmdzLXJvdy1saWNlbnNlLWtleS5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX3NldHRpbmdzLXJvdy1jYWxlbmRhci1mZWVkcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0FBNERBO0FDOURBO0VBQ0M7RUFDQSxlQ2tCMEI7O0FEaEIxQjtFQUNDLE9DVzBCOztBRFIzQjtFQUNDLE9DTzBCO0VETjFCOztBQUdEO0VBQ0MsT0NFMEI7O0FEQzNCO0VBQ0M7O0FBR0Q7RUFDQzs7QUFJQTtBQUFBO0VBRUMsa0JDckJ5QjtFRHNCekI7RUFDQTs7QUFJRjtFQUNDOztBQUdEO0VBQ0M7O0FBSUE7RUFDQzs7QUFLRDtFQUNDOzs7QUFLSDtFQUNDOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOztBQUdEO0VBQ0M7O0FBSUY7RUFDQzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBOztBQUlBO0VBQ0M7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRjtFQUNDLGVDdEh5Qjs7QUR1SHpCO0VBQ0M7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTs7O0FBTUQ7QUFBQTtFQUNDOztBQUdEO0FBQUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxpQkMvSnlCO0VEZ0t6QjtFQUNBO0VBQ0EsT0NsS3lCO0VEbUt6QixRQ25LeUI7RURvS3pCO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7RUFFQzs7O0FBS0g7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCQ25NMkI7RURvTTNCO0VBQ0E7RUFDQTtFQUNBLGVDcEw0Qjs7O0FEdUw3QjtFQUNDO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7OztBQUtIO0VBQ0M7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBLGVDek4yQjtFRDBOM0I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCQzlPMEI7RUQrTzFCO0VBQ0EsT0NyUDBCO0VEc1AxQjtFQUNBOztBQUVBO0VBQ0Msa0JDclB5Qjs7O0FENFAxQjtFQUNDLGtCQzVQeUI7RUQ2UHpCOzs7QUFLSDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JDN1EyQjtFRDhRM0I7RUFDQTtFQUNBO0VBQ0EsMkJDOVA0QjtFRCtQNUIsNEJDL1A0QjtFRGdRNUI7RUFDQTs7QUFFQTtFQUNDOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBQUlBO0VBQ0M7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFJRjtFQUNDOztBQUVBO0VBQ0M7O0FBS0g7RUFDQzs7O0FBS0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNDOzs7QUFHRDtFQUNDOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPQ3pWMkI7O0FEMlYzQjtFQUNDOzs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQzs7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLRDtFQUNDO0VBQ0E7RUFDQTs7O0FBSUY7RUFDQzs7O0FBTUU7RUFDQzs7QUFNRjtFQUNDOztBQUtEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtEO0VBQ0M7OztBRXBjQztFQUNFO0VBQ0EsY0RnQnFCOztBQ2J2QjtFQUNFO0VBQ0E7O0FBSUo7RUFDRTtFQUNBOztBQUlBO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBTUo7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7O0FBSUE7RUFDRSxjRHJCcUI7RUNzQnJCO0VBQ0E7RUFDQTs7QUFJSjtFQUVJO0lBQ0U7SUFDQTtJQUNBOztFQUNBO0lBQ0U7SUFDQTs7OztBQzFEVjtFQUNDO0VBQ0E7O0FBRUE7RUFDQyxXSmlIaUI7O0FJOUdsQjtFQUNDOztBQUVBO0VBQ0M7O0FBS0Q7RUFDQzs7QUFJRjtFQUNDOztBQzBrQkU7RURqbUJKO0lBMkJFOzs7QUFJRDtFQUNDOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9GbkN5QjtFRW9DekI7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTs7QUFLRDtFQUNDO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOztBQU9GO0FBQUE7RUFDQyxjRnJEeUI7RUVzRHpCO0VBQ0E7O0FBS0Q7RUFDQyxjRjdEeUI7RUU4RHpCO0VBQ0E7O0FBS0Q7RUFDQyxjRnJFeUI7RUVzRXpCO0VBQ0E7RUFDQTs7QUFLRDtFQUNDO0VBQ0E7RUFDQTs7O0FBS0g7RUFDQzs7O0FFakdEO0VBQ0M7RUFDQTs7QUFFQTtFQUpEO0lBS0U7Ozs7QUFLRDtFQUREO0lBRUU7Ozs7QUFLRjtFQUNDOztBQUVBO0VBQ0M7OztBQUtGO0VBQ0M7O0FBRUE7QUFBQTtBQUFBO0VBR0M7O0FBR0Q7RUFDQztFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLE9OekNpQjs7QU00Q2xCO0VBQ0M7O0FBSUE7RUFDQztFQUNBO0VBQ0E7O0FBRUE7RUFDQzs7O0FBWUE7QUFBQTtFQUVDOztBQUdEO0VBQ0M7O0FBR0Q7RUFDQzs7QUFHRDtFQUNDOzs7QUNsR0w7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FGeWxCRztFRS9sQko7SUFTRTs7OztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0Esa0JQWXFCO0VPWHJCO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7O0FGdWtCRTtFRTFrQkg7SUFNRTs7O0FBSUY7RUFDQztFQUNBLE9QWmlCO0VPYWpCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQSxrQlB2QmdCO0VPd0JoQjtFQUNBO0VBQ0E7O0FBR0Q7RUFFQyxPUGxDZ0I7O0FPb0NoQjtFQUNDLGtCUHJDZTs7O0FPMkNuQjtFQUNDO0lBQ0M7OztBQ2hFRjtFQUNDO0VBQ0E7RUFDQSxLUklZO0VRSFo7RUFDQTtFQUNBLGtCUndCcUI7RVF2QnJCO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPUk5nQjtFUU9oQjs7QUFFQTtFQUdDLE9SWmU7RVFhZixjUlJlOztBUVdoQjtFQUNDLGNSeEJvQjs7QVEyQnJCO0VBQ0M7OztBQzhGSjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT1R0SGtCO0VTdUhsQjtFQUNBO0VBQ0E7O0FBRUE7RUNySUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURpSUM7RUFFQztFQUNBOztBQUlBO0VBQ0Msa0JUckllOztBUzBJaEI7RUFDQzs7QUFLRDtFQUNDLGtCVHpKa0I7O0FTMkpsQjtFQUNDO0VBQ0E7O0FBS0Q7RUFDQyxrQlRqS2lCOztBU3NLbEI7RUFDQzs7QUFNRjtFQUNDOztBQUtBO0VBQ0M7O0FBTUo7QUFBQTtFQUVDO0VBQ0E7O0FBR0Q7RUFDQztFQUNBOztBQUdEO0VBQ0MsT1RqTWlCO0VTa01qQixXVGxHa0I7RVNtR2xCO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0FBQUE7RUFFQzs7QUFHRDtBQUFBO0VBRUM7O0FBR0Q7RUFDQyxrQlRsTmlCO0VTbU5qQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDLFlUbE5tQjtFU21ObkI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJRjtBQUFBO0FBQUE7RUFHQzs7O0FFL1BGO0VBQ0M7RUFDQTtFQUNBLGVYRFc7RVdFWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDQztFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQyxrQlgxQ3VCO0VXMkN2QixjWDNDdUI7RVc0Q3ZCOztBQUVBO0VBQ0Msa0JYOUNzQjtFVytDdEIsY1gvQ3NCO0VXZ0R0Qjs7QUFHRDtFQUNDO0VBQ0EsY1hqQ29CO0VXa0NwQjs7O0FBSUY7RUFDQyxrQlgxRHFCO0VXMkRyQixjWDNEcUI7RVc0RHJCOztBQUVBO0VBQ0Msa0JYN0RvQjtFVzhEcEIsY1g5RG9CO0VXK0RwQjs7QUFHRDtFQUNDO0VBQ0EsY1huRG9CO0VXb0RwQjs7O0FBSUY7RUFDQyxrQlgxRGlCO0VXMkRqQixjWHBFa0I7RVdxRWxCOztBQUVBO0VBQ0Msa0JYaEVnQjtFV2lFaEIsY1gzRWlCO0VXNEVqQjs7QUFHRDtFQUNDOzs7QUFJRjtFQUNDLGtCWDdFd0I7RVc4RXhCO0VBQ0E7O0FBRUE7RUFDQztFQUNBLGNYL0VvQjtFV2dGcEI7OztBQUlGO0VBQ0Msa0JYM0ZzQjtFVzRGdEI7RUFDQTs7QUFFQTtFQUNDO0VBQ0EsY1gzRm9CO0VXNEZwQjs7O0FDMUhGO0VBQ0M7RUFDQTtFQUNBOztBQUVBO0VBQ0M7O0FBR0Q7RUFDQyxnQlpIVzs7QUt5bEJUO0VPaG1CSjtJQWNFOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBUDJrQkU7RU8va0JIO0lBT0U7SUFDQTtJQUNBOzs7QUFHRDtFQUNDLE9aZGdCO0VZZWhCO0VBQ0E7RUFDQSxLWjVCVTtFWTZCVjtFQUNBOztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPWjFCaUI7O0FLOGtCZjtFT3pqQkg7SUFRRTtJQUNBOzs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBLE9aeENpQjs7QVkwQ2pCO0VBQ0M7O0FBR0Q7RUFDQyxPWjVDZ0I7RVk2Q2hCOztBQUtGO0FBQUE7QUFBQTtFSHJFQSxrQlQ4QnFCO0VTN0JyQjtFQUNBO0VBQ0E7RUFDQSxPVFlrQjtFU1hsQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7RUFDQyxPVEVpQjs7QVNDbEI7QUFBQTtBQUFBO0VBQ0M7RUFDQTtFQUNBOztBQUdEO0FBQUE7QUFBQTtFQUNDOztBSndrQkU7RU8zaEJIO0FBQUE7QUFBQTtJSHpDQzs7O0FHK0NEO0VIM0VBLGtCVDhCcUI7RVM3QnJCO0VBQ0E7RUFDQTtFQUNBLE9UWWtCO0VTWGxCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBd0JBO0VBQ0E7RUFDQTtFQUNBOztBQXpCQTtFQUNDLE9URWlCOztBU0NsQjtFQUNDO0VBQ0E7RUFDQTs7QUFHRDtFQUNDOztBSndrQkU7RU9yaEJIO0lIL0NDOzs7QUdtREQ7RUhyQ0E7RUFDQTs7QUFFQTtFQUNDLGtCVG5Db0I7O0FTc0NyQjtFQUNDLGNUdkNvQjs7QVMwQ3JCO0VBQ0MsY1QzQ29CO0VTNENwQjs7QUFHRDtFQUNDLGNUaERvQjs7QVNrRHBCO0VBQ0MsY1RqRG1COztBU21EbkI7RUFDQyxrQlRwRGtCOztBU3dEcEI7RUFDQzs7QUFJRjtFQUNDO0VBQ0E7O0FHT0Q7RUhGQTtFQUNBOztBQUVBO0VBQ0MsY1QxRW9COztBUzZFckI7RUFDQyxjVDlFb0I7RVMrRXBCOztBQUdEO0VBQ0Msa0JUbkZvQjtFU29GcEIsY1RwRm9COztBU3NGcEI7RUFDQztFQUNBO0VBQ0Esa0JUdEVtQjtFU3VFbkI7RUFDQTtFQUNBOztBQUdEO0VBQ0MsY1Q5Rm1CO0VTK0ZuQixrQlQvRm1COztBU2tHcEI7RUFDQzs7QUFJRjtFQUNDOztBQUdDO0VBQ0M7OztBSXhISDtFQUNDOztBQUVBO0VBQ0M7RUFDQTs7QVIwbEJDO0VRNWxCRjtJQUtFOzs7QUFJRjtFQUNDO0VBQ0E7RUFDQSxjYlZVOztBYVlWO0VBQ0M7O0FSNmtCQTtFUS9sQkg7SUF1QkU7SUFDQTtJQUNBO0lBQ0E7Ozs7QUN2QkQ7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBOzs7QUNqQ0Q7RUFDQzs7O0FDREQ7RUFDQzs7O0FDRkY7RUFDQztFQUNBOztBWjhsQkc7RVlobUJKO0lBS0U7OztBQUdEO0VBQ0M7RUFDQSxXakI4R21CO0VpQjdHbkI7RUFDQTtFQUNBLE9qQkVpQjs7QWlCQ2xCO0VBQ0M7O0FBR0Q7RUFDQztFQUNBOztBQUVBO0VBQ0M7RUFDQSxPakJWZ0I7OztBa0JoQmxCO0VBQ0M7O0FBR0Q7RUFDQzs7QUFFQTtFQUNDOztBQUdEO0VBQ0M7O0FBSUY7RUFDQzs7QUFFQTtFQUNDLE9sQk1zQjs7O0FtQnpCeEI7RUFDQztFQUNBOztBQUVBO0VBQ0M7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQSxlbkJWUTtFbUJXUjtFQUNBLFluQmdCa0I7RW1CZmxCO0VBQ0E7O0FBRUE7RUFDQzs7QUFHRDtFQUNDO0VBQ0E7O0Fkd2tCRDtFYzFrQkE7SUFLRTs7O0FBSUY7RUFDQzs7QUFHRDtFQUNDO0VBQ0E7RUFDQSxrQm5CaEJjO0VtQmlCZDtFQUNBO0VBQ0E7RUFDQSIsImZpbGUiOiJhc3NldHMvY3NzL2FkbWluLXNldHRpbmdzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFkbWluIHZhcmlhYmxlcy5cblxuLyogVmFyaWFibGVzICAqL1xuJHJhZGl1cy1tZDogNHB4O1xuJHJhZGl1cy1sZzogNnB4O1xuJHJhZGl1cy1zbTogM3B4O1xuJHNwYWNpbmctc206IDEwcHg7XG4kc3BhY2luZy1tZDogMjBweDtcbiRzcGFjaW5nLWxnOiAzMHB4O1xuJHNwYWNpbmcteGw6IDUwcHg7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTUwOiAjRkY4ODQ1RkY7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTcwOiAjQ0I2RDM3RkY7XG4kY29sb3ItYnJhbmQtYmx1ZS01MDogIzIyNzFCMUZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTUwOiAjMDBBMEQyRkY7XG4kY29sb3ItYnJhbmQtYmx1ZS03MDogIzBBNEI3OEZGO1xuJGNvbG9yLW5ldXRyYWwtMTAwOiAjMTAxNTE3O1xuJGNvbG9yLW5ldXRyYWwtOTA6ICMxRDIzMjdGRjtcbiRjb2xvci1uZXV0cmFsLTgwOiAjMkMzMzM4RkY7XG4kY29sb3ItbmV1dHJhbC03MDogIzNDNDM0QUZGO1xuJGNvbG9yLW5ldXRyYWwtNjA6ICM1MDU3NUVGRjtcbiRjb2xvci1uZXV0cmFsLTUwOiAjNjQ2OTcwRkY7XG4kY29sb3ItbmV1dHJhbC0zMDogIzhDOEY5NEZGO1xuJGNvbG9yLW5ldXRyYWwtMTA6ICNDM0M0QzdGRjtcbiRjb2xvci1uZXV0cmFsLTIwOiAjQTdBQUFERkY7XG4kY29sb3ItbmV1dHJhbC01OiAjRENEQ0RFRkY7XG4kY29sb3ItdXRpbGl0eS1yZWQtNTA6ICNENjM2MzhGRjtcbiRjb2xvci11dGlsaXR5LXllbGxvdy01MDogI0RCQTYxN0ZGO1xuJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA6ICMwMDhBMjBGRjtcbiRyYWRpdXMteGw6IDlweDtcbiRjb2xvci1uZXV0cmFsLTM6ICNGMEYwRjFGRjtcbiRjb2xvci1uZXV0cmFsLTA6ICNGNkY3RjdGRjtcbiRjb2xvci11dGlsaXR5LXdoaXRlOiAjRkZGRkZGRkY7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTA6ICNGRkYzRUNGRjtcbiRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0wOiAjRTVGNUZBRkY7XG4kY29sb3ItdXRpbGl0eS1ncmVlbi0wOiAjRURGQUVGRkY7XG4kY29sb3ItdXRpbGl0eS1yZWQtMDogI0ZDRjBGMUZGO1xuJGNvbG9yLWJyYW5kLW9yYW5nZS0zMDogI0ZGQTA2QUZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTMwOiAjNjZDNkU0RkY7XG4kY29sb3ItdXRpbGl0eS1ncmVlbi0zMDogIzAwQkEzN0ZGO1xuJGNvbG9yLXV0aWxpdHktcmVkLTMwOiAjRjg2MzY4RkY7XG4kY29sb3Itd29yZHByZXNzLWJsdWU6ICMyMjcxQjFGRjtcbiRjb2xvci11dGlsaXR5LWdyYXktMDogI0Y2RjZGNkZGO1xuJGNvbG9yLWFjY2VudC1vcmFuZ2UtNTA6ICNGRTlFNjhGRjtcbiRjb2xvci1hY2NlbnQtb3JhbmdlLTA6ICNGRkYwRThGRjtcbiRjb2xvci1hY2NlbnQtcmVkLTUwOiAjRkY3MzY4RkY7XG4kY29sb3ItYWNjZW50LXJlZC0wOiAjRkZFQUU4RkY7XG4kY29sb3ItYWNjZW50LXBpbmstNTA6ICNERjVCOUFGRjtcbiRjb2xvci1hY2NlbnQtcGluay0wOiAjRkFFNkYwRkY7XG4kY29sb3ItYWNjZW50LXB1cnBsZS01MDogIzg2NTlDMkZGO1xuJGNvbG9yLWFjY2VudC1wdXJwbGUtMDogI0VERTZGNkZGO1xuJGNvbG9yLWFjY2VudC1ibHVlLTUwOiAjNTY4NUJERkY7XG4kY29sb3ItYWNjZW50LWJsdWUtMDogI0U2RURGNUZGO1xuJGNvbG9yLWFjY2VudC10ZWFsLTUwOiAjNEJCOUE3RkY7XG4kY29sb3ItYWNjZW50LXRlYWwtMDogI0U0RjVGMkZGO1xuJGNvbG9yLWFjY2VudC1ncmVlbi01MDogIzU3RDQ2NkZGO1xuJGNvbG9yLWFjY2VudC1ncmVlbi0wOiAjRTZGOUU4RkY7XG4kY29sb3ItYWNjZW50LXllbGxvdy01MDogI0ZGQzQ2OUZGO1xuJGNvbG9yLWFjY2VudC15ZWxsb3ctMDogI0ZGRjZFOUZGO1xuJGNhbGVuZGFyLXRleHQtcHJpbWFyeTogIzAwMDAwMEQ5O1xuJGNhbGVuZGFyLXRleHQtdGVydGlhcnk6ICMwMDAwMDA2NjtcbiRjYWxlbmRhci1iYWNrZ3JvdW5kOiAjMDAwMDAwMDg7XG5cbi8qIEFsaWFzZXMgICovXG4kdGV4dC10ZXh0LXByaW1hcnk6ICRjb2xvci1uZXV0cmFsLTgwO1xuJHRleHQtdGV4dC1zZWNvbmRhcnk6ICRjb2xvci1uZXV0cmFsLTYwO1xuJHRleHQtdGV4dC10ZXJ0aWFyeTogJGNvbG9yLW5ldXRyYWwtNTA7XG4kdGV4dC10ZXh0LWhlYWRpbmc6ICRjb2xvci1uZXV0cmFsLTkwO1xuJHRleHQtdGV4dC10aXRsZTogJGNvbG9yLW5ldXRyYWwtMTAwO1xuJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLW9yYW5nZS01MDtcbiRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtMDtcbiRmaWVsZHMtZmllbGQtYm9yZGVyOiAkY29sb3ItbmV1dHJhbC0zMDtcbiRzdXJmYWNlLXN1cmZhY2UtYm9yZGVyOiAkY29sb3ItbmV1dHJhbC0xMDtcbiRzdXJmYWNlLXN1cmZhY2UtZGl2aWRlcjogJGNvbG9yLW5ldXRyYWwtNTtcbiRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtLWhvdmVyOiAkY29sb3ItYnJhbmQtb3JhbmdlLTcwO1xuJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLS1ob3ZlcjogJGNvbG9yLWJyYW5kLWJsdWUtNzA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyOiAkY29sb3ItbmV1dHJhbC0zMDtcbiRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LXRleHQ6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS10ZXh0OiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0OiAkY29sb3ItbmV1dHJhbC02MDtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXItLWhvdmVyOiAkY29sb3ItbmV1dHJhbC02MDtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1iYWNrZ3JvdW5kLS0taG92ZXI6ICRjb2xvci1uZXV0cmFsLTM7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dC0taG92ZXI6ICRjb2xvci1uZXV0cmFsLTgwO1xuJGJ1dHRvbnMtYnV0dG9uLXdwLXByaW1hcnktYmFja2dyb3VuZDogIzIyNzFCMTtcbiR0ZXh0LXRleHQtbGluazogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kdGV4dC10ZXh0LXN1Y2Nlc3M6ICRjb2xvci11dGlsaXR5LWdyZWVuLTUwO1xuJHRleHQtdGV4dC1lcnJvcjogJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuJHRleHQtdGV4dC13YXJuaW5nOiAkY29sb3ItdXRpbGl0eS15ZWxsb3ctNTA7XG4kZmllbGRzLWZpZWxkLWJvcmRlci0tZm9jdXM6ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuJGZpZWxkcy1maWVsZC1ib3JkZXItZXJyb3I6ICRjb2xvci11dGlsaXR5LXJlZC01MDtcbiRmaWVsZHMtZmllbGQtY2hvaWNlLW9mZjogJGNvbG9yLW5ldXRyYWwtMzA7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vbjogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kYmFkZ2VzLWJhZGdlLW9yYW5nZS10ZXh0OiAkY29sb3ItYnJhbmQtb3JhbmdlLTMwO1xuJGJhZGdlcy1iYWRnZS1vcmFuZ2UtYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLW9yYW5nZS0wO1xuJGJhZGdlcy1iYWRnZS1ibHVlLWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0wO1xuJGJhZGdlcy1iYWRnZS1ibHVlLXRleHQ6ICRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0zMDtcbiRiYWRnZXMtYmFkZ2UtZ3JlZW4tYmFja2dyb3VuZDogJGNvbG9yLXV0aWxpdHktZ3JlZW4tMDtcbiRiYWRnZXMtYmFkZ2UtZ3JlZW4tdGV4dDogJGNvbG9yLXV0aWxpdHktZ3JlZW4tMzA7XG4kYmFkZ2VzLWJhZGdlLXJlZC1iYWNrZ3JvdW5kOiAkY29sb3ItdXRpbGl0eS1yZWQtMDtcbiRiYWRnZXMtYmFkZ2UtcmVkLXRleHQ6ICRjb2xvci11dGlsaXR5LXJlZC0zMDtcbiRiYWRnZXMtYmFkZ2UtbmV1dHJhbC1iYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC01O1xuJGJhZGdlcy1iYWRnZS1uZXV0cmFsLXRleHQ6ICRjb2xvci1uZXV0cmFsLTMwO1xuJHJhZGl1cy1yYWRpdXMtYnV0dG9uOiAkcmFkaXVzLW1kO1xuJHJhZGl1cy1yYWRpdXMtZmllbGQ6ICRyYWRpdXMtbWQ7XG4kcmFkaXVzLXJhZGl1cy1iYWRnZTogJHJhZGl1cy1zbTtcbiRzdXJmYWNlLXN1cmZhY2UtYm9yZGVyLXByaW1hcnk6ICRjb2xvci1icmFuZC1vcmFuZ2UtNTA7XG4kc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLTM7XG4kc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuJHRleHQtdGV4dC1pY29uOiAkY29sb3ItbmV1dHJhbC0yMDtcbiRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC1saWdodDogJGNvbG9yLXV0aWxpdHktZ3JheS0wO1xuJGZpZWxkcy1maWVsZC1jaG9pY2Utb2ZmLS1ob3ZlcjogJGNvbG9yLW5ldXRyYWwtNTA7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI6ICRjb2xvci1icmFuZC1ibHVlLTcwO1xuXG4vLyBGb250IHNpemVzLlxuJHRleHQtZm9udC1zaXplLTJ4czogMTFweDtcbiR0ZXh0LWZvbnQtc2l6ZS14czogMTJweDtcbiR0ZXh0LWZvbnQtc2l6ZS1zczogMTNweDtcbiR0ZXh0LWZvbnQtc2l6ZS1zOiAxNHB4O1xuJHRleHQtZm9udC1zaXplLW06IDE2cHg7XG4kdGV4dC1mb250LXNpemUtbDogMThweDtcbiR0ZXh0LWZvbnQtc2l6ZS1sbDogMjBweDtcbiR0ZXh0LWZvbnQtc2l6ZS1sbGw6IDIycHg7XG4kdGV4dC1mb250LXNpemUteGw6IDI0cHg7XG4kdGV4dC1mb250LXNpemUteHhsOiAyOHB4O1xuXG4vLyBUcmFuc2l0aW9ucy5cbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLXNsb3dlc3Q6IC41MHM7XG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1zbG93ZXI6IC40MHM7XG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1zbG93OiAuMjVzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tbm9ybWFsOiAuMTVzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tZmFzdDogLjA1cztcbiIsIi4jeyRjaG9pY2VzLXNlbGVjdG9yfSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLWJvdHRvbTogJGNob2ljZXMtZ3V0dGVyaW5nO1xuXG5cdDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG5cdFx0Y29sb3I6ICRjb2xvcl9wbGFjZWhvbGRlcjtcblx0fVxuXG5cdDo6LW1vei1wbGFjZWhvbGRlciB7XG5cdFx0Y29sb3I6ICRjb2xvcl9wbGFjZWhvbGRlcjtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cblx0OjpwbGFjZWhvbGRlciB7XG5cdFx0Y29sb3I6ICRjb2xvcl9wbGFjZWhvbGRlcjtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cblxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHQmLmlzLWRpc2FibGVkIHtcblx0XHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lubmVyLFxuXHRcdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5wdXQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNob2ljZXMtYmctY29sb3ItZGlzYWJsZWQ7XG5cdFx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHRcdFx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0JiBbaGlkZGVuXSB7XG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0KiB7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0fVxuXG5cdCYuaXMtb3BlbiB7XG5cdFx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbm5lciB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAkY2hvaWNlcy1ib3JkZXItcmFkaXVzICRjaG9pY2VzLWJvcmRlci1yYWRpdXMgMCAwIDtcblx0XHR9XG5cdH1cblxuXHQmLmlzLW9wZW4uaXMtZmxpcHBlZCB7XG5cdFx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbm5lciB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwIDAgJGNob2ljZXMtYm9yZGVyLXJhZGl1cyAkY2hvaWNlcy1ib3JkZXItcmFkaXVzO1xuXHRcdH1cblx0fVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1bZGF0YS10eXBlKj1cInNlbGVjdC1vbmVcIl0ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0aW5wdXQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lucHV0IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gMjBweCkgIWltcG9ydGFudDtcblx0XHRtYXJnaW46IDEwcHggIWltcG9ydGFudDtcblx0XHRwYWRkaW5nOiA3cHggMTJweCAhaW1wb3J0YW50O1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkY2hvaWNlcy1rZXlsaW5lLWNvbG9yICFpbXBvcnRhbnQ7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGNob2ljZXMtYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cblx0XHQmOmZvY3VzIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRjaG9pY2VzLWZvY3VzZWQtY29sb3IgIWltcG9ydGFudDtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hvaWNlcy1mb2N1c2VkLWNvbG9yICFpbXBvcnRhbnQ7XG5cdFx0XHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19idXR0b24ge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgkY2hvaWNlcy1idXR0b24taWNvbi1wYXRoICsgJy9jcm9zcy1pbnZlcnNlLnN2ZycpO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0YmFja2dyb3VuZC1zaXplOiA4cHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogNTAlO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdG1hcmdpbi10b3A6IC0xMHB4O1xuXHRcdG1hcmdpbi1yaWdodDogMjVweDtcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0d2lkdGg6IDIwcHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogMTBlbTtcblx0XHRvcGFjaXR5OiAuNTtcblxuXHRcdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cblx0XHQmOmZvY3VzIHtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkY2hvaWNlcy1oaWdobGlnaHQtY29sb3I7XG5cdFx0fVxuXHR9XG5cblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pdGVtW2RhdGEtdmFsdWU9JyddIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fYnV0dG9uIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRoZWlnaHQ6IDA7XG5cdFx0d2lkdGg6IDA7XG5cdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRib3JkZXItY29sb3I6ICRjaG9pY2VzLXRleHQtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiA1cHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAxMS41cHg7XG5cdFx0dG9wOiA1MCU7XG5cdFx0bWFyZ2luLXRvcDogLTIuNXB4O1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR9XG5cblx0Ji5pcy1vcGVuOmFmdGVyIHtcblx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjaG9pY2VzLXRleHQtY29sb3IgdHJhbnNwYXJlbnQ7XG5cdFx0bWFyZ2luLXRvcDogLTcuNXB4O1xuXHR9XG5cblx0JltkaXI9XCJydGxcIl0ge1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0bGVmdDogMTEuNXB4O1xuXHRcdFx0cmlnaHQ6IGF1dG87XG5cdFx0fVxuXG5cdFx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19idXR0b24ge1xuXHRcdFx0cmlnaHQ6IGF1dG87XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDI1cHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0fVxuXHR9XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfVtkYXRhLXR5cGUqPVwic2VsZWN0LW11bHRpcGxlXCJdIHtcblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbm5lciB7XG5cdFx0cGFkZGluZy1yaWdodDogJGNob2ljZXMtZ3V0dGVyaW5nO1xuXHRcdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5wdXQge1xuXHRcdFx0cGFkZGluZzogMCA0cHghaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdHdpZHRoOiAwO1xuXHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY2hvaWNlcy10ZXh0LWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci13aWR0aDogNXB4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMTEuNXB4O1xuXHRcdHRvcDogNTAlO1xuXHRcdG1hcmdpbi10b3A6IC0yLjVweDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0fVxuXG5cdCYuaXMtb3BlbjphZnRlciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkY2hvaWNlcy10ZXh0LWNvbG9yIHRyYW5zcGFyZW50O1xuXHRcdG1hcmdpbi10b3A6IC03LjVweDtcblx0fVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1bZGF0YS10eXBlKj1cInNlbGVjdC1tdWx0aXBsZVwiXSxcbi4jeyRjaG9pY2VzLXNlbGVjdG9yfVtkYXRhLXR5cGUqPVwidGV4dFwiXSB7XG5cdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5uZXIge1xuXHRcdGN1cnNvcjogdGV4dDtcblx0fVxuXG5cdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fYnV0dG9uIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0bWFyZ2luLWxlZnQ6IDVweDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgkY2hvaWNlcy1idXR0b24taWNvbi1wYXRoICsgJy9jcm9zcy5zdmcnKTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6ICRjaG9pY2VzLWJ1dHRvbi1kaW1lbnNpb247XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdHdpZHRoOiAkY2hvaWNlcy1idXR0b24tZGltZW5zaW9uO1xuXHRcdGhlaWdodDogJGNob2ljZXMtYnV0dG9uLWRpbWVuc2lvbjtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRvcGFjaXR5OiAuNzU7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblx0fVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lubmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR3aWR0aDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNob2ljZXMtYmctY29sb3I7XG5cdHBhZGRpbmc6IDZweCA2cHggMDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGNob2ljZXMta2V5bGluZS1jb2xvcjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Ym9yZGVyLXJhZGl1czogJGNob2ljZXMtYm9yZGVyLXJhZGl1cztcbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9X19saXN0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdC0tc2luZ2xlIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiAwIDE2cHggNHB4IDRweDtcblx0Zm9udC1zaXplOiAwLjg3NWVtO1xuXG5cdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faXRlbSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0Y29sb3I6ICMyYzMzMzg7XG5cblx0XHQmW2RhdGEtdmFsdWU9JyddIHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0fVxuXHR9XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdC0tbXVsdGlwbGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pdGVtIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRjaG9pY2VzLWJvcmRlci1yYWRpdXMtaXRlbTtcblx0XHRwYWRkaW5nOiA0cHggN3B4O1xuXHRcdGZvbnQtc2l6ZTogLjc1ZW07XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRtYXJnaW46IDAgNnB4IDRweCAwO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjaG9pY2VzLXByaW1hcnktY29sb3I7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGNob2ljZXMtcHJpbWFyeS1jb2xvcjtcblx0XHRjb2xvcjogJGNob2ljZXMtYmctY29sb3I7XG5cdFx0d29yZC1icmVhazogYnJlYWstd29yZDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBjYWxjKCAjeyRjaG9pY2VzLWJ1dHRvbi1kaW1lbnNpb259ICsgNXB4ICk7XG5cblx0XHQmLmlzLWhpZ2hsaWdodGVkIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjaG9pY2VzLWhpZ2hsaWdodC1jb2xvcjtcblx0XHR9XG5cdH1cbn1cblxuLmlzLWRpc2FibGVkIHtcblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19saXN0LS1tdWx0aXBsZSB7XG5cdFx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pdGVtIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjaG9pY2VzLWRpc2FibGVkLWNvbG9yO1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGNob2ljZXMtZGlzYWJsZWQtY29sb3I7XG5cdFx0fVxuXHR9XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdC0tZHJvcGRvd24ge1xuXHRkaXNwbGF5OiBub25lO1xuXHR6LWluZGV4OiAxMDE7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjaG9pY2VzLWJnLWNvbG9yLWRyb3Bkb3duO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY2hvaWNlcy1rZXlsaW5lLWNvbG9yO1xuXHR0b3A6IDEwMCU7XG5cdG1hcmdpbi10b3A6IC0xcHg7XG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRjaG9pY2VzLWJvcmRlci1yYWRpdXM7XG5cdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkY2hvaWNlcy1ib3JkZXItcmFkaXVzO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuXG5cdCYuaXMtYWN0aXZlIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdCB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1heC1oZWlnaHQ6IDMwMHB4O1xuXHRcdG92ZXJmbG93OiBhdXRvO1xuXHRcdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblx0XHR3aWxsLWNoYW5nZTogc2Nyb2xsLXBvc2l0aW9uO1xuXHR9XG5cblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pdGVtIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdGZvbnQtc2l6ZTogLjg3NWVtO1xuXHR9XG5cblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pdGVtLS1zZWxlY3RhYmxlIHtcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiBhdHRyKGRhdGEtc2VsZWN0LXRleHQpO1xuXHRcdFx0XHRmb250LXNpemU6IC43NWVtO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRyaWdodDogMTBweDtcblx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmlzLWhpZ2hsaWdodGVkIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG5cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRvcGFjaXR5OiAuNTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX3BsYWNlaG9sZGVyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi5pcy1mbGlwcGVkIHtcblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19saXN0LS1kcm9wZG93biB7XG5cdFx0dG9wOiBhdXRvO1xuXHRcdGJvdHRvbTogMTAwJTtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdG1hcmdpbi1ib3R0b206IC0xcHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGNob2ljZXMtYm9yZGVyLXJhZGl1cyAkY2hvaWNlcy1ib3JkZXItcmFkaXVzIDAgMDtcblx0fVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2l0ZW0ge1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faXRlbS0tc2VsZWN0YWJsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9X19pdGVtLS1kaXNhYmxlZCB7XG5cdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHRvcGFjaXR5OiAuNTtcbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9X19oZWFkaW5nIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAuNzVlbTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0cGFkZGluZzogMTBweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIGxpZ2h0ZW4oJGNob2ljZXMta2V5bGluZS1jb2xvciwgMTUlKTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGxpZ2h0ZW4oJGNob2ljZXMta2V5bGluZS1jb2xvciwgMTUlKTtcblx0Y29sb3I6ICRjb2xvcl9oZWFkaW5nO1xuXG5cdC5jaG9pY2VzX19ncm91cFtkYXRhLXZhbHVlPVwiaGlkZGVuXCJdID4gJiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2J1dHRvbiB7XG5cdHRleHQtaW5kZW50OiAtOTk5OXB4O1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG5cdGJvcmRlcjogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbnB1dCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdG1hcmdpbjogMCAwIDRweCAwICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXHRib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG5cdG1heC13aWR0aDogMTAwJTtcblx0bWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuXHR3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAycHggNHB4ICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogYXV0byFpbXBvcnRhbnQ7XG5cblx0Ly8gVGhpcyBpcyBjdXN0b20gc3R5bGVzIGZvciBoaWRpbmcgYSBpbnB1dCBvbiBjaGFuZ2UgZXZlbnQuXG5cdCYtLWhpZGRlbiB7XG5cdFx0Y2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpICFpbXBvcnRhbnQ7XG5cdFx0Y2xpcC1wYXRoOiBpbnNldCg1MCUpICFpbXBvcnRhbnQ7XG5cdFx0aGVpZ2h0OiAxcHggIWltcG9ydGFudDtcblx0XHRtYXJnaW46IC0xcHggIWltcG9ydGFudDtcblx0XHRvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG5cdFx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuXHRcdHdpZHRoOiAxcHggIWltcG9ydGFudDtcblx0XHRtaW4td2lkdGg6IGF1dG8gIWltcG9ydGFudDtcblx0XHR3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfSAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lubmVyIHtcblx0aW5wdXQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lucHV0OmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXHRcdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fcGxhY2Vob2xkZXIge1xuXHRvcGFjaXR5OiAuNTtcbn1cblxuI3dwZm9ybXMtYWRtaW4tZm9ybS1lbWJlZC13aXphcmQge1xuXHQuI3skY2hvaWNlcy1zZWxlY3Rvcn0ge1xuXHRcdCYuaXMtb3Blbi5pcy1mbGlwcGVkIHtcblx0XHRcdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5uZXIge1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAkY2hvaWNlcy1ib3JkZXItcmFkaXVzICRjaG9pY2VzLWJvcmRlci1yYWRpdXMgMCAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5pcy1mbGlwcGVkIHtcblx0XHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2xpc3QtLWRyb3Bkb3duIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG5cdFx0fVxuXHR9XG5cblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9W2RhdGEtdHlwZSo9XCJzZWxlY3Qtb25lXCJdIHtcblx0XHQmOmFmdGVyIHtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdGJhY2tncm91bmQ6ICNmZmZmZmYgdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVTLUFTQ0lJLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjAlMjIlMjBoZWlnaHQlM0QlMjIyMCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNNSUyMDZsNSUyMDUlMjA1LTUlMjAyJTIwMS03JTIwNy03LTclMjAyLTF6JTIyJTIwZmlsbCUzRCUyMiUyMzc3NyUyMiUyRiUzRSUzQyUyRnN2ZyUzRSkgbm8tcmVwZWF0IGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogMTZweCAxNnB4O1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0d2lkdGg6IDE2cHg7XG5cdFx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0XHR0b3A6IDEzcHg7XG5cdFx0XHRyaWdodDogOHB4O1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cdH1cblxuXHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1bZGF0YS10eXBlKj1cInNlbGVjdC1vbmVcIl0uaXMtZmxpcHBlZCB7XG5cdFx0JjphZnRlciB7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuXHRcdH1cblx0fVxufVxuIiwiLy8gU2VsZWN0b3JzLlxuJGNob2ljZXMtc2VsZWN0b3I6ICAgICAnY2hvaWNlcycgIWRlZmF1bHQ7XG4kY2hvaWNlcy1ydGwtc2VsZWN0b3I6ICdib2R5LnJ0bCcgIWRlZmF1bHQ7XG5cbi8vIENvbG9ycy5cbiR0ZXh0LXNlY29uZGFyeTogICAgICAgICAgICAjNTA1NzVlICFkZWZhdWx0O1xuJGNob2ljZXMtYmctY29sb3I6ICAgICAgICAgICNmZmZmZmYgIWRlZmF1bHQ7XG4kY2hvaWNlcy1iZy1jb2xvci1kaXNhYmxlZDogI2JiYmJiYiAhZGVmYXVsdDtcbiRjaG9pY2VzLWJnLWNvbG9yLWRyb3Bkb3duOiAkY2hvaWNlcy1iZy1jb2xvciAhZGVmYXVsdDtcbiRjaG9pY2VzLXRleHQtY29sb3I6ICAgICAgICBjdXJyZW50Q29sb3IgIWRlZmF1bHQ7XG4kY2hvaWNlcy1rZXlsaW5lLWNvbG9yOiAgICAgIzhjOGY5NCAhZGVmYXVsdDtcbiRjaG9pY2VzLXByaW1hcnktY29sb3I6ICAgICAjMDM2YWFiICFkZWZhdWx0O1xuJGNob2ljZXMtZGlzYWJsZWQtY29sb3I6ICAgICNiYmJiYmIgIWRlZmF1bHQ7XG4kY2hvaWNlcy1oaWdobGlnaHQtY29sb3I6ICAgJGNob2ljZXMtcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRjaG9pY2VzLWZvY3VzZWQtY29sb3I6ICAgICAjMDU2YWFiICFkZWZhdWx0O1xuJGNob2ljZXMtZHJvcGRvd24tY29sb3I6ICAgICM3Nzc3Nzc7XG4kY29sb3JfcGxhY2Vob2xkZXI6ICAgICAgICAgIzk5OTk5OTtcbiRjb2xvcl9oZWFkaW5nOiAgICAgICAgICAgICAjYTZhNmE2O1xuXG4vLyBTaXppbmcuXG4kY2hvaWNlcy1ndXR0ZXJpbmc6ICAgICAgICAyNHB4ICFkZWZhdWx0O1xuJGNob2ljZXMtYnV0dG9uLWRpbWVuc2lvbjogMTJweCAhZGVmYXVsdDtcbiRjaG9pY2VzLWJ1dHRvbi1vZmZzZXQ6ICAgIDJweCAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHJhZGl1cy5cbiRjaG9pY2VzLWJvcmRlci1yYWRpdXM6ICAgICAgNHB4ICFkZWZhdWx0O1xuJGNob2ljZXMtYm9yZGVyLXJhZGl1cy1pdGVtOiAycHggIWRlZmF1bHQ7XG5cbi8vIFBhdGggdG8gaWNvbnMuXG4kY2hvaWNlcy1idXR0b24taWNvbi1wYXRoOiAnLi4vaW1hZ2VzJyAhZGVmYXVsdDtcblxuIiwiI3skY2hvaWNlcy1ydGwtc2VsZWN0b3J9IHtcbiAgLiN7JGNob2ljZXMtc2VsZWN0b3J9W2RhdGEtdHlwZSo9XCJzZWxlY3QtbXVsdGlwbGVcIl0ge1xuICAgIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5uZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAkY2hvaWNlcy1ndXR0ZXJpbmc7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDExLjVweDtcbiAgICB9XG4gIH1cblxuICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2xpc3QtLXNpbmdsZSB7XG4gICAgcGFkZGluZy1yaWdodDogNHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgfVxuXG4gIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdC0tbXVsdGlwbGUge1xuICAgIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faXRlbSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMy43NXB4O1xuXG4gICAgICAmW2RhdGEtZGVsZXRhYmxlXSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdC0tZHJvcGRvd24ge1xuICAgIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faXRlbSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lucHV0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC4jeyRjaG9pY2VzLXNlbGVjdG9yfVtkYXRhLXR5cGUqPVwic2VsZWN0LW11bHRpcGxlXCJdLCAuI3skY2hvaWNlcy1zZWxlY3Rvcn1bZGF0YS10eXBlKj1cInRleHRcIl0ge1xuICAgIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNob2ljZXMtYnV0dG9uLW9mZnNldDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtIGNhbGMoJGNob2ljZXMtYnV0dG9uLW9mZnNldC8yKTtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtlbigkY2hvaWNlcy1wcmltYXJ5LWNvbG9yLCAxMCUpO1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLiN7JGNob2ljZXMtc2VsZWN0b3J9X19saXN0LS1kcm9wZG93biB7XG4gICAgICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2l0ZW0tLXNlbGVjdGFibGUge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMDBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNob2ljZXNqcy1zZWxlY3Qtd3JhcCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjb2xvcjogIzMzMztcblxuXHQuY2hvaWNlcyB7XG5cdFx0Zm9udC1zaXplOiAkdGV4dC1mb250LXNpemUtbTtcblx0fVxuXG5cdC5jaG9pY2VzX19pbm5lciB7XG5cdFx0cGFkZGluZzogNHB4IDAgMCA2cHg7XG5cblx0XHQuY2hvaWNlc19fbGlzdC0tbXVsdGlwbGU6bm90KDplbXB0eSkge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyNnB4O1xuXHRcdH1cblx0fVxuXG5cdC5jaG9pY2VzanMtc2VsZWN0W211bHRpcGxlXSB7XG5cdFx0b3B0aW9uIHtcblx0XHRcdHBhZGRpbmc6IDEuNXB4IDAgMCAwO1xuXHRcdH1cblx0fVxuXG5cdHNlbGVjdCB7XG5cdFx0bWF4LXdpZHRoOiA0MDBweDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPGRlc2t0b3BcIikge1xuXHRcdHdpZHRoOiAzMDBweDtcblx0fVxuXG5cdC8vIFVwZGF0ZSBhcnJvdyB0byBmaXQgV1Agc3R5bGVzLlxuXHQuY2hvaWNlcyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlxcZjM0N1wiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiBjYWxjKDUwJSAtIDZweCk7XG5cdFx0XHRyaWdodDogNnB4O1xuXHRcdFx0Zm9udC1mYW1pbHk6IGRhc2hpY29ucywgc2Fucy1zZXJpZjtcblx0XHRcdGNvbG9yOiAkdGV4dC1zZWNvbmRhcnk7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHR3aWR0aDogMTZweDtcblx0XHRcdGhlaWdodDogMTdweDtcblx0XHR9XG5cblx0XHQmLmlzLW9wZW46YWZ0ZXIge1xuXHRcdFx0bWFyZ2luLXRvcDogLTFweDtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG5cdFx0fVxuXHR9XG5cblx0LmNob2ljZXNbZGF0YS10eXBlKj1cInNlbGVjdC1tdWx0aXBsZVwiXSB7XG5cdFx0LmNob2ljZXNfX2lubmVyIHtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBzdGFydDtcblx0XHRcdHBhZGRpbmctdG9wOiA2cHggIWltcG9ydGFudDtcblxuXHRcdFx0LmNob2ljZXNfX2lucHV0IHtcblx0XHRcdFx0cGFkZGluZzogMnB4IDRweCAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5pcy1mb2N1c2VkLFxuXHQuaXMtb3BlbiB7XG5cdFx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbm5lciB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRjaG9pY2VzLWZvY3VzZWQtY29sb3I7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJGNob2ljZXMtZm9jdXNlZC1jb2xvcjtcblx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0LmlzLWZsaXBwZWQuaXMtb3BlbiB7XG5cdFx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbm5lciB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRjaG9pY2VzLWZvY3VzZWQtY29sb3I7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJGNob2ljZXMtZm9jdXNlZC1jb2xvcjtcblx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0LmlzLW9wZW4ge1xuXHRcdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdC0tZHJvcGRvd24ge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkY2hvaWNlcy1mb2N1c2VkLWNvbG9yO1xuXHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRjaG9pY2VzLWtleWxpbmUtY29sb3IsIDEwJSk7XG5cdFx0XHRib3JkZXItYm90dG9tOiAwO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAxcHggMCAxcHggJGNob2ljZXMtZm9jdXNlZC1jb2xvcjtcblx0XHR9XG5cdH1cblxuXHQuaXMtb3Blbi5pcy1mbGlwcGVkIHtcblx0XHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2xpc3QtLWRyb3Bkb3duIHtcblx0XHRcdGJvcmRlci10b3A6IDA7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2VuKCRjaG9pY2VzLWtleWxpbmUtY29sb3IsIDEwJSk7XG5cdFx0XHRib3gtc2hhZG93OiAwIC0xcHggMCAxcHggJGNob2ljZXMtZm9jdXNlZC1jb2xvcjtcblx0XHR9XG5cdH1cbn1cblxuLmNob2ljZXNfX2lubmVyIHtcblx0bWluLWhlaWdodDogMzZweDtcbn1cbiIsIi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2Mi4wLjBcbi8vXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXG4vL1xuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXG4vLyAgICAgICAgICAgICAgICAgIEtpdHR5IEdpcmF1ZGVsIChAa2l0dHlnaXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG5AY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cbkB1c2UgJ3Nhc3M6bWF0aCc7XG5AdXNlICdzYXNzOm1hcCc7XG5AdXNlICdzYXNzOmxpc3QnO1xuQHVzZSAnc2FzczpzdHJpbmcnO1xuQHVzZSAnc2FzczptZXRhJztcblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6IChcbiAgJ3Bob25lJzogMzIwcHgsXG4gICd0YWJsZXQnOiA3NjhweCxcbiAgJ2Rlc2t0b3AnOiAxMDI0cHgsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzpcbiAgICAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuICAncmV0aW5hM3gnOlxuICAgICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KScsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDAsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgQGlmIG1ldGEuZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgIEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge1xuICB9XG59XG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHtcbn1cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAuaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSlcbiAgICAgIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmIG5vdCBsaXN0LmluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xuICAgIEBpZiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xufVxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHJpbmcuc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXRyaW0oJHBhcnNlZC1kaW1lbnNpb24pO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHJpbmcubGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihsaXN0LmluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0cmluZy5pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHJpbmcuc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0cmluZy5sZW5ndGgoJG9wZXJhdG9yKSk7XG4gICR0cmltbWVkVmFsdWU6IHN0ci10cmltKCR2YWx1ZSk7XG5cbiAgQGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJHRyaW1tZWRWYWx1ZSkge1xuICAgICR2YWx1ZTogbWFwLmdldCgkYnJlYWtwb2ludHMsICR0cmltbWVkVmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdHJpbW1lZFZhbHVlKTtcbiAgfVxuXG4gICRpbnRlcnZhbDogbWFwLmdldCgkdW5pdC1pbnRlcnZhbHMsIG1hdGgudW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje21hdGgudW5pdCgkdmFsdWUpfWAuJyk7XG4gIH1cblxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLmhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLmdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxpc3QubGVuZ3RoKCRsaXN0KSkge1xuICBAaWYgbGlzdC5sZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICRyZXN1bHQ6IGxpc3QuYXBwZW5kKCRyZXN1bHQsIGxpc3QubnRoKCRsaXN0LCAkaSksIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG4vLy9cblxuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIG1ldGEudHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcbiAgfVxuXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0cmluZy5zbGljZSgkdmFsdWUsIDEsIDEpO1xuICAkcmVzdWx0OiAwO1xuICAkZGlnaXRzOiAwO1xuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XG4gICRudW1iZXJzOiAoXG4gICAgJzAnOiAwLFxuICAgICcxJzogMSxcbiAgICAnMic6IDIsXG4gICAgJzMnOiAzLFxuICAgICc0JzogNCxcbiAgICAnNSc6IDUsXG4gICAgJzYnOiA2LFxuICAgICc3JzogNyxcbiAgICAnOCc6IDgsXG4gICAgJzknOiA5LFxuICApO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyaW5nLmxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdChsaXN0LmluZGV4KG1hcC5rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHJpbmcuc2xpY2UoJHZhbHVlLCAkaSkpO1xuICAgIH1cblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGlnaXRzOiAxO1xuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC5nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hdGguZGl2KG1hcC5nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpLCAkZGlnaXRzKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKFxuICAgICdweCc6IDFweCxcbiAgICAnY20nOiAxY20sXG4gICAgJ21tJzogMW1tLFxuICAgICclJzogMSUsXG4gICAgJ2NoJzogMWNoLFxuICAgICdwYyc6IDFwYyxcbiAgICAnaW4nOiAxaW4sXG4gICAgJ2VtJzogMWVtLFxuICAgICdyZW0nOiAxcmVtLFxuICAgICdwdCc6IDFwdCxcbiAgICAnZXgnOiAxZXgsXG4gICAgJ3Z3JzogMXZ3LFxuICAgICd2aCc6IDF2aCxcbiAgICAndm1pbic6IDF2bWluLFxuICAgICd2bWF4JzogMXZtYXgsXG4gICk7XG5cbiAgQGlmIG5vdCBsaXN0LmluZGV4KG1hcC5rZXlzKCR1bml0cyksICR1bml0KSB7XG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC5nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgSmFjayBNY05pY29sXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIFRyaW1zIGEgc3RyaW5nIG9mIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHNwYWNlc1xuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBWYWx1ZSB0byBiZSB0cmltbWVkXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9XG4vLy9cblxuQGZ1bmN0aW9uIHN0ci10cmltKCRzdHJpbmcpIHtcbiAgQGlmIChzdHItc2xpY2UoJHN0cmluZywgMSwgMSkgPT0gJyAnKSB7XG4gICAgQHJldHVybiBzdHItdHJpbShzdHItc2xpY2UoJHN0cmluZywgMikpO1xuICB9IEBlbHNlIGlmIChzdHItc2xpY2UoJHN0cmluZywgc3RyLWxlbmd0aCgkc3RyaW5nKSwgLTEpID09ICcgJykge1xuICAgIEByZXR1cm4gc3RyLXRyaW0oc3RyLXNsaWNlKCRzdHJpbmcsIDEsIC0yKSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJHN0cmluZztcbiAgfVxufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLm1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC5tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGlzdC5sZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpXG4gIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxpc3QubGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3tzdHJpbmcudW5xdW90ZShwYXJzZS1leHByZXNzaW9uKGxpc3QubnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgJHNsaWNlZC1jb25kaXRpb25zOiBzbGljZSgkY29uZGl0aW9ucywgMik7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkc2xpY2VkLWNvbmRpdGlvbnMuLi4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBHZW5lcmFsIGFkbWluIHN0eWxpbmcuXG5cbi8vIENvcmUgYWRtaW4gc3R5bGUgb3ZlcnJpZGVzLlxuI3dwY29udGVudCB7XG5cdHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblx0XHRwYWRkaW5nLXRvcDogNDZweDtcblx0fVxufVxuXG4jd3Bib2R5IHtcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0fVxufVxuXG4vLyBBZG1pbiB3cmFwIC0gY29udGFpbnMgZXZlcnl0aGluZyBleGNlcHQgdGhlIGhlYWRlci5cbi5zdWdhci1jYWxlbmRhci1hZG1pbi13cmFwIHtcblx0bWFyZ2luOiAwO1xuXG5cdC5ub3RpY2Uge1xuXHRcdG1hcmdpbjogMCAwICRzcGFjaW5nLWxnO1xuXHR9XG59XG5cbi8vIEFkbWluIGNvbnRlbnQuXG4uc3VnYXItY2FsZW5kYXItYWRtaW4tY29udGVudCB7XG5cdHBhZGRpbmc6ICRzcGFjaW5nLWxnICRzcGFjaW5nLWxnIDAgJHNwYWNpbmctbGc7XG5cblx0Kixcblx0Kjo6YmVmb3JlLFxuXHQqOjphZnRlciB7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0fVxuXG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIiBcIjtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHR9XG5cblx0aHIge1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2U0ZTRlNDtcblx0XHRtYXJnaW46IDIwcHggMDtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHR9XG5cblx0Y29kZSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBhZGRpbmc6IDAgNnB4O1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHRjb2xvcjogJHRleHQtdGV4dC1zZWNvbmRhcnk7XG5cdH1cblxuXHRzdHJvbmcge1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdH1cblxuXHRwIHtcblx0XHQmLnN1Ym1pdCB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1sZyAwIDIwcHggMDtcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTRlNGU0O1xuXG5cdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG59XG5cbi8vIExlZ2FjeSBhZGRvbiBmaXhlcy5cbi5zdWdhci1jYWxlbmRhci1hZG1pbi1jb250ZW50IHtcblx0LmZvcm0tdGFibGU6Zmlyc3QtY2hpbGQge1xuXHRcdHRib2R5IHtcblx0XHRcdHRyOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0dGgsXG5cdFx0XHRcdHRkIHtcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGgge1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAycHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRoMyB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy8gSGVhZGVyIHN0eWxlcy5cblxuI3N1Z2FyLWNhbGVuZGFyLWhlYWRlci10ZW1wIHtcblx0bWFyZ2luOiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogLTFweDtcblx0bGVmdDogMjBweDtcblx0cmlnaHQ6IDA7XG5cdHotaW5kZXg6IDk5O1xuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPDYwMHB4XCIpIHtcblx0XHRwYWRkaW5nLXRvcDogNTBweDtcblx0fVxufVxuXG4jc3VnYXItY2FsZW5kYXItaGVhZGVyIHtcblx0cGFkZGluZzogMjBweCAzMHB4O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJHN1cmZhY2Utc3VyZmFjZS1kaXZpZGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0aW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW46IDA7XG5cdFx0bWF4LXdpZHRoOiAyOTZweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xuXHRcdFx0bWF4LXdpZHRoOiAyMDBweDtcblx0XHR9XG5cdH1cblxuXHRhI3N1Z2FyLWNhbGVuZGFyLWhlYWRlci1oZWxwIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRjb2xvcjogJHRleHQtdGV4dC1pY29uO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEzcHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdG1hc2staW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9xdWVzdGlvbi1jaXJjbGUuc3ZnXCIpO1xuXHRcdFx0bWFzay1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LXRleHQtaWNvbjtcblx0XHRcdHdpZHRoOiAxNnB4O1xuXHRcdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiA2cHg7XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGNvbG9yOiAkdGV4dC10ZXh0LXRlcnRpYXJ5O1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LXRleHQtdGVydGlhcnk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuXHQjc3VnYXItY2FsZW5kYXItbm90aWNlLWJhciArICNzdWdhci1jYWxlbmRhci1oZWFkZXItdGVtcCB7XG5cdFx0dG9wOiAzNHB4O1xuXHR9XG59XG4iLCIvLyBQYWdlIG5hdmlnYXRpb24uXG4uc3VnYXItY2FsZW5kYXItYWRtaW4tdGFicyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0Z2FwOiAkc3BhY2luZy1sZztcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwICRzcGFjaW5nLWxnO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA3KTtcblxuXHRsaSB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cblx0XHRhIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cGFkZGluZzogMjNweCAwIDIxcHggMDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxNHB4O1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdGNvbG9yOiAkdGV4dC10ZXh0LXByaW1hcnk7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzLFxuXHRcdFx0Ji5hY3RpdmU6Zm9jdXMge1xuXHRcdFx0XHRjb2xvcjogJHRleHQtdGV4dC1wcmltYXJ5O1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYm9yZGVyO1xuXHRcdFx0fVxuXG5cdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1ib3JkZXItcHJpbWFyeTtcblx0XHRcdH1cblxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCJAbWl4aW4gZm9ybS1maWVsZCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTtcblx0Ym9yZGVyOiAxcHggc29saWQgJGZpZWxkcy1maWVsZC1ib3JkZXI7XG5cdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtcmFkaXVzLWZpZWxkO1xuXHRib3gtc2hhZG93OiBub25lO1xuXHRjb2xvcjogJHRleHQtdGV4dC1wcmltYXJ5O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdHBhZGRpbmc6IDdweCAxMnB4O1xuXHRtYXJnaW46IDA7XG5cdHdpZHRoOiA0MDBweDtcblx0bWluLWhlaWdodDogMzZweDtcblx0bGluZS1oZWlnaHQ6IDEuMztcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogJHRleHQtdGV4dC1wcmltYXJ5O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWJvcmRlci0tZm9jdXMgIWltcG9ydGFudDtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJGZpZWxkcy1maWVsZC1ib3JkZXItLWZvY3VzICFpbXBvcnRhbnQ7XG5cdFx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0JjpkaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XG5cdFx0d2lkdGg6IDMwMHB4O1xuXHR9XG59XG5cbkBtaXhpbiBmb3JtLWZpZWxkLXNlbGVjdCB7XG5cdEBpbmNsdWRlIGZvcm0tZmllbGQ7XG5cblx0cGFkZGluZzogN3B4IDI0cHggN3B4IDEwcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5AbWl4aW4gZm9ybS1maWVsZC1yYWRpbyB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRmaWVsZHMtZmllbGQtYm9yZGVyO1xuXHRtYXJnaW46IDFweCAxMHB4IDAgMDtcblxuXHQmOjpiZWZvcmUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHR9XG5cblx0JjpjaGVja2VkIHtcblx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3ZlcjtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb24tLWhvdmVyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3Zlcjtcblx0XHR9XG5cdH1cblxuXHQmOmRpc2FibGVkIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGZpZWxkcy1maWVsZC1jaG9pY2Utb2ZmO1xuXHR9XG59XG5cbkBtaXhpbiBmb3JtLWZpZWxkLWNoZWNrYm94IHtcblx0Ym9yZGVyOiAxcHggc29saWQgJGZpZWxkcy1maWVsZC1ib3JkZXI7XG5cdG1hcmdpbjogMXB4IDEwcHggMCAwO1xuXG5cdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdH1cblxuXHQmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0fVxuXG5cdCY6Y2hlY2tlZCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0bWFzazogdXJsKC4uL2ltYWdlcy9pY29ucy95ZXMuc3ZnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlXG5cdFx0fVxuXG5cdFx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3Zlcjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3Zlcjtcblx0XHR9XG5cblx0XHQmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGUsIDAgMCAwIDJweCAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cdFx0fVxuXHR9XG5cblx0JjpkaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC41O1xuXG5cdFx0JjpjaGVja2VkIHtcblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBmb3JtLWZpZWxkLXRleHRhcmVhIHtcblx0QGluY2x1ZGUgZm9ybS1maWVsZDtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luOiAwIDFweDtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdGNvbG9yOiAkdGV4dC10ZXh0LXNlY29uZGFyeTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0aGVpZ2h0OiAyNXB4O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG5cdGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcblx0XHRAaW5jbHVkZSB2aXN1YWxseS1oaWRlO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXHRcdH1cblxuXHRcdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vZmYtLWhvdmVyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlLCAwIDAgMCAycHggJGZpZWxkcy1maWVsZC1ib3JkZXI7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpjaGVja2VkIHtcblx0XHRcdCYgKyBsYWJlbC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0bGVmdDogY2FsYygxMDAlIC0gMnB4KTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0XHQmICsgbGFiZWwuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb24tLWhvdmVyO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0XHQmICsgbGFiZWwuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZSwgMCAwIDAgMnB4ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpkaXNhYmxlZCB7XG5cdFx0XHQmICsgbGFiZWwuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0XHRcdG9wYWNpdHk6IDAuNTtcblx0XHRcdH1cblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHQmICsgbGFiZWwuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHNwYW4sXG5cdGxhYmVsIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1sYWJlbCB7XG5cdFx0cGFkZGluZzogMCAkc3BhY2luZy1zbTtcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDY1cHgpO1xuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLXN0YXR1cyB7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtc2Vjb25kYXJ5O1xuXHRcdGZvbnQtc2l6ZTogJHRleHQtZm9udC1zaXplLXhzO1xuXHRcdGxpbmUtaGVpZ2h0OiAxN3B4O1xuXHRcdHBhZGRpbmc6IDAgJHNwYWNpbmctc207XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLXN0YXR1cy1vZmYsXG5cdC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb24ge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0fVxuXG5cdGlucHV0Om5vdCg6Y2hlY2tlZCkgfiAuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtc3RhdHVzLW9mZixcblx0aW5wdXQ6Y2hlY2tlZCB+IC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb24ge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmV1dHJhbC0zMDtcblx0XHRib3JkZXItcmFkaXVzOiA4LjVweDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGhlaWdodDogMTdweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dGV4dC1pbmRlbnQ6IC05OTk5cHg7XG5cdFx0d2lkdGg6IDI3cHg7XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdGhlaWdodDogMTNweDtcblx0XHRcdGxlZnQ6IDJweDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMnB4O1xuXHRcdFx0d2lkdGg6IDEzcHg7XG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tbm9ybWFsIGVhc2Utb3V0O1xuXHRcdH1cblx0fVxuXG5cdGlucHV0OmRpc2FibGVkIH4gLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24sXG5cdGlucHV0OmRpc2FibGVkIH4gLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLXN0YXR1cy1vZmYsXG5cdGlucHV0OmRpc2FibGVkIH4gLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLXN0YXR1cy1vbiB7XG5cdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHR9XG59XG4iLCJAbWl4aW4gbGluay1yZXNldCB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cdG91dGxpbmU6IG5vbmU7XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuQG1peGluIHZpc3VhbGx5LWhpZGUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGhlaWdodDogMDtcblx0d2lkdGg6IDA7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cdG1hcmdpbjogMDtcblx0bWluLXdpZHRoOiAwO1xufVxuXG5AbWl4aW4gYmFkZ2UoJHBvc2l0aW9uOiBhZnRlcikge1xuXHQmOjojeyRwb3NpdGlvbn0ge1xuXHRcdGNvbnRlbnQ6IFwiUFJPXCI7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi1sZWZ0OiAkc3BhY2luZy1zbTtcblx0XHRwYWRkaW5nOiA1cHggOHB4O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0Zm9udC1zaXplOiA4cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC40cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDhweDtcblx0XHRjb2xvcjogJGJhZGdlcy1iYWRnZS1uZXV0cmFsLXRleHQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJhZGdlcy1iYWRnZS1uZXV0cmFsLWJhY2tncm91bmQ7XG5cdFx0Ym9yZGVyLXJhZGl1czogJHJhZGl1cy1yYWRpdXMtYmFkZ2U7XG5cblx0XHRAY29udGVudDtcblx0fVxufVxuIiwiLy8gQnV0dG9ucy5cbi5zdWdhci1jYWxlbmRhci1idG4ge1xuXHRib3JkZXItd2lkdGg6IDFweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLXJhZGl1czogJHJhZGl1cy1yYWRpdXMtYnV0dG9uO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luOiAwO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0dHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLWZhc3QgZWFzZS1vdXQ7XG5cblx0Ji5pbmFjdGl2ZSB7XG5cdFx0Y3Vyc29yOiBuby1kcm9wO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tYmxvY2sge1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tc20ge1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXHRwYWRkaW5nOiAwIDEwcHg7XG5cdGhlaWdodDogMzBweDtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1tZCB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0bGluZS1oZWlnaHQ6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHBhZGRpbmc6IDEwcHggMTVweDtcblx0bWluLWhlaWdodDogMzZweDtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1sZyB7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0cGFkZGluZzogMTFweCAxN3B4O1xuXHRtaW4taGVpZ2h0OiA0NHB4O1xufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXByaW1hcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuXHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0b3V0bGluZTogMDtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXNlY29uZGFyeSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDtcblx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tdGVydGlhcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZDtcblx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyO1xuXHRjb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LXRleHQgIWltcG9ydGFudDtcblxuXHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZC0tLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlci0taG92ZXI7XG5cdFx0Y29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0LS1ob3ZlciAhaW1wb3J0YW50O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXItLWhvdmVyO1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tZ3JlZW4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdXRpbGl0eS1ncmVlbi01MDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkY29sb3ItdXRpbGl0eS1ncmVlbi01MDtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1yZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci11dGlsaXR5LXJlZC01MDtcblx0Y29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlICFpbXBvcnRhbnQ7XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRjb2xvci11dGlsaXR5LXJlZC01MDtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cbiIsIi8vIENvbW1vbiBzZXR0aW5ncyByb3cgc3R5bGVzLlxuLnN1Z2FyLWNhbGVuZGFyLXNldHRpbmctcm93IHtcblx0cGFkZGluZzogMCAwICRzcGFjaW5nLWxnIDA7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0bGluZS1oZWlnaHQ6IDEuMztcblxuXHQmOmZpcnN0LW9mLXR5cGUge1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHR9XG5cblx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1sZztcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG5cdFx0cGFkZGluZzogMCAwICRzcGFjaW5nLW1kIDA7XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItc2V0dGluZy1sYWJlbCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0d2lkdGg6IDIwMHB4O1xuXHRcdHBhZGRpbmc6IDAgJHNwYWNpbmctc20gMCAwO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMTVweDtcblx0XHR9XG5cblx0XHRsYWJlbCB7XG5cdFx0XHRjb2xvcjogJHRleHQtdGV4dC1wcmltYXJ5O1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRnYXA6ICRzcGFjaW5nLXNtO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0XHRtYXJnaW4tdG9wOiA4cHg7XG5cdFx0fVxuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLXNldHRpbmctZmllbGQge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbjogMCAwIDAgMjAwcHg7XG5cdFx0bWF4LXdpZHRoOiA4MjBweDtcblx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHRjb2xvcjogJHRleHQtdGV4dC1zZWNvbmRhcnk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0fVxuXHR9XG5cblx0cCB7XG5cdFx0bWFyZ2luOiAxMHB4IDAgMDtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtcHJpbWFyeTtcblxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cblx0XHQmLmRlc2Mge1xuXHRcdFx0Y29sb3I6ICR0ZXh0LXRleHQtdGVydGlhcnk7XG5cdFx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHR9XG5cdH1cblxuXHQvLyBGb3JtIGVsZW1lbnRzLlxuXHRpbnB1dFt0eXBlPXRleHRdLFxuXHRpbnB1dFt0eXBlPXBhc3N3b3JkXSxcblx0aW5wdXRbdHlwZT1udW1iZXJdIHtcblx0XHRAaW5jbHVkZSBmb3JtLWZpZWxkO1xuXHR9XG5cblx0c2VsZWN0IHtcblx0XHRAaW5jbHVkZSBmb3JtLWZpZWxkLXNlbGVjdDtcblx0fVxuXG5cdGlucHV0W3R5cGU9cmFkaW9dIHtcblx0XHRAaW5jbHVkZSBmb3JtLWZpZWxkLXJhZGlvO1xuXHR9XG5cblx0aW5wdXRbdHlwZT1jaGVja2JveF0ge1xuXHRcdEBpbmNsdWRlIGZvcm0tZmllbGQtY2hlY2tib3g7XG5cdH1cbn1cblxuIiwiLy8gUmFkaW8gc2V0dGluZ3Mgcm93LlxuLnN1Z2FyLWNhbGVuZGFyLXNldHRpbmctcm93LXJhZGlvIHtcblx0LnN1Z2FyLWNhbGVuZGFyLXNldHRpbmctZmllbGQge1xuXHRcdHBhZGRpbmctdG9wOiA4cHg7XG5cblx0XHRsYWJlbCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDVweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuc3VnYXItY2FsZW5kYXItc2V0dGluZ3MtZmllbGQtcmFkaW8td3JhcHBlciB7XG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAkc3BhY2luZy1tZDtcblxuXHRcdFx0aW5wdXRbdHlwZT1yYWRpb10ge1xuXHRcdFx0XHRmbGV4LXNocmluazogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRnYXA6IDVweDtcblx0XHR9XG5cdH1cbn1cbiIsIi8vIERhdGUvdGltZSBmb3JtYXQgc2V0dGluZ3Mgcm93LlxuLnN1Z2FyLWNhbGVuZGFyLXNldHRpbmctcm93LWRhdGVfdGltZV9mb3JtYXQge1xuXHRAZXh0ZW5kIC5zdWdhci1jYWxlbmRhci1zZXR0aW5nLXJvdy1yYWRpbztcblxuXHQuc3VnYXItY2FsZW5kYXItc2V0dGluZy1maWVsZCB7XG5cdFx0LnN1Z2FyLWNhbGVuZGFyLXNldHRpbmdzLWZpZWxkLXJhZGlvLXdyYXBwZXIge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHR3aWR0aDogMjUwcHg7XG5cdFx0fVxuXG5cdFx0bGFiZWwge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXg6IDE7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0ZmxleDogMTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuc3VnYXItY2FsZW5kYXItY3VzdG9tLWRhdGUtdGltZS1mb3JtYXQge1xuXHRcdFx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cdFx0XHRwYWRkaW5nOiAwIDZweDtcblx0XHRcdG1pbi1oZWlnaHQ6IDMwcHg7XG5cdFx0XHRtYXJnaW46IC01cHggMCAwO1xuXHRcdFx0d2lkdGg6IDc1cHg7XG5cdFx0fVxuXHR9XG5cblx0LnNwaW5uZXIge1xuXHRcdGZsb2F0OiBub25lO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdG1hcmdpbjogLTNweCAwIDAgM3B4O1xuXHR9XG59XG4iLCIvLyBTZWxlY3Qgc2V0dGluZ3Mgcm93LlxuLnN1Z2FyLWNhbGVuZGFyLXNldHRpbmctcm93LXNlbGVjdCB7XG5cdC5jaG9pY2VzanMtc2VsZWN0LXdyYXAge1xuXHRcdG1heC13aWR0aDogNDAwcHg7XG5cdH1cbn1cbiIsIi8vIENoZWNrYm94IHNldHRpbmdzIHJvdy5cbi5zdWdhci1jYWxlbmRhci1zZXR0aW5nLXJvdy10b2dnbGUge1xuXHQuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wge1xuXHRcdHBhZGRpbmctdG9wOiA4cHg7XG5cdH1cbn1cbiIsIi8vIEhlYWRpbmcgc2V0dGluZ3Mgcm93LlxuLnN1Z2FyLWNhbGVuZGFyLXNldHRpbmctcm93LWhlYWRpbmcge1xuXHRwYWRkaW5nOiAkc3BhY2luZy1sZyAwO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgI2RjZGNkZTtcblxuXHRAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuXHRcdHBhZGRpbmc6ICN7JHNwYWNpbmctbGcgLSA1cHh9IDAgJHNwYWNpbmctc20gMDtcblx0fVxuXG5cdGg0IHtcblx0XHRtYXJnaW46IDA7XG5cdFx0Zm9udC1zaXplOiAkdGV4dC1mb250LXNpemUtbGxsO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0XHRjb2xvcjogJHRleHQtdGV4dC1oZWFkaW5nO1xuXHR9XG5cblx0JjpmaXJzdC1vZi10eXBlIHtcblx0XHRib3JkZXI6IG5vbmU7XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItc2V0dGluZy1maWVsZCB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdG1heC13aWR0aDogMTAwMHB4O1xuXG5cdFx0cC5kZXNjIHtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdFx0Y29sb3I6ICR0ZXh0LXRleHQtcHJpbWFyeTtcblx0XHR9XG5cdH1cbn1cbiIsIiNzdWdhci1jYWxlbmRhci1zZXR0aW5nLXJvdy1saWNlbnNlLWtleSB7XG5cdGxhYmVsIHtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLXNldHRpbmctbGljZW5zZS13cmFwcGVyIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXG5cdFx0aW5wdXQge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdH1cblxuXHRcdC5zdWdhci1jYWxlbmRhci1zZXR0aW5nLWxpY2Vuc2Uta2V5LXdyYXBwZXIge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdH1cblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci1saWNlbnNlLWNvdXBvbiB7XG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXG5cdFx0c3Ryb25nIHtcblx0XHRcdGNvbG9yOiAkdGV4dC10ZXh0LXN1Y2Nlc3M7XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBDYWxlbmRhciBmZWVkcyBzZXR0aW5ncyByb3cuXG4uc3VnYXItY2FsZW5kYXItc2V0dGluZy1yb3ctY2FsZW5kYXItZmVlZHMge1xuXHQuc3VnYXItY2FsZW5kYXItc2V0dGluZy1maWVsZCB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdG1heC13aWR0aDogMTAwMHB4O1xuXG5cdFx0dWwge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0d2lkdGg6IDQwMHB4O1xuXG5cdFx0XHRsaSB7XG5cdFx0XHRcdHBhZGRpbmc6IDEycHggMTVweDtcblx0XHRcdFx0bWFyZ2luOiAwIDAgMTBweDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogJHJhZGl1cy1yYWRpdXMtZmllbGQ7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRmaWVsZHMtZmllbGQtYm9yZGVyO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGxhYmVsIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE2cHg7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogNXB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlucHV0W3R5cGU9cmFkaW9dIHtcblx0XHRcdFx0XHRmbGV4LXNocmluazogMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGkge1xuXHRcdFx0XHRcdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0XHRcdFx0XHRtYXNrOiB1cmwoLi4vaW1hZ2VzL2ljb25zL3NvcnRhYmxlLWhhbmRsZS5zdmcpIGNlbnRlciA2cHggbm8tcmVwZWF0O1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LXRleHQtaWNvbjtcblx0XHRcdFx0XHR3aWR0aDogMTZweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIDAgMCBhdXRvO1xuXHRcdFx0XHRcdGN1cnNvcjogZ3JhYjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIl19 */
     1265/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3NzL2FkbWluL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL3ZlbmRvci9jaG9pY2VzL19zdHlsZXMuc2NzcyIsImFzc2V0cy9zY3NzL3ZlbmRvci9jaG9pY2VzL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL3ZlbmRvci9jaG9pY2VzL19ydGwuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19jaG9pY2VzLnNjc3MiLCJhc3NldHMvc2Nzcy92ZW5kb3IvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19nZW5lcmFsLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9faGVhZGVyLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9fdGFicy5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX2Zvcm1zLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9fbWl4aW5zLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9fYnV0dG9ucy5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX3NldHRpbmdzLXJvdy5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX3NldHRpbmdzLXJvdy1yYWRpby5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX3NldHRpbmdzLXJvdy1kYXRlLXRpbWUtZm9ybWF0LnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9fc2V0dGluZ3Mtcm93LXNlbGVjdC5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX3NldHRpbmdzLXJvdy10b2dnbGUuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19zZXR0aW5ncy1yb3ctaGVhZGluZy5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX3NldHRpbmdzLXJvdy1saWNlbnNlLWtleS5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX3NldHRpbmdzLXJvdy1jYWxlbmRhci1mZWVkcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0FBNERBO0FDOURBO0VBQ0M7RUFDQSxlQ2tCMEI7O0FEaEIxQjtFQUNDLE9DVzBCOztBRFIzQjtFQUNDLE9DTzBCO0VETjFCOztBQUdEO0VBQ0MsT0NFMEI7O0FEQzNCO0VBQ0M7O0FBR0Q7RUFDQzs7QUFJQTtBQUFBO0VBRUMsa0JDckJ5QjtFRHNCekI7RUFDQTs7QUFJRjtFQUNDOztBQUdEO0VBQ0M7O0FBSUE7RUFDQzs7QUFLRDtFQUNDOzs7QUFLSDtFQUNDOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOztBQUdEO0VBQ0M7O0FBSUY7RUFDQzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBOztBQUlBO0VBQ0M7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRjtFQUNDLGVDdEh5Qjs7QUR1SHpCO0VBQ0M7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTs7O0FBTUQ7QUFBQTtFQUNDOztBQUdEO0FBQUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxpQkMvSnlCO0VEZ0t6QjtFQUNBO0VBQ0EsT0NsS3lCO0VEbUt6QixRQ25LeUI7RURvS3pCO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7RUFFQzs7O0FBS0g7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCQ25NMkI7RURvTTNCO0VBQ0E7RUFDQTtFQUNBLGVDcEw0Qjs7O0FEdUw3QjtFQUNDO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7OztBQUtIO0VBQ0M7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBLGVDek4yQjtFRDBOM0I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCQzlPMEI7RUQrTzFCO0VBQ0EsT0NyUDBCO0VEc1AxQjtFQUNBOztBQUVBO0VBQ0Msa0JDclB5Qjs7O0FENFAxQjtFQUNDLGtCQzVQeUI7RUQ2UHpCOzs7QUFLSDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JDN1EyQjtFRDhRM0I7RUFDQTtFQUNBO0VBQ0EsMkJDOVA0QjtFRCtQNUIsNEJDL1A0QjtFRGdRNUI7RUFDQTs7QUFFQTtFQUNDOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBQUlBO0VBQ0M7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFJRjtFQUNDOztBQUVBO0VBQ0M7O0FBS0g7RUFDQzs7O0FBS0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNDOzs7QUFHRDtFQUNDOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPQ3pWMkI7O0FEMlYzQjtFQUNDOzs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQzs7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLRDtFQUNDO0VBQ0E7RUFDQTs7O0FBSUY7RUFDQzs7O0FBTUU7RUFDQzs7QUFNRjtFQUNDOztBQUtEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtEO0VBQ0M7OztBRXBjQztFQUNFO0VBQ0EsY0RnQnFCOztBQ2J2QjtFQUNFO0VBQ0E7O0FBSUo7RUFDRTtFQUNBOztBQUlBO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBTUo7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7O0FBSUE7RUFDRSxjRHJCcUI7RUNzQnJCO0VBQ0E7RUFDQTs7QUFJSjtFQUVJO0lBQ0U7SUFDQTtJQUNBOztFQUNBO0lBQ0U7SUFDQTs7OztBQzFEVjtFQUNDO0VBQ0E7O0FBRUE7RUFDQyxXSmlIaUI7O0FJOUdsQjtFQUNDOztBQUVBO0VBQ0M7O0FBS0Q7RUFDQzs7QUFJRjtFQUNDOztBQzBrQkU7RURqbUJKO0lBMkJFOzs7QUFJRDtFQUNDOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9GbkN5QjtFRW9DekI7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTs7QUFLRDtFQUNDO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOztBQU9GO0FBQUE7RUFDQyxjRnJEeUI7RUVzRHpCO0VBQ0E7O0FBS0Q7RUFDQyxjRjdEeUI7RUU4RHpCO0VBQ0E7O0FBS0Q7RUFDQyxjRnJFeUI7RUVzRXpCO0VBQ0E7RUFDQTs7QUFLRDtFQUNDO0VBQ0E7RUFDQTs7O0FBS0g7RUFDQzs7O0FFakdEO0VBQ0M7RUFDQTs7QUFFQTtFQUpEO0lBS0U7Ozs7QUFLRDtFQUREO0lBRUU7Ozs7QUFLRjtFQUNDOztBQUVBO0VBQ0M7OztBQUtGO0VBQ0M7O0FBRUE7QUFBQTtBQUFBO0VBR0M7O0FBR0Q7RUFDQztFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLE9OekNpQjs7QU00Q2xCO0VBQ0M7O0FBSUE7RUFDQztFQUNBO0VBQ0E7O0FBRUE7RUFDQzs7QUFNSDtFQUNDOzs7QUFTRTtBQUFBO0VBRUM7O0FBR0Q7RUFDQzs7QUFHRDtFQUNDOztBQUdEO0VBQ0M7OztBQ3RHTDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUZ5bEJHO0VFL2xCSjtJQVNFOzs7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQSxrQlBZcUI7RU9YckI7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTs7QUZ1a0JFO0VFMWtCSDtJQU1FOzs7QUFJRjtFQUNDO0VBQ0EsT1BaaUI7RU9hakI7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBLGtCUHZCZ0I7RU93QmhCO0VBQ0E7RUFDQTs7QUFHRDtFQUVDLE9QbENnQjs7QU9vQ2hCO0VBQ0Msa0JQckNlOzs7QU8yQ25CO0VBQ0M7SUFDQzs7O0FDaEVGO0VBQ0M7RUFDQTtFQUNBLEtSSVk7RVFIWjtFQUNBO0VBQ0Esa0JSd0JxQjtFUXZCckI7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9STmdCO0VRT2hCOztBQUVBO0VBR0MsT1JaZTtFUWFmLGNSUmU7O0FRV2hCO0VBQ0MsY1J4Qm9COztBUTJCckI7RUFDQzs7O0FDOEZKO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPVHRIa0I7RVN1SGxCO0VBQ0E7RUFDQTs7QUFFQTtFQ3JJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRGlJQztFQUVDO0VBQ0E7O0FBSUE7RUFDQyxrQlRySWU7O0FTMEloQjtFQUNDOztBQUtEO0VBQ0Msa0JUekprQjs7QVMySmxCO0VBQ0M7RUFDQTs7QUFLRDtFQUNDLGtCVGpLaUI7O0FTc0tsQjtFQUNDOztBQU1GO0VBQ0M7O0FBS0E7RUFDQzs7QUFNSjtBQUFBO0VBRUM7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7O0FBR0Q7RUFDQyxPVGpNaUI7RVNrTWpCLFdUbEdrQjtFU21HbEI7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7QUFBQTtFQUVDOztBQUdEO0FBQUE7RUFFQzs7QUFHRDtFQUNDLGtCVGxOaUI7RVNtTmpCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0MsWVRsTm1CO0VTbU5uQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlGO0FBQUE7QUFBQTtFQUdDOzs7QUUvUEY7RUFDQztFQUNBO0VBQ0EsZVhEVztFV0VYO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNDO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDLGtCWDFDdUI7RVcyQ3ZCLGNYM0N1QjtFVzRDdkI7O0FBRUE7RUFDQyxrQlg5Q3NCO0VXK0N0QixjWC9Dc0I7RVdnRHRCOztBQUdEO0VBQ0M7RUFDQSxjWGpDb0I7RVdrQ3BCOzs7QUFJRjtFQUNDLGtCWDFEcUI7RVcyRHJCLGNYM0RxQjtFVzREckI7O0FBRUE7RUFDQyxrQlg3RG9CO0VXOERwQixjWDlEb0I7RVcrRHBCOztBQUdEO0VBQ0M7RUFDQSxjWG5Eb0I7RVdvRHBCOzs7QUFJRjtFQUNDLGtCWDFEaUI7RVcyRGpCLGNYcEVrQjtFV3FFbEI7O0FBRUE7RUFDQyxrQlhoRWdCO0VXaUVoQixjWDNFaUI7RVc0RWpCOztBQUdEO0VBQ0M7OztBQUlGO0VBQ0Msa0JYN0V3QjtFVzhFeEI7RUFDQTs7QUFFQTtFQUNDO0VBQ0EsY1gvRW9CO0VXZ0ZwQjs7O0FBSUY7RUFDQyxrQlgzRnNCO0VXNEZ0QjtFQUNBOztBQUVBO0VBQ0M7RUFDQSxjWDNGb0I7RVc0RnBCOzs7QUMxSEY7RUFDQztFQUNBO0VBQ0E7O0FBRUE7RUFDQzs7QUFHRDtFQUNDLGdCWkhXOztBS3lsQlQ7RU9obUJKO0lBY0U7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FQMmtCRTtFTy9rQkg7SUFPRTtJQUNBO0lBQ0E7OztBQUdEO0VBQ0MsT1pkZ0I7RVllaEI7RUFDQTtFQUNBLEtaNUJVO0VZNkJWO0VBQ0E7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLE9aMUJpQjs7QUs4a0JmO0VPempCSDtJQVFFO0lBQ0E7OztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0EsT1p4Q2lCOztBWTBDakI7RUFDQzs7QUFHRDtFQUNDLE9aNUNnQjtFWTZDaEI7O0FBS0Y7QUFBQTtBQUFBO0VIckVBLGtCVDhCcUI7RVM3QnJCO0VBQ0E7RUFDQTtFQUNBLE9UWWtCO0VTWGxCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUNDLE9URWlCOztBU0NsQjtBQUFBO0FBQUE7RUFDQztFQUNBO0VBQ0E7O0FBR0Q7QUFBQTtBQUFBO0VBQ0M7O0FKd2tCRTtFTzNoQkg7QUFBQTtBQUFBO0lIekNDOzs7QUcrQ0Q7RUgzRUEsa0JUOEJxQjtFUzdCckI7RUFDQTtFQUNBO0VBQ0EsT1RZa0I7RVNYbEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUF3QkE7RUFDQTtFQUNBO0VBQ0E7O0FBekJBO0VBQ0MsT1RFaUI7O0FTQ2xCO0VBQ0M7RUFDQTtFQUNBOztBQUdEO0VBQ0M7O0FKd2tCRTtFT3JoQkg7SUgvQ0M7OztBR21ERDtFSHJDQTtFQUNBOztBQUVBO0VBQ0Msa0JUbkNvQjs7QVNzQ3JCO0VBQ0MsY1R2Q29COztBUzBDckI7RUFDQyxjVDNDb0I7RVM0Q3BCOztBQUdEO0VBQ0MsY1RoRG9COztBU2tEcEI7RUFDQyxjVGpEbUI7O0FTbURuQjtFQUNDLGtCVHBEa0I7O0FTd0RwQjtFQUNDOztBQUlGO0VBQ0M7RUFDQTs7QUdPRDtFSEZBO0VBQ0E7O0FBRUE7RUFDQyxjVDFFb0I7O0FTNkVyQjtFQUNDLGNUOUVvQjtFUytFcEI7O0FBR0Q7RUFDQyxrQlRuRm9CO0VTb0ZwQixjVHBGb0I7O0FTc0ZwQjtFQUNDO0VBQ0E7RUFDQSxrQlR0RW1CO0VTdUVuQjtFQUNBO0VBQ0E7O0FBR0Q7RUFDQyxjVDlGbUI7RVMrRm5CLGtCVC9GbUI7O0FTa0dwQjtFQUNDOztBQUlGO0VBQ0M7O0FBR0M7RUFDQzs7O0FJeEhIO0VBQ0M7O0FBRUE7RUFDQztFQUNBOztBUjBsQkM7RVE1bEJGO0lBS0U7OztBQUlGO0VBQ0M7RUFDQTtFQUNBLGNiVlU7O0FhWVY7RUFDQzs7QVI2a0JBO0VRL2xCSDtJQXVCRTtJQUNBO0lBQ0E7SUFDQTs7OztBQ3ZCRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBOztBQUVBO0VBQ0M7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7OztBQ2pDRDtFQUNDOzs7QUNERDtFQUNDOzs7QUNGRjtFQUNDO0VBQ0E7O0FaOGxCRztFWWhtQko7SUFLRTs7O0FBR0Q7RUFDQztFQUNBLFdqQjhHbUI7RWlCN0duQjtFQUNBO0VBQ0EsT2pCRWlCOztBaUJDbEI7RUFDQzs7QUFHRDtFQUNDO0VBQ0E7O0FBRUE7RUFDQztFQUNBLE9qQlZnQjs7O0FrQmhCbEI7RUFDQzs7QUFHRDtFQUNDOztBQUVBO0VBQ0M7O0FBR0Q7RUFDQzs7QUFJRjtFQUNDOztBQUVBO0VBQ0MsT2xCTXNCOzs7QW1CekJ4QjtFQUNDO0VBQ0E7O0FBRUE7RUFDQztFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBLGVuQlZRO0VtQldSO0VBQ0EsWW5CZ0JrQjtFbUJmbEI7RUFDQTs7QUFFQTtFQUNDOztBQUdEO0VBQ0M7RUFDQTs7QWR3a0JEO0VjMWtCQTtJQUtFOzs7QUFJRjtFQUNDOztBQUdEO0VBQ0M7RUFDQTtFQUNBLGtCbkJoQmM7RW1CaUJkO0VBQ0E7RUFDQTtFQUNBIiwiZmlsZSI6ImFzc2V0cy9jc3MvYWRtaW4tc2V0dGluZ3MuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQWRtaW4gdmFyaWFibGVzLlxuXG4vKiBWYXJpYWJsZXMgICovXG4kcmFkaXVzLW1kOiA0cHg7XG4kcmFkaXVzLWxnOiA2cHg7XG4kcmFkaXVzLXNtOiAzcHg7XG4kc3BhY2luZy1zbTogMTBweDtcbiRzcGFjaW5nLW1kOiAyMHB4O1xuJHNwYWNpbmctbGc6IDMwcHg7XG4kc3BhY2luZy14bDogNTBweDtcbiRjb2xvci1icmFuZC1vcmFuZ2UtNTA6ICNGRjg4NDVGRjtcbiRjb2xvci1icmFuZC1vcmFuZ2UtNzA6ICNDQjZEMzdGRjtcbiRjb2xvci1icmFuZC1ibHVlLTUwOiAjMjI3MUIxRkY7XG4kY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtNTA6ICMwMEEwRDJGRjtcbiRjb2xvci1icmFuZC1ibHVlLTcwOiAjMEE0Qjc4RkY7XG4kY29sb3ItbmV1dHJhbC0xMDA6ICMxMDE1MTc7XG4kY29sb3ItbmV1dHJhbC05MDogIzFEMjMyN0ZGO1xuJGNvbG9yLW5ldXRyYWwtODA6ICMyQzMzMzhGRjtcbiRjb2xvci1uZXV0cmFsLTcwOiAjM0M0MzRBRkY7XG4kY29sb3ItbmV1dHJhbC02MDogIzUwNTc1RUZGO1xuJGNvbG9yLW5ldXRyYWwtNTA6ICM2NDY5NzBGRjtcbiRjb2xvci1uZXV0cmFsLTMwOiAjOEM4Rjk0RkY7XG4kY29sb3ItbmV1dHJhbC0xMDogI0MzQzRDN0ZGO1xuJGNvbG9yLW5ldXRyYWwtMjA6ICNBN0FBQURGRjtcbiRjb2xvci1uZXV0cmFsLTU6ICNEQ0RDREVGRjtcbiRjb2xvci11dGlsaXR5LXJlZC01MDogI0Q2MzYzOEZGO1xuJGNvbG9yLXV0aWxpdHkteWVsbG93LTUwOiAjREJBNjE3RkY7XG4kY29sb3ItdXRpbGl0eS1ncmVlbi01MDogIzAwOEEyMEZGO1xuJHJhZGl1cy14bDogOXB4O1xuJGNvbG9yLW5ldXRyYWwtMzogI0YwRjBGMUZGO1xuJGNvbG9yLW5ldXRyYWwtMDogI0Y2RjdGN0ZGO1xuJGNvbG9yLXV0aWxpdHktd2hpdGU6ICNGRkZGRkZGRjtcbiRjb2xvci1icmFuZC1vcmFuZ2UtMDogI0ZGRjNFQ0ZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTA6ICNFNUY1RkFGRjtcbiRjb2xvci11dGlsaXR5LWdyZWVuLTA6ICNFREZBRUZGRjtcbiRjb2xvci11dGlsaXR5LXJlZC0wOiAjRkNGMEYxRkY7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTMwOiAjRkZBMDZBRkY7XG4kY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtMzA6ICM2NkM2RTRGRjtcbiRjb2xvci11dGlsaXR5LWdyZWVuLTMwOiAjMDBCQTM3RkY7XG4kY29sb3ItdXRpbGl0eS1yZWQtMzA6ICNGODYzNjhGRjtcbiRjb2xvci13b3JkcHJlc3MtYmx1ZTogIzIyNzFCMUZGO1xuJGNvbG9yLXV0aWxpdHktZ3JheS0wOiAjRjZGNkY2RkY7XG4kY29sb3ItYWNjZW50LW9yYW5nZS01MDogI0ZFOUU2OEZGO1xuJGNvbG9yLWFjY2VudC1vcmFuZ2UtMDogI0ZGRjBFOEZGO1xuJGNvbG9yLWFjY2VudC1yZWQtNTA6ICNGRjczNjhGRjtcbiRjb2xvci1hY2NlbnQtcmVkLTA6ICNGRkVBRThGRjtcbiRjb2xvci1hY2NlbnQtcGluay01MDogI0RGNUI5QUZGO1xuJGNvbG9yLWFjY2VudC1waW5rLTA6ICNGQUU2RjBGRjtcbiRjb2xvci1hY2NlbnQtcHVycGxlLTUwOiAjODY1OUMyRkY7XG4kY29sb3ItYWNjZW50LXB1cnBsZS0wOiAjRURFNkY2RkY7XG4kY29sb3ItYWNjZW50LWJsdWUtNTA6ICM1Njg1QkRGRjtcbiRjb2xvci1hY2NlbnQtYmx1ZS0wOiAjRTZFREY1RkY7XG4kY29sb3ItYWNjZW50LXRlYWwtNTA6ICM0QkI5QTdGRjtcbiRjb2xvci1hY2NlbnQtdGVhbC0wOiAjRTRGNUYyRkY7XG4kY29sb3ItYWNjZW50LWdyZWVuLTUwOiAjNTdENDY2RkY7XG4kY29sb3ItYWNjZW50LWdyZWVuLTA6ICNFNkY5RThGRjtcbiRjb2xvci1hY2NlbnQteWVsbG93LTUwOiAjRkZDNDY5RkY7XG4kY29sb3ItYWNjZW50LXllbGxvdy0wOiAjRkZGNkU5RkY7XG4kY2FsZW5kYXItdGV4dC1wcmltYXJ5OiAjMDAwMDAwRDk7XG4kY2FsZW5kYXItdGV4dC10ZXJ0aWFyeTogIzAwMDAwMDY2O1xuJGNhbGVuZGFyLWJhY2tncm91bmQ6ICMwMDAwMDAwODtcblxuLyogQWxpYXNlcyAgKi9cbiR0ZXh0LXRleHQtcHJpbWFyeTogJGNvbG9yLW5ldXRyYWwtODA7XG4kdGV4dC10ZXh0LXNlY29uZGFyeTogJGNvbG9yLW5ldXRyYWwtNjA7XG4kdGV4dC10ZXh0LXRlcnRpYXJ5OiAkY29sb3ItbmV1dHJhbC01MDtcbiR0ZXh0LXRleHQtaGVhZGluZzogJGNvbG9yLW5ldXRyYWwtOTA7XG4kdGV4dC10ZXh0LXRpdGxlOiAkY29sb3ItbmV1dHJhbC0xMDA7XG4kYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtb3JhbmdlLTUwO1xuJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtYmx1ZS01MDtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1iYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC0wO1xuJGZpZWxkcy1maWVsZC1ib3JkZXI6ICRjb2xvci1uZXV0cmFsLTMwO1xuJHN1cmZhY2Utc3VyZmFjZS1ib3JkZXI6ICRjb2xvci1uZXV0cmFsLTEwO1xuJHN1cmZhY2Utc3VyZmFjZS1kaXZpZGVyOiAkY29sb3ItbmV1dHJhbC01O1xuJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC0taG92ZXI6ICRjb2xvci1icmFuZC1vcmFuZ2UtNzA7XG4kYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyOiAkY29sb3ItYnJhbmQtYmx1ZS03MDtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXI6ICRjb2xvci1uZXV0cmFsLTMwO1xuJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktdGV4dDogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG4kYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LXRleHQ6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LXRleHQ6ICRjb2xvci1uZXV0cmFsLTYwO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlci0taG92ZXI6ICRjb2xvci1uZXV0cmFsLTYwO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQtLS1ob3ZlcjogJGNvbG9yLW5ldXRyYWwtMztcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0LS1ob3ZlcjogJGNvbG9yLW5ldXRyYWwtODA7XG4kYnV0dG9ucy1idXR0b24td3AtcHJpbWFyeS1iYWNrZ3JvdW5kOiAjMjI3MUIxO1xuJHRleHQtdGV4dC1saW5rOiAkY29sb3ItYnJhbmQtYmx1ZS01MDtcbiR0ZXh0LXRleHQtc3VjY2VzczogJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG4kdGV4dC10ZXh0LWVycm9yOiAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG4kdGV4dC10ZXh0LXdhcm5pbmc6ICRjb2xvci11dGlsaXR5LXllbGxvdy01MDtcbiRmaWVsZHMtZmllbGQtYm9yZGVyLS1mb2N1czogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kZmllbGRzLWZpZWxkLWJvcmRlci1lcnJvcjogJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuJGZpZWxkcy1maWVsZC1jaG9pY2Utb2ZmOiAkY29sb3ItbmV1dHJhbC0zMDtcbiRmaWVsZHMtZmllbGQtY2hvaWNlLW9uOiAkY29sb3ItYnJhbmQtYmx1ZS01MDtcbiRiYWRnZXMtYmFkZ2Utb3JhbmdlLXRleHQ6ICRjb2xvci1icmFuZC1vcmFuZ2UtMzA7XG4kYmFkZ2VzLWJhZGdlLW9yYW5nZS1iYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtb3JhbmdlLTA7XG4kYmFkZ2VzLWJhZGdlLWJsdWUtYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTA7XG4kYmFkZ2VzLWJhZGdlLWJsdWUtdGV4dDogJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTMwO1xuJGJhZGdlcy1iYWRnZS1ncmVlbi1iYWNrZ3JvdW5kOiAkY29sb3ItdXRpbGl0eS1ncmVlbi0wO1xuJGJhZGdlcy1iYWRnZS1ncmVlbi10ZXh0OiAkY29sb3ItdXRpbGl0eS1ncmVlbi0zMDtcbiRiYWRnZXMtYmFkZ2UtcmVkLWJhY2tncm91bmQ6ICRjb2xvci11dGlsaXR5LXJlZC0wO1xuJGJhZGdlcy1iYWRnZS1yZWQtdGV4dDogJGNvbG9yLXV0aWxpdHktcmVkLTMwO1xuJGJhZGdlcy1iYWRnZS1uZXV0cmFsLWJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLTU7XG4kYmFkZ2VzLWJhZGdlLW5ldXRyYWwtdGV4dDogJGNvbG9yLW5ldXRyYWwtMzA7XG4kcmFkaXVzLXJhZGl1cy1idXR0b246ICRyYWRpdXMtbWQ7XG4kcmFkaXVzLXJhZGl1cy1maWVsZDogJHJhZGl1cy1tZDtcbiRyYWRpdXMtcmFkaXVzLWJhZGdlOiAkcmFkaXVzLXNtO1xuJHN1cmZhY2Utc3VyZmFjZS1ib3JkZXItcHJpbWFyeTogJGNvbG9yLWJyYW5kLW9yYW5nZS01MDtcbiRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtMztcbiRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG4kdGV4dC10ZXh0LWljb246ICRjb2xvci1uZXV0cmFsLTIwO1xuJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLWxpZ2h0OiAkY29sb3ItdXRpbGl0eS1ncmF5LTA7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vZmYtLWhvdmVyOiAkY29sb3ItbmV1dHJhbC01MDtcbiRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3ZlcjogJGNvbG9yLWJyYW5kLWJsdWUtNzA7XG5cbi8vIEZvbnQgc2l6ZXMuXG4kdGV4dC1mb250LXNpemUtMnhzOiAxMXB4O1xuJHRleHQtZm9udC1zaXplLXhzOiAxMnB4O1xuJHRleHQtZm9udC1zaXplLXNzOiAxM3B4O1xuJHRleHQtZm9udC1zaXplLXM6IDE0cHg7XG4kdGV4dC1mb250LXNpemUtbTogMTZweDtcbiR0ZXh0LWZvbnQtc2l6ZS1sOiAxOHB4O1xuJHRleHQtZm9udC1zaXplLWxsOiAyMHB4O1xuJHRleHQtZm9udC1zaXplLWxsbDogMjJweDtcbiR0ZXh0LWZvbnQtc2l6ZS14bDogMjRweDtcbiR0ZXh0LWZvbnQtc2l6ZS14eGw6IDI4cHg7XG5cbi8vIFRyYW5zaXRpb25zLlxuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tc2xvd2VzdDogLjUwcztcbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLXNsb3dlcjogLjQwcztcbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLXNsb3c6IC4yNXM7XG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1ub3JtYWw6IC4xNXM7XG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1mYXN0OiAuMDVzO1xuIiwiLiN7JGNob2ljZXMtc2VsZWN0b3J9IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW4tYm90dG9tOiAkY2hvaWNlcy1ndXR0ZXJpbmc7XG5cblx0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcblx0XHRjb2xvcjogJGNvbG9yX3BsYWNlaG9sZGVyO1xuXHR9XG5cblx0OjotbW96LXBsYWNlaG9sZGVyIHtcblx0XHRjb2xvcjogJGNvbG9yX3BsYWNlaG9sZGVyO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblxuXHQ6OnBsYWNlaG9sZGVyIHtcblx0XHRjb2xvcjogJGNvbG9yX3BsYWNlaG9sZGVyO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuXG5cdCY6bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG5cdCYuaXMtZGlzYWJsZWQge1xuXHRcdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5uZXIsXG5cdFx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbnB1dCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY2hvaWNlcy1iZy1jb2xvci1kaXNhYmxlZDtcblx0XHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdFx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQmIFtoaWRkZW5dIHtcblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQqIHtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cblx0Ji5pcy1vcGVuIHtcblx0XHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lubmVyIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6ICRjaG9pY2VzLWJvcmRlci1yYWRpdXMgJGNob2ljZXMtYm9yZGVyLXJhZGl1cyAwIDAgO1xuXHRcdH1cblx0fVxuXG5cdCYuaXMtb3Blbi5pcy1mbGlwcGVkIHtcblx0XHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lubmVyIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDAgMCAkY2hvaWNlcy1ib3JkZXItcmFkaXVzICRjaG9pY2VzLWJvcmRlci1yYWRpdXM7XG5cdFx0fVxuXHR9XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfVtkYXRhLXR5cGUqPVwic2VsZWN0LW9uZVwiXSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblxuXHRpbnB1dC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5wdXQge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KSAhaW1wb3J0YW50O1xuXHRcdG1hcmdpbjogMTBweCAhaW1wb3J0YW50O1xuXHRcdHBhZGRpbmc6IDdweCAxMnB4ICFpbXBvcnRhbnQ7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRjaG9pY2VzLWtleWxpbmUtY29sb3IgIWltcG9ydGFudDtcblx0XHRib3JkZXItcmFkaXVzOiAkY2hvaWNlcy1ib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGNob2ljZXMtZm9jdXNlZC1jb2xvciAhaW1wb3J0YW50O1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRjaG9pY2VzLWZvY3VzZWQtY29sb3IgIWltcG9ydGFudDtcblx0XHRcdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblxuXHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2J1dHRvbiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCRjaG9pY2VzLWJ1dHRvbi1pY29uLXBhdGggKyAnL2Nyb3NzLWludmVyc2Uuc3ZnJyk7XG5cdFx0cGFkZGluZzogMDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDhweDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0bWFyZ2luLXRvcDogLTEwcHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAyNXB4O1xuXHRcdGhlaWdodDogMjBweDtcblx0XHR3aWR0aDogMjBweDtcblx0XHRib3JkZXItcmFkaXVzOiAxMGVtO1xuXHRcdG9wYWNpdHk6IC41O1xuXG5cdFx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRjaG9pY2VzLWhpZ2hsaWdodC1jb2xvcjtcblx0XHR9XG5cdH1cblxuXHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2l0ZW1bZGF0YS12YWx1ZT0nJ10gLiN7JGNob2ljZXMtc2VsZWN0b3J9X19idXR0b24ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGhlaWdodDogMDtcblx0XHR3aWR0aDogMDtcblx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdGJvcmRlci1jb2xvcjogJGNob2ljZXMtdGV4dC1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItd2lkdGg6IDVweDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDExLjVweDtcblx0XHR0b3A6IDUwJTtcblx0XHRtYXJnaW4tdG9wOiAtMi41cHg7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdH1cblxuXHQmLmlzLW9wZW46YWZ0ZXIge1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGNob2ljZXMtdGV4dC1jb2xvciB0cmFuc3BhcmVudDtcblx0XHRtYXJnaW4tdG9wOiAtNy41cHg7XG5cdH1cblxuXHQmW2Rpcj1cInJ0bFwiXSB7XG5cdFx0JjphZnRlciB7XG5cdFx0XHRsZWZ0OiAxMS41cHg7XG5cdFx0XHRyaWdodDogYXV0bztcblx0XHR9XG5cblx0XHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2J1dHRvbiB7XG5cdFx0XHRyaWdodDogYXV0bztcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRtYXJnaW4tbGVmdDogMjVweDtcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHR9XG5cdH1cbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9W2RhdGEtdHlwZSo9XCJzZWxlY3QtbXVsdGlwbGVcIl0ge1xuXHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lubmVyIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiAkY2hvaWNlcy1ndXR0ZXJpbmc7XG5cdFx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbnB1dCB7XG5cdFx0XHRwYWRkaW5nOiAwIDRweCFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRoZWlnaHQ6IDA7XG5cdFx0d2lkdGg6IDA7XG5cdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRib3JkZXItY29sb3I6ICRjaG9pY2VzLXRleHQtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiA1cHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAxMS41cHg7XG5cdFx0dG9wOiA1MCU7XG5cdFx0bWFyZ2luLXRvcDogLTIuNXB4O1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR9XG5cblx0Ji5pcy1vcGVuOmFmdGVyIHtcblx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjaG9pY2VzLXRleHQtY29sb3IgdHJhbnNwYXJlbnQ7XG5cdFx0bWFyZ2luLXRvcDogLTcuNXB4O1xuXHR9XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfVtkYXRhLXR5cGUqPVwic2VsZWN0LW11bHRpcGxlXCJdLFxuLiN7JGNob2ljZXMtc2VsZWN0b3J9W2RhdGEtdHlwZSo9XCJ0ZXh0XCJdIHtcblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbm5lciB7XG5cdFx0Y3Vyc29yOiB0ZXh0O1xuXHR9XG5cblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19idXR0b24ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRtYXJnaW4tbGVmdDogNXB4O1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCRjaG9pY2VzLWJ1dHRvbi1pY29uLXBhdGggKyAnL2Nyb3NzLnN2ZycpO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogJGNob2ljZXMtYnV0dG9uLWRpbWVuc2lvbjtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0d2lkdGg6ICRjaG9pY2VzLWJ1dHRvbi1kaW1lbnNpb247XG5cdFx0aGVpZ2h0OiAkY2hvaWNlcy1idXR0b24tZGltZW5zaW9uO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdG9wYWNpdHk6IC43NTtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXHR9XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5uZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY2hvaWNlcy1iZy1jb2xvcjtcblx0cGFkZGluZzogNnB4IDZweCAwO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY2hvaWNlcy1rZXlsaW5lLWNvbG9yO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRib3JkZXItcmFkaXVzOiAkY2hvaWNlcy1ib3JkZXItcmFkaXVzO1xufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2xpc3Qge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmctbGVmdDogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9X19saXN0LS1zaW5nbGUge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDAgMTZweCA0cHggNHB4O1xuXHRmb250LXNpemU6IDAuODc1ZW07XG5cblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pdGVtIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRjb2xvcjogIzJjMzMzODtcblxuXHRcdCZbZGF0YS12YWx1ZT0nJ10ge1xuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHR9XG5cdH1cbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9X19saXN0LS1tdWx0aXBsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2l0ZW0ge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ncmlkO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGNob2ljZXMtYm9yZGVyLXJhZGl1cy1pdGVtO1xuXHRcdHBhZGRpbmc6IDRweCA3cHg7XG5cdFx0Zm9udC1zaXplOiAuNzVlbTtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdG1hcmdpbjogMCA2cHggNHB4IDA7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNob2ljZXMtcHJpbWFyeS1jb2xvcjtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkY2hvaWNlcy1wcmltYXJ5LWNvbG9yO1xuXHRcdGNvbG9yOiAkY2hvaWNlcy1iZy1jb2xvcjtcblx0XHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGNhbGMoICN7JGNob2ljZXMtYnV0dG9uLWRpbWVuc2lvbn0gKyA1cHggKTtcblxuXHRcdCYuaXMtaGlnaGxpZ2h0ZWQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNob2ljZXMtaGlnaGxpZ2h0LWNvbG9yO1xuXHRcdH1cblx0fVxufVxuXG4uaXMtZGlzYWJsZWQge1xuXHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2xpc3QtLW11bHRpcGxlIHtcblx0XHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2l0ZW0ge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNob2ljZXMtZGlzYWJsZWQtY29sb3I7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkY2hvaWNlcy1kaXNhYmxlZC1jb2xvcjtcblx0XHR9XG5cdH1cbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9X19saXN0LS1kcm9wZG93biB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHotaW5kZXg6IDEwMTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNob2ljZXMtYmctY29sb3ItZHJvcGRvd247XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjaG9pY2VzLWtleWxpbmUtY29sb3I7XG5cdHRvcDogMTAwJTtcblx0bWFyZ2luLXRvcDogLTFweDtcblx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGNob2ljZXMtYm9yZGVyLXJhZGl1cztcblx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRjaG9pY2VzLWJvcmRlci1yYWRpdXM7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19saXN0IHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWF4LWhlaWdodDogMzAwcHg7XG5cdFx0b3ZlcmZsb3c6IGF1dG87XG5cdFx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXHRcdHdpbGwtY2hhbmdlOiBzY3JvbGwtcG9zaXRpb247XG5cdH1cblxuXHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2l0ZW0ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0Zm9udC1zaXplOiAuODc1ZW07XG5cdH1cblxuXHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2l0ZW0tLXNlbGVjdGFibGUge1xuXHRcdEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IGF0dHIoZGF0YS1zZWxlY3QtdGV4dCk7XG5cdFx0XHRcdGZvbnQtc2l6ZTogLjc1ZW07XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHJpZ2h0OiAxMHB4O1xuXHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYuaXMtaGlnaGxpZ2h0ZWQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdG9wYWNpdHk6IC41O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fcGxhY2Vob2xkZXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLmlzLWZsaXBwZWQge1xuXHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2xpc3QtLWRyb3Bkb3duIHtcblx0XHR0b3A6IGF1dG87XG5cdFx0Ym90dG9tOiAxMDAlO1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogLTFweDtcblx0XHRib3JkZXItcmFkaXVzOiAkY2hvaWNlcy1ib3JkZXItcmFkaXVzICRjaG9pY2VzLWJvcmRlci1yYWRpdXMgMCAwO1xuXHR9XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faXRlbSB7XG5cdGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9X19pdGVtLS1zZWxlY3RhYmxlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2l0ZW0tLWRpc2FibGVkIHtcblx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdG9wYWNpdHk6IC41O1xufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2hlYWRpbmcge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IC43NWVtO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgbGlnaHRlbigkY2hvaWNlcy1rZXlsaW5lLWNvbG9yLCAxNSUpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgbGlnaHRlbigkY2hvaWNlcy1rZXlsaW5lLWNvbG9yLCAxNSUpO1xuXHRjb2xvcjogJGNvbG9yX2hlYWRpbmc7XG5cblx0LmNob2ljZXNfX2dyb3VwW2RhdGEtdmFsdWU9XCJoaWRkZW5cIl0gPiAmIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fYnV0dG9uIHtcblx0dGV4dC1pbmRlbnQ6IC05OTk5cHg7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0YXBwZWFyYW5jZTogbm9uZTtcblx0Ym9yZGVyOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lucHV0IHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0bWFyZ2luOiAwIDAgNHB4IDAgIWltcG9ydGFudDtcblx0Ym9yZGVyOiAwICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmc6IDJweCA0cHggIWltcG9ydGFudDtcblx0aGVpZ2h0OiBhdXRvIWltcG9ydGFudDtcblxuXHQvLyBUaGlzIGlzIGN1c3RvbSBzdHlsZXMgZm9yIGhpZGluZyBhIGlucHV0IG9uIGNoYW5nZSBldmVudC5cblx0Ji0taGlkZGVuIHtcblx0XHRjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCkgIWltcG9ydGFudDtcblx0XHRjbGlwLXBhdGg6IGluc2V0KDUwJSkgIWltcG9ydGFudDtcblx0XHRoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuXHRcdG1hcmdpbjogLTFweCAhaW1wb3J0YW50O1xuXHRcdG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcblx0XHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdFx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdFx0d2lkdGg6IDFweCAhaW1wb3J0YW50O1xuXHRcdG1pbi13aWR0aDogYXV0byAhaW1wb3J0YW50O1xuXHRcdHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9IC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5uZXIge1xuXHRpbnB1dC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5wdXQ6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblx0XHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9X19wbGFjZWhvbGRlciB7XG5cdG9wYWNpdHk6IC41O1xufVxuXG4jd3Bmb3Jtcy1hZG1pbi1mb3JtLWVtYmVkLXdpemFyZCB7XG5cdC4jeyRjaG9pY2VzLXNlbGVjdG9yfSB7XG5cdFx0Ji5pcy1vcGVuLmlzLWZsaXBwZWQge1xuXHRcdFx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbm5lciB7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6ICRjaG9pY2VzLWJvcmRlci1yYWRpdXMgJGNob2ljZXMtYm9yZGVyLXJhZGl1cyAwIDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmlzLWZsaXBwZWQge1xuXHRcdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdC0tZHJvcGRvd24ge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogaW5oZXJpdDtcblx0XHR9XG5cdH1cblxuXHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1bZGF0YS10eXBlKj1cInNlbGVjdC1vbmVcIl0ge1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0YmFja2dyb3VuZDogI2ZmZmZmZiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVMtQVNDSUksJTNDc3ZnJTIwd2lkdGglM0QlMjIyMCUyMiUyMGhlaWdodCUzRCUyMjIwJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk01JTIwNmw1JTIwNSUyMDUtNSUyMDIlMjAxLTclMjA3LTctNyUyMDItMXolMjIlMjBmaWxsJTNEJTIyJTIzNzc3JTIyJTJGJTNFJTNDJTJGc3ZnJTNFKSBuby1yZXBlYXQgY2VudGVyO1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiAxNnB4IDE2cHg7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHR3aWR0aDogMTZweDtcblx0XHRcdGhlaWdodDogMTZweDtcblx0XHRcdHRvcDogMTNweDtcblx0XHRcdHJpZ2h0OiA4cHg7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdH1cblx0fVxuXG5cdC4jeyRjaG9pY2VzLXNlbGVjdG9yfVtkYXRhLXR5cGUqPVwic2VsZWN0LW9uZVwiXS5pcy1mbGlwcGVkIHtcblx0XHQmOmFmdGVyIHtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBTZWxlY3RvcnMuXG4kY2hvaWNlcy1zZWxlY3RvcjogICAgICdjaG9pY2VzJyAhZGVmYXVsdDtcbiRjaG9pY2VzLXJ0bC1zZWxlY3RvcjogJ2JvZHkucnRsJyAhZGVmYXVsdDtcblxuLy8gQ29sb3JzLlxuJHRleHQtc2Vjb25kYXJ5OiAgICAgICAgICAgICM1MDU3NWUgIWRlZmF1bHQ7XG4kY2hvaWNlcy1iZy1jb2xvcjogICAgICAgICAgI2ZmZmZmZiAhZGVmYXVsdDtcbiRjaG9pY2VzLWJnLWNvbG9yLWRpc2FibGVkOiAjYmJiYmJiICFkZWZhdWx0O1xuJGNob2ljZXMtYmctY29sb3ItZHJvcGRvd246ICRjaG9pY2VzLWJnLWNvbG9yICFkZWZhdWx0O1xuJGNob2ljZXMtdGV4dC1jb2xvcjogICAgICAgIGN1cnJlbnRDb2xvciAhZGVmYXVsdDtcbiRjaG9pY2VzLWtleWxpbmUtY29sb3I6ICAgICAjOGM4Zjk0ICFkZWZhdWx0O1xuJGNob2ljZXMtcHJpbWFyeS1jb2xvcjogICAgICMwMzZhYWIgIWRlZmF1bHQ7XG4kY2hvaWNlcy1kaXNhYmxlZC1jb2xvcjogICAgI2JiYmJiYiAhZGVmYXVsdDtcbiRjaG9pY2VzLWhpZ2hsaWdodC1jb2xvcjogICAkY2hvaWNlcy1wcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNob2ljZXMtZm9jdXNlZC1jb2xvcjogICAgICMwNTZhYWIgIWRlZmF1bHQ7XG4kY2hvaWNlcy1kcm9wZG93bi1jb2xvcjogICAgIzc3Nzc3NztcbiRjb2xvcl9wbGFjZWhvbGRlcjogICAgICAgICAjOTk5OTk5O1xuJGNvbG9yX2hlYWRpbmc6ICAgICAgICAgICAgICNhNmE2YTY7XG5cbi8vIFNpemluZy5cbiRjaG9pY2VzLWd1dHRlcmluZzogICAgICAgIDI0cHggIWRlZmF1bHQ7XG4kY2hvaWNlcy1idXR0b24tZGltZW5zaW9uOiAxMnB4ICFkZWZhdWx0O1xuJGNob2ljZXMtYnV0dG9uLW9mZnNldDogICAgMnB4ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgcmFkaXVzLlxuJGNob2ljZXMtYm9yZGVyLXJhZGl1czogICAgICA0cHggIWRlZmF1bHQ7XG4kY2hvaWNlcy1ib3JkZXItcmFkaXVzLWl0ZW06IDJweCAhZGVmYXVsdDtcblxuLy8gUGF0aCB0byBpY29ucy5cbiRjaG9pY2VzLWJ1dHRvbi1pY29uLXBhdGg6ICcuLi9pbWFnZXMnICFkZWZhdWx0O1xuXG4iLCIjeyRjaG9pY2VzLXJ0bC1zZWxlY3Rvcn0ge1xuICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1bZGF0YS10eXBlKj1cInNlbGVjdC1tdWx0aXBsZVwiXSB7XG4gICAgLiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbm5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRjaG9pY2VzLWd1dHRlcmluZztcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTEuNXB4O1xuICAgIH1cbiAgfVxuXG4gIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdC0tc2luZ2xlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICB9XG5cbiAgLiN7JGNob2ljZXMtc2VsZWN0b3J9X19saXN0LS1tdWx0aXBsZSB7XG4gICAgLiN7JGNob2ljZXMtc2VsZWN0b3J9X19pdGVtIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzLjc1cHg7XG5cbiAgICAgICZbZGF0YS1kZWxldGFibGVdIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLiN7JGNob2ljZXMtc2VsZWN0b3J9X19saXN0LS1kcm9wZG93biB7XG4gICAgLiN7JGNob2ljZXMtc2VsZWN0b3J9X19pdGVtIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5wdXQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLiN7JGNob2ljZXMtc2VsZWN0b3J9W2RhdGEtdHlwZSo9XCJzZWxlY3QtbXVsdGlwbGVcIl0sIC4jeyRjaG9pY2VzLXNlbGVjdG9yfVtkYXRhLXR5cGUqPVwidGV4dFwiXSB7XG4gICAgLiN7JGNob2ljZXMtc2VsZWN0b3J9X19idXR0b24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkY2hvaWNlcy1idXR0b24tb2Zmc2V0O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0gY2FsYygkY2hvaWNlcy1idXR0b24tb2Zmc2V0LzIpO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2VuKCRjaG9pY2VzLXByaW1hcnktY29sb3IsIDEwJSk7XG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2xpc3QtLWRyb3Bkb3duIHtcbiAgICAgIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faXRlbS0tc2VsZWN0YWJsZSB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY2hvaWNlc2pzLXNlbGVjdC13cmFwIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGNvbG9yOiAjMzMzO1xuXG5cdC5jaG9pY2VzIHtcblx0XHRmb250LXNpemU6ICR0ZXh0LWZvbnQtc2l6ZS1tO1xuXHR9XG5cblx0LmNob2ljZXNfX2lubmVyIHtcblx0XHRwYWRkaW5nOiA0cHggMCAwIDZweDtcblxuXHRcdC5jaG9pY2VzX19saXN0LS1tdWx0aXBsZTpub3QoOmVtcHR5KSB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDI2cHg7XG5cdFx0fVxuXHR9XG5cblx0LmNob2ljZXNqcy1zZWxlY3RbbXVsdGlwbGVdIHtcblx0XHRvcHRpb24ge1xuXHRcdFx0cGFkZGluZzogMS41cHggMCAwIDA7XG5cdFx0fVxuXHR9XG5cblx0c2VsZWN0IHtcblx0XHRtYXgtd2lkdGg6IDQwMHB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XG5cdFx0d2lkdGg6IDMwMHB4O1xuXHR9XG5cblx0Ly8gVXBkYXRlIGFycm93IHRvIGZpdCBXUCBzdHlsZXMuXG5cdC5jaG9pY2VzIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXFxmMzQ3XCI7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IGNhbGMoNTAlIC0gNnB4KTtcblx0XHRcdHJpZ2h0OiA2cHg7XG5cdFx0XHRmb250LWZhbWlseTogZGFzaGljb25zLCBzYW5zLXNlcmlmO1xuXHRcdFx0Y29sb3I6ICR0ZXh0LXNlY29uZGFyeTtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdHdpZHRoOiAxNnB4O1xuXHRcdFx0aGVpZ2h0OiAxN3B4O1xuXHRcdH1cblxuXHRcdCYuaXMtb3BlbjphZnRlciB7XG5cdFx0XHRtYXJnaW4tdG9wOiAtMXB4O1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcblx0XHR9XG5cdH1cblxuXHQuY2hvaWNlc1tkYXRhLXR5cGUqPVwic2VsZWN0LW11bHRpcGxlXCJdIHtcblx0XHQuY2hvaWNlc19faW5uZXIge1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0YWxpZ24taXRlbXM6IHN0YXJ0O1xuXHRcdFx0cGFkZGluZy10b3A6IDZweCAhaW1wb3J0YW50O1xuXG5cdFx0XHQuY2hvaWNlc19faW5wdXQge1xuXHRcdFx0XHRwYWRkaW5nOiAycHggNHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmlzLWZvY3VzZWQsXG5cdC5pcy1vcGVuIHtcblx0XHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lubmVyIHtcblx0XHRcdGJvcmRlci1jb2xvcjogJGNob2ljZXMtZm9jdXNlZC1jb2xvcjtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hvaWNlcy1mb2N1c2VkLWNvbG9yO1xuXHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQuaXMtZmxpcHBlZC5pcy1vcGVuIHtcblx0XHQuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lubmVyIHtcblx0XHRcdGJvcmRlci1jb2xvcjogJGNob2ljZXMtZm9jdXNlZC1jb2xvcjtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hvaWNlcy1mb2N1c2VkLWNvbG9yO1xuXHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQuaXMtb3BlbiB7XG5cdFx0LiN7JGNob2ljZXMtc2VsZWN0b3J9X19saXN0LS1kcm9wZG93biB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRjaG9pY2VzLWZvY3VzZWQtY29sb3I7XG5cdFx0XHRib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGNob2ljZXMta2V5bGluZS1jb2xvciwgMTAlKTtcblx0XHRcdGJvcmRlci1ib3R0b206IDA7XG5cdFx0XHRib3gtc2hhZG93OiAwIDFweCAwIDFweCAkY2hvaWNlcy1mb2N1c2VkLWNvbG9yO1xuXHRcdH1cblx0fVxuXG5cdC5pcy1vcGVuLmlzLWZsaXBwZWQge1xuXHRcdC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdC0tZHJvcGRvd24ge1xuXHRcdFx0Ym9yZGVyLXRvcDogMDtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oJGNob2ljZXMta2V5bGluZS1jb2xvciwgMTAlKTtcblx0XHRcdGJveC1zaGFkb3c6IDAgLTFweCAwIDFweCAkY2hvaWNlcy1mb2N1c2VkLWNvbG9yO1xuXHRcdH1cblx0fVxufVxuXG4uY2hvaWNlc19faW5uZXIge1xuXHRtaW4taGVpZ2h0OiAzNnB4O1xufVxuIiwiLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYyLjAuMFxuLy9cbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgS2l0dHkgR2lyYXVkZWwgKEBraXR0eWdpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcbkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuQHVzZSAnc2FzczptYXRoJztcbkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ3Nhc3M6bGlzdCc7XG5AdXNlICdzYXNzOnN0cmluZyc7XG5AdXNlICdzYXNzOm1ldGEnO1xuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiAzMjBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnZGVza3RvcCc6IDEwMjRweCxcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcbi8vLyAgKTtcbi8vL1xuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcbiAgJ3ByaW50JzogJ3ByaW50JyxcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAncmV0aW5hMngnOlxuICAgICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXG4gICdyZXRpbmEzeCc6XG4gICAgJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJyxcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XG4vLy9cbiR1bml0LWludGVydmFsczogKFxuICAncHgnOiAxLFxuICAnZW0nOiAwLjAxLFxuICAncmVtJzogMC4xLFxuICAnJzogMCxcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xuICBAaWYgbWV0YS5mZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XG4gICAgQGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAkbWVzc2FnZTtcbiAgICAkXzogbm9vcCgpO1xuICB9XG5cbiAgQHJldHVybiAkbWVzc2FnZTtcbn1cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7XG4gIH1cbn1cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge1xufVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XG5cbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHtcbiAgICB9XG4gIH1cblxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcbiAgICBAaWYgbm90IG1hcC5oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xuXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcbiAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKVxuICAgICAge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgbm90IGxpc3QuaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XG4gICAgQGlmIHN0cmluZy5pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XG59XG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0cmluZy5pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0cmluZy5zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItdHJpbSgkcGFyc2VkLWRpbWVuc2lvbik7XG4gICRkaW1lbnNpb246ICd3aWR0aCc7XG5cbiAgQGlmIHN0cmluZy5sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XG4gIH1cblxuICBAcmV0dXJuICRkaW1lbnNpb247XG59XG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGxpc3QuaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xufVxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0cmluZy5zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyaW5nLmxlbmd0aCgkb3BlcmF0b3IpKTtcbiAgJHRyaW1tZWRWYWx1ZTogc3RyLXRyaW0oJHZhbHVlKTtcblxuICBAaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdHJpbW1lZFZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJHRyaW1tZWRWYWx1ZSk7XG4gIH0gQGVsc2Uge1xuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR0cmltbWVkVmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAuZ2V0KCR1bml0LWludGVydmFscywgbWF0aC51bml0KCR2YWx1ZSkpO1xuXG4gIEBpZiBub3QgJGludGVydmFsIHtcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gICAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7bWF0aC51bml0KCR2YWx1ZSl9YC4nKTtcbiAgfVxuXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy9cbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2Vcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxuLy8vXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gIEBpZiBtYXAuaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XG4gICAgQHJldHVybiBtYXAuZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xuICB9XG5cbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG5cbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XG59XG5cbi8vL1xuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2Vcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxuLy8vXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGlzdC5sZW5ndGgoJGxpc3QpKSB7XG4gIEBpZiBsaXN0Lmxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogbGlzdC5hcHBlbmQoJHJlc3VsdCwgbGlzdC5udGgoJGxpc3QsICRpKSwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9IEBlbHNlIGlmIG1ldGEudHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6IChcbiAgICAnMCc6IDAsXG4gICAgJzEnOiAxLFxuICAgICcyJzogMixcbiAgICAnMyc6IDMsXG4gICAgJzQnOiA0LFxuICAgICc1JzogNSxcbiAgICAnNic6IDYsXG4gICAgJzcnOiA3LFxuICAgICc4JzogOCxcbiAgICAnOSc6IDksXG4gICk7XG5cbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcbiAgICAkdmFsdWU6IHN0cmluZy5zbGljZSgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHJpbmcubGVuZ3RoKCR2YWx1ZSkge1xuICAgICRjaGFyYWN0ZXI6IHN0cmluZy5zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cbiAgICBAaWYgbm90KGxpc3QuaW5kZXgobWFwLmtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0cmluZy5zbGljZSgkdmFsdWUsICRpKSk7XG4gICAgfVxuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcbiAgICAgICRkaWdpdHM6IDE7XG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLmdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWF0aC5kaXYobWFwLmdldCgkbnVtYmVycywgJGNoYXJhY3RlciksICRkaWdpdHMpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG5cbi8vL1xuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxuLy8vXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcbiAgJHVuaXRzOiAoXG4gICAgJ3B4JzogMXB4LFxuICAgICdjbSc6IDFjbSxcbiAgICAnbW0nOiAxbW0sXG4gICAgJyUnOiAxJSxcbiAgICAnY2gnOiAxY2gsXG4gICAgJ3BjJzogMXBjLFxuICAgICdpbic6IDFpbixcbiAgICAnZW0nOiAxZW0sXG4gICAgJ3JlbSc6IDFyZW0sXG4gICAgJ3B0JzogMXB0LFxuICAgICdleCc6IDFleCxcbiAgICAndncnOiAxdncsXG4gICAgJ3ZoJzogMXZoLFxuICAgICd2bWluJzogMXZtaW4sXG4gICAgJ3ZtYXgnOiAxdm1heCxcbiAgKTtcblxuICBAaWYgbm90IGxpc3QuaW5kZXgobWFwLmtleXMoJHVuaXRzKSwgJHVuaXQpIHtcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLmdldCgkdW5pdHMsICR1bml0KTtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBKYWNrIE1jTmljb2xcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gVHJpbXMgYSBzdHJpbmcgb2YgbGVhZGluZyBhbmQgdHJhaWxpbmcgc3BhY2VzXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIFZhbHVlIHRvIGJlIHRyaW1tZWRcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ31cbi8vL1xuXG5AZnVuY3Rpb24gc3RyLXRyaW0oJHN0cmluZykge1xuICBAaWYgKHN0ci1zbGljZSgkc3RyaW5nLCAxLCAxKSA9PSAnICcpIHtcbiAgICBAcmV0dXJuIHN0ci10cmltKHN0ci1zbGljZSgkc3RyaW5nLCAyKSk7XG4gIH0gQGVsc2UgaWYgKHN0ci1zbGljZSgkc3RyaW5nLCBzdHItbGVuZ3RoKCRzdHJpbmcpLCAtMSkgPT0gJyAnKSB7XG4gICAgQHJldHVybiBzdHItdHJpbShzdHItc2xpY2UoJHN0cmluZywgMSwgLTIpKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkc3RyaW5nO1xuICB9XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiBtYXAubWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLm1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xufVxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsaXN0Lmxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcbiAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSlcbiAge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGlzdC5sZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xuICAgIEBtZWRpYSAje3N0cmluZy51bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obGlzdC5udGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXG4gICAgICAkc2xpY2VkLWNvbmRpdGlvbnM6IHNsaWNlKCRjb25kaXRpb25zLCAyKTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRzbGljZWQtY29uZGl0aW9ucy4uLikge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEdlbmVyYWwgYWRtaW4gc3R5bGluZy5cblxuLy8gQ29yZSBhZG1pbiBzdHlsZSBvdmVycmlkZXMuXG4jd3Bjb250ZW50IHtcblx0cGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXHRcdHBhZGRpbmctdG9wOiA0NnB4O1xuXHR9XG59XG5cbiN3cGJvZHkge1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHR9XG59XG5cbi8vIEFkbWluIHdyYXAgLSBjb250YWlucyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgaGVhZGVyLlxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLXdyYXAge1xuXHRtYXJnaW46IDA7XG5cblx0Lm5vdGljZSB7XG5cdFx0bWFyZ2luOiAwIDAgMTVweDtcblx0fVxufVxuXG4vLyBBZG1pbiBjb250ZW50LlxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLWNvbnRlbnQge1xuXHRwYWRkaW5nOiAkc3BhY2luZy1sZyAkc3BhY2luZy1sZyAwICRzcGFjaW5nLWxnO1xuXG5cdCosXG5cdCo6OmJlZm9yZSxcblx0Kjo6YWZ0ZXIge1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdH1cblxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogXCIgXCI7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHRjbGVhcjogYm90aDtcblx0XHRjb250ZW50OiBcIiBcIjtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0fVxuXG5cdGhyIHtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNlNGU0ZTQ7XG5cdFx0bWFyZ2luOiAyMHB4IDA7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0fVxuXG5cdGNvZGUge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRwYWRkaW5nOiAwIDZweDtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtc2Vjb25kYXJ5O1xuXHR9XG5cblx0c3Ryb25nIHtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHR9XG5cblx0cCB7XG5cdFx0Ji5zdWJtaXQge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogJHNwYWNpbmctbGcgMCAyMHB4IDA7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2U0ZTRlNDtcblxuXHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci1hZG1pbi1jb250ZW50X19zZXR0aW5ncy1mb3JtIHtcblx0XHRwYWRkaW5nLXRvcDogMTVweDtcblx0fVxufVxuXG4vLyBMZWdhY3kgYWRkb24gZml4ZXMuXG4uc3VnYXItY2FsZW5kYXItYWRtaW4tY29udGVudCB7XG5cdC5mb3JtLXRhYmxlOmZpcnN0LWNoaWxkIHtcblx0XHR0Ym9keSB7XG5cdFx0XHR0cjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdHRoLFxuXHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRoIHtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMnB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aDMge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8vIEhlYWRlciBzdHlsZXMuXG5cbiNzdWdhci1jYWxlbmRhci1oZWFkZXItdGVtcCB7XG5cdG1hcmdpbjogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IC0xcHg7XG5cdGxlZnQ6IDIwcHg7XG5cdHJpZ2h0OiAwO1xuXHR6LWluZGV4OiA5OTtcblxuXHRAaW5jbHVkZSBtZWRpYShcIjw2MDBweFwiKSB7XG5cdFx0cGFkZGluZy10b3A6IDUwcHg7XG5cdH1cbn1cblxuI3N1Z2FyLWNhbGVuZGFyLWhlYWRlciB7XG5cdHBhZGRpbmc6IDIwcHggMzBweDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzdXJmYWNlLXN1cmZhY2UtZGl2aWRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdG1heC13aWR0aDogMjk2cHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcblx0XHRcdG1heC13aWR0aDogMjAwcHg7XG5cdFx0fVxuXHR9XG5cblx0YSNzdWdhci1jYWxlbmRhci1oZWFkZXItaGVscCB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtaWNvbjtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxM3B4O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRtYXNrLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcXVlc3Rpb24tY2lyY2xlLnN2Z1wiKTtcblx0XHRcdG1hc2stcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC10ZXh0LWljb247XG5cdFx0XHR3aWR0aDogMTZweDtcblx0XHRcdGhlaWdodDogMTZweDtcblx0XHRcdG1hcmdpbi1yaWdodDogNnB4O1xuXHRcdH1cblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRjb2xvcjogJHRleHQtdGV4dC10ZXJ0aWFyeTtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC10ZXh0LXRlcnRpYXJ5O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcblx0I3N1Z2FyLWNhbGVuZGFyLW5vdGljZS1iYXIgKyAjc3VnYXItY2FsZW5kYXItaGVhZGVyLXRlbXAge1xuXHRcdHRvcDogMzRweDtcblx0fVxufVxuIiwiLy8gUGFnZSBuYXZpZ2F0aW9uLlxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLXRhYnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogJHNwYWNpbmctbGc7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMCAkc3BhY2luZy1sZztcblx0YmFja2dyb3VuZC1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4wNyk7XG5cblx0bGkge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0YSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBhZGRpbmc6IDIzcHggMCAyMXB4IDA7XG5cdFx0XHRsaW5lLWhlaWdodDogMTRweDtcblx0XHRcdGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRjb2xvcjogJHRleHQtdGV4dC1wcmltYXJ5O1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyxcblx0XHRcdCYuYWN0aXZlOmZvY3VzIHtcblx0XHRcdFx0Y29sb3I6ICR0ZXh0LXRleHQtcHJpbWFyeTtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJvcmRlcjtcblx0XHRcdH1cblxuXHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYm9yZGVyLXByaW1hcnk7XG5cdFx0XHR9XG5cblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiQG1peGluIGZvcm0tZmllbGQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRmaWVsZHMtZmllbGQtYm9yZGVyO1xuXHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLXJhZGl1cy1maWVsZDtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0Y29sb3I6ICR0ZXh0LXRleHQtcHJpbWFyeTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRwYWRkaW5nOiA3cHggMTJweDtcblx0bWFyZ2luOiAwO1xuXHR3aWR0aDogNDAwcHg7XG5cdG1pbi1oZWlnaHQ6IDM2cHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtcHJpbWFyeTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1ib3JkZXItLWZvY3VzICFpbXBvcnRhbnQ7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRmaWVsZHMtZmllbGQtYm9yZGVyLS1mb2N1cyAhaW1wb3J0YW50O1xuXHRcdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6ZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPGRlc2t0b3BcIikge1xuXHRcdHdpZHRoOiAzMDBweDtcblx0fVxufVxuXG5AbWl4aW4gZm9ybS1maWVsZC1zZWxlY3Qge1xuXHRAaW5jbHVkZSBmb3JtLWZpZWxkO1xuXG5cdHBhZGRpbmc6IDdweCAyNHB4IDdweCAxMHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuQG1peGluIGZvcm0tZmllbGQtcmFkaW8ge1xuXHRib3JkZXI6IDFweCBzb2xpZCAkZmllbGRzLWZpZWxkLWJvcmRlcjtcblx0bWFyZ2luOiAxcHggMTBweCAwIDA7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0fVxuXG5cdCY6Y2hlY2tlZCB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3Zlcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmZvY3VzIHtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cdFx0fVxuXHR9XG5cblx0JjpkaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRmaWVsZHMtZmllbGQtY2hvaWNlLW9mZjtcblx0fVxufVxuXG5AbWl4aW4gZm9ybS1maWVsZC1jaGVja2JveCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRmaWVsZHMtZmllbGQtYm9yZGVyO1xuXHRtYXJnaW46IDFweCAxMHB4IDAgMDtcblxuXHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHR9XG5cblx0Jjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdH1cblxuXHQmOmNoZWNrZWQge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdG1hc2s6IHVybCguLi9pbWFnZXMvaWNvbnMveWVzLnN2ZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJVxuXHRcdH1cblxuXHRcdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cdFx0fVxuXG5cdFx0Jjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlLCAwIDAgMCAycHggJGZpZWxkcy1maWVsZC1jaG9pY2Utb24tLWhvdmVyO1xuXHRcdH1cblx0fVxuXG5cdCY6ZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IDAuNTtcblxuXHRcdCY6Y2hlY2tlZCB7XG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gZm9ybS1maWVsZC10ZXh0YXJlYSB7XG5cdEBpbmNsdWRlIGZvcm0tZmllbGQ7XG59XG5cbi5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbjogMCAxcHg7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRjb2xvcjogJHRleHQtdGV4dC1zZWNvbmRhcnk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGhlaWdodDogMjVweDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHRpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG5cdFx0QGluY2x1ZGUgdmlzdWFsbHktaGlkZTtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdCYgKyBsYWJlbC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb2ZmLS1ob3Zlcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdCYgKyBsYWJlbC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZSwgMCAwIDAgMnB4ICRmaWVsZHMtZmllbGQtYm9yZGVyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6Y2hlY2tlZCB7XG5cdFx0XHQmICsgbGFiZWwuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGxlZnQ6IGNhbGMoMTAwJSAtIDJweCk7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3Zlcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGUsIDAgMCAwIDJweCAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6ZGlzYWJsZWQge1xuXHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRzcGFuLFxuXHRsYWJlbCB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtbGFiZWwge1xuXHRcdHBhZGRpbmc6IDAgJHNwYWNpbmctc207XG5cdFx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA2NXB4KTtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMge1xuXHRcdGNvbG9yOiAkdGV4dC10ZXh0LXNlY29uZGFyeTtcblx0XHRmb250LXNpemU6ICR0ZXh0LWZvbnQtc2l6ZS14cztcblx0XHRsaW5lLWhlaWdodDogMTdweDtcblx0XHRwYWRkaW5nOiAwICRzcGFjaW5nLXNtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb2ZmLFxuXHQuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtc3RhdHVzLW9uIHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdH1cblxuXHRpbnB1dDpub3QoOmNoZWNrZWQpIH4gLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLXN0YXR1cy1vZmYsXG5cdGlucHV0OmNoZWNrZWQgfiAuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtc3RhdHVzLW9uIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5ldXRyYWwtMzA7XG5cdFx0Ym9yZGVyLXJhZGl1czogOC41cHg7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRoZWlnaHQ6IDE3cHg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRleHQtaW5kZW50OiAtOTk5OXB4O1xuXHRcdHdpZHRoOiAyN3B4O1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRoZWlnaHQ6IDEzcHg7XG5cdFx0XHRsZWZ0OiAycHg7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDJweDtcblx0XHRcdHdpZHRoOiAxM3B4O1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLW5vcm1hbCBlYXNlLW91dDtcblx0XHR9XG5cdH1cblxuXHRpbnB1dDpkaXNhYmxlZCB+IC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uLFxuXHRpbnB1dDpkaXNhYmxlZCB+IC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb2ZmLFxuXHRpbnB1dDpkaXNhYmxlZCB+IC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb24ge1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0fVxufVxuIiwiQG1peGluIGxpbmstcmVzZXQge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHRib3gtc2hhZG93OiBub25lO1xuXHRvdXRsaW5lOiBub25lO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbkBtaXhpbiB2aXN1YWxseS1oaWRlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRoZWlnaHQ6IDA7XG5cdHdpZHRoOiAwO1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXHRtYXJnaW46IDA7XG5cdG1pbi13aWR0aDogMDtcbn1cblxuQG1peGluIGJhZGdlKCRwb3NpdGlvbjogYWZ0ZXIpIHtcblx0Jjo6I3skcG9zaXRpb259IHtcblx0XHRjb250ZW50OiBcIlBST1wiO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW4tbGVmdDogJHNwYWNpbmctc207XG5cdFx0cGFkZGluZzogNXB4IDhweDtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdGZvbnQtc2l6ZTogOHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiA4cHg7XG5cdFx0Y29sb3I6ICRiYWRnZXMtYmFkZ2UtbmV1dHJhbC10ZXh0O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRiYWRnZXMtYmFkZ2UtbmV1dHJhbC1iYWNrZ3JvdW5kO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtcmFkaXVzLWJhZGdlO1xuXG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cbiIsIi8vIEJ1dHRvbnMuXG4uc3VnYXItY2FsZW5kYXItYnRuIHtcblx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtcmFkaXVzLWJ1dHRvbjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbjogMDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cdHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1mYXN0IGVhc2Utb3V0O1xuXG5cdCYuaW5hY3RpdmUge1xuXHRcdGN1cnNvcjogbm8tZHJvcDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLWJsb2NrIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXNtIHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsaW5lLWhlaWdodDogMjhweDtcblx0cGFkZGluZzogMCAxMHB4O1xuXHRoZWlnaHQ6IDMwcHg7XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tbWQge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGxpbmUtaGVpZ2h0OiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRwYWRkaW5nOiAxMHB4IDE1cHg7XG5cdG1pbi1oZWlnaHQ6IDM2cHg7XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tbGcge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHBhZGRpbmc6IDExcHggMTdweDtcblx0bWluLWhlaWdodDogNDRweDtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1wcmltYXJ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDtcblx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1zZWNvbmRhcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG5cdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0b3V0bGluZTogMDtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXRlcnRpYXJ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQ7XG5cdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlcjtcblx0Y29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0ICFpbXBvcnRhbnQ7XG5cblx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQtLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXItLWhvdmVyO1xuXHRcdGNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dC0taG92ZXIgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyLS1ob3Zlcjtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLWdyZWVuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci11dGlsaXR5LWdyZWVuLTUwO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tcmVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG4iLCIvLyBDb21tb24gc2V0dGluZ3Mgcm93IHN0eWxlcy5cbi5zdWdhci1jYWxlbmRhci1zZXR0aW5nLXJvdyB7XG5cdHBhZGRpbmc6IDAgMCAkc3BhY2luZy1sZyAwO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG5cblx0JjpmaXJzdC1vZi10eXBlIHtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0fVxuXG5cdCY6bGFzdC1vZi10eXBlIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctbGc7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuXHRcdHBhZGRpbmc6IDAgMCAkc3BhY2luZy1tZCAwO1xuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLXNldHRpbmctbGFiZWwge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdHdpZHRoOiAyMDBweDtcblx0XHRwYWRkaW5nOiAwICRzcGFjaW5nLXNtIDAgMDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDE1cHg7XG5cdFx0fVxuXG5cdFx0bGFiZWwge1xuXHRcdFx0Y29sb3I6ICR0ZXh0LXRleHQtcHJpbWFyeTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0Z2FwOiAkc3BhY2luZy1zbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdFx0bWFyZ2luLXRvcDogOHB4O1xuXHRcdH1cblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci1zZXR0aW5nLWZpZWxkIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW46IDAgMCAwIDIwMHB4O1xuXHRcdG1heC13aWR0aDogODIwcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtc2Vjb25kYXJ5O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdH1cblx0fVxuXG5cdHAge1xuXHRcdG1hcmdpbjogMTBweCAwIDA7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdGNvbG9yOiAkdGV4dC10ZXh0LXByaW1hcnk7XG5cblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0fVxuXG5cdFx0Ji5kZXNjIHtcblx0XHRcdGNvbG9yOiAkdGV4dC10ZXh0LXRlcnRpYXJ5O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0fVxuXHR9XG5cblx0Ly8gRm9ybSBlbGVtZW50cy5cblx0aW5wdXRbdHlwZT10ZXh0XSxcblx0aW5wdXRbdHlwZT1wYXNzd29yZF0sXG5cdGlucHV0W3R5cGU9bnVtYmVyXSB7XG5cdFx0QGluY2x1ZGUgZm9ybS1maWVsZDtcblx0fVxuXG5cdHNlbGVjdCB7XG5cdFx0QGluY2x1ZGUgZm9ybS1maWVsZC1zZWxlY3Q7XG5cdH1cblxuXHRpbnB1dFt0eXBlPXJhZGlvXSB7XG5cdFx0QGluY2x1ZGUgZm9ybS1maWVsZC1yYWRpbztcblx0fVxuXG5cdGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcblx0XHRAaW5jbHVkZSBmb3JtLWZpZWxkLWNoZWNrYm94O1xuXHR9XG59XG5cbiIsIi8vIFJhZGlvIHNldHRpbmdzIHJvdy5cbi5zdWdhci1jYWxlbmRhci1zZXR0aW5nLXJvdy1yYWRpbyB7XG5cdC5zdWdhci1jYWxlbmRhci1zZXR0aW5nLWZpZWxkIHtcblx0XHRwYWRkaW5nLXRvcDogOHB4O1xuXG5cdFx0bGFiZWwge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnN1Z2FyLWNhbGVuZGFyLXNldHRpbmdzLWZpZWxkLXJhZGlvLXdyYXBwZXIge1xuXHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRcdG1hcmdpbi1yaWdodDogJHNwYWNpbmctbWQ7XG5cblx0XHRcdGlucHV0W3R5cGU9cmFkaW9dIHtcblx0XHRcdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0Z2FwOiA1cHg7XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBEYXRlL3RpbWUgZm9ybWF0IHNldHRpbmdzIHJvdy5cbi5zdWdhci1jYWxlbmRhci1zZXR0aW5nLXJvdy1kYXRlX3RpbWVfZm9ybWF0IHtcblx0QGV4dGVuZCAuc3VnYXItY2FsZW5kYXItc2V0dGluZy1yb3ctcmFkaW87XG5cblx0LnN1Z2FyLWNhbGVuZGFyLXNldHRpbmctZmllbGQge1xuXHRcdC5zdWdhci1jYWxlbmRhci1zZXR0aW5ncy1maWVsZC1yYWRpby13cmFwcGVyIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0d2lkdGg6IDI1MHB4O1xuXHRcdH1cblxuXHRcdGxhYmVsIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4OiAxO1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblxuXHRcdFx0c3BhbiB7XG5cdFx0XHRcdGZsZXg6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnN1Z2FyLWNhbGVuZGFyLWN1c3RvbS1kYXRlLXRpbWUtZm9ybWF0IHtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXHRcdFx0cGFkZGluZzogMCA2cHg7XG5cdFx0XHRtaW4taGVpZ2h0OiAzMHB4O1xuXHRcdFx0bWFyZ2luOiAtNXB4IDAgMDtcblx0XHRcdHdpZHRoOiA3NXB4O1xuXHRcdH1cblx0fVxuXG5cdC5zcGlubmVyIHtcblx0XHRmbG9hdDogbm9uZTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRtYXJnaW46IC0zcHggMCAwIDNweDtcblx0fVxufVxuIiwiLy8gU2VsZWN0IHNldHRpbmdzIHJvdy5cbi5zdWdhci1jYWxlbmRhci1zZXR0aW5nLXJvdy1zZWxlY3Qge1xuXHQuY2hvaWNlc2pzLXNlbGVjdC13cmFwIHtcblx0XHRtYXgtd2lkdGg6IDQwMHB4O1xuXHR9XG59XG4iLCIvLyBDaGVja2JveCBzZXR0aW5ncyByb3cuXG4uc3VnYXItY2FsZW5kYXItc2V0dGluZy1yb3ctdG9nZ2xlIHtcblx0LnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sIHtcblx0XHRwYWRkaW5nLXRvcDogOHB4O1xuXHR9XG59XG4iLCIvLyBIZWFkaW5nIHNldHRpbmdzIHJvdy5cbi5zdWdhci1jYWxlbmRhci1zZXR0aW5nLXJvdy1oZWFkaW5nIHtcblx0cGFkZGluZzogJHNwYWNpbmctbGcgMDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGU7XG5cblx0QGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcblx0XHRwYWRkaW5nOiAjeyRzcGFjaW5nLWxnIC0gNXB4fSAwICRzcGFjaW5nLXNtIDA7XG5cdH1cblxuXHRoNCB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGZvbnQtc2l6ZTogJHRleHQtZm9udC1zaXplLWxsbDtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtaGVhZGluZztcblx0fVxuXG5cdCY6Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLXNldHRpbmctZmllbGQge1xuXHRcdG1hcmdpbjogMDtcblx0XHRtYXgtd2lkdGg6IDEwMDBweDtcblxuXHRcdHAuZGVzYyB7XG5cdFx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHRcdGNvbG9yOiAkdGV4dC10ZXh0LXByaW1hcnk7XG5cdFx0fVxuXHR9XG59XG4iLCIjc3VnYXItY2FsZW5kYXItc2V0dGluZy1yb3ctbGljZW5zZS1rZXkge1xuXHRsYWJlbCB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci1zZXR0aW5nLWxpY2Vuc2Utd3JhcHBlciB7XG5cdFx0ZGlzcGxheTogZmxleDtcblxuXHRcdGlucHV0IHtcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHR9XG5cblx0XHQuc3VnYXItY2FsZW5kYXItc2V0dGluZy1saWNlbnNlLWtleS13cmFwcGVyIHtcblx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcblx0XHR9XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItbGljZW5zZS1jb3Vwb24ge1xuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblxuXHRcdHN0cm9uZyB7XG5cdFx0XHRjb2xvcjogJHRleHQtdGV4dC1zdWNjZXNzO1xuXHRcdH1cblx0fVxufVxuIiwiLy8gQ2FsZW5kYXIgZmVlZHMgc2V0dGluZ3Mgcm93LlxuLnN1Z2FyLWNhbGVuZGFyLXNldHRpbmctcm93LWNhbGVuZGFyLWZlZWRzIHtcblx0LnN1Z2FyLWNhbGVuZGFyLXNldHRpbmctZmllbGQge1xuXHRcdG1hcmdpbjogMDtcblx0XHRtYXgtd2lkdGg6IDEwMDBweDtcblxuXHRcdHVsIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHdpZHRoOiA0MDBweDtcblxuXHRcdFx0bGkge1xuXHRcdFx0XHRwYWRkaW5nOiAxMnB4IDE1cHg7XG5cdFx0XHRcdG1hcmdpbjogMCAwIDEwcHg7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtcmFkaXVzLWZpZWxkO1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkZmllbGRzLWZpZWxkLWJvcmRlcjtcblx0XHRcdFx0YmFja2dyb3VuZDogJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlO1xuXHRcdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRsYWJlbCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxNnB4O1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDVweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpbnB1dFt0eXBlPXJhZGlvXSB7XG5cdFx0XHRcdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpIHtcblx0XHRcdFx0XHRhbGlnbi1zZWxmOiBjZW50ZXI7XG5cdFx0XHRcdFx0bWFzazogdXJsKC4uL2ltYWdlcy9pY29ucy9zb3J0YWJsZS1oYW5kbGUuc3ZnKSBjZW50ZXIgNnB4IG5vLXJlcGVhdDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC10ZXh0LWljb247XG5cdFx0XHRcdFx0d2lkdGg6IDE2cHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdFx0XHRcdG1hcmdpbjogMCAwIDAgYXV0bztcblx0XHRcdFx0XHRjdXJzb3I6IGdyYWI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiJdfQ== */
  • sugar-calendar-lite/trunk/assets/css/admin-settings.min.css

    r3095175 r3118281  
    1 .choices{position:relative;margin-bottom:24px}.choices ::-webkit-input-placeholder{color:#999}.choices ::-moz-placeholder{color:#999;opacity:1}.choices ::placeholder{color:#999}.choices:focus{outline:none}.choices:last-child{margin-bottom:0}.choices.is-disabled .choices__inner,.choices.is-disabled .choices__input{background-color:#bbb;cursor:not-allowed;user-select:none}.choices [hidden]{display:none !important}.choices *{box-sizing:border-box}.choices.is-open .choices__inner{border-radius:4px 4px 0 0}.choices.is-open.is-flipped .choices__inner{border-radius:0 0 4px 4px}.choices[data-type*=select-one]{cursor:pointer}.choices[data-type*=select-one] input.choices__input{display:block;width:calc(100% - 20px) !important;margin:10px !important;padding:7px 12px !important;box-sizing:border-box !important;border:1px solid #8c8f94 !important;border-radius:4px !important;background-color:#fff}.choices[data-type*=select-one] input.choices__input:focus{border:1px solid #056aab !important;box-shadow:0 0 0 1px #056aab !important;outline:none !important}.choices[data-type*=select-one] .choices__button{background-image:url("../images/cross-inverse.svg");padding:0;background-size:8px;position:absolute;top:50%;right:0;margin-top:-10px;margin-right:25px;height:20px;width:20px;border-radius:10em;opacity:.5}.choices[data-type*=select-one] .choices__button:hover,.choices[data-type*=select-one] .choices__button:focus{opacity:1}.choices[data-type*=select-one] .choices__button:focus{box-shadow:0 0 0 2px #036aab}.choices[data-type*=select-one] .choices__item[data-value=""] .choices__button{display:none}.choices[data-type*=select-one]:after{content:"";height:0;width:0;border-style:solid;border-color:currentColor rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);border-width:5px;position:absolute;right:11.5px;top:50%;margin-top:-2.5px;pointer-events:none}.choices[data-type*=select-one].is-open:after{border-color:rgba(0,0,0,0) rgba(0,0,0,0) currentColor rgba(0,0,0,0);margin-top:-7.5px}.choices[data-type*=select-one][dir=rtl]:after{left:11.5px;right:auto}.choices[data-type*=select-one][dir=rtl] .choices__button{right:auto;left:0;margin-left:25px;margin-right:0}.choices[data-type*=select-multiple] .choices__inner{padding-right:24px}.choices[data-type*=select-multiple] .choices__inner .choices__input{padding:0 4px !important}.choices[data-type*=select-multiple]:after{content:"";height:0;width:0;border-style:solid;border-color:currentColor rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);border-width:5px;position:absolute;right:11.5px;top:50%;margin-top:-2.5px;pointer-events:none}.choices[data-type*=select-multiple].is-open:after{border-color:rgba(0,0,0,0) rgba(0,0,0,0) currentColor rgba(0,0,0,0);margin-top:-7.5px}.choices[data-type*=select-multiple] .choices__inner,.choices[data-type*=text] .choices__inner{cursor:text}.choices[data-type*=select-multiple] .choices__button,.choices[data-type*=text] .choices__button{position:relative;display:inline-block;vertical-align:baseline;margin-top:0;margin-bottom:0;margin-left:5px;padding:0;background-color:rgba(0,0,0,0);background-image:url("../images/cross.svg");background-size:12px;background-position:center center;background-repeat:no-repeat;width:12px;height:12px;line-height:1;opacity:.75;border-radius:0}.choices[data-type*=select-multiple] .choices__button:hover,.choices[data-type*=select-multiple] .choices__button:focus,.choices[data-type*=text] .choices__button:hover,.choices[data-type*=text] .choices__button:focus{opacity:1}.choices__inner{display:flex;flex-wrap:wrap;align-items:center;width:100%;background-color:#fff;padding:6px 6px 0;border:1px solid #8c8f94;overflow:hidden;border-radius:4px}.choices__list{margin:0;padding-left:0;list-style:none}.choices__list--single{display:inline-block;vertical-align:baseline;width:100%;padding:0 16px 4px 4px;font-size:.875em}.choices__list--single .choices__item{width:100%;overflow:hidden;text-overflow:ellipsis;padding-right:20px;white-space:nowrap;color:#2c3338}.choices__list--single .choices__item[data-value=""]{padding-right:0}.choices__list--multiple{display:flex;flex-wrap:wrap;align-items:center}.choices__list--multiple .choices__item{display:inline-grid;align-items:center;border-radius:2px;padding:4px 7px;font-size:.75em;line-height:1;font-weight:400;margin:0 6px 4px 0;background-color:#036aab;border:1px solid #036aab;color:#fff;word-break:break-word;grid-template-columns:1fr 17px}.choices__list--multiple .choices__item.is-highlighted{background-color:#036aab}.is-disabled .choices__list--multiple .choices__item{background-color:#bbb;border:1px solid #bbb}.choices__list--dropdown{display:none;z-index:101;position:absolute;width:100%;background-color:#fff;border:1px solid #8c8f94;top:100%;margin-top:-1px;border-bottom-left-radius:4px;border-bottom-right-radius:4px;overflow:hidden;overflow-wrap:break-word}.choices__list--dropdown.is-active{display:block}.choices__list--dropdown .choices__list{position:relative;max-height:300px;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position}.choices__list--dropdown .choices__item{position:relative;vertical-align:top;padding:10px;font-size:.875em}@media(min-width: 640px){.choices__list--dropdown .choices__item--selectable:after{content:attr(data-select-text);font-size:.75em;line-height:1;opacity:0;position:absolute;right:10px;top:50%;transform:translateY(-50%)}}.choices__list--dropdown .choices__item--selectable.is-highlighted{background-color:#f6f6f6}.choices__list--dropdown .choices__item--selectable.is-highlighted:after{opacity:.5}.choices__list--dropdown .choices__placeholder{display:none}.is-flipped .choices__list--dropdown{top:auto;bottom:100%;margin-top:0;margin-bottom:-1px;border-radius:4px 4px 0 0}.choices__item{cursor:default}.choices__item--selectable{cursor:pointer}.choices__item--disabled{cursor:not-allowed;user-select:none;opacity:.5}.choices__heading{font-weight:600;font-size:.75em;text-transform:uppercase;padding:10px;border-top:1px solid #b4b6b9;border-bottom:1px solid #b4b6b9;color:#a6a6a6}.choices__group[data-value=hidden]>.choices__heading{display:none}.choices__button{text-indent:-9999px;-webkit-appearance:none;appearance:none;border:0;background-color:rgba(0,0,0,0);background-repeat:no-repeat;background-position:center;cursor:pointer}.choices__button:focus{outline:none}.choices__input{display:inline-block;background-color:rgba(0,0,0,0);margin:0 0 4px 0 !important;border:0 !important;border-radius:0 !important;max-width:100%;min-height:0 !important;width:auto !important;padding:2px 4px !important;height:auto !important}.choices__input--hidden{clip:rect(1px, 1px, 1px, 1px) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;min-width:auto !important;word-wrap:normal !important}.choices .choices__inner input.choices__input:focus{outline:none !important;box-shadow:none !important;border:none !important}.choices__placeholder{opacity:.5}#wpforms-admin-form-embed-wizard .choices.is-open.is-flipped .choices__inner{border-radius:4px 4px 0 0}#wpforms-admin-form-embed-wizard .is-flipped .choices__list--dropdown{border-radius:inherit}#wpforms-admin-form-embed-wizard .choices[data-type*=select-one]:after{border:none;background:#fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23777%22%2F%3E%3C%2Fsvg%3E) no-repeat center;background-size:16px 16px;cursor:pointer;width:16px;height:16px;top:13px;right:8px;margin-top:0}#wpforms-admin-form-embed-wizard .choices[data-type*=select-one].is-flipped:after{transform:rotate(180deg)}body.rtl .choices[data-type*=select-multiple] .choices__inner{padding-right:4px;padding-left:24px}body.rtl .choices[data-type*=select-multiple]:after{right:auto;left:11.5px}body.rtl .choices__list--single{padding-right:4px;padding-left:16px}body.rtl .choices__list--multiple .choices__item{margin-right:0;margin-left:3.75px}body.rtl .choices__list--multiple .choices__item[data-deletable]{padding-right:10px;padding-left:5px}body.rtl .choices__list--dropdown .choices__item{text-align:right}body.rtl .choices__input{padding-right:2px !important;padding-left:0 !important}body.rtl .choices[data-type*=select-multiple] .choices__button,body.rtl .choices[data-type*=text] .choices__button{margin-right:2px;margin-left:-1px;border-right:1px solid #024b79;border-left:none}@media(min-width: 640px){body.rtl .choices__list--dropdown .choices__item--selectable{text-align:right;padding-left:100px;padding-right:10px}body.rtl .choices__list--dropdown .choices__item--selectable:after{right:auto;left:10px}}.choicesjs-select-wrap{display:block;color:#333}.choicesjs-select-wrap .choices{font-size:16px}.choicesjs-select-wrap .choices__inner{padding:4px 0 0 6px}.choicesjs-select-wrap .choices__inner .choices__list--multiple:not(:empty){margin-right:26px}.choicesjs-select-wrap .choicesjs-select[multiple] option{padding:1.5px 0 0 0}.choicesjs-select-wrap select{max-width:400px}@media(max-width: 1023px){.choicesjs-select-wrap{width:300px}}.choicesjs-select-wrap .choices{position:relative}.choicesjs-select-wrap .choices:after{content:"";position:absolute;top:calc(50% - 6px);right:6px;font-family:dashicons,sans-serif;color:#50575e;border:none;width:16px;height:17px}.choicesjs-select-wrap .choices.is-open:after{margin-top:-1px;transform:rotate(180deg)}.choicesjs-select-wrap .choices[data-type*=select-multiple] .choices__inner{cursor:pointer;align-items:start;padding-top:6px !important}.choicesjs-select-wrap .choices[data-type*=select-multiple] .choices__inner .choices__input{padding:2px 4px !important}.choicesjs-select-wrap .is-focused .choices__inner,.choicesjs-select-wrap .is-open .choices__inner{border-color:#056aab;box-shadow:0 0 0 1px #056aab;outline:none}.choicesjs-select-wrap .is-flipped.is-open .choices__inner{border-color:#056aab;box-shadow:0 0 0 1px #056aab;outline:none}.choicesjs-select-wrap .is-open .choices__list--dropdown{border-color:#056aab;border-top-color:#72757b;border-bottom:0;box-shadow:0 1px 0 1px #056aab}.choicesjs-select-wrap .is-open.is-flipped .choices__list--dropdown{border-top:0;border-bottom:1px solid #72757b;box-shadow:0 -1px 0 1px #056aab}.choices__inner{min-height:36px}#wpcontent{padding-left:0 !important;position:relative}@media screen and (max-width: 600px){#wpcontent{padding-top:46px}}@media screen and (max-width: 600px){#wpbody{padding-top:0}}.sugar-calendar-admin-wrap{margin:0}.sugar-calendar-admin-wrap .notice{margin:0 0 30px}.sugar-calendar-admin-content{padding:30px 30px 0 30px}.sugar-calendar-admin-content *,.sugar-calendar-admin-content *::before,.sugar-calendar-admin-content *::after{box-sizing:border-box}.sugar-calendar-admin-content:before{content:" ";display:table}.sugar-calendar-admin-content:after{clear:both;content:" ";display:table}.sugar-calendar-admin-content hr{border:none;border-top:1px solid #e4e4e4;margin:20px 0;background:none}.sugar-calendar-admin-content code{display:inline-block;padding:0 6px;font-size:12px;line-height:20px;color:#50575e}.sugar-calendar-admin-content strong{font-weight:500}.sugar-calendar-admin-content p.submit{margin:0;padding:30px 0 20px 0;border-top:1px solid #e4e4e4}.sugar-calendar-admin-content p.submit:last-of-type{padding-bottom:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th,.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{vertical-align:top}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th{padding-top:2px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{padding-top:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child h3{margin-top:0}#sugar-calendar-header-temp{margin:0;position:absolute;top:-1px;left:20px;right:0;z-index:99}@media(max-width: 599px){#sugar-calendar-header-temp{padding-top:50px}}#sugar-calendar-header{padding:20px 30px;box-sizing:border-box;border-bottom:1px solid #dcdcde;background-color:#fff;display:flex;align-items:center}#sugar-calendar-header img{display:block;margin:0;max-width:296px}@media(max-width: 768px){#sugar-calendar-header img{max-width:200px}}#sugar-calendar-header a#sugar-calendar-header-help{margin-left:auto;color:#a7aaad;text-decoration:none;font-size:13px;line-height:13px;display:flex;align-items:center}#sugar-calendar-header a#sugar-calendar-header-help:before{content:"";mask-image:url("../images/icons/question-circle.svg");mask-position:center center;background-color:#a7aaad;width:16px;height:16px;margin-right:6px}#sugar-calendar-header a#sugar-calendar-header-help:hover,#sugar-calendar-header a#sugar-calendar-header-help:focus{color:#646970}#sugar-calendar-header a#sugar-calendar-header-help:hover:before,#sugar-calendar-header a#sugar-calendar-header-help:focus:before{background-color:#646970}@media screen and (min-width: 1024px){#sugar-calendar-notice-bar+#sugar-calendar-header-temp{top:34px}}.sugar-calendar-admin-tabs{display:flex;flex-wrap:wrap;gap:30px;margin:0;padding:0 30px;background-color:#fff;list-style:none;font-size:14px;font-weight:400;box-shadow:0 2px 4px 0 rgba(0,0,0,.07)}.sugar-calendar-admin-tabs li{margin:0;padding:0}.sugar-calendar-admin-tabs li a{display:block;padding:23px 0 21px 0;line-height:14px;border-bottom:3px solid #fff;box-shadow:none;color:#2c3338;text-decoration:none}.sugar-calendar-admin-tabs li a:hover,.sugar-calendar-admin-tabs li a:focus,.sugar-calendar-admin-tabs li a.active:focus{color:#2c3338;border-color:#c3c4c7}.sugar-calendar-admin-tabs li a.active{border-color:#ff8845}.sugar-calendar-admin-tabs li a:focus{box-shadow:none}.sugar-calendar-toggle-control{display:flex;align-items:center;margin:0 1px;line-height:1;color:#50575e;font-weight:500;height:25px;box-sizing:border-box}.sugar-calendar-toggle-control input[type=checkbox]{position:absolute;overflow:hidden;height:0;width:0;border:none !important;box-shadow:none !important;margin:0;min-width:0}.sugar-calendar-toggle-control input[type=checkbox]:hover,.sugar-calendar-toggle-control input[type=checkbox]:focus{border:none !important;box-shadow:none !important}.sugar-calendar-toggle-control input[type=checkbox]:hover:not(:disabled)+label.sugar-calendar-toggle-control-icon{background-color:#646970}.sugar-calendar-toggle-control input[type=checkbox]:focus:not(:disabled)+label.sugar-calendar-toggle-control-icon{box-shadow:0 0 0 1px #fff,0 0 0 2px #8c8f94}.sugar-calendar-toggle-control input[type=checkbox]:checked+label.sugar-calendar-toggle-control-icon{background-color:#2271b1}.sugar-calendar-toggle-control input[type=checkbox]:checked+label.sugar-calendar-toggle-control-icon:after{left:calc(100% - 2px);transform:translateX(-100%)}.sugar-calendar-toggle-control input[type=checkbox]:checked:hover:not(:disabled)+label.sugar-calendar-toggle-control-icon{background-color:#0a4b78}.sugar-calendar-toggle-control input[type=checkbox]:checked:focus:not(:disabled)+label.sugar-calendar-toggle-control-icon{box-shadow:0 0 0 1px #fff,0 0 0 2px #2271b1}.sugar-calendar-toggle-control input[type=checkbox]:disabled+label.sugar-calendar-toggle-control-icon{opacity:.5}.sugar-calendar-toggle-control input[type=checkbox]:disabled:hover+label.sugar-calendar-toggle-control-icon,.sugar-calendar-toggle-control input[type=checkbox]:disabled:focus+label.sugar-calendar-toggle-control-icon{box-shadow:none}.sugar-calendar-toggle-control span,.sugar-calendar-toggle-control label{display:inline-block;margin-bottom:0}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-label{padding:0 10px;max-width:calc(100% - 65px)}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status{color:#50575e;font-size:12px;line-height:17px;padding:0 10px;text-transform:uppercase;display:none}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status-on{cursor:pointer}.sugar-calendar-toggle-control input:not(:checked)~.sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control input:checked~.sugar-calendar-toggle-control-status-on{display:inline-block}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-icon{background-color:#8c8f94;border-radius:8.5px;cursor:pointer;display:inline-block;height:17px;position:relative;text-indent:-9999px;width:27px}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-icon:after{background:#fff;border-radius:50%;content:"";height:13px;left:2px;position:absolute;top:2px;width:13px;transition:all .15s ease-out}.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-icon,.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-status-on{cursor:default}.sugar-calendar-btn{border-width:1px;border-style:solid;border-radius:4px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;box-shadow:none;transition:all .05s ease-out}.sugar-calendar-btn.inactive{cursor:no-drop;pointer-events:none;box-shadow:none;opacity:.5}.sugar-calendar-btn-block{display:block;width:100%}.sugar-calendar-btn-sm{font-size:13px;font-weight:500;line-height:28px;padding:0 10px;height:30px}.sugar-calendar-btn-md{font-size:14px;line-height:14px;font-weight:500;padding:10px 15px;min-height:36px}.sugar-calendar-btn-lg{font-size:16px;font-weight:500;padding:11px 17px;min-height:44px}.sugar-calendar-btn-primary{background-color:#ff8845;border-color:#ff8845;color:#fff !important}.sugar-calendar-btn-primary:hover,.sugar-calendar-btn-primary:active,.sugar-calendar-btn-primary:focus{background-color:#cb6d37;border-color:#cb6d37;color:#fff !important}.sugar-calendar-btn-primary:focus{box-shadow:0 0 0 2px #cb6d37;border-color:#fff;outline:0}.sugar-calendar-btn-secondary{background-color:#2271b1;border-color:#2271b1;color:#fff !important}.sugar-calendar-btn-secondary:hover,.sugar-calendar-btn-secondary:focus{background-color:#0a4b78;border-color:#0a4b78;color:#fff !important}.sugar-calendar-btn-secondary:focus{box-shadow:0 0 0 2px #0a4b78;border-color:#fff;outline:0}.sugar-calendar-btn-tertiary{background-color:#f6f7f7;border-color:#8c8f94;color:#50575e !important}.sugar-calendar-btn-tertiary:hover,.sugar-calendar-btn-tertiary:focus{background-color:#f0f0f1;border-color:#50575e;color:#2c3338 !important}.sugar-calendar-btn-tertiary:focus{box-shadow:0 0 0 1px #50575e}.sugar-calendar-btn-green{background-color:#008a20;border:1px solid #008a20;color:#fff !important}.sugar-calendar-btn-green:focus{box-shadow:0 0 0 2px #008a20;border-color:#fff;outline:0}.sugar-calendar-btn-red{background-color:#d63638;border:1px solid #d63638;color:#fff !important}.sugar-calendar-btn-red:focus{box-shadow:0 0 0 2px #d63638;border-color:#fff;outline:0}.sugar-calendar-setting-row{padding:0 0 30px 0;font-size:14px;line-height:1.3}.sugar-calendar-setting-row:first-of-type{padding-top:0}.sugar-calendar-setting-row:last-of-type{padding-bottom:30px}@media(max-width: 767px){.sugar-calendar-setting-row{padding:0 0 20px 0}}.sugar-calendar-setting-row .sugar-calendar-setting-label{display:block;float:left;width:200px;padding:0 10px 0 0}@media(max-width: 767px){.sugar-calendar-setting-row .sugar-calendar-setting-label{float:none;width:100%;padding-bottom:15px}}.sugar-calendar-setting-row .sugar-calendar-setting-label label{color:#2c3338;display:flex;font-weight:500;gap:10px;line-height:20px;margin-top:8px}.sugar-calendar-setting-row .sugar-calendar-setting-field{display:block;margin:0 0 0 200px;max-width:820px;line-height:20px;color:#50575e}@media(max-width: 767px){.sugar-calendar-setting-row .sugar-calendar-setting-field{margin:0;clear:both}}.sugar-calendar-setting-row p{margin:10px 0 0;font-size:14px;line-height:20px;color:#2c3338}.sugar-calendar-setting-row p:first-child{margin-top:0}.sugar-calendar-setting-row p.desc{color:#646970;line-height:20px}.sugar-calendar-setting-row input[type=text],.sugar-calendar-setting-row input[type=password],.sugar-calendar-setting-row input[type=number]{background-color:#fff;border:1px solid #8c8f94;border-radius:4px;box-shadow:none;color:#2c3338;display:inline-block;vertical-align:middle;padding:7px 12px;margin:0;width:400px;min-height:36px;line-height:1.3}.sugar-calendar-setting-row input[type=text]:hover,.sugar-calendar-setting-row input[type=password]:hover,.sugar-calendar-setting-row input[type=number]:hover{color:#2c3338}.sugar-calendar-setting-row input[type=text]:focus,.sugar-calendar-setting-row input[type=password]:focus,.sugar-calendar-setting-row input[type=number]:focus{border-color:#2271b1 !important;box-shadow:0 0 0 1px #2271b1 !important;outline:none !important}.sugar-calendar-setting-row input[type=text]:disabled,.sugar-calendar-setting-row input[type=password]:disabled,.sugar-calendar-setting-row input[type=number]:disabled{opacity:.5}@media(max-width: 1023px){.sugar-calendar-setting-row input[type=text],.sugar-calendar-setting-row input[type=password],.sugar-calendar-setting-row input[type=number]{width:300px}}.sugar-calendar-setting-row select{background-color:#fff;border:1px solid #8c8f94;border-radius:4px;box-shadow:none;color:#2c3338;display:inline-block;vertical-align:middle;padding:7px 12px;margin:0;width:400px;min-height:36px;line-height:1.3;padding:7px 24px 7px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sugar-calendar-setting-row select:hover{color:#2c3338}.sugar-calendar-setting-row select:focus{border-color:#2271b1 !important;box-shadow:0 0 0 1px #2271b1 !important;outline:none !important}.sugar-calendar-setting-row select:disabled{opacity:.5}@media(max-width: 1023px){.sugar-calendar-setting-row select{width:300px}}.sugar-calendar-setting-row input[type=radio]{border:1px solid #8c8f94;margin:1px 10px 0 0}.sugar-calendar-setting-row input[type=radio]::before{background-color:#2271b1}.sugar-calendar-setting-row input[type=radio]:hover{border-color:#2271b1}.sugar-calendar-setting-row input[type=radio]:focus{border-color:#2271b1;box-shadow:0 0 0 1px #2271b1}.sugar-calendar-setting-row input[type=radio]:checked{border-color:#2271b1}.sugar-calendar-setting-row input[type=radio]:checked:hover{border-color:#0a4b78}.sugar-calendar-setting-row input[type=radio]:checked:hover::before{background-color:#0a4b78}.sugar-calendar-setting-row input[type=radio]:checked:focus{box-shadow:0 0 0 1px #0a4b78}.sugar-calendar-setting-row input[type=radio]:disabled{opacity:.5;border:1px solid #8c8f94}.sugar-calendar-setting-row input[type=checkbox]{border:1px solid #8c8f94;margin:1px 10px 0 0}.sugar-calendar-setting-row input[type=checkbox]:hover:not(:disabled){border-color:#2271b1}.sugar-calendar-setting-row input[type=checkbox]:focus:not(:disabled){border-color:#2271b1;box-shadow:0 0 0 1px #2271b1}.sugar-calendar-setting-row input[type=checkbox]:checked{background-color:#2271b1;border-color:#2271b1}.sugar-calendar-setting-row input[type=checkbox]:checked::before{content:"";mask:url(../images/icons/yes.svg) center center no-repeat;background-color:#fff;margin:0;width:100%;height:100%}.sugar-calendar-setting-row input[type=checkbox]:checked:hover:not(:disabled){border-color:#0a4b78;background-color:#0a4b78}.sugar-calendar-setting-row input[type=checkbox]:checked:focus:not(:disabled){box-shadow:0 0 0 1px #fff,0 0 0 2px #0a4b78}.sugar-calendar-setting-row input[type=checkbox]:disabled{opacity:.5}.sugar-calendar-setting-row input[type=checkbox]:disabled:checked::before{opacity:1}.sugar-calendar-setting-row-radio .sugar-calendar-setting-field,.sugar-calendar-setting-row-date_time_format .sugar-calendar-setting-field{padding-top:8px}.sugar-calendar-setting-row-radio .sugar-calendar-setting-field label,.sugar-calendar-setting-row-date_time_format .sugar-calendar-setting-field label{display:inline-block;text-align:center}@media(max-width: 767px){.sugar-calendar-setting-row-radio .sugar-calendar-setting-field label,.sugar-calendar-setting-row-date_time_format .sugar-calendar-setting-field label{margin-top:5px}}.sugar-calendar-setting-row-radio .sugar-calendar-setting-field .sugar-calendar-settings-field-radio-wrapper,.sugar-calendar-setting-row-date_time_format .sugar-calendar-setting-field .sugar-calendar-settings-field-radio-wrapper{align-items:flex-start;display:inline-flex;margin-right:20px}.sugar-calendar-setting-row-radio .sugar-calendar-setting-field .sugar-calendar-settings-field-radio-wrapper input[type=radio],.sugar-calendar-setting-row-date_time_format .sugar-calendar-setting-field .sugar-calendar-settings-field-radio-wrapper input[type=radio]{flex-shrink:0}@media(max-width: 767px){.sugar-calendar-setting-row-radio .sugar-calendar-setting-field,.sugar-calendar-setting-row-date_time_format .sugar-calendar-setting-field{display:flex;flex-direction:column;flex-wrap:wrap;gap:5px}}.sugar-calendar-setting-row-date_time_format .sugar-calendar-setting-field .sugar-calendar-settings-field-radio-wrapper{display:flex;margin-bottom:10px;margin-right:0;width:250px}.sugar-calendar-setting-row-date_time_format .sugar-calendar-setting-field label{display:flex;flex:1;text-align:left}.sugar-calendar-setting-row-date_time_format .sugar-calendar-setting-field label span{flex:1}.sugar-calendar-setting-row-date_time_format .sugar-calendar-setting-field .sugar-calendar-custom-date-time-format{line-height:28px;padding:0 6px;min-height:30px;margin:-5px 0 0;width:75px}.sugar-calendar-setting-row-date_time_format .spinner{float:none;display:inline-block;vertical-align:middle;margin:-3px 0 0 3px}.sugar-calendar-setting-row-select .choicesjs-select-wrap{max-width:400px}.sugar-calendar-setting-row-toggle .sugar-calendar-toggle-control{padding-top:8px}.sugar-calendar-setting-row-heading{padding:30px 0;border-top:1px solid #dcdcde}@media(max-width: 767px){.sugar-calendar-setting-row-heading{padding:25px 0 10px 0}}.sugar-calendar-setting-row-heading h4{margin:0;font-size:22px;font-weight:500;line-height:normal;color:#1d2327}.sugar-calendar-setting-row-heading:first-of-type{border:none}.sugar-calendar-setting-row-heading .sugar-calendar-setting-field{margin:0;max-width:1000px}.sugar-calendar-setting-row-heading .sugar-calendar-setting-field p.desc{line-height:20px;color:#2c3338}#sugar-calendar-setting-row-license-key label{margin-top:0}#sugar-calendar-setting-row-license-key .sugar-calendar-setting-license-wrapper{display:flex}#sugar-calendar-setting-row-license-key .sugar-calendar-setting-license-wrapper input{margin-right:0}#sugar-calendar-setting-row-license-key .sugar-calendar-setting-license-wrapper .sugar-calendar-setting-license-key-wrapper{margin-right:10px}#sugar-calendar-setting-row-license-key .sugar-calendar-license-coupon{font-style:italic}#sugar-calendar-setting-row-license-key .sugar-calendar-license-coupon strong{color:#008a20}.sugar-calendar-setting-row-calendar-feeds .sugar-calendar-setting-field{margin:0;max-width:1000px}.sugar-calendar-setting-row-calendar-feeds .sugar-calendar-setting-field ul{margin:0;width:400px}.sugar-calendar-setting-row-calendar-feeds .sugar-calendar-setting-field ul li{padding:12px 15px;margin:0 0 10px;border-radius:4px;border:1px solid #8c8f94;background:#fff;align-items:flex-start;display:flex}.sugar-calendar-setting-row-calendar-feeds .sugar-calendar-setting-field ul li:last-child{margin-bottom:0}.sugar-calendar-setting-row-calendar-feeds .sugar-calendar-setting-field ul li label{display:inline-block;line-height:16px}@media(max-width: 767px){.sugar-calendar-setting-row-calendar-feeds .sugar-calendar-setting-field ul li label{margin-top:5px}}.sugar-calendar-setting-row-calendar-feeds .sugar-calendar-setting-field ul li input[type=radio]{flex-shrink:0}.sugar-calendar-setting-row-calendar-feeds .sugar-calendar-setting-field ul li i{align-self:center;mask:url(../images/icons/sortable-handle.svg) center 6px no-repeat;background-color:#a7aaad;width:16px;height:16px;margin:0 0 0 auto;cursor:grab}
     1.choices{position:relative;margin-bottom:24px}.choices ::-webkit-input-placeholder{color:#999}.choices ::-moz-placeholder{color:#999;opacity:1}.choices ::placeholder{color:#999}.choices:focus{outline:none}.choices:last-child{margin-bottom:0}.choices.is-disabled .choices__inner,.choices.is-disabled .choices__input{background-color:#bbb;cursor:not-allowed;user-select:none}.choices [hidden]{display:none !important}.choices *{box-sizing:border-box}.choices.is-open .choices__inner{border-radius:4px 4px 0 0}.choices.is-open.is-flipped .choices__inner{border-radius:0 0 4px 4px}.choices[data-type*=select-one]{cursor:pointer}.choices[data-type*=select-one] input.choices__input{display:block;width:calc(100% - 20px) !important;margin:10px !important;padding:7px 12px !important;box-sizing:border-box !important;border:1px solid #8c8f94 !important;border-radius:4px !important;background-color:#fff}.choices[data-type*=select-one] input.choices__input:focus{border:1px solid #056aab !important;box-shadow:0 0 0 1px #056aab !important;outline:none !important}.choices[data-type*=select-one] .choices__button{background-image:url("../images/cross-inverse.svg");padding:0;background-size:8px;position:absolute;top:50%;right:0;margin-top:-10px;margin-right:25px;height:20px;width:20px;border-radius:10em;opacity:.5}.choices[data-type*=select-one] .choices__button:hover,.choices[data-type*=select-one] .choices__button:focus{opacity:1}.choices[data-type*=select-one] .choices__button:focus{box-shadow:0 0 0 2px #036aab}.choices[data-type*=select-one] .choices__item[data-value=""] .choices__button{display:none}.choices[data-type*=select-one]:after{content:"";height:0;width:0;border-style:solid;border-color:currentColor rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);border-width:5px;position:absolute;right:11.5px;top:50%;margin-top:-2.5px;pointer-events:none}.choices[data-type*=select-one].is-open:after{border-color:rgba(0,0,0,0) rgba(0,0,0,0) currentColor rgba(0,0,0,0);margin-top:-7.5px}.choices[data-type*=select-one][dir=rtl]:after{left:11.5px;right:auto}.choices[data-type*=select-one][dir=rtl] .choices__button{right:auto;left:0;margin-left:25px;margin-right:0}.choices[data-type*=select-multiple] .choices__inner{padding-right:24px}.choices[data-type*=select-multiple] .choices__inner .choices__input{padding:0 4px !important}.choices[data-type*=select-multiple]:after{content:"";height:0;width:0;border-style:solid;border-color:currentColor rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);border-width:5px;position:absolute;right:11.5px;top:50%;margin-top:-2.5px;pointer-events:none}.choices[data-type*=select-multiple].is-open:after{border-color:rgba(0,0,0,0) rgba(0,0,0,0) currentColor rgba(0,0,0,0);margin-top:-7.5px}.choices[data-type*=select-multiple] .choices__inner,.choices[data-type*=text] .choices__inner{cursor:text}.choices[data-type*=select-multiple] .choices__button,.choices[data-type*=text] .choices__button{position:relative;display:inline-block;vertical-align:baseline;margin-top:0;margin-bottom:0;margin-left:5px;padding:0;background-color:rgba(0,0,0,0);background-image:url("../images/cross.svg");background-size:12px;background-position:center center;background-repeat:no-repeat;width:12px;height:12px;line-height:1;opacity:.75;border-radius:0}.choices[data-type*=select-multiple] .choices__button:hover,.choices[data-type*=select-multiple] .choices__button:focus,.choices[data-type*=text] .choices__button:hover,.choices[data-type*=text] .choices__button:focus{opacity:1}.choices__inner{display:flex;flex-wrap:wrap;align-items:center;width:100%;background-color:#fff;padding:6px 6px 0;border:1px solid #8c8f94;overflow:hidden;border-radius:4px}.choices__list{margin:0;padding-left:0;list-style:none}.choices__list--single{display:inline-block;vertical-align:baseline;width:100%;padding:0 16px 4px 4px;font-size:.875em}.choices__list--single .choices__item{width:100%;overflow:hidden;text-overflow:ellipsis;padding-right:20px;white-space:nowrap;color:#2c3338}.choices__list--single .choices__item[data-value=""]{padding-right:0}.choices__list--multiple{display:flex;flex-wrap:wrap;align-items:center}.choices__list--multiple .choices__item{display:inline-grid;align-items:center;border-radius:2px;padding:4px 7px;font-size:.75em;line-height:1;font-weight:400;margin:0 6px 4px 0;background-color:#036aab;border:1px solid #036aab;color:#fff;word-break:break-word;grid-template-columns:1fr 17px}.choices__list--multiple .choices__item.is-highlighted{background-color:#036aab}.is-disabled .choices__list--multiple .choices__item{background-color:#bbb;border:1px solid #bbb}.choices__list--dropdown{display:none;z-index:101;position:absolute;width:100%;background-color:#fff;border:1px solid #8c8f94;top:100%;margin-top:-1px;border-bottom-left-radius:4px;border-bottom-right-radius:4px;overflow:hidden;overflow-wrap:break-word}.choices__list--dropdown.is-active{display:block}.choices__list--dropdown .choices__list{position:relative;max-height:300px;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position}.choices__list--dropdown .choices__item{position:relative;vertical-align:top;padding:10px;font-size:.875em}@media(min-width: 640px){.choices__list--dropdown .choices__item--selectable:after{content:attr(data-select-text);font-size:.75em;line-height:1;opacity:0;position:absolute;right:10px;top:50%;transform:translateY(-50%)}}.choices__list--dropdown .choices__item--selectable.is-highlighted{background-color:#f6f6f6}.choices__list--dropdown .choices__item--selectable.is-highlighted:after{opacity:.5}.choices__list--dropdown .choices__placeholder{display:none}.is-flipped .choices__list--dropdown{top:auto;bottom:100%;margin-top:0;margin-bottom:-1px;border-radius:4px 4px 0 0}.choices__item{cursor:default}.choices__item--selectable{cursor:pointer}.choices__item--disabled{cursor:not-allowed;user-select:none;opacity:.5}.choices__heading{font-weight:600;font-size:.75em;text-transform:uppercase;padding:10px;border-top:1px solid #b4b6b9;border-bottom:1px solid #b4b6b9;color:#a6a6a6}.choices__group[data-value=hidden]>.choices__heading{display:none}.choices__button{text-indent:-9999px;-webkit-appearance:none;appearance:none;border:0;background-color:rgba(0,0,0,0);background-repeat:no-repeat;background-position:center;cursor:pointer}.choices__button:focus{outline:none}.choices__input{display:inline-block;background-color:rgba(0,0,0,0);margin:0 0 4px 0 !important;border:0 !important;border-radius:0 !important;max-width:100%;min-height:0 !important;width:auto !important;padding:2px 4px !important;height:auto !important}.choices__input--hidden{clip:rect(1px, 1px, 1px, 1px) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;min-width:auto !important;word-wrap:normal !important}.choices .choices__inner input.choices__input:focus{outline:none !important;box-shadow:none !important;border:none !important}.choices__placeholder{opacity:.5}#wpforms-admin-form-embed-wizard .choices.is-open.is-flipped .choices__inner{border-radius:4px 4px 0 0}#wpforms-admin-form-embed-wizard .is-flipped .choices__list--dropdown{border-radius:inherit}#wpforms-admin-form-embed-wizard .choices[data-type*=select-one]:after{border:none;background:#fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23777%22%2F%3E%3C%2Fsvg%3E) no-repeat center;background-size:16px 16px;cursor:pointer;width:16px;height:16px;top:13px;right:8px;margin-top:0}#wpforms-admin-form-embed-wizard .choices[data-type*=select-one].is-flipped:after{transform:rotate(180deg)}body.rtl .choices[data-type*=select-multiple] .choices__inner{padding-right:4px;padding-left:24px}body.rtl .choices[data-type*=select-multiple]:after{right:auto;left:11.5px}body.rtl .choices__list--single{padding-right:4px;padding-left:16px}body.rtl .choices__list--multiple .choices__item{margin-right:0;margin-left:3.75px}body.rtl .choices__list--multiple .choices__item[data-deletable]{padding-right:10px;padding-left:5px}body.rtl .choices__list--dropdown .choices__item{text-align:right}body.rtl .choices__input{padding-right:2px !important;padding-left:0 !important}body.rtl .choices[data-type*=select-multiple] .choices__button,body.rtl .choices[data-type*=text] .choices__button{margin-right:2px;margin-left:-1px;border-right:1px solid #024b79;border-left:none}@media(min-width: 640px){body.rtl .choices__list--dropdown .choices__item--selectable{text-align:right;padding-left:100px;padding-right:10px}body.rtl .choices__list--dropdown .choices__item--selectable:after{right:auto;left:10px}}.choicesjs-select-wrap{display:block;color:#333}.choicesjs-select-wrap .choices{font-size:16px}.choicesjs-select-wrap .choices__inner{padding:4px 0 0 6px}.choicesjs-select-wrap .choices__inner .choices__list--multiple:not(:empty){margin-right:26px}.choicesjs-select-wrap .choicesjs-select[multiple] option{padding:1.5px 0 0 0}.choicesjs-select-wrap select{max-width:400px}@media(max-width: 1023px){.choicesjs-select-wrap{width:300px}}.choicesjs-select-wrap .choices{position:relative}.choicesjs-select-wrap .choices:after{content:"";position:absolute;top:calc(50% - 6px);right:6px;font-family:dashicons,sans-serif;color:#50575e;border:none;width:16px;height:17px}.choicesjs-select-wrap .choices.is-open:after{margin-top:-1px;transform:rotate(180deg)}.choicesjs-select-wrap .choices[data-type*=select-multiple] .choices__inner{cursor:pointer;align-items:start;padding-top:6px !important}.choicesjs-select-wrap .choices[data-type*=select-multiple] .choices__inner .choices__input{padding:2px 4px !important}.choicesjs-select-wrap .is-focused .choices__inner,.choicesjs-select-wrap .is-open .choices__inner{border-color:#056aab;box-shadow:0 0 0 1px #056aab;outline:none}.choicesjs-select-wrap .is-flipped.is-open .choices__inner{border-color:#056aab;box-shadow:0 0 0 1px #056aab;outline:none}.choicesjs-select-wrap .is-open .choices__list--dropdown{border-color:#056aab;border-top-color:#72757b;border-bottom:0;box-shadow:0 1px 0 1px #056aab}.choicesjs-select-wrap .is-open.is-flipped .choices__list--dropdown{border-top:0;border-bottom:1px solid #72757b;box-shadow:0 -1px 0 1px #056aab}.choices__inner{min-height:36px}#wpcontent{padding-left:0 !important;position:relative}@media screen and (max-width: 600px){#wpcontent{padding-top:46px}}@media screen and (max-width: 600px){#wpbody{padding-top:0}}.sugar-calendar-admin-wrap{margin:0}.sugar-calendar-admin-wrap .notice{margin:0 0 15px}.sugar-calendar-admin-content{padding:30px 30px 0 30px}.sugar-calendar-admin-content *,.sugar-calendar-admin-content *::before,.sugar-calendar-admin-content *::after{box-sizing:border-box}.sugar-calendar-admin-content:before{content:" ";display:table}.sugar-calendar-admin-content:after{clear:both;content:" ";display:table}.sugar-calendar-admin-content hr{border:none;border-top:1px solid #e4e4e4;margin:20px 0;background:none}.sugar-calendar-admin-content code{display:inline-block;padding:0 6px;font-size:12px;line-height:20px;color:#50575e}.sugar-calendar-admin-content strong{font-weight:500}.sugar-calendar-admin-content p.submit{margin:0;padding:30px 0 20px 0;border-top:1px solid #e4e4e4}.sugar-calendar-admin-content p.submit:last-of-type{padding-bottom:0}.sugar-calendar-admin-content .sugar-calendar-admin-content__settings-form{padding-top:15px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th,.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{vertical-align:top}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th{padding-top:2px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{padding-top:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child h3{margin-top:0}#sugar-calendar-header-temp{margin:0;position:absolute;top:-1px;left:20px;right:0;z-index:99}@media(max-width: 599px){#sugar-calendar-header-temp{padding-top:50px}}#sugar-calendar-header{padding:20px 30px;box-sizing:border-box;border-bottom:1px solid #dcdcde;background-color:#fff;display:flex;align-items:center}#sugar-calendar-header img{display:block;margin:0;max-width:296px}@media(max-width: 768px){#sugar-calendar-header img{max-width:200px}}#sugar-calendar-header a#sugar-calendar-header-help{margin-left:auto;color:#a7aaad;text-decoration:none;font-size:13px;line-height:13px;display:flex;align-items:center}#sugar-calendar-header a#sugar-calendar-header-help:before{content:"";mask-image:url("../images/icons/question-circle.svg");mask-position:center center;background-color:#a7aaad;width:16px;height:16px;margin-right:6px}#sugar-calendar-header a#sugar-calendar-header-help:hover,#sugar-calendar-header a#sugar-calendar-header-help:focus{color:#646970}#sugar-calendar-header a#sugar-calendar-header-help:hover:before,#sugar-calendar-header a#sugar-calendar-header-help:focus:before{background-color:#646970}@media screen and (min-width: 1024px){#sugar-calendar-notice-bar+#sugar-calendar-header-temp{top:34px}}.sugar-calendar-admin-tabs{display:flex;flex-wrap:wrap;gap:30px;margin:0;padding:0 30px;background-color:#fff;list-style:none;font-size:14px;font-weight:400;box-shadow:0 2px 4px 0 rgba(0,0,0,.07)}.sugar-calendar-admin-tabs li{margin:0;padding:0}.sugar-calendar-admin-tabs li a{display:block;padding:23px 0 21px 0;line-height:14px;border-bottom:3px solid #fff;box-shadow:none;color:#2c3338;text-decoration:none}.sugar-calendar-admin-tabs li a:hover,.sugar-calendar-admin-tabs li a:focus,.sugar-calendar-admin-tabs li a.active:focus{color:#2c3338;border-color:#c3c4c7}.sugar-calendar-admin-tabs li a.active{border-color:#ff8845}.sugar-calendar-admin-tabs li a:focus{box-shadow:none}.sugar-calendar-toggle-control{display:flex;align-items:center;margin:0 1px;line-height:1;color:#50575e;font-weight:500;height:25px;box-sizing:border-box}.sugar-calendar-toggle-control input[type=checkbox]{position:absolute;overflow:hidden;height:0;width:0;border:none !important;box-shadow:none !important;margin:0;min-width:0}.sugar-calendar-toggle-control input[type=checkbox]:hover,.sugar-calendar-toggle-control input[type=checkbox]:focus{border:none !important;box-shadow:none !important}.sugar-calendar-toggle-control input[type=checkbox]:hover:not(:disabled)+label.sugar-calendar-toggle-control-icon{background-color:#646970}.sugar-calendar-toggle-control input[type=checkbox]:focus:not(:disabled)+label.sugar-calendar-toggle-control-icon{box-shadow:0 0 0 1px #fff,0 0 0 2px #8c8f94}.sugar-calendar-toggle-control input[type=checkbox]:checked+label.sugar-calendar-toggle-control-icon{background-color:#2271b1}.sugar-calendar-toggle-control input[type=checkbox]:checked+label.sugar-calendar-toggle-control-icon:after{left:calc(100% - 2px);transform:translateX(-100%)}.sugar-calendar-toggle-control input[type=checkbox]:checked:hover:not(:disabled)+label.sugar-calendar-toggle-control-icon{background-color:#0a4b78}.sugar-calendar-toggle-control input[type=checkbox]:checked:focus:not(:disabled)+label.sugar-calendar-toggle-control-icon{box-shadow:0 0 0 1px #fff,0 0 0 2px #2271b1}.sugar-calendar-toggle-control input[type=checkbox]:disabled+label.sugar-calendar-toggle-control-icon{opacity:.5}.sugar-calendar-toggle-control input[type=checkbox]:disabled:hover+label.sugar-calendar-toggle-control-icon,.sugar-calendar-toggle-control input[type=checkbox]:disabled:focus+label.sugar-calendar-toggle-control-icon{box-shadow:none}.sugar-calendar-toggle-control span,.sugar-calendar-toggle-control label{display:inline-block;margin-bottom:0}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-label{padding:0 10px;max-width:calc(100% - 65px)}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status{color:#50575e;font-size:12px;line-height:17px;padding:0 10px;text-transform:uppercase;display:none}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status-on{cursor:pointer}.sugar-calendar-toggle-control input:not(:checked)~.sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control input:checked~.sugar-calendar-toggle-control-status-on{display:inline-block}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-icon{background-color:#8c8f94;border-radius:8.5px;cursor:pointer;display:inline-block;height:17px;position:relative;text-indent:-9999px;width:27px}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-icon:after{background:#fff;border-radius:50%;content:"";height:13px;left:2px;position:absolute;top:2px;width:13px;transition:all .15s ease-out}.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-icon,.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-status-on{cursor:default}.sugar-calendar-btn{border-width:1px;border-style:solid;border-radius:4px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;box-shadow:none;transition:all .05s ease-out}.sugar-calendar-btn.inactive{cursor:no-drop;pointer-events:none;box-shadow:none;opacity:.5}.sugar-calendar-btn-block{display:block;width:100%}.sugar-calendar-btn-sm{font-size:13px;font-weight:500;line-height:28px;padding:0 10px;height:30px}.sugar-calendar-btn-md{font-size:14px;line-height:14px;font-weight:500;padding:10px 15px;min-height:36px}.sugar-calendar-btn-lg{font-size:16px;font-weight:500;padding:11px 17px;min-height:44px}.sugar-calendar-btn-primary{background-color:#ff8845;border-color:#ff8845;color:#fff !important}.sugar-calendar-btn-primary:hover,.sugar-calendar-btn-primary:active,.sugar-calendar-btn-primary:focus{background-color:#cb6d37;border-color:#cb6d37;color:#fff !important}.sugar-calendar-btn-primary:focus{box-shadow:0 0 0 2px #cb6d37;border-color:#fff;outline:0}.sugar-calendar-btn-secondary{background-color:#2271b1;border-color:#2271b1;color:#fff !important}.sugar-calendar-btn-secondary:hover,.sugar-calendar-btn-secondary:focus{background-color:#0a4b78;border-color:#0a4b78;color:#fff !important}.sugar-calendar-btn-secondary:focus{box-shadow:0 0 0 2px #0a4b78;border-color:#fff;outline:0}.sugar-calendar-btn-tertiary{background-color:#f6f7f7;border-color:#8c8f94;color:#50575e !important}.sugar-calendar-btn-tertiary:hover,.sugar-calendar-btn-tertiary:focus{background-color:#f0f0f1;border-color:#50575e;color:#2c3338 !important}.sugar-calendar-btn-tertiary:focus{box-shadow:0 0 0 1px #50575e}.sugar-calendar-btn-green{background-color:#008a20;border:1px solid #008a20;color:#fff !important}.sugar-calendar-btn-green:focus{box-shadow:0 0 0 2px #008a20;border-color:#fff;outline:0}.sugar-calendar-btn-red{background-color:#d63638;border:1px solid #d63638;color:#fff !important}.sugar-calendar-btn-red:focus{box-shadow:0 0 0 2px #d63638;border-color:#fff;outline:0}.sugar-calendar-setting-row{padding:0 0 30px 0;font-size:14px;line-height:1.3}.sugar-calendar-setting-row:first-of-type{padding-top:0}.sugar-calendar-setting-row:last-of-type{padding-bottom:30px}@media(max-width: 767px){.sugar-calendar-setting-row{padding:0 0 20px 0}}.sugar-calendar-setting-row .sugar-calendar-setting-label{display:block;float:left;width:200px;padding:0 10px 0 0}@media(max-width: 767px){.sugar-calendar-setting-row .sugar-calendar-setting-label{float:none;width:100%;padding-bottom:15px}}.sugar-calendar-setting-row .sugar-calendar-setting-label label{color:#2c3338;display:flex;font-weight:500;gap:10px;line-height:20px;margin-top:8px}.sugar-calendar-setting-row .sugar-calendar-setting-field{display:block;margin:0 0 0 200px;max-width:820px;line-height:20px;color:#50575e}@media(max-width: 767px){.sugar-calendar-setting-row .sugar-calendar-setting-field{margin:0;clear:both}}.sugar-calendar-setting-row p{margin:10px 0 0;font-size:14px;line-height:20px;color:#2c3338}.sugar-calendar-setting-row p:first-child{margin-top:0}.sugar-calendar-setting-row p.desc{color:#646970;line-height:20px}.sugar-calendar-setting-row input[type=text],.sugar-calendar-setting-row input[type=password],.sugar-calendar-setting-row input[type=number]{background-color:#fff;border:1px solid #8c8f94;border-radius:4px;box-shadow:none;color:#2c3338;display:inline-block;vertical-align:middle;padding:7px 12px;margin:0;width:400px;min-height:36px;line-height:1.3}.sugar-calendar-setting-row input[type=text]:hover,.sugar-calendar-setting-row input[type=password]:hover,.sugar-calendar-setting-row input[type=number]:hover{color:#2c3338}.sugar-calendar-setting-row input[type=text]:focus,.sugar-calendar-setting-row input[type=password]:focus,.sugar-calendar-setting-row input[type=number]:focus{border-color:#2271b1 !important;box-shadow:0 0 0 1px #2271b1 !important;outline:none !important}.sugar-calendar-setting-row input[type=text]:disabled,.sugar-calendar-setting-row input[type=password]:disabled,.sugar-calendar-setting-row input[type=number]:disabled{opacity:.5}@media(max-width: 1023px){.sugar-calendar-setting-row input[type=text],.sugar-calendar-setting-row input[type=password],.sugar-calendar-setting-row input[type=number]{width:300px}}.sugar-calendar-setting-row select{background-color:#fff;border:1px solid #8c8f94;border-radius:4px;box-shadow:none;color:#2c3338;display:inline-block;vertical-align:middle;padding:7px 12px;margin:0;width:400px;min-height:36px;line-height:1.3;padding:7px 24px 7px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sugar-calendar-setting-row select:hover{color:#2c3338}.sugar-calendar-setting-row select:focus{border-color:#2271b1 !important;box-shadow:0 0 0 1px #2271b1 !important;outline:none !important}.sugar-calendar-setting-row select:disabled{opacity:.5}@media(max-width: 1023px){.sugar-calendar-setting-row select{width:300px}}.sugar-calendar-setting-row input[type=radio]{border:1px solid #8c8f94;margin:1px 10px 0 0}.sugar-calendar-setting-row input[type=radio]::before{background-color:#2271b1}.sugar-calendar-setting-row input[type=radio]:hover{border-color:#2271b1}.sugar-calendar-setting-row input[type=radio]:focus{border-color:#2271b1;box-shadow:0 0 0 1px #2271b1}.sugar-calendar-setting-row input[type=radio]:checked{border-color:#2271b1}.sugar-calendar-setting-row input[type=radio]:checked:hover{border-color:#0a4b78}.sugar-calendar-setting-row input[type=radio]:checked:hover::before{background-color:#0a4b78}.sugar-calendar-setting-row input[type=radio]:checked:focus{box-shadow:0 0 0 1px #0a4b78}.sugar-calendar-setting-row input[type=radio]:disabled{opacity:.5;border:1px solid #8c8f94}.sugar-calendar-setting-row input[type=checkbox]{border:1px solid #8c8f94;margin:1px 10px 0 0}.sugar-calendar-setting-row input[type=checkbox]:hover:not(:disabled){border-color:#2271b1}.sugar-calendar-setting-row input[type=checkbox]:focus:not(:disabled){border-color:#2271b1;box-shadow:0 0 0 1px #2271b1}.sugar-calendar-setting-row input[type=checkbox]:checked{background-color:#2271b1;border-color:#2271b1}.sugar-calendar-setting-row input[type=checkbox]:checked::before{content:"";mask:url(../images/icons/yes.svg) center center no-repeat;background-color:#fff;margin:0;width:100%;height:100%}.sugar-calendar-setting-row input[type=checkbox]:checked:hover:not(:disabled){border-color:#0a4b78;background-color:#0a4b78}.sugar-calendar-setting-row input[type=checkbox]:checked:focus:not(:disabled){box-shadow:0 0 0 1px #fff,0 0 0 2px #0a4b78}.sugar-calendar-setting-row input[type=checkbox]:disabled{opacity:.5}.sugar-calendar-setting-row input[type=checkbox]:disabled:checked::before{opacity:1}.sugar-calendar-setting-row-radio .sugar-calendar-setting-field,.sugar-calendar-setting-row-date_time_format .sugar-calendar-setting-field{padding-top:8px}.sugar-calendar-setting-row-radio .sugar-calendar-setting-field label,.sugar-calendar-setting-row-date_time_format .sugar-calendar-setting-field label{display:inline-block;text-align:center}@media(max-width: 767px){.sugar-calendar-setting-row-radio .sugar-calendar-setting-field label,.sugar-calendar-setting-row-date_time_format .sugar-calendar-setting-field label{margin-top:5px}}.sugar-calendar-setting-row-radio .sugar-calendar-setting-field .sugar-calendar-settings-field-radio-wrapper,.sugar-calendar-setting-row-date_time_format .sugar-calendar-setting-field .sugar-calendar-settings-field-radio-wrapper{align-items:flex-start;display:inline-flex;margin-right:20px}.sugar-calendar-setting-row-radio .sugar-calendar-setting-field .sugar-calendar-settings-field-radio-wrapper input[type=radio],.sugar-calendar-setting-row-date_time_format .sugar-calendar-setting-field .sugar-calendar-settings-field-radio-wrapper input[type=radio]{flex-shrink:0}@media(max-width: 767px){.sugar-calendar-setting-row-radio .sugar-calendar-setting-field,.sugar-calendar-setting-row-date_time_format .sugar-calendar-setting-field{display:flex;flex-direction:column;flex-wrap:wrap;gap:5px}}.sugar-calendar-setting-row-date_time_format .sugar-calendar-setting-field .sugar-calendar-settings-field-radio-wrapper{display:flex;margin-bottom:10px;margin-right:0;width:250px}.sugar-calendar-setting-row-date_time_format .sugar-calendar-setting-field label{display:flex;flex:1;text-align:left}.sugar-calendar-setting-row-date_time_format .sugar-calendar-setting-field label span{flex:1}.sugar-calendar-setting-row-date_time_format .sugar-calendar-setting-field .sugar-calendar-custom-date-time-format{line-height:28px;padding:0 6px;min-height:30px;margin:-5px 0 0;width:75px}.sugar-calendar-setting-row-date_time_format .spinner{float:none;display:inline-block;vertical-align:middle;margin:-3px 0 0 3px}.sugar-calendar-setting-row-select .choicesjs-select-wrap{max-width:400px}.sugar-calendar-setting-row-toggle .sugar-calendar-toggle-control{padding-top:8px}.sugar-calendar-setting-row-heading{padding:30px 0;border-top:1px solid #dcdcde}@media(max-width: 767px){.sugar-calendar-setting-row-heading{padding:25px 0 10px 0}}.sugar-calendar-setting-row-heading h4{margin:0;font-size:22px;font-weight:500;line-height:normal;color:#1d2327}.sugar-calendar-setting-row-heading:first-of-type{border:none}.sugar-calendar-setting-row-heading .sugar-calendar-setting-field{margin:0;max-width:1000px}.sugar-calendar-setting-row-heading .sugar-calendar-setting-field p.desc{line-height:20px;color:#2c3338}#sugar-calendar-setting-row-license-key label{margin-top:0}#sugar-calendar-setting-row-license-key .sugar-calendar-setting-license-wrapper{display:flex}#sugar-calendar-setting-row-license-key .sugar-calendar-setting-license-wrapper input{margin-right:0}#sugar-calendar-setting-row-license-key .sugar-calendar-setting-license-wrapper .sugar-calendar-setting-license-key-wrapper{margin-right:10px}#sugar-calendar-setting-row-license-key .sugar-calendar-license-coupon{font-style:italic}#sugar-calendar-setting-row-license-key .sugar-calendar-license-coupon strong{color:#008a20}.sugar-calendar-setting-row-calendar-feeds .sugar-calendar-setting-field{margin:0;max-width:1000px}.sugar-calendar-setting-row-calendar-feeds .sugar-calendar-setting-field ul{margin:0;width:400px}.sugar-calendar-setting-row-calendar-feeds .sugar-calendar-setting-field ul li{padding:12px 15px;margin:0 0 10px;border-radius:4px;border:1px solid #8c8f94;background:#fff;align-items:flex-start;display:flex}.sugar-calendar-setting-row-calendar-feeds .sugar-calendar-setting-field ul li:last-child{margin-bottom:0}.sugar-calendar-setting-row-calendar-feeds .sugar-calendar-setting-field ul li label{display:inline-block;line-height:16px}@media(max-width: 767px){.sugar-calendar-setting-row-calendar-feeds .sugar-calendar-setting-field ul li label{margin-top:5px}}.sugar-calendar-setting-row-calendar-feeds .sugar-calendar-setting-field ul li input[type=radio]{flex-shrink:0}.sugar-calendar-setting-row-calendar-feeds .sugar-calendar-setting-field ul li i{align-self:center;mask:url(../images/icons/sortable-handle.svg) center 6px no-repeat;background-color:#a7aaad;width:16px;height:16px;margin:0 0 0 auto;cursor:grab}
  • sugar-calendar-lite/trunk/assets/css/features/event-ticketing/admin-order.css

    r3112525 r3118281  
    122122}
    123123.sugar-calendar-admin-wrap .notice {
    124   margin: 0 0 30px;
     124  margin: 0 0 15px;
    125125}
    126126
     
    165165.sugar-calendar-admin-content p.submit:last-of-type {
    166166  padding-bottom: 0;
     167}
     168.sugar-calendar-admin-content .sugar-calendar-admin-content__settings-form {
     169  padding-top: 15px;
    167170}
    168171
     
    525528  border: none;
    526529}
    527 /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3NzL2FkbWluL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19mb3Jtcy5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX21peGlucy5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX2dlbmVyYWwuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19oZWFkZXIuc2NzcyIsImFzc2V0cy9zY3NzL3ZlbmRvci9faW5jbHVkZS1tZWRpYS5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX2J1dHRvbnMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19zdWJoZWFkZXIuc2NzcyIsImFzc2V0cy9zY3NzL2ZlYXR1cmVzL2V2ZW50LXRpY2tldGluZy9hZG1pbi1vcmRlci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0FBNERBO0FDc0VBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPRHRIa0I7RUN1SGxCO0VBQ0E7RUFDQTs7QUFFQTtFQ3JJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRGlJQztFQUVDO0VBQ0E7O0FBSUE7RUFDQyxrQkRySWU7O0FDMEloQjtFQUNDOztBQUtEO0VBQ0Msa0JEekprQjs7QUMySmxCO0VBQ0M7RUFDQTs7QUFLRDtFQUNDLGtCRGpLaUI7O0FDc0tsQjtFQUNDOztBQU1GO0VBQ0M7O0FBS0E7RUFDQzs7QUFNSjtBQUFBO0VBRUM7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7O0FBR0Q7RUFDQyxPRGpNaUI7RUNrTWpCLFdEbEdrQjtFQ21HbEI7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7QUFBQTtFQUVDOztBQUdEO0FBQUE7RUFFQzs7QUFHRDtFQUNDLGtCRGxOaUI7RUNtTmpCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0MsWURsTm1CO0VDbU5uQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlGO0FBQUE7QUFBQTtFQUdDOzs7QUU3UEY7RUFDQztFQUNBOztBQUVBO0VBSkQ7SUFLRTs7OztBQUtEO0VBREQ7SUFFRTs7OztBQUtGO0VBQ0M7O0FBRUE7RUFDQzs7O0FBS0Y7RUFDQzs7QUFFQTtBQUFBO0FBQUE7RUFHQzs7QUFHRDtFQUNDO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT0h6Q2lCOztBRzRDbEI7RUFDQzs7QUFJQTtFQUNDO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOzs7QUFZQTtBQUFBO0VBRUM7O0FBR0Q7RUFDQzs7QUFHRDtFQUNDOztBQUdEO0VBQ0M7OztBQ2xHTDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUN5bEJHO0VEL2xCSjtJQVNFOzs7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQSxrQkpZcUI7RUlYckI7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTs7QUN1a0JFO0VEMWtCSDtJQU1FOzs7QUFJRjtFQUNDO0VBQ0EsT0paaUI7RUlhakI7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBLGtCSnZCZ0I7RUl3QmhCO0VBQ0E7RUFDQTs7QUFHRDtFQUVDLE9KbENnQjs7QUlvQ2hCO0VBQ0Msa0JKckNlOzs7QUkyQ25CO0VBQ0M7SUFDQzs7O0FFaEVGO0VBQ0M7RUFDQTtFQUNBLGVORFc7RU1FWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDQztFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQyxrQk4xQ3VCO0VNMkN2QixjTjNDdUI7RU00Q3ZCOztBQUVBO0VBQ0Msa0JOOUNzQjtFTStDdEIsY04vQ3NCO0VNZ0R0Qjs7QUFHRDtFQUNDO0VBQ0EsY05qQ29CO0VNa0NwQjs7O0FBSUY7RUFDQyxrQk4xRHFCO0VNMkRyQixjTjNEcUI7RU00RHJCOztBQUVBO0VBQ0Msa0JON0RvQjtFTThEcEIsY045RG9CO0VNK0RwQjs7QUFHRDtFQUNDO0VBQ0EsY05uRG9CO0VNb0RwQjs7O0FBSUY7RUFDQyxrQk4xRGlCO0VNMkRqQixjTnBFa0I7RU1xRWxCOztBQUVBO0VBQ0Msa0JOaEVnQjtFTWlFaEIsY04zRWlCO0VNNEVqQjs7QUFHRDtFQUNDOzs7QUFJRjtFQUNDLGtCTjdFd0I7RU04RXhCO0VBQ0E7O0FBRUE7RUFDQztFQUNBLGNOL0VvQjtFTWdGcEI7OztBQUlGO0VBQ0Msa0JOM0ZzQjtFTTRGdEI7RUFDQTs7QUFFQTtFQUNDO0VBQ0EsY04zRm9CO0VNNEZwQjs7O0FDMUhGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JQdUJxQjtFT3RCckI7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7RUFHQzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBLE9QVmtCO0VPV2xCOztBQUdEO0VBQ0MsYVB2Qlc7O0FPeUJYO0VBQ0M7RUFDQTtFQUNBO0VBQ0Esa0JQTG1CO0VPTW5CO0VBQ0E7RUFDQTs7O0FDNUJEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUY7RUFDQzs7QUFJQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT1JoQmdCO0VRaUJoQjs7QUFHRDtFQUNDLGVSOUJVOztBUWdDVjtFQUNDLGFSakNTOztBUW9DVjtFQUNDLGtCUlRrQjtFUVVsQjtFQUNBOztBQUVBO0VBQ0M7RUFDQSxjUm5CaUI7RVFvQmpCOztBQUtIO0VBQ0M7RUFDQTtFQUNBLGVScERVOztBUXNEVjtFQUNDO0VBQ0E7RUFDQTtFQUNBLGtCUmxDa0I7O0FRb0NsQjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPUnhEYzs7QVE0RGhCO0VBQ0M7RUFDQTtFQUNBO0VBQ0Esa0JSbERrQjtFUW1EbEI7O0FBRUE7RUFDQztFQUNBOztBQUVBO0VBQ0Msa0JSaERpQjs7QVFtRGxCO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9SakZhO0VRa0ZiOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9SekZhO0VRMEZiOztBQUVBO0VBQ0M7O0FBR0Q7RVBsSEwsa0JEOEJxQjtFQzdCckI7RUFDQTtFQUNBO0VBQ0EsT0RZa0I7RUNYbEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUF3QkE7RUFDQTtFQUNBO0VBQ0E7O0FBekJBO0VBQ0MsT0RFaUI7O0FDQ2xCO0VBQ0M7RUFDQTtFQUNBOztBQUdEO0VBQ0M7O0FJd2tCRTtFRzllRTtJUHRGSjs7O0FPNEZFO0VBQ0MiLCJmaWxlIjoiYXNzZXRzL2Nzcy9mZWF0dXJlcy9ldmVudC10aWNrZXRpbmcvYWRtaW4tb3JkZXIuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQWRtaW4gdmFyaWFibGVzLlxuXG4vKiBWYXJpYWJsZXMgICovXG4kcmFkaXVzLW1kOiA0cHg7XG4kcmFkaXVzLWxnOiA2cHg7XG4kcmFkaXVzLXNtOiAzcHg7XG4kc3BhY2luZy1zbTogMTBweDtcbiRzcGFjaW5nLW1kOiAyMHB4O1xuJHNwYWNpbmctbGc6IDMwcHg7XG4kc3BhY2luZy14bDogNTBweDtcbiRjb2xvci1icmFuZC1vcmFuZ2UtNTA6ICNGRjg4NDVGRjtcbiRjb2xvci1icmFuZC1vcmFuZ2UtNzA6ICNDQjZEMzdGRjtcbiRjb2xvci1icmFuZC1ibHVlLTUwOiAjMjI3MUIxRkY7XG4kY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtNTA6ICMwMEEwRDJGRjtcbiRjb2xvci1icmFuZC1ibHVlLTcwOiAjMEE0Qjc4RkY7XG4kY29sb3ItbmV1dHJhbC0xMDA6ICMxMDE1MTc7XG4kY29sb3ItbmV1dHJhbC05MDogIzFEMjMyN0ZGO1xuJGNvbG9yLW5ldXRyYWwtODA6ICMyQzMzMzhGRjtcbiRjb2xvci1uZXV0cmFsLTcwOiAjM0M0MzRBRkY7XG4kY29sb3ItbmV1dHJhbC02MDogIzUwNTc1RUZGO1xuJGNvbG9yLW5ldXRyYWwtNTA6ICM2NDY5NzBGRjtcbiRjb2xvci1uZXV0cmFsLTMwOiAjOEM4Rjk0RkY7XG4kY29sb3ItbmV1dHJhbC0xMDogI0MzQzRDN0ZGO1xuJGNvbG9yLW5ldXRyYWwtMjA6ICNBN0FBQURGRjtcbiRjb2xvci1uZXV0cmFsLTU6ICNEQ0RDREVGRjtcbiRjb2xvci11dGlsaXR5LXJlZC01MDogI0Q2MzYzOEZGO1xuJGNvbG9yLXV0aWxpdHkteWVsbG93LTUwOiAjREJBNjE3RkY7XG4kY29sb3ItdXRpbGl0eS1ncmVlbi01MDogIzAwOEEyMEZGO1xuJHJhZGl1cy14bDogOXB4O1xuJGNvbG9yLW5ldXRyYWwtMzogI0YwRjBGMUZGO1xuJGNvbG9yLW5ldXRyYWwtMDogI0Y2RjdGN0ZGO1xuJGNvbG9yLXV0aWxpdHktd2hpdGU6ICNGRkZGRkZGRjtcbiRjb2xvci1icmFuZC1vcmFuZ2UtMDogI0ZGRjNFQ0ZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTA6ICNFNUY1RkFGRjtcbiRjb2xvci11dGlsaXR5LWdyZWVuLTA6ICNFREZBRUZGRjtcbiRjb2xvci11dGlsaXR5LXJlZC0wOiAjRkNGMEYxRkY7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTMwOiAjRkZBMDZBRkY7XG4kY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtMzA6ICM2NkM2RTRGRjtcbiRjb2xvci11dGlsaXR5LWdyZWVuLTMwOiAjMDBCQTM3RkY7XG4kY29sb3ItdXRpbGl0eS1yZWQtMzA6ICNGODYzNjhGRjtcbiRjb2xvci13b3JkcHJlc3MtYmx1ZTogIzIyNzFCMUZGO1xuJGNvbG9yLXV0aWxpdHktZ3JheS0wOiAjRjZGNkY2RkY7XG4kY29sb3ItYWNjZW50LW9yYW5nZS01MDogI0ZFOUU2OEZGO1xuJGNvbG9yLWFjY2VudC1vcmFuZ2UtMDogI0ZGRjBFOEZGO1xuJGNvbG9yLWFjY2VudC1yZWQtNTA6ICNGRjczNjhGRjtcbiRjb2xvci1hY2NlbnQtcmVkLTA6ICNGRkVBRThGRjtcbiRjb2xvci1hY2NlbnQtcGluay01MDogI0RGNUI5QUZGO1xuJGNvbG9yLWFjY2VudC1waW5rLTA6ICNGQUU2RjBGRjtcbiRjb2xvci1hY2NlbnQtcHVycGxlLTUwOiAjODY1OUMyRkY7XG4kY29sb3ItYWNjZW50LXB1cnBsZS0wOiAjRURFNkY2RkY7XG4kY29sb3ItYWNjZW50LWJsdWUtNTA6ICM1Njg1QkRGRjtcbiRjb2xvci1hY2NlbnQtYmx1ZS0wOiAjRTZFREY1RkY7XG4kY29sb3ItYWNjZW50LXRlYWwtNTA6ICM0QkI5QTdGRjtcbiRjb2xvci1hY2NlbnQtdGVhbC0wOiAjRTRGNUYyRkY7XG4kY29sb3ItYWNjZW50LWdyZWVuLTUwOiAjNTdENDY2RkY7XG4kY29sb3ItYWNjZW50LWdyZWVuLTA6ICNFNkY5RThGRjtcbiRjb2xvci1hY2NlbnQteWVsbG93LTUwOiAjRkZDNDY5RkY7XG4kY29sb3ItYWNjZW50LXllbGxvdy0wOiAjRkZGNkU5RkY7XG4kY2FsZW5kYXItdGV4dC1wcmltYXJ5OiAjMDAwMDAwRDk7XG4kY2FsZW5kYXItdGV4dC10ZXJ0aWFyeTogIzAwMDAwMDY2O1xuJGNhbGVuZGFyLWJhY2tncm91bmQ6ICMwMDAwMDAwODtcblxuLyogQWxpYXNlcyAgKi9cbiR0ZXh0LXRleHQtcHJpbWFyeTogJGNvbG9yLW5ldXRyYWwtODA7XG4kdGV4dC10ZXh0LXNlY29uZGFyeTogJGNvbG9yLW5ldXRyYWwtNjA7XG4kdGV4dC10ZXh0LXRlcnRpYXJ5OiAkY29sb3ItbmV1dHJhbC01MDtcbiR0ZXh0LXRleHQtaGVhZGluZzogJGNvbG9yLW5ldXRyYWwtOTA7XG4kdGV4dC10ZXh0LXRpdGxlOiAkY29sb3ItbmV1dHJhbC0xMDA7XG4kYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtb3JhbmdlLTUwO1xuJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtYmx1ZS01MDtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1iYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC0wO1xuJGZpZWxkcy1maWVsZC1ib3JkZXI6ICRjb2xvci1uZXV0cmFsLTMwO1xuJHN1cmZhY2Utc3VyZmFjZS1ib3JkZXI6ICRjb2xvci1uZXV0cmFsLTEwO1xuJHN1cmZhY2Utc3VyZmFjZS1kaXZpZGVyOiAkY29sb3ItbmV1dHJhbC01O1xuJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC0taG92ZXI6ICRjb2xvci1icmFuZC1vcmFuZ2UtNzA7XG4kYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyOiAkY29sb3ItYnJhbmQtYmx1ZS03MDtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXI6ICRjb2xvci1uZXV0cmFsLTMwO1xuJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktdGV4dDogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG4kYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LXRleHQ6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LXRleHQ6ICRjb2xvci1uZXV0cmFsLTYwO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlci0taG92ZXI6ICRjb2xvci1uZXV0cmFsLTYwO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQtLS1ob3ZlcjogJGNvbG9yLW5ldXRyYWwtMztcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0LS1ob3ZlcjogJGNvbG9yLW5ldXRyYWwtODA7XG4kYnV0dG9ucy1idXR0b24td3AtcHJpbWFyeS1iYWNrZ3JvdW5kOiAjMjI3MUIxO1xuJHRleHQtdGV4dC1saW5rOiAkY29sb3ItYnJhbmQtYmx1ZS01MDtcbiR0ZXh0LXRleHQtc3VjY2VzczogJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG4kdGV4dC10ZXh0LWVycm9yOiAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG4kdGV4dC10ZXh0LXdhcm5pbmc6ICRjb2xvci11dGlsaXR5LXllbGxvdy01MDtcbiRmaWVsZHMtZmllbGQtYm9yZGVyLS1mb2N1czogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kZmllbGRzLWZpZWxkLWJvcmRlci1lcnJvcjogJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuJGZpZWxkcy1maWVsZC1jaG9pY2Utb2ZmOiAkY29sb3ItbmV1dHJhbC0zMDtcbiRmaWVsZHMtZmllbGQtY2hvaWNlLW9uOiAkY29sb3ItYnJhbmQtYmx1ZS01MDtcbiRiYWRnZXMtYmFkZ2Utb3JhbmdlLXRleHQ6ICRjb2xvci1icmFuZC1vcmFuZ2UtMzA7XG4kYmFkZ2VzLWJhZGdlLW9yYW5nZS1iYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtb3JhbmdlLTA7XG4kYmFkZ2VzLWJhZGdlLWJsdWUtYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTA7XG4kYmFkZ2VzLWJhZGdlLWJsdWUtdGV4dDogJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTMwO1xuJGJhZGdlcy1iYWRnZS1ncmVlbi1iYWNrZ3JvdW5kOiAkY29sb3ItdXRpbGl0eS1ncmVlbi0wO1xuJGJhZGdlcy1iYWRnZS1ncmVlbi10ZXh0OiAkY29sb3ItdXRpbGl0eS1ncmVlbi0zMDtcbiRiYWRnZXMtYmFkZ2UtcmVkLWJhY2tncm91bmQ6ICRjb2xvci11dGlsaXR5LXJlZC0wO1xuJGJhZGdlcy1iYWRnZS1yZWQtdGV4dDogJGNvbG9yLXV0aWxpdHktcmVkLTMwO1xuJGJhZGdlcy1iYWRnZS1uZXV0cmFsLWJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLTU7XG4kYmFkZ2VzLWJhZGdlLW5ldXRyYWwtdGV4dDogJGNvbG9yLW5ldXRyYWwtMzA7XG4kcmFkaXVzLXJhZGl1cy1idXR0b246ICRyYWRpdXMtbWQ7XG4kcmFkaXVzLXJhZGl1cy1maWVsZDogJHJhZGl1cy1tZDtcbiRyYWRpdXMtcmFkaXVzLWJhZGdlOiAkcmFkaXVzLXNtO1xuJHN1cmZhY2Utc3VyZmFjZS1ib3JkZXItcHJpbWFyeTogJGNvbG9yLWJyYW5kLW9yYW5nZS01MDtcbiRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtMztcbiRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG4kdGV4dC10ZXh0LWljb246ICRjb2xvci1uZXV0cmFsLTIwO1xuJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLWxpZ2h0OiAkY29sb3ItdXRpbGl0eS1ncmF5LTA7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vZmYtLWhvdmVyOiAkY29sb3ItbmV1dHJhbC01MDtcbiRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3ZlcjogJGNvbG9yLWJyYW5kLWJsdWUtNzA7XG5cbi8vIEZvbnQgc2l6ZXMuXG4kdGV4dC1mb250LXNpemUtMnhzOiAxMXB4O1xuJHRleHQtZm9udC1zaXplLXhzOiAxMnB4O1xuJHRleHQtZm9udC1zaXplLXNzOiAxM3B4O1xuJHRleHQtZm9udC1zaXplLXM6IDE0cHg7XG4kdGV4dC1mb250LXNpemUtbTogMTZweDtcbiR0ZXh0LWZvbnQtc2l6ZS1sOiAxOHB4O1xuJHRleHQtZm9udC1zaXplLWxsOiAyMHB4O1xuJHRleHQtZm9udC1zaXplLWxsbDogMjJweDtcbiR0ZXh0LWZvbnQtc2l6ZS14bDogMjRweDtcbiR0ZXh0LWZvbnQtc2l6ZS14eGw6IDI4cHg7XG5cbi8vIFRyYW5zaXRpb25zLlxuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tc2xvd2VzdDogLjUwcztcbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLXNsb3dlcjogLjQwcztcbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLXNsb3c6IC4yNXM7XG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1ub3JtYWw6IC4xNXM7XG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1mYXN0OiAuMDVzO1xuIiwiQG1peGluIGZvcm0tZmllbGQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRmaWVsZHMtZmllbGQtYm9yZGVyO1xuXHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLXJhZGl1cy1maWVsZDtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0Y29sb3I6ICR0ZXh0LXRleHQtcHJpbWFyeTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRwYWRkaW5nOiA3cHggMTJweDtcblx0bWFyZ2luOiAwO1xuXHR3aWR0aDogNDAwcHg7XG5cdG1pbi1oZWlnaHQ6IDM2cHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtcHJpbWFyeTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1ib3JkZXItLWZvY3VzICFpbXBvcnRhbnQ7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRmaWVsZHMtZmllbGQtYm9yZGVyLS1mb2N1cyAhaW1wb3J0YW50O1xuXHRcdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6ZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPGRlc2t0b3BcIikge1xuXHRcdHdpZHRoOiAzMDBweDtcblx0fVxufVxuXG5AbWl4aW4gZm9ybS1maWVsZC1zZWxlY3Qge1xuXHRAaW5jbHVkZSBmb3JtLWZpZWxkO1xuXG5cdHBhZGRpbmc6IDdweCAyNHB4IDdweCAxMHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuQG1peGluIGZvcm0tZmllbGQtcmFkaW8ge1xuXHRib3JkZXI6IDFweCBzb2xpZCAkZmllbGRzLWZpZWxkLWJvcmRlcjtcblx0bWFyZ2luOiAxcHggMTBweCAwIDA7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0fVxuXG5cdCY6Y2hlY2tlZCB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3Zlcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmZvY3VzIHtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cdFx0fVxuXHR9XG5cblx0JjpkaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRmaWVsZHMtZmllbGQtY2hvaWNlLW9mZjtcblx0fVxufVxuXG5AbWl4aW4gZm9ybS1maWVsZC1jaGVja2JveCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRmaWVsZHMtZmllbGQtYm9yZGVyO1xuXHRtYXJnaW46IDFweCAxMHB4IDAgMDtcblxuXHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHR9XG5cblx0Jjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdH1cblxuXHQmOmNoZWNrZWQge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdG1hc2s6IHVybCguLi9pbWFnZXMvaWNvbnMveWVzLnN2ZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJVxuXHRcdH1cblxuXHRcdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cdFx0fVxuXG5cdFx0Jjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlLCAwIDAgMCAycHggJGZpZWxkcy1maWVsZC1jaG9pY2Utb24tLWhvdmVyO1xuXHRcdH1cblx0fVxuXG5cdCY6ZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IDAuNTtcblxuXHRcdCY6Y2hlY2tlZCB7XG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gZm9ybS1maWVsZC10ZXh0YXJlYSB7XG5cdEBpbmNsdWRlIGZvcm0tZmllbGQ7XG59XG5cbi5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbjogMCAxcHg7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRjb2xvcjogJHRleHQtdGV4dC1zZWNvbmRhcnk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGhlaWdodDogMjVweDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHRpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG5cdFx0QGluY2x1ZGUgdmlzdWFsbHktaGlkZTtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdCYgKyBsYWJlbC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb2ZmLS1ob3Zlcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdCYgKyBsYWJlbC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZSwgMCAwIDAgMnB4ICRmaWVsZHMtZmllbGQtYm9yZGVyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6Y2hlY2tlZCB7XG5cdFx0XHQmICsgbGFiZWwuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGxlZnQ6IGNhbGMoMTAwJSAtIDJweCk7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3Zlcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGUsIDAgMCAwIDJweCAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6ZGlzYWJsZWQge1xuXHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRzcGFuLFxuXHRsYWJlbCB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtbGFiZWwge1xuXHRcdHBhZGRpbmc6IDAgJHNwYWNpbmctc207XG5cdFx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA2NXB4KTtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMge1xuXHRcdGNvbG9yOiAkdGV4dC10ZXh0LXNlY29uZGFyeTtcblx0XHRmb250LXNpemU6ICR0ZXh0LWZvbnQtc2l6ZS14cztcblx0XHRsaW5lLWhlaWdodDogMTdweDtcblx0XHRwYWRkaW5nOiAwICRzcGFjaW5nLXNtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb2ZmLFxuXHQuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtc3RhdHVzLW9uIHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdH1cblxuXHRpbnB1dDpub3QoOmNoZWNrZWQpIH4gLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLXN0YXR1cy1vZmYsXG5cdGlucHV0OmNoZWNrZWQgfiAuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtc3RhdHVzLW9uIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5ldXRyYWwtMzA7XG5cdFx0Ym9yZGVyLXJhZGl1czogOC41cHg7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRoZWlnaHQ6IDE3cHg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRleHQtaW5kZW50OiAtOTk5OXB4O1xuXHRcdHdpZHRoOiAyN3B4O1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRoZWlnaHQ6IDEzcHg7XG5cdFx0XHRsZWZ0OiAycHg7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDJweDtcblx0XHRcdHdpZHRoOiAxM3B4O1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLW5vcm1hbCBlYXNlLW91dDtcblx0XHR9XG5cdH1cblxuXHRpbnB1dDpkaXNhYmxlZCB+IC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uLFxuXHRpbnB1dDpkaXNhYmxlZCB+IC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb2ZmLFxuXHRpbnB1dDpkaXNhYmxlZCB+IC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb24ge1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0fVxufVxuIiwiQG1peGluIGxpbmstcmVzZXQge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHRib3gtc2hhZG93OiBub25lO1xuXHRvdXRsaW5lOiBub25lO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbkBtaXhpbiB2aXN1YWxseS1oaWRlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRoZWlnaHQ6IDA7XG5cdHdpZHRoOiAwO1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXHRtYXJnaW46IDA7XG5cdG1pbi13aWR0aDogMDtcbn1cblxuQG1peGluIGJhZGdlKCRwb3NpdGlvbjogYWZ0ZXIpIHtcblx0Jjo6I3skcG9zaXRpb259IHtcblx0XHRjb250ZW50OiBcIlBST1wiO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW4tbGVmdDogJHNwYWNpbmctc207XG5cdFx0cGFkZGluZzogNXB4IDhweDtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdGZvbnQtc2l6ZTogOHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiA4cHg7XG5cdFx0Y29sb3I6ICRiYWRnZXMtYmFkZ2UtbmV1dHJhbC10ZXh0O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRiYWRnZXMtYmFkZ2UtbmV1dHJhbC1iYWNrZ3JvdW5kO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtcmFkaXVzLWJhZGdlO1xuXG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cbiIsIi8vIEdlbmVyYWwgYWRtaW4gc3R5bGluZy5cblxuLy8gQ29yZSBhZG1pbiBzdHlsZSBvdmVycmlkZXMuXG4jd3Bjb250ZW50IHtcblx0cGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXHRcdHBhZGRpbmctdG9wOiA0NnB4O1xuXHR9XG59XG5cbiN3cGJvZHkge1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHR9XG59XG5cbi8vIEFkbWluIHdyYXAgLSBjb250YWlucyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgaGVhZGVyLlxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLXdyYXAge1xuXHRtYXJnaW46IDA7XG5cblx0Lm5vdGljZSB7XG5cdFx0bWFyZ2luOiAwIDAgJHNwYWNpbmctbGc7XG5cdH1cbn1cblxuLy8gQWRtaW4gY29udGVudC5cbi5zdWdhci1jYWxlbmRhci1hZG1pbi1jb250ZW50IHtcblx0cGFkZGluZzogJHNwYWNpbmctbGcgJHNwYWNpbmctbGcgMCAkc3BhY2luZy1sZztcblxuXHQqLFxuXHQqOjpiZWZvcmUsXG5cdCo6OmFmdGVyIHtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHR9XG5cblx0JjphZnRlciB7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0Y29udGVudDogXCIgXCI7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdH1cblxuXHRociB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTRlNGU0O1xuXHRcdG1hcmdpbjogMjBweCAwO1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdH1cblxuXHRjb2RlIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cGFkZGluZzogMCA2cHg7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdGNvbG9yOiAkdGV4dC10ZXh0LXNlY29uZGFyeTtcblx0fVxuXG5cdHN0cm9uZyB7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0fVxuXG5cdHAge1xuXHRcdCYuc3VibWl0IHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6ICRzcGFjaW5nLWxnIDAgMjBweCAwO1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNlNGU0ZTQ7XG5cblx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cbn1cblxuLy8gTGVnYWN5IGFkZG9uIGZpeGVzLlxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLWNvbnRlbnQge1xuXHQuZm9ybS10YWJsZTpmaXJzdC1jaGlsZCB7XG5cdFx0dGJvZHkge1xuXHRcdFx0dHI6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHR0aCxcblx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aCB7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDJweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRkIHtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGgzIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBIZWFkZXIgc3R5bGVzLlxuXG4jc3VnYXItY2FsZW5kYXItaGVhZGVyLXRlbXAge1xuXHRtYXJnaW46IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtMXB4O1xuXHRsZWZ0OiAyMHB4O1xuXHRyaWdodDogMDtcblx0ei1pbmRleDogOTk7XG5cblx0QGluY2x1ZGUgbWVkaWEoXCI8NjAwcHhcIikge1xuXHRcdHBhZGRpbmctdG9wOiA1MHB4O1xuXHR9XG59XG5cbiNzdWdhci1jYWxlbmRhci1oZWFkZXIge1xuXHRwYWRkaW5nOiAyMHB4IDMwcHg7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc3VyZmFjZS1zdXJmYWNlLWRpdmlkZXI7XG5cdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRpbWcge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbjogMDtcblx0XHRtYXgtd2lkdGg6IDI5NnB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XG5cdFx0XHRtYXgtd2lkdGg6IDIwMHB4O1xuXHRcdH1cblx0fVxuXG5cdGEjc3VnYXItY2FsZW5kYXItaGVhZGVyLWhlbHAge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdGNvbG9yOiAkdGV4dC10ZXh0LWljb247XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRsaW5lLWhlaWdodDogMTNweDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0bWFzay1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3F1ZXN0aW9uLWNpcmNsZS5zdmdcIik7XG5cdFx0XHRtYXNrLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRleHQtdGV4dC1pY29uO1xuXHRcdFx0d2lkdGg6IDE2cHg7XG5cdFx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDZweDtcblx0XHR9XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Y29sb3I6ICR0ZXh0LXRleHQtdGVydGlhcnk7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRleHQtdGV4dC10ZXJ0aWFyeTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG5cdCNzdWdhci1jYWxlbmRhci1ub3RpY2UtYmFyICsgI3N1Z2FyLWNhbGVuZGFyLWhlYWRlci10ZW1wIHtcblx0XHR0b3A6IDM0cHg7XG5cdH1cbn1cbiIsIi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2Mi4wLjBcbi8vXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXG4vL1xuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXG4vLyAgICAgICAgICAgICAgICAgIEtpdHR5IEdpcmF1ZGVsIChAa2l0dHlnaXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG5AY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cbkB1c2UgJ3Nhc3M6bWF0aCc7XG5AdXNlICdzYXNzOm1hcCc7XG5AdXNlICdzYXNzOmxpc3QnO1xuQHVzZSAnc2FzczpzdHJpbmcnO1xuQHVzZSAnc2FzczptZXRhJztcblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6IChcbiAgJ3Bob25lJzogMzIwcHgsXG4gICd0YWJsZXQnOiA3NjhweCxcbiAgJ2Rlc2t0b3AnOiAxMDI0cHgsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzpcbiAgICAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuICAncmV0aW5hM3gnOlxuICAgICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KScsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDAsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgQGlmIG1ldGEuZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgIEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge1xuICB9XG59XG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHtcbn1cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAuaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSlcbiAgICAgIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmIG5vdCBsaXN0LmluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xuICAgIEBpZiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xufVxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHJpbmcuc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXRyaW0oJHBhcnNlZC1kaW1lbnNpb24pO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHJpbmcubGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihsaXN0LmluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0cmluZy5pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHJpbmcuc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0cmluZy5sZW5ndGgoJG9wZXJhdG9yKSk7XG4gICR0cmltbWVkVmFsdWU6IHN0ci10cmltKCR2YWx1ZSk7XG5cbiAgQGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJHRyaW1tZWRWYWx1ZSkge1xuICAgICR2YWx1ZTogbWFwLmdldCgkYnJlYWtwb2ludHMsICR0cmltbWVkVmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdHJpbW1lZFZhbHVlKTtcbiAgfVxuXG4gICRpbnRlcnZhbDogbWFwLmdldCgkdW5pdC1pbnRlcnZhbHMsIG1hdGgudW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje21hdGgudW5pdCgkdmFsdWUpfWAuJyk7XG4gIH1cblxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLmhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLmdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxpc3QubGVuZ3RoKCRsaXN0KSkge1xuICBAaWYgbGlzdC5sZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICRyZXN1bHQ6IGxpc3QuYXBwZW5kKCRyZXN1bHQsIGxpc3QubnRoKCRsaXN0LCAkaSksIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG4vLy9cblxuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIG1ldGEudHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcbiAgfVxuXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0cmluZy5zbGljZSgkdmFsdWUsIDEsIDEpO1xuICAkcmVzdWx0OiAwO1xuICAkZGlnaXRzOiAwO1xuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XG4gICRudW1iZXJzOiAoXG4gICAgJzAnOiAwLFxuICAgICcxJzogMSxcbiAgICAnMic6IDIsXG4gICAgJzMnOiAzLFxuICAgICc0JzogNCxcbiAgICAnNSc6IDUsXG4gICAgJzYnOiA2LFxuICAgICc3JzogNyxcbiAgICAnOCc6IDgsXG4gICAgJzknOiA5LFxuICApO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyaW5nLmxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdChsaXN0LmluZGV4KG1hcC5rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHJpbmcuc2xpY2UoJHZhbHVlLCAkaSkpO1xuICAgIH1cblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGlnaXRzOiAxO1xuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC5nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hdGguZGl2KG1hcC5nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpLCAkZGlnaXRzKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKFxuICAgICdweCc6IDFweCxcbiAgICAnY20nOiAxY20sXG4gICAgJ21tJzogMW1tLFxuICAgICclJzogMSUsXG4gICAgJ2NoJzogMWNoLFxuICAgICdwYyc6IDFwYyxcbiAgICAnaW4nOiAxaW4sXG4gICAgJ2VtJzogMWVtLFxuICAgICdyZW0nOiAxcmVtLFxuICAgICdwdCc6IDFwdCxcbiAgICAnZXgnOiAxZXgsXG4gICAgJ3Z3JzogMXZ3LFxuICAgICd2aCc6IDF2aCxcbiAgICAndm1pbic6IDF2bWluLFxuICAgICd2bWF4JzogMXZtYXgsXG4gICk7XG5cbiAgQGlmIG5vdCBsaXN0LmluZGV4KG1hcC5rZXlzKCR1bml0cyksICR1bml0KSB7XG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC5nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgSmFjayBNY05pY29sXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIFRyaW1zIGEgc3RyaW5nIG9mIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHNwYWNlc1xuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBWYWx1ZSB0byBiZSB0cmltbWVkXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9XG4vLy9cblxuQGZ1bmN0aW9uIHN0ci10cmltKCRzdHJpbmcpIHtcbiAgQGlmIChzdHItc2xpY2UoJHN0cmluZywgMSwgMSkgPT0gJyAnKSB7XG4gICAgQHJldHVybiBzdHItdHJpbShzdHItc2xpY2UoJHN0cmluZywgMikpO1xuICB9IEBlbHNlIGlmIChzdHItc2xpY2UoJHN0cmluZywgc3RyLWxlbmd0aCgkc3RyaW5nKSwgLTEpID09ICcgJykge1xuICAgIEByZXR1cm4gc3RyLXRyaW0oc3RyLXNsaWNlKCRzdHJpbmcsIDEsIC0yKSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJHN0cmluZztcbiAgfVxufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLm1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC5tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGlzdC5sZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpXG4gIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxpc3QubGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3tzdHJpbmcudW5xdW90ZShwYXJzZS1leHByZXNzaW9uKGxpc3QubnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgJHNsaWNlZC1jb25kaXRpb25zOiBzbGljZSgkY29uZGl0aW9ucywgMik7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkc2xpY2VkLWNvbmRpdGlvbnMuLi4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCdXR0b25zLlxuLnN1Z2FyLWNhbGVuZGFyLWJ0biB7XG5cdGJvcmRlci13aWR0aDogMXB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLXJhZGl1cy1idXR0b247XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW46IDA7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRib3gtc2hhZG93OiBub25lO1xuXHR0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tZmFzdCBlYXNlLW91dDtcblxuXHQmLmluYWN0aXZlIHtcblx0XHRjdXJzb3I6IG5vLWRyb3A7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1ibG9jayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1zbSB7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cdHBhZGRpbmc6IDAgMTBweDtcblx0aGVpZ2h0OiAzMHB4O1xufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLW1kIHtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRsaW5lLWhlaWdodDogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0cGFkZGluZzogMTBweCAxNXB4O1xuXHRtaW4taGVpZ2h0OiAzNnB4O1xufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLWxnIHtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRwYWRkaW5nOiAxMXB4IDE3cHg7XG5cdG1pbi1oZWlnaHQ6IDQ0cHg7XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tcHJpbWFyeSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG5cdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDtcblx0Y29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlICFpbXBvcnRhbnQ7XG5cblx0Jjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Y29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tc2Vjb25kYXJ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuXHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDtcblx0Y29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlICFpbXBvcnRhbnQ7XG5cblx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Y29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi10ZXJ0aWFyeSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1iYWNrZ3JvdW5kO1xuXHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXI7XG5cdGNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dCAhaW1wb3J0YW50O1xuXG5cdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1iYWNrZ3JvdW5kLS0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyLS1ob3Zlcjtcblx0XHRjb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LXRleHQtLWhvdmVyICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlci0taG92ZXI7XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1ncmVlbiB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci11dGlsaXR5LWdyZWVuLTUwO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItdXRpbGl0eS1ncmVlbi01MDtcblx0Y29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlICFpbXBvcnRhbnQ7XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRjb2xvci11dGlsaXR5LWdyZWVuLTUwO1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0b3V0bGluZTogMDtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXJlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci11dGlsaXR5LXJlZC01MDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0b3V0bGluZTogMDtcblx0fVxufVxuIiwiLy8gUGFnZSBzdWJoZWFkZXIuXG4uc3VnYXItY2FsZW5kYXItYWRtaW4tc3ViaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRoZWlnaHQ6IDYwcHg7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMTVweCAkc3BhY2luZy1sZztcblx0YmFja2dyb3VuZC1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4wNyk7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cblx0Kixcblx0Kjo6YmVmb3JlLFxuXHQqOjphZnRlciB7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0fVxuXG5cdGg0IHtcblx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHRjb2xvcjogJHRleHQtdGV4dC10aXRsZTtcblx0XHRtYXJnaW46IDA7XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItYnRuLW5ldy1pdGVtIHtcblx0XHRtYXJnaW4tbGVmdDogJHNwYWNpbmctbWQ7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdG1hc2s6IHVybCguLi9pbWFnZXMvaWNvbnMvYWRkLnN2ZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRcdHdpZHRoOiAxMXB4O1xuXHRcdFx0aGVpZ2h0OiAxMXB4O1xuXHRcdFx0bWFyZ2luOiAwIDZweCAwIDA7XG5cdFx0fVxuXHR9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9hZG1pbi92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vLi4vdmVuZG9yL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnLi4vLi4vYWRtaW4vbWl4aW5zJztcbkBpbXBvcnQgJy4uLy4uL2FkbWluL2Zvcm1zJztcbkBpbXBvcnQgJy4uLy4uL2FkbWluL2dlbmVyYWwnO1xuQGltcG9ydCAnLi4vLi4vYWRtaW4vaGVhZGVyJztcbkBpbXBvcnQgJy4uLy4uL2FkbWluL2J1dHRvbnMnO1xuQGltcG9ydCAnLi4vLi4vYWRtaW4vc3ViaGVhZGVyJztcblxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLXN1YmhlYWRlciB7XG5cdC5zdWdhci1jYWxlbmRhci1idG4tbmV3LWl0ZW0ge1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdG1hc2s6IHVybCguLi8uLi8uLi9pbWFnZXMvZmVhdHVyZXMvZXZlbnQtdGlja2V0aW5nL2ljb25zL2Fycm93LWJhY2suc3ZnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcblx0XHRcdHdpZHRoOiA3cHg7XG5cdFx0XHRoZWlnaHQ6IDE0cHg7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0bWFyZ2luLXRvcDogLTNweDtcblx0XHR9XG5cdH1cbn1cblxuI3N1Z2FyLWNhbGVuZGFyLW9yZGVyIHtcblx0Lm5vdGljZSB7XG5cdFx0bWFyZ2luOiAwIDAgMzBweDtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci1hZG1pbi1jb250ZW50IHtcblx0XHRoMiB7XG5cdFx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0XHRcdGNvbG9yOiAkdGV4dC10ZXh0LWhlYWRpbmc7XG5cdFx0XHRtYXJnaW46IDAgMCAkc3BhY2luZy1tZDtcblx0XHR9XG5cblx0XHQuc3VnYXItY2FsZW5kYXItb3JkZXItYWN0aW9ucyB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1tZDtcblxuXHRcdFx0LnN1Z2FyLWNhbGVuZGFyLWJ0biArIC5zdWdhci1jYWxlbmRhci1idG4ge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogJHNwYWNpbmctbWQ7XG5cdFx0XHR9XG5cblx0XHRcdC5zdWdhci1jYWxlbmRhci1idG4tZGVsZXRlLW9yZGVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJhZGdlcy1iYWRnZS1yZWQtYmFja2dyb3VuZDtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuXHRcdFx0XHRjb2xvcjogI0IzMkQyRTtcblxuXHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuXHRcdFx0XHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0XHRcdFx0b3V0bGluZTogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5zdWdhci1jYWxlbmRhci1vcmRlci1tZXRhYm94IHtcblx0XHRcdG1heC13aWR0aDogODYwcHg7XG5cdFx0XHRib3gtc2hhZG93OiAwIDFweCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMDQpO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbWQ7XG5cblx0XHRcdC5zdWdhci1jYWxlbmRhci1vcmRlci1tZXRhYm94X19oZWFkZXIge1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJHN1cmZhY2Utc3VyZmFjZS1ib3JkZXI7XG5cdFx0XHRcdHBhZGRpbmc6IDEycHg7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXG5cdFx0XHRcdGg0IHtcblx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0Y29sb3I6ICR0ZXh0LXRleHQtcHJpbWFyeTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuc3VnYXItY2FsZW5kYXItb3JkZXItbWV0YWJveF9fYm9keSB7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4O1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkc3VyZmFjZS1zdXJmYWNlLWJvcmRlcjtcblx0XHRcdFx0Ym9yZGVyLXRvcDogbm9uZTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRcdFx0LnN1Z2FyLWNhbGVuZGFyLW1ldGFib3hfX2ZpZWxkLXJvdyB7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0XHRcdFx0JjpudGgtY2hpbGQob2RkKSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtbGlnaHQ7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0PiBsYWJlbCB7XG5cdFx0XHRcdFx0XHRmbGV4OiAwIDEgMjAwcHg7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE2cHg7XG5cdFx0XHRcdFx0XHRjb2xvcjogJHRleHQtdGV4dC1wcmltYXJ5O1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMTVweDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQuc3VnYXItY2FsZW5kYXItbWV0YWJveF9fZmllbGQge1xuXHRcdFx0XHRcdFx0ZmxleDogMSAwIGF1dG87XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE2cHg7XG5cdFx0XHRcdFx0XHRjb2xvcjogJHRleHQtdGV4dC1zZWNvbmRhcnk7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAxNXB4O1xuXG5cdFx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRzZWxlY3Qge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmb3JtLWZpZWxkLXNlbGVjdDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0YWJsZSB7XG5cdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iXX0= */
     530/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3NzL2FkbWluL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19mb3Jtcy5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX21peGlucy5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX2dlbmVyYWwuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19oZWFkZXIuc2NzcyIsImFzc2V0cy9zY3NzL3ZlbmRvci9faW5jbHVkZS1tZWRpYS5zY3NzIiwiYXNzZXRzL3Njc3MvYWRtaW4vX2J1dHRvbnMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19zdWJoZWFkZXIuc2NzcyIsImFzc2V0cy9zY3NzL2ZlYXR1cmVzL2V2ZW50LXRpY2tldGluZy9hZG1pbi1vcmRlci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0FBNERBO0FDc0VBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPRHRIa0I7RUN1SGxCO0VBQ0E7RUFDQTs7QUFFQTtFQ3JJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRGlJQztFQUVDO0VBQ0E7O0FBSUE7RUFDQyxrQkRySWU7O0FDMEloQjtFQUNDOztBQUtEO0VBQ0Msa0JEekprQjs7QUMySmxCO0VBQ0M7RUFDQTs7QUFLRDtFQUNDLGtCRGpLaUI7O0FDc0tsQjtFQUNDOztBQU1GO0VBQ0M7O0FBS0E7RUFDQzs7QUFNSjtBQUFBO0VBRUM7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7O0FBR0Q7RUFDQyxPRGpNaUI7RUNrTWpCLFdEbEdrQjtFQ21HbEI7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7QUFBQTtFQUVDOztBQUdEO0FBQUE7RUFFQzs7QUFHRDtFQUNDLGtCRGxOaUI7RUNtTmpCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0MsWURsTm1CO0VDbU5uQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlGO0FBQUE7QUFBQTtFQUdDOzs7QUU3UEY7RUFDQztFQUNBOztBQUVBO0VBSkQ7SUFLRTs7OztBQUtEO0VBREQ7SUFFRTs7OztBQUtGO0VBQ0M7O0FBRUE7RUFDQzs7O0FBS0Y7RUFDQzs7QUFFQTtBQUFBO0FBQUE7RUFHQzs7QUFHRDtFQUNDO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT0h6Q2lCOztBRzRDbEI7RUFDQzs7QUFJQTtFQUNDO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOztBQU1IO0VBQ0M7OztBQVNFO0FBQUE7RUFFQzs7QUFHRDtFQUNDOztBQUdEO0VBQ0M7O0FBR0Q7RUFDQzs7O0FDdEdMO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQ3lsQkc7RUQvbEJKO0lBU0U7Ozs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBLGtCSllxQjtFSVhyQjtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBOztBQ3VrQkU7RUQxa0JIO0lBTUU7OztBQUlGO0VBQ0M7RUFDQSxPSlppQjtFSWFqQjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0Esa0JKdkJnQjtFSXdCaEI7RUFDQTtFQUNBOztBQUdEO0VBRUMsT0psQ2dCOztBSW9DaEI7RUFDQyxrQkpyQ2U7OztBSTJDbkI7RUFDQztJQUNDOzs7QUVoRUY7RUFDQztFQUNBO0VBQ0EsZU5EVztFTUVYO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNDO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDLGtCTjFDdUI7RU0yQ3ZCLGNOM0N1QjtFTTRDdkI7O0FBRUE7RUFDQyxrQk45Q3NCO0VNK0N0QixjTi9Dc0I7RU1nRHRCOztBQUdEO0VBQ0M7RUFDQSxjTmpDb0I7RU1rQ3BCOzs7QUFJRjtFQUNDLGtCTjFEcUI7RU0yRHJCLGNOM0RxQjtFTTREckI7O0FBRUE7RUFDQyxrQk43RG9CO0VNOERwQixjTjlEb0I7RU0rRHBCOztBQUdEO0VBQ0M7RUFDQSxjTm5Eb0I7RU1vRHBCOzs7QUFJRjtFQUNDLGtCTjFEaUI7RU0yRGpCLGNOcEVrQjtFTXFFbEI7O0FBRUE7RUFDQyxrQk5oRWdCO0VNaUVoQixjTjNFaUI7RU00RWpCOztBQUdEO0VBQ0M7OztBQUlGO0VBQ0Msa0JON0V3QjtFTThFeEI7RUFDQTs7QUFFQTtFQUNDO0VBQ0EsY04vRW9CO0VNZ0ZwQjs7O0FBSUY7RUFDQyxrQk4zRnNCO0VNNEZ0QjtFQUNBOztBQUVBO0VBQ0M7RUFDQSxjTjNGb0I7RU00RnBCOzs7QUMxSEY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQlB1QnFCO0VPdEJyQjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUdDOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0EsT1BWa0I7RU9XbEI7O0FBR0Q7RUFDQyxhUHZCVzs7QU95Qlg7RUFDQztFQUNBO0VBQ0E7RUFDQSxrQlBMbUI7RU9NbkI7RUFDQTtFQUNBOzs7QUM1QkQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRjtFQUNDOztBQUlBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPUmhCZ0I7RVFpQmhCOztBQUdEO0VBQ0MsZVI5QlU7O0FRZ0NWO0VBQ0MsYVJqQ1M7O0FRb0NWO0VBQ0Msa0JSVGtCO0VRVWxCO0VBQ0E7O0FBRUE7RUFDQztFQUNBLGNSbkJpQjtFUW9CakI7O0FBS0g7RUFDQztFQUNBO0VBQ0EsZVJwRFU7O0FRc0RWO0VBQ0M7RUFDQTtFQUNBO0VBQ0Esa0JSbENrQjs7QVFvQ2xCO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9SeERjOztBUTREaEI7RUFDQztFQUNBO0VBQ0E7RUFDQSxrQlJsRGtCO0VRbURsQjs7QUFFQTtFQUNDO0VBQ0E7O0FBRUE7RUFDQyxrQlJoRGlCOztBUW1EbEI7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT1JqRmE7RVFrRmI7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT1J6RmE7RVEwRmI7O0FBRUE7RUFDQzs7QUFHRDtFUGxITCxrQkQ4QnFCO0VDN0JyQjtFQUNBO0VBQ0E7RUFDQSxPRFlrQjtFQ1hsQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQXdCQTtFQUNBO0VBQ0E7RUFDQTs7QUF6QkE7RUFDQyxPREVpQjs7QUNDbEI7RUFDQztFQUNBO0VBQ0E7O0FBR0Q7RUFDQzs7QUl3a0JFO0VHOWVFO0lQdEZKOzs7QU80RkU7RUFDQyIsImZpbGUiOiJhc3NldHMvY3NzL2ZlYXR1cmVzL2V2ZW50LXRpY2tldGluZy9hZG1pbi1vcmRlci5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBZG1pbiB2YXJpYWJsZXMuXG5cbi8qIFZhcmlhYmxlcyAgKi9cbiRyYWRpdXMtbWQ6IDRweDtcbiRyYWRpdXMtbGc6IDZweDtcbiRyYWRpdXMtc206IDNweDtcbiRzcGFjaW5nLXNtOiAxMHB4O1xuJHNwYWNpbmctbWQ6IDIwcHg7XG4kc3BhY2luZy1sZzogMzBweDtcbiRzcGFjaW5nLXhsOiA1MHB4O1xuJGNvbG9yLWJyYW5kLW9yYW5nZS01MDogI0ZGODg0NUZGO1xuJGNvbG9yLWJyYW5kLW9yYW5nZS03MDogI0NCNkQzN0ZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtNTA6ICMyMjcxQjFGRjtcbiRjb2xvci1icmFuZC1ibHVlLWJyaWdodC01MDogIzAwQTBEMkZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtNzA6ICMwQTRCNzhGRjtcbiRjb2xvci1uZXV0cmFsLTEwMDogIzEwMTUxNztcbiRjb2xvci1uZXV0cmFsLTkwOiAjMUQyMzI3RkY7XG4kY29sb3ItbmV1dHJhbC04MDogIzJDMzMzOEZGO1xuJGNvbG9yLW5ldXRyYWwtNzA6ICMzQzQzNEFGRjtcbiRjb2xvci1uZXV0cmFsLTYwOiAjNTA1NzVFRkY7XG4kY29sb3ItbmV1dHJhbC01MDogIzY0Njk3MEZGO1xuJGNvbG9yLW5ldXRyYWwtMzA6ICM4QzhGOTRGRjtcbiRjb2xvci1uZXV0cmFsLTEwOiAjQzNDNEM3RkY7XG4kY29sb3ItbmV1dHJhbC0yMDogI0E3QUFBREZGO1xuJGNvbG9yLW5ldXRyYWwtNTogI0RDRENERUZGO1xuJGNvbG9yLXV0aWxpdHktcmVkLTUwOiAjRDYzNjM4RkY7XG4kY29sb3ItdXRpbGl0eS15ZWxsb3ctNTA6ICNEQkE2MTdGRjtcbiRjb2xvci11dGlsaXR5LWdyZWVuLTUwOiAjMDA4QTIwRkY7XG4kcmFkaXVzLXhsOiA5cHg7XG4kY29sb3ItbmV1dHJhbC0zOiAjRjBGMEYxRkY7XG4kY29sb3ItbmV1dHJhbC0wOiAjRjZGN0Y3RkY7XG4kY29sb3ItdXRpbGl0eS13aGl0ZTogI0ZGRkZGRkZGO1xuJGNvbG9yLWJyYW5kLW9yYW5nZS0wOiAjRkZGM0VDRkY7XG4kY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtMDogI0U1RjVGQUZGO1xuJGNvbG9yLXV0aWxpdHktZ3JlZW4tMDogI0VERkFFRkZGO1xuJGNvbG9yLXV0aWxpdHktcmVkLTA6ICNGQ0YwRjFGRjtcbiRjb2xvci1icmFuZC1vcmFuZ2UtMzA6ICNGRkEwNkFGRjtcbiRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0zMDogIzY2QzZFNEZGO1xuJGNvbG9yLXV0aWxpdHktZ3JlZW4tMzA6ICMwMEJBMzdGRjtcbiRjb2xvci11dGlsaXR5LXJlZC0zMDogI0Y4NjM2OEZGO1xuJGNvbG9yLXdvcmRwcmVzcy1ibHVlOiAjMjI3MUIxRkY7XG4kY29sb3ItdXRpbGl0eS1ncmF5LTA6ICNGNkY2RjZGRjtcbiRjb2xvci1hY2NlbnQtb3JhbmdlLTUwOiAjRkU5RTY4RkY7XG4kY29sb3ItYWNjZW50LW9yYW5nZS0wOiAjRkZGMEU4RkY7XG4kY29sb3ItYWNjZW50LXJlZC01MDogI0ZGNzM2OEZGO1xuJGNvbG9yLWFjY2VudC1yZWQtMDogI0ZGRUFFOEZGO1xuJGNvbG9yLWFjY2VudC1waW5rLTUwOiAjREY1QjlBRkY7XG4kY29sb3ItYWNjZW50LXBpbmstMDogI0ZBRTZGMEZGO1xuJGNvbG9yLWFjY2VudC1wdXJwbGUtNTA6ICM4NjU5QzJGRjtcbiRjb2xvci1hY2NlbnQtcHVycGxlLTA6ICNFREU2RjZGRjtcbiRjb2xvci1hY2NlbnQtYmx1ZS01MDogIzU2ODVCREZGO1xuJGNvbG9yLWFjY2VudC1ibHVlLTA6ICNFNkVERjVGRjtcbiRjb2xvci1hY2NlbnQtdGVhbC01MDogIzRCQjlBN0ZGO1xuJGNvbG9yLWFjY2VudC10ZWFsLTA6ICNFNEY1RjJGRjtcbiRjb2xvci1hY2NlbnQtZ3JlZW4tNTA6ICM1N0Q0NjZGRjtcbiRjb2xvci1hY2NlbnQtZ3JlZW4tMDogI0U2RjlFOEZGO1xuJGNvbG9yLWFjY2VudC15ZWxsb3ctNTA6ICNGRkM0NjlGRjtcbiRjb2xvci1hY2NlbnQteWVsbG93LTA6ICNGRkY2RTlGRjtcbiRjYWxlbmRhci10ZXh0LXByaW1hcnk6ICMwMDAwMDBEOTtcbiRjYWxlbmRhci10ZXh0LXRlcnRpYXJ5OiAjMDAwMDAwNjY7XG4kY2FsZW5kYXItYmFja2dyb3VuZDogIzAwMDAwMDA4O1xuXG4vKiBBbGlhc2VzICAqL1xuJHRleHQtdGV4dC1wcmltYXJ5OiAkY29sb3ItbmV1dHJhbC04MDtcbiR0ZXh0LXRleHQtc2Vjb25kYXJ5OiAkY29sb3ItbmV1dHJhbC02MDtcbiR0ZXh0LXRleHQtdGVydGlhcnk6ICRjb2xvci1uZXV0cmFsLTUwO1xuJHRleHQtdGV4dC1oZWFkaW5nOiAkY29sb3ItbmV1dHJhbC05MDtcbiR0ZXh0LXRleHQtdGl0bGU6ICRjb2xvci1uZXV0cmFsLTEwMDtcbiRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1vcmFuZ2UtNTA7XG4kYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLTA7XG4kZmllbGRzLWZpZWxkLWJvcmRlcjogJGNvbG9yLW5ldXRyYWwtMzA7XG4kc3VyZmFjZS1zdXJmYWNlLWJvcmRlcjogJGNvbG9yLW5ldXRyYWwtMTA7XG4kc3VyZmFjZS1zdXJmYWNlLWRpdmlkZXI6ICRjb2xvci1uZXV0cmFsLTU7XG4kYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3ZlcjogJGNvbG9yLWJyYW5kLW9yYW5nZS03MDtcbiRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC0taG92ZXI6ICRjb2xvci1icmFuZC1ibHVlLTcwO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlcjogJGNvbG9yLW5ldXRyYWwtMzA7XG4kYnV0dG9ucy1idXR0b24tcHJpbWFyeS10ZXh0OiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcbiRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktdGV4dDogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dDogJGNvbG9yLW5ldXRyYWwtNjA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyLS1ob3ZlcjogJGNvbG9yLW5ldXRyYWwtNjA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZC0tLWhvdmVyOiAkY29sb3ItbmV1dHJhbC0zO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LXRleHQtLWhvdmVyOiAkY29sb3ItbmV1dHJhbC04MDtcbiRidXR0b25zLWJ1dHRvbi13cC1wcmltYXJ5LWJhY2tncm91bmQ6ICMyMjcxQjE7XG4kdGV4dC10ZXh0LWxpbms6ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuJHRleHQtdGV4dC1zdWNjZXNzOiAkY29sb3ItdXRpbGl0eS1ncmVlbi01MDtcbiR0ZXh0LXRleHQtZXJyb3I6ICRjb2xvci11dGlsaXR5LXJlZC01MDtcbiR0ZXh0LXRleHQtd2FybmluZzogJGNvbG9yLXV0aWxpdHkteWVsbG93LTUwO1xuJGZpZWxkcy1maWVsZC1ib3JkZXItLWZvY3VzOiAkY29sb3ItYnJhbmQtYmx1ZS01MDtcbiRmaWVsZHMtZmllbGQtYm9yZGVyLWVycm9yOiAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vZmY6ICRjb2xvci1uZXV0cmFsLTMwO1xuJGZpZWxkcy1maWVsZC1jaG9pY2Utb246ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuJGJhZGdlcy1iYWRnZS1vcmFuZ2UtdGV4dDogJGNvbG9yLWJyYW5kLW9yYW5nZS0zMDtcbiRiYWRnZXMtYmFkZ2Utb3JhbmdlLWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1vcmFuZ2UtMDtcbiRiYWRnZXMtYmFkZ2UtYmx1ZS1iYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtMDtcbiRiYWRnZXMtYmFkZ2UtYmx1ZS10ZXh0OiAkY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtMzA7XG4kYmFkZ2VzLWJhZGdlLWdyZWVuLWJhY2tncm91bmQ6ICRjb2xvci11dGlsaXR5LWdyZWVuLTA7XG4kYmFkZ2VzLWJhZGdlLWdyZWVuLXRleHQ6ICRjb2xvci11dGlsaXR5LWdyZWVuLTMwO1xuJGJhZGdlcy1iYWRnZS1yZWQtYmFja2dyb3VuZDogJGNvbG9yLXV0aWxpdHktcmVkLTA7XG4kYmFkZ2VzLWJhZGdlLXJlZC10ZXh0OiAkY29sb3ItdXRpbGl0eS1yZWQtMzA7XG4kYmFkZ2VzLWJhZGdlLW5ldXRyYWwtYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtNTtcbiRiYWRnZXMtYmFkZ2UtbmV1dHJhbC10ZXh0OiAkY29sb3ItbmV1dHJhbC0zMDtcbiRyYWRpdXMtcmFkaXVzLWJ1dHRvbjogJHJhZGl1cy1tZDtcbiRyYWRpdXMtcmFkaXVzLWZpZWxkOiAkcmFkaXVzLW1kO1xuJHJhZGl1cy1yYWRpdXMtYmFkZ2U6ICRyYWRpdXMtc207XG4kc3VyZmFjZS1zdXJmYWNlLWJvcmRlci1wcmltYXJ5OiAkY29sb3ItYnJhbmQtb3JhbmdlLTUwO1xuJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC0zO1xuJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcbiR0ZXh0LXRleHQtaWNvbjogJGNvbG9yLW5ldXRyYWwtMjA7XG4kc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtbGlnaHQ6ICRjb2xvci11dGlsaXR5LWdyYXktMDtcbiRmaWVsZHMtZmllbGQtY2hvaWNlLW9mZi0taG92ZXI6ICRjb2xvci1uZXV0cmFsLTUwO1xuJGZpZWxkcy1maWVsZC1jaG9pY2Utb24tLWhvdmVyOiAkY29sb3ItYnJhbmQtYmx1ZS03MDtcblxuLy8gRm9udCBzaXplcy5cbiR0ZXh0LWZvbnQtc2l6ZS0yeHM6IDExcHg7XG4kdGV4dC1mb250LXNpemUteHM6IDEycHg7XG4kdGV4dC1mb250LXNpemUtc3M6IDEzcHg7XG4kdGV4dC1mb250LXNpemUtczogMTRweDtcbiR0ZXh0LWZvbnQtc2l6ZS1tOiAxNnB4O1xuJHRleHQtZm9udC1zaXplLWw6IDE4cHg7XG4kdGV4dC1mb250LXNpemUtbGw6IDIwcHg7XG4kdGV4dC1mb250LXNpemUtbGxsOiAyMnB4O1xuJHRleHQtZm9udC1zaXplLXhsOiAyNHB4O1xuJHRleHQtZm9udC1zaXplLXh4bDogMjhweDtcblxuLy8gVHJhbnNpdGlvbnMuXG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1zbG93ZXN0OiAuNTBzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tc2xvd2VyOiAuNDBzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tc2xvdzogLjI1cztcbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLW5vcm1hbDogLjE1cztcbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLWZhc3Q6IC4wNXM7XG4iLCJAbWl4aW4gZm9ybS1maWVsZCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTtcblx0Ym9yZGVyOiAxcHggc29saWQgJGZpZWxkcy1maWVsZC1ib3JkZXI7XG5cdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtcmFkaXVzLWZpZWxkO1xuXHRib3gtc2hhZG93OiBub25lO1xuXHRjb2xvcjogJHRleHQtdGV4dC1wcmltYXJ5O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdHBhZGRpbmc6IDdweCAxMnB4O1xuXHRtYXJnaW46IDA7XG5cdHdpZHRoOiA0MDBweDtcblx0bWluLWhlaWdodDogMzZweDtcblx0bGluZS1oZWlnaHQ6IDEuMztcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogJHRleHQtdGV4dC1wcmltYXJ5O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWJvcmRlci0tZm9jdXMgIWltcG9ydGFudDtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJGZpZWxkcy1maWVsZC1ib3JkZXItLWZvY3VzICFpbXBvcnRhbnQ7XG5cdFx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0JjpkaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XG5cdFx0d2lkdGg6IDMwMHB4O1xuXHR9XG59XG5cbkBtaXhpbiBmb3JtLWZpZWxkLXNlbGVjdCB7XG5cdEBpbmNsdWRlIGZvcm0tZmllbGQ7XG5cblx0cGFkZGluZzogN3B4IDI0cHggN3B4IDEwcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5AbWl4aW4gZm9ybS1maWVsZC1yYWRpbyB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRmaWVsZHMtZmllbGQtYm9yZGVyO1xuXHRtYXJnaW46IDFweCAxMHB4IDAgMDtcblxuXHQmOjpiZWZvcmUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHR9XG5cblx0JjpjaGVja2VkIHtcblx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3ZlcjtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb24tLWhvdmVyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3Zlcjtcblx0XHR9XG5cdH1cblxuXHQmOmRpc2FibGVkIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGZpZWxkcy1maWVsZC1jaG9pY2Utb2ZmO1xuXHR9XG59XG5cbkBtaXhpbiBmb3JtLWZpZWxkLWNoZWNrYm94IHtcblx0Ym9yZGVyOiAxcHggc29saWQgJGZpZWxkcy1maWVsZC1ib3JkZXI7XG5cdG1hcmdpbjogMXB4IDEwcHggMCAwO1xuXG5cdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdGJvcmRlci1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdH1cblxuXHQmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblx0fVxuXG5cdCY6Y2hlY2tlZCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vbjtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0bWFzazogdXJsKC4uL2ltYWdlcy9pY29ucy95ZXMuc3ZnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlXG5cdFx0fVxuXG5cdFx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3Zlcjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3Zlcjtcblx0XHR9XG5cblx0XHQmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGUsIDAgMCAwIDJweCAkZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI7XG5cdFx0fVxuXHR9XG5cblx0JjpkaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC41O1xuXG5cdFx0JjpjaGVja2VkIHtcblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBmb3JtLWZpZWxkLXRleHRhcmVhIHtcblx0QGluY2x1ZGUgZm9ybS1maWVsZDtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luOiAwIDFweDtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdGNvbG9yOiAkdGV4dC10ZXh0LXNlY29uZGFyeTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0aGVpZ2h0OiAyNXB4O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG5cdGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcblx0XHRAaW5jbHVkZSB2aXN1YWxseS1oaWRlO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXHRcdH1cblxuXHRcdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRzLWZpZWxkLWNob2ljZS1vZmYtLWhvdmVyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0JiArIGxhYmVsLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24ge1xuXHRcdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlLCAwIDAgMCAycHggJGZpZWxkcy1maWVsZC1ib3JkZXI7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpjaGVja2VkIHtcblx0XHRcdCYgKyBsYWJlbC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb247XG5cblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0bGVmdDogY2FsYygxMDAlIC0gMnB4KTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0XHQmICsgbGFiZWwuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpZWxkcy1maWVsZC1jaG9pY2Utb24tLWhvdmVyO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuXHRcdFx0XHQmICsgbGFiZWwuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZSwgMCAwIDAgMnB4ICRmaWVsZHMtZmllbGQtY2hvaWNlLW9uO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpkaXNhYmxlZCB7XG5cdFx0XHQmICsgbGFiZWwuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0XHRcdG9wYWNpdHk6IDAuNTtcblx0XHRcdH1cblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHQmICsgbGFiZWwuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtaWNvbiB7XG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHNwYW4sXG5cdGxhYmVsIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1sYWJlbCB7XG5cdFx0cGFkZGluZzogMCAkc3BhY2luZy1zbTtcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDY1cHgpO1xuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLXN0YXR1cyB7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtc2Vjb25kYXJ5O1xuXHRcdGZvbnQtc2l6ZTogJHRleHQtZm9udC1zaXplLXhzO1xuXHRcdGxpbmUtaGVpZ2h0OiAxN3B4O1xuXHRcdHBhZGRpbmc6IDAgJHNwYWNpbmctc207XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLXN0YXR1cy1vZmYsXG5cdC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb24ge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0fVxuXG5cdGlucHV0Om5vdCg6Y2hlY2tlZCkgfiAuc3VnYXItY2FsZW5kYXItdG9nZ2xlLWNvbnRyb2wtc3RhdHVzLW9mZixcblx0aW5wdXQ6Y2hlY2tlZCB+IC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1zdGF0dXMtb24ge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b2dnbGUtY29udHJvbC1pY29uIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmV1dHJhbC0zMDtcblx0XHRib3JkZXItcmFkaXVzOiA4LjVweDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGhlaWdodDogMTdweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dGV4dC1pbmRlbnQ6IC05OTk5cHg7XG5cdFx0d2lkdGg6IDI3cHg7XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdGhlaWdodDogMTNweDtcblx0XHRcdGxlZnQ6IDJweDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMnB4O1xuXHRcdFx0d2lkdGg6IDEzcHg7XG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tbm9ybWFsIGVhc2Utb3V0O1xuXHRcdH1cblx0fVxuXG5cdGlucHV0OmRpc2FibGVkIH4gLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLWljb24sXG5cdGlucHV0OmRpc2FibGVkIH4gLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLXN0YXR1cy1vZmYsXG5cdGlucHV0OmRpc2FibGVkIH4gLnN1Z2FyLWNhbGVuZGFyLXRvZ2dsZS1jb250cm9sLXN0YXR1cy1vbiB7XG5cdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHR9XG59XG4iLCJAbWl4aW4gbGluay1yZXNldCB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cdG91dGxpbmU6IG5vbmU7XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuQG1peGluIHZpc3VhbGx5LWhpZGUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGhlaWdodDogMDtcblx0d2lkdGg6IDA7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cdG1hcmdpbjogMDtcblx0bWluLXdpZHRoOiAwO1xufVxuXG5AbWl4aW4gYmFkZ2UoJHBvc2l0aW9uOiBhZnRlcikge1xuXHQmOjojeyRwb3NpdGlvbn0ge1xuXHRcdGNvbnRlbnQ6IFwiUFJPXCI7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi1sZWZ0OiAkc3BhY2luZy1zbTtcblx0XHRwYWRkaW5nOiA1cHggOHB4O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0Zm9udC1zaXplOiA4cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC40cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDhweDtcblx0XHRjb2xvcjogJGJhZGdlcy1iYWRnZS1uZXV0cmFsLXRleHQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJhZGdlcy1iYWRnZS1uZXV0cmFsLWJhY2tncm91bmQ7XG5cdFx0Ym9yZGVyLXJhZGl1czogJHJhZGl1cy1yYWRpdXMtYmFkZ2U7XG5cblx0XHRAY29udGVudDtcblx0fVxufVxuIiwiLy8gR2VuZXJhbCBhZG1pbiBzdHlsaW5nLlxuXG4vLyBDb3JlIGFkbWluIHN0eWxlIG92ZXJyaWRlcy5cbiN3cGNvbnRlbnQge1xuXHRwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cdFx0cGFkZGluZy10b3A6IDQ2cHg7XG5cdH1cbn1cblxuI3dwYm9keSB7XG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdH1cbn1cblxuLy8gQWRtaW4gd3JhcCAtIGNvbnRhaW5zIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBoZWFkZXIuXG4uc3VnYXItY2FsZW5kYXItYWRtaW4td3JhcCB7XG5cdG1hcmdpbjogMDtcblxuXHQubm90aWNlIHtcblx0XHRtYXJnaW46IDAgMCAxNXB4O1xuXHR9XG59XG5cbi8vIEFkbWluIGNvbnRlbnQuXG4uc3VnYXItY2FsZW5kYXItYWRtaW4tY29udGVudCB7XG5cdHBhZGRpbmc6ICRzcGFjaW5nLWxnICRzcGFjaW5nLWxnIDAgJHNwYWNpbmctbGc7XG5cblx0Kixcblx0Kjo6YmVmb3JlLFxuXHQqOjphZnRlciB7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0fVxuXG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIiBcIjtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHR9XG5cblx0aHIge1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2U0ZTRlNDtcblx0XHRtYXJnaW46IDIwcHggMDtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHR9XG5cblx0Y29kZSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBhZGRpbmc6IDAgNnB4O1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHRjb2xvcjogJHRleHQtdGV4dC1zZWNvbmRhcnk7XG5cdH1cblxuXHRzdHJvbmcge1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdH1cblxuXHRwIHtcblx0XHQmLnN1Ym1pdCB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1sZyAwIDIwcHggMDtcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTRlNGU0O1xuXG5cdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLWFkbWluLWNvbnRlbnRfX3NldHRpbmdzLWZvcm0ge1xuXHRcdHBhZGRpbmctdG9wOiAxNXB4O1xuXHR9XG59XG5cbi8vIExlZ2FjeSBhZGRvbiBmaXhlcy5cbi5zdWdhci1jYWxlbmRhci1hZG1pbi1jb250ZW50IHtcblx0LmZvcm0tdGFibGU6Zmlyc3QtY2hpbGQge1xuXHRcdHRib2R5IHtcblx0XHRcdHRyOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0dGgsXG5cdFx0XHRcdHRkIHtcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGgge1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAycHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRoMyB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy8gSGVhZGVyIHN0eWxlcy5cblxuI3N1Z2FyLWNhbGVuZGFyLWhlYWRlci10ZW1wIHtcblx0bWFyZ2luOiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogLTFweDtcblx0bGVmdDogMjBweDtcblx0cmlnaHQ6IDA7XG5cdHotaW5kZXg6IDk5O1xuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPDYwMHB4XCIpIHtcblx0XHRwYWRkaW5nLXRvcDogNTBweDtcblx0fVxufVxuXG4jc3VnYXItY2FsZW5kYXItaGVhZGVyIHtcblx0cGFkZGluZzogMjBweCAzMHB4O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJHN1cmZhY2Utc3VyZmFjZS1kaXZpZGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0aW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW46IDA7XG5cdFx0bWF4LXdpZHRoOiAyOTZweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xuXHRcdFx0bWF4LXdpZHRoOiAyMDBweDtcblx0XHR9XG5cdH1cblxuXHRhI3N1Z2FyLWNhbGVuZGFyLWhlYWRlci1oZWxwIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRjb2xvcjogJHRleHQtdGV4dC1pY29uO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEzcHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdG1hc2staW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9xdWVzdGlvbi1jaXJjbGUuc3ZnXCIpO1xuXHRcdFx0bWFzay1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LXRleHQtaWNvbjtcblx0XHRcdHdpZHRoOiAxNnB4O1xuXHRcdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiA2cHg7XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGNvbG9yOiAkdGV4dC10ZXh0LXRlcnRpYXJ5O1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LXRleHQtdGVydGlhcnk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuXHQjc3VnYXItY2FsZW5kYXItbm90aWNlLWJhciArICNzdWdhci1jYWxlbmRhci1oZWFkZXItdGVtcCB7XG5cdFx0dG9wOiAzNHB4O1xuXHR9XG59XG4iLCIvLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjIuMC4wXG4vL1xuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBLaXR0eSBHaXJhdWRlbCAoQGtpdHR5Z2lyYXVkZWwpXG4vL1xuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxuQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5AdXNlICdzYXNzOm1hdGgnO1xuQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2FzczpsaXN0JztcbkB1c2UgJ3Nhc3M6c3RyaW5nJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdkZXNrdG9wJzogMTAyNHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxuICAncHJpbnQnOiAncHJpbnQnLFxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXG4gICdyZXRpbmEyeCc6XG4gICAgJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzpcbiAgICAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknLFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2Bcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cbi8vL1xuJHVuaXQtaW50ZXJ2YWxzOiAoXG4gICdweCc6IDEsXG4gICdlbSc6IDAuMDEsXG4gICdyZW0nOiAwLjEsXG4gICcnOiAwLFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBtZXRhLmZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgfVxufVxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7XG59XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLmdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge1xuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLmhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpXG4gICAgICB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgbGlzdC5pbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyaW5nLnNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci10cmltKCRwYXJzZWQtZGltZW5zaW9uKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyaW5nLmxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XG4gIEByZXR1cm4gaWYobGlzdC5pbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cbi8vL1xuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICR2YWx1ZTogc3RyaW5nLnNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHJpbmcubGVuZ3RoKCRvcGVyYXRvcikpO1xuICAkdHJpbW1lZFZhbHVlOiBzdHItdHJpbSgkdmFsdWUpO1xuXG4gIEBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICR0cmltbWVkVmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkdHJpbW1lZFZhbHVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHRyaW1tZWRWYWx1ZSk7XG4gIH1cblxuICAkaW50ZXJ2YWw6IG1hcC5nZXQoJHVuaXQtaW50ZXJ2YWxzLCBtYXRoLnVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3ttYXRoLnVuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC5oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC5nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsaXN0Lmxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxpc3QubGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XG4gICAgQHJldHVybiAoKTtcbiAgfVxuXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcbiAgICAkcmVzdWx0OiBsaXN0LmFwcGVuZCgkcmVzdWx0LCBsaXN0Lm50aCgkbGlzdCwgJGkpLCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKFxuICAgICcwJzogMCxcbiAgICAnMSc6IDEsXG4gICAgJzInOiAyLFxuICAgICczJzogMyxcbiAgICAnNCc6IDQsXG4gICAgJzUnOiA1LFxuICAgICc2JzogNixcbiAgICAnNyc6IDcsXG4gICAgJzgnOiA4LFxuICAgICc5JzogOSxcbiAgKTtcblxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xuICAgICR2YWx1ZTogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0cmluZy5sZW5ndGgoJHZhbHVlKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgIEBpZiBub3QobGlzdC5pbmRleChtYXAua2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGkpKTtcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAuZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXRoLmRpdihtYXAuZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSwgJGRpZ2l0cyk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAkdW5pdHM6IChcbiAgICAncHgnOiAxcHgsXG4gICAgJ2NtJzogMWNtLFxuICAgICdtbSc6IDFtbSxcbiAgICAnJSc6IDElLFxuICAgICdjaCc6IDFjaCxcbiAgICAncGMnOiAxcGMsXG4gICAgJ2luJzogMWluLFxuICAgICdlbSc6IDFlbSxcbiAgICAncmVtJzogMXJlbSxcbiAgICAncHQnOiAxcHQsXG4gICAgJ2V4JzogMWV4LFxuICAgICd2dyc6IDF2dyxcbiAgICAndmgnOiAxdmgsXG4gICAgJ3ZtaW4nOiAxdm1pbixcbiAgICAndm1heCc6IDF2bWF4LFxuICApO1xuXG4gIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAuZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEphY2sgTWNOaWNvbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBUcmltcyBhIHN0cmluZyBvZiBsZWFkaW5nIGFuZCB0cmFpbGluZyBzcGFjZXNcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gVmFsdWUgdG8gYmUgdHJpbW1lZFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfVxuLy8vXG5cbkBmdW5jdGlvbiBzdHItdHJpbSgkc3RyaW5nKSB7XG4gIEBpZiAoc3RyLXNsaWNlKCRzdHJpbmcsIDEsIDEpID09ICcgJykge1xuICAgIEByZXR1cm4gc3RyLXRyaW0oc3RyLXNsaWNlKCRzdHJpbmcsIDIpKTtcbiAgfSBAZWxzZSBpZiAoc3RyLXNsaWNlKCRzdHJpbmcsIHN0ci1sZW5ndGgoJHN0cmluZyksIC0xKSA9PSAnICcpIHtcbiAgICBAcmV0dXJuIHN0ci10cmltKHN0ci1zbGljZSgkc3RyaW5nLCAxLCAtMikpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRzdHJpbmc7XG4gIH1cbn1cblxuLy8vXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxuLy8vIGZvciBpbnN0YW5jZS5cbi8vL1xuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC5tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAubWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxpc3QubGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKVxuICB7XG4gICAgQGNvbnRlbnQ7XG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsaXN0Lmxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7c3RyaW5nLnVucXVvdGUocGFyc2UtZXhwcmVzc2lvbihsaXN0Lm50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgICRzbGljZWQtY29uZGl0aW9uczogc2xpY2UoJGNvbmRpdGlvbnMsIDIpO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJHNsaWNlZC1jb25kaXRpb25zLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQnV0dG9ucy5cbi5zdWdhci1jYWxlbmRhci1idG4ge1xuXHRib3JkZXItd2lkdGg6IDFweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLXJhZGl1czogJHJhZGl1cy1yYWRpdXMtYnV0dG9uO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luOiAwO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0dHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLWZhc3QgZWFzZS1vdXQ7XG5cblx0Ji5pbmFjdGl2ZSB7XG5cdFx0Y3Vyc29yOiBuby1kcm9wO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tYmxvY2sge1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tc20ge1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXHRwYWRkaW5nOiAwIDEwcHg7XG5cdGhlaWdodDogMzBweDtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1tZCB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0bGluZS1oZWlnaHQ6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHBhZGRpbmc6IDEwcHggMTVweDtcblx0bWluLWhlaWdodDogMzZweDtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1sZyB7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0cGFkZGluZzogMTFweCAxN3B4O1xuXHRtaW4taGVpZ2h0OiA0NHB4O1xufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXByaW1hcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuXHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0b3V0bGluZTogMDtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXNlY29uZGFyeSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDtcblx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tdGVydGlhcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZDtcblx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyO1xuXHRjb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LXRleHQgIWltcG9ydGFudDtcblxuXHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZC0tLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlci0taG92ZXI7XG5cdFx0Y29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0LS1ob3ZlciAhaW1wb3J0YW50O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXItLWhvdmVyO1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tZ3JlZW4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdXRpbGl0eS1ncmVlbi01MDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkY29sb3ItdXRpbGl0eS1ncmVlbi01MDtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1yZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci11dGlsaXR5LXJlZC01MDtcblx0Y29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlICFpbXBvcnRhbnQ7XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRjb2xvci11dGlsaXR5LXJlZC01MDtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cbiIsIi8vIFBhZ2Ugc3ViaGVhZGVyLlxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLXN1YmhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0aGVpZ2h0OiA2MHB4O1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDE1cHggJHNwYWNpbmctbGc7XG5cdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG5cdCosXG5cdCo6OmJlZm9yZSxcblx0Kjo6YWZ0ZXIge1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdH1cblxuXHRoNCB7XG5cdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtdGl0bGU7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLWJ0bi1uZXctaXRlbSB7XG5cdFx0bWFyZ2luLWxlZnQ6ICRzcGFjaW5nLW1kO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRtYXNrOiB1cmwoLi4vaW1hZ2VzL2ljb25zL2FkZC5zdmcpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0XHR3aWR0aDogMTFweDtcblx0XHRcdGhlaWdodDogMTFweDtcblx0XHRcdG1hcmdpbjogMCA2cHggMCAwO1xuXHRcdH1cblx0fVxufVxuIiwiQGltcG9ydCAnLi4vLi4vYWRtaW4vdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL3ZlbmRvci9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJy4uLy4uL2FkbWluL21peGlucyc7XG5AaW1wb3J0ICcuLi8uLi9hZG1pbi9mb3Jtcyc7XG5AaW1wb3J0ICcuLi8uLi9hZG1pbi9nZW5lcmFsJztcbkBpbXBvcnQgJy4uLy4uL2FkbWluL2hlYWRlcic7XG5AaW1wb3J0ICcuLi8uLi9hZG1pbi9idXR0b25zJztcbkBpbXBvcnQgJy4uLy4uL2FkbWluL3N1YmhlYWRlcic7XG5cbi5zdWdhci1jYWxlbmRhci1hZG1pbi1zdWJoZWFkZXIge1xuXHQuc3VnYXItY2FsZW5kYXItYnRuLW5ldy1pdGVtIHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRtYXNrOiB1cmwoLi4vLi4vLi4vaW1hZ2VzL2ZlYXR1cmVzL2V2ZW50LXRpY2tldGluZy9pY29ucy9hcnJvdy1iYWNrLnN2ZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG5cdFx0XHR3aWR0aDogN3B4O1xuXHRcdFx0aGVpZ2h0OiAxNHB4O1xuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdG1hcmdpbi10b3A6IC0zcHg7XG5cdFx0fVxuXHR9XG59XG5cbiNzdWdhci1jYWxlbmRhci1vcmRlciB7XG5cdC5ub3RpY2Uge1xuXHRcdG1hcmdpbjogMCAwIDMwcHg7XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItYWRtaW4tY29udGVudCB7XG5cdFx0aDIge1xuXHRcdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdFx0XHRjb2xvcjogJHRleHQtdGV4dC1oZWFkaW5nO1xuXHRcdFx0bWFyZ2luOiAwIDAgJHNwYWNpbmctbWQ7XG5cdFx0fVxuXG5cdFx0LnN1Z2FyLWNhbGVuZGFyLW9yZGVyLWFjdGlvbnMge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbWQ7XG5cblx0XHRcdC5zdWdhci1jYWxlbmRhci1idG4gKyAuc3VnYXItY2FsZW5kYXItYnRuIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6ICRzcGFjaW5nLW1kO1xuXHRcdFx0fVxuXG5cdFx0XHQuc3VnYXItY2FsZW5kYXItYnRuLWRlbGV0ZS1vcmRlciB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRiYWRnZXMtYmFkZ2UtcmVkLWJhY2tncm91bmQ7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci11dGlsaXR5LXJlZC01MDtcblx0XHRcdFx0Y29sb3I6ICNCMzJEMkU7XG5cblx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRjb2xvci11dGlsaXR5LXJlZC01MDtcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdFx0XHRcdG91dGxpbmU6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuc3VnYXItY2FsZW5kYXItb3JkZXItbWV0YWJveCB7XG5cdFx0XHRtYXgtd2lkdGg6IDg2MHB4O1xuXHRcdFx0Ym94LXNoYWRvdzogMCAxcHggMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjA0KTtcblx0XHRcdG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLW1kO1xuXG5cdFx0XHQuc3VnYXItY2FsZW5kYXItb3JkZXItbWV0YWJveF9faGVhZGVyIHtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRzdXJmYWNlLXN1cmZhY2UtYm9yZGVyO1xuXHRcdFx0XHRwYWRkaW5nOiAxMnB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblxuXHRcdFx0XHRoNCB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdGNvbG9yOiAkdGV4dC10ZXh0LXByaW1hcnk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LnN1Z2FyLWNhbGVuZGFyLW9yZGVyLW1ldGFib3hfX2JvZHkge1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJHN1cmZhY2Utc3VyZmFjZS1ib3JkZXI7XG5cdFx0XHRcdGJvcmRlci10b3A6IG5vbmU7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0XHRcdC5zdWdhci1jYWxlbmRhci1tZXRhYm94X19maWVsZC1yb3cge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKG9kZCkge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLWxpZ2h0O1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdD4gbGFiZWwge1xuXHRcdFx0XHRcdFx0ZmxleDogMCAxIDIwMHB4O1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxNnB4O1xuXHRcdFx0XHRcdFx0Y29sb3I6ICR0ZXh0LXRleHQtcHJpbWFyeTtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDE1cHg7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LnN1Z2FyLWNhbGVuZGFyLW1ldGFib3hfX2ZpZWxkIHtcblx0XHRcdFx0XHRcdGZsZXg6IDEgMCBhdXRvO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxNnB4O1xuXHRcdFx0XHRcdFx0Y29sb3I6ICR0ZXh0LXRleHQtc2Vjb25kYXJ5O1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMTVweDtcblxuXHRcdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0c2VsZWN0IHtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZm9ybS1maWVsZC1zZWxlY3Q7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGFibGUge1xuXHRcdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIl19 */
  • sugar-calendar-lite/trunk/assets/css/features/event-ticketing/admin-order.min.css

    r3112525 r3118281  
    1 .sugar-calendar-toggle-control{display:flex;align-items:center;margin:0 1px;line-height:1;color:#50575e;font-weight:500;height:25px;box-sizing:border-box}.sugar-calendar-toggle-control input[type=checkbox]{position:absolute;overflow:hidden;height:0;width:0;border:none !important;box-shadow:none !important;margin:0;min-width:0}.sugar-calendar-toggle-control input[type=checkbox]:hover,.sugar-calendar-toggle-control input[type=checkbox]:focus{border:none !important;box-shadow:none !important}.sugar-calendar-toggle-control input[type=checkbox]:hover:not(:disabled)+label.sugar-calendar-toggle-control-icon{background-color:#646970}.sugar-calendar-toggle-control input[type=checkbox]:focus:not(:disabled)+label.sugar-calendar-toggle-control-icon{box-shadow:0 0 0 1px #fff,0 0 0 2px #8c8f94}.sugar-calendar-toggle-control input[type=checkbox]:checked+label.sugar-calendar-toggle-control-icon{background-color:#2271b1}.sugar-calendar-toggle-control input[type=checkbox]:checked+label.sugar-calendar-toggle-control-icon:after{left:calc(100% - 2px);transform:translateX(-100%)}.sugar-calendar-toggle-control input[type=checkbox]:checked:hover:not(:disabled)+label.sugar-calendar-toggle-control-icon{background-color:#0a4b78}.sugar-calendar-toggle-control input[type=checkbox]:checked:focus:not(:disabled)+label.sugar-calendar-toggle-control-icon{box-shadow:0 0 0 1px #fff,0 0 0 2px #2271b1}.sugar-calendar-toggle-control input[type=checkbox]:disabled+label.sugar-calendar-toggle-control-icon{opacity:.5}.sugar-calendar-toggle-control input[type=checkbox]:disabled:hover+label.sugar-calendar-toggle-control-icon,.sugar-calendar-toggle-control input[type=checkbox]:disabled:focus+label.sugar-calendar-toggle-control-icon{box-shadow:none}.sugar-calendar-toggle-control span,.sugar-calendar-toggle-control label{display:inline-block;margin-bottom:0}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-label{padding:0 10px;max-width:calc(100% - 65px)}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status{color:#50575e;font-size:12px;line-height:17px;padding:0 10px;text-transform:uppercase;display:none}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status-on{cursor:pointer}.sugar-calendar-toggle-control input:not(:checked)~.sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control input:checked~.sugar-calendar-toggle-control-status-on{display:inline-block}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-icon{background-color:#8c8f94;border-radius:8.5px;cursor:pointer;display:inline-block;height:17px;position:relative;text-indent:-9999px;width:27px}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-icon:after{background:#fff;border-radius:50%;content:"";height:13px;left:2px;position:absolute;top:2px;width:13px;transition:all .15s ease-out}.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-icon,.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-status-on{cursor:default}#wpcontent{padding-left:0 !important;position:relative}@media screen and (max-width: 600px){#wpcontent{padding-top:46px}}@media screen and (max-width: 600px){#wpbody{padding-top:0}}.sugar-calendar-admin-wrap{margin:0}.sugar-calendar-admin-wrap .notice{margin:0 0 30px}.sugar-calendar-admin-content{padding:30px 30px 0 30px}.sugar-calendar-admin-content *,.sugar-calendar-admin-content *::before,.sugar-calendar-admin-content *::after{box-sizing:border-box}.sugar-calendar-admin-content:before{content:" ";display:table}.sugar-calendar-admin-content:after{clear:both;content:" ";display:table}.sugar-calendar-admin-content hr{border:none;border-top:1px solid #e4e4e4;margin:20px 0;background:none}.sugar-calendar-admin-content code{display:inline-block;padding:0 6px;font-size:12px;line-height:20px;color:#50575e}.sugar-calendar-admin-content strong{font-weight:500}.sugar-calendar-admin-content p.submit{margin:0;padding:30px 0 20px 0;border-top:1px solid #e4e4e4}.sugar-calendar-admin-content p.submit:last-of-type{padding-bottom:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th,.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{vertical-align:top}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th{padding-top:2px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{padding-top:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child h3{margin-top:0}#sugar-calendar-header-temp{margin:0;position:absolute;top:-1px;left:20px;right:0;z-index:99}@media(max-width: 599px){#sugar-calendar-header-temp{padding-top:50px}}#sugar-calendar-header{padding:20px 30px;box-sizing:border-box;border-bottom:1px solid #dcdcde;background-color:#fff;display:flex;align-items:center}#sugar-calendar-header img{display:block;margin:0;max-width:296px}@media(max-width: 768px){#sugar-calendar-header img{max-width:200px}}#sugar-calendar-header a#sugar-calendar-header-help{margin-left:auto;color:#a7aaad;text-decoration:none;font-size:13px;line-height:13px;display:flex;align-items:center}#sugar-calendar-header a#sugar-calendar-header-help:before{content:"";mask-image:url("../images/icons/question-circle.svg");mask-position:center center;background-color:#a7aaad;width:16px;height:16px;margin-right:6px}#sugar-calendar-header a#sugar-calendar-header-help:hover,#sugar-calendar-header a#sugar-calendar-header-help:focus{color:#646970}#sugar-calendar-header a#sugar-calendar-header-help:hover:before,#sugar-calendar-header a#sugar-calendar-header-help:focus:before{background-color:#646970}@media screen and (min-width: 1024px){#sugar-calendar-notice-bar+#sugar-calendar-header-temp{top:34px}}.sugar-calendar-btn{border-width:1px;border-style:solid;border-radius:4px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;box-shadow:none;transition:all .05s ease-out}.sugar-calendar-btn.inactive{cursor:no-drop;pointer-events:none;box-shadow:none;opacity:.5}.sugar-calendar-btn-block{display:block;width:100%}.sugar-calendar-btn-sm{font-size:13px;font-weight:500;line-height:28px;padding:0 10px;height:30px}.sugar-calendar-btn-md{font-size:14px;line-height:14px;font-weight:500;padding:10px 15px;min-height:36px}.sugar-calendar-btn-lg{font-size:16px;font-weight:500;padding:11px 17px;min-height:44px}.sugar-calendar-btn-primary{background-color:#ff8845;border-color:#ff8845;color:#fff !important}.sugar-calendar-btn-primary:hover,.sugar-calendar-btn-primary:active,.sugar-calendar-btn-primary:focus{background-color:#cb6d37;border-color:#cb6d37;color:#fff !important}.sugar-calendar-btn-primary:focus{box-shadow:0 0 0 2px #cb6d37;border-color:#fff;outline:0}.sugar-calendar-btn-secondary{background-color:#2271b1;border-color:#2271b1;color:#fff !important}.sugar-calendar-btn-secondary:hover,.sugar-calendar-btn-secondary:focus{background-color:#0a4b78;border-color:#0a4b78;color:#fff !important}.sugar-calendar-btn-secondary:focus{box-shadow:0 0 0 2px #0a4b78;border-color:#fff;outline:0}.sugar-calendar-btn-tertiary{background-color:#f6f7f7;border-color:#8c8f94;color:#50575e !important}.sugar-calendar-btn-tertiary:hover,.sugar-calendar-btn-tertiary:focus{background-color:#f0f0f1;border-color:#50575e;color:#2c3338 !important}.sugar-calendar-btn-tertiary:focus{box-shadow:0 0 0 1px #50575e}.sugar-calendar-btn-green{background-color:#008a20;border:1px solid #008a20;color:#fff !important}.sugar-calendar-btn-green:focus{box-shadow:0 0 0 2px #008a20;border-color:#fff;outline:0}.sugar-calendar-btn-red{background-color:#d63638;border:1px solid #d63638;color:#fff !important}.sugar-calendar-btn-red:focus{box-shadow:0 0 0 2px #d63638;border-color:#fff;outline:0}.sugar-calendar-admin-subheader{display:flex;flex-wrap:wrap;align-items:center;height:60px;margin:0;padding:15px 30px;background-color:#fff;list-style:none;font-size:14px;font-weight:400;box-shadow:0 2px 4px 0 rgba(0,0,0,.07);box-sizing:border-box}.sugar-calendar-admin-subheader *,.sugar-calendar-admin-subheader *::before,.sugar-calendar-admin-subheader *::after{box-sizing:border-box}.sugar-calendar-admin-subheader h4{font-size:22px;font-weight:500;line-height:20px;color:#101517;margin:0}.sugar-calendar-admin-subheader .sugar-calendar-btn-new-item{margin-left:20px}.sugar-calendar-admin-subheader .sugar-calendar-btn-new-item::before{content:"";display:inline-block;mask:url(../images/icons/add.svg) center center no-repeat;background-color:#fff;width:11px;height:11px;margin:0 6px 0 0}.sugar-calendar-admin-subheader .sugar-calendar-btn-new-item:before{mask:url(../../../images/features/event-ticketing/icons/arrow-back.svg) center center no-repeat;width:7px;height:14px;vertical-align:middle;margin-top:-3px}#sugar-calendar-order .notice{margin:0 0 30px}#sugar-calendar-order .sugar-calendar-admin-content h2{font-size:22px;font-style:normal;font-weight:500;line-height:normal;color:#1d2327;margin:0 0 20px}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-actions{margin-bottom:20px}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-actions .sugar-calendar-btn+.sugar-calendar-btn{margin-left:20px}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-actions .sugar-calendar-btn-delete-order{background-color:#fcf0f1;border:1px solid #d63638;color:#b32d2e}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-actions .sugar-calendar-btn-delete-order:focus{box-shadow:0 0 0 2px #d63638;border-color:#fff;outline:0}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox{max-width:860px;box-shadow:0 1px 1px 0 rgba(0,0,0,.04);margin-bottom:20px}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__header{border-radius:4px 4px 0 0;border:1px solid #c3c4c7;padding:12px;background-color:#fff}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__header h4{font-size:16px;font-style:normal;font-weight:500;line-height:normal;margin:0;color:#2c3338}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body{border-radius:0 0 4px 4px;border:1px solid #c3c4c7;border-top:none;background-color:#fff;overflow:hidden}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body .sugar-calendar-metabox__field-row{display:flex;align-items:center}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body .sugar-calendar-metabox__field-row:nth-child(odd){background-color:#f6f6f6}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body .sugar-calendar-metabox__field-row>label{flex:0 1 200px;font-size:14px;font-style:normal;font-weight:500;line-height:16px;color:#2c3338;padding:15px}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field{flex:1 0 auto;font-size:14px;font-style:normal;font-weight:400;line-height:16px;color:#50575e;padding:15px}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field a{text-decoration:none}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field select{background-color:#fff;border:1px solid #8c8f94;border-radius:4px;box-shadow:none;color:#2c3338;display:inline-block;vertical-align:middle;padding:7px 12px;margin:0;width:400px;min-height:36px;line-height:1.3;padding:7px 24px 7px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field select:hover{color:#2c3338}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field select:focus{border-color:#2271b1 !important;box-shadow:0 0 0 1px #2271b1 !important;outline:none !important}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field select:disabled{opacity:.5}@media(max-width: 1023px){#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field select{width:300px}}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body table{border:none}
     1.sugar-calendar-toggle-control{display:flex;align-items:center;margin:0 1px;line-height:1;color:#50575e;font-weight:500;height:25px;box-sizing:border-box}.sugar-calendar-toggle-control input[type=checkbox]{position:absolute;overflow:hidden;height:0;width:0;border:none !important;box-shadow:none !important;margin:0;min-width:0}.sugar-calendar-toggle-control input[type=checkbox]:hover,.sugar-calendar-toggle-control input[type=checkbox]:focus{border:none !important;box-shadow:none !important}.sugar-calendar-toggle-control input[type=checkbox]:hover:not(:disabled)+label.sugar-calendar-toggle-control-icon{background-color:#646970}.sugar-calendar-toggle-control input[type=checkbox]:focus:not(:disabled)+label.sugar-calendar-toggle-control-icon{box-shadow:0 0 0 1px #fff,0 0 0 2px #8c8f94}.sugar-calendar-toggle-control input[type=checkbox]:checked+label.sugar-calendar-toggle-control-icon{background-color:#2271b1}.sugar-calendar-toggle-control input[type=checkbox]:checked+label.sugar-calendar-toggle-control-icon:after{left:calc(100% - 2px);transform:translateX(-100%)}.sugar-calendar-toggle-control input[type=checkbox]:checked:hover:not(:disabled)+label.sugar-calendar-toggle-control-icon{background-color:#0a4b78}.sugar-calendar-toggle-control input[type=checkbox]:checked:focus:not(:disabled)+label.sugar-calendar-toggle-control-icon{box-shadow:0 0 0 1px #fff,0 0 0 2px #2271b1}.sugar-calendar-toggle-control input[type=checkbox]:disabled+label.sugar-calendar-toggle-control-icon{opacity:.5}.sugar-calendar-toggle-control input[type=checkbox]:disabled:hover+label.sugar-calendar-toggle-control-icon,.sugar-calendar-toggle-control input[type=checkbox]:disabled:focus+label.sugar-calendar-toggle-control-icon{box-shadow:none}.sugar-calendar-toggle-control span,.sugar-calendar-toggle-control label{display:inline-block;margin-bottom:0}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-label{padding:0 10px;max-width:calc(100% - 65px)}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status{color:#50575e;font-size:12px;line-height:17px;padding:0 10px;text-transform:uppercase;display:none}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control .sugar-calendar-toggle-control-status-on{cursor:pointer}.sugar-calendar-toggle-control input:not(:checked)~.sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control input:checked~.sugar-calendar-toggle-control-status-on{display:inline-block}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-icon{background-color:#8c8f94;border-radius:8.5px;cursor:pointer;display:inline-block;height:17px;position:relative;text-indent:-9999px;width:27px}.sugar-calendar-toggle-control .sugar-calendar-toggle-control-icon:after{background:#fff;border-radius:50%;content:"";height:13px;left:2px;position:absolute;top:2px;width:13px;transition:all .15s ease-out}.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-icon,.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-status-off,.sugar-calendar-toggle-control input:disabled~.sugar-calendar-toggle-control-status-on{cursor:default}#wpcontent{padding-left:0 !important;position:relative}@media screen and (max-width: 600px){#wpcontent{padding-top:46px}}@media screen and (max-width: 600px){#wpbody{padding-top:0}}.sugar-calendar-admin-wrap{margin:0}.sugar-calendar-admin-wrap .notice{margin:0 0 15px}.sugar-calendar-admin-content{padding:30px 30px 0 30px}.sugar-calendar-admin-content *,.sugar-calendar-admin-content *::before,.sugar-calendar-admin-content *::after{box-sizing:border-box}.sugar-calendar-admin-content:before{content:" ";display:table}.sugar-calendar-admin-content:after{clear:both;content:" ";display:table}.sugar-calendar-admin-content hr{border:none;border-top:1px solid #e4e4e4;margin:20px 0;background:none}.sugar-calendar-admin-content code{display:inline-block;padding:0 6px;font-size:12px;line-height:20px;color:#50575e}.sugar-calendar-admin-content strong{font-weight:500}.sugar-calendar-admin-content p.submit{margin:0;padding:30px 0 20px 0;border-top:1px solid #e4e4e4}.sugar-calendar-admin-content p.submit:last-of-type{padding-bottom:0}.sugar-calendar-admin-content .sugar-calendar-admin-content__settings-form{padding-top:15px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th,.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{vertical-align:top}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th{padding-top:2px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{padding-top:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child h3{margin-top:0}#sugar-calendar-header-temp{margin:0;position:absolute;top:-1px;left:20px;right:0;z-index:99}@media(max-width: 599px){#sugar-calendar-header-temp{padding-top:50px}}#sugar-calendar-header{padding:20px 30px;box-sizing:border-box;border-bottom:1px solid #dcdcde;background-color:#fff;display:flex;align-items:center}#sugar-calendar-header img{display:block;margin:0;max-width:296px}@media(max-width: 768px){#sugar-calendar-header img{max-width:200px}}#sugar-calendar-header a#sugar-calendar-header-help{margin-left:auto;color:#a7aaad;text-decoration:none;font-size:13px;line-height:13px;display:flex;align-items:center}#sugar-calendar-header a#sugar-calendar-header-help:before{content:"";mask-image:url("../images/icons/question-circle.svg");mask-position:center center;background-color:#a7aaad;width:16px;height:16px;margin-right:6px}#sugar-calendar-header a#sugar-calendar-header-help:hover,#sugar-calendar-header a#sugar-calendar-header-help:focus{color:#646970}#sugar-calendar-header a#sugar-calendar-header-help:hover:before,#sugar-calendar-header a#sugar-calendar-header-help:focus:before{background-color:#646970}@media screen and (min-width: 1024px){#sugar-calendar-notice-bar+#sugar-calendar-header-temp{top:34px}}.sugar-calendar-btn{border-width:1px;border-style:solid;border-radius:4px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;box-shadow:none;transition:all .05s ease-out}.sugar-calendar-btn.inactive{cursor:no-drop;pointer-events:none;box-shadow:none;opacity:.5}.sugar-calendar-btn-block{display:block;width:100%}.sugar-calendar-btn-sm{font-size:13px;font-weight:500;line-height:28px;padding:0 10px;height:30px}.sugar-calendar-btn-md{font-size:14px;line-height:14px;font-weight:500;padding:10px 15px;min-height:36px}.sugar-calendar-btn-lg{font-size:16px;font-weight:500;padding:11px 17px;min-height:44px}.sugar-calendar-btn-primary{background-color:#ff8845;border-color:#ff8845;color:#fff !important}.sugar-calendar-btn-primary:hover,.sugar-calendar-btn-primary:active,.sugar-calendar-btn-primary:focus{background-color:#cb6d37;border-color:#cb6d37;color:#fff !important}.sugar-calendar-btn-primary:focus{box-shadow:0 0 0 2px #cb6d37;border-color:#fff;outline:0}.sugar-calendar-btn-secondary{background-color:#2271b1;border-color:#2271b1;color:#fff !important}.sugar-calendar-btn-secondary:hover,.sugar-calendar-btn-secondary:focus{background-color:#0a4b78;border-color:#0a4b78;color:#fff !important}.sugar-calendar-btn-secondary:focus{box-shadow:0 0 0 2px #0a4b78;border-color:#fff;outline:0}.sugar-calendar-btn-tertiary{background-color:#f6f7f7;border-color:#8c8f94;color:#50575e !important}.sugar-calendar-btn-tertiary:hover,.sugar-calendar-btn-tertiary:focus{background-color:#f0f0f1;border-color:#50575e;color:#2c3338 !important}.sugar-calendar-btn-tertiary:focus{box-shadow:0 0 0 1px #50575e}.sugar-calendar-btn-green{background-color:#008a20;border:1px solid #008a20;color:#fff !important}.sugar-calendar-btn-green:focus{box-shadow:0 0 0 2px #008a20;border-color:#fff;outline:0}.sugar-calendar-btn-red{background-color:#d63638;border:1px solid #d63638;color:#fff !important}.sugar-calendar-btn-red:focus{box-shadow:0 0 0 2px #d63638;border-color:#fff;outline:0}.sugar-calendar-admin-subheader{display:flex;flex-wrap:wrap;align-items:center;height:60px;margin:0;padding:15px 30px;background-color:#fff;list-style:none;font-size:14px;font-weight:400;box-shadow:0 2px 4px 0 rgba(0,0,0,.07);box-sizing:border-box}.sugar-calendar-admin-subheader *,.sugar-calendar-admin-subheader *::before,.sugar-calendar-admin-subheader *::after{box-sizing:border-box}.sugar-calendar-admin-subheader h4{font-size:22px;font-weight:500;line-height:20px;color:#101517;margin:0}.sugar-calendar-admin-subheader .sugar-calendar-btn-new-item{margin-left:20px}.sugar-calendar-admin-subheader .sugar-calendar-btn-new-item::before{content:"";display:inline-block;mask:url(../images/icons/add.svg) center center no-repeat;background-color:#fff;width:11px;height:11px;margin:0 6px 0 0}.sugar-calendar-admin-subheader .sugar-calendar-btn-new-item:before{mask:url(../../../images/features/event-ticketing/icons/arrow-back.svg) center center no-repeat;width:7px;height:14px;vertical-align:middle;margin-top:-3px}#sugar-calendar-order .notice{margin:0 0 30px}#sugar-calendar-order .sugar-calendar-admin-content h2{font-size:22px;font-style:normal;font-weight:500;line-height:normal;color:#1d2327;margin:0 0 20px}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-actions{margin-bottom:20px}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-actions .sugar-calendar-btn+.sugar-calendar-btn{margin-left:20px}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-actions .sugar-calendar-btn-delete-order{background-color:#fcf0f1;border:1px solid #d63638;color:#b32d2e}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-actions .sugar-calendar-btn-delete-order:focus{box-shadow:0 0 0 2px #d63638;border-color:#fff;outline:0}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox{max-width:860px;box-shadow:0 1px 1px 0 rgba(0,0,0,.04);margin-bottom:20px}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__header{border-radius:4px 4px 0 0;border:1px solid #c3c4c7;padding:12px;background-color:#fff}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__header h4{font-size:16px;font-style:normal;font-weight:500;line-height:normal;margin:0;color:#2c3338}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body{border-radius:0 0 4px 4px;border:1px solid #c3c4c7;border-top:none;background-color:#fff;overflow:hidden}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body .sugar-calendar-metabox__field-row{display:flex;align-items:center}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body .sugar-calendar-metabox__field-row:nth-child(odd){background-color:#f6f6f6}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body .sugar-calendar-metabox__field-row>label{flex:0 1 200px;font-size:14px;font-style:normal;font-weight:500;line-height:16px;color:#2c3338;padding:15px}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field{flex:1 0 auto;font-size:14px;font-style:normal;font-weight:400;line-height:16px;color:#50575e;padding:15px}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field a{text-decoration:none}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field select{background-color:#fff;border:1px solid #8c8f94;border-radius:4px;box-shadow:none;color:#2c3338;display:inline-block;vertical-align:middle;padding:7px 12px;margin:0;width:400px;min-height:36px;line-height:1.3;padding:7px 24px 7px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field select:hover{color:#2c3338}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field select:focus{border-color:#2271b1 !important;box-shadow:0 0 0 1px #2271b1 !important;outline:none !important}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field select:disabled{opacity:.5}@media(max-width: 1023px){#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body .sugar-calendar-metabox__field-row .sugar-calendar-metabox__field select{width:300px}}#sugar-calendar-order .sugar-calendar-admin-content .sugar-calendar-order-metabox .sugar-calendar-order-metabox__body table{border:none}
  • sugar-calendar-lite/trunk/assets/css/features/event-ticketing/admin-orders.css

    r3112525 r3118281  
    2121}
    2222.sugar-calendar-admin-wrap .notice {
    23   margin: 0 0 30px;
     23  margin: 0 0 15px;
    2424}
    2525
     
    6464.sugar-calendar-admin-content p.submit:last-of-type {
    6565  padding-bottom: 0;
     66}
     67.sugar-calendar-admin-content .sugar-calendar-admin-content__settings-form {
     68  padding-top: 15px;
    6669}
    6770
     
    299302  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.07) !important;
    300303}
    301 /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3NzL2FkbWluL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19nZW5lcmFsLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9faGVhZGVyLnNjc3MiLCJhc3NldHMvc2Nzcy92ZW5kb3IvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19idXR0b25zLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9fdGFicy5zY3NzIiwiYXNzZXRzL3Njc3MvZmVhdHVyZXMvZXZlbnQtdGlja2V0aW5nL2FkbWluLW9yZGVycy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0FBNERBO0FDM0RBO0VBQ0M7RUFDQTs7QUFFQTtFQUpEO0lBS0U7Ozs7QUFLRDtFQUREO0lBRUU7Ozs7QUFLRjtFQUNDOztBQUVBO0VBQ0M7OztBQUtGO0VBQ0M7O0FBRUE7QUFBQTtBQUFBO0VBR0M7O0FBR0Q7RUFDQztFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLE9EekNpQjs7QUM0Q2xCO0VBQ0M7O0FBSUE7RUFDQztFQUNBO0VBQ0E7O0FBRUE7RUFDQzs7O0FBWUE7QUFBQTtFQUVDOztBQUdEO0VBQ0M7O0FBR0Q7RUFDQzs7QUFHRDtFQUNDOzs7QUNsR0w7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FDeWxCRztFRC9sQko7SUFTRTs7OztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0Esa0JGWXFCO0VFWHJCO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7O0FDdWtCRTtFRDFrQkg7SUFNRTs7O0FBSUY7RUFDQztFQUNBLE9GWmlCO0VFYWpCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQSxrQkZ2QmdCO0VFd0JoQjtFQUNBO0VBQ0E7O0FBR0Q7RUFFQyxPRmxDZ0I7O0FFb0NoQjtFQUNDLGtCRnJDZTs7O0FFMkNuQjtFQUNDO0lBQ0M7OztBRWhFRjtFQUNDO0VBQ0E7RUFDQSxlSkRXO0VJRVg7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0M7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0Msa0JKMUN1QjtFSTJDdkIsY0ozQ3VCO0VJNEN2Qjs7QUFFQTtFQUNDLGtCSjlDc0I7RUkrQ3RCLGNKL0NzQjtFSWdEdEI7O0FBR0Q7RUFDQztFQUNBLGNKakNvQjtFSWtDcEI7OztBQUlGO0VBQ0Msa0JKMURxQjtFSTJEckIsY0ozRHFCO0VJNERyQjs7QUFFQTtFQUNDLGtCSjdEb0I7RUk4RHBCLGNKOURvQjtFSStEcEI7O0FBR0Q7RUFDQztFQUNBLGNKbkRvQjtFSW9EcEI7OztBQUlGO0VBQ0Msa0JKMURpQjtFSTJEakIsY0pwRWtCO0VJcUVsQjs7QUFFQTtFQUNDLGtCSmhFZ0I7RUlpRWhCLGNKM0VpQjtFSTRFakI7O0FBR0Q7RUFDQzs7O0FBSUY7RUFDQyxrQko3RXdCO0VJOEV4QjtFQUNBOztBQUVBO0VBQ0M7RUFDQSxjSi9Fb0I7RUlnRnBCOzs7QUFJRjtFQUNDLGtCSjNGc0I7RUk0RnRCO0VBQ0E7O0FBRUE7RUFDQztFQUNBLGNKM0ZvQjtFSTRGcEI7OztBQzFIRjtFQUNDO0VBQ0E7RUFDQSxLTElZO0VLSFo7RUFDQTtFQUNBLGtCTHdCcUI7RUt2QnJCO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPTE5nQjtFS09oQjs7QUFFQTtFQUdDLE9MWmU7RUthZixjTFJlOztBS1doQjtFQUNDLGNMeEJvQjs7QUsyQnJCO0VBQ0M7OztBQzlCSjtFQUNDLGVOTlc7RU1PWCIsImZpbGUiOiJhc3NldHMvY3NzL2ZlYXR1cmVzL2V2ZW50LXRpY2tldGluZy9hZG1pbi1vcmRlcnMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQWRtaW4gdmFyaWFibGVzLlxuXG4vKiBWYXJpYWJsZXMgICovXG4kcmFkaXVzLW1kOiA0cHg7XG4kcmFkaXVzLWxnOiA2cHg7XG4kcmFkaXVzLXNtOiAzcHg7XG4kc3BhY2luZy1zbTogMTBweDtcbiRzcGFjaW5nLW1kOiAyMHB4O1xuJHNwYWNpbmctbGc6IDMwcHg7XG4kc3BhY2luZy14bDogNTBweDtcbiRjb2xvci1icmFuZC1vcmFuZ2UtNTA6ICNGRjg4NDVGRjtcbiRjb2xvci1icmFuZC1vcmFuZ2UtNzA6ICNDQjZEMzdGRjtcbiRjb2xvci1icmFuZC1ibHVlLTUwOiAjMjI3MUIxRkY7XG4kY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtNTA6ICMwMEEwRDJGRjtcbiRjb2xvci1icmFuZC1ibHVlLTcwOiAjMEE0Qjc4RkY7XG4kY29sb3ItbmV1dHJhbC0xMDA6ICMxMDE1MTc7XG4kY29sb3ItbmV1dHJhbC05MDogIzFEMjMyN0ZGO1xuJGNvbG9yLW5ldXRyYWwtODA6ICMyQzMzMzhGRjtcbiRjb2xvci1uZXV0cmFsLTcwOiAjM0M0MzRBRkY7XG4kY29sb3ItbmV1dHJhbC02MDogIzUwNTc1RUZGO1xuJGNvbG9yLW5ldXRyYWwtNTA6ICM2NDY5NzBGRjtcbiRjb2xvci1uZXV0cmFsLTMwOiAjOEM4Rjk0RkY7XG4kY29sb3ItbmV1dHJhbC0xMDogI0MzQzRDN0ZGO1xuJGNvbG9yLW5ldXRyYWwtMjA6ICNBN0FBQURGRjtcbiRjb2xvci1uZXV0cmFsLTU6ICNEQ0RDREVGRjtcbiRjb2xvci11dGlsaXR5LXJlZC01MDogI0Q2MzYzOEZGO1xuJGNvbG9yLXV0aWxpdHkteWVsbG93LTUwOiAjREJBNjE3RkY7XG4kY29sb3ItdXRpbGl0eS1ncmVlbi01MDogIzAwOEEyMEZGO1xuJHJhZGl1cy14bDogOXB4O1xuJGNvbG9yLW5ldXRyYWwtMzogI0YwRjBGMUZGO1xuJGNvbG9yLW5ldXRyYWwtMDogI0Y2RjdGN0ZGO1xuJGNvbG9yLXV0aWxpdHktd2hpdGU6ICNGRkZGRkZGRjtcbiRjb2xvci1icmFuZC1vcmFuZ2UtMDogI0ZGRjNFQ0ZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTA6ICNFNUY1RkFGRjtcbiRjb2xvci11dGlsaXR5LWdyZWVuLTA6ICNFREZBRUZGRjtcbiRjb2xvci11dGlsaXR5LXJlZC0wOiAjRkNGMEYxRkY7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTMwOiAjRkZBMDZBRkY7XG4kY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtMzA6ICM2NkM2RTRGRjtcbiRjb2xvci11dGlsaXR5LWdyZWVuLTMwOiAjMDBCQTM3RkY7XG4kY29sb3ItdXRpbGl0eS1yZWQtMzA6ICNGODYzNjhGRjtcbiRjb2xvci13b3JkcHJlc3MtYmx1ZTogIzIyNzFCMUZGO1xuJGNvbG9yLXV0aWxpdHktZ3JheS0wOiAjRjZGNkY2RkY7XG4kY29sb3ItYWNjZW50LW9yYW5nZS01MDogI0ZFOUU2OEZGO1xuJGNvbG9yLWFjY2VudC1vcmFuZ2UtMDogI0ZGRjBFOEZGO1xuJGNvbG9yLWFjY2VudC1yZWQtNTA6ICNGRjczNjhGRjtcbiRjb2xvci1hY2NlbnQtcmVkLTA6ICNGRkVBRThGRjtcbiRjb2xvci1hY2NlbnQtcGluay01MDogI0RGNUI5QUZGO1xuJGNvbG9yLWFjY2VudC1waW5rLTA6ICNGQUU2RjBGRjtcbiRjb2xvci1hY2NlbnQtcHVycGxlLTUwOiAjODY1OUMyRkY7XG4kY29sb3ItYWNjZW50LXB1cnBsZS0wOiAjRURFNkY2RkY7XG4kY29sb3ItYWNjZW50LWJsdWUtNTA6ICM1Njg1QkRGRjtcbiRjb2xvci1hY2NlbnQtYmx1ZS0wOiAjRTZFREY1RkY7XG4kY29sb3ItYWNjZW50LXRlYWwtNTA6ICM0QkI5QTdGRjtcbiRjb2xvci1hY2NlbnQtdGVhbC0wOiAjRTRGNUYyRkY7XG4kY29sb3ItYWNjZW50LWdyZWVuLTUwOiAjNTdENDY2RkY7XG4kY29sb3ItYWNjZW50LWdyZWVuLTA6ICNFNkY5RThGRjtcbiRjb2xvci1hY2NlbnQteWVsbG93LTUwOiAjRkZDNDY5RkY7XG4kY29sb3ItYWNjZW50LXllbGxvdy0wOiAjRkZGNkU5RkY7XG4kY2FsZW5kYXItdGV4dC1wcmltYXJ5OiAjMDAwMDAwRDk7XG4kY2FsZW5kYXItdGV4dC10ZXJ0aWFyeTogIzAwMDAwMDY2O1xuJGNhbGVuZGFyLWJhY2tncm91bmQ6ICMwMDAwMDAwODtcblxuLyogQWxpYXNlcyAgKi9cbiR0ZXh0LXRleHQtcHJpbWFyeTogJGNvbG9yLW5ldXRyYWwtODA7XG4kdGV4dC10ZXh0LXNlY29uZGFyeTogJGNvbG9yLW5ldXRyYWwtNjA7XG4kdGV4dC10ZXh0LXRlcnRpYXJ5OiAkY29sb3ItbmV1dHJhbC01MDtcbiR0ZXh0LXRleHQtaGVhZGluZzogJGNvbG9yLW5ldXRyYWwtOTA7XG4kdGV4dC10ZXh0LXRpdGxlOiAkY29sb3ItbmV1dHJhbC0xMDA7XG4kYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtb3JhbmdlLTUwO1xuJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtYmx1ZS01MDtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1iYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC0wO1xuJGZpZWxkcy1maWVsZC1ib3JkZXI6ICRjb2xvci1uZXV0cmFsLTMwO1xuJHN1cmZhY2Utc3VyZmFjZS1ib3JkZXI6ICRjb2xvci1uZXV0cmFsLTEwO1xuJHN1cmZhY2Utc3VyZmFjZS1kaXZpZGVyOiAkY29sb3ItbmV1dHJhbC01O1xuJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC0taG92ZXI6ICRjb2xvci1icmFuZC1vcmFuZ2UtNzA7XG4kYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyOiAkY29sb3ItYnJhbmQtYmx1ZS03MDtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXI6ICRjb2xvci1uZXV0cmFsLTMwO1xuJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktdGV4dDogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG4kYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LXRleHQ6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LXRleHQ6ICRjb2xvci1uZXV0cmFsLTYwO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlci0taG92ZXI6ICRjb2xvci1uZXV0cmFsLTYwO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQtLS1ob3ZlcjogJGNvbG9yLW5ldXRyYWwtMztcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0LS1ob3ZlcjogJGNvbG9yLW5ldXRyYWwtODA7XG4kYnV0dG9ucy1idXR0b24td3AtcHJpbWFyeS1iYWNrZ3JvdW5kOiAjMjI3MUIxO1xuJHRleHQtdGV4dC1saW5rOiAkY29sb3ItYnJhbmQtYmx1ZS01MDtcbiR0ZXh0LXRleHQtc3VjY2VzczogJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG4kdGV4dC10ZXh0LWVycm9yOiAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG4kdGV4dC10ZXh0LXdhcm5pbmc6ICRjb2xvci11dGlsaXR5LXllbGxvdy01MDtcbiRmaWVsZHMtZmllbGQtYm9yZGVyLS1mb2N1czogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kZmllbGRzLWZpZWxkLWJvcmRlci1lcnJvcjogJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuJGZpZWxkcy1maWVsZC1jaG9pY2Utb2ZmOiAkY29sb3ItbmV1dHJhbC0zMDtcbiRmaWVsZHMtZmllbGQtY2hvaWNlLW9uOiAkY29sb3ItYnJhbmQtYmx1ZS01MDtcbiRiYWRnZXMtYmFkZ2Utb3JhbmdlLXRleHQ6ICRjb2xvci1icmFuZC1vcmFuZ2UtMzA7XG4kYmFkZ2VzLWJhZGdlLW9yYW5nZS1iYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtb3JhbmdlLTA7XG4kYmFkZ2VzLWJhZGdlLWJsdWUtYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTA7XG4kYmFkZ2VzLWJhZGdlLWJsdWUtdGV4dDogJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTMwO1xuJGJhZGdlcy1iYWRnZS1ncmVlbi1iYWNrZ3JvdW5kOiAkY29sb3ItdXRpbGl0eS1ncmVlbi0wO1xuJGJhZGdlcy1iYWRnZS1ncmVlbi10ZXh0OiAkY29sb3ItdXRpbGl0eS1ncmVlbi0zMDtcbiRiYWRnZXMtYmFkZ2UtcmVkLWJhY2tncm91bmQ6ICRjb2xvci11dGlsaXR5LXJlZC0wO1xuJGJhZGdlcy1iYWRnZS1yZWQtdGV4dDogJGNvbG9yLXV0aWxpdHktcmVkLTMwO1xuJGJhZGdlcy1iYWRnZS1uZXV0cmFsLWJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLTU7XG4kYmFkZ2VzLWJhZGdlLW5ldXRyYWwtdGV4dDogJGNvbG9yLW5ldXRyYWwtMzA7XG4kcmFkaXVzLXJhZGl1cy1idXR0b246ICRyYWRpdXMtbWQ7XG4kcmFkaXVzLXJhZGl1cy1maWVsZDogJHJhZGl1cy1tZDtcbiRyYWRpdXMtcmFkaXVzLWJhZGdlOiAkcmFkaXVzLXNtO1xuJHN1cmZhY2Utc3VyZmFjZS1ib3JkZXItcHJpbWFyeTogJGNvbG9yLWJyYW5kLW9yYW5nZS01MDtcbiRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtMztcbiRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG4kdGV4dC10ZXh0LWljb246ICRjb2xvci1uZXV0cmFsLTIwO1xuJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLWxpZ2h0OiAkY29sb3ItdXRpbGl0eS1ncmF5LTA7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vZmYtLWhvdmVyOiAkY29sb3ItbmV1dHJhbC01MDtcbiRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3ZlcjogJGNvbG9yLWJyYW5kLWJsdWUtNzA7XG5cbi8vIEZvbnQgc2l6ZXMuXG4kdGV4dC1mb250LXNpemUtMnhzOiAxMXB4O1xuJHRleHQtZm9udC1zaXplLXhzOiAxMnB4O1xuJHRleHQtZm9udC1zaXplLXNzOiAxM3B4O1xuJHRleHQtZm9udC1zaXplLXM6IDE0cHg7XG4kdGV4dC1mb250LXNpemUtbTogMTZweDtcbiR0ZXh0LWZvbnQtc2l6ZS1sOiAxOHB4O1xuJHRleHQtZm9udC1zaXplLWxsOiAyMHB4O1xuJHRleHQtZm9udC1zaXplLWxsbDogMjJweDtcbiR0ZXh0LWZvbnQtc2l6ZS14bDogMjRweDtcbiR0ZXh0LWZvbnQtc2l6ZS14eGw6IDI4cHg7XG5cbi8vIFRyYW5zaXRpb25zLlxuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tc2xvd2VzdDogLjUwcztcbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLXNsb3dlcjogLjQwcztcbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLXNsb3c6IC4yNXM7XG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1ub3JtYWw6IC4xNXM7XG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1mYXN0OiAuMDVzO1xuIiwiLy8gR2VuZXJhbCBhZG1pbiBzdHlsaW5nLlxuXG4vLyBDb3JlIGFkbWluIHN0eWxlIG92ZXJyaWRlcy5cbiN3cGNvbnRlbnQge1xuXHRwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cdFx0cGFkZGluZy10b3A6IDQ2cHg7XG5cdH1cbn1cblxuI3dwYm9keSB7XG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdH1cbn1cblxuLy8gQWRtaW4gd3JhcCAtIGNvbnRhaW5zIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBoZWFkZXIuXG4uc3VnYXItY2FsZW5kYXItYWRtaW4td3JhcCB7XG5cdG1hcmdpbjogMDtcblxuXHQubm90aWNlIHtcblx0XHRtYXJnaW46IDAgMCAkc3BhY2luZy1sZztcblx0fVxufVxuXG4vLyBBZG1pbiBjb250ZW50LlxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLWNvbnRlbnQge1xuXHRwYWRkaW5nOiAkc3BhY2luZy1sZyAkc3BhY2luZy1sZyAwICRzcGFjaW5nLWxnO1xuXG5cdCosXG5cdCo6OmJlZm9yZSxcblx0Kjo6YWZ0ZXIge1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdH1cblxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogXCIgXCI7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHRjbGVhcjogYm90aDtcblx0XHRjb250ZW50OiBcIiBcIjtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0fVxuXG5cdGhyIHtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNlNGU0ZTQ7XG5cdFx0bWFyZ2luOiAyMHB4IDA7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0fVxuXG5cdGNvZGUge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRwYWRkaW5nOiAwIDZweDtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtc2Vjb25kYXJ5O1xuXHR9XG5cblx0c3Ryb25nIHtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHR9XG5cblx0cCB7XG5cdFx0Ji5zdWJtaXQge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogJHNwYWNpbmctbGcgMCAyMHB4IDA7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2U0ZTRlNDtcblxuXHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0fVxufVxuXG4vLyBMZWdhY3kgYWRkb24gZml4ZXMuXG4uc3VnYXItY2FsZW5kYXItYWRtaW4tY29udGVudCB7XG5cdC5mb3JtLXRhYmxlOmZpcnN0LWNoaWxkIHtcblx0XHR0Ym9keSB7XG5cdFx0XHR0cjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdHRoLFxuXHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRoIHtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMnB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aDMge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8vIEhlYWRlciBzdHlsZXMuXG5cbiNzdWdhci1jYWxlbmRhci1oZWFkZXItdGVtcCB7XG5cdG1hcmdpbjogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IC0xcHg7XG5cdGxlZnQ6IDIwcHg7XG5cdHJpZ2h0OiAwO1xuXHR6LWluZGV4OiA5OTtcblxuXHRAaW5jbHVkZSBtZWRpYShcIjw2MDBweFwiKSB7XG5cdFx0cGFkZGluZy10b3A6IDUwcHg7XG5cdH1cbn1cblxuI3N1Z2FyLWNhbGVuZGFyLWhlYWRlciB7XG5cdHBhZGRpbmc6IDIwcHggMzBweDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzdXJmYWNlLXN1cmZhY2UtZGl2aWRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdG1heC13aWR0aDogMjk2cHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcblx0XHRcdG1heC13aWR0aDogMjAwcHg7XG5cdFx0fVxuXHR9XG5cblx0YSNzdWdhci1jYWxlbmRhci1oZWFkZXItaGVscCB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtaWNvbjtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxM3B4O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRtYXNrLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcXVlc3Rpb24tY2lyY2xlLnN2Z1wiKTtcblx0XHRcdG1hc2stcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC10ZXh0LWljb247XG5cdFx0XHR3aWR0aDogMTZweDtcblx0XHRcdGhlaWdodDogMTZweDtcblx0XHRcdG1hcmdpbi1yaWdodDogNnB4O1xuXHRcdH1cblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRjb2xvcjogJHRleHQtdGV4dC10ZXJ0aWFyeTtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC10ZXh0LXRlcnRpYXJ5O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcblx0I3N1Z2FyLWNhbGVuZGFyLW5vdGljZS1iYXIgKyAjc3VnYXItY2FsZW5kYXItaGVhZGVyLXRlbXAge1xuXHRcdHRvcDogMzRweDtcblx0fVxufVxuIiwiLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYyLjAuMFxuLy9cbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgS2l0dHkgR2lyYXVkZWwgKEBraXR0eWdpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcbkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuQHVzZSAnc2FzczptYXRoJztcbkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ3Nhc3M6bGlzdCc7XG5AdXNlICdzYXNzOnN0cmluZyc7XG5AdXNlICdzYXNzOm1ldGEnO1xuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiAzMjBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnZGVza3RvcCc6IDEwMjRweCxcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcbi8vLyAgKTtcbi8vL1xuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcbiAgJ3ByaW50JzogJ3ByaW50JyxcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAncmV0aW5hMngnOlxuICAgICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXG4gICdyZXRpbmEzeCc6XG4gICAgJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJyxcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XG4vLy9cbiR1bml0LWludGVydmFsczogKFxuICAncHgnOiAxLFxuICAnZW0nOiAwLjAxLFxuICAncmVtJzogMC4xLFxuICAnJzogMCxcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xuICBAaWYgbWV0YS5mZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XG4gICAgQGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAkbWVzc2FnZTtcbiAgICAkXzogbm9vcCgpO1xuICB9XG5cbiAgQHJldHVybiAkbWVzc2FnZTtcbn1cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7XG4gIH1cbn1cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge1xufVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XG5cbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHtcbiAgICB9XG4gIH1cblxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcbiAgICBAaWYgbm90IG1hcC5oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xuXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcbiAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKVxuICAgICAge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgbm90IGxpc3QuaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XG4gICAgQGlmIHN0cmluZy5pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XG59XG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0cmluZy5pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0cmluZy5zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItdHJpbSgkcGFyc2VkLWRpbWVuc2lvbik7XG4gICRkaW1lbnNpb246ICd3aWR0aCc7XG5cbiAgQGlmIHN0cmluZy5sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XG4gIH1cblxuICBAcmV0dXJuICRkaW1lbnNpb247XG59XG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGxpc3QuaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xufVxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0cmluZy5zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyaW5nLmxlbmd0aCgkb3BlcmF0b3IpKTtcbiAgJHRyaW1tZWRWYWx1ZTogc3RyLXRyaW0oJHZhbHVlKTtcblxuICBAaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdHJpbW1lZFZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJHRyaW1tZWRWYWx1ZSk7XG4gIH0gQGVsc2Uge1xuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR0cmltbWVkVmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAuZ2V0KCR1bml0LWludGVydmFscywgbWF0aC51bml0KCR2YWx1ZSkpO1xuXG4gIEBpZiBub3QgJGludGVydmFsIHtcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gICAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7bWF0aC51bml0KCR2YWx1ZSl9YC4nKTtcbiAgfVxuXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy9cbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2Vcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxuLy8vXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gIEBpZiBtYXAuaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XG4gICAgQHJldHVybiBtYXAuZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xuICB9XG5cbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG5cbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XG59XG5cbi8vL1xuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2Vcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxuLy8vXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGlzdC5sZW5ndGgoJGxpc3QpKSB7XG4gIEBpZiBsaXN0Lmxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogbGlzdC5hcHBlbmQoJHJlc3VsdCwgbGlzdC5udGgoJGxpc3QsICRpKSwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9IEBlbHNlIGlmIG1ldGEudHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6IChcbiAgICAnMCc6IDAsXG4gICAgJzEnOiAxLFxuICAgICcyJzogMixcbiAgICAnMyc6IDMsXG4gICAgJzQnOiA0LFxuICAgICc1JzogNSxcbiAgICAnNic6IDYsXG4gICAgJzcnOiA3LFxuICAgICc4JzogOCxcbiAgICAnOSc6IDksXG4gICk7XG5cbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcbiAgICAkdmFsdWU6IHN0cmluZy5zbGljZSgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHJpbmcubGVuZ3RoKCR2YWx1ZSkge1xuICAgICRjaGFyYWN0ZXI6IHN0cmluZy5zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cbiAgICBAaWYgbm90KGxpc3QuaW5kZXgobWFwLmtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0cmluZy5zbGljZSgkdmFsdWUsICRpKSk7XG4gICAgfVxuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcbiAgICAgICRkaWdpdHM6IDE7XG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLmdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWF0aC5kaXYobWFwLmdldCgkbnVtYmVycywgJGNoYXJhY3RlciksICRkaWdpdHMpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG5cbi8vL1xuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxuLy8vXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcbiAgJHVuaXRzOiAoXG4gICAgJ3B4JzogMXB4LFxuICAgICdjbSc6IDFjbSxcbiAgICAnbW0nOiAxbW0sXG4gICAgJyUnOiAxJSxcbiAgICAnY2gnOiAxY2gsXG4gICAgJ3BjJzogMXBjLFxuICAgICdpbic6IDFpbixcbiAgICAnZW0nOiAxZW0sXG4gICAgJ3JlbSc6IDFyZW0sXG4gICAgJ3B0JzogMXB0LFxuICAgICdleCc6IDFleCxcbiAgICAndncnOiAxdncsXG4gICAgJ3ZoJzogMXZoLFxuICAgICd2bWluJzogMXZtaW4sXG4gICAgJ3ZtYXgnOiAxdm1heCxcbiAgKTtcblxuICBAaWYgbm90IGxpc3QuaW5kZXgobWFwLmtleXMoJHVuaXRzKSwgJHVuaXQpIHtcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLmdldCgkdW5pdHMsICR1bml0KTtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBKYWNrIE1jTmljb2xcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gVHJpbXMgYSBzdHJpbmcgb2YgbGVhZGluZyBhbmQgdHJhaWxpbmcgc3BhY2VzXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIFZhbHVlIHRvIGJlIHRyaW1tZWRcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ31cbi8vL1xuXG5AZnVuY3Rpb24gc3RyLXRyaW0oJHN0cmluZykge1xuICBAaWYgKHN0ci1zbGljZSgkc3RyaW5nLCAxLCAxKSA9PSAnICcpIHtcbiAgICBAcmV0dXJuIHN0ci10cmltKHN0ci1zbGljZSgkc3RyaW5nLCAyKSk7XG4gIH0gQGVsc2UgaWYgKHN0ci1zbGljZSgkc3RyaW5nLCBzdHItbGVuZ3RoKCRzdHJpbmcpLCAtMSkgPT0gJyAnKSB7XG4gICAgQHJldHVybiBzdHItdHJpbShzdHItc2xpY2UoJHN0cmluZywgMSwgLTIpKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkc3RyaW5nO1xuICB9XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiBtYXAubWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLm1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xufVxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsaXN0Lmxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcbiAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSlcbiAge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGlzdC5sZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xuICAgIEBtZWRpYSAje3N0cmluZy51bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obGlzdC5udGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXG4gICAgICAkc2xpY2VkLWNvbmRpdGlvbnM6IHNsaWNlKCRjb25kaXRpb25zLCAyKTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRzbGljZWQtY29uZGl0aW9ucy4uLikge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbnMuXG4uc3VnYXItY2FsZW5kYXItYnRuIHtcblx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtcmFkaXVzLWJ1dHRvbjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbjogMDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cdHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1mYXN0IGVhc2Utb3V0O1xuXG5cdCYuaW5hY3RpdmUge1xuXHRcdGN1cnNvcjogbm8tZHJvcDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLWJsb2NrIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXNtIHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsaW5lLWhlaWdodDogMjhweDtcblx0cGFkZGluZzogMCAxMHB4O1xuXHRoZWlnaHQ6IDMwcHg7XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tbWQge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGxpbmUtaGVpZ2h0OiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRwYWRkaW5nOiAxMHB4IDE1cHg7XG5cdG1pbi1oZWlnaHQ6IDM2cHg7XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tbGcge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHBhZGRpbmc6IDExcHggMTdweDtcblx0bWluLWhlaWdodDogNDRweDtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1wcmltYXJ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDtcblx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1zZWNvbmRhcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG5cdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0b3V0bGluZTogMDtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXRlcnRpYXJ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQ7XG5cdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlcjtcblx0Y29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0ICFpbXBvcnRhbnQ7XG5cblx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQtLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXItLWhvdmVyO1xuXHRcdGNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dC0taG92ZXIgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyLS1ob3Zlcjtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLWdyZWVuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci11dGlsaXR5LWdyZWVuLTUwO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tcmVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG4iLCIvLyBQYWdlIG5hdmlnYXRpb24uXG4uc3VnYXItY2FsZW5kYXItYWRtaW4tdGFicyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0Z2FwOiAkc3BhY2luZy1sZztcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwICRzcGFjaW5nLWxnO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA3KTtcblxuXHRsaSB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cblx0XHRhIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cGFkZGluZzogMjNweCAwIDIxcHggMDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxNHB4O1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdGNvbG9yOiAkdGV4dC10ZXh0LXByaW1hcnk7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzLFxuXHRcdFx0Ji5hY3RpdmU6Zm9jdXMge1xuXHRcdFx0XHRjb2xvcjogJHRleHQtdGV4dC1wcmltYXJ5O1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYm9yZGVyO1xuXHRcdFx0fVxuXG5cdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1ib3JkZXItcHJpbWFyeTtcblx0XHRcdH1cblxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9hZG1pbi92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vLi4vdmVuZG9yL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnLi4vLi4vYWRtaW4vbWl4aW5zJztcbkBpbXBvcnQgJy4uLy4uL2FkbWluL2dlbmVyYWwnO1xuQGltcG9ydCAnLi4vLi4vYWRtaW4vaGVhZGVyJztcbkBpbXBvcnQgJy4uLy4uL2FkbWluL2J1dHRvbnMnO1xuQGltcG9ydCAnLi4vLi4vYWRtaW4vdGFicyc7XG5cbi53cC1saXN0LXRhYmxlIHtcblx0Ym9yZGVyLXJhZGl1czogJHJhZGl1cy1tZDtcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA3KSAhaW1wb3J0YW50O1xufVxuIl19 */
     304/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3NzL2FkbWluL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19nZW5lcmFsLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9faGVhZGVyLnNjc3MiLCJhc3NldHMvc2Nzcy92ZW5kb3IvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19idXR0b25zLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9fdGFicy5zY3NzIiwiYXNzZXRzL3Njc3MvZmVhdHVyZXMvZXZlbnQtdGlja2V0aW5nL2FkbWluLW9yZGVycy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0FBNERBO0FDM0RBO0VBQ0M7RUFDQTs7QUFFQTtFQUpEO0lBS0U7Ozs7QUFLRDtFQUREO0lBRUU7Ozs7QUFLRjtFQUNDOztBQUVBO0VBQ0M7OztBQUtGO0VBQ0M7O0FBRUE7QUFBQTtBQUFBO0VBR0M7O0FBR0Q7RUFDQztFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLE9EekNpQjs7QUM0Q2xCO0VBQ0M7O0FBSUE7RUFDQztFQUNBO0VBQ0E7O0FBRUE7RUFDQzs7QUFNSDtFQUNDOzs7QUFTRTtBQUFBO0VBRUM7O0FBR0Q7RUFDQzs7QUFHRDtFQUNDOztBQUdEO0VBQ0M7OztBQ3RHTDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUN5bEJHO0VEL2xCSjtJQVNFOzs7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQSxrQkZZcUI7RUVYckI7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTs7QUN1a0JFO0VEMWtCSDtJQU1FOzs7QUFJRjtFQUNDO0VBQ0EsT0ZaaUI7RUVhakI7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBLGtCRnZCZ0I7RUV3QmhCO0VBQ0E7RUFDQTs7QUFHRDtFQUVDLE9GbENnQjs7QUVvQ2hCO0VBQ0Msa0JGckNlOzs7QUUyQ25CO0VBQ0M7SUFDQzs7O0FFaEVGO0VBQ0M7RUFDQTtFQUNBLGVKRFc7RUlFWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDQztFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQyxrQkoxQ3VCO0VJMkN2QixjSjNDdUI7RUk0Q3ZCOztBQUVBO0VBQ0Msa0JKOUNzQjtFSStDdEIsY0ovQ3NCO0VJZ0R0Qjs7QUFHRDtFQUNDO0VBQ0EsY0pqQ29CO0VJa0NwQjs7O0FBSUY7RUFDQyxrQkoxRHFCO0VJMkRyQixjSjNEcUI7RUk0RHJCOztBQUVBO0VBQ0Msa0JKN0RvQjtFSThEcEIsY0o5RG9CO0VJK0RwQjs7QUFHRDtFQUNDO0VBQ0EsY0puRG9CO0VJb0RwQjs7O0FBSUY7RUFDQyxrQkoxRGlCO0VJMkRqQixjSnBFa0I7RUlxRWxCOztBQUVBO0VBQ0Msa0JKaEVnQjtFSWlFaEIsY0ozRWlCO0VJNEVqQjs7QUFHRDtFQUNDOzs7QUFJRjtFQUNDLGtCSjdFd0I7RUk4RXhCO0VBQ0E7O0FBRUE7RUFDQztFQUNBLGNKL0VvQjtFSWdGcEI7OztBQUlGO0VBQ0Msa0JKM0ZzQjtFSTRGdEI7RUFDQTs7QUFFQTtFQUNDO0VBQ0EsY0ozRm9CO0VJNEZwQjs7O0FDMUhGO0VBQ0M7RUFDQTtFQUNBLEtMSVk7RUtIWjtFQUNBO0VBQ0Esa0JMd0JxQjtFS3ZCckI7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9MTmdCO0VLT2hCOztBQUVBO0VBR0MsT0xaZTtFS2FmLGNMUmU7O0FLV2hCO0VBQ0MsY0x4Qm9COztBSzJCckI7RUFDQzs7O0FDOUJKO0VBQ0MsZU5OVztFTU9YIiwiZmlsZSI6ImFzc2V0cy9jc3MvZmVhdHVyZXMvZXZlbnQtdGlja2V0aW5nL2FkbWluLW9yZGVycy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBZG1pbiB2YXJpYWJsZXMuXG5cbi8qIFZhcmlhYmxlcyAgKi9cbiRyYWRpdXMtbWQ6IDRweDtcbiRyYWRpdXMtbGc6IDZweDtcbiRyYWRpdXMtc206IDNweDtcbiRzcGFjaW5nLXNtOiAxMHB4O1xuJHNwYWNpbmctbWQ6IDIwcHg7XG4kc3BhY2luZy1sZzogMzBweDtcbiRzcGFjaW5nLXhsOiA1MHB4O1xuJGNvbG9yLWJyYW5kLW9yYW5nZS01MDogI0ZGODg0NUZGO1xuJGNvbG9yLWJyYW5kLW9yYW5nZS03MDogI0NCNkQzN0ZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtNTA6ICMyMjcxQjFGRjtcbiRjb2xvci1icmFuZC1ibHVlLWJyaWdodC01MDogIzAwQTBEMkZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtNzA6ICMwQTRCNzhGRjtcbiRjb2xvci1uZXV0cmFsLTEwMDogIzEwMTUxNztcbiRjb2xvci1uZXV0cmFsLTkwOiAjMUQyMzI3RkY7XG4kY29sb3ItbmV1dHJhbC04MDogIzJDMzMzOEZGO1xuJGNvbG9yLW5ldXRyYWwtNzA6ICMzQzQzNEFGRjtcbiRjb2xvci1uZXV0cmFsLTYwOiAjNTA1NzVFRkY7XG4kY29sb3ItbmV1dHJhbC01MDogIzY0Njk3MEZGO1xuJGNvbG9yLW5ldXRyYWwtMzA6ICM4QzhGOTRGRjtcbiRjb2xvci1uZXV0cmFsLTEwOiAjQzNDNEM3RkY7XG4kY29sb3ItbmV1dHJhbC0yMDogI0E3QUFBREZGO1xuJGNvbG9yLW5ldXRyYWwtNTogI0RDRENERUZGO1xuJGNvbG9yLXV0aWxpdHktcmVkLTUwOiAjRDYzNjM4RkY7XG4kY29sb3ItdXRpbGl0eS15ZWxsb3ctNTA6ICNEQkE2MTdGRjtcbiRjb2xvci11dGlsaXR5LWdyZWVuLTUwOiAjMDA4QTIwRkY7XG4kcmFkaXVzLXhsOiA5cHg7XG4kY29sb3ItbmV1dHJhbC0zOiAjRjBGMEYxRkY7XG4kY29sb3ItbmV1dHJhbC0wOiAjRjZGN0Y3RkY7XG4kY29sb3ItdXRpbGl0eS13aGl0ZTogI0ZGRkZGRkZGO1xuJGNvbG9yLWJyYW5kLW9yYW5nZS0wOiAjRkZGM0VDRkY7XG4kY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtMDogI0U1RjVGQUZGO1xuJGNvbG9yLXV0aWxpdHktZ3JlZW4tMDogI0VERkFFRkZGO1xuJGNvbG9yLXV0aWxpdHktcmVkLTA6ICNGQ0YwRjFGRjtcbiRjb2xvci1icmFuZC1vcmFuZ2UtMzA6ICNGRkEwNkFGRjtcbiRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0zMDogIzY2QzZFNEZGO1xuJGNvbG9yLXV0aWxpdHktZ3JlZW4tMzA6ICMwMEJBMzdGRjtcbiRjb2xvci11dGlsaXR5LXJlZC0zMDogI0Y4NjM2OEZGO1xuJGNvbG9yLXdvcmRwcmVzcy1ibHVlOiAjMjI3MUIxRkY7XG4kY29sb3ItdXRpbGl0eS1ncmF5LTA6ICNGNkY2RjZGRjtcbiRjb2xvci1hY2NlbnQtb3JhbmdlLTUwOiAjRkU5RTY4RkY7XG4kY29sb3ItYWNjZW50LW9yYW5nZS0wOiAjRkZGMEU4RkY7XG4kY29sb3ItYWNjZW50LXJlZC01MDogI0ZGNzM2OEZGO1xuJGNvbG9yLWFjY2VudC1yZWQtMDogI0ZGRUFFOEZGO1xuJGNvbG9yLWFjY2VudC1waW5rLTUwOiAjREY1QjlBRkY7XG4kY29sb3ItYWNjZW50LXBpbmstMDogI0ZBRTZGMEZGO1xuJGNvbG9yLWFjY2VudC1wdXJwbGUtNTA6ICM4NjU5QzJGRjtcbiRjb2xvci1hY2NlbnQtcHVycGxlLTA6ICNFREU2RjZGRjtcbiRjb2xvci1hY2NlbnQtYmx1ZS01MDogIzU2ODVCREZGO1xuJGNvbG9yLWFjY2VudC1ibHVlLTA6ICNFNkVERjVGRjtcbiRjb2xvci1hY2NlbnQtdGVhbC01MDogIzRCQjlBN0ZGO1xuJGNvbG9yLWFjY2VudC10ZWFsLTA6ICNFNEY1RjJGRjtcbiRjb2xvci1hY2NlbnQtZ3JlZW4tNTA6ICM1N0Q0NjZGRjtcbiRjb2xvci1hY2NlbnQtZ3JlZW4tMDogI0U2RjlFOEZGO1xuJGNvbG9yLWFjY2VudC15ZWxsb3ctNTA6ICNGRkM0NjlGRjtcbiRjb2xvci1hY2NlbnQteWVsbG93LTA6ICNGRkY2RTlGRjtcbiRjYWxlbmRhci10ZXh0LXByaW1hcnk6ICMwMDAwMDBEOTtcbiRjYWxlbmRhci10ZXh0LXRlcnRpYXJ5OiAjMDAwMDAwNjY7XG4kY2FsZW5kYXItYmFja2dyb3VuZDogIzAwMDAwMDA4O1xuXG4vKiBBbGlhc2VzICAqL1xuJHRleHQtdGV4dC1wcmltYXJ5OiAkY29sb3ItbmV1dHJhbC04MDtcbiR0ZXh0LXRleHQtc2Vjb25kYXJ5OiAkY29sb3ItbmV1dHJhbC02MDtcbiR0ZXh0LXRleHQtdGVydGlhcnk6ICRjb2xvci1uZXV0cmFsLTUwO1xuJHRleHQtdGV4dC1oZWFkaW5nOiAkY29sb3ItbmV1dHJhbC05MDtcbiR0ZXh0LXRleHQtdGl0bGU6ICRjb2xvci1uZXV0cmFsLTEwMDtcbiRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1vcmFuZ2UtNTA7XG4kYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLTA7XG4kZmllbGRzLWZpZWxkLWJvcmRlcjogJGNvbG9yLW5ldXRyYWwtMzA7XG4kc3VyZmFjZS1zdXJmYWNlLWJvcmRlcjogJGNvbG9yLW5ldXRyYWwtMTA7XG4kc3VyZmFjZS1zdXJmYWNlLWRpdmlkZXI6ICRjb2xvci1uZXV0cmFsLTU7XG4kYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3ZlcjogJGNvbG9yLWJyYW5kLW9yYW5nZS03MDtcbiRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC0taG92ZXI6ICRjb2xvci1icmFuZC1ibHVlLTcwO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlcjogJGNvbG9yLW5ldXRyYWwtMzA7XG4kYnV0dG9ucy1idXR0b24tcHJpbWFyeS10ZXh0OiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcbiRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktdGV4dDogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dDogJGNvbG9yLW5ldXRyYWwtNjA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyLS1ob3ZlcjogJGNvbG9yLW5ldXRyYWwtNjA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZC0tLWhvdmVyOiAkY29sb3ItbmV1dHJhbC0zO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LXRleHQtLWhvdmVyOiAkY29sb3ItbmV1dHJhbC04MDtcbiRidXR0b25zLWJ1dHRvbi13cC1wcmltYXJ5LWJhY2tncm91bmQ6ICMyMjcxQjE7XG4kdGV4dC10ZXh0LWxpbms6ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuJHRleHQtdGV4dC1zdWNjZXNzOiAkY29sb3ItdXRpbGl0eS1ncmVlbi01MDtcbiR0ZXh0LXRleHQtZXJyb3I6ICRjb2xvci11dGlsaXR5LXJlZC01MDtcbiR0ZXh0LXRleHQtd2FybmluZzogJGNvbG9yLXV0aWxpdHkteWVsbG93LTUwO1xuJGZpZWxkcy1maWVsZC1ib3JkZXItLWZvY3VzOiAkY29sb3ItYnJhbmQtYmx1ZS01MDtcbiRmaWVsZHMtZmllbGQtYm9yZGVyLWVycm9yOiAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vZmY6ICRjb2xvci1uZXV0cmFsLTMwO1xuJGZpZWxkcy1maWVsZC1jaG9pY2Utb246ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuJGJhZGdlcy1iYWRnZS1vcmFuZ2UtdGV4dDogJGNvbG9yLWJyYW5kLW9yYW5nZS0zMDtcbiRiYWRnZXMtYmFkZ2Utb3JhbmdlLWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1vcmFuZ2UtMDtcbiRiYWRnZXMtYmFkZ2UtYmx1ZS1iYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtMDtcbiRiYWRnZXMtYmFkZ2UtYmx1ZS10ZXh0OiAkY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtMzA7XG4kYmFkZ2VzLWJhZGdlLWdyZWVuLWJhY2tncm91bmQ6ICRjb2xvci11dGlsaXR5LWdyZWVuLTA7XG4kYmFkZ2VzLWJhZGdlLWdyZWVuLXRleHQ6ICRjb2xvci11dGlsaXR5LWdyZWVuLTMwO1xuJGJhZGdlcy1iYWRnZS1yZWQtYmFja2dyb3VuZDogJGNvbG9yLXV0aWxpdHktcmVkLTA7XG4kYmFkZ2VzLWJhZGdlLXJlZC10ZXh0OiAkY29sb3ItdXRpbGl0eS1yZWQtMzA7XG4kYmFkZ2VzLWJhZGdlLW5ldXRyYWwtYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtNTtcbiRiYWRnZXMtYmFkZ2UtbmV1dHJhbC10ZXh0OiAkY29sb3ItbmV1dHJhbC0zMDtcbiRyYWRpdXMtcmFkaXVzLWJ1dHRvbjogJHJhZGl1cy1tZDtcbiRyYWRpdXMtcmFkaXVzLWZpZWxkOiAkcmFkaXVzLW1kO1xuJHJhZGl1cy1yYWRpdXMtYmFkZ2U6ICRyYWRpdXMtc207XG4kc3VyZmFjZS1zdXJmYWNlLWJvcmRlci1wcmltYXJ5OiAkY29sb3ItYnJhbmQtb3JhbmdlLTUwO1xuJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC0zO1xuJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcbiR0ZXh0LXRleHQtaWNvbjogJGNvbG9yLW5ldXRyYWwtMjA7XG4kc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtbGlnaHQ6ICRjb2xvci11dGlsaXR5LWdyYXktMDtcbiRmaWVsZHMtZmllbGQtY2hvaWNlLW9mZi0taG92ZXI6ICRjb2xvci1uZXV0cmFsLTUwO1xuJGZpZWxkcy1maWVsZC1jaG9pY2Utb24tLWhvdmVyOiAkY29sb3ItYnJhbmQtYmx1ZS03MDtcblxuLy8gRm9udCBzaXplcy5cbiR0ZXh0LWZvbnQtc2l6ZS0yeHM6IDExcHg7XG4kdGV4dC1mb250LXNpemUteHM6IDEycHg7XG4kdGV4dC1mb250LXNpemUtc3M6IDEzcHg7XG4kdGV4dC1mb250LXNpemUtczogMTRweDtcbiR0ZXh0LWZvbnQtc2l6ZS1tOiAxNnB4O1xuJHRleHQtZm9udC1zaXplLWw6IDE4cHg7XG4kdGV4dC1mb250LXNpemUtbGw6IDIwcHg7XG4kdGV4dC1mb250LXNpemUtbGxsOiAyMnB4O1xuJHRleHQtZm9udC1zaXplLXhsOiAyNHB4O1xuJHRleHQtZm9udC1zaXplLXh4bDogMjhweDtcblxuLy8gVHJhbnNpdGlvbnMuXG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1zbG93ZXN0OiAuNTBzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tc2xvd2VyOiAuNDBzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tc2xvdzogLjI1cztcbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLW5vcm1hbDogLjE1cztcbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLWZhc3Q6IC4wNXM7XG4iLCIvLyBHZW5lcmFsIGFkbWluIHN0eWxpbmcuXG5cbi8vIENvcmUgYWRtaW4gc3R5bGUgb3ZlcnJpZGVzLlxuI3dwY29udGVudCB7XG5cdHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblx0XHRwYWRkaW5nLXRvcDogNDZweDtcblx0fVxufVxuXG4jd3Bib2R5IHtcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0fVxufVxuXG4vLyBBZG1pbiB3cmFwIC0gY29udGFpbnMgZXZlcnl0aGluZyBleGNlcHQgdGhlIGhlYWRlci5cbi5zdWdhci1jYWxlbmRhci1hZG1pbi13cmFwIHtcblx0bWFyZ2luOiAwO1xuXG5cdC5ub3RpY2Uge1xuXHRcdG1hcmdpbjogMCAwIDE1cHg7XG5cdH1cbn1cblxuLy8gQWRtaW4gY29udGVudC5cbi5zdWdhci1jYWxlbmRhci1hZG1pbi1jb250ZW50IHtcblx0cGFkZGluZzogJHNwYWNpbmctbGcgJHNwYWNpbmctbGcgMCAkc3BhY2luZy1sZztcblxuXHQqLFxuXHQqOjpiZWZvcmUsXG5cdCo6OmFmdGVyIHtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHR9XG5cblx0JjphZnRlciB7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0Y29udGVudDogXCIgXCI7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdH1cblxuXHRociB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTRlNGU0O1xuXHRcdG1hcmdpbjogMjBweCAwO1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdH1cblxuXHRjb2RlIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cGFkZGluZzogMCA2cHg7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdGNvbG9yOiAkdGV4dC10ZXh0LXNlY29uZGFyeTtcblx0fVxuXG5cdHN0cm9uZyB7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0fVxuXG5cdHAge1xuXHRcdCYuc3VibWl0IHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6ICRzcGFjaW5nLWxnIDAgMjBweCAwO1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNlNGU0ZTQ7XG5cblx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItYWRtaW4tY29udGVudF9fc2V0dGluZ3MtZm9ybSB7XG5cdFx0cGFkZGluZy10b3A6IDE1cHg7XG5cdH1cbn1cblxuLy8gTGVnYWN5IGFkZG9uIGZpeGVzLlxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLWNvbnRlbnQge1xuXHQuZm9ybS10YWJsZTpmaXJzdC1jaGlsZCB7XG5cdFx0dGJvZHkge1xuXHRcdFx0dHI6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHR0aCxcblx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aCB7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDJweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRkIHtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGgzIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBIZWFkZXIgc3R5bGVzLlxuXG4jc3VnYXItY2FsZW5kYXItaGVhZGVyLXRlbXAge1xuXHRtYXJnaW46IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtMXB4O1xuXHRsZWZ0OiAyMHB4O1xuXHRyaWdodDogMDtcblx0ei1pbmRleDogOTk7XG5cblx0QGluY2x1ZGUgbWVkaWEoXCI8NjAwcHhcIikge1xuXHRcdHBhZGRpbmctdG9wOiA1MHB4O1xuXHR9XG59XG5cbiNzdWdhci1jYWxlbmRhci1oZWFkZXIge1xuXHRwYWRkaW5nOiAyMHB4IDMwcHg7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc3VyZmFjZS1zdXJmYWNlLWRpdmlkZXI7XG5cdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRpbWcge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbjogMDtcblx0XHRtYXgtd2lkdGg6IDI5NnB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XG5cdFx0XHRtYXgtd2lkdGg6IDIwMHB4O1xuXHRcdH1cblx0fVxuXG5cdGEjc3VnYXItY2FsZW5kYXItaGVhZGVyLWhlbHAge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdGNvbG9yOiAkdGV4dC10ZXh0LWljb247XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRsaW5lLWhlaWdodDogMTNweDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0bWFzay1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3F1ZXN0aW9uLWNpcmNsZS5zdmdcIik7XG5cdFx0XHRtYXNrLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRleHQtdGV4dC1pY29uO1xuXHRcdFx0d2lkdGg6IDE2cHg7XG5cdFx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDZweDtcblx0XHR9XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Y29sb3I6ICR0ZXh0LXRleHQtdGVydGlhcnk7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRleHQtdGV4dC10ZXJ0aWFyeTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG5cdCNzdWdhci1jYWxlbmRhci1ub3RpY2UtYmFyICsgI3N1Z2FyLWNhbGVuZGFyLWhlYWRlci10ZW1wIHtcblx0XHR0b3A6IDM0cHg7XG5cdH1cbn1cbiIsIi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2Mi4wLjBcbi8vXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXG4vL1xuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXG4vLyAgICAgICAgICAgICAgICAgIEtpdHR5IEdpcmF1ZGVsIChAa2l0dHlnaXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG5AY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cbkB1c2UgJ3Nhc3M6bWF0aCc7XG5AdXNlICdzYXNzOm1hcCc7XG5AdXNlICdzYXNzOmxpc3QnO1xuQHVzZSAnc2FzczpzdHJpbmcnO1xuQHVzZSAnc2FzczptZXRhJztcblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6IChcbiAgJ3Bob25lJzogMzIwcHgsXG4gICd0YWJsZXQnOiA3NjhweCxcbiAgJ2Rlc2t0b3AnOiAxMDI0cHgsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzpcbiAgICAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuICAncmV0aW5hM3gnOlxuICAgICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KScsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDAsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgQGlmIG1ldGEuZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgIEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge1xuICB9XG59XG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHtcbn1cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAuaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSlcbiAgICAgIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmIG5vdCBsaXN0LmluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xuICAgIEBpZiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xufVxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHJpbmcuc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXRyaW0oJHBhcnNlZC1kaW1lbnNpb24pO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHJpbmcubGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihsaXN0LmluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0cmluZy5pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHJpbmcuc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0cmluZy5sZW5ndGgoJG9wZXJhdG9yKSk7XG4gICR0cmltbWVkVmFsdWU6IHN0ci10cmltKCR2YWx1ZSk7XG5cbiAgQGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJHRyaW1tZWRWYWx1ZSkge1xuICAgICR2YWx1ZTogbWFwLmdldCgkYnJlYWtwb2ludHMsICR0cmltbWVkVmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdHJpbW1lZFZhbHVlKTtcbiAgfVxuXG4gICRpbnRlcnZhbDogbWFwLmdldCgkdW5pdC1pbnRlcnZhbHMsIG1hdGgudW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje21hdGgudW5pdCgkdmFsdWUpfWAuJyk7XG4gIH1cblxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLmhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLmdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxpc3QubGVuZ3RoKCRsaXN0KSkge1xuICBAaWYgbGlzdC5sZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICRyZXN1bHQ6IGxpc3QuYXBwZW5kKCRyZXN1bHQsIGxpc3QubnRoKCRsaXN0LCAkaSksIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG4vLy9cblxuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIG1ldGEudHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcbiAgfVxuXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0cmluZy5zbGljZSgkdmFsdWUsIDEsIDEpO1xuICAkcmVzdWx0OiAwO1xuICAkZGlnaXRzOiAwO1xuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XG4gICRudW1iZXJzOiAoXG4gICAgJzAnOiAwLFxuICAgICcxJzogMSxcbiAgICAnMic6IDIsXG4gICAgJzMnOiAzLFxuICAgICc0JzogNCxcbiAgICAnNSc6IDUsXG4gICAgJzYnOiA2LFxuICAgICc3JzogNyxcbiAgICAnOCc6IDgsXG4gICAgJzknOiA5LFxuICApO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyaW5nLmxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdChsaXN0LmluZGV4KG1hcC5rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHJpbmcuc2xpY2UoJHZhbHVlLCAkaSkpO1xuICAgIH1cblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGlnaXRzOiAxO1xuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC5nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hdGguZGl2KG1hcC5nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpLCAkZGlnaXRzKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKFxuICAgICdweCc6IDFweCxcbiAgICAnY20nOiAxY20sXG4gICAgJ21tJzogMW1tLFxuICAgICclJzogMSUsXG4gICAgJ2NoJzogMWNoLFxuICAgICdwYyc6IDFwYyxcbiAgICAnaW4nOiAxaW4sXG4gICAgJ2VtJzogMWVtLFxuICAgICdyZW0nOiAxcmVtLFxuICAgICdwdCc6IDFwdCxcbiAgICAnZXgnOiAxZXgsXG4gICAgJ3Z3JzogMXZ3LFxuICAgICd2aCc6IDF2aCxcbiAgICAndm1pbic6IDF2bWluLFxuICAgICd2bWF4JzogMXZtYXgsXG4gICk7XG5cbiAgQGlmIG5vdCBsaXN0LmluZGV4KG1hcC5rZXlzKCR1bml0cyksICR1bml0KSB7XG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC5nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgSmFjayBNY05pY29sXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIFRyaW1zIGEgc3RyaW5nIG9mIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHNwYWNlc1xuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBWYWx1ZSB0byBiZSB0cmltbWVkXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9XG4vLy9cblxuQGZ1bmN0aW9uIHN0ci10cmltKCRzdHJpbmcpIHtcbiAgQGlmIChzdHItc2xpY2UoJHN0cmluZywgMSwgMSkgPT0gJyAnKSB7XG4gICAgQHJldHVybiBzdHItdHJpbShzdHItc2xpY2UoJHN0cmluZywgMikpO1xuICB9IEBlbHNlIGlmIChzdHItc2xpY2UoJHN0cmluZywgc3RyLWxlbmd0aCgkc3RyaW5nKSwgLTEpID09ICcgJykge1xuICAgIEByZXR1cm4gc3RyLXRyaW0oc3RyLXNsaWNlKCRzdHJpbmcsIDEsIC0yKSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJHN0cmluZztcbiAgfVxufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLm1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC5tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGlzdC5sZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpXG4gIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxpc3QubGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3tzdHJpbmcudW5xdW90ZShwYXJzZS1leHByZXNzaW9uKGxpc3QubnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgJHNsaWNlZC1jb25kaXRpb25zOiBzbGljZSgkY29uZGl0aW9ucywgMik7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkc2xpY2VkLWNvbmRpdGlvbnMuLi4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCdXR0b25zLlxuLnN1Z2FyLWNhbGVuZGFyLWJ0biB7XG5cdGJvcmRlci13aWR0aDogMXB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLXJhZGl1cy1idXR0b247XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW46IDA7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRib3gtc2hhZG93OiBub25lO1xuXHR0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tZmFzdCBlYXNlLW91dDtcblxuXHQmLmluYWN0aXZlIHtcblx0XHRjdXJzb3I6IG5vLWRyb3A7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1ibG9jayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1zbSB7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cdHBhZGRpbmc6IDAgMTBweDtcblx0aGVpZ2h0OiAzMHB4O1xufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLW1kIHtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRsaW5lLWhlaWdodDogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0cGFkZGluZzogMTBweCAxNXB4O1xuXHRtaW4taGVpZ2h0OiAzNnB4O1xufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLWxnIHtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRwYWRkaW5nOiAxMXB4IDE3cHg7XG5cdG1pbi1oZWlnaHQ6IDQ0cHg7XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tcHJpbWFyeSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG5cdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDtcblx0Y29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlICFpbXBvcnRhbnQ7XG5cblx0Jjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Y29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tc2Vjb25kYXJ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuXHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDtcblx0Y29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlICFpbXBvcnRhbnQ7XG5cblx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Y29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi10ZXJ0aWFyeSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1iYWNrZ3JvdW5kO1xuXHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXI7XG5cdGNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dCAhaW1wb3J0YW50O1xuXG5cdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1iYWNrZ3JvdW5kLS0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyLS1ob3Zlcjtcblx0XHRjb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LXRleHQtLWhvdmVyICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlci0taG92ZXI7XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1ncmVlbiB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci11dGlsaXR5LWdyZWVuLTUwO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItdXRpbGl0eS1ncmVlbi01MDtcblx0Y29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlICFpbXBvcnRhbnQ7XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRjb2xvci11dGlsaXR5LWdyZWVuLTUwO1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0b3V0bGluZTogMDtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXJlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci11dGlsaXR5LXJlZC01MDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0b3V0bGluZTogMDtcblx0fVxufVxuIiwiLy8gUGFnZSBuYXZpZ2F0aW9uLlxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLXRhYnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogJHNwYWNpbmctbGc7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMCAkc3BhY2luZy1sZztcblx0YmFja2dyb3VuZC1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4wNyk7XG5cblx0bGkge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0YSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBhZGRpbmc6IDIzcHggMCAyMXB4IDA7XG5cdFx0XHRsaW5lLWhlaWdodDogMTRweDtcblx0XHRcdGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRjb2xvcjogJHRleHQtdGV4dC1wcmltYXJ5O1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyxcblx0XHRcdCYuYWN0aXZlOmZvY3VzIHtcblx0XHRcdFx0Y29sb3I6ICR0ZXh0LXRleHQtcHJpbWFyeTtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJvcmRlcjtcblx0XHRcdH1cblxuXHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYm9yZGVyLXByaW1hcnk7XG5cdFx0XHR9XG5cblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiQGltcG9ydCAnLi4vLi4vYWRtaW4vdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL3ZlbmRvci9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJy4uLy4uL2FkbWluL21peGlucyc7XG5AaW1wb3J0ICcuLi8uLi9hZG1pbi9nZW5lcmFsJztcbkBpbXBvcnQgJy4uLy4uL2FkbWluL2hlYWRlcic7XG5AaW1wb3J0ICcuLi8uLi9hZG1pbi9idXR0b25zJztcbkBpbXBvcnQgJy4uLy4uL2FkbWluL3RhYnMnO1xuXG4ud3AtbGlzdC10YWJsZSB7XG5cdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtbWQ7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4wNykgIWltcG9ydGFudDtcbn1cbiJdfQ== */
  • sugar-calendar-lite/trunk/assets/css/features/event-ticketing/admin-orders.min.css

    r3112525 r3118281  
    1 #wpcontent{padding-left:0 !important;position:relative}@media screen and (max-width: 600px){#wpcontent{padding-top:46px}}@media screen and (max-width: 600px){#wpbody{padding-top:0}}.sugar-calendar-admin-wrap{margin:0}.sugar-calendar-admin-wrap .notice{margin:0 0 30px}.sugar-calendar-admin-content{padding:30px 30px 0 30px}.sugar-calendar-admin-content *,.sugar-calendar-admin-content *::before,.sugar-calendar-admin-content *::after{box-sizing:border-box}.sugar-calendar-admin-content:before{content:" ";display:table}.sugar-calendar-admin-content:after{clear:both;content:" ";display:table}.sugar-calendar-admin-content hr{border:none;border-top:1px solid #e4e4e4;margin:20px 0;background:none}.sugar-calendar-admin-content code{display:inline-block;padding:0 6px;font-size:12px;line-height:20px;color:#50575e}.sugar-calendar-admin-content strong{font-weight:500}.sugar-calendar-admin-content p.submit{margin:0;padding:30px 0 20px 0;border-top:1px solid #e4e4e4}.sugar-calendar-admin-content p.submit:last-of-type{padding-bottom:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th,.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{vertical-align:top}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th{padding-top:2px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{padding-top:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child h3{margin-top:0}#sugar-calendar-header-temp{margin:0;position:absolute;top:-1px;left:20px;right:0;z-index:99}@media(max-width: 599px){#sugar-calendar-header-temp{padding-top:50px}}#sugar-calendar-header{padding:20px 30px;box-sizing:border-box;border-bottom:1px solid #dcdcde;background-color:#fff;display:flex;align-items:center}#sugar-calendar-header img{display:block;margin:0;max-width:296px}@media(max-width: 768px){#sugar-calendar-header img{max-width:200px}}#sugar-calendar-header a#sugar-calendar-header-help{margin-left:auto;color:#a7aaad;text-decoration:none;font-size:13px;line-height:13px;display:flex;align-items:center}#sugar-calendar-header a#sugar-calendar-header-help:before{content:"";mask-image:url("../images/icons/question-circle.svg");mask-position:center center;background-color:#a7aaad;width:16px;height:16px;margin-right:6px}#sugar-calendar-header a#sugar-calendar-header-help:hover,#sugar-calendar-header a#sugar-calendar-header-help:focus{color:#646970}#sugar-calendar-header a#sugar-calendar-header-help:hover:before,#sugar-calendar-header a#sugar-calendar-header-help:focus:before{background-color:#646970}@media screen and (min-width: 1024px){#sugar-calendar-notice-bar+#sugar-calendar-header-temp{top:34px}}.sugar-calendar-btn{border-width:1px;border-style:solid;border-radius:4px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;box-shadow:none;transition:all .05s ease-out}.sugar-calendar-btn.inactive{cursor:no-drop;pointer-events:none;box-shadow:none;opacity:.5}.sugar-calendar-btn-block{display:block;width:100%}.sugar-calendar-btn-sm{font-size:13px;font-weight:500;line-height:28px;padding:0 10px;height:30px}.sugar-calendar-btn-md{font-size:14px;line-height:14px;font-weight:500;padding:10px 15px;min-height:36px}.sugar-calendar-btn-lg{font-size:16px;font-weight:500;padding:11px 17px;min-height:44px}.sugar-calendar-btn-primary{background-color:#ff8845;border-color:#ff8845;color:#fff !important}.sugar-calendar-btn-primary:hover,.sugar-calendar-btn-primary:active,.sugar-calendar-btn-primary:focus{background-color:#cb6d37;border-color:#cb6d37;color:#fff !important}.sugar-calendar-btn-primary:focus{box-shadow:0 0 0 2px #cb6d37;border-color:#fff;outline:0}.sugar-calendar-btn-secondary{background-color:#2271b1;border-color:#2271b1;color:#fff !important}.sugar-calendar-btn-secondary:hover,.sugar-calendar-btn-secondary:focus{background-color:#0a4b78;border-color:#0a4b78;color:#fff !important}.sugar-calendar-btn-secondary:focus{box-shadow:0 0 0 2px #0a4b78;border-color:#fff;outline:0}.sugar-calendar-btn-tertiary{background-color:#f6f7f7;border-color:#8c8f94;color:#50575e !important}.sugar-calendar-btn-tertiary:hover,.sugar-calendar-btn-tertiary:focus{background-color:#f0f0f1;border-color:#50575e;color:#2c3338 !important}.sugar-calendar-btn-tertiary:focus{box-shadow:0 0 0 1px #50575e}.sugar-calendar-btn-green{background-color:#008a20;border:1px solid #008a20;color:#fff !important}.sugar-calendar-btn-green:focus{box-shadow:0 0 0 2px #008a20;border-color:#fff;outline:0}.sugar-calendar-btn-red{background-color:#d63638;border:1px solid #d63638;color:#fff !important}.sugar-calendar-btn-red:focus{box-shadow:0 0 0 2px #d63638;border-color:#fff;outline:0}.sugar-calendar-admin-tabs{display:flex;flex-wrap:wrap;gap:30px;margin:0;padding:0 30px;background-color:#fff;list-style:none;font-size:14px;font-weight:400;box-shadow:0 2px 4px 0 rgba(0,0,0,.07)}.sugar-calendar-admin-tabs li{margin:0;padding:0}.sugar-calendar-admin-tabs li a{display:block;padding:23px 0 21px 0;line-height:14px;border-bottom:3px solid #fff;box-shadow:none;color:#2c3338;text-decoration:none}.sugar-calendar-admin-tabs li a:hover,.sugar-calendar-admin-tabs li a:focus,.sugar-calendar-admin-tabs li a.active:focus{color:#2c3338;border-color:#c3c4c7}.sugar-calendar-admin-tabs li a.active{border-color:#ff8845}.sugar-calendar-admin-tabs li a:focus{box-shadow:none}.wp-list-table{border-radius:4px;box-shadow:0 2px 4px 0 rgba(0,0,0,.07) !important}
     1#wpcontent{padding-left:0 !important;position:relative}@media screen and (max-width: 600px){#wpcontent{padding-top:46px}}@media screen and (max-width: 600px){#wpbody{padding-top:0}}.sugar-calendar-admin-wrap{margin:0}.sugar-calendar-admin-wrap .notice{margin:0 0 15px}.sugar-calendar-admin-content{padding:30px 30px 0 30px}.sugar-calendar-admin-content *,.sugar-calendar-admin-content *::before,.sugar-calendar-admin-content *::after{box-sizing:border-box}.sugar-calendar-admin-content:before{content:" ";display:table}.sugar-calendar-admin-content:after{clear:both;content:" ";display:table}.sugar-calendar-admin-content hr{border:none;border-top:1px solid #e4e4e4;margin:20px 0;background:none}.sugar-calendar-admin-content code{display:inline-block;padding:0 6px;font-size:12px;line-height:20px;color:#50575e}.sugar-calendar-admin-content strong{font-weight:500}.sugar-calendar-admin-content p.submit{margin:0;padding:30px 0 20px 0;border-top:1px solid #e4e4e4}.sugar-calendar-admin-content p.submit:last-of-type{padding-bottom:0}.sugar-calendar-admin-content .sugar-calendar-admin-content__settings-form{padding-top:15px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th,.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{vertical-align:top}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th{padding-top:2px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{padding-top:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child h3{margin-top:0}#sugar-calendar-header-temp{margin:0;position:absolute;top:-1px;left:20px;right:0;z-index:99}@media(max-width: 599px){#sugar-calendar-header-temp{padding-top:50px}}#sugar-calendar-header{padding:20px 30px;box-sizing:border-box;border-bottom:1px solid #dcdcde;background-color:#fff;display:flex;align-items:center}#sugar-calendar-header img{display:block;margin:0;max-width:296px}@media(max-width: 768px){#sugar-calendar-header img{max-width:200px}}#sugar-calendar-header a#sugar-calendar-header-help{margin-left:auto;color:#a7aaad;text-decoration:none;font-size:13px;line-height:13px;display:flex;align-items:center}#sugar-calendar-header a#sugar-calendar-header-help:before{content:"";mask-image:url("../images/icons/question-circle.svg");mask-position:center center;background-color:#a7aaad;width:16px;height:16px;margin-right:6px}#sugar-calendar-header a#sugar-calendar-header-help:hover,#sugar-calendar-header a#sugar-calendar-header-help:focus{color:#646970}#sugar-calendar-header a#sugar-calendar-header-help:hover:before,#sugar-calendar-header a#sugar-calendar-header-help:focus:before{background-color:#646970}@media screen and (min-width: 1024px){#sugar-calendar-notice-bar+#sugar-calendar-header-temp{top:34px}}.sugar-calendar-btn{border-width:1px;border-style:solid;border-radius:4px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;box-shadow:none;transition:all .05s ease-out}.sugar-calendar-btn.inactive{cursor:no-drop;pointer-events:none;box-shadow:none;opacity:.5}.sugar-calendar-btn-block{display:block;width:100%}.sugar-calendar-btn-sm{font-size:13px;font-weight:500;line-height:28px;padding:0 10px;height:30px}.sugar-calendar-btn-md{font-size:14px;line-height:14px;font-weight:500;padding:10px 15px;min-height:36px}.sugar-calendar-btn-lg{font-size:16px;font-weight:500;padding:11px 17px;min-height:44px}.sugar-calendar-btn-primary{background-color:#ff8845;border-color:#ff8845;color:#fff !important}.sugar-calendar-btn-primary:hover,.sugar-calendar-btn-primary:active,.sugar-calendar-btn-primary:focus{background-color:#cb6d37;border-color:#cb6d37;color:#fff !important}.sugar-calendar-btn-primary:focus{box-shadow:0 0 0 2px #cb6d37;border-color:#fff;outline:0}.sugar-calendar-btn-secondary{background-color:#2271b1;border-color:#2271b1;color:#fff !important}.sugar-calendar-btn-secondary:hover,.sugar-calendar-btn-secondary:focus{background-color:#0a4b78;border-color:#0a4b78;color:#fff !important}.sugar-calendar-btn-secondary:focus{box-shadow:0 0 0 2px #0a4b78;border-color:#fff;outline:0}.sugar-calendar-btn-tertiary{background-color:#f6f7f7;border-color:#8c8f94;color:#50575e !important}.sugar-calendar-btn-tertiary:hover,.sugar-calendar-btn-tertiary:focus{background-color:#f0f0f1;border-color:#50575e;color:#2c3338 !important}.sugar-calendar-btn-tertiary:focus{box-shadow:0 0 0 1px #50575e}.sugar-calendar-btn-green{background-color:#008a20;border:1px solid #008a20;color:#fff !important}.sugar-calendar-btn-green:focus{box-shadow:0 0 0 2px #008a20;border-color:#fff;outline:0}.sugar-calendar-btn-red{background-color:#d63638;border:1px solid #d63638;color:#fff !important}.sugar-calendar-btn-red:focus{box-shadow:0 0 0 2px #d63638;border-color:#fff;outline:0}.sugar-calendar-admin-tabs{display:flex;flex-wrap:wrap;gap:30px;margin:0;padding:0 30px;background-color:#fff;list-style:none;font-size:14px;font-weight:400;box-shadow:0 2px 4px 0 rgba(0,0,0,.07)}.sugar-calendar-admin-tabs li{margin:0;padding:0}.sugar-calendar-admin-tabs li a{display:block;padding:23px 0 21px 0;line-height:14px;border-bottom:3px solid #fff;box-shadow:none;color:#2c3338;text-decoration:none}.sugar-calendar-admin-tabs li a:hover,.sugar-calendar-admin-tabs li a:focus,.sugar-calendar-admin-tabs li a.active:focus{color:#2c3338;border-color:#c3c4c7}.sugar-calendar-admin-tabs li a.active{border-color:#ff8845}.sugar-calendar-admin-tabs li a:focus{box-shadow:none}.wp-list-table{border-radius:4px;box-shadow:0 2px 4px 0 rgba(0,0,0,.07) !important}
  • sugar-calendar-lite/trunk/assets/css/features/event-ticketing/admin-tickets.css

    r3112525 r3118281  
    2121}
    2222.sugar-calendar-admin-wrap .notice {
    23   margin: 0 0 30px;
     23  margin: 0 0 15px;
    2424}
    2525
     
    6464.sugar-calendar-admin-content p.submit:last-of-type {
    6565  padding-bottom: 0;
     66}
     67.sugar-calendar-admin-content .sugar-calendar-admin-content__settings-form {
     68  padding-top: 15px;
    6669}
    6770
     
    299302  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.07) !important;
    300303}
    301 /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3NzL2FkbWluL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19nZW5lcmFsLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9faGVhZGVyLnNjc3MiLCJhc3NldHMvc2Nzcy92ZW5kb3IvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19idXR0b25zLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9fdGFicy5zY3NzIiwiYXNzZXRzL3Njc3MvZmVhdHVyZXMvZXZlbnQtdGlja2V0aW5nL2FkbWluLXRpY2tldHMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtBQTREQTtBQzNEQTtFQUNDO0VBQ0E7O0FBRUE7RUFKRDtJQUtFOzs7O0FBS0Q7RUFERDtJQUVFOzs7O0FBS0Y7RUFDQzs7QUFFQTtFQUNDOzs7QUFLRjtFQUNDOztBQUVBO0FBQUE7QUFBQTtFQUdDOztBQUdEO0VBQ0M7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPRHpDaUI7O0FDNENsQjtFQUNDOztBQUlBO0VBQ0M7RUFDQTtFQUNBOztBQUVBO0VBQ0M7OztBQVlBO0FBQUE7RUFFQzs7QUFHRDtFQUNDOztBQUdEO0VBQ0M7O0FBR0Q7RUFDQzs7O0FDbEdMO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQ3lsQkc7RUQvbEJKO0lBU0U7Ozs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBLGtCRllxQjtFRVhyQjtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBOztBQ3VrQkU7RUQxa0JIO0lBTUU7OztBQUlGO0VBQ0M7RUFDQSxPRlppQjtFRWFqQjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0Esa0JGdkJnQjtFRXdCaEI7RUFDQTtFQUNBOztBQUdEO0VBRUMsT0ZsQ2dCOztBRW9DaEI7RUFDQyxrQkZyQ2U7OztBRTJDbkI7RUFDQztJQUNDOzs7QUVoRUY7RUFDQztFQUNBO0VBQ0EsZUpEVztFSUVYO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNDO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDLGtCSjFDdUI7RUkyQ3ZCLGNKM0N1QjtFSTRDdkI7O0FBRUE7RUFDQyxrQko5Q3NCO0VJK0N0QixjSi9Dc0I7RUlnRHRCOztBQUdEO0VBQ0M7RUFDQSxjSmpDb0I7RUlrQ3BCOzs7QUFJRjtFQUNDLGtCSjFEcUI7RUkyRHJCLGNKM0RxQjtFSTREckI7O0FBRUE7RUFDQyxrQko3RG9CO0VJOERwQixjSjlEb0I7RUkrRHBCOztBQUdEO0VBQ0M7RUFDQSxjSm5Eb0I7RUlvRHBCOzs7QUFJRjtFQUNDLGtCSjFEaUI7RUkyRGpCLGNKcEVrQjtFSXFFbEI7O0FBRUE7RUFDQyxrQkpoRWdCO0VJaUVoQixjSjNFaUI7RUk0RWpCOztBQUdEO0VBQ0M7OztBQUlGO0VBQ0Msa0JKN0V3QjtFSThFeEI7RUFDQTs7QUFFQTtFQUNDO0VBQ0EsY0ovRW9CO0VJZ0ZwQjs7O0FBSUY7RUFDQyxrQkozRnNCO0VJNEZ0QjtFQUNBOztBQUVBO0VBQ0M7RUFDQSxjSjNGb0I7RUk0RnBCOzs7QUMxSEY7RUFDQztFQUNBO0VBQ0EsS0xJWTtFS0haO0VBQ0E7RUFDQSxrQkx3QnFCO0VLdkJyQjtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT0xOZ0I7RUtPaEI7O0FBRUE7RUFHQyxPTFplO0VLYWYsY0xSZTs7QUtXaEI7RUFDQyxjTHhCb0I7O0FLMkJyQjtFQUNDOzs7QUM5Qko7RUFDQyxlTk5XO0VNT1giLCJmaWxlIjoiYXNzZXRzL2Nzcy9mZWF0dXJlcy9ldmVudC10aWNrZXRpbmcvYWRtaW4tdGlja2V0cy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBZG1pbiB2YXJpYWJsZXMuXG5cbi8qIFZhcmlhYmxlcyAgKi9cbiRyYWRpdXMtbWQ6IDRweDtcbiRyYWRpdXMtbGc6IDZweDtcbiRyYWRpdXMtc206IDNweDtcbiRzcGFjaW5nLXNtOiAxMHB4O1xuJHNwYWNpbmctbWQ6IDIwcHg7XG4kc3BhY2luZy1sZzogMzBweDtcbiRzcGFjaW5nLXhsOiA1MHB4O1xuJGNvbG9yLWJyYW5kLW9yYW5nZS01MDogI0ZGODg0NUZGO1xuJGNvbG9yLWJyYW5kLW9yYW5nZS03MDogI0NCNkQzN0ZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtNTA6ICMyMjcxQjFGRjtcbiRjb2xvci1icmFuZC1ibHVlLWJyaWdodC01MDogIzAwQTBEMkZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtNzA6ICMwQTRCNzhGRjtcbiRjb2xvci1uZXV0cmFsLTEwMDogIzEwMTUxNztcbiRjb2xvci1uZXV0cmFsLTkwOiAjMUQyMzI3RkY7XG4kY29sb3ItbmV1dHJhbC04MDogIzJDMzMzOEZGO1xuJGNvbG9yLW5ldXRyYWwtNzA6ICMzQzQzNEFGRjtcbiRjb2xvci1uZXV0cmFsLTYwOiAjNTA1NzVFRkY7XG4kY29sb3ItbmV1dHJhbC01MDogIzY0Njk3MEZGO1xuJGNvbG9yLW5ldXRyYWwtMzA6ICM4QzhGOTRGRjtcbiRjb2xvci1uZXV0cmFsLTEwOiAjQzNDNEM3RkY7XG4kY29sb3ItbmV1dHJhbC0yMDogI0E3QUFBREZGO1xuJGNvbG9yLW5ldXRyYWwtNTogI0RDRENERUZGO1xuJGNvbG9yLXV0aWxpdHktcmVkLTUwOiAjRDYzNjM4RkY7XG4kY29sb3ItdXRpbGl0eS15ZWxsb3ctNTA6ICNEQkE2MTdGRjtcbiRjb2xvci11dGlsaXR5LWdyZWVuLTUwOiAjMDA4QTIwRkY7XG4kcmFkaXVzLXhsOiA5cHg7XG4kY29sb3ItbmV1dHJhbC0zOiAjRjBGMEYxRkY7XG4kY29sb3ItbmV1dHJhbC0wOiAjRjZGN0Y3RkY7XG4kY29sb3ItdXRpbGl0eS13aGl0ZTogI0ZGRkZGRkZGO1xuJGNvbG9yLWJyYW5kLW9yYW5nZS0wOiAjRkZGM0VDRkY7XG4kY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtMDogI0U1RjVGQUZGO1xuJGNvbG9yLXV0aWxpdHktZ3JlZW4tMDogI0VERkFFRkZGO1xuJGNvbG9yLXV0aWxpdHktcmVkLTA6ICNGQ0YwRjFGRjtcbiRjb2xvci1icmFuZC1vcmFuZ2UtMzA6ICNGRkEwNkFGRjtcbiRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0zMDogIzY2QzZFNEZGO1xuJGNvbG9yLXV0aWxpdHktZ3JlZW4tMzA6ICMwMEJBMzdGRjtcbiRjb2xvci11dGlsaXR5LXJlZC0zMDogI0Y4NjM2OEZGO1xuJGNvbG9yLXdvcmRwcmVzcy1ibHVlOiAjMjI3MUIxRkY7XG4kY29sb3ItdXRpbGl0eS1ncmF5LTA6ICNGNkY2RjZGRjtcbiRjb2xvci1hY2NlbnQtb3JhbmdlLTUwOiAjRkU5RTY4RkY7XG4kY29sb3ItYWNjZW50LW9yYW5nZS0wOiAjRkZGMEU4RkY7XG4kY29sb3ItYWNjZW50LXJlZC01MDogI0ZGNzM2OEZGO1xuJGNvbG9yLWFjY2VudC1yZWQtMDogI0ZGRUFFOEZGO1xuJGNvbG9yLWFjY2VudC1waW5rLTUwOiAjREY1QjlBRkY7XG4kY29sb3ItYWNjZW50LXBpbmstMDogI0ZBRTZGMEZGO1xuJGNvbG9yLWFjY2VudC1wdXJwbGUtNTA6ICM4NjU5QzJGRjtcbiRjb2xvci1hY2NlbnQtcHVycGxlLTA6ICNFREU2RjZGRjtcbiRjb2xvci1hY2NlbnQtYmx1ZS01MDogIzU2ODVCREZGO1xuJGNvbG9yLWFjY2VudC1ibHVlLTA6ICNFNkVERjVGRjtcbiRjb2xvci1hY2NlbnQtdGVhbC01MDogIzRCQjlBN0ZGO1xuJGNvbG9yLWFjY2VudC10ZWFsLTA6ICNFNEY1RjJGRjtcbiRjb2xvci1hY2NlbnQtZ3JlZW4tNTA6ICM1N0Q0NjZGRjtcbiRjb2xvci1hY2NlbnQtZ3JlZW4tMDogI0U2RjlFOEZGO1xuJGNvbG9yLWFjY2VudC15ZWxsb3ctNTA6ICNGRkM0NjlGRjtcbiRjb2xvci1hY2NlbnQteWVsbG93LTA6ICNGRkY2RTlGRjtcbiRjYWxlbmRhci10ZXh0LXByaW1hcnk6ICMwMDAwMDBEOTtcbiRjYWxlbmRhci10ZXh0LXRlcnRpYXJ5OiAjMDAwMDAwNjY7XG4kY2FsZW5kYXItYmFja2dyb3VuZDogIzAwMDAwMDA4O1xuXG4vKiBBbGlhc2VzICAqL1xuJHRleHQtdGV4dC1wcmltYXJ5OiAkY29sb3ItbmV1dHJhbC04MDtcbiR0ZXh0LXRleHQtc2Vjb25kYXJ5OiAkY29sb3ItbmV1dHJhbC02MDtcbiR0ZXh0LXRleHQtdGVydGlhcnk6ICRjb2xvci1uZXV0cmFsLTUwO1xuJHRleHQtdGV4dC1oZWFkaW5nOiAkY29sb3ItbmV1dHJhbC05MDtcbiR0ZXh0LXRleHQtdGl0bGU6ICRjb2xvci1uZXV0cmFsLTEwMDtcbiRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1vcmFuZ2UtNTA7XG4kYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLTA7XG4kZmllbGRzLWZpZWxkLWJvcmRlcjogJGNvbG9yLW5ldXRyYWwtMzA7XG4kc3VyZmFjZS1zdXJmYWNlLWJvcmRlcjogJGNvbG9yLW5ldXRyYWwtMTA7XG4kc3VyZmFjZS1zdXJmYWNlLWRpdmlkZXI6ICRjb2xvci1uZXV0cmFsLTU7XG4kYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3ZlcjogJGNvbG9yLWJyYW5kLW9yYW5nZS03MDtcbiRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC0taG92ZXI6ICRjb2xvci1icmFuZC1ibHVlLTcwO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlcjogJGNvbG9yLW5ldXRyYWwtMzA7XG4kYnV0dG9ucy1idXR0b24tcHJpbWFyeS10ZXh0OiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcbiRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktdGV4dDogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dDogJGNvbG9yLW5ldXRyYWwtNjA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyLS1ob3ZlcjogJGNvbG9yLW5ldXRyYWwtNjA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZC0tLWhvdmVyOiAkY29sb3ItbmV1dHJhbC0zO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LXRleHQtLWhvdmVyOiAkY29sb3ItbmV1dHJhbC04MDtcbiRidXR0b25zLWJ1dHRvbi13cC1wcmltYXJ5LWJhY2tncm91bmQ6ICMyMjcxQjE7XG4kdGV4dC10ZXh0LWxpbms6ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuJHRleHQtdGV4dC1zdWNjZXNzOiAkY29sb3ItdXRpbGl0eS1ncmVlbi01MDtcbiR0ZXh0LXRleHQtZXJyb3I6ICRjb2xvci11dGlsaXR5LXJlZC01MDtcbiR0ZXh0LXRleHQtd2FybmluZzogJGNvbG9yLXV0aWxpdHkteWVsbG93LTUwO1xuJGZpZWxkcy1maWVsZC1ib3JkZXItLWZvY3VzOiAkY29sb3ItYnJhbmQtYmx1ZS01MDtcbiRmaWVsZHMtZmllbGQtYm9yZGVyLWVycm9yOiAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vZmY6ICRjb2xvci1uZXV0cmFsLTMwO1xuJGZpZWxkcy1maWVsZC1jaG9pY2Utb246ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuJGJhZGdlcy1iYWRnZS1vcmFuZ2UtdGV4dDogJGNvbG9yLWJyYW5kLW9yYW5nZS0zMDtcbiRiYWRnZXMtYmFkZ2Utb3JhbmdlLWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1vcmFuZ2UtMDtcbiRiYWRnZXMtYmFkZ2UtYmx1ZS1iYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtMDtcbiRiYWRnZXMtYmFkZ2UtYmx1ZS10ZXh0OiAkY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtMzA7XG4kYmFkZ2VzLWJhZGdlLWdyZWVuLWJhY2tncm91bmQ6ICRjb2xvci11dGlsaXR5LWdyZWVuLTA7XG4kYmFkZ2VzLWJhZGdlLWdyZWVuLXRleHQ6ICRjb2xvci11dGlsaXR5LWdyZWVuLTMwO1xuJGJhZGdlcy1iYWRnZS1yZWQtYmFja2dyb3VuZDogJGNvbG9yLXV0aWxpdHktcmVkLTA7XG4kYmFkZ2VzLWJhZGdlLXJlZC10ZXh0OiAkY29sb3ItdXRpbGl0eS1yZWQtMzA7XG4kYmFkZ2VzLWJhZGdlLW5ldXRyYWwtYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtNTtcbiRiYWRnZXMtYmFkZ2UtbmV1dHJhbC10ZXh0OiAkY29sb3ItbmV1dHJhbC0zMDtcbiRyYWRpdXMtcmFkaXVzLWJ1dHRvbjogJHJhZGl1cy1tZDtcbiRyYWRpdXMtcmFkaXVzLWZpZWxkOiAkcmFkaXVzLW1kO1xuJHJhZGl1cy1yYWRpdXMtYmFkZ2U6ICRyYWRpdXMtc207XG4kc3VyZmFjZS1zdXJmYWNlLWJvcmRlci1wcmltYXJ5OiAkY29sb3ItYnJhbmQtb3JhbmdlLTUwO1xuJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC0zO1xuJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcbiR0ZXh0LXRleHQtaWNvbjogJGNvbG9yLW5ldXRyYWwtMjA7XG4kc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtbGlnaHQ6ICRjb2xvci11dGlsaXR5LWdyYXktMDtcbiRmaWVsZHMtZmllbGQtY2hvaWNlLW9mZi0taG92ZXI6ICRjb2xvci1uZXV0cmFsLTUwO1xuJGZpZWxkcy1maWVsZC1jaG9pY2Utb24tLWhvdmVyOiAkY29sb3ItYnJhbmQtYmx1ZS03MDtcblxuLy8gRm9udCBzaXplcy5cbiR0ZXh0LWZvbnQtc2l6ZS0yeHM6IDExcHg7XG4kdGV4dC1mb250LXNpemUteHM6IDEycHg7XG4kdGV4dC1mb250LXNpemUtc3M6IDEzcHg7XG4kdGV4dC1mb250LXNpemUtczogMTRweDtcbiR0ZXh0LWZvbnQtc2l6ZS1tOiAxNnB4O1xuJHRleHQtZm9udC1zaXplLWw6IDE4cHg7XG4kdGV4dC1mb250LXNpemUtbGw6IDIwcHg7XG4kdGV4dC1mb250LXNpemUtbGxsOiAyMnB4O1xuJHRleHQtZm9udC1zaXplLXhsOiAyNHB4O1xuJHRleHQtZm9udC1zaXplLXh4bDogMjhweDtcblxuLy8gVHJhbnNpdGlvbnMuXG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1zbG93ZXN0OiAuNTBzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tc2xvd2VyOiAuNDBzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tc2xvdzogLjI1cztcbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLW5vcm1hbDogLjE1cztcbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLWZhc3Q6IC4wNXM7XG4iLCIvLyBHZW5lcmFsIGFkbWluIHN0eWxpbmcuXG5cbi8vIENvcmUgYWRtaW4gc3R5bGUgb3ZlcnJpZGVzLlxuI3dwY29udGVudCB7XG5cdHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblx0XHRwYWRkaW5nLXRvcDogNDZweDtcblx0fVxufVxuXG4jd3Bib2R5IHtcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0fVxufVxuXG4vLyBBZG1pbiB3cmFwIC0gY29udGFpbnMgZXZlcnl0aGluZyBleGNlcHQgdGhlIGhlYWRlci5cbi5zdWdhci1jYWxlbmRhci1hZG1pbi13cmFwIHtcblx0bWFyZ2luOiAwO1xuXG5cdC5ub3RpY2Uge1xuXHRcdG1hcmdpbjogMCAwICRzcGFjaW5nLWxnO1xuXHR9XG59XG5cbi8vIEFkbWluIGNvbnRlbnQuXG4uc3VnYXItY2FsZW5kYXItYWRtaW4tY29udGVudCB7XG5cdHBhZGRpbmc6ICRzcGFjaW5nLWxnICRzcGFjaW5nLWxnIDAgJHNwYWNpbmctbGc7XG5cblx0Kixcblx0Kjo6YmVmb3JlLFxuXHQqOjphZnRlciB7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0fVxuXG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIiBcIjtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHR9XG5cblx0aHIge1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2U0ZTRlNDtcblx0XHRtYXJnaW46IDIwcHggMDtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHR9XG5cblx0Y29kZSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBhZGRpbmc6IDAgNnB4O1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHRjb2xvcjogJHRleHQtdGV4dC1zZWNvbmRhcnk7XG5cdH1cblxuXHRzdHJvbmcge1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdH1cblxuXHRwIHtcblx0XHQmLnN1Ym1pdCB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1sZyAwIDIwcHggMDtcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTRlNGU0O1xuXG5cdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG59XG5cbi8vIExlZ2FjeSBhZGRvbiBmaXhlcy5cbi5zdWdhci1jYWxlbmRhci1hZG1pbi1jb250ZW50IHtcblx0LmZvcm0tdGFibGU6Zmlyc3QtY2hpbGQge1xuXHRcdHRib2R5IHtcblx0XHRcdHRyOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0dGgsXG5cdFx0XHRcdHRkIHtcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGgge1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAycHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRoMyB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy8gSGVhZGVyIHN0eWxlcy5cblxuI3N1Z2FyLWNhbGVuZGFyLWhlYWRlci10ZW1wIHtcblx0bWFyZ2luOiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogLTFweDtcblx0bGVmdDogMjBweDtcblx0cmlnaHQ6IDA7XG5cdHotaW5kZXg6IDk5O1xuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPDYwMHB4XCIpIHtcblx0XHRwYWRkaW5nLXRvcDogNTBweDtcblx0fVxufVxuXG4jc3VnYXItY2FsZW5kYXItaGVhZGVyIHtcblx0cGFkZGluZzogMjBweCAzMHB4O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJHN1cmZhY2Utc3VyZmFjZS1kaXZpZGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0aW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW46IDA7XG5cdFx0bWF4LXdpZHRoOiAyOTZweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xuXHRcdFx0bWF4LXdpZHRoOiAyMDBweDtcblx0XHR9XG5cdH1cblxuXHRhI3N1Z2FyLWNhbGVuZGFyLWhlYWRlci1oZWxwIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRjb2xvcjogJHRleHQtdGV4dC1pY29uO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEzcHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdG1hc2staW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9xdWVzdGlvbi1jaXJjbGUuc3ZnXCIpO1xuXHRcdFx0bWFzay1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LXRleHQtaWNvbjtcblx0XHRcdHdpZHRoOiAxNnB4O1xuXHRcdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiA2cHg7XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGNvbG9yOiAkdGV4dC10ZXh0LXRlcnRpYXJ5O1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LXRleHQtdGVydGlhcnk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuXHQjc3VnYXItY2FsZW5kYXItbm90aWNlLWJhciArICNzdWdhci1jYWxlbmRhci1oZWFkZXItdGVtcCB7XG5cdFx0dG9wOiAzNHB4O1xuXHR9XG59XG4iLCIvLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjIuMC4wXG4vL1xuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBLaXR0eSBHaXJhdWRlbCAoQGtpdHR5Z2lyYXVkZWwpXG4vL1xuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxuQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5AdXNlICdzYXNzOm1hdGgnO1xuQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2FzczpsaXN0JztcbkB1c2UgJ3Nhc3M6c3RyaW5nJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdkZXNrdG9wJzogMTAyNHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxuICAncHJpbnQnOiAncHJpbnQnLFxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXG4gICdyZXRpbmEyeCc6XG4gICAgJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzpcbiAgICAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknLFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2Bcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cbi8vL1xuJHVuaXQtaW50ZXJ2YWxzOiAoXG4gICdweCc6IDEsXG4gICdlbSc6IDAuMDEsXG4gICdyZW0nOiAwLjEsXG4gICcnOiAwLFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBtZXRhLmZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgfVxufVxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7XG59XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLmdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge1xuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLmhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpXG4gICAgICB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgbGlzdC5pbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyaW5nLnNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci10cmltKCRwYXJzZWQtZGltZW5zaW9uKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyaW5nLmxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XG4gIEByZXR1cm4gaWYobGlzdC5pbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cbi8vL1xuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICR2YWx1ZTogc3RyaW5nLnNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHJpbmcubGVuZ3RoKCRvcGVyYXRvcikpO1xuICAkdHJpbW1lZFZhbHVlOiBzdHItdHJpbSgkdmFsdWUpO1xuXG4gIEBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICR0cmltbWVkVmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkdHJpbW1lZFZhbHVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHRyaW1tZWRWYWx1ZSk7XG4gIH1cblxuICAkaW50ZXJ2YWw6IG1hcC5nZXQoJHVuaXQtaW50ZXJ2YWxzLCBtYXRoLnVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3ttYXRoLnVuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC5oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC5nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsaXN0Lmxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxpc3QubGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XG4gICAgQHJldHVybiAoKTtcbiAgfVxuXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcbiAgICAkcmVzdWx0OiBsaXN0LmFwcGVuZCgkcmVzdWx0LCBsaXN0Lm50aCgkbGlzdCwgJGkpLCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKFxuICAgICcwJzogMCxcbiAgICAnMSc6IDEsXG4gICAgJzInOiAyLFxuICAgICczJzogMyxcbiAgICAnNCc6IDQsXG4gICAgJzUnOiA1LFxuICAgICc2JzogNixcbiAgICAnNyc6IDcsXG4gICAgJzgnOiA4LFxuICAgICc5JzogOSxcbiAgKTtcblxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xuICAgICR2YWx1ZTogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0cmluZy5sZW5ndGgoJHZhbHVlKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgIEBpZiBub3QobGlzdC5pbmRleChtYXAua2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGkpKTtcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAuZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXRoLmRpdihtYXAuZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSwgJGRpZ2l0cyk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAkdW5pdHM6IChcbiAgICAncHgnOiAxcHgsXG4gICAgJ2NtJzogMWNtLFxuICAgICdtbSc6IDFtbSxcbiAgICAnJSc6IDElLFxuICAgICdjaCc6IDFjaCxcbiAgICAncGMnOiAxcGMsXG4gICAgJ2luJzogMWluLFxuICAgICdlbSc6IDFlbSxcbiAgICAncmVtJzogMXJlbSxcbiAgICAncHQnOiAxcHQsXG4gICAgJ2V4JzogMWV4LFxuICAgICd2dyc6IDF2dyxcbiAgICAndmgnOiAxdmgsXG4gICAgJ3ZtaW4nOiAxdm1pbixcbiAgICAndm1heCc6IDF2bWF4LFxuICApO1xuXG4gIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAuZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEphY2sgTWNOaWNvbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBUcmltcyBhIHN0cmluZyBvZiBsZWFkaW5nIGFuZCB0cmFpbGluZyBzcGFjZXNcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gVmFsdWUgdG8gYmUgdHJpbW1lZFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfVxuLy8vXG5cbkBmdW5jdGlvbiBzdHItdHJpbSgkc3RyaW5nKSB7XG4gIEBpZiAoc3RyLXNsaWNlKCRzdHJpbmcsIDEsIDEpID09ICcgJykge1xuICAgIEByZXR1cm4gc3RyLXRyaW0oc3RyLXNsaWNlKCRzdHJpbmcsIDIpKTtcbiAgfSBAZWxzZSBpZiAoc3RyLXNsaWNlKCRzdHJpbmcsIHN0ci1sZW5ndGgoJHN0cmluZyksIC0xKSA9PSAnICcpIHtcbiAgICBAcmV0dXJuIHN0ci10cmltKHN0ci1zbGljZSgkc3RyaW5nLCAxLCAtMikpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRzdHJpbmc7XG4gIH1cbn1cblxuLy8vXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxuLy8vIGZvciBpbnN0YW5jZS5cbi8vL1xuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC5tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAubWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxpc3QubGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKVxuICB7XG4gICAgQGNvbnRlbnQ7XG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsaXN0Lmxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7c3RyaW5nLnVucXVvdGUocGFyc2UtZXhwcmVzc2lvbihsaXN0Lm50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgICRzbGljZWQtY29uZGl0aW9uczogc2xpY2UoJGNvbmRpdGlvbnMsIDIpO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJHNsaWNlZC1jb25kaXRpb25zLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQnV0dG9ucy5cbi5zdWdhci1jYWxlbmRhci1idG4ge1xuXHRib3JkZXItd2lkdGg6IDFweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLXJhZGl1czogJHJhZGl1cy1yYWRpdXMtYnV0dG9uO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luOiAwO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0dHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLWZhc3QgZWFzZS1vdXQ7XG5cblx0Ji5pbmFjdGl2ZSB7XG5cdFx0Y3Vyc29yOiBuby1kcm9wO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tYmxvY2sge1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tc20ge1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXHRwYWRkaW5nOiAwIDEwcHg7XG5cdGhlaWdodDogMzBweDtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1tZCB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0bGluZS1oZWlnaHQ6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHBhZGRpbmc6IDEwcHggMTVweDtcblx0bWluLWhlaWdodDogMzZweDtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1sZyB7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0cGFkZGluZzogMTFweCAxN3B4O1xuXHRtaW4taGVpZ2h0OiA0NHB4O1xufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXByaW1hcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuXHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0b3V0bGluZTogMDtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXNlY29uZGFyeSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDtcblx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tdGVydGlhcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZDtcblx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyO1xuXHRjb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LXRleHQgIWltcG9ydGFudDtcblxuXHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZC0tLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlci0taG92ZXI7XG5cdFx0Y29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0LS1ob3ZlciAhaW1wb3J0YW50O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXItLWhvdmVyO1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tZ3JlZW4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdXRpbGl0eS1ncmVlbi01MDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkY29sb3ItdXRpbGl0eS1ncmVlbi01MDtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1yZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci11dGlsaXR5LXJlZC01MDtcblx0Y29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlICFpbXBvcnRhbnQ7XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICRjb2xvci11dGlsaXR5LXJlZC01MDtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cbiIsIi8vIFBhZ2UgbmF2aWdhdGlvbi5cbi5zdWdhci1jYWxlbmRhci1hZG1pbi10YWJzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRnYXA6ICRzcGFjaW5nLWxnO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDAgJHNwYWNpbmctbGc7XG5cdGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuXG5cdGxpIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblxuXHRcdGEge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwYWRkaW5nOiAyM3B4IDAgMjFweCAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE0cHg7XG5cdFx0XHRib3JkZXItYm90dG9tOiAzcHggc29saWQgJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0Y29sb3I6ICR0ZXh0LXRleHQtcHJpbWFyeTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmLmFjdGl2ZTpmb2N1cyB7XG5cdFx0XHRcdGNvbG9yOiAkdGV4dC10ZXh0LXByaW1hcnk7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1ib3JkZXI7XG5cdFx0XHR9XG5cblx0XHRcdCYuYWN0aXZlIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJvcmRlci1wcmltYXJ5O1xuXHRcdFx0fVxuXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL2FkbWluL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi8uLi92ZW5kb3IvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICcuLi8uLi9hZG1pbi9taXhpbnMnO1xuQGltcG9ydCAnLi4vLi4vYWRtaW4vZ2VuZXJhbCc7XG5AaW1wb3J0ICcuLi8uLi9hZG1pbi9oZWFkZXInO1xuQGltcG9ydCAnLi4vLi4vYWRtaW4vYnV0dG9ucyc7XG5AaW1wb3J0ICcuLi8uLi9hZG1pbi90YWJzJztcblxuLndwLWxpc3QtdGFibGUge1xuXHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLW1kO1xuXHRib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMDcpICFpbXBvcnRhbnQ7XG59XG4iXX0= */
     304/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3NzL2FkbWluL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19nZW5lcmFsLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9faGVhZGVyLnNjc3MiLCJhc3NldHMvc2Nzcy92ZW5kb3IvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluL19idXR0b25zLnNjc3MiLCJhc3NldHMvc2Nzcy9hZG1pbi9fdGFicy5zY3NzIiwiYXNzZXRzL3Njc3MvZmVhdHVyZXMvZXZlbnQtdGlja2V0aW5nL2FkbWluLXRpY2tldHMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtBQTREQTtBQzNEQTtFQUNDO0VBQ0E7O0FBRUE7RUFKRDtJQUtFOzs7O0FBS0Q7RUFERDtJQUVFOzs7O0FBS0Y7RUFDQzs7QUFFQTtFQUNDOzs7QUFLRjtFQUNDOztBQUVBO0FBQUE7QUFBQTtFQUdDOztBQUdEO0VBQ0M7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPRHpDaUI7O0FDNENsQjtFQUNDOztBQUlBO0VBQ0M7RUFDQTtFQUNBOztBQUVBO0VBQ0M7O0FBTUg7RUFDQzs7O0FBU0U7QUFBQTtFQUVDOztBQUdEO0VBQ0M7O0FBR0Q7RUFDQzs7QUFHRDtFQUNDOzs7QUN0R0w7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FDeWxCRztFRC9sQko7SUFTRTs7OztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0Esa0JGWXFCO0VFWHJCO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7O0FDdWtCRTtFRDFrQkg7SUFNRTs7O0FBSUY7RUFDQztFQUNBLE9GWmlCO0VFYWpCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQSxrQkZ2QmdCO0VFd0JoQjtFQUNBO0VBQ0E7O0FBR0Q7RUFFQyxPRmxDZ0I7O0FFb0NoQjtFQUNDLGtCRnJDZTs7O0FFMkNuQjtFQUNDO0lBQ0M7OztBRWhFRjtFQUNDO0VBQ0E7RUFDQSxlSkRXO0VJRVg7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0M7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0Msa0JKMUN1QjtFSTJDdkIsY0ozQ3VCO0VJNEN2Qjs7QUFFQTtFQUNDLGtCSjlDc0I7RUkrQ3RCLGNKL0NzQjtFSWdEdEI7O0FBR0Q7RUFDQztFQUNBLGNKakNvQjtFSWtDcEI7OztBQUlGO0VBQ0Msa0JKMURxQjtFSTJEckIsY0ozRHFCO0VJNERyQjs7QUFFQTtFQUNDLGtCSjdEb0I7RUk4RHBCLGNKOURvQjtFSStEcEI7O0FBR0Q7RUFDQztFQUNBLGNKbkRvQjtFSW9EcEI7OztBQUlGO0VBQ0Msa0JKMURpQjtFSTJEakIsY0pwRWtCO0VJcUVsQjs7QUFFQTtFQUNDLGtCSmhFZ0I7RUlpRWhCLGNKM0VpQjtFSTRFakI7O0FBR0Q7RUFDQzs7O0FBSUY7RUFDQyxrQko3RXdCO0VJOEV4QjtFQUNBOztBQUVBO0VBQ0M7RUFDQSxjSi9Fb0I7RUlnRnBCOzs7QUFJRjtFQUNDLGtCSjNGc0I7RUk0RnRCO0VBQ0E7O0FBRUE7RUFDQztFQUNBLGNKM0ZvQjtFSTRGcEI7OztBQzFIRjtFQUNDO0VBQ0E7RUFDQSxLTElZO0VLSFo7RUFDQTtFQUNBLGtCTHdCcUI7RUt2QnJCO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPTE5nQjtFS09oQjs7QUFFQTtFQUdDLE9MWmU7RUthZixjTFJlOztBS1doQjtFQUNDLGNMeEJvQjs7QUsyQnJCO0VBQ0M7OztBQzlCSjtFQUNDLGVOTlc7RU1PWCIsImZpbGUiOiJhc3NldHMvY3NzL2ZlYXR1cmVzL2V2ZW50LXRpY2tldGluZy9hZG1pbi10aWNrZXRzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFkbWluIHZhcmlhYmxlcy5cblxuLyogVmFyaWFibGVzICAqL1xuJHJhZGl1cy1tZDogNHB4O1xuJHJhZGl1cy1sZzogNnB4O1xuJHJhZGl1cy1zbTogM3B4O1xuJHNwYWNpbmctc206IDEwcHg7XG4kc3BhY2luZy1tZDogMjBweDtcbiRzcGFjaW5nLWxnOiAzMHB4O1xuJHNwYWNpbmcteGw6IDUwcHg7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTUwOiAjRkY4ODQ1RkY7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTcwOiAjQ0I2RDM3RkY7XG4kY29sb3ItYnJhbmQtYmx1ZS01MDogIzIyNzFCMUZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTUwOiAjMDBBMEQyRkY7XG4kY29sb3ItYnJhbmQtYmx1ZS03MDogIzBBNEI3OEZGO1xuJGNvbG9yLW5ldXRyYWwtMTAwOiAjMTAxNTE3O1xuJGNvbG9yLW5ldXRyYWwtOTA6ICMxRDIzMjdGRjtcbiRjb2xvci1uZXV0cmFsLTgwOiAjMkMzMzM4RkY7XG4kY29sb3ItbmV1dHJhbC03MDogIzNDNDM0QUZGO1xuJGNvbG9yLW5ldXRyYWwtNjA6ICM1MDU3NUVGRjtcbiRjb2xvci1uZXV0cmFsLTUwOiAjNjQ2OTcwRkY7XG4kY29sb3ItbmV1dHJhbC0zMDogIzhDOEY5NEZGO1xuJGNvbG9yLW5ldXRyYWwtMTA6ICNDM0M0QzdGRjtcbiRjb2xvci1uZXV0cmFsLTIwOiAjQTdBQUFERkY7XG4kY29sb3ItbmV1dHJhbC01OiAjRENEQ0RFRkY7XG4kY29sb3ItdXRpbGl0eS1yZWQtNTA6ICNENjM2MzhGRjtcbiRjb2xvci11dGlsaXR5LXllbGxvdy01MDogI0RCQTYxN0ZGO1xuJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA6ICMwMDhBMjBGRjtcbiRyYWRpdXMteGw6IDlweDtcbiRjb2xvci1uZXV0cmFsLTM6ICNGMEYwRjFGRjtcbiRjb2xvci1uZXV0cmFsLTA6ICNGNkY3RjdGRjtcbiRjb2xvci11dGlsaXR5LXdoaXRlOiAjRkZGRkZGRkY7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTA6ICNGRkYzRUNGRjtcbiRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0wOiAjRTVGNUZBRkY7XG4kY29sb3ItdXRpbGl0eS1ncmVlbi0wOiAjRURGQUVGRkY7XG4kY29sb3ItdXRpbGl0eS1yZWQtMDogI0ZDRjBGMUZGO1xuJGNvbG9yLWJyYW5kLW9yYW5nZS0zMDogI0ZGQTA2QUZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTMwOiAjNjZDNkU0RkY7XG4kY29sb3ItdXRpbGl0eS1ncmVlbi0zMDogIzAwQkEzN0ZGO1xuJGNvbG9yLXV0aWxpdHktcmVkLTMwOiAjRjg2MzY4RkY7XG4kY29sb3Itd29yZHByZXNzLWJsdWU6ICMyMjcxQjFGRjtcbiRjb2xvci11dGlsaXR5LWdyYXktMDogI0Y2RjZGNkZGO1xuJGNvbG9yLWFjY2VudC1vcmFuZ2UtNTA6ICNGRTlFNjhGRjtcbiRjb2xvci1hY2NlbnQtb3JhbmdlLTA6ICNGRkYwRThGRjtcbiRjb2xvci1hY2NlbnQtcmVkLTUwOiAjRkY3MzY4RkY7XG4kY29sb3ItYWNjZW50LXJlZC0wOiAjRkZFQUU4RkY7XG4kY29sb3ItYWNjZW50LXBpbmstNTA6ICNERjVCOUFGRjtcbiRjb2xvci1hY2NlbnQtcGluay0wOiAjRkFFNkYwRkY7XG4kY29sb3ItYWNjZW50LXB1cnBsZS01MDogIzg2NTlDMkZGO1xuJGNvbG9yLWFjY2VudC1wdXJwbGUtMDogI0VERTZGNkZGO1xuJGNvbG9yLWFjY2VudC1ibHVlLTUwOiAjNTY4NUJERkY7XG4kY29sb3ItYWNjZW50LWJsdWUtMDogI0U2RURGNUZGO1xuJGNvbG9yLWFjY2VudC10ZWFsLTUwOiAjNEJCOUE3RkY7XG4kY29sb3ItYWNjZW50LXRlYWwtMDogI0U0RjVGMkZGO1xuJGNvbG9yLWFjY2VudC1ncmVlbi01MDogIzU3RDQ2NkZGO1xuJGNvbG9yLWFjY2VudC1ncmVlbi0wOiAjRTZGOUU4RkY7XG4kY29sb3ItYWNjZW50LXllbGxvdy01MDogI0ZGQzQ2OUZGO1xuJGNvbG9yLWFjY2VudC15ZWxsb3ctMDogI0ZGRjZFOUZGO1xuJGNhbGVuZGFyLXRleHQtcHJpbWFyeTogIzAwMDAwMEQ5O1xuJGNhbGVuZGFyLXRleHQtdGVydGlhcnk6ICMwMDAwMDA2NjtcbiRjYWxlbmRhci1iYWNrZ3JvdW5kOiAjMDAwMDAwMDg7XG5cbi8qIEFsaWFzZXMgICovXG4kdGV4dC10ZXh0LXByaW1hcnk6ICRjb2xvci1uZXV0cmFsLTgwO1xuJHRleHQtdGV4dC1zZWNvbmRhcnk6ICRjb2xvci1uZXV0cmFsLTYwO1xuJHRleHQtdGV4dC10ZXJ0aWFyeTogJGNvbG9yLW5ldXRyYWwtNTA7XG4kdGV4dC10ZXh0LWhlYWRpbmc6ICRjb2xvci1uZXV0cmFsLTkwO1xuJHRleHQtdGV4dC10aXRsZTogJGNvbG9yLW5ldXRyYWwtMTAwO1xuJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLW9yYW5nZS01MDtcbiRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtMDtcbiRmaWVsZHMtZmllbGQtYm9yZGVyOiAkY29sb3ItbmV1dHJhbC0zMDtcbiRzdXJmYWNlLXN1cmZhY2UtYm9yZGVyOiAkY29sb3ItbmV1dHJhbC0xMDtcbiRzdXJmYWNlLXN1cmZhY2UtZGl2aWRlcjogJGNvbG9yLW5ldXRyYWwtNTtcbiRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtLWhvdmVyOiAkY29sb3ItYnJhbmQtb3JhbmdlLTcwO1xuJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLS1ob3ZlcjogJGNvbG9yLWJyYW5kLWJsdWUtNzA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyOiAkY29sb3ItbmV1dHJhbC0zMDtcbiRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LXRleHQ6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS10ZXh0OiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0OiAkY29sb3ItbmV1dHJhbC02MDtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXItLWhvdmVyOiAkY29sb3ItbmV1dHJhbC02MDtcbiRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1iYWNrZ3JvdW5kLS0taG92ZXI6ICRjb2xvci1uZXV0cmFsLTM7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dC0taG92ZXI6ICRjb2xvci1uZXV0cmFsLTgwO1xuJGJ1dHRvbnMtYnV0dG9uLXdwLXByaW1hcnktYmFja2dyb3VuZDogIzIyNzFCMTtcbiR0ZXh0LXRleHQtbGluazogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kdGV4dC10ZXh0LXN1Y2Nlc3M6ICRjb2xvci11dGlsaXR5LWdyZWVuLTUwO1xuJHRleHQtdGV4dC1lcnJvcjogJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuJHRleHQtdGV4dC13YXJuaW5nOiAkY29sb3ItdXRpbGl0eS15ZWxsb3ctNTA7XG4kZmllbGRzLWZpZWxkLWJvcmRlci0tZm9jdXM6ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuJGZpZWxkcy1maWVsZC1ib3JkZXItZXJyb3I6ICRjb2xvci11dGlsaXR5LXJlZC01MDtcbiRmaWVsZHMtZmllbGQtY2hvaWNlLW9mZjogJGNvbG9yLW5ldXRyYWwtMzA7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vbjogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kYmFkZ2VzLWJhZGdlLW9yYW5nZS10ZXh0OiAkY29sb3ItYnJhbmQtb3JhbmdlLTMwO1xuJGJhZGdlcy1iYWRnZS1vcmFuZ2UtYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLW9yYW5nZS0wO1xuJGJhZGdlcy1iYWRnZS1ibHVlLWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0wO1xuJGJhZGdlcy1iYWRnZS1ibHVlLXRleHQ6ICRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0zMDtcbiRiYWRnZXMtYmFkZ2UtZ3JlZW4tYmFja2dyb3VuZDogJGNvbG9yLXV0aWxpdHktZ3JlZW4tMDtcbiRiYWRnZXMtYmFkZ2UtZ3JlZW4tdGV4dDogJGNvbG9yLXV0aWxpdHktZ3JlZW4tMzA7XG4kYmFkZ2VzLWJhZGdlLXJlZC1iYWNrZ3JvdW5kOiAkY29sb3ItdXRpbGl0eS1yZWQtMDtcbiRiYWRnZXMtYmFkZ2UtcmVkLXRleHQ6ICRjb2xvci11dGlsaXR5LXJlZC0zMDtcbiRiYWRnZXMtYmFkZ2UtbmV1dHJhbC1iYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC01O1xuJGJhZGdlcy1iYWRnZS1uZXV0cmFsLXRleHQ6ICRjb2xvci1uZXV0cmFsLTMwO1xuJHJhZGl1cy1yYWRpdXMtYnV0dG9uOiAkcmFkaXVzLW1kO1xuJHJhZGl1cy1yYWRpdXMtZmllbGQ6ICRyYWRpdXMtbWQ7XG4kcmFkaXVzLXJhZGl1cy1iYWRnZTogJHJhZGl1cy1zbTtcbiRzdXJmYWNlLXN1cmZhY2UtYm9yZGVyLXByaW1hcnk6ICRjb2xvci1icmFuZC1vcmFuZ2UtNTA7XG4kc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLTM7XG4kc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuJHRleHQtdGV4dC1pY29uOiAkY29sb3ItbmV1dHJhbC0yMDtcbiRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC1saWdodDogJGNvbG9yLXV0aWxpdHktZ3JheS0wO1xuJGZpZWxkcy1maWVsZC1jaG9pY2Utb2ZmLS1ob3ZlcjogJGNvbG9yLW5ldXRyYWwtNTA7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vbi0taG92ZXI6ICRjb2xvci1icmFuZC1ibHVlLTcwO1xuXG4vLyBGb250IHNpemVzLlxuJHRleHQtZm9udC1zaXplLTJ4czogMTFweDtcbiR0ZXh0LWZvbnQtc2l6ZS14czogMTJweDtcbiR0ZXh0LWZvbnQtc2l6ZS1zczogMTNweDtcbiR0ZXh0LWZvbnQtc2l6ZS1zOiAxNHB4O1xuJHRleHQtZm9udC1zaXplLW06IDE2cHg7XG4kdGV4dC1mb250LXNpemUtbDogMThweDtcbiR0ZXh0LWZvbnQtc2l6ZS1sbDogMjBweDtcbiR0ZXh0LWZvbnQtc2l6ZS1sbGw6IDIycHg7XG4kdGV4dC1mb250LXNpemUteGw6IDI0cHg7XG4kdGV4dC1mb250LXNpemUteHhsOiAyOHB4O1xuXG4vLyBUcmFuc2l0aW9ucy5cbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLXNsb3dlc3Q6IC41MHM7XG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1zbG93ZXI6IC40MHM7XG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1zbG93OiAuMjVzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tbm9ybWFsOiAuMTVzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tZmFzdDogLjA1cztcbiIsIi8vIEdlbmVyYWwgYWRtaW4gc3R5bGluZy5cblxuLy8gQ29yZSBhZG1pbiBzdHlsZSBvdmVycmlkZXMuXG4jd3Bjb250ZW50IHtcblx0cGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXHRcdHBhZGRpbmctdG9wOiA0NnB4O1xuXHR9XG59XG5cbiN3cGJvZHkge1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHR9XG59XG5cbi8vIEFkbWluIHdyYXAgLSBjb250YWlucyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgaGVhZGVyLlxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLXdyYXAge1xuXHRtYXJnaW46IDA7XG5cblx0Lm5vdGljZSB7XG5cdFx0bWFyZ2luOiAwIDAgMTVweDtcblx0fVxufVxuXG4vLyBBZG1pbiBjb250ZW50LlxuLnN1Z2FyLWNhbGVuZGFyLWFkbWluLWNvbnRlbnQge1xuXHRwYWRkaW5nOiAkc3BhY2luZy1sZyAkc3BhY2luZy1sZyAwICRzcGFjaW5nLWxnO1xuXG5cdCosXG5cdCo6OmJlZm9yZSxcblx0Kjo6YWZ0ZXIge1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdH1cblxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogXCIgXCI7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHRjbGVhcjogYm90aDtcblx0XHRjb250ZW50OiBcIiBcIjtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0fVxuXG5cdGhyIHtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNlNGU0ZTQ7XG5cdFx0bWFyZ2luOiAyMHB4IDA7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0fVxuXG5cdGNvZGUge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRwYWRkaW5nOiAwIDZweDtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtc2Vjb25kYXJ5O1xuXHR9XG5cblx0c3Ryb25nIHtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHR9XG5cblx0cCB7XG5cdFx0Ji5zdWJtaXQge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogJHNwYWNpbmctbGcgMCAyMHB4IDA7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2U0ZTRlNDtcblxuXHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci1hZG1pbi1jb250ZW50X19zZXR0aW5ncy1mb3JtIHtcblx0XHRwYWRkaW5nLXRvcDogMTVweDtcblx0fVxufVxuXG4vLyBMZWdhY3kgYWRkb24gZml4ZXMuXG4uc3VnYXItY2FsZW5kYXItYWRtaW4tY29udGVudCB7XG5cdC5mb3JtLXRhYmxlOmZpcnN0LWNoaWxkIHtcblx0XHR0Ym9keSB7XG5cdFx0XHR0cjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdHRoLFxuXHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRoIHtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMnB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aDMge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8vIEhlYWRlciBzdHlsZXMuXG5cbiNzdWdhci1jYWxlbmRhci1oZWFkZXItdGVtcCB7XG5cdG1hcmdpbjogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IC0xcHg7XG5cdGxlZnQ6IDIwcHg7XG5cdHJpZ2h0OiAwO1xuXHR6LWluZGV4OiA5OTtcblxuXHRAaW5jbHVkZSBtZWRpYShcIjw2MDBweFwiKSB7XG5cdFx0cGFkZGluZy10b3A6IDUwcHg7XG5cdH1cbn1cblxuI3N1Z2FyLWNhbGVuZGFyLWhlYWRlciB7XG5cdHBhZGRpbmc6IDIwcHggMzBweDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzdXJmYWNlLXN1cmZhY2UtZGl2aWRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1iYWNrZ3JvdW5kLXdoaXRlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdG1heC13aWR0aDogMjk2cHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcblx0XHRcdG1heC13aWR0aDogMjAwcHg7XG5cdFx0fVxuXHR9XG5cblx0YSNzdWdhci1jYWxlbmRhci1oZWFkZXItaGVscCB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtaWNvbjtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxM3B4O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRtYXNrLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcXVlc3Rpb24tY2lyY2xlLnN2Z1wiKTtcblx0XHRcdG1hc2stcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC10ZXh0LWljb247XG5cdFx0XHR3aWR0aDogMTZweDtcblx0XHRcdGhlaWdodDogMTZweDtcblx0XHRcdG1hcmdpbi1yaWdodDogNnB4O1xuXHRcdH1cblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRjb2xvcjogJHRleHQtdGV4dC10ZXJ0aWFyeTtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC10ZXh0LXRlcnRpYXJ5O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcblx0I3N1Z2FyLWNhbGVuZGFyLW5vdGljZS1iYXIgKyAjc3VnYXItY2FsZW5kYXItaGVhZGVyLXRlbXAge1xuXHRcdHRvcDogMzRweDtcblx0fVxufVxuIiwiLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYyLjAuMFxuLy9cbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgS2l0dHkgR2lyYXVkZWwgKEBraXR0eWdpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcbkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuQHVzZSAnc2FzczptYXRoJztcbkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ3Nhc3M6bGlzdCc7XG5AdXNlICdzYXNzOnN0cmluZyc7XG5AdXNlICdzYXNzOm1ldGEnO1xuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiAzMjBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnZGVza3RvcCc6IDEwMjRweCxcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcbi8vLyAgKTtcbi8vL1xuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcbiAgJ3ByaW50JzogJ3ByaW50JyxcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAncmV0aW5hMngnOlxuICAgICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXG4gICdyZXRpbmEzeCc6XG4gICAgJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJyxcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XG4vLy9cbiR1bml0LWludGVydmFsczogKFxuICAncHgnOiAxLFxuICAnZW0nOiAwLjAxLFxuICAncmVtJzogMC4xLFxuICAnJzogMCxcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xuICBAaWYgbWV0YS5mZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XG4gICAgQGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAkbWVzc2FnZTtcbiAgICAkXzogbm9vcCgpO1xuICB9XG5cbiAgQHJldHVybiAkbWVzc2FnZTtcbn1cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7XG4gIH1cbn1cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge1xufVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XG5cbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHtcbiAgICB9XG4gIH1cblxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcbiAgICBAaWYgbm90IG1hcC5oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xuXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcbiAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKVxuICAgICAge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgbm90IGxpc3QuaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XG4gICAgQGlmIHN0cmluZy5pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XG59XG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0cmluZy5pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0cmluZy5zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItdHJpbSgkcGFyc2VkLWRpbWVuc2lvbik7XG4gICRkaW1lbnNpb246ICd3aWR0aCc7XG5cbiAgQGlmIHN0cmluZy5sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XG4gIH1cblxuICBAcmV0dXJuICRkaW1lbnNpb247XG59XG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGxpc3QuaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xufVxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0cmluZy5zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyaW5nLmxlbmd0aCgkb3BlcmF0b3IpKTtcbiAgJHRyaW1tZWRWYWx1ZTogc3RyLXRyaW0oJHZhbHVlKTtcblxuICBAaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdHJpbW1lZFZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJHRyaW1tZWRWYWx1ZSk7XG4gIH0gQGVsc2Uge1xuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR0cmltbWVkVmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAuZ2V0KCR1bml0LWludGVydmFscywgbWF0aC51bml0KCR2YWx1ZSkpO1xuXG4gIEBpZiBub3QgJGludGVydmFsIHtcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gICAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7bWF0aC51bml0KCR2YWx1ZSl9YC4nKTtcbiAgfVxuXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy9cbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2Vcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxuLy8vXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gIEBpZiBtYXAuaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XG4gICAgQHJldHVybiBtYXAuZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xuICB9XG5cbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG5cbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XG59XG5cbi8vL1xuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2Vcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxuLy8vXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGlzdC5sZW5ndGgoJGxpc3QpKSB7XG4gIEBpZiBsaXN0Lmxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogbGlzdC5hcHBlbmQoJHJlc3VsdCwgbGlzdC5udGgoJGxpc3QsICRpKSwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9IEBlbHNlIGlmIG1ldGEudHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6IChcbiAgICAnMCc6IDAsXG4gICAgJzEnOiAxLFxuICAgICcyJzogMixcbiAgICAnMyc6IDMsXG4gICAgJzQnOiA0LFxuICAgICc1JzogNSxcbiAgICAnNic6IDYsXG4gICAgJzcnOiA3LFxuICAgICc4JzogOCxcbiAgICAnOSc6IDksXG4gICk7XG5cbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcbiAgICAkdmFsdWU6IHN0cmluZy5zbGljZSgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHJpbmcubGVuZ3RoKCR2YWx1ZSkge1xuICAgICRjaGFyYWN0ZXI6IHN0cmluZy5zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cbiAgICBAaWYgbm90KGxpc3QuaW5kZXgobWFwLmtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0cmluZy5zbGljZSgkdmFsdWUsICRpKSk7XG4gICAgfVxuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcbiAgICAgICRkaWdpdHM6IDE7XG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLmdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWF0aC5kaXYobWFwLmdldCgkbnVtYmVycywgJGNoYXJhY3RlciksICRkaWdpdHMpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG5cbi8vL1xuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxuLy8vXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcbiAgJHVuaXRzOiAoXG4gICAgJ3B4JzogMXB4LFxuICAgICdjbSc6IDFjbSxcbiAgICAnbW0nOiAxbW0sXG4gICAgJyUnOiAxJSxcbiAgICAnY2gnOiAxY2gsXG4gICAgJ3BjJzogMXBjLFxuICAgICdpbic6IDFpbixcbiAgICAnZW0nOiAxZW0sXG4gICAgJ3JlbSc6IDFyZW0sXG4gICAgJ3B0JzogMXB0LFxuICAgICdleCc6IDFleCxcbiAgICAndncnOiAxdncsXG4gICAgJ3ZoJzogMXZoLFxuICAgICd2bWluJzogMXZtaW4sXG4gICAgJ3ZtYXgnOiAxdm1heCxcbiAgKTtcblxuICBAaWYgbm90IGxpc3QuaW5kZXgobWFwLmtleXMoJHVuaXRzKSwgJHVuaXQpIHtcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLmdldCgkdW5pdHMsICR1bml0KTtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBKYWNrIE1jTmljb2xcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gVHJpbXMgYSBzdHJpbmcgb2YgbGVhZGluZyBhbmQgdHJhaWxpbmcgc3BhY2VzXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIFZhbHVlIHRvIGJlIHRyaW1tZWRcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ31cbi8vL1xuXG5AZnVuY3Rpb24gc3RyLXRyaW0oJHN0cmluZykge1xuICBAaWYgKHN0ci1zbGljZSgkc3RyaW5nLCAxLCAxKSA9PSAnICcpIHtcbiAgICBAcmV0dXJuIHN0ci10cmltKHN0ci1zbGljZSgkc3RyaW5nLCAyKSk7XG4gIH0gQGVsc2UgaWYgKHN0ci1zbGljZSgkc3RyaW5nLCBzdHItbGVuZ3RoKCRzdHJpbmcpLCAtMSkgPT0gJyAnKSB7XG4gICAgQHJldHVybiBzdHItdHJpbShzdHItc2xpY2UoJHN0cmluZywgMSwgLTIpKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkc3RyaW5nO1xuICB9XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiBtYXAubWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLm1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xufVxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsaXN0Lmxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcbiAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSlcbiAge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGlzdC5sZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xuICAgIEBtZWRpYSAje3N0cmluZy51bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obGlzdC5udGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXG4gICAgICAkc2xpY2VkLWNvbmRpdGlvbnM6IHNsaWNlKCRjb25kaXRpb25zLCAyKTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRzbGljZWQtY29uZGl0aW9ucy4uLikge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbnMuXG4uc3VnYXItY2FsZW5kYXItYnRuIHtcblx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtcmFkaXVzLWJ1dHRvbjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbjogMDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cdHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1mYXN0IGVhc2Utb3V0O1xuXG5cdCYuaW5hY3RpdmUge1xuXHRcdGN1cnNvcjogbm8tZHJvcDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLWJsb2NrIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXNtIHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsaW5lLWhlaWdodDogMjhweDtcblx0cGFkZGluZzogMCAxMHB4O1xuXHRoZWlnaHQ6IDMwcHg7XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tbWQge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGxpbmUtaGVpZ2h0OiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRwYWRkaW5nOiAxMHB4IDE1cHg7XG5cdG1pbi1oZWlnaHQ6IDM2cHg7XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tbGcge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHBhZGRpbmc6IDExcHggMTdweDtcblx0bWluLWhlaWdodDogNDRweDtcbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1wcmltYXJ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDtcblx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC0taG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cblxuLnN1Z2FyLWNhbGVuZGFyLWJ0bi1zZWNvbmRhcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG5cdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLS1ob3Zlcjtcblx0XHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyO1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0b3V0bGluZTogMDtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLXRlcnRpYXJ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQ7XG5cdGJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlcjtcblx0Y29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS10ZXh0ICFpbXBvcnRhbnQ7XG5cblx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQtLS1ob3Zlcjtcblx0XHRib3JkZXItY29sb3I6ICRidXR0b25zLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXItLWhvdmVyO1xuXHRcdGNvbG9yOiAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dC0taG92ZXIgIWltcG9ydGFudDtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyLS1ob3Zlcjtcblx0fVxufVxuXG4uc3VnYXItY2FsZW5kYXItYnRuLWdyZWVuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci11dGlsaXR5LWdyZWVuLTUwO1xuXHRjb2xvcjogJGNvbG9yLXV0aWxpdHktd2hpdGUgIWltcG9ydGFudDtcblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG5cbi5zdWdhci1jYWxlbmRhci1idG4tcmVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG5cdGNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZSAhaW1wb3J0YW50O1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG4iLCIvLyBQYWdlIG5hdmlnYXRpb24uXG4uc3VnYXItY2FsZW5kYXItYWRtaW4tdGFicyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0Z2FwOiAkc3BhY2luZy1sZztcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwICRzcGFjaW5nLWxnO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtd2hpdGU7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA3KTtcblxuXHRsaSB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cblx0XHRhIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cGFkZGluZzogMjNweCAwIDIxcHggMDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxNHB4O1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRjb2xvci11dGlsaXR5LXdoaXRlO1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdGNvbG9yOiAkdGV4dC10ZXh0LXByaW1hcnk7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzLFxuXHRcdFx0Ji5hY3RpdmU6Zm9jdXMge1xuXHRcdFx0XHRjb2xvcjogJHRleHQtdGV4dC1wcmltYXJ5O1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICRzdXJmYWNlLXN1cmZhY2UtYm9yZGVyO1xuXHRcdFx0fVxuXG5cdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogJHN1cmZhY2Utc3VyZmFjZS1ib3JkZXItcHJpbWFyeTtcblx0XHRcdH1cblxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9hZG1pbi92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vLi4vdmVuZG9yL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnLi4vLi4vYWRtaW4vbWl4aW5zJztcbkBpbXBvcnQgJy4uLy4uL2FkbWluL2dlbmVyYWwnO1xuQGltcG9ydCAnLi4vLi4vYWRtaW4vaGVhZGVyJztcbkBpbXBvcnQgJy4uLy4uL2FkbWluL2J1dHRvbnMnO1xuQGltcG9ydCAnLi4vLi4vYWRtaW4vdGFicyc7XG5cbi53cC1saXN0LXRhYmxlIHtcblx0Ym9yZGVyLXJhZGl1czogJHJhZGl1cy1tZDtcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA3KSAhaW1wb3J0YW50O1xufVxuIl19 */
  • sugar-calendar-lite/trunk/assets/css/features/event-ticketing/admin-tickets.min.css

    r3112525 r3118281  
    1 #wpcontent{padding-left:0 !important;position:relative}@media screen and (max-width: 600px){#wpcontent{padding-top:46px}}@media screen and (max-width: 600px){#wpbody{padding-top:0}}.sugar-calendar-admin-wrap{margin:0}.sugar-calendar-admin-wrap .notice{margin:0 0 30px}.sugar-calendar-admin-content{padding:30px 30px 0 30px}.sugar-calendar-admin-content *,.sugar-calendar-admin-content *::before,.sugar-calendar-admin-content *::after{box-sizing:border-box}.sugar-calendar-admin-content:before{content:" ";display:table}.sugar-calendar-admin-content:after{clear:both;content:" ";display:table}.sugar-calendar-admin-content hr{border:none;border-top:1px solid #e4e4e4;margin:20px 0;background:none}.sugar-calendar-admin-content code{display:inline-block;padding:0 6px;font-size:12px;line-height:20px;color:#50575e}.sugar-calendar-admin-content strong{font-weight:500}.sugar-calendar-admin-content p.submit{margin:0;padding:30px 0 20px 0;border-top:1px solid #e4e4e4}.sugar-calendar-admin-content p.submit:last-of-type{padding-bottom:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th,.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{vertical-align:top}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th{padding-top:2px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{padding-top:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child h3{margin-top:0}#sugar-calendar-header-temp{margin:0;position:absolute;top:-1px;left:20px;right:0;z-index:99}@media(max-width: 599px){#sugar-calendar-header-temp{padding-top:50px}}#sugar-calendar-header{padding:20px 30px;box-sizing:border-box;border-bottom:1px solid #dcdcde;background-color:#fff;display:flex;align-items:center}#sugar-calendar-header img{display:block;margin:0;max-width:296px}@media(max-width: 768px){#sugar-calendar-header img{max-width:200px}}#sugar-calendar-header a#sugar-calendar-header-help{margin-left:auto;color:#a7aaad;text-decoration:none;font-size:13px;line-height:13px;display:flex;align-items:center}#sugar-calendar-header a#sugar-calendar-header-help:before{content:"";mask-image:url("../images/icons/question-circle.svg");mask-position:center center;background-color:#a7aaad;width:16px;height:16px;margin-right:6px}#sugar-calendar-header a#sugar-calendar-header-help:hover,#sugar-calendar-header a#sugar-calendar-header-help:focus{color:#646970}#sugar-calendar-header a#sugar-calendar-header-help:hover:before,#sugar-calendar-header a#sugar-calendar-header-help:focus:before{background-color:#646970}@media screen and (min-width: 1024px){#sugar-calendar-notice-bar+#sugar-calendar-header-temp{top:34px}}.sugar-calendar-btn{border-width:1px;border-style:solid;border-radius:4px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;box-shadow:none;transition:all .05s ease-out}.sugar-calendar-btn.inactive{cursor:no-drop;pointer-events:none;box-shadow:none;opacity:.5}.sugar-calendar-btn-block{display:block;width:100%}.sugar-calendar-btn-sm{font-size:13px;font-weight:500;line-height:28px;padding:0 10px;height:30px}.sugar-calendar-btn-md{font-size:14px;line-height:14px;font-weight:500;padding:10px 15px;min-height:36px}.sugar-calendar-btn-lg{font-size:16px;font-weight:500;padding:11px 17px;min-height:44px}.sugar-calendar-btn-primary{background-color:#ff8845;border-color:#ff8845;color:#fff !important}.sugar-calendar-btn-primary:hover,.sugar-calendar-btn-primary:active,.sugar-calendar-btn-primary:focus{background-color:#cb6d37;border-color:#cb6d37;color:#fff !important}.sugar-calendar-btn-primary:focus{box-shadow:0 0 0 2px #cb6d37;border-color:#fff;outline:0}.sugar-calendar-btn-secondary{background-color:#2271b1;border-color:#2271b1;color:#fff !important}.sugar-calendar-btn-secondary:hover,.sugar-calendar-btn-secondary:focus{background-color:#0a4b78;border-color:#0a4b78;color:#fff !important}.sugar-calendar-btn-secondary:focus{box-shadow:0 0 0 2px #0a4b78;border-color:#fff;outline:0}.sugar-calendar-btn-tertiary{background-color:#f6f7f7;border-color:#8c8f94;color:#50575e !important}.sugar-calendar-btn-tertiary:hover,.sugar-calendar-btn-tertiary:focus{background-color:#f0f0f1;border-color:#50575e;color:#2c3338 !important}.sugar-calendar-btn-tertiary:focus{box-shadow:0 0 0 1px #50575e}.sugar-calendar-btn-green{background-color:#008a20;border:1px solid #008a20;color:#fff !important}.sugar-calendar-btn-green:focus{box-shadow:0 0 0 2px #008a20;border-color:#fff;outline:0}.sugar-calendar-btn-red{background-color:#d63638;border:1px solid #d63638;color:#fff !important}.sugar-calendar-btn-red:focus{box-shadow:0 0 0 2px #d63638;border-color:#fff;outline:0}.sugar-calendar-admin-tabs{display:flex;flex-wrap:wrap;gap:30px;margin:0;padding:0 30px;background-color:#fff;list-style:none;font-size:14px;font-weight:400;box-shadow:0 2px 4px 0 rgba(0,0,0,.07)}.sugar-calendar-admin-tabs li{margin:0;padding:0}.sugar-calendar-admin-tabs li a{display:block;padding:23px 0 21px 0;line-height:14px;border-bottom:3px solid #fff;box-shadow:none;color:#2c3338;text-decoration:none}.sugar-calendar-admin-tabs li a:hover,.sugar-calendar-admin-tabs li a:focus,.sugar-calendar-admin-tabs li a.active:focus{color:#2c3338;border-color:#c3c4c7}.sugar-calendar-admin-tabs li a.active{border-color:#ff8845}.sugar-calendar-admin-tabs li a:focus{box-shadow:none}.wp-list-table{border-radius:4px;box-shadow:0 2px 4px 0 rgba(0,0,0,.07) !important}
     1#wpcontent{padding-left:0 !important;position:relative}@media screen and (max-width: 600px){#wpcontent{padding-top:46px}}@media screen and (max-width: 600px){#wpbody{padding-top:0}}.sugar-calendar-admin-wrap{margin:0}.sugar-calendar-admin-wrap .notice{margin:0 0 15px}.sugar-calendar-admin-content{padding:30px 30px 0 30px}.sugar-calendar-admin-content *,.sugar-calendar-admin-content *::before,.sugar-calendar-admin-content *::after{box-sizing:border-box}.sugar-calendar-admin-content:before{content:" ";display:table}.sugar-calendar-admin-content:after{clear:both;content:" ";display:table}.sugar-calendar-admin-content hr{border:none;border-top:1px solid #e4e4e4;margin:20px 0;background:none}.sugar-calendar-admin-content code{display:inline-block;padding:0 6px;font-size:12px;line-height:20px;color:#50575e}.sugar-calendar-admin-content strong{font-weight:500}.sugar-calendar-admin-content p.submit{margin:0;padding:30px 0 20px 0;border-top:1px solid #e4e4e4}.sugar-calendar-admin-content p.submit:last-of-type{padding-bottom:0}.sugar-calendar-admin-content .sugar-calendar-admin-content__settings-form{padding-top:15px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th,.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{vertical-align:top}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child th{padding-top:2px}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child td{padding-top:0}.sugar-calendar-admin-content .form-table:first-child tbody tr:first-child h3{margin-top:0}#sugar-calendar-header-temp{margin:0;position:absolute;top:-1px;left:20px;right:0;z-index:99}@media(max-width: 599px){#sugar-calendar-header-temp{padding-top:50px}}#sugar-calendar-header{padding:20px 30px;box-sizing:border-box;border-bottom:1px solid #dcdcde;background-color:#fff;display:flex;align-items:center}#sugar-calendar-header img{display:block;margin:0;max-width:296px}@media(max-width: 768px){#sugar-calendar-header img{max-width:200px}}#sugar-calendar-header a#sugar-calendar-header-help{margin-left:auto;color:#a7aaad;text-decoration:none;font-size:13px;line-height:13px;display:flex;align-items:center}#sugar-calendar-header a#sugar-calendar-header-help:before{content:"";mask-image:url("../images/icons/question-circle.svg");mask-position:center center;background-color:#a7aaad;width:16px;height:16px;margin-right:6px}#sugar-calendar-header a#sugar-calendar-header-help:hover,#sugar-calendar-header a#sugar-calendar-header-help:focus{color:#646970}#sugar-calendar-header a#sugar-calendar-header-help:hover:before,#sugar-calendar-header a#sugar-calendar-header-help:focus:before{background-color:#646970}@media screen and (min-width: 1024px){#sugar-calendar-notice-bar+#sugar-calendar-header-temp{top:34px}}.sugar-calendar-btn{border-width:1px;border-style:solid;border-radius:4px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;box-shadow:none;transition:all .05s ease-out}.sugar-calendar-btn.inactive{cursor:no-drop;pointer-events:none;box-shadow:none;opacity:.5}.sugar-calendar-btn-block{display:block;width:100%}.sugar-calendar-btn-sm{font-size:13px;font-weight:500;line-height:28px;padding:0 10px;height:30px}.sugar-calendar-btn-md{font-size:14px;line-height:14px;font-weight:500;padding:10px 15px;min-height:36px}.sugar-calendar-btn-lg{font-size:16px;font-weight:500;padding:11px 17px;min-height:44px}.sugar-calendar-btn-primary{background-color:#ff8845;border-color:#ff8845;color:#fff !important}.sugar-calendar-btn-primary:hover,.sugar-calendar-btn-primary:active,.sugar-calendar-btn-primary:focus{background-color:#cb6d37;border-color:#cb6d37;color:#fff !important}.sugar-calendar-btn-primary:focus{box-shadow:0 0 0 2px #cb6d37;border-color:#fff;outline:0}.sugar-calendar-btn-secondary{background-color:#2271b1;border-color:#2271b1;color:#fff !important}.sugar-calendar-btn-secondary:hover,.sugar-calendar-btn-secondary:focus{background-color:#0a4b78;border-color:#0a4b78;color:#fff !important}.sugar-calendar-btn-secondary:focus{box-shadow:0 0 0 2px #0a4b78;border-color:#fff;outline:0}.sugar-calendar-btn-tertiary{background-color:#f6f7f7;border-color:#8c8f94;color:#50575e !important}.sugar-calendar-btn-tertiary:hover,.sugar-calendar-btn-tertiary:focus{background-color:#f0f0f1;border-color:#50575e;color:#2c3338 !important}.sugar-calendar-btn-tertiary:focus{box-shadow:0 0 0 1px #50575e}.sugar-calendar-btn-green{background-color:#008a20;border:1px solid #008a20;color:#fff !important}.sugar-calendar-btn-green:focus{box-shadow:0 0 0 2px #008a20;border-color:#fff;outline:0}.sugar-calendar-btn-red{background-color:#d63638;border:1px solid #d63638;color:#fff !important}.sugar-calendar-btn-red:focus{box-shadow:0 0 0 2px #d63638;border-color:#fff;outline:0}.sugar-calendar-admin-tabs{display:flex;flex-wrap:wrap;gap:30px;margin:0;padding:0 30px;background-color:#fff;list-style:none;font-size:14px;font-weight:400;box-shadow:0 2px 4px 0 rgba(0,0,0,.07)}.sugar-calendar-admin-tabs li{margin:0;padding:0}.sugar-calendar-admin-tabs li a{display:block;padding:23px 0 21px 0;line-height:14px;border-bottom:3px solid #fff;box-shadow:none;color:#2c3338;text-decoration:none}.sugar-calendar-admin-tabs li a:hover,.sugar-calendar-admin-tabs li a:focus,.sugar-calendar-admin-tabs li a.active:focus{color:#2c3338;border-color:#c3c4c7}.sugar-calendar-admin-tabs li a.active{border-color:#ff8845}.sugar-calendar-admin-tabs li a:focus{box-shadow:none}.wp-list-table{border-radius:4px;box-shadow:0 2px 4px 0 rgba(0,0,0,.07) !important}
  • sugar-calendar-lite/trunk/assets/js/frontend/blocks/event-list.js

    r3112714 r3118281  
    2121        this.$blockContainer.find( '.sugar-calendar-event-list-block__footer__next_btn' )
    2222            .on( 'click', this.onNextWeekBtnClick.bind( this ) );
     23
     24        /*
     25         * If visitor timezone conversion is enabled, update the block
     26         * on its first load.
     27         */
     28        if ( parseInt( this.controls.$formContainer.find( 'input[name="sc_visitor_tz_convert"]' ).val() ) === 1 ) {
     29            this.update( {} );
     30        }
    2331    }
    2432
     
    2735     *
    2836     * @since 3.1.0
     37     * @since 3.1.2 Convert to visitor timezone if necessary.
    2938     */
    3039    Block.prototype.update = function( args ) {
     
    4352            search: this.controls.$searchContainer.val(),
    4453            display: this.controls.getDisplayMode(),
     54            visitor_tz_convert: parseInt( this.controls.$formContainer.find( 'input[name="sc_visitor_tz_convert"]' ).val() ),
     55            visitor_tz: Intl.DateTimeFormat().resolvedOptions().timeZone,
    4556            updateDisplay: updateDisplay,
    4657            action: blockAction
     
    7182
    7283                that.$blockContainer.trigger( 'block:filterDisplayedEvents' );
     84
     85                if ( typeof SCTimeZones !== 'undefined' ) {
     86                    SCTimeZones.convertEventsTime();
     87                }
    7388            }
    7489        );
  • sugar-calendar-lite/trunk/assets/js/frontend/blocks/event-list.min.js

    r3112525 r3118281  
    1 var SugarCalendarBlocks=window.SugarCalendarBlocks||{};SugarCalendarBlocks.EventList=SugarCalendarBlocks.EventList||function(s){function e(e){this.$blockContainer=e,this.$baseContainer=e.find(".sugar-calendar-event-list-block__base-container"),this.controls=new SugarCalendarBlocks.Controls(e),this.$blockContainer.on("block:update",(e,n)=>{this.update(n)}),this.$blockContainer.on("block:filterDisplayedEvents",this.onFilterDisplayedEvents.bind(this)),this.$blockContainer.find(".sugar-calendar-event-list-block__footer__prev_btn").on("click",this.onPreviousWeekBtnClick.bind(this)),this.$blockContainer.find(".sugar-calendar-event-list-block__footer__next_btn").on("click",this.onNextWeekBtnClick.bind(this))}e.prototype.update=function(e){SugarCalendarBlocks.hideAllPopovers();var n=void 0!==e.update_display&&e.update_display,e=void 0===e.action?"":e.action,n={attributes:this.$blockContainer.data("attributes"),calendars:this.controls.getCalendarIds(),day:parseInt(this.controls.$formContainer.find('input[name="sc_day"]').val()),month:parseInt(this.controls.$formContainer.find('input[name="sc_month"]').val()),year:parseInt(this.controls.$formContainer.find('input[name="sc_year"]').val()),search:this.controls.$searchContainer.val(),display:this.controls.getDisplayMode(),updateDisplay:n,action:e};let t=this;s.post(sc_frontend_blocks_common_obj.ajax_url,{action:"sugar_calendar_event_list_block_update",block:n,nonce:sc_frontend_blocks_common_obj.nonce},function(e){e.success&&(t.controls.updateDate(e.data.date),t.$blockContainer.find(".sugar-calendar-block__view-heading").text(e.data.heading),t.$baseContainer.html(e.data.body),t.$blockContainer.trigger("block:filterDisplayedEvents"))})},e.prototype.onFilterDisplayedEvents=function(){let a=this.controls.getTimeOfDay(),o=this.controls.getDaysOfWeek(),e=this.controls.getDisplayMode(),i=!1;this.$blockContainer.find(`.sugar-calendar-event-list-block__${e}view__event`).each((e,n)=>{n=s(n);let t=!0;(0===o.length||0<s(o).filter(n.data("eventdays")).length)&&(0===a.length||0<s(a).filter(n.data("daydiv")).length)&&(t=!1,i=!0),t?n.addClass("sugar-calendar-block-hide-element"):n.removeClass("sugar-calendar-block-hide-element")});var n=this.$baseContainer.find(".sugar-calendar-block__base-container__no-events");i?(this.$baseContainer.find(".sugar-calendar-block__events-display-container").removeClass("sugar-calendar-block-hide-element"),0<n.length&&n.remove()):(this.$baseContainer.find(".sugar-calendar-block__events-display-container").addClass("sugar-calendar-block-hide-element"),0===n.length&&this.$baseContainer.prepend('<div class="sugar-calendar-block__base-container__no-events"><div class="sugar-calendar-block__base-container__no-events__msg">'+SCEventListBlock.strings.no_events_criteria_based+"</div></div>"))},e.prototype.onPreviousWeekBtnClick=function(){this.update({action:"previous_week"})},e.prototype.onNextWeekBtnClick=function(){this.update({action:"next_week"})};const n={init(){s(n.ready)},ready(){s(".sugar-calendar-event-list-block").each(function(){new e(s(this))})}};return n}((document,window,jQuery)),SugarCalendarBlocks.EventList.init();
     1var SugarCalendarBlocks=window.SugarCalendarBlocks||{};SugarCalendarBlocks.EventList=SugarCalendarBlocks.EventList||function(s){function e(e){this.$blockContainer=e,this.$baseContainer=e.find(".sugar-calendar-event-list-block__base-container"),this.controls=new SugarCalendarBlocks.Controls(e),this.$blockContainer.on("block:update",(e,n)=>{this.update(n)}),this.$blockContainer.on("block:filterDisplayedEvents",this.onFilterDisplayedEvents.bind(this)),this.$blockContainer.find(".sugar-calendar-event-list-block__footer__prev_btn").on("click",this.onPreviousWeekBtnClick.bind(this)),this.$blockContainer.find(".sugar-calendar-event-list-block__footer__next_btn").on("click",this.onNextWeekBtnClick.bind(this)),1===parseInt(this.controls.$formContainer.find('input[name="sc_visitor_tz_convert"]').val())&&this.update({})}e.prototype.update=function(e){SugarCalendarBlocks.hideAllPopovers();var n=void 0!==e.update_display&&e.update_display,e=void 0===e.action?"":e.action,n={attributes:this.$blockContainer.data("attributes"),calendars:this.controls.getCalendarIds(),day:parseInt(this.controls.$formContainer.find('input[name="sc_day"]').val()),month:parseInt(this.controls.$formContainer.find('input[name="sc_month"]').val()),year:parseInt(this.controls.$formContainer.find('input[name="sc_year"]').val()),search:this.controls.$searchContainer.val(),display:this.controls.getDisplayMode(),visitor_tz_convert:parseInt(this.controls.$formContainer.find('input[name="sc_visitor_tz_convert"]').val()),visitor_tz:Intl.DateTimeFormat().resolvedOptions().timeZone,updateDisplay:n,action:e};let t=this;s.post(sc_frontend_blocks_common_obj.ajax_url,{action:"sugar_calendar_event_list_block_update",block:n,nonce:sc_frontend_blocks_common_obj.nonce},function(e){e.success&&(t.controls.updateDate(e.data.date),t.$blockContainer.find(".sugar-calendar-block__view-heading").text(e.data.heading),t.$baseContainer.html(e.data.body),t.$blockContainer.trigger("block:filterDisplayedEvents"),"undefined"!=typeof SCTimeZones)&&SCTimeZones.convertEventsTime()})},e.prototype.onFilterDisplayedEvents=function(){let a=this.controls.getTimeOfDay(),o=this.controls.getDaysOfWeek(),e=this.controls.getDisplayMode(),i=!1;this.$blockContainer.find(`.sugar-calendar-event-list-block__${e}view__event`).each((e,n)=>{n=s(n);let t=!0;(0===o.length||0<s(o).filter(n.data("eventdays")).length)&&(0===a.length||0<s(a).filter(n.data("daydiv")).length)&&(t=!1,i=!0),t?n.addClass("sugar-calendar-block-hide-element"):n.removeClass("sugar-calendar-block-hide-element")});var n=this.$baseContainer.find(".sugar-calendar-block__base-container__no-events");i?(this.$baseContainer.find(".sugar-calendar-block__events-display-container").removeClass("sugar-calendar-block-hide-element"),0<n.length&&n.remove()):(this.$baseContainer.find(".sugar-calendar-block__events-display-container").addClass("sugar-calendar-block-hide-element"),0===n.length&&this.$baseContainer.prepend('<div class="sugar-calendar-block__base-container__no-events"><div class="sugar-calendar-block__base-container__no-events__msg">'+SCEventListBlock.strings.no_events_criteria_based+"</div></div>"))},e.prototype.onPreviousWeekBtnClick=function(){this.update({action:"previous_week"})},e.prototype.onNextWeekBtnClick=function(){this.update({action:"next_week"})};const n={init(){s(n.ready)},ready(){s(".sugar-calendar-event-list-block").each(function(){new e(s(this))})}};return n}((document,window,jQuery)),SugarCalendarBlocks.EventList.init();
  • sugar-calendar-lite/trunk/assets/js/sugar-calendar.js

    r3112525 r3118281  
    141141        eventLink.text( title );
    142142
    143         this.$popover.find( '.sugar-calendar-block__popover__event__container__content__date' ).text( $eventDataContainer.data( 'daydate' ) );
     143        // Handle the date.
     144        let visitorTZ = Intl.DateTimeFormat().resolvedOptions().timeZone,
     145            eventDate = '',
     146            eventDateObj = $eventDataContainer.data( 'daydate' );
     147
     148        if ( typeof SCTimeZones !== 'undefined' && visitorTZ.length ) {
     149            eventDate = wp.date.dateI18n( SCTimezoneConvert.date_format, eventDateObj.start_date.datetime, visitorTZ );
     150
     151            if ( eventDateObj.end_date ) {
     152                eventDate += ' - ' + wp.date.dateI18n( SCTimezoneConvert.date_format, eventDateObj.end_date.datetime, visitorTZ );
     153            }
     154        } else {
     155            eventDate = eventDateObj.start_date.value;
     156
     157            if ( eventDateObj.end_date ) {
     158                eventDate += ' - ' + eventDateObj.end_date.value;
     159            }
     160        }
     161
     162        this.$popover.find( '.sugar-calendar-block__popover__event__container__content__date' ).text( eventDate );
    144163        this.$popover.find( '.sugar-calendar-block__popover__event__container__content__time' ).text( eventTime );
    145164
     
    500519            this.initDatePicker();
    501520        }
     521
     522        if ( parseInt( this.$formContainer.find( 'input[name="sc_visitor_tz_convert"]' ).val() ) === 1 ) {
     523            this.update();
     524        }
    502525    }
    503526
     
    754777            accentColor: this.$mainContainer.data( 'accentcolor' ) ? this.$mainContainer.data( 'accentcolor' ) : '',
    755778            display: this.getDisplay(),
     779            visitor_tz_convert: parseInt( this.$formContainer.find( 'input[name="sc_visitor_tz_convert"]' ).val() ),
     780            visitor_tz: Intl.DateTimeFormat().resolvedOptions().timeZone,
    756781            updateDisplay: updateDisplay,
    757782            action: action
     
    834859                    } else {
    835860                        that.$datePicker.datepicker( 'update', new Date( response.data.date.year, response.data.date.month - 1, response.data.date.day ) );
     861                    }
     862
     863                    if ( typeof SCTimeZones !== 'undefined' ) {
     864                        SCTimeZones.convertEventsTime();
    836865                    }
    837866                }
  • sugar-calendar-lite/trunk/assets/js/sugar-calendar.min.js

    r3112525 r3118281  
    1 "use strict";var sugar_calendar=window.sugar_calendar||function(t,_){function i(a){a.find(".sugar-calendar-block__popover").removeClass("sugar-calendar-block__controls__settings__btn_active").hide(),a.find(".sugar-calendar-block__controls__settings__btn").removeClass("sugar-calendar-block__controls__settings__btn_active"),a.find(".sugar-calendar-block__controls__left__date").removeClass("sugar-calendar-block__controls__settings__btn_active"),_("body").removeClass("sugar-calendar-block__popovers__active")}Array.prototype.uniquePush=function(a){return this.includes(a)||this.push(a),this};function e(a,e){this.$popover=a,this.$mainContainer=e}function o(n){this.$mainContainer=n;let t=[{key:"month_selector",popover_selector:".sugar-calendar-block__popover__month_selector",button_selector:".sugar-calendar-block__controls__left__date"},{key:"calendar_selector",popover_selector:".sugar-calendar-block__popover__calendar_selector",button_selector:".sugar-calendar-block__controls__right__settings__btn"},{key:"display_selector",popover_selector:".sugar-calendar-block__popover__display_selector",button_selector:".sugar-calendar-block__controls__right__view__btn"}],o=this;t.forEach(a=>{var e=n.find(a.button_selector);e.on("click",o.toggle.bind(o,e,a.key,t))})}function a(a){this.calendarBlock=a}function n(a){this.$mainContainer=a,this.$formContainer=a.find(".sugar-calendar-block-settings"),this.$mobileListContainer=a.find(".sugar-calendar-block__mobile_event_list"),this.id=this.$formContainer.find('input[name="sc_calendar_id"]').val(),this.$searchContainer=a.find(".sugar-calendar-block__controls__right__search__field"),this.$searchClear=a.find(".sugar-calendar-block__controls__right__search__clear"),this.$timeOfDayContainer=a.find(".sugar-calendar-block__popover__calendar_selector__container__time"),this.$daysOfWeekContainer=a.find(".sugar-calendar-block__popover__calendar_selector__container__days"),this.$datePicker=a.find(".sugar-calendar-block__controls__datepicker"),void 0!==this.id&&0<this.id.length&&(this.initPopovers(),this.initControls(),this.initDatePicker())}let c=null,r=(e.prototype.show=function(a){var e=_(a.target);let n;e=(n=e.hasClass("sugar-calendar-block__event-cell")?e:_(a.target).parents(".sugar-calendar-block__event-cell")).data("eventobjid");let t=this.$popover.find(".sugar-calendar-block__popover__event__container__image"),o=this.$popover.find(".sugar-calendar-block__popover__event__container__content__description");t.hide(),t.css("background-image",""),o.text(""),void 0!==e&&(o.prepend('<div class="sugar-calendar-block__loading sugar-calendar-block__loading--no-overlay"></div>'),_.post(sugar_calendar_obj.ajax_url,{action:"sugar_calendar_event_popover",event_object_id:e,nonce:sugar_calendar_obj.nonce},function(a){if(a.success&&a.data){a.data.image&&(t.css("background-image",`url(${a.data.image})`),t.show());let n=[];a.data.description&&(a=_.parseHTML(a.data.description.trim()),_.each(a,function(a,e){n.push(e.textContent)})),o.html(""),o.text(n.join(""))}}));var a=n.find(".sugar-calendar-block__event-cell__title").text().trim(),e=n.find(".sugar-calendar-block__event-cell__time").text().trim(),r=this.$popover.find(".sugar-calendar-block__popover__event__container__content__title__link"),r=(r.attr("href",n.data("eventurl")),r.text(a),this.$popover.find(".sugar-calendar-block__popover__event__container__content__date").text(n.data("daydate")),this.$popover.find(".sugar-calendar-block__popover__event__container__content__time").text(e),this.$popover.find(".sugar-calendar-block__popover__event__container__content__calendar"));r.html("");let l=n.data("calendarsinfo");if(void 0!==l&&void 0!==l.calendars){let e=[];l.calendars.forEach(a=>{e.push(`<div style="border-left: 2px solid ${a.color||l.primary_event_color};" class="sugar-calendar-block__popover__event__container__content__calendar__item">${a.name}</div>`)}),r.html(e.join(""))}c.computePosition(n[0],this.$popover[0],{placement:"bottom-start",middleware:[c.offset(10),c.flip(),c.shift()]}).then(({x:a,y:e})=>{Object.assign(this.$popover[0].style,{left:a+"px",top:e+"px"})}),i(this.$mainContainer),this.$popover.show(),_("body").addClass("sugar-calendar-block__popovers__active")},o.prototype.toggle=function(a,e,n){n=n.find(a=>a.key===e),n=this.$mainContainer.find(n.popover_selector);n.is(":visible")?i(this.$mainContainer):(i(this.$mainContainer),this.show(a,n,e))},o.prototype.show=function(a,n,e){c.computePosition(a[0],n[0],{placement:"calendar_selector"===e?"bottom-end":"bottom-start",middleware:[c.offset(10),c.flip(),c.shift()]}).then(({x:a,y:e})=>{Object.assign(n[0].style,{left:a+"px",top:e+"px"})}),a.addClass("sugar-calendar-block__controls__settings__btn_active"),n.show(),_("body").addClass("sugar-calendar-block__popovers__active")},a.prototype.onSearch=function(a){13===a.keyCode?this.calendarBlock.update():0<a.target.value.length?this.calendarBlock.$searchClear.show():this.calendarBlock.$searchClear.hide()},a.prototype.onSearchClick=function(a){this.calendarBlock.update()},a.prototype.onClearSearch=function(a){this.calendarBlock.$searchContainer.val(""),this.calendarBlock.$searchClear.hide(),this.calendarBlock.update()},a.prototype.goToMonth=function(a){this.calendarBlock.$formContainer.find('input[name="sc_month"]').val(parseInt(a.target.dataset.month)),this.calendarBlock.update()},a.prototype.goToPrevious=function(){switch(this.calendarBlock.getDisplay()){case"day":this.calendarBlock.update(!1,"previous_day");break;case"week":this.calendarBlock.update(!1,"previous_week");break;case"month":this.calendarBlock.update(!1,"previous_month")}},a.prototype.goToNext=function(){switch(this.calendarBlock.getDisplay()){case"day":this.calendarBlock.update(!1,"next_day");break;case"week":this.calendarBlock.update(!1,"next_week");break;case"month":this.calendarBlock.update(!1,"next_month")}},a.prototype.onSelectCalendar=function(){this.calendarBlock.update()},a.prototype.onSelectCurrent=function(){this.calendarBlock.$formContainer.find('input[name="sc_month"]').val(this.calendarBlock.$mainContainer.data("ogmonth")),this.calendarBlock.$formContainer.find('input[name="sc_year"]').val(this.calendarBlock.$mainContainer.data("ogyear")),this.calendarBlock.$formContainer.find('input[name="sc_day"]').val(this.calendarBlock.$mainContainer.data("ogday")),this.calendarBlock.update()},a.prototype.onChangeDisplay=function(a){var a=_(a.target).text().trim(),e=a.toLowerCase();e!==this.calendarBlock.getDisplay()&&(this.calendarBlock.$mainContainer.removeClass(`sugar-calendar-block__${this.calendarBlock.getDisplay()}-view`),this.calendarBlock.$mainContainer.addClass(`sugar-calendar-block__${e}-view`),this.calendarBlock.$formContainer.find('input[name="sc_display"]').val(e),this.calendarBlock.update(!0),this.calendarBlock.$mainContainer.find(".sugar-calendar-block__controls__right__view__btn span").text(a))},n.prototype.initDatePicker=function(){void 0!==this.$datePicker&&this.$datePicker.datepicker("destroy");let a=0,e=("month"===this.getDisplay()&&(a=1),this.$datePicker.datepicker({minViewMode:a,maxViewMode:2,templates:{leftArrow:'<svg width="6" height="11" viewBox="0 0 6 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.41406 10.6094C5.29688 10.7266 5.13281 10.7266 5.01562 10.6094L0.09375 5.71094C0 5.59375 0 5.42969 0.09375 5.3125L5.01562 0.414062C5.13281 0.296875 5.29688 0.296875 5.41406 0.414062L5.88281 0.859375C5.97656 0.976562 5.97656 1.16406 5.88281 1.25781L1.64062 5.5L5.88281 9.76562C5.97656 9.85938 5.97656 10.0469 5.88281 10.1641L5.41406 10.6094Z" fill="currentColor"/></svg>',rightArrow:'<svg width="6" height="11" viewBox="0 0 6 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5625 0.414062C0.679688 0.296875 0.84375 0.296875 0.960938 0.414062L5.88281 5.3125C5.97656 5.42969 5.97656 5.59375 5.88281 5.71094L0.960938 10.6094C0.84375 10.7266 0.679688 10.7266 0.5625 10.6094L0.09375 10.1641C0 10.0469 0 9.85938 0.09375 9.76562L4.33594 5.5L0.09375 1.25781C0 1.16406 0 0.976562 0.09375 0.859375L0.5625 0.414062Z" fill="currentColor"/></svg>'},weekStart:sugar_calendar_obj.settings.sow}),this.$formContainer.find('input[name="sc_year"]')),n=this.$formContainer.find('input[name="sc_month"]'),t=this.$formContainer.find('input[name="sc_day"]');this.$datePicker.datepicker("update",new Date(e.val(),n.val()-1,t.val())),this.$datePicker.on("changeDate",a=>{e.val(a.date.getFullYear()),n.val(a.date.getMonth()+1),"month"!==this.getDisplay()&&t.val(a.date.getDate()),this.update()})},n.prototype.initPopovers=function(){let n=this.$mainContainer;new o(n);var a=n.find(".sugar-calendar-block__popover__event"),a=new e(a,n);768<=t.innerWidth?n.on("click",".sugar-calendar-block__event-cell",a.show.bind(a)):n.on("click",".sugar-calendar-block__calendar-week__header__cell",function(a){let e=_(a.target);(e=e.hasClass("sugar-calendar-block__calendar-week__header__cell")?e:e.parents(".sugar-calendar-block__calendar-week__header__cell")).hasClass("sugar-calendar-block__calendar-week__header__cell--active")||void 0===e.data("weekdaynum")||(n.find(".sugar-calendar-block__calendar-week__header__cell--active").removeClass("sugar-calendar-block__calendar-week__header__cell--active"),n.find(".sugar-calendar-block__calendar-week__time-grid__day-col--active").removeClass("sugar-calendar-block__calendar-week__time-grid__day-col--active"),n.find(".sugar-calendar-block__calendar-week__event-slot--all-day--active").removeClass("sugar-calendar-block__calendar-week__event-slot--all-day--active"),e.addClass("sugar-calendar-block__calendar-week__header__cell--active"),n.find(".sugar-calendar-block__calendar-week__event-slot--all-day--"+e.data("weekdaynum")).addClass("sugar-calendar-block__calendar-week__event-slot--all-day--active"),n.find(".sugar-calendar-block__calendar-week__time-grid__day-col-"+e.data("weekdaynum")).addClass("sugar-calendar-block__calendar-week__time-grid__day-col--active"))})},n.prototype.initControls=function(){this.controlEvents=new a(this),this.$searchContainer.on("keyup",this.controlEvents.onSearch.bind(this.controlEvents)),this.$searchClear.on("click",this.controlEvents.onClearSearch.bind(this.controlEvents)),this.$mainContainer.find(".sugar-calendar-block__controls__right__search__icon").on("click",this.controlEvents.onSearchClick.bind(this.controlEvents)),this.$mainContainer.find(".sugar-calendar-block__popover__month_selector__container__body__month").on("click",this.controlEvents.goToMonth.bind(this.controlEvents)),this.$mainContainer.find(".sugar-calendar-block__controls__left__pagination__prev").on("click",this.controlEvents.goToPrevious.bind(this.controlEvents)),this.$mainContainer.find(".sugar-calendar-block__controls__left__pagination__next").on("click",this.controlEvents.goToNext.bind(this.controlEvents)),this.$mainContainer.find(".sugar-calendar-block__controls__left__pagination__current").on("click",this.controlEvents.onSelectCurrent.bind(this.controlEvents)),this.$mainContainer.find(".sugar-calendar-block__popover__calendar_selector__container__options__val__cal").on("change",this.controlEvents.onSelectCalendar.bind(this.controlEvents)),this.$mainContainer.find(".sugar-calendar-block__popover__calendar_selector__container__options__val__day").on("change",this.displayEvents.bind(this)),this.$mainContainer.find(".sugar-calendar-block__popover__calendar_selector__container__options__val__time").on("change",this.displayEvents.bind(this)),this.$mainContainer.find(".sugar-calendar-block__popover__display_selector__container__body__option").on("click",this.controlEvents.onChangeDisplay.bind(this.controlEvents)),t.innerWidth<768&&(this.$mainContainer.on("click",".sugar-calendar-block__calendar-month__body__day",this.showMobileEvents.bind(this)),this.$mainContainer.on("click",".sugar-calendar-block__mobile_event_list .sugar-calendar-block__event-cell",this.onMobileEventCellClicked.bind(this)),this.$mainContainer.on("click",".sugar-calendar-block__calendar-week__event-slot .sugar-calendar-block__event-cell",this.onMobileEventCellClicked.bind(this)),this.$mainContainer.on("click",".sugar-calendar-block__calendar-day .sugar-calendar-block__event-cell",this.onMobileEventCellClicked.bind(this)))},n.prototype.onMobileEventCellClicked=function(a){let e=_(a.target);(e=e.hasClass("sugar-calendar-block__event-cell")?e:e.parents(".sugar-calendar-block__event-cell")).data("eventurl")&&(t.location.href=e.data("eventurl"))},n.prototype.getCalendarIds=function(){let a=[];return this.$mainContainer.find(".sugar-calendar-block__popover__calendar_selector__container__options__val__cal:checked").each(function(){a.push(_(this).val())}),a},n.prototype.getDisplay=function(){return this.$formContainer.find('input[name="sc_display"]').val()},n.prototype.update=function(a=!1,e=""){i(this.$mainContainer);let n=this.$mainContainer.find(".sugar-calendar-block__base-container"),t=(n.addClass("sugar-calendar-block__loading-state"),n.prepend('<div class="sugar-calendar-block__base-container__overlay"><div class="sugar-calendar-block__loading"></div></div>'),this);a={id:this.id,calendars:this.getCalendarIds(),day:parseInt(this.$formContainer.find('input[name="sc_day"]').val()),month:parseInt(this.$formContainer.find('input[name="sc_month"]').val()),year:parseInt(this.$formContainer.find('input[name="sc_year"]').val()),search:this.$searchContainer.val(),accentColor:this.$mainContainer.data("accentcolor")?this.$mainContainer.data("accentcolor"):"",display:this.getDisplay(),updateDisplay:a,action:e};_.post(sugar_calendar_obj.ajax_url,{action:"sugar_calendar_block_update",calendar_block:a,nonce:sugar_calendar_obj.nonce},function(e){if(e.success){t.$formContainer.find('input[name="sc_day"]').val(e.data.date.day),t.$formContainer.find('input[name="sc_month"]').val(e.data.date.month),t.$formContainer.find('input[name="sc_year"]').val(e.data.date.year);let a="";switch(t.getDisplay()){case"day":t.$mainContainer.find(".sugar-calendar-block__view-heading").text(e.data.heading),t.$mainContainer.find(".sugar-calendar-block__view-heading--year").hide(),e.data.is_update_display&&(t.$mainContainer.find(".sugar-calendar-block__popover__calendar_selector__container__days").hide(),a=sugar_calendar_obj.strings.today);break;case"week":t.$mainContainer.find(".sugar-calendar-block__view-heading").text(e.data.heading),t.$mainContainer.find(".sugar-calendar-block__view-heading--year").hide(),e.data.is_update_display&&(t.$mainContainer.find(".sugar-calendar-block__popover__calendar_selector__container__days").show(),t.$mobileListContainer.hide(),a=sugar_calendar_obj.strings.this_week);break;default:t.$mainContainer.find(".sugar-calendar-block__view-heading").text(e.data.heading),t.$mainContainer.find(".sugar-calendar-block__view-heading--year").text(e.data.date.year),t.$mainContainer.find(".sugar-calendar-block__view-heading--year").show(),e.data.is_update_display?(t.$mainContainer.find(".sugar-calendar-block__popover__calendar_selector__container__days").show(),t.$mobileListContainer.show(),a=sugar_calendar_obj.strings.this_month):(t.$mainContainer.find(".sugar-calendar-block__base-container__overlay").remove(),n.removeClass("sugar-calendar-block__loading-state"),n=t.$mainContainer.find(".sugar-calendar-block__calendar-month__body"))}""!==a&&t.$mainContainer.find(".sugar-calendar-block__controls__left__pagination__current").text(a),n.html(e.data.body),n.removeClass("sugar-calendar-block__loading-state"),t.displayEvents(),e.data.is_update_display?t.initDatePicker():t.$datePicker.datepicker("update",new Date(e.data.date.year,e.data.date.month-1,e.data.date.day))}})},n.prototype.getTimeOfDay=function(){return this.$timeOfDayContainer.find(".sugar-calendar-block__popover__calendar_selector__container__options__val__time:checked").map((a,e)=>e.value).get()},n.prototype.getDaysOfWeek=function(){return this.$daysOfWeekContainer.find(".sugar-calendar-block__popover__calendar_selector__container__options__val__day:checked").map((a,e)=>e.value).get()},n.prototype.showMobileEvents=function(a){var e=this.$mobileListContainer.find(".sugar-calendar-block__mobile_event_list__date"),n=this.$mobileListContainer.find(".sugar-calendar-block__mobile_event_list__events_container"),t=(e.html(""),n.html(""),_(a.target));let o;t=(o=t.hasClass("sugar-calendar-block__calendar-month__body__day")?t:_(a.target).parents(".sugar-calendar-block__calendar-month__body__day")).find(".sugar-calendar-block__calendar-month__body__day__events-container");let r=o.data("offsetmonth");(void 0===r||r.length<=0)&&(r=this.$mainContainer.find(".sugar-calendar-block__view-heading").text());var a=sugar_calendar_obj.strings.events_on,l=o.find(".sugar-calendar-block__calendar-month__body__day__number").text().trim();let i=a.replace("[Month Date]",r);l&&(i=i+" "+l),e.text(i),n.html(t.clone()),this.$mobileListContainer.show()},n.prototype.displayEvents=function(){if("week"===this.getDisplay())this.displayEventsOnWeekDisplay();else if("day"===this.getDisplay())this.displayEventsOnDayDisplay();else{let t=this.getTimeOfDay(),o=this.getDaysOfWeek(),r=[],l=this.$mainContainer.find(".sugar-calendar-block__calendar-month");l.find(".sugar-calendar-block__calendar-month__body__day__events-container").each((a,e)=>{let n=_(e);n.find(".sugar-calendar-block__event-cell").each((a,e)=>{e=_(e);(0===o.length||0<_(o).filter([n.data("weekday").toString()]).length)&&(0===t.length||0<_(t).filter(e.data("daydiv")).length)?(e.removeClass("sugar-calendar-block__calendar-month__cell-hide"),r.push(e.data("eventid"))):(e.addClass("sugar-calendar-block__calendar-month__cell-hide"),l.find(".sugar-calendar-block__calendar-month__spacer-eventid-"+e.data("eventid")).addClass("sugar-calendar-block__calendar-month__cell-hide"))})}),r.forEach(a=>{l.find(".sugar-calendar-block__calendar-month__body__day__events-container__event-id-"+a).removeClass("sugar-calendar-block__calendar-month__cell-hide"),l.find(".sugar-calendar-block__calendar-month__spacer-eventid-"+a).removeClass("sugar-calendar-block__calendar-month__cell-hide")})}},n.prototype.filterDisplayWeekView=function(a,n,t,o,r=!1){let l=[];return this.$mainContainer.find(a).each((a,e)=>{e=_(e);0===t.length||0<_(t).filter([e.data("weekday").toString()]).length?e.find(n).each((a,e)=>{e=_(e);0===o.length||0<_(o).filter(e.data("daydiv")).length?r?l.uniquePush(e.data("eventid")):e.removeClass("sugar-calendar-block__calendar-month__cell-hide"):e.addClass("sugar-calendar-block__calendar-month__cell-hide")}):e.find(n).addClass("sugar-calendar-block__calendar-month__cell-hide")}),l},n.prototype.displayEventsOnWeekDisplay=function(){var a=this.getDaysOfWeek(),e=this.getTimeOfDay();this.filterDisplayWeekView(".sugar-calendar-block__calendar-week__event-slot--all-day",".sugar-calendar-block__calendar-week__event-cell--all-day",a,e,!0).forEach(a=>{this.$mainContainer.find(".sugar-calendar-block__calendar-week__event-cell--id-"+a).removeClass("sugar-calendar-block__calendar-month__cell-hide")}),this.filterDisplayWeekView(".sugar-calendar-block__calendar-week__time-grid__day-col",".sugar-calendar-block__calendar-week__event-cell",a,e)},n.prototype.displayEventsOnDayDisplay=function(){let n=this.getTimeOfDay();0===n.length?this.$mainContainer.find(".sugar-calendar-block__event-cell").removeClass("sugar-calendar-block__calendar-month__cell-hide"):this.$mainContainer.find(".sugar-calendar-block__event-cell").each((a,e)=>{e=_(e);0<_(n).filter(e.data("daydiv")).length?e.removeClass("sugar-calendar-block__calendar-month__cell-hide"):e.addClass("sugar-calendar-block__calendar-month__cell-hide")})},{init:function(){_(t).on("load",function(){r.load()})},load:function(){void 0!==t.FloatingUIDOM&&(c=t.FloatingUIDOM,r.initCalendars(),_("body").on("click",r.closePopoversOnBodyClick))},initCalendars:function(){_(".sugar-calendar-block").each(function(){new n(_(this))})},closePopoversOnBodyClick:function(a){var e=_(this);!e.hasClass("sugar-calendar-block__popovers__active")||(a=_(a.target)).hasClass("sugar-calendar-block__controls__left__date")||a.hasClass("sugar-calendar-block__controls__right__settings__btn")||a.hasClass("sugar-calendar-block__controls__right__view__btn")||a.hasClass("sugar-calendar-block__event-cell")||a.hasClass("sugar-calendar-block__popover")||0<a.parents(".sugar-calendar-block__controls__left__date").length||0<a.parents(".sugar-calendar-block__controls__right__settings__btn").length||0<a.parents(".sugar-calendar-block__controls__right__view__btn").length||0<a.parents(".sugar-calendar-block__event-cell").length||0<a.parents(".sugar-calendar-block__popover").length||i(e)}});return r}((document,window),jQuery);sugar_calendar.init();
     1"use strict";var sugar_calendar=window.sugar_calendar||function(t,s){function d(a){a.find(".sugar-calendar-block__popover").removeClass("sugar-calendar-block__controls__settings__btn_active").hide(),a.find(".sugar-calendar-block__controls__settings__btn").removeClass("sugar-calendar-block__controls__settings__btn_active"),a.find(".sugar-calendar-block__controls__left__date").removeClass("sugar-calendar-block__controls__settings__btn_active"),s("body").removeClass("sugar-calendar-block__popovers__active")}Array.prototype.uniquePush=function(a){return this.includes(a)||this.push(a),this};function e(a,e){this.$popover=a,this.$mainContainer=e}function o(n){this.$mainContainer=n;let t=[{key:"month_selector",popover_selector:".sugar-calendar-block__popover__month_selector",button_selector:".sugar-calendar-block__controls__left__date"},{key:"calendar_selector",popover_selector:".sugar-calendar-block__popover__calendar_selector",button_selector:".sugar-calendar-block__controls__right__settings__btn"},{key:"display_selector",popover_selector:".sugar-calendar-block__popover__display_selector",button_selector:".sugar-calendar-block__controls__right__view__btn"}],o=this;t.forEach(a=>{var e=n.find(a.button_selector);e.on("click",o.toggle.bind(o,e,a.key,t))})}function a(a){this.calendarBlock=a}function n(a){this.$mainContainer=a,this.$formContainer=a.find(".sugar-calendar-block-settings"),this.$mobileListContainer=a.find(".sugar-calendar-block__mobile_event_list"),this.id=this.$formContainer.find('input[name="sc_calendar_id"]').val(),this.$searchContainer=a.find(".sugar-calendar-block__controls__right__search__field"),this.$searchClear=a.find(".sugar-calendar-block__controls__right__search__clear"),this.$timeOfDayContainer=a.find(".sugar-calendar-block__popover__calendar_selector__container__time"),this.$daysOfWeekContainer=a.find(".sugar-calendar-block__popover__calendar_selector__container__days"),this.$datePicker=a.find(".sugar-calendar-block__controls__datepicker"),void 0!==this.id&&0<this.id.length&&(this.initPopovers(),this.initControls(),this.initDatePicker()),1===parseInt(this.$formContainer.find('input[name="sc_visitor_tz_convert"]').val())&&this.update()}let h=null,r=(e.prototype.show=function(a){var e=s(a.target);let n;e=(n=e.hasClass("sugar-calendar-block__event-cell")?e:s(a.target).parents(".sugar-calendar-block__event-cell")).data("eventobjid");let t=this.$popover.find(".sugar-calendar-block__popover__event__container__image"),o=this.$popover.find(".sugar-calendar-block__popover__event__container__content__description");t.hide(),t.css("background-image",""),o.text(""),void 0!==e&&(o.prepend('<div class="sugar-calendar-block__loading sugar-calendar-block__loading--no-overlay"></div>'),s.post(sugar_calendar_obj.ajax_url,{action:"sugar_calendar_event_popover",event_object_id:e,nonce:sugar_calendar_obj.nonce},function(a){if(a.success&&a.data){a.data.image&&(t.css("background-image",`url(${a.data.image})`),t.show());let n=[];a.data.description&&(a=s.parseHTML(a.data.description.trim()),s.each(a,function(a,e){n.push(e.textContent)})),o.html(""),o.text(n.join(""))}}));var a=n.find(".sugar-calendar-block__event-cell__title").text().trim(),e=n.find(".sugar-calendar-block__event-cell__time").text().trim(),r=this.$popover.find(".sugar-calendar-block__popover__event__container__content__title__link");r.attr("href",n.data("eventurl")),r.text(a);let l=Intl.DateTimeFormat().resolvedOptions().timeZone,i="",_=n.data("daydate");"undefined"!=typeof SCTimeZones&&l.length?(i=wp.date.dateI18n(SCTimezoneConvert.date_format,_.start_date.datetime,l),_.end_date&&(i+=" - "+wp.date.dateI18n(SCTimezoneConvert.date_format,_.end_date.datetime,l))):(i=_.start_date.value,_.end_date&&(i+=" - "+_.end_date.value)),this.$popover.find(".sugar-calendar-block__popover__event__container__content__date").text(i),this.$popover.find(".sugar-calendar-block__popover__event__container__content__time").text(e);r=this.$popover.find(".sugar-calendar-block__popover__event__container__content__calendar");r.html("");let c=n.data("calendarsinfo");if(void 0!==c&&void 0!==c.calendars){let e=[];c.calendars.forEach(a=>{e.push(`<div style="border-left: 2px solid ${a.color||c.primary_event_color};" class="sugar-calendar-block__popover__event__container__content__calendar__item">${a.name}</div>`)}),r.html(e.join(""))}h.computePosition(n[0],this.$popover[0],{placement:"bottom-start",middleware:[h.offset(10),h.flip(),h.shift()]}).then(({x:a,y:e})=>{Object.assign(this.$popover[0].style,{left:a+"px",top:e+"px"})}),d(this.$mainContainer),this.$popover.show(),s("body").addClass("sugar-calendar-block__popovers__active")},o.prototype.toggle=function(a,e,n){n=n.find(a=>a.key===e),n=this.$mainContainer.find(n.popover_selector);n.is(":visible")?d(this.$mainContainer):(d(this.$mainContainer),this.show(a,n,e))},o.prototype.show=function(a,n,e){h.computePosition(a[0],n[0],{placement:"calendar_selector"===e?"bottom-end":"bottom-start",middleware:[h.offset(10),h.flip(),h.shift()]}).then(({x:a,y:e})=>{Object.assign(n[0].style,{left:a+"px",top:e+"px"})}),a.addClass("sugar-calendar-block__controls__settings__btn_active"),n.show(),s("body").addClass("sugar-calendar-block__popovers__active")},a.prototype.onSearch=function(a){13===a.keyCode?this.calendarBlock.update():0<a.target.value.length?this.calendarBlock.$searchClear.show():this.calendarBlock.$searchClear.hide()},a.prototype.onSearchClick=function(a){this.calendarBlock.update()},a.prototype.onClearSearch=function(a){this.calendarBlock.$searchContainer.val(""),this.calendarBlock.$searchClear.hide(),this.calendarBlock.update()},a.prototype.goToMonth=function(a){this.calendarBlock.$formContainer.find('input[name="sc_month"]').val(parseInt(a.target.dataset.month)),this.calendarBlock.update()},a.prototype.goToPrevious=function(){switch(this.calendarBlock.getDisplay()){case"day":this.calendarBlock.update(!1,"previous_day");break;case"week":this.calendarBlock.update(!1,"previous_week");break;case"month":this.calendarBlock.update(!1,"previous_month")}},a.prototype.goToNext=function(){switch(this.calendarBlock.getDisplay()){case"day":this.calendarBlock.update(!1,"next_day");break;case"week":this.calendarBlock.update(!1,"next_week");break;case"month":this.calendarBlock.update(!1,"next_month")}},a.prototype.onSelectCalendar=function(){this.calendarBlock.update()},a.prototype.onSelectCurrent=function(){this.calendarBlock.$formContainer.find('input[name="sc_month"]').val(this.calendarBlock.$mainContainer.data("ogmonth")),this.calendarBlock.$formContainer.find('input[name="sc_year"]').val(this.calendarBlock.$mainContainer.data("ogyear")),this.calendarBlock.$formContainer.find('input[name="sc_day"]').val(this.calendarBlock.$mainContainer.data("ogday")),this.calendarBlock.update()},a.prototype.onChangeDisplay=function(a){var a=s(a.target).text().trim(),e=a.toLowerCase();e!==this.calendarBlock.getDisplay()&&(this.calendarBlock.$mainContainer.removeClass(`sugar-calendar-block__${this.calendarBlock.getDisplay()}-view`),this.calendarBlock.$mainContainer.addClass(`sugar-calendar-block__${e}-view`),this.calendarBlock.$formContainer.find('input[name="sc_display"]').val(e),this.calendarBlock.update(!0),this.calendarBlock.$mainContainer.find(".sugar-calendar-block__controls__right__view__btn span").text(a))},n.prototype.initDatePicker=function(){void 0!==this.$datePicker&&this.$datePicker.datepicker("destroy");let a=0,e=("month"===this.getDisplay()&&(a=1),this.$datePicker.datepicker({minViewMode:a,maxViewMode:2,templates:{leftArrow:'<svg width="6" height="11" viewBox="0 0 6 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.41406 10.6094C5.29688 10.7266 5.13281 10.7266 5.01562 10.6094L0.09375 5.71094C0 5.59375 0 5.42969 0.09375 5.3125L5.01562 0.414062C5.13281 0.296875 5.29688 0.296875 5.41406 0.414062L5.88281 0.859375C5.97656 0.976562 5.97656 1.16406 5.88281 1.25781L1.64062 5.5L5.88281 9.76562C5.97656 9.85938 5.97656 10.0469 5.88281 10.1641L5.41406 10.6094Z" fill="currentColor"/></svg>',rightArrow:'<svg width="6" height="11" viewBox="0 0 6 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5625 0.414062C0.679688 0.296875 0.84375 0.296875 0.960938 0.414062L5.88281 5.3125C5.97656 5.42969 5.97656 5.59375 5.88281 5.71094L0.960938 10.6094C0.84375 10.7266 0.679688 10.7266 0.5625 10.6094L0.09375 10.1641C0 10.0469 0 9.85938 0.09375 9.76562L4.33594 5.5L0.09375 1.25781C0 1.16406 0 0.976562 0.09375 0.859375L0.5625 0.414062Z" fill="currentColor"/></svg>'},weekStart:sugar_calendar_obj.settings.sow}),this.$formContainer.find('input[name="sc_year"]')),n=this.$formContainer.find('input[name="sc_month"]'),t=this.$formContainer.find('input[name="sc_day"]');this.$datePicker.datepicker("update",new Date(e.val(),n.val()-1,t.val())),this.$datePicker.on("changeDate",a=>{e.val(a.date.getFullYear()),n.val(a.date.getMonth()+1),"month"!==this.getDisplay()&&t.val(a.date.getDate()),this.update()})},n.prototype.initPopovers=function(){let n=this.$mainContainer;new o(n);var a=n.find(".sugar-calendar-block__popover__event"),a=new e(a,n);768<=t.innerWidth?n.on("click",".sugar-calendar-block__event-cell",a.show.bind(a)):n.on("click",".sugar-calendar-block__calendar-week__header__cell",function(a){let e=s(a.target);(e=e.hasClass("sugar-calendar-block__calendar-week__header__cell")?e:e.parents(".sugar-calendar-block__calendar-week__header__cell")).hasClass("sugar-calendar-block__calendar-week__header__cell--active")||void 0===e.data("weekdaynum")||(n.find(".sugar-calendar-block__calendar-week__header__cell--active").removeClass("sugar-calendar-block__calendar-week__header__cell--active"),n.find(".sugar-calendar-block__calendar-week__time-grid__day-col--active").removeClass("sugar-calendar-block__calendar-week__time-grid__day-col--active"),n.find(".sugar-calendar-block__calendar-week__event-slot--all-day--active").removeClass("sugar-calendar-block__calendar-week__event-slot--all-day--active"),e.addClass("sugar-calendar-block__calendar-week__header__cell--active"),n.find(".sugar-calendar-block__calendar-week__event-slot--all-day--"+e.data("weekdaynum")).addClass("sugar-calendar-block__calendar-week__event-slot--all-day--active"),n.find(".sugar-calendar-block__calendar-week__time-grid__day-col-"+e.data("weekdaynum")).addClass("sugar-calendar-block__calendar-week__time-grid__day-col--active"))})},n.prototype.initControls=function(){this.controlEvents=new a(this),this.$searchContainer.on("keyup",this.controlEvents.onSearch.bind(this.controlEvents)),this.$searchClear.on("click",this.controlEvents.onClearSearch.bind(this.controlEvents)),this.$mainContainer.find(".sugar-calendar-block__controls__right__search__icon").on("click",this.controlEvents.onSearchClick.bind(this.controlEvents)),this.$mainContainer.find(".sugar-calendar-block__popover__month_selector__container__body__month").on("click",this.controlEvents.goToMonth.bind(this.controlEvents)),this.$mainContainer.find(".sugar-calendar-block__controls__left__pagination__prev").on("click",this.controlEvents.goToPrevious.bind(this.controlEvents)),this.$mainContainer.find(".sugar-calendar-block__controls__left__pagination__next").on("click",this.controlEvents.goToNext.bind(this.controlEvents)),this.$mainContainer.find(".sugar-calendar-block__controls__left__pagination__current").on("click",this.controlEvents.onSelectCurrent.bind(this.controlEvents)),this.$mainContainer.find(".sugar-calendar-block__popover__calendar_selector__container__options__val__cal").on("change",this.controlEvents.onSelectCalendar.bind(this.controlEvents)),this.$mainContainer.find(".sugar-calendar-block__popover__calendar_selector__container__options__val__day").on("change",this.displayEvents.bind(this)),this.$mainContainer.find(".sugar-calendar-block__popover__calendar_selector__container__options__val__time").on("change",this.displayEvents.bind(this)),this.$mainContainer.find(".sugar-calendar-block__popover__display_selector__container__body__option").on("click",this.controlEvents.onChangeDisplay.bind(this.controlEvents)),t.innerWidth<768&&(this.$mainContainer.on("click",".sugar-calendar-block__calendar-month__body__day",this.showMobileEvents.bind(this)),this.$mainContainer.on("click",".sugar-calendar-block__mobile_event_list .sugar-calendar-block__event-cell",this.onMobileEventCellClicked.bind(this)),this.$mainContainer.on("click",".sugar-calendar-block__calendar-week__event-slot .sugar-calendar-block__event-cell",this.onMobileEventCellClicked.bind(this)),this.$mainContainer.on("click",".sugar-calendar-block__calendar-day .sugar-calendar-block__event-cell",this.onMobileEventCellClicked.bind(this)))},n.prototype.onMobileEventCellClicked=function(a){let e=s(a.target);(e=e.hasClass("sugar-calendar-block__event-cell")?e:e.parents(".sugar-calendar-block__event-cell")).data("eventurl")&&(t.location.href=e.data("eventurl"))},n.prototype.getCalendarIds=function(){let a=[];return this.$mainContainer.find(".sugar-calendar-block__popover__calendar_selector__container__options__val__cal:checked").each(function(){a.push(s(this).val())}),a},n.prototype.getDisplay=function(){return this.$formContainer.find('input[name="sc_display"]').val()},n.prototype.update=function(a=!1,e=""){d(this.$mainContainer);let n=this.$mainContainer.find(".sugar-calendar-block__base-container"),t=(n.addClass("sugar-calendar-block__loading-state"),n.prepend('<div class="sugar-calendar-block__base-container__overlay"><div class="sugar-calendar-block__loading"></div></div>'),this);a={id:this.id,calendars:this.getCalendarIds(),day:parseInt(this.$formContainer.find('input[name="sc_day"]').val()),month:parseInt(this.$formContainer.find('input[name="sc_month"]').val()),year:parseInt(this.$formContainer.find('input[name="sc_year"]').val()),search:this.$searchContainer.val(),accentColor:this.$mainContainer.data("accentcolor")?this.$mainContainer.data("accentcolor"):"",display:this.getDisplay(),visitor_tz_convert:parseInt(this.$formContainer.find('input[name="sc_visitor_tz_convert"]').val()),visitor_tz:Intl.DateTimeFormat().resolvedOptions().timeZone,updateDisplay:a,action:e};s.post(sugar_calendar_obj.ajax_url,{action:"sugar_calendar_block_update",calendar_block:a,nonce:sugar_calendar_obj.nonce},function(e){if(e.success){t.$formContainer.find('input[name="sc_day"]').val(e.data.date.day),t.$formContainer.find('input[name="sc_month"]').val(e.data.date.month),t.$formContainer.find('input[name="sc_year"]').val(e.data.date.year);let a="";switch(t.getDisplay()){case"day":t.$mainContainer.find(".sugar-calendar-block__view-heading").text(e.data.heading),t.$mainContainer.find(".sugar-calendar-block__view-heading--year").hide(),e.data.is_update_display&&(t.$mainContainer.find(".sugar-calendar-block__popover__calendar_selector__container__days").hide(),a=sugar_calendar_obj.strings.today);break;case"week":t.$mainContainer.find(".sugar-calendar-block__view-heading").text(e.data.heading),t.$mainContainer.find(".sugar-calendar-block__view-heading--year").hide(),e.data.is_update_display&&(t.$mainContainer.find(".sugar-calendar-block__popover__calendar_selector__container__days").show(),t.$mobileListContainer.hide(),a=sugar_calendar_obj.strings.this_week);break;default:t.$mainContainer.find(".sugar-calendar-block__view-heading").text(e.data.heading),t.$mainContainer.find(".sugar-calendar-block__view-heading--year").text(e.data.date.year),t.$mainContainer.find(".sugar-calendar-block__view-heading--year").show(),e.data.is_update_display?(t.$mainContainer.find(".sugar-calendar-block__popover__calendar_selector__container__days").show(),t.$mobileListContainer.show(),a=sugar_calendar_obj.strings.this_month):(t.$mainContainer.find(".sugar-calendar-block__base-container__overlay").remove(),n.removeClass("sugar-calendar-block__loading-state"),n=t.$mainContainer.find(".sugar-calendar-block__calendar-month__body"))}""!==a&&t.$mainContainer.find(".sugar-calendar-block__controls__left__pagination__current").text(a),n.html(e.data.body),n.removeClass("sugar-calendar-block__loading-state"),t.displayEvents(),e.data.is_update_display?t.initDatePicker():t.$datePicker.datepicker("update",new Date(e.data.date.year,e.data.date.month-1,e.data.date.day)),"undefined"!=typeof SCTimeZones&&SCTimeZones.convertEventsTime()}})},n.prototype.getTimeOfDay=function(){return this.$timeOfDayContainer.find(".sugar-calendar-block__popover__calendar_selector__container__options__val__time:checked").map((a,e)=>e.value).get()},n.prototype.getDaysOfWeek=function(){return this.$daysOfWeekContainer.find(".sugar-calendar-block__popover__calendar_selector__container__options__val__day:checked").map((a,e)=>e.value).get()},n.prototype.showMobileEvents=function(a){var e=this.$mobileListContainer.find(".sugar-calendar-block__mobile_event_list__date"),n=this.$mobileListContainer.find(".sugar-calendar-block__mobile_event_list__events_container"),t=(e.html(""),n.html(""),s(a.target));let o;t=(o=t.hasClass("sugar-calendar-block__calendar-month__body__day")?t:s(a.target).parents(".sugar-calendar-block__calendar-month__body__day")).find(".sugar-calendar-block__calendar-month__body__day__events-container");let r=o.data("offsetmonth");(void 0===r||r.length<=0)&&(r=this.$mainContainer.find(".sugar-calendar-block__view-heading").text());var a=sugar_calendar_obj.strings.events_on,l=o.find(".sugar-calendar-block__calendar-month__body__day__number").text().trim();let i=a.replace("[Month Date]",r);l&&(i=i+" "+l),e.text(i),n.html(t.clone()),this.$mobileListContainer.show()},n.prototype.displayEvents=function(){if("week"===this.getDisplay())this.displayEventsOnWeekDisplay();else if("day"===this.getDisplay())this.displayEventsOnDayDisplay();else{let t=this.getTimeOfDay(),o=this.getDaysOfWeek(),r=[],l=this.$mainContainer.find(".sugar-calendar-block__calendar-month");l.find(".sugar-calendar-block__calendar-month__body__day__events-container").each((a,e)=>{let n=s(e);n.find(".sugar-calendar-block__event-cell").each((a,e)=>{e=s(e);(0===o.length||0<s(o).filter([n.data("weekday").toString()]).length)&&(0===t.length||0<s(t).filter(e.data("daydiv")).length)?(e.removeClass("sugar-calendar-block__calendar-month__cell-hide"),r.push(e.data("eventid"))):(e.addClass("sugar-calendar-block__calendar-month__cell-hide"),l.find(".sugar-calendar-block__calendar-month__spacer-eventid-"+e.data("eventid")).addClass("sugar-calendar-block__calendar-month__cell-hide"))})}),r.forEach(a=>{l.find(".sugar-calendar-block__calendar-month__body__day__events-container__event-id-"+a).removeClass("sugar-calendar-block__calendar-month__cell-hide"),l.find(".sugar-calendar-block__calendar-month__spacer-eventid-"+a).removeClass("sugar-calendar-block__calendar-month__cell-hide")})}},n.prototype.filterDisplayWeekView=function(a,n,t,o,r=!1){let l=[];return this.$mainContainer.find(a).each((a,e)=>{e=s(e);0===t.length||0<s(t).filter([e.data("weekday").toString()]).length?e.find(n).each((a,e)=>{e=s(e);0===o.length||0<s(o).filter(e.data("daydiv")).length?r?l.uniquePush(e.data("eventid")):e.removeClass("sugar-calendar-block__calendar-month__cell-hide"):e.addClass("sugar-calendar-block__calendar-month__cell-hide")}):e.find(n).addClass("sugar-calendar-block__calendar-month__cell-hide")}),l},n.prototype.displayEventsOnWeekDisplay=function(){var a=this.getDaysOfWeek(),e=this.getTimeOfDay();this.filterDisplayWeekView(".sugar-calendar-block__calendar-week__event-slot--all-day",".sugar-calendar-block__calendar-week__event-cell--all-day",a,e,!0).forEach(a=>{this.$mainContainer.find(".sugar-calendar-block__calendar-week__event-cell--id-"+a).removeClass("sugar-calendar-block__calendar-month__cell-hide")}),this.filterDisplayWeekView(".sugar-calendar-block__calendar-week__time-grid__day-col",".sugar-calendar-block__calendar-week__event-cell",a,e)},n.prototype.displayEventsOnDayDisplay=function(){let n=this.getTimeOfDay();0===n.length?this.$mainContainer.find(".sugar-calendar-block__event-cell").removeClass("sugar-calendar-block__calendar-month__cell-hide"):this.$mainContainer.find(".sugar-calendar-block__event-cell").each((a,e)=>{e=s(e);0<s(n).filter(e.data("daydiv")).length?e.removeClass("sugar-calendar-block__calendar-month__cell-hide"):e.addClass("sugar-calendar-block__calendar-month__cell-hide")})},{init:function(){s(t).on("load",function(){r.load()})},load:function(){void 0!==t.FloatingUIDOM&&(h=t.FloatingUIDOM,r.initCalendars(),s("body").on("click",r.closePopoversOnBodyClick))},initCalendars:function(){s(".sugar-calendar-block").each(function(){new n(s(this))})},closePopoversOnBodyClick:function(a){var e=s(this);!e.hasClass("sugar-calendar-block__popovers__active")||(a=s(a.target)).hasClass("sugar-calendar-block__controls__left__date")||a.hasClass("sugar-calendar-block__controls__right__settings__btn")||a.hasClass("sugar-calendar-block__controls__right__view__btn")||a.hasClass("sugar-calendar-block__event-cell")||a.hasClass("sugar-calendar-block__popover")||0<a.parents(".sugar-calendar-block__controls__left__date").length||0<a.parents(".sugar-calendar-block__controls__right__settings__btn").length||0<a.parents(".sugar-calendar-block__controls__right__view__btn").length||0<a.parents(".sugar-calendar-block__event-cell").length||0<a.parents(".sugar-calendar-block__popover").length||d(e)}});return r}((document,window),jQuery);sugar_calendar.init();
  • sugar-calendar-lite/trunk/assets/languages/sugar-calendar.pot

    r3112714 r3118281  
    11msgid ""
    22msgstr ""
    3 "Project-Id-Version: Sugar Calendar 3.1.1\n"
     3"Project-Id-Version: Sugar Calendar 3.1.2\n"
    44"Report-Msgid-Bugs-To: https://sugarcalendar.com/support/\n"
    55"Last-Translator: Sugar Calendar <[email protected]>\n"
     
    88"Content-Type: text/plain; charset=UTF-8\n"
    99"Content-Transfer-Encoding: 8bit\n"
    10 "POT-Creation-Date: 2024-07-04T16:32:10+00:00\n"
     10"POT-Creation-Date: 2024-07-15T10:25:24+00:00\n"
    1111"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1212"X-Generator: WP-CLI 2.8.1\n"
     
    1717#: src/Admin/Area.php:156
    1818#: src/Admin/Area.php:157
    19 #: src/Block/Calendar/Loader.php:326
     19#: src/Block/Calendar/Loader.php:351
    2020msgid "Sugar Calendar"
    2121msgstr ""
     
    243243#: src/Admin/Events/Tables/Day.php:214
    244244#: src/Admin/Events/Tables/Week.php:295
    245 #: src/Block/Calendar/templates/week/event-cell.php:28
    246245#: src/Block/Calendar/templates/week/multi-and-all-day-events-rows.php:9
    247246#: src/Block/Common/templates/popovers.php:99
    248 #: src/Helpers.php:317
     247#: src/Helpers.php:326
    249248msgid "All Day"
    250249msgstr ""
     
    272271#: includes/admin/help.php:133
    273272#: src/Admin/Events/Tables/Base.php:434
    274 #: src/Block/Calendar/CalendarView/Block.php:102
     273#: src/Block/Calendar/CalendarView/Block.php:89
    275274msgid "Day"
    276275msgstr ""
     
    343342#: src/Admin/Events/Tables/Base.php:433
    344343#: src/Admin/Events/Tables/Month.php:113
    345 #: src/Block/Calendar/CalendarView/Block.php:101
     344#: src/Block/Calendar/CalendarView/Block.php:88
    346345msgid "Week"
    347346msgstr ""
     
    356355
    357356#: includes/admin/help.php:213
    358 #: includes/themes/legacy/calendar.php:154
     357#: includes/themes/legacy/calendar.php:159
    359358#: src/Admin/Events/Tables/Base.php:432
    360 #: src/Block/Calendar/CalendarView/Block.php:100
     359#: src/Block/Calendar/CalendarView/Block.php:87
    361360msgid "Month"
    362361msgstr ""
     
    405404
    406405#: includes/admin/help.php:261
    407 #: includes/themes/legacy/calendar.php:165
     406#: includes/themes/legacy/calendar.php:170
    408407msgid "Year"
    409408msgstr ""
     
    518517#: includes/classes/terms/class-term-timezones.php:82
    519518#: src/Admin/Events/Metaboxes/Event.php:817
    520 #: src/Admin/Pages/SettingsGeneralTab.php:310
     519#: src/Admin/Pages/SettingsGeneralTab.php:311
    521520msgid "Time Zone"
    522521msgstr ""
     
    674673#: includes/admin/help.php:553
    675674#: includes/classes/terms/class-term-timezones.php:83
    676 #: src/Admin/Pages/SettingsGeneralTab.php:333
     675#: src/Admin/Pages/SettingsGeneralTab.php:334
    677676msgid "Time Zones"
    678677msgstr ""
     
    695694
    696695#: includes/admin/help.php:560
    697 #: src/Admin/Pages/SettingsGeneralTab.php:344
     696#: src/Admin/Pages/SettingsGeneralTab.php:345
    698697msgid "Default Time Zone"
    699698msgstr ""
     
    716715
    717716#: includes/admin/help.php:565
    718 #: src/Admin/Pages/SettingsGeneralTab.php:355
     717#: src/Admin/Pages/SettingsGeneralTab.php:356
    719718msgid "Visitor Conversion"
    720719msgstr ""
     
    736735#: includes/admin/menu.php:37
    737736#: includes/post/taxonomies.php:43
    738 #: includes/themes/legacy/calendar.php:176
     737#: includes/themes/legacy/calendar.php:181
    739738msgid "Calendar"
    740739msgstr ""
     
    802801
    803802#: includes/admin/screen-options.php:94
    804 #: src/Admin/Pages/SettingsGeneralTab.php:159
     803#: src/Admin/Pages/SettingsGeneralTab.php:160
    805804msgid "F j, Y"
    806805msgstr ""
    807806
    808807#: includes/admin/screen-options.php:110
    809 #: src/Admin/Pages/SettingsGeneralTab.php:190
     808#: src/Admin/Pages/SettingsGeneralTab.php:191
    810809msgid "g:i a"
    811810msgstr ""
     
    813812#: includes/admin/screen-options.php:126
    814813#: src/Admin/Events/Tables/Base.php:3191
    815 #: src/Admin/Pages/SettingsGeneralTab.php:127
     814#: src/Admin/Pages/SettingsGeneralTab.php:128
    816815msgid "Maximum Events"
    817816msgstr ""
     
    819818#: includes/admin/screen-options.php:135
    820819#: src/Admin/Events/Tables/Base.php:3179
    821 #: src/Admin/Pages/SettingsGeneralTab.php:143
     820#: src/Admin/Pages/SettingsGeneralTab.php:144
    822821msgid "Start of Week"
    823822msgstr ""
     
    828827
    829828#: includes/admin/screen-options.php:155
    830 #: src/Admin/Pages/SettingsGeneralTab.php:175
     829#: src/Admin/Pages/SettingsGeneralTab.php:176
    831830msgid "Date Format"
    832831msgstr ""
     
    846845
    847846#: includes/admin/screen-options.php:194
    848 #: src/Admin/Pages/SettingsGeneralTab.php:204
     847#: src/Admin/Pages/SettingsGeneralTab.php:205
    849848msgid "Time Format"
    850849msgstr ""
     
    873872
    874873#: includes/admin/settings.php:100
    875 #: src/Admin/Pages/SettingsGeneralTab.php:51
     874#: src/Admin/Pages/SettingsGeneralTab.php:52
    876875msgid "General"
    877876msgstr ""
     
    897896msgstr ""
    898897
    899 #: includes/classes/database/events/Row.php:587
     898#: includes/classes/database/events/Row.php:623
    900899#: includes/themes/legacy/event-display.php:147
    901 #: includes/themes/legacy/events-list.php:163
     900#: includes/themes/legacy/events-list.php:170
    902901msgid "All-day"
    903902msgstr ""
     
    14021401
    14031402#: includes/common/Features/EventTicketing/includes/admin/view.php:108
    1404 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:226
     1403#: includes/common/Features/EventTicketing/includes/front-end/modal.php:256
    14051404msgid "Total:"
    14061405msgstr ""
     
    19311930msgstr ""
    19321931
    1933 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:21
    1934 #: src/Helpers.php:259
     1932#: includes/common/Features/EventTicketing/includes/front-end/modal.php:22
     1933#: src/Helpers.php:267
    19351934msgid "Date/Time:"
    19361935msgstr ""
    19371936
    1938 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:31
     1937#: includes/common/Features/EventTicketing/includes/front-end/modal.php:47
    19391938#: includes/themes/legacy/event-display.php:134
    1940 #: src/Helpers.php:262
     1939#: src/Helpers.php:270
    19411940msgid "Date:"
    19421941msgstr ""
    19431942
    1944 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:35
     1943#: includes/common/Features/EventTicketing/includes/front-end/modal.php:52
    19451944#: includes/themes/legacy/event-display.php:180
    1946 #: src/Frontend/Loader.php:162
     1945#: src/Frontend/Loader.php:177
    19471946msgid "Time:"
    19481947msgstr ""
    19491948
    1950 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:85
     1949#: includes/common/Features/EventTicketing/includes/front-end/modal.php:115
    19511950#: includes/common/Features/EventTicketing/includes/front-end/singular.php:39
    19521951#: includes/common/Features/EventTicketing/includes/gateways/stripe.php:109
     
    19541953msgstr ""
    19551954
    1956 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:98
     1955#: includes/common/Features/EventTicketing/includes/front-end/modal.php:128
    19571956msgid "Billing Details"
    19581957msgstr ""
    19591958
    1960 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:102
     1959#: includes/common/Features/EventTicketing/includes/front-end/modal.php:132
    19611960msgid "First Name"
    19621961msgstr ""
    19631962
    1964 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:103
     1963#: includes/common/Features/EventTicketing/includes/front-end/modal.php:133
    19651964msgid "Your first name"
    19661965msgstr ""
    19671966
    1968 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:106
     1967#: includes/common/Features/EventTicketing/includes/front-end/modal.php:136
    19691968msgid "Last Name"
    19701969msgstr ""
    19711970
    1972 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:107
     1971#: includes/common/Features/EventTicketing/includes/front-end/modal.php:137
    19731972msgid "Your last name"
    19741973msgstr ""
    19751974
    1976 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:112
     1975#: includes/common/Features/EventTicketing/includes/front-end/modal.php:142
    19771976msgid "Email Address"
    19781977msgstr ""
    19791978
    1980 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:113
     1979#: includes/common/Features/EventTicketing/includes/front-end/modal.php:143
    19811980msgid "Enter email address"
    19821981msgstr ""
    19831982
    1984 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:118
     1983#: includes/common/Features/EventTicketing/includes/front-end/modal.php:148
    19851984msgid "Attendee Information"
    19861985msgstr ""
    19871986
    1988 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:119
     1987#: includes/common/Features/EventTicketing/includes/front-end/modal.php:149
    19891988msgid "Enter the name and email of all attendees (optional)."
    19901989msgstr ""
    19911990
    1992 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:119
     1991#: includes/common/Features/EventTicketing/includes/front-end/modal.php:149
    19931992msgid "Copy from Billing Details."
    19941993msgstr ""
    19951994
    1996 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:124
     1995#: includes/common/Features/EventTicketing/includes/front-end/modal.php:154
    19971996msgid "Attendee 1"
    19981997msgstr ""
    19991998
    2000 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:126
     1999#: includes/common/Features/EventTicketing/includes/front-end/modal.php:156
    20012000msgid "First name"
    20022001msgstr ""
    20032002
    2004 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:127
     2003#: includes/common/Features/EventTicketing/includes/front-end/modal.php:157
    20052004msgid "Last name"
    20062005msgstr ""
    20072006
    2008 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:128
     2007#: includes/common/Features/EventTicketing/includes/front-end/modal.php:158
    20092008msgid "Email"
    20102009msgstr ""
    20112010
    2012 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:145
     2011#: includes/common/Features/EventTicketing/includes/front-end/modal.php:175
    20132012msgid "Payment Card"
    20142013msgstr ""
    20152014
    2016 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:163
     2015#: includes/common/Features/EventTicketing/includes/front-end/modal.php:193
    20172016msgid "Event Summary"
    20182017msgstr ""
    20192018
    2020 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:171
     2019#: includes/common/Features/EventTicketing/includes/front-end/modal.php:201
    20212020msgid "<span>Event:</span> %s"
    20222021msgstr ""
    20232022
    2024 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:188
     2023#: includes/common/Features/EventTicketing/includes/front-end/modal.php:218
    20252024msgid "Order Summary"
    20262025msgstr ""
    20272026
    2028 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:196
     2027#: includes/common/Features/EventTicketing/includes/front-end/modal.php:226
    20292028msgid "<span>Tickets:</span> %s"
    20302029msgstr ""
    20312030
    2032 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:215
     2031#: includes/common/Features/EventTicketing/includes/front-end/modal.php:245
    20332032msgid "<span>Ticket Price:</span> <strong>%s</strong>"
    20342033msgstr ""
    20352034
    2036 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:229
    2037 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:240
     2035#: includes/common/Features/EventTicketing/includes/front-end/modal.php:259
     2036#: includes/common/Features/EventTicketing/includes/front-end/modal.php:270
    20382037msgid "Loading..."
    20392038msgstr ""
    20402039
    2041 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:241
     2040#: includes/common/Features/EventTicketing/includes/front-end/modal.php:271
    20422041msgid "Cancel"
    20432042msgstr ""
    20442043
    2045 #: includes/common/Features/EventTicketing/includes/front-end/modal.php:242
     2044#: includes/common/Features/EventTicketing/includes/front-end/modal.php:272
    20462045msgid "Purchase"
    20472046msgstr ""
     
    21692168
    21702169#: includes/common/Features/EventTicketing/src/Helpers/UI.php:473
    2171 #: src/Admin/Pages/SettingsGeneralTab.php:322
     2170#: src/Admin/Pages/SettingsGeneralTab.php:323
    21722171#: src/Helpers/UI.php:473
    21732172msgid "Off"
     
    23142313
    23152314#: includes/post/taxonomies.php:46
    2316 #: includes/themes/legacy/calendar.php:101
     2315#: includes/themes/legacy/calendar.php:106
    23172316#: includes/themes/legacy/widgets.php:377
    23182317msgid "All Calendars"
     
    23652364
    23662365#: includes/post/taxonomies.php:57
    2367 #: includes/themes/legacy/calendar.php:105
     2366#: includes/themes/legacy/calendar.php:110
    23682367msgid "No Calendars"
    23692368msgstr ""
     
    25682567msgstr ""
    25692568
    2570 #: includes/themes/legacy/calendar.php:179
     2569#: includes/themes/legacy/calendar.php:184
    25712570msgid "Go"
    25722571msgstr ""
    25732572
    2574 #: includes/themes/legacy/calendar.php:255
     2573#: includes/themes/legacy/calendar.php:264
    25752574msgctxt "Previous month"
    25762575msgid "Previous"
    25772576msgstr ""
    25782577
    2579 #: includes/themes/legacy/calendar.php:267
     2578#: includes/themes/legacy/calendar.php:276
    25802579msgctxt "Next month"
    25812580msgid "Next"
    25822581msgstr ""
    25832582
    2584 #: includes/themes/legacy/calendar.php:326
     2583#: includes/themes/legacy/calendar.php:335
    25852584msgid "Previous"
    25862585msgstr ""
    25872586
    2588 #: includes/themes/legacy/calendar.php:339
     2587#: includes/themes/legacy/calendar.php:349
    25892588msgid "Next"
    25902589msgstr ""
     
    25962595
    25972596#: includes/themes/legacy/event-display.php:261
    2598 #: src/Frontend/Loader.php:186
     2597#: src/Frontend/Loader.php:212
    25992598msgid "Location:"
    26002599msgstr ""
    26012600
    2602 #: includes/themes/legacy/events-list.php:206
     2601#: includes/themes/legacy/events-list.php:213
    26032602msgid "Read More"
    26042603msgstr ""
    26052604
    2606 #: includes/themes/legacy/functions.php:1555
     2605#: includes/themes/legacy/functions.php:1614
    26072606msgid "Starts %s then every %s until %s"
    26082607msgstr ""
    26092608
    2610 #: includes/themes/legacy/functions.php:1569
     2609#: includes/themes/legacy/functions.php:1628
    26112610msgid "Starts %s then every month on the %s until %s"
    26122611msgstr ""
    26132612
    2614 #: includes/themes/legacy/functions.php:1583
     2613#: includes/themes/legacy/functions.php:1642
    26152614msgid "Starts %s then every year on the %s of %s until %s"
    26162615msgstr ""
    26172616
    2618 #: includes/themes/legacy/functions.php:1603
     2617#: includes/themes/legacy/functions.php:1662
    26192618msgid "Starts %s then every %s"
    26202619msgstr ""
    26212620
    2622 #: includes/themes/legacy/functions.php:1616
     2621#: includes/themes/legacy/functions.php:1675
    26232622msgid "Starts %s then every month on the %s"
    26242623msgstr ""
    26252624
    2626 #: includes/themes/legacy/functions.php:1629
     2625#: includes/themes/legacy/functions.php:1688
    26272626msgid "Starts %s then every year on the %s of %s"
    26282627msgstr ""
     
    26572656#: includes/themes/legacy/widgets.php:170
    26582657#: includes/themes/legacy/widgets.php:375
    2659 #: src/Frontend/Loader.php:222
     2658#: src/Frontend/Loader.php:248
    26602659msgid "Calendar:"
    26612660msgstr ""
     
    31773176#: src/Admin/Events/Tables/Month.php:288
    31783177#: src/Admin/Events/Tables/Week.php:145
    3179 #: src/Block/Calendar/CalendarView/Block.php:117
    3180 #: src/Block/Calendar/Loader.php:93
     3178#: src/Block/Calendar/CalendarView/Block.php:104
     3179#: src/Block/Calendar/Loader.php:106
    31813180msgid "Today"
    31823181msgstr ""
     
    33053304
    33063305#: src/Admin/Pages/CalendarAbstract.php:282
    3307 #: src/Admin/Pages/SettingsGeneralTab.php:219
     3306#: src/Admin/Pages/SettingsGeneralTab.php:220
    33083307msgid "None"
    33093308msgstr ""
     
    33283327
    33293328#: src/Admin/Pages/Settings.php:58
    3330 #: src/Admin/Pages/Settings.php:117
     3329#: src/Admin/Pages/Settings.php:114
    33313330#: src/Admin/Pages/SettingsFeedsTab.php:77
    33323331#: src/Admin/Pages/SettingsZapierTab.php:77
     
    33343333msgstr ""
    33353334
    3336 #: src/Admin/Pages/Settings.php:127
     3335#: src/Admin/Pages/Settings.php:123
    33373336msgid "Save Settings"
    33383337msgstr ""
     
    33743373msgstr ""
    33753374
    3376 #: src/Admin/Pages/SettingsGeneralTab.php:90
     3375#: src/Admin/Pages/SettingsGeneralTab.php:91
    33773376msgid "License"
    33783377msgstr ""
    33793378
    3380 #: src/Admin/Pages/SettingsGeneralTab.php:105
     3379#: src/Admin/Pages/SettingsGeneralTab.php:106
    33813380msgid "License Key"
    33823381msgstr ""
    33833382
    3384 #: src/Admin/Pages/SettingsGeneralTab.php:115
     3383#: src/Admin/Pages/SettingsGeneralTab.php:116
    33853384msgid "Display"
    33863385msgstr ""
    33873386
    3388 #: src/Admin/Pages/SettingsGeneralTab.php:128
     3387#: src/Admin/Pages/SettingsGeneralTab.php:129
    33893388msgid "Number of events to include in any theme-side calendar. Default <strong>30</strong>. Use <strong>0</strong> for no limit."
    33903389msgstr ""
    33913390
    3392 #: src/Admin/Pages/SettingsGeneralTab.php:144
     3391#: src/Admin/Pages/SettingsGeneralTab.php:145
    33933392msgid "Select the first day of the week."
    33943393msgstr ""
    33953394
    3396 #: src/Admin/Pages/SettingsGeneralTab.php:220
     3395#: src/Admin/Pages/SettingsGeneralTab.php:221
    33973396msgid "Each"
    33983397msgstr ""
    33993398
    3400 #: src/Admin/Pages/SettingsGeneralTab.php:221
     3399#: src/Admin/Pages/SettingsGeneralTab.php:222
    34013400msgid "First"
    34023401msgstr ""
    34033402
    3404 #: src/Admin/Pages/SettingsGeneralTab.php:222
     3403#: src/Admin/Pages/SettingsGeneralTab.php:223
    34053404msgid "Blend"
    34063405msgstr ""
    34073406
    3408 #: src/Admin/Pages/SettingsGeneralTab.php:234
     3407#: src/Admin/Pages/SettingsGeneralTab.php:235
    34093408msgid "Calendar Day Colors"
    34103409msgstr ""
    34113410
    3412 #: src/Admin/Pages/SettingsGeneralTab.php:235
     3411#: src/Admin/Pages/SettingsGeneralTab.php:236
    34133412msgid "The theme-side Calendar Color styling strategy.<br><strong>None</strong> by default (no colors).<br><strong>Each</strong> uses a single color for each Event link.<br><strong>First</strong> uses the first color found for the background.<br><strong>Blend</strong> will use the average of all colors for the background."
    34143413msgstr ""
    34153414
    3416 #: src/Admin/Pages/SettingsGeneralTab.php:242
     3415#: src/Admin/Pages/SettingsGeneralTab.php:243
    34173416msgid "Editing"
    34183417msgstr ""
    34193418
    3420 #: src/Admin/Pages/SettingsGeneralTab.php:271
     3419#: src/Admin/Pages/SettingsGeneralTab.php:272
    34213420msgid "Editor Type"
    34223421msgstr ""
    34233422
    3424 #: src/Admin/Pages/SettingsGeneralTab.php:272
     3423#: src/Admin/Pages/SettingsGeneralTab.php:273
    34253424msgid "The interface to use when adding or editing Events."
    34263425msgstr ""
    34273426
    3428 #: src/Admin/Pages/SettingsGeneralTab.php:282
     3427#: src/Admin/Pages/SettingsGeneralTab.php:283
    34293428msgid "Enable Custom Fields"
    34303429msgstr ""
    34313430
    3432 #: src/Admin/Pages/SettingsGeneralTab.php:283
     3431#: src/Admin/Pages/SettingsGeneralTab.php:284
    34333432msgid "Allow developers to extend post types that support <code>events</code>."
    34343433msgstr ""
    34353434
    3436 #: src/Admin/Pages/SettingsGeneralTab.php:300
     3435#: src/Admin/Pages/SettingsGeneralTab.php:301
    34373436msgid "&mdash; No Default &mdash;"
    34383437msgstr ""
    34393438
    3440 #: src/Admin/Pages/SettingsGeneralTab.php:301
     3439#: src/Admin/Pages/SettingsGeneralTab.php:302
    34413440msgid "Default Event Calendar"
    34423441msgstr ""
    34433442
    3444 #: src/Admin/Pages/SettingsGeneralTab.php:302
     3443#: src/Admin/Pages/SettingsGeneralTab.php:303
    34453444msgid "When adding a new Event, this Calendar will be preselected."
    34463445msgstr ""
    34473446
    3448 #: src/Admin/Pages/SettingsGeneralTab.php:323
     3447#: src/Admin/Pages/SettingsGeneralTab.php:324
    34493448msgid "Single"
    34503449msgstr ""
    34513450
    3452 #: src/Admin/Pages/SettingsGeneralTab.php:324
     3451#: src/Admin/Pages/SettingsGeneralTab.php:325
    34533452msgid "Multi"
    34543453msgstr ""
    34553454
    3456 #: src/Admin/Pages/SettingsGeneralTab.php:334
     3455#: src/Admin/Pages/SettingsGeneralTab.php:335
    34573456msgid "<strong>Off</strong> by default (Existing time zone data still appears).<br><strong>Single</strong> allows Events to have one time zone.<br><strong>Multi</strong> allows Events to have different start & end time zones.<br><strong>Single</strong> and <strong>Multi</strong> will enable time zones for Calendars."
    34583457msgstr ""
    34593458
    3460 #: src/Admin/Pages/SettingsGeneralTab.php:345
     3459#: src/Admin/Pages/SettingsGeneralTab.php:346
    34613460msgid "When time zones are enabled, new Events will default to this. If you are unsure, leave empty or pick the time zone you are in."
    34623461msgstr ""
    34633462
    3464 #: src/Admin/Pages/SettingsGeneralTab.php:356
     3463#: src/Admin/Pages/SettingsGeneralTab.php:357
    34653464msgid "Attempts to update theme-side Event times according to visitor web browser location. Depends on client-side browser support. May not work for all visitors."
    34663465msgstr ""
    34673466
    3468 #: src/Admin/Pages/SettingsGeneralTab.php:373
     3467#: src/Admin/Pages/SettingsGeneralTab.php:374
    34693468msgid "You're using Sugar Calendar Lite - no license needed. Enjoy!"
    34703469msgstr ""
    34713470
    34723471#. translators: %s - WPMailSMTP.com upgrade URL.
    3473 #: src/Admin/Pages/SettingsGeneralTab.php:379
     3472#: src/Admin/Pages/SettingsGeneralTab.php:380
    34743473msgid "To unlock more features, consider <strong><a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"sugar-calendar-upgrade-modal\">upgrading to PRO</a></strong>."
    34753474msgstr ""
    34763475
    34773476#. Translators: %s - discount value 50%
    3478 #: src/Admin/Pages/SettingsGeneralTab.php:399
     3477#: src/Admin/Pages/SettingsGeneralTab.php:400
    34793478msgid "As a valued Sugar Calendar Lite user you receive <strong>%s off</strong>, automatically applied at checkout!"
    34803479msgstr ""
    34813480
    3482 #: src/Admin/Pages/SettingsGeneralTab.php:416
     3481#: src/Admin/Pages/SettingsGeneralTab.php:417
    34833482msgid "Paste license key here"
    34843483msgstr ""
    34853484
    3486 #: src/Admin/Pages/SettingsGeneralTab.php:421
     3485#: src/Admin/Pages/SettingsGeneralTab.php:422
    34873486msgid "Verify Key"
    34883487msgstr ""
    34893488
    34903489#. translators: %1$s - Sugar Calendar account dashboard url; %2$s - pricing page url.
    3491 #: src/Admin/Pages/SettingsGeneralTab.php:428
     3490#: src/Admin/Pages/SettingsGeneralTab.php:429
    34923491msgid "Your license key can be found in your <a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">Sugar Calendar Account Dashboard</a>. Don't have a license?  <a href=\"%2$s\" target=\"_blank\" rel=\"noopener noreferrer\">Sign up today!</a>"
    34933492msgstr ""
    34943493
    3495 #: src/Admin/Pages/SettingsMapsTab.php:48
     3494#: src/Admin/Pages/SettingsGeneralTab.php:532
     3495#: src/Admin/Pages/SettingsMapsTab.php:113
     3496#: src/Admin/Pages/SettingsMiscTab.php:143
     3497msgid "Settings saved."
     3498msgstr ""
     3499
     3500#: src/Admin/Pages/SettingsMapsTab.php:49
    34963501msgid "Maps"
    34973502msgstr ""
    34983503
    3499 #: src/Admin/Pages/SettingsMapsTab.php:77
     3504#: src/Admin/Pages/SettingsMapsTab.php:78
    35003505msgid "Google Maps"
    35013506msgstr ""
    35023507
    35033508#. translators: %1$s - Google Maps API Key link url; %1$s - Documentation link url.
    3504 #: src/Admin/Pages/SettingsMapsTab.php:79
     3509#: src/Admin/Pages/SettingsMapsTab.php:80
    35053510msgid "In order to display maps with pins and dynamic views, you’ll need to obtain and enter your own <a href=\"%1$s\" target=\"_blank\">Google Maps API Key</a>.<br>If you need help, please refer to <a href=\"%2$s\" target=\"_blank\">our documentation</a>."
    35063511msgstr ""
    35073512
    3508 #: src/Admin/Pages/SettingsMapsTab.php:93
     3513#: src/Admin/Pages/SettingsMapsTab.php:94
    35093514msgid "API Key"
    35103515msgstr ""
    35113516
    3512 #: src/Admin/Pages/SettingsMiscTab.php:48
     3517#: src/Admin/Pages/SettingsMiscTab.php:49
    35133518msgid "Misc"
    35143519msgstr ""
    35153520
    3516 #: src/Admin/Pages/SettingsMiscTab.php:74
     3521#: src/Admin/Pages/SettingsMiscTab.php:75
    35173522msgid "Miscellaneous"
    35183523msgstr ""
    35193524
    3520 #: src/Admin/Pages/SettingsMiscTab.php:86
     3525#: src/Admin/Pages/SettingsMiscTab.php:87
    35213526msgid "Hide Announcements"
    35223527msgstr ""
    35233528
    3524 #: src/Admin/Pages/SettingsMiscTab.php:87
     3529#: src/Admin/Pages/SettingsMiscTab.php:88
    35253530msgid "Hide plugin announcements and update details."
    35263531msgstr ""
    35273532
    3528 #: src/Admin/Pages/SettingsMiscTab.php:108
     3533#: src/Admin/Pages/SettingsMiscTab.php:109
    35293534msgid "Allow Usage Tracking"
    35303535msgstr ""
    35313536
    3532 #: src/Admin/Pages/SettingsMiscTab.php:109
     3537#: src/Admin/Pages/SettingsMiscTab.php:110
    35333538msgid "By allowing us to track usage data we can better help you because we know with which WordPress configurations, themes and plugins we should test."
    35343539msgstr ""
     
    36703675msgstr ""
    36713676
    3672 #: src/Block/Calendar/CalendarView/Block.php:121
    3673 #: src/Block/Calendar/Loader.php:92
    3674 #: src/Block/EventList/EventListView/Block.php:155
     3677#: src/Block/Calendar/CalendarView/Block.php:108
     3678#: src/Block/Calendar/Loader.php:105
     3679#: src/Block/EventList/EventListView/Block.php:161
    36753680#: src/Block/Loader.php:99
    36763681msgid "This Week"
    36773682msgstr ""
    36783683
    3679 #: src/Block/Calendar/CalendarView/Block.php:125
    3680 #: src/Block/Calendar/Loader.php:91
     3684#: src/Block/Calendar/CalendarView/Block.php:112
     3685#: src/Block/Calendar/Loader.php:104
    36813686msgid "This Month"
    36823687msgstr ""
    36833688
    36843689#. translators: %s: Month name and the date. E.g January 1.
    3685 #: src/Block/Calendar/Loader.php:88
     3690#: src/Block/Calendar/Loader.php:101
    36863691msgid "Events on %s"
    36873692msgstr ""
    36883693
    3689 #: src/Block/Calendar/Loader.php:188
    3690 #: src/Block/Calendar/Loader.php:198
    3691 #: src/Block/Calendar/Loader.php:247
    3692 #: src/Block/EventList/Loader.php:146
     3694#: src/Block/Calendar/Loader.php:213
     3695#: src/Block/Calendar/Loader.php:223
     3696#: src/Block/Calendar/Loader.php:272
     3697#: src/Block/EventList/Loader.php:164
    36933698msgid "Invalid request."
    36943699msgstr ""
     
    37343739msgstr ""
    37353740
    3736 #: src/Block/EventList/EventListView/Block.php:203
    3737 #: src/Block/EventList/Loader.php:126
     3741#: src/Block/EventList/EventListView/Block.php:209
     3742#: src/Block/EventList/Loader.php:144
    37383743msgid "There are no events scheduled that match your criteria."
    37393744msgstr ""
    37403745
    3741 #: src/Block/EventList/EventListView/Block.php:206
     3746#: src/Block/EventList/EventListView/Block.php:212
    37423747msgid "There are no events scheduled this week."
    37433748msgstr ""
     
    38063811
    38073812#. translators: 1: start date, 2: end date.
    3808 #: src/Helpers.php:288
     3813#: src/Helpers.php:296
    38093814msgid "%1$s - %2$s"
    38103815msgstr ""
     
    38223827msgid "The default calendar events will be added to."
    38233828msgstr ""
     3829
     3830#: sugar-calendar.php:128
     3831msgid "Sugar Calendar PRO version is activated. We de-activated the Sugar Calendar Lite version."
     3832msgstr ""
  • sugar-calendar-lite/trunk/includes/classes/database/events/Row.php

    r3095175 r3118281  
    491491
    492492    /**
     493     * Return a formatted date of `start_dto`.
     494     *
     495     * @since 3.1.2
     496     *
     497     * @param string $format Compatible with DateTime::format().
     498     *
     499     * @return string
     500     */
     501    public function start_date_dto( $format ) {
     502
     503        return $this->start_dto->format( $format );
     504    }
     505
     506    /**
    493507     * Return a part of the start datetime.
    494508     *
     
    502516        return $this->format_date( $format, $this->end, $this->end_tz, $timezone );
    503517    }
     518
     519    /**
     520     * Return a formatted date of `end_dto`.
     521     *
     522     * @since 3.1.2
     523     *
     524     * @param string $format Compatible with DateTime::format().
     525     *
     526     * @return string
     527     */
     528    public function end_date_dto( $format ) {
     529
     530        return $this->end_dto->format( $format );
     531    }
     532
    504533
    505534    /**
     
    578607    }
    579608
     609    /**
     610     * Get the display time to be rendered.
     611     *
     612     * @since 3.1.2
     613     *
     614     * @return string
     615     */
    580616    public function get_event_time() {
    581617
     
    588624        }
    589625
    590         $hour_format = Options::get( 'time_format' );
    591         $start_time  = $this->start_date( $hour_format );
    592 
    593         if ( empty( $start_time ) ) {
    594             return '';
    595         }
    596 
    597         $start_time_output = $this->get_render_display_time( $this->start, $this->start_tz, $start_time );
     626        $time_format = Options::get( 'time_format' );
     627
     628        $start_time_output = Helpers::get_event_time_output( $this, $time_format );
    598629
    599630        if ( empty( $this->end ) ) {
     
    601632        }
    602633
    603         $end_time = $this->end_date( $hour_format );
    604 
    605         if ( empty( $end_time ) ) {
    606             return $start_time_output;
    607         }
    608 
    609         return $start_time_output . ' - ' . $this->get_render_display_time( $this->end, $this->end_tz, $end_time );
     634        return $start_time_output . ' - ' . Helpers::get_event_time_output( $this, $time_format, 'end' );
    610635    }
    611636
  • sugar-calendar-lite/trunk/includes/common/Features/EventTicketing/includes/front-end/modal.php

    r3112714 r3118281  
    22namespace Sugar_Calendar\AddOn\Ticketing\Frontend\Modal;
    33
    4 use Sugar_Calendar\AddOn\Ticketing\Common\Functions as Functions;
     4use Sugar_Calendar\AddOn\Ticketing\Common\Functions;
    55use Sugar_Calendar\Helpers;
    66
     
    99 *
    1010 * @since 3.1.0
    11  *
    12  * @param \Sugar_Calendar\Event $event
     11 * @since 3.1.2 Use `wp_kses` instead of `esc_html` when rendering the output value.
     12 *
     13 * @param \Sugar_Calendar\Event $event The event object.
    1314 *
    1415 * @return void
     
    2021        <p class="sc-event-ticketing-checkout-totals__summary-block__multi-day-datetime">
    2122            <span><?php esc_html_e( 'Date/Time:', 'sugar-calendar' ); ?></span>
    22             <span class="sc-event-ticketing-checkout-totals__summary-block__multi-day-datetime__val"><strong><?php echo esc_html( Helpers::get_multi_day_event_datetime( $event ) ); ?></strong></span>
     23            <span class="sc-event-ticketing-checkout-totals__summary-block__multi-day-datetime__val"><strong><?php
     24                    echo wp_kses(
     25                        Helpers::get_multi_day_event_datetime( $event ),
     26                        [
     27                            'span' => [
     28                                'class' => true,
     29                            ],
     30                            'time' => [
     31                                'data-timezone' => true,
     32                                'datetime'      => true,
     33                                'title'         => true,
     34                            ],
     35                        ]
     36                    );
     37                    ?></strong></span>
    2338        </p>
    2439        <?php
     
    2944    $date_time = [
    3045        [
     46            'class' => 'sc-event-ticketing-checkout-totals__summary-block__date',
    3147            'label' => __( 'Date:', 'sugar-calendar' ),
    3248            'value' => Helpers::get_event_datetime( $event ),
    3349        ],
    3450        [
     51            'class' => 'sc-event-ticketing-checkout-totals__summary-block__time',
    3552            'label' => __( 'Time:', 'sugar-calendar' ),
    3653            'value' => Helpers::get_event_datetime( $event, 'time' ),
     
    4057    foreach ( $date_time as $dt ) {
    4158        ?>
    42         <p>
     59        <p class="<?php echo esc_attr( $dt['class'] ); ?>">
    4360            <span><?php echo esc_html( $dt['label'] ); ?></span>
    44             <span><strong><?php echo esc_html( $dt['value'] ); ?></strong></span>
     61            <span><strong>
     62                    <?php
     63                    echo wp_kses(
     64                        $dt['value'],
     65                        [
     66                            'time' => [
     67                                'data-timezone' => true,
     68                                'datetime'      => true,
     69                                'title'         => true,
     70                            ],
     71                        ]
     72                    );
     73                    ?>
     74            </strong></span>
    4575        </p>
    4676        <?php
  • sugar-calendar-lite/trunk/includes/themes/legacy/ajax.php

    r3095175 r3118281  
    4444        : null;
    4545
    46     // Output the calendar
    47     echo sc_get_events_calendar( $size, $category, $type, null, null, $sow );
     46    $timezone = false;
     47
     48    if ( ! empty( $_POST['sc_visitor_tz'] ) && \Sugar_Calendar\Helpers::should_allow_visitor_tz_convert_cal_shortcode() ) {
     49        $timezone = timezone_open( $_POST['sc_visitor_tz'] );
     50    }
     51
     52    // Output the calendar.
     53    echo sc_get_events_calendar(
     54        $size,
     55        $category,
     56        $type,
     57        null,
     58        null,
     59        $sow,
     60        $timezone
     61    );
    4862
    4963    // Done!
  • sugar-calendar-lite/trunk/includes/themes/legacy/calendar.php

    r3095175 r3118281  
    77 */
    88
     9use Sugar_Calendar\Helpers;
     10
    911// Exit if accessed directly
    1012defined( 'ABSPATH' ) || exit;
     
    1416 *
    1517 * @since 1.0.0
    16  *
    17  * @param string $size
    18  * @param mixed  $category
    19  * @param string $type
    20  * @param mixed  $year_override
    21  * @param mixed  $month_override
    22  * @param mixed  $start_of_week
     18 * @since 3.1.2 Support `$timezone`.
     19 *
     20 * @param string             $size
     21 * @param mixed              $category
     22 * @param string             $type
     23 * @param mixed              $year_override
     24 * @param mixed              $month_override
     25 * @param mixed              $start_of_week
     26 * @param DateTimeZone|false $timezone       TimeZone to convert the event datetime to.
     27 * @param bool               $load_calendar  Whether to load the calendar or not.
    2328 *
    2429 * @return string
    2530 */
    26 function sc_get_events_calendar( $size = 'large', $category = null, $type = 'month', $year_override = null, $month_override = null, $start_of_week = null ) {
     31function sc_get_events_calendar( $size = 'large', $category = null, $type = 'month', $year_override = null, $month_override = null, $start_of_week = null, $timezone = false, $load_calendar = true ) {
    2732
    2833    // Default display time
     
    187192                    <input type="hidden" name="sc_calendar_size" value="small">
    188193                <?php endif; ?>
     194
     195                <input type="hidden" name="sc_visitor_tz" value="">
    189196            </form>
    190197
     
    197204        </div><!--end #sc_events_calendar_head-->
    198205
    199         <div id="sc_calendar"><?php
    200 
    201             echo call_user_func( $calendar_func, $display_time, $size, $category, $start_of_week );
    202 
    203         ?></div>
     206        <div id="sc_calendar">
     207            <?php
     208            if ( $load_calendar ) {
     209                echo call_user_func( $calendar_func, $display_time, $size, $category, $start_of_week, $timezone );
     210            }
     211            ?>
     212        </div>
    204213
    205214        <?php if ( 'small' === $size ) :
     
    335344            <input type="hidden" name="type" value="<?php echo esc_attr( $type ); ?>">
    336345            <input type="hidden" name="sow" value="<?php echo esc_attr( $start_of_week ); ?>">
     346            <input type="hidden" name="sc_visitor_tz" value="">
    337347        </form>
    338348        <form id="sc_event_nav_next" class="sc_events_form" method="POST" action="#sc_events_calendar_<?php echo uniqid(); ?>">
     
    347357            <input type="hidden" name="type" value="<?php echo esc_attr( $type ); ?>">
    348358            <input type="hidden" name="sow" value="<?php echo esc_attr( $start_of_week ); ?>">
     359            <input type="hidden" name="sc_visitor_tz" value="">
    349360        </form>
    350361    </div>
  • sugar-calendar-lite/trunk/includes/themes/legacy/events-list.php

    r3095175 r3118281  
    66 * @since 1.0.0
    77 */
     8
     9use Sugar_Calendar\Helpers;
    810
    911// Exit if accessed directly
     
    144146
    145147        if ( ! empty( $show['date'] ) ) {
    146             $date_tag = sugar_calendar_get_time_tag( array(
    147                 'time'     => $event->start,
    148                 'timezone' => $event->start_tz,
    149                 'format'   => sc_get_date_format(),
    150                 'dtformat' => 'Y-m-dO'
    151             ) );
    152 
    153             echo '<span class="sc_event_date">' . $date_tag . '</span>';
     148            echo wp_kses(
     149                '<span class="sc_event_date">' . Helpers::get_event_time_output( $event, sc_get_date_format() ) . '</span>',
     150                [
     151                    'span' => [
     152                        'class' => true,
     153                    ],
     154                    'time' => [
     155                        'datetime'      => true,
     156                        'title'         => true,
     157                        'data-timezone' => true,
     158                    ],
     159                ]
     160            );
    154161        }
    155162
  • sugar-calendar-lite/trunk/includes/themes/legacy/functions.php

    r3095175 r3118281  
    11<?php
    2 
    32/**
    43 * Sugar Calendar Legacy Functions.
     
    109
    1110use Sugar_Calendar\Options;
     11use Sugar_Calendar\Helper;
    1212
    1313// Exit if accessed directly
     
    6060 *
    6161 * @since 2.0.0
    62  *
    63  * @param int    $day
    64  * @param int    $month
    65  * @param int    $year
    66  * @param string $category
     62 * @since 3.1.2 Support `$timezone`.
     63 *
     64 * @param int                $day
     65 * @param int                $month
     66 * @param int                $year
     67 * @param string             $category
     68 * @param string             $search
     69 * @param DateTimeZone|false $timezone TimeZone to convert the event datetime to.
    6770 *
    6871 * @return array
    6972 */
    70 function sc_get_events_for_calendar( $day = '01', $month = '01', $year = '1970', $category = '', $search = '' ) {
     73function sc_get_events_for_calendar( $day = '01', $month = '01', $year = '1970', $category = '', $search = '', $timezone = false ) {
    7174
    7275    // Sanitize
     
    147150 * @since 2.0.0
    148151 * @since 2.1.2 Prefers Event::intersects() over Event::overlaps()
    149  *
    150  * @param array  $event
    151  * @param string $day
    152  * @param string $month
    153  * @param string $year
     152 * @since 3.1.2 Added `$timezone` parameter.
     153 *
     154 * @param \Sugar_Calendar\Event $event    The event object.
     155 * @param string                $day
     156 * @param string                $month
     157 * @param string                $year
     158 * @param false|\DateTimeZone   $timezone Timezone to convert the events' datetime.
    154159 *
    155160 * @return bool
    156161 */
    157 function sc_is_event_for_day( $event, $day = '01', $month = '01', $year = '1970' ) {
    158 
    159     // Get the time zone, either by user preference or by settings
    160     $timezone = sugar_calendar_get_timezone();
     162function sc_is_event_for_day( $event, $day = '01', $month = '01', $year = '1970', $timezone = false ) {
     163
     164    if ( $event->is_all_day() ) {
     165        $timezone = false;
     166    }
     167
     168    if ( empty( $timezone ) ) {
     169        // Get the time zone, either by user preference or by settings.
     170        $timezone = sugar_calendar_get_timezone();
     171    }
    161172
    162173    // Make time stamps
     
    640651 * @since  1.0.0
    641652 *
    642  * @param             $month
    643  * @param             $year
    644  * @param string      $size
    645  * @param null|string $category
    646  * @param null|string $start_of_week
     653 * @param                    $month
     654 * @param                    $year
     655 * @param string             $size
     656 * @param null|string        $category
     657 * @param null|string        $start_of_week
     658 * @param DateTimeZone|false $timezone      TimeZone to convert the event datetime to.
    647659 *
    648660 * @return string
     
    651663 *
    652664 */
    653 function sc_draw_calendar( $month, $year, $size = 'large', $category = null, $start_of_week = null ) {
     665function sc_draw_calendar( $month, $year, $size = 'large', $category = null, $start_of_week = null, $timezone = false ) {
    654666
    655667    // Day names
     
    678690    $today_year  = gmdate( 'Y', $time );
    679691
    680     // Get the events
    681     $all_events = sc_get_events_for_calendar( '01', $month, $year, $category );
     692    $first_day_of_month = strtotime( 'first day of this month', $display_time );
     693    $last_day_of_month  = strtotime( 'last day of this month', $display_time );
     694
     695    $start_period = new DateTimeImmutable( gmdate( 'Y-m-d 00:00:01', $first_day_of_month ) );
     696    $end_period   = new DateTimeImmutable( gmdate( 'Y-m-d 23:59:59', $last_day_of_month ) );
     697
     698    if ( $timezone ) {
     699        $start_period = $start_period->modify( '-1 day' );
     700        $end_period   = $end_period->modify( '+1 day' );
     701    }
     702
     703    $all_events = sc_get_events_for_calendar_with_custom_range(
     704        $start_period,
     705        $end_period,
     706        $category
     707    );
    682708
    683709    //row for week one */
     
    700726
    701727        // Filter events
    702         $events    = sc_filter_events_for_day( $all_events, $list_day, $month, $year );
     728        $events    = Helper::filter_events_by_day( $all_events, $list_day, $month, $year, $timezone );
    703729        $cal_event = sc_get_event_calendar_links( $events, $size );
    704730        $class     = sc_get_day_class( $events, "calendar-day {$today}", $list_day, $month, $year );
     
    753779 *
    754780 * @since 1.0.0
    755  *
    756  * @param             $display_time
    757  * @param string      $size
    758  * @param null|string $category
    759  * @param null|string $start_of_week
     781 * @since 3.1.2 Support `$timezone`.
     782 *
     783 * @param                    $display_time
     784 * @param string             $size
     785 * @param null|string        $category
     786 * @param null|string        $start_of_week
     787 * @param DateTimeZone|false $timezone      TimeZone to convert the event datetime to.
    760788 *
    761789 * @return string
    762790 */
    763 function sc_draw_calendar_month( $display_time, $size = 'large', $category = null, $start_of_week = null ) {
     791function sc_draw_calendar_month( $display_time, $size = 'large', $category = null, $start_of_week = null, $timezone = false ) {
     792
    764793    $month = gmdate( 'n', $display_time );
    765794    $year  = gmdate( 'Y', $display_time );
    766795
    767     return sc_draw_calendar( $month, $year, $size, $category, $start_of_week );
     796    return sc_draw_calendar( $month, $year, $size, $category, $start_of_week, $timezone );
    768797}
    769798
     
    775804 *
    776805 * @since 1.0.0
    777  *
    778  * @param             $display_time
    779  * @param string      $size
    780  * @param null|string $category
    781  * @param null|string $start_of_week
     806 * @since 3.1.2 Support `$timezone`.
     807 *
     808 * @param                    $display_time
     809 * @param string             $size
     810 * @param null|string        $category
     811 * @param null|string        $start_of_week
     812 * @param DateTimeZone|false $timezone      TimeZone to convert the event datetime to.
    782813 *
    783814 * @return string
    784815 */
    785 function sc_draw_calendar_week( $display_time, $size = 'large', $category = null, $start_of_week = null ) {
     816function sc_draw_calendar_week($display_time, $size = 'large', $category = null, $start_of_week = null, $timezone = false ) {
    786817
    787818    // Day names
     
    826857
    827858        // Filter events
    828         $events    = sc_filter_events_for_day( $all_events, $display_day, $display_month, $display_year );
     859        $events    = Helper::filter_events_by_day( $all_events, $display_day, $display_month, $display_year, $timezone );
    829860        $cal_event = sc_get_event_calendar_links( $events, $size );
    830861        $class     = sc_get_day_class( $events, "calendar-day {$today}", $list_day, $display_month, $display_year );
     
    864895 *
    865896 * @since 1.0.0
    866  *
    867  * @param             $display_time
    868  * @param string      $size
    869  * @param null|string $category
    870  * @param null|string $start_of_week
     897 * @since 3.1.2 Support `$timezone`.
     898 *
     899 * @param                    $display_time
     900 * @param string             $size
     901 * @param null|string        $category
     902 * @param null|string        $start_of_week
     903 * @param DateTimeZone|false $timezone      TimeZone to convert the event datetime to.
    871904 *
    872905 * @return string
    873906 */
    874 function sc_draw_calendar_2week( $display_time, $size = 'large', $category = null, $start_of_week = null ) {
     907function sc_draw_calendar_2week( $display_time, $size = 'large', $category = null, $start_of_week = null, $timezone = false ) {
    875908
    876909    // Day names
     
    902935    $calendar .= '<tr class="calendar-row">';
    903936
    904     // Get the events
    905     $all_events = sc_get_events_for_calendar( $display_day, $display_month, $display_year, $category );
     937    $start_period = new DateTimeImmutable( gmdate( 'Y-m-d 00:00:01', $display_time ) );
     938    $end_period   = ( new DateTimeImmutable( gmdate( 'Y-m-d 23:59:59', $display_time ) ) )->modify( '+13 days' );
     939
     940    if ( $timezone ) {
     941        $start_period = $start_period->modify( '-1 day' );
     942        $end_period   = $end_period->modify( '+1 day' );
     943    }
     944
     945    $all_events = sc_get_events_for_calendar_with_custom_range(
     946        $start_period,
     947        $end_period,
     948        $category
     949    );
    906950
    907951    // output seven days
     
    915959
    916960        // Filter events
    917         $events    = sc_filter_events_for_day( $all_events, $display_day, $display_month, $display_year );
     961        $events    = Helper::filter_events_by_day( $all_events, $display_day, $display_month, $display_year, $timezone );
    918962        $cal_event = sc_get_event_calendar_links( $events, $size );
    919963        $class     = sc_get_day_class( $events, "calendar-day {$today}", $list_day, $display_month, $display_year );
     
    9571001 *
    9581002 * @since 1.0.0
    959  *
    960  * @param             $display_time
    961  * @param string      $size
    962  * @param null|string $category
    963  * @param null|string $start_of_week
     1003 * @since 3.1.2 Support `$timezone`.
     1004 *
     1005 * @param                    $display_time
     1006 * @param string             $size
     1007 * @param null|string        $category
     1008 * @param null|string        $start_of_week
     1009 * @param DateTimeZone|false $timezone      TimeZone to convert the event datetime to.
    9641010 *
    9651011 * @return string
    9661012 */
    967 function sc_draw_calendar_day( $display_time, $size = 'large', $category = null, $start_of_week = null ) {
     1013function sc_draw_calendar_day( $display_time, $size = 'large', $category = null, $start_of_week = null, $timezone = false ) {
    9681014
    9691015    // Day & names
     
    9921038    $calendar .= '<tr class="calendar-row">';
    9931039
    994     // Get the events
    995     $all_events = sc_get_events_for_calendar( $display_day, $display_month, $display_year, $category );
     1040    $start_period = new DateTimeImmutable( gmdate( 'Y-m-d 00:00:01', $display_time ) );
     1041    $end_period   = new DateTimeImmutable( gmdate( 'Y-m-d 23:59:59', $display_time ) );
     1042
     1043    if ( $timezone ) {
     1044        $start_period = $start_period->modify( '-1 day' );
     1045        $end_period   = $end_period->modify( '+1 day' );
     1046    }
     1047
     1048    $all_events = sc_get_events_for_calendar_with_custom_range(
     1049        $start_period,
     1050        $end_period,
     1051        $category
     1052    );
    9961053
    9971054    // output current day
     
    10051062
    10061063    // Filter events
    1007     $events    = sc_filter_events_for_day( $all_events, $display_day, $display_month, $display_year );
     1064    $events    = Helper::filter_events_by_day( $all_events, $display_day, $display_month, $display_year, $timezone );
    10081065    $cal_event = sc_get_event_calendar_links( $events, $size );
    10091066    $class     = sc_get_day_class( $events, "calendar-day {$today}", $display_day, $display_month, $display_year );
     
    10361093 *
    10371094 * @since 1.0.0
    1038  *
    1039  * @param             $display_time
    1040  * @param string      $size
    1041  * @param null|string $category
    1042  * @param null|string $start_of_week
     1095 * @since 3.1.2 Support `$timezone`.
     1096 *
     1097 * @param                    $display_time
     1098 * @param string             $size
     1099 * @param null|string        $category
     1100 * @param null|string        $start_of_week
     1101 * @param DateTimeZone|false $timezone      TimeZone to convert the event datetime to.
    10431102 *
    10441103 * @return string
    10451104 */
    1046 function sc_draw_calendar_4day( $display_time, $size = 'large', $category = null, $start_of_week = false ) {
     1105function sc_draw_calendar_4day( $display_time, $size = 'large', $category = null, $start_of_week = false, $timezone = false ) {
    10471106
    10481107    // Day & name
     
    10931152
    10941153        // Filter events
    1095         $events    = sc_filter_events_for_day( $all_events, $display_day, $display_month, $display_year );
     1154        $events    = Helper::filter_events_by_day( $all_events, $display_day, $display_month, $display_year, $timezone );
    10961155        $cal_event = sc_get_event_calendar_links( $events, $size );
    10971156        $class     = sc_get_day_class( $events, "calendar-day {$today}", $display_day, $display_month, $display_year );
  • sugar-calendar-lite/trunk/includes/themes/legacy/scripts.php

    r3095175 r3118281  
    88
    99use Sugar_Calendar\Options;
     10use Sugar_Calendar\Helpers;
    1011
    1112// Exit if accessed directly
     
    1617 *
    1718 * @since 2.0.8
     19 * @since 3.1.2 Move the `sc-time-zones` to new assets folder and add localized object.
    1820 */
    1921function sc_register_assets() {
    2022
    21     // AJAX
     23    // AJAX.
    2224    wp_register_script(
    2325        'sc-ajax',
    24         SC_PLUGIN_URL . 'includes/themes/legacy/js/sc-ajax.js',
    25         array( 'jquery' ),
     26        SC_PLUGIN_ASSETS_URL . 'js/frontend/legacy/sc-ajax' . Helpers\WP::asset_min() . '.js',
     27        [ 'jquery' ],
    2628        sugar_calendar_get_assets_version(),
    2729        false
    2830    );
    2931
    30     // Time zones
     32    wp_localize_script(
     33        'sc-ajax',
     34        'sc_vars',
     35        [
     36            'ajaxurl'           => admin_url( 'admin-ajax.php' ),
     37            'date_format'       => sc_get_date_format(),
     38            'time_format'       => sc_get_time_format(),
     39            'start_of_week'     => sc_get_week_start_day(),
     40            'timezone'          => sc_get_timezone(),
     41            'cal_sc_visitor_tz' => Helpers::should_allow_visitor_tz_convert_cal_shortcode(),
     42        ]
     43    );
     44
     45    // Time zones.
    3146    wp_register_script(
    3247        'sc-time-zones',
    33         SC_PLUGIN_URL . 'includes/themes/legacy/js/sc-time-zones.js',
    34         array( 'wp-date', 'sc-ajax' ),
     48        SC_PLUGIN_ASSETS_URL . 'js/frontend/legacy/sc-time-zones' . Helpers\WP::asset_min() . '.js',
     49        [ 'wp-date', 'sc-ajax' ],
    3550        sugar_calendar_get_assets_version(),
    3651        false
     52    );
     53
     54    wp_localize_script(
     55        'sc-time-zones',
     56        'SCTimezoneConvert',
     57        [
     58            'date_format'   => sc_get_date_format(),
     59            'time_format'   => sc_get_time_format(),
     60            'start_of_week' => sc_get_week_start_day(),
     61            'timezone'      => sc_get_timezone(),
     62        ]
    3763    );
    3864
     
    138164
    139165/**
    140  * Enqueue scripts callback
     166 * Enqueue scripts callback.
    141167 *
    142168 * @since 1.0.0
     169 * @since 3.1.2 Move the localized object for `sc-ajax` to where its registered.
    143170 */
    144171function sc_enqueue_scripts() {
    145172
    146     // Front-end AJAX
     173    // Front-end AJAX.
    147174    wp_enqueue_script( 'sc-ajax' );
    148175
    149     // Front-end Time Zones
     176    // Front-end Time Zones.
    150177    if ( Options::get( 'timezone_convert' ) ) {
    151178        wp_enqueue_script( 'sc-time-zones' );
    152179    }
    153 
    154     // Front-end vars
    155     wp_localize_script( 'sc-ajax', 'sc_vars', array(
    156 
    157         // AJAX
    158         'ajaxurl'       => admin_url( 'admin-ajax.php' ),
    159 
    160         // Formatting values
    161         'date_format'   => sc_get_date_format(),
    162         'time_format'   => sc_get_time_format(),
    163         'start_of_week' => sc_get_week_start_day(),
    164         'timezone'      => sc_get_timezone()
    165     ) );
    166180}
    167181
  • sugar-calendar-lite/trunk/includes/themes/legacy/shortcodes.php

    r3095175 r3118281  
    6363    }
    6464
    65     // Get the calendar HTML
    66     $calendar = sc_get_events_calendar( $size, $category, $type, $year, $month, $sow );
     65    $load_calendar = true;
     66
     67    if ( \Sugar_Calendar\Helpers::should_allow_visitor_tz_convert_cal_shortcode() ) {
     68        /*
     69         * If visitor tz convert is enabled, then we shouldn't load the calendar/events
     70         * in its first load.
     71         * This is because we need first need to get the visitor's timezone, then do the load.
     72         * This is done via JS.
     73         */
     74        $load_calendar = false;
     75    }
     76
     77    // Get the calendar HTML.
     78    $calendar = sc_get_events_calendar( $size, $category, $type, $year, $month, $sow, false, $load_calendar );
    6779
    6880    // Wrap it in a div (@todo remove ID)
  • sugar-calendar-lite/trunk/readme.txt

    r3112714 r3118281  
    1010Requires at least: 5.8
    1111Tested up to:      6.5
    12 Stable tag:        3.1.1
     12Stable tag:        3.1.2
    1313
    1414Easily manage events and sell tickets on your WordPress site. Sugar Calendar is easy-to-use, reliable, and exceptionally powerful. See for yourself.
     
    177177
    178178== Changelog ==
     179= 3.1.2 - 2024-07-15 =
     180- Added: Support for Timezone Visitor Conversion feature in shortcodes and both Event List and Event Calendar blocks.
     181- Added: Add admin notice when settings are saved.
     182- Added: De-activate the Lite version when the Pro version is active.
     183- Fixed: Timezone Visitor Conversion not working on single events.
     184
     185= 3.1.1 - 2024-07-04 =
     186- Fixed: Incorrect minified URLs of the Event Ticketing CSS files.
     187
     188= 3.1.0 - 2024-07-04 =
     189- Added: Event Ticketing feature.
     190- Added: Event List WP block called Events List.
     191- Added: Filter to allow non-admin users to manage events.
     192- Changed: Improved the UI and UX of the single event.
     193- Changed: Filter for managing events from 'manage_options' to 'edit_events'.
     194- Fixed: Fatal error on Calendar Feeds on some site configuration.
     195- Fixed: Some past events not showing in '[sc_events_list]' shortcode.
     196- Fixed: Recurring event label in the edit event page.
    179197
    180198= 3.0.0 - 2024-05-30 =
  • sugar-calendar-lite/trunk/src/Admin/Area.php

    r3112714 r3118281  
    631631        $this->current_page->handle_post( $post_data );
    632632
     633        add_action( 'admin_notices', [ $this, 'display_admin_notices' ], 5 );
     634
    633635        // Let 3rd party code handle the request.
    634636        do_action( 'sugar_calendar_admin_area_handle_post', $post_data );
    635 
    636         if ( isset( $_POST['_wp_http_referer'] ) ) {
    637             wp_safe_redirect( sanitize_text_field( $_POST['_wp_http_referer'] ) ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.MissingUnslash,WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
    638             exit;
    639         }
     637    }
     638
     639    /**
     640     * Display admin notices.
     641     *
     642     * @since 3.1.2
     643     */
     644    public function display_admin_notices() {
     645
     646        WP::display_admin_notices();
    640647    }
    641648
  • sugar-calendar-lite/trunk/src/Admin/Pages/Settings.php

    r3112525 r3118281  
    106106     */
    107107    public function display() {
    108 
    109108        ?>
    110 
    111         <div id="sugar-calendar-settings" class="wrap sugar-calendar-admin-wrap">
     109        <div id="sugar-calendar-settings" class="wrap sugar-calendar-admin-wrap">
    112110
    113111            <?php UI::tabs( $this->get_tabs(), static::get_tab_slug() ); ?>
    114112
    115             <div class="sugar-calendar-admin-content">
    116 
    117                 <h1 class="screen-reader-text"><?php esc_html_e( 'Settings', 'sugar-calendar' ); ?></h1>
    118 
    119                 <form method="post" action="">
     113            <div class="sugar-calendar-admin-content">
     114                <h1 class="screen-reader-text"><?php esc_html_e( 'Settings', 'sugar-calendar' ); ?></h1>
     115                <form class="sugar-calendar-admin-content__settings-form" method="post" action="">
    120116
    121117                    <?php $this->display_tab( static::get_tab_slug() ); ?>
    122118
    123                     <p class="submit">
     119                    <p class="submit">
    124120                        <?php
    125121                        UI::button(
     
    129125                        );
    130126                        ?>
    131                     </p>
     127                    </p>
    132128
    133129                    <?php wp_nonce_field( Area::SLUG ); ?>
    134130
    135                 </form>
     131                </form>
    136132
    137133                <?php
     
    140136                ?>
    141137
    142             </div>
    143         </div>
    144 
     138            </div>
     139        </div>
    145140        <?php
    146141    }
  • sugar-calendar-lite/trunk/src/Admin/Pages/SettingsGeneralTab.php

    r3095175 r3118281  
    66use Sugar_Calendar\Helpers\Helpers;
    77use Sugar_Calendar\Helpers\UI;
     8use Sugar_Calendar\Helpers\WP;
    89use Sugar_Calendar\Options;
    910use Sugar_Calendar\Options as PluginSettings;
     
    528529            Options::update( $key, $value );
    529530        }
     531
     532        WP::add_admin_notice( esc_html__( 'Settings saved.', 'sugar-calendar' ), WP::ADMIN_NOTICE_SUCCESS );
    530533    }
    531534
  • sugar-calendar-lite/trunk/src/Admin/Pages/SettingsMapsTab.php

    r3112525 r3118281  
    44
    55use Sugar_Calendar\Helpers\UI;
     6use Sugar_Calendar\Helpers\WP;
    67use Sugar_Calendar\Options;
    78
     
    109110
    110111        Options::update( 'maps_google_api_key', $api_key );
     112
     113        WP::add_admin_notice( esc_html__( 'Settings saved.', 'sugar-calendar' ), WP::ADMIN_NOTICE_SUCCESS );
    111114    }
    112115}
  • sugar-calendar-lite/trunk/src/Admin/Pages/SettingsMiscTab.php

    r3112525 r3118281  
    44
    55use Sugar_Calendar\Helpers\UI;
     6use Sugar_Calendar\Helpers\WP;
    67use Sugar_Calendar\Options;
    78
     
    139140            Options::update( $key, $value );
    140141        }
     142
     143        WP::add_admin_notice( esc_html__( 'Settings saved.', 'sugar-calendar' ), WP::ADMIN_NOTICE_SUCCESS );
    141144    }
    142145}
  • sugar-calendar-lite/trunk/src/Block/Calendar/CalendarView/Block.php

    r3112714 r3118281  
    1212 */
    1313class Block extends AbstractBlock {
    14 
    15     /**
    16      * Constructor.
    17      *
    18      * @since 3.0.0
    19      * @since 3.1.0 Call the parent constructor.
    20      *
    21      * @param array $attributes Block attributes.
    22      */
    23     public function __construct( $attributes ) {
    24 
    25         parent::__construct( $attributes );
    26     }
    2714
    2815    /**
  • sugar-calendar-lite/trunk/src/Block/Calendar/CalendarView/Day/Day.php

    r3112525 r3118281  
    6060     *
    6161     * @since 3.0.0
     62     * @since 3.1.2 Added support for visitor timezone conversion.
    6263     *
    6364     * @return \Sugar_Calendar\Event[]
    6465     */
    6566    public function get_events() { // phpcs:ignore Generic.Metrics.CyclomaticComplexity.TooHigh
     67
     68        if ( $this->get_block()->should_not_load_events() ) {
     69            /*
     70             * Do not load events.
     71             */
     72            $this->formatted_events = [];
     73            $this->all_day_events   = [];
     74
     75            return [];
     76        }
    6677
    6778        if ( ! is_null( $this->formatted_events ) ) {
     
    7182        $this->all_day_events = [];
    7283        $normal_events        = [];
    73         $events               = sc_get_events_for_calendar_with_custom_range(
    74             $this->get_block()->get_datetime(),
    75             $this->get_block()->get_datetime(),
     84
     85        $start_range = $this->get_block()->get_datetime();
     86        $end_range   = $this->get_block()->get_datetime();
     87
     88        /*
     89         * If Visitor Timezone Conversion is enabled, we get the events the day before and after
     90         * today's date. This is to consider timezone differences.
     91         */
     92        if ( $this->get_block()->get_visitor_timezone() ) {
     93            $start_range = $this->get_block()->get_datetime()->modify( '-1 day' );
     94            $end_range   = $this->get_block()->get_datetime()->modify( '+1 day' );
     95        }
     96
     97        $events = sc_get_events_for_calendar_with_custom_range(
     98            $start_range,
     99            $end_range,
    76100            ! empty( $this->block->get_calendars() ) ? array_map( 'absint', $this->block->get_calendars() ) : [],
    77101            $this->block->get_search_term()
    78102        );
     103
     104        if ( ! empty( $events ) && $this->get_block()->get_visitor_timezone() ) {
     105            /*
     106             * For the case where visitor timezone conversion is enabled, we get the
     107             * events for yesterday and tomorrow to account for timezone difference.
     108             * But ultimately, we only want to show the current day's events.
     109             */
     110            $events = Helper::filter_events_by_day(
     111                $events,
     112                $this->get_block()->get_datetime()->format( 'd' ),
     113                $this->get_block()->get_datetime()->format( 'm' ),
     114                $this->get_block()->get_datetime()->format( 'Y' ),
     115                $this->get_block()->get_visitor_timezone()
     116            );
     117        }
    79118
    80119        foreach ( $events as $event ) {
  • sugar-calendar-lite/trunk/src/Block/Calendar/CalendarView/Month/EventCell.php

    r3112525 r3118281  
    88use Sugar_Calendar\Event;
    99use Sugar_Calendar\Helper;
     10use Sugar_Calendar\Helpers;
     11use Sugar_Calendar\Options;
    1012
    1113/**
     
    259261     *
    260262     * @since 3.0.0
     263     * @since 3.1.2 Return the wp_json_encoded string.
    261264     *
    262265     * @return string
     
    264267    public function get_event_day_duration() {
    265268
     269        $date_format = Options::get( 'date_format' );
     270
    266271        if ( ! $this->get_event()->is_multi() ) {
    267             return $this->get_event()->start_date( 'l, F j, Y' );
     272            return wp_json_encode(
     273                [
     274                    'start_date' => Helpers::get_event_time_output(
     275                        $this->get_event(),
     276                        $date_format,
     277                        'start',
     278                        true
     279                    ),
     280                ]
     281            );
    268282        }
    269283
    270284        // For multi-day event, we display the short day name.
    271         return sprintf(
    272             '%1$s - %2$s',
    273             $this->get_event()->start_dto->format( 'D, F j, Y' ),
    274             $this->get_event()->end_dto->format( 'D, F j, Y' )
     285        return wp_json_encode(
     286            [
     287                'start_date' => Helpers::get_event_time_output(
     288                    $this->get_event(),
     289                    $date_format,
     290                    'start',
     291                    true
     292                ),
     293                'end_date'   => Helpers::get_event_time_output(
     294                    $this->get_event(),
     295                    $date_format,
     296                    'end',
     297                    true
     298                ),
     299            ]
    275300        );
    276301    }
  • sugar-calendar-lite/trunk/src/Block/Calendar/CalendarView/Month/Month.php

    r3112525 r3118281  
    5757     *
    5858     * @since 3.0.0
     59     * @since 3.1.2 Added support for visitor timezone conversion.
    5960     *
    6061     * @return array
     
    99100        );
    100101
    101         // Get all the events on the calendar period.
    102         $calendar_events = sc_get_events_for_calendar_with_custom_range(
    103             $start_period,
    104             $end_period,
    105             ! empty( $this->block->get_calendars() ) ? array_map( 'absint', $this->block->get_calendars() ) : [],
    106             $this->block->get_search_term()
    107         );
     102        if ( $this->get_block()->should_not_load_events() ) {
     103            $calendar_events = [];
     104        } else {
     105            $start_period_range = $start_period;
     106            $end_period_range   = $end_period;
     107
     108            if ( $this->get_block()->get_visitor_timezone() ) {
     109                $start_period_range = $start_period_range->modify( '-1 day' );
     110                $end_period_range   = $end_period_range->modify( '+1 day' );
     111            }
     112
     113            // Get all the events on the calendar period.
     114            $calendar_events = sc_get_events_for_calendar_with_custom_range(
     115                $start_period_range,
     116                $end_period_range,
     117                ! empty( $this->block->get_calendars() ) ? array_map( 'absint', $this->block->get_calendars() ) : [],
     118                $this->block->get_search_term()
     119            );
     120        }
    108121
    109122        // Let's build the calendar.
     
    113126                $d->format( 'd' ),
    114127                $d->format( 'm' ),
    115                 $d->format( 'Y' )
     128                $d->format( 'Y' ),
     129                $this->get_block()->get_visitor_timezone()
    116130            );
    117131        }
  • sugar-calendar-lite/trunk/src/Block/Calendar/CalendarView/Week/EventCell.php

    r3112525 r3118281  
    88use Sugar_Calendar\Event;
    99use Sugar_Calendar\Helper;
     10use Sugar_Calendar\Helpers;
     11use Sugar_Calendar\Options;
    1012
    1113/**
     
    400402     *
    401403     * @since 3.0.0
     404     * @since 3.1.2 Return the wp_json_encoded string.
    402405     *
    403406     * @return string
     
    405408    public function get_event_day_duration() {
    406409
     410        $date_format = Options::get( 'date_format' );
     411
    407412        if ( ! $this->get_event()->is_multi() ) {
    408             return $this->get_event()->start_date( 'l, F j, Y' );
     413            return wp_json_encode(
     414                [
     415                    'start_date' => Helpers::get_event_time_output(
     416                        $this->get_event(),
     417                        $date_format,
     418                        'start',
     419                        true
     420                    ),
     421                ]
     422            );
    409423        }
    410424
    411425        // For multi-day event, we display the short day name.
    412         return sprintf(
    413             '%1$s - %2$s',
    414             $this->get_event()->start_dto->format( 'D, F j, Y' ),
    415             $this->get_event()->end_dto->format( 'D, F j, Y' )
     426        return wp_json_encode(
     427            [
     428                'start_date' => Helpers::get_event_time_output(
     429                    $this->get_event(),
     430                    $date_format,
     431                    'start',
     432                    true
     433                ),
     434                'end_date'   => Helpers::get_event_time_output(
     435                    $this->get_event(),
     436                    $date_format,
     437                    'end',
     438                    true
     439                ),
     440            ]
    416441        );
    417442    }
  • sugar-calendar-lite/trunk/src/Block/Calendar/CalendarView/Week/Week.php

    r3112525 r3118281  
    187187    private function setup_formatted_events() { // phpcs:ignore Generic.Metrics.CyclomaticComplexity.TooHigh
    188188
     189        if ( $this->get_block()->should_not_load_events() ) {
     190            /*
     191             * Do not load events.
     192             */
     193            $this->events           = [];
     194            $this->formatted_events = [];
     195            $this->all_day_events   = [];
     196            $this->multi_day_events = [];
     197
     198            return;
     199        }
     200
    189201        if ( ! is_null( $this->formatted_events ) ) {
    190202            return;
  • sugar-calendar-lite/trunk/src/Block/Calendar/Loader.php

    r3112714 r3118281  
    55use Sugar_Calendar\Block\Calendar\CalendarView\Block;
    66use Sugar_Calendar\Helpers;
     7use Sugar_Calendar\Options;
    78
    89class Loader {
     
    5859     *
    5960     * @since 3.0.0
     61     * @since 3.1.2 Add new deps for the `sugar-calendar-js` script.
    6062     */
    6163    public function enqueue_script() {
     
    6567        if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) {
    6668            $min = '';
     69        }
     70
     71        $sugar_calendar_js_deps = [
     72            'jquery',
     73            'floating-ui-core',
     74            'floating-ui-dom',
     75            'bootstrap-datepicker',
     76        ];
     77
     78        if ( Options::get( 'timezone_convert' ) ) {
     79            $sugar_calendar_js_deps[] = 'sc-time-zones';
    6780        }
    6881
     
    7083            'sugar-calendar-js',
    7184            SC_PLUGIN_ASSETS_URL . "js/sugar-calendar{$min}.js",
    72             [ 'jquery', 'floating-ui-core', 'floating-ui-dom', 'bootstrap-datepicker' ],
     85            $sugar_calendar_js_deps,
    7386            SC_PLUGIN_VERSION
    7487        );
     
    126139    public function render( $block_attributes ) {
    127140
     141        if ( Helpers::is_on_admin_editor() ) {
     142            // We always want to show the events in editor.
     143            $should_not_load_events = false;
     144        } else {
     145            $should_not_load_events = boolval( Options::get( 'timezone_convert' ) );
     146        }
     147
    128148        // Default attributes.
    129149        $default_attr = [
    130             'clientId'    => '',
    131             'display'     => 'month',
    132             'accentColor' => '#5685BD',
     150            'clientId'               => '',
     151            'display'                => 'month',
     152            'accentColor'            => '#5685BD',
     153            /*
     154             * If visitor timezone conversion is enabled, we don't load the events the first time
     155             * since we still need to get the visitor's timezone from the browser.
     156             */
     157            'should_not_load_events' => $should_not_load_events,
    133158        ];
    134159
  • sugar-calendar-lite/trunk/src/Block/Calendar/templates/week/event-cell.php

    r3112525 r3118281  
    2525        <div class="sugar-calendar-block__event-cell__time <?php echo esc_attr( Helper::get_event_time_recur_class( $context->get_event() ) ); ?>">
    2626            <?php
    27             if ( $context->get_event()->is_all_day() ) {
    28                 $time = __( 'All Day', 'sugar-calendar' );
    29             } else {
    30                 $hour_format = Options::get( 'time_format' );
    31                 $time        = sprintf(
    32                     '%s - %s',
    33                     $context->get_event()->start_dto->format( $hour_format ),
    34                     $context->get_event()->end_dto->format( $hour_format )
    35                 );
    36             }
    37 
    38             echo esc_html( $time );
     27            echo wp_kses(
     28                $context->get_event()->get_event_time(),
     29                [
     30                    'time' => [
     31                        'datetime'      => true,
     32                        'title'         => true,
     33                        'data-timezone' => true,
     34                    ],
     35                ]
     36            );
    3937            ?>
    4038        </div>
  • sugar-calendar-lite/trunk/src/Block/Common/AbstractBlock.php

    r3112714 r3118281  
    7878     */
    7979    protected $datetime;
     80
     81    /**
     82     * The visitor's timezone.
     83     *
     84     * @since 3.1.2
     85     *
     86     * @var \DateTimeZone|false
     87     */
     88    private $visitor_timezone = null;
    8089
    8190    /**
     
    527536     *
    528537     * @since 3.1.0
     538     * @since 3.1.2 Added support for visitor timezone conversion.
    529539     *
    530540     * @return Event[]
     
    537547        $calendar_period = $this->get_week_period();
    538548
     549        $start_period_range = $calendar_period->getStartDate();
     550        $end_period_range   = $calendar_period->getEndDate();
     551
     552        if ( $this->get_visitor_timezone() ) {
     553            $start_period_range = $start_period_range->modify( '-1 day' );
     554            $end_period_range   = $end_period_range->modify( '+1 day' );
     555        }
     556
    539557        // Get all the events on the calendar period.
    540558        $calendar_events = sc_get_events_for_calendar_with_custom_range(
    541             $calendar_period->getStartDate(),
    542             $calendar_period->getEndDate(),
     559            $start_period_range,
     560            $end_period_range,
    543561            array_map( 'absint', $this->get_calendars() ),
    544562            $this->get_search_term()
     
    553571                $d->format( 'd' ),
    554572                $d->format( 'm' ),
    555                 $d->format( 'Y' )
     573                $d->format( 'Y' ),
     574                $this->get_visitor_timezone()
    556575            );
    557576        }
     
    685704
    686705    /**
     706     * Get the visitor's timezone.
     707     *
     708     * @since 3.1.2
     709     *
     710     * @return \DateTimeZone|false Returns `false` if visitor timezone is not enabled or visitor timezone conversion
     711     *                             is not enabled. Otherwise, returns the visitor's timezone.
     712     */
     713    public function get_visitor_timezone() {
     714
     715        $timezone = false;
     716
     717        if ( ! is_null( $this->visitor_timezone ) ) {
     718            $timezone = $this->visitor_timezone;
     719        } elseif (
     720            ! empty( $this->get_attributes()['visitor_tz_convert'] ) &&
     721            $this->get_attributes()['visitor_tz_convert'] === 1 &&
     722            ! empty( $this->get_attributes()['visitor_tz'] )
     723        ) {
     724            $timezone = timezone_open( $this->get_attributes()['visitor_tz'] );
     725        }
     726
     727        /**
     728         * Filter the visitor's timezone.
     729         *
     730         * @since 3.1.2
     731         *
     732         * @param \DateTimeZone|false $timezone Visitor's timezone.
     733         */
     734        return apply_filters( 'sugar_calendar_blocks_get_visitor_timezone', $timezone ); // phpcs:ignore WPForms.PHP.ValidateHooks.InvalidHookName
     735    }
     736
     737    /**
     738     * Whether to load events or not.
     739     *
     740     * @since 3.1.2
     741     *
     742     * @return bool
     743     */
     744    public function should_not_load_events() {
     745
     746        if ( empty( $this->get_attributes()['should_not_load_events'] ) ) {
     747            return false;
     748        }
     749
     750        return boolval( $this->get_attributes()['should_not_load_events'] );
     751    }
     752
     753    /**
    687754     * Get the display options.
    688755     *
  • sugar-calendar-lite/trunk/src/Block/Common/templates/form.php

    r3112525 r3118281  
    11<?php
     2use Sugar_Calendar\Options;
     3
    24/**
    35 * @var \Sugar_Calendar\Block\Calendar\CalendarView\Block $context
     
    1214    <input type="hidden" name="sc_display" value="<?php echo esc_attr( $context->get_display_mode() ); ?>" />
    1315    <input type="hidden" name="sc_search" value="" />
     16    <input type="hidden" name="sc_visitor_tz_convert" value="<?php echo esc_attr( absint( Options::get( 'timezone_convert' ) ) ); ?>">
    1417</form>
  • sugar-calendar-lite/trunk/src/Block/EventList/EventListView/AbstractView.php

    r3112714 r3118281  
    6868     */
    6969    public function render_base() {
    70 
     70        /*
     71         * If events are not to be loaded, we don't display the no-events message since
     72         * we need to immediately refresh via JS.
     73         */
    7174        if ( $this->block->get_events() && $this->block->has_events_in_week() ) {
    7275            Template::load( static::DISPLAY_MODE . 'view.base', $this, Block::KEY );
    73         } else {
     76        } elseif ( ! $this->block->should_not_load_events() ) {
    7477            Template::load( 'no-events', $this, Block::KEY );
    7578        }
  • sugar-calendar-lite/trunk/src/Block/EventList/EventListView/Block.php

    r3112714 r3118281  
    109109    public function get_events() {
    110110
     111        if ( $this->should_not_load_events() ) {
     112            $this->events = [];
     113
     114            return [];
     115        }
     116
    111117        if ( ! is_null( $this->events ) ) {
    112118            return $this->events;
  • sugar-calendar-lite/trunk/src/Block/EventList/EventListView/EventView.php

    r3112714 r3118281  
    107107        }
    108108
    109         printf(
    110             '<span>%1$s</span>',
    111             esc_html( $time_display )
    112         );
     109        echo wp_kses(
     110            $time_display,
     111            [
     112                'span' => [
     113                    'class' => true,
     114                ],
     115                'time' => [
     116                    'datetime'      => true,
     117                    'title'         => true,
     118                    'data-timezone' => true,
     119                ],
     120            ]
     121        );
     122
    113123        echo $this->get_icons_display(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    114124    }
     
    156166    private function get_date_time_display() {
    157167
    158         $event_date = sugar_calendar_format_date_i18n( Options::get( 'date_format', 'F j, Y' ), $this->event->start );
     168        $event_date = Helpers::get_event_time_output( $this->event, Options::get( 'date_format', 'F j, Y' ) );
    159169
    160170        if ( $this->event->is_all_day() ) {
     
    168178         */
    169179        return sprintf(
    170             '%1$s at %2$s - %3$s',
    171             $event_date,
    172             sugar_calendar_format_date_i18n( $time_format, $this->event->start ),
    173             sugar_calendar_format_date_i18n( $time_format, $this->event->end )
     180            '%1$s <span>at</span> %2$s - %3$s',
     181            '<span class="sc-frontend-single-event__details__val-date">' . $event_date . '</span>',
     182            '<span class="sc-frontend-single-event__details__val-time">' . Helpers::get_event_time_output( $this->event, $time_format ) . '</span>',
     183            '<span class="sc-frontend-single-event__details__val-time">' . Helpers::get_event_time_output( $this->event, $time_format, 'end' ) . '</span>'
    174184        );
    175185    }
  • sugar-calendar-lite/trunk/src/Block/EventList/Loader.php

    r3112714 r3118281  
    88use Sugar_Calendar\Block\EventList\EventListView\PlainView;
    99use Sugar_Calendar\Helpers;
     10use Sugar_Calendar\Options;
    1011
    1112class Loader {
     
    7071     */
    7172    public function render( $block_attributes ) {
     73
     74        if ( Helpers::is_on_admin_editor() ) {
     75            // We always want to show the events in editor.
     76            $should_not_load_events = false;
     77        } else {
     78            $should_not_load_events = boolval( Options::get( 'timezone_convert' ) );
     79        }
    7280
    7381        // Default attributes.
     
    8088            'showFeaturedImages'     => true,
    8189            'showDescriptions'       => true,
     90            'should_not_load_events' => $should_not_load_events,
    8291        ];
    8392
     
    112121        $min = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
    113122
     123        $sc_block_deps = [
     124            'jquery',
     125            'sc-frontend-blocks-common-js',
     126        ];
     127
     128        if ( Options::get( 'timezone_convert' ) ) {
     129            $sc_block_deps[] = 'sc-time-zones';
     130        }
     131
    114132        wp_register_script(
    115133            'sc-frontend-blocks-event-list-js',
    116134            SC_PLUGIN_ASSETS_URL . "js/frontend/blocks/event-list{$min}.js",
    117             [ 'jquery', 'sc-frontend-blocks-common-js' ],
     135            $sc_block_deps,
    118136            SC_PLUGIN_VERSION
    119137        );
  • sugar-calendar-lite/trunk/src/Frontend/Loader.php

    r3112714 r3118281  
    55use Sugar_Calendar\Helper;
    66use Sugar_Calendar\Helpers;
    7 use Sugar_Calendar\Options;
    87
    98/**
     
    4746     *
    4847     * @since 3.1.0
     48     * @since 3.1.2 Support minified assets.
    4949     */
    5050    public function enqueue_frontend_scripts() {
     
    5656        wp_register_style(
    5757            'sc-frontend-single-event',
    58             SC_PLUGIN_ASSETS_URL . 'css/frontend/single-event.css',
     58            SC_PLUGIN_ASSETS_URL . 'css/frontend/single-event' . Helpers\WP::asset_min() . '.css',
    5959            [],
    6060            SC_PLUGIN_VERSION
     
    112112     *
    113113     * @since 3.1.0
     114     * @since 3.1.2 Render the time and date inside `<time>` tags.
    114115     *
    115116     * @param \Sugar_Calendar\Event $event The event object.
     
    118119        ?>
    119120        <div class="sc-frontend-single-event__details__date sc-frontend-single-event__details-row">
    120                 <div class="sc-frontend-single-event__details__label">
    121                     <?php echo esc_html( Helpers::get_event_datetime_label( $event ) ); ?>
    122                 </div>
    123                 <div class="sc-frontend-single-event__details__val">
    124                     <?php
    125                     if ( $event->is_multi() ) {
    126                         echo esc_html( Helpers::get_multi_day_event_datetime( $event ) );
    127                     } else {
    128                         echo esc_html( Helpers::get_event_datetime( $event ) );
    129                     }
    130                     ?>
    131                 </div>
    132                 <?php
    133                 /**
    134                  * Fires after the event date is output.
    135                  *
    136                  * @param \Sugar_Calendar\Event $event The event object.
    137                  *
    138                  * @since 3.1.0
    139                  */
    140                 do_action( 'sugar_calendar_frontend_event_details_date', $event ); // phpcs:ignore WPForms.PHP.ValidateHooks.InvalidHookName
    141                 ?>
    142             </div>
     121            <div class="sc-frontend-single-event__details__label">
     122                <?php echo esc_html( Helpers::get_event_datetime_label( $event ) ); ?>
     123            </div>
     124            <div class="sc-frontend-single-event__details__val">
     125                <?php
     126                if ( $event->is_multi() ) {
     127                    $output = Helpers::get_multi_day_event_datetime( $event );
     128                } else {
     129                    $output = '<span class="sc-frontend-single-event__details__val-date">' . Helpers::get_event_datetime( $event ) . '</span>';
     130                }
     131
     132                echo wp_kses(
     133                    $output,
     134                    [
     135                        'span' => [
     136                            'class' => true,
     137                        ],
     138                        'time' => [
     139                            'data-timezone' => true,
     140                            'datetime'      => true,
     141                            'title'         => true,
     142                        ],
     143                    ]
     144                );
     145                ?>
     146            </div>
     147            <?php
     148            /**
     149             * Fires after the event date is output.
     150             *
     151             * @param \Sugar_Calendar\Event $event The event object.
     152             *
     153             * @since 3.1.0
     154             */
     155            do_action( 'sugar_calendar_frontend_event_details_date', $event ); // phpcs:ignore WPForms.PHP.ValidateHooks.InvalidHookName
     156            ?>
     157        </div>
    143158        <?php
    144159    }
     
    163178            </div>
    164179            <div class="sc-frontend-single-event__details__val">
    165                 <?php echo esc_html( Helpers::get_event_datetime( $event, 'time' ) ); ?>
     180                <?php
     181                echo wp_kses(
     182                    Helpers::get_event_datetime( $event, 'time' ),
     183                    [
     184                        'time' => [
     185                            'data-timezone' => true,
     186                            'datetime'      => true,
     187                            'title'         => true,
     188                        ],
     189                    ]
     190                );
     191                ?>
    166192            </div>
    167193        </div>
  • sugar-calendar-lite/trunk/src/Helper.php

    r3112525 r3118281  
    123123     *
    124124     * @since 3.0.0
    125      *
    126      * @param Event[] $events Events for the day.
    127      * @param string  $day    Day.
    128      * @param string  $month  Month.
    129      * @param string  $year   Year.
     125     * @since 3.1.2 Added the `$timezone` parameter.
     126     *
     127     * @param Event[]             $events   Events for the day.
     128     * @param string              $day      Day.
     129     * @param string              $month    Month.
     130     * @param string              $year     Year.
     131     * @param false|\DateTimeZone $timezone Timezone to convert the events' datetime.
    130132     *
    131133     * @return Event[]
    132134     */
    133     public static function filter_events_by_day( $events, $day = '01', $month = '01', $year = '1970' ) {
     135    public static function filter_events_by_day( $events, $day = '01', $month = '01', $year = '1970', $timezone = false ) {
    134136
    135137        $multi_day = [];
     
    139141        foreach ( $events as $event ) {
    140142
    141             if ( ! sc_is_event_for_day( $event, $day, $month, $year ) ) {
     143            if ( ! sc_is_event_for_day( $event, $day, $month, $year, $timezone ) ) {
    142144                continue;
    143145            }
     
    384386            $overlap_count = 0;
    385387
    386             $start_hour = 1 * $event->start_date( 'G' );
    387             $start_min  = 1 * $event->start_date( 'i' );
    388             $end_hour   = 1 * $event->end_date( 'G' );
    389             $end_min    = 1 * $event->end_date( 'i' );
     388            $start_hour = 1 * $event->start_date_dto( 'G' );
     389            $start_min  = 1 * $event->start_date_dto( 'i' );
     390            $end_hour   = 1 * $event->end_date_dto( 'G' );
     391            $end_min    = 1 * $event->end_date_dto( 'i' );
    390392
    391393            foreach ( $events_start_and_end_times as $event_time ) {
  • sugar-calendar-lite/trunk/src/Helpers.php

    r3112714 r3118281  
    9494
    9595        $expected_data = [
    96             'attributes'    => [
     96            'attributes'         => [
    9797                'default' => [],
    9898                'type'    => 'attributes',
    9999            ],
    100             'calendars'     => [
     100            'calendars'          => [
    101101                'default' => [],
    102102                'type'    => 'array',
    103103            ],
    104             'id'            => [
     104            'id'                 => [
    105105                'default' => '',
    106106                'type'    => 'string',
    107107            ],
    108             'month'         => [
     108            'month'              => [
    109109                'default' => 0,
    110110                'type'    => 'int',
    111111            ],
    112             'search'        => [
     112            'search'             => [
    113113                'default' => '',
    114114                'type'    => 'string',
    115115            ],
    116             'year'          => [
     116            'year'               => [
    117117                'default' => 0,
    118118                'type'    => 'int',
    119119            ],
    120             'accentColor'   => [
     120            'accentColor'        => [
    121121                'default' => '',
    122122                'type'    => 'string',
    123123            ],
    124             'display'       => [
     124            'display'            => [
    125125                'default' => 'month',
    126126                'type'    => 'string',
    127127            ],
    128             'updateDisplay' => [
     128            'visitor_tz_convert' => [
     129                'default' => 0,
     130                'type'    => 'int',
     131            ],
     132            'visitor_tz'         => [
     133                'default' => '',
     134                'type'    => 'string',
     135            ],
     136            'updateDisplay'      => [
    129137                'default' => false,
    130138                'type'    => 'bool',
    131139            ],
    132             'day'           => [
     140            'day'                => [
    133141                'default' => 0,
    134142                'type'    => 'int',
    135143            ],
    136             'action'        => [
     144            'action'             => [
    137145                'default' => '',
    138146                'type'    => 'string',
     
    297305            /* translators: 1: start date, 2: start time, 3: end date, 4: end time. */
    298306            '%1$s at %2$s - %3$s at %4$s',
    299             $start_date,
    300             sugar_calendar_format_date_i18n( $time_format, $event->start ),
    301             $end_date,
    302             sugar_calendar_format_date_i18n( $time_format, $event->end )
     307            '<span class="sc-frontend-single-event__details__val-date">' . self::get_event_time_output( $event, $date_format ) . '</span>',
     308            '<span class="sc-frontend-single-event__details__val-time">' . self::get_event_time_output( $event, $time_format ) . '</span>',
     309            '<span class="sc-frontend-single-event__details__val-date">' . self::get_event_time_output( $event, $date_format, 'end' ) . '</span>',
     310            '<span class="sc-frontend-single-event__details__val-time">' . self::get_event_time_output( $event, $time_format, 'end' ) . '</span>'
    303311        );
    304312    }
     
    308316     *
    309317     * @since 3.1.0
    310      *
    311      * @param \Sugar_Calendar\Event $event        The event object.
    312      * @param string                $date_or_time Accept either 'date' or 'time'.
     318     * @since 3.1.2 Refactor the method to output the datetime.
     319     *
     320     * @param Event  $event        The event object.
     321     * @param string $date_or_time Accept either 'date' or 'time'.
    313322     */
    314323    public static function get_event_datetime( $event, $date_or_time = 'date' ) {
     
    325334
    326335        $format = Options::get( $format );
    327         $output = sugar_calendar_format_date_i18n( $format, $event->start );
     336        $output = self::get_event_time_output( $event, $format, 'start' );
    328337
    329338        if ( ! empty( $event->end ) ) {
     
    332341                $event->is_multi()
    333342            ) {
    334                 $output .= ' - ' . sugar_calendar_format_date_i18n( $format, $event->end );
     343                $output .= ' - ' . self::get_event_time_output( $event, $format, 'end' );
    335344            }
    336345        }
     
    338347        return $output;
    339348    }
     349
     350    /**
     351     * Get the event time output.
     352     *
     353     * The output is the event time wrapped in `<time>` tag with the datetime attribute.
     354     *
     355     * @since 3.1.2
     356     *
     357     * @param Event  $event           The event object.
     358     * @param string $format          The format saved in the options.
     359     * @param string $event_time_type Accepts 'start' or 'end'.
     360     * @param bool   $output_array    Whether to output an array or not.
     361     *
     362     * @return string|array
     363     */
     364    public static function get_event_time_output( $event, $format, $event_time_type = 'start', $output_array = false ) {
     365
     366        // Default format.
     367        $time_attr_format = 'Y-m-d\TH:i:s';
     368        $time_attr_tz     = 'floating';
     369
     370        if ( $event_time_type === 'end' ) {
     371            $event_timezone = $event->end_tz;
     372            $event_time     = $event->end;
     373        } else {
     374            $event_timezone = $event->start_tz;
     375            $event_time     = $event->start;
     376        }
     377
     378        if ( ! empty( $event_timezone ) ) {
     379
     380            $offset = sugar_calendar_get_timezone_offset(
     381                [
     382                    'time'     => $event_time,
     383                    'timezone' => $event_timezone,
     384                ]
     385            );
     386
     387            $time_attr_format = "Y-m-d\TH:i:s{$offset}";
     388            $time_attr_tz     = $event_timezone;
     389        }
     390
     391        // The `<time>` datetime attribute.
     392        if ( $event_time_type === 'end' ) {
     393            $time_attr_dt = $event->end_date( $time_attr_format );
     394
     395            // Fallback timezone to start time timezone if it's not empty.
     396            if ( $time_attr_tz === 'floating' && ! empty( $event->start_tz ) ) {
     397                $time_attr_tz = $event->start_tz;
     398            }
     399        } else {
     400            $time_attr_dt = $event->start_date( $time_attr_format );
     401        }
     402
     403        if ( $output_array ) {
     404            return [
     405                'datetime' => $time_attr_dt,
     406                'value'    => sugar_calendar_format_date_i18n( $format, $event_time ),
     407            ];
     408        }
     409
     410        return sprintf(
     411            '<time datetime="%1$s" title="%2$s" data-timezone="%3$s">%4$s</time>',
     412            esc_attr( $time_attr_dt ),
     413            esc_attr( $time_attr_dt ),
     414            esc_attr( $time_attr_tz ),
     415            esc_html( sugar_calendar_format_date_i18n( $format, $event_time ) )
     416        );
     417    }
     418
     419    /**
     420     * Whether to allow visitor timezone conversion for the calendar shortcode.
     421     *
     422     * @since 3.1.2
     423     *
     424     * @return int
     425     */
     426    public static function should_allow_visitor_tz_convert_cal_shortcode() {
     427
     428        return absint(
     429            /**
     430             * Filter whether to allow visitor timezone conversion for the calendar shortcode.
     431             *
     432             * @since 3.1.2
     433             *
     434             * @param int $allow_visitor_tz_convert_cal_shortcode Whether to allow visitor timezone conversion for the calendar shortcode.
     435             */
     436            apply_filters(
     437                'sugar_calendar_helpers_allow_visitor_tz_convert_cal_shortcode',
     438                absint( Options::get( 'timezone_convert' ) )
     439            )
     440        );
     441    }
    340442}
  • sugar-calendar-lite/trunk/sugar-calendar-lite.php

    r3112714 r3118281  
    1212 * Requires PHP:      7.4
    1313 * Requires at least: 5.8
    14  * Version:           3.1.1
     14 * Version:           3.1.2
    1515 */
    1616
     
    2424     * @since 3.0.0
    2525     */
    26     define( 'SC_PLUGIN_VERSION', '3.1.1' );
     26    define( 'SC_PLUGIN_VERSION', '3.1.2' );
    2727}
    2828
     
    9595}
    9696
     97if ( function_exists( 'sugar_calendar' ) ) {
     98
     99    if ( ! function_exists( 'deactivate_sugar_calendar_lite' ) ) {
     100
     101        /**
     102         * Deactivate Sugar Calendar Lite.
     103         *
     104         * @since 3.1.2
     105         */
     106        function deactivate_sugar_calendar_lite() {
     107
     108            require_once ABSPATH . WPINC . '/pluggable.php';
     109
     110            deactivate_plugins( 'sugar-calendar-lite/sugar-calendar-lite.php' );
     111
     112            add_action( 'admin_notices', 'sugar_calendar_lite_deactivated_notice' );
     113        }
     114    }
     115
     116    add_action( 'admin_init', 'deactivate_sugar_calendar_lite' );
     117}
     118
     119if ( ! function_exists( 'sugar_calendar_lite_deactivated_notice' ) ) {
     120
     121    /**
     122     * Display a notice that Sugar Calendar Lite has been de-activated.
     123     *
     124     * @since 3.1.2
     125     */
     126    function sugar_calendar_lite_deactivated_notice() {
     127
     128        echo '<div class="notice notice-warning"><p>' . esc_html__( 'Sugar Calendar PRO version is activated. We de-activated the Sugar Calendar Lite version.', 'sugar-calendar' ) . '</p></div>';
     129    }
     130}
     131
    97132/**
    98133 * This class_exists() check avoids a fatal error when this plugin is activated
  • sugar-calendar-lite/trunk/vendor/composer/installed.php

    r3112714 r3118281  
    22    'root' => array(
    33        'name' => 'awesomemotive/sugarcalendar',
    4         'pretty_version' => 'dev-main',
    5         'version' => 'dev-main',
    6         'reference' => 'd536e5b58f847ab8b7a4d5927bfe50cd05e5de64',
     4        'pretty_version' => 'dev-develop',
     5        'version' => 'dev-develop',
     6        'reference' => 'b4ef481eba71f1d57d5f0a6ee555044cc437afce',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../',
     
    1212    'versions' => array(
    1313        'awesomemotive/sugarcalendar' => array(
    14             'pretty_version' => 'dev-main',
    15             'version' => 'dev-main',
    16             'reference' => 'd536e5b58f847ab8b7a4d5927bfe50cd05e5de64',
     14            'pretty_version' => 'dev-develop',
     15            'version' => 'dev-develop',
     16            'reference' => 'b4ef481eba71f1d57d5f0a6ee555044cc437afce',
    1717            'type' => 'wordpress-plugin',
    1818            'install_path' => __DIR__ . '/../../',
Note: See TracChangeset for help on using the changeset viewer.