{"id":18954,"date":"2026-11-14T10:24:22","date_gmt":"2026-11-14T10:24:22","guid":{"rendered":"https:\/\/morvalley.com\/?page_id=18954"},"modified":"2026-11-14T10:24:22","modified_gmt":"2026-11-14T10:24:22","slug":"negozio-morvalley","status":"publish","type":"page","link":"https:\/\/morvalley.com\/it\/negozio-morvalley\/","title":{"rendered":"Negozio"},"content":{"rendered":"<div class=\"product\"><div class=\"product\"><link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"><link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin><link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Cinzel:wght@500;600&#038;family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,700&#038;family=Italianno&#038;family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600;1,700&#038;display=swap\"><style id=\"mvloja-css\"> \/* Isolamento: o tema e o Elementor n\u00e3o tocam na loja; a loja n\u00e3o toca no site *\/ #mvloja *:not(svg, svg *, img){all:revert;box-sizing:border-box} #mvloja img{box-sizing:border-box} #mvloja{display:block;width:100%;margin:0;padding:0;text-align:left} .page-header,.entry-title{display:none!important} body.page .site-main,body.page main#content,body.page .page-content{max-width:none!important;width:100%!important;padding:0!important;margin:0!important} body.page .page-content > p:empty{display:none} #mvloja{--chao:#EAECDD; --chao-2:#DADDC6; --papel:#121A10; --cinza:#4A5340; --ouro:#715420; --ouro-forte:#5F461A; --fio:#CBD0B6; --vermelho:#C8332B; --f-titulo:\"Playfair Display\", \"Times New Roman\", Georgia, serif; --f-marca:\"Cinzel\", \"Trajan Pro\", Georgia, serif; --f-texto:\"DM Sans\", \"Helvetica Neue\", Arial, sans-serif; --f-pintura:\"Italianno\", \"Snell Roundhand\", cursive; --margem:clamp(16px, 4vw, 64px); --larg:1440px; color-scheme:light;} #mvloja [data-tom]{background:var(--chao);color:var(--papel)} #mvloja [data-tom=\"0\"]{--chao:#EAECDD;--chao-2:#DADDC6;--papel:#121A10;--cinza:#4A5340;--ouro:#715420;--ouro-forte:#5F461A;--fio:#D4D8C3;color-scheme:light} #mvloja [data-tom=\"1\"]{--chao:#E2E5D2;--chao-2:#CED2B7;--papel:#121A10;--cinza:#465039;--ouro:#6E521E;--ouro-forte:#5C4419;--fio:#CCD0B8;color-scheme:light} #mvloja [data-tom=\"2\"]{--chao:#D7DBC3;--chao-2:#C0C6A5;--papel:#10170E;--cinza:#3F4834;--ouro:#654B1B;--ouro-forte:#543E16;--fio:#C2C6AB;color-scheme:light} #mvloja [data-tom=\"3\"]{--chao:#CACFB3;--chao-2:#B0B893;--papel:#0D140B;--cinza:#353D2B;--ouro:#5A4317;--ouro-forte:#4A3712;--fio:#B4BB9C;color-scheme:light} #mvloja [data-tom=\"4\"]{--chao:#BBC2A3;--chao-2:#9FA781;--papel:#0B120A;--cinza:#2C3424;--ouro:#4C3812;--ouro-forte:#3E2D0E;--fio:#A7AE8F;color-scheme:light} #mvloja [data-tom=\"5\"]{--chao:#A7AF90;--chao-2:#88926C;--papel:#0A100A;--cinza:#232A1C;--ouro:#3E2E0E;--ouro-forte:#33260B;--fio:#969E7E;color-scheme:light} #mvloja [data-tom=\"6\"]{--chao:#4C5C46;--chao-2:#43523E;--papel:#FBF8F1;--cinza:#DCE0CE;--ouro:#EAD3A2;--ouro-forte:#F3E2BE;--fio:#62715B;color-scheme:dark} #mvloja [data-tom=\"7\"]{--chao:#2E3B2C;--chao-2:#273326;--papel:#FBF8F1;--cinza:#CDD2BF;--ouro:#E0C38A;--ouro-forte:#ECD3A2;--fio:#435040;color-scheme:dark} #mvloja [data-tom=\"9\"]{--chao:#F6E7DD;--chao-2:#EFD9CB;--papel:#2B1B14;--cinza:#6A5246;--ouro:#9A5B2E;--ouro-forte:#7E4823;--fio:#E6CDBE;color-scheme:light} #mvloja [data-tom=\"8\"]{--chao:#F2EFE3;--chao-2:#E7E3D3;--papel:#141A12;--cinza:#4D5444;--ouro:#76581F;--ouro-forte:#634A19;--fio:#D8D4C2;color-scheme:light} #mvloja *{box-sizing:border-box} html{scroll-behavior:smooth;scroll-padding-top:200px} #mvloja{background:var(--chao);color:var(--papel);font-family:var(--f-texto);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip} #mvloja img{display:block;max-width:100%;height:auto} #mvloja a{color:inherit} #mvloja button,#mvloja input{font:inherit;color:inherit} #mvloja :focus-visible{outline:2px solid var(--ouro);outline-offset:3px} #mvloja .contentor{max-width:var(--larg);margin:0 auto;padding-left:max(var(--margem), env(safe-area-inset-left,0px));padding-right:max(var(--margem), env(safe-area-inset-right,0px))} #mvloja .topo{position:sticky;top:var(--mv-topo,0px);z-index:50;background:var(--chao);color:var(--papel);border-bottom:1px solid var(--fio);transition:background-color .5s ease,color .5s ease,border-color .5s ease} #mvloja .barra{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:14px} #mvloja .logo{display:flex;flex-direction:column;line-height:1;text-decoration:none} #mvloja .logo b{font-family:var(--f-marca);font-weight:600;font-size:22px;letter-spacing:.14em} #mvloja .logo span{font-family:var(--f-marca);font-size:11px;letter-spacing:.42em;color:var(--ouro);margin-top:6px} #mvloja .nav{display:flex;gap:28px;font-size:14px;letter-spacing:.12em;text-transform:uppercase} #mvloja .nav a{text-decoration:none;color:var(--cinza)} #mvloja .nav a[aria-current]{color:var(--papel);border-bottom:1px solid var(--ouro);padding-bottom:3px} #mvloja .carrinho{display:flex;align-items:center;gap:10px;font-size:15px;font-variant-numeric:tabular-nums;border:1px solid var(--fio);padding:9px 16px;background:none;cursor:pointer} #mvloja .carrinho i{font-style:normal;background:var(--ouro);color:var(--chao);font-weight:700;font-size:12px;min-width:22px;height:22px;display:grid;place-items:center;border-radius:11px;padding:0 6px} #mvloja .carrinho.pulso{animation:pulso .6s ease} @keyframes pulso{50%{border-color:var(--ouro)}} #mvloja .regua{position:relative;padding-block:10px 14px} #mvloja .regua-trilho{position:relative;height:22px;margin:0 4px; background: repeating-linear-gradient(90deg,var(--fio) 0 1px,transparent 1px 100%) 0 100%\/calc(100% \/ 70) 8px no-repeat, repeating-linear-gradient(90deg,var(--cinza) 0 1px,transparent 1px 100%) 0 100%\/calc(100% \/ 7) 16px no-repeat; background-repeat:repeat-x; border-bottom:1px solid var(--cinza)} #mvloja .agulha{position:absolute;bottom:-1px;left:0;width:2px;height:30px;background:var(--ouro);transform:translateX(-1px);transition:left .25s ease-out} #mvloja .agulha::after{content:\"\";position:absolute;top:-5px;left:-4px;width:10px;height:10px;background:var(--ouro);transform:rotate(45deg)} #mvloja .paragens{display:grid;grid-template-columns:repeat(8,1fr);margin-top:8px} #mvloja .paragem{background:none;border:0;padding:0 2px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px;color:var(--cinza)} #mvloja .paragem:last-child{text-align:right;align-items:flex-end} #mvloja .paragem b{font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:17px;line-height:1.15;color:inherit} #mvloja .paragem small{font-size:12px;letter-spacing:.08em;font-variant-numeric:tabular-nums;color:var(--ouro)} #mvloja .paragem[aria-current=\"true\"]{color:var(--papel)} #mvloja .paragem:hover{color:var(--papel)} #mvloja .abertura{padding-block:clamp(56px,8vw,120px) clamp(48px,6vw,88px)} #mvloja .abertura-grelha{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(32px,5vw,96px);align-items:start} #mvloja .abertura-grelha > div:last-child{padding-top:clamp(0px,3.4vw,52px)} #mvloja .sobretitulo{font-family:var(--f-marca);font-size:14px;letter-spacing:.32em;text-transform:uppercase;color:var(--ouro);margin:0 0 28px} #mvloja h1{font-family:var(--f-titulo);font-weight:400;font-size:clamp(56px,8.4vw,138px);line-height:.95;letter-spacing:-.02em;margin:0;text-wrap:balance} #mvloja h1 em{font-style:italic;color:var(--ouro)} #mvloja .abertura p{font-size:clamp(18px,1.4vw,21px);line-height:1.6;margin:0 0 18px;max-width:34ch} #mvloja .abertura .nota{font-size:15px;color:var(--cinza);border-top:1px solid var(--fio);padding-top:18px;margin-top:28px;max-width:none} #mvloja .coord{font-family:var(--f-marca);font-size:13px;letter-spacing:.2em;color:var(--cinza)} #mvloja .atalho{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;align-items:center;text-decoration:none;background:var(--papel);color:var(--chao);padding:22px 28px;margin-top:28px;transition:background .25s} #mvloja .atalho:hover{background:#000} #mvloja .atalho span{font-family:var(--f-marca);font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--chao-2)} #mvloja .atalho b{font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:clamp(26px,2.2vw,34px);line-height:1.1} #mvloja .atalho small{grid-column:1;font-size:15px;color:var(--chao-2)} #mvloja .atalho i{grid-column:2;grid-row:1 \/ span 3;font-style:normal;font-size:34px;line-height:1;border:1px solid var(--chao-2);width:58px;height:58px;display:grid;place-items:center;transition:transform .3s} #mvloja .atalho:hover i{transform:translateY(4px)} #mvloja .filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:clamp(40px,5vw,64px)} #mvloja .filtros span{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--cinza);margin-right:8px} #mvloja .filtro{border:1px solid var(--fio);background:none;padding:9px 18px;font-size:15px;cursor:pointer;transition:background .2s,border-color .2s,color .2s} #mvloja .filtro:hover{border-color:var(--cinza)} #mvloja .filtro[aria-pressed=\"true\"]{background:var(--papel);color:var(--chao);border-color:var(--papel)} #mvloja .capitulo{padding-block:clamp(36px,4vw,60px);position:relative} #mvloja .cap-cabeca{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,72px);align-items:end;margin-bottom:clamp(40px,5vw,72px)} #mvloja .cap-etiqueta{display:flex;gap:18px;align-items:baseline;font-family:var(--f-marca);font-size:14px;letter-spacing:.28em;text-transform:uppercase;color:var(--ouro);margin-bottom:14px} #mvloja .cap-etiqueta em{font-style:normal;color:var(--cinza);letter-spacing:.14em} #mvloja h2{font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:clamp(52px,6.6vw,108px);line-height:.98;letter-spacing:-.015em;margin:0;text-wrap:balance} #mvloja .cap-texto{font-size:clamp(18px,1.35vw,21px);max-width:36ch;margin:0;justify-self:end} #mvloja .produto{display:flex;flex-direction:column;gap:18px;min-width:0;transition:opacity .35s ease, filter .35s ease} #mvloja .produto.apagado{opacity:.16;filter:grayscale(1)} #mvloja .produto figure{margin:0;overflow:hidden;background:var(--chao-2);aspect-ratio:2\/3;max-width:100%} #mvloja .produto figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)} #mvloja .produto:hover figure img{transform:scale(1.035)} #mvloja .ficha{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;align-items:start} #mvloja .ficha h3{font-family:var(--f-titulo);font-weight:500;font-size:clamp(22px,1.7vw,27px);line-height:1.15;margin:0} #mvloja .ficha .tipo{grid-column:1;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--cinza)} #mvloja .ficha .preco{grid-column:2;grid-row:1;font-family:var(--f-titulo);font-size:clamp(22px,1.7vw,27px);color:var(--ouro);font-variant-numeric:tabular-nums;white-space:nowrap} #mvloja .ficha .iva{grid-column:2;grid-row:2;font-size:13px;color:var(--cinza);text-align:right} #mvloja .quero{justify-self:start;background:none;border:0;border-bottom:1px solid var(--ouro);padding:6px 0;font-size:15px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;color:var(--papel);transition:color .2s} #mvloja .quero:hover{color:var(--ouro)} #mvloja .quero.feito{color:var(--ouro)} #mvloja .escada{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(18px,2.6vw,44px);align-items:start} #mvloja .escada-cabeca{display:flex;flex-direction:column;gap:24px;padding-top:clamp(8px,2vw,32px)} #mvloja .escada-cabeca .cap-texto{justify-self:start} #mvloja .escada .produto:nth-of-type(2){margin-top:clamp(80px,12vw,192px)} #mvloja .mesa{display:grid;grid-template-columns:minmax(0,1.9fr) repeat(2,minmax(0,1fr));grid-template-rows:auto auto;gap:clamp(18px,2.2vw,36px)} #mvloja .mesa .produto:first-child{grid-row:1 \/ span 2} #mvloja .mesa .nota-mesa{grid-column:3;grid-row:2;align-self:center;font-family:var(--f-titulo);font-style:italic;font-size:clamp(24px,2.1vw,34px);line-height:1.3;color:var(--papel);margin:0;padding-left:24px;border-left:1px solid var(--ouro)} #mvloja .mesa .nota-mesa small{display:block;font-family:var(--f-marca);font-style:normal;font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--ouro);margin-top:18px} #mvloja .data{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.2vw,36px)} #mvloja .anos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,96px);align-items:center} #mvloja .numero{font-family:var(--f-titulo);font-weight:400;line-height:.8;letter-spacing:-.05em;color:var(--ouro);font-variant-numeric:lining-nums;margin:0} #mvloja .anos .numero{font-size:clamp(180px,24vw,380px)} #mvloja .anos .numero sup{font-size:.14em;letter-spacing:.02em;vertical-align:top;margin-left:.15em;font-style:italic;color:var(--papel)} #mvloja .anos-texto{display:flex;flex-direction:column;gap:28px;min-width:0} #mvloja .anos-texto h2{font-size:clamp(44px,4.6vw,76px)} #mvloja .anos-texto p{margin:0;font-size:clamp(18px,1.35vw,21px);max-width:38ch} #mvloja .prova{font-family:var(--f-titulo);font-style:italic;font-size:clamp(20px,1.6vw,24px);color:var(--cinza);border-left:1px solid var(--ouro);padding-left:20px} #mvloja .anos .produto figure{aspect-ratio:auto} #mvloja .anos.inverso .anos-foto{order:2} #mvloja .vinte{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:clamp(18px,2.2vw,36px);align-items:end} #mvloja .vinte .produto:nth-child(2) figure{aspect-ratio:1600\/1226} #mvloja .seculo{position:relative;padding-block:clamp(40px,4vw,64px) 0} #mvloja .seculo .numero{font-size:clamp(190px,37vw,600px);text-align:center;color:var(--ouro);user-select:none;line-height:.74;letter-spacing:-.055em;margin:0} #mvloja .seculo-palco{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.78fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:end;margin-top:calc(clamp(190px,37vw,600px) * -0.30);position:relative} #mvloja .seculo-palco .produto figure{box-shadow:0 40px 90px -30px #000} #mvloja .seculo-esq h2{font-size:clamp(48px,5.4vw,92px)} #mvloja .seculo-esq p{font-size:clamp(18px,1.35vw,21px);max-width:30ch;margin:22px 0 0} #mvloja .seculo-dir{display:flex;flex-direction:column;gap:22px;padding-bottom:12px} #mvloja .seculo-dir .preco-grande{font-family:var(--f-titulo);font-size:clamp(48px,5vw,84px);line-height:1;color:var(--ouro);font-variant-numeric:tabular-nums} #mvloja .seculo-dir .preco-grande small{display:block;font-family:var(--f-texto);font-size:14px;color:var(--cinza);letter-spacing:.06em;margin-top:10px} #mvloja .seculo .ficha .preco,#mvloja .seculo .ficha .iva{display:none} #mvloja .estudio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(32px,5vw,96px);align-items:start} #mvloja .grupo + .grupo{margin-top:clamp(40px,4vw,64px)} #mvloja .grupo-titulo{display:flex;justify-content:space-between;gap:16px;align-items:baseline;font-family:var(--f-marca);font-size:14px;letter-spacing:.28em;text-transform:uppercase;color:var(--ouro);padding-bottom:14px;border-bottom:1px solid var(--fio);margin:0} #mvloja .grupo-titulo em{font-style:normal;font-family:var(--f-texto);letter-spacing:.08em;text-transform:none;color:var(--cinza);font-size:14px} #mvloja .ocasiao{display:grid;grid-template-columns:22px minmax(0,1fr);gap:4px 14px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--fio);padding:16px 0;cursor:pointer;color:var(--papel)} #mvloja .ocasiao::before{content:\"\";grid-row:1 \/ span 2;align-self:center;width:9px;height:9px;transform:rotate(45deg);border:1px solid var(--fio);margin-left:4px;transition:background .2s,border-color .2s} #mvloja .ocasiao b{font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:clamp(24px,2vw,32px);line-height:1.1;transition:color .2s} #mvloja .ocasiao small{grid-column:2;font-size:15px;color:var(--cinza);line-height:1.4} #mvloja .ocasiao:hover b{color:var(--ouro)} #mvloja .ocasiao[aria-pressed=\"true\"] b{color:var(--ouro)} #mvloja .ocasiao[aria-pressed=\"true\"]::before{background:var(--ouro);border-color:var(--ouro)} #mvloja .painel{position:sticky;top:calc(env(safe-area-inset-top,0px) + 190px);display:flex;flex-direction:column;gap:22px} #mvloja .campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px} #mvloja .campo.largo{grid-column:1 \/ -1} #mvloja .ficheiro{display:flex;flex-wrap:wrap;align-items:center;gap:16px} #mvloja .ficheiro input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none} #mvloja .ficheiro label.botao-f{border:1px solid var(--cinza);padding:10px 18px;font-size:15px;letter-spacing:.06em;text-transform:none;color:var(--papel);cursor:pointer} #mvloja .ficheiro input:focus-visible + label.botao-f{outline:2px solid var(--ouro);outline-offset:3px} #mvloja .ficheiro span{font-size:15px;color:var(--cinza);overflow-wrap:anywhere} #mvloja .campos-nota{font-size:15px;color:var(--cinza);margin:0} #mvloja .campo{display:flex;flex-direction:column;gap:8px;min-width:0} #mvloja .campo label{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--cinza)} #mvloja .campo input{background:transparent;border:0;border-bottom:1px solid var(--cinza);padding:10px 0;font-family:var(--f-titulo);font-size:26px;min-width:0;width:100%} #mvloja .campo input:focus{outline:none;border-color:var(--ouro)} #mvloja .lema{font-family:var(--f-titulo);font-style:italic;font-size:clamp(22px,1.8vw,28px);color:var(--ouro);margin:36px 0 0} #mvloja .futuro-cta{display:flex;flex-wrap:wrap;gap:24px;align-items:center} #mvloja .botao{display:inline-block;background:var(--ouro);color:var(--chao);text-decoration:none;padding:16px 28px;font-size:15px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;border:0;cursor:pointer} #mvloja .botao:hover{background:var(--ouro-forte)} #mvloja .futuro-cta span{font-size:15px;color:var(--cinza)} #mvloja .vidro{position:relative;aspect-ratio:1;max-width:min(470px, calc(100vh - 470px));min-width:min(300px, calc(100% - 34px));width:calc(100% - 34px);margin:26px 0 30px} #mvloja .vidro-area{position:absolute;inset:0;border:1px solid var(--fio);background:var(--chao);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:8%;overflow:hidden} #mvloja .v-topo{font-family:var(--f-marca);font-size:clamp(13px,1.15vw,17px);letter-spacing:.3em;color:var(--ouro);text-transform:uppercase} #mvloja .v-num{font-family:var(--f-titulo);font-weight:500;font-size:clamp(84px,9.5vw,160px);line-height:.92;color:var(--ouro);font-variant-numeric:lining-nums} #mvloja .v-num small{display:block;font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:.2em;color:var(--papel);margin-top:4px} #mvloja .v-letra{font-family:var(--f-pintura);font-size:clamp(58px,6.4vw,108px);line-height:.95;color:var(--papel);overflow-wrap:anywhere;max-width:100%} #mvloja .v-letra.ouro{color:var(--ouro)} #mvloja .v-letra.media{font-size:clamp(42px,4.4vw,74px)} #mvloja .v-sub{font-family:var(--f-titulo);font-style:italic;font-size:clamp(17px,1.5vw,23px);color:var(--cinza);overflow-wrap:anywhere;max-width:100%} #mvloja .v-data{font-family:var(--f-marca);font-size:clamp(14px,1.2vw,18px);letter-spacing:.24em;color:var(--papel)} #mvloja .v-ceu{width:62%;height:auto;margin-bottom:6px} #mvloja .v-meio{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;flex:1;min-height:0} #mvloja .v-meio + .v-meio{border-top:1px dashed var(--fio)} #mvloja .v-logo{max-width:70%;max-height:70%;object-fit:contain} #mvloja .v-vazio{border:1px dashed var(--cinza);color:var(--cinza);font-size:14px;letter-spacing:.14em;text-transform:uppercase;padding:18px 26px} #mvloja .v-zona{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--cinza)} #mvloja .cota{position:absolute;font-size:12px;letter-spacing:.14em;color:var(--cinza);display:flex;align-items:center;gap:10px;font-variant-numeric:tabular-nums} #mvloja .cota::before,#mvloja .cota::after{content:\"\";flex:1;height:1px;background:var(--cinza)} #mvloja .cota-h{left:0;right:0;top:-26px} #mvloja .cota-v{top:0;bottom:0;right:-26px;writing-mode:vertical-rl;flex-direction:row} #mvloja .cota-v::before,#mvloja .cota-v::after{width:1px;height:auto} #mvloja .vidro-legenda{position:absolute;left:0;bottom:-30px;font-size:13px;color:var(--cinza);letter-spacing:.06em} #mvloja .servir{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(24px,4vw,72px)} #mvloja .servir h2{font-size:clamp(44px,4.6vw,76px)} #mvloja .lista{border-top:1px solid var(--fio)} #mvloja .linha{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:24px;align-items:baseline;padding-block:22px;border-bottom:1px solid var(--fio)} #mvloja .linha h3{font-family:var(--f-titulo);font-weight:500;font-size:clamp(22px,1.7vw,27px);margin:0} #mvloja .linha p{margin:4px 0 0;font-size:15px;color:var(--cinza)} #mvloja .linha .preco{font-family:var(--f-titulo);font-size:clamp(22px,1.7vw,27px);color:var(--ouro);font-variant-numeric:tabular-nums} #mvloja .produtor{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(32px,5vw,96px);align-items:center} #mvloja .produtor figure{margin:0;max-width:100%} #mvloja .produtor h2{font-size:clamp(46px,5vw,84px)} #mvloja .produtor p{font-size:clamp(18px,1.35vw,21px);max-width:34ch;margin:24px 0 0} #mvloja .assinatura{font-family:var(--f-pintura);font-size:clamp(52px,4.6vw,76px);color:var(--ouro);line-height:1;margin-top:28px} #mvloja .telefone{font-variant-numeric:tabular-nums;font-size:16px;color:var(--cinza);margin-top:6px} #mvloja .rodape{padding-block:48px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;font-size:14px;color:var(--cinza)} @media (max-width:1100px){#mvloja .nav{display:none} #mvloja .paragem b{font-size:15px}} @media (max-width:860px){#mvloja .regua{display:none} html{scroll-padding-top:80px} #mvloja .abertura-grelha,#mvloja .cap-cabeca,#mvloja .anos,#mvloja .vinte,#mvloja .estudio,#mvloja .servir,#mvloja .produtor,#mvloja .seculo-palco{grid-template-columns:minmax(0,1fr)} #mvloja .painel{position:static} #mvloja .cap-texto{justify-self:start} #mvloja .escada,#mvloja .data{grid-template-columns:repeat(2,minmax(0,1fr))} #mvloja .escada-cabeca{grid-column:1 \/ span 2} #mvloja .escada .produto:nth-of-type(2){margin-top:56px} #mvloja .mesa{grid-template-columns:repeat(2,minmax(0,1fr))} #mvloja .mesa .produto:first-child{grid-row:auto;grid-column:1 \/ span 2} #mvloja .mesa .nota-mesa{grid-column:1 \/ span 2;grid-row:auto} #mvloja .anos.inverso .anos-foto{order:0} #mvloja .seculo-palco{margin-top:32px} #mvloja .seculo-palco .produto{max-width:420px;justify-self:center;width:100%}} @media (max-width:480px){#mvloja .escada,#mvloja .data{grid-template-columns:minmax(0,1fr)} #mvloja .escada-cabeca{grid-column:auto} #mvloja .escada .produto:nth-of-type(2){margin-top:0} #mvloja .campos{grid-template-columns:minmax(0,1fr)} #mvloja .linha{grid-template-columns:minmax(0,1fr) auto} #mvloja .linha .quero{grid-column:1 \/ span 2} #mvloja .carrinho b{display:none}} @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} #mvloja *{transition:none!important;animation:none!important}} #mvloja .grelha{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(40px,4vw,64px) clamp(16px,1.8vw,28px);align-items:start} #mvloja .cab{display:flex;flex-direction:column;gap:18px;padding-top:clamp(12px,1.5vw,24px);min-width:0} #mvloja .cab h2{font-size:clamp(46px,4.6vw,78px)} #mvloja .cab .cap-texto{justify-self:start;max-width:28ch} #mvloja .cab-linha{margin-bottom:clamp(28px,3vw,48px)} #mvloja .peca{gap:0} #mvloja .peca .marca{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--papel);margin:0 0 12px;min-height:1.6em;line-height:1.6} #mvloja .peca figure{aspect-ratio:1;background:var(--chao-2);overflow:hidden;margin:0} #mvloja .peca figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)} #mvloja .peca:hover figure img{transform:scale(1.03)} #mvloja .peca .ficha{grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding-top:16px;border-top:0} #mvloja .peca .ficha h3{font-family:var(--f-texto);font-weight:500;font-size:14px;letter-spacing:.14em;text-transform:uppercase;line-height:1.45} #mvloja .peca .ficha .preco{justify-self:end;text-align:right;font-family:var(--f-texto);font-size:15px;letter-spacing:.04em;color:var(--papel);font-weight:500} #mvloja .peca .ficha .tipo{grid-column:1;font-size:14px;letter-spacing:.02em;text-transform:none;color:var(--cinza)} #mvloja .peca .ficha .quero{grid-column:2;grid-row:2;justify-self:end;font-size:12px;letter-spacing:.18em;padding:0 0 3px;opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s,color .2s} #mvloja .peca:hover .quero,#mvloja .peca .quero:focus-visible,#mvloja .peca .quero.feito{opacity:1;transform:none} @media (hover:none){#mvloja .peca .ficha .quero{opacity:1;transform:none}} #mvloja .aparte{align-self:center;font-family:var(--f-titulo);font-style:italic;font-size:clamp(24px,2.1vw,34px);line-height:1.3;margin:0;padding-left:24px;border-left:1px solid var(--ouro)} #mvloja .aparte .ir{display:inline-block;margin-top:18px;font-family:var(--f-marca);font-style:normal;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro);text-decoration:none;border-bottom:1px solid var(--ouro);padding-bottom:3px} #mvloja .aparte .ir::after{content:\" \u2192\"} #mvloja .aparte .ir:hover{color:var(--papel);border-color:var(--papel)} #mvloja .aparte{display:flex;flex-direction:column;align-items:flex-start} #mvloja .aparte small{display:block;font-family:var(--f-marca);font-style:normal;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro);margin-top:18px} #mvloja .anos-cab{padding-top:clamp(8px,1vw,16px)} #mvloja .anos-cab .numero{font-size:clamp(150px,15vw,250px);margin:6px 0 4px} #mvloja .anos-cab .numero sup{font-size:.15em;letter-spacing:.02em;vertical-align:top;margin-left:.12em;font-style:italic;color:var(--papel)} #mvloja .nota-prova{align-self:center;display:flex;flex-direction:column;gap:22px;font-size:clamp(18px,1.35vw,21px);max-width:30ch} #mvloja .nota-prova p{margin:0} #mvloja .seculo{padding-block:0} #mvloja .seculo .numero{font-size:clamp(190px,37vw,600px);text-align:center;line-height:.74;letter-spacing:-.055em;color:var(--ouro);margin:0;user-select:none} #mvloja .seculo-grelha{margin-top:calc(clamp(190px,37vw,600px) * -0.26);position:relative;align-items:end} #mvloja .seculo-grelha .cab{padding-top:0} #mvloja .seculo-grelha .nota-prova{align-self:end;padding-bottom:84px} @media (max-width:860px){#mvloja .grelha{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;row-gap:40px} #mvloja .cab,#mvloja .aparte,#mvloja .nota-prova{grid-column:1 \/ -1} #mvloja .nota-prova{max-width:none} #mvloja .seculo-grelha{margin-top:24px} #mvloja .seculo-grelha .nota-prova{padding-bottom:0} #mvloja .peca .ficha{grid-template-columns:minmax(0,1fr)} #mvloja .peca .ficha .preco{grid-column:1;grid-row:auto;justify-self:start;text-align:left} #mvloja .peca .ficha .quero{grid-column:1;grid-row:auto;justify-self:start} #mvloja .peca .ficha h3{font-size:13px;letter-spacing:.1em} #mvloja .peca.so{grid-column:1 \/ -1}} #mvloja .seculo .peca .ficha .preco{display:block} @media (prefers-reduced-motion:reduce){#mvloja .peca figure img{transition:none}} #mvloja .esgotado figure{position:relative} #mvloja .esgotado figure::after{content:attr(data-faixa);position:absolute;left:76%;top:22%;width:80%;transform:translate(-50%,-50%) rotate(38deg);background:var(--papel);color:var(--chao);text-align:center;font-family:var(--f-marca);font-weight:600;font-size:clamp(15px,1.6vw,24px);letter-spacing:.5em;text-transform:uppercase;padding:.7em 0 .7em .5em;box-shadow:0 12px 30px -16px rgba(0,0,0,.5);pointer-events:none} #mvloja .esgotado:hover figure img{transform:none} @media (max-width:860px){#mvloja .esgotado figure::after{font-size:11px;letter-spacing:.32em;left:77%;top:19%;width:96%}} #mvloja .esgotado .ficha h3,#mvloja .esgotado .ficha .preco{opacity:.85} #mvloja .vivo{position:relative} #mvloja .vivo canvas{position:absolute;inset:0;width:100%;height:100%;max-width:100%;opacity:0;transition:opacity .9s ease} #mvloja .vivo.pronto canvas{opacity:1} #mvloja .peca:hover .vivo canvas{transform:none} #mvloja .luz-agora{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;margin:14px 0 0;padding-top:12px;border-top:1px solid var(--fio);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ouro);font-variant-numeric:tabular-nums} #mvloja .luz-agora button{background:none;border:0;border-bottom:1px solid var(--cinza);padding:0 0 2px;font:inherit;letter-spacing:.14em;color:var(--cinza);cursor:pointer} #mvloja .luz-agora button:hover,#mvloja .luz-agora button[aria-pressed=\"true\"]{color:var(--papel);border-color:var(--ouro)} #mvloja .abertura{position:relative;overflow:hidden;padding-block:clamp(48px,6vw,88px) clamp(56px,6vw,96px)} #mvloja .abertura-luz{position:absolute;inset:0;pointer-events:none; background:linear-gradient(112deg,rgba(255,252,238,0) 18%,rgba(255,252,238,.62) 27%,rgba(255,252,238,.62) 61%,rgba(255,252,238,0) 70%)} #mvloja .abertura-luz::after{content:\"\";position:absolute;inset:-12px -24px; background:url(https:\/\/morvalley.com\/wp-content\/uploads\/2026\/10\/mvloja-ramada.png?v=1) center 18%\/max(1300px,105%) auto no-repeat; animation:brisa 9s ease-in-out infinite alternate} @keyframes brisa{from{transform:translate3d(-8px,0,0) rotate(-.3deg)}to{transform:translate3d(8px,4px,0) rotate(.3deg)}} #mvloja .abertura-centro{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center} #mvloja .abertura-centro .sobretitulo{margin:0 0 24px} #mvloja .abertura-centro h1{font-size:clamp(48px,6.4vw,104px);line-height:1;letter-spacing:-.02em} #mvloja .filete{display:block;width:56px;height:1px;background:var(--ouro);margin:6px auto 28px} #mvloja .abertura .abertura-sub{margin:26px 0 0} #mvloja .convite{display:flex;flex-direction:column;align-items:center;margin-top:clamp(28px,3vw,44px);width:100%} #mvloja .abertura-centro p{max-width:none} #mvloja .abertura .convite-nome{font-family:var(--f-pintura);font-size:clamp(76px,9vw,140px);line-height:1.05;color:var(--ouro);margin:0;min-height:1.05em;max-width:100%;overflow-wrap:anywhere;transition:opacity .25s} #mvloja .convite-linha{display:flex;align-items:stretch;gap:0;border-bottom:1px solid var(--papel);width:min(440px,100%)} #mvloja .convite-linha input{flex:1;min-width:0;background:transparent;border:0;padding:12px 4px;font-family:var(--f-titulo);font-size:22px;color:var(--papel);text-align:left} #mvloja .convite-linha input::placeholder{color:var(--cinza);font-style:italic} #mvloja .convite-linha input:focus{outline:none} #mvloja .convite-linha:focus-within{border-color:var(--ouro)} #mvloja .convite-linha button{background:none;border:0;padding:0 2px 0 16px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--papel);cursor:pointer;white-space:nowrap} #mvloja .convite-linha button::after{content:\" \\2192\"} #mvloja .convite-linha button:hover{color:var(--ouro)} #mvloja .abertura .convite-nota{font-size:14px;color:var(--cinza);margin:14px 0 0} #mvloja .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap} #mvloja .abertura-sub{font-family:var(--f-titulo);font-style:italic;font-size:clamp(20px,1.7vw,26px);color:var(--cinza);margin:0} #mvloja .abertura-centro .filtros{justify-content:center;margin-top:clamp(36px,4vw,56px)} @media (prefers-reduced-motion:reduce){#mvloja .abertura-luz::after{animation:none}} #mvloja .abertura-ir{margin-top:28px;display:inline-flex;align-items:center;gap:18px;padding:10px 26px 10px 14px;background:#5A7052;color:#FBF8F1;text-decoration:none;text-align:left;box-shadow:0 18px 40px -22px rgba(40,56,36,.55);transition:transform .25s,box-shadow .25s} #mvloja .abertura-ir img{height:72px;width:auto} #mvloja .abertura-ir span{display:flex;flex-direction:column;gap:4px;font-family:var(--f-titulo);font-style:italic;font-size:clamp(22px,2vw,28px);line-height:1.05} #mvloja .abertura-ir small{font-family:var(--f-marca);font-style:normal;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#D8B87C} #mvloja .abertura-ir i{font-style:normal;font-size:24px;color:#F0D9AA;margin-left:6px;transition:transform .25s} #mvloja .abertura-ir:hover{background:#4F6448;transform:translateY(-2px);box-shadow:0 24px 46px -22px rgba(18,26,16,.7)} #mvloja .abertura-ir:hover i{transform:translateX(4px)} #mvloja .convite-bloco{display:flex;flex-direction:column;gap:8px;justify-self:end;width:min(460px,100%)} #mvloja .convite-bloco .cap-texto{justify-self:auto} #mvloja .convite-fim{align-items:flex-start;margin-top:8px} #mvloja .convite-fim .convite-nome{font-family:var(--f-pintura);font-size:clamp(68px,6.4vw,112px);line-height:1.05;color:var(--ouro);margin:0;min-height:1.05em;max-width:100%;overflow-wrap:anywhere} #mvloja .convite-fim .filete{margin:4px 0 22px} #mvloja .convite-fim .convite-nota{font-size:14px;color:var(--cinza);margin:14px 0 0} @media (max-width:860px){#mvloja .convite-bloco{justify-self:start}} #mvloja .vida{margin-top:clamp(28px,3vw,44px)} #mvloja .vida-abas{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(28px,3vw,40px)} #mvloja .aba{border:1px solid var(--fio);background:none;padding:10px 20px;font-size:14px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;color:var(--cinza)} #mvloja .aba[aria-pressed=\"true\"]{background:var(--papel);color:var(--chao);border-color:var(--papel)} #mvloja .vida-linha{position:relative;display:flex;align-items:flex-start;gap:clamp(24px,4vw,64px);border-bottom:1px solid var(--cinza);padding-bottom:2px} #mvloja .vida-linha[hidden]{display:none!important} #mvloja .marcos{list-style:none;margin:0;padding:0;display:flex;flex:1;justify-content:space-between;gap:8px;min-width:0} #mvloja .marcos.sempre{flex:0 0 auto;gap:clamp(20px,3vw,48px);padding-left:clamp(20px,3vw,48px);border-left:1px dashed var(--fio)} #mvloja .ocasiao.marco{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:none;border:0;padding:0 0 18px;cursor:pointer;color:var(--cinza);text-align:left} #mvloja .ocasiao.marco::before{content:none} #mvloja .ocasiao.marco i{width:9px;height:9px;transform:rotate(45deg);border:1px solid var(--cinza);margin:0 0 12px 1px;transition:background .2s,border-color .2s} #mvloja .ocasiao.marco b{font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:clamp(20px,1.8vw,28px);line-height:1.1;color:var(--papel);transition:color .2s} #mvloja .ocasiao.marco small{grid-column:auto;font-size:13px;letter-spacing:.06em;color:var(--cinza)} #mvloja .ocasiao.marco:hover b{color:var(--ouro)} #mvloja .ocasiao.marco[aria-pressed=\"true\"] b{color:var(--ouro)} #mvloja .ocasiao.marco[aria-pressed=\"true\"] i{background:var(--ouro);border-color:var(--ouro)} #mvloja .agulha-vida{position:absolute;bottom:-2px;left:0;height:3px;width:40px;background:var(--ouro);transition:left .45s cubic-bezier(.3,.7,.2,1),width .45s cubic-bezier(.3,.7,.2,1)} #mvloja .vida-palco{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,72px);align-items:start;margin-top:clamp(32px,4vw,56px)} #mvloja .vida-foto{margin:0;aspect-ratio:4\/5;max-width:100%;overflow:hidden;background:var(--chao-2)} #mvloja .vida-foto img{width:100%;height:100%;object-fit:cover;transition:opacity .35s ease} #mvloja .vida-foto img.troca{opacity:0} #mvloja .vida-foto{position:relative;container-type:inline-size} #mvloja .vf{position:absolute;left:0;top:0;width:100%;aspect-ratio:4\/5;pointer-events:none;transition:opacity .35s ease} #mvloja .vf.troca{opacity:0} #mvloja .vf-l{position:absolute;white-space:nowrap;line-height:1} #mvloja .vf-l b{font-weight:inherit} #mvloja .vida-palco .painel{position:static;gap:16px} #mvloja .editor-titulo{margin:0;display:flex;flex-direction:column;gap:6px} #mvloja .editor-titulo span{font-family:var(--f-marca);font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--ouro)} #mvloja .editor-titulo b{font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:clamp(40px,4vw,64px);line-height:1} #mvloja .editor-titulo em{font-style:normal;font-size:17px;color:var(--cinza)} #mvloja .vida-palco .vidro{max-width:280px;min-width:0;width:calc(100% - 34px);margin:28px 0 30px} #mvloja .vida-palco .v-num{font-size:clamp(60px,5.6vw,90px)} #mvloja .vida-palco .v-letra{font-size:clamp(38px,3.6vw,60px)} #mvloja .vida-palco .v-letra.media{font-size:clamp(28px,2.6vw,44px)} @media (max-width:860px){#mvloja .vida-linha{overflow-x:auto;scrollbar-width:none;gap:28px} #mvloja .vida-linha::-webkit-scrollbar{display:none} #mvloja .marcos{flex:0 0 auto;gap:28px} #mvloja .ocasiao.marco b{white-space:nowrap} #mvloja .ocasiao.marco small{white-space:nowrap} #mvloja .vida-palco{grid-template-columns:minmax(0,1fr)} #mvloja .vida-foto{max-width:440px}} #mvloja .atelier{border-top:1px solid var(--fio)} #mvloja .atelier .cap-etiqueta,#mvloja .atelier .cap-etiqueta em{color:var(--ouro)} #mvloja .atelier .vida-abas{display:inline-flex;gap:0;padding:4px;background:var(--chao-2);border:1px solid var(--fio)} #mvloja .atelier .aba{border:0;padding:12px 22px;color:var(--cinza);background:none} #mvloja .atelier .aba[aria-pressed=\"true\"]{background:#FFFCF9;color:var(--papel);box-shadow:0 1px 3px rgba(43,27,20,.12)} #mvloja .atelier .vida-linha{border-bottom:0;padding:18px 20px 0;background:#FFFCF9;border:1px solid var(--fio)} #mvloja .atelier .vida-linha::after{content:\"\";position:absolute;left:20px;right:20px;top:29px;height:1px;background:var(--fio);z-index:0} #mvloja .atelier .marcos.sempre{border-left-color:var(--fio)} #mvloja .atelier .ocasiao.marco{position:relative;z-index:1;padding-bottom:16px} #mvloja .atelier .ocasiao.marco i{width:11px;height:11px;transform:rotate(45deg);background:#FFFCF9;border-color:var(--cinza)} #mvloja .atelier .ocasiao.marco b{font-size:clamp(19px,1.6vw,25px)} #mvloja .atelier .agulha-vida{bottom:0;height:3px} #mvloja .atelier .vida-palco{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);margin-top:clamp(20px,2.4vw,32px)} #mvloja .atelier .vida-foto{position:sticky;top:calc(env(safe-area-inset-top,0px) + 190px)} #mvloja .atelier .painel{background:#FFFCF9;border:1px solid var(--fio);padding:clamp(20px,2.6vw,36px);gap:14px;box-shadow:0 30px 60px -40px rgba(43,27,20,.35)} #mvloja .passo{display:flex;align-items:center;gap:12px;margin:10px 0 0;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--papel);font-weight:500} #mvloja .passo:first-child{margin-top:0} #mvloja .passo i{font-style:normal;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--ouro);color:var(--ouro);font-family:var(--f-titulo);font-size:16px;letter-spacing:0;flex:0 0 auto} #mvloja .passo em{font-style:normal;text-transform:none;letter-spacing:.02em;color:var(--cinza);font-weight:400} #mvloja .atelier .editor-titulo{padding-left:40px} #mvloja .atelier .editor-titulo span{display:none} #mvloja .atelier .editor-titulo b{font-size:clamp(34px,3.2vw,52px)} #mvloja .atelier .vidro{margin:30px 0 32px 40px;max-width:260px;width:calc(100% - 74px)} #mvloja .atelier .vidro-area{background:#20140F;border-color:#20140F;--ouro:#E2C287;--papel:#FBF6EF;--cinza:#CDBBAE;--fio:#4A3A32} #mvloja .atelier .vidro-legenda{display:none} #mvloja .atelier .campos{gap:12px 14px} #mvloja .atelier .campo label{letter-spacing:.12em} #mvloja .atelier .campo input{border:1px solid var(--fio);background:var(--chao);padding:12px 14px;font-size:22px} #mvloja .atelier .ficheiro label.botao-f{border-color:var(--fio);background:var(--chao)} #mvloja .conta{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--fio);padding-top:14px} #mvloja .conta-linha{display:flex;justify-content:space-between;gap:16px;font-size:16px;font-variant-numeric:tabular-nums} #mvloja .conta-linha b{font-family:var(--f-titulo);font-weight:500;font-size:26px} #mvloja .conta-linha.leve{font-size:14px;color:var(--cinza)} #mvloja .atelier .quero-magnum{width:100%;margin-top:10px;padding:18px 24px;font-size:15px;background:var(--papel);color:#FFFCF9} #mvloja .atelier .quero-magnum:hover{background:var(--ouro)} #mvloja .garantias{margin:6px 0 0;font-size:13px;color:var(--cinza);text-align:center} @media (max-width:860px){#mvloja .atelier .vida-palco{grid-template-columns:minmax(0,1fr)} #mvloja .atelier .vida-foto{position:static;max-width:none;aspect-ratio:1} #mvloja .atelier .vida-foto img{object-position:50% 40%} #mvloja .atelier .vida-abas{display:flex} #mvloja .atelier .aba{flex:1;padding:12px 10px;letter-spacing:.08em} #mvloja .atelier .vidro{margin:28px 0 20px;max-width:240px} #mvloja .atelier .vida-linha{padding:16px 16px 0} #mvloja .atelier .vida-linha::after{left:16px;right:16px;top:27px} #mvloja .atelier .editor-titulo{padding-left:0}} @media (min-width:861px){#mvloja #fds .grelha > .cab,#mvloja #data .grelha > .cab{grid-row:span 2}} @media (max-width:860px){#mvloja .atelier .vida-linha{-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent)}} #mvloja .ver-ficha{grid-column:1 \/ -1;justify-self:start;display:inline-flex;align-items:center;gap:8px;margin-top:6px;background:none;border:0;padding:4px 0;font:inherit;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--cinza);cursor:pointer;transition:color .2s} #mvloja .ver-ficha i{position:relative;width:15px;height:15px;border:1px solid currentColor;flex:0 0 auto} #mvloja .ver-ficha i::before,#mvloja .ver-ficha i::after{content:\"\";position:absolute;left:50%;top:50%;background:currentColor;transform:translate(-50%,-50%)} #mvloja .ver-ficha i::before{width:7px;height:1px} #mvloja .ver-ficha i::after{width:1px;height:7px;transition:transform .2s} #mvloja .ver-ficha:hover{color:var(--papel)} #mvloja .ver-ficha:hover i::after{transform:translate(-50%,-50%) scaleY(0)} html.sem-scroll,html.sem-scroll body{overflow:hidden} #mvloja .gaveta-fundo{position:fixed;inset:0;z-index:90;background:rgba(18,26,16,.42);opacity:0;transition:opacity .3s} #mvloja .gaveta-fundo.aberta{opacity:1} #mvloja .gaveta{--g-fundo:#FBF8F1;--g-texto:#141A12;--g-cinza:#5A6150;--g-ouro:#7A5B22;--g-fio:#E2DDCD; position:fixed;top:0;right:0;bottom:0;z-index:91;width:min(500px,100%);background:var(--g-fundo);color:var(--g-texto);display:flex;flex-direction:column; transform:translateX(100%);transition:transform .32s cubic-bezier(.3,.7,.2,1);box-shadow:-30px 0 60px -30px rgba(0,0,0,.35); padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px)} #mvloja .gaveta.aberta{transform:none} #mvloja .g-topo{display:flex;justify-content:space-between;align-items:center;padding:18px 28px;border-bottom:1px solid var(--g-fio)} #mvloja .g-topo span{font-family:var(--f-marca);font-size:13px;letter-spacing:.26em;text-transform:uppercase;color:var(--g-ouro)} #mvloja .g-fechar{background:none;border:1px solid var(--g-fio);padding:8px 14px;font:inherit;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--g-texto);cursor:pointer} #mvloja .g-fechar:hover{border-color:var(--g-texto)} #mvloja .g-corpo{overflow-y:auto;padding:28px 28px 40px;display:flex;flex-direction:column;gap:22px} #mvloja .g-tipo{margin:0;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--g-cinza)} #mvloja .g-nome{margin:-12px 0 0;font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:clamp(30px,4vw,40px);line-height:1.05;text-wrap:balance} #mvloja .g-citacao{margin:0;padding-left:16px;border-left:1px solid var(--g-ouro);font-family:var(--f-titulo);font-style:italic;font-size:19px;line-height:1.45} #mvloja .g-citacao cite{display:block;margin-top:8px;font-family:var(--f-marca);font-style:normal;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--g-ouro)} #mvloja .g-bloco{border-top:1px solid var(--g-fio);padding-top:16px} #mvloja .g-bloco h4{margin:0 0 8px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--g-ouro);font-weight:500} #mvloja .g-bloco p{margin:0;font-size:16px;line-height:1.6} #mvloja .g-bloco ul{margin:0;padding-left:18px;font-size:16px;line-height:1.7} #mvloja .g-bloco dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 18px;font-size:15px} #mvloja .g-bloco dt{color:var(--g-cinza)} #mvloja .g-bloco dd{margin:0} #mvloja .g-dados dd{font-variant-numeric:tabular-nums;text-align:right} #mvloja .g-pdf{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;margin-top:4px;padding:14px 20px;border:1px solid var(--g-texto);color:var(--g-texto);text-decoration:none;font-size:13px;letter-spacing:.16em;text-transform:uppercase} #mvloja .g-pdf::after{content:\"\\2197\"} #mvloja .g-pdf:hover{background:var(--g-texto);color:var(--g-fundo)} @media (prefers-reduced-motion:reduce){#mvloja .gaveta,#mvloja .gaveta-fundo{transition:none}} #mvloja .peca figure{cursor:zoom-in} #mvloja .lupa{position:fixed;inset:0;z-index:95;background:rgba(14,18,12,.86);display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));cursor:zoom-out} #mvloja .lupa[hidden]{display:none} #mvloja .lupa img{max-width:min(1400px,100%);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);width:auto;height:auto;object-fit:contain;box-shadow:0 30px 80px -30px #000} #mvloja .lupa button{position:absolute;top:max(16px,env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px));background:#FBF8F1;border:0;padding:10px 16px;font:inherit;font-size:12px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer} #mvloja .v-letra{font-family:var(--f-titulo);font-style:italic;font-weight:600;letter-spacing:-.01em;line-height:1} #mvloja .vida-palco .v-letra{font-size:clamp(30px,2.9vw,46px)} #mvloja .vida-palco .v-letra.media{font-size:clamp(24px,2.2vw,36px)} #mvloja .v-sub{font-weight:600} #mvloja .v-topo,#mvloja .v-data{font-weight:600} #mvloja .v-conteudo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;height:100%;min-height:0;transform-origin:center center} #mvloja .atelier .campo input{background:#FFFFFF;border:1px solid #CDB6A8;border-radius:0;padding:14px 16px 14px 44px;font-size:21px;color:var(--papel); background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%239A5B2E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'\/%3E%3Cpath d='M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z'\/%3E%3C\/svg%3E\"); background-repeat:no-repeat;background-position:15px 50%;box-shadow:inset 0 1px 2px rgba(43,27,20,.06)} #mvloja .atelier .campo input::placeholder{color:#A8958A;font-style:italic;opacity:1} #mvloja .atelier .campo input:hover{border-color:var(--ouro)} #mvloja .atelier .campo input:focus{border-color:var(--ouro);background-color:#FFFFFF;box-shadow:0 0 0 3px rgba(154,91,46,.15)} #mvloja .atelier .campo label{color:var(--papel);font-weight:500} #mvloja .atelier .campo label::after{content:\" \u00b7 scriva qui\";text-transform:none;letter-spacing:.02em;color:var(--ouro);font-weight:400} #mvloja .preco .iva{display:inline;margin-left:7px;font-family:var(--f-texto);font-size:11px;font-weight:400;letter-spacing:.08em;text-transform:none;color:var(--cinza);text-align:inherit;grid-column:auto;grid-row:auto} #mvloja .linha .preco .iva,#mvloja .seculo .ficha .preco .iva{display:inline} #mvloja .comprar{grid-column:1 \/ -1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px} #mvloja .peca .comprar .quero{opacity:1;transform:none;justify-self:auto;padding:0 0 3px;font-size:12px;letter-spacing:.18em} #mvloja .qtd{display:inline-flex;align-items:center;gap:2px;height:26px} #mvloja .qtd button{width:24px;height:24px;background:none;border:0;border-radius:50%;font:inherit;font-size:16px;line-height:1;color:var(--cinza);cursor:pointer;transition:color .2s,background .2s} #mvloja .qtd button:hover{color:var(--papel);background:rgba(0,0,0,.05)} #mvloja .qtd output{min-width:22px;text-align:center;font-size:14px;font-weight:500;border-bottom:1px solid var(--fio);padding-bottom:1px;font-variant-numeric:tabular-nums;color:var(--papel)} #mvloja .peca .comprar .quero{white-space:nowrap} #mvloja .peca .comprar .quero.feito{cursor:default;border-bottom-color:var(--ouro)} @media (max-width:860px){#mvloja .peca .comprar .quero{letter-spacing:.1em;font-size:11px} #mvloja .comprar{gap:6px}} #mvloja .aviso-legal{flex-basis:100%;margin:0 0 4px;font-size:14px;color:var(--papel);letter-spacing:.02em} #mvloja .legal{flex-basis:100%;display:flex;flex-wrap:wrap;gap:8px 24px;padding-bottom:20px;border-bottom:1px solid var(--fio)} #mvloja .legal a{color:var(--cinza);text-decoration:none;border-bottom:1px solid transparent} #mvloja .legal a:hover{color:var(--papel);border-color:var(--papel)} #mvloja .peca .ficha h3{font-weight:600;color:var(--papel);letter-spacing:.12em} #mvloja .peca .ficha .preco{font-weight:600} #mvloja .peca .ficha .tipo{color:var(--papel);opacity:.78} #mvloja .preco .iva{color:var(--papel);opacity:.7} #mvloja .ver-ficha{color:var(--papel);opacity:.75} #mvloja .ver-ficha:hover{opacity:1} #mvloja .resultados{padding-block:clamp(28px,3vw,44px) clamp(48px,5vw,72px)} #mvloja .resultados[hidden],#mvloja section.capitulo[hidden]{display:none!important} #mvloja .res-cab{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:clamp(20px,2.4vw,32px);padding-bottom:14px;border-bottom:1px solid var(--fio)} #mvloja .res-cab .cap-etiqueta{margin:0} #mvloja .res-limpar{background:none;border:0;border-bottom:1px solid var(--papel);padding:0 0 3px;font:inherit;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--papel);cursor:pointer} #mvloja .res-grelha{grid-template-columns:repeat(3,minmax(0,1fr))} @media (max-width:860px){#mvloja .res-grelha{grid-template-columns:repeat(2,minmax(0,1fr))}} #mvloja.a-filtrar .agulha{opacity:0} #mvloja.a-filtrar .paragem[aria-current=\"true\"]{color:var(--cinza)} @media (max-width:860px){#mvloja .atelier .vida-foto{position:relative} #mvloja .atelier .vf{top:-10cqw}} #mvloja .quero.a-carregar{opacity:.55;pointer-events:none} #mvloja .comprar.ligacao .qtd{display:none} #mvloja .comprar.ligacao{justify-content:flex-end} #mvloja [hidden]{display:none!important} #mvloja .gaveta-fundo:not(.aberta){pointer-events:none} #mvloja .gaveta-fundo{z-index:2147483000!important} #mvloja .gaveta{z-index:2147483001!important} #mvloja .lupa{z-index:2147483002!important} #mvloja .numero{pointer-events:none} #mvloja #fds .cab{container-type:inline-size} #mvloja #fds .cab h2{font-size:min(clamp(46px,4.6vw,78px),15cqi)} <\/style><style id=\"mvnatal\">\n\/* ===== NATAL 2026 ===== *\/\n#mvloja [data-tom=\"0\"],#mvloja{--chao:#F6F1E7;--chao-2:#ECE3D2;--papel:#1C1410;--cinza:#5B4B3F;--ouro:#7A5A22;--ouro-forte:#654A1B;--fio:#E2D7C4}\n#mvloja [data-tom=\"1\"]{--chao:#F3ECE0;--chao-2:#ECE3D2;--papel:#1C1410;--cinza:#58483C;--ouro:#775820;--ouro-forte:#62481A;--fio:#E0D4BF}\n#mvloja [data-tom=\"2\"]{--chao:#EFE7D9;--chao-2:#E7DCC8;--papel:#1C1410;--cinza:#554538;--ouro:#73551F;--ouro-forte:#5E4519;--fio:#DCCFB8}\n#mvloja [data-tom=\"3\"]{--chao:#EAE1D0;--chao-2:#E1D4BD;--papel:#1A120E;--cinza:#4F4034;--ouro:#6E521E;--ouro-forte:#5A4318;--fio:#D6C8AE}\n#mvloja [data-tom=\"4\"]{--chao:#2C4A39;--chao-2:#3B5E4B;--papel:#FBF6EC;--cinza:#DCE3D5;--ouro:#E3C27E;--ouro-forte:#F0D59E;--fio:#466853;color-scheme:dark}\n#mvloja [data-tom=\"5\"]{--chao:#1F3A2B;--chao-2:#2D4A3A;--papel:#FBF6EC;--cinza:#D3DCCD;--ouro:#E3C27E;--ouro-forte:#F0D59E;--fio:#3A5A47;color-scheme:dark}\n#mvloja [data-tom=\"6\"]{--chao:#6A1A20;--chao-2:#7A252B;--papel:#FBF6EC;--cinza:#F0D9D4;--ouro:#EBCB89;--ouro-forte:#F5DDA8;--fio:#86353B;color-scheme:dark}\n#mvloja [data-tom=\"7\"]{--chao:#3D0F14;--chao-2:#4D1A1F;--papel:#FBF6EC;--cinza:#E9D3CF;--ouro:#E6C584;--ouro-forte:#F2D8A2;--fio:#5C2429;color-scheme:dark}\n#mvloja [data-tom=\"9\"]{--chao:#F7EFE6;--chao-2:#EAE0D0;--papel:#2B1712;--cinza:#6A4E44;--ouro:#8E1B22;--ouro-forte:#741419;--fio:#E8D6C8}\n#mvloja [data-tom=\"8\"]{--chao:#F6F1E7;--chao-2:#ECE3D2;--papel:#1C1410;--cinza:#5B4B3F;--ouro:#7A5A22;--ouro-forte:#654A1B;--fio:#E2D7C4}\n#mvloja .vivo canvas,#mvloja .luz-agora{display:none!important}\n#mvloja .abertura-luz{background:linear-gradient(112deg,#fff0 18%,rgb(255 248 232 \/ .7) 27%,rgb(255 248 232 \/ .7) 61%,#fff0 70%)}\n#mvloja .abertura-luz::after{display:none}\n#mvloja .abertura-ir{background:#1F3A2B;box-shadow:0 18px 40px -22px rgb(20 40 28 \/ .6)}\n.parras{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}\n.parras img{position:absolute;height:auto;filter:drop-shadow(18px 26px 22px rgba(70,45,20,.28)) drop-shadow(3px 5px 4px rgba(70,45,20,.22));\n  transform-origin:var(--ox,50%) var(--oy,0%);animation:folhaBrisa var(--d,11s) ease-in-out infinite alternate;opacity:0;transition:opacity 1.6s ease}\n.parras.on img{opacity:1}\n@keyframes folhaBrisa{from{transform:rotate(calc(var(--r) - 1.2deg)) translateY(-2px)}to{transform:rotate(calc(var(--r) + 1.2deg)) translateY(3px)}}\n#mvloja .abertura-centro{z-index:2}\n.parra-loja{position:absolute;pointer-events:none;height:auto;z-index:2;filter:drop-shadow(14px 20px 16px rgba(40,25,10,.26)) drop-shadow(2px 4px 3px rgba(40,25,10,.2));transform-origin:50% 0;animation:folhaBrisa var(--d,12s) ease-in-out infinite alternate}\n#mvloja .capitulo{overflow:clip}\n#mvloja .barra-natal{position:relative;z-index:5;display:flex;align-items:center;justify-content:center;gap:clamp(14px,2.2vw,36px);max-width:1440px;margin:clamp(18px,2.5vw,40px) auto 0;padding:0 clamp(16px,4vw,64px)}\n#mvloja .barra-natal span{font-family:\"Playfair Display\",Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(34px,4.4vw,70px);line-height:1;color:#721723;letter-spacing:.01em;white-space:nowrap}\n#mvloja .barra-natal img{display:block;flex:0 1 auto;width:min(62vw,880px);height:auto;filter:drop-shadow(4px 8px 7px rgba(40,25,10,.22))}\n#mvloja #dez .barra-natal{margin:0 auto clamp(10px,1.5vw,24px)}\n#mvloja #dez .barra-natal span{color:#F3E2BE}\n@media (max-width:600px){#mvloja .barra-natal{gap:8px;padding:0 12px}#mvloja .barra-natal span{font-size:26px}#mvloja .barra-natal img{width:auto;min-width:0;flex:1 1 0;max-width:60vw}.parras img{width:min(120px,30vw)!important;margin-top:-24px}.parras img:nth-child(2),.parras img:nth-child(4){display:none}}\n<\/style><div id=\"mvloja\"><header class=\"topo\" id=\"topo\"> <div class=\"contentor\"> <div class=\"regua\" aria-label=\"Linea del tempo\"> <div class=\"regua-trilho\"><div class=\"agulha\" id=\"agulha\"><\/div><\/div> <div class=\"paragens\" id=\"paragens\"> <button class=\"paragem\" data-alvo=\"noite\"><b>Ogni giorno<\/b><small>54\u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"fds\"><b>Fine settimana<\/b><small>da 22 \u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"data\"><b>Una data<\/b><small>da 39,90 \u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"dez\"><b>10 anni<\/b><small>65\u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"vinte\"><b>20 anni<\/b><small>da 125 \u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"cinquenta\"><b>50 anni<\/b><small>500\u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"cem\"><b>100 anni<\/b><small>3000\u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"ainda\"><b>Non \u00e8 ancora accaduto<\/b><small>54,24\u20ac<\/small><\/button> <\/div> <\/div> <\/div> <\/header> <main> <section class=\"abertura\" id=\"inicio\" data-tom=\"0\"> <div class=\"abertura-luz\" aria-hidden=\"true\"><\/div> <div class=\"contentor abertura-centro\"> <p class=\"sobretitulo\">Negozio MorValley \u00b7 Natale 2026<\/p> <h1>Saluti dal Douro.<\/h1> <p class=\"abertura-sub\">Benvenuti. Le suggerisco di cominciare da uno dei vini simbolo della casa.<\/p> <a class=\"abertura-ir\" href=\"#fds\"><img decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/10\/mvloja-res-branco-mini.png?v=1\" alt=\"\" width=\"70\" height=\"240\"><span>MorValley Reserva Branco<\/span><i aria-hidden=\"true\">\u2192<\/i><\/a> <div class=\"filtros\" role=\"group\" aria-label=\"Filtra per stile\"> <span>Mostra<\/span> <button class=\"filtro\" aria-pressed=\"true\" data-f=\"todos\">Tutto<\/button> <button class=\"filtro\" aria-pressed=\"false\" data-f=\"tinto\">Rosso<\/button> <button class=\"filtro\" aria-pressed=\"false\" data-f=\"branco\">Bianco<\/button> <button class=\"filtro\" aria-pressed=\"false\" data-f=\"porto\">Porto<\/button> <button class=\"filtro\" aria-pressed=\"false\" data-f=\"caixa\">Casse e confezioni<\/button> <\/div> <\/div> <\/section> <!-- I. Todos os dias --> <section class=\"capitulo\" id=\"noite\" data-paragem=\"0\" data-tom=\"1\"> <div class=\"contentor grelha\"> <div class=\"cab\"> <div class=\"cap-etiqueta\">Tempo I <em>casse da 6<\/em><\/div> <h2>Ogni giorno.<\/h2> <p class=\"cap-texto\">Un vino di qualit\u00e0 per la tavola di ogni giorno. Non serve un\u2019occasione.<\/p> <\/div> <article class=\"produto peca\" data-tags=\"tinto caixa\"> <p class=\"marca\">&nbsp;<\/p> <figure data-zoom=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-ve-tinto-zoom-scaled.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-ve-tinto.webp\" alt=\"Sei bottiglie di Vale de Escadas Reserva Rosso\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>Vale de Escadas Reserva<\/h3><span class=\"preco\">54\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Rosso \u00b7 cassa da 6<\/span><button class=\"quero\" data-id=\"4258\" data-preco=\"54\">Lo voglio<\/button><\/div> <\/article> <article class=\"produto peca\" data-tags=\"branco caixa\"> <p class=\"marca\">&nbsp;<\/p> <figure data-zoom=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-ve-branco-zoom-scaled.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-ve-branco.webp\" alt=\"Sei bottiglie di Vale de Escadas Reserva Bianco\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>Vale de Escadas Reserva<\/h3><span class=\"preco\">54\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Bianco \u00b7 cassa da 6<\/span><button class=\"quero\" data-id=\"4450\" data-preco=\"54\">Lo voglio<\/button><\/div> <\/article> <\/div> <\/section> <!-- II. Fim-de-semana --> <section class=\"capitulo\" id=\"fds\" data-paragem=\"1\" data-tom=\"2\"> <div class=\"contentor grelha\"> <div class=\"cab\"> <div class=\"cap-etiqueta\">Tempo II <em>da 22 \u20ac<\/em><\/div> <h2>Un <span style=\"white-space:nowrap\">fine settimana.<\/span><\/h2> <p class=\"cap-texto\">Tavola piena e lunghe conversazioni. \u00c8 per questo che li faccio.<\/p> <\/div> <article class=\"produto peca\" data-tags=\"branco\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-res-branco.webp\" alt=\"MorValley Reserva Branco\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Reserva<\/h3><span class=\"preco\">22\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Bianco \u00b7 2022<\/span><button class=\"quero\" data-id=\"130\" data-preco=\"22\">Lo voglio<\/button><\/div> <\/article> <article class=\"produto peca\" data-tags=\"tinto\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-res-tinto.webp\" alt=\"MorValley Reserva Tinto\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Reserva<\/h3><span class=\"preco\">22\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Rosso \u00b7 2022<\/span><button class=\"quero\" data-id=\"129\" data-preco=\"22\">Lo voglio<\/button><\/div> <\/article> <article class=\"produto peca esgotado\" data-tags=\"tinto\"> <p class=\"marca\">&nbsp;<\/p> <figure data-faixa=\"Esaurito\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-touriga.webp\" alt=\"MorValley Touriga Nacional, esaurito\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Touriga Nacional<\/h3><span class=\"preco\">27,50\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Rosso \u00b7 monovitigno<\/span><\/div> <\/article>  <\/div> <\/section> <!-- III. Uma data --> <section class=\"capitulo\" id=\"data\" data-paragem=\"2\" data-tom=\"3\"> <div class=\"contentor grelha\"> <div class=\"cab\"> <div class=\"cap-etiqueta\">Tempo III <em>da 39,90 \u20ac<\/em><\/div> <h2>Una data che conta.<\/h2> <p class=\"cap-texto\">Cerco la perfezione della regione. Ci\u00f2 che nasce dalla pazienza tecnica.<\/p> <\/div> <article class=\"produto peca\" data-tags=\"tinto\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-gr-tinto.webp\" alt=\"MorValley Grande Reserva Tinto\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Grande Reserva<\/h3><span class=\"preco\">39,90\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Rosso \u00b7 2016<\/span><button class=\"quero\" data-id=\"127\" data-preco=\"39.9\">Lo voglio<\/button><\/div> <\/article> <article class=\"produto peca\" data-tags=\"branco\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-gr-branco.webp\" alt=\"MorValley Grande Reserva Branco\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Grande Reserva<\/h3><span class=\"preco\">39,90\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Bianco \u00b7 2016<\/span><button class=\"quero\" data-id=\"126\" data-preco=\"39.9\">Lo voglio<\/button><\/div> <\/article> <article class=\"produto peca\" data-tags=\"tinto\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-mew.webp\" alt=\"MEW Douro 2016 accanto alla sua scatola nera\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MEW<\/h3><span class=\"preco\">75\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Rosso \u00b7 Douro 2016<\/span><button class=\"quero\" data-id=\"125\" data-preco=\"75\">Lo voglio<\/button><\/div> <\/article> <article class=\"produto peca esgotado\" data-tags=\"tinto branco caixa\"> <p class=\"marca\">&nbsp;<\/p> <figure data-faixa=\"Esaurito\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-collection.webp\" alt=\"Cassa MorValley Collection aperta con le sei bottiglie, esaurita\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Collection<\/h3><span class=\"preco\">209,50\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Collezione in cassa<\/span><\/div> <\/article> <\/div> <\/section> <!-- IV. 10 anos --> <section class=\"capitulo\" id=\"dez\" data-paragem=\"3\" data-tom=\"4\"> <div class=\"contentor grelha\"> <div class=\"cab anos-cab\"> <div class=\"cap-etiqueta\">Tempo IV <em>Porto<\/em><\/div> <p class=\"numero\" aria-hidden=\"true\">10<sup>anni<\/sup><\/p> <h2>Dieci anni in botte.<\/h2> <\/div> <article class=\"produto peca so\" data-tags=\"porto\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-myo10.webp\" alt=\"Porto MYO 10 Anni accanto alla sua scatola bianca\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MYO by MorValley 10 Years Old<\/h3><span class=\"preco\">65\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Porto<\/span><button class=\"quero\" data-id=\"6719\" data-preco=\"65\">Lo voglio<\/button><\/div> <\/article> <div class=\"nota-prova\"> <p class=\"prova\">Frutta secca, vaniglia e spezie. Fresco al palato, con un finale lungo.<\/p> <\/div> <\/div> <\/section> <!-- V. 20 anos --> <section class=\"capitulo\" id=\"vinte\" data-paragem=\"4\" data-tom=\"5\"> <div class=\"contentor grelha\"> <div class=\"cab anos-cab\"> <div class=\"cap-etiqueta\">Tempo V <em>da 125 \u20ac<\/em><\/div> <p class=\"numero\" aria-hidden=\"true\">20<sup>anni<\/sup><\/p> <h2>Vent\u2019anni dopo.<\/h2> <p class=\"cap-texto\">A vent\u2019anni il Porto non ha pi\u00f9 alcuna fretta. E nemmeno chi lo riceve.<\/p> <\/div> <article class=\"produto peca\" data-tags=\"porto\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-myo20.webp\" alt=\"Porto MYO 20 Anni accanto alla sua scatola\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MYO by MorValley 20 Years Old<\/h3><span class=\"preco\">125\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Porto<\/span><button class=\"quero\" data-id=\"6778\" data-preco=\"125\">Lo voglio<\/button><\/div> <\/article> <article class=\"produto peca\" data-tags=\"porto caixa\"> <p class=\"marca\">Dipinta sul vetro<\/p> <figure data-zoom=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-lmd-zoom-scaled.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-lmd.webp\" alt=\"Confezione Leva-me ao Douro: la cassa di legno con due bicchieri e la bottiglia dipinta di Porto MYO 20 Anni\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>Confezione Leva-me ao Douro<\/h3><span class=\"preco\">450\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Porto 20 anni \u00b7 bottiglia dipinta \u00b7 due bicchieri<\/span><button class=\"quero\" data-id=\"9659\" data-preco=\"450\">Lo voglio<\/button><\/div> <\/article> <\/div> <\/section> <!-- VI. 50 anos --> <section class=\"capitulo\" id=\"cinquenta\" data-paragem=\"5\" data-tom=\"6\"> <div class=\"contentor grelha\"> <div class=\"cab anos-cab\"> <div class=\"cap-etiqueta\">Tempo VI <em>Porto<\/em><\/div> <p class=\"numero\" aria-hidden=\"true\">50<sup>anni<\/sup><\/p> <h2>Mezzo secolo.<\/h2> <\/div> <article class=\"produto peca so\" data-tags=\"porto\"> <p class=\"marca\">&nbsp;<\/p> <figure class=\"vivo\" data-garrafa=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/10\/mvloja-myo50.png?v=1\" data-vinho=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/10\/mvloja-myo50-vinho.png?v=1\" data-fundo=\"#43523E\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-myo50-repouso.webp\" alt=\"Porto MYO 50 Anni, illuminato dal sole della valle del Douro all\u2019ora in cui guarda la pagina\" loading=\"lazy\" width=\"1000\" height=\"1000\"><canvas width=\"1000\" height=\"1000\" aria-hidden=\"true\"><\/canvas><\/figure> <div class=\"ficha\"><h3>MYO by MorValley 50 Years Old<\/h3><span class=\"preco\">500\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Porto<\/span><button class=\"quero\" data-id=\"6781\" data-preco=\"500\">Lo voglio<\/button><\/div> <p class=\"luz-agora\"><span>Luce del Douro, adesso<\/span><button type=\"button\" aria-pressed=\"false\">Guardare passare il giorno<\/button><\/p> <\/article> <div class=\"nota-prova\"> <p>Matura in botte fino al giorno in cui viene imbottigliato. Non un giorno prima.<\/p> <p class=\"prova\">Vaniglia, arancia, nocciola e miele. Pieno e fresco, con spezie nel finale.<\/p> <\/div> <\/div> <\/section> <!-- VII. 100 anos --> <section class=\"capitulo\" id=\"cem\" data-paragem=\"6\" data-tom=\"7\"> <div class=\"contentor seculo\"> <p class=\"numero\" aria-hidden=\"true\">100<\/p> <div class=\"grelha seculo-grelha\"> <div class=\"cab\"> <div class=\"cap-etiqueta\">Tempo VII <em>Very Very Old<\/em><\/div> <h2>Un secolo.<\/h2> <p class=\"cap-texto\">Non c\u2019\u00e8 altro modo per dirlo. Cent\u2019anni di Douro in un bicchiere.<\/p> <\/div> <article class=\"produto peca so\" data-tags=\"porto\"> <p class=\"marca\">&nbsp;<\/p> <figure class=\"vivo\" data-garrafa=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/10\/mvloja-vvo.png?v=1\" data-vinho=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/10\/mvloja-vvo-vinho.png?v=1\" data-fundo=\"#273326\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-vvo-repouso.webp\" alt=\"Porto MYO Very Very Old accanto alla sua scatola nera, illuminato dal sole della valle del Douro all\u2019ora in cui guarda la pagina\" loading=\"lazy\" width=\"1000\" height=\"1000\"><canvas width=\"1000\" height=\"1000\" aria-hidden=\"true\"><\/canvas><\/figure> <div class=\"ficha\"><h3>MYO by MorValley Very Very Old<\/h3><span class=\"preco\">3000\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Porto<\/span><button class=\"quero\" data-id=\"6784\" data-preco=\"3000\">Lo voglio<\/button><\/div> <p class=\"luz-agora\"><span>Luce del Douro, adesso<\/span><button type=\"button\" aria-pressed=\"false\">Guardare passare il giorno<\/button><\/p> <\/article> <div class=\"nota-prova\"> <p class=\"prova\">Arancia, caramello, noce e miele. Morbido e fresco, con un finale lungo e vanigliato.<\/p> <\/div> <\/div> <\/div> <\/section> <!-- VIII. Ainda n\u00e3o aconteceu --> <section class=\"capitulo futuro atelier\" id=\"ainda\" data-paragem=\"7\" data-tom=\"9\" data-lang=\"pt\"> <div class=\"contentor\"> <div class=\"cap-cabeca\"> <div> <div class=\"cap-etiqueta\">Tempo VIII <em>Magnum 1,5 L \u00b7 54,24 \u20ac<\/em><\/div> <h2>Non \u00e8 ancora accaduto.<\/h2> <\/div> <p class=\"cap-texto\">L\u2019atelier del Magnum. Scelga il momento, scriva i nomi e veda subito come appare dipinto sul vetro.<\/p> <\/div> <div class=\"vida\" id=\"estudio\"> <div class=\"vida-abas\" role=\"group\" aria-label=\"Per chi \u00e8\"> <button class=\"aba\" type=\"button\" aria-pressed=\"true\" data-aba=\"gosta\">Per qualcuno<\/button> <button class=\"aba\" type=\"button\" aria-pressed=\"false\" data-aba=\"empresa\">Per l\u2019azienda \u00b7 Natale 2026<\/button> <\/div> <div class=\"vida-linha\" data-aba=\"gosta\"> <ol class=\"marcos\"> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"nascimento\" data-sub=\"Il cielo del giorno della nascita. Dipinto in oro sul vetro.\"><i aria-hidden=\"true\"><\/i><b>Nascita<\/b><small>il primo giorno<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"true\" data-o=\"aniversario\" data-sub=\"Ci sono numeri che si festeggiano. Il Suo.\"><i aria-hidden=\"true\"><\/i><b>Compleanno<\/b><small>ogni anno<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"casamento\" data-sub=\"Hanno detto s\u00ec. Viva gli sposi!\"><i aria-hidden=\"true\"><\/i><b>Matrimonio<\/b><small>il s\u00ec<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"casanova\" data-sub=\"Una chiave, un fiocco. Congratulazioni per la nuova casa.\"><i aria-hidden=\"true\"><\/i><b>Casa nuova<\/b><small>la chiave<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"bodas\" data-sub=\"Il ballo continua. Anno dopo anno.\"><i aria-hidden=\"true\"><\/i><b>Nozze<\/b><small>25, 50 anni<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"reforma\" data-sub=\"L\u2019ultima promozione. La migliore di tutte.\"><i aria-hidden=\"true\"><\/i><b>Pensione<\/b><small>l\u2019ultima promozione<\/small><\/button><\/li> <\/ol> <ol class=\"marcos sempre\"> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"familia\" data-sub=\"Qui manca una famiglia. La Sua.\"><i aria-hidden=\"true\"><\/i><b>Famiglia<\/b><small>ogni Natale<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"obrigado\" data-sub=\"Ci sono cose che non si pagano. Si ringraziano.\"><i aria-hidden=\"true\"><\/i><b>Grazie<\/b><small>qualsiasi giorno<\/small><\/button><\/li> <\/ol> <span class=\"agulha-vida\" aria-hidden=\"true\"><\/span> <\/div> <div class=\"vida-linha\" data-aba=\"empresa\" hidden> <ol class=\"marcos\"> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"empresaPinhas\" data-sub=\"Ci sono marchi che si regalano. Il Suo.\"><i aria-hidden=\"true\"><\/i><b>Azienda \u00b7 Pigne<\/b><small>per i clienti<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"empresaVideira\" data-sub=\"Il Douro sulla tavola dei Suoi clienti. Firmato da Lei.\"><i aria-hidden=\"true\"><\/i><b>Azienda \u00b7 Vite<\/b><small>per i clienti<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"colabPinhas\" data-sub=\"Ogni membro della squadra. Con il proprio nome.\"><i aria-hidden=\"true\"><\/i><b>Squadra \u00b7 Pigne<\/b><small>per la squadra<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"colabVideira\" data-sub=\"Un anno di lavoro. Un brindisi con il nome.\"><i aria-hidden=\"true\"><\/i><b>Squadra \u00b7 Vite<\/b><small>per la squadra<\/small><\/button><\/li> <\/ol> <span class=\"agulha-vida\" aria-hidden=\"true\"><\/span> <\/div> <div class=\"vida-palco\"> <figure class=\"vida-foto\"><img fetchpriority=\"high\" decoding=\"async\" class=\"skip-lazy\" id=\"editorFoto\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-m-aniversario-limpa.webp\" alt=\"Il Magnum scelto, dipinto e nella sua confezione\" width=\"800\" height=\"1000\"><div class=\"vf\" id=\"vfPint\" aria-hidden=\"true\"><\/div><\/figure> <div class=\"painel\"> <p class=\"passo\"><i>1<\/i>Il momento<\/p> <p class=\"editor-titulo\"><span>Il Suo Magnum<\/span><b id=\"editorNome\">Compleanno<\/b><em id=\"editorSub\">Ci sono numeri che si festeggiano. Il Suo.<\/em><\/p> <p class=\"passo\"><i>2<\/i>Scriva <em>e veda come appare sul vetro<\/em><\/p> <div class=\"vidro\" aria-live=\"polite\"> <span class=\"cota cota-h\">10 cm<\/span> <span class=\"cota cota-v\">10 cm<\/span> <div class=\"vidro-area\" id=\"vidro\"><\/div> <span class=\"vidro-legenda\">Da vicino \u00b7 l\u2019area dipinta sul vetro del Magnum<\/span> <\/div> <div class=\"campos\" id=\"campos\"><\/div> <p class=\"campos-nota\" id=\"camposNota\" hidden><\/p> <p class=\"passo\"><i>3<\/i>Confermi<\/p> <div class=\"conta\"> <div class=\"conta-linha\"><span>Magnum 1,5 L \u00b7 dipinto sul vetro<\/span><b>54,24\u20ac<\/b><\/div> <div class=\"conta-linha leve\"><span>Confezione regalo<\/span><span>inclusa<\/span><\/div> <div class=\"conta-linha leve\"><span>IVA<\/span><span>inclusa<\/span><\/div> <button class=\"botao quero-magnum\" data-preco=\"54.24\">Voglio questo Magnum<\/button> <p class=\"garantias\">Consegna in tutta l\u2019Unione europea \u00b7 Spedizione gratuita nel Portogallo continentale<\/p> <\/div> <\/div> <\/div> <\/div> <\/div> <\/section> <!-- Para servir --> <section class=\"capitulo\" id=\"servir\" data-tom=\"8\"> <div class=\"contentor\"> <div class=\"cab cab-linha\"> <div> <div class=\"cap-etiqueta\">Intorno alla bottiglia<\/div> <h2>Per servire e regalare.<\/h2> <\/div> <\/div> <div class=\"grelha\"> <article class=\"produto peca\" data-tags=\"caixa\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-frape.webp\" alt=\"Secchiello MorValley in legno e acciaio inox\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>Secchiello<\/h3><span class=\"preco\">175\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Legno e acciaio inox<\/span><button class=\"quero\" data-id=\"7791\" data-preco=\"175\">Lo voglio<\/button><\/div> <\/article> <article class=\"produto peca\" data-tags=\"caixa\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-selection.webp\" alt=\"Confezione Selection Douro Valley per tre bottiglie\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>Selection Douro Valley<\/h3><span class=\"preco\">20\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Confezione premium \u00b7 3 bottiglie<\/span><button class=\"quero\" data-ligacao=\"https:\/\/morvalley.com\/produto\/caixa-selection\/\" data-preco=\"20\">Lo voglio<\/button><\/div> <\/article> <article class=\"produto peca\" data-tags=\"caixa\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-premium.webp\" alt=\"Cassa di legno MorValley Premium per tre bottiglie\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Premium<\/h3><span class=\"preco\">15\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Cassa di legno \u00b7 3 bottiglie<\/span><button class=\"quero\" data-ligacao=\"https:\/\/morvalley.com\/produto\/caixa-premium\/\" data-preco=\"15\">Lo voglio<\/button><\/div> <\/article> <\/div> <\/div> <\/section> <\/main> <footer class=\"contentor rodape\" data-tom=\"8\"> <p class=\"aviso-legal\">Vendita vietata ai minori di 18 anni. Beva responsabilmente.<\/p> <nav class=\"legal\" aria-label=\"Informazioni legali\"> <a href=\"https:\/\/morvalley.com\/it\/termini-e-condizioni\/\">Termini e condizioni<\/a> <a href=\"https:\/\/morvalley.com\/it\/informativa-sulla-privacy\/\">Informativa sulla privacy<\/a> <a href=\"https:\/\/morvalley.com\/it\/termini-e-condizioni\/\">Spedizioni e resi<\/a> <a href=\"https:\/\/www.livroreclamacoes.pt\/Inicio\/\" target=\"_blank\" rel=\"noopener\">Libro dei reclami<\/a> <\/nav> <span class=\"coord\">41\u00b011\u00b423.79\u201dN \u00b7 7\u00b048\u00b453.9\u201dW<\/span> <span>\u00a9 2026 MorValley Douro Wines \u00b7 Valle del Douro<\/span> <\/footer> <div class=\"lupa\" id=\"lupa\" hidden role=\"dialog\" aria-modal=\"true\" aria-label=\"Fotografia ingrandita\"><img class=\"skip-lazy\" id=\"lupaImg\" alt=\"\"><button type=\"button\" id=\"lupaFechar\">Chiudi<\/button><\/div> <div class=\"gaveta-fundo\" id=\"gavetaFundo\" hidden><\/div> <aside class=\"gaveta\" id=\"gaveta\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"gavetaTitulo\" hidden> <div class=\"g-topo\"><span>Scheda tecnica<\/span><button class=\"g-fechar\" type=\"button\" aria-label=\"Chiudi la scheda tecnica\">Chiudi<\/button><\/div> <div class=\"g-corpo\" id=\"gavetaCorpo\"><\/div> <\/aside><\/div><script src=\"data:text\/javascript;base64,KGZ1bmN0aW9uKCl7IGlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtdmxvamEtZm9udGVzJykpIHJldHVybjsgdmFyIGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpOyBsLmlkPSdtdmxvamEtZm9udGVzJzsgbC5yZWw9J3N0eWxlc2hlZXQnOyBsLmhyZWY9J2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Q2luemVsOndnaHRANTAwOzYwMCZmYW1pbHk9RE0rU2FuczpvcHN6LHdnaHRAOS4uNDAsNDAwOzkuLjQwLDUwMDs5Li40MCw3MDAmZmFtaWx5PUl0YWxpYW5ubyZmYW1pbHk9UGxheWZhaXIrRGlzcGxheTppdGFsLHdnaHRAMCw0MDA7MCw1MDA7MCw2MDA7MSw0MDA7MSw1MDA7MSw2MDA7MSw3MDAmZGlzcGxheT1zd2FwJzsgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChsKTsgfSkoKTsKCi8qIEEgZ2FycmFmYSBkbyBhdGVsaWVyOiBvIHRleHRvIGVzY3JpdG8gcGludGEtc2Ugbm8gdmlkcm8gZGEgZm90b2dyYWZpYSwgcG9yIGNpbWEgZGEgZ2FycmFmYSBsaW1wYS4KICAgQ29vcmRlbmFkYXMgbmEgZm90b2dyYWZpYSBkZSA4MDAgeCAxMDAwOyB0YW1hbmhvcyBlbSBweCBkZXNzYSBmb3RvZ3JhZmlhIChjb252ZXJ0aWRvcyBwYXJhIGNxdykuICovCndpbmRvdy5NVkdhcnJhZmE9KGZ1bmN0aW9uKCl7CiAgY29uc3QgT1VSTz0nI0Q5QjM2QycsIEJSQU5DTz0nI0Y0RUZFNicsIENPQlJFPScjRDQ5QTc4JywgVkVSTUVMSE89JyNEMjNCM0InOwogIGNvbnN0IEZUPXtzZXJpZjonIlBsYXlmYWlyIERpc3BsYXkiLEdlb3JnaWEsc2VyaWYnLCBjYXBzOidDaW56ZWwsIlRyYWphbiBQcm8iLEdlb3JnaWEsc2VyaWYnLCBzY3JpcHQ6J0l0YWxpYW5ubywiU25lbGwgUm91bmRoYW5kIixjdXJzaXZlJywgc2FuczonIkRNIFNhbnMiLEFyaWFsLHNhbnMtc2VyaWYnfTsKICBjb25zdCBlc2M9dD0+U3RyaW5nKHQpLnJlcGxhY2UoL1smPD4iJ10vZyxjPT4oeycmJzonJmFtcDsnLCc8JzonJmx0OycsJz4nOicmZ3Q7JywnIic6JyZxdW90OycsIiciOicmIzM5Oyd9W2NdKSk7CiAgY29uc3QgTUVTRVM9e3B0OlsnZ2VubmFpbycsICdmZWJicmFpbycsICdtYXJ6bycsICdhcHJpbGUnLCAnbWFnZ2lvJywgJ2dpdWdubycsICdsdWdsaW8nLCAnYWdvc3RvJywgJ3NldHRlbWJyZScsICdvdHRvYnJlJywgJ25vdmVtYnJlJywgJ2RpY2VtYnJlJ10sCiAgICAgICAgICAgICAgIGVuOlsnSmFudWFyeScsJ0ZlYnJ1YXJ5JywnTWFyY2gnLCdBcHJpbCcsJ01heScsJ0p1bmUnLCdKdWx5JywnQXVndXN0JywnU2VwdGVtYmVyJywnT2N0b2JlcicsJ05vdmVtYmVyJywnRGVjZW1iZXInXX07CiAgY29uc3QgU0lHTk9TPXtwdDpbJ0NhcHJpY29ybm8nLCAnQWNxdWFyaW8nLCAnUGVzY2knLCAnQXJpZXRlJywgJ1Rvcm8nLCAnR2VtZWxsaScsICdDYW5jcm8nLCAnTGVvbmUnLCAnVmVyZ2luZScsICdCaWxhbmNpYScsICdTY29ycGlvbmUnLCAnU2FnaXR0YXJpbyddLAogICAgICAgICAgICAgICAgZW46WydDYXByaWNvcm4nLCdBcXVhcml1cycsJ1Bpc2NlcycsJ0FyaWVzJywnVGF1cnVzJywnR2VtaW5pJywnQ2FuY2VyJywnTGVvJywnVmlyZ28nLCdMaWJyYScsJ1Njb3JwaW8nLCdTYWdpdHRhcml1cyddfTsKICBjb25zdCBDT1JURT1bMjAsMTksMjEsMjAsMjEsMjEsMjMsMjMsMjMsMjMsMjIsMjJdOwogIGZ1bmN0aW9uIGRhdGEodCl7Y29uc3QgbT1TdHJpbmcodHx8JycpLm1hdGNoKC9eKFxkezEsMn0pWy5cLy1dKFxkezEsMn0pWy5cLy1dKFxkezR9KSQvKTsgaWYoIW0pIHJldHVybiBudWxsOyBjb25zdCBkPSttWzFdLCBtbT0rbVsyXSwgYT0rbVszXTsgaWYobW08MXx8bW0+MTJ8fGQ8MXx8ZD4zMSkgcmV0dXJuIG51bGw7IHJldHVybiB7ZCxtOm1tLGF9O30KICBmdW5jdGlvbiBzaWdubyhkdCxsKXsgaWYoIWR0KSByZXR1cm4gJyc7IGNvbnN0IGk9ZHQuZDxDT1JURVtkdC5tLTFdPyhkdC5tLTEpOmR0Lm0lMTI7IHJldHVybiBTSUdOT1NbbF1baV07IH0KICBmdW5jdGlvbiBkYXRhTG9uZ2EoZHQsbCl7IGlmKCFkdCkgcmV0dXJuICcnOyByZXR1cm4gbD09PSdlbic\/IGR0LmQrJyAnK01FU0VTLmVuW2R0Lm0tMV0rJyAnK2R0LmEgOiBkdC5kKycgJytNRVNFUy5wdFtkdC5tLTFdKycgJytkdC5hOyB9CiAgZnVuY3Rpb24gZGF0YUN1cnRhKGR0LGwpeyBpZighZHQpIHJldHVybiAnJzsgcmV0dXJuIGR0LmQrJyAnK01FU0VTW2xdW2R0Lm0tMV0udG9VcHBlckNhc2UoKSsnICcrZHQuYTsgfQogIC8vIHVtYSBsaW5oYTogeCx5IGNlbnRybyAob3Ugw6JuY29yYSksIGZzIGVtIHB4IGRhIGZvdG8sIGxhcmd1cmEgbcOheGltYSBlbSBweCBkYSBmb3RvCiAgZnVuY3Rpb24gTCh0LHgseSxmcyxvKXsgbz1vfHx7fTsgcmV0dXJuIE9iamVjdC5hc3NpZ24oe3QseCx5LGZzLGZvbnQ6RlQuc2VyaWYsY29yOkJSQU5DTyx3dDo0MDAsaXQ6ZmFsc2UsbHM6MCxhbDonYycsbWF4OjI0MCxodG1sOmZhbHNlfSxvKTsgfQogIGZ1bmN0aW9uIG5vbWVEdWFzKG4peyBjb25zdCBwPVN0cmluZyhuKS50cmltKCkuc3BsaXQoL1xzKy8pOyBpZihwLmxlbmd0aDwyKSByZXR1cm4gW24sJyddOyByZXR1cm4gW3BbMF0scC5zbGljZSgxKS5qb2luKCcgJyldOyB9CiAgY29uc3QgVD17CiAgICBwdDp7cHJvbW86J0NvbmdyYXR1bGF6aW9uaSBwZXIgbGEgPGIgc3R5bGU9ImNvbG9yOicrVkVSTUVMSE8rJyI+cHJvbW96aW9uZTwvYj4nLGNhc2FOb3ZhOidDb25ncmF0dWxhemlvbmkgcGVyIGxhIG51b3ZhIGNhc2EnLGZhbWlsaWE6J0ZhbWlnbGlhJyxmZWxpYzonVGFudGkgYXVndXJpJyxhbm9zOidhbm5pJyxyZXNlcnZhOidSaXNlcnZhJyxub2l2b3M6J2RlZ2xpIHNwb3NpJyxvYnJpZ2FkbzonR3JhemllJyxmYW1pbGlhRGU6YT0+J0ZhbWlnbGlhICcrYX0sCiAgICBlbjp7cHJvbW86J0NvbmdyYXR1bGF0aW9ucyBvbiB0aGUgPGIgc3R5bGU9ImNvbG9yOicrVkVSTUVMSE8rJyI+cHJvbW90aW9uPC9iPicsY2FzYU5vdmE6J0NvbmdyYXR1bGF0aW9ucyBvbiB5b3VyIG5ldyBob21lJyxmYW1pbGlhOidGYW1pbHknLGZlbGljOidFdmVyeSBoYXBwaW5lc3MnLGFub3M6J3llYXJzJyxyZXNlcnZhOidSZXNlcnZlJyxub2l2b3M6J29mIHRoZSBuZXdseXdlZHMnLG9icmlnYWRvOidUaGFuayB5b3UnLGZhbWlsaWFEZTphPT4nVGhlICcrYSsnIGZhbWlseSd9CiAgfTsKICBjb25zdCBEPXsKICAgIGFuaXZlcnNhcmlvOih2LGwpPT57Y29uc3QgW2EsYl09bm9tZUR1YXModi5ub21lKTsgcmV0dXJuIFtMKHYuaWRhZGUsMjU0LDUzOCwxMjAse2ZvbnQ6RlQuc2VyaWYsd3Q6NjAwLGNvcjpPVVJPLG1heDoyMTB9KSwgTChhLDI1Myw2MzIsNjIse2ZvbnQ6RlQuc2NyaXB0LGNvcjpPVVJPLG1heDoyMjB9KSwgTChiLDI1Myw2NzcsNjIse2ZvbnQ6RlQuc2NyaXB0LGNvcjpPVVJPLG1heDoyMjB9KV07fSwKICAgIG5hc2NpbWVudG86KHYsbCk9Pntjb25zdCBkdD1kYXRhKHYuZGF0YSk7IHJldHVybiBbTChzaWdubyhkdCxsKS50b1VwcGVyQ2FzZSgpLDI2Miw1NzEsOS41LHtmb250OkZULmNhcHMsY29yOk9VUk8sbHM6LjI4fSksIEwoU3RyaW5nKHYubm9tZSkudG9VcHBlckNhc2UoKSwyNjIsNTkyLDI0LjUse2ZvbnQ6RlQuY2Fwcyx3dDo3MDAsbWF4OjIxNX0pLCBMKGRhdGFMb25nYShkdCxsKSwyNjIsNjEzLDkuNSx7Zm9udDpGVC5zZXJpZixpdDp0cnVlfSldO30sCiAgICBjYXNhbWVudG86KHYsbCk9Pntjb25zdCBkdD1kYXRhKHYuZGF0YSk7IHJldHVybiBbTChUW2xdLnJlc2VydmEsMTg1LDUwNSwxMSx7Zm9udDpGVC5jYXBzLGFsOidsJyxsczouMDR9KSwgTChUW2xdLm5vaXZvcy50b1VwcGVyQ2FzZSgpLDE4NSw1MjAsOC41LHtmb250OkZULmNhcHMsYWw6J2wnLGxzOi4xMn0pLAogICAgICBMKFN0cmluZyh2LmEpLnRvVXBwZXJDYXNlKCksMTg1LDU2MCwzNCx7Zm9udDpGVC5jYXBzLHd0OjcwMCxhbDonbCcsbWF4OjExMn0pLCBMKCcmYW1wOycsMzAwLDU3OCw3OCx7Zm9udDpGVC5zZXJpZixpdDp0cnVlLGNvcjpDT0JSRSxodG1sOnRydWV9KSwgTChTdHJpbmcodi5iKS50b1VwcGVyQ2FzZSgpLDM0Miw2MTIsMzQse2ZvbnQ6RlQuY2Fwcyx3dDo3MDAsYWw6J3InLG1heDoxNTB9KSwKICAgICAgTChkYXRhQ3VydGEoZHQsbCksMzM4LDY2OCwxMSx7Zm9udDpGVC5jYXBzLGFsOidyJyxsczouMDh9KV07fSwKICAgIGNhc2Fub3ZhOih2LGwpPT5bTChUW2xdLmNhc2FOb3ZhLDI2MCw1ODMsMjUse2ZvbnQ6RlQuc2NyaXB0LGNvcjpPVVJPLG1heDoyMzB9KSwgTChUW2xdLmZhbWlsaWFEZShTdHJpbmcodi5hcGVsaWRvKSkudG9VcHBlckNhc2UoKSwyNjAsNjA3LDE1LHtmb250OkZULmNhcHMsd3Q6NjAwLG1heDoyMzB9KSwgTChUW2xdLmZlbGljKycgwrcgJyt2LmFubywyNjAsNjI0LDcse2ZvbnQ6RlQuc2Fucyxjb3I6T1VST30pXSwKICAgIGJvZGFzOih2LGwpPT57Y29uc3Qgbj1wYXJzZUludCh2LmFub3MsMTApLCB5PW5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTsgcmV0dXJuIFtMKCc8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JytGVC5zZXJpZi5yZXBsYWNlKC8iL2csIiciKSsnO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MS45ZW0iPicrZXNjKHYuYW5vcykrJzwvc3Bhbj4gJytUW2xdLmFub3MudG9VcHBlckNhc2UoKSwyNTUsNTg4LDE0LHtmb250OkZULmNhcHMsd3Q6NjAwLGNvcjpPVVJPLGh0bWw6dHJ1ZSxsczouMDZ9KSwKICAgICAgTCh2LmErJyAmICcrdi5iLDI1NSw2MTEsMjQse2ZvbnQ6RlQuc2NyaXB0LGNvcjpPVVJPLG1heDoyMDB9KSwgTChpc05hTihuKT8nJzooeS1uKSsnIMK3ICcreSwyNTUsNjI4LDcuNSx7Zm9udDpGVC5jYXBzLGxzOi4xfSldO30sCiAgICByZWZvcm1hOih2LGwpPT5bTChUW2xdLnByb21vLnRvVXBwZXJDYXNlKCksMjYyLDUyMiw4LjUse2ZvbnQ6RlQuY2Fwcyx3dDo2MDAsbHM6LjEyLGh0bWw6dHJ1ZSxtYXg6MjAwfSksIEwoU3RyaW5nKHYubm9tZSkudG9VcHBlckNhc2UoKSwyNjIsNTY3LDIxLHtmb250OkZULmNhcHMsd3Q6NzAwLG1heDoyMjB9KSwKICAgICAgTCgnPGkgc3R5bGU9ImRpc3BsYXk6YmxvY2s7d2lkdGg6NDBweDtoZWlnaHQ6M3B4O2JhY2tncm91bmQ6JytWRVJNRUxITysnIj48L2k+JywyNjIsNTg2LDEwLHtodG1sOnRydWV9KSwgTChTdHJpbmcodi5jYXJnbykudG9VcHBlckNhc2UoKSwyNjIsNjE2LDE1LHtmb250OkZULmNhcHMsd3Q6NzAwLG1heDoxNjUscXVlYnJhOnRydWV9KSwgTChTdHJpbmcodi5hc3MpLnRvVXBwZXJDYXNlKCksMjYyLDY1OSw4LjUse2ZvbnQ6RlQuY2Fwcyx3dDo2MDAsbHM6LjEsbWF4OjIyMH0pXSwKICAgIGZhbWlsaWE6KHYsbCk9PltMKFRbbF0uZmFtaWxpYSwyNTYsNTQzLDI0LHtmb250OkZULnNjcmlwdH0pLCBMKHYuYXBlbGlkbywyNTYsNTc4LDQyLHtmb250OkZULnNjcmlwdCxtYXg6MTAwfSldLAogICAgb2JyaWdhZG86KHYsbCk9PltMKFRbbF0ub2JyaWdhZG8sMjQ2LDQ1MywzNCx7Zm9udDpGVC5zY3JpcHQsY29yOk9VUk99KSwgTChTdHJpbmcodi5wYXJhKS50b1VwcGVyQ2FzZSgpLDI0Niw0ODAsMTEse2ZvbnQ6RlQuY2Fwcyx3dDo2MDAsbWF4OjE4MH0pLCBMKHYucG9ycXVlLDI0Niw0OTQsOC41LHtmb250OkZULnNlcmlmLGl0OnRydWUsbWF4OjIwMH0pXSwKICAgIGNvbGFiUGluaGFzOih2LGwpPT57Y29uc3QgW2EsYl09bm9tZUR1YXModi5ub21lKTsgcmV0dXJuIFtMKGEsMjg4LDY1Miw1Nix7Zm9udDpGVC5zY3JpcHQsY29yOk9VUk8sbWF4OjIwMH0pLCBMKGIsMjg4LDcwMCw1Nix7Zm9udDpGVC5zY3JpcHQsY29yOk9VUk8sbWF4OjIwMH0pXTt9LAogICAgY29sYWJWaWRlaXJhOih2LGwpPT5bTCh2Lm5vbWUsMjc4LDY4NSw0Nix7Zm9udDpGVC5zY3JpcHQsY29yOk9VUk8sbWF4OjIwNX0pXQogIH07CiAgZnVuY3Rpb24gZGVzZW5oYShlbCxvYyx2LGwpewogICAgbD1sPT09J2VuJz8nZW4nOidwdCc7CiAgICBpZighRFtvY10peyBlbC5pbm5lckhUTUw9Jyc7IGVsLmhpZGRlbj10cnVlOyByZXR1cm4gZmFsc2U7IH0KICAgIGVsLmhpZGRlbj1mYWxzZTsKICAgIGVsLmlubmVySFRNTD1EW29jXSh2LGwpLmZpbHRlcih4PT54LnQhPT0nJyYmeC50IT1udWxsKS5tYXAoeD0+ewogICAgICBjb25zdCB0eD14LmFsPT09J2wnPycwJzp4LmFsPT09J3InPyctMTAwJSc6Jy01MCUnOwogICAgICBjb25zdCBzdD1gbGVmdDoke3gueC84fWNxdzt0b3A6JHt4LnkvOH1jcXc7Zm9udC1zaXplOiR7eC5mcy84fWNxdztmb250LWZhbWlseToke3guZm9udC5yZXBsYWNlKC8iL2csIiciKX07Y29sb3I6JHt4LmNvcn07Zm9udC13ZWlnaHQ6JHt4Lnd0fTtmb250LXN0eWxlOiR7eC5pdD8naXRhbGljJzonbm9ybWFsJ307bGV0dGVyLXNwYWNpbmc6JHt4LmxzfWVtO3RyYW5zZm9ybTp0cmFuc2xhdGUoJHt0eH0sLTUwJSk7dGV4dC1hbGlnbjoke3guYWw9PT0nbCc\/J2xlZnQnOnguYWw9PT0ncic\/J3JpZ2h0JzonY2VudGVyJ307JHt4LnF1ZWJyYT8nd2hpdGUtc3BhY2U6bm9ybWFsO3dpZHRoOicrKHgubWF4LzgpKydjcXc7bGluZS1oZWlnaHQ6MS4yNSc6Jyd9YDsKICAgICAgcmV0dXJuIGA8c3BhbiBjbGFzcz0idmYtbCIgZGF0YS1tYXg9IiR7eC5tYXh9IiBzdHlsZT0iJHtzdH0iPiR7eC5odG1sP3gudDplc2MoeC50KX08L3NwYW4+YDsKICAgIH0pLmpvaW4oJycpOwogICAgLy8gbyB0ZXh0byB0ZW0gZGUgY2FiZXIgbm8gdmlkcm86IHNlIGZvciBjb21wcmlkbywgZW5jb2xoZQogICAgZWwucXVlcnlTZWxlY3RvckFsbCgnLnZmLWwnKS5mb3JFYWNoKHM9PnsKICAgICAgaWYocy5zdHlsZS53aGl0ZVNwYWNlPT09J25vcm1hbCcpIHJldHVybjsKICAgICAgY29uc3QgbGltPWVsLmNsaWVudFdpZHRoKigrcy5kYXRhc2V0Lm1heC84MDApOyBjb25zdCB3PXMuc2Nyb2xsV2lkdGg7CiAgICAgIGlmKHc+bGltJiZsaW0+MCl7IHMuc3R5bGUuZm9udFNpemU9KHBhcnNlRmxvYXQocy5zdHlsZS5mb250U2l6ZSkqbGltL3cpKydjcXcnOyB9CiAgICB9KTsKICAgIHJldHVybiB0cnVlOwogIH0KICByZXR1cm4ge2Rlc2VuaGEsIHRlbTpvYz0+ISFEW29jXX07Cn0pKCk7CgoKKGZ1bmN0aW9uKCl7CiAgLyogUsOpZ3VhOiBhIGFndWxoYSBjb3JyZSBjb20gYSBsZWl0dXJhIGRhIHDDoWdpbmEgKi8KICBjb25zdCBjYXBzPVsuLi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1wYXJhZ2VtXScpXTsKICBjb25zdCBwYXJhZ2Vucz1bLi4uZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnBhcmFnZW0nKV07CiAgY29uc3QgYWd1bGhhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhZ3VsaGEnKTsKICBjb25zdCB0b3BvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b3BvJyk7CiAgY29uc3QgdG9ucz1bLi4uZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtdG9tXScpXTsKICBjb25zdCBWQVJTPVsnLS1jaGFvJywnLS1jaGFvLTInLCctLXBhcGVsJywnLS1jaW56YScsJy0tb3VybycsJy0tb3Vyby1mb3J0ZScsJy0tZmlvJ107CiAgbGV0IHRvbUF0dWFsPW51bGw7CiAgZnVuY3Rpb24gdG9tRG9Ub3BvKCl7CiAgICBjb25zdCB5PXRvcG8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuYm90dG9tKzI7CiAgICBsZXQgc2VjPXRvbnNbMF07CiAgICBmb3IoY29uc3QgdCBvZiB0b25zKXsgaWYodC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A8PXkpIHNlYz10OyB9CiAgICBpZihzZWM9PT10b21BdHVhbCkgcmV0dXJuOwogICAgdG9tQXR1YWw9c2VjOwogICAgY29uc3QgY3M9Z2V0Q29tcHV0ZWRTdHlsZShzZWMpOwogICAgVkFSUy5mb3JFYWNoKHY9PnRvcG8uc3R5bGUuc2V0UHJvcGVydHkodixjcy5nZXRQcm9wZXJ0eVZhbHVlKHYpLnRyaW0oKSkpOwogICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWZhaXhhJyxjcy5nZXRQcm9wZXJ0eVZhbHVlKCctLWNoYW8nKS50cmltKCkpOwogIH0KICBjb25zdCByYWl6PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtdmxvamEnKTsKICBmdW5jdGlvbiBhbHR1cmFTaXRlKCl7CiAgICBsZXQgZnVuZG89MDsgY29uc3QgcnM9W107CiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdoZWFkZXIuZWxlbWVudG9yLWxvY2F0aW9uLWhlYWRlciAqLCAjd3BhZG1pbmJhcicpLmZvckVhY2goZT0+ewogICAgICBjb25zdCBjcz1nZXRDb21wdXRlZFN0eWxlKGUpOyBpZihjcy5wb3NpdGlvbiE9PSdmaXhlZCd8fGNzLmRpc3BsYXk9PT0nbm9uZSd8fGNzLnZpc2liaWxpdHk9PT0naGlkZGVuJ3x8cGFyc2VGbG9hdChjcy5vcGFjaXR5KT09PTApIHJldHVybjsKICAgICAgY29uc3Qgcj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOyBpZighKHIuaGVpZ2h0PjAgJiYgci53aWR0aD53aW5kb3cuaW5uZXJXaWR0aCowLjUgJiYgci5oZWlnaHQ8d2luZG93LmlubmVySGVpZ2h0KjAuNSkpIHJldHVybjsgY29uc3QgcD1kb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KE1hdGgubWluKHdpbmRvdy5pbm5lcldpZHRoLTIsTWF0aC5tYXgoMixyLmxlZnQrci53aWR0aC8yKSksTWF0aC5tYXgoMCxyLmJvdHRvbS0zKSk7IGlmKHAmJihwPT09ZXx8ZS5jb250YWlucyhwKSkpIHJzLnB1c2gocik7CiAgICB9KTsKICAgIHJzLnNvcnQoKGEsYik9PmEudG9wLWIudG9wKS5mb3JFYWNoKHI9PnsgaWYoci50b3A8PWZ1bmRvKzIpIGZ1bmRvPU1hdGgubWF4KGZ1bmRvLHIuYm90dG9tKTsgfSk7CiAgICByYWl6LnN0eWxlLnNldFByb3BlcnR5KCctLW12LXRvcG8nLE1hdGgucm91bmQoZnVuZG8pKydweCcpOwogICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNjcm9sbFBhZGRpbmdUb3A9TWF0aC5yb3VuZChmdW5kbyt0b3BvLm9mZnNldEhlaWdodCsxMikrJ3B4JzsKICB9CiAgbGV0IHRBbHR1cmE9bnVsbDsKICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywoKT0+e2NsZWFyVGltZW91dCh0QWx0dXJhKTsgdEFsdHVyYT1zZXRUaW1lb3V0KCgpPT57YWx0dXJhU2l0ZSgpO3Bvc2ljYW8oKTt9LDkwKTt9LHtwYXNzaXZlOnRydWV9KTsKICBzZXRUaW1lb3V0KGFsdHVyYVNpdGUsNjAwKTsKICBmdW5jdGlvbiBwb3NpY2FvKCl7CiAgICBhbHR1cmFTaXRlKCk7CiAgICB0b21Eb1RvcG8oKTsKICAgIGlmKCFhZ3VsaGEpIHJldHVybjsKICAgIGNvbnN0IGxpbmhhPXRvcG8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuYm90dG9tK3dpbmRvdy5pbm5lckhlaWdodCowLjI1OwogICAgbGV0IGlkeD0tMSwgZnJhYz0wOwogICAgY2Fwcy5mb3JFYWNoKChjLGkpPT57CiAgICAgIGNvbnN0IHI9Yy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICAgICAgaWYoci50b3A8PWxpbmhhKXtpZHg9aTtmcmFjPU1hdGgubWluKDEsTWF0aC5tYXgoMCwobGluaGEtci50b3ApL3IuaGVpZ2h0KSk7fQogICAgfSk7CiAgICBjb25zdCBuPWNhcHMubGVuZ3RoOwogICAgbGV0IHBvczsKICAgIGlmKGlkeDwwKXtwb3M9MH0KICAgIGVsc2V7cG9zPShpZHgrZnJhYykvbn0KICAgIHBvcz1NYXRoLm1pbigxLHBvcyk7CiAgICBhZ3VsaGEuc3R5bGUubGVmdD0ocG9zKjEwMCkrJyUnOwogICAgcGFyYWdlbnMuZm9yRWFjaCgocCxpKT0+cC5zZXRBdHRyaWJ1dGUoJ2FyaWEtY3VycmVudCcsaT09PWlkeD8ndHJ1ZSc6J2ZhbHNlJykpOwogIH0KICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJyxwb3NpY2FvLHtwYXNzaXZlOnRydWV9KTsKICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJyxwb3NpY2FvKTsKICBwb3NpY2FvKCk7CiAgcGFyYWdlbnMuZm9yRWFjaChwPT5wLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywoKT0+ewogICAgY29uc3QgYWx2bz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChwLmRhdGFzZXQuYWx2byk7CiAgICBpZihhbHZvKSBhbHZvLnNjcm9sbEludG9WaWV3KHtiZWhhdmlvcjptYXRjaE1lZGlhKCcocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKScpLm1hdGNoZXM\/J2F1dG8nOidzbW9vdGgnfSk7CiAgfSkpOwoKICAvKiBGaWx0cm9zOiBvcyB2aW5ob3MgZXNjb2xoaWRvcyBzb2JlbSBwYXJhIG8gdG9wbywgbnVtYSBzw7MgbGlzdGE7IGVtICJUdWRvIiB2b2x0YSBhIGxvamEgcGVsbyB0ZW1wbyAqLwogIGNvbnN0IGZpbHRyb3M9Wy4uLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5maWx0cm8nKV07CiAgY29uc3QgY2FwaXR1bG9zPVsuLi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdzZWN0aW9uLmNhcGl0dWxvW2RhdGEtcGFyYWdlbV06bm90KCNhaW5kYSksICNzZXJ2aXInKV07CiAgY29uc3Qgbm9tZXM9e3RpbnRvOidSb3NzbycsYnJhbmNvOidCaWFuY28nLHBvcnRvOidQb3J0bycsY2FpeGE6J0Nhc3NlIGUgY29uZmV6aW9uaSd9OwogIGNvbnN0IHJlcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWN0aW9uJyk7IHJlcy5jbGFzc05hbWU9J2NhcGl0dWxvIHJlc3VsdGFkb3MnOyByZXMuZGF0YXNldC50b209JzEnOyByZXMuaGlkZGVuPXRydWU7CiAgcmVzLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iY29udGVudG9yIj48ZGl2IGNsYXNzPSJyZXMtY2FiIj48cCBjbGFzcz0iY2FwLWV0aXF1ZXRhIiBpZD0icmVzVGl0dWxvIj48L3A+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJyZXMtbGltcGFyIj5WZWRlcmUgdHV0dG8gaWwgbmVnb3ppbzwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9ImdyZWxoYSByZXMtZ3JlbGhhIiBpZD0icmVzR3JlbGhhIj48L2Rpdj48L2Rpdj4nOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbmljaW8nKS5hZnRlcihyZXMpOwogIGNvbnN0IGdyZWxoYVI9cmVzLnF1ZXJ5U2VsZWN0b3IoJyNyZXNHcmVsaGEnKSwgdGl0dWxvUj1yZXMucXVlcnlTZWxlY3RvcignI3Jlc1RpdHVsbycpOwogIGNvbnN0IGx1Z2FyZXM9bmV3IE1hcCgpOwogIGZ1bmN0aW9uIHJlcG9yKCl7CiAgICBsdWdhcmVzLmZvckVhY2goKG1hcmNhLHApPT57bWFyY2EucmVwbGFjZVdpdGgocCk7fSk7IGx1Z2FyZXMuY2xlYXIoKTsKICAgIHJlcy5oaWRkZW49dHJ1ZTsgY2FwaXR1bG9zLmZvckVhY2goYz0+Yy5oaWRkZW49ZmFsc2UpOwogIH0KICBmdW5jdGlvbiBhcGxpY2Eodil7CiAgICBmaWx0cm9zLmZvckVhY2goeD0+eC5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcseC5kYXRhc2V0LmY9PT12Pyd0cnVlJzonZmFsc2UnKSk7CiAgICByZXBvcigpOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbXZsb2phJykuY2xhc3NMaXN0LnRvZ2dsZSgnYS1maWx0cmFyJyx2IT09J3RvZG9zJyk7CiAgICBpZih2PT09J3RvZG9zJykgcmV0dXJuOwogICAgY29uc3Qgc2VsPVsuLi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucGVjYVtkYXRhLXRhZ3NdJyldLmZpbHRlcihwPT5wLmRhdGFzZXQudGFncy5zcGxpdCgnICcpLmluY2x1ZGVzKHYpICYmICFwLmNsb3Nlc3QoJyNhaW5kYScpKTsKICAgIHNlbC5mb3JFYWNoKHA9Pntjb25zdCBtPWRvY3VtZW50LmNyZWF0ZUNvbW1lbnQoJ2x1Z2FyJyk7IHAucmVwbGFjZVdpdGgobSk7IGx1Z2FyZXMuc2V0KHAsbSk7IGdyZWxoYVIuYXBwZW5kQ2hpbGQocCk7fSk7CiAgICB0aXR1bG9SLmlubmVySFRNTD1ub21lc1t2XSsnIDxlbT4nK3NlbC5sZW5ndGgrKHNlbC5sZW5ndGg9PT0xPycgcHJvZG90dG8nOicgcHJvZG90dGknKSsnPC9lbT4nOwogICAgY2FwaXR1bG9zLmZvckVhY2goYz0+Yy5oaWRkZW49dHJ1ZSk7IHJlcy5oaWRkZW49ZmFsc2U7CiAgICByZXMuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOm1hdGNoTWVkaWEoJyhwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpJykubWF0Y2hlcz8nYXV0byc6J3Ntb290aCcsYmxvY2s6J3N0YXJ0J30pOwogIH0KICBmaWx0cm9zLmZvckVhY2goZj0+Zi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9PmFwbGljYShmLmRhdGFzZXQuZikpKTsKICAvLyBhIHLDqWd1YSBkbyB0ZW1wbyB2b2x0YSBhIG1vc3RyYXIgYSBsb2phIHRvZGEgcXVhbmRvIMOpIHVzYWRhCiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnBhcmFnZW0nKS5mb3JFYWNoKHBhPT5wYS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9PnsgaWYoIXJlcy5oaWRkZW4pIGFwbGljYSgndG9kb3MnKTsgfSx0cnVlKSk7CiAgcmVzLnF1ZXJ5U2VsZWN0b3IoJy5yZXMtbGltcGFyJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCgpPT57YXBsaWNhKCd0b2RvcycpOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5pY2lvJykuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnfSk7fSk7CgogIC8qIENhcnJpbmhvIHZlcmRhZGVpcm8gZG8gV29vQ29tbWVyY2U6IGFvIGVzY29saGVyIHVtIHZpbmhvIGFwYXJlY2UgYSBxdWFudGlkYWRlLCBxdWUgc2UgYWNlcnRhIGNvbSAtIGUgKyAqLwogIGNvbnN0IEFQST0nL3dwLWpzb24vd2Mvc3RvcmUvdjEvJzsgbGV0IG5vbmNlPW51bGw7CiAgYXN5bmMgZnVuY3Rpb24gcGVkZShjYW1pbmhvLGRhZG9zKXsKICAgIGNvbnN0IGg9eydDb250ZW50LVR5cGUnOidhcHBsaWNhdGlvbi9qc29uJ307IGlmKG5vbmNlKSBoWydOb25jZSddPW5vbmNlOwogICAgY29uc3Qgcj1hd2FpdCBmZXRjaChBUEkrY2FtaW5obyx7bWV0aG9kOmRhZG9zPydQT1NUJzonR0VUJyxjcmVkZW50aWFsczonc2FtZS1vcmlnaW4nLGhlYWRlcnM6aCxib2R5OmRhZG9zP0pTT04uc3RyaW5naWZ5KGRhZG9zKTp1bmRlZmluZWR9KTsKICAgIGNvbnN0IG49ci5oZWFkZXJzLmdldCgnTm9uY2UnKTsgaWYobikgbm9uY2U9bjsKICAgIGNvbnN0IGo9YXdhaXQgci5qc29uKCkuY2F0Y2goKCk9Pih7fSkpOwogICAgaWYoIXIub2spIHRocm93IGo7IHJldHVybiBqOwogIH0KICBmdW5jdGlvbiBhdmlzYVNpdGUoKXsKICAgIC8vIG8gY2FycmluaG8gZG8gY2FiZcOnYWxobyBkbyBzaXRlIGFjdHVhbGl6YS1zZSBzZW0gcmVjYXJyZWdhciBhIHDDoWdpbmEKICAgIGZldGNoKCcvaXQvP3djLWFqYXg9Z2V0X3JlZnJlc2hlZF9mcmFnbWVudHMnLHttZXRob2Q6J1BPU1QnLGNyZWRlbnRpYWxzOidzYW1lLW9yaWdpbid9KS50aGVuKHI9PnIuanNvbigpKS50aGVuKGQ9PnsKICAgICAgT2JqZWN0LmVudHJpZXMoZCYmZC5mcmFnbWVudHN8fHt9KS5mb3JFYWNoKChbc2VsLGh0bWxdKT0+eyBpZighL15bLiNhLXpdL2kudGVzdChzZWwpKSByZXR1cm47IHRyeXsgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWwpLmZvckVhY2goZWw9PntlbC5vdXRlckhUTUw9aHRtbDt9KTsgfWNhdGNoKGUpe30gfSk7CiAgICAgIHRyeXsgaWYod2luZG93LmpRdWVyeSkgalF1ZXJ5KGRvY3VtZW50LmJvZHkpLnRyaWdnZXIoJ3djX2ZyYWdtZW50c19yZWZyZXNoZWQnKTsgfWNhdGNoKGUpe30KICAgIH0pLmNhdGNoKCgpPT57fSk7CiAgfQogIGNvbnN0IGJvdG9lcz1uZXcgTWFwKCk7CiAgZnVuY3Rpb24gYXBsaWNhQ2FycmluaG8oYyl7CiAgICBjb25zdCBwb3JJZD17fTsgKGMmJmMuaXRlbXN8fFtdKS5mb3JFYWNoKGk9Pntwb3JJZFtpLmlkXT1pO30pOwogICAgYm90b2VzLmZvckVhY2goKGN0bCxpZCk9Pntjb25zdCBpPXBvcklkW2lkXTsgY3RsLmRlZmluZShpP2kucXVhbnRpdHk6MCxpP2kua2V5Om51bGwpO30pOwogIH0KICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucXVlcm8nKS5mb3JFYWNoKGI9PnsKICAgIGNvbnN0IGNhaXhhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOyBjYWl4YS5jbGFzc05hbWU9J2NvbXByYXInOwogICAgY29uc3QgcT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsgcS5jbGFzc05hbWU9J3F0ZCc7CiAgICBxLmlubmVySFRNTD0nPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJxdGQtbWVub3MiIGFyaWEtbGFiZWw9IlVuYSBpbiBtZW5vIj7iiJI8L2J1dHRvbj48b3V0cHV0IGFyaWEtbGl2ZT0icG9saXRlIj4xPC9vdXRwdXQ+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJxdGQtbWFpcyIgYXJpYS1sYWJlbD0iVW5hIGluIHBpw7kiPis8L2J1dHRvbj4nOwogICAgYi5yZXBsYWNlV2l0aChjYWl4YSk7IGNhaXhhLmFwcGVuZChxLGIpOwogICAgaWYoYi5kYXRhc2V0LmxpZ2FjYW8peyBjYWl4YS5jbGFzc0xpc3QuYWRkKCdsaWdhY2FvJyk7IGIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCgpPT57bG9jYXRpb24uaHJlZj1iLmRhdGFzZXQubGlnYWNhbzt9KTsgcmV0dXJuOyB9CiAgICBjb25zdCBpZD1wYXJzZUludChiLmRhdGFzZXQuaWQsMTApOwogICAgY29uc3Qgb3V0PXEucXVlcnlTZWxlY3Rvcignb3V0cHV0Jyk7IGxldCBuPTEsIG5vQ2FycmluaG89MCwgY2hhdmU9bnVsbCwgb2N1cGFkbz1mYWxzZTsKICAgIGNvbnN0IHRleHRvPWIudGV4dENvbnRlbnQ7CiAgICAvLyBhbnRlcyBkZSBjb21wcmFyOiBlc2NvbGhlLXNlIGEgcXVhbnRpZGFkZSAobcOtbmltbyAxKQogICAgLy8gZGVwb2lzIGRlIGNvbXByYXI6IG8gbsO6bWVybyDDqSBvIHF1ZSBlc3TDoSBubyBjYXJyaW5obzsgYSAwIGEgY29tcHJhIHNhaQogICAgY29uc3QgbW9zdHJhPSgpPT57CiAgICAgIG91dC50ZXh0Q29udGVudD1ub0NhcnJpbmhvP25vQ2FycmluaG86bjsKICAgICAgYi50ZXh0Q29udGVudD1ub0NhcnJpbmhvPydOZWwgY2FycmVsbG8nOnRleHRvOwogICAgICBiLmNsYXNzTGlzdC50b2dnbGUoJ2ZlaXRvJyxub0NhcnJpbmhvPjApOwogICAgICBxLnF1ZXJ5U2VsZWN0b3IoJy5xdGQtbWVub3MnKS5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLG5vQ2FycmluaG89PT0xPydUb2dsaWVyZSBkYWwgY2FycmVsbG8nOidVbmEgaW4gbWVubycpOwogICAgICBjb25zdCBtYWlzPXEucXVlcnlTZWxlY3RvcignLnF0ZC1tYWlzJyksIG5vTGltaXRlPShub0NhcnJpbmhvfHxuKT49bWF4aW1vOwogICAgICBtYWlzLmRpc2FibGVkPW5vTGltaXRlOyBtYWlzLnN0eWxlLm9wYWNpdHk9bm9MaW1pdGU\/Jy4zJzonJzsgbWFpcy5zdHlsZS5jdXJzb3I9bm9MaW1pdGU\/J2RlZmF1bHQnOicnOwogICAgfTsKICAgIGxldCBtYXhpbW89OTk7CiAgICBjb25zdCBmYWxoYT0oZSk9PnsKICAgICAgY29uc3QgY29kPVN0cmluZyhlJiZlLmNvZGV8fCcnKTsKICAgICAgYi50ZXh0Q29udGVudD0vc3RvY2t8ZXN0b3F1ZS9pLnRlc3QoY29kKT8nRXNhdXJpdG8nOidSaXByb3ZpJzsgc2V0VGltZW91dChtb3N0cmEsMjYwMCk7CiAgICB9OwogICAgY29uc3QgY29ycmU9YXN5bmMoZm4pPT57CiAgICAgIGlmKG9jdXBhZG8pIHJldHVybjsgb2N1cGFkbz10cnVlOyBiLmNsYXNzTGlzdC5hZGQoJ2EtY2FycmVnYXInKTsKICAgICAgdHJ5eyBjb25zdCBjPWF3YWl0IGZuKCk7IGFwbGljYUNhcnJpbmhvKGMpOyBhdmlzYVNpdGUoKTsgfWNhdGNoKGUpeyBmYWxoYShlKTsgfQogICAgICBmaW5hbGx5eyBvY3VwYWRvPWZhbHNlOyBiLmNsYXNzTGlzdC5yZW1vdmUoJ2EtY2FycmVnYXInKTsgfQogICAgfTsKICAgIGJvdG9lcy5zZXQoaWQse2RlZmluZToocXQsayk9Pntub0NhcnJpbmhvPXF0OyBjaGF2ZT1rOyBpZighcXQpIG49TWF0aC5tYXgoMSxuKTsgbW9zdHJhKCk7fSwgbGltaXRlOihteCk9PnttYXhpbW89TWF0aC5tYXgoMSxteHx8OTkpOyBuPU1hdGgubWluKG4sbWF4aW1vKTsgbW9zdHJhKCk7fX0pOwogICAgcS5xdWVyeVNlbGVjdG9yKCcucXRkLW1haXMnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9PnsKICAgICAgaWYobm9DYXJyaW5obyYmY2hhdmUpIGNvcnJlKCgpPT5wZWRlKCdjYXJ0L3VwZGF0ZS1pdGVtJyx7a2V5OmNoYXZlLHF1YW50aXR5Om5vQ2FycmluaG8rMX0pKTsKICAgICAgZWxzZSB7IG49TWF0aC5taW4obWF4aW1vLG4rMSk7IG1vc3RyYSgpOyB9CiAgICB9KTsKICAgIHEucXVlcnlTZWxlY3RvcignLnF0ZC1tZW5vcycpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywoKT0+ewogICAgICBpZihub0NhcnJpbmhvJiZjaGF2ZSl7CiAgICAgICAgaWYobm9DYXJyaW5obz4xKSBjb3JyZSgoKT0+cGVkZSgnY2FydC91cGRhdGUtaXRlbScse2tleTpjaGF2ZSxxdWFudGl0eTpub0NhcnJpbmhvLTF9KSk7CiAgICAgICAgZWxzZSB7IG49MTsgY29ycmUoKCk9PnBlZGUoJ2NhcnQvcmVtb3ZlLWl0ZW0nLHtrZXk6Y2hhdmV9KSk7IH0KICAgICAgfSBlbHNlIHsgbj1NYXRoLm1heCgxLG4tMSk7IG1vc3RyYSgpOyB9CiAgICB9KTsKICAgIGIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCgpPT57CiAgICAgIGlmKG5vQ2FycmluaG8peyBsb2NhdGlvbi5ocmVmPScvaXQvY2FycmVsbG8vJzsgcmV0dXJuOyB9CiAgICAgIGNvcnJlKCgpPT5wZWRlKCdjYXJ0L2FkZC1pdGVtJyx7aWQ6aWQscXVhbnRpdHk6bn0pKTsKICAgIH0pOwogIH0pOwogIHBlZGUoJ2NhcnQnKS50aGVuKGFwbGljYUNhcnJpbmhvKS5jYXRjaCgoKT0+e30pOwogIGZldGNoKEFQSSsncHJvZHVjdHM\/cGVyX3BhZ2U9NTAmaW5jbHVkZT0nK1suLi5ib3RvZXMua2V5cygpXS5qb2luKCcsJykse2NyZWRlbnRpYWxzOidzYW1lLW9yaWdpbid9KS50aGVuKHI9PnIuanNvbigpKS50aGVuKHBzPT57CiAgICAocHN8fFtdKS5mb3JFYWNoKHA9Pntjb25zdCBjPWJvdG9lcy5nZXQocC5pZCk7IGlmKGMmJnAuYWRkX3RvX2NhcnQpIGMubGltaXRlKHAuYWRkX3RvX2NhcnQubWF4aW11bSk7fSk7CiAgfSkuY2F0Y2goKCk9Pnt9KTsKICAvLyBhIE1hZ251bSBzZWd1ZSBwYXJhIGEgcMOhZ2luYSBkbyBwcm9kdXRvIGRhIG9jYXNpw6NvIGVzY29saGlkYQogIGNvbnN0IE1BR05VTT17bmFzY2ltZW50bzonbWFnbnVtLW5hc2NpbWVudG8nLGFuaXZlcnNhcmlvOidtYWdudW0tYW5vcycsY2FzYW1lbnRvOidtYWdudW0tY2FzYW1lbnRvJyxjYXNhbm92YTonbWFnbnVtLWNhc2Etbm92YScsYm9kYXM6J21hZ251bS1ib2RhcycscmVmb3JtYTonbWFnbnVtLXJlZm9ybWEnLGZhbWlsaWE6J21hZ251bS1mYW1pbGlhJyxvYnJpZ2FkbzonbWFnbnVtLW9icmlnYWRvJyxlbXByZXNhUGluaGFzOidtYWdudW0tZW1wcmVzYS1waW5oYXMnLGVtcHJlc2FWaWRlaXJhOidtYWdudW0tZW1wcmVzYS12aWRlaXJhJyxjb2xhYlBpbmhhczonbWFnbnVtLWNvbGFib3JhZG9yLXBpbmhhcycsY29sYWJWaWRlaXJhOidtYWdudW0tY29sYWJvcmFkb3ItdmlkZWlyYSd9OwogIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5xdWVyby1tYWdudW0nKS5mb3JFYWNoKGI9PmIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCgpPT57CiAgICBjb25zdCBvPShkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcub2Nhc2lhb1thcmlhLXByZXNzZWQ9InRydWUiXScpfHx7fSkuZGF0YXNldDsgY29uc3Qgb2M9byYmby5vOyBjb25zdCBzPU1BR05VTVtvY118fCdtYWdudW0tYW5vcyc7CiAgICAvLyBvIHF1ZSBvIGNsaWVudGUgZXNjcmV2ZXUgbm8gYXRlbGllciBzZWd1ZSBwYXJhIGEgcMOhZ2luYSBkYSBNYWdudW0KICAgIGNvbnN0IHY9aWQ9Pntjb25zdCBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtXycraWQpOyByZXR1cm4gZT9lLnZhbHVlLnRyaW0oKTonJzt9OwogICAgY29uc3QgZGF0YUlTTz10PT57Y29uc3QgbT1TdHJpbmcodCkubWF0Y2goL14oXGR7MSwyfSlbLlwvLV0oXGR7MSwyfSlbLlwvLV0oXGR7NH0pJC8pOyByZXR1cm4gbT9tWzNdKyctJyttWzJdLnBhZFN0YXJ0KDIsJzAnKSsnLScrbVsxXS5wYWRTdGFydCgyLCcwJyk6Jyc7fTsKICAgIGNvbnN0IE1BUEE9e2FuaXZlcnNhcmlvOntpZGFkZTonbXZfaWRhZGUnLG5vbWU6J212X25vbWUnfSxuYXNjaW1lbnRvOntub21lOidtdm5fbm9tZScsZGF0YTonbXZuX2RhdGEnfSxjYXNhbWVudG86e2E6J212b19lbGEnLGI6J212b19lbGUnLGRhdGE6J212b19kYXRhJ30sCiAgICAgIGJvZGFzOnthOidtdm5fdW0nLGI6J212bl9vdXRybycsYW5vczonbXZuX2Fub3MnfSxjYXNhbm92YTp7YXBlbGlkbzonbXZuX2FwZWxpZG8nLGFubzonbXZuX2Fubyd9LG9icmlnYWRvOntwYXJhOidtdm5fbm9tZScscG9ycXVlOidtdm5fcG9yJyxkZTonbXZuX2RlJ30sCiAgICAgIHJlZm9ybWE6e25vbWU6J212b19ub21lJyxjYXJnbzonbXZvX2NhcmdvJyxhc3M6J212b19hc3NpbmF0dXJhJ30sZmFtaWxpYTp7YXBlbGlkbzonbXZfYXBlbGlkbyd9LGNvbGFiUGluaGFzOntub21lOidtdmVfbm9tZXMnfSxjb2xhYlZpZGVpcmE6e25vbWU6J212ZV9ub21lcyd9fTsKICAgIGNvbnN0IGNhbXBvcz17fTsgT2JqZWN0LmVudHJpZXMoTUFQQVtvY118fHt9KS5mb3JFYWNoKChbaWQsbm9tZV0pPT57IGxldCB4PXYoaWQpOyBpZigheCkgcmV0dXJuOyBpZihpZD09PSdkYXRhJykgeD1kYXRhSVNPKHgpOyBpZih4KSBjYW1wb3Nbbm9tZV09eDsgfSk7CiAgICB0cnl7IHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ212QXRlbGllcicsSlNPTi5zdHJpbmdpZnkoe3NsdWc6cyxjYW1wb3M6Y2FtcG9zfSkpOyB9Y2F0Y2goZSl7fQogICAgbG9jYXRpb24uaHJlZj0nL2l0L3Byb2R1dG8vJytzKycvJzsKICB9KSk7CgogIC8qIE1hZ251bTogYXMgZG96ZSBvY2FzacO1ZXMsIHByw6ktdmlzdWFsaXphw6fDo28gYW8gdml2byBkYSBwaW50dXJhICovCiAgY29uc3QgZXNjPXQ9PlN0cmluZyh0KS5yZXBsYWNlKC9bJjw+IiddL2csYz0+KHsnJic6JyZhbXA7JywnPCc6JyZsdDsnLCc+JzonJmd0OycsJyInOicmcXVvdDsnLCInIjonJiMzOTsnfVtjXSkpOwogIGxldCBsb2dvVVJMPW51bGw7CiAgY29uc3QgY2V1PSc8c3ZnIGNsYXNzPSJ2LWNldSIgdmlld0JveD0iMCAwIDIwMCA5MCIgYXJpYS1oaWRkZW49InRydWUiPjxnIGZpbGw9InZhcigtLW91cm8pIj48Y2lyY2xlIGN4PSIxOCIgY3k9IjYwIiByPSIzLjIiLz48Y2lyY2xlIGN4PSI1MiIgY3k9IjM4IiByPSI0Ii8+PGNpcmNsZSBjeD0iODgiIGN5PSI1MiIgcj0iMyIvPjxjaXJjbGUgY3g9IjExOCIgY3k9IjIyIiByPSI0LjQiLz48Y2lyY2xlIGN4PSIxNTAiIGN5PSI0NCIgcj0iMy40Ii8+PGNpcmNsZSBjeD0iMTg0IiBjeT0iMzAiIHI9IjMiLz48Y2lyY2xlIGN4PSI3MCIgY3k9IjEyIiByPSIyIi8+PGNpcmNsZSBjeD0iMTY2IiBjeT0iNzgiIHI9IjIiLz48Y2lyY2xlIGN4PSIzNCIgY3k9IjE2IiByPSIxLjgiLz48Y2lyY2xlIGN4PSIxMzIiIGN5PSI3NCIgcj0iMS44Ii8+PC9nPjxwb2x5bGluZSBwb2ludHM9IjE4LDYwIDUyLDM4IDg4LDUyIDExOCwyMiAxNTAsNDQgMTg0LDMwIiBmaWxsPSJub25lIiBzdHJva2U9InZhcigtLW91cm8pIiBzdHJva2Utd2lkdGg9IjIuNCIvPjwvc3ZnPic7CiAgY29uc3QgbG9nb0hUTUw9KCk9PmxvZ29VUkw\/JzxpbWcgY2xhc3M9InYtbG9nbyIgc3JjPSInK2xvZ29VUkwrJyIgYWx0PSJMb2dvIGNhcmljYXRvIj4nOic8c3BhbiBjbGFzcz0idi12YXppbyI+SWwgU3VvIGxvZ288L3NwYW4+JzsKICBjb25zdCBPPXsKICAgIGFuaXZlcnNhcmlvOntjYW1wb3M6W1snaWRhZGUnLCdFdMOgJywnNTAnXSxbJ25vbWUnLCdOb21lJywnTWFydGEgRmVycmVpcmEnXV0sCiAgICAgIHBpbnRhOnY9PmA8ZGl2IGNsYXNzPSJ2LW51bSI+JHtlc2Modi5pZGFkZSl9PC9kaXY+PGRpdiBjbGFzcz0idi1sZXRyYSI+JHtlc2Modi5ub21lKX08L2Rpdj48ZGl2IGNsYXNzPSJ2LXN1YiI+VGFudGkgYXVndXJpPC9kaXY+YH0sCiAgICBuYXNjaW1lbnRvOntjYW1wb3M6W1snbm9tZScsJ05vbWUgZGVsIGJlYsOoJywnRnJhbmNpc2NvJ10sWydkYXRhJywnTmF0byBpbCcsJzEyLjAzLjIwMjYnXV0sCiAgICAgIHBpbnRhOnY9PmAke2NldX08ZGl2IGNsYXNzPSJ2LWxldHJhIj4ke2VzYyh2Lm5vbWUpfTwvZGl2PjxkaXYgY2xhc3M9InYtZGF0YSI+JHtlc2Modi5kYXRhKX08L2Rpdj5gfSwKICAgIGNhc2FtZW50bzp7Y2FtcG9zOltbJ2EnLCdVbm8gZGVnbGkgc3Bvc2knLCdJbsOqcyddLFsnYicsJ0zigJlhbHRybyBzcG9zbycsJ0R1YXJ0ZSddLFsnZGF0YScsJ0RhdGEgZGVsIG1hdHJpbW9uaW8nLCcxMi4wNi4yMDI3JywxXV0sCiAgICAgIHBpbnRhOnY9PmA8ZGl2IGNsYXNzPSJ2LXRvcG8iPlZpdmEgZ2xpIHNwb3NpPC9kaXY+PGRpdiBjbGFzcz0idi1sZXRyYSI+JHtlc2Modi5hKX08L2Rpdj48ZGl2IGNsYXNzPSJ2LWxldHJhIG91cm8gbWVkaWEiPiZhbXA7PC9kaXY+PGRpdiBjbGFzcz0idi1sZXRyYSI+JHtlc2Modi5iKX08L2Rpdj48ZGl2IGNsYXNzPSJ2LWRhdGEiPiR7ZXNjKHYuZGF0YSl9PC9kaXY+YH0sCiAgICBib2Rhczp7Y2FtcG9zOltbJ2EnLCdVbm8gZGVpIGR1ZScsJ0FuYSddLFsnYicsJ0zigJlhbHRybycsJ1J1aSddLFsnYW5uaScsJ0FubmkgZGkgbWF0cmltb25pbycsJzQwJywxXV0sCiAgICAgIHBpbnRhOnY9PmA8ZGl2IGNsYXNzPSJ2LW51bSI+JHtlc2Modi5hbm9zKX08c21hbGw+YW5uaSBkaSBiYWxsbzwvc21hbGw+PC9kaXY+PGRpdiBjbGFzcz0idi1sZXRyYSI+JHtlc2Modi5hKX0gJmFtcDsgJHtlc2Modi5iKX08L2Rpdj5gfSwKICAgIGNhc2Fub3ZhOntjYW1wb3M6W1snYXBlbGlkbycsJ0NvZ25vbWUgZGVsbGEgZmFtaWdsaWEnLCdPbGl2ZWlyYSddLFsnYW5vJywnQW5ubyBkZWwgdHJhc2xvY28nLCcyMDI2J11dLAogICAgICBwaW50YTp2PT5gPGRpdiBjbGFzcz0idi10b3BvIj5Db25ncmF0dWxhemlvbmkgcGVyIGxhIG51b3ZhIGNhc2E8L2Rpdj48ZGl2IGNsYXNzPSJ2LWxldHJhIj5GYW1pZ2xpYSAke2VzYyh2LmFwZWxpZG8pfTwvZGl2PjxkaXYgY2xhc3M9InYtZGF0YSI+JHtlc2Modi5hbm8pfTwvZGl2PmB9LAogICAgb2JyaWdhZG86e2NhbXBvczpbWydwYXJhJywnUGVyIGNoaScsJ1RlcmVzYSddLFsnZGUnLCdDaGkgcmluZ3JhemlhJywnR2xpIGFtaWNpJ10sWydwb3JxdWUnLCdQZXJjaMOpLCBjb24gcGFyb2xlIFN1ZScsJ1BlciB0dXR0bycsMV1dLAogICAgICBwaW50YTp2PT5gPGRpdiBjbGFzcz0idi1sZXRyYSBvdXJvIj5HcmF6aWU8L2Rpdj48ZGl2IGNsYXNzPSJ2LWxldHJhIG1lZGlhIj4ke2VzYyh2LnBhcmEpfTwvZGl2PjxkaXYgY2xhc3M9InYtc3ViIj4ke2VzYyh2LnBvcnF1ZSl9PC9kaXY+PGRpdiBjbGFzcz0idi1kYXRhIj4ke2VzYyh2LmRlKX08L2Rpdj5gfSwKICAgIHJlZm9ybWE6e2NhbXBvczpbWydub21lJywnTm9tZScsJ01hbnVlbCBTaWx2YSddLFsnY2FyZ28nLCdOdW92byB0aXRvbG8nLCdEaXJldHRvcmUgZ2VuZXJhbGUgZGVsIHRlbXBvIGxpYmVybyddLFsnYXNzJywnRmlybWEnLCdEYWdsaSBhbWljaSBkaSBzZW1wcmUnLDFdXSwKICAgICAgcGludGE6dj0+YDxkaXYgY2xhc3M9InYtdG9wbyI+TOKAmXVsdGltYSBwcm9tb3ppb25lPC9kaXY+PGRpdiBjbGFzcz0idi1sZXRyYSI+JHtlc2Modi5ub21lKX08L2Rpdj48ZGl2IGNsYXNzPSJ2LXN1YiI+JHtlc2Modi5jYXJnbyl9PC9kaXY+PGRpdiBjbGFzcz0idi1kYXRhIj4ke2VzYyh2LmFzcyl9PC9kaXY+YH0sCiAgICBmYW1pbGlhOntjYW1wb3M6W1snYXBlbGlkbycsJ0NvZ25vbWUgZGVsbGEgZmFtaWdsaWEnLCdGZXJyZWlyYScsMV1dLAogICAgICBwaW50YTp2PT5gPGRpdiBjbGFzcz0idi10b3BvIj5GYW1pZ2xpYTwvZGl2PjxkaXYgY2xhc3M9InYtbGV0cmEiPiR7ZXNjKHYuYXBlbGlkbyl9PC9kaXY+PGRpdiBjbGFzcz0idi1zdWIiPkJ1b24gTmF0YWxlPC9kaXY+PGRpdiBjbGFzcz0idi1kYXRhIj4yMDI2PC9kaXY+YH0sCiAgICBlbXByZXNhUGluaGFzOntsb2dvOjEsbm90YTonSW4gYWx0bywgaWwgbm9zdHJvIE5hdGFsZS4gSW4gYmFzc28sIGlsIFN1byBtYXJjaGlvLicsCiAgICAgIHBpbnRhOigpPT5gPGRpdiBjbGFzcz0idi1tZWlvIj48c3BhbiBjbGFzcz0idi16b25hIj5QaWduZSBkaXBpbnRlPC9zcGFuPjxkaXYgY2xhc3M9InYtbGV0cmEgb3VybyBtZWRpYSI+QnVvbiBOYXRhbGU8L2Rpdj48ZGl2IGNsYXNzPSJ2LWRhdGEiPjIwMjY8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ2LW1laW8iPiR7bG9nb0hUTUwoKX08L2Rpdj5gfSwKICAgIGVtcHJlc2FWaWRlaXJhOntsb2dvOjEsbm90YTonSW4gYWx0bywgaWwgbm9zdHJvIE5hdGFsZS4gSW4gYmFzc28sIGlsIFN1byBtYXJjaGlvLicsCiAgICAgIHBpbnRhOigpPT5gPGRpdiBjbGFzcz0idi1tZWlvIj48c3BhbiBjbGFzcz0idi16b25hIj5WaXRlIGRpcGludGE8L3NwYW4+PGRpdiBjbGFzcz0idi1sZXRyYSBvdXJvIG1lZGlhIj5CdW9uIE5hdGFsZTwvZGl2PjxkaXYgY2xhc3M9InYtZGF0YSI+MjAyNjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InYtbWVpbyI+JHtsb2dvSFRNTCgpfTwvZGl2PmB9LAogICAgY29sYWJQaW5oYXM6e2NhbXBvczpbWydub21lJywnTm9tZSBkZWwgY29sbGFib3JhdG9yZScsJ0FuYSBGZXJyZWlyYScsMV1dLG5vdGE6J1VuIE1hZ251bSBwZXIgb2duaSBjb2xsYWJvcmF0b3JlLCBjaWFzY3VubyBjb24gaWwgcHJvcHJpbyBub21lLiBJbmRpY2hpIHR1dHRpIGkgbm9taSBuZWxs4oCZb3JkaW5lLicsCiAgICAgIHBpbnRhOnY9PmA8c3BhbiBjbGFzcz0idi16b25hIj5QaWduZSBkaXBpbnRlPC9zcGFuPjxkaXYgY2xhc3M9InYtdG9wbyI+QnVvbiBOYXRhbGUgMjAyNjwvZGl2PjxkaXYgY2xhc3M9InYtbGV0cmEiPiR7ZXNjKHYubm9tZSl9PC9kaXY+YH0sCiAgICBjb2xhYlZpZGVpcmE6e2NhbXBvczpbWydub21lJywnTm9tZSBkZWwgY29sbGFib3JhdG9yZScsJ0FuYSBGZXJyZWlyYScsMV1dLG5vdGE6J1VuIE1hZ251bSBwZXIgb2duaSBjb2xsYWJvcmF0b3JlLCBjaWFzY3VubyBjb24gaWwgcHJvcHJpbyBub21lLiBJbmRpY2hpIHR1dHRpIGkgbm9taSBuZWxs4oCZb3JkaW5lLicsCiAgICAgIHBpbnRhOnY9PmA8c3BhbiBjbGFzcz0idi16b25hIj5WaXRlIGRpcGludGE8L3NwYW4+PGRpdiBjbGFzcz0idi10b3BvIj5CdW9uIE5hdGFsZSAyMDI2PC9kaXY+PGRpdiBjbGFzcz0idi1sZXRyYSI+JHtlc2Modi5ub21lKX08L2Rpdj5gfQogIH07CiAgY29uc3QgdmZQaW50PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2ZlBpbnQnKSwgTEFORz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWluZGEnKS5kYXRhc2V0Lmxhbmd8fCdwdCc7CiAgY29uc3Qgdmlkcm89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZpZHJvJyksIGNhbXBvcz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FtcG9zJyksIG5vdGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NhbXBvc05vdGEnKTsKICBsZXQgYXR1YWw9J2FuaXZlcnNhcmlvJywgdmFsb3Jlcz17fTsKICBmdW5jdGlvbiBwaW50YSgpewogICAgdmlkcm8uaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJ2LWNvbnRldWRvIj4nK09bYXR1YWxdLnBpbnRhKHZhbG9yZXMpKyc8L2Rpdj4nOwogICAgLy8gYSBwaW50dXJhIHRlbSBkZSBjYWJlciBub3MgMTAgY206IHNlIG8gdGV4dG8gZm9yIGxvbmdvLCBlbmNvbGhlIHR1ZG8gcG9yIGlndWFsCiAgICBjb25zdCBjPXZpZHJvLmZpcnN0Q2hpbGQ7IGMuc3R5bGUudHJhbnNmb3JtPScnOwogICAgY29uc3QgbGl2cmU9Yy5jbGllbnRIZWlnaHQsIGFsdG89Yy5zY3JvbGxIZWlnaHQ7CiAgICBpZihhbHRvPmxpdnJlKSBjLnN0eWxlLnRyYW5zZm9ybT0nc2NhbGUoJysobGl2cmUvYWx0bykudG9GaXhlZCgzKSsnKSc7CiAgICAvLyBlIGEgbWVzbWEgcGludHVyYSBhcGFyZWNlIG5hIGdhcnJhZmEgZGEgZm90b2dyYWZpYQogICAgTVZHYXJyYWZhLmRlc2VuaGEodmZQaW50LGF0dWFsLHZhbG9yZXMsTEFORyk7CiAgfQogIGZ1bmN0aW9uIG1vbnRhKGNoYXZlKXsKICAgIGF0dWFsPWNoYXZlOyBjb25zdCBvPU9bY2hhdmVdOyB2YWxvcmVzPXt9OyBjYW1wb3MuaW5uZXJIVE1MPScnOwogICAgKG8uY2FtcG9zfHxbXSkuZm9yRWFjaCgoW2lkLGxhYmVsLGRlZixsYXJnb10saSk9PnsKICAgICAgdmFsb3Jlc1tpZF09ZGVmOwogICAgICBjb25zdCBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOyBkLmNsYXNzTmFtZT0nY2FtcG8nKyhsYXJnbz8nIGxhcmdvJzonJyk7CiAgICAgIGQuaW5uZXJIVE1MPWA8bGFiZWwgZm9yPSJtXyR7aWR9Ij4ke2VzYyhsYWJlbCl9PC9sYWJlbD48aW5wdXQgaWQ9Im1fJHtpZH0iIG1heGxlbmd0aD0iJHsoaWQ9PT0ncG9ycXVlJ3x8aWQ9PT0nY2FyZ28nKT80MDoyNH0iIGF1dG9jb21wbGV0ZT0ib2ZmIiB2YWx1ZT0iIiBwbGFjZWhvbGRlcj0iRXMuOiAke2VzYyhkZWYpfSI+YDsKICAgICAgZC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpLmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JyxlPT57dmFsb3Jlc1tpZF09ZS50YXJnZXQudmFsdWUudHJpbSgpfHxkZWY7cGludGEoKTt9KTsKICAgICAgY2FtcG9zLmFwcGVuZENoaWxkKGQpOwogICAgfSk7CiAgICBpZihvLmxvZ28pewogICAgICBjb25zdCBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOyBkLmNsYXNzTmFtZT0nY2FtcG8gbGFyZ28nOwogICAgICBkLmlubmVySFRNTD0nPHNwYW4gY2xhc3M9InYtem9uYSIgc3R5bGU9ImZvbnQtc2l6ZToxM3B4Ij5Mb2dvIGF6aWVuZGFsZTwvc3Bhbj48ZGl2IGNsYXNzPSJmaWNoZWlybyI+PGlucHV0IGlkPSJtX2xvZ28iIHR5cGU9ImZpbGUiIGFjY2VwdD0iaW1hZ2UvKiI+PGxhYmVsIGNsYXNzPSJib3Rhby1mIiBmb3I9Im1fbG9nbyI+Q2FyaWNhIGlsIGZpbGU8L2xhYmVsPjxzcGFuIGlkPSJtX2xvZ29fbm9tZSI+TmVzc3VuIGZpbGUgc2NlbHRvPC9zcGFuPjwvZGl2Pic7CiAgICAgIGQucXVlcnlTZWxlY3RvcignaW5wdXQnKS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLGU9PnsKICAgICAgICBjb25zdCBmPWUudGFyZ2V0LmZpbGVzJiZlLnRhcmdldC5maWxlc1swXTsgaWYoIWYpIHJldHVybjsKICAgICAgICBkLnF1ZXJ5U2VsZWN0b3IoJyNtX2xvZ29fbm9tZScpLnRleHRDb250ZW50PWYubmFtZTsKICAgICAgICBjb25zdCBmcj1uZXcgRmlsZVJlYWRlcigpOyBmci5vbmxvYWQ9KCk9Pntsb2dvVVJMPWZyLnJlc3VsdDtwaW50YSgpO307IGZyLnJlYWRBc0RhdGFVUkwoZik7CiAgICAgIH0pOwogICAgICBjYW1wb3MuYXBwZW5kQ2hpbGQoZCk7CiAgICB9CiAgICBub3RhLmhpZGRlbj0hby5ub3RhOyBub3RhLnRleHRDb250ZW50PW8ubm90YXx8Jyc7CiAgICBwaW50YSgpOwogIH0KICBjb25zdCBmb3RvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlZGl0b3JGb3RvJyk7CiAgZnVuY3Rpb24gYWd1bGhhVmlkYShidG4pewogICAgY29uc3QgbGluaGE9YnRuLmNsb3Nlc3QoJy52aWRhLWxpbmhhJyk7IGlmKCFsaW5oYXx8bGluaGEuaGlkZGVuKSByZXR1cm47CiAgICBjb25zdCBhZz1saW5oYS5xdWVyeVNlbGVjdG9yKCcuYWd1bGhhLXZpZGEnKSwgcj1saW5oYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSwgYj1idG4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICBhZy5zdHlsZS5sZWZ0PShiLmxlZnQtci5sZWZ0K2xpbmhhLnNjcm9sbExlZnQpKydweCc7IGFnLnN0eWxlLndpZHRoPWIud2lkdGgrJ3B4JzsKICB9CiAgZnVuY3Rpb24gZXNjb2xoZShidG4pewogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm9jYXNpYW8nKS5mb3JFYWNoKHg9Pnguc2V0QXR0cmlidXRlKCdhcmlhLXByZXNzZWQnLHg9PT1idG4\/J3RydWUnOidmYWxzZScpKTsKICAgIG1vbnRhKGJ0bi5kYXRhc2V0Lm8pOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VkaXRvck5vbWUnKS50ZXh0Q29udGVudD1idG4ucXVlcnlTZWxlY3RvcignYicpLnRleHRDb250ZW50OwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VkaXRvclN1YicpLnRleHRDb250ZW50PWJ0bi5kYXRhc2V0LnN1Ynx8Jyc7CiAgICBjb25zdCBub3ZvPSdodHRwczovL21vcnZhbGxleS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvbXZuYXRhbC1tLScrYnRuLmRhdGFzZXQubysoTVZHYXJyYWZhLnRlbShidG4uZGF0YXNldC5vKT8nLWxpbXBhJzonJykrJy53ZWJwJzsKICAgIGlmKGZvdG8gJiYgIWZvdG8uc3JjLmVuZHNXaXRoKG5vdm8pKXsKICAgICAgZm90by5jbGFzc0xpc3QuYWRkKCd0cm9jYScpOyB2ZlBpbnQuY2xhc3NMaXN0LmFkZCgndHJvY2EnKTsKICAgICAgc2V0VGltZW91dCgoKT0+e2ZvdG8uc3JjPW5vdm87IGZvdG8ub25sb2FkPSgpPT57Zm90by5jbGFzc0xpc3QucmVtb3ZlKCd0cm9jYScpO3ZmUGludC5jbGFzc0xpc3QucmVtb3ZlKCd0cm9jYScpO307IHNldFRpbWVvdXQoKCk9Pntmb3RvLmNsYXNzTGlzdC5yZW1vdmUoJ3Ryb2NhJyk7dmZQaW50LmNsYXNzTGlzdC5yZW1vdmUoJ3Ryb2NhJyk7fSw0MDApO30sMTgwKTsKICAgIH0KICAgIGFndWxoYVZpZGEoYnRuKTsKICAgIGlmKG1hdGNoTWVkaWEoJyhtYXgtd2lkdGg6ODYwcHgpJykubWF0Y2hlcykgYnRuLnNjcm9sbEludG9WaWV3KHtiZWhhdmlvcjonc21vb3RoJyxpbmxpbmU6J2NlbnRlcicsYmxvY2s6J25lYXJlc3QnfSk7CiAgfQogIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5vY2FzaWFvJykuZm9yRWFjaChidG49PmJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9PmVzY29saGUoYnRuKSkpOwogIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5hYmEnKS5mb3JFYWNoKGE9PmEuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCgpPT57CiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuYWJhJykuZm9yRWFjaCh4PT54LnNldEF0dHJpYnV0ZSgnYXJpYS1wcmVzc2VkJyx4PT09YT8ndHJ1ZSc6J2ZhbHNlJykpOwogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnZpZGEtbGluaGEnKS5mb3JFYWNoKGw9PmwuaGlkZGVuPWwuZGF0YXNldC5hYmEhPT1hLmRhdGFzZXQuYWJhKTsKICAgIGVzY29saGUoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnZpZGEtbGluaGFbZGF0YS1hYmE9IicrYS5kYXRhc2V0LmFiYSsnIl0gLm9jYXNpYW8nKSk7CiAgfSkpOwogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCgpPT57Y29uc3QgYj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcub2Nhc2lhb1thcmlhLXByZXNzZWQ9InRydWUiXScpOyBpZihiKSBhZ3VsaGFWaWRhKGIpO30pOwogIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2NvbnN0IGI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm9jYXNpYW9bYXJpYS1wcmVzc2VkPSJ0cnVlIl0nKTsgaWYoYikgYWd1bGhhVmlkYShiKTt9KTsKICBkb2N1bWVudC5mb250cyYmZG9jdW1lbnQuZm9udHMucmVhZHkudGhlbigoKT0+e2NvbnN0IGI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm9jYXNpYW9bYXJpYS1wcmVzc2VkPSJ0cnVlIl0nKTsgaWYoYikgYWd1bGhhVmlkYShiKTt9KTsKICBtb250YSgnYW5pdmVyc2FyaW8nKTsKfSkoKTsK\"><\/script><script src=\"data:text\/javascript;base64,Ci8qIEx1eiB2aXZhOiBub3MgNTAgYW5vcyBlIG5vIHPDqWN1bG8gYSBsdXogw6kgYSBkbyBzb2wgc29icmUgbyBWYWxlIGRvIERvdXJvLCBhZ29yYS4KICAgQW8gY2hlZ2FyLCBhIHNvbWJyYSBwYXJ0ZSBkYSBwb3Npw6fDo28gZml4YSBkYXMgb3V0cmFzIGdhcnJhZmFzIChhcyBkZXogZGEgbWFuaMOjKSBlIHZhaSBhdMOpIMOgIHZlcmRhZGVpcmEuICovCihmdW5jdGlvbigpewogIGNvbnN0IExBVD00MS4xODk5LCBMT049LTcuODE1MCwgUz0xMDAwOwogIGNvbnN0IHJlZHV6PW1hdGNoTWVkaWEoJyhwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpJykubWF0Y2hlczsKICBjb25zdCByYWQ9TWF0aC5QSS8xODAsIGRheU1zPTg2NDAwMDAwLCBKMTk3MD0yNDQwNTg4LCBKMjAwMD0yNDUxNTQ1OwogIGZ1bmN0aW9uIHNvbChkYXRlKXsKICAgIGNvbnN0IGQ9ZGF0ZS52YWx1ZU9mKCkvZGF5TXMtMC41K0oxOTcwLUoyMDAwOwogICAgY29uc3QgTT1yYWQqKDM1Ny41MjkxKzAuOTg1NjAwMjgqZCk7CiAgICBjb25zdCBDPXJhZCooMS45MTQ4Kk1hdGguc2luKE0pKzAuMDIqTWF0aC5zaW4oMipNKSswLjAwMDMqTWF0aC5zaW4oMypNKSk7CiAgICBjb25zdCBMPU0rQytyYWQqMTAyLjkzNzIrTWF0aC5QSSwgZT1yYWQqMjMuNDM5NzsKICAgIGNvbnN0IGRlYz1NYXRoLmFzaW4oTWF0aC5zaW4oZSkqTWF0aC5zaW4oTCkpOwogICAgY29uc3QgcmE9TWF0aC5hdGFuMihNYXRoLnNpbihMKSpNYXRoLmNvcyhlKSxNYXRoLmNvcyhMKSk7CiAgICBjb25zdCBIPXJhZCooMjgwLjE2KzM2MC45ODU2MjM1KmQpLXJhZCooLUxPTiktcmEsIHBoaT1yYWQqTEFUOwogICAgY29uc3QgYWx0PU1hdGguYXNpbihNYXRoLnNpbihwaGkpKk1hdGguc2luKGRlYykrTWF0aC5jb3MocGhpKSpNYXRoLmNvcyhkZWMpKk1hdGguY29zKEgpKTsKICAgIGNvbnN0IGF6PU1hdGguYXRhbjIoTWF0aC5zaW4oSCksTWF0aC5jb3MoSCkqTWF0aC5zaW4ocGhpKS1NYXRoLnRhbihkZWMpKk1hdGguY29zKHBoaSkpK01hdGguUEk7CiAgICByZXR1cm4ge2FsdDphbHQvcmFkLCBhen07CiAgfQogIGNvbnN0IGZtdD1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCgnZW4tR0InLHt0aW1lWm9uZTonRXVyb3BlL0xpc2JvbicseWVhcjonbnVtZXJpYycsbW9udGg6JzItZGlnaXQnLGRheTonMi1kaWdpdCcsaG91cjonMi1kaWdpdCcsbWludXRlOicyLWRpZ2l0Jyxob3VyQ3ljbGU6J2gyMyd9KTsKICBmdW5jdGlvbiBwYXJ0ZXMoZHQpe2NvbnN0IG89e307Zm10LmZvcm1hdFRvUGFydHMoZHQpLmZvckVhY2gocD0+b1twLnR5cGVdPXAudmFsdWUpO3JldHVybiBvO30KICBmdW5jdGlvbiBkZXN2aW8oZHQpe2NvbnN0IHA9cGFydGVzKGR0KTtyZXR1cm4gKERhdGUuVVRDKCtwLnllYXIsK3AubW9udGgtMSwrcC5kYXksK3AuaG91ciwrcC5taW51dGUpLU1hdGguZmxvb3IoZHQudmFsdWVPZigpLzYwMDAwKSo2MDAwMCkvNjAwMDA7fQogIGNvbnN0IGhvamU9cGFydGVzKG5ldyBEYXRlKCkpOwogIGZ1bmN0aW9uIGluc3RhbnRlKG1pbil7Y29uc3QgZz1EYXRlLlVUQygraG9qZS55ZWFyLCtob2plLm1vbnRoLTEsK2hvamUuZGF5LDAsbWluKTtsZXQgdD1uZXcgRGF0ZShnLWRlc3ZpbyhuZXcgRGF0ZShnKSkqNjAwMDApO3JldHVybiBuZXcgRGF0ZShnLWRlc3Zpbyh0KSo2MDAwMCk7fQogIGZ1bmN0aW9uIG1pbnV0b0Fnb3JhKCl7Y29uc3QgcD1wYXJ0ZXMobmV3IERhdGUoKSk7cmV0dXJuICgrcC5ob3VyKSo2MCsoK3AubWludXRlKTt9CiAgY29uc3QgaGhtbT1tPT5TdHJpbmcoTWF0aC5mbG9vcihtLzYwKSUyNCkucGFkU3RhcnQoMiwnMCcpKyc6JytTdHJpbmcoTWF0aC5mbG9vcihtJTYwKSkucGFkU3RhcnQoMiwnMCcpOwogIGxldCBuYXNjZT00MjAsIHBvZT0xMDgwOwogIGZvcihsZXQgbT0xO208MTQ0MDttKyspe2NvbnN0IGE9c29sKGluc3RhbnRlKG0pKS5hbHQsYj1zb2woaW5zdGFudGUobS0xKSkuYWx0O2lmKGI8LTAuODMzJiZhPj0tMC44MzMpbmFzY2U9bTtpZihiPj0tMC44MzMmJmE8LTAuODMzKXBvZT1tO30KCiAgY29uc3QgbWlzdHVyYT0oYSxiLHQpPT5hLm1hcCgodixpKT0+disoYltpXS12KSp0KTsKICBmdW5jdGlvbiBsdXooYWx0KXsKICAgIGNvbnN0IFA9W1stOCxbODAsMTAwLDE1MF0sMC4xNl0sWy0zLFsxMTAsMTEwLDE2MF0sMC4xOF0sWzAsWzI1NSwxMjAsNjBdLDAuMzVdLFs2LFsyNTUsMTYwLDgwXSwwLjc1XSxbMTUsWzI1NSwxOTgsMTMwXSwwLjk1XSxbMzAsWzI1NSwyMzAsMTkwXSwxLjBdLFs2MCxbMjU1LDI0NSwyMzJdLDEuMF1dOwogICAgaWYoYWx0PD1QWzBdWzBdKSByZXR1cm4ge2NvcjpQWzBdWzFdLGk6UFswXVsyXX07CiAgICBmb3IobGV0IGs9MTtrPFAubGVuZ3RoO2srKykgaWYoYWx0PD1QW2tdWzBdKXtjb25zdCB0PShhbHQtUFtrLTFdWzBdKS8oUFtrXVswXS1QW2stMV1bMF0pO3JldHVybiB7Y29yOm1pc3R1cmEoUFtrLTFdWzFdLFBba11bMV0sdCksaTpQW2stMV1bMl0rKFBba11bMl0tUFtrLTFdWzJdKSp0fTt9CiAgICByZXR1cm4ge2NvcjpQW1AubGVuZ3RoLTFdWzFdLGk6MX07CiAgfQogIC8vIGVzdGFkbyBkYSBsdXogcGFyYSB1bSBtaW51dG86IHZlY3RvciBkYSBzb21icmEsIGNvciwgaW50ZW5zaWRhZGUKICBmdW5jdGlvbiBlc3RhZG8obWluKXsKICAgIGNvbnN0IHthbHQsYXp9PXNvbChpbnN0YW50ZShtaW4pKTsgY29uc3QgTD1sdXooYWx0KTsKICAgIGNvbnN0IG5vaXRlPWFsdDwtNiwgZWxldj1NYXRoLm1heChhbHQsMik7CiAgICBjb25zdCBjb21wPW5vaXRlPzEuMTpNYXRoLm1pbigzLjYsMS9NYXRoLnRhbihlbGV2KnJhZCkpOwogICAgY29uc3QgYXp2PW5vaXRlP01hdGguUEkqMS4yNTpheiwgbGVuPVMqMC4wNzUqY29tcDsKICAgIHJldHVybiB7dng6LU1hdGguc2luKGF6dikqbGVuLCB2eTpNYXRoLmNvcyhhenYpKmxlbiwgY29tcCwgY29yOkwuY29yLCBJOkwuaSwgbm9pdGUsIGFsdH07CiAgfQogIC8vIGEgcG9zacOnw6NvIGZpeGEgZGFzIG91dHJhcyBnYXJyYWZhczogc29sIGRlIGNpbWEgw6AgZXNxdWVyZGEsIHNvbWJyYSBwYXJhIGJhaXhvIMOgIGRpcmVpdGEKICBjb25zdCBmaXhvPXt2eDpTKjAuMTAsIHZ5OlMqMC4wNzUsIGNvbXA6MS40LCBjb3I6WzI1NSwyMjYsMTgwXSwgSTowLjk1LCBub2l0ZTpmYWxzZSwgYWx0OjM1fTsKICBjb25zdCBsaWdhPShhLGIsdCk9Pih7dng6YS52eCsoYi52eC1hLnZ4KSp0LCB2eTphLnZ5KyhiLnZ5LWEudnkpKnQsIGNvbXA6YS5jb21wKyhiLmNvbXAtYS5jb21wKSp0LCBjb3I6bWlzdHVyYShhLmNvcixiLmNvcix0KSwgSTphLkkrKGIuSS1hLkkpKnQsIG5vaXRlOnQ8MC41P2Eubm9pdGU6Yi5ub2l0ZSwgYWx0OmIuYWx0fSk7CgogIC8qIGEgcmFtYWRhOiBmb2xoYXMgZGUgdmlkZWlyYSwgdW1hIHPDsyB2ZXogcGFyYSBhcyBkdWFzIGdhcnJhZmFzICovCiAgY29uc3QgcmFtYWRhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOyByYW1hZGEud2lkdGg9UyoyOyByYW1hZGEuaGVpZ2h0PVMqMjsKICAoZnVuY3Rpb24oKXsKICAgIGNvbnN0IHI9cmFtYWRhLmdldENvbnRleHQoJzJkJyk7IGlmKCdmaWx0ZXInIGluIHIpIHIuZmlsdGVyPSdibHVyKDdweCknOwogICAgY29uc3QgdG1wPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOyB0bXAud2lkdGg9UyoyOyB0bXAuaGVpZ2h0PVMqMjsgY29uc3QgeD10bXAuZ2V0Q29udGV4dCgnMmQnKTsKICAgIGxldCBzZD03OyBjb25zdCBybmQ9KCk9PntzZD0oc2QqMTY4MDcpJTIxNDc0ODM2NDc7cmV0dXJuIHNkLzIxNDc0ODM2NDc7fTsKICAgIGZ1bmN0aW9uIGZvbGhhKGN4LGN5LHQsYW5nKXt4LnNhdmUoKTt4LnRyYW5zbGF0ZShjeCxjeSk7eC5yb3RhdGUoYW5nKTt4LmJlZ2luUGF0aCgpOwogICAgICBmb3IobGV0IGk9MDtpPD0yMDA7aSsrKXtjb25zdCB0aD1pLzIwMCpNYXRoLlBJKjI7bGV0IHJyPTErMC4yKk1hdGguY29zKDUqdGgrTWF0aC5QSS8yKSswLjAzNSpNYXRoLmNvcygxOSp0aCk7Y29uc3QgYng9TWF0aC5jb3ModGgtTWF0aC5QSS8yKTtpZihieD4wLjgyKXJyKj0xLShieC0wLjgyKSozLjI7Y29uc3QgcHg9TWF0aC5jb3ModGgpKnJyKnQscHk9TWF0aC5zaW4odGgpKnJyKnQ7aT94LmxpbmVUbyhweCxweSk6eC5tb3ZlVG8ocHgscHkpO30KICAgICAgeC5jbG9zZVBhdGgoKTt4LmZpbGwoKTt4LmxpbmVXaWR0aD10KjAuMDg7eC5iZWdpblBhdGgoKTt4Lm1vdmVUbygwLHQqMC4yKTt4LmxpbmVUbygwLHQqMS41KTt4LnN0cm9rZSgpO3gucmVzdG9yZSgpO30KICAgIHguZmlsbFN0eWxlPScjMDAwJzt4LnN0cm9rZVN0eWxlPScjMDAwJzsKICAgIHgubGluZVdpZHRoPTY7eC5iZWdpblBhdGgoKTt4Lm1vdmVUbygwLFMqMC41Mik7eC5iZXppZXJDdXJ2ZVRvKFMqMC43LFMqMC40MixTKjEuMyxTKjAuNjIsUyoyLFMqMC41KTt4LnN0cm9rZSgpOwogICAgeC5saW5lV2lkdGg9NDt4LmJlZ2luUGF0aCgpO3gubW92ZVRvKFMqMC4yLDApO3guYmV6aWVyQ3VydmVUbyhTKjAuNSxTKjAuNixTKjAuOSxTKjAuOSxTKjEuNCxTKjIpO3guc3Ryb2tlKCk7CiAgICBbWzAuNDUsMC40Ml0sWzAuNjIsMC41XSxbMC40MiwwLjY4XSxbMS42MiwxLjVdLFsxLjQ1LDEuNjJdLFsxLjcsMS4zXV0uZm9yRWFjaCgoW2N4LGN5XSk9Pntjb25zdCBuPTMrTWF0aC5mbG9vcihybmQoKSozKTtmb3IobGV0IGs9MDtrPG47aysrKWZvbGhhKFMqKGN4KyhybmQoKS0wLjUpKjAuMjgpLFMqKGN5KyhybmQoKS0wLjUpKjAuMjIpLFMqKDAuMDcrcm5kKCkqMC4wMzUpLChybmQoKS0wLjUpKjEuMitNYXRoLlBJKTt9KTsKICAgIHIuZHJhd0ltYWdlKHRtcCwwLDApOwogIH0pKCk7CgogIGNvbnN0IGhleD1oPT5bMSwzLDVdLm1hcChpPT5wYXJzZUludChoLnNsaWNlKGksaSsyKSwxNikpOwoKICBmdW5jdGlvbiBHYXJyYWZhKGZpZyl7CiAgICBjb25zdCBjdj1maWcucXVlcnlTZWxlY3RvcignY2FudmFzJyksIGN0eD1jdi5nZXRDb250ZXh0KCcyZCcpLCB0ZW1GaWx0cm89J2ZpbHRlcicgaW4gY3R4OwogICAgY29uc3QgZnVuZG89aGV4KGZpZy5kYXRhc2V0LmZ1bmRvKSwgYmFzZT1mdW5kby5tYXAodj0+diowLjc4fDApOwogICAgY29uc3QgaW1nPW5ldyBJbWFnZSgpOwogICAgY29uc3QgY2FtYWRhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO2NhbWFkYS53aWR0aD1TO2NhbWFkYS5oZWlnaHQ9Uztjb25zdCBsYz1jYW1hZGEuZ2V0Q29udGV4dCgnMmQnKTsKICAgIGNvbnN0IGdjYW49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyksIGdjPWdjYW4uZ2V0Q29udGV4dCgnMmQnKTsKICAgIGxldCBtYXNjLHZpbmhvLGd3LGdoLCBwcm9udG89ZmFsc2U7CiAgICBjb25zdCBsZWc9ZmlnLnBhcmVudEVsZW1lbnQucXVlcnlTZWxlY3RvcignLmx1ei1hZ29yYSBzcGFuJyksIGJ0PWZpZy5wYXJlbnRFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5sdXotYWdvcmEgYnV0dG9uJyk7CiAgICBsZXQgbW9kbz0nY2hlZ2FkYScsIHQwPTAsIHZpc2l2ZWw9ZmFsc2UsIHVsdGltbz0nJzsKICAgIGNvbnN0IGltZ1Y9bmV3IEltYWdlKCk7IGxldCBjYXJyZWdhZGFzPTA7IGNvbnN0IHRvdGFsPWZpZy5kYXRhc2V0LnZpbmhvPzI6MTsKICAgIGlmKGZpZy5kYXRhc2V0LnZpbmhvKXtpbWdWLm9ubG9hZD0oKT0+e2lmKCsrY2FycmVnYWRhcz09PXRvdGFsKXByZXBhcmEoKTt9O2ltZ1Yuc3JjPWZpZy5kYXRhc2V0LnZpbmhvO30KICAgIGltZy5vbmxvYWQ9KCk9PntpZigrK2NhcnJlZ2FkYXM9PT10b3RhbClwcmVwYXJhKCk7fTsKICAgIGZ1bmN0aW9uIHByZXBhcmEoKXsKICAgICAgZ2g9TWF0aC5yb3VuZChTKjAuNjIpOyBndz1NYXRoLnJvdW5kKGltZy53aWR0aCpnaC9pbWcuaGVpZ2h0KTsKICAgICAgY29uc3QgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtjLndpZHRoPWd3O2MuaGVpZ2h0PWdoO2NvbnN0IHg9Yy5nZXRDb250ZXh0KCcyZCcpO3guZHJhd0ltYWdlKGltZywwLDAsZ3csZ2gpOwogICAgICBjb25zdCBwPXguZ2V0SW1hZ2VEYXRhKDAsMCxndyxnaCkuZGF0YTsKICAgICAgbGV0IHB2PW51bGw7CiAgICAgIGlmKHRvdGFsPT09Mil7Y29uc3QgY3YyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO2N2Mi53aWR0aD1ndztjdjIuaGVpZ2h0PWdoO2NvbnN0IHgyPWN2Mi5nZXRDb250ZXh0KCcyZCcpO3gyLmRyYXdJbWFnZShpbWdWLDAsMCxndyxnaCk7cHY9eDIuZ2V0SW1hZ2VEYXRhKDAsMCxndyxnaCkuZGF0YTt9CiAgICAgIG1hc2M9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7bWFzYy53aWR0aD1ndzttYXNjLmhlaWdodD1naDtjb25zdCBteD1tYXNjLmdldENvbnRleHQoJzJkJyksbWQ9bXguY3JlYXRlSW1hZ2VEYXRhKGd3LGdoKTsKICAgICAgdmluaG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7dmluaG8ud2lkdGg9Z3c7dmluaG8uaGVpZ2h0PWdoO2NvbnN0IHZ4PXZpbmhvLmdldENvbnRleHQoJzJkJyksdmQ9dnguY3JlYXRlSW1hZ2VEYXRhKGd3LGdoKTsKICAgICAgZm9yKGxldCBpPTA7aTxwLmxlbmd0aDtpKz00KXttZC5kYXRhW2krM109cFtpKzNdOwogICAgICAgIGNvbnN0IHI9cFtpXSxnPXBbaSsxXSxiPXBbaSsyXSxNPU1hdGgubWF4KHIsZyxiKSxtPU1hdGgubWluKHIsZyxiKSxzYXQ9KE0tbSkvKE0rMSk7CiAgICAgICAgY29uc3Qgdz0oIXB2fHxwdltpKzNdPjIwMCkmJnBbaSszXT4yMDAmJnNhdD4wLjQmJk0+MzAmJiEocj4yMDAmJmc+MjAwKT9NYXRoLm1pbigxLChzYXQtMC40KSozKSpNYXRoLm1pbigxLChNLTMwKS82MCk6MDsKICAgICAgICB2ZC5kYXRhW2ldPTI1NTt2ZC5kYXRhW2krMV09MTUwO3ZkLmRhdGFbaSsyXT01NTt2ZC5kYXRhW2krM109TWF0aC5yb3VuZCh3KjI1NSk7fQogICAgICBteC5wdXRJbWFnZURhdGEobWQsMCwwKTt2eC5wdXRJbWFnZURhdGEodmQsMCwwKTtnY2FuLndpZHRoPWd3O2djYW4uaGVpZ2h0PWdoOwogICAgICBwcm9udG89dHJ1ZTsgZGVzZW5oYShmaXhvLHBlcmZvcm1hbmNlLm5vdygpKTsgZmlnLmNsYXNzTGlzdC5hZGQoJ3Byb250bycpOwogICAgfQogICAgaW1nLnNyYz1maWcuZGF0YXNldC5nYXJyYWZhOwogICAgZnVuY3Rpb24gZGVzZW5oYShFLGFnb3JhKXsKICAgICAgY29uc3QgYnJpc2E9cmVkdXo\/MDpNYXRoLnNpbihhZ29yYS8xNzAwKSo2K01hdGguc2luKGFnb3JhLzczMCkqMi41OwogICAgICBjb25zdCB7dngsdnksY29tcCxjb3IsSSxub2l0ZX09RSwgYng9UyowLjUsIGJ5PVMqMC44MCwgYW5nPU1hdGguYXRhbjIodnksdngpOwogICAgICBjb25zdCBjPS0wLjc1KnZ4L2doLCBkPTEtMC43NSp2eS9naDsKICAgICAgY3R4LnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCk7Y3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj0nc291cmNlLW92ZXInO2N0eC5maWx0ZXI9J25vbmUnO2N0eC5nbG9iYWxBbHBoYT0xOwogICAgICBjdHguZmlsbFN0eWxlPWByZ2IoJHtiYXNlfSlgO2N0eC5maWxsUmVjdCgwLDAsUyxTKTsKICAgICAgbGMuc2V0VHJhbnNmb3JtKDEsMCwwLDEsMCwwKTtsYy5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb249J3NvdXJjZS1vdmVyJztsYy5maWx0ZXI9J25vbmUnO2xjLmdsb2JhbEFscGhhPTE7bGMuY2xlYXJSZWN0KDAsMCxTLFMpOwogICAgICBjb25zdCBrPTAuNSpJOwogICAgICBsYy5zYXZlKCk7bGMudHJhbnNsYXRlKGJ4LGJ5LWdoKjAuNSk7bGMucm90YXRlKGFuZyk7aWYodGVtRmlsdHJvKWxjLmZpbHRlcj0nYmx1cig1cHgpJzsKICAgICAgbGMuZmlsbFN0eWxlPWByZ2IoJHtjb3JbMF0qa3wwfSwke2NvclsxXSprfDB9LCR7Y29yWzJdKmt8MH0pYDtjb25zdCBsYXJnPVMqKDAuNTQrMC4wNCpNYXRoLm1pbihjb21wLDMpKTtsYy5maWxsUmVjdCgtUyoxLjUsLWxhcmcvMixTKjMsbGFyZyk7bGMucmVzdG9yZSgpO2xjLmZpbHRlcj0nbm9uZSc7CiAgICAgIGxjLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj0nZGVzdGluYXRpb24tb3V0JztsYy5nbG9iYWxBbHBoYT0wLjc7CiAgICAgIGNvbnN0IG94PU1hdGgubWF4KC1TKjAuNCxNYXRoLm1pbihTKjAuNCx2eCoxLjYpKSticmlzYSwgb3k9TWF0aC5tYXgoLVMqMC40LE1hdGgubWluKFMqMC40LHZ5KjEuNikpK2JyaXNhKjAuNDsKICAgICAgbGMuZHJhd0ltYWdlKHJhbWFkYSwtUyowLjUrb3gsLVMqMC41K295KTsKICAgICAgbGMuZ2xvYmFsQWxwaGE9MC45NDtpZih0ZW1GaWx0cm8pbGMuZmlsdGVyPWBibHVyKCR7KDEuNStjb21wKjEuNCkudG9GaXhlZCgxKX1weClgOwogICAgICBsYy5zZXRUcmFuc2Zvcm0oMSwwLGMsZCxieCt2eCowLjI1LGJ5K3Z5KjAuMjUpO2xjLmRyYXdJbWFnZShtYXNjLC1ndy8yLC1naCxndyxnaCk7CiAgICAgIGxjLnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCk7bGMuZmlsdGVyPSdub25lJztsYy5nbG9iYWxBbHBoYT0xO2xjLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj0nc291cmNlLW92ZXInOwogICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uPSdsaWdodGVyJztjdHguZHJhd0ltYWdlKGNhbWFkYSwwLDApOwogICAgICBpZighbm9pdGUpe2N0eC5zYXZlKCk7aWYodGVtRmlsdHJvKWN0eC5maWx0ZXI9YGJsdXIoJHsoOCtjb21wKjMpLnRvRml4ZWQoMSl9cHgpYDsKICAgICAgICBjdHguc2V0VHJhbnNmb3JtKDEsMCxjLGQsYngrdngqMC4yNSxieSt2eSowLjI1KTsKICAgICAgICBjdHguZ2xvYmFsQWxwaGE9TWF0aC5taW4oMSxJKjEuMSk7Y3R4LmRyYXdJbWFnZSh2aW5obywtZ3cvMiwtZ2gsZ3csZ2gpOwogICAgICAgIGN0eC5nbG9iYWxBbHBoYT1NYXRoLm1pbigwLjYsSSowLjcpO2N0eC5kcmF3SW1hZ2UodmluaG8sLWd3LzIsLWdoLGd3LGdoKTtjdHgucmVzdG9yZSgpO30KICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj0nc291cmNlLW92ZXInOwogICAgICBnYy5zZXRUcmFuc2Zvcm0oMSwwLDAsMSwwLDApO2djLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj0nc291cmNlLW92ZXInO2djLmNsZWFyUmVjdCgwLDAsZ3csZ2gpO2djLmRyYXdJbWFnZShpbWcsMCwwLGd3LGdoKTsKICAgICAgZ2MuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uPSdzb3VyY2UtYXRvcCc7CiAgICAgIGNvbnN0IGc9Z2MuY3JlYXRlTGluZWFyR3JhZGllbnQoMCwwLGd3LDApLCBjbGFybz1gcmdiYSgke2NvclswXXwwfSwke2NvclsxXXwwfSwke2NvclsyXXwwfSwkezAuMTYqSX0pYCwgZXNjPWByZ2JhKDAsMCwwLCR7MC4xMiswLjIyKigxLUkpfSlgOwogICAgICBpZigtdng+MCl7Zy5hZGRDb2xvclN0b3AoMCxlc2MpO2cuYWRkQ29sb3JTdG9wKDAuNTUsJ3JnYmEoMCwwLDAsMCknKTtnLmFkZENvbG9yU3RvcCgxLGNsYXJvKTt9ZWxzZXtnLmFkZENvbG9yU3RvcCgwLGNsYXJvKTtnLmFkZENvbG9yU3RvcCgwLjQ1LCdyZ2JhKDAsMCwwLDApJyk7Zy5hZGRDb2xvclN0b3AoMSxlc2MpO30KICAgICAgZ2MuZmlsbFN0eWxlPWc7Z2MuZmlsbFJlY3QoMCwwLGd3LGdoKTsKICAgICAgaWYobm9pdGUpe2djLmZpbGxTdHlsZT0ncmdiYSgyMCwzMCw2MCwwLjI1KSc7Z2MuZmlsbFJlY3QoMCwwLGd3LGdoKTt9CiAgICAgIGN0eC5kcmF3SW1hZ2UoZ2NhbixieC1ndy8yLGJ5LWdoLGd3LGdoKTsKICAgIH0KICAgIGZ1bmN0aW9uIGxlZ2VuZGEobWluLEUpewogICAgICBjb25zdCB0PShFLmFsdD4tNj8nTHVjZSBkZWwgRG91cm8nOidDaGlhcm8gZGkgbHVuYSBzdWwgRG91cm8nKSsobW9kbz09PSdkaWEnPycsIGFsbGUgJzonLCBhZGVzc28gwrcgJykraGhtbShtaW4pOwogICAgICBpZih0IT09dWx0aW1vKXtsZWcudGV4dENvbnRlbnQ9dDt1bHRpbW89dDt9CiAgICB9CiAgICBmdW5jdGlvbiBwYXNzbyhhZ29yYSl7CiAgICAgIGlmKCFwcm9udG98fCF2aXNpdmVsKSByZXR1cm47CiAgICAgIGxldCBtaW49bWludXRvQWdvcmEoKSwgRTsKICAgICAgaWYobW9kbz09PSdjaGVnYWRhJyl7CiAgICAgICAgY29uc3QgdD1NYXRoLm1pbigxLChhZ29yYS10MCkvMjYwMCksIGU9dDwwLjU\/Mip0KnQ6MS1NYXRoLnBvdygtMip0KzIsMikvMjsKICAgICAgICBFPWxpZ2EoZml4byxlc3RhZG8obWluKSxyZWR1ej8xOmUpOyBpZih0Pj0xKSBtb2RvPSdhZ29yYSc7CiAgICAgIH0gZWxzZSBpZihtb2RvPT09J2RpYScpewogICAgICAgIGNvbnN0IGR1cj0yMjAwMCwgaW5pPU1hdGgubWF4KDAsbmFzY2UtNTApLCBmaW09TWF0aC5taW4oMTQzOSxwb2UrNzApOwogICAgICAgIG1pbj1pbmkrKGZpbS1pbmkpKigoKGFnb3JhLXQwKSVkdXIpL2R1cik7IEU9ZXN0YWRvKG1pbik7CiAgICAgIH0gZWxzZSBFPWVzdGFkbyhtaW4pOwogICAgICBkZXNlbmhhKEUsYWdvcmEpOyBsZWdlbmRhKG1pbixFKTsKICAgIH0KICAgIGJ0LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywoKT0+ewogICAgICBpZihtb2RvPT09J2RpYScpe21vZG89J2Fnb3JhJztidC50ZXh0Q29udGVudD0nR3VhcmRhcmUgcGFzc2FyZSBpbCBnaW9ybm8nO2J0LnNldEF0dHJpYnV0ZSgnYXJpYS1wcmVzc2VkJywnZmFsc2UnKTt9CiAgICAgIGVsc2V7bW9kbz0nZGlhJzt0MD1wZXJmb3JtYW5jZS5ub3coKTtidC50ZXh0Q29udGVudD0nVG9ybmFyZSBhZCBhZGVzc28nO2J0LnNldEF0dHJpYnV0ZSgnYXJpYS1wcmVzc2VkJywndHJ1ZScpO30KICAgIH0pOwogICAgbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGVzPT5lcy5mb3JFYWNoKGVuPT57CiAgICAgIGNvbnN0IGFudGVzPXZpc2l2ZWw7IHZpc2l2ZWw9ZW4uaXNJbnRlcnNlY3Rpbmc7CiAgICAgIGlmKHZpc2l2ZWwmJiFhbnRlcyYmbW9kbz09PSdjaGVnYWRhJykgdDA9cGVyZm9ybWFuY2Uubm93KCk7CiAgICB9KSx7dGhyZXNob2xkOjAuMzV9KS5vYnNlcnZlKGZpZyk7CiAgICByZXR1cm4gcGFzc287CiAgfQogIGNvbnN0IHRvZG9zPVsuLi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdmaWd1cmUudml2bycpXS5tYXAoR2FycmFmYSk7CiAgKGZ1bmN0aW9uIGNpY2xvKHQpe3RvZG9zLmZvckVhY2goZj0+Zih0KSk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGNpY2xvKTt9KShwZXJmb3JtYW5jZS5ub3coKSk7Cn0pKCk7Cg==\"><\/script><script src=\"data:text\/javascript;base64,Ci8qIEZpY2hhcyB0w6ljbmljYXM6IGRhZG9zIHRpcmFkb3MgZGFzIGZpY2hhcyBlIGRhcyBkZXNjcmnDp8O1ZXMgZGUgbW9ydmFsbGV5LmNvbSAqLwooZnVuY3Rpb24oKXsKICBjb25zdCBQREY9J2h0dHBzOi8vbW9ydmFsbGV5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvJzsKICBjb25zdCBGPXsKICAgICd2ZS10aW50byc6e25vbWU6J1ZhbGUgZGUgRXNjYWRhcyBSZXNlcnZhJyx0aXBvOidSb3NzbyDCtyBEb3Vybywgc290dG96b25hIGRlbCBCYWl4byBDb3JnbycsY2FzdGFzOidUb3VyaWdhIEZyYW5jYSwgVGludGEgUm9yaXosIFRpbnRhIEJhcnJvY2EnLAogICAgICBwcm92YTonQ29sb3JlIHJ1YmlubyBvcGFjbywgcHJvZnVtbyBpbnRlbnNvIGUgY29tcGxlc3NvLCBjb24gZnJ1dHRpIHJvc3NpIG1hdHVyaSBlIG5vdGUgc3BlemlhdGUuIEFsIHBhbGF0byDDqCBtb3JiaWRvIGUgZGVuc28sIGNvbiB0YW5uaW5pIG1hdHVyaSBlIGxlZ25vIGJlbiBpbnRlZ3JhdG8uIEzigJlhY2lkaXTDoCBlcXVpbGlicmF0YSBlIGlsIGZydXR0byBsbyByZW5kb25vIGVsZWdhbnRlLCBsdW5nbyBlIHBpYWNldm9sZS4nLAogICAgICBzZXJ2aXI6JzE2IGEgMTggwrpDJyxkYWRvczpbWydBbm5hdGEnLCcyMDIxJ10sWydPcmlnaW5lJywnRG91cm8gZOKAmWFsdHVyYSddLFsnQ29uZmV6aW9uZScsJ0Nhc3NhIGRhIDYgYm90dGlnbGllIGRhIDc1IGNsJ11dfSwKICAgICd2ZS1icmFuY28nOntub21lOidWYWxlIGRlIEVzY2FkYXMgUmVzZXJ2YScsdGlwbzonQmlhbmNvIMK3IERvdXJvLCBzb3R0b3pvbmEgZGVsIEJhaXhvIENvcmdvJyxjYXN0YXM6J01hbHZhc2lhIEZpbmEsIEPDs2RlZ2EsIFJhYmlnYXRvJywKICAgICAgcHJvdmE6J0NvbG9yZSBjaXRyaW5vIGJyaWxsYW50ZS4gUHJvZnVtbyBmaW5lIGUgZnJlc2NvLCBjb24gbm90ZSBhZ3J1bWF0ZSBlIHVuIHRvY2NvIGRpIG1hbmRhcmluby4gUGFsYXRvIGVsZWdhbnRlIGUgbW9yYmlkbywgY29uIGzigJlhY2lkaXTDoCBpbiBlcXVpbGlicmlvIHRyYSBzdHJ1dHR1cmEgZSBmcmVzY2hlenphIG1pbmVyYWxlLiBGaW5hbGUgbHVuZ28gZSB2aXZhY2UuJywKICAgICAgc2VydmlyOic4IGEgMTAgwrpDJywKICAgICAgZGFkb3M6W1snQW5uYXRhJywnMjAyMiddLFsnQWxjb2wnLCcxMiw1ICUnXSxbJ09yaWdpbmUnLCdEb3VybyBk4oCZYWx0dXJhJ10sWydCb3R0aWdsaWEnLCdCb3Jnb2dub3R0YSwgNzUgY2wnXSxbJ0NvbmZlemlvbmUnLCdDYXNzYSBkYSA2IGJvdHRpZ2xpZSBkYSA3NSBjbCddXX0sCiAgICAncmVzLWJyYW5jbyc6e25vbWU6J01vclZhbGxleSBSZXNlcnZhJyx0aXBvOidCaWFuY28gwrcgRG91cm8gwrcgMjAyMicsY2FzdGFzOidDw7NkZWdhLCBDZXJjZWFsLCBWaW9zaW5obywgUmFiaWdhdG8nLAogICAgICBwcm92YTonQ29sb3JlIGNpdHJpbm8uIFByb2Z1bW8gZmxvcmVhbGUgY29uIG5vdGUgZGkgbGVnbm8sIHZhbmlnbGlhIGUgZnJ1dHRpIGJpYW5jaGkuIEFsIHBhbGF0byDDqCBlcXVpbGlicmF0bywgbGVnZ2VybWVudGUgZG9sY2UgZSBtb2x0byBjb21wbGVzc28sIGNvbiB1biBmaW5hbGUgZnJlc2NvIGUgcGVyc2lzdGVudGUuJywKICAgICAgc2VydmlyOicxMCBhIDEyIMK6QycsZ3VhcmRhcjonQ29yaWNhdGEsIGFsIHJpcGFybyBkYWxsYSBsdWNlLCBhIHRlbXBlcmF0dXJhIGNvc3RhbnRlIGUgbW9kZXJhdGEuJywKICAgICAgZGFkb3M6W1snQW5uYXRhJywnMjAyMiddLFsnQWxjb2wnLCcxMyAlJ10sWydBY2lkaXTDoCB0b3RhbGUnLCc1LDggZy9kbcKzJ10sWydadWNjaGVyaSB0b3RhbGknLCc8IDIsNCBnL2RtwrMnXSxbJ3BIJywnMywzMiddLFsnQm90dGlnbGlhJywnQm9yZ29nbm90dGEsIDc1IGNsJ11dLAogICAgICBwZGY6JzIwMjMvMTAvZnQtbW9ydmFsbGV5LXJlc2VydmFfYnJhbmNvLnBkZid9LAogICAgJ3Jlcy10aW50byc6e25vbWU6J01vclZhbGxleSBSZXNlcnZhJyx0aXBvOidSb3NzbyDCtyBEb3VybyDCtyAyMDIyJyxjYXN0YXM6J1RvdXJpZ2EgTmFjaW9uYWwsIFRvdXJpZ2EgRnJhbmNhJywKICAgICAgcHJvdmE6J0NvbG9yZSBydWJpbm8gb3BhY28sIHByb2Z1bW8gaW50ZW5zbyBlIGNvbXBsZXNzbywgY29uIGZydXR0aSByb3NzaSBtYXR1cmkgZSBub3RlIHNwZXppYXRlLiBBbCBwYWxhdG8gw6ggaW50ZW5zbywgbW9yYmlkbyBlIGRlbnNvLCBjb24gdGFubmluaSBkaSBxdWFsaXTDoCBlIGxlZ25vIGJlbiBpbnRlZ3JhdG8uIEVsZWdhbnRlLCBsdW5nbyBlIHBpYWNldm9sZS4nLAogICAgICBzZXJ2aXI6JzE2IGEgMTggwrpDJyxtZXNhOidDYXJuZSByb3NzYSwgc2VsdmFnZ2luYSwgYXJyb3N0aSBlIHN0dWZhdGkuJywKICAgICAgZGFkb3M6W1snQW5uYXRhJywnMjAyMiddLFsnQWxjb2wnLCcxMyw1ICUnXSxbJ0FjaWRpdMOgIHRvdGFsZScsJzQsOCBnL2RtwrMnXSxbJ1p1Y2NoZXJpIHRvdGFsaScsJzwgMCw3IGcvZG3CsyddLFsncEgnLCczLDcwJ10sWydJbnZlY2NoaWFtZW50bycsJ09sdHJlIDUgYW5uaSddLFsnQm90dGlnbGlhJywnQm9yZ29nbm90dGEsIDc1IGNsJ11dLAogICAgICBwZGY6JzIwMjMvMTAvZnQtbW9ydmFsbGV5LXJlc2VydmFfdGludG8ucGRmJ30sCiAgICAndG91cmlnYSc6e25vbWU6J01vclZhbGxleSBUb3VyaWdhIE5hY2lvbmFsJyx0aXBvOidSb3NzbyDCtyBEb3VybyDCtyBtb25vdml0aWdubycsY2FzdGFzOidUb3VyaWdhIE5hY2lvbmFsJywKICAgICAgcHJvdmE6J0NvbG9yZSBydWJpbm8gdml2byBlIG9wYWNvLiBQcm9mdW1vIGludGVuc28gZSBjb21wbGVzc28sIGNvbiBtb3JhIGUgcHJ1Z25hIG1hdHVyZSwgbm90ZSBmbG9yZWFsaSwgbWVudGEgZSBjaW9jY29sYXRvLiBBbCBwYWxhdG8gw6ggaW50ZW5zbywgZGVuc28gZSBtb3JiaWRvLCBjb24gdGFubmluaSByb3RvbmRpIGUgZnJlc2NoaS4gRWxlZ2FudGUsIGdvbG9zbyBlIGx1bmdvLicsCiAgICAgIGRhZG9zOltbJ0FsY29sJywnMTQsNSAlJ10sWydBY2lkaXTDoCB0b3RhbGUnLCc0LDcgZy9kbcKzJ10sWydadWNjaGVyaSB0b3RhbGknLCc8IDAsNiBnL2RtwrMnXSxbJ3BIJywnMyw3MSddLFsnSW52ZWNjaGlhbWVudG8nLCdPbHRyZSA4IGFubmknXSxbJ0JvdHRpZ2xpYScsJ0JvcmdvZ25vdHRhLCA3NSBjbCddXSwKICAgICAgcHJlbWlvczonSVdDIDIwMTcsIEFyZ2VudG8gwrcgRGVjYW50ZXIgMjAxNywgQnJvbnpvJyxwZGY6JzIwMjMvMTAvZnQtbW9ydmFsbGV5LXRvdXJpZ2EtbmFjaW9uYWwtdGludG8ucGRmJ30sCiAgICAnZ3ItdGludG8nOntub21lOidNb3JWYWxsZXkgR3JhbmRlIFJlc2VydmEnLHRpcG86J1Jvc3NvIMK3IERvdXJvIMK3IDIwMTYnLGNhc3RhczonVG91cmlnYSBOYWNpb25hbCwgVG91cmlnYSBGcmFuY2EnLAogICAgICB2aW5pZmljYWNhbzonVXZlIHNjZWx0ZSBhIG1hbm8gc3VsIHRhdm9sbyBkaSBjZXJuaXRhLiBGZXJtZW50YXppb25lIGluIGFjY2lhaW8gaW5veCBwZXIgMjAgZ2lvcm5pLCBhIDIw4oCTMjIgwrpDLiBBZmZpbmFtZW50byBkaSAxMSBtZXNpIGluIHJvdmVyZSwgNjAgJSBmcmFuY2VzZSBlIDQwICUgYW1lcmljYW5vLicsCiAgICAgIHByb3ZhOidDb2xvcmUgcnViaW5vIGludGVuc28uIEzigJlpbXByb250YSBmbG9yZWFsZSBkZWxsYSBUb3VyaWdhIE5hY2lvbmFsLCB2aW9sZXR0ZSBlIG1pbmVyYWxpdMOgLCBjb24gdmFuaWdsaWEsIHNwZXppZSwgcHJ1Z25hIGUgbWlydGlsbG8uIEFsIHBhbGF0byDDqCBkZWNpc28sIGRlbnNvIGUgcGllbm8sIGRpIGFjaWRpdMOgIGVxdWlsaWJyYXRhLiBGaW5hbGUgbW9sdG8gbHVuZ28sIGZyZXNjbyBlIGFybW9uaW9zby4nLAogICAgICBzZXJ2aXI6JzE24oCTMTggwrpDIMK3IGRlY2FudGFyZSAx4oCTMiBvcmUgcHJpbWEnLAogICAgICBkYWRvczpbWydBbm5hdGEnLCcyMDE2J10sWydBbGNvbCcsJzEzLDUgJSddLFsnQWNpZGl0w6AgdG90YWxlJywnNSBnL2RtwrMnXSxbJ1p1Y2NoZXJpIHRvdGFsaScsJzQsNCBnL2RtwrMnXSxbJ3BIJywnMywzMiddLFsnSW52ZWNjaGlhbWVudG8nLCdPbHRyZSAzIGFubmknXSxbJ0JvdHRpZ2xpYScsJ0JvcmRvbGVzZSBwcmVzdGlnZSwgNzUgY2wnXV0sCiAgICAgIHBkZjonMjAyMy8xMC9mdC1tb3J2YWxleS1ncmVuZGUtcmVzZXJ2YS10aW50by5wZGYnfSwKICAgICdnci1icmFuY28nOntub21lOidNb3JWYWxsZXkgR3JhbmRlIFJlc2VydmEnLHRpcG86J0JpYW5jbyDCtyBEb3VybyDCtyAyMDE2JyxjYXN0YXM6J1Zpb3NpbmhvLCBSYWJpZ2F0bywgR291dmVpbywgQXJpbnRvJywKICAgICAgdmluaWZpY2FjYW86J0Zlcm1lbnRhemlvbmUgaW4gYWNjaWFpbyBpbm94IHBlciAzMCBnaW9ybmksIGEgMTYgwrpDLiBBZmZpbmFtZW50byBkaSA5IG1lc2kgaW4gcm92ZXJlIGZyYW5jZXNlLicsCiAgICAgIHByb3ZhOidDb2xvcmUgY2l0cmluby4gUHJvZnVtbyBjb21wbGVzc28sIHRyb3BpY2FsZSwgdmFuaWdsaWF0byBlIGRpIGZydXR0aSBiaWFuY2hpLiBBbCBwYWxhdG8gw6ggY3JlbW9zbyBlIGJ1cnJvc28sIGNvbiBmcmVzY2hlenphIGUgYWNpZGl0w6AgaW4gZXF1aWxpYnJpby4gRWxlZ2FudGUsIHBlcnNpc3RlbnRlIGUgaXJyZXNpc3RpYmlsZS4nLAogICAgICBzZXJ2aXI6JzEwIGEgMTIgwrpDJyxtZXNhOidQZXNjZSBlIGNhcm5lIGFsbGEgZ3JpZ2xpYSwgcGFzdGkgbGVnZ2VyaSwgbyBkYSBzb2xvLicsZ3VhcmRhcjonQ29yaWNhdGEsIGFsIHJpcGFybyBkYWxsYSBsdWNlLCBhIHRlbXBlcmF0dXJhIGNvc3RhbnRlIGUgbW9kZXJhdGEuJywKICAgICAgZGFkb3M6W1snQW5uYXRhJywnMjAxNiddLFsnQWxjb2wnLCcxMyw1ICUnXSxbJ0FjaWRpdMOgIHRvdGFsZScsJzUgZy9kbcKzJ10sWydadWNjaGVyaSB0b3RhbGknLCc0LDQgZy9kbcKzJ10sWydwSCcsJzMsMzInXSxbJ0ludmVjY2hpYW1lbnRvJywnT2x0cmUgMyBhbm5pJ10sWydCb3R0aWdsaWEnLCdCb3Jkb2xlc2UgcHJlc3RpZ2UsIDc1IGNsJ11dLAogICAgICBwZGY6JzIwMjMvMTAvZnQtbW9ydmFsbGV5LWdyYW5kZS1yZXNlcnZhX2JyYW5jby5wZGYnfSwKICAgICdtZXcnOntub21lOidNRVcgYnkgTW9yVmFsbGV5Jyx0aXBvOidSb3NzbyDCtyBEb3VybyAyMDE2JyxjYXN0YXM6J1RvdXJpZ2EgTmFjaW9uYWwsIFRvdXJpZ2EgRnJhbmNhJywKICAgICAgY2l0YWNhbzonUXVlc3RhIMOoIGxhIG1pYSB2aXNpb25lIHBlcnNvbmFsZSBkZWwgRG91cm8sIHByb3ZhIGRlbCBjYXJhdHRlcmUgZGkgZHVlIGdyYW5kaSB2aXRpZ25pLicsCiAgICAgIHZpbmlmaWNhY2FvOidBZmZpbmFtZW50byBkaSAxOCBtZXNpIGluIGxlZ25vLicsCiAgICAgIHByb3ZhOidMYSBUb3VyaWdhIEZyYW5jYSBkw6Agc3RydXR0dXJhIGUgZnJ1dHRvLiBMYSBUb3VyaWdhIE5hY2lvbmFsLCBsYSBub2JpbHTDoCBmbG9yZWFsZS4gUmlmbGVzc2kgdmlvbGFjZWksIHByb2Z1bW8gY29tcGxlc3NvIGRpIGZydXR0aSByb3NzaSwgdmFuaWdsaWEgZSBjaW9jY29sYXRvLiBNb3JiaWRvLCBwaWVubyBlIGx1bmdvLCBjb24gZnJlc2NoZXp6YSBlIHRhbm5pbmkgZWxlZ2FudGkuJywKICAgICAgc2VydmlyOidEZWNhbnRhcmUgcHJpbWEgZGkgc2VydmlyZTogw6ggdW4gdmlubyBuYXR1cmFsZSBlIHB1w7IgZm9ybWFyZSB1biBkZXBvc2l0by4nLAogICAgICBkYWRvczpbWydBbm5hdGEnLCcyMDE2J10sWydBbGNvbCcsJzE0ICUnXSxbJ0FjaWRpdMOgIHRvdGFsZScsJzUsMSBnL2RtwrMnXSxbJ1p1Y2NoZXJpIHRvdGFsaScsJzwgMCw2IGcvZG3CsyddLFsncEgnLCczLDcwJ10sWydCb3R0aWdsaWEnLCdCb3Jkb2xlc2UgaW1wZXJpYWxlLCA3NSBjbCddLFsnQ29uZmV6aW9uZScsJ0NvbmZlemlvbmUgc2luZ29sYSddXSwKICAgICAgcGRmOicyMDIzLzEwL0ZUX01FVy10aW50by5wZGYnfSwKICAgICdjb2xsZWN0aW9uJzp7bm9tZTonTW9yVmFsbGV5IENvbGxlY3Rpb24nLHRpcG86J1NlaSB2aW5pIGUgbGEgY2Fzc2EgQ29sbGVjdGlvbiBpbiBsZWdubycsCiAgICAgIHByb3ZhOidVbmEgc2VsZXppb25lIGRlaSB2aW5pIG1pZ2xpb3JpIGRlbGxhIGNhc2EsIGluIHVuYSBjYXNzYSBkaSBsZWdubyBvZmZlcnRhIGNvbiBsYSBjb25mZXppb25lLicsCiAgICAgIGxpc3RhOlsnTUVXIFJvc3NvJywnTW9yVmFsbGV5IEdyYW5kZSBSZXNlcnZhIFRpbnRvJywnTW9yVmFsbGV5IEdyYW5kZSBSZXNlcnZhIEJyYW5jbycsJ01vclZhbGxleSBUb3VyaWdhIE5hY2lvbmFsJywnTW9yVmFsbGV5IFJlc2VydmEgVGludG8nLCdNb3JWYWxsZXkgUmVzZXJ2YSBCcmFuY28nXX0sCiAgICAnbXlvMTAnOntub21lOidNWU8gYnkgTW9yVmFsbGV5IDEwIFllYXJzIE9sZCcsdGlwbzonUG9ydG8gwrcgMTAgYW5uaScsCiAgICAgIHByb3ZhOidDb2xvcmUgYmlhbmNvIGRvcmF0byBlIHByb2Z1bW8gaW50ZW5zbywgZG92ZSBwcmVkb21pbmFubyBmcnV0dGEgc2VjY2EsIHZhbmlnbGlhIGUgc3BlemllLiBBbCBwYWxhdG8gw6ggZnJlc2NvLCBjb24gbOKAmWFjaWRpdMOgIGJlbiBpbnRlZ3JhdGEgbmVsbGEgZG9sY2V6emEgZSBuZWwgbGVnbm8uIEZpbmFsZSBsdW5nbyBlIGdvbG9zby4nLAogICAgICBzZXJ2aXI6JzEyIGEgMTQgwrpDJyxtZXNhOidGcnV0dGEgc2VjY2EuIENvbWUgZGlnZXN0aXZvLCBjb24gZG9sY2kgZnJlc2NoaSBlIGFsbOKAmWFyYW5jaWEuJyxndWFyZGFyOidJbiBwaWVkaSwgYWwgYnVpbywgdHJhIDE0IGUgMTYgwrpDLicsCiAgICAgIGRhZG9zOltbJ0NvbmZlemlvbmUnLCdDb25mZXppb25lIHNpbmdvbGEnXV19LAogICAgJ215bzIwJzp7bm9tZTonTVlPIGJ5IE1vclZhbGxleSAyMCBZZWFycyBPbGQnLHRpcG86J1BvcnRvIMK3IDIwIGFubmknLAogICAgICBwcm92YTonQ29sb3JlIGRvcmF0byBlIHByb2Z1bW8gaW50ZW5zbywgY29uIGZydXR0YSBzZWNjYSwgc3BlemllIGUgbGVnbm8uIEFsIHBhbGF0byDDqCBmcmVzY28gZSBhZ3J1bWF0bywgY29uIHVuIHRvY2NvIGTigJlhcmFuY2lhLiBGaW5hbGUgbW9sdG8gbHVuZ28uJywKICAgICAgc2VydmlyOicxMiBhIDE0IMK6QycsbWVzYTonRnJ1dHRhIHNlY2NhIGUgbWFuZG9ybGUuIENvbWUgZGlnZXN0aXZvLCBjb24gZG9sY2kgZSBjaW9jY29sYXRvLicsZ3VhcmRhcjonSW4gcGllZGksIGFsIGJ1aW8sIHRyYSAxMiBlIDE0IMK6Qy4nLAogICAgICBkYWRvczpbWydDb25mZXppb25lJywnQ29uZmV6aW9uZSBzaW5nb2xhJ11dfSwKICAgICdsbWQnOntub21lOidDb25mZXppb25lIExldmEtbWUgYW8gRG91cm8nLHRpcG86J1BvcnRvIMK3IDIwIGFubmkgwrcgYm90dGlnbGlhIGRpcGludGEnLAogICAgICBwcm92YTonQ29sb3JlIGRvcmF0byBlIHByb2Z1bW8gaW50ZW5zbywgY29uIGZydXR0YSBzZWNjYSwgc3BlemllIGUgbGVnbm8gbm9iaWxlLiBBbCBwYWxhdG8gw6ggZnJlc2NvLCBjb24gbm90ZSBhZ3J1bWF0ZSBlIGTigJlhcmFuY2lhLiBGaW5hbGUgbHVuZ28gZSByYWZmaW5hdG8uIExhIGJvdHRpZ2xpYSDDqCBkaXBpbnRhIGNvbiB1buKAmWlsbHVzdHJhemlvbmUgZGVsbGEgZmxvcmEgZSBkZWxsYSBmYXVuYSBkZWwgRG91cm8uJywKICAgICAgc2VydmlyOicxMiBhIDE0IMK6QycsbWVzYTonRnJ1dHRhIHNlY2NhLCBtYW5kb3JsZSwgZG9sY2kgZSBjaW9jY29sYXRvLicsZ3VhcmRhcjonSW4gcGllZGksIGFsIHJpcGFybyBkYWxsYSBsdWNlIGUgZGFsbGUgdmFyaWF6aW9uaSBkaSB0ZW1wZXJhdHVyYS4nLAogICAgICBsaXN0YTpbJ0JvdHRpZ2xpYSBkaXBpbnRhIGRpIFBvcnRvIDIwIGFubmknLCdEdWUgYmljY2hpZXJpJywnQ2Fzc2EgZGkgbGVnbm8gZGlwaW50YSBlIGluY2lzYSwgY29uIGludGVybm8gaW4gbGVnbm8nXX0sCiAgICAnbXlvNTAnOntub21lOidNWU8gYnkgTW9yVmFsbGV5IDUwIFllYXJzIE9sZCcsdGlwbzonUG9ydG8gwrcgNTAgYW5uaScsCiAgICAgIHByb3ZhOidDb2xvcmUgYmlhbmNvIGRvcmF0bywgbGVnZ2VybWVudGUgdmVyZG9nbm9sby4gUHJvZnVtbyBkaSB2YW5pZ2xpYSwgYXJhbmNpYSwgbm9jY2lvbGEgZSBtaWVsZS4gQWwgcGFsYXRvIMOoIHBpZW5vIGUgZnJlc2NvLCBjb24gc3BlemllLiBGaW5hbGUgbHVuZ28uIE1hdHVyYSBpbiBib3R0ZSBmaW5vIGFsbOKAmWltYm90dGlnbGlhbWVudG8uJywKICAgICAgc2VydmlyOicxNCBhIDE2IMK6QycsbWVzYTonRGEgc29sbywgY29uIGRvbGNpIGFsbOKAmWFyYW5jaWEgbyBhbCBjYXJhbWVsbG8sIG8gZnJ1dHRhIHNlY2NhLicsZ3VhcmRhcjonSW4gcGllZGksIGFsIGJ1aW8sIHRyYSAxMiBlIDE0IMK6Qy4nLAogICAgICBkYWRvczpbWydDb25mZXppb25lJywnQ29uZmV6aW9uZSBzaW5nb2xhJ11dfSwKICAgICd2dm8nOntub21lOidNWU8gYnkgTW9yVmFsbGV5IFZlcnkgVmVyeSBPbGQnLHRpcG86J1BvcnRvIMK3IDEwMCBhbm5pJywKICAgICAgcHJvdmE6J0NvbG9yZSBiaWFuY28gZG9yYXRvIGNvbiByaWZsZXNzaSB2ZXJkaS4gUHJvZnVtbyBpbnRlbnNvIGRpIGFyYW5jaWEsIHZhbmlnbGlhLCBjYXJhbWVsbG8sIG5vY2UgZSBtaWVsZS4gQWwgcGFsYXRvIMOoIHBpZW5vLCBtb3JiaWRvIGUgZnJlc2NvLCBjb24gZnJ1dHRhIHNlY2NhLCBjYXJhbWVsbG8gZSBzcGV6aWUuIEZpbmFsZSBsdW5nbywgZG9sY2UgZSB2YW5pZ2xpYXRvLicsCiAgICAgIHNlcnZpcjonMTQgYSAxNiDCukMnLG1lc2E6J0RhIHNvbG8sIGNvbiBkb2xjaSBhbGzigJlhcmFuY2lhIG8gYWwgY2FyYW1lbGxvLCBvIGZydXR0YSBzZWNjYS4nLGd1YXJkYXI6J0luIHBpZWRpLCBhbCBidWlvLCB0cmEgMTIgZSAxNCDCukMuJywKICAgICAgZGFkb3M6W1snQ29uZmV6aW9uZScsJ0NvbmZlemlvbmUgY29uIG5hc3RybyBlIHNpZ2lsbG8gZGkgY2VyYWxhY2NhJ11dfQogIH07CiAgY29uc3QgbWFwYT17J3ZlLXRpbnRvJzondmUtdGludG8nLCd2ZS1icmFuY28nOid2ZS1icmFuY28nLCdyZXMtYnJhbmNvJzoncmVzLWJyYW5jbycsJ3Jlcy10aW50byc6J3Jlcy10aW50bycsJ3RvdXJpZ2EnOid0b3VyaWdhJywnZ3ItdGludG8nOidnci10aW50bycsJ2dyLWJyYW5jbyc6J2dyLWJyYW5jbycsJ21ldyc6J21ldycsJ2NvbGxlY3Rpb24nOidjb2xsZWN0aW9uJywnbXlvMTAnOidteW8xMCcsJ215bzIwJzonbXlvMjAnLCdsbWQnOidsbWQnLCdteW81MCc6J215bzUwJywndnZvJzondnZvJ307CiAgY29uc3QgZXNjPXQ9PlN0cmluZyh0KS5yZXBsYWNlKC9bJjw+IiddL2csYz0+KHsnJic6JyZhbXA7JywnPCc6JyZsdDsnLCc+JzonJmd0OycsJyInOicmcXVvdDsnLCInIjonJiMzOTsnfVtjXSkpOwogIGNvbnN0IGc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dhdmV0YScpLCBjb3Jwbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2F2ZXRhQ29ycG8nKSwgZnVuZG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dhdmV0YUZ1bmRvJyk7CiAgbGV0IG9yaWdlbT1udWxsOwogIGZ1bmN0aW9uIGFicmUoayxidG4pewogICAgY29uc3QgZj1GW2tdOyBpZighZikgcmV0dXJuOyBvcmlnZW09YnRuOwogICAgbGV0IGg9YDxwIGNsYXNzPSJnLXRpcG8iPiR7ZXNjKGYudGlwbyl9PC9wPjxoMyBjbGFzcz0iZy1ub21lIiBpZD0iZ2F2ZXRhVGl0dWxvIj4ke2VzYyhmLm5vbWUpfTwvaDM+YDsKICAgIGlmKGYuY2l0YWNhbykgaCs9YDxibG9ja3F1b3RlIGNsYXNzPSJnLWNpdGFjYW8iPiR7ZXNjKGYuY2l0YWNhbyl9PGNpdGU+Sm9zw6kgQ2FybG9zIFBpbnRvPC9jaXRlPjwvYmxvY2txdW90ZT5gOwogICAgaWYoZi5jYXN0YXMpIGgrPWA8ZGl2IGNsYXNzPSJnLWJsb2NvIj48aDQ+Vml0aWduaTwvaDQ+PHA+JHtlc2MoZi5jYXN0YXMpfTwvcD48L2Rpdj5gOwogICAgaCs9YDxkaXYgY2xhc3M9ImctYmxvY28iPjxoND5EZWd1c3RhemlvbmU8L2g0PjxwPiR7ZXNjKGYucHJvdmEpfTwvcD48L2Rpdj5gOwogICAgaWYoZi52aW5pZmljYWNhbykgaCs9YDxkaXYgY2xhc3M9ImctYmxvY28iPjxoND5WaW5pZmljYXppb25lPC9oND48cD4ke2VzYyhmLnZpbmlmaWNhY2FvKX08L3A+PC9kaXY+YDsKICAgIGlmKGYubGlzdGEpIGgrPWA8ZGl2IGNsYXNzPSJnLWJsb2NvIj48aDQ+SW5jbHVkZTwvaDQ+PHVsPiR7Zi5saXN0YS5tYXAoeD0+YDxsaT4ke2VzYyh4KX08L2xpPmApLmpvaW4oJycpfTwvdWw+PC9kaXY+YDsKICAgIGNvbnN0IHNlcnY9W107IGlmKGYuc2VydmlyKSBzZXJ2LnB1c2goWydTZXJ2aXJlJyxmLnNlcnZpcl0pOyBpZihmLm1lc2EpIHNlcnYucHVzaChbJ0EgdGF2b2xhJyxmLm1lc2FdKTsgaWYoZi5ndWFyZGFyKSBzZXJ2LnB1c2goWydDb25zZXJ2YXppb25lJyxmLmd1YXJkYXJdKTsKICAgIGlmKHNlcnYubGVuZ3RoKSBoKz1gPGRpdiBjbGFzcz0iZy1ibG9jbyI+PGg0PlNlcnZpcmU8L2g0PjxkbD4ke3NlcnYubWFwKChbYSxiXSk9PmA8ZHQ+JHtlc2MoYSl9PC9kdD48ZGQ+JHtlc2MoYil9PC9kZD5gKS5qb2luKCcnKX08L2RsPjwvZGl2PmA7CiAgICBpZihmLmRhZG9zKSBoKz1gPGRpdiBjbGFzcz0iZy1ibG9jbyI+PGg0PkRhdGkgdGVjbmljaTwvaDQ+PGRsIGNsYXNzPSJnLWRhZG9zIj4ke2YuZGFkb3MubWFwKChbYSxiXSk9PmA8ZHQ+JHtlc2MoYSl9PC9kdD48ZGQ+JHtlc2MoYil9PC9kZD5gKS5qb2luKCcnKX08L2RsPjwvZGl2PmA7CiAgICBpZihmLnByZW1pb3MpIGgrPWA8ZGl2IGNsYXNzPSJnLWJsb2NvIj48aDQ+UHJlbWk8L2g0PjxwPiR7ZXNjKGYucHJlbWlvcyl9PC9wPjwvZGl2PmA7CiAgICBpZihmLnBkZikgaCs9YDxhIGNsYXNzPSJnLXBkZiIgaHJlZj0iJHtQREYrZi5wZGZ9IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+U2NoZWRhIHRlY25pY2EgaW4gUERGPC9hPmA7CiAgICBjb3Jwby5pbm5lckhUTUw9aDsgZy5oaWRkZW49ZmFsc2U7IGZ1bmRvLmhpZGRlbj1mYWxzZTsKICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2cuY2xhc3NMaXN0LmFkZCgnYWJlcnRhJyk7ZnVuZG8uY2xhc3NMaXN0LmFkZCgnYWJlcnRhJyk7fSk7CiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnc2VtLXNjcm9sbCcpOwogICAgZy5xdWVyeVNlbGVjdG9yKCcuZy1mZWNoYXInKS5mb2N1cygpOwogICAgY29ycG8uc2Nyb2xsVG9wPTA7CiAgfQogIGZ1bmN0aW9uIGZlY2hhKCl7CiAgICBnLmNsYXNzTGlzdC5yZW1vdmUoJ2FiZXJ0YScpOyBmdW5kby5jbGFzc0xpc3QucmVtb3ZlKCdhYmVydGEnKTsKICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdzZW0tc2Nyb2xsJyk7CiAgICBzZXRUaW1lb3V0KCgpPT57Zy5oaWRkZW49dHJ1ZTtmdW5kby5oaWRkZW49dHJ1ZTt9LDMyMCk7CiAgICBpZihvcmlnZW0pIG9yaWdlbS5mb2N1cygpOwogIH0KICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucGVjYSBmaWd1cmUgaW1nJykuZm9yRWFjaChpbWc9PnsKICAgIGNvbnN0IG09aW1nLmdldEF0dHJpYnV0ZSgnc3JjJykubWF0Y2goL212bG9qYS0oW2EtejAtOS1dKz8pKD86LXJlcG91c28pP1wud2VicC8pOyBpZighbXx8IW1hcGFbbVsxXV0pIHJldHVybjsKICAgIGNvbnN0IGs9bWFwYVttWzFdXSwgcGVjYT1pbWcuY2xvc2VzdCgnLnBlY2EnKSwgZmljaGE9cGVjYS5xdWVyeVNlbGVjdG9yKCcuZmljaGEnKTsgaWYoIWZpY2hhKSByZXR1cm47CiAgICBjb25zdCBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOyBiLnR5cGU9J2J1dHRvbic7IGIuY2xhc3NOYW1lPSd2ZXItZmljaGEnOyBiLmlubmVySFRNTD0nPGkgYXJpYS1oaWRkZW49InRydWUiPjwvaT5GaWNoYSB0w6ljbmljYSc7CiAgICBiLnNldEF0dHJpYnV0ZSgnYXJpYS1oYXNwb3B1cCcsJ2RpYWxvZycpOyBiLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywoKT0+YWJyZShrLGIpKTsgZmljaGEuYXBwZW5kQ2hpbGQoYik7CiAgfSk7CiAgZy5xdWVyeVNlbGVjdG9yKCcuZy1mZWNoYXInKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZmVjaGEpOwogIGZ1bmRvLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmZWNoYSk7CiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsZT0+e2lmKGUua2V5PT09J0VzY2FwZScmJiFnLmhpZGRlbikgZmVjaGEoKTt9KTsKfSkoKTsK\"><\/script><script src=\"data:text\/javascript;base64,Ci8qIENsaWNhciBuYSBmb3RvZ3JhZmlhIGFicmUtYSBlbSBncmFuZGUsIG5hIHJlc29sdcOnw6NvIGNvbXBsZXRhICovCihmdW5jdGlvbigpewogIGNvbnN0IGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2x1cGEnKSwgaW09ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2x1cGFJbWcnKTsKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucGVjYSBmaWd1cmUnKS5mb3JFYWNoKGY9PmYuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCgpPT57CiAgICBjb25zdCBzcmM9Zi5xdWVyeVNlbGVjdG9yKCdpbWcnKTsgaWYoIXNyYykgcmV0dXJuOwogICAgaW0uc3JjPWYuZGF0YXNldC56b29tfHxzcmMuY3VycmVudFNyY3x8c3JjLnNyYzsgaW0uYWx0PXNyYy5hbHQ7IGwuaGlkZGVuPWZhbHNlOyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnc2VtLXNjcm9sbCcpOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2x1cGFGZWNoYXInKS5mb2N1cygpOwogIH0pKTsKICBjb25zdCBmZWNoYT0oKT0+e2wuaGlkZGVuPXRydWU7IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdzZW0tc2Nyb2xsJyk7fTsKICBsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmZWNoYSk7CiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsZT0+e2lmKGUua2V5PT09J0VzY2FwZScmJiFsLmhpZGRlbikgZmVjaGEoKTt9KTsKfSkoKTsK\"><\/script><script src=\"data:text\/javascript;base64,CmNvbnN0IE1WTj1mPT4naHR0cHM6Ly9tb3J2YWxsZXkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL212bmF0YWwtJytmLnJlcGxhY2UoL1wucG5nJC8sJy53ZWJwJyk7CihmdW5jdGlvbigpe2NvbnN0IGFsPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNtdmxvamEgLmFiZXJ0dXJhLWx1eicpO2lmKCFhbClyZXR1cm47CiBjb25zdCBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO2QuY2xhc3NOYW1lPSdwYXJyYXMnOwogY29uc3QgRj1bCiAgWydmb2xoYTEucG5nJywnY2FsYyhjbGFtcCgyMzBweCwzMHZ3LDQ0MHB4KSAqIC0wLjQ1KScsJy02MHB4JywnY2xhbXAoMjMwcHgsMzB2dyw0NDBweCknLCctMTRkZWcnLCcxMnMnLCcwcyddLAogIFsnZm9saGE1LnBuZycsJ2NhbGMoY2xhbXAoMjMwcHgsMzB2dyw0NDBweCkgKiAwLjM2KScsJy0xNTBweCcsJ2NsYW1wKDE1MHB4LDIwdncsMzAwcHgpJywnMjJkZWcnLCcxNHMnLCctNHMnXSwKICBbJ2ZvbGhhMy5wbmcnLCdjYWxjKDEwMCUgLSBjbGFtcCgyMjBweCwyOXZ3LDQyMHB4KSAqIDAuNTUpJywnLTYwcHgnLCdjbGFtcCgyMjBweCwyOXZ3LDQyMHB4KScsJzE4ZGVnJywnMTNzJywnLTJzJ10sCiAgWydmb2xoYTIucG5nJywnY2FsYygxMDAlIC0gY2xhbXAoMjIwcHgsMjl2dyw0MjBweCkgKiAwLjU1IC0gY2xhbXAoMTMwcHgsMTZ2dywyNDBweCkgKiAwLjc1KScsJy0xNTBweCcsJ2NsYW1wKDEzMHB4LDE2dncsMjQwcHgpJywnLTI4ZGVnJywnMTBzJywnLTZzJ10sCiBdOwogZC5pbm5lckhUTUw9Ri5tYXAoZj0+YDxpbWcgc3JjPSIke01WTihmWzBdKX0iIGFsdD0iIiBzdHlsZT0ibGVmdDoke2ZbMV19O3RvcDoke2ZbMl19O3dpZHRoOiR7ZlszXX07LS1yOiR7Zls0XX07LS1kOiR7Zls1XX07YW5pbWF0aW9uLWRlbGF5OiR7Zls2XX0iPmApLmpvaW4oJycpOwogYWwuYWZ0ZXIoZCk7c2V0VGltZW91dCgoKT0+ZC5jbGFzc0xpc3QuYWRkKCdvbicpLDE1MCl9KSgpOwooZnVuY3Rpb24oKXsKIGNvbnN0IEY9Wydmb2xoYTYucG5nJywnZm9saGE0LnBuZycsJ2ZvbGhhMS5wbmcnLCdmb2xoYTMucG5nJywnZm9saGE1LnBuZycsJ2ZvbGhhMi5wbmcnLCdmb2xoYTYucG5nJywnZm9saGE0LnBuZycsJ2ZvbGhhMS5wbmcnXTsKIGNvbnN0IFI9Wy0xOCwyNCwtMzAsMTYsLTIyLDMwLC0xMiwyMCwtMjZdOwogY29uc3QgaWRzPVsnbm9pdGUnLCdmZHMnLCdkYXRhJywnZGV6JywndmludGUnLCdjaW5xdWVudGEnLCdjZW0nLCdhaW5kYScsJ3NlcnZpciddOwogZnVuY3Rpb24gbGl2cmUoc2VjLGltLGspewogIGNvbnN0IFM9c2VjLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogIGNvbnN0IGVscz1bLi4uc2VjLnF1ZXJ5U2VsZWN0b3JBbGwoJy52aWRhLWZvdG8sLnZpZHJvLGltZzpub3QoLnBhcnJhLWxvamEpLC5iYXJyYS1uYXRhbCxoMSxoMixoMyxwLGZpZ3VyZSwuZmljaGEsYnV0dG9uLGEsLm51bWVybywubm90YS1wcm92YSwuYXBhcnRlLHNtYWxsLGlucHV0LGxhYmVsLC52aWRhLWxpbmhhLC5wYWluZWwsLm1hcmNhLC5sdXotYWdvcmEsY2FudmFzJyldCiAgICAuZmlsdGVyKGU9PmUub2Zmc2V0UGFyZW50JiYhZS5jbGFzc0xpc3QuY29udGFpbnMoJ3BhcnJhLWxvamEnKSkubWFwKGU9PntsZXQgcj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKC9eKEgxfEgyfEgzfFB8U01BTEwpJC8udGVzdChlLnRhZ05hbWUpKXtjb25zdCBnPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7Zy5zZWxlY3ROb2RlQ29udGVudHMoZSk7Y29uc3QgcT1nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKHEud2lkdGgpcj1xO31jb25zdCBwPWUuY2xhc3NMaXN0LmNvbnRhaW5zKCdiYXJyYS1uYXRhbCcpPzcwOjA7aWYoZS5jbGFzc0xpc3QuY29udGFpbnMoJ3ZpZGEtZm90bycpKXtyZXR1cm4ge2w6ci5sZWZ0LVMubGVmdC0zMCx0OjAscjpyLnJpZ2h0LVMubGVmdCszMCxiOlMuaGVpZ2h0fX1yZXR1cm4ge2w6ci5sZWZ0LVMubGVmdC1wLHQ6ci50b3AtUy50b3AtcCxyOnIucmlnaHQtUy5sZWZ0K3AsYjpyLmJvdHRvbS1TLnRvcCtwfX0pLmZpbHRlcihyPT5yLnI+ci5sJiZyLmI+ci50KTsKICBmb3IoY29uc3QgW1cwLG8wXSBvZiBbWzMwMCwuMzJdLFsyNTAsLjMyXSxbMjAwLC4zMl0sWzE3MCwuNDVdLFsxNDAsLjVdLFsxMjAsLjM1XV0pe2NvbnN0IFc9TWF0aC5taW4oVzAsTWF0aC5tYXgoMTIwLGlubmVyV2lkdGgqLjIxKSksSD1XKmltLm5hdHVyYWxIZWlnaHQvaW0ubmF0dXJhbFdpZHRoLG9mZj1XKm8wLE09VzA8MjAwPyhXMDwxMzA\/ODoxNCk6MjY7CiAgIGZvcihjb25zdCBsYWRvIG9mIChrJTI\/WydyJywnbCddOlsnbCcsJ3InXSkpewogICAgY29uc3QgeDA9bGFkbz09PSdsJz8tb2ZmOlMud2lkdGgtVytvZmY7CiAgICBmb3IobGV0IHk9NDA7eTxTLmhlaWdodC1ILTI0O3krPTE2KXtjb25zdCBib3g9e2w6eDAsdDp5LHI6eDArVyxiOnkrSH07CiAgICAgaWYoIWVscy5zb21lKGU9PmUubDxib3gucitNJiZlLnI+Ym94LmwtTSYmZS50PGJveC5iK00mJmUuYj5ib3gudC1NKSl7CiAgICAgIGltLnN0eWxlLmNzc1RleHQ9YHRvcDoke3l9cHg7bGVmdDoke3gwfXB4O3dpZHRoOiR7V31weDstLXI6JHtSW2tdfWRlZzstLWQ6JHsxMStrJTR9czthbmltYXRpb24tZGVsYXk6LSR7ayoxLjd9c2A7cmV0dXJuIHRydWV9fX19CiAgcmV0dXJuIGZhbHNlfQogZnVuY3Rpb24gY29sb2Nhcigpe2lkcy5mb3JFYWNoKChpZCxrKT0+e2NvbnN0IHM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO2lmKCFzKXJldHVybjsKICBpZihnZXRDb21wdXRlZFN0eWxlKHMpLnBvc2l0aW9uPT09J3N0YXRpYycpcy5zdHlsZS5wb3NpdGlvbj0ncmVsYXRpdmUnOwogIGxldCBpbT1zLnF1ZXJ5U2VsZWN0b3IoJy5wYXJyYS1sb2phOm5vdCgucGFycmEtZXh0cmEpJyk7aWYoIWltKXtpbT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTtpbS5zcmM9TVZOKEZba10pO2ltLmFsdD0nJztpbS5jbGFzc05hbWU9J3BhcnJhLWxvamEnO3MuYXBwZW5kQ2hpbGQoaW0pO30KICBjb25zdCBnbz0oKT0+e2ltLnN0eWxlLmRpc3BsYXk9Jyc7aWYoIWxpdnJlKHMsaW0saykpaW0uc3R5bGUuZGlzcGxheT0nbm9uZSd9OwogIGltLmNvbXBsZXRlP2dvKCk6aW0ub25sb2FkPWdvO30pO30KIHNldFRpbWVvdXQoY29sb2Nhciw4MDApO2xldCB0cTthZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCgpPT57Y2xlYXJUaW1lb3V0KHRxKTt0cT1zZXRUaW1lb3V0KGNvbG9jYXIsMjAwKX0pOwp9KSgpOwooZnVuY3Rpb24oKXtjb25zdCBmPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbmljaW8nKTtpZighZilyZXR1cm47Y29uc3QgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtiLmNsYXNzTmFtZT0nYmFycmEtbmF0YWwnOwogYi5pbm5lckhUTUw9JzxzcGFuPk5hdGFsZTwvc3Bhbj48aW1nIHNyYz0iJytNVk4oJ2JhcnJhLWF6ZXZpbmhvLnBuZycpKyciIGFsdD0iIj48c3Bhbj5OYXRhbGU8L3NwYW4+JztmLmFwcGVuZENoaWxkKGIpO30pKCk7CihmdW5jdGlvbigpe2NvbnN0IGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RleicpO2lmKCFkKXJldHVybjtjb25zdCBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO2IuY2xhc3NOYW1lPSdiYXJyYS1uYXRhbCc7CiBiLmlubmVySFRNTD0nPHNwYW4+TmF0YWxlPC9zcGFuPjxpbWcgc3JjPSInK01WTignYmFycmEtYXpldmluaG8ucG5nJykrJyIgYWx0PSIiPjxzcGFuPk5hdGFsZTwvc3Bhbj4nO2QucHJlcGVuZChiKTt9KSgpOwooZnVuY3Rpb24oKXsKIGNvbnN0IEVYPXtmZHM6W1snZm9saGEzLnBuZycsMjJdLFsnZm9saGE1LnBuZycsLTI4XV19OwogZnVuY3Rpb24gb2JzdChzZWMpe2NvbnN0IFM9c2VjLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogIHJldHVybiBbLi4uc2VjLnF1ZXJ5U2VsZWN0b3JBbGwoJy52aWRhLWZvdG8sLnZpZHJvLGltZzpub3QoLnBhcnJhLWxvamEpLC5iYXJyYS1uYXRhbCxoMSxoMixoMyxwLGZpZ3VyZSwuZmljaGEsYnV0dG9uLGEsLm51bWVybyxzbWFsbCxpbnB1dCxsYWJlbCwucGFycmEtbG9qYScpXQogICAuZmlsdGVyKGU9PmUub2Zmc2V0UGFyZW50JiZlLnN0eWxlLmRpc3BsYXkhPT0nbm9uZScpLm1hcChlPT57Y29uc3Qgcj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHA9ZS5jbGFzc0xpc3QuY29udGFpbnMoJ3BhcnJhLWxvamEnKT8tMTA6KGUuY2xhc3NMaXN0LmNvbnRhaW5zKCdiYXJyYS1uYXRhbCcpPzcwOjApOwogICByZXR1cm4ge2w6ci5sZWZ0LVMubGVmdC1wLHQ6ci50b3AtUy50b3AtcCxyOnIucmlnaHQtUy5sZWZ0K3AsYjpyLmJvdHRvbS1TLnRvcCtwfX0pLmZpbHRlcihyPT5yLnI+ci5sJiZyLmI+ci50KX0KIGZ1bmN0aW9uIHBvZUV4dHJhKCl7T2JqZWN0LmVudHJpZXMoRVgpLmZvckVhY2goKFtpZCxMXSk9Pntjb25zdCBzZWM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO2lmKCFzZWMpcmV0dXJuOwogIHNlYy5xdWVyeVNlbGVjdG9yQWxsKCcucGFycmEtZXh0cmEnKS5mb3JFYWNoKGU9PmUucmVtb3ZlKCkpOwogIEwuZm9yRWFjaCgoW2Yscm90XSxrKT0+e2NvbnN0IGltPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpO2ltLnNyYz1NVk4oZik7aW0uYWx0PScnO2ltLmNsYXNzTmFtZT0ncGFycmEtbG9qYSBwYXJyYS1leHRyYSc7c2VjLmFwcGVuZENoaWxkKGltKTsKICAgY29uc3QgZ289KCk9Pntjb25zdCBTPXNlYy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxlbHM9b2JzdChzZWMpO2NvbnN0IE09NzA7CiAgICBmb3IoY29uc3QgVzAgb2YgWzI3MCwyMzAsMTkwXSl7Y29uc3QgVz1NYXRoLm1pbihXMCxpbm5lcldpZHRoKi4yNCksSD1XKmltLm5hdHVyYWxIZWlnaHQvaW0ubmF0dXJhbFdpZHRoOwogICAgIGZvcihsZXQgeT1TLmhlaWdodC1ILTMwO3k+NDA7eS09MTgpe2ZvcihsZXQgeD1rP1Mud2lkdGgtVy00MDpTLndpZHRoKi4zNTtrP3g+Uy53aWR0aCouMzp4PFMud2lkdGgtVy00MDt4Kz1rPy0yNDoyNCl7CiAgICAgIGNvbnN0IGI9e2w6eCx0Onkscjp4K1csYjp5K0h9O2lmKCFlbHMuc29tZShlPT5lIT09aW0mJmUubDxiLnIrTSYmZS5yPmIubC1NJiZlLnQ8Yi5iK00mJmUuYj5iLnQtTSkpewogICAgICAgaW0uc3R5bGUuY3NzVGV4dD1gdG9wOiR7eX1weDtsZWZ0OiR7eH1weDt3aWR0aDoke1d9cHg7LS1yOiR7cm90fWRlZzstLWQ6JHsxMitrfXM7YW5pbWF0aW9uLWRlbGF5Oi0kezMrayoyfXNgO3JldHVybn19fX0KICAgIGltLnJlbW92ZSgpfTsKICAgaW0uY29tcGxldGU\/Z28oKTppbS5vbmxvYWQ9Z287fSk7fSk7fQogc2V0VGltZW91dChwb2VFeHRyYSwxMzAwKTtsZXQgdDthZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCgpPT57Y2xlYXJUaW1lb3V0KHQpO3Q9c2V0VGltZW91dChwb2VFeHRyYSw0MDApfSk7Cn0pKCk7Cg==\"><\/script><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Ogni giorno54\u20ac Fine settimanada 22 \u20ac Una datada 39,90 \u20ac 10 anni65\u20ac 20 annida 125 \u20ac 50 anni500\u20ac 100 anni3000\u20ac Non \u00e8 ancora accaduto54,24\u20ac Negozio MorValley \u00b7 Natale 2026 Saluti dal Douro. Benvenuti. Le suggerisco di cominciare da uno dei vini simbolo della casa. MorValley Reserva Branco\u2192 Mostra Tutto Rosso Bianco Porto Casse e confezioni Tempo I casse da 6 Ogni giorno. Un vino di qualit\u00e0 per la tavola di ogni giorno. Non serve un\u2019occasione. &nbsp; Vale de Escadas Reserva 54\u20acIVA incl.Rosso \u00b7 cassa da 6Lo voglio &nbsp; Vale de Escadas Reserva 54\u20acIVA incl.Bianco \u00b7 cassa da 6Lo voglio Tempo II da 22 \u20ac Un fine settimana. Tavola piena e lunghe conversazioni. \u00c8 per questo che li faccio. &nbsp; MorValley Reserva 22\u20acIVA incl.Bianco \u00b7 2022Lo voglio &nbsp; MorValley Reserva 22\u20acIVA incl.Rosso \u00b7 2022Lo voglio &nbsp; MorValley Touriga Nacional 27,50\u20acIVA incl.Rosso \u00b7 monovitigno Tempo III da 39,90 \u20ac Una data che conta. Cerco la perfezione della regione. Ci\u00f2 che nasce dalla pazienza tecnica. &nbsp; MorValley Grande Reserva 39,90\u20acIVA incl.Rosso \u00b7 2016Lo voglio &nbsp; MorValley Grande Reserva 39,90\u20acIVA incl.Bianco \u00b7 2016Lo voglio &nbsp; MEW 75\u20acIVA incl.Rosso \u00b7 Douro 2016Lo voglio &nbsp; MorValley Collection 209,50\u20acIVA incl.Collezione in cassa Tempo IV Porto 10anni Dieci anni in botte. &nbsp; MYO by MorValley 10 Years Old 65\u20acIVA incl.PortoLo voglio Frutta secca, vaniglia e spezie. Fresco al palato, con un finale lungo. Tempo V da 125 \u20ac 20anni Vent\u2019anni dopo. A vent\u2019anni il Porto non ha pi\u00f9 alcuna fretta. E nemmeno chi lo riceve. &nbsp; MYO by MorValley 20 Years Old 125\u20acIVA incl.PortoLo voglio Dipinta sul vetro Confezione Leva-me ao Douro 450\u20acIVA incl.Porto 20 anni \u00b7 bottiglia dipinta \u00b7 due bicchieriLo voglio Tempo VI Porto 50anni Mezzo secolo. &nbsp; MYO by MorValley 50 Years Old 500\u20acIVA incl.PortoLo voglio Luce del Douro, adessoGuardare passare il giorno Matura in botte fino al giorno in cui viene imbottigliato. Non un giorno prima. Vaniglia, arancia, nocciola e miele. Pieno e fresco, con spezie nel finale. 100 Tempo VII Very Very Old Un secolo. Non c\u2019\u00e8 altro modo per dirlo. Cent\u2019anni di Douro in un bicchiere. &nbsp; MYO by MorValley Very Very Old 3000\u20acIVA incl.PortoLo voglio Luce del Douro, adessoGuardare passare il giorno Arancia, caramello, noce e miele. Morbido e fresco, con un finale lungo e vanigliato. Tempo VIII Magnum 1,5 L \u00b7 54,24 \u20ac Non \u00e8 ancora accaduto. L\u2019atelier del Magnum. Scelga il momento, scriva i nomi e veda subito come appare dipinto sul vetro. Per qualcuno Per l\u2019azienda \u00b7 Natale 2026 Nascitail primo giorno Compleannoogni anno Matrimonioil s\u00ec Casa nuovala chiave Nozze25, 50 anni Pensionel\u2019ultima promozione Famigliaogni Natale Graziequalsiasi giorno Azienda \u00b7 Pigneper i clienti Azienda \u00b7 Viteper i clienti Squadra \u00b7 Pigneper la squadra Squadra \u00b7 Viteper la squadra 1Il momento Il Suo MagnumCompleannoCi sono numeri che si festeggiano. Il Suo. 2Scriva e veda come appare sul vetro 10 cm 10 cm Da vicino \u00b7 l\u2019area dipinta sul vetro del Magnum 3Confermi Magnum 1,5 L \u00b7 dipinto sul vetro54,24\u20ac Confezione regaloinclusa IVAinclusa Voglio questo Magnum Consegna in tutta l\u2019Unione europea \u00b7 Spedizione gratuita nel Portogallo continentale Intorno alla bottiglia Per servire e regalare. &nbsp; Secchiello 175\u20acIVA incl.Legno e acciaio inoxLo voglio &nbsp; Selection Douro Valley 20\u20acIVA incl.Confezione premium \u00b7 3 bottiglieLo voglio &nbsp; MorValley Premium 15\u20acIVA incl.Cassa di legno \u00b7 3 bottiglieLo voglio Vendita vietata ai minori di 18 anni. Beva responsabilmente. Termini e condizioni Informativa sulla privacy Spedizioni e resi Libro dei reclami 41\u00b011\u00b423.79\u201dN \u00b7 7\u00b048\u00b453.9\u201dW \u00a9 2026 MorValley Douro Wines \u00b7 Valle del Douro Chiudi Scheda tecnicaChiudi<\/p>\n","protected":false},"author":5,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"class_list":["post-18954","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/morvalley.com\/it\/wp-json\/wp\/v2\/pages\/18954","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/morvalley.com\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/morvalley.com\/it\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/morvalley.com\/it\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/morvalley.com\/it\/wp-json\/wp\/v2\/comments?post=18954"}],"version-history":[{"count":0,"href":"https:\/\/morvalley.com\/it\/wp-json\/wp\/v2\/pages\/18954\/revisions"}],"wp:attachment":[{"href":"https:\/\/morvalley.com\/it\/wp-json\/wp\/v2\/media?parent=18954"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}