/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./public/scss/pages/home/index.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
body {
  --main-color: $palette['green']['base'];
  --second-color: $palette['yellow']['base'];
}

swiper-wrapper {
  width: 100%;
  height: -moz-max-content !important;
  height: max-content !important;
  padding-bottom: 64px !important;
  transition-timing-function: linear !important;
  position: relative;
}

.swiper-button-next svg {
  width: 70% !important;
}

.swiper-button-next::after {
  content: "none" !important;
}

.swiper-button-prev svg {
  width: 70% !important;
}

.swiper-button-prev::after {
  content: "none" !important;
}

.home .main-banner {
  min-height: 70vh;
}

.home .main-banner .position-fixed {
  min-height: 70vh;
  z-index: -1;
  left: 50%;
  transform: translate(-50%);
  background: no-repeat center 60% url(/dist/images/main-banner-xs.ce16e1ea.jpg) #58b58d;
}

.home .over-main-banner {
  background: #fff;
  border-radius: 30px 30px 0 0;
  margin: -75px -15px 0;
}

.home .partner-item {
  border-radius: 15px;
  flex-shrink: 0;
}

.home .partner-item .branding-text-maker {
  font-family: "Poppins-Bold";
  font-size: 1.6rem;
  font-weight: bolder;
  box-shadow: none;
  line-height: 1.5rem;
  height: auto;
}

.home .partner-item .branding-text-maker.text-small {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.3rem;
}

@media (min-width: 576px) {
  .home .main-banner {
    min-height: 80vh;
  }
  .home .main-banner .position-fixed {
    min-height: 80vh;
    background-position: center 70%;
    background-image: url(/dist/images/main-banner-sm.e4b891b9.jpg);
  }
}

@media (min-width: 768px) {
  .home .main-banner .position-fixed {
    background-image: url(/dist/images/main-banner-md.56a13121.jpg);
  }
  .home .main-banner h1 {
    font-size: 2.5rem;
  }
}

