/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/app.css ***!
  \**************************************************************************************************************/
/*******************\
    $variables
\*******************/
/*******************\
    $base
\*******************/
/*******************\

Generals

\*******************/
*,
::after,
::before {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html,
body {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  color: #fafafa;
  font-family: Rubik, sans-serif;
  background: #171717;
  padding-top: 100px;
}

a {
  color: inherit;
  text-decoration: none;
}

h2 {
  padding: 0 0 20px 0;
  position: relative;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin-bottom: 20px;
  text-transform: uppercase;
}
h2::before {
  content: "";
  width: 45px;
  height: 15px;
  background: url(/build/images/threeCircles.c2ab09d6.svg);
  background-size: 100% 100%;
  position: absolute;
  bottom: 0;
}

.center_h2 {
  width: 100%;
  display: flex;
  justify-content: center;
}

p {
  line-height: 1.75;
}

.btn, .btn_yellow {
  display: block;
  padding: 10px 20px;
  margin: 10px 0;
  border-radius: 30px;
  text-align: center;
}

.btn_yellow {
  background-color: #cacd2c;
  color: #171717;
}

/*******************\
    $modules
\*******************/
.header {
  width: 100%;
  height: 100px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 20px 0 20px;
  background: rgba(23, 23, 23, 0);
  position: fixed;
  top: 0;
  transition: all 0.3s ease;
  z-index: 999;
}

.logo-link {
  display: block;
  width: 80px;
  height: 80px;
}
.logo-link img {
  width: 100%;
  height: 100%;
}

.navbar {
  width: 450px;
}

.navbar-nav {
  width: 100%;
  display: flex;
  list-style: none;
  justify-content: space-around;
}

@media screen and (max-width: 910px) {
  .navbar {
    position: absolute;
    top: 100px;
    background: #171717;
    width: 100%;
    left: 0;
    height: 100vh;
    transform: translateX(100%);
    transition: transform 0.5s ease-in-out;
  }
  .navbar .navbar-nav {
    flex-direction: column;
    gap: 50px;
    align-items: center;
    padding-top: 20px;
  }
  .with-menu .navbar {
    transform: translateX(0);
  }
}
.nav-link {
  position: relative;
}
.nav-link::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: -3px;
  left: 0;
  background-color: #fafafa;
  border-radius: 2px;
  transform: scaleX(0);
  transition: transform 0.3s ease;
  transform-origin: left;
}

.nav-link:hover::after, .nav-link.active::after {
  transform: scaleX(1);
}

/*******************\
    $section
\*******************/
.section {
  padding: 100px 10px;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  flex-wrap: wrap;
  gap: 50px;
  position: relative;
}

.section-text {
  width: clamp(300px, 70%, 500px);
}

.section-image {
  width: 300px;
}

.section-image_circles {
  width: 300px;
  position: relative;
}
.section-image_circles::before, .section-image_circles::after {
  content: "";
  background: url(/build/images/circle.4d70377e.svg);
  position: absolute;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  z-index: -1;
  width: 100px;
  height: 100px;
}
.section-image_circles::before {
  right: -30px;
  top: -30px;
}
.section-image_circles::after {
  left: -30px;
  bottom: -30px;
}
.section-image_circles img {
  width: 100%;
}
@media screen and (max-width: 366px) {
  .section-image_circles::after {
    left: 0px;
    bottom: -40px;
  }
  .section-image_circles::before {
    right: 0px;
    top: -40px;
  }
}

.banner {
  background-image: url(/build/images/circle.4d70377e.svg), url(/build/images/circle.4d70377e.svg), url(/build/images/circle.4d70377e.svg), url(/build/images/circle-dark.20d5e9c5.svg);
  background-repeat: no-repeat;
  background-size: 101px 101px, 137px 137px, 65px 65px, 60px 60px;
  background-position: 45vw calc(10vh + 15px + var(--parallaxY)), right 0 top calc(45vh + 15px + var(--parallaxY)), 55vw calc(70vh + 15px + var(--parallaxY)), 75vw 50px;
  height: calc(100vh - 100px) !important;
  display: flex;
  gap: 50px;
  justify-content: space-evenly;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 910px) {
  .banner {
    align-items: flex-start;
  }
  .banner .banner-img_container {
    position: absolute;
    bottom: 0;
    width: 51%;
    min-width: 310px;
  }
  .banner .banner-img_container .banner-img {
    width: 100%;
  }
}

