{"id":94,"date":"2023-12-07T11:05:05","date_gmt":"2023-12-07T11:05:05","guid":{"rendered":"https:\/\/kbro.wpenginepowered.com\/\/?page_id=94"},"modified":"2026-03-09T06:00:34","modified_gmt":"2026-03-09T12:00:34","slug":"contact","status":"publish","type":"page","link":"https:\/\/www.k-brolinen.com\/fr\/contact\/","title":{"rendered":"Contact"},"content":{"rendered":"<section class=\"hero-simple has-text-align-left\" data-extended=\"no\" data-gradient=\"no\">\r\n\t<style>.hero-simple {\n  position: relative;\n  color: var(--wp--preset--color--light);\n}\n.hero-simple[data-extended=yes] .hero-simple__inner::after {\n  padding-bottom: 80%;\n}\n@media (min-width: 576px) {\n  .hero-simple[data-extended=yes] .hero-simple__inner::after {\n    padding-bottom: 50%;\n  }\n}\n@media (min-width: 768px) {\n  .hero-simple[data-extended=yes] .hero-simple__inner::after {\n    padding-bottom: 50%;\n  }\n}\n@media (min-width: 992px) {\n  .hero-simple[data-extended=yes] .hero-simple__inner::after {\n    padding-bottom: 35.3472222222%;\n  }\n}\n.hero-simple .hero-simple__gradient {\n  display: none;\n  position: absolute;\n}\n@media (min-width: 992px) {\n  .hero-simple .hero-simple__gradient {\n    display: block;\n    right: -29.3125rem;\n    bottom: -28.875rem;\n  }\n}\n.hero-simple .hero-simple__gradient__wrapper {\n  position: absolute;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 1;\n  max-width: 90rem;\n  width: 100%;\n  margin: 0 auto;\n  pointer-events: none;\n}\n.hero-simple .hero-simple__inner {\n  position: relative;\n  width: 100%;\n}\n.hero-simple .hero-simple__inner::after {\n  content: \"\";\n  display: block;\n  padding-bottom: 55%;\n}\n@media (min-width: 576px) {\n  .hero-simple .hero-simple__inner::after {\n    padding-bottom: 45%;\n  }\n}\n@media (min-width: 768px) {\n  .hero-simple .hero-simple__inner::after {\n    padding-bottom: 35%;\n  }\n}\n@media (min-width: 992px) {\n  .hero-simple .hero-simple__inner::after {\n    padding-bottom: 20.8333333333%;\n  }\n}\n.hero-simple .hero-simple__image {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  pointer-events: none;\n  user-select: none;\n  overflow: hidden;\n}\n.hero-simple .hero-simple__image img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n}\n.hero-simple .hero-simple__content {\n  position: absolute;\n  left: 50%;\n  top: 50%;\n  z-index: 1;\n  width: 100%;\n  transform: translate(-50%, -50%);\n}\n.hero-simple .hero-simple__content .wp-block-heading {\n  font-size: 2.125rem;\n  line-height: 1;\n  letter-spacing: 0.375rem;\n  font-family: \"din-2014-narrow\", sans-serif;\n  font-weight: 600;\n  text-transform: uppercase;\n  text-align: center;\n  margin-right: -0.375rem;\n  margin-bottom: 0.3125rem;\n  padding: 0 1.625rem;\n}\n@media (min-width: 768px) {\n  .hero-simple .hero-simple__content .wp-block-heading {\n    font-size: 3.75rem;\n    line-height: 0.8666666667;\n    letter-spacing: 0.825rem;\n    margin-right: -0.825rem;\n    margin-bottom: 0.6875rem;\n  }\n}\n.hero-simple .hero-simple__pretitle {\n  font-size: 1.5rem;\n  line-height: 1.1666666667;\n  font-weight: 700;\n  font-family: \"minerva-modern\", sans-serif;\n  text-align: center;\n  margin-bottom: 0.625rem;\n}\n@media (min-width: 768px) {\n  .hero-simple .hero-simple__pretitle {\n    font-size: 1.75rem;\n    line-height: 1.0714285714;\n    margin-bottom: 1.75rem;\n  }\n}\n\/*# sourceMappingURL=data:application\/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYi9hcHAvdGhlbWVzL2ticm8vcGFydHMvZ3V0ZW5iZXJnL2FjZi1oZXJvLXNpbXBsZS9zdHlsZS5zY3NzIiwid2ViL2FwcC90aGVtZXMva2Jyby9hc3NldHMvY3NzL19fc2V0dGluZ3MvX3ZhcmlhYmxlcy5zY3NzIiwid2ViL2FwcC90aGVtZXMva2Jyby9hc3NldHMvY3NzL19fc2V0dGluZ3MvX2luY2x1ZGUtbWVkaWEuc2NzcyIsIndlYi9hcHAvdGhlbWVzL2ticm8vYXNzZXRzL2Nzcy9fX3NldHRpbmdzL19taXhpbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUdJO0VBRUEsT0M2Qlc7O0FEeEJDO0VBQ0k7O0FFa2lCbEI7RUZuaUJjO0lBSVE7OztBRStoQnRCO0VGbmlCYztJQVFROzs7QUUyaEJ0QjtFRm5pQmM7SUFZUTs7O0FBUWhCO0VBQ0k7RUFFQTs7QUU0Z0JWO0VGL2dCTTtJQU1RO0lBRUE7SUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7O0FBSVI7RUFDSTtFQUVBOztBQUVBO0VBQ0k7RUFDQTtFQUVBOztBRTJlZDtFRi9lVTtJQU9ROzs7QUV3ZWxCO0VGL2VVO0lBV1E7OztBRW9lbEI7RUYvZVU7SUFlUTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUVBOztBQUVBO0VBQ0k7RUFDQTtFQUVBOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUVBOztBQUVBO0VHakNWO0VBakNDO0VIb0VhO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FFa2JkO0VGNWJVO0lHakNWO0lBakNDO0lIZ0ZpQjtJQUVBO0lBQ0E7OztBQUtaO0VHdkROO0VBakNDO0VIMEZTO0VBQ0E7RUFDQTtFQUVBOztBRWdhVjtFRnRhTTtJR3ZETjtJQWpDQztJSG1HYSIsImZpbGUiOiJ3ZWIvYXBwL3RoZW1lcy9rYnJvL3BhcnRzL2d1dGVuYmVyZy9hY2YtaGVyby1zaW1wbGUvc3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnX19zZXR0aW5ncy9pbml0JztcclxuXHJcbi5oZXJvLXNpbXBsZSB7XHJcbiAgICAkYmxvY2s6ICY7XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIGNvbG9yOiAkY29sb3ItLWxpZ2h0O1xyXG5cclxuICAgICZbZGF0YS1leHRlbmRlZD1cInllc1wiXSB7XHJcbiAgICAgICAgLmhlcm8tc2ltcGxlIHtcclxuICAgICAgICAgICAgJl9faW5uZXIge1xyXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4MCU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXNtJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sZycpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDM1LjM0NzIyMjIyMjIyMjIyJTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgI3skYmxvY2t9IHtcclxuICAgICAgICAmX19ncmFkaWVudCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sZycpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgICAgICAgICAgIHJpZ2h0OiByZW0oLTQ2OSk7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IHJlbSgtNDYyKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJl9fd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xyXG5cclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogcmVtKDE0NDApO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9faW5uZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDU1JTtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1zbScpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDUlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzNSU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGcnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwLjgzMzMzMzMzMzMzMzMzMiU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2ltYWdlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcblxyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG5cclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fY29udGVudCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuXHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcblxyXG4gICAgICAgICAgICAud3AtYmxvY2staGVhZGluZyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KDM0LCAzNCk7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtKDYpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWJhc2UtbmFycm93LCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oLTYpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDUpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCByZW0oMjYpO1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoNjAsIDUyKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtKDEzLjIpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgtMTMuMik7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDExKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fcHJldGl0bGUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KDI0LCAyOCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC10aXRsZSwgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwKTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCgyOCwgMzApO1xyXG5cclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyOCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLy8qIEJSRUFLUE9JTlRTICovL1xyXG4kYnJlYWtwb2ludHM6ICh4czogMzc1cHgsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQ0MHB4LCBtYXg6IDE5MjBweCk7XHJcblxyXG4vLyogQ09OVEFJTkVSIHdpZHRoIHZhcmlhYmxlcyAqLy9cclxuJGNvbnRhaW5lci1tb2JpbGU6IDcyMHB4O1xyXG4kY29udGFpbmVyLWxnOiA5NjBweDtcclxuJGNvbnRhaW5lci14bDogMTA4MHB4O1xyXG4kY29udGFpbmVyLXh4bDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLXdpZGUtc2l6ZSk7IC8vIHRoZW1lLmpzb24gc2V0dGluZ3MubGF5b3V0XHJcbiRjb250YWluZXItcGFkZGluZzogNzA7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmN1c3RvbS5iYXNlUGFkZGluZ1xyXG5cclxuLy8qIEZPTlRTICovL1xyXG4kZm9udC1iYXNlOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LWZhbWlseS0tYmFzZS1mb250KTsgLy90aGVtZS5qc29uIHNldHRpbmcudHlwb2dyYXBoeS5mb250RmFtaWxpZXNcclxuJGZvbnQtYmFzZS1uYXJyb3c6ICdkaW4tMjAxNC1uYXJyb3cnO1xyXG4kZm9udC10aXRsZTogJ21pbmVydmEtbW9kZXJuJztcclxuXHJcbiRmb250LXNpemUtZGVza3RvcDogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1tZWRpdW0pOy8vdGhlbWUuanNvbiBzZXR0aW5nLnR5cG9ncmFwaHkuZm9udFNpemVzXHJcbiRsaW5lLWhlaWdodC1kZXNrdG9wOiAxLjU7XHJcblxyXG4vLyBTZXQgTW9iaWxlIGZvbnQtc2l6ZSAvIGxpbmUtaGVpZ2h0IHN0eWxlcyBpbiB0aGVtZS5qc29uIHN0eWxlcy50eXBvZ3JhcGh5XHJcblxyXG4vLyogU1BBQ0lOR1MgKi8vXHJcblxyXG4vLyBCbG9jayBTcGFjaW5nc1xyXG4kc3BhY2luZy1tb2JpbGU6IDI2OyAvL3RoZW1lLmpzb24gc2V0dGluZy5zcGFjaW5nLnNwYWNpbmdTaXplc1xyXG4kc3BhY2luZzogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tbWVkaXVtKTtcclxuXHJcbiRtYXJnaW4tbW9iaWxlOiAzMDsgLy90aGVtZS5qc29uIHNldHRpbmcuc3BhY2luZy5zcGFjaW5nU2l6ZXNcclxuJG1hcmdpbjogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tbWVkaXVtKTtcclxuXHJcbi8vIE1lZGlhIFNwYWNpbmdcclxuJG1lZGlhLW1hcmdpbjogdmFyKC0td3AtLWN1c3RvbS0tbWVkaWEtc3BhY2luZyk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmN1c3RvbS5tZWRpYVNwYWNpbmc7IC8vcHhcclxuXHJcbi8vKiBDT0xPUlMgKi8vXHJcblxyXG4vLyBCYXNlIENvbG9yc1xyXG4kY29sb3ItLWRhcms6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1kYXJrKTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcclxuJGNvbG9yLS1saWdodDogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0KTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcclxuXHJcbi8vIE1haW4gQ29sb3JzXHJcbiRjb2xvci0tcHJpbWFyeTogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXByaW1hcnkpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxyXG4kY29sb3ItLXNlY29uZGFyeTogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXNlY29uZGFyeSk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXHJcbiRjb2xvci0tZ3JheTogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWdyYXkpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxyXG4kY29sb3ItLWdyYXktMTogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWdyYXktMSk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXHJcbiRjb2xvci0tZ3JheS0yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tZ3JheS0yKTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcclxuXHJcbi8vIE90aGVyIENvbG9yc1xyXG4kY29sb3ItLTE6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1jb2xvci0xKTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcclxuJGNvbG9yLS0yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY29sb3ItMik7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXHJcbiRjb2xvci0tMzogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWNvbG9yLTMpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxyXG4kY29sb3ItLTQ6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1jb2xvci00KTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcclxuJGNvbG9yLS01OiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY29sb3ItNSk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXHJcblxyXG4vLyBFbGVtZW50cyBDb2xvcnNcclxuJGNvbG9yLS1iZzogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJnKTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcclxuJGNvbG9yLS1ib2R5OiAkY29sb3ItLWxpZ2h0O1xyXG4kY29sb3ItLWJvcmRlcjogJGNvbG9yLS1kYXJrO1xyXG5cclxuLy8gVGhlbWUgVGV4dCBDb2xvcnNcclxuJGNvbG9yLS10ZXh0OiAkY29sb3ItLWRhcms7XHJcbiRjb2xvci0tdGV4dC1saWdodDogJGNvbG9yLS1saWdodDtcclxuJGNvbG9yLS1saW5rOiAkY29sb3ItLXByaW1hcnk7XHJcbiRjb2xvci0tbGluay1ob3ZlcjogJGNvbG9yLS1kYXJrO1xyXG5cclxuLy8qIE9USEVSICovL1xyXG5cclxuLy8gVHJhbnNpdGlvbnNcclxuJHRyYW5zLXNwZWVkOiB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKTtcclxuJHRyYW5zLXNwZWVkLWxvbmdlcjogdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1sb25nZXIpO1xyXG4kdHJhbnMtc3BlZWQtYW5pbWF0aW9uOiB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWFuaW1hdGlvbik7XHJcbiR0cmFucy1zcGVlZC1hbmltYXRpb24tcGF0dGVybjogdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1hbmltYXRpb24tcGF0dGVybik7XHJcbiR0cmFucy1mdW5jOiB2YXIoLS10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbik7XHJcblxyXG4vLyBPdXRsaW5lXHJcbiRvdXRsaW5lOiAycHggc29saWQgYmx1ZTsiLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cclxuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxyXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cclxuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcclxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxyXG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxyXG4vL1xyXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xyXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxyXG4vL1xyXG4vLyAgICAgICAgICAgICAgICBodHRwOi8vaW5jbHVkZS1tZWRpYS5jb21cclxuLy9cclxuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXHJcbi8vICAgICAgICAgICAgICAgICAgSHVnbyBHaXJhdWRlbCAoQGh1Z29naXJhdWRlbClcclxuLy9cclxuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxyXG5cclxuXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXHJcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xyXG4vLy9cclxuJGJyZWFrcG9pbnRzOiAoXHJcblx0J3Bob25lJzogMzIwcHgsXHJcblx0J3RhYmxldCc6IDc2OHB4LFxyXG5cdCdkZXNrdG9wJzogMTAyNHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcclxuLy8vICApO1xyXG4vLy9cclxuJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcblx0J3NjcmVlbic6ICdzY3JlZW4nLFxyXG5cdCdwcmludCc6ICdwcmludCcsXHJcblx0J2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcclxuXHQnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXHJcblx0J3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcclxuXHQncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxyXG5cdCdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XHJcbi8vL1xyXG4kdW5pdC1pbnRlcnZhbHM6IChcclxuXHQncHgnOiAxLFxyXG5cdCdlbSc6IDAuMDEsXHJcblx0J3JlbSc6IDAuMSxcclxuXHQnJzogMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcclxuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXHJcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xyXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAgLmZvbyB7XHJcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xyXG5cclxuLy8vL1xyXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxyXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcclxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XHJcblx0QGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcclxuXHRcdEBlcnJvciAkbWVzc2FnZTtcclxuXHR9IEBlbHNlIHtcclxuXHRcdEB3YXJuICRtZXNzYWdlO1xyXG5cdFx0JF86IG5vb3AoKTtcclxuXHR9XHJcblxyXG5cdEByZXR1cm4gJG1lc3NhZ2U7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcclxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxyXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxyXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuQG1peGluIGxvZygkbWVzc2FnZSkge1xyXG5cdEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcclxuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXHJcbi8vL1xyXG5AZnVuY3Rpb24gbm9vcCgpIHt9XHJcblxyXG4vLy9cclxuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vL1xyXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xyXG5cdCRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xyXG5cclxuXHRAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcclxuXHRcdEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxyXG5cdH1cclxuXHJcblx0QGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XHJcblx0XHRAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG5cdFx0XHQkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xyXG5cdFx0XHQkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuXHRcdFx0JHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuXHRcdFx0QGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXHJcblx0XHRcdFx0XHQoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcclxuXHRcdFx0XHRAcmV0dXJuIGZhbHNlO1xyXG5cdFx0XHR9XHJcblx0XHR9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcclxuXHRcdFx0QHJldHVybiBmYWxzZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEByZXR1cm4gdHJ1ZTtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gUGFyc2luZyBlbmdpbmVcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xyXG5cdEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xyXG5cdFx0QGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcblx0XHRcdEByZXR1cm4gJG9wZXJhdG9yO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG5cdC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcblx0Ly8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcblx0Ly8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuXHQvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcblx0JF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuXHQkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuXHQkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcclxuXHQkZGltZW5zaW9uOiAnd2lkdGgnO1xyXG5cclxuXHRAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcclxuXHRcdCRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xyXG5cdH1cclxuXHJcblx0QHJldHVybiAkZGltZW5zaW9uO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcclxuXHRAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcblx0JG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblx0JHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XHJcblxyXG5cdEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xyXG5cdFx0JHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcclxuXHR9IEBlbHNlIHtcclxuXHRcdCR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XHJcblx0fVxyXG5cclxuXHQkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xyXG5cclxuXHRAaWYgbm90ICRpbnRlcnZhbCB7XHJcblx0XHQvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcblx0XHQvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG5cdFx0Ly8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcblx0XHQvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG5cdFx0Ly8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG5cdFx0JF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xyXG5cdH1cclxuXHJcblx0QGlmICRvcGVyYXRvciA9PSAnPicge1xyXG5cdFx0JHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XHJcblx0fSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcclxuXHRcdCR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xyXG5cdH1cclxuXHJcblx0QHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2VcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcclxuLy8vXHJcbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XHJcblx0Ly8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxyXG5cdC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXHJcblx0QGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcclxuXHRcdEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcclxuXHR9XHJcblxyXG5cdCRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xyXG5cdCRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuXHQkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuXHQkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuXHRAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcclxufVxyXG5cclxuLy8vXHJcbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2VcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XHJcbi8vL1xyXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xyXG5cdEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcclxuXHRcdEByZXR1cm4gKCk7XHJcblx0fVxyXG5cclxuXHQkcmVzdWx0OiAoKTtcclxuXHJcblx0QGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xyXG5cdFx0JHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcclxuXHR9XHJcblxyXG5cdEByZXR1cm4gJHJlc3VsdDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfVxyXG4vLy9cclxuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcclxuXHRAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcclxuXHRcdEByZXR1cm4gJHZhbHVlO1xyXG5cdH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcclxuXHRcdCRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XHJcblx0fVxyXG5cclxuXHQkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcclxuXHQkcmVzdWx0OiAwO1xyXG5cdCRkaWdpdHM6IDA7XHJcblx0JG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xyXG5cdCRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcclxuXHJcblx0Ly8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXHJcblx0QGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xyXG5cdFx0JHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcclxuXHR9XHJcblxyXG5cdEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcclxuXHRcdCRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XHJcblxyXG5cdFx0QGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xyXG5cdFx0XHRAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxyXG5cdFx0fVxyXG5cclxuXHRcdEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XHJcblx0XHRcdCRkaWdpdHM6IDE7XHJcblx0XHR9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XHJcblx0XHRcdCRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xyXG5cdFx0fSBAZWxzZSB7XHJcblx0XHRcdCRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcclxuXHRcdFx0JHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcclxuLy8vXHJcbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xyXG5cdCR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XHJcblxyXG5cdEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcclxuXHRcdCRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xyXG5cdH1cclxuXHJcblx0QHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxyXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxyXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXHJcbi8vLyBmb3IgaW5zdGFuY2UuXHJcbi8vL1xyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XHJcblx0Ly8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG5cdCRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcclxuXHQkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XHJcblxyXG5cdC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG5cdCRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xyXG5cdCRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xyXG5cclxuXHRAY29udGVudDtcclxuXHJcblx0Ly8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG5cdCRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xyXG5cdCRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxyXG4vLy9cclxuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XHJcblx0QGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxyXG5cdFx0XHQobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xyXG5cdFx0QGNvbnRlbnQ7XHJcblx0fSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XHJcblx0XHRAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XHJcblx0XHRcdC8vIFJlY3Vyc2l2ZSBjYWxsXHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xyXG5cdFx0XHRcdEBjb250ZW50O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8vXHJcbi8vIE1JWElOU1xyXG4vL1xyXG5AbWl4aW4gY2Yge1xyXG5cdCY6YmVmb3JlLFxyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0Y29udGVudDogJyc7XHJcblxyXG5cdFx0ZGlzcGxheTogdGFibGU7XHJcblx0fVxyXG5cclxuXHQmOmFmdGVyIHtcclxuXHRcdGNsZWFyOiBib3RoO1xyXG5cdH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHZ3LXNpemUoJHMsICR3OiAxNDQwKSB7XHJcblx0QHJldHVybiAoJHMgLyAkdykgKiAxMDAgKyB2dztcclxufVxyXG5cclxuQGZ1bmN0aW9uIHJlbSgkc2l6ZVZhbHVlOiAxNikge1xyXG5cdEByZXR1cm4gY2FsYygkc2l6ZVZhbHVlIC8gMTYpICsgcmVtO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gcmVsKCRzaXplLCAkcmVsKSB7XHJcblx0QHJldHVybiBjYWxjKCRzaXplIC8gJHJlbCk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBlbSgkc2l6ZSwgJHJlbCkge1xyXG5cdEByZXR1cm4gcmVsKCRzaXplLCAkcmVsKSAqIDFlbTtcclxufVxyXG5cclxuQG1peGluIG9iamVjdC1maXQtY292ZXIoKSB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblxyXG5cdG9iamVjdC1maXQ6IGNvdmVyO1xyXG59XHJcblxyXG5AbWl4aW4gbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0OiAwKSB7XHJcblx0QGlmICRsaW5lLWhlaWdodCAhPSAwIHtcclxuXHRcdEBpZiAkbGluZS1oZWlnaHQgPCAxMCB7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcblx0XHR9XHJcblx0XHRAZWxzZSB7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiBjYWxjKCRsaW5lLWhlaWdodCAvICRmb250LXNpemUpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQG1peGluIGxldHRlci1zcGFjaW5nKCRmb250LXNpemUsICRsZXR0ZXItc3BhY2luZzogMCkge1xyXG5cdEBpZiAkbGV0dGVyLXNwYWNpbmcgIT0gMCB7XHJcblx0XHRAaWYgJGxldHRlci1zcGFjaW5nIDwgMTAge1xyXG5cdFx0XHRsZXR0ZXItc3BhY2luZzogcmVtKCRsZXR0ZXItc3BhY2luZyk7XHJcblx0XHR9XHJcblx0XHRAZWxzZSB7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiByZW0oKCRmb250LXNpemUgKiAkbGV0dGVyLXNwYWNpbmcpIC8gMTAwMCk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5AbWl4aW4gZm9udCgkZm9udC1zaXplLW1hcCwgJGxpbmUtaGVpZ2h0OiAwLCAkbGV0dGVyLXNwYWNpbmc6IDApIHtcclxuXHRAaWYgdHlwZS1vZigkZm9udC1zaXplLW1hcCkgPT0gJ21hcCcge1xyXG5cdFx0QGVhY2ggJGJyZWFrcG9pbnQsICRmb250LXNpemUgaW4gJGZvbnQtc2l6ZS1tYXAge1xyXG5cdFx0XHRAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oJGZvbnQtc2l6ZSk7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGxpbmUtaGVpZ2h0KG1hcC1nZXQoJGZvbnQtc2l6ZS1tYXAsIG50aChtYXAta2V5cygkZm9udC1zaXplLW1hcCksIC0xKSksICRsaW5lLWhlaWdodCk7XHJcblx0XHRcdFx0QGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcobWFwLWdldCgkZm9udC1zaXplLW1hcCwgbnRoKG1hcC1rZXlzKCRmb250LXNpemUtbWFwKSwgLTEpKSwgJGxldHRlci1zcGFjaW5nKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAZWxzZSB7XHJcblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KSkge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0oJGZvbnQtc2l6ZSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdEBlbHNlIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtKCRmb250LXNpemUtbWFwKTtcclxuXHJcblx0XHRAaW5jbHVkZSBsaW5lLWhlaWdodCgkZm9udC1zaXplLW1hcCwgJGxpbmUtaGVpZ2h0KTtcclxuXHRcdEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKCRmb250LXNpemUtbWFwLCAkbGV0dGVyLXNwYWNpbmcpO1xyXG5cdH1cclxufVxyXG4iXX0= *\/\n<\/style>\t\t<div class=\"hero-simple__inner\">\r\n\t\t<div class=\"hero-simple__content\">\r\n\t\t\t<div class=\"hero-simple__content__inner bounce bounce-up\">\r\n\t\t\t\t\t\t<div class=\"acf-innerblocks-container\">\n<style>.is-style-base-narrow-font {\n  letter-spacing: 0.35rem;\n  font-family: \"din-2014-narrow\", sans-serif;\n  text-transform: uppercase;\n}\n\n.is-style-base-font {\n  font-family: var(--wp--preset--font-family--base-font), sans-serif;\n  text-transform: uppercase;\n}\n\/*# sourceMappingURL=data:application\/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYi9hcHAvdGhlbWVzL2ticm8vcGFydHMvZ3V0ZW5iZXJnL2NvcmUtaGVhZGluZy9zdHlsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0EiLCJmaWxlIjoid2ViL2FwcC90aGVtZXMva2Jyby9wYXJ0cy9ndXRlbmJlcmcvY29yZS1oZWFkaW5nL3N0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJ19fc2V0dGluZ3MvaW5pdCc7XHJcblxyXG4uaXMtc3R5bGUtYmFzZS1uYXJyb3ctZm9udCB7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogcmVtKDUuNik7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtYmFzZS1uYXJyb3csIHNhbnMtc2VyaWY7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG4uaXMtc3R5bGUtYmFzZS1mb250IHtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1iYXNlLCBzYW5zLXNlcmlmO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufSJdfQ== *\/\n<\/style>\n<h2 class=\"wp-block-heading\">Contact<\/h2>\n\n<\/div>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"hero-simple__image\">\r\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1440\" height=\"300\" src=\"https:\/\/www.k-brolinen.com\/wp-content\/uploads\/2024\/01\/contact-hero-1440x300.jpg\" class=\"attachment-hero-img size-hero-img\" alt=\"K-Bro Linen employee at work\" srcset=\"https:\/\/www.k-brolinen.com\/wp-content\/uploads\/2024\/01\/contact-hero-1440x300.jpg 1440w, https:\/\/www.k-brolinen.com\/wp-content\/uploads\/2024\/01\/contact-hero-300x63.jpg 300w, https:\/\/www.k-brolinen.com\/wp-content\/uploads\/2024\/01\/contact-hero-768x160.jpg 768w, https:\/\/www.k-brolinen.com\/wp-content\/uploads\/2024\/01\/contact-hero-1024x213.jpg 1024w, https:\/\/www.k-brolinen.com\/wp-content\/uploads\/2024\/01\/contact-hero-1536x320.jpg 1536w, https:\/\/www.k-brolinen.com\/wp-content\/uploads\/2024\/01\/contact-hero-2048x427.jpg 2048w, https:\/\/www.k-brolinen.com\/wp-content\/uploads\/2024\/01\/contact-hero-380x79.jpg 380w, https:\/\/www.k-brolinen.com\/wp-content\/uploads\/2024\/01\/contact-hero-151x31.jpg 151w, https:\/\/www.k-brolinen.com\/wp-content\/uploads\/2024\/01\/contact-hero-720x150.jpg 720w, https:\/\/www.k-brolinen.com\/wp-content\/uploads\/2024\/01\/contact-hero-420x88.jpg 420w, https:\/\/www.k-brolinen.com\/wp-content\/uploads\/2024\/01\/contact-hero-1617x337.jpg 1617w, https:\/\/www.k-brolinen.com\/wp-content\/uploads\/2024\/01\/contact-hero-315x66.jpg 315w, https:\/\/www.k-brolinen.com\/wp-content\/uploads\/2024\/01\/contact-hero-858x179.jpg 858w, https:\/\/www.k-brolinen.com\/wp-content\/uploads\/2024\/01\/contact-hero-721x150.jpg 721w, https:\/\/www.k-brolinen.com\/wp-content\/uploads\/2024\/01\/contact-hero-256x53.jpg 256w, https:\/\/www.k-brolinen.com\/wp-content\/uploads\/2024\/01\/contact-hero-265x55.jpg 265w\" sizes=\"auto, (max-width: 1440px) 100vw, 1440px\" \/>\t\t<\/div>\r\n\t\t\t<\/div>\r\n<\/section>\r\n\n\n<section class=\"cta-info has-text-align-center cta-info--contact\" data-background=\"gray\">\r\n\t<style>.cta-info {\n  margin: 3.75rem 0;\n  position: relative;\n}\n@media (min-width: 768px) {\n  .cta-info {\n    margin: 5rem 0;\n  }\n}\n@media (min-width: 992px) {\n  .cta-info {\n    margin: 8.8125rem 0;\n  }\n}\n.cta-info--contact[data-background=gray] {\n  padding: 1.25rem 0 !important;\n}\n@media (min-width: 992px) {\n  .cta-info--contact[data-background=gray] .cta-info__content .acf-innerblocks-container .wp-block-button {\n    margin-top: 1.875rem !important;\n  }\n}\n.cta-info[data-background=gray] {\n  background-color: var(--wp--preset--color--gray-1);\n  margin: 4.5rem 0;\n  padding: 3.6875rem 0 5rem;\n}\n@media (min-width: 768px) {\n  .cta-info[data-background=gray] {\n    margin: 6.625rem 0;\n    padding: 8.3125rem 0 8.375rem;\n  }\n}\n@media (min-width: 992px) {\n  .cta-info[data-background=gray] {\n    margin: 5rem 0;\n    padding: 6.75rem 0 7.8125rem;\n  }\n}\n.cta-info[data-background=gray] .cta-info__inner {\n  align-items: center;\n  flex-direction: column;\n}\n@media (min-width: 992px) {\n  .cta-info[data-background=gray] .cta-info__inner {\n    flex-direction: row;\n  }\n}\n@media (min-width: 992px) {\n  .cta-info[data-background=gray] .cta-info__inner--image-side-right {\n    flex-direction: row-reverse;\n  }\n}\n@media (max-width: 991px) {\n  .cta-info[data-background=gray] .cta-info__image--width-420 {\n    width: 16.75rem;\n    min-width: 16.75rem;\n  }\n}\n@media (max-width: 991px) {\n  .cta-info[data-background=gray] .cta-info__image--width-420 img {\n    width: 16.75rem;\n    min-width: 16.75rem;\n  }\n}\n@media (max-width: 991px) {\n  .cta-info[data-background=gray] .cta-info__image--height-420 > img {\n    height: 16.75rem !important;\n    min-height: 16.75rem;\n    max-height: 16.75rem;\n  }\n}\n.cta-info .cta-info__inner {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-direction: column-reverse;\n  gap: 3.6875rem;\n}\n@media (min-width: 768px) {\n  .cta-info .cta-info__inner {\n    gap: 2.8125rem;\n    margin-right: -1.25rem;\n  }\n}\n@media (min-width: 992px) {\n  .cta-info .cta-info__inner {\n    margin-right: 0;\n    align-items: flex-start;\n    flex-direction: row;\n  }\n}\n@media (min-width: 1200px) {\n  .cta-info .cta-info__inner {\n    gap: 3.75rem;\n  }\n}\n@media (min-width: 1200px) {\n  .cta-info .cta-info__inner--gap-63 {\n    gap: 3.9375rem;\n  }\n}\n@media (min-width: 1200px) {\n  .cta-info .cta-info__inner--gap-110 {\n    gap: 6.875rem;\n  }\n}\n@media (min-width: 992px) {\n  .cta-info .cta-info__inner--image-side-right {\n    flex-direction: row-reverse;\n  }\n}\n.cta-info .cta-info__image {\n  position: relative;\n  z-index: 1;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 2.75rem;\n}\n.cta-info .cta-info__image > img {\n  width: 18.75rem;\n  min-width: 18.75rem;\n  height: 18.75rem;\n  min-height: 18.75rem;\n  max-height: 18.75rem;\n}\n@media (min-width: 390px) {\n  .cta-info .cta-info__image > img {\n    width: 21.125rem;\n    min-width: 21.125rem;\n    height: 21.125rem;\n    min-height: 21.125rem;\n    max-height: 21.125rem;\n  }\n}\n@media (min-width: 768px) {\n  .cta-info .cta-info__image > img {\n    width: 26.25rem;\n    min-width: 26.25rem;\n    height: 26.25rem;\n    min-height: 26.25rem;\n    max-height: 26.25rem;\n  }\n}\n.cta-info .cta-info__image--width-420 {\n  width: 18.75rem;\n  min-width: 18.75rem;\n}\n@media (min-width: 390px) {\n  .cta-info .cta-info__image--width-420 {\n    width: 21.125rem;\n    min-width: 21.125rem;\n  }\n}\n@media (min-width: 768px) {\n  .cta-info .cta-info__image--width-420 {\n    width: 26.25rem;\n    min-width: 26.25rem;\n  }\n}\n@media (min-width: 768px) {\n  .cta-info .cta-info__image--width-460 {\n    width: 28.75rem;\n    min-width: 28.75rem;\n  }\n}\n.cta-info .cta-info__image--width-550 {\n  width: 19rem;\n  min-width: 19rem;\n}\n@media (min-width: 768px) {\n  .cta-info .cta-info__image--width-550 {\n    width: 21.5625rem;\n    min-width: 21.5625rem;\n  }\n}\n@media (min-width: 1440px) {\n  .cta-info .cta-info__image--width-550 {\n    width: 34.375rem;\n    min-width: 34.375rem;\n  }\n}\n.cta-info .cta-info__image--height-420 > img {\n  height: 18.75rem;\n  min-height: 18.75rem;\n  max-height: 18.75rem;\n}\n@media (min-width: 390px) {\n  .cta-info .cta-info__image--height-420 > img {\n    height: 21.125rem;\n    min-height: 21.125rem;\n    max-height: 21.125rem;\n  }\n}\n@media (min-width: 768px) {\n  .cta-info .cta-info__image--height-420 > img {\n    height: 26.25rem !important;\n    min-height: 26.25rem;\n    max-height: 26.25rem;\n  }\n}\n@media (min-width: 768px) {\n  .cta-info .cta-info__image--height-460 > img {\n    height: 28.75rem;\n    min-height: 28.75rem;\n  }\n}\n.cta-info .cta-info__image--height-544 > img {\n  height: 18.75rem !important;\n  min-height: 18.75rem;\n  object-fit: contain !important;\n}\n@media (min-width: 768px) {\n  .cta-info .cta-info__image--height-544 > img {\n    height: 21.3125rem !important;\n    min-height: 21.3125rem;\n  }\n}\n@media (min-width: 1440px) {\n  .cta-info .cta-info__image--height-544 > img {\n    height: 34rem;\n    min-height: 34rem;\n  }\n}\n.cta-info .cta-info__image--rounded-yes > img {\n  border-radius: 50%;\n}\n.cta-info .cta-info__image > img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n}\n.cta-info .cta-info__icons {\n  display: flex;\n  align-items: flex-start;\n  justify-content: center;\n  flex-wrap: wrap;\n  gap: 1.6875rem;\n  width: 100%;\n}\n.cta-info .cta-info__icons img {\n  max-width: 6.875rem;\n}\n@media (min-width: 992px) {\n  .cta-info .cta-info__content {\n    max-width: 39.8125rem;\n  }\n}\n.cta-info .cta-info__content .acf-innerblocks-container .wp-block-heading {\n  font-size: 1.875rem;\n  line-height: 1.2;\n  letter-spacing: 0.375rem;\n  font-family: \"din-2014-narrow\", sans-serif;\n  text-transform: uppercase;\n  margin-right: -0.375rem;\n  margin-bottom: 2.25rem;\n}\n@media (min-width: 992px) {\n  .cta-info .cta-info__content .acf-innerblocks-container .wp-block-heading {\n    margin-bottom: 2.5rem;\n  }\n}\n.cta-info .cta-info__content .acf-innerblocks-container .wp-block-heading.h4 {\n  font-size: 1.3125rem;\n  line-height: 1.4285714286;\n  letter-spacing: 0.13125rem;\n}\n.cta-info .cta-info__content .acf-innerblocks-container .wp-block-heading.has-primary-color {\n  font-size: 1.6875rem;\n  line-height: 1.2222222222;\n  margin-bottom: 1.5625rem;\n}\n@media (min-width: 768px) {\n  .cta-info .cta-info__content .acf-innerblocks-container .wp-block-heading.has-primary-color {\n    font-size: 1.875rem;\n    line-height: 1.2;\n  }\n}\n@media (min-width: 992px) {\n  .cta-info .cta-info__content .acf-innerblocks-container .wp-block-heading.has-primary-color {\n    font-size: 2.625rem;\n    line-height: 1;\n    margin-bottom: 2.5rem;\n  }\n}\n.cta-info .cta-info__content .acf-innerblocks-container .is-style-leadparagraph {\n  margin-bottom: 1.9375rem;\n}\n@media (min-width: 992px) {\n  .cta-info .cta-info__content .acf-innerblocks-container .is-style-leadparagraph {\n    margin-top: 2.875rem;\n  }\n}\n.cta-info .cta-info__content .acf-innerblocks-container p {\n  font-size: 1.125rem;\n  line-height: 1.6666666667;\n}\n.cta-info .cta-info__content .acf-innerblocks-container .wp-block-button {\n  margin-top: 3.25rem;\n}\n.cta-info .cta-info__content .acf-innerblocks-container a:not(.wp-block-button__link) {\n  font-weight: 700;\n  text-decoration: none;\n  color: var(--wp--preset--color--secondary);\n  transition: color var(--transition-speed) var(--transition-timing-function);\n}\n.cta-info .cta-info__content .acf-innerblocks-container a:not(.wp-block-button__link):hover {\n  color: var(--wp--preset--color--primary);\n}\n.cta-info .cta-info__content .acf-innerblocks-container .wp-block-spacer {\n  display: none;\n}\n@media (min-width: 1200px) {\n  .cta-info .cta-info__content .acf-innerblocks-container .wp-block-spacer {\n    display: block;\n  }\n}\n.cta-info .cta-info__title {\n  font-size: 1.6875rem;\n  line-height: 0.962962963;\n  text-align: center;\n  color: var(--wp--preset--color--secondary);\n  margin-top: 2.5rem;\n  margin-bottom: 1.75rem;\n}\n@media (min-width: 768px) {\n  .cta-info .cta-info__title {\n    font-size: 2rem;\n    line-height: 0.9375;\n    margin-top: 1.25rem;\n  }\n}\n@media (min-width: 1200px) {\n  .cta-info .cta-info__title {\n    margin-top: 0rem;\n  }\n}\n\n@media (min-width: 992px) {\n  .cta + .cta-info {\n    margin-top: -6.25rem;\n  }\n}\n@media (min-width: 1440px) {\n  .cta + .cta-info {\n    margin-top: -12.125rem;\n  }\n}\n\n@media (max-width: 767px) {\n  .cta + .cta-info[data-background=gray] {\n    margin-top: -6.25rem;\n  }\n}\n\n@media (min-width: 992px) {\n  .text-media + .cta-info[data-background=gray] {\n    margin-top: -9.375rem;\n  }\n}\n\n.hero-simple + .cta-info[data-background=gray] {\n  margin-top: 0rem;\n}\n\/*# sourceMappingURL=data:application\/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYi9hcHAvdGhlbWVzL2ticm8vcGFydHMvZ3V0ZW5iZXJnL2FjZi1jdGEtaW5mby9zdHlsZS5zY3NzIiwid2ViL2FwcC90aGVtZXMva2Jyby9hc3NldHMvY3NzL19fc2V0dGluZ3MvX2luY2x1ZGUtbWVkaWEuc2NzcyIsIndlYi9hcHAvdGhlbWVzL2ticm8vYXNzZXRzL2Nzcy9fX3NldHRpbmdzL192YXJpYWJsZXMuc2NzcyIsIndlYi9hcHAvdGhlbWVzL2ticm8vYXNzZXRzL2Nzcy9fX3NldHRpbmdzL19taXhpbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUdDO0VBRUE7O0FDd2lCQztFRDdpQkY7SUFRRTs7O0FDcWlCQTtFRDdpQkY7SUFZRTs7O0FBR0Q7RUFDQzs7QUM2aEJBO0VEM2hCQTtJQUVFOzs7QUFLSDtFQUNDLGtCRWNjO0VGWmQ7RUFDQTs7QUNnaEJBO0VEcGhCRDtJQU9FO0lBQ0E7OztBQzRnQkQ7RURwaEJEO0lBWUU7SUFDQTs7O0FBSUE7RUFDQztFQUNBOztBQ2lnQkY7RURuZ0JDO0lBS0U7OztBQzhmSDtFRHpmSTtJQUVFOzs7QUN1Zk47RUQ5ZUc7SUFFRTtJQUNBOzs7QUMyZUw7RUR4ZUk7SUFFRTtJQUNBOzs7QUNxZU47RUQ3ZEk7SUFFRTtJQUNBO0lBQ0E7OztBQVVOO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUMwY0Q7RUQvY0E7SUFRRTtJQUVBOzs7QUNxY0Y7RUQvY0E7SUFjRTtJQUVBO0lBQ0E7OztBQzhiRjtFRC9jQTtJQXFCRTs7O0FDMGJGO0VEdGJFO0lBRUU7OztBQ29iSjtFRGhiRTtJQUVFOzs7QUM4YUo7RUR2YUc7SUFFRTs7O0FBT0w7RUFDQztFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQ2daRjtFRHJaQztJQVFFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQ3lZSDtFRHJaQztJQWdCRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFLRDtFQUNDO0VBQ0E7O0FDMFhIO0VENVhFO0lBS0U7SUFDQTs7O0FDc1hKO0VENVhFO0lBVUU7SUFDQTs7O0FDaVhKO0VEN1dFO0lBRUU7SUFDQTs7O0FBSUY7RUFDQztFQUNBOztBQ29XSDtFRHRXRTtJQUtFO0lBQ0E7OztBQ2dXSjtFRHRXRTtJQVVFO0lBQ0E7OztBQU9EO0VBQ0M7RUFDQTtFQUNBOztBQ2lWSjtFRHBWRztJQU1FO0lBQ0E7SUFDQTs7O0FDNFVMO0VEcFZHO0lBWUU7SUFDQTtJQUNBOzs7QUNzVUw7RURoVUc7SUFFRTtJQUNBOzs7QUFNRjtFQUNDO0VBQ0E7RUFFQTs7QUNtVEo7RUR2VEc7SUFPRTtJQUNBOzs7QUMrU0w7RUR2VEc7SUFZRTtJQUNBOzs7QUFRRjtFQUNDOztBQUtIO0VBQ0M7RUFDQTtFQUVBOztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBOztBQUVBO0VBQ0M7O0FDMFFGO0VEdFFBO0lBRUU7OztBQUlBO0VHN05GO0VBakNDO0VIZ1FFO0VBQ2U7RUFDQTtFQUVmO0VBQ0E7O0FDeVBIO0VEaFFFO0lBVUU7OztBQUdEO0VHMU9IO0VBakNDO0VINlFHOztBQUdEO0VHL09IO0VBakNDO0VIbVJHOztBQzJPSjtFRDlPRztJRy9PSDtJQWpDQzs7O0FGOGZEO0VEOU9HO0lHL09IO0lBakNDO0lINFJJOzs7QUFLSDtFQUNDOztBQzROSDtFRDdORTtJQUlFOzs7QUFJRjtFR3hRRjtFQWpDQzs7QUg2U0M7RUFDQzs7QUFHRDtFQUNDO0VBQ0E7RUFDQSxPRTdUYztFRitUZDs7QUFFQTtFQUNDLE9FblVXOztBRnVVYjtFQUNDOztBQ2dNSDtFRGpNRTtJQUlFOzs7QUFNSjtFR3RTQTtFQWpDQztFSHlVQTtFQUNBLE9FblZnQjtFRnFWaEI7RUFDQTs7QUNpTEQ7RUR2TEE7SUd0U0E7SUFqQ0M7SUhrVkM7OztBQzRLRjtFRHZMQTtJQWVFOzs7O0FDd0tGO0VEbEtGO0lBRUU7OztBQ2dLQTtFRGxLRjtJQU1FOzs7O0FDNEpBO0VEeEpGO0lBRUU7Ozs7QUNzSkE7RURsSkY7SUFFRTs7OztBQUlGO0VBQ0MiLCJmaWxlIjoid2ViL2FwcC90aGVtZXMva2Jyby9wYXJ0cy9ndXRlbmJlcmcvYWNmLWN0YS1pbmZvL3N0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJ19fc2V0dGluZ3MvaW5pdCc7XHJcblxyXG4uY3RhLWluZm8ge1xyXG4gICAgJGJsb2NrOiAmO1xyXG5cclxuXHRtYXJnaW46IHJlbSg2MCkgMDtcclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdG1hcmdpbjogcmVtKDgwKSAwO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoJz49bGcnKSB7XHJcblx0XHRtYXJnaW46IHJlbSgxNDEpIDA7XHJcblx0fVxyXG5cclxuXHQmLS1jb250YWN0W2RhdGEtYmFja2dyb3VuZD1cImdyYXlcIl0ge1xyXG5cdFx0cGFkZGluZzogcmVtKDIwKSAwICFpbXBvcnRhbnQ7XHJcblxyXG5cdFx0LmN0YS1pbmZvX19jb250ZW50IC5hY2YtaW5uZXJibG9ja3MtY29udGFpbmVyIC53cC1ibG9jay1idXR0b24ge1xyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1sZycpIHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiByZW0oMzApICFpbXBvcnRhbnQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCZbZGF0YS1iYWNrZ3JvdW5kPVwiZ3JheVwiXSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItLWdyYXktMTtcclxuXHJcblx0XHRtYXJnaW46IHJlbSg3MikgMDtcclxuXHRcdHBhZGRpbmc6IHJlbSg1OSkgMCByZW0oODApO1xyXG5cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xyXG5cdFx0XHRtYXJnaW46IHJlbSgxMDYpIDA7XHJcblx0XHRcdHBhZGRpbmc6IHJlbSgxMzMpIDAgcmVtKDEzNCk7XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49bGcnKSB7XHJcblx0XHRcdG1hcmdpbjogcmVtKDgwKSAwO1xyXG5cdFx0XHRwYWRkaW5nOiByZW0oMTA4KSAwIHJlbSgxMjUpO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5jdGEtaW5mbyB7XHJcblx0XHRcdCZfX2lubmVyIHtcclxuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PWxnJykge1xyXG5cdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCYtLWltYWdlIHtcclxuXHRcdFx0XHRcdCYtc2lkZSB7XHJcblx0XHRcdFx0XHRcdCYtcmlnaHQge1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PWxnJykge1xyXG5cdFx0XHRcdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Jl9faW1hZ2Uge1xyXG5cdFx0XHRcdCYtLXdpZHRoIHtcclxuXHRcdFx0XHRcdCYtNDIwIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJzw9OTkxcHgnKSB7XHJcblx0XHRcdFx0XHRcdFx0d2lkdGg6IHJlbSgyNjgpO1xyXG5cdFx0XHRcdFx0XHRcdG1pbi13aWR0aDogcmVtKDI2OCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdGltZyB7XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJzw9OTkxcHgnKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogcmVtKDI2OCk7XHJcblx0XHRcdFx0XHRcdFx0XHRtaW4td2lkdGg6IHJlbSgyNjgpO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Ji0taGVpZ2h0IHtcclxuXHRcdFx0XHRcdCYtNDIwIHtcclxuXHRcdFx0XHRcdFx0JiA+IGltZyB7XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJzw9OTkxcHgnKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IHJlbSgyNjgpICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0XHRcdFx0XHRtaW4taGVpZ2h0OiByZW0oMjY4KTtcclxuXHRcdFx0XHRcdFx0XHRcdG1heC1oZWlnaHQ6IHJlbSgyNjgpO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0I3skYmxvY2t9IHtcclxuXHRcdCZfX2lubmVyIHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuXHRcdFx0Z2FwOiByZW0oNTkpO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XHJcblx0XHRcdFx0Z2FwOiByZW0oNDUpO1xyXG5cclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHJlbSgtMjApO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1sZycpIHtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblxyXG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PXhsJykge1xyXG5cdFx0XHRcdGdhcDogcmVtKDYwKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji0tZ2FwIHtcclxuXHRcdFx0XHQmLTYzIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PXhsJykge1xyXG5cdFx0XHRcdFx0XHRnYXA6IHJlbSg2Myk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmLTExMCB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj14bCcpIHtcclxuXHRcdFx0XHRcdFx0Z2FwOiByZW0oMTEwKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYtLWltYWdlIHtcclxuXHRcdFx0XHQmLXNpZGUge1xyXG5cdFx0XHRcdFx0Ji1yaWdodCB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PWxnJykge1xyXG5cdFx0XHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCZfX2ltYWdlIHtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHR6LWluZGV4OiAxO1xyXG5cclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0Z2FwOiByZW0oNDQpO1xyXG5cclxuXHRcdFx0JiA+IGltZyB7XHJcblx0XHRcdFx0d2lkdGg6IHJlbSgzMDApO1xyXG5cdFx0XHRcdG1pbi13aWR0aDogcmVtKDMwMCk7XHJcblx0XHRcdFx0aGVpZ2h0OiByZW0oMzAwKTtcclxuXHRcdFx0XHRtaW4taGVpZ2h0OiByZW0oMzAwKTtcclxuXHRcdFx0XHRtYXgtaGVpZ2h0OiByZW0oMzAwKTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49MzkwcHgnKSB7XHJcblx0XHRcdFx0XHR3aWR0aDogcmVtKDMzOCk7XHJcblx0XHRcdFx0XHRtaW4td2lkdGg6IHJlbSgzMzgpO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiByZW0oMzM4KTtcclxuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IHJlbSgzMzgpO1xyXG5cdFx0XHRcdFx0bWF4LWhlaWdodDogcmVtKDMzOCk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdFx0XHRcdHdpZHRoOiByZW0oNDIwKTtcclxuXHRcdFx0XHRcdG1pbi13aWR0aDogcmVtKDQyMCk7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IHJlbSg0MjApO1xyXG5cdFx0XHRcdFx0bWluLWhlaWdodDogcmVtKDQyMCk7XHJcblx0XHRcdFx0XHRtYXgtaGVpZ2h0OiByZW0oNDIwKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYtLXdpZHRoIHtcclxuXHRcdFx0XHQmLTQyMCB7XHJcblx0XHRcdFx0XHR3aWR0aDogcmVtKDMwMCk7XHJcblx0XHRcdFx0XHRtaW4td2lkdGg6IHJlbSgzMDApO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PTM5MHB4Jykge1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogcmVtKDMzOCk7XHJcblx0XHRcdFx0XHRcdG1pbi13aWR0aDogcmVtKDMzOCk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiByZW0oNDIwKTtcclxuXHRcdFx0XHRcdFx0bWluLXdpZHRoOiByZW0oNDIwKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCYtNDYwIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogcmVtKDQ2MCk7XHJcblx0XHRcdFx0XHRcdG1pbi13aWR0aDogcmVtKDQ2MCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmLTU1MCB7XHJcblx0XHRcdFx0XHR3aWR0aDogcmVtKDMwNCk7XHJcblx0XHRcdFx0XHRtaW4td2lkdGg6IHJlbSgzMDQpO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogcmVtKDM0NSk7XHJcblx0XHRcdFx0XHRcdG1pbi13aWR0aDogcmVtKDM0NSk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49eHhsJykge1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogcmVtKDU1MCk7XHJcblx0XHRcdFx0XHRcdG1pbi13aWR0aDogcmVtKDU1MCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLS1oZWlnaHQge1xyXG5cdFx0XHRcdCYtNDIwIHtcclxuXHRcdFx0XHRcdCYgPiBpbWcge1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IHJlbSgzMDApO1xyXG5cdFx0XHRcdFx0XHRtaW4taGVpZ2h0OiByZW0oMzAwKTtcclxuXHRcdFx0XHRcdFx0bWF4LWhlaWdodDogcmVtKDMwMCk7XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj0zOTBweCcpIHtcclxuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IHJlbSgzMzgpO1xyXG5cdFx0XHRcdFx0XHRcdG1pbi1oZWlnaHQ6IHJlbSgzMzgpO1xyXG5cdFx0XHRcdFx0XHRcdG1heC1oZWlnaHQ6IHJlbSgzMzgpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IHJlbSg0MjApICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0XHRcdFx0bWluLWhlaWdodDogcmVtKDQyMCk7XHJcblx0XHRcdFx0XHRcdFx0bWF4LWhlaWdodDogcmVtKDQyMCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCYtNDYwIHtcclxuXHRcdFx0XHRcdCYgPiBpbWcge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IHJlbSg0NjApO1xyXG5cdFx0XHRcdFx0XHRcdG1pbi1oZWlnaHQ6IHJlbSg0NjApO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmLTU0NCB7XHJcblx0XHRcdFx0XHQmID4gaW1nIHtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiByZW0oMzAwKSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdFx0XHRtaW4taGVpZ2h0OiByZW0oMzAwKTtcclxuXHJcblx0XHRcdFx0XHRcdG9iamVjdC1maXQ6IGNvbnRhaW4gIWltcG9ydGFudDtcclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogcmVtKDM0MSkgIWltcG9ydGFudDtcclxuXHRcdFx0XHRcdFx0XHRtaW4taGVpZ2h0OiByZW0oMzQxKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49eHhsJykge1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogcmVtKDU0NCk7XHJcblx0XHRcdFx0XHRcdFx0bWluLWhlaWdodDogcmVtKDU0NCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYtLXJvdW5kZWQge1xyXG5cdFx0XHRcdCYteWVzIHtcclxuXHRcdFx0XHRcdCYgPiBpbWcge1xyXG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmID4gaW1nIHtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblxyXG5cdFx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9faWNvbnMge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHRcdFx0Z2FwOiByZW0oMjcpO1xyXG5cclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0XHRpbWcge1xyXG5cdFx0XHRcdG1heC13aWR0aDogcmVtKDExMCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmX19jb250ZW50IHtcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bGcnKSB7XHJcblx0XHRcdFx0bWF4LXdpZHRoOiByZW0oNjM3KTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmFjZi1pbm5lcmJsb2Nrcy1jb250YWluZXIge1xyXG5cdFx0XHRcdC53cC1ibG9jay1oZWFkaW5nIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQoMzAsIDM2KTtcclxuXHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOiByZW0oNik7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWJhc2UtbmFycm93LCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiByZW0oLTYpO1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDM2KTtcclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1sZycpIHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDQwKTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQmLmg0IHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZm9udCgyMSwgMzApO1xyXG5cdFx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogcmVtKDIuMSk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0Ji5oYXMtcHJpbWFyeS1jb2xvciB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQoMjcsIDMzKTtcclxuXHJcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSgyNSk7XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmb250KDMwLCAzNik7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PWxnJykge1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQoNDIsIDQyKTtcclxuXHJcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDQwKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmlzLXN0eWxlLWxlYWRwYXJhZ3JhcGgge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDMxKTtcclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1sZycpIHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogcmVtKDQ2KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHAge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZm9udCgxOCwgMzApO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LndwLWJsb2NrLWJ1dHRvbiB7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiByZW0oNTIpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0YTpub3QoLndwLWJsb2NrLWJ1dHRvbl9fbGluaykge1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdFx0XHRcdGNvbG9yOiAkY29sb3ItLXNlY29uZGFyeTtcclxuXHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnMtc3BlZWQgJHRyYW5zLWZ1bmM7XHJcblxyXG5cdFx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkY29sb3ItLXByaW1hcnk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQud3AtYmxvY2stc3BhY2VyIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49eGwnKSB7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCZfX3RpdGxlIHtcclxuXHRcdFx0QGluY2x1ZGUgZm9udCgyNywgMjYpO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdGNvbG9yOiAkY29sb3ItLXNlY29uZGFyeTtcclxuXHJcblx0XHRcdG1hcmdpbi10b3A6IHJlbSg0MCk7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSgyOCk7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmb250KDMyLCAzMCk7XHJcblxyXG5cdFx0XHRcdG1hcmdpbi10b3A6IHJlbSgyMCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PXhsJykge1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IHJlbSgwKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmN0YSArIC5jdGEtaW5mbyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJz49bGcnKSB7XHJcblx0XHRtYXJnaW4tdG9wOiByZW0oLTEwMCk7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgnPj14eGwnKSB7XHJcblx0XHRtYXJnaW4tdG9wOiByZW0oLTE5NCk7XHJcblx0fVxyXG59XHJcblxyXG4uY3RhICsgLmN0YS1pbmZvW2RhdGEtYmFja2dyb3VuZD1cImdyYXlcIl0ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCc8PTc2N3B4Jykge1xyXG5cdFx0bWFyZ2luLXRvcDogcmVtKC0xMDApO1xyXG5cdH1cclxufVxyXG5cclxuLnRleHQtbWVkaWEgKyAuY3RhLWluZm9bZGF0YS1iYWNrZ3JvdW5kPVwiZ3JheVwiXSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJz49bGcnKSB7XHJcblx0XHRtYXJnaW4tdG9wOiByZW0oLTE1MCk7XHJcblx0fVxyXG59XHJcblxyXG4uaGVyby1zaW1wbGUgKyAuY3RhLWluZm9bZGF0YS1iYWNrZ3JvdW5kPVwiZ3JheVwiXSB7XHJcblx0bWFyZ2luLXRvcDogcmVtKDApO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xyXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXHJcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xyXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxyXG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XHJcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XHJcbi8vXHJcbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXHJcbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjEuNC45XHJcbi8vXHJcbi8vICAgICAgICAgICAgICAgIGh0dHA6Ly9pbmNsdWRlLW1lZGlhLmNvbVxyXG4vL1xyXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcclxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxyXG4vL1xyXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXHJcblxyXG5cclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcclxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XHJcbi8vL1xyXG4kYnJlYWtwb2ludHM6IChcclxuXHQncGhvbmUnOiAzMjBweCxcclxuXHQndGFibGV0JzogNzY4cHgsXHJcblx0J2Rlc2t0b3AnOiAxMDI0cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLy9cclxuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcclxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcclxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcclxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xyXG4vLy8gICk7XHJcbi8vL1xyXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcclxuXHQnc2NyZWVuJzogJ3NjcmVlbicsXHJcblx0J3ByaW50JzogJ3ByaW50JyxcclxuXHQnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxyXG5cdCdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcclxuXHQncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxyXG5cdCdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXHJcblx0J3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cclxuLy8vXHJcbiR1bml0LWludGVydmFsczogKFxyXG5cdCdweCc6IDEsXHJcblx0J2VtJzogMC4wMSxcclxuXHQncmVtJzogMC4xLFxyXG5cdCcnOiAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xyXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3JcclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXHJcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gICAuZm9vIHtcclxuLy8vICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XHJcblxyXG4vLy8vXHJcbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXHJcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxyXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcclxuXHRAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xyXG5cdFx0QGVycm9yICRtZXNzYWdlO1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QHdhcm4gJG1lc3NhZ2U7XHJcblx0XHQkXzogbm9vcCgpO1xyXG5cdH1cclxuXHJcblx0QHJldHVybiAkbWVzc2FnZTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxyXG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXHJcbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXHJcbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XHJcblx0QGlmIGltLWxvZygkbWVzc2FnZSkge31cclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xyXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cclxuLy8vXHJcbkBmdW5jdGlvbiBub29wKCkge31cclxuXHJcbi8vL1xyXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XHJcblx0JG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XHJcblxyXG5cdEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xyXG5cdFx0QGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XHJcblx0fVxyXG5cclxuXHRAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcclxuXHRcdEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcblx0XHRcdCRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XHJcblx0XHRcdCRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG5cdFx0XHQkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XHJcblxyXG5cdFx0XHRAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcclxuXHRcdFx0XHRcdCgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xyXG5cdFx0XHRcdEByZXR1cm4gZmFsc2U7XHJcblx0XHRcdH1cclxuXHRcdH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG5cdFx0XHRAcmV0dXJuIGZhbHNlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0QHJldHVybiB0cnVlO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBQYXJzaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XHJcblx0QGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XHJcblx0XHRAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuXHRcdFx0QHJldHVybiAkb3BlcmF0b3I7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcblx0Ly8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuXHQvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuXHQvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG5cdC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuXHQkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG5cdCRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG5cdCRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xyXG5cdCRkaW1lbnNpb246ICd3aWR0aCc7XHJcblxyXG5cdEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xyXG5cdFx0JGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICRkaW1lbnNpb247XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xyXG5cdEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuXHQkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuXHQkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcclxuXHJcblx0QGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XHJcblx0XHQkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0JHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcclxuXHR9XHJcblxyXG5cdCRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XHJcblxyXG5cdEBpZiBub3QgJGludGVydmFsIHtcclxuXHRcdC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cclxuXHRcdC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcblx0XHQvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuXHRcdC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXHJcblx0XHQvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcblx0XHQkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XHJcblx0fVxyXG5cclxuXHRAaWYgJG9wZXJhdG9yID09ICc+JyB7XHJcblx0XHQkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcclxuXHR9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xyXG5cdFx0JHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICR2YWx1ZTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxyXG4vLy9cclxuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcclxuXHQvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXHJcblx0Ly8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcclxuXHRAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xyXG5cdFx0QHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xyXG5cdH1cclxuXHJcblx0JG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XHJcblx0JGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG5cdCRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG5cdCR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblxyXG5cdEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcclxuLy8vXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3RcclxuLy8vXHJcbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XHJcblx0QGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xyXG5cdFx0QHJldHVybiAoKTtcclxuXHR9XHJcblxyXG5cdCRyZXN1bHQ6ICgpO1xyXG5cclxuXHRAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XHJcblx0XHQkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xyXG5cdH1cclxuXHJcblx0QHJldHVybiAkcmVzdWx0O1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XHJcbi8vL1xyXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xyXG5cdEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xyXG5cdFx0QHJldHVybiAkdmFsdWU7XHJcblx0fSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xyXG5cdFx0JF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcclxuXHR9XHJcblxyXG5cdCRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xyXG5cdCRyZXN1bHQ6IDA7XHJcblx0JGRpZ2l0czogMDtcclxuXHQkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XHJcblx0JG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xyXG5cclxuXHQvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcclxuXHRAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XHJcblx0XHQkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xyXG5cdH1cclxuXHJcblx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xyXG5cdFx0JGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcclxuXHJcblx0XHRAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XHJcblx0XHRcdEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXHJcblx0XHR9XHJcblxyXG5cdFx0QGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcclxuXHRcdFx0JGRpZ2l0czogMTtcclxuXHRcdH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcclxuXHRcdFx0JHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0JGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xyXG5cdFx0XHQkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0QHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxyXG4vLy9cclxuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XHJcblx0JHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcclxuXHJcblx0QGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xyXG5cdFx0JF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXHJcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXHJcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcclxuLy8vIGZvciBpbnN0YW5jZS5cclxuLy8vXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2BcclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcclxuXHQvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcblx0JGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xyXG5cdCRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcclxuXHJcblx0Ly8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcblx0JGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XHJcblx0JG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XHJcblxyXG5cdEBjb250ZW50O1xyXG5cclxuXHQvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcblx0JGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XHJcblx0JG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cclxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XHJcbi8vL1xyXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcclxuXHRAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXHJcblx0XHRcdChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XHJcblx0XHRAY29udGVudDtcclxuXHR9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcclxuXHRcdEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcclxuXHRcdFx0Ly8gUmVjdXJzaXZlIGNhbGxcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XHJcblx0XHRcdFx0QGNvbnRlbnQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLy8qIEJSRUFLUE9JTlRTICovL1xyXG4kYnJlYWtwb2ludHM6ICh4czogMzc1cHgsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQ0MHB4LCBtYXg6IDE5MjBweCk7XHJcblxyXG4vLyogQ09OVEFJTkVSIHdpZHRoIHZhcmlhYmxlcyAqLy9cclxuJGNvbnRhaW5lci1tb2JpbGU6IDcyMHB4O1xyXG4kY29udGFpbmVyLWxnOiA5NjBweDtcclxuJGNvbnRhaW5lci14bDogMTA4MHB4O1xyXG4kY29udGFpbmVyLXh4bDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLXdpZGUtc2l6ZSk7IC8vIHRoZW1lLmpzb24gc2V0dGluZ3MubGF5b3V0XHJcbiRjb250YWluZXItcGFkZGluZzogNzA7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmN1c3RvbS5iYXNlUGFkZGluZ1xyXG5cclxuLy8qIEZPTlRTICovL1xyXG4kZm9udC1iYXNlOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LWZhbWlseS0tYmFzZS1mb250KTsgLy90aGVtZS5qc29uIHNldHRpbmcudHlwb2dyYXBoeS5mb250RmFtaWxpZXNcclxuJGZvbnQtYmFzZS1uYXJyb3c6ICdkaW4tMjAxNC1uYXJyb3cnO1xyXG4kZm9udC10aXRsZTogJ21pbmVydmEtbW9kZXJuJztcclxuXHJcbiRmb250LXNpemUtZGVza3RvcDogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1tZWRpdW0pOy8vdGhlbWUuanNvbiBzZXR0aW5nLnR5cG9ncmFwaHkuZm9udFNpemVzXHJcbiRsaW5lLWhlaWdodC1kZXNrdG9wOiAxLjU7XHJcblxyXG4vLyBTZXQgTW9iaWxlIGZvbnQtc2l6ZSAvIGxpbmUtaGVpZ2h0IHN0eWxlcyBpbiB0aGVtZS5qc29uIHN0eWxlcy50eXBvZ3JhcGh5XHJcblxyXG4vLyogU1BBQ0lOR1MgKi8vXHJcblxyXG4vLyBCbG9jayBTcGFjaW5nc1xyXG4kc3BhY2luZy1tb2JpbGU6IDI2OyAvL3RoZW1lLmpzb24gc2V0dGluZy5zcGFjaW5nLnNwYWNpbmdTaXplc1xyXG4kc3BhY2luZzogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tbWVkaXVtKTtcclxuXHJcbiRtYXJnaW4tbW9iaWxlOiAzMDsgLy90aGVtZS5qc29uIHNldHRpbmcuc3BhY2luZy5zcGFjaW5nU2l6ZXNcclxuJG1hcmdpbjogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tbWVkaXVtKTtcclxuXHJcbi8vIE1lZGlhIFNwYWNpbmdcclxuJG1lZGlhLW1hcmdpbjogdmFyKC0td3AtLWN1c3RvbS0tbWVkaWEtc3BhY2luZyk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmN1c3RvbS5tZWRpYVNwYWNpbmc7IC8vcHhcclxuXHJcbi8vKiBDT0xPUlMgKi8vXHJcblxyXG4vLyBCYXNlIENvbG9yc1xyXG4kY29sb3ItLWRhcms6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1kYXJrKTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcclxuJGNvbG9yLS1saWdodDogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0KTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcclxuXHJcbi8vIE1haW4gQ29sb3JzXHJcbiRjb2xvci0tcHJpbWFyeTogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXByaW1hcnkpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxyXG4kY29sb3ItLXNlY29uZGFyeTogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXNlY29uZGFyeSk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXHJcbiRjb2xvci0tZ3JheTogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWdyYXkpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxyXG4kY29sb3ItLWdyYXktMTogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWdyYXktMSk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXHJcbiRjb2xvci0tZ3JheS0yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tZ3JheS0yKTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcclxuXHJcbi8vIE90aGVyIENvbG9yc1xyXG4kY29sb3ItLTE6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1jb2xvci0xKTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcclxuJGNvbG9yLS0yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY29sb3ItMik7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXHJcbiRjb2xvci0tMzogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWNvbG9yLTMpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxyXG4kY29sb3ItLTQ6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1jb2xvci00KTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcclxuJGNvbG9yLS01OiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY29sb3ItNSk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXHJcblxyXG4vLyBFbGVtZW50cyBDb2xvcnNcclxuJGNvbG9yLS1iZzogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJnKTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcclxuJGNvbG9yLS1ib2R5OiAkY29sb3ItLWxpZ2h0O1xyXG4kY29sb3ItLWJvcmRlcjogJGNvbG9yLS1kYXJrO1xyXG5cclxuLy8gVGhlbWUgVGV4dCBDb2xvcnNcclxuJGNvbG9yLS10ZXh0OiAkY29sb3ItLWRhcms7XHJcbiRjb2xvci0tdGV4dC1saWdodDogJGNvbG9yLS1saWdodDtcclxuJGNvbG9yLS1saW5rOiAkY29sb3ItLXByaW1hcnk7XHJcbiRjb2xvci0tbGluay1ob3ZlcjogJGNvbG9yLS1kYXJrO1xyXG5cclxuLy8qIE9USEVSICovL1xyXG5cclxuLy8gVHJhbnNpdGlvbnNcclxuJHRyYW5zLXNwZWVkOiB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKTtcclxuJHRyYW5zLXNwZWVkLWxvbmdlcjogdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1sb25nZXIpO1xyXG4kdHJhbnMtc3BlZWQtYW5pbWF0aW9uOiB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWFuaW1hdGlvbik7XHJcbiR0cmFucy1zcGVlZC1hbmltYXRpb24tcGF0dGVybjogdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1hbmltYXRpb24tcGF0dGVybik7XHJcbiR0cmFucy1mdW5jOiB2YXIoLS10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbik7XHJcblxyXG4vLyBPdXRsaW5lXHJcbiRvdXRsaW5lOiAycHggc29saWQgYmx1ZTsiLCIvL1xyXG4vLyBNSVhJTlNcclxuLy9cclxuQG1peGluIGNmIHtcclxuXHQmOmJlZm9yZSxcclxuXHQmOmFmdGVyIHtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cclxuXHRcdGRpc3BsYXk6IHRhYmxlO1xyXG5cdH1cclxuXHJcblx0JjphZnRlciB7XHJcblx0XHRjbGVhcjogYm90aDtcclxuXHR9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiB2dy1zaXplKCRzLCAkdzogMTQ0MCkge1xyXG5cdEByZXR1cm4gKCRzIC8gJHcpICogMTAwICsgdnc7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiByZW0oJHNpemVWYWx1ZTogMTYpIHtcclxuXHRAcmV0dXJuIGNhbGMoJHNpemVWYWx1ZSAvIDE2KSArIHJlbTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHJlbCgkc2l6ZSwgJHJlbCkge1xyXG5cdEByZXR1cm4gY2FsYygkc2l6ZSAvICRyZWwpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZW0oJHNpemUsICRyZWwpIHtcclxuXHRAcmV0dXJuIHJlbCgkc2l6ZSwgJHJlbCkgKiAxZW07XHJcbn1cclxuXHJcbkBtaXhpbiBvYmplY3QtZml0LWNvdmVyKCkge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cclxuXHRvYmplY3QtZml0OiBjb3ZlcjtcclxufVxyXG5cclxuQG1peGluIGxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRsaW5lLWhlaWdodDogMCkge1xyXG5cdEBpZiAkbGluZS1oZWlnaHQgIT0gMCB7XHJcblx0XHRAaWYgJGxpbmUtaGVpZ2h0IDwgMTAge1xyXG5cdFx0XHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG5cdFx0fVxyXG5cdFx0QGVsc2Uge1xyXG5cdFx0XHRsaW5lLWhlaWdodDogY2FsYygkbGluZS1oZWlnaHQgLyAkZm9udC1zaXplKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbkBtaXhpbiBsZXR0ZXItc3BhY2luZygkZm9udC1zaXplLCAkbGV0dGVyLXNwYWNpbmc6IDApIHtcclxuXHRAaWYgJGxldHRlci1zcGFjaW5nICE9IDAge1xyXG5cdFx0QGlmICRsZXR0ZXItc3BhY2luZyA8IDEwIHtcclxuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IHJlbSgkbGV0dGVyLXNwYWNpbmcpO1xyXG5cdFx0fVxyXG5cdFx0QGVsc2Uge1xyXG5cdFx0XHRsZXR0ZXItc3BhY2luZzogcmVtKCgkZm9udC1zaXplICogJGxldHRlci1zcGFjaW5nKSAvIDEwMDApO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQG1peGluIGZvbnQoJGZvbnQtc2l6ZS1tYXAsICRsaW5lLWhlaWdodDogMCwgJGxldHRlci1zcGFjaW5nOiAwKSB7XHJcblx0QGlmIHR5cGUtb2YoJGZvbnQtc2l6ZS1tYXApID09ICdtYXAnIHtcclxuXHRcdEBlYWNoICRicmVha3BvaW50LCAkZm9udC1zaXplIGluICRmb250LXNpemUtbWFwIHtcclxuXHRcdFx0QGlmICRicmVha3BvaW50ID09IG51bGwge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKCRmb250LXNpemUpO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBsaW5lLWhlaWdodChtYXAtZ2V0KCRmb250LXNpemUtbWFwLCBudGgobWFwLWtleXMoJGZvbnQtc2l6ZS1tYXApLCAtMSkpLCAkbGluZS1oZWlnaHQpO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKG1hcC1nZXQoJGZvbnQtc2l6ZS1tYXAsIG50aChtYXAta2V5cygkZm9udC1zaXplLW1hcCksIC0xKSksICRsZXR0ZXItc3BhY2luZyk7XHJcblx0XHRcdH1cclxuXHRcdFx0QGVsc2Uge1xyXG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkpIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtKCRmb250LXNpemUpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRAZWxzZSB7XHJcblx0XHRmb250LXNpemU6IHJlbSgkZm9udC1zaXplLW1hcCk7XHJcblxyXG5cdFx0QGluY2x1ZGUgbGluZS1oZWlnaHQoJGZvbnQtc2l6ZS1tYXAsICRsaW5lLWhlaWdodCk7XHJcblx0XHRAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygkZm9udC1zaXplLW1hcCwgJGxldHRlci1zcGFjaW5nKTtcclxuXHR9XHJcbn1cclxuIl19 *\/\n<\/style>\t<div class=\"container\">\r\n\t\t<div class=\"cta-info__inner cta-info__inner--gap-63 cta-info__inner--image-side-default\">\r\n\t\t\t\t\t\t<div class=\"cta-info__content cta-info__content--image-side-default bounce bounce-left\">\r\n\t\t\t\t<div class=\"acf-innerblocks-container\">\n<style>\/* Text Elements *\/\np.is-style-uppercase {\n  text-transform: uppercase;\n}\np.is-style-preheading {\n  color: var(--wp--preset--color--secondary);\n  text-transform: uppercase;\n}\np.is-style-subheading {\n  font-size: 1rem;\n  line-height: 1.25;\n  letter-spacing: 0.203125rem;\n  font-family: var(--wp--preset--font-family--base-font), sans-serif;\n  font-weight: 800;\n  color: var(--wp--preset--color--dark);\n  text-transform: uppercase;\n  margin-bottom: 1.5rem;\n}\n@media (min-width: 992px) {\n  p.is-style-subheading {\n    font-size: 1.125rem;\n    line-height: 1.2222222222;\n    letter-spacing: 0.221875rem;\n  }\n}\np.is-style-leadparagraph {\n  font-size: 1.3125rem !important;\n  line-height: 1.875rem !important;\n  font-weight: 700;\n  font-family: \"minerva-modern\", sans-serif;\n}\n\/*# sourceMappingURL=data:application\/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYi9hcHAvdGhlbWVzL2ticm8vcGFydHMvZ3V0ZW5iZXJnL2NvcmUtcGFyYWdyYXBoL3N0eWxlLnNjc3MiLCJ3ZWIvYXBwL3RoZW1lcy9rYnJvL2Fzc2V0cy9jc3MvX19zZXR0aW5ncy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWIvYXBwL3RoZW1lcy9rYnJvL2Fzc2V0cy9jc3MvX19zZXR0aW5ncy9fbWl4aW5zLnNjc3MiLCJ3ZWIvYXBwL3RoZW1lcy9rYnJvL2Fzc2V0cy9jc3MvX19zZXR0aW5ncy9faW5jbHVkZS1tZWRpYS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0FBRUM7RUFDQzs7QUFHRDtFQUNDLE9DK0JpQjtFRDlCakI7O0FBRUQ7RUVzRUM7RUFqQ0M7RUZuQ0Q7RUFDQTtFQUNBO0VBQ0EsT0NrQlk7RURqQlo7RUFFQTs7QUcyaEJBO0VIbmlCRDtJRXNFQztJQWpDQztJRnhCQTs7O0FBR0Y7RUFDQztFQUNBO0VBQ0E7RUFDQSIsImZpbGUiOiJ3ZWIvYXBwL3RoZW1lcy9rYnJvL3BhcnRzL2d1dGVuYmVyZy9jb3JlLXBhcmFncmFwaC9zdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICdfX3NldHRpbmdzL2luaXQnO1xyXG5cclxuLyogVGV4dCBFbGVtZW50cyAqL1xyXG5wIHtcclxuXHQmLmlzLXN0eWxlLXVwcGVyY2FzZSB7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdH1cclxuXHJcblx0Ji5pcy1zdHlsZS1wcmVoZWFkaW5nIHtcclxuXHRcdGNvbG9yOiAkY29sb3ItLXNlY29uZGFyeTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0fVxyXG5cdCYuaXMtc3R5bGUtc3ViaGVhZGluZyB7XHJcblx0XHRAaW5jbHVkZSBmb250KDE2LCAyMCk7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogcmVtKDMuMjUpO1xyXG5cdFx0Zm9udC1mYW1pbHk6ICRmb250LWJhc2UsIHNhbnMtc2VyaWY7XHJcblx0XHRmb250LXdlaWdodDogODAwO1xyXG5cdFx0Y29sb3I6ICRjb2xvci0tZGFyaztcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtKDI0KTtcclxuXHRcdC8vIG1hcmdpbi1yaWdodDogcmVtKC0zLjYpO1xyXG5cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PWxnJykge1xyXG5cdFx0XHRAaW5jbHVkZSBmb250KDE4LCAyMik7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiByZW0oMy41NSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdCYuaXMtc3R5bGUtbGVhZHBhcmFncmFwaCB7XHJcblx0XHRmb250LXNpemU6IHJlbSgyMSkgIWltcG9ydGFudDtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0oMzApICFpbXBvcnRhbnQ7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0Zm9udC1mYW1pbHk6ICRmb250LXRpdGxlLCBzYW5zLXNlcmlmO1xyXG5cdH1cclxufVxyXG4iLCIvLyogQlJFQUtQT0lOVFMgKi8vXHJcbiRicmVha3BvaW50czogKHhzOiAzNzVweCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDQwcHgsIG1heDogMTkyMHB4KTtcclxuXHJcbi8vKiBDT05UQUlORVIgd2lkdGggdmFyaWFibGVzICovL1xyXG4kY29udGFpbmVyLW1vYmlsZTogNzIwcHg7XHJcbiRjb250YWluZXItbGc6IDk2MHB4O1xyXG4kY29udGFpbmVyLXhsOiAxMDgwcHg7XHJcbiRjb250YWluZXIteHhsOiB2YXIoLS13cC0tc3R5bGUtLWdsb2JhbC0td2lkZS1zaXplKTsgLy8gdGhlbWUuanNvbiBzZXR0aW5ncy5sYXlvdXRcclxuJGNvbnRhaW5lci1wYWRkaW5nOiA3MDsgLy90aGVtZS5qc29uIHNldHRpbmcuY3VzdG9tLmJhc2VQYWRkaW5nXHJcblxyXG4vLyogRk9OVFMgKi8vXHJcbiRmb250LWJhc2U6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtZmFtaWx5LS1iYXNlLWZvbnQpOyAvL3RoZW1lLmpzb24gc2V0dGluZy50eXBvZ3JhcGh5LmZvbnRGYW1pbGllc1xyXG4kZm9udC1iYXNlLW5hcnJvdzogJ2Rpbi0yMDE0LW5hcnJvdyc7XHJcbiRmb250LXRpdGxlOiAnbWluZXJ2YS1tb2Rlcm4nO1xyXG5cclxuJGZvbnQtc2l6ZS1kZXNrdG9wOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLW1lZGl1bSk7Ly90aGVtZS5qc29uIHNldHRpbmcudHlwb2dyYXBoeS5mb250U2l6ZXNcclxuJGxpbmUtaGVpZ2h0LWRlc2t0b3A6IDEuNTtcclxuXHJcbi8vIFNldCBNb2JpbGUgZm9udC1zaXplIC8gbGluZS1oZWlnaHQgc3R5bGVzIGluIHRoZW1lLmpzb24gc3R5bGVzLnR5cG9ncmFwaHlcclxuXHJcbi8vKiBTUEFDSU5HUyAqLy9cclxuXHJcbi8vIEJsb2NrIFNwYWNpbmdzXHJcbiRzcGFjaW5nLW1vYmlsZTogMjY7IC8vdGhlbWUuanNvbiBzZXR0aW5nLnNwYWNpbmcuc3BhY2luZ1NpemVzXHJcbiRzcGFjaW5nOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1tZWRpdW0pO1xyXG5cclxuJG1hcmdpbi1tb2JpbGU6IDMwOyAvL3RoZW1lLmpzb24gc2V0dGluZy5zcGFjaW5nLnNwYWNpbmdTaXplc1xyXG4kbWFyZ2luOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1tZWRpdW0pO1xyXG5cclxuLy8gTWVkaWEgU3BhY2luZ1xyXG4kbWVkaWEtbWFyZ2luOiB2YXIoLS13cC0tY3VzdG9tLS1tZWRpYS1zcGFjaW5nKTsgLy90aGVtZS5qc29uIHNldHRpbmcuY3VzdG9tLm1lZGlhU3BhY2luZzsgLy9weFxyXG5cclxuLy8qIENPTE9SUyAqLy9cclxuXHJcbi8vIEJhc2UgQ29sb3JzXHJcbiRjb2xvci0tZGFyazogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWRhcmspOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxyXG4kY29sb3ItLWxpZ2h0OiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbGlnaHQpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxyXG5cclxuLy8gTWFpbiBDb2xvcnNcclxuJGNvbG9yLS1wcmltYXJ5OiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeSk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXHJcbiRjb2xvci0tc2Vjb25kYXJ5OiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tc2Vjb25kYXJ5KTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcclxuJGNvbG9yLS1ncmF5OiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tZ3JheSk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXHJcbiRjb2xvci0tZ3JheS0xOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tZ3JheS0xKTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcclxuJGNvbG9yLS1ncmF5LTI6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ncmF5LTIpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxyXG5cclxuLy8gT3RoZXIgQ29sb3JzXHJcbiRjb2xvci0tMTogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWNvbG9yLTEpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxyXG4kY29sb3ItLTI6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1jb2xvci0yKTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcclxuJGNvbG9yLS0zOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY29sb3ItMyk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXHJcbiRjb2xvci0tNDogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWNvbG9yLTQpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxyXG4kY29sb3ItLTU6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1jb2xvci01KTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcclxuXHJcbi8vIEVsZW1lbnRzIENvbG9yc1xyXG4kY29sb3ItLWJnOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmcpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxyXG4kY29sb3ItLWJvZHk6ICRjb2xvci0tbGlnaHQ7XHJcbiRjb2xvci0tYm9yZGVyOiAkY29sb3ItLWRhcms7XHJcblxyXG4vLyBUaGVtZSBUZXh0IENvbG9yc1xyXG4kY29sb3ItLXRleHQ6ICRjb2xvci0tZGFyaztcclxuJGNvbG9yLS10ZXh0LWxpZ2h0OiAkY29sb3ItLWxpZ2h0O1xyXG4kY29sb3ItLWxpbms6ICRjb2xvci0tcHJpbWFyeTtcclxuJGNvbG9yLS1saW5rLWhvdmVyOiAkY29sb3ItLWRhcms7XHJcblxyXG4vLyogT1RIRVIgKi8vXHJcblxyXG4vLyBUcmFuc2l0aW9uc1xyXG4kdHJhbnMtc3BlZWQ6IHZhcigtLXRyYW5zaXRpb24tc3BlZWQpO1xyXG4kdHJhbnMtc3BlZWQtbG9uZ2VyOiB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWxvbmdlcik7XHJcbiR0cmFucy1zcGVlZC1hbmltYXRpb246IHZhcigtLXRyYW5zaXRpb24tc3BlZWQtYW5pbWF0aW9uKTtcclxuJHRyYW5zLXNwZWVkLWFuaW1hdGlvbi1wYXR0ZXJuOiB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWFuaW1hdGlvbi1wYXR0ZXJuKTtcclxuJHRyYW5zLWZ1bmM6IHZhcigtLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKTtcclxuXHJcbi8vIE91dGxpbmVcclxuJG91dGxpbmU6IDJweCBzb2xpZCBibHVlOyIsIi8vXHJcbi8vIE1JWElOU1xyXG4vL1xyXG5AbWl4aW4gY2Yge1xyXG5cdCY6YmVmb3JlLFxyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0Y29udGVudDogJyc7XHJcblxyXG5cdFx0ZGlzcGxheTogdGFibGU7XHJcblx0fVxyXG5cclxuXHQmOmFmdGVyIHtcclxuXHRcdGNsZWFyOiBib3RoO1xyXG5cdH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHZ3LXNpemUoJHMsICR3OiAxNDQwKSB7XHJcblx0QHJldHVybiAoJHMgLyAkdykgKiAxMDAgKyB2dztcclxufVxyXG5cclxuQGZ1bmN0aW9uIHJlbSgkc2l6ZVZhbHVlOiAxNikge1xyXG5cdEByZXR1cm4gY2FsYygkc2l6ZVZhbHVlIC8gMTYpICsgcmVtO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gcmVsKCRzaXplLCAkcmVsKSB7XHJcblx0QHJldHVybiBjYWxjKCRzaXplIC8gJHJlbCk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBlbSgkc2l6ZSwgJHJlbCkge1xyXG5cdEByZXR1cm4gcmVsKCRzaXplLCAkcmVsKSAqIDFlbTtcclxufVxyXG5cclxuQG1peGluIG9iamVjdC1maXQtY292ZXIoKSB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblxyXG5cdG9iamVjdC1maXQ6IGNvdmVyO1xyXG59XHJcblxyXG5AbWl4aW4gbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0OiAwKSB7XHJcblx0QGlmICRsaW5lLWhlaWdodCAhPSAwIHtcclxuXHRcdEBpZiAkbGluZS1oZWlnaHQgPCAxMCB7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcblx0XHR9XHJcblx0XHRAZWxzZSB7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiBjYWxjKCRsaW5lLWhlaWdodCAvICRmb250LXNpemUpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQG1peGluIGxldHRlci1zcGFjaW5nKCRmb250LXNpemUsICRsZXR0ZXItc3BhY2luZzogMCkge1xyXG5cdEBpZiAkbGV0dGVyLXNwYWNpbmcgIT0gMCB7XHJcblx0XHRAaWYgJGxldHRlci1zcGFjaW5nIDwgMTAge1xyXG5cdFx0XHRsZXR0ZXItc3BhY2luZzogcmVtKCRsZXR0ZXItc3BhY2luZyk7XHJcblx0XHR9XHJcblx0XHRAZWxzZSB7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiByZW0oKCRmb250LXNpemUgKiAkbGV0dGVyLXNwYWNpbmcpIC8gMTAwMCk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5AbWl4aW4gZm9udCgkZm9udC1zaXplLW1hcCwgJGxpbmUtaGVpZ2h0OiAwLCAkbGV0dGVyLXNwYWNpbmc6IDApIHtcclxuXHRAaWYgdHlwZS1vZigkZm9udC1zaXplLW1hcCkgPT0gJ21hcCcge1xyXG5cdFx0QGVhY2ggJGJyZWFrcG9pbnQsICRmb250LXNpemUgaW4gJGZvbnQtc2l6ZS1tYXAge1xyXG5cdFx0XHRAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oJGZvbnQtc2l6ZSk7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGxpbmUtaGVpZ2h0KG1hcC1nZXQoJGZvbnQtc2l6ZS1tYXAsIG50aChtYXAta2V5cygkZm9udC1zaXplLW1hcCksIC0xKSksICRsaW5lLWhlaWdodCk7XHJcblx0XHRcdFx0QGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcobWFwLWdldCgkZm9udC1zaXplLW1hcCwgbnRoKG1hcC1rZXlzKCRmb250LXNpemUtbWFwKSwgLTEpKSwgJGxldHRlci1zcGFjaW5nKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAZWxzZSB7XHJcblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KSkge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0oJGZvbnQtc2l6ZSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdEBlbHNlIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtKCRmb250LXNpemUtbWFwKTtcclxuXHJcblx0XHRAaW5jbHVkZSBsaW5lLWhlaWdodCgkZm9udC1zaXplLW1hcCwgJGxpbmUtaGVpZ2h0KTtcclxuXHRcdEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKCRmb250LXNpemUtbWFwLCAkbGV0dGVyLXNwYWNpbmcpO1xyXG5cdH1cclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cclxuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxyXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cclxuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcclxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxyXG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxyXG4vL1xyXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xyXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxyXG4vL1xyXG4vLyAgICAgICAgICAgICAgICBodHRwOi8vaW5jbHVkZS1tZWRpYS5jb21cclxuLy9cclxuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXHJcbi8vICAgICAgICAgICAgICAgICAgSHVnbyBHaXJhdWRlbCAoQGh1Z29naXJhdWRlbClcclxuLy9cclxuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxyXG5cclxuXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXHJcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xyXG4vLy9cclxuJGJyZWFrcG9pbnRzOiAoXHJcblx0J3Bob25lJzogMzIwcHgsXHJcblx0J3RhYmxldCc6IDc2OHB4LFxyXG5cdCdkZXNrdG9wJzogMTAyNHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcclxuLy8vICApO1xyXG4vLy9cclxuJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcblx0J3NjcmVlbic6ICdzY3JlZW4nLFxyXG5cdCdwcmludCc6ICdwcmludCcsXHJcblx0J2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcclxuXHQnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXHJcblx0J3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcclxuXHQncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxyXG5cdCdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XHJcbi8vL1xyXG4kdW5pdC1pbnRlcnZhbHM6IChcclxuXHQncHgnOiAxLFxyXG5cdCdlbSc6IDAuMDEsXHJcblx0J3JlbSc6IDAuMSxcclxuXHQnJzogMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcclxuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXHJcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xyXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAgLmZvbyB7XHJcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xyXG5cclxuLy8vL1xyXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxyXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcclxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XHJcblx0QGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcclxuXHRcdEBlcnJvciAkbWVzc2FnZTtcclxuXHR9IEBlbHNlIHtcclxuXHRcdEB3YXJuICRtZXNzYWdlO1xyXG5cdFx0JF86IG5vb3AoKTtcclxuXHR9XHJcblxyXG5cdEByZXR1cm4gJG1lc3NhZ2U7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcclxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxyXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxyXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuQG1peGluIGxvZygkbWVzc2FnZSkge1xyXG5cdEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcclxuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXHJcbi8vL1xyXG5AZnVuY3Rpb24gbm9vcCgpIHt9XHJcblxyXG4vLy9cclxuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vL1xyXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xyXG5cdCRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xyXG5cclxuXHRAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcclxuXHRcdEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxyXG5cdH1cclxuXHJcblx0QGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XHJcblx0XHRAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG5cdFx0XHQkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xyXG5cdFx0XHQkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuXHRcdFx0JHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuXHRcdFx0QGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXHJcblx0XHRcdFx0XHQoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcclxuXHRcdFx0XHRAcmV0dXJuIGZhbHNlO1xyXG5cdFx0XHR9XHJcblx0XHR9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcclxuXHRcdFx0QHJldHVybiBmYWxzZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEByZXR1cm4gdHJ1ZTtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gUGFyc2luZyBlbmdpbmVcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xyXG5cdEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xyXG5cdFx0QGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcblx0XHRcdEByZXR1cm4gJG9wZXJhdG9yO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG5cdC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcblx0Ly8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcblx0Ly8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuXHQvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcblx0JF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuXHQkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuXHQkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcclxuXHQkZGltZW5zaW9uOiAnd2lkdGgnO1xyXG5cclxuXHRAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcclxuXHRcdCRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xyXG5cdH1cclxuXHJcblx0QHJldHVybiAkZGltZW5zaW9uO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcclxuXHRAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcblx0JG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblx0JHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XHJcblxyXG5cdEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xyXG5cdFx0JHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcclxuXHR9IEBlbHNlIHtcclxuXHRcdCR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XHJcblx0fVxyXG5cclxuXHQkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xyXG5cclxuXHRAaWYgbm90ICRpbnRlcnZhbCB7XHJcblx0XHQvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcblx0XHQvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG5cdFx0Ly8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcblx0XHQvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG5cdFx0Ly8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG5cdFx0JF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xyXG5cdH1cclxuXHJcblx0QGlmICRvcGVyYXRvciA9PSAnPicge1xyXG5cdFx0JHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XHJcblx0fSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcclxuXHRcdCR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xyXG5cdH1cclxuXHJcblx0QHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2VcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcclxuLy8vXHJcbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XHJcblx0Ly8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxyXG5cdC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXHJcblx0QGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcclxuXHRcdEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcclxuXHR9XHJcblxyXG5cdCRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xyXG5cdCRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuXHQkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuXHQkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuXHRAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcclxufVxyXG5cclxuLy8vXHJcbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2VcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XHJcbi8vL1xyXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xyXG5cdEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcclxuXHRcdEByZXR1cm4gKCk7XHJcblx0fVxyXG5cclxuXHQkcmVzdWx0OiAoKTtcclxuXHJcblx0QGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xyXG5cdFx0JHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcclxuXHR9XHJcblxyXG5cdEByZXR1cm4gJHJlc3VsdDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfVxyXG4vLy9cclxuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcclxuXHRAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcclxuXHRcdEByZXR1cm4gJHZhbHVlO1xyXG5cdH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcclxuXHRcdCRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XHJcblx0fVxyXG5cclxuXHQkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcclxuXHQkcmVzdWx0OiAwO1xyXG5cdCRkaWdpdHM6IDA7XHJcblx0JG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xyXG5cdCRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcclxuXHJcblx0Ly8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXHJcblx0QGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xyXG5cdFx0JHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcclxuXHR9XHJcblxyXG5cdEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcclxuXHRcdCRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XHJcblxyXG5cdFx0QGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xyXG5cdFx0XHRAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxyXG5cdFx0fVxyXG5cclxuXHRcdEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XHJcblx0XHRcdCRkaWdpdHM6IDE7XHJcblx0XHR9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XHJcblx0XHRcdCRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xyXG5cdFx0fSBAZWxzZSB7XHJcblx0XHRcdCRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcclxuXHRcdFx0JHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcclxuLy8vXHJcbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xyXG5cdCR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XHJcblxyXG5cdEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcclxuXHRcdCRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xyXG5cdH1cclxuXHJcblx0QHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxyXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxyXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXHJcbi8vLyBmb3IgaW5zdGFuY2UuXHJcbi8vL1xyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XHJcblx0Ly8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG5cdCRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcclxuXHQkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XHJcblxyXG5cdC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG5cdCRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xyXG5cdCRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xyXG5cclxuXHRAY29udGVudDtcclxuXHJcblx0Ly8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG5cdCRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xyXG5cdCRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxyXG4vLy9cclxuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XHJcblx0QGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxyXG5cdFx0XHQobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xyXG5cdFx0QGNvbnRlbnQ7XHJcblx0fSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XHJcblx0XHRAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XHJcblx0XHRcdC8vIFJlY3Vyc2l2ZSBjYWxsXHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xyXG5cdFx0XHRcdEBjb250ZW50O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiJdfQ== *\/\n<\/style>\n<p><strong>If your request pertains to a lost\/missing item, please visit our <a href=\"https:\/\/www.k-brolinen.com\/lost-and-found\/\">Lost &amp; Found page.<\/a><\/strong><\/p>\n\n<\/div>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n<\/section>\r\n\n\n<section class=\"contact has-text-align-left\">\r\n\t<style>.contact {\n  margin: 5rem 0rem 3.75rem;\n}\n@media (min-width: 768px) {\n  .contact {\n    margin: 7rem 0rem;\n  }\n}\n@media (min-width: 992px) {\n  .contact {\n    margin: 7.375rem 0rem 10.625rem;\n  }\n}\n.contact .contact__inner {\n  max-width: 53.75rem;\n  width: 100%;\n  margin: 0 auto;\n}\n.contact .contact__content .acf-innerblocks-container .wp-block-heading {\n  font-size: 2.125rem;\n  line-height: 1;\n  letter-spacing: 0.4875rem;\n  font-family: \"din-2014-narrow\", sans-serif;\n  text-transform: uppercase;\n  margin-bottom: 1.5625rem;\n}\n@media (min-width: 768px) {\n  .contact .contact__content .acf-innerblocks-container .wp-block-heading {\n    font-size: 2.625rem;\n    line-height: 1;\n    letter-spacing: 0.525rem;\n    margin-bottom: 2.5rem;\n  }\n}\n.contact .contact__form .form-group > p {\n  display: flex;\n  flex-direction: column;\n  gap: 1rem;\n}\n@media (min-width: 768px) {\n  .contact .contact__form .form-group > p {\n    flex-direction: row;\n    gap: 3.125rem;\n  }\n}\n.contact .contact__form .form-group > p > label {\n  width: 100%;\n}\n.contact .contact__form .form-group > p > label input, .contact .contact__form .form-group > p > label textarea {\n  width: 100%;\n  padding: 0.625rem 1rem;\n}\n\/*# sourceMappingURL=data:application\/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYi9hcHAvdGhlbWVzL2ticm8vcGFydHMvZ3V0ZW5iZXJnL2FjZi1jb250YWN0L3N0eWxlLnNjc3MiLCJ3ZWIvYXBwL3RoZW1lcy9rYnJvL2Fzc2V0cy9jc3MvX19zZXR0aW5ncy9faW5jbHVkZS1tZWRpYS5zY3NzIiwid2ViL2FwcC90aGVtZXMva2Jyby9hc3NldHMvY3NzL19fc2V0dGluZ3MvX21peGlucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBR0k7O0FDMGlCRjtFRDdpQkY7SUFNUTs7O0FDdWlCTjtFRDdpQkY7SUFVUTs7O0FBSUE7RUFDSTtFQUNBO0VBQ0E7O0FBS0k7RUUwRGQ7RUFqQ0M7RUZ2QmlCO0VBQ0E7RUFDQTtFQUVBOztBQ2loQmxCO0VEdmhCYztJRTBEZDtJQWpDQztJRmZxQjtJQUVBOzs7QUFRUjtFQUNJO0VBQ0E7RUFDQTs7QUNnZ0JsQjtFRG5nQmM7SUFNUTtJQUNBOzs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7RUFDQSIsImZpbGUiOiJ3ZWIvYXBwL3RoZW1lcy9rYnJvL3BhcnRzL2d1dGVuYmVyZy9hY2YtY29udGFjdC9zdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICdfX3NldHRpbmdzL2luaXQnO1xyXG5cclxuLmNvbnRhY3Qge1xyXG4gICAgJGJsb2NrOiAmO1xyXG5cclxuICAgIG1hcmdpbjogcmVtKDgwKSByZW0oMCkgcmVtKDYwKTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuICAgICAgICBtYXJnaW46IHJlbSgxMTIpIHJlbSgwKTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sZycpIHtcclxuICAgICAgICBtYXJnaW46IHJlbSgxMTgpIHJlbSgwKSByZW0oMTcwKTtcclxuICAgIH1cclxuXHJcbiAgICAjeyRibG9ja30ge1xyXG4gICAgICAgICZfX2lubmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0oODYwKTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fY29udGVudCB7XHJcbiAgICAgICAgICAgIC5hY2YtaW5uZXJibG9ja3MtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC53cC1ibG9jay1oZWFkaW5nIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KDM0LCAzNCk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHJlbSg3LjgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1iYXNlLW5hcnJvdywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjUpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCg0MiwgNDIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtKDguNCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNDApO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fZm9ybSB7XHJcbiAgICAgICAgICAgIC5mb3JtLWdyb3VwIHtcclxuICAgICAgICAgICAgICAgICYgPiBwIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiByZW0oMTYpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiByZW0oNTApO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJiA+IGxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dCwgdGV4dGFyZWEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oMTApIHJlbSgxNik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXHJcbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcclxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXHJcbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XHJcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcclxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcclxuLy9cclxuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3NcclxuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40LjlcclxuLy9cclxuLy8gICAgICAgICAgICAgICAgaHR0cDovL2luY2x1ZGUtbWVkaWEuY29tXHJcbi8vXHJcbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxyXG4vLyAgICAgICAgICAgICAgICAgIEh1Z28gR2lyYXVkZWwgKEBodWdvZ2lyYXVkZWwpXHJcbi8vXHJcbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcclxuXHJcblxyXG4vLy8vXHJcbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxyXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcclxuLy8vXHJcbiRicmVha3BvaW50czogKFxyXG5cdCdwaG9uZSc6IDMyMHB4LFxyXG5cdCd0YWJsZXQnOiA3NjhweCxcclxuXHQnZGVza3RvcCc6IDEwMjRweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxyXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXHJcbi8vLyAgKTtcclxuLy8vXHJcbiRtZWRpYS1leHByZXNzaW9uczogKFxyXG5cdCdzY3JlZW4nOiAnc2NyZWVuJyxcclxuXHQncHJpbnQnOiAncHJpbnQnLFxyXG5cdCdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXHJcblx0J2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxyXG5cdCdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXHJcblx0J3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcclxuXHQncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2BcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxyXG4vLy9cclxuJHVuaXQtaW50ZXJ2YWxzOiAoXHJcblx0J3B4JzogMSxcclxuXHQnZW0nOiAwLjAxLFxyXG5cdCdyZW0nOiAwLjEsXHJcblx0Jyc6IDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXHJcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxyXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0JztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcclxuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgIC5mb28ge1xyXG4vLy8gICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcclxuXHJcbi8vLy9cclxuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcclxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXHJcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xyXG5cdEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XHJcblx0XHRAZXJyb3IgJG1lc3NhZ2U7XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAd2FybiAkbWVzc2FnZTtcclxuXHRcdCRfOiBub29wKCk7XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICRtZXNzYWdlO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XHJcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cclxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cclxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcclxuXHRAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXHJcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxyXG4vLy9cclxuQGZ1bmN0aW9uIG5vb3AoKSB7fVxyXG5cclxuLy8vXHJcbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy9cclxuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcclxuXHQkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcclxuXHJcblx0QGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XHJcblx0XHRAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cclxuXHR9XHJcblxyXG5cdEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xyXG5cdFx0QGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcclxuXHRcdFx0JG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcclxuXHRcdFx0JHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcblx0XHRcdCR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcclxuXHJcblx0XHRcdEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxyXG5cdFx0XHRcdFx0KCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XHJcblx0XHRcdFx0QHJldHVybiBmYWxzZTtcclxuXHRcdFx0fVxyXG5cdFx0fSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcblx0XHRcdEByZXR1cm4gZmFsc2U7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFBhcnNpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcclxuXHRAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcclxuXHRcdEBpZiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG5cdFx0XHRAcmV0dXJuICRvcGVyYXRvcjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cclxuXHQvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG5cdC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxyXG5cdC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXHJcblx0Ly8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG5cdCRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcblx0JG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblx0JHBhcnNlZC1kaW1lbnNpb246IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XHJcblx0JGRpbWVuc2lvbjogJ3dpZHRoJztcclxuXHJcblx0QGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XHJcblx0XHQkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcclxuXHR9XHJcblxyXG5cdEByZXR1cm4gJGRpbWVuc2lvbjtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XHJcblx0QHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG5cdCRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG5cdCR2YWx1ZTogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHItbGVuZ3RoKCRvcGVyYXRvcikpO1xyXG5cclxuXHRAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcclxuXHRcdCR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XHJcblx0fSBAZWxzZSB7XHJcblx0XHQkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xyXG5cdH1cclxuXHJcblx0JGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcclxuXHJcblx0QGlmIG5vdCAkaW50ZXJ2YWwge1xyXG5cdFx0Ly8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG5cdFx0Ly8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuXHRcdC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxyXG5cdFx0Ly8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuXHRcdC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuXHRcdCRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcclxuXHR9XHJcblxyXG5cdEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcclxuXHRcdCR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xyXG5cdH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XHJcblx0XHQkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcclxuXHR9XHJcblxyXG5cdEByZXR1cm4gJHZhbHVlO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XHJcbi8vL1xyXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xyXG5cdC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcclxuXHQvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxyXG5cdEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XHJcblx0XHRAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XHJcblx0fVxyXG5cclxuXHQkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcclxuXHQkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblx0JHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcblx0JHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuXHJcblx0QHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xyXG4vLy9cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxyXG4vLy9cclxuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcclxuXHRAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XHJcblx0XHRAcmV0dXJuICgpO1xyXG5cdH1cclxuXHJcblx0JHJlc3VsdDogKCk7XHJcblxyXG5cdEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcclxuXHRcdCRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICRyZXN1bHQ7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn1cclxuLy8vXHJcbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XHJcblx0QGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XHJcblx0XHRAcmV0dXJuICR2YWx1ZTtcclxuXHR9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XHJcblx0XHQkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xyXG5cdH1cclxuXHJcblx0JGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XHJcblx0JHJlc3VsdDogMDtcclxuXHQkZGlnaXRzOiAwO1xyXG5cdCRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcclxuXHQkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XHJcblxyXG5cdC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxyXG5cdEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcclxuXHRcdCR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XHJcblx0fVxyXG5cclxuXHRAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XHJcblx0XHQkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xyXG5cclxuXHRcdEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcclxuXHRcdFx0QHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcclxuXHRcdH1cclxuXHJcblx0XHRAaWYgJGNoYXJhY3RlciA9PSAnLicge1xyXG5cdFx0XHQkZGlnaXRzOiAxO1xyXG5cdFx0fSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xyXG5cdFx0XHQkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcclxuXHRcdH0gQGVsc2Uge1xyXG5cdFx0XHQkZGlnaXRzOiAkZGlnaXRzICogMTA7XHJcblx0XHRcdCRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXHJcbi8vL1xyXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcclxuXHQkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xyXG5cclxuXHRAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XHJcblx0XHQkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcclxuXHR9XHJcblxyXG5cdEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2ZcclxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcclxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxyXG4vLy8gZm9yIGluc3RhbmNlLlxyXG4vLy9cclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xyXG5cdC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuXHQkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XHJcblx0JGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xyXG5cclxuXHQvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuXHQkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcclxuXHQkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcclxuXHJcblx0QGNvbnRlbnQ7XHJcblxyXG5cdC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuXHQkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcclxuXHQkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cclxuLy8vXHJcbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xyXG5cdEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcclxuXHRcdFx0KG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcclxuXHRcdEBjb250ZW50O1xyXG5cdH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xyXG5cdFx0QG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xyXG5cdFx0XHQvLyBSZWN1cnNpdmUgY2FsbFxyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcclxuXHRcdFx0XHRAY29udGVudDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIvL1xyXG4vLyBNSVhJTlNcclxuLy9cclxuQG1peGluIGNmIHtcclxuXHQmOmJlZm9yZSxcclxuXHQmOmFmdGVyIHtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cclxuXHRcdGRpc3BsYXk6IHRhYmxlO1xyXG5cdH1cclxuXHJcblx0JjphZnRlciB7XHJcblx0XHRjbGVhcjogYm90aDtcclxuXHR9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiB2dy1zaXplKCRzLCAkdzogMTQ0MCkge1xyXG5cdEByZXR1cm4gKCRzIC8gJHcpICogMTAwICsgdnc7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiByZW0oJHNpemVWYWx1ZTogMTYpIHtcclxuXHRAcmV0dXJuIGNhbGMoJHNpemVWYWx1ZSAvIDE2KSArIHJlbTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHJlbCgkc2l6ZSwgJHJlbCkge1xyXG5cdEByZXR1cm4gY2FsYygkc2l6ZSAvICRyZWwpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZW0oJHNpemUsICRyZWwpIHtcclxuXHRAcmV0dXJuIHJlbCgkc2l6ZSwgJHJlbCkgKiAxZW07XHJcbn1cclxuXHJcbkBtaXhpbiBvYmplY3QtZml0LWNvdmVyKCkge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cclxuXHRvYmplY3QtZml0OiBjb3ZlcjtcclxufVxyXG5cclxuQG1peGluIGxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRsaW5lLWhlaWdodDogMCkge1xyXG5cdEBpZiAkbGluZS1oZWlnaHQgIT0gMCB7XHJcblx0XHRAaWYgJGxpbmUtaGVpZ2h0IDwgMTAge1xyXG5cdFx0XHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG5cdFx0fVxyXG5cdFx0QGVsc2Uge1xyXG5cdFx0XHRsaW5lLWhlaWdodDogY2FsYygkbGluZS1oZWlnaHQgLyAkZm9udC1zaXplKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbkBtaXhpbiBsZXR0ZXItc3BhY2luZygkZm9udC1zaXplLCAkbGV0dGVyLXNwYWNpbmc6IDApIHtcclxuXHRAaWYgJGxldHRlci1zcGFjaW5nICE9IDAge1xyXG5cdFx0QGlmICRsZXR0ZXItc3BhY2luZyA8IDEwIHtcclxuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IHJlbSgkbGV0dGVyLXNwYWNpbmcpO1xyXG5cdFx0fVxyXG5cdFx0QGVsc2Uge1xyXG5cdFx0XHRsZXR0ZXItc3BhY2luZzogcmVtKCgkZm9udC1zaXplICogJGxldHRlci1zcGFjaW5nKSAvIDEwMDApO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQG1peGluIGZvbnQoJGZvbnQtc2l6ZS1tYXAsICRsaW5lLWhlaWdodDogMCwgJGxldHRlci1zcGFjaW5nOiAwKSB7XHJcblx0QGlmIHR5cGUtb2YoJGZvbnQtc2l6ZS1tYXApID09ICdtYXAnIHtcclxuXHRcdEBlYWNoICRicmVha3BvaW50LCAkZm9udC1zaXplIGluICRmb250LXNpemUtbWFwIHtcclxuXHRcdFx0QGlmICRicmVha3BvaW50ID09IG51bGwge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKCRmb250LXNpemUpO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBsaW5lLWhlaWdodChtYXAtZ2V0KCRmb250LXNpemUtbWFwLCBudGgobWFwLWtleXMoJGZvbnQtc2l6ZS1tYXApLCAtMSkpLCAkbGluZS1oZWlnaHQpO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKG1hcC1nZXQoJGZvbnQtc2l6ZS1tYXAsIG50aChtYXAta2V5cygkZm9udC1zaXplLW1hcCksIC0xKSksICRsZXR0ZXItc3BhY2luZyk7XHJcblx0XHRcdH1cclxuXHRcdFx0QGVsc2Uge1xyXG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkpIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtKCRmb250LXNpemUpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRAZWxzZSB7XHJcblx0XHRmb250LXNpemU6IHJlbSgkZm9udC1zaXplLW1hcCk7XHJcblxyXG5cdFx0QGluY2x1ZGUgbGluZS1oZWlnaHQoJGZvbnQtc2l6ZS1tYXAsICRsaW5lLWhlaWdodCk7XHJcblx0XHRAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygkZm9udC1zaXplLW1hcCwgJGxldHRlci1zcGFjaW5nKTtcclxuXHR9XHJcbn1cclxuIl19 *\/\n<\/style>\t<div class=\"container\">\r\n\t\t<div class=\"contact__inner\">\r\n\t\t\t<div class=\"contact__content bounce bounce-up\">\r\n\t\t\t\t<div class=\"acf-innerblocks-container\">\n\n<h2 class=\"wp-block-heading\">Contact us<\/h2>\n\n<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t\t\t\t<div class=\"contact__form bounce bounce-up\">\r\n\t\t\t\t\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f721-o1\" lang=\"en-US\" dir=\"ltr\" data-wpcf7-id=\"721\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/fr\/wp-json\/wp\/v2\/pages\/94#wpcf7-f721-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Contact form\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"721\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"en_US\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f721-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/><input type=\"hidden\" name=\"_wpcf7_recaptcha_response\" value=\"\" \/>\n<\/fieldset>\n<div class=\"form-group has-feedback\">\n\t<p><label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"form-name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required form-control\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"form-name\" \/><\/span><br \/>\n<span class=\"label\">Your Name*<\/span><br \/>\n<\/label><br \/>\n<label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"form-email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email form-control\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"email\" name=\"form-email\" \/><\/span><br \/>\n<span class=\"label\">Your Email*<\/span><br \/>\n<\/label>\n\t<\/p>\n<\/div>\n<div class=\"form-group has-feedback\">\n\t<p><label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"form-message\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required form-control\" aria-required=\"true\" aria-invalid=\"false\" name=\"form-message\"><\/textarea><\/span><br \/>\n<span class=\"label\">Your Message*<\/span><br \/>\n<\/label>\n\t<\/p>\n<\/div>\n<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Submit\" \/>\n<\/p><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t<\/div>\r\n<\/section>\r\n\n\n<section class=\"locations has-text-align-left\">\r\n\t<style>.locations {\n  position: relative;\n  background-color: var(--wp--preset--color--primary);\n  color: var(--wp--preset--color--light);\n  padding: 5rem 0;\n}\n@media (min-width: 992px) {\n  .locations {\n    padding: 7.375rem 0 8.0625rem;\n  }\n}\n.locations .locations__list {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 4.4375rem;\n  margin: 0;\n  padding: 0;\n  list-style: none;\n}\n.locations .locations__item {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 2.4375rem;\n  width: 100%;\n}\n.locations .locations__addresses {\n  display: flex;\n  justify-content: flex-start;\n  flex-wrap: wrap;\n  gap: 2.875rem 1.25rem;\n  margin: 0;\n  padding: 0;\n  width: 100%;\n  list-style: none;\n}\n@media (min-width: 992px) {\n  .locations .locations__addresses {\n    justify-content: center;\n  }\n}\n.locations .locations__addresses__item {\n  width: 100%;\n  text-align: center;\n}\n@media (min-width: 380px) {\n  .locations .locations__addresses__item {\n    width: calc(50% - 0.625rem);\n    text-align: left;\n  }\n}\n@media (min-width: 768px) {\n  .locations .locations__addresses__item {\n    width: calc(33.3333% - 0.875rem);\n  }\n}\n@media (min-width: 992px) {\n  .locations .locations__addresses__item {\n    width: 20%;\n  }\n}\n@media (min-width: 1200px) {\n  .locations .locations__addresses__item {\n    width: calc(16.666% - 1.041rem);\n  }\n}\n.locations .locations__addresses__title {\n  font-size: 1.375rem;\n  line-height: 1;\n  letter-spacing: 0.275rem;\n  font-family: \"din-2014-narrow\", sans-serif;\n  text-transform: uppercase;\n  margin-bottom: 0.75rem;\n}\n.locations .locations__addresses__description {\n  font-size: 1rem;\n  line-height: 1.375;\n  color: var(--wp--preset--color--dark);\n}\n.locations .locations__addresses__description a {\n  font-weight: 700;\n  color: var(--wp--preset--color--dark);\n  text-decoration: none;\n  transition: color var(--transition-speed) var(--transition-timing-function);\n}\n.locations .locations__addresses__description a:hover {\n  color: var(--wp--preset--color--secondary);\n}\n.locations .locations__addresses__description a:focus {\n  outline: 0.25rem solid var(--wp--preset--color--secondary) !important;\n}\n.locations .locations__addresses__link {\n  font-size: 1rem;\n  line-height: 1.875;\n  font-weight: 700;\n  color: var(--wp--preset--color--secondary);\n  text-decoration: none;\n  transition: color var(--transition-speed) var(--transition-timing-function);\n  display: inline-block;\n  margin-top: 0.625rem;\n}\n.locations .locations__addresses__link:hover {\n  color: var(--wp--preset--color--dark);\n}\n.locations .locations__addresses__link:focus {\n  outline: 0.25rem solid var(--wp--preset--color--secondary) !important;\n}\n\/*# sourceMappingURL=data:application\/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYi9hcHAvdGhlbWVzL2ticm8vcGFydHMvZ3V0ZW5iZXJnL2FjZi1sb2NhdGlvbnMvc3R5bGUuc2NzcyIsIndlYi9hcHAvdGhlbWVzL2ticm8vYXNzZXRzL2Nzcy9fX3NldHRpbmdzL192YXJpYWJsZXMuc2NzcyIsIndlYi9hcHAvdGhlbWVzL2ticm8vYXNzZXRzL2Nzcy9fX3NldHRpbmdzL19pbmNsdWRlLW1lZGlhLnNjc3MiLCJ3ZWIvYXBwL3RoZW1lcy9rYnJvL2Fzc2V0cy9jc3MvX19zZXR0aW5ncy9fbWl4aW5zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFHSTtFQUVBLGtCQ2dDYTtFRDlCYixPQzJCVztFRHpCWDs7QUVvaUJGO0VGN2lCRjtJQVlROzs7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFFQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7O0FFOGZWO0VGeGdCTTtJQWFROzs7QUFHSjtFQUNJO0VBRUE7O0FFcWZkO0VGeGZVO0lBTVE7SUFFQTs7O0FFZ2ZsQjtFRnhmVTtJQVlROzs7QUU0ZWxCO0VGeGZVO0lBZ0JROzs7QUV3ZWxCO0VGeGZVO0lBb0JROzs7QUFJUjtFR0dWO0VBakNDO0VIZ0NhO0VBQ0E7RUFDQTtFQUVBOztBQUdKO0VHTlY7RUFqQ0M7RUh5Q2EsT0N2REY7O0FEeURFO0VBQ0k7RUFDQSxPQzNETjtFRDRETTtFQUVBOztBQUVBO0VBQ0ksT0M1REw7O0FEK0RDO0VBQ0k7O0FBS1o7RUczQlY7RUFqQ0M7RUg4RGE7RUFDQSxPQ3hFRztFRHlFSDtFQUVBO0VBRUE7RUFFQTs7QUFFQTtFQUNJLE9DdkZOOztBRDBGRTtFQUNJIiwiZmlsZSI6IndlYi9hcHAvdGhlbWVzL2ticm8vcGFydHMvZ3V0ZW5iZXJnL2FjZi1sb2NhdGlvbnMvc3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnX19zZXR0aW5ncy9pbml0JztcclxuXHJcbi5sb2NhdGlvbnMge1xyXG4gICAgJGJsb2NrOiAmO1xyXG5cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItLXByaW1hcnk7XHJcblxyXG4gICAgY29sb3I6ICRjb2xvci0tbGlnaHQ7XHJcblxyXG4gICAgcGFkZGluZzogcmVtKDgwKSAwO1xyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgnPj1sZycpIHtcclxuICAgICAgICBwYWRkaW5nOiByZW0oMTE4KSAwIHJlbSgxMjkpO1xyXG4gICAgfVxyXG5cclxuXHQjeyRibG9ja30ge1xyXG4gICAgICAgICZfX2xpc3Qge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBnYXA6IHJlbSg3MSk7XHJcblxyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGdhcDogcmVtKDM5KTtcclxuXHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fYWRkcmVzc2VzIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGdhcDogcmVtKDQ2KSByZW0oMjApO1xyXG5cclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sZycpIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj0zODBweCcpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAwLjYyNXJlbSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMyUgLSAwLjg3NXJlbSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGcnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj14bCcpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxNi42NjYlIC0gMS4wNDFyZW0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KDIyLCAyMik7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtKDQuNCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtYmFzZS1uYXJyb3csIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICZfX2Rlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoMTYsIDIyKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItLWRhcms7XHJcblxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLS1kYXJrO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zLXNwZWVkICR0cmFucy1mdW5jO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci0tc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IHJlbSg0KSBzb2xpZCAkY29sb3ItLXNlY29uZGFyeSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJl9fbGluayB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KDE2LCAzMCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci0tc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFucy1zcGVlZCAkdHJhbnMtZnVuYztcclxuXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDEwKTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLS1kYXJrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IHJlbSg0KSBzb2xpZCAkY29sb3ItLXNlY29uZGFyeSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8vKiBCUkVBS1BPSU5UUyAqLy9cclxuJGJyZWFrcG9pbnRzOiAoeHM6IDM3NXB4LCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0NDBweCwgbWF4OiAxOTIwcHgpO1xyXG5cclxuLy8qIENPTlRBSU5FUiB3aWR0aCB2YXJpYWJsZXMgKi8vXHJcbiRjb250YWluZXItbW9iaWxlOiA3MjBweDtcclxuJGNvbnRhaW5lci1sZzogOTYwcHg7XHJcbiRjb250YWluZXIteGw6IDEwODBweDtcclxuJGNvbnRhaW5lci14eGw6IHZhcigtLXdwLS1zdHlsZS0tZ2xvYmFsLS13aWRlLXNpemUpOyAvLyB0aGVtZS5qc29uIHNldHRpbmdzLmxheW91dFxyXG4kY29udGFpbmVyLXBhZGRpbmc6IDcwOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jdXN0b20uYmFzZVBhZGRpbmdcclxuXHJcbi8vKiBGT05UUyAqLy9cclxuJGZvbnQtYmFzZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1mYW1pbHktLWJhc2UtZm9udCk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLnR5cG9ncmFwaHkuZm9udEZhbWlsaWVzXHJcbiRmb250LWJhc2UtbmFycm93OiAnZGluLTIwMTQtbmFycm93JztcclxuJGZvbnQtdGl0bGU6ICdtaW5lcnZhLW1vZGVybic7XHJcblxyXG4kZm9udC1zaXplLWRlc2t0b3A6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbWVkaXVtKTsvL3RoZW1lLmpzb24gc2V0dGluZy50eXBvZ3JhcGh5LmZvbnRTaXplc1xyXG4kbGluZS1oZWlnaHQtZGVza3RvcDogMS41O1xyXG5cclxuLy8gU2V0IE1vYmlsZSBmb250LXNpemUgLyBsaW5lLWhlaWdodCBzdHlsZXMgaW4gdGhlbWUuanNvbiBzdHlsZXMudHlwb2dyYXBoeVxyXG5cclxuLy8qIFNQQUNJTkdTICovL1xyXG5cclxuLy8gQmxvY2sgU3BhY2luZ3NcclxuJHNwYWNpbmctbW9iaWxlOiAyNjsgLy90aGVtZS5qc29uIHNldHRpbmcuc3BhY2luZy5zcGFjaW5nU2l6ZXNcclxuJHNwYWNpbmc6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLW1lZGl1bSk7XHJcblxyXG4kbWFyZ2luLW1vYmlsZTogMzA7IC8vdGhlbWUuanNvbiBzZXR0aW5nLnNwYWNpbmcuc3BhY2luZ1NpemVzXHJcbiRtYXJnaW46IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLW1lZGl1bSk7XHJcblxyXG4vLyBNZWRpYSBTcGFjaW5nXHJcbiRtZWRpYS1tYXJnaW46IHZhcigtLXdwLS1jdXN0b20tLW1lZGlhLXNwYWNpbmcpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jdXN0b20ubWVkaWFTcGFjaW5nOyAvL3B4XHJcblxyXG4vLyogQ09MT1JTICovL1xyXG5cclxuLy8gQmFzZSBDb2xvcnNcclxuJGNvbG9yLS1kYXJrOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tZGFyayk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXHJcbiRjb2xvci0tbGlnaHQ6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodCk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXHJcblxyXG4vLyBNYWluIENvbG9yc1xyXG4kY29sb3ItLXByaW1hcnk6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wcmltYXJ5KTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcclxuJGNvbG9yLS1zZWNvbmRhcnk6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1zZWNvbmRhcnkpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxyXG4kY29sb3ItLWdyYXk6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ncmF5KTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcclxuJGNvbG9yLS1ncmF5LTE6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ncmF5LTEpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxyXG4kY29sb3ItLWdyYXktMjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWdyYXktMik7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXHJcblxyXG4vLyBPdGhlciBDb2xvcnNcclxuJGNvbG9yLS0xOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY29sb3ItMSk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXHJcbiRjb2xvci0tMjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWNvbG9yLTIpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxyXG4kY29sb3ItLTM6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1jb2xvci0zKTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcclxuJGNvbG9yLS00OiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY29sb3ItNCk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXHJcbiRjb2xvci0tNTogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWNvbG9yLTUpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxyXG5cclxuLy8gRWxlbWVudHMgQ29sb3JzXHJcbiRjb2xvci0tYmc6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1iZyk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXHJcbiRjb2xvci0tYm9keTogJGNvbG9yLS1saWdodDtcclxuJGNvbG9yLS1ib3JkZXI6ICRjb2xvci0tZGFyaztcclxuXHJcbi8vIFRoZW1lIFRleHQgQ29sb3JzXHJcbiRjb2xvci0tdGV4dDogJGNvbG9yLS1kYXJrO1xyXG4kY29sb3ItLXRleHQtbGlnaHQ6ICRjb2xvci0tbGlnaHQ7XHJcbiRjb2xvci0tbGluazogJGNvbG9yLS1wcmltYXJ5O1xyXG4kY29sb3ItLWxpbmstaG92ZXI6ICRjb2xvci0tZGFyaztcclxuXHJcbi8vKiBPVEhFUiAqLy9cclxuXHJcbi8vIFRyYW5zaXRpb25zXHJcbiR0cmFucy1zcGVlZDogdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCk7XHJcbiR0cmFucy1zcGVlZC1sb25nZXI6IHZhcigtLXRyYW5zaXRpb24tc3BlZWQtbG9uZ2VyKTtcclxuJHRyYW5zLXNwZWVkLWFuaW1hdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1hbmltYXRpb24pO1xyXG4kdHJhbnMtc3BlZWQtYW5pbWF0aW9uLXBhdHRlcm46IHZhcigtLXRyYW5zaXRpb24tc3BlZWQtYW5pbWF0aW9uLXBhdHRlcm4pO1xyXG4kdHJhbnMtZnVuYzogdmFyKC0tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pO1xyXG5cclxuLy8gT3V0bGluZVxyXG4kb3V0bGluZTogMnB4IHNvbGlkIGJsdWU7IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXHJcbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcclxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXHJcbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XHJcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcclxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcclxuLy9cclxuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3NcclxuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40LjlcclxuLy9cclxuLy8gICAgICAgICAgICAgICAgaHR0cDovL2luY2x1ZGUtbWVkaWEuY29tXHJcbi8vXHJcbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxyXG4vLyAgICAgICAgICAgICAgICAgIEh1Z28gR2lyYXVkZWwgKEBodWdvZ2lyYXVkZWwpXHJcbi8vXHJcbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcclxuXHJcblxyXG4vLy8vXHJcbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxyXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcclxuLy8vXHJcbiRicmVha3BvaW50czogKFxyXG5cdCdwaG9uZSc6IDMyMHB4LFxyXG5cdCd0YWJsZXQnOiA3NjhweCxcclxuXHQnZGVza3RvcCc6IDEwMjRweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxyXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXHJcbi8vLyAgKTtcclxuLy8vXHJcbiRtZWRpYS1leHByZXNzaW9uczogKFxyXG5cdCdzY3JlZW4nOiAnc2NyZWVuJyxcclxuXHQncHJpbnQnOiAncHJpbnQnLFxyXG5cdCdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXHJcblx0J2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxyXG5cdCdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXHJcblx0J3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcclxuXHQncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2BcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxyXG4vLy9cclxuJHVuaXQtaW50ZXJ2YWxzOiAoXHJcblx0J3B4JzogMSxcclxuXHQnZW0nOiAwLjAxLFxyXG5cdCdyZW0nOiAwLjEsXHJcblx0Jyc6IDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXHJcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxyXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0JztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcclxuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgIC5mb28ge1xyXG4vLy8gICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcclxuXHJcbi8vLy9cclxuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcclxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXHJcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xyXG5cdEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XHJcblx0XHRAZXJyb3IgJG1lc3NhZ2U7XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAd2FybiAkbWVzc2FnZTtcclxuXHRcdCRfOiBub29wKCk7XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICRtZXNzYWdlO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XHJcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cclxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cclxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcclxuXHRAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXHJcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxyXG4vLy9cclxuQGZ1bmN0aW9uIG5vb3AoKSB7fVxyXG5cclxuLy8vXHJcbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy9cclxuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcclxuXHQkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcclxuXHJcblx0QGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XHJcblx0XHRAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cclxuXHR9XHJcblxyXG5cdEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xyXG5cdFx0QGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcclxuXHRcdFx0JG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcclxuXHRcdFx0JHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcblx0XHRcdCR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcclxuXHJcblx0XHRcdEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxyXG5cdFx0XHRcdFx0KCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XHJcblx0XHRcdFx0QHJldHVybiBmYWxzZTtcclxuXHRcdFx0fVxyXG5cdFx0fSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcblx0XHRcdEByZXR1cm4gZmFsc2U7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFBhcnNpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcclxuXHRAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcclxuXHRcdEBpZiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG5cdFx0XHRAcmV0dXJuICRvcGVyYXRvcjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cclxuXHQvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG5cdC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxyXG5cdC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXHJcblx0Ly8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG5cdCRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcblx0JG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblx0JHBhcnNlZC1kaW1lbnNpb246IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XHJcblx0JGRpbWVuc2lvbjogJ3dpZHRoJztcclxuXHJcblx0QGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XHJcblx0XHQkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcclxuXHR9XHJcblxyXG5cdEByZXR1cm4gJGRpbWVuc2lvbjtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XHJcblx0QHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG5cdCRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG5cdCR2YWx1ZTogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHItbGVuZ3RoKCRvcGVyYXRvcikpO1xyXG5cclxuXHRAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcclxuXHRcdCR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XHJcblx0fSBAZWxzZSB7XHJcblx0XHQkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xyXG5cdH1cclxuXHJcblx0JGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcclxuXHJcblx0QGlmIG5vdCAkaW50ZXJ2YWwge1xyXG5cdFx0Ly8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG5cdFx0Ly8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuXHRcdC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxyXG5cdFx0Ly8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuXHRcdC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuXHRcdCRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcclxuXHR9XHJcblxyXG5cdEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcclxuXHRcdCR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xyXG5cdH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XHJcblx0XHQkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcclxuXHR9XHJcblxyXG5cdEByZXR1cm4gJHZhbHVlO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XHJcbi8vL1xyXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xyXG5cdC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcclxuXHQvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxyXG5cdEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XHJcblx0XHRAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XHJcblx0fVxyXG5cclxuXHQkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcclxuXHQkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblx0JHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcblx0JHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuXHJcblx0QHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xyXG4vLy9cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxyXG4vLy9cclxuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcclxuXHRAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XHJcblx0XHRAcmV0dXJuICgpO1xyXG5cdH1cclxuXHJcblx0JHJlc3VsdDogKCk7XHJcblxyXG5cdEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcclxuXHRcdCRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICRyZXN1bHQ7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn1cclxuLy8vXHJcbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XHJcblx0QGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XHJcblx0XHRAcmV0dXJuICR2YWx1ZTtcclxuXHR9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XHJcblx0XHQkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xyXG5cdH1cclxuXHJcblx0JGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XHJcblx0JHJlc3VsdDogMDtcclxuXHQkZGlnaXRzOiAwO1xyXG5cdCRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcclxuXHQkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XHJcblxyXG5cdC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxyXG5cdEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcclxuXHRcdCR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XHJcblx0fVxyXG5cclxuXHRAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XHJcblx0XHQkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xyXG5cclxuXHRcdEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcclxuXHRcdFx0QHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcclxuXHRcdH1cclxuXHJcblx0XHRAaWYgJGNoYXJhY3RlciA9PSAnLicge1xyXG5cdFx0XHQkZGlnaXRzOiAxO1xyXG5cdFx0fSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xyXG5cdFx0XHQkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcclxuXHRcdH0gQGVsc2Uge1xyXG5cdFx0XHQkZGlnaXRzOiAkZGlnaXRzICogMTA7XHJcblx0XHRcdCRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXHJcbi8vL1xyXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcclxuXHQkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xyXG5cclxuXHRAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XHJcblx0XHQkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcclxuXHR9XHJcblxyXG5cdEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2ZcclxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcclxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxyXG4vLy8gZm9yIGluc3RhbmNlLlxyXG4vLy9cclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xyXG5cdC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuXHQkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XHJcblx0JGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xyXG5cclxuXHQvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuXHQkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcclxuXHQkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcclxuXHJcblx0QGNvbnRlbnQ7XHJcblxyXG5cdC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuXHQkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcclxuXHQkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cclxuLy8vXHJcbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xyXG5cdEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcclxuXHRcdFx0KG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcclxuXHRcdEBjb250ZW50O1xyXG5cdH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xyXG5cdFx0QG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xyXG5cdFx0XHQvLyBSZWN1cnNpdmUgY2FsbFxyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcclxuXHRcdFx0XHRAY29udGVudDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIvL1xyXG4vLyBNSVhJTlNcclxuLy9cclxuQG1peGluIGNmIHtcclxuXHQmOmJlZm9yZSxcclxuXHQmOmFmdGVyIHtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cclxuXHRcdGRpc3BsYXk6IHRhYmxlO1xyXG5cdH1cclxuXHJcblx0JjphZnRlciB7XHJcblx0XHRjbGVhcjogYm90aDtcclxuXHR9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiB2dy1zaXplKCRzLCAkdzogMTQ0MCkge1xyXG5cdEByZXR1cm4gKCRzIC8gJHcpICogMTAwICsgdnc7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiByZW0oJHNpemVWYWx1ZTogMTYpIHtcclxuXHRAcmV0dXJuIGNhbGMoJHNpemVWYWx1ZSAvIDE2KSArIHJlbTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHJlbCgkc2l6ZSwgJHJlbCkge1xyXG5cdEByZXR1cm4gY2FsYygkc2l6ZSAvICRyZWwpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZW0oJHNpemUsICRyZWwpIHtcclxuXHRAcmV0dXJuIHJlbCgkc2l6ZSwgJHJlbCkgKiAxZW07XHJcbn1cclxuXHJcbkBtaXhpbiBvYmplY3QtZml0LWNvdmVyKCkge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cclxuXHRvYmplY3QtZml0OiBjb3ZlcjtcclxufVxyXG5cclxuQG1peGluIGxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRsaW5lLWhlaWdodDogMCkge1xyXG5cdEBpZiAkbGluZS1oZWlnaHQgIT0gMCB7XHJcblx0XHRAaWYgJGxpbmUtaGVpZ2h0IDwgMTAge1xyXG5cdFx0XHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG5cdFx0fVxyXG5cdFx0QGVsc2Uge1xyXG5cdFx0XHRsaW5lLWhlaWdodDogY2FsYygkbGluZS1oZWlnaHQgLyAkZm9udC1zaXplKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbkBtaXhpbiBsZXR0ZXItc3BhY2luZygkZm9udC1zaXplLCAkbGV0dGVyLXNwYWNpbmc6IDApIHtcclxuXHRAaWYgJGxldHRlci1zcGFjaW5nICE9IDAge1xyXG5cdFx0QGlmICRsZXR0ZXItc3BhY2luZyA8IDEwIHtcclxuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IHJlbSgkbGV0dGVyLXNwYWNpbmcpO1xyXG5cdFx0fVxyXG5cdFx0QGVsc2Uge1xyXG5cdFx0XHRsZXR0ZXItc3BhY2luZzogcmVtKCgkZm9udC1zaXplICogJGxldHRlci1zcGFjaW5nKSAvIDEwMDApO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQG1peGluIGZvbnQoJGZvbnQtc2l6ZS1tYXAsICRsaW5lLWhlaWdodDogMCwgJGxldHRlci1zcGFjaW5nOiAwKSB7XHJcblx0QGlmIHR5cGUtb2YoJGZvbnQtc2l6ZS1tYXApID09ICdtYXAnIHtcclxuXHRcdEBlYWNoICRicmVha3BvaW50LCAkZm9udC1zaXplIGluICRmb250LXNpemUtbWFwIHtcclxuXHRcdFx0QGlmICRicmVha3BvaW50ID09IG51bGwge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKCRmb250LXNpemUpO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBsaW5lLWhlaWdodChtYXAtZ2V0KCRmb250LXNpemUtbWFwLCBudGgobWFwLWtleXMoJGZvbnQtc2l6ZS1tYXApLCAtMSkpLCAkbGluZS1oZWlnaHQpO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKG1hcC1nZXQoJGZvbnQtc2l6ZS1tYXAsIG50aChtYXAta2V5cygkZm9udC1zaXplLW1hcCksIC0xKSksICRsZXR0ZXItc3BhY2luZyk7XHJcblx0XHRcdH1cclxuXHRcdFx0QGVsc2Uge1xyXG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkpIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtKCRmb250LXNpemUpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRAZWxzZSB7XHJcblx0XHRmb250LXNpemU6IHJlbSgkZm9udC1zaXplLW1hcCk7XHJcblxyXG5cdFx0QGluY2x1ZGUgbGluZS1oZWlnaHQoJGZvbnQtc2l6ZS1tYXAsICRsaW5lLWhlaWdodCk7XHJcblx0XHRAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygkZm9udC1zaXplLW1hcCwgJGxldHRlci1zcGFjaW5nKTtcclxuXHR9XHJcbn1cclxuIl19 *\/\n<\/style>\t<div class=\"container\">\r\n\t\t\t\t<ul class=\"locations__list\">\r\n\t\t\t\t<li class=\"locations__item\">\r\n\t\t\t\t\t\t<div class=\"locations__icon bounce bounce-up\">\r\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"172\" height=\"58\" src=\"https:\/\/www.k-brolinen.com\/wp-content\/uploads\/2023\/12\/location-logo-1.svg\" class=\"attachment- size-\" alt=\"K-Bro logo\" \/>\t\t\t<\/div>\r\n\t\t\t\t\t\t<ul class=\"locations__addresses\">\r\n\t\t\t\t\t\t\t<li class=\"locations__addresses__item bounce bounce-up\">\r\n\t\t\t\t\t\t\t\t\t\t<h2 class=\"locations__addresses__title\">\r\n\t\t\t\t\t\tCorporate Office\t\t\t\t\t<\/h2>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"locations__addresses__description\">\r\n\t\t\t\t\t\t<p>14903 137 Avenue N.W.<br \/>\nEdmonton, AB, T5V 1R9<br \/>\nP 780 453 5218<br \/>\nF 780 455 6676<\/p>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<a class=\"locations__addresses__link\" href=\"https:\/\/goo.gl\/maps\/HCfUezAgHsD2\" target=\"_blank\">\r\n\t\t\t\t\t\tView on Map\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<li class=\"locations__addresses__item bounce bounce-up\">\r\n\t\t\t\t\t\t\t\t\t\t<h2 class=\"locations__addresses__title\">\r\n\t\t\t\t\t\tVictoria\t\t\t\t\t<\/h2>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"locations__addresses__description\">\r\n\t\t\t\t\t\t<p>861 Van Isle Way<br \/>\nVictoria, BC, V9B 5R8<br \/>\nP 250 474 5699<br \/>\nF 250 474 5680<\/p>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<a class=\"locations__addresses__link\" href=\"https:\/\/goo.gl\/maps\/AQYKWJhnntp\" target=\"_blank\">\r\n\t\t\t\t\t\tView on Map\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<li class=\"locations__addresses__item bounce bounce-up\">\r\n\t\t\t\t\t\t\t\t\t\t<h2 class=\"locations__addresses__title\">\r\n\t\t\t\t\t\tVancouver\t\t\t\t\t<\/h2>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"locations__addresses__description\">\r\n\t\t\t\t\t\t<p>8340 Fraser Reach Court,<br \/>\nUnit #401<br \/>\nBurnaby, BC, V3N 0G4<br \/>\nP 604 420 2203<br \/>\nF 604 420 2313<\/p>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<a class=\"locations__addresses__link\" href=\"https:\/\/goo.gl\/maps\/kQfjsyWNqMp\" target=\"_blank\">\r\n\t\t\t\t\t\tView on Map\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<li class=\"locations__addresses__item bounce bounce-up\">\r\n\t\t\t\t\t\t\t\t\t\t<h2 class=\"locations__addresses__title\">\r\n\t\t\t\t\t\tVancouver\t\t\t\t\t<\/h2>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"locations__addresses__description\">\r\n\t\t\t\t\t\t<p>8035 Enterprise Street<br \/>\nBurnaby, BC, V5A 1V5<br \/>\nP 604 681 3291<br \/>\nF 604 685 1458<\/p>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<a class=\"locations__addresses__link\" href=\"https:\/\/goo.gl\/maps\/R7PqyKL39Sm\" target=\"_blank\">\r\n\t\t\t\t\t\tView on Map\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<li class=\"locations__addresses__item bounce bounce-up\">\r\n\t\t\t\t\t\t\t\t\t\t<h2 class=\"locations__addresses__title\">\r\n\t\t\t\t\t\tEdmonton\t\t\t\t\t<\/h2>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"locations__addresses__description\">\r\n\t\t\t\t\t\t<p>14903 137 Avenue N.W.<br \/>\nEdmonton, AB, T5V 1R9<br \/>\nP 780 453 5218<br \/>\nF 780 455 6676<\/p>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<a class=\"locations__addresses__link\" href=\"https:\/\/goo.gl\/maps\/JRpXTJ5WiuM2\" target=\"_blank\">\r\n\t\t\t\t\t\tView on Map\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<li class=\"locations__addresses__item bounce bounce-up\">\r\n\t\t\t\t\t\t\t\t\t\t<h2 class=\"locations__addresses__title\">\r\n\t\t\t\t\t\tCalgary\t\t\t\t\t<\/h2>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"locations__addresses__description\">\r\n\t\t\t\t\t\t<p>6969 55 Street S.E.<br \/>\nCalgary, AB, T2C 4Y9<br \/>\nP 403 724 9001<br \/>\nF 403 290 1599<\/p>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<a class=\"locations__addresses__link\" href=\"https:\/\/goo.gl\/maps\/u9vxVKZDHrm\" target=\"_blank\">\r\n\t\t\t\t\t\tView on Map\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<li class=\"locations__addresses__item bounce bounce-up\">\r\n\t\t\t\t\t\t\t\t\t\t<h2 class=\"locations__addresses__title\">\r\n\t\t\t\t\t\tRegina\t\t\t\t\t<\/h2>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"locations__addresses__description\">\r\n\t\t\t\t\t\t<p>730 Dethridge Bay<br \/>\nRegina, SK, S4N 6H9<br \/>\nP 306 757 5276<br \/>\nF 306 757 5280<\/p>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<a class=\"locations__addresses__link\" href=\"https:\/\/goo.gl\/maps\/BUn4Z7oDX6N2\" target=\"_blank\">\r\n\t\t\t\t\t\tView on Map\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<li class=\"locations__addresses__item bounce bounce-up\">\r\n\t\t\t\t\t\t\t\t\t\t<h2 class=\"locations__addresses__title\">\r\n\t\t\t\t\t\tToronto\t\t\t\t\t<\/h2>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"locations__addresses__description\">\r\n\t\t\t\t\t\t<p>6045 Freemont Blvd<br \/>\nMississauga, ON, L5R 4J3<br \/>\nP 416 233 5555<br \/>\nF 416 233 4434<\/p>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<a class=\"locations__addresses__link\" href=\"https:\/\/goo.gl\/maps\/ETTWWhBgL7z\" target=\"_blank\">\r\n\t\t\t\t\t\tView on Map\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<li class=\"locations__addresses__item bounce bounce-up\">\r\n\t\t\t\t\t\t\t\t\t\t<h2 class=\"locations__addresses__title\">\r\n\t\t\t\t\t\tMontr\u00e9al &#8211; South\t\t\t\t\t<\/h2>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"locations__addresses__description\">\r\n\t\t\t\t\t\t<p>4740 Rue De Rouen<br \/>\nMontreal, QC<br \/>\nH1V 3T7<br \/>\nP 514 259 4531<\/p>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<a class=\"locations__addresses__link\" href=\"https:\/\/maps.app.goo.gl\/LvzQ6C5bqbpx9qAUA\" target=\"_blank\">\r\n\t\t\t\t\t\tView on Map\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<li class=\"locations__addresses__item bounce bounce-up\">\r\n\t\t\t\t\t\t\t\t\t\t<h2 class=\"locations__addresses__title\">\r\n\t\t\t\t\t\tMontr\u00e9al &#8211; East\t\t\t\t\t<\/h2>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"locations__addresses__description\">\r\n\t\t\t\t\t\t<p>3551 39e Avenue<br \/>\nPointe-aux-Trembles, QC, H1A 3Y6<br \/>\nP 514 642 8952<\/p>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<a class=\"locations__addresses__link\" href=\"https:\/\/maps.app.goo.gl\/HGuR3u445qo9YgsE6\" target=\"_blank\">\r\n\t\t\t\t\t\tView on Map\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<li class=\"locations__addresses__item bounce bounce-up\">\r\n\t\t\t\t\t\t\t\t\t\t<h2 class=\"locations__addresses__title\">\r\n\t\t\t\t\t\tQu\u00e9bec &#8211; Beaufort\t\t\t\t\t<\/h2>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"locations__addresses__description\">\r\n\t\t\t\t\t\t<p>367, boul. des Chutes<br \/>\nQu\u00e9bec City, QC, G1E 3G1<br \/>\nP 418 661 6163<\/p>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<a class=\"locations__addresses__link\" href=\"https:\/\/maps.app.goo.gl\/RSrzzPmpzVu5XePF9\" target=\"_blank\">\r\n\t\t\t\t\t\tView on Map\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<li class=\"locations__addresses__item bounce bounce-up\">\r\n\t\t\t\t\t\t\t\t\t\t<h2 class=\"locations__addresses__title\">\r\n\t\t\t\t\t\tQu\u00e9bec &#8211; Centre\t\t\t\t\t<\/h2>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"locations__addresses__description\">\r\n\t\t\t\t\t\t<p>1105, Vincent-Massey<br \/>\nQu\u00e9bec City, QC, G1N 1N2<br \/>\nP 418 570 3875<\/p>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<a class=\"locations__addresses__link\" href=\"https:\/\/maps.app.goo.gl\/coBb9kqYCTyYGDER6\" target=\"_blank\">\r\n\t\t\t\t\t\tView on Map\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t<\/ul>\r\n\t\t\t\t\t<\/li>\r\n\t\t\t\t<li class=\"locations__item\">\r\n\t\t\t\t\t\t<div class=\"locations__icon bounce bounce-up\">\r\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"151\" height=\"46\" src=\"https:\/\/www.k-brolinen.com\/wp-content\/uploads\/2023\/12\/location-logo-2.svg\" class=\"attachment- size-\" alt=\"Fishers Logo - A K-Bro Company\" \/>\t\t\t<\/div>\r\n\t\t\t\t\t\t<ul class=\"locations__addresses\">\r\n\t\t\t\t\t\t\t<li class=\"locations__addresses__item bounce bounce-up\">\r\n\t\t\t\t\t\t\t\t\t\t<h2 class=\"locations__addresses__title\">\r\n\t\t\t\t\t\tHead Office\t\t\t\t\t<\/h2>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"locations__addresses__description\">\r\n\t\t\t\t\t\t<p>Edenfields<br \/>\nCupar Trading Estate<br \/>\nFife<br \/>\nCupar<br \/>\nKY15 4SX<br \/>\n<a href=\"http:\/\/fisherslaundry.co.uk\" target=\"_blank\" rel=\"noopener\">fisherslaundry.co.uk<\/a><br \/>\nP 01334 654033<\/p>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<a class=\"locations__addresses__link\" href=\"https:\/\/maps.app.goo.gl\/cc6cLmpVNzNSM79t8\" target=\"_blank\">\r\n\t\t\t\t\t\tView on Map\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<li class=\"locations__addresses__item bounce bounce-up\">\r\n\t\t\t\t\t\t\t\t\t\t<h2 class=\"locations__addresses__title\">\r\n\t\t\t\t\t\tCoatbridge\t\t\t\t\t<\/h2>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"locations__addresses__description\">\r\n\t\t\t\t\t\t<p>18 Palacecraig Street<br \/>\nCoatbridge<br \/>\nNorth Lanarkshire<br \/>\nML5 4RY<br \/>\n<a href=\"http:\/\/fisherslaundry.co.uk\" target=\"_blank\" rel=\"noopener\">fisherslaundry.co.uk<\/a><br \/>\nP 01236 449010<\/p>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<a class=\"locations__addresses__link\" href=\"https:\/\/maps.app.goo.gl\/zCbY7MqozEvdua129\" target=\"_blank\">\r\n\t\t\t\t\t\tView on Map\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<li class=\"locations__addresses__item bounce bounce-up\">\r\n\t\t\t\t\t\t\t\t\t\t<h2 class=\"locations__addresses__title\">\r\n\t\t\t\t\t\tLivingston\t\t\t\t\t<\/h2>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"locations__addresses__description\">\r\n\t\t\t\t\t\t<p>Unit 2, Gregory Road<br \/>\nKirkton Campus<br \/>\nLivingston, West Lothian<br \/>\nEH54 7DR<br \/>\n<a href=\"http:\/\/fisherslaundry.co.uk\" target=\"_blank\" rel=\"noopener\">fisherslaundry.co.uk<\/a><\/p>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<a class=\"locations__addresses__link\" href=\"https:\/\/maps.app.goo.gl\/kT7ujcAWTAo7qq8JA\" target=\"_blank\">\r\n\t\t\t\t\t\tView on Map\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<li class=\"locations__addresses__item bounce bounce-up\">\r\n\t\t\t\t\t\t\t\t\t\t<h2 class=\"locations__addresses__title\">\r\n\t\t\t\t\t\tNewcastle\t\t\t\t\t<\/h2>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"locations__addresses__description\">\r\n\t\t\t\t\t\t<p>L4, Intersect 19,<br \/>\nHigh Flatworth<br \/>\nTyne Tunnel Industrial Estate<br \/>\nNorth Shields<br \/>\nNE29 7UT<br \/>\n<a href=\"http:\/\/fisherslaundry.co.uk\" target=\"_blank\" rel=\"noopener\">fisherslaundry.co.uk<\/a><br \/>\nP 0191 605 3106<\/p>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<a class=\"locations__addresses__link\" href=\"https:\/\/maps.app.goo.gl\/fZzRQS6jGispMuJ57\" target=\"_blank\">\r\n\t\t\t\t\t\tView on Map\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<li class=\"locations__addresses__item bounce bounce-up\">\r\n\t\t\t\t\t\t\t\t\t\t<h2 class=\"locations__addresses__title\">\r\n\t\t\t\t\t\tPrestonhall\t\t\t\t\t<\/h2>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"locations__addresses__description\">\r\n\t\t\t\t\t\t<p>Prestonhall Industrial Estate<br \/>\nCupar<br \/>\nFife<br \/>\nKY15 4RD<br \/>\n<a href=\"http:\/\/fisherslaundry.co.uk\" target=\"_blank\" rel=\"noopener\">fisherslaundry.co.uk<\/a><br \/>\nP 01334 655220<\/p>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<a class=\"locations__addresses__link\" href=\"https:\/\/maps.app.goo.gl\/j87shdZyq52TkM216\" target=\"_blank\">\r\n\t\t\t\t\t\tView on Map\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t<li class=\"locations__addresses__item bounce bounce-up\">\r\n\t\t\t\t\t\t\t\t\t\t<h2 class=\"locations__addresses__title\">\r\n\t\t\t\t\t\tPerth\t\t\t\t\t<\/h2>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"locations__addresses__description\">\r\n\t\t\t\t\t\t<p>Ruthvenfield Avenue<br \/>\nInveralmond Industrial Estate<br \/>\nPerth<br \/>\nPH1 3UF<br \/>\n<a href=\"http:\/\/fisherslaundry.co.uk\" target=\"_blank\" rel=\"noopener\">fisherslaundry.co.uk<\/a><br \/>\nP 01334 655220<\/p>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<a class=\"locations__addresses__link\" href=\"https:\/\/maps.app.goo.gl\/zfEaw5Y8vReYuRQH9\" target=\"_blank\">\r\n\t\t\t\t\t\tView on Map\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t<\/ul>\r\n\t\t\t\t\t<\/li>\r\n\t\t\t\t<\/ul>\r\n\t\t\t<\/div>\r\n<\/section>\r\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":true,"footnotes":""},"class_list":["post-94","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Contact | K-Bro<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.k-brolinen.com\/fr\/contact\/\" \/>\n<meta property=\"og:locale\" content=\"fr_CA\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Contact | K-Bro\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.k-brolinen.com\/fr\/contact\/\" \/>\n<meta property=\"og:site_name\" content=\"K-Bro\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-09T12:00:34+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.k-brolinen.com\\\/contact\\\/\",\"url\":\"https:\\\/\\\/www.k-brolinen.com\\\/contact\\\/\",\"name\":\"Contact | K-Bro\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.k-brolinen.com\\\/#website\"},\"datePublished\":\"2023-12-07T11:05:05+00:00\",\"dateModified\":\"2026-03-09T12:00:34+00:00\",\"inLanguage\":\"fr-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.k-brolinen.com\\\/contact\\\/\"]}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.k-brolinen.com\\\/#website\",\"url\":\"https:\\\/\\\/www.k-brolinen.com\\\/\",\"name\":\"K-Bro\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.k-brolinen.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.k-brolinen.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-CA\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.k-brolinen.com\\\/#organization\",\"name\":\"K-Bro Linen\",\"url\":\"https:\\\/\\\/www.k-brolinen.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-CA\",\"@id\":\"https:\\\/\\\/www.k-brolinen.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.k-brolinen.com\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/K-Bro-Logo.svg\",\"contentUrl\":\"https:\\\/\\\/www.k-brolinen.com\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/K-Bro-Logo.svg\",\"width\":144,\"height\":48,\"caption\":\"K-Bro Linen\"},\"image\":{\"@id\":\"https:\\\/\\\/www.k-brolinen.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/k-bro-linen-systems-inc\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Contact | K-Bro","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.k-brolinen.com\/fr\/contact\/","og_locale":"fr_CA","og_type":"article","og_title":"Contact | K-Bro","og_url":"https:\/\/www.k-brolinen.com\/fr\/contact\/","og_site_name":"K-Bro","article_modified_time":"2026-03-09T12:00:34+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.k-brolinen.com\/contact\/","url":"https:\/\/www.k-brolinen.com\/contact\/","name":"Contact | K-Bro","isPartOf":{"@id":"https:\/\/www.k-brolinen.com\/#website"},"datePublished":"2023-12-07T11:05:05+00:00","dateModified":"2026-03-09T12:00:34+00:00","inLanguage":"fr-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.k-brolinen.com\/contact\/"]}]},{"@type":"WebSite","@id":"https:\/\/www.k-brolinen.com\/#website","url":"https:\/\/www.k-brolinen.com\/","name":"K-Bro","description":"","publisher":{"@id":"https:\/\/www.k-brolinen.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.k-brolinen.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-CA"},{"@type":"Organization","@id":"https:\/\/www.k-brolinen.com\/#organization","name":"K-Bro Linen","url":"https:\/\/www.k-brolinen.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-CA","@id":"https:\/\/www.k-brolinen.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.k-brolinen.com\/wp-content\/uploads\/2023\/12\/K-Bro-Logo.svg","contentUrl":"https:\/\/www.k-brolinen.com\/wp-content\/uploads\/2023\/12\/K-Bro-Logo.svg","width":144,"height":48,"caption":"K-Bro Linen"},"image":{"@id":"https:\/\/www.k-brolinen.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/k-bro-linen-systems-inc\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.k-brolinen.com\/fr\/wp-json\/wp\/v2\/pages\/94","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.k-brolinen.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.k-brolinen.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.k-brolinen.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.k-brolinen.com\/fr\/wp-json\/wp\/v2\/comments?post=94"}],"version-history":[{"count":0,"href":"https:\/\/www.k-brolinen.com\/fr\/wp-json\/wp\/v2\/pages\/94\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.k-brolinen.com\/fr\/wp-json\/wp\/v2\/media?parent=94"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}