/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
@import url(https://fonts.googleapis.com/css?family=Roboto+Slab:300,400,700&subset=latin,cyrillic);
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

* {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

body {
  font-family: "Roboto Slab", serif;
  -webkit-font-smoothing: antialiased;
  font-size: 16px; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Roboto Slab", serif;
  font-weight: 700;
  line-height: 1.2; }

strong {
  font-weight: 700; }

a {
  text-decoration: none; }

img {
  display: block;
  max-width: 100%; }

html {
  min-height: 100%;
  position: relative;
  padding-bottom: 138px; }

body {
  background-color: #eab83e;
  color: black; }

header,
main,
footer {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 2.5%; }
  header:after,
  main:after,
  footer:after {
    content: " ";
    display: block;
    clear: both; }
  @media (min-width: 1200px) {
    header,
    main,
    footer {
      max-width: 1200px;
      margin-left: auto;
      margin-right: auto; }
      header:after,
      main:after,
      footer:after {
        content: " ";
        display: block;
        clear: both; } }

header:before, header:after {
  content: '';
  display: table; }

header:after {
  clear: both; }

header #logo {
  display: block;
  float: left; }

header #slogan {
  text-align: right;
  font-size: 1.4rem;
  padding-top: 3em;
  padding-right: .2em;
  float: right;
  border-right: 0.2em solid black; }

main .main-h {
  background: url("../images/bubble-line.svg") no-repeat center 70%;
  background-size: 120px auto;
  font-size: 2rem;
  text-align: center;
  padding: 2em 0;
  text-transform: uppercase; }

@media (min-width: 481px) {
  main .vacancies {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; } }

main .vacancy {
  background-color: #edc055;
  width: -webkit-calc(100% - 30px);
  width: calc(100% - 30px);
  padding: 10px;
  margin-bottom: 50px;
  position: relative; }
  main .vacancy:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-top: 15px solid #edc055;
    border-left: 15px solid #edc055;
    border-bottom: 15px solid transparent;
    border-right: 15px solid transparent;
    position: absolute;
    bottom: -25px; }
  main .vacancy:nth-of-type(odd) {
    margin-right: 30px; }
  main .vacancy:nth-of-type(even) {
    margin-left: 30px; }
    main .vacancy:nth-of-type(even):after {
      right: 10px;
      -webkit-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
              transform: rotate(90deg); }
  @media (min-width: 481px) {
    main .vacancy {
      width: 47%; }
      main .vacancy:nth-of-type(odd) {
        margin-right: 0; }
      main .vacancy:nth-of-type(even) {
        margin-left: 0; }
        main .vacancy:nth-of-type(even):after {
          right: auto;
          -webkit-transform: rotate(0deg);
              -ms-transform: rotate(0deg);
                  transform: rotate(0deg); } }
  @media (min-width: 992px) {
    main .vacancy {
      width: 30%; } }

main .v-title {
  font-size: 1.6rem; }

main .v-requirements {
  font-size: 1.2rem;
  margin: .8em 0 4em; }