.banner-img_container {
  align-self: flex-end;
  position: relative;
}
.banner-img_container .banner-img {
  max-height: calc(90vh - 100px);
}
.banner-img_container::before {
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(to top, #171717 0%, #171717 5%, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, 0) 100%);
}

.banner-text {
  width: clamp(300px, 55%, 500px);
}
.banner-text h1 {
  font-size: 2.5em;
  text-transform: uppercase;
}

.overflow-background {
  position: absolute;
  top: -100px;
  left: 0;
  width: 100%;
  height: 100vh;
  background: radial-gradient(circle at 0% 0%, rgb(76, 76, 76) 0%, #171717 41%, #171717 100%);
  z-index: -1;
}

/*******************\
    $Skills
\*******************/
.skills-container {
  width: 100%;
  overflow: hidden;
}
.skills-container .skills-row {
  display: flex;
}
.skills-container .skills-row .skills-row_group {
  display: flex;
  gap: 60px;
  padding: 0 60px 0 0;
  align-items: center;
}
.skills-container .skills-row .skills-row_group p {
  white-space: nowrap;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  font-size: clamp(30px, 10vw, 64px);
  position: relative;
  line-height: 1;
}

.skills-container .skills-row:nth-child(1) .skills-row_group,
.skills-container .skills-row:nth-child(3) .skills-row_group {
  -webkit-animation: defilLeft 45s linear infinite;
          animation: defilLeft 45s linear infinite;
}

.skills-container .skills-row:nth-child(2),
.skills-container .skills-row:nth-child(4) {
  flex-direction: row-reverse;
}
.skills-container .skills-row:nth-child(2) .skills-row_group,
.skills-container .skills-row:nth-child(4) .skills-row_group {
  -webkit-animation: defilRight 45s linear infinite;
          animation: defilRight 45s linear infinite;
}

.skills-row_group img {
  height: 30px;
  aspect-ratio: 1/1;
}

@-webkit-keyframes defilLeft {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

@keyframes defilLeft {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
@-webkit-keyframes defilRight {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(100%);
  }
}
@keyframes defilRight {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(100%);
  }
}
*[data-observer=fade-right] {
  transform: translateX(-50px);
  opacity: 0;
  transition: all 1s cubic-bezier(0.44, 0.74, 0.71, 1.08);
}

*[data-observer].fade-right {
  opacity: 1;
  transform: translateX(0);
}

*[data-observer=fade-left] {
  transform: translateX(50px);
  opacity: 0;
  transition: all 1s cubic-bezier(0.44, 0.74, 0.71, 1.08);
}

*[data-observer].fade-left {
  opacity: 1;
  transform: translateX(0);
}

.about {
  background: url(/build/images/circles3x4-dark171717.a073ce25.svg);
  background-size: clamp(100px, 50%, 350px) auto;
  background-repeat: repeat-y;
  background-attachment: fixed;
  background-color: #131313;
  background-position: left 0 bottom calc(-0.5 * var(--parallaxY));
}

.skills {
  background: url(/build/images/circles3x4-dark131313.b83b3d3f.svg);
  background-size: clamp(100px, 50%, 350px) auto;
  background-repeat: repeat-y;
  background-color: #171717;
  background-position: right 0px bottom calc(-0.5 * var(--parallaxY));
  background-attachment: fixed;
  background-color: #171717;
}

.portfolio {
  background: url(/build/images/circle.4d70377e.svg), url(/build/images/circle-dark.20d5e9c5.svg), url(/build/images/circle.4d70377e.svg), url(/build/images/circle.4d70377e.svg), url(/build/images/circles3x4-dark171717.a073ce25.svg);
  background-size: 50px auto, 100px auto, 40px auto, 50px auto, clamp(100px, 50%, 350px) auto;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, repeat-y;
  background-position: 70% calc(35% + var(--parallaxY)), right 10px top calc(40% + 2 * var(--parallaxY)), 70% 10px, clamp(100px, 50%, 200px) calc(30% + 1.5 * var(--parallaxY)), left 0 bottom calc(-0.5 * var(--parallaxY));
  background-color: #131313;
  background-attachment: fixed;
}

.contact {
  background-color: #171717;
  background-image: url(/build/images/circle.4d70377e.svg), url(/build/images/circle.4d70377e.svg), url(/build/images/circle-dark.20d5e9c5.svg), url(/build/images/circle-dark.20d5e9c5.svg), url(/build/images/circles3x4-dark131313.b83b3d3f.svg);
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, repeat-y;
  background-size: 50px 50px, 50px 50px, 150px auto, 150px auto, clamp(100px, 50%, 350px) auto;
  background-position: 5vw calc(20% + 2 * var(--parallaxY)), bottom 10px right 50%, left 50px bottom 35%, right calc(clamp(100px, 50%, 350px) + 20px) top calc(35% + 2 * var(--parallaxY)), right 0 bottom calc(-0.5 * var(--parallaxY));
  background-attachment: scroll, scroll, fixed;
}
@media screen and (max-width: 500px) {
  .contact {
    background-image: url(/build/images/circle.4d70377e.svg), url(/build/images/circle.4d70377e.svg), url(/build/images/circle-dark.20d5e9c5.svg), url(/build/images/circles3x4-dark131313.b83b3d3f.svg);
    background-repeat: no-repeat, no-repeat, no-repeat, repeat-y;
    background-size: 50px 50px, 50px 50px, 200px auto, clamp(100px, 50%, 350px) auto;
    background-position: 5vw calc(15% + 2 * var(--parallaxY)), bottom 10px right 50%, left 50px bottom 50%, right bottom calc(-0.5 * var(--parallaxY));
    background-attachment: scroll, scroll, fixed;
  }
}

.contact-form {
  width: 45%;
  min-width: 300px;
  margin: auto;
}

.input-text, .message-area, .submit {
  font-family: Rubik;
  font-size: 16px;
}

.input-text, .message-area {
  outline: none;
  background: transparent;
  border: none;
  border-bottom: 1px solid #fafafa;
  color: #fafafa;
  padding-bottom: 5px;
}

.field_group {
  width: 100%;
  display: flex;
  gap: 30px;
  justify-content: space-between;
  margin: 0 0 35px 0;
  flex-wrap: wrap;
}
.field_group .input-text {
  width: 40%;
  min-width: 300px;
}

.message-area {
  width: 100%;
  height: 150px;
  margin: 0 0 10px;
  resize: vertical;
}

.submit {
  width: 100%;
  padding: 10px;
  background: #cacd2c;
  border: none;
  border-radius: 10px;
  cursor: pointer;
}

@media screen and (max-width: 1419px) {
  .input-text {
    width: 100% !important;
  }
  .submit {
    width: 100% !important;
  }
}
.projects-container {
  width: clamp(300px, 80%, 1200px);
  min-width: 300px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.projects-container .project-item {
  display: block;
  width: 300px;
  position: relative;
  border-radius: 10px;
  background: rgba(250, 250, 250, 0.0666666667);
}
.projects-container .project-item img {
  width: 100%;
  border-radius: 10px;
}
.projects-container .project-item:before {
  content: "En savoir +";
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: #cacd2c;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.3s;
  color: #171717;
  font-size: 30px;
}
.projects-container .project-item:hover:before {
  opacity: 1;
}

.popup {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(185, 185, 185, 0.445);
  z-index: 999;
  justify-content: center;
  align-items: center;
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s;
}
.popup:target {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.3s;
}

.popup .pop_projet {
  background-color: #171717;
  padding: 10px;
  border-radius: 10px;
  width: clamp(320px, 80%, 1000px);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 7px 7px 10px rgb(36, 36, 36);
}
.popup .pop_projet h2 {
  font-size: 20px;
  padding: 15px 0;
  margin-bottom: 15px;
}
.popup .pop_projet p {
  line-height: 1;
}

.popup .pop_projet img {
  width: 60%;
  margin: 20px auto;
  min-width: 260px;
}

.popup .pop_projet .close {
  position: absolute;
  top: 5px;
  right: 5px;
}

.project-link {
  margin-top: 5px;
}

/*******************\
    $footer
\*******************/
.footer {
  padding: 50px;
  background: #131313;
  display: flex;
  justify-content: space-evenly;
  gap: 20px;
  flex-wrap: wrap;
}

.legal-notice {
  width: 80%;
  margin: auto;
  min-width: 300px;
  padding: 100px 0;
}
.legal-notice h1 {
  font-size: 30px;
  text-align: center;
  margin-bottom: 50px;
}
.legal-notice h2 {
  margin: 20px 0;
}

.success {
  padding: 10px 25px;
  background-color: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
  position: fixed;
  top: 100px;
  right: 5px;
  z-index: 800;
  -webkit-animation: animMessage 4s linear forwards;
          animation: animMessage 4s linear forwards;
}

.error {
  padding: 10px 25px;
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
  position: fixed;
  top: 100px;
  right: 5px;
  z-index: 800;
  -webkit-animation: animMessage 4s linear forwards;
          animation: animMessage 4s linear forwards;
}

@-webkit-keyframes animMessage {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes animMessage {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.icon-menu {
  height: 50px;
  width: 50px;
  position: relative;
  cursor: pointer;
  display: none;
}
@media screen and (max-width: 910px) {
  .icon-menu {
    display: block;
  }
}

.icon-menu span {
  display: block;
  width: 100%;
  height: 6px;
  background-color: #fafafa;
  position: absolute;
  top: calc(50% - 3px);
  border-radius: 3px;
  transition: all 0.3s 0.25s ease;
}
.icon-menu span::before, .icon-menu span::after {
  content: "";
  display: block;
  width: 100%;
  height: 6px;
  background-color: #fafafa;
  position: absolute;
  border-radius: 3px;
}
.icon-menu span::before {
  top: -15px;
  -webkit-animation: beforeMenuDisabled 1s 0s forwards;
          animation: beforeMenuDisabled 1s 0s forwards;
}
.icon-menu span::after {
  bottom: -15px;
  -webkit-animation: afterMenuDisabled 1s 0s forwards;
          animation: afterMenuDisabled 1s 0s forwards;
}

.icon-menu.active span {
  background-color: rgba(250, 250, 250, 0);
}

.icon-menu.active span::before {
  -webkit-animation: beforeMenuActived 1s 0s forwards;
          animation: beforeMenuActived 1s 0s forwards;
}

.icon-menu.active span::after {
  -webkit-animation: afterMenuActived 1s 0s forwards;
          animation: afterMenuActived 1s 0s forwards;
}

/*******************\

animations menu disable

\*******************/
@-webkit-keyframes beforeMenuDisabled {
  0% {
    top: 0px;
    transform: rotateZ(50deg);
  }
  25% {
    transform: rotateZ(0deg);
    top: 0px;
  }
  50% {
    top: 0px;
  }
  75% {
    top: 0px;
  }
  100% {
    top: -15px;
  }
}
@keyframes beforeMenuDisabled {
  0% {
    top: 0px;
    transform: rotateZ(50deg);
  }
  25% {
    transform: rotateZ(0deg);
    top: 0px;
  }
  50% {
    top: 0px;
  }
  75% {
    top: 0px;
  }
  100% {
    top: -15px;
  }
}
@-webkit-keyframes afterMenuDisabled {
  0% {
    bottom: 0px;
    transform: rotateZ(-50deg);
  }
  25% {
    transform: rotateZ(0deg);
    bottom: 0px;
  }
  50% {
    bottom: 0px;
  }
  75% {
    bottom: 0px;
  }
  100% {
    bottom: -15px;
  }
}
@keyframes afterMenuDisabled {
  0% {
    bottom: 0px;
    transform: rotateZ(-50deg);
  }
  25% {
    transform: rotateZ(0deg);
    bottom: 0px;
  }
  50% {
    bottom: 0px;
  }
  75% {
    bottom: 0px;
  }
  100% {
    bottom: -15px;
  }
}
/*******************\

Animations menu actived

\*******************/
@-webkit-keyframes beforeMenuActived {
  0% {
    top: -15px;
  }
  25% {
    top: 0px;
  }
  50% {
    top: 0px;
  }
  75% {
    transform: rotateZ(0deg);
    top: 0px;
  }
  100% {
    top: 0px;
    transform: rotateZ(50deg);
  }
}
@keyframes beforeMenuActived {
  0% {
    top: -15px;
  }
  25% {
    top: 0px;
  }
  50% {
    top: 0px;
  }
  75% {
    transform: rotateZ(0deg);
    top: 0px;
  }
  100% {
    top: 0px;
    transform: rotateZ(50deg);
  }
}
@-webkit-keyframes afterMenuActived {
  0% {
    bottom: -15px;
  }
  25% {
    bottom: 0px;
  }
  50% {
    bottom: 0px;
  }
  75% {
    transform: rotateZ(0deg);
    bottom: 0px;
  }
  100% {
    bottom: 0px;
    transform: rotateZ(-50deg);
  }
}
@keyframes afterMenuActived {
  0% {
    bottom: -15px;
  }
  25% {
    bottom: 0px;
  }
  50% {
    bottom: 0px;
  }
  75% {
    transform: rotateZ(0deg);
    bottom: 0px;
  }
  100% {
    bottom: 0px;
    transform: rotateZ(-50deg);
  }
}
@media screen and (max-width: 869px) {
  .skills .section-image {
    order: 2;
  }
  .skills .section-text {
    order: 1;
  }
  .skills .skills-container {
    order: 3;
  }
}/*# sourceMappingURL=app.css.map */

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQTs7b0JBQUE7QUFTQTs7b0JBQUE7QUNUQTs7OztvQkFBQTtBQU1BOzs7RUFHSTtFQUNBO0VBQ0E7QUNNSjs7QURIQTs7RUFFSTtFQUNBO0FDTUo7O0FESEE7RUFDSSxjRGhCSTtFQ2lCSixrQkRuQkc7RUNvQkgsbUJEbkJHO0VDb0JIO0FDTUo7O0FEREE7RUFDSTtFQUNBO0FDSUo7O0FEQ0E7RUFDSTtFQUNBO0VBQ0E7RUFBQTtFQUFBO0VBQ0E7RUFDQTtBQ0VKO0FEQUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ0VSOztBREVBO0VBQ0k7RUFDQTtFQUNBO0FDQ0o7O0FERUE7RUFDSTtBQ0NKOztBREVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ0NKOztBREVBO0VBRUkseUJEcEVLO0VDcUVMLGNEdkVHO0FFdUVQOztBRjVEQTs7b0JBQUE7QUdmQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QURpRko7O0FDOUVBO0VBQ0k7RUFDQTtFQUNBO0FEaUZKO0FDL0VJO0VBQ0k7RUFDQTtBRGlGUjs7QUM3RUE7RUFDSTtBRGdGSjs7QUM3RUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBRGdGSjs7QUM1RUE7RUFDSTtJQUNJO0lBQ0E7SUFDQSxtQkhyQ0Q7SUdzQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFRCtFTjtFQzdFTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0VEK0VWO0VDM0VFO0lBQ0k7RUQ2RU47QUFDRjtBQ3pFQTtFQUNJO0FEMkVKO0FDekVJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QkhwRUE7RUdxRUE7RUFDQTtFQUNBO0VBQ0E7QUQyRVI7O0FDckVJO0VBQ0k7QUR3RVI7O0FFNUpBOztvQkFBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUYrSko7O0FFNUpBO0VBQ0k7QUYrSko7O0FFNUpBO0VBQ0k7QUYrSko7O0FFNUpBO0VBQ0k7RUFDQTtBRitKSjtBRTdKSTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUY4SlI7QUUzSkk7RUFDSTtFQUNBO0FGNkpSO0FFMUpJO0VBQ0k7RUFDQTtBRjRKUjtBRXpKSTtFQUNJO0FGMkpSO0FFeEpJO0VBQ0k7SUFDSTtJQUNBO0VGMEpWO0VFeEpNO0lBQ0k7SUFDQTtFRjBKVjtBQUNGOztBR3JOQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FId05KO0FHdE5JO0VBWko7SUFhUTtFSHlOTjtFR3ZOTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0VIeU5WO0VHdk5VO0lBQ0k7RUh5TmQ7QUFDRjs7QUduTkE7RUFDSTtFQUNBO0FIc05KO0FHcE5JO0VBQ0c7QUhzTlA7QUduTkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSHFOUjs7QUdoTkE7RUFDSTtBSG1OSjtBR2pOSTtFQUNJO0VBQ0E7QUhtTlI7O0FHL01BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUhrTko7O0FJblJBOztvQkFBQTtBQUlBO0VBQ0k7RUFDQTtBSnFSSjtBSWxSSTtFQUNJO0FKb1JSO0FJbFJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUpvUlo7QUluUlk7RUFDQTtFQUNBO0VBQUE7RUFBQTtFQUNBO0VBQ0E7RUFDQTtBSnFSWjs7QUkzUUk7O0VBQ0k7VUFBQTtBSitRUjs7QUkxUUE7O0VBRUk7QUo2UUo7QUk1UUk7O0VBQ0s7VUFBQTtBSitRVDs7QUl6UUk7RUFDSTtFQUNBO0FKNFFSOztBSXZRQTtFQUNJO0lBQ0k7RUowUU47RUl4UUU7SUFDSTtFSjBRTjtBQUNGOztBSWhSQTtFQUNJO0lBQ0k7RUowUU47RUl4UUU7SUFDSTtFSjBRTjtBQUNGO0FJdlFBO0VBQ0k7SUFDSTtFSnlRTjtFSXZRRTtJQUNJO0VKeVFOO0FBQ0Y7QUkvUUE7RUFDSTtJQUNJO0VKeVFOO0VJdlFFO0lBQ0k7RUp5UU47QUFDRjtBSy9VQTtFQUNJO0VBQ0E7RUFDQTtBTGlWSjs7QUs5VUE7RUFDSTtFQUNBO0FMaVZKOztBSzVVQTtFQUNJO0VBQ0E7RUFDQTtBTCtVSjs7QUs1VUE7RUFDSTtFQUNBO0FMK1VKOztBTWxXQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTnFXSjs7QU1sV0E7RUFDSTtFQUNBO0VBQ0E7RUFDQSx5QlJYRztFUVlIO0VBQ0E7RUFDQSx5QlJkRztBRW1YUDs7QU1sV0E7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU5vV0o7O0FNaFdBO0VBQ0kseUJSN0JHO0VROEJIO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU5tV0o7QU1qV0k7RUFSSjtJQVNRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RU5vV047QUFDRjs7QU9sWkE7RUFDSTtFQUNBO0VBQ0E7QVBxWko7O0FPbFpBO0VBQ0ksa0JUSkc7RVNLSDtBUHFaSjs7QU9sWkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNUWEk7RVNZSjtBUHFaSjs7QU9sWkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVBxWko7QU9uWkk7RUFDSTtFQUNBO0FQcVpSOztBT2haQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FQbVpKOztBT2haQTtFQUNJO0VBQ0E7RUFDQSxtQlR2Q0s7RVN3Q0w7RUFDQTtFQUNBO0FQbVpKOztBT2haQTtFQUNJO0lBQ0c7RVBtWkw7RU9oWkU7SUFDSTtFUGtaTjtBQUNGO0FRNWNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSOGNKO0FRM2NJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUjZjUjtBUTNjUTtFQUNJO0VBQ0E7QVI2Y1o7QVF6Y1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCVnhCSDtFVXlCRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY1ZoQ0w7RVVpQ0s7QVIyY1o7QVF4Y1E7RUFDSTtBUjBjWjs7QVFyY0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUndjSjtBUXJjQTtFQUNJO0VBQ0E7RUFDQTtBUnVjSjs7QVFuY0E7RUFDSSx5QlZsRUc7RVVtRUg7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUnNjSjtBUXBjSTtFQUNJO0VBQ0E7RUFDQTtBUnNjUjtBUXBjSTtFQUNJO0FSc2NSOztBUWxjQTtFQUNJO0VBQ0E7RUFDQTtBUnFjSjs7QVFsY0U7RUFDRTtFQUNBO0VBQ0E7QVJxY0o7O0FRbGNFO0VBQ0U7QVJxY0o7O0FTNWlCQTs7b0JBQUE7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVCtpQko7O0FVeGpCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FWMmpCSjtBVXpqQkk7RUFDSTtFQUNBO0VBQ0E7QVYyakJSO0FVeGpCSTtFQUNJO0FWMGpCUjs7QVd2a0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7QVgwa0JKOztBV3RrQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtBWHlrQko7O0FXdGtCQTtFQUNJO0lBQUk7RVgwa0JOO0VXemtCRTtJQUFJO0VYNGtCTjtFVzNrQkU7SUFBTTtFWDhrQlI7QUFDRjs7QVdsbEJBO0VBQ0k7SUFBSTtFWDBrQk47RVd6a0JFO0lBQUk7RVg0a0JOO0VXM2tCRTtJQUFNO0VYOGtCUjtBQUNGO0FZM21CQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVo2bUJKO0FZM21CSTtFQVBKO0lBUVE7RVo4bUJOO0FBQ0Y7O0FZem1CQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLHlCZGJJO0VjY0o7RUFDQTtFQUNBO0VBQ0E7QVo0bUJKO0FZMW1CSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJkeEJBO0VjeUJBO0VBQ0E7QVo0bUJSO0FZMW1CSTtFQUNJO0VBQ0E7VUFBQTtBWjRtQlI7QVl6bUJJO0VBQ0k7RUFDQTtVQUFBO0FaMm1CUjs7QVlybUJJO0VBQ0k7QVp3bUJSOztBWXBtQkE7RUFDSTtVQUFBO0FadW1CSjs7QVlwbUJBO0VBQ0k7VUFBQTtBWnVtQko7O0FZcG1CQTs7OztvQkFBQTtBQU1BO0VBQ0k7SUFDSTtJQUNBO0Vac21CTjtFWXBtQkU7SUFDSTtJQUNBO0Vac21CTjtFWXBtQkU7SUFDSTtFWnNtQk47RVlwbUJFO0lBQ0k7RVpzbUJOO0VZbm1CRTtJQUNJO0VacW1CTjtBQUNGO0FZdm5CQTtFQUNJO0lBQ0k7SUFDQTtFWnNtQk47RVlwbUJFO0lBQ0k7SUFDQTtFWnNtQk47RVlwbUJFO0lBQ0k7RVpzbUJOO0VZcG1CRTtJQUNJO0Vac21CTjtFWW5tQkU7SUFDSTtFWnFtQk47QUFDRjtBWWxtQkE7RUFDSTtJQUNJO0lBQ0E7RVpvbUJOO0VZbG1CRTtJQUNJO0lBQ0E7RVpvbUJOO0VZbG1CRTtJQUNJO0Vab21CTjtFWWxtQkU7SUFDSTtFWm9tQk47RVlqbUJFO0lBQ0k7RVptbUJOO0FBQ0Y7QVlybkJBO0VBQ0k7SUFDSTtJQUNBO0Vab21CTjtFWWxtQkU7SUFDSTtJQUNBO0Vab21CTjtFWWxtQkU7SUFDSTtFWm9tQk47RVlsbUJFO0lBQ0k7RVpvbUJOO0VZam1CRTtJQUNJO0VabW1CTjtBQUNGO0FZaG1CQTs7OztvQkFBQTtBQU1BO0VBQ0k7SUFDSTtFWmltQk47RVkvbEJFO0lBQ0k7RVppbUJOO0VZL2xCRTtJQUNJO0VaaW1CTjtFWS9sQkU7SUFDSTtJQUNBO0VaaW1CTjtFWS9sQkU7SUFDSTtJQUNBO0VaaW1CTjtBQUNGO0FZbG5CQTtFQUNJO0lBQ0k7RVppbUJOO0VZL2xCRTtJQUNJO0VaaW1CTjtFWS9sQkU7SUFDSTtFWmltQk47RVkvbEJFO0lBQ0k7SUFDQTtFWmltQk47RVkvbEJFO0lBQ0k7SUFDQTtFWmltQk47QUFDRjtBWTlsQkE7RUFDSTtJQUNJO0VaZ21CTjtFWTlsQkU7SUFDSTtFWmdtQk47RVk5bEJFO0lBQ0k7RVpnbUJOO0VZOWxCRTtJQUNJO0lBQ0E7RVpnbUJOO0VZOWxCRTtJQUNJO0lBQ0E7RVpnbUJOO0FBQ0Y7QVlqbkJBO0VBQ0k7SUFDSTtFWmdtQk47RVk5bEJFO0lBQ0k7RVpnbUJOO0VZOWxCRTtJQUNJO0VaZ21CTjtFWTlsQkU7SUFDSTtJQUNBO0VaZ21CTjtFWTlsQkU7SUFDSTtJQUNBO0VaZ21CTjtBQUNGO0FhdHZCQTtFQUVRO0lBQ0k7RWJ1dkJWO0VhcHZCTTtJQUNJO0Vic3ZCVjtFYW52Qk07SUFDSTtFYnF2QlY7QUFDRixvQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvYXBwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9zY3NzL2Jhc2UvX2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2FwcC5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9zY3NzL21vZHVsZXMvaGVhZGVyLWZvb3Rlci9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9zY3NzL21vZHVsZXMvc2VjdGlvbnMvX3NlY3Rpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3Njc3MvbW9kdWxlcy9zZWN0aW9ucy9fYmFubmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9zY3NzL21vZHVsZXMvc2VjdGlvbnMvX3NraWxsc19kZWZpbC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvc2Nzcy9tb2R1bGVzL2FuaW1lZC9fZmFkZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvc2Nzcy9tb2R1bGVzL3NlY3Rpb25zL19iYWNrZ3JvdW5kLXNlY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9zY3NzL21vZHVsZXMvc2VjdGlvbnMvX2NvbnRhY3RfZm9ybS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvc2Nzcy9tb2R1bGVzL3NlY3Rpb25zL19wb3J0Zm9saW8uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3Njc3MvbW9kdWxlcy9oZWFkZXItZm9vdGVyL19mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3Njc3MvbW9kdWxlcy9fbGVnYWwtbm90aWNlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9zY3NzL21vZHVsZXMvYW5pbWVkL19mbGFzaGVzX21lc3NhZ2VzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9zY3NzL21vZHVsZXMvaGVhZGVyLWZvb3Rlci9fbWVudS1pY29uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9zY3NzL21vZHVsZXMvc2VjdGlvbnMvX3NraWxscy5zY3NzIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/