@media (min-width: 1200px) {
  .home .main-banner {
    min-height: 75vh;
  }
  .home .main-banner .position-fixed {
    background-size: contain;
    background-position: center 50%;
    background-image: url(/dist/images/main-banner-xl.80a28a9a.jpg);
  }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1wYWdlLWNzcy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBaUVBO0VBQ0UsdUNBQWE7RUFDYiwwQ0FBZTtBQ2hFakI7O0FBREU7RUFDSSxXQUFXO0VBQ1gsbUNBQThCO0VBQTlCLDhCQUE4QjtFQUM5QiwrQkFBK0I7RUFFL0IsNkNBQTZDO0VBQzdDLGtCQUFrQjtBQUl4Qjs7QUFGRTtFQUVVLHFCQUFxQjtBQUlqQzs7QUFORTtFQUtNLDBCQUNGO0FBSU47O0FBRkU7RUFFTSxxQkFBcUI7QUFJN0I7O0FBTkU7RUFLTSwwQkFDRjtBQUlOOztBQUZBO0VBRUksZ0JBQWdCO0FBSXBCOztBQU5BO0VBS00sZ0JBQWdCO0VBQ2hCLFdBQVc7RUFDWCxTQUFTO0VBQ1QsMEJBQTBCO0VBQzFCLGdGRG5CVztBQ3dCakI7O0FBZEE7RUFhSSxnQkFBZ0I7RUFDaEIsNEJBQXNDO0VBQ3RDLHFCQUErQjtBQUtuQzs7QUFwQkE7RUFrQkksbUJBQW1CO0VBQ25CLGNBQWM7QUFNbEI7O0FBekJBO0VBcUJNLDJCQ3ZDMkI7RUR3QzNCLGlCQUFpQjtFQUNqQixtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLG1CQUFtQjtFQUNqQixZQUFZO0FBUXBCOztBQWxDQTtFQTRCUSwyREFBMkQ7RUFDM0QsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixtQkFBbUI7QUFVM0I7O0FFUEk7RUZJRjtJQUVJLGdCQUFnQjtFQU1wQjtFQVJBO0lBS00sZ0JBQWdCO0lBQ2hCLCtCQUErQjtJQUMvQix5REFBZ0U7RUFNdEU7QUFDRjs7QUVsQkk7RUZrQkY7SUFJTSx5REFBZ0U7RUFDdEU7RUFMQTtJQU9NLGlCQ3RFZTtFRHVFckI7QUFDRjs7QUUzQkk7RUZnQ0Y7SUFFSSxnQkFBZ0I7RUFGcEI7RUFBQTtJQUtNLHdCQUF3QjtJQUN4QiwrQkFBK0I7SUFDL0IseURBQWdFO0VBRnRFO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9pemlkb3JlLXdlYi8uL3B1YmxpYy9zY3NzL2NvbmZpZy9fcGFsZXR0ZS5zY3NzIiwid2VicGFjazovL2l6aWRvcmUtd2ViLy4vcHVibGljL3Njc3MvcGFnZXMvaG9tZS9pbmRleC5zY3NzIiwid2VicGFjazovL2l6aWRvcmUtd2ViLy4vcHVibGljL3Njc3MvY29uZmlnL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly9pemlkb3JlLXdlYi8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiJHBhbGV0dGU6IChcclxuICBcInllbGxvd1wiOiAoXHJcbiAgICB4LWxpZ2h0OiAjZmZmNGMxLFxyXG4gICAgbGlnaHQ6ICNmZmViOTcsXHJcbiAgICBtaWQtbGlnaHQ6ICNmNGQ0NjUsXHJcbiAgICBiYXNlOiAjZmZkOTMyLFxyXG4gICAgbWlkLWRhcms6ICNlNGMyMmMsXHJcbiAgICBkYXJrOiAjY2JhYzI3XHJcbiAgKSxcclxuICBcIndoaXRlXCI6IChcclxuICAgIGxpZ2h0OiAjZmZmLFxyXG4gICksXHJcbiAgXCJncmVlblwiOiAoXHJcbiAgICB4LWxpZ2h0OiAjZDZlM2Q4LFxyXG4gICAgbGlnaHQ6ICNhYWQ5YzUsXHJcbiAgICBtaWQtbGlnaHQ6ICM4MWM3YTksXHJcbiAgICBiYXNlOiAjNThiNThkLFxyXG4gICAgbWlkLWRhcms6ICM0ZWExN2UsXHJcbiAgICBkYXJrOiAjNDY5MDcwLFxyXG4gICAgcHJpbWFyeTogIzY1QkI5NlxyXG4gICksXHJcbiAgXCJibHVlXCI6IChcclxuICAgIHgtbGlnaHQ6ICMzNTcyOTQsXHJcbiAgICBsaWdodDogIzk5YjdjOSxcclxuICAgIG1pZC1saWdodDogIzY3OTVhZSxcclxuICAgIGJhc2U6ICMzNTcyOTQsXHJcbiAgICBtaWQtZGFyazogIzJmNjU4NCxcclxuICAgIGRhcms6ICMyYTVhNzVcclxuICApLFxyXG4gIFwiZ3JheVwiOiAoXHJcbiAgICB4LWxpZ2h0OiAjZjdmN2Y3LFxyXG4gICAgbGlnaHQ6ICNlNWU2ZTYsXHJcbiAgICBtaWQtbGlnaHQ6ICNkM2Q2ZDQsXHJcbiAgICBiYXNlOiAjYTlhZWFiLFxyXG4gICAgbWlkLWRhcms6ICM5Mzk5OTUsXHJcbiAgICBkYXJrOiAjMjkzNjJlLFxyXG4gICAgeC1kYXJrOiAjMjAyYjI0LFxyXG4gICAgbmV1dHJhbDogIzc4Nzg3OFxyXG4gICksXHJcbiAgXCJyZWRcIjogKFxyXG4gICAgeC1saWdodDogI2ZmOTA4OSxcclxuICAgIGxpZ2h0OiAjZmY3MTY4LFxyXG4gICAgbWlkLWxpZ2h0OiNmZjcxNjgsXHJcbiAgICBiYXNlOiAjZmY2MTU3LFxyXG4gICAgbWlkLWRhcms6ICNlNjU3NGUsXHJcbiAgICBkYXJrOiAjY2M0ZTQ2LFxyXG4gICAgeC1kYXJrOiAjYjM0NDNkXHJcbiAgKSxcclxuICBcIm9yYW5nZVwiOiAoXHJcbiAgICBiYXNlOiAjZjk1MjAwXHJcbiAgKVxyXG4pO1xyXG5cclxuJGFscGhhLWxldmVsczogKFxyXG4gIFwiMFwiOiAwLFxyXG4gIFwiMTBcIjogMC4xLFxyXG4gIFwiMjBcIjogMC4yLFxyXG4gIFwiNDBcIjogMC40LFxyXG4gIFwiNjBcIjogMC42LFxyXG4gIFwiNzBcIjogMC43LFxyXG4gIFwiODBcIjogMC44LFxyXG4gIFwiOTBcIjogMC45LFxyXG4gIFwiMTAwXCI6IDFcclxuKTtcclxuXHJcbmJvZHkge1xyXG4gIC0tbWFpbi1jb2xvcjogJHBhbGV0dGVbJ2dyZWVuJ11bJ2Jhc2UnXTtcclxuICAtLXNlY29uZC1jb2xvcjogJHBhbGV0dGVbJ3llbGxvdyddWydiYXNlJ107XHJcbn0iLCJAaW1wb3J0IFwiLi4vLi4vY29uZmlnL3BhZ2VzLWNvbmZpZ1wiO1xyXG5cclxuICBzd2lwZXItd3JhcHBlciB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IG1heC1jb250ZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2NHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50O1xyXG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgfVxyXG4gIC5zd2lwZXItYnV0dG9uLW5leHR7XHJcbiAgICAgICAgc3Zne1xyXG4gICAgICAgICAgICB3aWR0aDogNzAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICY6OmFmdGVye1xyXG4gICAgICAgIGNvbnRlbnQ6XCJub25lXCIgIWltcG9ydGFudFxyXG4gICAgICB9XHJcbiAgfVxyXG4gIC5zd2lwZXItYnV0dG9uLXByZXZ7XHJcbiAgICAgIHN2Z3tcclxuICAgICAgICB3aWR0aDogNzAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgICAgJjo6YWZ0ZXJ7XHJcbiAgICAgICAgY29udGVudDpcIm5vbmVcIiAhaW1wb3J0YW50XHJcbiAgICAgIH1cclxuICB9XHJcbi5ob21lIHtcclxuICAubWFpbi1iYW5uZXIge1xyXG4gICAgbWluLWhlaWdodDogNzB2aDtcclxuXHJcbiAgICAucG9zaXRpb24tZml4ZWQge1xyXG4gICAgICBtaW4taGVpZ2h0OiA3MHZoO1xyXG4gICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciA2MCUgdXJsKFwiLi4vLi4vLi4vaW1nL2Jhbm5lcnMvbWFpbi1iYW5uZXIteHMuanBnXCIpIGFwcC1jb2xvcihcImdyZWVuXCIsIFwiYmFzZVwiKTtcclxuICAgIH1cclxuICB9XHJcbiAgLm92ZXItbWFpbi1iYW5uZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IGd1dHRlcigyKSBndXR0ZXIoMikgMCAwO1xyXG4gICAgbWFyZ2luOiBndXR0ZXIoLTUpIGd1dHRlcigtMSkgMDtcclxuICB9XHJcbiAgLnBhcnRuZXItaXRlbSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAuYnJhbmRpbmctdGV4dC1tYWtlciB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYm9sZDtcclxuICAgICAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAmLnRleHQtc21hbGwge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zcmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcbiAgLmhvbWUge1xyXG4gICAgLm1haW4tYmFubmVyIHtcclxuICAgICAgbWluLWhlaWdodDogODB2aDtcclxuXHJcbiAgICAgIC5wb3NpdGlvbi1maXhlZCB7XHJcbiAgICAgICAgbWluLWhlaWdodDogODB2aDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgNzAlO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9iYW5uZXJzL21haW4tYmFubmVyLXNtLmpwZ1wiKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gIC5ob21lIHtcclxuICAgIC5tYWluLWJhbm5lciB7XHJcblxyXG4gICAgICAucG9zaXRpb24tZml4ZWQge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9iYW5uZXJzL21haW4tYmFubmVyLW1kLmpwZ1wiKTtcclxuICAgICAgfVxyXG4gICAgICBoMSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWh1Z2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcclxuICAuaG9tZSB7XHJcbiAgICAubWFpbi1iYW5uZXIge1xyXG4gICAgICBtaW4taGVpZ2h0OiA3NXZoO1xyXG5cclxuICAgICAgLnBvc2l0aW9uLWZpeGVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDUwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvYmFubmVycy9tYWluLWJhbm5lci14bC5qcGdcIik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiJG1haW4tbmF2aWdhdGlvbi1oZWlnaHQ6IDYwcHg7XHJcbiRtYWluLXN1Yi1uYXZpZ2F0aW9uLWhlaWdodDogNDVweDtcclxuJHByb2ZpbGUtc2VjdGlvbi13aWR0aDogNTBweDtcclxuJGd1dHRlcjogMTVweDtcclxuXHJcbiRmb250LWZhbWlseS1iYXNlLTI6IFwiUG9wcGlucy1MaWdodFwiO1xyXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogXCJSb2JvdG9TbGFiLUxpZ2h0XCI7XHJcbiRmb250LWZhbWlseS10aGljazogXCJSb2JvdG9TbGFiLVJlZ3VsYXJcIjtcclxuJGZvbnQtZmFtaWx5LWJvbGQ6IFwiUG9wcGlucy1Cb2xkXCI7XHJcbiRmb250LWZhbWlseS1zZW1pLWJvbGQ6IFwiUG9wcGlucy1TZW1pQm9sZFwiO1xyXG4kZm9udC1zaXplLWJhc2U6IDAuOTVyZW07IC8vIDE1LjJweFxyXG4kZm9udC1zaXplLXNlbWktc21hbGw6IDAuODVyZW07XHJcbiRmb250LXNpemUtc21hbGw6IDAuNzVyZW07XHJcbiRmb250LXNpemUtYmlnOiAxcmVtO1xyXG4kZm9udC1zaXplLWJpZ2dlcjogMS41cmVtO1xyXG4kZm9udC1zaXplLWh1Z2U6IDIuNXJlbTtcclxuJGgxLWZvbnQtc2l6ZTogMnJlbTsgLy8gMzJweFxyXG4kaDItZm9udC1zaXplOiAxLjc1cmVtOyAvLyAyOHB4XHJcbiRoMy1mb250LXNpemU6IDEuMjVyZW07IC8vIDIwcHhcclxuJGg0LWZvbnQtc2l6ZTogMS4xMjVyZW07IC8vIDE4cHhcclxuJGg1LWZvbnQtc2l6ZTogMXJlbTsgLy8gMTZweFxyXG4kaDYtZm9udC1zaXplOiAwLjg3NXJlbTsgLy8gMTRweFxyXG5cclxuJGJ0bi1iaWctaGVpZ2h0OiA1NXB4O1xyXG4kYnRuLWhlaWdodDogNDVweDtcclxuJGJ0bi1tZWRpdW0taGVpZ2h0OiAzNXB4O1xyXG4kYnRuLXNtYWxsLWhlaWdodDogMjhweDtcclxuJGJ0bi1zbWFsbGVyLWhlaWdodDogMjBweDtcclxuJGJ0bi1ib3gtc2hhZG93OiAjZjdmN2Y3IDFweCAxcHggM3B4O1xyXG5cclxuJGlucHV0LWJvcmRlci1yYWRpdXMgOiA1MHB4ICFpbXBvcnRhbnQ7XHJcbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/