main .btn-info {
  display: block;
  background-color: #efc96c;
  font-size: 1.2rem;
  line-height: 2;
  margin: 10px;
  color: #58595b;
  text-transform: uppercase;
  text-align: center;
  display: block;
  position: absolute;
  width: -webkit-calc(100% - 20px);
  width: calc(100% - 20px);
  left: 0;
  bottom: 0;
  cursor: pointer;
  -webkit-transition: all 1s;
  transition: all 1s; }
  main .btn-info:hover {
    background-color: #58595b;
    color: #edc055; }

footer {
  padding: 0 0.83333%;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%); }
  footer .email {
    background: url("../images/bubble-line.svg") no-repeat center 80%;
    background-size: 120px auto;
    display: block;
    width: 200px;
    padding: 2em -0px;
    margin: 0 auto;
    color: black;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700; }
  footer .copyright {
    text-align: center;
    margin-bottom: 10px; }
    footer .copyright a {
      color: black;
      -webkit-transition: color 1s ease;
      transition: color 1s ease; }
      footer .copyright a:hover {
        color: #58595b; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3ZlbmRvcnMvcmVzZXQtc2Nzcy9yZXNldC5zY3NzIiwiY29yZS9fdmFyaWFibGVzLnNjc3MiLCJjb3JlL19iYXNlLnNjc3MiLCJjb3JlL19taXhpbnMuc2NzcyIsIl9tb2R1bGVzLnNjc3MiLCIuLi92ZW5kb3JzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19yZW0uc2NzcyIsIi4uL3ZlbmRvcnMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fY29udGFpbmVyLnNjc3MiLCIuLi92ZW5kb3JzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2d1dHRlcnMuc2NzcyIsIi4uL3ZlbmRvcnMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3N1cHBvcnQvX2NsZWFyZml4LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztFQUdFO0FDRkYsbUdBQVk7QURJWjs7Ozs7Ozs7Ozs7OztFQWFFLFVBQVU7RUFDVixXQUFXO0VBQ1gsVUFBVTtFQUNWLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2QseUJBQXlCLEVBQzFCOztBQUNELGlEQUFpRDtBQUNqRDs7RUFFRSxlQUFlLEVBQ2hCOztBQUNEO0VBQ0UsZUFBZSxFQUNoQjs7QUFDRDtFQUNFLGlCQUFpQixFQUNsQjs7QUFDRDtFQUNFLGFBQWEsRUFDZDs7QUFDRDs7RUFFRSxZQUFZO0VBQ1osY0FBYyxFQUNmOztBQUNEO0VBQ0UsMEJBQTBCO0VBQzFCLGtCQUFrQixFQUNuQjs7QUUvQ0Q7RUNpQ0MsK0JEakNnQztFQ21DaEMsMEJEbkNnQztFQ29DaEMsMkJEcENnQztFQ3FDaEMsdUJEckNnQyxFQUFJOztBQUVyQztFQUNDLGtDQUE2QjtFQUM3QixvQ0FBb0M7RUFDcEMsZ0JBQWdCLEVBQ2hCOztBQUVEO0VBQ0Msa0NBQTZCO0VBQzdCLGlCREhTO0VDSVQsaUJBQWlCLEVBQ2pCOztBQUVEO0VBQ0MsaUJEUlMsRUNTVDs7QUFFRDtFQUNDLHNCQUFzQixFQUN0Qjs7QUFFRDtFQUNDLGVBQWU7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bUJFLG1CQUFtQjtJQUNuQixvQkFBb0IsRUFRcEI7SUE1QkY7TUFzQkcsYUFBYTtNQUNiLGtDQUEwQjtNQUExQiwwQkFBMEIsRUFJMUI7TUEzQkg7UUF5QkksZUh2SVUsRUd3SVYiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogaHR0cDovL21leWVyd2ViLmNvbS9lcmljL3Rvb2xzL2Nzcy9yZXNldC9cbiAgIHYyLjAgfCAyMDExMDEyNlxuICAgTGljZW5zZTogbm9uZSAocHVibGljIGRvbWFpbilcbiovXG5cbmh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSxcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbmEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcbnNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG5iLCB1LCBpLCBjZW50ZXIsXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLFxuZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLFxubWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLFxuZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5ib2R5IHtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5vbCwgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuYmxvY2txdW90ZSwgcSB7XG4gIHF1b3Rlczogbm9uZTtcbn1cbmJsb2NrcXVvdGU6YmVmb3JlLCBibG9ja3F1b3RlOmFmdGVyLFxucTpiZWZvcmUsIHE6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgY29udGVudDogbm9uZTtcbn1cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59IiwiLy9Gb250c1xuQGltcG9ydCB1cmwoaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bytTbGFiOjMwMCw0MDAsNzAwJnN1YnNldD1sYXRpbixjeXJpbGxpYyk7XG5cbi8vRm9udHNcbiRtYWluRm9udDogJ1JvYm90byBTbGFiJztcbiRsaWdodDogMzAwO1xuJG5vcm1hbDogNDAwO1xuJGJvbGQ6IDcwMDtcblxuLy9Db2xvcnNcbiR5ZWxsb3c6ICNlYWI4M2U7XG4kZ3JheTogIzU4NTk1YjtcbiR0ZXh0LWNvbG9yOiBibGFjaztcblxuLy9SZXNvbHV0aW9uIGJyZWFrcG9pbnRzXG4kdGFibGV0OiA0ODE7XG4kdGFibGV0LWxhcmdlOiA3Njk7XG4kZGVza3RvcDogOTkyO1xuJGRlc2t0b3AtbGFyZ2U6IDEyMDA7XG5cbi8vU3VzeVxuJHN1c3k6IChcblx0XHRjb2x1bW5zOiAxMixcblx0XHRjb250YWluZXI6IDEwMCUsXG5cdFx0Z3V0dGVyczogMS80LFxuXHRcdG1hdGg6IGZsdWlkLFxuXHRcdG91dHB1dDogZmxvYXQsXG5cdFx0Z3V0dGVyLXBvc2l0aW9uOiBpbnNpZGUsXG5cdFx0Z2xvYmFsLWJveC1zaXppbmc6IGJvcmRlci1ib3gsXG4pOyIsIioge0BpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7fVxuXG5ib2R5IHtcblx0Zm9udC1mYW1pbHk6ICRtYWluRm9udCwgc2VyaWY7XG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHRmb250LXNpemU6IDE2cHg7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuXHRmb250LWZhbWlseTogJG1haW5Gb250LCBzZXJpZjtcblx0Zm9udC13ZWlnaHQ6ICRib2xkO1xuXHRsaW5lLWhlaWdodDogMS4yO1xufVxuXG5zdHJvbmcge1xuXHRmb250LXdlaWdodDogJGJvbGQ7XG59XG5cbmEge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmltZyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59IiwiLy9NaXhpbnNcbkBtaXhpbiBjbGVhcmZpeCB7XG5cdCY6YmVmb3JlLFxuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0fSAvL2JlZm9yZSwgYWZ0ZXJcblx0JjphZnRlciB7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdH0gLy9hZnRlclxufSAvL2NsZWFyZml4XG5cbkBtaXhpbiBhcHBseS10bygkb3AsICRyZXMpIHtcblx0QG1lZGlhICgjeyRvcH0td2lkdGg6ICRyZXMgKyBweCkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59IC8vYXBwbHkgdG9cblxuQG1peGluIGJhY2tJbWFnZShcblx0JGltYWdlLFxuXHQkYmdSZXBlYXQ6IG5vLXJlcGVhdCxcblx0JGJnUG9zOiBjZW50ZXIgY2VudGVyLFxuXHQkYmdTaXplOiBjb3ZlclxuKSB7XG5cdGJhY2tncm91bmQ6IHVybCgkaW1hZ2UpICRiZ1JlcGVhdCAkYmdQb3M7XG5cdC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiAkYmdTaXplO1xuXHQtbW96LWJhY2tncm91bmQtc2l6ZTogJGJnU2l6ZTtcblx0LW8tYmFja2dyb3VuZC1zaXplOiAkYmdTaXplO1xuXHRiYWNrZ3JvdW5kLXNpemU6ICRiZ1NpemU7XG59IC8vYmFja0ltYWdlXG5cblxuQG1peGluIGJveC1zaXppbmcoICR0eXBlOiBib3JkZXItYm94ICkge1xuXHQtd2Via2l0LWJveC1zaXppbmc6ICR0eXBlO1xuXHQtbW96LWJveC1zaXppbmc6ICR0eXBlO1xuXHQtby1ib3gtc2l6aW5nOiAkdHlwZTtcblx0LW1zLWJveC1zaXppbmc6ICR0eXBlO1xuXHRib3gtc2l6aW5nOiAkdHlwZTtcbn0gLy8gYm94LXNpemluZyIsImh0bWwge1xuXHRtaW4taGVpZ2h0OiAxMDAlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctYm90dG9tOiAxMzhweDtcbn1cblxuYm9keSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3c7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbn1cblxuaGVhZGVyLFxubWFpbixcbmZvb3RlciB7XG5cdEBpbmNsdWRlIGNvbnRhaW5lcigpO1xuXHRwYWRkaW5nOiAwIGd1dHRlcig0KTtcblx0QGluY2x1ZGUgYXBwbHktdG8obWluLCAkZGVza3RvcC1sYXJnZSkge1xuXHRcdEBpbmNsdWRlIGNvbnRhaW5lcigxMjAwcHgpO1xuXHR9XG59XG5cbmhlYWRlciB7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xuXHQjbG9nbyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdH1cblx0I3Nsb2dhbiB7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0Zm9udC1zaXplOiAxLjRyZW07XG5cdFx0cGFkZGluZy10b3A6IDNlbTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAuMmVtO1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHRib3JkZXItcmlnaHQ6IC4yZW0gc29saWQgJHRleHQtY29sb3I7XG5cdH1cbn1cbm1haW4ge1xuXHQubWFpbi1oIHtcblx0XHRAaW5jbHVkZSBiYWNrSW1hZ2UoJy4uL2ltYWdlcy9idWJibGUtbGluZS5zdmcnLCBuby1yZXBlYXQsIGNlbnRlciA3MCUsIDEyMHB4IGF1dG8pO1xuXHRcdGZvbnQtc2l6ZTogMnJlbTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0cGFkZGluZzogMmVtIDA7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0fVxuXHQudmFjYW5jaWVzIHtcblx0XHRAaW5jbHVkZSBhcHBseS10byhtaW4sICR0YWJsZXQpIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdH1cblx0fVxuXHQudmFjYW5jeSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkeWVsbG93LCA1JSk7XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuXHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogNTBweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDA7XG5cdFx0XHRoZWlnaHQ6IDA7XG5cdFx0XHRib3JkZXItdG9wOiAxNXB4IHNvbGlkIGxpZ2h0ZW4oJHllbGxvdywgNSUpO1xuXHRcdFx0Ym9yZGVyLWxlZnQ6IDE1cHggc29saWQgbGlnaHRlbigkeWVsbG93LCA1JSk7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAxNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Ym90dG9tOiAtMjVweDtcblx0XHR9XG5cdFx0JjpudGgtb2YtdHlwZShvZGQpIHttYXJnaW4tcmlnaHQ6IDMwcHg7fVxuXHRcdCY6bnRoLW9mLXR5cGUoZXZlbikge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDMwcHg7XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0cmlnaHQ6IDEwcHg7XG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYXBwbHktdG8obWluLCAkdGFibGV0KSB7XG5cdFx0XHR3aWR0aDogNDclO1xuXHRcdFx0JjpudGgtb2YtdHlwZShvZGQpIHttYXJnaW4tcmlnaHQ6IDA7fVxuXHRcdFx0JjpudGgtb2YtdHlwZShldmVuKSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRyaWdodDogYXV0bztcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBhcHBseS10byhtaW4sICRkZXNrdG9wKSB7XG5cdFx0XHR3aWR0aDogMzAlO1xuXHRcdH1cblx0fVxuXHQudi10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAxLjZyZW07XG5cdH1cblx0LnYtcmVxdWlyZW1lbnRzIHtcblx0XHRmb250LXNpemU6IDEuMnJlbTtcblx0XHRtYXJnaW46IC44ZW0gMCA0ZW07XG5cdH1cblx0LmJ0bi1pbmZvIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCR5ZWxsb3csIDEwJSk7XG5cdFx0Zm9udC1zaXplOiAxLjJyZW07XG5cdFx0bGluZS1oZWlnaHQ6IDI7XG5cdFx0bWFyZ2luOiAxMHB4O1xuXHRcdGNvbG9yOiAkZ3JheTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuXHRcdGxlZnQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMXM7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTtcblx0XHRcdGNvbG9yOiBsaWdodGVuKCR5ZWxsb3csIDUlKTtcblx0XHR9XG5cdH1cbn1cbmZvb3RlciB7XG5cdHBhZGRpbmc6IDAgZ3V0dGVyKDEyKTtcblx0d2lkdGg6IDEwMCU7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0LmVtYWlsIHtcblx0XHRAaW5jbHVkZSBiYWNrSW1hZ2UoJy4uL2ltYWdlcy9idWJibGUtbGluZS5zdmcnLCBuby1yZXBlYXQsIGNlbnRlciA4MCUsIDEyMHB4IGF1dG8pO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAyMDBweDtcblx0XHRwYWRkaW5nOiAyZW0gLTBweDtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRjb2xvcjogJHRleHQtY29sb3I7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGZvbnQtc2l6ZTogMS40cmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiAkYm9sZDtcblx0fVxuXHQuY29weXJpZ2h0IHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0XHRhIHtcblx0XHRcdGNvbG9yOiBibGFjaztcblx0XHRcdHRyYW5zaXRpb246IGNvbG9yIDFzIGVhc2U7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6ICRncmF5O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8vIHJlbSBTdXBwb3J0XG4vLyA9PT09PT09PT09PVxuXG4vLyByZW1cbi8vIC0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIG91dHB1dCBkaXJlY3RseS5cbi8vIC0gJHByb3AgIDogPGNzcyBwcm9wZXJ0eT5cbi8vIC0gJHZhbCAgIDogPGNzcyB2YWx1ZT5cbkBtaXhpbiBzdXN5LXJlbShcbiAgJHByb3AsXG4gICR2YWxcbikge1xuICAkX3JlcXM6IChcbiAgICB2YXJpYWJsZTogcmh5dGhtLXVuaXQgcmVtLXdpdGgtcHgtZmFsbGJhY2ssXG4gICAgbWl4aW46IHJlbSxcbiAgKTtcbiAgQGlmIHN1c3ktc3VwcG9ydChyZW0sICRfcmVxcywgJHdhcm46IGZhbHNlKSBhbmQgJHJoeXRobS11bml0ID09IHJlbSB7XG4gICAgQGluY2x1ZGUgcmVtKCRwcm9wLCAkdmFsKTtcbiAgfSBAZWxzZSB7XG4gICAgI3skcHJvcH06ICR2YWw7XG4gIH1cbn1cbiIsIi8vIENvbnRhaW5lciBTeW50YXhcbi8vID09PT09PT09PT09PT09PT1cblxuLy8gQ29udGFpbmVyIFttaXhpbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBjb250YWluZXIgZWxlbWVudFxuLy8gLSBbJGxheW91dF0gIDogPHNldHRpbmdzPlxuQG1peGluIGNvbnRhaW5lcihcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgICA6ICRsYXlvdXQ7XG4gICRsYXlvdXQgICAgIDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcblxuICAkX3dpZHRoICAgICA6IGdldC1jb250YWluZXItd2lkdGgoJGxheW91dCk7XG4gICRfanVzdGlmeSAgIDogcGFyc2UtY29udGFpbmVyLXBvc2l0aW9uKHN1c3ktZ2V0KGNvbnRhaW5lci1wb3NpdGlvbiwgJGxheW91dCkpO1xuICAkX3Byb3BlcnR5ICA6IGlmKHN1c3ktZ2V0KG1hdGgsICRsYXlvdXQpID09IHN0YXRpYywgd2lkdGgsIG1heC13aWR0aCk7XG5cbiAgJF9ib3ggICAgICAgOiBzdXN5LWdldChib3gtc2l6aW5nLCAkbGF5b3V0KTtcblxuICBAaWYgJF9ib3gge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJF9ib3gpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChjb250YWluZXIsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgZmxvYXQtY29udGFpbmVyKCRfd2lkdGgsICRfanVzdGlmeSwgJF9wcm9wZXJ0eSk7XG4gIEBpbmNsdWRlIHNob3ctZ3JpZCgkbGF5b3V0KTtcbn1cblxuLy8gQ29udGFpbmVyIFtmdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gY29udGFpbmVyIHdpZHRoXG4vLyAtIFskbGF5b3V0XSAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gY29udGFpbmVyKFxuICAkbGF5b3V0OiAkc3VzeVxuKSB7XG4gICRsYXlvdXQ6IHBhcnNlLWdyaWQoJGxheW91dCk7XG4gIEByZXR1cm4gZ2V0LWNvbnRhaW5lci13aWR0aCgkbGF5b3V0KTtcbn1cblxuLy8gR2V0IENvbnRhaW5lciBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIHRoZSBjb250YWluZXIgd2lkdGhcbi8vIC0gWyRsYXlvdXRdOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ2V0LWNvbnRhaW5lci13aWR0aChcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkbGF5b3V0ICAgICAgICAgOiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xuICAkX3dpZHRoICAgICAgICAgOiBzdXN5LWdldChjb250YWluZXIsICRsYXlvdXQpO1xuICAkX2NvbHVtbi13aWR0aCAgOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRsYXlvdXQpO1xuICAkX21hdGggICAgICAgICAgOiBzdXN5LWdldChtYXRoLCAkbGF5b3V0KTtcblxuICBAaWYgbm90KCRfd2lkdGgpIG9yICRfd2lkdGggPT0gYXV0byB7XG4gICAgQGlmIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpIHtcbiAgICAgICRfY29sdW1ucyAgIDogc3VzeS1nZXQoY29sdW1ucywgJGxheW91dCk7XG4gICAgICAkX2d1dHRlcnMgICA6IHN1c3ktZ2V0KGd1dHRlcnMsICRsYXlvdXQpO1xuICAgICAgJF9zcHJlYWQgICAgOiBpZihpcy1zcGxpdCgkbGF5b3V0KSwgd2lkZSwgbmFycm93KTtcbiAgICAgICRfd2lkdGggICAgIDogc3VzeS1zdW0oJF9jb2x1bW5zLCAkX2d1dHRlcnMsICRfc3ByZWFkKSAqICRfY29sdW1uLXdpZHRoO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF93aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRfd2lkdGg7XG59XG5cbi8vIFBhcnNlIENvbnRhaW5lciBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYXJzZSB0aGUgJGNvbnRhaW5lci1wb3NpdGlvbiBpbnRvIG1hcmdpbiB2YWx1ZXMuXG4vLyAtIFskanVzdGlmeV0gICA6IGxlZnQgfCBjZW50ZXIgfCByaWdodCB8IDxsZW5ndGg+IFs8bGVuZ3RoPl1cbkBmdW5jdGlvbiBwYXJzZS1jb250YWluZXItcG9zaXRpb24oXG4gICRqdXN0aWZ5OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBjb250YWluZXItcG9zaXRpb24pXG4pIHtcbiAgJF9yZXR1cm46IGlmKCRqdXN0aWZ5ID09IGxlZnQsIDAsIGF1dG8pIGlmKCRqdXN0aWZ5ID09IHJpZ2h0LCAwLCBhdXRvKTtcblxuICBAaWYgbm90KGluZGV4KGxlZnQgcmlnaHQgY2VudGVyLCAkanVzdGlmeSkpIHtcbiAgICAkX3JldHVybjogbnRoKCRqdXN0aWZ5LCAxKTtcbiAgICAkX3JldHVybjogJF9yZXR1cm4gaWYobGVuZ3RoKCRqdXN0aWZ5KSA+IDEsIG50aCgkanVzdGlmeSwgMiksICRfcmV0dXJuKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvLyBHdXR0ZXIgU3ludGF4XG4vLyA9PT09PT09PT09PT09XG5cblxuLy8gR3V0dGVyc1xuLy8gLS0tLS0tLVxuLy8gU2V0IGd1dHRlcnMgb24gYW4gZWxlbWVudC5cbi8vIC0gWyRzcGFuXSAgIDogPHNldHRpbmdzPlxuQG1peGluIGd1dHRlcnMoXG4gICRzcGFuOiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0ICA6ICRzcGFuO1xuICAkc3BhbiAgICAgOiBwYXJzZS1ndXR0ZXJzKCRzcGFuKTtcbiAgJF9ndXR0ZXJzIDogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuXG4gICRfb3V0cHV0OiAoXG4gICAgYmVmb3JlOiBtYXAtZ2V0KCRfZ3V0dGVycywgYmVmb3JlKSxcbiAgICBhZnRlcjogbWFwLWdldCgkX2d1dHRlcnMsIGFmdGVyKSxcbiAgICBmbG93OiBzdXN5LWdldChmbG93LCAkc3BhbiksXG4gICk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGd1dHRlcnMsICRpbnNwZWN0KTtcblxuICBAaWYgaXMtaW5zaWRlKCRzcGFuKSB7XG4gICAgQGluY2x1ZGUgcGFkZGluZy1vdXRwdXQoJF9vdXRwdXQuLi4pO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4tb3V0cHV0KCRfb3V0cHV0Li4uKTtcbiAgfVxufVxuXG5AbWl4aW4gZ3V0dGVyKFxuICAkc3BhbjogJHN1c3lcbikge1xuICBAaW5jbHVkZSBndXR0ZXJzKCRzcGFuKTtcbn1cblxuXG4vLyBHdXR0ZXJcbi8vIC0tLS0tLVxuLy8gUmV0dXJuIHRoZSB3aWR0aCBvZiBhIGd1dHRlci5cbi8vIC0gWyRzcGFuXSAgIDogPHNldHRpbmdzPlxuQGZ1bmN0aW9uIGd1dHRlcihcbiAgJHNwYW46ICRzdXN5XG4pIHtcbiAgJHNwYW46IHBhcnNlLWd1dHRlcnMoJHNwYW4pO1xuXG4gICRfZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuICAkX2d1dHRlcnM6IG1hcC1nZXQoJF9ndXR0ZXJzLCBiZWZvcmUpIG9yIG1hcC1nZXQoJF9ndXR0ZXJzLCBhZnRlcik7XG5cbiAgQHJldHVybiAkX2d1dHRlcnM7XG59XG5cbkBmdW5jdGlvbiBndXR0ZXJzKFxuICAkc3BhbjogJHN1c3lcbikge1xuICBAcmV0dXJuIGd1dHRlcigkc3Bhbik7XG59XG5cblxuLy8gR2V0IEd1dHRlciBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIGd1dHRlciB3aWR0aC5cbi8vIC0gWyRjb250ZXh0XTogPGNvbnRleHQ+XG5AZnVuY3Rpb24gZ2V0LWd1dHRlci13aWR0aChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGNvbnRleHQgIDogcGFyc2UtZ3V0dGVycygkY29udGV4dCk7XG5cbiAgJF9ndXR0ZXJzIDogc3VzeS1nZXQoZ3V0dGVycywgJGNvbnRleHQpO1xuICAkX2d1dHRlciAgOiBzdXN5LWdldChndXR0ZXItb3ZlcnJpZGUsICRjb250ZXh0KTtcblxuICBAaWYgJF9ndXR0ZXJzIGFuZCAoJF9ndXR0ZXJzID4gMCkgYW5kIG5vdCgkX2d1dHRlcikge1xuICAgICRfY29sdW1uLXdpZHRoOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRjb250ZXh0KTtcbiAgICAkX21hdGg6IGd1dHRlci1tYXRoKCRjb250ZXh0KTtcbiAgICBAaWYgJF9tYXRoID09IHN0YXRpYyB7XG4gICAgICAkX2d1dHRlcjogJF9ndXR0ZXJzICogdmFsaWQtY29sdW1uLW1hdGgoJF9tYXRoLCAkX2NvbHVtbi13aWR0aCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkX2NvbHVtbnMgOiBzdXN5LWdldChjb2x1bW5zLCAkY29udGV4dCk7XG4gICAgICAkX3NwcmVhZCAgOiBpZihpcy1zcGxpdCgkY29udGV4dCksIHdpZGUsIHN1c3ktZ2V0KHNwcmVhZCwgJGNvbnRleHQpKTtcbiAgICAgICRfZ3V0dGVyICA6IHBlcmNlbnRhZ2UoJF9ndXR0ZXJzIC8gc3VzeS1zdW0oJF9jb2x1bW5zLCAkX2d1dHRlcnMsICRfc3ByZWFkKSk7XG4gICAgfVxuICB9XG5cbiAgJF9ndXR0ZXI6IGlmKCRfZ3V0dGVyID09ICduby1ndXR0ZXJzJyBvciAkX2d1dHRlciA9PSAnbm8tZ3V0dGVyJywgbnVsbCwgJF9ndXR0ZXIpO1xuXG4gIEByZXR1cm4gJF9ndXR0ZXI7XG59XG5cblxuLy8gR2V0IEd1dHRlcnNcbi8vIC0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gYmVmb3JlIGFuZCBhZnRlciBndXR0ZXIgdmFsdWVzLlxuLy8gLSBbJGNvbnRleHRdOiA8Y29udGV4dD5cbkBmdW5jdGlvbiBnZXQtZ3V0dGVycyhcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGNvbnRleHQgICAgICAgICAgICA6IHBhcnNlLWd1dHRlcnMoJGNvbnRleHQpO1xuXG4gICRfZ3V0dGVyLXBvc2l0aW9uICAgOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcbiAgJF9ndXR0ZXIgICAgICAgICAgICA6IGdldC1ndXR0ZXItd2lkdGgoJGNvbnRleHQpO1xuXG4gICRfcmV0dXJuICAgICAgICAgICAgOiAoYmVmb3JlOiBudWxsLCBhZnRlcjogbnVsbCk7XG5cbiAgQGlmIGlzLXNwbGl0KCRjb250ZXh0KSBhbmQgJF9ndXR0ZXIge1xuICAgICRfZ3V0dGVyOiAkX2d1dHRlciAvIDI7XG4gICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgKGJlZm9yZTogJF9ndXR0ZXIsIGFmdGVyOiAkX2d1dHRlcikpO1xuICB9IEBlbHNlIHtcbiAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoJF9ndXR0ZXItcG9zaXRpb246ICRfZ3V0dGVyKSk7XG4gIH1cblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuXG5cbi8vIElzIEluc2lkZVxuLy8gLS0tLS0tLS0tXG4vLyBSZXR1cm5zIHRydWUgaWYgZ3V0dGVycyBhcmUgaW5zaWRlLlxuLy8gJGNvbnRleHQ6IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGlzLWluc2lkZShcbiAgJGNvbnRleHRcbikge1xuICAkX2luc2lkZTogaW5zaWRlIGluc2lkZS1zdGF0aWM7XG4gICRfZ3V0dGVyLXBvc2l0aW9uOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcblxuICBAcmV0dXJuIGlmKGluZGV4KCRfaW5zaWRlLCAkX2d1dHRlci1wb3NpdGlvbiksIHRydWUsIGZhbHNlKTtcbn1cblxuXG4vLyBJcyBTcGxpdFxuLy8gLS0tLS0tLS1cbi8vIFJldHVybnMgdHJ1ZSBpZiBndXR0ZXJzIGFyZSBzcGxpdC5cbi8vICRjb250ZXh0OiA8Y29udGV4dD5cbkBmdW5jdGlvbiBpcy1zcGxpdChcbiAgJGNvbnRleHRcbikge1xuICAkX3NwbGl0OiBzcGxpdCBpbnNpZGUgaW5zaWRlLXN0YXRpYztcbiAgJF9ndXR0ZXItcG9zaXRpb246IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGNvbnRleHQpO1xuXG4gIEByZXR1cm4gaWYoaW5kZXgoJF9zcGxpdCwgJF9ndXR0ZXItcG9zaXRpb24pLCB0cnVlLCBmYWxzZSk7XG59XG5cblxuLy8gR3V0dGVyIE1hdGhcbi8vIC0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlIG1hdGggdG8gdXNlIGZvciBndXR0ZXIgY2FsY3VsYXRpb25zXG4vLyAkY29udGV4dDogPGNvbnRleHQ+XG5AZnVuY3Rpb24gZ3V0dGVyLW1hdGgoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRfcmV0dXJuICA6IHN1c3ktZ2V0KG1hdGgsICRjb250ZXh0KTtcbiAgJF9yZXR1cm4gIDogaWYoc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkY29udGV4dCkgPT0gaW5zaWRlLXN0YXRpYywgc3RhdGljLCAkX3JldHVybik7XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cbiIsIi8vIFN1c3kgRmFsbGJhY2sgQ2xlYXJmaXhcbi8vID09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDbGVhcmZpeFxuLy8gLS0tLS0tLS1cbi8vIENoZWNrIGZvciBhbiBleGlzdGluZyBzdXBwb3J0IG1peGluLCBvciBwcm92aWRlIGEgc2ltcGxlIGZhbGxiYWNrLlxuQG1peGluIHN1c3ktY2xlYXJmaXgge1xuICBAaWYgc3VzeS1zdXBwb3J0KGNsZWFyZml4LCAobWl4aW46IGNsZWFyZml4KSkge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9IEBlbHNlIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
