.ib:before,.ibc:before{content:"";display:inline-block;height:1em;vertical-align:-.125em;width:1em}.ib:before{background:currentColor;mask-image:var(--url);-webkit-mask-image:var(--url);mask-position:center;-webkit-mask-position:center;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat}.ibc:before{background-image:var(--url);background-position:50% 50%;background-repeat:no-repeat;background-size:contain}.ib-fw:before{width:1.28571429em}.ib-sm{font-size:.875em}.ib-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-.0667em}.ib-2x{font-size:2em}.ib-3x{font-size:3em}.ib-4x{font-size:4em}.ib-5x{font-size:5em}.ib-flip-horizontal:before{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.ib-flip-vertical:before{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.ib-rotate-90:before{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.ib-rotate-180:before{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.ib-rotate-270:before{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.ib-embed{display:inline-block;height:1em;width:1em}.ib-spin:before{-webkit-animation:ib-spin 2s linear infinite;animation:ib-spin 2s linear infinite}.ib-pulse:before{-webkit-animation:ib-spin 1s steps(8) infinite;animation:ib-spin 1s steps(8) infinite}@-webkit-keyframes ib-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes ib-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:400;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-cyrillic-ext-400-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-400-normal.woff) format("woff");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:400;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-cyrillic-400-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-400-normal.woff) format("woff");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:400;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-greek-ext-400-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-400-normal.woff) format("woff");unicode-range:U+1f??}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:400;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-greek-400-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-400-normal.woff) format("woff");unicode-range:U+0370-03ff}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:400;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-vietnamese-400-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-400-normal.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:400;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-latin-ext-400-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-400-normal.woff) format("woff");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:400;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-latin-400-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-400-normal.woff) format("woff");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:300;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-cyrillic-ext-300-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-300-normal.woff) format("woff");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:300;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-cyrillic-300-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-300-normal.woff) format("woff");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:300;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-greek-ext-300-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-300-normal.woff) format("woff");unicode-range:U+1f??}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:300;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-greek-300-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-300-normal.woff) format("woff");unicode-range:U+0370-03ff}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:300;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-vietnamese-300-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-300-normal.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:300;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-latin-ext-300-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-300-normal.woff) format("woff");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:300;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-latin-300-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-300-normal.woff) format("woff");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:600;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-cyrillic-ext-600-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-600-normal.woff) format("woff");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:600;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-cyrillic-600-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-600-normal.woff) format("woff");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:600;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-greek-ext-600-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-600-normal.woff) format("woff");unicode-range:U+1f??}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:600;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-greek-600-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-600-normal.woff) format("woff");unicode-range:U+0370-03ff}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:600;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-vietnamese-600-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-600-normal.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:600;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-latin-ext-600-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-600-normal.woff) format("woff");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:600;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-latin-600-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-600-normal.woff) format("woff");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:700;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-cyrillic-ext-700-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-700-normal.woff) format("woff");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:700;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-cyrillic-700-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-700-normal.woff) format("woff");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:700;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-greek-ext-700-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-700-normal.woff) format("woff");unicode-range:U+1f??}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:700;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-greek-700-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-700-normal.woff) format("woff");unicode-range:U+0370-03ff}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:700;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-vietnamese-700-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-700-normal.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:700;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-latin-ext-700-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-700-normal.woff) format("woff");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:700;src:url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-latin-700-normal.woff2) format("woff2"),url(../../../etc.clientlibs/tag-aem-swcom/clientlibs/clientlib-site/resources/open-sans-all-700-normal.woff) format("woff");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.ph-caret-right{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M96 216a8 8 0 0 1-5.657-13.657L164.686 128 90.343 53.657a8 8 0 0 1 11.314-11.314l80 80a8 8 0 0 1 0 11.314l-80 80A7.975 7.975 0 0 1 96 216z' fill='currentColor'/%3E%3C/svg%3E")}.ph-caret-left{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M160 216a7.975 7.975 0 0 1-5.657-2.343l-80-80a8 8 0 0 1 0-11.314l80-80a8 8 0 0 1 11.314 11.314L91.314 128l74.343 74.343A8 8 0 0 1 160 216z' fill='currentColor'/%3E%3C/svg%3E")}.ph-caret-up{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M208 168a7.975 7.975 0 0 1-5.657-2.343L128 91.314l-74.343 74.343a8 8 0 0 1-11.314-11.314l80-80a8 8 0 0 1 11.314 0l80 80A8 8 0 0 1 208 168z' fill='currentColor'/%3E%3C/svg%3E")}.ph-caret-down{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M128 184a7.975 7.975 0 0 1-5.657-2.343l-80-80a8 8 0 1 1 11.314-11.314L128 164.686l74.343-74.343a8 8 0 0 1 11.314 11.314l-80 80A7.975 7.975 0 0 1 128 184z' fill='currentColor'/%3E%3C/svg%3E")}.ph-clipboard-text{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M168 152a8 8 0 0 1-8 8H96a8 8 0 0 1 0-16h64a8 8 0 0 1 8 8zm-8-40H96a8 8 0 0 0 0 16h64a8 8 0 0 0 0-16zm56-64v168a16.018 16.018 0 0 1-16 16H56a16.018 16.018 0 0 1-16-16V48a16.018 16.018 0 0 1 16-16h36.261a47.914 47.914 0 0 1 71.478 0H200a16.018 16.018 0 0 1 16 16zM96 64h64a32 32 0 0 0-64 0zm104-16h-26.752A47.776 47.776 0 0 1 176 64v8a8 8 0 0 1-8 8H88a8 8 0 0 1-8-8v-8a47.776 47.776 0 0 1 2.752-16H56v168h144z' fill='currentColor'/%3E%3C/svg%3E")}.ph-chats-circle{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M230.54 189.767a80.014 80.014 0 0 0-60.975-117.18 80.001 80.001 0 1 0-144.105 69.18l-6.184 21.65a14 14 0 0 0 17.306 17.309l21.652-6.186a79.841 79.841 0 0 0 28.19 8.883 80.037 80.037 0 0 0 111.343 39.116l21.651 6.187a14 14 0 0 0 17.307-17.308zM59.25 157.928a8.007 8.007 0 0 0-2.198.308l-21.404 6.116 6.115-21.406a8 8 0 0 0-.816-6.286 63.97 63.97 0 1 1 22.392 22.392 8 8 0 0 0-4.089-1.124zm155.801 26.73a8.001 8.001 0 0 0-.816 6.288l6.116 21.406-21.406-6.116a8.002 8.002 0 0 0-6.286.817 64.034 64.034 0 0 1-88.34-23.486 79.905 79.905 0 0 0 70.375-93.86 64.022 64.022 0 0 1 40.357 94.952z' fill='currentColor'/%3E%3C/svg%3E")}.ph-swatches{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M72 192a12 12 0 1 1 12-12 12.013 12.013 0 0 1-12 12zm156-27.722V208a16.018 16.018 0 0 1-16 16H72l-.06-.003h-.003a43.299 43.299 0 0 1-35.401-18.354 45.288 45.288 0 0 1-7.744-33.984L52.979 34.486A15.999 15.999 0 0 1 71.515 21.51l55.149 9.722a16 16 0 0 1 12.978 18.537l-11.077 62.82 59.943-21.817a16.017 16.017 0 0 1 20.507 9.563l19.153 52.622a15.915 15.915 0 0 1-.168 11.322zm-102.643-33.495-10.025 56.858a43.48 43.48 0 0 1-1.88 7.068l99.681-36.28-19.153-52.623zm-57.678 76.882a28.14 28.14 0 0 0 31.896-22.804l24.31-137.873-55.149-9.722L44.55 174.438a29.195 29.195 0 0 0 5.005 21.903 27.403 27.403 0 0 0 18.125 11.324zM212 208v-32.132L123.719 208z' fill='currentColor'/%3E%3C/svg%3E")}.ph-heart{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M128 224a7.998 7.998 0 0 1-3.91-1.02C119.84 220.6 20 163.863 20 92a60.02 60.02 0 0 1 108-36.04A60.02 60.02 0 0 1 236 92c0 30.565-17.714 62.005-52.648 93.446a317.366 317.366 0 0 1-51.443 37.534A7.998 7.998 0 0 1 128 224zm-3.91-14.98zM80 48a44.05 44.05 0 0 0-44 44c0 55.245 73.98 103.719 91.997 114.7C146.007 195.707 220 147.163 220 92a44.009 44.009 0 0 0-84.618-16.95 8 8 0 0 1-14.764 0A43.912 43.912 0 0 0 80 48z' fill='currentColor'/%3E%3C/svg%3E")}.ph-facebook-logo{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M232 128a104 104 0 1 0-104.026 104H128l.026-.001A104.117 104.117 0 0 0 232 128zm-96 87.632v-63.631h24a8 8 0 0 0 0-16h-24v-24a16.018 16.018 0 0 1 16-16h16a8 8 0 0 0 0-16h-16a32.036 32.036 0 0 0-32 32v24H96a8 8 0 0 0 0 16h24v63.631a88 88 0 1 1 16 0z' fill='currentColor'/%3E%3C/svg%3E")}.ph-twitter-logo{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M247.391 68.938A8 8 0 0 0 240 64h-30.423a47.819 47.819 0 0 0-75.216-10.054A47.589 47.589 0 0 0 120 88.003v6.078C80.816 83.557 54.522 51.344 54.247 51.002A8 8 0 0 0 40.13 54.57c-4.865 26.757-5.397 65.047 19.696 95.516a92.954 92.954 0 0 0 25.346 21.467c-9.018 12.14-30.211 18.876-38.75 20.605a8 8 0 0 0-4.078 13.5C43.093 206.406 61.088 224 96 224c35.905 0 66.657-13.013 88.932-37.633 19.019-21.02 30.225-49.651 31.022-79.008l29.703-29.702a8 8 0 0 0 1.734-8.719zm-45.048 29.405A7.999 7.999 0 0 0 200 104c0 26.606-9.816 52.715-26.932 71.633C153.91 196.808 127.26 208 96 208a73.867 73.867 0 0 1-28.939-5.512c13.575-5.364 30.965-15.268 36.528-31.958a8.031 8.031 0 0 0-4.749-10.009c-2.187-.841-49.922-20.05-45.06-86.862 14.092 13.21 39.755 32.707 72.905 38.232A8 8 0 0 0 136 104V88.002a32.32 32.32 0 0 1 32.409-32 32.07 32.07 0 0 1 28.932 19.2A8 8 0 0 0 204.67 80h16.016z' fill='currentColor'/%3E%3C/svg%3E")}.ph-instagram-logo{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M128 80a48 48 0 1 0 48 48 48.054 48.054 0 0 0-48-48zm0 80a32 32 0 1 1 32-32 32.036 32.036 0 0 1-32 32zm44-132H84a56.064 56.064 0 0 0-56 56v88a56.064 56.064 0 0 0 56 56h88a56.064 56.064 0 0 0 56-56V84a56.064 56.064 0 0 0-56-56zm40 144a40.045 40.045 0 0 1-40 40H84a40.045 40.045 0 0 1-40-40V84a40.045 40.045 0 0 1 40-40h88a40.045 40.045 0 0 1 40 40zm-20-96a12 12 0 1 1-12-12 12 12 0 0 1 12 12z' fill='currentColor'/%3E%3C/svg%3E")}.ph-pinterest-logo{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M216 112c0 22.567-7.896 43.206-22.234 58.114C180.39 184.022 162.25 192 144 192c-17.883 0-29.821-5.858-37.432-11.988l-10.78 45.82a8 8 0 1 1-15.575-3.664l32-136a8 8 0 1 1 15.574 3.664l-16.893 71.797C113.989 166.02 123.296 176 144 176c27.527 0 56-23.94 56-64a72 72 0 1 0-131.814 40.093 8 8 0 0 1-13.283 8.922A88.004 88.004 0 1 1 216 112z' opacity='.9' fill='currentColor'/%3E%3C/svg%3E")}.ph-youtube-logo{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='m164.438 121.344-48-32A8 8 0 0 0 104 96v64a8 8 0 0 0 12.438 6.656l48-32a8 8 0 0 0 0-13.312zM120 145.052v-34.104L145.578 128zm114.33-75.255a23.964 23.964 0 0 0-14.504-16.346c-34.27-13.17-88.846-13.07-91.826-13.043-2.979-.028-57.556-.126-91.825 13.043a23.967 23.967 0 0 0-14.506 16.346C19.083 79.727 16 97.887 16 128c0 30.114 3.083 48.272 5.67 58.203a23.965 23.965 0 0 0 14.504 16.346c32.806 12.607 84.222 13.045 91.167 13.045h1.318c6.95 0 58.362-.44 91.166-13.045a23.966 23.966 0 0 0 14.506-16.346c2.586-9.93 5.669-28.09 5.669-58.203 0-30.115-3.083-48.273-5.67-58.203zM218.848 182.17a7.931 7.931 0 0 1-4.761 5.443c-31.654 12.164-85.497 11.985-86.036 11.98h-.1c-.54.017-54.336.202-86.036-11.98a7.932 7.932 0 0 1-4.761-5.443C34.803 173.145 32 156.42 32 128s2.802-45.145 5.153-54.17a7.932 7.932 0 0 1 4.761-5.443c30.524-11.73 81.679-11.98 85.866-11.98h.27c.54-.015 54.383-.184 86.036 11.98a7.93 7.93 0 0 1 4.761 5.443C221.197 82.855 224 99.58 224 128s-2.802 45.145-5.153 54.17z' fill='currentColor'/%3E%3C/svg%3E")}.fa-star{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1664 1600'%3E%3Cpath d='M1664 615q0 22-26 48l-363 354 86 500q1 7 1 20 0 21-10.5 35.5T1321 1587q-19 0-40-12l-449-236-449 236q-22 12-40 12-21 0-31.5-14.5T301 1537q0-6 2-20l86-500L25 663Q0 636 0 615q0-37 56-46l502-73L783 41q19-41 49-41t49 41l225 455 502 73q56 9 56 46z' fill='currentColor'/%3E%3C/svg%3E")}.fa-star-half-empty{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1664 1600'%3E%3Cpath d='m1186 925 257-250-356-52-66-10-30-60-159-322v963l59 31 318 168-60-355-12-66zm452-262-363 354 86 500q5 33-6 51.5t-34 18.5q-17 0-40-12l-449-236-449 236q-23 12-40 12-23 0-34-18.5t-6-51.5l86-500L25 663q-32-32-23-59.5T56 569l502-73L783 41q20-41 49-41 28 0 49 41l225 455 502 73q45 7 54 34.5t-24 59.5z' fill='currentColor'/%3E%3C/svg%3E")}.fa-star-o{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1664 1600'%3E%3Cpath d='m1137 972 306-297-422-62-189-382-189 382-422 62 306 297-73 421 378-199 377 199zm527-357q0 22-26 48l-363 354 86 500q1 7 1 20 0 50-41 50-19 0-40-12l-449-236-449 236q-22 12-40 12-21 0-31.5-14.5T301 1537q0-6 2-20l86-500L25 663Q0 636 0 615q0-37 56-46l502-73L783 41q19-41 49-41t49 41l225 455 502 73q56 9 56 46z' fill='currentColor'/%3E%3C/svg%3E")}.ph-play-fill{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M239.969 128a15.9 15.9 0 0 1-7.656 13.656l-143.97 87.985A15.998 15.998 0 0 1 64 215.992V40.008a15.998 15.998 0 0 1 24.344-13.649l143.969 87.985A15.9 15.9 0 0 1 239.969 128z' fill='currentColor'/%3E%3C/svg%3E")}.ph-x{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M205.657 194.343a8 8 0 1 1-11.314 11.314L128 139.313l-66.343 66.344a8 8 0 0 1-11.314-11.314L116.687 128 50.343 61.657a8 8 0 0 1 11.314-11.314L128 116.687l66.343-66.344a8 8 0 0 1 11.314 11.314L139.313 128z' fill='currentColor'/%3E%3C/svg%3E")}.ph-spinner{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M136 32v32a8 8 0 0 1-16 0V32a8 8 0 0 1 16 0zm37.255 58.745a7.978 7.978 0 0 0 5.657-2.343l22.627-22.627a8 8 0 1 0-11.314-11.314l-22.627 22.627a8 8 0 0 0 5.657 13.657zM224 120h-32a8 8 0 0 0 0 16h32a8 8 0 0 0 0-16zm-45.088 47.598a8 8 0 0 0-11.314 11.314l22.627 22.627a8 8 0 1 0 11.314-11.314zM128 184a8 8 0 0 0-8 8v32a8 8 0 0 0 16 0v-32a8 8 0 0 0-8-8zm-50.912-16.402L54.46 190.225a8 8 0 0 0 11.314 11.314l22.627-22.627a8 8 0 0 0-11.314-11.314zM72 128a8 8 0 0 0-8-8H32a8 8 0 0 0 0 16h32a8 8 0 0 0 8-8zm-6.225-73.54a8 8 0 0 0-11.314 11.315l22.627 22.627a8 8 0 0 0 11.314-11.314z' fill='currentColor'/%3E%3C/svg%3E")}.ph-arrow-counter-clockwise{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M195.883 195.883a96.111 96.111 0 0 1-135.766 0 8 8 0 0 1 11.315-11.315 80 80 0 1 0 0-113.137L51.147 91.716h28.686a8 8 0 0 1 0 16h-48c-.03 0-.059-.004-.088-.005a8.038 8.038 0 0 1-.699-.035c-.128-.012-.254-.036-.38-.055-.132-.02-.264-.034-.394-.06-.14-.028-.277-.066-.414-.101-.115-.03-.231-.054-.345-.089-.134-.04-.264-.09-.395-.138-.115-.041-.23-.079-.345-.126-.12-.05-.236-.109-.354-.165-.12-.056-.24-.109-.356-.171-.111-.06-.217-.128-.325-.192-.116-.07-.234-.135-.347-.21-.117-.079-.227-.166-.34-.25-.096-.073-.195-.14-.29-.217a8.054 8.054 0 0 1-.535-.484c-.016-.016-.034-.03-.05-.045-.02-.02-.038-.044-.058-.064a8.025 8.025 0 0 1-.47-.52c-.083-.101-.155-.207-.232-.31-.079-.106-.16-.21-.234-.319-.081-.12-.151-.246-.225-.37-.06-.1-.122-.198-.177-.3-.068-.126-.125-.256-.185-.384-.051-.109-.106-.215-.152-.326-.051-.125-.093-.252-.138-.378-.043-.12-.09-.238-.126-.36-.039-.129-.068-.259-.1-.388-.03-.124-.066-.246-.09-.372-.03-.151-.049-.303-.07-.456-.015-.106-.036-.21-.046-.318a8.052 8.052 0 0 1-.04-.797V51.716a8 8 0 0 1 16 0v28.686l20.284-20.284a96 96 0 0 1 135.766 135.765z' fill='currentColor'/%3E%3C/svg%3E")}.ph-arrow-clockwise{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M224.954 107.676a8.038 8.038 0 0 1-.699.035c-.03 0-.058.005-.088.005h-48a8 8 0 0 1 0-16h28.686L184.568 71.43a80 80 0 1 0 0 113.138 8 8 0 1 1 11.315 11.313 96 96 0 1 1 0-135.764l20.284 20.284V51.716a8 8 0 0 1 16 0V99.71c0 .266-.014.532-.04.797-.01.107-.031.212-.046.318-.021.153-.04.305-.07.456-.025.126-.06.248-.09.372-.033.13-.061.26-.1.387-.037.123-.083.24-.126.36-.045.127-.087.254-.138.379-.046.111-.1.217-.152.326-.06.128-.117.258-.185.384-.055.102-.118.2-.177.3-.074.124-.144.25-.225.37-.073.11-.155.213-.234.318-.077.104-.15.21-.232.31a7.472 7.472 0 0 1-.47.52c-.02.021-.037.044-.058.065-.016.016-.034.029-.05.045-.172.169-.35.331-.536.484-.094.077-.193.144-.29.217-.112.084-.222.171-.339.25-.113.075-.23.14-.347.21-.108.064-.214.132-.325.192-.117.062-.237.115-.356.171-.118.056-.234.115-.354.165-.114.047-.23.085-.345.126-.131.048-.261.098-.395.138-.114.035-.23.06-.345.089-.137.035-.274.073-.414.101-.13.026-.262.04-.394.06-.126.019-.252.043-.38.055z' fill='currentColor'/%3E%3C/svg%3E")}.ph-info-thin{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M128 28a100 100 0 1 0 100 100A100.113 100.113 0 0 0 128 28zm0 192a92 92 0 1 1 92-92 92.105 92.105 0 0 1-92 92zm12-44a4 4 0 0 1-4 4h-8a4 4 0 0 1-4-4v-52h-4a4 4 0 0 1 0-8h8a4 4 0 0 1 4 4v52h4a4 4 0 0 1 4 4zm-17.656-86.343A8 8 0 1 1 136 84v.002a8 8 0 0 1-13.657 5.655z' fill='currentColor'/%3E%3C/svg%3E")}.ph-house-line-thin{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M239.994 212h-20v-96.461a12.028 12.028 0 0 0-3.928-8.88l-80.005-72.734a11.954 11.954 0 0 0-16.146 0L39.922 106.66a12.023 12.023 0 0 0-3.928 8.879V212h-20a4 4 0 1 0 0 8h224a4 4 0 1 0 0-8zm-196-96.461a4.009 4.009 0 0 1 1.31-2.96l79.993-72.735a3.985 3.985 0 0 1 5.383 0l80.005 72.734a4.011 4.011 0 0 1 1.31 2.96V212h-56.007v-52.008a12.013 12.013 0 0 0-12-12h-32a12.013 12.013 0 0 0-12 12V212H43.994zM147.988 212h-40v-52.008a4.004 4.004 0 0 1 4-4h32a4.004 4.004 0 0 1 4 4z' fill='currentColor'/%3E%3C/svg%3E")}.ph-paint-bucket-thin{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M226.965 123.484a4.002 4.002 0 0 0-1.172-2.828L118.309 13.17a4 4 0 0 0-5.657 0L69.737 56.087 40.686 27.035a4 4 0 0 0-5.657 5.657L64.08 61.743l-47.595 47.595a20.023 20.023 0 0 0 0 28.285l84.858 84.856a19.998 19.998 0 0 0 28.283 0l96.167-96.166a4.002 4.002 0 0 0 1.172-2.829zM123.97 216.823a12 12 0 0 1-16.971 0l-84.857-84.857a12.016 12.016 0 0 1 0-16.97L69.737 67.4l34.72 34.72a23.988 23.988 0 0 0 36.514 30.857 23.986 23.986 0 0 0-30.858-36.514l-34.72-34.72 40.087-40.086 101.828 101.827zm.03-116.81a15.993 15.993 0 1 1-11.314 4.68 15.955 15.955 0 0 1 11.314-4.68zm106.83 61.159a4 4 0 0 0-5.66 0c-.863.865-21.17 21.423-21.17 42.828a24 24 0 0 0 48 0c0-21.405-20.307-41.963-21.17-42.828zM228 220a16.018 16.018 0 0 1-16-16c0-13.718 10.743-27.922 16-34.05 5.258 6.13 16 20.332 16 34.05a16.018 16.018 0 0 1-16 16z' fill='currentColor'/%3E%3C/svg%3E")}.ph-share-thin{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M196 216a4 4 0 0 1-4 4H40a12.013 12.013 0 0 1-12-12V88a4 4 0 0 1 8 0v120a4.004 4.004 0 0 0 4 4h152a4 4 0 0 1 4 4zm31.327-109.782c.064-.097.109-.201.164-.302a4.01 4.01 0 0 0 .203-.386 3.933 3.933 0 0 0 .126-.405c.034-.115.077-.224.1-.342a4.008 4.008 0 0 0 0-1.566c-.023-.118-.066-.227-.1-.342a3.966 3.966 0 0 0-.126-.405 3.876 3.876 0 0 0-.203-.386c-.055-.1-.1-.205-.164-.302a4.001 4.001 0 0 0-.501-.613l-47.998-47.997a4 4 0 0 0-5.656 5.656L214.342 100H168a99.943 99.943 0 0 0-96.85 75.003 4 4 0 1 0 7.748 1.994A91.945 91.945 0 0 1 168 108h46.343l-41.171 41.172a4 4 0 1 0 5.656 5.656l47.998-47.997a4.001 4.001 0 0 0 .5-.613z' fill='currentColor'/%3E%3C/svg%3E")}.ph-timer{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M128 32a96 96 0 1 0 96 96 96.109 96.109 0 0 0-96-96zm0 176a80 80 0 1 1 80-80 80.09 80.09 0 0 1-80 80zm45.255-125.255a8 8 0 0 1 0 11.314l-39.598 39.598a8 8 0 0 1-11.314-11.314l39.598-39.598a8 8 0 0 1 11.314 0zM96 8a8 8 0 0 1 8-8h48a8 8 0 0 1 0 16h-48a8 8 0 0 1-8-8z' fill='currentColor'/%3E%3C/svg%3E")}.ph-caret-circle-right{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M128 24a104 104 0 1 0 104 104A104.118 104.118 0 0 0 128 24zm0 192a88 88 0 1 1 88-88 88.1 88.1 0 0 1-88 88zm33.352-93.946a8 8 0 0 1 0 11.892l-40 36a8 8 0 0 1-10.704-11.892L144.041 128l-33.393-30.054a8 8 0 1 1 10.704-11.892z' fill='currentColor'/%3E%3C/svg%3E")}.ph-caret-circle-left{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M128 24a104 104 0 1 0 104 104A104.118 104.118 0 0 0 128 24zm0 192a88 88 0 1 1 88-88 88.1 88.1 0 0 1-88 88zm21.352-118.054L115.959 128l33.393 30.054a8 8 0 1 1-10.704 11.892l-40-36a8 8 0 0 1 0-11.892l40-36a8 8 0 0 1 10.704 11.892z' fill='currentColor'/%3E%3C/svg%3E")}.ph-caret-circle-right-thin{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M128 28a100 100 0 1 0 100 100A100.113 100.113 0 0 0 128 28zm0 192a92 92 0 1 1 92-92 92.104 92.104 0 0 1-92 92zm30.676-94.973a4 4 0 0 1 0 5.946l-40 36a4 4 0 0 1-5.352-5.946L150.021 128l-36.697-33.027a4 4 0 0 1 5.352-5.946z' fill='currentColor'/%3E%3C/svg%3E")}.ph-caret-circle-left-thin{--url:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M128 28a100 100 0 1 0 100 100A100.113 100.113 0 0 0 128 28zm0 192a92 92 0 1 1 92-92 92.104 92.104 0 0 1-92 92zm18.676-125.027L109.979 128l36.697 33.027a4 4 0 1 1-5.352 5.946l-40-36a4 4 0 0 1 0-5.946l40-36a4 4 0 1 1 5.352 5.946z' fill='currentColor'/%3E%3C/svg%3E")}@media(min-width:1024px){.cmp-collection__single-image{height:22.875rem}}@media(min-width:1200px){.cmp-collection__single-image{height:30.3125rem}}@media(min-width:1400px){.cmp-collection__single-image{height:33rem}}@media(min-width:1024px){.cmp-collection__double-image{height:14.75rem}}@media(min-width:1200px){.cmp-collection__double-image{height:19.1875rem}}@media(min-width:1400px){.cmp-collection__double-image{height:21rem}}
.aem-Grid.aem-Grid--default--12>.cmp-browse-by-menu--vertical-offset.aem-GridColumn.aem-GridColumn--default--12{float:none;width:auto}@media (min-width:768px){.aem-Grid.aem-Grid--default--12>.cmp-browse-by-menu--vertical-offset.aem-GridColumn.aem-GridColumn--default--12{margin-left:auto;margin-right:auto;padding-left:0;padding-right:0}}@media (min-width:1440px){.aem-Grid.aem-Grid--default--12>.cmp-browse-by-menu--vertical-offset.aem-GridColumn.aem-GridColumn--default--12{max-width:75rem}}.browse-by-menu{padding-left:.25rem;padding-right:.25rem}.cmp-browse-by-menu{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.cmp-browse-by-menu--vertical-offset{float:none;width:auto}@media (min-width:768px){.cmp-browse-by-menu--vertical-offset{margin-left:auto;margin-right:auto;padding-left:0;padding-right:0}}@media (min-width:1440px){.cmp-browse-by-menu--vertical-offset{max-width:75rem}}.cmp-browse-by-menu--vertical-offset.aem-GridColumn.aem-GridColumn--default--12{float:none}.cmp-browse-by-menu--vertical-offset .cmp-browse-by-menu{margin-top:-7rem}@media (min-width:768px){.cmp-browse-by-menu--vertical-offset .cmp-browse-by-menu{margin-top:-3rem}}@media (min-width:1024px){.cmp-browse-by-menu--vertical-offset .cmp-browse-by-menu{margin-top:-2.5rem}}@media (min-width:1280px){.cmp-browse-by-menu--vertical-offset .cmp-browse-by-menu{margin-top:-3rem}}.cmp-browse-by-menu__swatch-grid{-webkit-column-gap:1rem;-moz-column-gap:1rem;column-gap:1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));row-gap:1.5rem}.cmp-browse-by-menu__swatch:hover .cmp-browse-by-menu__swatch-link{display:block}.cmp-browse-by-menu__button{-ms-flex-negative:0;--tw-border-opacity:1;--tw-text-opacity:1;border-color:rgba(47,47,48,var(--tw-border-opacity));border-width:1px;color:rgba(47,47,48,var(--tw-text-opacity));flex-shrink:0;font-size:.8125rem;font-weight:700;letter-spacing:2px;line-height:1rem;padding:.5rem 1.25rem;text-align:center;text-transform:uppercase}.cmp-browse-by-menu__button:hover{--tw-bg-opacity:1;--tw-bg-opacity:0.08;background-color:rgba(0,0,0,var(--tw-bg-opacity));text-decoration:none}@media (min-width:768px){.cmp-browse-by-menu__button{font-size:.875rem;letter-spacing:.05em;line-height:1.25rem}}@media (min-width:1024px){.cmp-browse-by-menu__button{font-size:1rem;letter-spacing:1.5px;line-height:1.25rem}}.cmp-browse-by-menu__tab-section:after{background:-webkit-gradient(linear,left top,right top,from(hsla(0,0%,100%,0)),color-stop(50%,#fff));background:linear-gradient(90deg,hsla(0,0%,100%,0),#fff 50%);bottom:0;content:"";left:70%;pointer-events:none;position:absolute;top:0;width:50vw;z-index:1}@media (min-width:640px){.cmp-browse-by-menu__tab-section:after{display:none}}.cmp-browse-by-menu__tabs{width:100vw}@media (min-width:768px){.cmp-browse-by-menu__tabs{width:auto}}.cmp-browse-by-menu__tabs:after{-ms-flex-negative:0;content:"<span />";flex-shrink:0;visibility:hidden;width:50vw}@media (min-width:640px){.cmp-browse-by-menu__tabs:after{display:none}}.cmp-browse-by-menu__tab-item{font-size:.8125rem;letter-spacing:2px;line-height:1rem}.cmp-browse-by-menu__tab-item:hover{--tw-bg-opacity:1;--tw-bg-opacity:0.08;background-color:rgba(0,0,0,var(--tw-bg-opacity));text-decoration:none}@media (min-width:768px){.cmp-browse-by-menu__tab-item{font-size:.875rem;letter-spacing:.05em;line-height:1.25rem}}@media (min-width:1024px){.cmp-browse-by-menu__tab-item{font-size:1rem;letter-spacing:1.5px;line-height:1.25rem}}.cmp-browse-by-menu__tab-item{-ms-flex-negative:0;--tw-text-opacity:1;color:rgba(47,47,48,var(--tw-text-opacity));flex-shrink:0;font-weight:700;padding-left:1.25rem;padding-right:1.25rem;text-align:left;text-transform:uppercase}@media (min-width:768px){.cmp-browse-by-menu__tab-item{text-align:center}}
.collection-variant-sub-palettes__graphic:before{content:"";display:block;padding-top:80%}@media(max-width:767px){.collection-variant-sub-palettes__graphic{max-height:50vh}}@media(min-width:1023px){.collection-variant-sub-palettes__graphic--small{min-height:39rem}}.collection-variant-sub-palettes__video{max-width:30rem;width:100%}@media (min-width:1024px){.collection-variant-sub-palettes__video{max-width:none;width:60%}}@media (min-width:1280px){.collection-variant-sub-palettes__video{max-width:58rem}}@media (min-width:1440px){.collection-variant-sub-palettes__video{width:100%}}@media(max-height:400px)and (orientation:landscape){.collection-variant-sub-palettes__video{width:90%}}@media(min-width:1000px)and (min-height:768px){.collection-variant-sub-palettes__video{max-width:800px}}.collection-variant-sub-palettes__video:before{content:"";display:block;padding-top:56.25%}.collection-variant-sub-palettes__video__close{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;--tw-bg-opacity:1;align-items:center;background-color:rgba(255,255,255,var(--tw-bg-opacity));border-radius:9999px;display:none;height:3rem;justify-content:center;margin-bottom:5.5rem;position:absolute;width:3rem}.collection-variant-sub-palettes__video__close:hover{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}@media (min-width:768px){.collection-variant-sub-palettes__video__close{display:-webkit-box;display:-ms-flexbox;display:flex}}.collection-variant-sub-palettes__video__close{bottom:85%;left:calc(100% + 13px)}.collection-variant-sub-palettes .color-selection-slider{display:none;padding-left:.375rem;padding-right:.375rem}@media (min-width:1024px){.collection-variant-sub-palettes .color-selection-slider{display:block}}.collection-variant-sub-palettes .color-selection-slider:before{cursor:pointer;vertical-align:-.6em}@media(max-width:769px){.collection-variant-sub-palettes .color-selection-slider.ph-caret-circle-left,.collection-variant-sub-palettes .color-selection-slider.ph-caret-circle-right{display:none!important}}@media (min-width:1024px){.collection-variant-sub-palettes .color-selection-slider.ph-caret-circle-left.hide{display:none}}.collection-variant-sub-palettes .hor-scroll-wrap{position:relative}.collection-variant-sub-palettes .hor-scroll-wrap:after{background-image:-webkit-gradient(linear,right top,left top,from(#fff),to(hsla(0,0%,100%,0)));background-image:linear-gradient(270deg,#fff,hsla(0,0%,100%,0));content:"";height:100%;pointer-events:none;position:absolute;right:0;top:0;-webkit-transition:all .3s linear;transition:all .3s linear;width:5rem}.collection-variant-sub-palettes .hor-scroll-wrap:before{height:100%;left:-5px;pointer-events:none;position:absolute;top:0;width:2.5rem}@media (min-width:1024px){.collection-variant-sub-palettes .hor-scroll-wrap:before{width:5rem}}.collection-variant-sub-palettes .hor-scroll-wrap:before{background-image:-webkit-gradient(linear,left top,right top,from(hsla(0,0%,100%,0)),to(hsla(0,0%,100%,0)));background-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,0));content:"";-webkit-transition:all .3s linear;transition:all .3s linear}.collection-variant-sub-palettes .hor-scroll-wrap.scrolled-right:after{background-image:-webkit-gradient(linear,right top,left top,from(hsla(0,0%,100%,0)),to(hsla(0,0%,100%,0)));background-image:linear-gradient(270deg,hsla(0,0%,100%,0),hsla(0,0%,100%,0))}.collection-variant-sub-palettes .hor-scroll-wrap.scrolled-left:before{background-image:-webkit-gradient(linear,left top,right top,from(#fff),to(hsla(0,0%,100%,0)));background-image:linear-gradient(90deg,#fff,hsla(0,0%,100%,0));z-index:1}
.image-upload-modal__primary:hover{background:-webkit-gradient(linear,left bottom,left top,from(hsla(0,0%,100%,.2)),to(hsla(0,0%,100%,.2))),#2f2f30;background:linear-gradient(0deg,hsla(0,0%,100%,.2),hsla(0,0%,100%,.2)),#2f2f30}.image-upload-modal__secondary:hover{background:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.08)),to(rgba(0,0,0,.08))),#fff;background:linear-gradient(0deg,rgba(0,0,0,.08),rgba(0,0,0,.08)),#fff;border:1.5px solid #000;-webkit-box-sizing:border-box;box-sizing:border-box}
.tool-tip__caret{border-bottom:10px solid #fff;border-left:10px solid transparent;border-right:10px solid transparent;height:0;width:0}
.color-strip__colors-container{-ms-overflow-style:none;-ms-scroll-chaining:none;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow-x:scroll;overscroll-behavior:contain;scrollbar-width:none;white-space:nowrap}@media (min-width:1024px){.color-strip__colors-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}.color-strip__colors-container::-webkit-scrollbar{display:none}
.cta-button{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-pack:center;-ms-flex-pack:center;border-radius:.125rem;border-width:1.5px;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;justify-content:center;justify-items:center;min-height:90px;padding-top:.75rem;width:100%}@media (min-width:1024px){.cta-button{margin-bottom:1rem;margin-right:1rem;width:10rem}}.cta-button__icon{font-size:3rem;line-height:1;text-align:center}.cta-button__icon,.cta-button__text{-webkit-box-pack:center;-ms-flex-pack:center;display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:center;width:100%}.cta-button__text{font-size:.875rem;font-weight:600;line-height:1.25rem;line-height:18px;padding-left:.375rem;padding-right:.375rem}a.light-color-text:visited{color:#fff}
.group-of-ctas__title{font-size:1rem;font-weight:600;line-height:1.5rem;line-height:1.25rem;margin-bottom:1.25rem}.light-color-text{color:#fff}.group-cta-buttons--one-button{margin-bottom:1.5rem;width:100%}@media (min-width:640px){.group-cta-buttons--one-button{margin-bottom:1rem;margin-right:1rem}}.group-cta-buttons--two-buttons{line-height:18px;margin-bottom:1.5rem;margin-right:1rem;min-height:90px;text-align:center}@media (min-width:320px){.group-cta-buttons--two-buttons{width:42%}}@media (min-width:640px){.group-cta-buttons--two-buttons{margin-bottom:1rem;width:46%}}.group-cta-buttons--two-buttons.cta-button{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.group-cta-buttons--two-buttons .cta-button__text{padding-bottom:.75rem;padding-left:.25rem;padding-right:.25rem}.group-cta-buttons--four-buttons,.group-cta-buttons--three-buttons{margin-bottom:1rem;width:100%}@media (min-width:640px){.group-cta-buttons--four-buttons,.group-cta-buttons--three-buttons{margin-bottom:1rem;padding:0}}@media (min-width:768px){.group-cta-buttons--four-buttons,.group-cta-buttons--three-buttons{margin-right:1rem;width:calc(33% - .75rem)}}.group-cta-buttons--four-buttons:last-of-type,.group-cta-buttons--three-buttons:last-of-type{margin-right:0}.group-cta-buttons--four-buttons.cta-button,.group-cta-buttons--three-buttons.cta-button{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-box-pack:start;-ms-flex-pack:start;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;justify-content:flex-start;min-height:auto;padding:.5rem .625rem}@media (min-width:640px){.group-cta-buttons--four-buttons.cta-button,.group-cta-buttons--three-buttons.cta-button{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:90px;padding:0;padding-top:.625rem}}.group-cta-buttons--four-buttons.cta-button .cta-button__icon,.group-cta-buttons--three-buttons.cta-button .cta-button__icon{-webkit-box-pack:start;-ms-flex-pack:start;height:44px;justify-content:flex-start;width:66px}@media (min-width:640px){.group-cta-buttons--four-buttons.cta-button .cta-button__icon,.group-cta-buttons--three-buttons.cta-button .cta-button__icon{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:100%}}.group-cta-buttons--four-buttons.cta-button .cta-button__text,.group-cta-buttons--three-buttons.cta-button .cta-button__text{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:start;-ms-flex-pack:start;align-items:center;justify-content:flex-start;letter-spacing:-.25px;text-align:center}@media (min-width:640px){.group-cta-buttons--four-buttons.cta-button .cta-button__text,.group-cta-buttons--three-buttons.cta-button .cta-button__text{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-bottom:.625rem;padding-top:.25rem}}@media (min-width:768px){.group-cta-buttons--four-buttons{margin-right:1rem}}@media(min-width:1024px){.group-cta-buttons--four-buttons:nth-of-type(2){margin-right:0}}.group-cta-buttons--four-buttons.cta-button{width:100%}@media (min-width:768px){.group-cta-buttons--four-buttons.cta-button{width:123px}}@media(min-width:1024px){.group-cta-buttons--four-buttons.cta-button{width:calc(50% - .75rem)}}
.cdp-hero{-webkit-box-orient:vertical;-webkit-box-direction:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}@media(min-width:1024px){.cdp-hero{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.cdp-hero__visualizer{margin-left:-85%;width:270%}}@media(min-width:1080px){.cdp-hero__visualizer{margin-left:-60%;width:220%}}@media(min-width:1280px){.cdp-hero__visualizer{margin-left:-35%;width:170%}}@media(min-width:1440px){.cdp-hero__visualizer{margin-left:-25%;width:150%}}@media(min-width:1024px){.cdp-hero__left-container{overflow:hidden;width:40%}.cdp-hero__right-container{width:60%}}.photo-recommendation-text{--tw-text-opacity:1;color:rgba(118,118,118,var(--tw-text-opacity));font-size:.75rem;font-weight:400;line-height:1rem;margin:15px}.cdp-hero__coordinating-colors{padding:15px}@media(min-width:1024px){.cdp-hero__coordinating-colors{padding:30px}}.cdp-hero__coordinating-colors li{margin-left:0}
@media(min-width:1024px)and (max-width:1100px){.cmp-color-grid__variant{-webkit-column-gap:1rem;-moz-column-gap:1rem;column-gap:1rem;row-gap:2rem}.cmp-color-grid__variant .cmp-color-grid__description-container{width:100%}.cmp-color-grid__variant .cmp-color-grid__description-container .cmp-color-grid__description{font-size:1rem;line-height:1.5rem;line-height:1.25rem}}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9hZW0tbWF2ZW4tYXJjaGV0eXBlLy4vbm9kZV9tb2R1bGVzL2ljb24tYmxlbmRlci9zY3NzL19jb3JlLnNjc3MiLCJ3ZWJwYWNrOi8vYWVtLW1hdmVuLWFyY2hldHlwZS8uL25vZGVfbW9kdWxlcy9pY29uLWJsZW5kZXIvc2Nzcy9fYW5pbWF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vYWVtLW1hdmVuLWFyY2hldHlwZS8uL25vZGVfbW9kdWxlcy9AZm9udHNvdXJjZS9vcGVuLXNhbnMvc2Nzcy9taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9hZW0tbWF2ZW4tYXJjaGV0eXBlLy4vc3JjL3NoYXJlZC9zdHlsZXMvdmFyaWFibGVzL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vYWVtLW1hdmVuLWFyY2hldHlwZS8uL25vZGVfbW9kdWxlcy9pY29uLWJsZW5kZXIvc2Nzcy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vYWVtLW1hdmVuLWFyY2hldHlwZS8uL25vZGVfbW9kdWxlcy9pbmNsdWRlLW1lZGlhL2Rpc3QvX2luY2x1ZGUtbWVkaWEuc2NzcyIsIndlYnBhY2s6Ly9hZW0tbWF2ZW4tYXJjaGV0eXBlLy4vc3JjL2NvbG9yLWpvdXJuZXkvY29tcG9uZW50cy9jb2xvci1jb2xsZWN0aW9ucy9fY29sb3ItY29sbGVjdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly9hZW0tbWF2ZW4tYXJjaGV0eXBlLzxubyBzb3VyY2U+Iiwid2VicGFjazovL2FlbS1tYXZlbi1hcmNoZXR5cGUvLi9zcmMvY29sb3Itam91cm5leS9jb21wb25lbnRzL2Jyb3dzZS1ieS9icm93c2UtYnkuc2NzcyIsIndlYnBhY2s6Ly9hZW0tbWF2ZW4tYXJjaGV0eXBlLy4vc3JjL2NvbG9yLWpvdXJuZXkvY29tcG9uZW50cy9jb2xvci1jb2xsZWN0aW9ucy1zdWJwYWxldHRlcy92YXJpYW50LXN1Yi1wYWxldHRlcy5zY3NzIiwid2VicGFjazovL2FlbS1tYXZlbi1hcmNoZXR5cGUvLi9zcmMvbWFpbi9jb21wb25lbnRzL3NjZW5lLXZpc3VhbGl6ZXIvaW1hZ2UtdXBsb2FkLW1vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vYWVtLW1hdmVuLWFyY2hldHlwZS8uL3NyYy9jb2xvci1qb3VybmV5L2NvbXBvbmVudHMvY29sb3ItZGV0YWlscy92MS90b29sLXRpcC5zY3NzIiwid2VicGFjazovL2FlbS1tYXZlbi1hcmNoZXR5cGUvLi9zcmMvY29sb3Itam91cm5leS9jb21wb25lbnRzL2NvbG9yLWRldGFpbHMvdjIvY29sb3ItZGV0YWlsLWhlcm8tY29sb3Itc3RyaXAvY29sb3ItZGV0YWlsLWhlcm8tY29sb3Itc3RyaXAuc2NzcyIsIndlYnBhY2s6Ly9hZW0tbWF2ZW4tYXJjaGV0eXBlLy4vc3JjL2NvbG9yLWpvdXJuZXkvY29tcG9uZW50cy9jb2xvci1kZXRhaWxzL3YyL2NvbG9yLWRldGFpbC1oZXJvLWN0YS9jb2xvci1kZXRhaWwtaGVyby1jdGEuc2NzcyIsIndlYnBhY2s6Ly9hZW0tbWF2ZW4tYXJjaGV0eXBlLy4vc3JjL2NvbG9yLWpvdXJuZXkvY29tcG9uZW50cy9jb2xvci1kZXRhaWxzL3YyL2NvbG9yLWRldGFpbC1oZXJvLWdyb3VwLW9mLWN0YXMvY29sb3ItZGV0YWlsLWhlcm8tZ3JvdXAtb2YtY3Rhcy5zY3NzIiwid2VicGFjazovL2FlbS1tYXZlbi1hcmNoZXR5cGUvLi9zcmMvY29sb3Itam91cm5leS9jb21wb25lbnRzL2NvbG9yLWRldGFpbHMvdjIvY29sb3ItZGV0YWlsLWhlcm8uc2NzcyIsIndlYnBhY2s6Ly9hZW0tbWF2ZW4tYXJjaGV0eXBlLy4vc3JjL2NvbG9yLWpvdXJuZXkvY29tcG9uZW50cy9jb2xvci1ncmlkL2NvbG9yLWdyaWQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSx1QkFNQyxXQUpBLHFCQUNBLFdBRUEsdUJBREEsU0FFQSxDQUdELFdBQ0Msd0JBQ0Esc0JBR0EsOEJBREEscUJBR0EsNkJBSkEsc0JBR0EsNkJBQ0EsQ0FHRCxZQUNDLDRCQUVBLDRCQUNBLDRCQUZBLHVCQUVBLENBR0QsY0FDQyxtQkFHRCxPQUNDLGlCQUdELE9BQ0MsdUJBQ0Esa0JBQ0Esd0JBR0QsT0FDQyxjQUdELE9BQ0MsY0FHRCxPQUNDLGNBR0QsT0FDQyxjQUdELDJCQUNDLGtEQUdELHlCQUNDLGtEQUdELHFCQUNJLHdEQUdKLHNCQUNJLDBEQUdKLHNCQUNJLDBEQUdKLFVBQ0MscUJBQ0EsV0FDQSxVQ2hGRCxnQkFDRSxrRkFFRixpQkFDRSxzRkFHRiwyQkFDRSxHQUNFLHNEQUVGLEdBQ0UsMkRBTEosbUJBQ0UsR0FDRSxzREFFRixHQUNFLDJEQ0tBLFdBR0UsaUJBbEJJLENBZ0JKLHNCQUNBLGlCQWxCRSxDQW9CRixlQ2pCSyxDRGtCTCxtSEFFQSxnRkFuQk8sQ0FZVCxXQUdFLGlCQWxCSSxDQWdCSixzQkFDQSxpQkFsQkUsQ0FvQkYsZUNqQkssQ0RrQkwsbUhBRUEsd0RBbkJPLENBWVQsV0FHRSxpQkFsQkksQ0FnQkosc0JBQ0EsaUJBbEJFLENBb0JGLGVDakJLLENEa0JMLG1IQUVBLG9CQW5CTyxDQVlULFdBR0UsaUJBbEJJLENBZ0JKLHNCQUNBLGlCQWxCRSxDQW9CRixlQ2pCSyxDRGtCTCxtSEFFQSx5QkFuQk8sQ0FZVCxXQUdFLGlCQWxCSSxDQWdCSixzQkFDQSxpQkFsQkUsQ0FvQkYsZUNqQkssQ0RrQkwsbUhBRUEsd0dBbkJPLENBWVQsV0FHRSxpQkFsQkksQ0FnQkosc0JBQ0EsaUJBbEJFLENBb0JGLGVDakJLLENEa0JMLG1IQUVBLHFHQW5CTyxDQVlULFdBR0UsaUJBbEJJLENBZ0JKLHNCQUNBLGlCQWxCRSxDQW9CRixlQ2pCSyxDRGtCTCxtSEFFQSxtSkFuQk8sQ0FZVCxXQUdFLGlCQWxCSSxDQWdCSixzQkFDQSxpQkFsQkUsQ0FvQkYsZUNiSyxDRGNMLG1IQUVBLGdGQW5CTyxDQVlULFdBR0UsaUJBbEJJLENBZ0JKLHNCQUNBLGlCQWxCRSxDQW9CRixlQ2JLLENEY0wsb0hBRUEsd0RBbkJPLENBWVQsV0FHRSxpQkFsQkksQ0FnQkosc0JBQ0EsaUJBbEJFLENBb0JGLGVDYkssQ0RjTCxvSEFFQSxvQkFuQk8sQ0FZVCxXQUdFLGlCQWxCSSxDQWdCSixzQkFDQSxpQkFsQkUsQ0FvQkYsZUNiSyxDRGNMLG9IQUVBLHlCQW5CTyxDQVlULFdBR0UsaUJBbEJJLENBZ0JKLHNCQUNBLGlCQWxCRSxDQW9CRixlQ2JLLENEY0wsb0hBRUEsd0dBbkJPLENBWVQsV0FHRSxpQkFsQkksQ0FnQkosc0JBQ0EsaUJBbEJFLENBb0JGLGVDYkssQ0RjTCxvSEFFQSxxR0FuQk8sQ0FZVCxXQUdFLGlCQWxCSSxDQWdCSixzQkFDQSxpQkFsQkUsQ0FvQkYsZUNiSyxDRGNMLG9IQUVBLG1KQW5CTyxDQVlULFdBR0UsaUJBbEJJLENBZ0JKLHNCQUNBLGlCQWxCRSxDQW9CRixlQ1RLLENEVUwscUhBRUEsZ0ZBbkJPLENBWVQsV0FHRSxpQkFsQkksQ0FnQkosc0JBQ0EsaUJBbEJFLENBb0JGLGVDVEssQ0RVTCxxSEFFQSx3REFuQk8sQ0FZVCxXQUdFLGlCQWxCSSxDQWdCSixzQkFDQSxpQkFsQkUsQ0FvQkYsZUNUSyxDRFVMLHFIQUVBLG9CQW5CTyxDQVlULFdBR0UsaUJBbEJJLENBZ0JKLHNCQUNBLGlCQWxCRSxDQW9CRixlQ1RLLENEVUwscUhBRUEseUJBbkJPLENBWVQsV0FHRSxpQkFsQkksQ0FnQkosc0JBQ0EsaUJBbEJFLENBb0JGLGVDVEssQ0RVTCxxSEFFQSx3R0FuQk8sQ0FZVCxXQUdFLGlCQWxCSSxDQWdCSixzQkFDQSxpQkFsQkUsQ0FvQkYsZUNUSyxDRFVMLHFIQUVBLHFHQW5CTyxDQVlULFdBR0UsaUJBbEJJLENBZ0JKLHNCQUNBLGlCQWxCRSxDQW9CRixlQ1RLLENEVUwscUhBRUEsbUpBbkJPLENBWVQsV0FHRSxpQkFsQkksQ0FnQkosc0JBQ0EsaUJBbEJFLENBb0JGLGVDTEssQ0RNTCxxSEFFQSxnRkFuQk8sQ0FZVCxXQUdFLGlCQWxCSSxDQWdCSixzQkFDQSxpQkFsQkUsQ0FvQkYsZUNMSyxDRE1MLHFIQUVBLHdEQW5CTyxDQVlULFdBR0UsaUJBbEJJLENBZ0JKLHNCQUNBLGlCQWxCRSxDQW9CRixlQ0xLLENETUwscUhBRUEsb0JBbkJPLENBWVQsV0FHRSxpQkFsQkksQ0FnQkosc0JBQ0EsaUJBbEJFLENBb0JGLGVDTEssQ0RNTCxxSEFFQSx5QkFuQk8sQ0FZVCxXQUdFLGlCQWxCSSxDQWdCSixzQkFDQSxpQkFsQkUsQ0FvQkYsZUNMSyxDRE1MLHFIQUVBLHdHQW5CTyxDQVlULFdBR0UsaUJBbEJJLENBZ0JKLHNCQUNBLGlCQWxCRSxDQW9CRixlQ0xLLENETUwscUhBRUEscUdBbkJPLENBWVQsV0FHRSxpQkFsQkksQ0FnQkosc0JBQ0EsaUJBbEJFLENBb0JGLGVDTEssQ0RNTCxxSEFFQSxtSkFuQk8sQ0VTWixnQkFQQSx5U0FPQSxlQVBBLHlTQU9BLGFBUEEseVNBT0EsZUFQQSx3VEFPQSxtQkFQQSx1akJBT0EsaUJBUEEsd3VCQU9BLGFBUEEsb3lCQU9BLFVBUEEsMmpCQU9BLGtCQVBBLHNaQU9BLGlCQVBBLCsvQkFPQSxtQkFQQSxzaUJBT0EsbUJBUEEsMGZBT0EsaUJBUEEsNG1DQU9BLFNBUEEsa1pBT0Esb0JBUEEsdWNBT0EsV0FQQSxpZEFPQSxjQVBBLDJVQU9BLE1BUEEsMldBT0EsWUFQQSw0dEJBT0EsNEJBUEEsdXRDQU9BLG9CQVBBLDhsQ0FPQSxjQVBBLHdhQU9BLG9CQVBBLG1uQkFPQSxzQkFQQSx1OEJBT0EsZUFQQSw4d0JBT0EsVUFQQSx1YUFPQSx1QkFQQSw2WEFPQSxzQkFQQSxtWUFPQSw0QkFQQSw0WEFPQSwyQkFQQSxrWUNxaUJHLHlCQzVpQkosOEJBRUksa0JEMGlCQSx5QkM1aUJKLDhCQU1JLG1CRHNpQkEseUJDNWlCSiw4QkFVSSxjRGtpQkEseUJDOWhCSiw4QkFFSSxpQkQ0aEJBLHlCQzloQkosOEJBTUksbUJEd2hCQSx5QkM5aEJKLDhCQVVJLG8vRztBQ3pCSixnOUNDaUNFLDBERGpDRixrekJDaURFLHVDQUVFLGlLRG5ESixTQ2tESSxXQUVBLFNEcERKLGdFQ3FESSxDRHJESixtTEM2REUsZ0NEN0RGLG9CQzhESSxtQkQ5REosMENDK0RJLENEL0RKLGcwQjtBQUFBLGlERU1NLFdGTk4sY0VPTSxnQkFHRix3QkFQRiwwQ0FRSSxpQkFJQSx5QkFERixpREFFSSxrQkZoQlIsZ1VFd0JJLG9EQUhGLHdDQUlJLFdBSUYsK0NBUkYsd0NBU0ksaUJGOUJOLCtDRW1DTSxXRm5DTixjRW9DTSxtQkZwQ04sNGxCRXVDSSwrQ0FFRSxXQUNBLHVCRjFDTixrU0VtRE0scUJBR0Esd0JBSUYsNkpBRUksdUJBTEEsQ0Z2RFIsdVBFeUVNLDhKQURBLFdGeEVOLGdFRTBFTSw0REYxRU4sa1BFNEVJLHlEQUdFLHVMQURBLFdBRUEsNERBSUEsdUVBQ0Usd0xBSUYsdUVBQ0UsNkpBQ0EsVTtBQ3pGSixtQ0FDRSxnTUFJRixxQ0FDRSw4S0FDQSx3QkFDQSxvRDtBQ1RKLGlCQUtFLDhCQUZBLG1DQUNBLG9DQUZBLFNBREEsT0FJQSxDO0FDTkosK0JBRUUsd0JMRkYsc0xLQ0UsQ0xERixrQktRRSxDTFJGLDhOO0FBQUEsOHlCTWlCQSwyQkFDRSxXO0FObEJGLGtIT1VBLGtCQUNFLFdQWEYsNjlCT2tDSSx5QlBsQ0osNkdPdUNFLHlGUHZDRixnT093Q0ksZ0JQeENKLHFCT3lDSSxDUHpDSix5MENPdURFLHlCUHZERiwrRE95RE0sQ1B6RE4seUlPOERJLHlCQUZGLDRDQUdJLDBCO0FQL0ROLHdLUVdFLHlCUlhGLGlLUVlJLENBT0YseUJSbkJGLGtEUW9CSSxDQUVGLHlCUnRCRixrRFF1QkksQ0FFRix5QlJ6QkYsa0RRMEJJLENBS0YseUJSL0JGLHlGUWlDSSxDUmpDSix3TVFpREUseUJSakRGLDRDUWtESSxDUmxESixnRDtBU0NFLCtDVERGLGtVIiwiZmlsZSI6ImNsaWVudGxpYi1jb2xvci1qb3VybmV5L2NvbG9yLWpvdXJuZXkuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbi4jeyRpYi1wcmVmaXh9OjpiZWZvcmUsXG4uI3skaWItcHJlZml4fWM6OmJlZm9yZXtcblx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdGhlaWdodDoxZW07XG5cdHdpZHRoOjFlbTtcblx0dmVydGljYWwtYWxpZ246IC0uMTI1ZW07XG5cdGNvbnRlbnQ6Jyc7XG59XG5cbi4jeyRpYi1wcmVmaXh9OjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG5cdG1hc2staW1hZ2U6IHZhcigtLXVybCk7XG5cdG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG5cdG1hc2stcG9zaXRpb246IGNlbnRlcjtcblx0LXdlYmtpdC1tYXNrLWltYWdlOiB2YXIoLS11cmwpO1xuXHQtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG5cdC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4uI3skaWItcHJlZml4fWM6OmJlZm9yZXtcblx0YmFja2dyb3VuZC1pbWFnZTogdmFyKC0tdXJsKTtcblx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG59XG5cbi4jeyRpYi1wcmVmaXh9LWZ3OjpiZWZvcmUge1xuXHR3aWR0aDogMS4yODU3MTQyOWVtO1xufVxuXG4uI3skaWItcHJlZml4fS1zbSB7XG5cdGZvbnQtc2l6ZTouODc1ZW07XG59XG5cbi4jeyRpYi1wcmVmaXh9LWxnIHtcblx0Zm9udC1zaXplOiAxLjMzMzMzMzMzZW07XG5cdGxpbmUtaGVpZ2h0OiAwLjc1ZW07XG5cdHZlcnRpY2FsLWFsaWduOiAtLjA2NjdlbTtcbn1cblxuLiN7JGliLXByZWZpeH0tMngge1xuXHRmb250LXNpemU6MmVtO1xufVxuXG4uI3skaWItcHJlZml4fS0zeCB7XG5cdGZvbnQtc2l6ZTozZW07XG59XG5cbi4jeyRpYi1wcmVmaXh9LTR4IHtcblx0Zm9udC1zaXplOjRlbTtcbn1cblxuLiN7JGliLXByZWZpeH0tNXgge1xuXHRmb250LXNpemU6NWVtO1xufVxuXG4uI3skaWItcHJlZml4fS1mbGlwLWhvcml6b250YWw6OmJlZm9yZSB7XG5cdHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xufVxuXG4uI3skaWItcHJlZml4fS1mbGlwLXZlcnRpY2FsOjpiZWZvcmUge1xuXHR0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcbn1cblxuLiN7JGliLXByZWZpeH0tcm90YXRlLTkwOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuLiN7JGliLXByZWZpeH0tcm90YXRlLTE4MDo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4uI3skaWItcHJlZml4fS1yb3RhdGUtMjcwOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG59XG5cbi4jeyRpYi1wcmVmaXh9LWVtYmVke1xuXHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0aGVpZ2h0OjFlbTtcblx0d2lkdGg6MWVtO1xufVxuIiwiXG4uI3skaWItcHJlZml4fS1zcGluOjpiZWZvcmUge1xuICBhbmltYXRpb246IGliLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xufVxuLiN7JGliLXByZWZpeH0tcHVsc2U6OmJlZm9yZSB7XG4gIGFuaW1hdGlvbjogaWItc3BpbiAxcyBpbmZpbml0ZSBzdGVwcyg4KTtcbn1cblxuQGtleWZyYW1lcyBpYi1zcGluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cbiIsIiRmb250TmFtZTogXCJPcGVuIFNhbnNcIjtcbiRmb250SWQ6IFwib3Blbi1zYW5zXCI7XG4kc3R5bGU6IG5vcm1hbDtcbiRkaXNwbGF5OiBzd2FwO1xuJHdlaWdodDogNDAwO1xuJGZvbnREaXI6IFwifkBmb250c291cmNlLyN7JGZvbnRJZH0vZmlsZXNcIjtcbiR1bmljb2RlTWFwOiAoY3lyaWxsaWMtZXh0OiAoVSswNDYwLTA1MkYsIFUrMUM4MC0xQzg4LCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkYpLCBjeXJpbGxpYzogKFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNiksIGdyZWVrLWV4dDogKFUrMUYwMC0xRkZGKSwgZ3JlZWs6IChVKzAzNzAtMDNGRiksIHZpZXRuYW1lc2U6IChVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzFFQTAtMUVGOSwgVSsyMEFCKSwgbGF0aW4tZXh0OiAoVSswMTAwLTAyNEYsIFUrMDI1OSwgVSsxRTAwLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRiksIGxhdGluOiAoVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRCkpO1xuXG5AbWl4aW4gZm9udEZhY2UoXG4gICRmb250TmFtZTogJGZvbnROYW1lLFxuICAkZm9udElkOiAkZm9udElkLFxuICAkc3R5bGU6ICRzdHlsZSxcbiAgJGRpc3BsYXk6ICRkaXNwbGF5LFxuICAkd2VpZ2h0OiAkd2VpZ2h0LFxuICAkZm9udERpcjogJGZvbnREaXIsXG4gICR1bmljb2RlTWFwOiAkdW5pY29kZU1hcFxuKSB7XG4gIEBlYWNoICRzdWJzZXQsICR1bmljb2RlUmFuZ2VWYWx1ZXMgaW4gJHVuaWNvZGVNYXAge1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgZm9udC1mYW1pbHk6IFwiI3skZm9udE5hbWV9XCI7XG4gICAgICBmb250LXN0eWxlOiAkc3R5bGU7XG4gICAgICBmb250LWRpc3BsYXk6ICRkaXNwbGF5O1xuICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgICBzcmM6IHVybChcIiN7JGZvbnREaXJ9LyN7JGZvbnRJZH0tI3skc3Vic2V0fS0jeyR3ZWlnaHR9LSN7JHN0eWxlfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICAgdXJsKFwiI3skZm9udERpcn0vI3skZm9udElkfS1hbGwtI3skd2VpZ2h0fS0jeyRzdHlsZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICAgICAgdW5pY29kZS1yYW5nZTogJHVuaWNvZGVSYW5nZVZhbHVlcztcbiAgICB9XG4gIH1cbn1cblxuJGRlZlN1YnNldDogXCJsYXRpblwiO1xuJHdvZmYyUGF0aDogXCIjeyRmb250RGlyfS8jeyRmb250SWR9LSN7JGRlZlN1YnNldH0tI3skd2VpZ2h0fS0jeyRzdHlsZX0ud29mZjJcIjtcbiR3b2ZmUGF0aDogXCIjeyRmb250RGlyfS8jeyRmb250SWR9LSN7JGRlZlN1YnNldH0tI3skd2VpZ2h0fS0jeyRzdHlsZX0ud29mZlwiO1xuJHVuaWNvZGVSYW5nZTogZmFsc2U7XG4kdW5pY29kZVJhbmdlVmFsdWVzOiAoVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRCk7XG5cbkBtaXhpbiBmb250RmFjZUN1c3RvbShcbiAgJGZvbnROYW1lOiAkZm9udE5hbWUsXG4gICRmb250SWQ6ICRmb250SWQsXG4gICRzdHlsZTogJHN0eWxlLFxuICAkZGlzcGxheTogJGRpc3BsYXksXG4gICR3ZWlnaHQ6ICR3ZWlnaHQsXG4gICR3b2ZmMlBhdGg6ICR3b2ZmMlBhdGgsXG4gICR3b2ZmUGF0aDogJHdvZmZQYXRoLFxuICAkdW5pY29kZVJhbmdlOiAkdW5pY29kZVJhbmdlLFxuICAkdW5pY29kZVJhbmdlVmFsdWVzOiAkdW5pY29kZVJhbmdlVmFsdWVzXG4pIHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiI3skZm9udE5hbWV9XCI7XG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xuICAgIGZvbnQtZGlzcGxheTogJGRpc3BsYXk7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgc3JjOiB1cmwoXCIjeyR3b2ZmMlBhdGh9XCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIjeyR3b2ZmUGF0aH1cIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICBAaWYgJHVuaWNvZGVSYW5nZSB7XG4gICAgICB1bmljb2RlLXJhbmdlOiAkdW5pY29kZVJhbmdlVmFsdWVzO1xuICAgIH1cbiAgfVxufVxuXG5cbiIsIi8vPT0gRm9udFxuXG5AdXNlICdAZm9udHNvdXJjZS9vcGVuLXNhbnMvc2Nzcy9taXhpbnMnIGFzIE9wZW5TYW5zO1xuXG5AaW5jbHVkZSBPcGVuU2Fucy5mb250RmFjZShcbiAgJHdlaWdodDogNDAwLFxuICAkZm9udERpcjogJ35AZm9udHNvdXJjZS9vcGVuLXNhbnMvZmlsZXMnXG4pO1xuQGluY2x1ZGUgT3BlblNhbnMuZm9udEZhY2UoXG4gICR3ZWlnaHQ6IDMwMCxcbiAgJGZvbnREaXI6ICd+QGZvbnRzb3VyY2Uvb3Blbi1zYW5zL2ZpbGVzJ1xuKTtcbkBpbmNsdWRlIE9wZW5TYW5zLmZvbnRGYWNlKFxuICAkd2VpZ2h0OiA2MDAsXG4gICRmb250RGlyOiAnfkBmb250c291cmNlL29wZW4tc2Fucy9maWxlcydcbik7XG5AaW5jbHVkZSBPcGVuU2Fucy5mb250RmFjZShcbiAgJHdlaWdodDogNzAwLFxuICAkZm9udERpcjogJ35AZm9udHNvdXJjZS9vcGVuLXNhbnMvZmlsZXMnXG4pO1xuXG4kZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCAnSGVsdmV0aWNhIE5ldWUnLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmO1xuJGZvbnQtc2l6ZTogMThweDtcbiRmb250LWhlaWdodDogMjZweDtcbiRsZXR0ZXItc3BhY2luZzogLTAuMjVweDtcbiRwYXJhZ3JhcGgtc3BhY2luZzogMThweDtcbiRmb250LXdlaWdodC1saWdodDogMzAwO1xuJGZvbnQtd2VpZ2h0LXJlZ3VsYXI6IDQwMDtcbiRmb250LXdlaWdodC1zZW1pLWJvbGQ6IDYwMDtcbiRmb250LXdlaWdodC1ib2xkOiA3MDA7XG4kZm9udC1ib2xkOiA3MDA7XG4kZm9udC1ub3JtYWw6IDQwMDtcblxuQG1peGluIHVpLW92ZXJsaW5lMSB7XG4gIGZvbnQtc2l6ZTogcmVtKDEwcHgpO1xuICBsaW5lLWhlaWdodDogcmVtKDE1cHgpO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG59XG5cbkBtaXhpbiB1aS1oZWFkaW5nNCB7XG4gIGZvbnQtc2l6ZTogcmVtKDIwcHgpO1xuICBsaW5lLWhlaWdodDogcmVtKDI0cHgpO1xuICBsZXR0ZXItc3BhY2luZzogcmVtKC0wLjVweCk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ub3JtYWw7XG59XG5cbkBtaXhpbiB1aS1oZWFkaW5nMyB7XG4gIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICBsaW5lLWhlaWdodDogcmVtKDE4cHgpO1xuICBsZXR0ZXItc3BhY2luZzogcmVtKC0wLjI1cHgpO1xuICBmb250LXdlaWdodDogJGZvbnQtbm9ybWFsO1xufVxuXG5AbWl4aW4gdWktaGVhZGluZzIge1xuICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgbGluZS1oZWlnaHQ6IHJlbSgxNnB4KTtcbiAgbGV0dGVyLXNwYWNpbmc6IHJlbSgtMC4yNXB4KTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LW5vcm1hbDtcbn1cblxuQG1peGluIHVpLWRpc3BsYXkxIHtcbiAgZm9udC1zaXplOiByZW0oMThweCk7XG4gIGxpbmUtaGVpZ2h0OiByZW0oMjRweCk7XG4gIGxldHRlci1zcGFjaW5nOiByZW0oLTAuMjVweCk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ub3JtYWw7XG59XG5cbkBtaXhpbiB1aS1vdmVybGluZTIge1xuICBmb250LXNpemU6IHJlbSgxM3B4KTtcbiAgbGluZS1oZWlnaHQ6IHJlbSgxNnB4KTtcbiAgbGV0dGVyLXNwYWNpbmc6IHJlbSgycHgpO1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbn1cblxuQG1peGluIHVpLWhlYWRpbmcxIHtcbiAgZm9udC1zaXplOiByZW0oMTJweCk7XG4gIGxpbmUtaGVpZ2h0OiByZW0oMTRweCk7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXdlaWdodDogJGZvbnQtbm9ybWFsO1xufVxuIiwiXG5AbWl4aW4gaWNvblVybCgkY29sbGVjdGlvbiwkbmFtZSl7XG5cdCRzdmc6IG1hcC1nZXQoICRjb2xsZWN0aW9uLCAkbmFtZSk7XG5cdEBpZiAkaWItc3Ryb2tlLXdpZHRoICE9IGF1dG8ge1xuXHRcdCRzdmc6IHN0cm9rZS13aWR0aCgkc3ZnLCRpYi1zdHJva2Utd2lkdGgpO1xuXHR9XG5cdCRzdmc6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwjeyRzdmd9XCIpO1xuXHQkc3ZnOiBlc2NhcGUtc3ZnKCRzdmcpO1xuXHQtLXVybDogI3skc3ZnfTtcbn1cblxuQG1peGluIGljb24oICRjb2xsZWN0aW9uLCAkbmFtZSApe1xuXG5cdCRjb2xsZWN0aW9uX3ByZWZpeDogbWFwLWdldCggJGNvbGxlY3Rpb24sICdfX3ByZWZpeCcpO1xuXG5cdC4jeyRjb2xsZWN0aW9uX3ByZWZpeH0tI3skbmFtZX17XG5cdFx0QGluY2x1ZGUgaWNvblVybCgkY29sbGVjdGlvbiwgJG5hbWUpO1xuXHR9XG59XG5cbi8vIGVzY2FwZS1zdmcoKSBhbmQgc3RyLXJlcGxhY2UoKSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcFxuXG4vLyBDaGFyYWN0ZXJzIHdoaWNoIGFyZSBlc2NhcGVkIGJ5IHRoZSBlc2NhcGUtc3ZnIGZ1bmN0aW9uXG4kZXNjYXBlZC1jaGFyYWN0ZXJzOiAoXG4gIChcIjxcIiwgXCIlM2NcIiksXG4gIChcIj5cIiwgXCIlM2VcIiksXG4gIChcIiNcIiwgXCIlMjNcIiksXG4gIChcIihcIiwgXCIlMjhcIiksXG4gIChcIilcIiwgXCIlMjlcIiksXG4pICFkZWZhdWx0O1xuXG5cbi8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vIFVzZWQgb24gb3VyIFNWRyBpY29uIGJhY2tncm91bmRzIGZvciBjdXN0b20gZm9ybXMuXG4vL1xuLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXG4vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBTZWUgaHR0cHM6Ly9jb2RlcGVuLmlvL2tldmlud2ViZXIvcGVuL2RYV29Sd1xuLy9cbi8vIFJlcXVpcmVzIHRoZSB1c2Ugb2YgcXVvdGVzIGFyb3VuZCBkYXRhIFVSSXMuXG5cbkBmdW5jdGlvbiBlc2NhcGUtc3ZnKCRzdHJpbmcpIHtcbiAgQGlmIHN0ci1pbmRleCgkc3RyaW5nLCBcImRhdGE6aW1hZ2Uvc3ZnK3htbFwiKSB7XG4gICAgQGVhY2ggJGNoYXIsICRlbmNvZGVkIGluICRlc2NhcGVkLWNoYXJhY3RlcnMge1xuICAgICAgLy8gRG8gbm90IGVzY2FwZSB0aGUgdXJsIGJyYWNrZXRzXG4gICAgICBAaWYgc3RyLWluZGV4KCRzdHJpbmcsIFwidXJsKFwiKSA9PSAxIHtcbiAgICAgICAgJHN0cmluZzogdXJsKFwiI3tzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgNiwgLTMpLCAkY2hhciwgJGVuY29kZWQpfVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkc3RyaW5nOiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkY2hhciwgJGVuY29kZWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gQ2hhbmdlIHRoZSBzdHJva2Utd2lkdGggcHJvcGVydHkgb2YgdGhlIHN2Z1xuQGZ1bmN0aW9uIHN0cm9rZS13aWR0aCgkc3ZnLCAkc3Ryb2tlX3dpZHRoICkge1xuXHQkaW5kZXg6IHN0ci1pbmRleCgkc3ZnLCAnc3Ryb2tlLXdpZHRoPScpO1xuXG5cdEBpZiAkaW5kZXgge1xuXHRcdCRuZXc6XHRcdHN0ci1zbGljZSgkc3ZnLCAwLCAkaW5kZXgrMTMgKTtcblx0XHQkc3ZnOlx0XHRzdHItc2xpY2UoJHN2ZywgJGluZGV4KzE0ICk7XG5cdFx0JGluZGV4Olx0XHRzdHItaW5kZXgoJHN2ZywnXCInKTtcblxuXHRcdEByZXR1cm4gJG5ldyArICRzdHJva2Vfd2lkdGggKyBzdHJfc2xpY2UoJHN2ZywkaW5kZXgpO1xuXHR9XG5cblx0QHJldHVybiAkc3ZnO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjEuNC45XG4vL1xuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBLaXR0eSBHaXJhdWRlbCAoQGtpdHR5Z2lyYXVkZWwpXG4vL1xuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdkZXNrdG9wJzogMTAyNHB4XG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcbi8vLyAgKTtcbi8vL1xuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcbiAgJ3ByaW50JzogJ3ByaW50JyxcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XG4vLy9cbiR1bml0LWludGVydmFsczogKFxuICAncHgnOiAxLFxuICAnZW0nOiAwLjAxLFxuICAncmVtJzogMC4xLFxuICAnJzogMFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cbn1cblxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7fVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XG5cbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XG4gIH1cblxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcbiAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xuXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcbiAgICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xuICAgIEBpZiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XG4gICRkaW1lbnNpb246ICd3aWR0aCc7XG5cbiAgQGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XG4gIH1cblxuICBAcmV0dXJuICRkaW1lbnNpb247XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XG4gIEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICR2YWx1ZTogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHItbGVuZ3RoKCRvcGVyYXRvcikpO1xuXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgICR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XG4gIH0gQGVsc2Uge1xuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XG4gIH1cblxuICAkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xuXG4gIEBpZiBub3QgJGludGVydmFsIHtcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gICAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XG4gIH1cblxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuXG4vLy9cbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2Vcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxuLy8vXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gIEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xuICB9XG5cbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG5cbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XG59XG5cbi8vL1xuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2Vcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxuLy8vXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xuICBAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XG4gICAgQHJldHVybiAoKTtcbiAgfVxuXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XG5cbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcbiAgICAkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cbiAgICBAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxuICAgIH1cblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGlnaXRzOiAxO1xuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG5cbi8vL1xuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxuLy8vXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcbiAgJHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcblxuICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xufVxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcbiAgICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xuICAgIEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXG4gICAgICBAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBTaW5nbGUtSW1hZ2UgSGVpZ2h0IGFkanVzdG1lbnRzIGF0IDEwMjQsIDEyODAsIGFuZCAxNDQwIHNjcmVlbnNcbi5jbXAtY29sbGVjdGlvbl9fc2luZ2xlLWltYWdlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XG4gICAgaGVpZ2h0OiByZW0oMzY2cHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGcnKSB7XG4gICAgaGVpZ2h0OiByZW0oNDg1cHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49eGwnKSB7XG4gICAgaGVpZ2h0OiByZW0oNTI4cHgpO1xuICB9XG59XG5cbi5jbXAtY29sbGVjdGlvbl9fZG91YmxlLWltYWdlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XG4gICAgaGVpZ2h0OiByZW0oMjM2cHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGcnKSB7XG4gICAgaGVpZ2h0OiByZW0oMzA3cHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49eGwnKSB7XG4gICAgaGVpZ2h0OiByZW0oMzM2cHgpO1xuICB9XG59XG4iLG51bGwsIi5hZW0tR3JpZC5hZW0tR3JpZC0tZGVmYXVsdC0tMTIgPiAuY21wLWJyb3dzZS1ieS1tZW51LS12ZXJ0aWNhbC1vZmZzZXQuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgQGFwcGx5IHR3LWZsb2F0LW5vbmUgdHctdy1hdXRvIG1kOnR3LXB4LTAgbWQ6dHctbXgtYXV0byAyeGw6dHctbWF4LXctMzAwO1xufVxuXG4uYnJvd3NlLWJ5LW1lbnUge1xuICBAYXBwbHkgdHctcHgtMTtcbn1cblxuLmNtcC1icm93c2UtYnktbWVudSB7XG4gIEBhcHBseSB0dy1iZy13aGl0ZTtcbn1cblxuLmNtcC1icm93c2UtYnktbWVudS0tdmVydGljYWwtb2Zmc2V0IHtcbiAgLyogQ2xlYXIgZ3JpZCBmbG9hdCBhbmQgc2V0IHdpZHRocyBwZXIgYnJlYWtwb2ludFxuICAqKiA3NjhweCAtLSB3aWR0aDogNzIwcHhcbiAgKiogMTAyNHB4IC0tIHdpZHRoOiA4NjhweFxuICAqKiAxMjgwcHggLS0gd2lkdGg6IDExMjRweFxuICAqKiAxNDQwcHggLS0gbWF4LXdpZHRoOiAxMjAwcHhcbiAgKi9cbiAgQGFwcGx5IHR3LWZsb2F0LW5vbmUgdHctdy1hdXRvIG1kOnR3LXB4LTAgbWQ6dHctbXgtYXV0byAyeGw6dHctbWF4LXctMzAwO1xuXG4gIC8vIGNsZWFyIHRoZSBncmlkIGZsb2F0XG4gICYuYWVtLUdyaWRDb2x1bW4uYWVtLUdyaWRDb2x1bW4tLWRlZmF1bHQtLTEyIHtcbiAgICBAYXBwbHkgdHctZmxvYXQtbm9uZTtcbiAgfVxuXG4gIC5jbXAtYnJvd3NlLWJ5LW1lbnUge1xuICAgIEBhcHBseSB0dy0tbXQtMjggbWQ6dHctLW10LTEyIGxnOnR3LS1tdC0xMCB4bDp0dy0tbXQtMTI7XG4gIH1cbn1cblxuLmNtcC1icm93c2UtYnktbWVudV9fc3dhdGNoLWdyaWQge1xuICBAYXBwbHkgdHctZ3JpZCB0dy1nYXAteC00IHR3LWdhcC15LTY7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDEyMHB4LCAxZnIpKTtcbn1cblxuLmNtcC1icm93c2UtYnktbWVudV9fc3dhdGNoOmhvdmVyIHtcbiAgLmNtcC1icm93c2UtYnktbWVudV9fc3dhdGNoLWxpbmsge1xuICAgIEBhcHBseSB0dy1ibG9jaztcbiAgfVxufVxuXG4uY21wLWJyb3dzZS1ieS1tZW51X19idXR0b24ge1xuICBAYXBwbHkgdHctYm9yZGVyIHR3LWJvcmRlci10cmljb3JuLWJsYWNrIHR3LXVwcGVyY2FzZSB0dy1mb250LWJvbGQgdHctdGV4dC1jZW50ZXIgdHctdGV4dC10cmljb3JuLWJsYWNrIHR3LXB4LTUgdHctcHktMiB0dy1mbGV4LXNocmluay0wO1xuICBAYXBwbHkgaG92ZXI6dHctYmctcHVyZS1ibGFjayBob3Zlcjp0dy1iZy1vcGFjaXR5LTggaG92ZXI6dHctbm8tdW5kZXJsaW5lIHR3LXRleHQtY29sb3ItYnRuLW1vYmlsZSBtZDp0dy10ZXh0LXNtIG1kOnR3LXRyYWNraW5nLXdpZGVyIGxnOnR3LXRleHQtY29sb3ItYnRuLWRlc2t0b3A7XG59XG5cblxuLmNtcC1icm93c2UtYnktbWVudV9fdGFiLXNlY3Rpb24ge1xuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCNGRkYsIDApIDAlLCByZ2JhKCNGRkYsIDEpIDUwJSk7XG4gICAgbGVmdDogNzAlOyAgLy8gbW92ZXMgZmFkZSBvdmVybGF5IHRvIHRoZSBSSUdIVCBndXR0ZXJcbiAgICBAYXBwbHkgdHctYWJzb2x1dGUgdHctaW5zZXQteS0wIHR3LXBvaW50ZXItZXZlbnRzLW5vbmUgdHctdy1oYWxmLXNjcmVlbiB0dy16LTEgc206dHctaGlkZGVuO1xuICB9XG59XG5cbi8vIGFsbG93cyBjb250ZW50IHRvIGJlIG1vdmVkIHRvIGZhciBsZWZ0IHdoZW4gc2Nyb2xsaW5nIG9uIG1vYmlsZVxuLmNtcC1icm93c2UtYnktbWVudV9fdGFicyB7XG4gIEBhcHBseSB0dy13LXNjcmVlbiBtZDp0dy13LWF1dG87XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICc8c3BhbiAvPic7XG4gICAgQGFwcGx5IHR3LXctaGFsZi1zY3JlZW4gdHctaW52aXNpYmxlIHR3LWZsZXgtc2hyaW5rLTAgc206dHctaGlkZGVuO1xuICB9XG59XG5cbi5jbXAtYnJvd3NlLWJ5LW1lbnVfX3RhYi1pdGVtIHtcbiAgQGFwcGx5IGhvdmVyOnR3LWJnLXB1cmUtYmxhY2sgaG92ZXI6dHctYmctb3BhY2l0eS04IGhvdmVyOnR3LW5vLXVuZGVybGluZSB0dy10ZXh0LWNvbG9yLWJ0bi1tb2JpbGUgbWQ6dHctdGV4dC1zbSBtZDp0dy10cmFja2luZy13aWRlciBsZzp0dy10ZXh0LWNvbG9yLWJ0bi1kZXNrdG9wO1xuICBAYXBwbHkgdHctdXBwZXJjYXNlIHR3LWZvbnQtYm9sZCB0dy10ZXh0LWxlZnQgdHctdGV4dC10cmljb3JuLWJsYWNrIHR3LXB4LTUgdHctZmxleC1zaHJpbmstMCBtZDp0dy10ZXh0LWNlbnRlcjtcbn0iLCIkbW9iaWxlc2l6ZTogNzY5cHg7XG5cbi5jb2xsZWN0aW9uLXZhcmlhbnQtc3ViLXBhbGV0dGVzIHtcbiAgJl9fZ3JhcGhpYyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBhcHBseSB0dy1ibG9jaztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcGFkZGluZy10b3A6IDgwJTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIG1heC1oZWlnaHQ6IDUwdmg7XG4gICAgfVxuXG4gICAgJi0tc21hbGwge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjNweCkge1xuICAgICAgICBtaW4taGVpZ2h0OiAzOXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX192aWRlbyB7XG4gICAgQGFwcGx5IHR3LW1heC13LTEyMCB0dy13LWZ1bGwgbGc6dHctdy0zLzUgbGc6dHctbWF4LXctbm9uZSB4bDp0dy1tYXgtdy0yMzIgMnhsOnR3LXctZnVsbDtcblxuICAgIEBtZWRpYSAobWF4LWhlaWdodDogNDAwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICB9XG5cbiAgICAvLyB0YWJsZXQgaW4gbGFuZHNjYXBlXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkgYW5kIChtaW4taGVpZ2h0OiA3NjhweCkge1xuICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGFwcGx5IHR3LWJsb2NrO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwYWRkaW5nLXRvcDogNTYuMjUlO1xuICAgIH1cblxuICAgICZfX2Nsb3NlIHtcbiAgICAgIEBhcHBseSB0dy1oaWRkZW4gbWQ6dHctZmxleCB0dy1hYnNvbHV0ZSB0dy1iZy13aGl0ZSB0dy1yb3VuZGVkLWZ1bGwgdHctdy0xMiB0dy1oLTEyIHR3LW1iLTIyIHR3LWl0ZW1zLWNlbnRlciB0dy1qdXN0aWZ5LWNlbnRlciBob3Zlcjp0dy1iZy1ncmF5LTIwMDtcbiAgICAgIGJvdHRvbTogODUlO1xuICAgICAgbGVmdDogY2FsYygxMDAlICsgMTNweCk7XG4gICAgfVxuICB9XG5cbiAgLmNvbG9yLXNlbGVjdGlvbi1zbGlkZXIge1xuICAgIEBhcHBseSB0dy1weC0xLjUgdHctaGlkZGVuIGxnOnR3LWJsb2NrO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBhcHBseSB0dy1jdXJzb3ItcG9pbnRlcjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAtMC42ZW07XG4gICAgfVxuICAgICYucGgtY2FyZXQtY2lyY2xlLXJpZ2h0IHtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbW9iaWxlc2l6ZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgICYucGgtY2FyZXQtY2lyY2xlLWxlZnQge1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtb2JpbGVzaXplKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgICYuaGlkZSB7XG4gICAgICAgIEBhcHBseSBsZzp0dy1oaWRkZW47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhvci1zY3JvbGwtd3JhcCB7XG4gICAgQGFwcGx5IHR3LXJlbGF0aXZlO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIEBhcHBseSB0dy1hYnNvbHV0ZSB0dy1wb2ludGVyLWV2ZW50cy1ub25lIHR3LWgtZnVsbCB0dy10b3AtMCB0dy1yaWdodC0wIHR3LXctMjA7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApKTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCBsaW5lYXIgMC4zcztcbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBhcHBseSB0dy1hYnNvbHV0ZSB0dy1wb2ludGVyLWV2ZW50cy1ub25lIHR3LWgtZnVsbCB0dy10b3AtMCB0dy1sZWZ0LVstNXB4XSB0dy13LTEwIGxnOnR3LXctMjA7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgbGluZWFyIDAuM3M7XG4gICAgfVxuXG4gICAgJi5zY3JvbGxlZC1yaWdodCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5zY3JvbGxlZC1sZWZ0IHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSk7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuaW1hZ2UtdXBsb2FkLW1vZGFsIHtcbiAgJl9fcHJpbWFyeSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikpLCAjMkYyRjMwO1xuICAgIH1cbiAgfVxuICAmX19zZWNvbmRhcnkge1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMCwgMCwgMCwgMC4wOCksIHJnYmEoMCwgMCwgMCwgMC4wOCkpLCAjRkZGRkZGO1xuICAgICAgYm9yZGVyOiAxLjVweCBzb2xpZCAjMDAwMDAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG4gIH1cbn1cbiIsIi50b29sLXRpcCB7XG4gICZfX2NhcmV0IHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgd2hpdGU7XG4gIH1cbn1cbiIsIi5jb2xvci1zdHJpcF9fY29sb3JzLWNvbnRhaW5lciB7XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBAYXBwbHkgdHctaGlkZGVuO1xuICB9XG5cbiAgQGFwcGx5IHR3LWZsZXggdHctZmxleC1ub3dyYXAgdHctd2hpdGVzcGFjZS1ub3dyYXAgdHctb3ZlcmZsb3cteC1zY3JvbGwgdHctb3ZlcnNjcm9sbC1jb250YWluIGxnOnR3LWZsZXgtcm93O1xufVxuIiwiLy8gVE9ETzogdHJ5IHRvIGZvcm1hdCBpbiBodG1sIGxpa2UgdGFpbHdpbmRzIGRvZXMgYW5kIHRocm91Z2hvdXQgdGhlIHByb2plY3QuXG4vLyBUT0RPOiBjbGFzcz0nbGc6dHctZmxleC1yb3cgeGw6dHctdy1bMTcwJV0geGw6dHctbWwtWy0zNSVdJ1xuXG4uY3RhLWJ1dHRvbiB7XG4gIEBhcHBseSB0dy1mbGV4IHR3LWp1c3RpZnktY2VudGVyIHR3LWp1c3RpZnktaXRlbXMtY2VudGVyXG4gIHR3LWZsZXgtY29sIHR3LWJvcmRlciB0dy1jdXJzb3ItcG9pbnRlciB0dy1taW4taC1bOTBweF0gXG4gIHR3LXctZnVsbCB0dy1wdC0zIHR3LWJvcmRlci1bMS41cHhdIHR3LXJvdW5kZWQtc20gbGc6dHctdy00MCBsZzp0dy1tci00IGxnOnR3LW1iLTQ7XG59XG5cbi5jdGEtYnV0dG9uX19pY29uIHtcbiAgQGFwcGx5IHR3LXctZnVsbCB0dy10ZXh0LTV4bCB0dy1mbGV4IHR3LWp1c3RpZnktY2VudGVyIHR3LXRleHQtY2VudGVyO1xufVxuXG4uY3RhLWJ1dHRvbl9fdGV4dCB7XG4gIEBhcHBseSB0dy13LWZ1bGwgdHctZmxleCB0dy1qdXN0aWZ5LWNlbnRlciB0dy1weC0xLjUgdHctdGV4dC1zbSB0dy1sZWFkaW5nLVsxOHB4XSB0dy1mb250LXNlbWlib2xkO1xufVxuXG5hLmxpZ2h0LWNvbG9yLXRleHQ6dmlzaXRlZCB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbiIsIi8vIFRPRE86IHRyeSB0byBmb3JtYXQgaW4gaHRtbCBsaWtlIHRhaWx3aW5kcyBkb2VzIGFuZCB0aHJvdWdob3V0IHRoZSBwcm9qZWN0LlxuLy8gVE9ETzogY2xhc3M9J2xnOnR3LWZsZXgtcm93IHhsOnR3LXctWzE3MCVdIHhsOnR3LW1sLVstMzUlXSdcblxuJHR3LW1kOiA3NjhweDtcbiR0dy1sZzogMTAyNHB4O1xuXG4uZ3JvdXAtb2YtY3Rhc19fdGl0bGUge1xuICBAYXBwbHkgdHctdGV4dC1iYXNlIHR3LWZvbnQtc2VtaWJvbGQgdHctbGVhZGluZy01IHR3LW1iLTU7XG59XG5cbi5saWdodC1jb2xvci10ZXh0IHtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uZ3JvdXAtY3RhLWJ1dHRvbnMtLW9uZS1idXR0b24ge1xuICBAYXBwbHkgdHctdy1mdWxsIHR3LW1iLTYgc206dHctbWItNCBzbTp0dy1tci00O1xufVxuXG4uZ3JvdXAtY3RhLWJ1dHRvbnMtLXR3by1idXR0b25zIHtcbiAgQGFwcGx5IHR3LW1pbi1oLVs5MHB4XSB0dy1sZWFkaW5nLVsxOHB4XSB0dy10ZXh0LWNlbnRlciB0dy1tci00IHR3LW1iLTYgeHhzOnR3LXctWzQyJV0gc206dHctdy1bNDYlXSBzbTp0dy1tYi00O1xuXG4gICYuY3RhLWJ1dHRvbiB7XG4gICAgQGFwcGx5IHR3LWp1c3RpZnktc3RhcnQ7XG4gIH1cblxuICAuY3RhLWJ1dHRvbl9fdGV4dCB7XG4gICAgQGFwcGx5IHR3LXBiLTMgdHctcHgtMTtcbiAgfVxufVxuXG4uZ3JvdXAtY3RhLWJ1dHRvbnMtLXRocmVlLWJ1dHRvbnMsXG4uZ3JvdXAtY3RhLWJ1dHRvbnMtLWZvdXItYnV0dG9ucyB7XG4gIEBhcHBseSB0dy13LWZ1bGwgdHctbWItNCBtZDp0dy1tci00IHNtOnR3LW1iLTQgc206dHctcC0wO1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHR3LW1kKSB7XG4gICAgd2lkdGg6IGNhbGMoMzMlIC0gMC43NXJlbSk7IC8vIHNtOnR3LXctNDAgc206dHctbXItNFxuICB9XG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBAYXBwbHkgdHctbXItMDtcbiAgfVxuICAmLmN0YS1idXR0b24ge1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgQGFwcGx5IHR3LXB5LTIgdHctcHgtMi41IHR3LWZsZXggdHctZmxleC1yb3cgdHctanVzdGlmeS1zdGFydCBzbTp0dy1wLTAgc206dHctcHQtMi41IHNtOnR3LW1pbi1oLVs5MHB4XSBzbTp0dy1mbGV4LWNvbDtcblxuICAgIC5jdGEtYnV0dG9uX19pY29uIHtcbiAgICAgIEBhcHBseSB0dy13LVs2NnB4XSB0dy1oLVs0NHB4XSB0dy1qdXN0aWZ5LXN0YXJ0IHNtOnR3LXctZnVsbCBzbTp0dy1qdXN0aWZ5LWNlbnRlcjtcbiAgICB9XG5cbiAgICAuY3RhLWJ1dHRvbl9fdGV4dCB7XG4gICAgICBAYXBwbHkgdHctanVzdGlmeS1zdGFydCB0dy1pdGVtcy1jZW50ZXIgdHctdGV4dC1jZW50ZXIgdHctdHJhY2tpbmctWy0uMjVweF0gc206dHctanVzdGlmeS1jZW50ZXIgc206dHctcHQtMSBzbTp0dy1wYi0yLjU7XG4gICAgfVxuICB9XG59XG5cbi5ncm91cC1jdGEtYnV0dG9ucy0tZm91ci1idXR0b25zIHtcbiAgQGFwcGx5IG1kOnR3LW1yLTQ7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkdHctbGcpIHtcbiAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgIEBhcHBseSB0dy1tci0wO1xuICAgIH1cbiAgfVxuICAmLmN0YS1idXR0b24ge1xuICAgIEBhcHBseSB0dy13LWZ1bGwgbWQ6dHctdy1bMTIzcHhdO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkdHctbGcpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNzVyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiJHR3LWxnOiAxMDI0cHg7XG4kdHctbGctcGx1czogMTA4MHB4O1xuJHR3LXhsOiAxMjgwcHg7XG4kdHctMnhsOiAxNDQwcHg7XG4kdHctM3hsOiAxNTM2cHg7XG4vLyBUT0RPOiB0cnkgdG8gZ2V0IHRoZXNlIG91dCBvZiBoZXJlIGFuZCB1c2UgdGhlIGZvcm1hdCBpbiBodG1sIGxpa2UgdGFpbHdpbmRzIGRvZXMgYW5kIHRocm91Z2hvdXQgdGhlIHByb2plY3QuXG4vLyBUT0RPOiBjbGFzcz0nbGc6dHctZmxleC1yb3cgeGw6dHctdy1bMTcwJV0geGw6dHctbWwtWy0zNSVdJ1xuXG4uY2RwLWhlcm8ge1xuICBAYXBwbHkgdHctZmxleCB0dy1mbGV4LWNvbDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHR3LWxnKSB7XG4gICAgQGFwcGx5IHR3LWZsZXgtcm93O1xuICB9XG59XG4uY2RwLWhlcm9fX3Zpc3VhbGl6ZXIge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHR3LWxnKSB7XG4gICAgQGFwcGx5IHR3LXctWzI3MCVdIHR3LW1sLVstODUlXTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHR3LWxnLXBsdXMpIHtcbiAgICBAYXBwbHkgdHctdy1bMjIwJV0gdHctbWwtWy02MCVdO1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkdHcteGwpIHtcbiAgICBAYXBwbHkgdHctdy1bMTcwJV0gdHctbWwtWy0zNSVdO1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkdHctMnhsKSB7XG4gICAgQGFwcGx5IHR3LXctWzE1MCVdIHR3LW1sLVstMjUlXTtcbiAgfVxufVxuXG4uY2RwLWhlcm9fX2xlZnQtY29udGFpbmVyIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICR0dy1sZykge1xuICAgIEBhcHBseSB0dy1vdmVyZmxvdy1oaWRkZW47XG4gICAgQGFwcGx5IHR3LXctWzQwJV07XG4gIH1cbn1cblxuLmNkcC1oZXJvX19yaWdodC1jb250YWluZXIge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHR3LWxnKSB7XG4gICAgQGFwcGx5IHR3LXctWzYwJV07XG4gIH1cbn1cblxuLnBob3RvLXJlY29tbWVuZGF0aW9uLXRleHQge1xuICBAYXBwbHkgdHctdGV4dC14cyB0dy1mb250LW5vcm1hbCB0dy10ZXh0LW1pZHBvaW50LWdyYXkgdHctbS1bMTVweF07XG59XG5cbi5jZHAtaGVyb19fY29vcmRpbmF0aW5nLWNvbG9ycyB7XG4gIEBhcHBseSB0dy1wLVsxNXB4XTtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICR0dy1sZykge1xuICAgIEBhcHBseSB0dy1wLVszMHB4XTtcbiAgfVxuICBsaSB7XG4gICAgQGFwcGx5IHR3LW1sLTA7XG4gIH1cbn1cbiIsIi5jbXAtY29sb3ItZ3JpZF9fdmFyaWFudCB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICBAYXBwbHkgdHctZ2FwLXgtNCB0dy1nYXAteS04O1xuXG4gICAgLmNtcC1jb2xvci1ncmlkX19kZXNjcmlwdGlvbi1jb250YWluZXIge1xuICAgICAgQGFwcGx5IHR3LXctZnVsbDtcblxuICAgICAgLmNtcC1jb2xvci1ncmlkX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIEBhcHBseSB0dy10ZXh0LWJhc2UgdHctbGVhZGluZy01O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==*/