@verdaccio/ui-theme 9.0.0-next-9.4 → 9.0.0-next-9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,51 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["Version.BaDuR-HL.js","vendors.DzxewqGz.js","rolldown-runtime.M0LkISsN.js","vendors.O9qAgvA5.css","Versions.DcjOtm18.js","utils.GdLDo5re.js","Dependencies.WiqIiiNc.js","NoItems.BU5Jb4OW.js","UpLinks.BrT0HF1G.js","Front.BN1xUnZh.js","Login.CXgQki6i.js","Success.LxqH8EKI.js","AddUser.CE2cqeBk.js","ChangePassword.Djuy7VlT.js","Versions.D5ze9Txd.js","UpLinks.CUbfcVE1.js","Dependencies.DKJk3FJg.js"])))=>i.map(i=>d[i]);
2
+ import{a as e}from"./rolldown-runtime.M0LkISsN.js";import{$ as t,$n as n,$t as r,A as i,An as a,At as o,B as s,Bn as c,Bt as l,C as u,Cn as d,Ct as f,D as p,Dn as m,Dt as h,E as g,En as _,Et as ee,F as v,Ft as te,G as y,Gn as b,Gt as x,H as ne,Hn as re,Ht as ie,I as ae,It as S,J as oe,Jn as se,Jt as ce,K as le,Kn as ue,Kt as de,L as fe,Ln as pe,Lt as me,M as he,Mt as ge,N as _e,Nt as C,O as ve,On as ye,Ot as be,P as xe,Pn as Se,Pt as w,Q as Ce,Qn as we,Qt as Te,R as Ee,Rt as De,S as Oe,Sn as ke,St as Ae,T as je,Tn as Me,Tt as Ne,U as Pe,Un as Fe,Ut as T,V as Ie,Vn as E,Vt as Le,W as Re,Wn as ze,Wt as Be,X as Ve,Xn as D,Xt as He,Y as Ue,Yn as We,Yt as Ge,Z as Ke,Zn as qe,Zt as Je,_ as Ye,_t as Xe,an as Ze,at as Qe,b as $e,bn as O,bt as et,cn as tt,ct as nt,dn as k,dt as rt,en as A,er as j,et as it,fn as at,ft as ot,g as st,gn as M,gt as ct,h as lt,ht as ut,in as dt,it as ft,j as pt,jt as mt,k as ht,kn as gt,kt as _t,ln as vt,lt as yt,m as bt,mn as N,mt as xt,nn as St,nr as Ct,nt as wt,on as P,ot as Tt,p as Et,pn as Dt,q as Ot,qn as kt,qt as F,rn as At,rt as jt,st as Mt,tn as Nt,tr as Pt,tt as Ft,un as It,ut as Lt,v as Rt,vt as zt,w as Bt,wn as I,wt as Vt,x as Ht,xn as Ut,xt as Wt,y as Gt,yt as Kt,z as qt,zt as Jt}from"./vendors.DzxewqGz.js";import{_ as Yt,a as Xt,c as Zt,d as Qt,f as $t,i as L,l as en,n as tn,o as nn,p as rn,r as R,s as an,t as on,u as sn,v as z}from"./utils.GdLDo5re.js";import{C as cn,D as ln,E as un,S as dn,T as fn,_ as pn,a as mn,b as hn,c as gn,d as _n,f as vn,g as yn,h as bn,i as xn,l as Sn,m as Cn,n as wn,o as Tn,p as En,r as Dn,s as On,u as kn,v as An,w as B,x as V,y as jn}from"./Versions.DcjOtm18.js";import{n as H}from"./UpLinks.BrT0HF1G.js";import"./NoItems.BU5Jb4OW.js";import"./Dependencies.WiqIiiNc.js";var Mn=Pt(),U=e(Ct(),1),Nn=e=>t=>{t.preventDefault(),navigator.clipboard.writeText(e)},W=we(),Pn=n(`div`,{target:`em5nldk1`})({name:`bcffy2`,styles:`display:flex;align-items:center;justify-content:space-between`}),Fn=n(`span`,{target:`em5nldk0`})(({theme:e})=>({display:`inline-block`,overflow:`hidden`,textOverflow:`ellipsis`,height:`auto`,whiteSpace:`break-spaces`,fontSize:e.fontSize.sm}),``);function G({text:e,children:t,dataTestId:n,title:r,...i}){return(0,W.jsxs)(Pn,{...i,children:[(0,W.jsx)(Fn,{children:t??e}),r?(0,W.jsx)(c,{disableFocusListener:!0,title:r,children:(0,W.jsx)(E,{"data-testid":n,onClick:Nn(e),size:`small`,children:(0,W.jsx)(Fe,{fontSize:`small`})})}):(0,W.jsx)(E,{"data-testid":n,onClick:Nn(e),size:`small`,children:(0,W.jsx)(Fe,{fontSize:`small`})})]})}var In=gt??void 0??a,Ln=e=>{let{children:t,onClose:n}=e;return(0,W.jsxs)(d,{sx:{m:0,p:2},children:[t,n?(0,W.jsx)(E,{"aria-label":`close`,"data-testid":`close-raw-viewer`,onClick:n,sx:{position:`absolute`,right:8,top:8,color:e=>e.palette.grey[500]},children:(0,W.jsx)(ye,{})}):null]})},Rn=({isOpen:e=!1,onClose:t,packageMeta:n})=>{let{t:r}=O(),i=kt();return(0,W.jsxs)(_,{"data-testid":`rawViewer--dialog`,fullScreen:!0,open:e,children:[(0,W.jsx)(Ln,{id:`viewer-title`,onClose:t,children:r(`action-bar-action.raw-title`,{package:n.latest.name})}),(0,W.jsx)(Me,{children:(0,W.jsx)(In,{collapseStringsAfterLength:200,collapsed:2,enableClipboard:!0,groupArraysAfterLength:10,src:n,theme:i.palette.mode==`light`?`bright:inverted`:`bright`})})]})},zn=n(Nt,{target:`e1yxykdq0`})(({theme:e})=>({backgroundColor:e.palette.mode===`dark`?e.palette.secondary.main:e.palette.primary.main,"&:hover":{backgroundColor:e.palette.mode===`dark`?ln:void 0,color:e.palette.mode===`light`?e.palette.primary.main:D.white},color:D.white}),``),Bn=({type:e,link:t,action:n})=>{let{t:r}=O(),{isLoading:i}=jn(),{downloadTarball:a}=xn(),o=(0,U.useCallback)(async()=>{a?.({link:t})},[t,a]);switch(e){case`VISIT_HOMEPAGE`:return(0,W.jsx)(c,{title:r(`action-bar-action.visit-home-page`),children:(0,W.jsx)(H,{to:t,variant:`button`,children:(0,W.jsx)(zn,{color:`primary`,size:`small`,children:(0,W.jsx)(At,{})})})});case`OPEN_AN_ISSUE`:return(0,W.jsx)(c,{title:r(`action-bar-action.open-an-issue`),children:(0,W.jsx)(H,{to:t,variant:`button`,children:(0,W.jsx)(zn,{size:`small`,children:(0,W.jsx)(Ze,{})})})});case`DOWNLOAD_TARBALL`:return(0,W.jsx)(c,{title:r(`action-bar-action.download-tarball`),children:i?(0,W.jsx)(re,{sx:{marginX:0}}):(0,W.jsx)(zn,{"data-testid":`download-tarball-btn`,onClick:o,size:`small`,children:(0,W.jsx)(dt,{})})});case`RAW_DATA`:return(0,W.jsx)(c,{title:r(`action-bar-action.raw`),children:(0,W.jsx)(zn,{"data-testid":`raw-btn`,onClick:n,size:`small`,children:(0,W.jsx)(St,{})})})}},Vn=({showRaw:e,showDownloadTarball:t=!0,packageMeta:n})=>{let[i,a]=(0,U.useState)(!1);if(!n?.latest)return null;let{homepage:o,bugs:s,dist:c}=n.latest,l=[];return o&&z(o)&&l.push({type:`VISIT_HOMEPAGE`,link:o}),s?.url&&z(s.url)&&l.push({type:`OPEN_AN_ISSUE`,link:s.url}),c?.tarball&&z(c.tarball)&&t&&l.push({type:`DOWNLOAD_TARBALL`,link:c.tarball}),e&&l.push({type:`RAW_DATA`,action:()=>a(!0)}),(0,W.jsx)(A,{alignItems:`center`,display:`flex`,sx:{my:2},children:(0,W.jsxs)(r,{direction:`row`,spacing:1,children:[l.map(e=>(0,W.jsx)(Bn,{...e},e.type)),i&&(0,W.jsx)(Rn,{isOpen:i,onClose:()=>{a(!1)},packageMeta:n})]})})},Hn=({person:e})=>(0,W.jsxs)(I,{"data-testid":e.name+`-tooltip`,children:[e.name,e.email&&Yt(e.email)&&(0,W.jsxs)(H,{to:`mailto:${e.email}`,children:[(0,W.jsx)(`br`,{}),e.email]}),e.url&&z(e.url)&&(0,W.jsxs)(H,{to:e.url,children:[(0,W.jsx)(`br`,{}),e.url]})]});function Un(e,t,n){return e.email&&Yt(e.email)?`mailto:${e.email}?subject=${t} v${n}`:e.url&&z(e.url)?e.url:``}function Wn(e){return e?e.toLowerCase()===`anonymous`?Se.t(`author-anonymous`):e:Se.t(`author-unknown`)}var Gn=({person:e,packageName:t,version:n,withText:r=!1})=>{let i=Un(e,t,n),a=(0,W.jsx)(x,{alt:e.name,src:e.avatar,sx:{width:40,height:40,ml:0,mr:1}});return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(c,{"data-testid":e.name,title:(0,W.jsx)(Hn,{person:e}),children:i.length>0?(0,W.jsx)(H,{to:i,children:a}):a},e.email),r&&(0,W.jsx)(I,{sx:{ml:1},variant:`subtitle2`,children:Wn(e.name)})]})},Kn=n(I,{target:`e4ifo371`})(e=>({fontWeight:e.theme.fontWeight.bold}),``),qn=n(C,{target:`e4ifo370`})({name:`zw46c6`,styles:`padding:0;:hover{background-color:transparent;}`}),Jn=({packageMeta:e})=>{let{t}=O();if(!e)return null;let{author:n,name:r,version:i}=e.latest;return n?(0,W.jsx)(w,{subheader:(0,W.jsx)(Kn,{variant:`subtitle1`,children:t(`sidebar.author.title`)}),children:(0,W.jsx)(qn,{sx:{my:1},children:(0,W.jsx)(Gn,{packageName:r,person:n,version:i,withText:!0})})}):null},Yn=({message:e})=>(0,W.jsx)(Ge,{severity:`warning`,sx:{marginTop:1,marginBottom:1},children:e}),Xn=function(e){return e.CONTRIBUTORS=`contributors`,e.MAINTAINERS=`maintainers`,e}({}),Zn=({type:e})=>{let{t}=O();switch(e){case Xn.CONTRIBUTORS:return(0,W.jsx)(Qn,{variant:`subtitle1`,children:t(`sidebar.contributors.title`)});case Xn.MAINTAINERS:return(0,W.jsx)(Qn,{variant:`subtitle1`,children:t(`sidebar.maintainers.title`)})}},Qn=n(I,{target:`e1ssrjap0`})(({theme:e})=>({fontWeight:e.fontWeight.bold,marginBottom:`10px`}),``);function $n(e){return e?e.reduce((e,t)=>e.some(e=>e.email===t.email)?e:[...e,t],[]):[]}var er=n(Nt,{target:`eoc81fk1`})(e=>({backgroundColor:e.theme.palette.primary.main,color:D.white}),``),tr=n(A,{target:`eoc81fk0`})({name:`1scsie`,styles:`> *{margin-right:5px;}`}),nr=({type:e,visibleMax:t=6,packageMeta:n})=>{let r=(0,U.useMemo)(()=>$n(n?.latest[e]),[n,e]),[i,a]=(0,U.useState)(t),[o,s]=(0,U.useState)(r);(0,U.useEffect)(()=>{r.length&&s(r.slice(0,i))},[r,i]);let c=(0,U.useCallback)(()=>{a(i+6)},[i]);if(!o||!r.length)return null;let{name:l,version:u}=n.latest;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Zn,{type:e}),(0,W.jsxs)(tr,{display:`flex`,flexWrap:`wrap`,margin:`10px 0 10px 0`,children:[o.map((e,t)=>(0,W.jsx)(Gn,{packageName:l,person:e,version:u},t)),i<r.length&&(0,W.jsx)(er,{"data-testid":`fab-add`,onClick:c,size:`small`,children:(0,W.jsx)(Ae,{})})]})]})},rr=n(I,{target:`e1mn5d922`})(e=>({fontWeight:e.theme.fontWeight.bold,textTransform:`capitalize`}),``),ir=n(C,{target:`e1mn5d921`})({name:`8a1gtu`,styles:`padding-left:0;padding-right:0;flex-wrap:wrap`}),ar=n(F,{target:`e1mn5d920`})({name:`186t8fy`,styles:`margin-right:5px;text-transform:capitalize;margin-top:5px`}),or=({name:e,children:t})=>t?(0,W.jsx)(ar,{label:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`b`,{children:e}),`: `,t]})}):null,sr=({packageMeta:e})=>{let{t}=O();if(!e?.latest)return null;let{dist:n,license:r}=e.latest;return!n&&!r?null:(0,W.jsx)(w,{subheader:(0,W.jsx)(rr,{variant:`subtitle1`,children:t(`sidebar.distribution.title`)}),children:(0,W.jsxs)(ir,{children:[n?.fileCount&&(0,W.jsx)(or,{name:t(`sidebar.distribution.file-count`),children:`${n.fileCount}`}),n?.unpackedSize?(0,W.jsx)(or,{name:t(`sidebar.distribution.size`),children:en(n.unpackedSize)}):null,(0,W.jsx)(or,{name:t(`sidebar.distribution.license`),children:$t(r)})]})})},K=function({ref:e,size:t=`md`,title:n,...r}){return(0,W.jsx)(lr,{size:t,titleAccess:n,...r,ref:e})},cr=e=>e===`md`?{width:18,height:18}:{width:14,height:16},lr=n(ze,{target:`ebrx6kq0`})(({size:e})=>({...cr(e)}),``),ur=function({ref:e,...t}){return(0,W.jsx)(K,{height:16,viewBox:`0 0 14 16`,width:14,...t,ref:e,children:(0,W.jsx)(`path`,{d:`M13 3H7c-.55 0-1 .45-1 1v8c0 .55.45 1 1 1h6c.55 0 1-.45 1-1V4c0-.55-.45-1-1-1zm-1 8H8V5h4v6zM4 4h1v1H4v6h1v1H4c-.55 0-1-.45-1-1V5c0-.55.45-1 1-1zM1 5h1v1H1v4h1v1H1c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1z`,fillRule:`evenodd`})})};ur.displayName=`Version`;var dr=function({ref:e,...t}){return(0,W.jsxs)(K,{viewBox:`0 0 24 24`,...t,ref:e,children:[(0,W.jsx)(`path`,{d:`M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z`}),(0,W.jsx)(`path`,{d:`M0 0h24v24H0z`,fill:`none`}),(0,W.jsx)(`path`,{d:`M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z`})]})};dr.displayName=`Time`;var fr=function({ref:e,...t}){return(0,W.jsx)(K,{viewBox:`0 0 14 16`,...t,ref:e,children:(0,W.jsx)(`path`,{d:`M8.5 1H1c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h10c.55 0 1-.45 1-1V4.5L8.5 1zM11 14H1V2h7l3 3v9zM5 6.98L3.5 8.5 5 10l-.5 1L2 8.5 4.5 6l.5.98zM7.5 6L10 8.5 7.5 11l-.5-.98L8.5 8.5 7 7l.5-1z`})})};fr.displayName=`FileBinary`;var pr=function({ref:e,...t}){return(0,W.jsx)(K,{viewBox:`0 0 14 16`,...t,ref:e,children:(0,W.jsx)(`path`,{d:`M7 4c-.83 0-1.5-.67-1.5-1.5S6.17 1 7 1s1.5.67 1.5 1.5S7.83 4 7 4zm7 6c0 1.11-.89 2-2 2h-1c-1.11 0-2-.89-2-2l2-4h-1c-.55 0-1-.45-1-1H8v8c.42 0 1 .45 1 1h1c.42 0 1 .45 1 1H3c0-.55.58-1 1-1h1c0-.55.58-1 1-1h.03L6 5H5c0 .55-.45 1-1 1H3l2 4c0 1.11-.89 2-2 2H2c-1.11 0-2-.89-2-2l2-4H1V5h3c0-.55.45-1 1-1h4c.55 0 1 .45 1 1h3v1h-1l2 4zM2.5 7L1 10h3L2.5 7zM13 10l-1.5-3-1.5 3h3z`,fillRule:`evenodd`})})};pr.displayName=`Law`;var mr=function({ref:e,...t}){return(0,W.jsxs)(K,{viewBox:`0 0 490.652 490.652`,...t,ref:e,children:[(0,W.jsx)(`path`,{d:`M456.607 9.904H34.04C15.269 9.904 0 25.17 0 43.945V310.17c0 18.77 15.269 34.039 34.04 34.039h260.642c-4.043-10.35-6.534-21.737-7.159-33.742l-253.974-.297.491-266.718 423.063.493V310.17c0 .279-.23.492-.495.492l-15.251-.019c-.637 11.942-3.111 23.263-7.138 33.565h22.389c18.777 0 34.045-15.27 34.045-34.039V43.945c-.001-18.775-15.268-34.041-34.046-34.041z`}),(0,W.jsx)(`path`,{d:`M364.447 381.02c33.354 0 60.386-34.152 60.386-76.289 0-42.131-27.031-76.284-60.386-76.284-33.35 0-60.38 34.153-60.38 76.284 0 42.137 27.031 76.289 60.38 76.289zM81.087 118.345h149.561c9.273 0 16.776-7.499 16.776-16.772 0-9.271-7.504-16.775-16.776-16.775H81.087c-9.271 0-16.771 7.504-16.771 16.775 0 9.273 7.499 16.772 16.771 16.772zm334.08 58.716c0-9.273-7.505-16.779-16.776-16.779H81.087c-9.271 0-16.771 7.506-16.771 16.779 0 9.271 7.499 16.77 16.771 16.77h317.304c9.271 0 16.776-7.498 16.776-16.77zm-334.08 58.707c-9.271 0-16.771 7.504-16.771 16.771 0 9.273 7.499 16.777 16.771 16.777h149.561c9.273 0 16.776-7.504 16.776-16.777 0-9.268-7.504-16.771-16.776-16.771H81.087zm334.338 138.684c-.065.082-23.295 26.869-55.728 23.081l40.331 81.577a2.93 2.93 0 002.637 1.639h.215a2.95 2.95 0 002.571-2.031l10.174-31.234a3.024 3.024 0 011.488-1.728 3.07 3.07 0 012.28-.13l30.977 10.88c.324.112.651.163.98.163.836 0 1.623-.348 2.195-.982.803-.9.964-2.18.441-3.244l-38.561-77.991zm-101.772.146c-.049-.047-.118-.096-.185-.146l-38.561 77.973a2.953 2.953 0 00.448 3.262 2.961 2.961 0 003.174.819l30.978-10.88c.328-.113.658-.16.982-.16.442 0 .884.096 1.294.29.706.36 1.245.987 1.493 1.741l10.173 31.221c.378 1.133 1.391 1.936 2.572 2.014h.21a2.95 2.95 0 002.642-1.621l26.206-53.01-16.755-33.893c-.066-.034-14.672-5.884-24.671-17.61z`})]})};mr.displayName=`License`;var hr=function({ref:e,...t}){return(0,W.jsxs)(K,{viewBox:`0 0 45 45`,...t,ref:e,children:[(0,W.jsxs)(`defs`,{children:[(0,W.jsx)(`clipPath`,{id:`prefix__a`,children:(0,W.jsx)(`path`,{d:`M0 36h36V0H0v36z`})}),(0,W.jsx)(`clipPath`,{id:`prefix__b`,children:(0,W.jsx)(`path`,{d:`M18 36C8.059 36 0 27.941 0 18S8.059 0 18 0s18 8.059 18 18-8.059 18-18 18z`})})]}),(0,W.jsx)(`g`,{clipPath:`url(#prefix__a)`,transform:`matrix(1.25 0 0 -1.25 0 45)`,children:(0,W.jsx)(`path`,{d:`M36 18c0-9.941-8.059-18-18-18S0 8.059 0 18s8.059 18 18 18 18-8.059 18-18`,fill:`#88c9f9`})}),(0,W.jsx)(`g`,{clipPath:`url(#prefix__b)`,transform:`matrix(1.25 0 0 -1.25 0 45)`,children:(0,W.jsx)(`path`,{d:`M3.627 28.952c-.45 2.93 2.195 4.156 3.607 4.47 1.412.314 2.776.62 2.933-.006.156-.628.311-1.46 1.173-1.148.862.314 3.043.56 4.063 1.342 1.02.783 2.244.787 3.264.473 1.02-.313 3.877-.227 3.25-1.167-.627-.94-1.825-.827-2.45-1.924-.628-1.099.171-1.826 1.033-1.826.865 0 1.71-.135 2.26.727.548.863-.383 2.463.324 2.357.706-.106 1.477-.866 2.03-2.043.547-1.176 1.408-.47 1.723-1.176.313-.705 2.04-2.039 1.177-1.804-.864.236-1.726.392-1.96-.47-.237-.863.388-1.726-.237-1.647-.627.08-.86-.089-1.725-.004-.862.083-1.333.631-2.039-.545-.705-1.175-1.254-1.96-1.567-2.509-.315-.549-.785-.86-.55-1.96.235-1.099-.628-.785-.628.156 0 .94-.548 1.098-1.253.942-.706-.157-1.803-.313-1.724-1.098.077-.784-.315-1.725.313-2.352.627-.629 1.33.076 1.723-.158.393-.237 1.525-.023 1.133-.416-.393-.39-1.76-.88-.976-1.509a4.831 4.831 0 011.893-.907c.313-.08.062.774 1.083 1.166 1.017.392 2.608 1.29 3 .584.391-.705.338-.595 1.75-.75 1.41-.156 1.79-.585 2.417-1.917.626-1.333.446-1.192 1.462-1.58 1.021-.394 1.678-.223.737-1.087-.94-.86-1.65-.814-2.199-1.833-.55-1.017-.153-1.73-1.25-2.75A20.755 20.755 0 0024 4c-.618-.37-2.162-2.07-3.083-2.667-.834-.54-1.083 0-1.083 0s.256 1.667.964 2.372c.704.705 1.105 3.344.87 4.128-.235.783-1.36 1.02-1.75 1.333-.393.312-1.418 1.548-1.418 2.334 0 .784 1.71 2.81 1.71 2.81.218-1.089-1.039.328-1.627.523-.47.157-1.542 1.656-2.459 1.814-.916.16-1.363.7-2.068 1.25-.706.55-2.43 1.332-2.353 2.195.08.862-1.725 1.568-2.038 1.568-.314 0-1.019 0-1.647 1.098-.627 1.098-1.725 2.196-1.41 2.98.312.783.391 1.726.233 2.588-.156.862-1.332 1.176-1.567.941-.235-.236-1.489-1.335-1.647-.315`,fill:`#5c913b`})})]})};hr.displayName=`Earth`;var gr=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNiAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgMEgzNlYzNkgwVjBaIiBmaWxsPSIjMTk3NkQyIi8+CjxwYXRoIGQ9Ik0xNC4wMTM3IDEyLjIwMzFWMjVIMTEuMTU3MlYxMi4yMDMxSDE0LjAxMzdaTTE3LjkwNzIgMTIuMjAzMVYxNC40MjY4SDcuMzQyNzdWMTIuMjAzMUgxNy45MDcyWk0yMy4zNzQgMjVIMjAuNTYxNUwyMC41NzkxIDIyLjc4NTJIMjMuMzc0QzI0LjAxMjcgMjIuNzg1MiAyNC41NTE4IDIyLjYzODcgMjQuOTkxMiAyMi4zNDU3QzI1LjQzMDcgMjIuMDQ2OSAyNS43NjQ2IDIxLjYwNzQgMjUuOTkzMiAyMS4wMjczQzI2LjIyMTcgMjAuNDQxNCAyNi4zMzU5IDE5LjcyOTUgMjYuMzM1OSAxOC44OTE2VjE4LjMwMjdDMjYuMzM1OSAxNy42Njk5IDI2LjI3MTUgMTcuMTEzMyAyNi4xNDI2IDE2LjYzMjhDMjYuMDEzNyAxNi4xNDY1IDI1LjgyMzIgMTUuNzM5MyAyNS41NzEzIDE1LjQxMTFDMjUuMzE5MyAxNS4wODMgMjUuMDA1OSAxNC44MzY5IDI0LjYzMDkgMTQuNjcyOUMyNC4yNjE3IDE0LjUwODggMjMuODM2OSAxNC40MjY4IDIzLjM1NjQgMTQuNDI2OEgyMC41MDg4VjEyLjIwMzFIMjMuMzU2NEMyNC4yMjM2IDEyLjIwMzEgMjUuMDE0NiAxMi4zNDk2IDI1LjcyOTUgMTIuNjQyNkMyNi40NTAyIDEyLjkzNTUgMjcuMDcxMyAxMy4zNTQ1IDI3LjU5MjggMTMuODk5NEMyOC4xMjAxIDE0LjQ0NDMgMjguNTI3MyAxNS4wODg5IDI4LjgxNDUgMTUuODMzQzI5LjEwMTYgMTYuNTc3MSAyOS4yNDUxIDE3LjQwNjIgMjkuMjQ1MSAxOC4zMjAzVjE4Ljg5MTZDMjkuMjQ1MSAxOS43OTk4IDI5LjEwMTYgMjAuNjI4OSAyOC44MTQ1IDIxLjM3ODlDMjguNTI3MyAyMi4xMjMgMjguMTIwMSAyMi43Njc2IDI3LjU5MjggMjMuMzEyNUMyNy4wNzEzIDIzLjg1MTYgMjYuNDUzMSAyNC4yNjc2IDI1LjczODMgMjQuNTYwNUMyNS4wMjM0IDI0Ljg1MzUgMjQuMjM1NCAyNSAyMy4zNzQgMjVaTTIyLjE4NzUgMTIuMjAzMVYyNUgxOS4zMjIzVjEyLjIwMzFIMjIuMTg3NVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=`;function _r(){return(0,W.jsx)(`img`,{alt:`typescript`,height:`20`,src:gr,width:`20`})}var vr=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNiAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgMEgzNlYzNkgwVjBaIiBmaWxsPSIjRkZEMTAyIi8+CjxwYXRoIGQ9Ik05LjQxMTEzIDIxLjcxMDlIMTIuMjU4OEMxMi4yMTE5IDIyLjU4OTggMTEuOTcxNyAyMy4zNjYyIDExLjUzODEgMjQuMDRDMTEuMTEwNCAyNC43MDggMTAuNTE1NiAyNS4yMzI0IDkuNzUzOTEgMjUuNjEzM0M4Ljk5MjE5IDI1Ljk4ODMgOC4wODY5MSAyNi4xNzU4IDcuMDM4MDkgMjYuMTc1OEM2LjIwMDIgMjYuMTc1OCA1LjQ1MDIgMjYuMDMyMiA0Ljc4ODA5IDI1Ljc0NTFDNC4xMjU5OCAyNS40NTggMy41NjM0OCAyNS4wNDc5IDMuMTAwNTkgMjQuNTE0NkMyLjY0MzU1IDIzLjk3NTYgMi4yOTE5OSAyMy4zMjgxIDIuMDQ1OSAyMi41NzIzQzEuODA1NjYgMjEuODEwNSAxLjY4NTU1IDIwLjk1MjEgMS42ODU1NSAxOS45OTcxVjE5LjIxNDhDMS42ODU1NSAxOC4yNTk4IDEuODExNTIgMTcuNDAxNCAyLjA2MzQ4IDE2LjYzOTZDMi4zMTU0MyAxNS44Nzc5IDIuNjc1NzggMTUuMjI3NSAzLjE0NDUzIDE0LjY4ODVDMy42MTMyOCAxNC4xNDk0IDQuMTc1NzggMTMuNzM2MyA0LjgzMjAzIDEzLjQ0OTJDNS40ODgyOCAxMy4xNjIxIDYuMjIwNyAxMy4wMTg2IDcuMDI5MyAxMy4wMTg2QzguMTE5MTQgMTMuMDE4NiA5LjAzOTA2IDEzLjIxNDggOS43ODkwNiAxMy42MDc0QzEwLjUzOTEgMTQgMTEuMTE5MSAxNC41MzkxIDExLjUyOTMgMTUuMjI0NkMxMS45NDUzIDE1LjkxMDIgMTIuMTk0MyAxNi42OTI0IDEyLjI3NjQgMTcuNTcxM0g5LjQxOTkyQzkuMzk2NDggMTcuMDczMiA5LjMwMjczIDE2LjY1NDMgOS4xMzg2NyAxNi4zMTQ1QzguOTc0NjEgMTUuOTY4OCA4LjcyMjY2IDE1LjcwOCA4LjM4MjgxIDE1LjUzMjJDOC4wNDI5NyAxNS4zNTY0IDcuNTkxOCAxNS4yNjg2IDcuMDI5MyAxNS4yNjg2QzYuNjE5MTQgMTUuMjY4NiA2LjI1ODc5IDE1LjM0NDcgNS45NDgyNCAxNS40OTcxQzUuNjQzNTUgMTUuNjQ5NCA1LjM4ODY3IDE1Ljg4NjcgNS4xODM1OSAxNi4yMDlDNC45ODQzOCAxNi41MzEyIDQuODM0OTYgMTYuOTQxNCA0LjczNTM1IDE3LjQzOTVDNC42MzU3NCAxNy45MzE2IDQuNTg1OTQgMTguNTE3NiA0LjU4NTk0IDE5LjE5NzNWMTkuOTk3MUM0LjU4NTk0IDIwLjY3MDkgNC42Mjk4OCAyMS4yNTM5IDQuNzE3NzcgMjEuNzQ2MUM0LjgwNTY2IDIyLjIzODMgNC45NDYyOSAyMi42NDU1IDUuMTM5NjUgMjIuOTY3OEM1LjMzODg3IDIzLjI5IDUuNTkzNzUgMjMuNTMwMyA1LjkwNDMgMjMuNjg4NUM2LjIxNDg0IDIzLjg0NjcgNi41OTI3NyAyMy45MjU4IDcuMDM4MDkgMjMuOTI1OEM3LjU0Nzg1IDIzLjkyNTggNy45NzI2NiAyMy44NDY3IDguMzEyNSAyMy42ODg1QzguNjUyMzQgMjMuNTI0NCA4LjkxMzA5IDIzLjI3ODMgOS4wOTQ3MyAyMi45NTAyQzkuMjc2MzcgMjIuNjIyMSA5LjM4MTg0IDIyLjIwOSA5LjQxMTEzIDIxLjcxMDlaTTE4Ljk5MTIgMjIuMDI3M1YxMy4yMDMxSDIxLjgzODlWMjIuMDI3M0MyMS44Mzg5IDIyLjg4MjggMjEuNjQ1NSAyMy42MjExIDIxLjI1ODggMjQuMjQyMkMyMC44Nzc5IDI0Ljg1NzQgMjAuMzU5NCAyNS4zMzUgMTkuNzAzMSAyNS42NzQ4QzE5LjA1MjcgMjYuMDA4OCAxOC4zMTc0IDI2LjE3NTggMTcuNDk3MSAyNi4xNzU4QzE2LjY1MzMgMjYuMTc1OCAxNS45MDMzIDI2LjAzNTIgMTUuMjQ3MSAyNS43NTM5QzE0LjU5MDggMjUuNDY2OCAxNC4wNzUyIDI1LjAzMDMgMTMuNzAwMiAyNC40NDQzQzEzLjMzMTEgMjMuODUyNSAxMy4xNDY1IDIzLjA5OTYgMTMuMTQ2NSAyMi4xODU1SDE2LjAxMTdDMTYuMDExNyAyMi42MzY3IDE2LjA2NzQgMjIuOTk0MSAxNi4xNzg3IDIzLjI1NzhDMTYuMjk1OSAyMy41MTU2IDE2LjQ2NTggMjMuNjk3MyAxNi42ODg1IDIzLjgwMjdDMTYuOTExMSAyMy45MDgyIDE3LjE4MDcgMjMuOTYwOSAxNy40OTcxIDIzLjk2MDlDMTcuODAxOCAyMy45NjA5IDE4LjA2NTQgMjMuODg3NyAxOC4yODgxIDIzLjc0MTJDMTguNTEwNyAyMy41ODg5IDE4LjY4MzYgMjMuMzY5MSAxOC44MDY2IDIzLjA4MkMxOC45Mjk3IDIyLjc4OTEgMTguOTkxMiAyMi40Mzc1IDE4Ljk5MTIgMjIuMDI3M1pNMzAuNTc1MiAyMi42MjVDMzAuNTc1MiAyMi40MDgyIDMwLjU0MyAyMi4yMTQ4IDMwLjQ3ODUgMjIuMDQ0OUMzMC40MTQxIDIxLjg2OTEgMzAuMjk2OSAyMS43MDggMzAuMTI3IDIxLjU2MTVDMjkuOTU3IDIxLjQxNSAyOS43MTY4IDIxLjI2ODYgMjkuNDA2MiAyMS4xMjIxQzI5LjA5NTcgMjAuOTY5NyAyOC42ODg1IDIwLjgxNDUgMjguMTg0NiAyMC42NTYyQzI3LjYxMDQgMjAuNDY4OCAyNy4wNjI1IDIwLjI1NzggMjYuNTQxIDIwLjAyMzRDMjYuMDI1NCAxOS43ODMyIDI1LjU2NTQgMTkuNTA0OSAyNS4xNjExIDE5LjE4ODVDMjQuNzU2OCAxOC44NzIxIDI0LjQzNzUgMTguNTAyOSAyNC4yMDMxIDE4LjA4MTFDMjMuOTc0NiAxNy42NTkyIDIzLjg2MDQgMTcuMTY3IDIzLjg2MDQgMTYuNjA0NUMyMy44NjA0IDE2LjA1OTYgMjMuOTgwNSAxNS41Njc0IDI0LjIyMDcgMTUuMTI3OUMyNC40NjA5IDE0LjY4ODUgMjQuNzk3OSAxNC4zMTM1IDI1LjIzMTQgMTQuMDAyOUMyNS42NjUgMTMuNjg2NSAyNi4xNzQ4IDEzLjQ0NjMgMjYuNzYwNyAxMy4yODIyQzI3LjM0NjcgMTMuMTEyMyAyNy45OTEyIDEzLjAyNzMgMjguNjk0MyAxMy4wMjczQzI5LjYzMTggMTMuMDI3MyAzMC40NTUxIDEzLjE5NDMgMzEuMTY0MSAxMy41MjgzQzMxLjg3ODkgMTMuODU2NCAzMi40MzU1IDE0LjMxOTMgMzIuODM0IDE0LjkxN0MzMy4yMzI0IDE1LjUwODggMzMuNDMxNiAxNi4xOTczIDMzLjQzMTYgMTYuOTgyNEgzMC41ODRDMzAuNTg0IDE2LjYzNjcgMzAuNTEwNyAxNi4zMzIgMzAuMzY0MyAxNi4wNjg0QzMwLjIyMzYgMTUuNzk4OCAzMC4wMDY4IDE1LjU4NzkgMjkuNzEzOSAxNS40MzU1QzI5LjQyNjggMTUuMjgzMiAyOS4wNjY0IDE1LjIwNyAyOC42MzI4IDE1LjIwN0MyOC4yMTA5IDE1LjIwNyAyNy44NTY0IDE1LjI3MTUgMjcuNTY5MyAxNS40MDA0QzI3LjI4ODEgMTUuNTIzNCAyNy4wNzQyIDE1LjY5MzQgMjYuOTI3NyAxNS45MTAyQzI2Ljc4NzEgMTYuMTI3IDI2LjcxNjggMTYuMzY0MyAyNi43MTY4IDE2LjYyMjFDMjYuNzE2OCAxNi44MjcxIDI2Ljc2OTUgMTcuMDE0NiAyNi44NzUgMTcuMTg0NkMyNi45ODYzIDE3LjM0ODYgMjcuMTQ0NSAxNy41MDM5IDI3LjM0OTYgMTcuNjUwNEMyNy41NjA1IDE3Ljc5MSAyNy44MTg0IDE3LjkyNTggMjguMTIzIDE4LjA1NDdDMjguNDI3NyAxOC4xODM2IDI4Ljc3NjQgMTguMzA2NiAyOS4xNjg5IDE4LjQyMzhDMjkuODU0NSAxOC42NDA2IDMwLjQ2MDkgMTguODgwOSAzMC45ODgzIDE5LjE0NDVDMzEuNTIxNSAxOS40MDgyIDMxLjk2OTcgMTkuNzA3IDMyLjMzMyAyMC4wNDFDMzIuNjk2MyAyMC4zNzUgMzIuOTY4OCAyMC43NTI5IDMzLjE1MDQgMjEuMTc0OEMzMy4zMzc5IDIxLjU5NjcgMzMuNDMxNiAyMi4wNzQyIDMzLjQzMTYgMjIuNjA3NEMzMy40MzE2IDIzLjE3NTggMzMuMzIwMyAyMy42Nzk3IDMzLjA5NzcgMjQuMTE5MUMzMi44ODA5IDI0LjU1ODYgMzIuNTY0NSAyNC45MzM2IDMyLjE0ODQgMjUuMjQ0MUMzMS43MzgzIDI1LjU0ODggMzEuMjQ2MSAyNS43ODAzIDMwLjY3MTkgMjUuOTM4NUMzMC4wOTc3IDI2LjA5NjcgMjkuNDU2MSAyNi4xNzU4IDI4Ljc0NzEgMjYuMTc1OEMyOC4xMDI1IDI2LjE3NTggMjcuNDY2OCAyNi4wOTM4IDI2LjgzOTggMjUuOTI5N0MyNi4yMTI5IDI1Ljc1OTggMjUuNjQ0NSAyNS41MDIgMjUuMTM0OCAyNS4xNTYyQzI0LjYzMDkgMjQuODEwNSAyNC4yMjY2IDI0LjM3MTEgMjMuOTIxOSAyMy44Mzc5QzIzLjYyMyAyMy4yOTg4IDIzLjQ3MzYgMjIuNjYwMiAyMy40NzM2IDIxLjkyMTlIMjYuMzM4OUMyNi4zMzg5IDIyLjMwODYgMjYuMzk0NSAyMi42MzY3IDI2LjUwNTkgMjIuOTA2MkMyNi42MTcyIDIzLjE2OTkgMjYuNzc1NCAyMy4zODM4IDI2Ljk4MDUgMjMuNTQ3OUMyNy4xOTE0IDIzLjcxMTkgMjcuNDQ2MyAyMy44MjkxIDI3Ljc0NTEgMjMuODk5NEMyOC4wNDM5IDIzLjk2OTcgMjguMzc3OSAyNC4wMDQ5IDI4Ljc0NzEgMjQuMDA0OUMyOS4xNzQ4IDI0LjAwNDkgMjkuNTIwNSAyMy45NDYzIDI5Ljc4NDIgMjMuODI5MUMzMC4wNTM3IDIzLjcwNjEgMzAuMjUyOSAyMy41MzkxIDMwLjM4MTggMjMuMzI4MUMzMC41MTA3IDIzLjExNzIgMzAuNTc1MiAyMi44ODI4IDMwLjU3NTIgMjIuNjI1WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==`;function yr(){return(0,W.jsx)(`img`,{alt:`commonjs`,height:`20`,src:vr,width:`20`})}var br=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNiAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgMEgzNlYzNkgwVjBaIiBmaWxsPSIjOTNDMkRCIi8+CjxwYXRoIGQ9Ik0xMS43NTU5IDIyLjc4NTJWMjVINC45NDQzNFYyMi43ODUySDExLjc1NTlaTTUuOTE5OTIgMTIuMjAzMVYyNUgzLjA1NDY5VjEyLjIwMzFINS45MTk5MlpNMTAuODc3IDE3LjM1MzVWMTkuNDk4SDQuOTQ0MzRWMTcuMzUzNUgxMC44NzdaTTExLjc2NDYgMTIuMjAzMVYxNC40MjY4SDQuOTQ0MzRWMTIuMjAzMUgxMS43NjQ2Wk0xOS43OTc5IDIxLjYyNUMxOS43OTc5IDIxLjQwODIgMTkuNzY1NiAyMS4yMTQ4IDE5LjcwMTIgMjEuMDQ0OUMxOS42MzY3IDIwLjg2OTEgMTkuNTE5NSAyMC43MDggMTkuMzQ5NiAyMC41NjE1QzE5LjE3OTcgMjAuNDE1IDE4LjkzOTUgMjAuMjY4NiAxOC42Mjg5IDIwLjEyMjFDMTguMzE4NCAxOS45Njk3IDE3LjkxMTEgMTkuODE0NSAxNy40MDcyIDE5LjY1NjJDMTYuODMzIDE5LjQ2ODggMTYuMjg1MiAxOS4yNTc4IDE1Ljc2MzcgMTkuMDIzNEMxNS4yNDggMTguNzgzMiAxNC43ODgxIDE4LjUwNDkgMTQuMzgzOCAxOC4xODg1QzEzLjk3OTUgMTcuODcyMSAxMy42NjAyIDE3LjUwMjkgMTMuNDI1OCAxNy4wODExQzEzLjE5NzMgMTYuNjU5MiAxMy4wODMgMTYuMTY3IDEzLjA4MyAxNS42MDQ1QzEzLjA4MyAxNS4wNTk2IDEzLjIwMzEgMTQuNTY3NCAxMy40NDM0IDE0LjEyNzlDMTMuNjgzNiAxMy42ODg1IDE0LjAyMDUgMTMuMzEzNSAxNC40NTQxIDEzLjAwMjlDMTQuODg3NyAxMi42ODY1IDE1LjM5NzUgMTIuNDQ2MyAxNS45ODM0IDEyLjI4MjJDMTYuNTY5MyAxMi4xMTIzIDE3LjIxMzkgMTIuMDI3MyAxNy45MTcgMTIuMDI3M0MxOC44NTQ1IDEyLjAyNzMgMTkuNjc3NyAxMi4xOTQzIDIwLjM4NjcgMTIuNTI4M0MyMS4xMDE2IDEyLjg1NjQgMjEuNjU4MiAxMy4zMTkzIDIyLjA1NjYgMTMuOTE3QzIyLjQ1NTEgMTQuNTA4OCAyMi42NTQzIDE1LjE5NzMgMjIuNjU0MyAxNS45ODI0SDE5LjgwNjZDMTkuODA2NiAxNS42MzY3IDE5LjczMzQgMTUuMzMyIDE5LjU4NjkgMTUuMDY4NEMxOS40NDYzIDE0Ljc5ODggMTkuMjI5NSAxNC41ODc5IDE4LjkzNjUgMTQuNDM1NUMxOC42NDk0IDE0LjI4MzIgMTguMjg5MSAxNC4yMDcgMTcuODU1NSAxNC4yMDdDMTcuNDMzNiAxNC4yMDcgMTcuMDc5MSAxNC4yNzE1IDE2Ljc5MiAxNC40MDA0QzE2LjUxMDcgMTQuNTIzNCAxNi4yOTY5IDE0LjY5MzQgMTYuMTUwNCAxNC45MTAyQzE2LjAwOTggMTUuMTI3IDE1LjkzOTUgMTUuMzY0MyAxNS45Mzk1IDE1LjYyMjFDMTUuOTM5NSAxNS44MjcxIDE1Ljk5MjIgMTYuMDE0NiAxNi4wOTc3IDE2LjE4NDZDMTYuMjA5IDE2LjM0ODYgMTYuMzY3MiAxNi41MDM5IDE2LjU3MjMgMTYuNjUwNEMxNi43ODMyIDE2Ljc5MSAxNy4wNDEgMTYuOTI1OCAxNy4zNDU3IDE3LjA1NDdDMTcuNjUwNCAxNy4xODM2IDE3Ljk5OSAxNy4zMDY2IDE4LjM5MTYgMTcuNDIzOEMxOS4wNzcxIDE3LjY0MDYgMTkuNjgzNiAxNy44ODA5IDIwLjIxMDkgMTguMTQ0NUMyMC43NDQxIDE4LjQwODIgMjEuMTkyNCAxOC43MDcgMjEuNTU1NyAxOS4wNDFDMjEuOTE4OSAxOS4zNzUgMjIuMTkxNCAxOS43NTI5IDIyLjM3MyAyMC4xNzQ4QzIyLjU2MDUgMjAuNTk2NyAyMi42NTQzIDIxLjA3NDIgMjIuNjU0MyAyMS42MDc0QzIyLjY1NDMgMjIuMTc1OCAyMi41NDMgMjIuNjc5NyAyMi4zMjAzIDIzLjExOTFDMjIuMTAzNSAyMy41NTg2IDIxLjc4NzEgMjMuOTMzNiAyMS4zNzExIDI0LjI0NDFDMjAuOTYwOSAyNC41NDg4IDIwLjQ2ODggMjQuNzgwMyAxOS44OTQ1IDI0LjkzODVDMTkuMzIwMyAyNS4wOTY3IDE4LjY3ODcgMjUuMTc1OCAxNy45Njk3IDI1LjE3NThDMTcuMzI1MiAyNS4xNzU4IDE2LjY4OTUgMjUuMDkzOCAxNi4wNjI1IDI0LjkyOTdDMTUuNDM1NSAyNC43NTk4IDE0Ljg2NzIgMjQuNTAyIDE0LjM1NzQgMjQuMTU2MkMxMy44NTM1IDIzLjgxMDUgMTMuNDQ5MiAyMy4zNzExIDEzLjE0NDUgMjIuODM3OUMxMi44NDU3IDIyLjI5ODggMTIuNjk2MyAyMS42NjAyIDEyLjY5NjMgMjAuOTIxOUgxNS41NjE1QzE1LjU2MTUgMjEuMzA4NiAxNS42MTcyIDIxLjYzNjcgMTUuNzI4NSAyMS45MDYyQzE1LjgzOTggMjIuMTY5OSAxNS45OTggMjIuMzgzOCAxNi4yMDMxIDIyLjU0NzlDMTYuNDE0MSAyMi43MTE5IDE2LjY2ODkgMjIuODI5MSAxNi45Njc4IDIyLjg5OTRDMTcuMjY2NiAyMi45Njk3IDE3LjYwMDYgMjMuMDA0OSAxNy45Njk3IDIzLjAwNDlDMTguMzk3NSAyMy4wMDQ5IDE4Ljc0MzIgMjIuOTQ2MyAxOS4wMDY4IDIyLjgyOTFDMTkuMjc2NCAyMi43MDYxIDE5LjQ3NTYgMjIuNTM5MSAxOS42MDQ1IDIyLjMyODFDMTkuNzMzNCAyMi4xMTcyIDE5Ljc5NzkgMjEuODgyOCAxOS43OTc5IDIxLjYyNVpNMzAuNzIyNyAxMi4wNDQ5SDMxLjE0NDVWMTQuMjI0NkgzMC45ODYzQzMwLjM3MTEgMTQuMjI0NiAyOS44MDg2IDE0LjMxMjUgMjkuMjk4OCAxNC40ODgzQzI4Ljc5NDkgMTQuNjY0MSAyOC4zNTg0IDE0LjkyNDggMjcuOTg5MyAxNS4yNzA1QzI3LjYyMDEgMTUuNjEwNCAyNy4zMzU5IDE2LjAzMjIgMjcuMTM2NyAxNi41MzYxQzI2Ljk0MzQgMTcuMDM0MiAyNi44NDY3IDE3LjYwODQgMjYuODQ2NyAxOC4yNTg4VjIwLjQzODVDMjYuODQ2NyAyMC44Nzc5IDI2Ljg4NDggMjEuMjYxNyAyNi45NjA5IDIxLjU4OThDMjcuMDQzIDIxLjkxMjEgMjcuMTYwMiAyMi4xODE2IDI3LjMxMjUgMjIuMzk4NEMyNy40NzA3IDIyLjYwOTQgMjcuNjYxMSAyMi43NzA1IDI3Ljg4MzggMjIuODgxOEMyOC4xMDY0IDIyLjk4NzMgMjguMzU4NCAyMy4wNCAyOC42Mzk2IDIzLjA0QzI4Ljg5MTYgMjMuMDQgMjkuMTIzIDIyLjk4NDQgMjkuMzM0IDIyLjg3M0MyOS41NDQ5IDIyLjc2MTcgMjkuNzI2NiAyMi42MDM1IDI5Ljg3ODkgMjIuMzk4NEMzMC4wMzEyIDIyLjE5MzQgMzAuMTQ4NCAyMS45NTYxIDMwLjIzMDUgMjEuNjg2NUMzMC4zMTI1IDIxLjQxMTEgMzAuMzUzNSAyMS4xMTIzIDMwLjM1MzUgMjAuNzlDMzAuMzUzNSAyMC40NTAyIDMwLjMwOTYgMjAuMTQyNiAzMC4yMjE3IDE5Ljg2NzJDMzAuMTM5NiAxOS41ODU5IDMwLjAxOTUgMTkuMzQ1NyAyOS44NjEzIDE5LjE0NjVDMjkuNzA5IDE4Ljk0NzMgMjkuNTIxNSAxOC43OTQ5IDI5LjI5ODggMTguNjg5NUMyOS4wNzYyIDE4LjU3ODEgMjguODMwMSAxOC41MjI1IDI4LjU2MDUgMTguNTIyNUMyOC4xNzM4IDE4LjUyMjUgMjcuODM5OCAxOC42MTA0IDI3LjU1ODYgMTguNzg2MUMyNy4yNzczIDE4Ljk2MTkgMjcuMDYwNSAxOS4xODc1IDI2LjkwODIgMTkuNDYyOUMyNi43NTU5IDE5LjczODMgMjYuNjc2OCAyMC4wMTk1IDI2LjY3MDkgMjAuMzA2NkwyNS45NDE0IDE5LjcwMDJDMjUuOTQxNCAxOS4zMDE4IDI2LjAyMDUgMTguOTA5MiAyNi4xNzg3IDE4LjUyMjVDMjYuMzQyOCAxOC4xMjk5IDI2LjU3NDIgMTcuNzc1NCAyNi44NzMgMTcuNDU5QzI3LjE3MTkgMTcuMTM2NyAyNy41MzgxIDE2Ljg4MTggMjcuOTcxNyAxNi42OTQzQzI4LjQxMTEgMTYuNTAxIDI4LjkxMjEgMTYuNDA0MyAyOS40NzQ2IDE2LjQwNDNDMzAuMDY2NCAxNi40MDQzIDMwLjU4NzkgMTYuNTE4NiAzMS4wMzkxIDE2Ljc0NzFDMzEuNDkwMiAxNi45Njk3IDMxLjg2ODIgMTcuMjgwMyAzMi4xNzI5IDE3LjY3ODdDMzIuNDgzNCAxOC4wNzcxIDMyLjcxNDggMTguNTQzIDMyLjg2NzIgMTkuMDc2MkMzMy4wMjU0IDE5LjYwMzUgMzMuMTA0NSAyMC4xNjg5IDMzLjEwNDUgMjAuNzcyNUMzMy4xMDQ1IDIxLjM5MzYgMzIuOTk2MSAyMS45NzM2IDMyLjc3OTMgMjIuNTEyN0MzMi41Njg0IDIzLjA0NTkgMzIuMjY5NSAyMy41MTE3IDMxLjg4MjggMjMuOTEwMkMzMS40OTYxIDI0LjMwODYgMzEuMDMzMiAyNC42MTkxIDMwLjQ5NDEgMjQuODQxOEMyOS45NjA5IDI1LjA2NDUgMjkuMzY2MiAyNS4xNzU4IDI4LjcxIDI1LjE3NThDMjguMDMwMyAyNS4xNzU4IDI3LjQwOTIgMjUuMDU1NyAyNi44NDY3IDI0LjgxNTRDMjYuMjkgMjQuNTc1MiAyNS44MDM3IDI0LjIzMjQgMjUuMzg3NyAyMy43ODcxQzI0Ljk3NzUgMjMuMzM1OSAyNC42NTgyIDIyLjc5NjkgMjQuNDI5NyAyMi4xNjk5QzI0LjIwNyAyMS41NDMgMjQuMDk1NyAyMC44Mzk4IDI0LjA5NTcgMjAuMDYwNVYxOS4wMzIyQzI0LjA5NTcgMTcuOTY1OCAyNC4yNTk4IDE3LjAwNDkgMjQuNTg3OSAxNi4xNDk0QzI0LjkyMTkgMTUuMjkzOSAyNS4zODQ4IDE0LjU2MTUgMjUuOTc2NiAxMy45NTIxQzI2LjU3NDIgMTMuMzM2OSAyNy4yNzczIDEyLjg2NTIgMjguMDg1OSAxMi41MzcxQzI4Ljg5NDUgMTIuMjA5IDI5Ljc3MzQgMTIuMDQ0OSAzMC43MjI3IDEyLjA0NDlaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K`;function xr(){return(0,W.jsx)(`img`,{alt:`es6 modules`,height:`20`,src:br,width:`20`})}var Sr=`data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjI1NnB4IiBoZWlnaHQ9IjI4OXB4IiB2aWV3Qm94PSIwIDAgMjU2IDI4OSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+CiAgICA8Zz4KICAgICAgICA8cGF0aCBkPSJNMTI3Ljk5OTk5OSwyODguNDYzNzcxIEMxMjQuMDI0ODQ0LDI4OC40NjM3NzEgMTIwLjMxNDY5OSwyODcuNDAzNzI4IDExNi44Njk1NjQsMjg1LjU0ODY1NiBMODEuNjIzMTg4NCwyNjQuNjEyODM4IEM3Ni4zMjI5OCwyNjEuNjk3NzI0IDc4Ljk3MzA4NTQsMjYwLjYzNzY4MiA4MC41NjMxNDU4LDI2MC4xMDc2NjEgQzg3LjcxODQyNTksMjU3LjcyMjU3IDg5LjA0MzQ3NzUsMjU3LjE5MjU0NyA5Ni40NjM3Njg4LDI1Mi45NTIzODEgQzk3LjI1ODc5NzksMjUyLjQyMjM2MSA5OC4zMTg4NDA1LDI1Mi42ODczNzIgOTkuMTEzODcxOCwyNTMuMjE3MzkyIEwxMjYuMTQ0OTI3LDI2OS4zODMwMjQgQzEyNy4yMDQ5NywyNjkuOTEzMDQ1IDEyOC41MzAwMjEsMjY5LjkxMzA0NSAxMjkuMzI1MDUzLDI2OS4zODMwMjQgTDIzNS4wNjQxODIsMjA4LjE2NTYzNCBDMjM2LjEyNDIyNSwyMDcuNjM1NjExIDIzNi42NTQyNDUsMjA2LjU3NTU3MSAyMzYuNjU0MjQ1LDIwNS4yNTA1MTkgTDIzNi42NTQyNDUsODMuMDgwNzQ2NyBDMjM2LjY1NDI0NSw4MS43NTU2OTI5IDIzNi4xMjQyMjUsODAuNjk1NjUyNiAyMzUuMDY0MTgyLDgwLjE2NTYzMjQgTDEyOS4zMjUwNTMsMTkuMjEzMjUwNiBDMTI4LjI2NTAxLDE4LjY4MzIzMDUgMTI2LjkzOTk1OSwxOC42ODMyMzA1IDEyNi4xNDQ5MjcsMTkuMjEzMjUwNiBMMjAuNDA1Nzk1NCw4MC4xNjU2MzI0IEMxOS4zNDU3NTUxLDgwLjY5NTY1MjYgMTguODE1NzM0OSw4Mi4wMjA3MDQxIDE4LjgxNTczNDksODMuMDgwNzQ2NyBMMTguODE1NzM0OSwyMDUuMjUwNTE5IEMxOC44MTU3MzQ5LDIwNi4zMTA1NiAxOS4zNDU3NTUxLDIwNy42MzU2MTEgMjAuNDA1Nzk1NCwyMDguMTY1NjM0IEw0OS4yOTE5MjQ3LDIyNC44NjEyODYgQzY0LjkyNzUzNjQsMjMyLjgxMTU5NSA3NC43MzI5MTk2LDIyMy41MzYyMzQgNzQuNzMyOTE5NiwyMTQuMjYwODcxIEw3NC43MzI5MTk2LDkzLjY4MTE1OSBDNzQuNzMyOTE5Niw5Mi4wOTEwOTg1IDc2LjA1Nzk3MTEsOTAuNTAxMDM1OCA3Ny45MTMwNDI4LDkwLjUwMTAzNTggTDkxLjQyODU3MTYsOTAuNTAxMDM1OCBDOTMuMDE4NjM0Myw5MC41MDEwMzU4IDk0LjYwODY5NDgsOTEuODI2MDg3MyA5NC42MDg2OTQ4LDkzLjY4MTE1OSBMOTQuNjA4Njk0OCwyMTQuMjYwODcxIEM5NC42MDg2OTQ4LDIzNS4xOTY2ODkgODMuMjEzMjUxMiwyNDcuMzg3MTY0IDYzLjMzNzQ3MzcsMjQ3LjM4NzE2NCBDNTcuMjQyMjM2MiwyNDcuMzg3MTY0IDUyLjQ3MjA1MDIsMjQ3LjM4NzE2NCAzOC45NTY1MjE0LDI0MC43NjE5MDYgTDExLjEzMDQzNDcsMjI0Ljg2MTI4NiBDNC4yNDAxNjU4MSwyMjAuODg2MTI5IDUuNjg0MzQxODllLTE0LDIxMy40NjU4NCA1LjY4NDM0MTg5ZS0xNCwyMDUuNTE1NTI4IEw1LjY4NDM0MTg5ZS0xNCw4My4zNDU3NTU3IEM1LjY4NDM0MTg5ZS0xNCw3NS4zOTU0NDY1IDQuMjQwMTY1ODEsNjcuOTc1MTU1MiAxMS4xMzA0MzQ3LDY0LjAwMDAwMDYgTDExNi44Njk1NjQsMi43ODI2MDc1MiBDMTIzLjQ5NDgyNCwtMC45Mjc1MzU4NDEgMTMyLjUwNTE3NiwtMC45Mjc1MzU4NDEgMTM5LjEzMDQzNiwyLjc4MjYwNzUyIEwyNDQuODY5NTY1LDY0LjAwMDAwMDYgQzI1MS43NTk4MzQsNjcuOTc1MTU1MiAyNTYsNzUuMzk1NDQ2NSAyNTYsODMuMzQ1NzU1NyBMMjU2LDIwNS41MTU1MjggQzI1NiwyMTMuNDY1ODQgMjUxLjc1OTgzNCwyMjAuODg2MTI5IDI0NC44Njk1NjUsMjI0Ljg2MTI4NiBMMTM5LjEzMDQzNiwyODYuMDc4Njc2IEMxMzUuNjg1Mjk5LDI4Ny42Njg3MzkgMTMxLjcxMDE0NSwyODguNDYzNzcxIDEyNy45OTk5OTksMjg4LjQ2Mzc3MSBMMTI3Ljk5OTk5OSwyODguNDYzNzcxIFogTTE2MC41OTYyNzQsMjA0LjQ1NTQ4OCBDMTE0LjIxOTQ2MSwyMDQuNDU1NDg4IDEwNC42NzkwODksMTgzLjI1NDY1OSAxMDQuNjc5MDg5LDE2NS4yMzM5NTUgQzEwNC42NzkwODksMTYzLjY0Mzg5MyAxMDYuMDA0MTQxLDE2Mi4wNTM4MzIgMTA3Ljg1OTIxMiwxNjIuMDUzODMyIEwxMjEuNjM5NzUyLDE2Mi4wNTM4MzIgQzEyMy4yMjk4MTMsMTYyLjA1MzgzMiAxMjQuNTU0ODY0LDE2My4xMTM4NzIgMTI0LjU1NDg2NCwxNjQuNzAzOTM1IEMxMjYuNjc0OTQ3LDE3OC43NDk0ODQgMTMyLjc3MDE4NywxODUuNjM5NzUzIDE2MC44NjEyODMsMTg1LjYzOTc1MyBDMTgzLjEyMjE1NCwxODUuNjM5NzUzIDE5Mi42NjI1MjYsMTgwLjYwNDU1NiAxOTIuNjYyNTI2LDE2OC42NzkwOSBDMTkyLjY2MjUyNiwxNjEuNzg4ODIxIDE5MC4wMTI0MjMsMTU2Ljc1MzYyNCAxNTUuMjk2MDY1LDE1My4zMDg0ODkgQzEyNi40MDk5MzgsMTUwLjM5MzM3NSAxMDguMzg5MjM1LDE0NC4wMzMxMjYgMTA4LjM4OTIzNSwxMjAuOTc3MjI2IEMxMDguMzg5MjM1LDk5LjUxMTM4NzUgMTI2LjQwOTkzOCw4Ni43OTA4OTAxIDE1Ni42MjExMTksODYuNzkwODkwMSBDMTkwLjU0MjQ0Myw4Ni43OTA4OTAxIDIwNy4yMzgwOTUsOTguNDUxMzQ3MiAyMDkuMzU4MTc4LDEyMy44OTIzNCBDMjA5LjM1ODE3OCwxMjQuNjg3MzcxIDIwOS4wOTMxNjcsMTI1LjQ4MjQwMyAyMDguNTYzMTQ3LDEyNi4yNzc0MzQgQzIwOC4wMzMxMjcsMTI2LjgwNzQ1NCAyMDcuMjM4MDk1LDEyNy4zMzc0NzQgMjA2LjQ0MzA2NCwxMjcuMzM3NDc0IEwxOTIuNjYyNTI2LDEyNy4zMzc0NzQgQzE5MS4zMzc0NzUsMTI3LjMzNzQ3NCAxOTAuMDEyNDIzLDEyNi4yNzc0MzQgMTg5Ljc0NzQxMiwxMjQuOTUyMzgyIEMxODYuNTY3Mjg5LDExMC4zNzY4MTMgMTc4LjM1MTk2NiwxMDUuNjA2NjI1IDE1Ni42MjExMTksMTA1LjYwNjYyNSBDMTMyLjI0MDE2NSwxMDUuNjA2NjI1IDEyOS4zMjUwNTMsMTE0LjA4Njk1NyAxMjkuMzI1MDUzLDEyMC40NDcyMDUgQzEyOS4zMjUwNTMsMTI4LjEzMjUwNiAxMzIuNzcwMTg3LDEzMC41MTc2IDE2NS42MzE0NzEsMTM0Ljc1Nzc2NiBDMTk4LjIyNzc0NCwxMzguOTk3OTMxIDIxMy41OTgzNDQsMTQ1LjA5MzE2OSAyMTMuNTk4MzQ0LDE2Ny44ODQwNTggQzIxMy4zMzMzMzMsMTkxLjIwNDk3IDE5NC4yNTI1ODksMjA0LjQ1NTQ4OCAxNjAuNTk2Mjc0LDIwNC40NTU0ODggTDE2MC41OTYyNzQsMjA0LjQ1NTQ4OCBaIiBmaWxsPSIjNTM5RTQzIj48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPgo=`;function Cr(){return(0,W.jsx)(`img`,{alt:`nodejs`,height:`20`,src:Sr,width:`20`})}var wr=`data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiIHdpZHRoPSI5NyIgaGVpZ2h0PSI5NyI+CiAgPHBhdGggZmlsbD0iI0YwNTEzMyIgZD0iTTkyLjcxIDQ0LjQwOCA1Mi41OTEgNC4yOTFjLTIuMzEtMi4zMTEtNi4wNTctMi4zMTEtOC4zNjkgMGwtOC4zMyA4LjMzMkw0Ni40NTkgMjMuMTljMi40NTYtLjgzIDUuMjcyLS4yNzMgNy4yMjkgMS42ODUgMS45NjkgMS45NyAyLjUyMSA0LjgxIDEuNjcgNy4yNzVsMTAuMTg2IDEwLjE4NWMyLjQ2NS0uODUgNS4zMDctLjMgNy4yNzUgMS42NzEgMi43NSAyLjc1IDIuNzUgNy4yMDYgMCA5Ljk1OC0yLjc1MiAyLjc1MS03LjIwOCAyLjc1MS05Ljk2MSAwLTIuMDY4LTIuMDctMi41OC01LjExLTEuNTMxLTcuNjU4bC05LjUtOS40OTl2MjQuOTk3Yy42Ny4zMzIgMS4zMDMuNzc0IDEuODYxIDEuMzMyIDIuNzUgMi43NSAyLjc1IDcuMjA2IDAgOS45NTktMi43NSAyLjc0OS03LjIwOSAyLjc0OS05Ljk1NyAwLTIuNzUtMi43NTQtMi43NS03LjIxIDAtOS45NTkuNjgtLjY3OSAxLjQ2Ny0xLjE5MyAyLjMwNy0xLjUzN3YtMjUuMjNjLS44NC0uMzQ0LTEuNjI1LS44NTMtMi4zMDctMS41MzctMi4wODMtMi4wODItMi41ODQtNS4xNC0xLjUxNi03LjY5OEwzMS43OTggMTYuNzE1IDQuMjg4IDQ0LjIyMmMtMi4zMTEgMi4zMTMtMi4zMTEgNi4wNiAwIDguMzcxbDQwLjEyMSA0MC4xMThjMi4zMSAyLjMxMSA2LjA1NiAyLjMxMSA4LjM2OSAwTDkyLjcxIDUyLjc3OWMyLjMxMS0yLjMxMSAyLjMxMS02LjA2IDAtOC4zNzF6Ii8+Cjwvc3ZnPg==`;function Tr(){return(0,W.jsx)(`img`,{alt:`git`,height:`20`,src:wr,width:`20`})}var Er=`data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMjU2IDI1NiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjU2IDI1NiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+Cjxwb2x5Z29uIGZpbGw9IiNDQzAwMDAiIHBvaW50cz0iMjMsNjUuNiAxMzAsMy4zIDIzNyw2NS42IDIzNywxOTAuMSAxMzAsMjUyLjQgMjMsMTkwLjEgIi8+Cjxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iMTMzLDEyNy44IDIzMi41LDcwLjUgMjM2LjUsMTg2IDEzMywyNDguNSAiLz4KPGc+Cgk8cGF0aCBmaWxsPSIjQ0MwMDAwIiBkPSJNMjM0LDY3bC0wLjMsMTIyLjRsLTEwMy44LDYwLjJsLTAuNS0xMjAuM0wyMzQsNjd6IE0xNDYuNywxMzkuM2wwLjMsODAuNGwzNC41LTIwLjFsLTAuMS02MC42bDE3LjQtMTAuMwoJCWwwLDYwLjhsMTcuNC0xMC4ybDAuMS04MS40TDE0Ni43LDEzOS4zeiIvPgo8L2c+CjxwYXRoIGZpbGw9IiM5MTA1MDUiIGQ9Ik0xMzYuOCw0LjJjLTQuOC0yLjctMTIuNS0yLjctMTcuMywwTDI0LjcsNTguN2MtNC44LDIuNy04LjYsOS41LTguNiwxNC45djEwOWMwLDUuNSwzLjksMTIuMiw4LjYsMTQuOQoJbDk0LjgsNTQuNWM0LjgsMi43LDEyLjUsMi43LDE3LjMsMGw5NC44LTU0LjVjNC44LTIuNyw4LjYtOS41LDguNi0xNC45di0xMDljMC01LjUtMy45LTEyLjItOC42LTE0LjlMMTM2LjgsNC4yeiBNMjIwLjksNjEuMgoJYzQuOCwyLjcsNC44LDcuMiwwLDkuOWwtODMsNDcuN2MtNC44LDIuNy0xMi41LDIuNy0xNy4zLDBMMzYuNCw3MC40Yy00LjgtMi43LTQuOC03LjIsMC05LjlsODMtNDcuN2M0LjgtMi43LDEyLjUtMi43LDE3LjMsMAoJTDIyMC45LDYxLjJ6IE0yMy41LDgxLjVjMC01LjUsMy45LTcuNyw4LjYtNWw4NC45LDQ4LjhjNC44LDIuNyw4LjYsOS41LDguNiwxNC45VjIzN2MwLDUuNS0zLjksNy43LTguNiw1bC04NC45LTQ4LjgKCWMtNC44LTIuNy04LjYtOS41LTguNi0xNC45VjgxLjV6IE0xNDEuOCwyNDAuNWMtNC44LDIuNy04LjYsMC41LTguNi01di05NS4zYzAtNS41LDMuOS0xMi4yLDguNi0xNC45TDIyNC4yLDc4CgljNC44LTIuNyw4LjYtMC41LDguNiw1djk1LjNjMCw1LjUtMy45LDEyLjItOC42LDE0LjlMMTQxLjgsMjQwLjV6Ii8+Cjwvc3ZnPgo=`;function Dr(){return(0,W.jsx)(`img`,{alt:`npm package manager`,height:`20`,src:Er,width:`20`})}var Or=`data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHZpZXdCb3g9IjY2LjA5MTU3ODA5NDc0MTQyIDMzLjUgMTg0LjUgMTg0LjQ5OTk5OTk5OTk5OTk3IiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCI+PGRlZnM+PHBhdGggZD0iTTY3LjU5IDM1TDI0Ny41OSAzNUwyNDcuNTkgMjE1TDY3LjU5IDIxNUw2Ny41OSAzNVoiIGlkPSJiMkpaWmNBM2ZUIj48L3BhdGg+PHBhdGggZD0iTTIzNy42IDk1TDE4Ny42IDk1TDE4Ny42IDQ1TDIzNy42IDQ1TDIzNy42IDk1WiIgaWQ9ImJqMHRiMFk4cSI+PC9wYXRoPjxwYXRoIGQ9Ik0xODIuNTkgOTVMMTMyLjU5IDk1TDEzMi41OSA0NUwxODIuNTkgNDVMMTgyLjU5IDk1WiIgaWQ9ImRrRFNUelBqMyI+PC9wYXRoPjxwYXRoIGQ9Ik0xMjcuNTkgOTVMNzcuNTkgOTVMNzcuNTkgNDVMMTI3LjU5IDQ1TDEyNy41OSA5NVoiIGlkPSJhNHZOZGNOTHBGIj48L3BhdGg+PHBhdGggZD0iTTIzNy42IDE1MEwxODcuNiAxNTBMMTg3LjYgMTAwTDIzNy42IDEwMEwyMzcuNiAxNTBaIiBpZD0iaDJ0NFpqMWpTVSI+PC9wYXRoPjxwYXRoIGQ9Ik0xODIuNTkgMTUwTDEzMi41OSAxNTBMMTMyLjU5IDEwMEwxODIuNTkgMTAwTDE4Mi41OSAxNTBaIiBpZD0iYjR0NXBuZ3d2VCI+PC9wYXRoPjxwYXRoIGQ9Ik0xODIuNTkgMjA1TDEzMi41OSAyMDVMMTMyLjU5IDE1NUwxODIuNTkgMTU1TDE4Mi41OSAyMDVaIiBpZD0iYjlzMWdkNW0yIj48L3BhdGg+PHBhdGggZD0iTTIzNy42IDIwNUwxODcuNiAyMDVMMTg3LjYgMTU1TDIzNy42IDE1NUwyMzcuNiAyMDVaIiBpZD0iY210OVdMdno3Ij48L3BhdGg+PHBhdGggZD0iTTEyNy41OSAyMDVMNzcuNTkgMjA1TDc3LjU5IDE1NUwxMjcuNTkgMTU1TDEyNy41OSAyMDVaIiBpZD0iYkpVTnFnRlNnIj48L3BhdGg+PC9kZWZzPjxnPjxnPjx1c2UgeGxpbms6aHJlZj0iI2IySlpaY0EzZlQiIG9wYWNpdHk9IjEiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC91c2U+PC9nPjxnPjx1c2UgeGxpbms6aHJlZj0iI2JqMHRiMFk4cSIgb3BhY2l0eT0iMSIgZmlsbD0iI2Y5YWQwMCIgZmlsbC1vcGFjaXR5PSIxIj48L3VzZT48L2c+PGc+PHVzZSB4bGluazpocmVmPSIjZGtEU1R6UGozIiBvcGFjaXR5PSIxIiBmaWxsPSIjZjlhZDAwIiBmaWxsLW9wYWNpdHk9IjEiPjwvdXNlPjwvZz48Zz48dXNlIHhsaW5rOmhyZWY9IiNhNHZOZGNOTHBGIiBvcGFjaXR5PSIxIiBmaWxsPSIjZjlhZDAwIiBmaWxsLW9wYWNpdHk9IjEiPjwvdXNlPjwvZz48Zz48dXNlIHhsaW5rOmhyZWY9IiNoMnQ0WmoxalNVIiBvcGFjaXR5PSIxIiBmaWxsPSIjZjlhZDAwIiBmaWxsLW9wYWNpdHk9IjEiPjwvdXNlPjwvZz48Zz48dXNlIHhsaW5rOmhyZWY9IiNiNHQ1cG5nd3ZUIiBvcGFjaXR5PSIxIiBmaWxsPSIjNGU0ZTRlIiBmaWxsLW9wYWNpdHk9IjEiPjwvdXNlPjwvZz48Zz48dXNlIHhsaW5rOmhyZWY9IiNiOXMxZ2Q1bTIiIG9wYWNpdHk9IjEiIGZpbGw9IiM0ZTRlNGUiIGZpbGwtb3BhY2l0eT0iMSI+PC91c2U+PC9nPjxnPjx1c2UgeGxpbms6aHJlZj0iI2NtdDlXTHZ6NyIgb3BhY2l0eT0iMSIgZmlsbD0iIzRlNGU0ZSIgZmlsbC1vcGFjaXR5PSIxIj48L3VzZT48L2c+PGc+PHVzZSB4bGluazpocmVmPSIjYkpVTnFnRlNnIiBvcGFjaXR5PSIxIiBmaWxsPSIjNGU0ZTRlIiBmaWxsLW9wYWNpdHk9IjEiPjwvdXNlPjwvZz48L2c+PC9zdmc+`;function kr(){return(0,W.jsx)(`img`,{alt:`pnpm package manager`,height:`20`,src:Or,width:`20`})}var Ar=`data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTE4IDUxOCI+PHN0eWxlPi5zdDB7ZmlsbDojMmM4ZWJifS5zdDF7ZmlsbDojZmZmfTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MCIgZD0iTTI1OSAwYzE0MyAwIDI1OSAxMTYgMjU5IDI1OVM0MDIgNTE4IDI1OSA1MTggMCA0MDIgMCAyNTkgMTE2IDAgMjU5IDB6Ii8+PHBhdGggY2xhc3M9InN0MSIgZD0iTTQzNS4yIDMzNy41Yy0xLjgtMTQuMi0xMy44LTI0LTI5LjItMjMuOC0yMyAuMy00Mi4zIDEyLjItNTUuMSAyMC4xLTUgMy4xLTkuMyA1LjQtMTMgNy4xLjgtMTEuNi4xLTI2LjgtNS45LTQzLjUtNy4zLTIwLTE3LjEtMzIuMy0yNC4xLTM5LjQgOC4xLTExLjggMTkuMi0yOSAyNC40LTU1LjYgNC41LTIyLjcgMy4xLTU4LTcuMi03Ny44LTIuMS00LTUuNi02LjktMTAtOC4xLTEuOC0uNS01LjItMS41LTExLjkuNEMyOTMuMSA5NiAyODkuNiA5My44IDI4Ni45IDkyYy01LjYtMy42LTEyLjItNC40LTE4LjQtMi4xLTguMyAzLTE1LjQgMTEtMjIuMSAyNS4yLTEgMi4xLTEuOSA0LjEtMi43IDYuMS0xMi43LjktMzIuNyA1LjUtNDkuNiAyMy44LTIuMSAyLjMtNi4yIDQtMTAuNSA1LjZoLjFjLTguOCAzLjEtMTIuOCAxMC4zLTE3LjcgMjMuMy02LjggMTguMi4yIDM2LjEgNy4xIDQ3LjctOS40IDguNC0yMS45IDIxLjgtMjguNSAzNy41LTguMiAxOS40LTkuMSAzOC40LTguOCA0OC43LTcgNy40LTE3LjggMjEuMy0xOSAzNi45LTEuNiAyMS44IDYuMyAzNi42IDkuOCA0MiAxIDEuNiAyLjEgMi45IDMuMyA0LjItLjQgMi43LS41IDUuNi4xIDguNiAxLjMgNyA1LjcgMTIuNyAxMi40IDE2LjMgMTMuMiA3IDMxLjYgMTAgNDUuOCAyLjkgNS4xIDUuNCAxNC40IDEwLjYgMzEuMyAxMC42aDFjNC4zIDAgNTguOS0yLjkgNzQuOC02LjggNy4xLTEuNyAxMi00LjcgMTUuMi03LjQgMTAuMi0zLjIgMzguNC0xMi44IDY1LTMwIDE4LjgtMTIuMiAyNS4zLTE0LjggMzkuMy0xOC4yIDEzLjYtMy4zIDIyLjEtMTUuNyAyMC40LTI5LjR6bS0yMy44IDE0LjdjLTE2IDMuOC0yNC4xIDcuMy00My45IDIwLjItMzAuOSAyMC02NC43IDI5LjMtNjQuNyAyOS4zcy0yLjggNC4yLTEwLjkgNi4xYy0xNCAzLjQtNjYuNyA2LjMtNzEuNSA2LjQtMTIuOS4xLTIwLjgtMy4zLTIzLTguNi02LjctMTYgOS42LTIzIDkuNi0yM3MtMy42LTIuMi01LjctNC4yYy0xLjktMS45LTMuOS01LjctNC41LTQuMy0yLjUgNi4xLTMuOCAyMS0xMC41IDI3LjctOS4yIDkuMy0yNi42IDYuMi0zNi45LjgtMTEuMy02IC44LTIwLjEuOC0yMC4xcy02LjEgMy42LTExLTMuOGMtNC40LTYuOC04LjUtMTguNC03LjQtMzIuNyAxLjItMTYuMyAxOS40LTMyLjEgMTkuNC0zMi4xcy0zLjItMjQuMSA3LjMtNDguOGM5LjUtMjIuNSAzNS4xLTQwLjYgMzUuMS00MC42cy0yMS41LTIzLjgtMTMuNS00NS4yYzUuMi0xNCA3LjMtMTMuOSA5LTE0LjUgNi0yLjMgMTEuOC00LjggMTYuMS05LjUgMjEuNS0yMy4yIDQ4LjktMTguOCA0OC45LTE4LjhzMTMtMzkuNSAyNS0zMS44YzMuNyAyLjQgMTcgMzIgMTcgMzJzMTQuMi04LjMgMTUuOC01LjJjOC42IDE2LjcgOS42IDQ4LjYgNS44IDY4LTYuNCAzMi0yMi40IDQ5LjItMjguOCA2MC0xLjUgMi41IDE3LjIgMTAuNCAyOSA0My4xIDEwLjkgMjkuOSAxLjIgNTUgMi45IDU3LjguMy41LjQuNy40LjdzMTIuNSAxIDM3LjYtMTQuNWMxMy40LTguMyAyOS4zLTE3LjYgNDcuNC0xNy44IDE3LjUtLjMgMTguNCAyMC4yIDUuMiAyMy40eiIvPjwvc3ZnPg==`;function jr(){return(0,W.jsx)(`img`,{alt:`npm package manager`,height:`20`,src:Ar,width:`20`})}var Mr=n(I,{target:`exjcs7c1`})(e=>({fontWeight:e.theme.fontWeight.bold,textTransform:`capitalize`}),``),Nr=n(C,{target:`exjcs7c0`})({name:`1hcx8jb`,styles:`padding:0`}),Pr=({title:e,element:t,engineText:n})=>(0,W.jsx)(S,{size:{xs:6},children:(0,W.jsx)(w,{subheader:(0,W.jsx)(Mr,{variant:`subtitle1`,children:e}),children:(0,W.jsxs)(Nr,{children:[(0,W.jsx)(x,{sx:{backgroundColor:`transparent`,marginLeft:0,padding:0},children:t}),(0,W.jsx)(I,{sx:{margin:0,padding:`0 0 0 10px`},variant:`subtitle2`,children:n})]})})}),Fr=({packageMeta:e})=>{let{t}=O(),n=e?.latest?.engines;return n?(0,W.jsxs)(S,{container:!0,children:[n.node?(0,W.jsx)(Pr,{element:(0,W.jsx)(Cr,{}),engineText:n.node,title:t(`sidebar.engines.node-js`)}):null,n.npm?(0,W.jsx)(Pr,{element:(0,W.jsx)(Dr,{}),engineText:n.npm,title:t(`sidebar.engines.npm-version`)}):null,n.yarn?(0,W.jsx)(Pr,{element:(0,W.jsx)(jr,{}),engineText:n.yarn,title:t(`sidebar.engines.yarn-version`)}):null,n.pnpm?(0,W.jsx)(Pr,{element:(0,W.jsx)(kr,{}),engineText:n.pnpm,title:t(`sidebar.engines.pnpm-version`)}):null]}):null},Ir=n(H,{target:`e1lzdgus2`})(({theme:e})=>({marginTop:e.spacing(2),marginBottom:e.spacing(2),textDecoration:`none`,display:`block`}),``),Lr=n(Wt,{target:`e1lzdgus1`})(({theme:e})=>({color:e.palette.orange}),``),Rr=n(`strong`,{target:`e1lzdgus0`})({name:`1pt2o8x`,styles:`margin-right:3px`}),zr=({packageMeta:e})=>{let t=e?.latest?.funding?.url;return z(t)?(0,W.jsx)(Ir,{to:t,variant:`button`,children:(0,W.jsx)(T,{color:`primary`,fullWidth:!0,startIcon:(0,W.jsx)(Lr,{}),variant:`outlined`,children:(0,W.jsx)(Ut,{components:[(0,W.jsx)(Rr,{},`fund`)],i18nKey:`button.fund-this-package`})})}):null},q=function({ref:e,variant:t=`h6`,...n}){return(0,W.jsx)(I,{...n,ref:e,variant:t})},Br=o,Vr=({packageName:e})=>{let{t}=O(),{localSettings:n,updateSettings:r}=gn(),{configOptions:i}=B(),[a,o]=U.useState(null),s=!!a,c=e=>{o(e.currentTarget)},l=()=>{r({...n,[e]:{global:n[e]?.global,latest:!n[e]?.latest}}),o(null)},u=()=>{r({...n,[e]:{global:!n[e]?.global,latest:n[e]?.latest}}),o(null)},d=()=>{let e=!n?.yarnModern;r({...n,yarnModern:e}),o(null)},f=()=>{o(null)},p=n[e]?.latest,m=n[e]?.global;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(E,{"aria-controls":s?`basic-menu`:void 0,"aria-expanded":s?`true`:void 0,"aria-haspopup":`true`,id:`basic-button`,onClick:c,size:`small`,children:(0,W.jsx)(Kt,{fontSize:`small`})}),(0,W.jsxs)(Br,{anchorEl:a,anchorOrigin:{vertical:`bottom`,horizontal:`right`},id:`basic-menu`,onClose:f,open:s,slotProps:{list:{"aria-labelledby":`basic-button`}},transformOrigin:{vertical:`top`,horizontal:`right`},children:[(0,W.jsxs)(_t,{onClick:l,children:[` `,p===!0?(0,W.jsx)(ge,{children:(0,W.jsx)(et,{})}):null,t(`sidebar.installation.latest`)]}),(0,W.jsxs)(_t,{onClick:u,children:[` `,m===!0?(0,W.jsx)(ge,{children:(0,W.jsx)(et,{})}):null,t(`sidebar.installation.global`)]}),i?.pkgManagers?.includes(`yarn`)&&(0,W.jsxs)(_t,{onClick:d,children:[` `,n?.yarnModern?(0,W.jsx)(ge,{children:(0,W.jsx)(et,{})}):null,t(`sidebar.installation.yarnModern`)]})]})]})},Hr=n(C,{target:`e19lng442`})({name:`zw46c6`,styles:`padding:0;:hover{background-color:transparent;}`}),Ur=n(mt,{target:`e19lng441`})({name:`42bvt`,styles:`padding:0 0 0 10px;margin:0`}),Wr=n(x,{target:`e19lng440`})({name:`19ijsa5`,styles:`background-color:transparent;padding:0;margin-left:0`}),J=function(e){return e.NPM=`npm`,e.YARN=`yarn`,e.PNPM=`pnpm`,e}({});function Y(e,t,n,r,i=!1){return(t?`${i?``:`-g`} ${n&&!e?`${r}@${n}`:r}`:n&&!e?`${r}@${n}`:r).trim()}var Gr=({packageName:e,dependencyManager:t,packageVersion:n})=>{let{localSettings:r}=gn(),i=r[e]?.latest??!1,a=r[e]?.global??!1;switch(t){case J.NPM:return(0,W.jsxs)(Hr,{"data-testid":`installListItem-npm`,children:[(0,W.jsx)(Wr,{alt:`npm`,sx:{bgcolor:D.white},children:(0,W.jsx)(Dr,{})}),(0,W.jsx)(Ur,{primary:(0,W.jsx)(G,{dataTestId:`installNpm`,text:`npm install ${Y(i,a,n,e)}`,title:`npm install ${Y(i,a,n,e)}`})})]});case J.YARN:return(0,W.jsxs)(Hr,{"data-testid":`installListItem-yarn`,children:[(0,W.jsx)(Wr,{alt:`yarn`,sx:{bgcolor:D.white},children:(0,W.jsx)(jr,{})}),(0,W.jsx)(Ur,{primary:(0,W.jsx)(G,{dataTestId:`installYarn`,text:a?`yarn ${r.yarnModern?``:`global`} add ${Y(a,n,e,!0)}`:`yarn add ${Y(i,a,n,e,!0)}`,title:a?`yarn global add ${Y(a,n,e,!0)}`:`yarn add ${Y(i,a,n,e,!0)}`})})]});case J.PNPM:return(0,W.jsxs)(Hr,{"data-testid":`installListItem-pnpm`,children:[(0,W.jsx)(Wr,{alt:`pnpm`,sx:{bgcolor:D.white},children:(0,W.jsx)(kr,{})}),(0,W.jsx)(Ur,{primary:(0,W.jsx)(G,{dataTestId:`installPnpm`,text:`pnpm install ${Y(i,a,n,e)}`,title:`pnpm install ${Y(i,a,n,e)}`})})]});default:return null}},Kr=n(I,{target:`e1xg69sg1`})(e=>({fontWeight:e.theme.fontWeight.bold,textTransform:`capitalize`}),``),qr=n(`div`,{target:`e1xg69sg0`})({name:`bcffy2`,styles:`display:flex;align-items:center;justify-content:space-between`}),Jr=({packageMeta:e,packageName:t,configOptions:n})=>{let{t:r}=O();if(!e||!t)return null;let i=n?.pkgManagers?.includes(`npm`),a=n?.pkgManagers?.includes(`yarn`),o=n?.pkgManagers?.includes(`pnpm`)??!0;return i||o||a?(0,W.jsx)(W.Fragment,{children:(0,W.jsxs)(w,{"data-testid":`installList`,subheader:(0,W.jsxs)(qr,{children:[(0,W.jsx)(Kr,{variant:`subtitle1`,children:r(`sidebar.installation.title`)}),(0,W.jsx)(Vr,{packageName:t})]}),children:[i&&(0,W.jsx)(Gr,{dependencyManager:J.NPM,packageName:t,packageVersion:e.latest.version}),a&&(0,W.jsx)(Gr,{dependencyManager:J.YARN,packageName:t,packageVersion:e.latest.version}),o&&(0,W.jsx)(Gr,{dependencyManager:J.PNPM,packageName:t,packageVersion:e.latest.version})]})}):null},Yr=({keywords:e})=>{let t=typeof e==`string`?e.replace(/,/g,` `).split(` `):e;return t?(0,W.jsx)(C,{sx:{px:0,mt:0,flexWrap:`wrap`},children:t.sort().map((e,t)=>(0,W.jsx)(F,{label:e,size:`small`,sx:{mt:.5,mr:.5}},t))}):null},Xr=({packageMeta:e})=>{let{t}=O(),n=kt();return e?.latest?.keywords?(0,W.jsx)(w,{"data-testid":`keyword-list`,subheader:(0,W.jsx)(I,{sx:{fontWeight:n.fontWeight.bold,textTransform:`capitalize`},variant:`subtitle1`,children:t(`sidebar.keywords.title`)}),children:(0,W.jsx)(Yr,{keywords:e?.latest?.keywords})}):null},Zr=new ct(ut({async:!1,highlight(e,t){let n=Xe.getLanguage(t)?t:`plaintext`;return Xe.highlight(e,{language:n}).value}}));Zr.setOptions({renderer:new Zr.Renderer,pedantic:!1,gfm:!0,breaks:!1});function Qr(e){let t=Zr.parse(e);return zt.sanitize(t)}var $r=D.white,ei=(e,t)=>{let n=t||fn.primary.main,r=e===`dark`?{main:$r}:{main:n};return e===`dark`?{mode:e,primary:r,secondary:{main:`#424242`},background:{default:`#1a202c`,paper:`#2d3748`}}:{mode:e,primary:r,secondary:fn.secondary,background:{default:`#f4f4f4`,paper:`#ffffff`}}},ti={xxl:26,xl:24,lg:21,md:18,default:16,sm:14,ssm:12},ni={light:300,regular:400,semiBold:500,bold:700},ri={xsmall:400,small:576,medium:768,large:1024,container:1240,xlarge:1275},ii={fontSize:ti,fontWeight:ni,breakPoints:ri},ai=(e,t)=>se({palette:ei(e,t),typography:{fontFamily:[`-apple-system`,`BlinkMacSystemFont`,`"Helvetica Neue"`,`Arial`,`sans-serif`].join(`,`)},components:{MuiPaper:{styleOverrides:{root:{backgroundImage:`unset`}}}},...ii}),oi=(0,U.createContext)(void 0);function si(e){let t=window.matchMedia?.(`(prefers-color-scheme:dark)`).matches;return typeof e==`boolean`?e:t}var ci=({children:e})=>{let{configOptions:t}=B(),n=si(t.darkMode),r=t.showThemeSwitch,[i,a]=pn(`darkMode`,n),o=r===!0?i:n,s=ai(o?`dark`:`light`,t.primaryColor);return(0,W.jsx)(oi.Provider,{value:{isDarkMode:o,setIsDarkMode:a},children:(0,W.jsx)(qe,{injectFirst:!0,children:(0,W.jsx)(ke,{theme:s,children:e})})})},li=()=>(0,U.useContext)(oi),ui=({description:e})=>{let{isDarkMode:t}=li();return(0,W.jsx)(ie,{sx:{mb:2},children:(0,W.jsx)(l,{children:(0,W.jsx)(A,{"data-testid":`readme`,sx:{m:2},children:(0,W.jsx)(di,{className:`markdown-body ${t?`markdown-dark`:`markdown-light`}`,dangerouslySetInnerHTML:{__html:Qr(e)}})})})})},di=n(`div`,{target:`e1gao54u0`})({name:`z0ebq4`,styles:`ul{list-style:disc;}img{max-width:100%;}`}),fi=e(pe(),1),pi=`L LTS`;function mi(e){return(0,fi.default)(new Date(e)).format(pi)}function hi(e){return(0,fi.default)(new Date(e)).fromNow()}var gi=n(`div`,{target:`e13nc66u3`})(({theme:e})=>({marginLeft:e.spacing(1)}),``),_i=({module:e})=>e===`commonjs`?(0,W.jsx)(gi,{children:(0,W.jsx)(yr,{})}):e===`module`?(0,W.jsx)(gi,{children:(0,W.jsx)(xr,{})}):null,vi=({description:e,packageName:t,version:n,isLatest:r,hasTypes:i,moduleTypes:a,time:o})=>{let{t:s}=O();return(0,W.jsxs)(A,{className:`detail-info`,display:`flex`,flexDirection:`column`,marginBottom:`8px`,children:[(0,W.jsx)(bi,{children:(0,W.jsx)(yi,{children:(0,W.jsxs)(W.Fragment,{children:[t,i&&(0,W.jsx)(gi,{children:(0,W.jsx)(_r,{})}),a.map((e,t)=>(0,W.jsx)(_i,{module:e},t))]})})}),e&&(0,W.jsx)(`div`,{children:e}),(0,W.jsxs)(xi,{title:mi(o),children:[s(r?`sidebar.detail.latest-version`:`sidebar.detail.version`,{version:n}),o?` - `+s(`sidebar.detail.published`)+` `+hi(o):s(`versions.not-available`)]})]})},yi=n(`div`,{target:`e13nc66u2`})({name:`s5xdrg`,styles:`display:flex;align-items:center`}),bi=n(q,{target:`e13nc66u1`})({name:`1wd9x1m`,styles:`font-size:1rem;font-weight:700`}),xi=n(A,{target:`e13nc66u0`})(({theme:e})=>({color:e.palette.text.secondary,fontSize:e.fontSize.sm}),``),Si=n(`div`,{target:`erabg9d0`})(e=>({fontWeight:e.theme.fontWeight[e.weight],textTransform:e.capitalize?`capitalize`:`none`}),``),Ci=({text:e=``,capitalize:t=!1,weight:n=`regular`,...r})=>(0,W.jsx)(Si,{capitalize:t,weight:n,...r,children:e}),wi=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGZpbHRlciB4PSItMTkuOCUiIHk9Ii0xMS43JSIgd2lkdGg9IjEzOS42JSIgaGVpZ2h0PSIxNDAuNCUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImEiPjxmZU9mZnNldCBkeT0iNCIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSIvPjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjIuNSIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIi8+PGZlQ29tcG9zaXRlIGluPSJzaGFkb3dCbHVyT3V0ZXIxIiBpbjI9IlNvdXJjZUFscGhhIiBvcGVyYXRvcj0ib3V0IiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiLz48ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAuMDkwNjY0NjI4NiAwIiBpbj0ic2hhZG93Qmx1ck91dGVyMSIvPjwvZmlsdGVyPjxmaWx0ZXIgeD0iLTMzLjklIiB5PSItNTAlIiB3aWR0aD0iMTY3LjklIiBoZWlnaHQ9IjI3Mi43JSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iYyI+PGZlT2Zmc2V0IGR5PSI0IiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIi8+PGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMi41IiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiLz48ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAuMDkwNjY0NjI4NiAwIiBpbj0ic2hhZG93Qmx1ck91dGVyMSIvPjwvZmlsdGVyPjxwYXRoIGlkPSJiIiBkPSJNNDggMTYuNzI5TDMyLjY3MiA0N2gtOC44NzRMMCAwaDE1LjMyOGwxMi45MDcgMjUuNDkyIDQuNDM3LTguNzYzSDQ4eiIvPjxwYXRoIGQ9Ik0zNS4yIDExSDI4VjguNjQzaDguNGwxLjItMi4zNTdIMzJWMy45MjloNi44bC44LTEuNTcySDM2VjBoMjBsLTUuNiAxMUgzNS4yeiIgaWQ9ImQiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cmVjdCBmaWxsPSIjMDAwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgcng9IjM3Ii8+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjIgMzApIj48dXNlIGZpbGw9IiMwMDAiIGZpbHRlcj0idXJsKCNhKSIgeGxpbms6aHJlZj0iI2IiLz48dXNlIGZpbGwtb3BhY2l0eT0iLjYiIGZpbGw9IiNGRkYiIHhsaW5rOmhyZWY9IiNiIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIyIDMwKSI+PHVzZSBmaWxsPSIjMDAwIiBmaWx0ZXI9InVybCgjYykiIHhsaW5rOmhyZWY9IiNkIi8+PHVzZSBmaWxsPSIjRkZGIiB4bGluazpocmVmPSIjZCIvPjwvZz48cGF0aCBmaWxsPSIjRkZGIiBkPSJNNTQuNzg1IDc3SDQ1Ljg4TDIyIDMwaDE1LjM4TDU4IDcwLjcxOHoiLz48L2c+PC9zdmc+`,Ti=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgaWQ9InZlcmRhY2NpbyI+PFRpdGxlPlZlcmRhY2NpbzwvVGl0bGU+PGRlZnM+PHBhdGggaWQ9ImIiIGQ9Ik00OCAxNy42TDMyLjggNDhIMjRMLjQuOGgxNS4ybDEyLjggMjUuNiA0LjQtOC44SDQ4eiIvPjxmaWx0ZXIgeD0iLTIwJSIgeT0iLTExLjclIiB3aWR0aD0iMTM5LjklIiBoZWlnaHQ9IjE0MC4zJSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iYSI+PGZlT2Zmc2V0IGR5PSI0IiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIi8+PGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMi41IiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiLz48ZmVDb21wb3NpdGUgaW49InNoYWRvd0JsdXJPdXRlcjEiIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJvdXQiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSIvPjxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMC4wOTA2NjQ2Mjg2IDAiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIi8+PC9maWx0ZXI+PHBhdGggaWQ9ImQiIGQ9Ik01MC44IDEySDM1LjZMNDEuMi44aDE1LjJMNTAuOCAxMnoiLz48ZmlsdGVyIHg9Ii00NS43JSIgeT0iLTQ5LjElIiB3aWR0aD0iMTkxLjMlIiBoZWlnaHQ9IjI2OS42JSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iYyI+PGZlT2Zmc2V0IGR5PSI0IiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIi8+PGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMi41IiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiLz48ZmVDb21wb3NpdGUgaW49InNoYWRvd0JsdXJPdXRlcjEiIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJvdXQiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSIvPjxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMC4wOTA2NjQ2Mjg2IDAiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIi8+PC9maWx0ZXI+PC9kZWZzPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHJlY3QgZmlsbD0iI0Y3RjhGNiIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHJ4PSIzNyIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIyIDI5KSI+PHVzZSBmaWxsPSIjMDAwIiBmaWx0ZXI9InVybCgjYSkiIHhsaW5rOmhyZWY9IiNiIi8+PHBhdGggc3Ryb2tlPSIjNDA1MjM2IiBzdHJva2Utd2lkdGg9IjIuNCIgZD0iTTQ2LjA1OCAxOC44SDMzLjU0MkwyOC40IDI5LjA4MyAxNC44NTggMkgyLjM0MmwyMi40IDQ0LjhoNy4zMTZsMTQtMjh6IiBzdHJva2UtbGluZWpvaW49InNxdWFyZSIgZmlsbD0iIzQwNTIzNiIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMiAyOSkiPjx1c2UgZmlsbD0iIzAwMCIgZmlsdGVyPSJ1cmwoI2MpIiB4bGluazpocmVmPSIjZCIvPjxwYXRoIHN0cm9rZT0iI0NENDAwMCIgc3Ryb2tlLXdpZHRoPSIyLjQiIGQ9Ik01MC4wNTggMTAuOGw0LjQtOC44SDQxLjk0MmwtNC40IDguOGgxMi41MTZ6IiBzdHJva2UtbGluZWpvaW49InNxdWFyZSIgZmlsbD0iI0NENDAwMCIvPjwvZz48cGF0aCBkPSJNNTQuMDYgNzUuOGwyLjU3NS01LjExMkwzNi44NTcgMzFIMjQuMzQybDIyLjQgNDQuOGg3LjMxOXoiIHN0cm9rZT0iIzQwNTIzNiIgc3Ryb2tlLXdpZHRoPSIyLjQiIGZpbGw9IiM0QTVFM0YiLz48cGF0aCBkPSJNNTkuNiAzMWgxNS4yMjFNNTUuNiAzNWgxNS4yMjFNNTEuNiAzOS44aDE1LjIyMSIgc3Ryb2tlPSIjQ0Q0MDAwIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIvPjwvZz48L3N2Zz4K`,Ei={"x-small":`30px`,small:`40px`,big:`90px`},Di={light:Ti,dark:wi},Oi=({size:e,onClick:t,className:n,isDefault:r=!1,title:i=``})=>{let{configOptions:a}=B(),o=kt();if(!r&&a?.logo){let e=o.palette.mode===`dark`&&a.logoDark?a.logoDark:a.logo;return(0,W.jsx)(ki,{className:n,onClick:t,children:(0,W.jsx)(`img`,{alt:i,"data-testid":`custom-logo`,height:`40px`,src:e})})}return(0,W.jsx)(Ai,{className:n,"data-testid":`default-logo`,onClick:t,size:e,title:i})},ki=n(`div`,{target:`exban011`})({name:`lyel5l`,styles:`font-size:0`}),Ai=n(`div`,{target:`exban010`})(({size:e=`small`,theme:t})=>({display:`inline-block`,verticalAlign:`middle`,boxSizing:`border-box`,backgroundPosition:`center`,backgroundSize:`contain`,backgroundImage:`url(${Di[t.palette.mode]})`,backgroundRepeat:` no-repeat`,width:Ei[e],height:Ei[e]}),``),ji=function({ref:e,component:t=`li`,...n}){return(0,W.jsx)(Mi,{component:t,...n,ref:e})},Mi=n(_t,{target:`e4hxi4u0`})({name:`12mkfdx`,styles:`outline:none`}),Ni=()=>{let e=N(),{t}=O(),n=(0,U.useCallback)(()=>{e(`/`)},[e]);return(0,W.jsxs)(A,{alignItems:`center`,"data-testid":`404`,display:`flex`,flexDirection:`column`,flexGrow:1,justifyContent:`center`,p:2,children:[(0,W.jsx)(Pi,{children:(0,W.jsx)(ot,{color:`primary`,style:{fontSize:236}})}),(0,W.jsx)(Fi,{className:`not-found-text`,variant:`h4`,children:t(`error.404.sorry-we-could-not-find-it`)}),(0,W.jsx)(T,{"data-testid":`not-found-go-to-home-button`,onClick:n,variant:`contained`,children:t(`button.go-to-the-home-page`)})]})},Pi=n(`div`,{target:`e85lhfw1`})({name:`9th5i`,styles:`margin:0 auto`}),Fi=n(q,{target:`e85lhfw0`})(({theme:e})=>({color:e.palette.mode===`light`?e.palette.primary.main:D.white,marginBottom:16}),``),Ii=n(`div`,{target:`e1p1nuky1`})({name:`9th5i`,styles:`margin:0 auto`}),Li=n(q,{target:`e1p1nuky0`})(({theme:e})=>({color:e.palette.mode===`light`?e.palette.primary.main:D.white,marginBottom:16}),``),Ri=()=>{let e=N(),{t}=O(),n=(0,U.useCallback)(()=>{e(`/`)},[e]);return(0,W.jsxs)(A,{alignItems:`center`,"data-testid":`404`,display:`flex`,flexDirection:`column`,flexGrow:1,justifyContent:`center`,p:2,children:[(0,W.jsx)(Ii,{children:(0,W.jsx)(rt,{color:`primary`,style:{fontSize:236}})}),(0,W.jsx)(Li,{className:`not-found-text`,variant:`h4`,children:t(`error.401.sorry-no-access`)}),(0,W.jsx)(T,{"data-testid":`not-found-go-to-home-button`,onClick:n,variant:`contained`,children:t(`button.go-to-the-home-page`)})]})},zi=({onClose:e})=>{let{t}=O();return(0,W.jsxs)(A,{alignItems:`center`,display:`flex`,flexDirection:`column`,position:`relative`,children:[e&&(0,W.jsx)(Vi,{"aria-label":t(`button.close`),onClick:e,children:(0,W.jsx)(ye,{})}),(0,W.jsx)(Bi,{children:(0,W.jsx)(Lt,{})}),(0,W.jsx)(q,{children:t(`button.login`)})]})},Bi=n(x,{target:`eve417g1`})(({theme:e})=>({margin:e.spacing(1),backgroundColor:e.palette.mode===`light`?e.palette.primary.main:e.palette.cyanBlue,color:D.white}),``),Vi=n(E,{target:`eve417g0`})(({theme:e})=>({position:`absolute`,right:e.spacing()/2,top:e.spacing()/2,color:e.palette.grey[500]}),``),Hi=n(E,{target:`e1yl3sfh0`})(({theme:e})=>({position:`absolute`,right:e.spacing()/2,top:e.spacing()/2,color:e.palette.grey[500],zIndex:99}),``),Ui=({onClose:e})=>{let{t}=O();return(0,W.jsx)(d,{children:(0,W.jsx)(Hi,{"data-testid":`close-login-dialog-button`,onClick:e,children:(0,W.jsx)(ye,{titleAccess:t(`button.close`)})})})},Wi=n(be,{target:`e20vm851`})(({theme:e})=>({backgroundColor:e.palette.error.dark,marginTop:e.spacing(2),color:D.white}),``),Gi=n(yt,{target:`e20vm850`})(({theme:e})=>({fontSize:20,opacity:.9,marginRight:e.spacing(1)}),``),Ki=(0,U.memo)(({error:e})=>(0,W.jsx)(Wi,{message:(0,W.jsxs)(A,{alignItems:`center`,"data-testid":`error`,display:`flex`,children:[(0,W.jsx)(Gi,{}),e.message]})})),qi=n(Vt,{target:`e1v498i80`})(({theme:e})=>({marginTop:e.spacing(2)}),``),Ji=({register:e,errors:t})=>{let{t:n}=O();return(0,W.jsx)(qi,{autoComplete:`current-password`,error:!!t.password,fullWidth:!0,helperText:t.password?.message,id:`login--dialog-password`,...e(`password`,{required:{value:!0,message:n(`form-validation.required-field`)}}),"data-testid":`password`,label:n(`form.password`),placeholder:n(`form-placeholder.password`),required:!0,type:`password`,variant:`outlined`})},Yi=n(Vt,{target:`e1kt1tgm0`})(({theme:e})=>({marginTop:e.spacing(2)}),``),Xi=({register:e,errors:t})=>{let{t:n}=O();return(0,W.jsx)(Yi,{autoComplete:`username`,error:!!t.username,fullWidth:!0,helperText:t.username?.message,id:`login--dialog-username`,...e(`username`,{required:{value:!0,message:n(`form-validation.required-field`)}}),label:n(`form.username`),placeholder:n(`form-placeholder.username`),required:!0,variant:`outlined`})},Zi=n(`form`,{target:`e9qifwk1`})(({theme:e})=>({marginTop:e.spacing(1)}),``),Qi=n(T,{target:`e9qifwk0`})(({theme:e})=>({margin:e.spacing(3,0,2)}),``),$i=({register:e,handleSubmit:t,onSubmit:n,errors:r,isValid:i})=>{let{t:a}=O(),o=V()?.flags?.changePassword;return(0,W.jsxs)(Zi,{noValidate:!0,onSubmit:t(n),children:[(0,W.jsx)(Xi,{errors:r,register:e}),(0,W.jsx)(Ji,{errors:r,register:e}),r.root&&(0,W.jsx)(Ki,{error:r.root}),(0,W.jsx)(Qi,{color:`primary`,"data-testid":`login-dialog-form-login-button`,disabled:!i,fullWidth:!0,id:`login--dialog-button-submit`,size:`large`,type:`submit`,variant:`contained`,children:a(`button.login`)}),o&&(0,W.jsx)(I,{align:`center`,sx:{mt:2,fontSize:12},variant:`body2`,children:(0,W.jsx)(P,{href:R.CHANGE_PASSWORD,sx:{ml:1},children:a(`security.changePassword.title`)})})]})},ea=Mt().required().min(2).matches(/^[-a-zA-Z0-9_.!~*'()@]+$/,`security.error.username-must-be-url-safe`),ta=Mt().required().min(2),na=Tt({username:ea,password:ta}),ra=Tt({username:ea,password:ta,email:Mt().email().required()}),ia=Tt({username:ea,oldPassword:ta,newPassword:ta,confirmPassword:Mt().required().oneOf([nt(`newPassword`)],`security.error.password-mismatch`)});function aa({onSuccess:e}={}){let{handleLogin:t}=kn(),n=Qe({mode:`onChange`,resolver:ft(na)}),{setError:r}=n,i=(0,U.useCallback)(async n=>{try{await t?.(n),e?.()}catch{r(`root`,{type:`server`,message:`Invalid username or password`})}},[t,r,e]);return{...n,onSubmit:i}}var oa=()=>{let{register:e,handleSubmit:t,formState:{isValid:n,errors:r},onSubmit:i}=aa();return(0,W.jsx)($i,{errors:r,handleSubmit:t,isValid:n,onSubmit:i,register:e})},sa=({onClose:e,open:t=!1})=>{let{userState:n}=kn();return(0,U.useEffect)(()=>{n?.token&&e()},[e,n]),(0,W.jsxs)(_,{"data-testid":`login--dialog`,fullWidth:!0,maxWidth:`sm`,onClose:e,open:t,children:[(0,W.jsx)(Ui,{onClose:e}),(0,W.jsxs)(Me,{"data-testid":`dialogContentLogin`,children:[(0,W.jsx)(zi,{}),(0,W.jsx)(oa,{})]})]})},ca=n(`div`,{target:`e17sb8qr0`})({name:`1ayuow2`,styles:`width:100%;position:relative;z-index:1`}),la=({suggestions:e=[],onSuggestionsFetch:t,onCleanSuggestions:n,renderInput:r,renderOption:i,getOptionLabel:a,onSelectItem:o,suggestionsLoading:s=!1})=>{let{t:c}=O(),[l,u]=(0,U.useState)(``);return(0,W.jsx)(ca,{children:(0,W.jsx)(de,{clearOnBlur:!0,disablePortal:!0,filterOptions:(e,t)=>t.inputValue.trim()?e:[],fullWidth:!0,getOptionLabel:a,id:`search-header-suggest`,inputValue:l,loading:s,loadingText:c(`autoComplete.loading`),noOptionsText:c(`autoComplete.no-results-found`),onChange:o,onClose:e=>{n(e),u(``)},onInputChange:(e,r,i)=>{i===`input`?(e.preventDefault(),t({value:r}),u(r)):i===`clear`&&(n(e),u(``))},options:e,renderInput:r,renderOption:i,renderTags:()=>null})})};function ua(e){let t;do t=e,e=e.replace(/<[^>]*>?/gm,``);while(e!==t);return e}function da(e){let t=e;return t=ua(t),t=t.replace(/\(.*?\)/gm,``).replace(/(\[!?|\])/gm,``),t}var fa=n(`div`,{target:`eklopjo4`})({name:`1x17g94`,styles:`display:flex;align-items:center;width:100%`}),pa=n(`div`,{target:`eklopjo3`})(({theme:e})=>({display:`none`,color:e.palette.greyLight2,lineHeight:`1.5rem`,whiteSpace:`nowrap`,textOverflow:`ellipsis`,alignItems:`center`,overflow:`hidden`,paddingLeft:e.spacing(),fontSize:e.fontSize.ssm,[`@media (min-width: ${e.breakPoints.medium}px)`]:{display:`block`,width:`300px`},[`@media (min-width: ${e.breakPoints.large}px)`]:{display:`block`,width:`500px`},"@media (min-width: 1440px)":{display:`block`,width:`600px`}}),``),ma=n(`span`,{target:`eklopjo2`})({name:`36bnqj`,styles:`display:flex;flex:1`}),ha=n(`span`,{target:`eklopjo1`})(({theme:e})=>({fontWeight:`700`,fontSize:e.fontSize.sm}),``),ga=n(`span`,{target:`eklopjo0`})(({theme:e})=>({fontSize:e.fontSize.ssm}),``),_a=({name:e,description:t,isPrivate:n=!1,isRemote:i=!1,isCached:a=!1,version:o,...s})=>{let{t:c}=O(),{configOptions:l}=B(),u=()=>{};return(0,W.jsxs)(`li`,{...s,style:{flexDirection:`column`},children:[(0,W.jsxs)(fa,{children:[(0,W.jsxs)(ma,{children:[(0,W.jsx)(ha,{children:e}),t&&(0,W.jsx)(pa,{children:da(t)})]}),o&&(0,W.jsx)(ga,{children:o})]}),l?.showUplinks&&(0,W.jsx)(fa,{children:(0,W.jsxs)(r,{direction:`row`,spacing:1,children:[n&&(0,W.jsx)(F,{color:`primary`,deleteIcon:(0,W.jsx)(wt,{}),label:c(`search.isPrivate`),onDelete:u,size:`small`}),i&&!n&&(0,W.jsx)(F,{deleteIcon:(0,W.jsx)(Ft,{}),label:c(`search.isRemote`),onDelete:u,size:`small`,variant:`outlined`}),a&&(0,W.jsx)(F,{deleteIcon:(0,W.jsx)(jt,{}),label:c(`search.isCached`),onDelete:u,size:`small`,variant:`outlined`})]})})]})},va=n(Vt,{target:`e8lao7a1`})(e=>({"& .MuiInputBase-root":{":before":{content:`''`,border:`none`},":after":{borderColor:D.white},":hover:before":{content:`none`},":hover:after":{content:`none`,transform:`scaleX(1)`},[`@media screen and (min-width: ${e.theme.breakPoints.medium}px)`]:{":hover:after":{content:`''`}}},"& .MuiInputBase-input":{[`@media screen and (min-width: ${e.theme.breakPoints.medium}px)`]:{color:D.white}}}),``),ya=n(te,{target:`e8lao7a0`})(()=>({color:D.white}),``),ba=e(xt(),1),xa={API_DELAY:300,ABORT_ERROR:`AbortError`},Sa=()=>{let{t:e}=O(),t=N(),{searchResults:n,isLoading:r,doSearch:i}=Tn(),{configOptions:{flags:a}}=B(),o=a?.searchRemote??!1,s=(0,U.useRef)(null),c=(0,U.useCallback)(()=>{s.current&&=(s.current.abort(),null)},[]),l=(0,U.useCallback)(e=>{e.stopPropagation(),c()},[c]),u=(0,U.useCallback)((e,n,r)=>{if(e.stopPropagation(),r===`selectOption`){let e=n.package?.name??n.name;t(`${R.DETAIL}${e}`)}},[t,o]),d=(0,U.useRef)(i);d.current=i;let f=(0,U.useCallback)(async({value:e})=>{if(e?.trim()!==``){c();let t=new AbortController;s.current=t;try{await d.current?.({text:e,signal:t.signal})}catch(e){e.name===xa.ABORT_ERROR?console.warn(`Search request aborted`):console.error(`Search error:`,e)}}},[c]),p=(0,U.useMemo)(()=>(0,ba.default)(f,xa.API_DELAY),[f]);return(0,U.useEffect)(()=>()=>{p.cancel?.(),c()},[p,c]),(0,W.jsx)(la,{getOptionLabel:e=>e?.package?.name,onCleanSuggestions:l,onSelectItem:u,onSuggestionsFetch:p,placeholder:e(`search.packages`),renderInput:t=>(0,W.jsx)(va,{...t,InputProps:{...t.InputProps,startAdornment:(0,W.jsx)(ya,{position:`start`,children:(0,W.jsx)(it,{})})},label:``,placeholder:e(`search.packages`),variant:`standard`}),renderOption:(e,t)=>{let{key:n,...r}=e;if(o){let e=t.package,i=t?.verdaccioPrivate,a=t?.verdaccioPkgCached,o=!a&&!i;return(0,W.jsx)(_a,{...r,description:e?.description,isCached:a,isPrivate:i,isRemote:o,name:e?.name,version:e?.version},n)}else{let e=t.package;return(0,W.jsx)(_a,{...r,description:e?.description,name:e?.name,version:e?.version},n)}},suggestions:n,suggestionsLoading:r})},Ca=n(d,{target:`e1y7bplp2`})(({theme:e})=>({backgroundColor:e.palette.mode===`light`?e.palette.primary.main:e.palette.cyanBlue,color:D.white,fontSize:e.fontSize.lg}),``),wa=n(Me,{target:`e1y7bplp1`})(({theme:e})=>({padding:`0 24px`,backgroundColor:e.palette.background.default}),``),Ta=({open:e=!1,children:t,onClose:n,title:r=``})=>{let{t:i}=O();return(0,W.jsxs)(_,{"data-testid":`registryInfo--dialog`,id:`registryInfo--dialog-container`,maxWidth:`sm`,onClose:n,open:e,children:[(0,W.jsx)(Ca,{children:r}),(0,W.jsx)(wa,{children:t}),(0,W.jsx)(De,{children:(0,W.jsx)(T,{color:`inherit`,id:`registryInfo--dialog-close`,onClick:n,children:i(`button.close`)})})]})};function Ea(e){return{id:`simple-tab-${e}`,"aria-controls":`simple-tabpanel-${e}`}}function Da(e){let{children:t,value:n,index:r,...i}=e;return(0,W.jsx)(`div`,{"aria-labelledby":`simple-tab-${r}`,hidden:n!==r,id:`simple-tabpanel-${r}`,role:`tabpanel`,...i,children:n===r&&(0,W.jsx)(A,{sx:{paddingTop:3},children:t})})}var Oa=({onCloseDialog:e,isOpen:t,tabs:n=null,tabPanels:r=null,dialogTitle:i})=>{let[a,o]=U.useState(0),s=(e,t)=>{o(t)};return(0,W.jsx)(Ta,{onClose:e,open:t,title:i,children:(0,W.jsxs)(A,{sx:{width:`100%`},children:[(0,W.jsx)(A,{sx:{borderBottom:1,borderColor:`divider`},children:(0,W.jsx)(Ne,{"aria-label":`infoTabs`,"data-testid":`tabs`,onChange:s,value:a,children:n?n.map((e,t)=>(0,W.jsx)(h,{label:e.label,...Ea(t),...e},e.label)):null})}),r?r.map((e,t)=>(0,W.jsx)(Da,{index:t,value:a,children:e.element},t)):null]})})},ka=({size:e=50,centered:t=!1})=>(0,W.jsx)(Aa,{centered:t,children:(0,W.jsx)(ja,{size:e})}),Aa=n(`div`,{target:`eapffsy1`})(({centered:e})=>({display:`flex`,alignItems:`center`,justifyContent:`center`,...e&&{position:`absolute`,top:`50%`,left:`50%`,transform:`translate(-50%, -50%)`}}),``),ja=n(re,{target:`eapffsy0`})(({theme:e})=>({color:e.palette.mode===`dark`?D.white:e.palette.primary.main}),``),Ma=n(`div`,{target:`exspimt1`})({name:`10utkse`,styles:`transform:translate(-50%, -50%);top:50%;left:50%;position:absolute`}),Na=n(`div`,{target:`exspimt0`})(({theme:e})=>({margin:`0 0 30px 0`,padding:5,borderRadius:25,boxShadow:`0 10px 20px 0 rgba(69, 58, 100, 0.2)`,background:e.palette.mode===`dark`?e.palette.black:`#f7f8f6`}),``),Pa=()=>(0,W.jsxs)(Ma,{"data-testid":`loading`,children:[(0,W.jsx)(Na,{children:(0,W.jsx)(Oi,{size:`big`})}),(0,W.jsx)(ka,{"data-testid":`spinnerLogo`})]}),Fa=n(`span`,{target:`enco8p311`})(({theme:e})=>({display:`flex`,alignItems:`center`,margin:`0 20px 0 0`,color:e.palette.mode===`light`?e.palette.greyDark2:D.white,fontSize:12,[`@media (max-width: ${e.breakPoints.medium}px)`]:{":nth-of-type(3)":{display:`none`}},[`@media (max-width: ${e.breakPoints.small}px)`]:{":nth-of-type(4)":{display:`none`}}}),``),Ia=n(`span`,{target:`enco8p310`})({name:`1qmpjbv`,styles:`margin:0 5px 0 0`}),La=n(`span`,{target:`enco8p39`})({name:`tt9aci`,styles:`margin-left:5px;line-height:1.5;display:flex;flex-direction:column`}),Ra=n(`div`,{target:`enco8p38`})({name:`s5xdrg`,styles:`display:flex;align-items:center`}),za=n(x,{target:`enco8p37`})({name:`1aynuae`,styles:`width:20px;height:20px`}),Ba=n(vt,{target:`enco8p36`})({name:`g65o95`,styles:`text-decoration:none`}),Va=n(`span`,{target:`enco8p35`})(({theme:e})=>({fontWeight:e.fontWeight.bold,fontSize:20,display:`block`,color:e.palette.primary.main,cursor:`pointer`,textDecoration:`none`,wordBreak:`break-word`,[`@media (max-width: ${e.breakPoints.small}px)`]:{fontSize:16}}),``),Ha=n(S,{target:`enco8p34`})({name:`19mh0x6`,styles:`display:flex;align-items:center;justify-content:flex-end`}),Ua=n(w,{target:`enco8p33`})(({theme:e})=>({"&:hover":{backgroundColor:e.palette.action.hover}}),``),Wa=n(E,{target:`enco8p32`})({name:`8a08e6`,styles:`padding:6px;svg{font-size:16px;}`}),Ga=n(mt,{target:`enco8p31`})({name:`jjyo93`,styles:`padding-right:0`}),Ka=n(`span`,{target:`enco8p30`})(({theme:e})=>({color:e.palette.mode===`light`?un:D.white,fontSize:`14px`,paddingRight:0}),``),qa=({author:{name:e,avatar:t},bugs:n,description:r,dist:i,homepage:a,keywords:o,license:s,name:l,time:u,showDownload:d=!0,version:f})=>{let p=V(),{t:m}=O(),{isLoading:h}=Cn(),{downloadTarball:g}=xn(),_=(0,U.useCallback)(async e=>{let t=e.replace(`https://registry.npmjs.org/`,p.base);g?.({link:t})},[p,g]),ee=()=>f&&(0,W.jsxs)(Fa,{children:[(0,W.jsx)(Ya,{}),m(`package.version`,{version:f})]}),v=()=>{let n=rn(e);return(0,W.jsx)(Fa,{children:(0,W.jsxs)(Ra,{children:[(0,W.jsx)(za,{alt:n,src:t}),(0,W.jsx)(La,{children:n})]})})},te=()=>i?.unpackedSize&&(0,W.jsxs)(Fa,{children:[(0,W.jsx)(Xa,{}),en(i.unpackedSize)]}),y=()=>s&&(0,W.jsxs)(Fa,{children:[(0,W.jsx)(Za,{}),s]}),b=()=>u&&(0,W.jsxs)(Fa,{children:[(0,W.jsx)(Qa,{}),(0,W.jsx)(Ia,{title:sn(u),children:m(`package.published-on`,{time:Qt(u)})})]}),x=()=>a&&z(a)&&(0,W.jsx)(H,{to:a,children:(0,W.jsx)(c,{"aria-label":m(`package.homepage`),title:m(`package.visit-home-page`),children:(0,W.jsx)(Wa,{"aria-label":m(`package.homepage`),color:`primary`,size:`large`,children:(0,W.jsx)(At,{})})})}),ne=()=>n?.url&&z(n.url)&&(0,W.jsx)(H,{to:n.url,children:(0,W.jsx)(c,{"aria-label":m(`package.bugs`),title:m(`package.open-an-issue`),children:(0,W.jsx)(Wa,{"aria-label":m(`package.bugs`),color:`primary`,size:`large`,children:(0,W.jsx)(Ze,{})})})}),ie=()=>i?.tarball&&z(i.tarball)&&(0,W.jsx)(wn,{onClick:()=>{_(i.tarball)},to:`#`,children:(0,W.jsx)(c,{"aria-label":m(`package.download`,{what:m(`package.the-tar-file`)}),title:m(`package.tarball`),children:(0,W.jsx)(Wa,{"aria-label":m(`package.download`),color:`primary`,"data-testid":`download-tarball`,size:`large`,children:h?(0,W.jsx)(re,{size:13}):(0,W.jsx)(dt,{})})})}),ae=()=>(0,W.jsxs)(S,{alignItems:`center`,container:!0,size:{xs:12},wrap:`wrap`,children:[(0,W.jsx)(S,{size:`grow`,children:(0,W.jsx)(Ba,{to:`${R.DETAIL}${l}`,children:(0,W.jsx)(Va,{className:`package-title`,"data-testid":`package-title`,children:l})})}),(0,W.jsxs)(Ha,{size:`auto`,children:[x(),ne(),d&&ie()]})]}),oe=()=>(0,W.jsx)(Ka,{children:r}),se=()=>(0,W.jsx)(Ga,{primary:ae(),secondary:oe()}),ce=()=>(0,W.jsx)(C,{alignItems:`flex-start`,sx:{py:0,my:0},children:(0,W.jsx)(w,{sx:{p:0,my:0},children:(0,W.jsx)(Yr,{keywords:o})})});return(0,W.jsxs)(Ua,{className:`package`,"data-testid":`package-item-list`,children:[(0,W.jsx)(C,{alignItems:`flex-start`,sx:{mb:0},children:se()}),o&&o?.length>0?ce():null,(0,W.jsxs)(C,{alignItems:`flex-start`,sx:{mt:0},children:[v(),ee(),b(),te(),y()]})]})},Ja=({theme:e})=>j(`margin:0 10px 0 0;fill:`,e.palette.mode===`light`?We[900]:D.white,`;`,``),Ya=n(ur,{target:`ec4igln3`})(Ja,`;`),Xa=n(fr,{target:`ec4igln2`})(Ja,`;`),Za=n(pr,{target:`ec4igln1`})(Ja,`;`),Qa=n(dr,{target:`ec4igln0`})(Ja,`;`),$a=n(ie,{target:`e1cp9qoa0`})({name:`b7qabe`,styles:`max-width:600px;margin:auto`});function eo(e,t){return(0,W.jsxs)(U.Fragment,{children:[(0,W.jsx)(I,{variant:`body1`,children:e}),(0,W.jsx)(G,{dataTestId:`segments`,text:t})]})}var to=()=>{let{configOptions:e}=B(),t=e.base,{t:n}=O();return(0,W.jsxs)($a,{"data-testid":`help-card`,id:`help-card`,children:[(0,W.jsxs)(l,{children:[(0,W.jsx)(q,{gutterBottom:!0,id:`help-card__title`,variant:`h5`,children:n(`help.title`)}),(0,W.jsx)(q,{color:`textSecondary`,gutterBottom:!0,sx:{marginBottom:1},children:n(`help.sub-title`)}),eo(n(`help.first-step`),n(`help.first-step-command-line`,{registryUrl:t})),eo(n(`help.second-step`),n(`help.second-step-command-line`,{registryUrl:t})),(0,W.jsx)(I,{variant:`body1`,children:n(`help.third-step`)})]}),(0,W.jsx)(Le,{children:(0,W.jsx)(T,{color:`primary`,href:`https://verdaccio.org/docs/cli-registry`,size:`small`,children:n(`button.learn-more`)})})]})},no=t(),ro=Ce(),io=Ke(),ao=Ve(),oo=new ro.CellMeasurerCache({fixedWidth:!0,defaultHeight:100}),so=({packages:e})=>{let{configOptions:t}=B(),n=({index:n,key:r,parent:i,style:a})=>{let{name:o,version:s,description:c,time:l,keywords:u,dist:d,homepage:f,bugs:p,author:m,license:h}=e[n],g=$t(h);return(0,W.jsx)(ro.CellMeasurer,{cache:oo,columnIndex:0,parent:i,rowIndex:n,children:(0,W.jsxs)(`div`,{style:a,children:[n!==0&&(0,W.jsx)(me,{}),(0,W.jsx)(qa,{author:m,bugs:p,description:c,dist:d,homepage:f,keywords:u,license:g,name:o,showDownload:t.showDownloadTarball,time:l,version:s})]})},r)};return e?.length>0?(0,W.jsx)(Dn,{children:(0,W.jsx)(ao.WindowScroller,{children:({height:t,isScrolling:r,scrollTop:i,onChildScroll:a})=>(0,W.jsx)(no.AutoSizer,{disableHeight:!0,children:({width:o})=>(0,W.jsx)(io.List,{autoHeight:!0,deferredMeasurementCache:oo,height:t,isScrolling:r,onScroll:a,overscanRowCount:3,rowCount:e?.length,rowHeight:oo.rowHeight,rowRenderer:n,scrollTop:i,width:o})})})}):(0,W.jsx)(to,{})},co=class extends U.Component{state={hasError:!1,error:null};static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){console.error(`ErrorBoundary caught:`,e,t)}render(){let{hasError:e,error:t}=this.state,{children:n}=this.props;return e?(0,W.jsxs)(`div`,{role:`alert`,children:[(0,W.jsx)(`h1`,{children:`Something went wrong.`}),(0,W.jsx)(`pre`,{children:t?.message})]}):n}},lo=L(()=>M(()=>import(`./Version.BaDuR-HL.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8]))),uo=L(()=>M(()=>import(`./Front.BN1xUnZh.js`),__vite__mapDeps([9,1,2,3,4,5,6,7,8]))),fo=L(()=>M(()=>import(`./Login.CXgQki6i.js`),__vite__mapDeps([10,1,2,3,4,5,6,7,8]))),po=L(()=>M(()=>import(`./Success.LxqH8EKI.js`),__vite__mapDeps([11,1,2,3,4,5,6,7,8]))),mo=L(()=>M(()=>import(`./AddUser.CE2cqeBk.js`),__vite__mapDeps([12,1,2,3,4,5,6,7,8]))),ho=L(()=>M(()=>import(`./ChangePassword.Djuy7VlT.js`),__vite__mapDeps([13,1,2,3,4,5,6,7,8]))),go=(0,W.jsx)(An,{children:(0,W.jsx)(lo,{})}),_o=()=>{let{configOptions:e}=B(),t=e?.flags?.createUser,n=e?.flags?.changePassword;return(0,W.jsxs)(at,{children:[(0,W.jsx)(k,{element:(0,W.jsx)(En,{children:(0,W.jsx)(uo,{})}),path:R.ROOT}),(0,W.jsx)(k,{element:go,path:R.SCOPE_PACKAGE_VERSION}),(0,W.jsx)(k,{element:go,path:R.SCOPE_PACKAGE}),(0,W.jsx)(k,{element:go,path:R.PACKAGE_VERSION}),(0,W.jsx)(k,{element:go,path:R.PACKAGE}),(0,W.jsxs)(k,{element:(0,W.jsx)(It,{}),children:[(0,W.jsx)(k,{element:(0,W.jsx)(fo,{}),path:R.LOGIN}),(0,W.jsx)(k,{element:(0,W.jsx)(po,{}),path:R.SUCCESS}),t&&(0,W.jsx)(k,{element:(0,W.jsx)(mo,{}),path:R.ADD_USER}),n&&(0,W.jsx)(k,{element:(0,W.jsx)(ho,{}),path:R.CHANGE_PASSWORD})]}),(0,W.jsx)(k,{element:(0,W.jsx)(Ni,{}),path:`*`})]})},vo=n(I,{target:`ehvjuur3`})(e=>({fontWeight:e.theme.fontWeight.bold,textTransform:`capitalize`}),``),yo=n(C,{target:`ehvjuur2`})({name:`zw46c6`,styles:`padding:0;:hover{background-color:transparent;}`}),bo=n(mt,{target:`ehvjuur1`})({name:`42bvt`,styles:`padding:0 0 0 10px;margin:0`}),xo=n(x,{target:`ehvjuur0`})({name:`1vfgy9e`,styles:`padding:0;margin-left:0;background-color:transparent`}),So=({packageMeta:e})=>{let{t}=O(),n=e?.latest?.repository?.url;if(!n||!z(n))return null;let r=n.includes(`git+`)?n.split(`git+`)[1]:n;return(0,W.jsx)(w,{dense:!0,subheader:(0,W.jsx)(vo,{variant:`subtitle1`,children:t(`sidebar.repository.title`)}),children:(0,W.jsxs)(yo,{children:[(0,W.jsx)(xo,{sx:{bgcolor:D.white},children:(0,W.jsx)(Tr,{})}),(0,W.jsx)(bo,{primary:(0,W.jsx)(G,{dataTestId:`repositoryID`,text:r,title:r,children:(0,W.jsx)(H,{to:r,variant:`outline`,children:r})})})]})})},Co=e=>{if(!e.latest)return[];let t=[e.latest.type||`commonjs`];return e.latest.main&&t.push(`commonjs`),Array.from(new Set(t))},wo=()=>{let{packageMeta:e,packageName:t,packageVersion:n}=jn(),{configOptions:r}=B(),i=n||e?.latest.version||``,a=e?.time?e.time[i]:``;return!e||!t?null:(0,W.jsxs)(m,{"data-testid":`sidebar`,sx:{position:`sticky`,top:0,p:2,ml:{xs:0,md:2}},children:[(0,W.jsx)(vi,{description:e.latest?.description,hasTypes:typeof e.latest?.types==`string`,isLatest:n===void 0,moduleTypes:Co(e),packageName:t,time:a,version:i}),(0,W.jsx)(Dn,{children:(0,W.jsx)(Vn,{packageMeta:e,showDownloadTarball:r.showDownloadTarball,showRaw:r.showRaw})}),(0,W.jsx)(zr,{packageMeta:e}),(0,W.jsx)(Jr,{configOptions:r,packageMeta:e,packageName:t}),(0,W.jsx)(So,{packageMeta:e}),(0,W.jsx)(Fr,{packageMeta:e}),(0,W.jsx)(sr,{packageMeta:e}),(0,W.jsx)(Xr,{packageMeta:e}),(0,W.jsx)(Jn,{packageMeta:e}),(0,W.jsx)(nr,{packageMeta:e,type:Xn.MAINTAINERS}),(0,W.jsx)(nr,{packageMeta:e,type:Xn.CONTRIBUTORS})]})},To=({description:e})=>e?(0,W.jsx)(ui,{description:e}):null,Eo=function(e){return e.README=`readme`,e.DEPENDENCIES=`dependencies`,e.VERSIONS=`versions`,e.UPLINKS=`uplinks`,e}({}),Do=L(()=>M(()=>import(`./Versions.D5ze9Txd.js`),__vite__mapDeps([14,1,2,3,4,5]))),Oo=L(()=>M(()=>import(`./UpLinks.CUbfcVE1.js`),__vite__mapDeps([15,1,2,3,8,7,5]))),ko=L(()=>M(()=>import(`./Dependencies.DKJk3FJg.js`),__vite__mapDeps([16,1,2,3,6,7,5]))),Ao=({tabPosition:e,readDescription:t})=>{let{packageMeta:n,packageName:r}=jn();switch(e){case Eo.README:return(0,W.jsx)(To,{description:t});case Eo.UPLINKS:return(0,W.jsx)(Oo,{packageMeta:n});case Eo.VERSIONS:return(0,W.jsx)(Do,{packageMeta:n,packageName:r});case Eo.DEPENDENCIES:return(0,W.jsx)(ko,{packageMeta:n});default:return null}},jo=({tabPosition:e,onChange:t,showUplinks:n})=>{let{t:r}=O(),i=f(`(max-width:599px)`);return(0,W.jsxs)(Mo,{allowScrollButtonsMobile:!0,onChange:t,scrollButtons:i?`auto`:!1,value:e,variant:i?`scrollable`:`fullWidth`,children:[(0,W.jsx)(h,{"data-testid":`readme-tab`,id:`readme-tab`,label:r(`tab.readme`)}),(0,W.jsx)(h,{"data-testid":`dependencies-tab`,id:`dependencies-tab`,label:r(`tab.dependencies`)}),(0,W.jsx)(h,{"data-testid":`versions-tab`,id:`versions-tab`,label:r(`tab.versions`)}),n&&(0,W.jsx)(h,{"data-testid":`uplinks-tab`,id:`uplinks-tab`,label:r(`tab.uplinks`)})]})},Mo=n(Ne,{target:`e1g9ee4l0`})({name:`18uqayh`,styles:`margin-bottom:16px`}),No=function(e){return e.README=`readme`,e.DEPENDENCIES=`dependencies`,e.VERSIONS=`versions`,e.UPLINKS=`uplinks`,e}({}),Po=()=>{let{configOptions:e}=B(),t=e.showUplinks?Object.values(No):Object.values(No).filter(e=>e!==No.UPLINKS),[n,r]=(0,U.useState)(0),{readMe:i,packageMeta:a}=jn();return(0,W.jsxs)(A,{component:`div`,display:`flex`,flexDirection:`column`,minWidth:0,padding:0,children:[(0,W.jsx)(jo,{onChange:(e,t)=>{r(t)},showUplinks:e.showUplinks,tabPosition:n}),a?.latest?.deprecated&&(0,W.jsx)(Yn,{message:a?.latest?.deprecated}),(0,W.jsx)(Ao,{readDescription:i,tabPosition:t[n]})]})},Fo=n(ee,{target:`eiu7hcl9`})({name:`1kzbpct`,styles:`justify-content:space-between;align-items:center;padding:0`}),Io=n(`span`,{target:`eiu7hcl8`})({name:`1qmpjbv`,styles:`margin:0 5px 0 0`}),Lo=n(`div`,{target:`eiu7hcl7`})(e=>({alignItems:`center`,display:`flex`,borderBottom:`1px solid ${e.theme.palette.greyLight}`,padding:`8px`,position:`relative`}),``),Ro=n(`div`,{target:`eiu7hcl6`})(e=>({borderRadius:`4px`,backgroundColor:e.theme.palette.greyLight,color:D.white,width:`100%`,padding:`0 5px`,margin:`0 10px 0 0`}),``),zo=n(E,{target:`eiu7hcl5`})({name:`0`,styles:``}),Bo=n(E,{target:`eiu7hcl4`})({name:`0`,styles:``}),Vo=n(E,{target:`eiu7hcl3`})({name:`0`,styles:``}),Ho=n(E,{target:`eiu7hcl2`})({name:`0`,styles:``}),Uo=n(`div`,{target:`eiu7hcl1`})({name:`17eln3o`,styles:`display:none;width:100%;margin-left:20px`}),Wo=n(ce,{target:`eiu7hcl0`})(({theme:e})=>({backgroundColor:e.palette.mode===`light`?e.palette.primary.main:e.palette.cyanBlue,color:D.white,minHeight:60,display:`flex`,justifyContent:`center`,[`@media (max-width: ${e.breakPoints.xsmall}px)`]:j(Bo,`{display:none;}`,Vo,`{display:none;}`,Ho,`{display:none;}`,``),[`@media (min-width: ${e.breakPoints.medium}px)`]:j(Uo,`{display:flex;}`,zo,`{display:none;}`,Lo,`{display:none;}`,``),[`@media (min-width: ${e.breakPoints.large}px)`]:j(Fo,`{padding:0 16px;}`,``),[`@media (min-width: ${e.breakPoints.xlarge}px)`]:j(Fo,`{max-width:1240px;width:100%;margin:0 auto;}`,``)}),``),Go=({showSearch:e})=>(0,W.jsxs)(ee,{sx:{display:`flex`,padding:0,marginLeft:1,flex:1,"@media (min-width: 600px)":{padding:0,marginLeft:1,marginRight:`20px`}},children:[(0,W.jsx)(vt,{to:`/`,children:(0,W.jsx)(Oi,{})}),e&&(0,W.jsx)(Uo,{"data-testid":`search-container`,children:(0,W.jsx)(Sa,{})})]}),Ko=({username:e})=>{let{t}=O();return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Io,{children:t(`header.greetings`)}),(0,W.jsx)(Ci,{"data-testid":`greetings-label`,text:e,weight:`bold`})]})},qo=({onLogout:e,username:t,isMenuOpen:n=!1,anchorEl:r,onLoggedInMenu:i,onLoggedInMenuClose:a})=>{let{t:s}=O();return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(E,{color:`inherit`,"data-testid":`logInDialogIcon`,id:`header--button-account`,onClick:i,size:`large`,children:(0,W.jsx)(Ue,{})}),(0,W.jsxs)(o,{anchorEl:r,onClose:a,open:n,slotProps:{root:{anchorOrigin:{vertical:`bottom`,horizontal:`right`},transformOrigin:{vertical:`top`,horizontal:`right`}}},children:[(0,W.jsx)(ji,{children:(0,W.jsx)(Ko,{username:t})}),(0,W.jsx)(ji,{"data-testid":`logOutDialogIcon`,id:`logOutDialogIcon`,onClick:e,children:s(`button.logout`)})]})]})},Jo=function({ref:e,tooltipIconType:t,onClick:n}){switch(t){case`info`:return(0,W.jsx)(Bo,{color:`inherit`,"data-testid":`header--tooltip-info`,id:`header--button-registryInfo`,onClick:n,ref:e,size:`large`,children:(0,W.jsx)(oe,{})});case`settings`:return(0,W.jsx)(Ho,{color:`inherit`,"data-testid":`header--tooltip-settings`,id:`header--button-settings`,onClick:n,ref:e,size:`large`,children:(0,W.jsx)(Kt,{})});case`search`:return(0,W.jsx)(zo,{color:`inherit`,onClick:n,ref:e,children:(0,W.jsx)(it,{})});case`dark-mode`:return(0,W.jsx)(Vo,{color:`inherit`,"data-testid":`header--button--dark`,onClick:n,ref:e,size:`large`,children:(0,W.jsx)(Ot,{})});case`light-mode`:return(0,W.jsx)(Vo,{color:`inherit`,"data-testid":`header--button--light`,onClick:n,ref:e,size:`large`,children:(0,W.jsx)(le,{})});default:return null}},Yo=({tooltipIconType:e,onClick:t})=>(0,W.jsx)(Jo,{onClick:t,tooltipIconType:e}),Xo=({showSearch:e,username:t,onToggleLogin:n,hasLogin:r,showInfo:i,showSettings:a,showThemeSwitch:o,onLogout:s,onToggleMobileNav:c,onOpenRegistryInfoDialog:l,onOpenSettingsDialog:u})=>{let{isDarkMode:d,setIsDarkMode:f}=li(),[p,m]=(0,U.useState)(null),[h,g]=(0,U.useState)(!1),_=r===!1,{t:v}=O();(0,U.useEffect)(()=>{g(!!p)},[p]);let te=e=>{m(e.currentTarget)},y=()=>{m(null)},b=()=>{m(null),n()},x=()=>{setTimeout(()=>{f(!d)},300)};return(0,W.jsxs)(ee,{"data-testid":`header-right`,sx:{display:`flex`,padding:0,marginRight:0,"@media (min-width: 600px)":{padding:0,marginRight:0}},children:[e===!0&&(0,W.jsx)(Yo,{onClick:c,title:v(`search.packages`),tooltipIconType:`search`}),a===!0&&(0,W.jsx)(Yo,{onClick:u,title:v(`header.settings`),tooltipIconType:`settings`}),i===!0&&(0,W.jsx)(Yo,{onClick:l,title:v(`header.registry-info`),tooltipIconType:`info`}),o===!0&&(0,W.jsx)(Yo,{onClick:x,title:v(`header.documentation`),tooltipIconType:d?`dark-mode`:`light-mode`}),!_&&(0,W.jsx)(W.Fragment,{children:t?(0,W.jsx)(qo,{anchorEl:p,isMenuOpen:h,onLoggedInMenu:te,onLoggedInMenuClose:y,onLogout:s,username:t}):(0,W.jsx)(T,{color:`inherit`,"data-testid":`header--button-login`,onClick:b,children:v(`button.login`)})})]})},Zo=n(ie,{target:`e1prltpd1`})(({theme:e})=>({backgroundColor:e.palette.grey[600],opacity:`0.9`,color:e.palette.error.contrastText,fontWeight:`bold`}),``),Qo=n(ie,{target:`e1prltpd0`})(({theme:e})=>({cursor:`pointer`,":hover":{backgroundColor:e.palette.greyGainsboro}}),``),$o=({translation:e,icon:t})=>(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(l,{children:(0,W.jsx)(I,{display:`block`,gutterBottom:!0,variant:`caption`,children:e})}),(0,W.jsx)(l,{children:t})]}),es=()=>{let{language:e,setLanguage:t,listLanguages:n}=yn(),r=n.reduce((e,t)=>(e[t.lng]={translation:t.menuKey,icon:t.icon},e),{}),[i]=(0,U.useState)(Object.keys(Se.options?.resources||{})),{t:a}=O(),o=e,s=(0,U.useCallback)(e=>{let t=r[e]||r[`en-US`];return{icon:(0,W.jsx)(t.icon,{}),translation:a(t.translation)}},[r,a]),c=(0,U.useCallback)(e=>{t(e)},[t]);return(0,W.jsx)(`div`,{children:(0,W.jsx)(S,{columns:{xs:12,sm:12,md:12},container:!0,spacing:{xs:1,md:1},children:i.map((e,t)=>{let{icon:n,translation:r}=s(e);return(0,W.jsx)(S,{size:{sm:2,xs:6},children:e===o?(0,W.jsx)(Zo,{sx:{maxWidth:80},children:(0,W.jsx)($o,{icon:n,translation:r})}):(0,W.jsx)(Qo,{onClick:()=>c(e),children:(0,W.jsx)($o,{icon:n,translation:r})})},t)})})})},ts=n(`div`,{target:`e1lxinid1`})(({theme:e})=>({paddingBottom:`10px`,backgroundColor:e.palette.background.default}),``),ns=n(`div`,{target:`e1lxinid0`})(()=>({fontSize:`1rem`,fontStyle:`italic`}),``),X={npm:`npm`,yarn:`yarn`,pnpm:`pnpm`},rs=(e,t)=>(0,W.jsxs)(A,{display:`flex`,flexDirection:`column`,children:[(0,W.jsx)(G,{dataTestId:`copy`,text:an(`${X.npm} set`,e,t)}),(0,W.jsx)(G,{dataTestId:`copy`,text:Zt(`${X.npm} adduser`,t)}),(0,W.jsx)(G,{dataTestId:`copy`,text:Xt(X.npm,t)})]}),is=(e,t)=>(0,W.jsxs)(A,{display:`flex`,flexDirection:`column`,children:[(0,W.jsx)(G,{dataTestId:`copy`,text:an(`${X.pnpm} set`,e,t)}),(0,W.jsx)(G,{dataTestId:`copy`,text:Zt(`${X.pnpm} adduser`,t)}),(0,W.jsx)(G,{dataTestId:`copy`,text:Xt(X.pnpm,t)})]}),as=(e,t)=>(0,W.jsx)(A,{display:`flex`,flexDirection:`column`,children:(0,W.jsx)(G,{dataTestId:`copy`,text:an(`${X.yarn} config set`,e,t)})}),os=(e,t)=>(0,W.jsx)(A,{display:`flex`,flexDirection:`column`,children:(0,W.jsx)(G,{dataTestId:`copy`,text:nn(e,t)})}),ss=n(`div`,{target:`e1hl3ygs2`})({name:`1gwg476`,styles:`padding:0;padding-left:0;padding-right:0`}),cs=n(`div`,{target:`e1hl3ygs1`})({name:`pha8e7`,styles:`padding:5px`}),ls=n(`div`,{target:`e1hl3ygs0`})({name:`o73zj6`,styles:`margin:10px;margin-left:0`}),us=({scope:e,registryUrl:t})=>{let{t:n}=O(),{configOptions:r}=B(),i=r?.pkgManagers?.includes(`npm`),a=r?.pkgManagers?.includes(`yarn`),o=r?.pkgManagers?.includes(`pnpm`);return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(ts,{children:n(`packageManagers.description`)}),(0,W.jsxs)(ss,{children:[(0,W.jsxs)(Te,{disabled:!i,children:[(0,W.jsx)(He,{"aria-controls":`panel1a-content`,expandIcon:(0,W.jsx)(Re,{}),id:`panel1a-header`,children:(0,W.jsx)(I,{sx:{fontSize:`1rem`,fontWeight:`bold`},children:`npm`})}),(0,W.jsx)(Je,{children:(0,W.jsx)(cs,{"data-testid":`tab-content`,children:rs(e,t)})})]}),(0,W.jsxs)(Te,{disabled:!a,children:[(0,W.jsx)(He,{"aria-controls":`panel2a-content`,expandIcon:(0,W.jsx)(Re,{}),id:`panel2a-header`,children:(0,W.jsx)(I,{sx:{fontSize:`1rem`,fontWeight:`bold`},children:`yarn`})}),(0,W.jsxs)(Je,{children:[(0,W.jsx)(ns,{children:(0,W.jsx)(y,{children:n(`packageManagers.yarnclassicDetails`)})}),(0,W.jsx)(cs,{"data-testid":`tab-content`,children:as(e,t)}),(0,W.jsx)(ns,{children:(0,W.jsx)(y,{children:n(`packageManagers.yarnBerryDetails`)})}),(0,W.jsx)(cs,{"data-testid":`tab-content`,children:os(e,t)})]})]}),(0,W.jsxs)(Te,{disabled:!o,children:[(0,W.jsx)(He,{"aria-controls":`panel3a-content`,expandIcon:(0,W.jsx)(Re,{}),id:`panel3a-header`,children:(0,W.jsx)(I,{sx:{fontSize:`1rem`,fontWeight:`bold`},children:`pnpm`})}),(0,W.jsx)(Je,{children:(0,W.jsx)(cs,{"data-testid":`tab-content`,children:is(e,t)})})]}),(0,W.jsx)(ls,{children:(0,W.jsx)(P,{href:`https://verdaccio.org/docs/cli-registry`,target:`_blank`,children:(0,W.jsx)(I,{children:n(`header.registry-info-link`)})})})]})]})};function ds(e){return{id:`simple-tab-${e}`,"aria-controls":`simple-tabpanel-${e}`}}function fs(e){let{children:t,value:n,index:r,...i}=e;return(0,W.jsx)(`div`,{"aria-labelledby":`simple-tab-${r}`,hidden:n!==r,id:`simple-tabpanel-${r}`,role:`tabpanel`,...i,children:n===r&&(0,W.jsx)(A,{sx:{paddingTop:3},children:t})})}var ps=n(`div`,{target:`eff5q790`})(({theme:e})=>({padding:`10px 0`,backgroundColor:e.palette.background.default}),``),ms=({onCloseDialog:e,isOpen:t})=>{let[n,r]=U.useState(0),i=(e,t)=>{r(t)},{scope:a,base:o}=V(),{t:s}=O();return(0,W.jsx)(Ta,{onClose:e,open:t,title:s(`dialog.settings.title`),children:(0,W.jsxs)(A,{sx:{width:`100%`},children:[(0,W.jsx)(A,{sx:{borderBottom:1,borderColor:`divider`},children:(0,W.jsxs)(Ne,{"aria-label":`basic tabs example`,onChange:i,value:n,children:[(0,W.jsx)(h,{label:s(`packageManagers.title`),...ds(0)}),(0,W.jsx)(h,{label:s(`language.title`),...ds(1)})]})}),(0,W.jsx)(fs,{index:0,value:n,children:(0,W.jsx)(us,{registryUrl:o,scope:a})}),(0,W.jsxs)(fs,{index:1,value:n,children:[(0,W.jsx)(ps,{children:s(`language.description`)}),(0,W.jsx)(es,{}),(0,W.jsx)(y,{children:s(`language.contribute`)})]})]})})},hs=({HeaderInfoDialog:e,isPlainHeader:t,tokenCheckIntervalMs:n=3600*1e3})=>{let{t:r}=O(),[i,a]=(0,U.useState)(!1),[o,s]=(0,U.useState)(!1),[c,l]=(0,U.useState)(!1),[u,d]=(0,U.useState)(!1),{configOptions:f}=B(),{userState:p,logOutUser:m}=kn(),h=(0,U.useRef)(p?.token);(0,U.useEffect)(()=>{h.current=p?.token},[p?.token]),(0,U.useEffect)(()=>{function e(){let e=h.current;e&&on(e)&&m?.()}e();let t=setInterval(e,n);return()=>clearInterval(t)},[n]);let g=()=>{m?.(),d(!1)};return t?(0,W.jsx)(Wo,{"data-testid":`header`,position:`static`,children:(0,W.jsxs)(Fo,{children:[(0,W.jsx)(Go,{showSearch:!1}),(0,W.jsx)(Xo,{hasLogin:!1,onLogout:()=>{},onOpenRegistryInfoDialog:()=>{},onOpenSettingsDialog:()=>{},onToggleLogin:()=>{},onToggleMobileNav:()=>{},showInfo:!1,showSearch:!1,showSettings:!1,showThemeSwitch:!1,username:``})]})}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(Wo,{"data-testid":`header`,position:`static`,children:[(0,W.jsxs)(Fo,{children:[(0,W.jsx)(Go,{showSearch:f.showSearch}),(0,W.jsx)(Xo,{hasLogin:f?.login,onLogout:g,onOpenRegistryInfoDialog:()=>a(!0),onOpenSettingsDialog:()=>s(!0),onToggleLogin:()=>d(!u),onToggleMobileNav:()=>l(!c),showInfo:f.showInfo,showSearch:f.showSearch,showSettings:f.showSettings,showThemeSwitch:f.showThemeSwitch,username:p?.username})]}),(0,W.jsx)(ms,{isOpen:o,onCloseDialog:()=>s(!1)}),e?(0,W.jsx)(e,{dialogTitle:r(`dialog.registry-info.title`),isOpen:i,onCloseDialog:()=>a(!1)}):null]}),c&&(0,W.jsxs)(Lo,{children:[(0,W.jsx)(Ro,{children:(0,W.jsx)(Sa,{})}),(0,W.jsx)(T,{color:`inherit`,onClick:()=>l(!1),children:r(`button.cancel`)})]}),!p?.username&&(0,W.jsx)(sa,{onClose:()=>d(!1),open:u})]})},gs=()=>{let e=Cn();return e.isError?(0,W.jsx)(`div`,{children:`Error loading manifests`}):(0,W.jsxs)(`div`,{className:`container content`,"data-testid":`home-page-container`,children:[e.isLoading?(0,W.jsx)(Pa,{}):(0,W.jsx)(so,{packages:e.manifests}),e.isError&&(0,W.jsx)(`div`,{children:`Error loading manifests`})]})},_s=n(`div`,{target:`e1u2lefy4`})(({theme:e})=>({background:e.palette.mode===`light`?e.palette.snow:e.palette.cyanBlue,borderTop:`1px solid ${e.palette.greyGainsboro}`,color:e.palette.mode===`dark`?D.white:e.palette.nobel01,fontSize:`14px`,padding:`20px`}),``),vs=n(`div`,{target:`e1u2lefy3`})(({theme:e})=>({display:`flex`,alignItems:`center`,justifyContent:`flex-end`,paddingLeft:16,paddingRight:16,width:`100%`,[`@media (min-width: ${e.breakPoints.medium}px)`]:{minWidth:400,maxWidth:800,margin:`auto`,justifyContent:`space-between`},[`@media (min-width: ${e.breakPoints.large}px)`]:{maxWidth:1240}}),``),ys=n(`div`,{target:`e1u2lefy2`})(({theme:e})=>({alignItems:`center`,display:`none`,[`@media (min-width: ${e.breakPoints.medium}px)`]:{display:`flex`},marginLeft:1}),``),bs=n(ys,{target:`e1u2lefy1`})({name:`1c0m0dr`,styles:`display:flex;margin-right:1px`}),xs=n(`span`,{target:`e1u2lefy0`})(({theme:e})=>({color:e.palette.love,padding:`0 5px`}),``);function Ss(){window.open(`https://verdaccio.org`,`_blank`)}var Cs=()=>{let{t:e}=O(),{configOptions:t}=B();return(0,W.jsx)(_s,{"data-testid":`footer`,children:(0,W.jsxs)(vs,{children:[(0,W.jsxs)(ys,{children:[(0,W.jsx)(Ut,{components:[(0,W.jsx)(xs,{},`love`)],i18nKey:`footer.made-with-love-on`}),(0,W.jsxs)(Ds,{children:[(0,W.jsx)(Ts,{}),(0,W.jsxs)(Es,{children:[(0,W.jsx)(Z,{children:(0,W.jsx)(s,{title:e(`flag.spain`)})}),(0,W.jsx)(Z,{children:(0,W.jsx)(ne,{title:e(`flag.nicaragua`)})}),(0,W.jsx)(Z,{children:(0,W.jsx)(Ie,{title:e(`flag.india`)})}),(0,W.jsx)(Z,{children:(0,W.jsx)(ae,{title:e(`flag.brazil`)})}),(0,W.jsx)(Z,{children:(0,W.jsx)(Ee,{title:e(`flag.china`)})}),(0,W.jsx)(Z,{children:(0,W.jsx)(v,{title:e(`flag.australia`)})}),(0,W.jsx)(Z,{children:(0,W.jsx)(qt,{title:e(`flag.germany`)})}),(0,W.jsx)(Z,{children:(0,W.jsx)(Pe,{title:e(`flag.taiwan`)})}),(0,W.jsx)(Z,{children:(0,W.jsx)(xe,{title:e(`flag.austria`)})}),(0,W.jsx)(Z,{children:(0,W.jsx)(fe,{title:e(`flag.canada`)})})]})]})]}),(0,W.jsx)(bs,{children:t?.version&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(ws,{"data-testid":`version-footer`,children:e(`footer.powered-by`)}),(0,W.jsx)(Oi,{isDefault:!0,onClick:Ss,size:`x-small`,title:t.version})]})})]})})},ws=n(`span`,{target:`e9dwga54`})(()=>({paddingRight:`5px`}),``),Ts=n(hr,{target:`e9dwga53`})(({theme:e})=>({margin:e.spacing(0,1)}),``),Es=n(`span`,{target:`e9dwga52`})(({theme:e})=>({display:`inline-grid`,gridTemplateColumns:`repeat(10, max-content)`,gridGap:e.spacing(0,1),position:`absolute`,background:e.palette.greyAthens,padding:`1px 4px`,borderRadius:3,height:20,alignItems:`center`,visibility:`hidden`,top:-2,":before":{content:`''`,position:`absolute`,top:`29%`,left:-4,marginLeft:-5,border:`5px solid`,borderColor:`${e.palette.greyAthens} transparent transparent transparent`,transform:`rotate(90deg)`}}),``),Z=n(`div`,{target:`e9dwga51`})({name:`1g2l0a9`,styles:`width:10px`}),Ds=n(`span`,{target:`e9dwga50`})({position:`relative`,height:`18px`,":hover":{[`${Es}`]:{visibility:`visible`}}},``),Os=b(A)({display:`flex`,flexDirection:`column`,minHeight:`100vh`,maxWidth:`500px`,margin:`0 auto`}),ks=b(A)({flex:1,marginTop:`100px`}),As=({children:e})=>(0,W.jsx)(Os,{children:(0,W.jsx)(ks,{children:e})}),js=b(A)(({theme:e})=>({display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,minHeight:`100%`,padding:e.spacing(2),backgroundColor:e.palette.background.default})),Ms=b(A)(({theme:e})=>({width:`100%`,maxWidth:420,padding:e.spacing(4),backgroundColor:e.palette.background.paper,borderRadius:e.shape.borderRadius,boxShadow:e.shadows[3]})),Q=b(Vt)(({theme:e})=>({width:`100%`,marginTop:e.spacing(1),marginBottom:e.spacing(1)})),Ns=function(e){return e.Login=`Login`,e.ChangePassword=`ChangePassword`,e.AddUser=`AddUser`,e.Success=`Success`,e}({}),Ps=()=>{let{t:e}=O(),t=Dt(),n=new URLSearchParams(t.search).get(`messageType`),r=e(n?`security.success.message${n}`:`security.success.messageSuccess`);return(0,W.jsx)(As,{children:(0,W.jsx)(js,{children:(0,W.jsxs)(Ms,{children:[(0,W.jsx)(_e,{color:`success`}),(0,W.jsx)(I,{component:`h1`,gutterBottom:!0,variant:`h4`,children:e(`security.success.title`)}),(0,W.jsx)(I,{color:`text.secondary`,paragraph:!0,variant:`body1`,children:r}),(0,W.jsx)(T,{color:`primary`,onClick:()=>{window.location.href=`/`},sx:{mt:2},variant:`contained`,children:e(`security.success.submit`)})]})})})};he();function Fs(e){let t=new URLSearchParams(e.search),n=t.get(`next`)||``;n.length>0&&(!n.startsWith(R.LOGIN_API)||!n.match(/\/[-0-9a-f]{36}$/))&&(n=``);let r=t.get(`user`)||``;return r.length>0&&!r.match(/^[a-zA-Z0-9-_]{1,255}$/)&&(r=``),{next:n,user:r}}var Is=V(),Ls=hn(Is.base),Rs=()=>{let{t:e}=O(),t=Dt(),n=N(),{next:r}=Fs(t),i=Is?.flags?.createUser,a=R.ADD_USER+(r?`?next=`+r:``),{data:o,isMutating:s,trigger:c}=vn(Ls,r,`POST`),{setError:l,handleSubmit:u,register:d,formState:{isValid:f,errors:p}}=Qe({mode:`onChange`,resolver:ft(na)}),m=async e=>{try{await c(e)}catch(e){throw _n(e)}},h=(0,U.useCallback)(()=>{n(`${R.SUCCESS}?messageType=${Ns.Login}`)},[n]),g=(0,U.useCallback)(async e=>{try{await m?.(e),h()}catch{l(`root`,{type:`server`,message:`Invalid username or password`})}},[m,l,h]);return(0,U.useEffect)(()=>{o&&!s&&o.username&&o.token&&dn(o.username,o.token)},[o,s]),r?(0,W.jsx)(As,{children:(0,W.jsx)(js,{children:(0,W.jsxs)(Ms,{children:[(0,W.jsx)(zi,{}),(0,W.jsx)($i,{errors:p,handleSubmit:u,isValid:f,onSubmit:g,register:d}),i&&(0,W.jsxs)(I,{align:`center`,sx:{mt:2,fontSize:12},variant:`body2`,children:[e(`security.login.noUserQuestion`),(0,W.jsx)(P,{href:a,sx:{ml:1},children:e(`security.login.createUser`)})]})]})})}):(0,W.jsx)(Ni,{})},zs=()=>{let{t:e}=O(),t=Dt(),n=N(),r=V(),i=hn(r.base),{next:a,user:o}=Fs(t),s=R.LOGIN+(a?`?next=${encodeURIComponent(a)}`:``),c=r?.flags?.createUser,{setError:l,handleSubmit:u,register:d,watch:f,formState:{isValid:p,errors:m}}=Qe({mode:`onChange`,defaultValues:{username:typeof o==`string`?o:``,password:``,email:``},resolver:ft(ra)}),h=f(`username`),{trigger:g}=vn(i,`${R.ADD_USER}:${encodeURIComponent(h)}`,`PUT`),_=(0,U.useCallback)(async e=>{try{await g(e)}catch(e){throw _n(e)}},[g]),ee=(0,U.useCallback)(async e=>{try{await _({name:e.username,password:e.password,email:e.email}),n(`${R.SUCCESS}?messageType=${Ns.AddUser}`)}catch{l(`root`,{type:`server`,message:`Failed to create user`})}},[_,l,n]);return(0,U.useEffect)(()=>{c||n(`/`)},[c,n]),c?(0,W.jsx)(As,{children:(0,W.jsx)(js,{children:(0,W.jsxs)(Ms,{component:`form`,onSubmit:u(ee),children:[(0,W.jsx)(I,{align:`center`,component:`h1`,gutterBottom:!0,variant:`h4`,children:e(`security.addUser.title`)}),(0,W.jsx)(Xi,{errors:m,register:d}),(0,W.jsx)(Ji,{errors:m,register:d}),(0,W.jsx)(Q,{label:e(`security.addUser.email`),type:`email`,...d(`email`)}),(0,W.jsx)(I,{color:`text.secondary`,paragraph:!0,sx:{fontSize:12},variant:`body2`,children:e(`security.addUser.emailDescription`)}),m.root&&(0,W.jsx)(Ki,{error:m.root}),(0,W.jsx)(T,{color:`primary`,disabled:!p,fullWidth:!0,sx:{mt:2},type:`submit`,variant:`contained`,children:e(`security.addUser.submit`)}),(0,W.jsxs)(I,{align:`center`,sx:{mt:2,fontSize:12},variant:`body2`,children:[e(`security.addUser.alreadyUserQuestion`),(0,W.jsx)(P,{href:s,sx:{ml:1},children:e(`security.addUser.login`)})]})]})})}):null},Bs=()=>{let{t:e}=O(),t=N(),n=V(),r=hn(n.base),i=n?.flags?.changePassword,{setError:a,handleSubmit:o,register:s,formState:{isValid:c,errors:l}}=Qe({mode:`onChange`,defaultValues:{username:``,oldPassword:``,newPassword:``,confirmPassword:``},resolver:ft(ia)}),{trigger:u}=vn(r,tn.RESET_PASSWORD,`PUT`),d=(0,U.useCallback)(async e=>{try{await u(e)}catch(e){throw _n(e)}},[u]),f=(0,U.useCallback)(async e=>{try{await d({password:{old:e.oldPassword,new:e.newPassword}}),t(`${R.SUCCESS}?messageType=${Ns.ChangePassword}`)}catch{a(`root`,{type:`server`,message:`Failed to change password`})}},[d,a,t]);return(0,U.useEffect)(()=>{i||t(`/`)},[i,t]),i?(0,W.jsx)(As,{children:(0,W.jsx)(js,{children:(0,W.jsxs)(Ms,{component:`form`,onSubmit:o(f),children:[(0,W.jsx)(I,{align:`center`,component:`h1`,gutterBottom:!0,variant:`h4`,children:e(`security.changePassword.title`)}),(0,W.jsx)(Q,{error:!!l.username,helperText:l.username?.message,label:e(`security.changePassword.username`),...s(`username`),required:!0}),(0,W.jsx)(Q,{error:!!l.oldPassword,helperText:l.oldPassword?.message,label:e(`security.changePassword.oldPassword`),...s(`oldPassword`),required:!0,type:`password`}),(0,W.jsx)(Q,{error:!!l.newPassword,helperText:l.newPassword?.message,label:e(`security.changePassword.newPassword`),...s(`newPassword`),required:!0,type:`password`}),(0,W.jsx)(Q,{error:!!l.confirmPassword,helperText:l.confirmPassword?.message,label:e(`security.changePassword.confirmPassword`),...s(`confirmPassword`),required:!0,type:`password`}),l.root&&(0,W.jsx)(Ki,{error:l.root}),(0,W.jsx)(T,{color:`primary`,disabled:!c,fullWidth:!0,sx:{mt:2},type:`submit`,variant:`contained`,children:e(`security.changePassword.submit`)})]})})}):null},Vs=gs,Hs=()=>(0,W.jsxs)(S,{className:`container content`,container:!0,"data-testid":`version-layout`,spacing:0,children:[(0,W.jsx)(S,{size:{md:8,xs:12},children:(0,W.jsx)(Po,{})}),(0,W.jsx)(S,{size:{md:4,xs:12},children:(0,W.jsx)(wo,{})})]}),Us=()=>{let{hasNotBeenFound:e,isForbidden:t,isUnAuthorized:n,isLoading:r}=jn();return r?(0,W.jsx)(Pa,{}):n||t?(0,W.jsx)(Ri,{}):e?(0,W.jsx)(Ni,{}):(0,W.jsx)(Hs,{})},Ws=Rs,Gs=Ps,Ks=zs,qs=Bs,Js=({children:e})=>(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(ue,{styles:e=>({"html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video":{fontFamily:`"Roboto", Helvetica Neue, Arial, sans-serif`},strong:{fontWeight:e.fontWeight.semiBold},"html, body, #root":{height:`100%`},ul:{margin:0,padding:0,listStyle:`none`},".container":{paddingTop:15,paddingBottom:15,flex:1,height:`100%`,[`@media screen and (min-width: ${e.breakPoints.container}px)`]:{maxWidth:e.breakPoints.container,width:`100%`,marginLeft:`auto`,marginRight:`auto`}}})}),e]}),Ys=()=>(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Jt,{}),(0,W.jsx)(Js,{})]}),Xs=JSON.parse(`[{"username":"juanpicado","id":558752},{"username":"rlidwka","id":999113},{"username":"sergiohgz","id":14012309},{"username":"mbtools","id":59966492},{"username":"ayusharma","id":6918450},{"username":"priscilawebdev","id":29228205},{"username":"griffithtp","id":20119184},{"username":"DanielRuf","id":827205},{"username":"030","id":7524528},{"username":"dianmorales","id":558740},{"username":"anikethsaha","id":26347874},{"username":"kgrubb","id":8471701},{"username":"tmkn","id":2671613},{"username":"jamesgeorge007","id":25279263},{"username":"trentearl","id":802857},{"username":"rblaine95","id":4052340},{"username":"jmwilkinson","id":17836030},{"username":"coolsp","id":1246647},{"username":"antoinechalifour","id":6087868},{"username":"lgaitan","id":5970350},{"username":"Meeeeow","id":90692458},{"username":"ashishsurana","id":5610944},{"username":"dlouzan","id":223870},{"username":"mlucool","id":1813603},{"username":"ryan-codingintrigue","id":9048902},{"username":"ramonornela","id":187946},{"username":"UnitedMarsupials-zz","id":1486340},{"username":"jinliming2","id":10294977},{"username":"marconipoveda","id":47533},{"username":"buffaybu","id":2025661},{"username":"lirantal","id":316371},{"username":"n4bb12","id":6810177},{"username":"honzahommer","id":2045468},{"username":"NBloemendal","id":21055136},{"username":"Eomm","id":11404065},{"username":"davidgaya","id":85780},{"username":"dunxen","id":3072149},{"username":"vip30","id":4260833},{"username":"kuoruan","id":8685618},{"username":"bufferoverflow","id":378909},{"username":"jachstet-sea","id":7993508},{"username":"gweesin","id":42909374},{"username":"dnafication","id":6381587},{"username":"leometzger","id":15220162},{"username":"zkochan","id":1927579},{"username":"KukuruzaAndrii","id":16447219},{"username":"clintonsteiner","id":47841949},{"username":"markpeterfejes","id":7912231},{"username":"jharris4","id":7042043},{"username":"Utwo","id":282668},{"username":"CrispyConductor","id":2132722},{"username":"BartDubois","id":1180931},{"username":"SnirBroshi","id":26556598},{"username":"semoal","id":22656541},{"username":"greshilov","id":814614},{"username":"Jason-Cooke","id":5185660},{"username":"kai-chu","id":13230499},{"username":"rwdalpe","id":824357},{"username":"aboks","id":815524},{"username":"dickp","id":318648},{"username":"fossabot","id":29791463},{"username":"VentyCZ","id":3247664},{"username":"ant1m4tt3r","id":23644433},{"username":"alfonsoar","id":22054505},{"username":"kav","id":216737},{"username":"osher","id":803101},{"username":"wiggisser","id":3647678},{"username":"Tobbe","id":30793},{"username":"rluvaton","id":16746759},{"username":"rmkanda","id":38713281},{"username":"brenordr","id":19731692},{"username":"karfau","id":135657},{"username":"gkalpak","id":8604205},{"username":"kfatehi","id":175305},{"username":"frimuchkov","id":19934346},{"username":"ddhp","id":1715380},{"username":"omerdrukman","id":15276624},{"username":"alexjurkiewicz","id":379509},{"username":"favoyang","id":125390},{"username":"jamiebuilds","id":952783},{"username":"Dharmender-Singh","id":12389415},{"username":"vineetmadan","id":12544662},{"username":"sixth","id":11591445},{"username":"Ivasan7","id":39991502},{"username":"bighuggies","id":597021},{"username":"jhonmike","id":2499937},{"username":"somethingSTRANGE","id":6905832},{"username":"plitex","id":2946823},{"username":"naveensrinivasan","id":172697},{"username":"nphyatt","id":6487450},{"username":"mysiar","id":13708162},{"username":"innosatyam","id":85342175},{"username":"Marin-Kitagawa","id":49131888},{"username":"varijkapil13","id":8291077},{"username":"Jinshichi","id":8655722},{"username":"amitgilad3","id":7702311},{"username":"polemius","id":48512663},{"username":"0neSe7en","id":2234539},{"username":"danielo515","id":2270425},{"username":"SheetJSDev","id":6070939},{"username":"okv","id":465522},{"username":"s-h-a-d-o-w","id":16936908},{"username":"alan-agius4","id":17563226},{"username":"awshanks","id":18176417},{"username":"imsnif","id":795598},{"username":"brennorris","id":108427046},{"username":"carloslfu","id":5993168},{"username":"drubin","id":237513},{"username":"denisbabineau","id":12616025},{"username":"idangozlan","id":1991021},{"username":"guitarrapc","id":3856350},{"username":"monkeywithacupcake","id":7316730},{"username":"josephg","id":47413},{"username":"marnel","id":3189424},{"username":"kba","id":273367},{"username":"aledbf","id":161571},{"username":"MasterOdin","id":1845314},{"username":"Shreynik","id":25787910},{"username":"hydra13","id":12191825},{"username":"millerick","id":26394493},{"username":"mknj","id":4385662},{"username":"willsmythe","id":2503052},{"username":"bl-ue","id":54780737},{"username":"danez","id":231804},{"username":"MichielDeMey","id":793406},{"username":"weyert","id":7049},{"username":"buschtoens","id":834636},{"username":"Slowki","id":5911086},{"username":"juanmanual","id":8243576},{"username":"juangabreil","id":2673705},{"username":"jbtbnl","id":639688},{"username":"serratedserenade","id":5120805},{"username":"dfrencham","id":198807},{"username":"hangxingliu","id":4303130},{"username":"paulbrimicombe","id":10939697},{"username":"barrywoolgar","id":6248009},{"username":"AvailCat","id":19658647},{"username":"pranaygon","id":28007499},{"username":"mrlannigan","id":730443},{"username":"alessiodionisi","id":1165381},{"username":"kopax","id":1866564},{"username":"hdmr14","id":58992133},{"username":"jfthuong","id":1401809},{"username":"dogrod","id":21096842},{"username":"pshanoop","id":1174257},{"username":"todpunk","id":1166358},{"username":"h3rmanj","id":11387548},{"username":"Skn0tt","id":14912729},{"username":"starizard","id":4953349},{"username":"saurabh-gohil","id":7500357},{"username":"saintmalik","id":37118134},{"username":"rmg","id":17978},{"username":"rouanw","id":2362668},{"username":"rostislav-simonik","id":25525736},{"username":"fhp","id":374671},{"username":"stephanebachelier","id":172615},{"username":"swapnilmmane","id":7145848},{"username":"TLDMain","id":119927819},{"username":"tarun1793","id":1783440},{"username":"teofanis","id":47872542},{"username":"tcort","id":216720},{"username":"thomir","id":372783},{"username":"datWeazel","id":3285115},{"username":"Tiny-Fendy","id":8954107},{"username":"bwalding","id":47446},{"username":"morlay","id":1667873},{"username":"morrain","id":9381634},{"username":"oltodo","id":483842},{"username":"nprail","id":10778661},{"username":"noamkush","id":7412829},{"username":"ndelangen","id":3070389},{"username":"omaskery","id":121959},{"username":"OmriBarZik","id":16163470},{"username":"oscard0m","id":2574275},{"username":"oussamafilani","id":42185573},{"username":"patrickdevivo","id":57259},{"username":"Vrtak-CZ","id":112567},{"username":"devversion","id":4987015},{"username":"paulorenanmelo","id":5646288},{"username":"rafacesar","id":71136},{"username":"rbpinheiro","id":1257483},{"username":"r3wald","id":190202},{"username":"prssn","id":951218},{"username":"Beanow","id":497556},{"username":"RodrigoBalest","id":4810463},{"username":"tomcoonen","id":988013},{"username":"iketiunn","id":10249208},{"username":"jeremy-albuixech","id":6742170},{"username":"jjaakola","id":3587824},{"username":"jjangga0214","id":28584151},{"username":"legobeat","id":109787230},{"username":"maxlaverse","id":3045354},{"username":"oeph","id":2753218},{"username":"okyanusoz","id":46757266},{"username":"omasakun","id":21339163},{"username":"profanis","id":7045092},{"username":"robi-wan","id":30210},{"username":"ryanvanoss","id":137956},{"username":"samuelmaier","id":35006454},{"username":"silverwind","id":115237},{"username":"toolsofraj","id":2507152},{"username":"tzachshabtay","id":1819001},{"username":"undefined-moe","id":29992205},{"username":"vegawong","id":17271745},{"username":"wandertaker","id":23746861},{"username":"wellingguzman","id":1531291},{"username":"hiwanz","id":338102},{"username":"melodyVoid","id":26846212},{"username":"grrowl","id":907140},{"username":"tlvince","id":323761},{"username":"patrinos","id":2036180},{"username":"TJBlackman","id":18412429},{"username":"trivikr","id":16024985},{"username":"varungandhi-src","id":93103176},{"username":"vdakalov","id":1996423},{"username":"stek29","id":11808223},{"username":"vsugrob","id":1497471},{"username":"vitalybaev","id":724423},{"username":"lordvlad","id":1217769},{"username":"wporta","id":932674},{"username":"wpasternak","id":958449},{"username":"xavierpriour","id":2295912},{"username":"yannickcr","id":13209},{"username":"yassine-klilich","id":24640070},{"username":"yogevyuval","id":962869},{"username":"haquezameer","id":20766601},{"username":"ambar","id":105919},{"username":"silkentrance","id":6068824},{"username":"Claude-Ray","id":19264508},{"username":"darkgl0w","id":31093081},{"username":"dasmikko","id":4254869},{"username":"divdavem","id":1152706},{"username":"bchenSyd","id":8207081},{"username":"iambrandonn","id":1644549},{"username":"bmuenzenmeyer","id":298435},{"username":"recallwei","id":62941121},{"username":"cascandaliato","id":8927157},{"username":"ngash","id":6511656},{"username":"moglerdev","id":39583780},{"username":"christopherklint97","id":53100317},{"username":"cdtinney","id":3266047},{"username":"CommanderRoot","id":4395417},{"username":"conorhastings","id":8263298},{"username":"Copilot","id":198982749},{"username":"coreyjewett","id":12782},{"username":"DAmarkday","id":41852530},{"username":"devnill","id":717064},{"username":"spangenberg","id":236406},{"username":"dbroadhurst","id":5667105},{"username":"deg","id":90383},{"username":"dschaller","id":1004789},{"username":"dafanasiev","id":5094703},{"username":"jchilton","id":181054},{"username":"hedocode","id":22884999},{"username":"itsabdelrahman","id":11808903},{"username":"adamko147","id":6449059},{"username":"aszmyd","id":3050805},{"username":"MathurAditya724","id":57684218},{"username":"dxwebster","id":61834475},{"username":"A1bi","id":962845},{"username":"sashashura","id":93376818},{"username":"alex-dixon","id":9045165},{"username":"estliberitas","id":568962},{"username":"aremishevsky-chegg","id":34542986},{"username":"Alexandre-io","id":8135542},{"username":"AlphaDio","id":1067597},{"username":"amirmohsen","id":7075106},{"username":"zensharp","id":48300131},{"username":"tiandrey","id":152357},{"username":"andrii-bodnar","id":29282228},{"username":"hafffe","id":3322693},{"username":"artifishvr","id":59352535},{"username":"sethidden","id":5359825},{"username":"4SS1S","id":7684575},{"username":"BarthV","id":1901955},{"username":"byara","id":6979966},{"username":"btucker","id":6181},{"username":"jondlm","id":3290587},{"username":"Joon","id":94231},{"username":"Mearman","id":1331872},{"username":"patroclos","id":5959583},{"username":"josedepaz","id":93216209},{"username":"GromNaN","id":400034},{"username":"speier","id":415836},{"username":"FodderMK","id":1096012},{"username":"kodypeterson","id":1934708},{"username":"Ku3mi41","id":1100530},{"username":"larsgw","id":14018963},{"username":"LekoArts","id":16143594},{"username":"caoxiemeihao","id":26263658},{"username":"mavimo","id":43941},{"username":"markormesher","id":6496999},{"username":"marvinthepa","id":51218},{"username":"mrblackus","id":2353980},{"username":"mshindal","id":3990260},{"username":"metaa","id":87772017},{"username":"0815fox","id":8955528},{"username":"ericmutta","id":20465797},{"username":"einfallstoll","id":619048},{"username":"felipeplets","id":119980},{"username":"falegh","id":49175237},{"username":"gramakri","id":82041},{"username":"lbguilherme","id":546954},{"username":"guikcd","id":676032},{"username":"gecruz","id":29457476},{"username":"iztsv","id":3539802},{"username":"inyong37","id":20737479},{"username":"ItamarGronich","id":14963977},{"username":"jrussellsmyth","id":2998207},{"username":"jirutka","id":949228},{"username":"kingjan1999","id":3208269},{"username":"vStone","id":356719},{"username":"jlguenego","id":2842446},{"username":"zaventh","id":669283},{"username":"jeremymoritz","id":2779583},{"username":"johanneslosch","id":15651065},{"username":"johannespfeiffer","id":6780316},{"username":"notsag","id":674589},{"username":"askz","id":854038},{"username":"bgmncwj","id":10156310},{"username":"citypaul","id":5850178},{"username":"Locour","id":18704970},{"username":"jeredepp","id":5755315},{"username":"Kaifuny","id":16386583},{"username":"terribleplan","id":4420655},{"username":"ajaygupta4F7X1B","id":188564162},{"username":"slicejunk","id":5887100},{"username":"fiws","id":3409958},{"username":"redi-wadash","id":11162172},{"username":"michaellotz-iart","id":64487748},{"username":"Splaktar","id":3506071},{"username":"shrirambalaji","id":11358903},{"username":"nszilard","id":10596547},{"username":"dreamline2","id":4657845},{"username":"abc516","id":8355075},{"username":"g3hxqe-contrib","id":60308087},{"username":"satyamkondle","id":11826045},{"username":"bartsidee","id":521633},{"username":"dgaya","id":10657038},{"username":"MrCube42","id":1512210},{"username":"kongdewen","id":10659566},{"username":"donbowman","id":5131923},{"username":"eromano","id":1030050},{"username":"hersentino","id":26276665},{"username":"viceice","id":1798109},{"username":"marcel-camp","id":190417169},{"username":"Disane87","id":956158},{"username":"martin31821","id":5557633},{"username":"MatthewWid","id":7445205},{"username":"MParvin","id":7812338},{"username":"MiK546","id":6929336},{"username":"owenvoke","id":1899334},{"username":"pmorgan3","id":11764711},{"username":"troyanskiy","id":1538862},{"username":"ygaberman","id":57370779},{"username":"mrwacky42","id":355590},{"username":"TomGrill","id":9935213},{"username":"twaldecker","id":277003},{"username":"Fer0x","id":110616},{"username":"yoannfleurydev","id":3920615},{"username":"zypA13510","id":8077540},{"username":"javier-garcia-meteologica","id":61506396},{"username":"samuelpecher","id":25039919},{"username":"rchaser53","id":9676954},{"username":"reviewher","id":24845478},{"username":"abdielou","id":1036734},{"username":"AceVentura","id":3084589},{"username":"acj","id":27923},{"username":"akanshgulati","id":5287100},{"username":"xkcdstickfigure","id":97917457},{"username":"asifwani","id":70949803},{"username":"benharold","id":997712},{"username":"deisterhold","id":2267691},{"username":"dariodotcom","id":1570989},{"username":"douglaseggleton","id":1008377},{"username":"draganjakovljevic","id":20555765},{"username":"yurtaev","id":444503},{"username":"friederbluemle","id":743291},{"username":"hertzg","id":1886698},{"username":"edenhermelin","id":10133343},{"username":"Kylir","id":1781461},{"username":"JayaKrishnaNamburu","id":11075561},{"username":"johanhelsing-attensi","id":80466796},{"username":"Metrakit","id":3305600},{"username":"jhutchings1","id":12853539},{"username":"ktorresno","id":1203192},{"username":"kgeis","id":2237299},{"username":"kylecesmat","id":1633837},{"username":"lkraav","id":147228},{"username":"way2ex","id":24694223},{"username":"liamjack","id":821228},{"username":"pmmmwh","id":9338255},{"username":"mikollaay","id":6240735},{"username":"sombochea","id":7059827},{"username":"sumanbh","id":12093664},{"username":"tugsanunlu","id":2070277},{"username":"a666","id":19142162},{"username":"himanshumehta1114","id":25463496},{"username":"tso1158687","id":9198263},{"username":"nauxliu","id":9570112},{"username":"gzuzmark","id":5327036},{"username":"imjacobclark","id":1641689},{"username":"JackyChan","id":260615},{"username":"JGjorgji","id":1335321},{"username":"gagandeepp","id":34858937},{"username":"FilipMessa","id":6354326},{"username":"bpedersen","id":1903016},{"username":"smithandrewl","id":490251},{"username":"rokkoo","id":25004016},{"username":"maxxDaddy","id":1451149},{"username":"duboisph","id":33081},{"username":"sebastian-x86","id":5750970},{"username":"ksrt12","id":11806131},{"username":"kimxogus","id":11684628},{"username":"tomashejatko","id":1197578},{"username":"yasn77","id":2234002},{"username":"zzvara","id":8371789},{"username":"andre161292","id":1634927},{"username":"cfiehe","id":11977877},{"username":"maslow","id":7122237},{"username":"shcherbak","id":14364672},{"username":"ymrsmns","id":25608325},{"username":"Hechamon","id":32613113},{"username":"v0112358","id":5784623},{"username":"pohldk","id":47821325},{"username":"marekaf","id":16442967},{"username":"LoicGombeaud","id":1173317},{"username":"jchanam","id":6512096},{"username":"machadovilaca","id":21959383},{"username":"jfrancisco0","id":40362916},{"username":"jfoechsler","id":4612720},{"username":"casserlyprogramming","id":337812},{"username":"Cubid","id":37664014},{"username":"bycEEE","id":8891115},{"username":"arthur2308","id":9389109},{"username":"alexis974","id":43278953}]`),Zs=e=>`https://avatars3.githubusercontent.com/u/${e}?s=120&v=4`,Qs=()=>(0,W.jsx)(W.Fragment,{children:(0,W.jsx)(P,{href:`https://verdaccio.org/contributors`,rel:`noreferrer`,target:`_blank`,children:(0,W.jsx)(Be,{max:11,spacing:15,total:400,children:Xs?.map(({username:e,id:t})=>(0,W.jsx)(`div`,{children:(0,W.jsx)(x,{alt:e,src:Zs(t)})},e))})})}),$s=`Support people affected by the war in Ukraine`,ec=[{href:`https://www.youtube.com/watch?v=LeG09zu_p_g`,text:`Ask Ukrainian open-source developers about war — Twitter Space`},{href:`https://snyk.io/blog/celebrating-amazing-open-source-innovation-ukraine/`,text:`Snyk blog - Learn more about Open Source developers in Ukraine`},{href:`https://www.savethechildren.org/us/where-we-work/ukraine/`,text:`Donate to save children in Ukraine`},{href:`https://www.ifrc.org/`,text:`Donate to the International Red Cross`},{href:`https://www.hrw.org/news/2022/03/10/ukraine-russian-air-dropped-bombs-hit-residential-area/`,text:`Read reports from Human Rights Watch`},{href:`https://europeanbloodalliance.eu/`,text:`Donate blood in Europe`}],tc=()=>{let e=ec.map(e=>(0,W.jsx)(`li`,{children:(0,W.jsx)(P,{href:e.href,target:`_blank`,children:(0,W.jsx)(I,{children:e.text})})},e.text));return(0,W.jsx)(W.Fragment,{children:(0,W.jsxs)(S,{container:!0,spacing:2,children:[(0,W.jsx)(S,{item:!0,xs:12,children:(0,W.jsx)(I,{component:`h2`,variant:`h6`,children:$s})}),(0,W.jsxs)(S,{item:!0,lg:12,xs:12,children:[(0,W.jsx)(`span`,{style:{fontStyle:`italic`,fontSize:`0.75rem`},children:(0,W.jsx)(I,{children:`Hi, this is a message that I've composed to call your attention to ask
3
+ for humanitarian support for more than 44 million Ukrainians that are having
4
+ a hard time suffering for a horrible and unjustified war. It would be great if you
5
+ decide today to make a difference and help others. You could help by donating
6
+ to very well-known humanitarian organizations, helping in your local
7
+ area with food, clothes, donate blood, toys for kids, or your own time. Any help is very welcome.`})}),(0,W.jsx)(`ul`,{style:{padding:`10px 0`},children:e}),(0,W.jsx)(`div`,{children:(0,W.jsx)(I,{variant:`div`,children:`Spread the voice, make the difference today.`})}),(0,W.jsx)(`div`,{style:{padding:`10px 0`,fontWeight:600},children:(0,W.jsx)(I,{variant:`div`,children:`Att: Verdaccio Lead Mantainer, Juan P.`})})]})]})})},nc=`Verdaccio is an open source lightweight private proxy Node.js registry,
8
+ you can [learn more about the project in our blog](https://verdaccio.org/blog/2019/02/08/the-crazy-story-of-verdaccio).
9
+
10
+ #### Useful links
11
+
12
+ - [Installation](https://verdaccio.org/docs/installation)
13
+ - [Translate](https://translate.verdaccio.org/)
14
+ - [Best Practices](https://verdaccio.org/docs/best)
15
+ - [Security Policy](https://github.com/verdaccio/verdaccio/security/policy)
16
+ - [Sponsor via Open Collective](https://opencollective.com/verdaccio)
17
+ - [Sponsor via GitHub](https://github.com/sponsors/verdaccio)
18
+
19
+ #### How to connect
20
+
21
+ - [Discussions](https://github.com/verdaccio/verdaccio/discussions)
22
+ - [YouTube Channel](https://www.youtube.com/channel/UC5i20v6o7lSjXzAHOvatt0w)
23
+ - [Discord Chat](https://discord.gg/hv42jfs)
24
+
25
+ https://www.verdaccio.org
26
+
27
+ #### Meet the contributors
28
+ `,rc=`MIT License
29
+
30
+ Copyright (c) 2025 Verdaccio contributors
31
+
32
+ Permission is hereby granted, free of charge, to any person obtaining a copy
33
+ of this software and associated documentation files (the "Software"), to deal
34
+ in the Software without restriction, including without limitation the rights
35
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
36
+ copies of the Software, and to permit persons to whom the Software is
37
+ furnished to do so, subject to the following conditions:
38
+
39
+ The above copyright notice and this permission notice shall be included in all
40
+ copies or substantial portions of the Software.
41
+
42
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
43
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
44
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
45
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
46
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
47
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
48
+ SOFTWARE.
49
+ `,ic={"registry-info":{title:`Information`},settings:{title:`Configuration`},license:`Licence`,totalContributors:`Počet přispěvovatelů`},ac={documentation:`Dokumentace`,"registry-info":`Informace o registru`,"registry-info-link":`Více informací`,settings:`Nastavení`,help:`Help`,"registry-no-conf":`Hledat balíčky`,greetings:`Ahoj `},oc={packages:`Hledat balíčky`,isPrivate:`Private`,isRemote:`Remote`,isCached:`Cached`},sc={loading:`Načítání...`,"no-results-found":`Nebyly nalezeny žádné výsledky`,clear:`Vyčistit`,expand:`Otevřít`,collapse:`Zavřít`},cc={uplinks:`Uplinky`,versions:`Verze`,dependencies:`Závislosti`,readme:`Přečti si mě`},lc={title:`Uplinky`,"no-items":`{{name}} nemá žádné uplinky.`},uc={"current-tags":`Aktuální značky`,"version-history":`Version History`,"not-available":`Nedostupné`,deprecated:`Deprecated`,"search.placeholder":`Search for a version by semver range, e.g., ^1.0.0.`,"hide-deprecated":`All deprecated versions are hidden by global configuration`},dc={"has-no-dependencies":`{{package}} nemá žádné závislosti.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},fc={username:`Uživatelské jméno`,password:`Heslo`},pc={title:`Zatím nebyl zveřejně žádný balíček.`,"sub-title":`Pro zveřejnění vašeho prvního balíčku proveďte následující:`,"first-step":`1. Create user`,"first-step-command-line":`npm adduser --registry {{registryUrl}}`,"second-step":`2. Zveřejněte balíček`,"second-step-command-line":`npm publish --registry {{registryUrl}}`,"third-step":`3. Obnovte tuto stránku.`},mc={detail:{"latest-version":`Nejnovější v{{version}}`,version:`v{{version}}`,published:`Published`},installation:{title:`Instalace`,latest:`latest version`,global:`global package`,yarnModern:`yarn modern syntax`},repository:{title:`Repozitář`},author:{title:`Autor`},distribution:{title:`Distribution`,license:`Licence`,size:`Velikost`,"file-count":`File Count`},keywords:{title:`Keywords`},maintainers:{title:`Správci`},contributors:{title:`Přispěvatelé`},engines:{"npm-version":`Npm Version`,"pnpm-version":`Pnpm Version`,"yarn-version":`Yarn Version`,"node-js":`Node.js`}},hc={"powered-by":`Pohání`,"made-with-love-on":`Tvořeno s <0>♥</0> na`},gc={close:`Zavřít`,cancel:`Zrušit`,login:`Přihlásit se`,logout:`Odhlásit se`,"go-to-the-home-page":`Přejít na domovskou stránku`,"learn-more":`Více informací`,"fund-this-package":`<0>Sponzorovat</0> tento balíček`},_c={unspecific:`Něco se pokazilo.`,404:{"sorry-we-could-not-find-it":`Omlouváme se, ale nepodařilo se nám to najít...`},401:{"sorry-no-access":`Sorry, you need credentials access to see this page.`},"app-context-not-correct-used":`Kontext aplikace nebyl použit správným způsobem`,"theme-context-not-correct-used":`Kontext šablony nebyl použit správným způsobem`,"package-meta-is-required-at-detail-context":`packageMeta je vyžadováno v DetailContext`},vc={english:`Anglicky`,czech:`Čeština`,japanese:`Japonština`,portuguese:`Portugalština`,spanish:`Španělsky`,irish:`Irish`,german:`Německy`,italian:`Italian`,french:`Francouzsky`,russian:`Ruský`,turkish:`Turečtina`,ukraine:`Ukrajinština`,khmer:`Khmerština`,chinese:`Chinese Simplified`,chineseTraditional:`Chinese Traditional`},yc={austria:`Rakousko`,australia:`Australia`,brazil:`Brazílie`,canada:`Canada`,spain:`Španělsko`,nicaragua:`Nikaragua`,india:`Indie`,china:`Čína`,germany:`Německo`,taiwan:`Tchaj-wan`},bc={title:`Package Managers`,description:`This is the configuration details for the registry. Each package manager could have different configuration, expand each section for more details. If the section is disable review your configuration.`,yarnclassicDetails:`Yarn classic configuration differs from Yarn 2+ configuration. For more details, please visit [Yarn Classic](https://verdaccio.org/docs/cli-registry#yarn-1x).`,yarnBerryDetails:"Yarn Berry does not support the `--registry` flag, instead all configurarion should be defined on the `yarnrc.yaml` file in the root of your project. For more details, please visit [Yarn Berry](https://verdaccio.org/docs/cli-registry#yarn-berry-2x)."},xc={title:`Překlady`,contribute:`Pokud zde není uveden Váš jazyk nebo není zcela přeložen, prosím přispějte svým překladem. Postup naleznete na stránce [s repozitářem aplikace](https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md)`,description:`This is the configuration details for the language. Select a language to select a client side translation.`},Sc={"copy-to-clipboard":`Zkopírovat do schránky`,"author-anonymous":`Anonymní`,"author-unknown":`Neznámý`,"action-bar-action":{"visit-home-page":`Navštívit domovskou stránku`,"open-an-issue":`Otevřít otázku`,"download-tarball":`Stáhnout archív (Tar)`,raw:`View manifest`,"raw-title":`Manifest of {{package}}`},dialog:ic,header:ac,search:oc,autoComplete:sc,tab:cc,uplinks:lc,versions:uc,package:{"published-on":`Published {{time}}`,version:`v{{version}}`,"visit-home-page":`Navštívit domovskou stránku`,homepage:`Domovská stránka`,"open-an-issue":`Otevřít otázku`,bugs:`Chyby`,download:`Stáhnout {{what}}`,"the-tar-file":`tar soubor`,tarball:`Archív (Tar)`},dependencies:dc,form:fc,"form-placeholder":{username:`Vaše uživatelské jméno`,password:`Vaše silné heslo"`},"form-validation":{"required-field":`Toto pole je povinné`,"required-min-length":`This field required with a minimum length of {{length}}`,"unable-to-sign-in":`Přihlášení se nezdařilo`,"username-or-password-cant-be-empty":`Uživatelské jméno nebo heslo nemohou být prázdné!`},help:pc,sidebar:mc,footer:hc,button:gc,error:_c,lng:vc,flag:yc,packageManagers:bc,language:xc},Cc={"registry-info":{title:`Information`},settings:{title:`Konfiguration`},license:`Lizenz`,totalContributors:`Totale Contributor`},wc={documentation:`Dokumentation`,"registry-info":`Registry-Informationen`,"registry-info-link":`Mehr erfahren`,settings:`Einstellungen`,help:`Hilfe`,"registry-no-conf":`Keine Konfigurationen verfügbar`,greetings:`Hi `},Tc={packages:`Pakete durchsuchen`,isPrivate:`Private`,isRemote:`Remote`,isCached:`Zwischengespeichert`},Ec={loading:`Laden...`,"no-results-found":`Keine Resultate gefunden`,clear:`Leeren`,expand:`Ausklappen`,collapse:`Einklappen`},Dc={uplinks:`Uplinks`,versions:`Versionen`,dependencies:`Abhängigkeiten`,readme:`Readme`},Oc={title:`Uplinks`,"no-items":`{{name}} hat keine Uplinks.`},kc={"current-tags":`Aktuelle Tags`,"version-history":`Versionsgeschichte`,"not-available":`Nicht verfügbar`,deprecated:`Veraltet`,"search.placeholder":`Search for a version by semver range, e.g., ^1.0.0.`,"hide-deprecated":`Veraltete Versionen sind in der globalen Konfiguration ausgeblendet`},Ac={"has-no-dependencies":`{{package}} hat keine Abhängigkeiten.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},jc={username:`Nutzername`,password:`Passwort`},Mc={title:`Es gibt noch keine veröffentlichten Pakete.`,"sub-title":`Um Ihr erstes Paket zu veröffentlichen, müssen Sie nur:`,"first-step":`1. Benutzer erstellen`,"first-step-command-line":`npm adduser --registry {{registryUrl}}`,"second-step":`2. Veröffentlichen`,"second-step-command-line":`npm publish --registry {{registryUrl}}`,"third-step":`3. Diese Seite aktualisieren`},Nc={detail:{"latest-version":`Neueste v{{version}}`,version:`v{{version}}`,published:`Veröffentlicht`},installation:{title:`Installation`,latest:`latest version`,global:`global package`,yarnModern:`yarn neue syntax`},repository:{title:`Repository`},author:{title:`Autor`},distribution:{title:`Distribution`,license:`Lizenz`,size:`Größe`,"file-count":`File Count`},keywords:{title:`Keywords`},maintainers:{title:`Maintainer`},contributors:{title:`Contributor`},engines:{"npm-version":`Npm Version`,"pnpm-version":`Pnpm Version`,"yarn-version":`Yarn Version`,"node-js":`Node.js`}},Pc={"powered-by":`Umgesetzt mit`,"made-with-love-on":`Gemacht mit <0>♥</0> in`},Fc={close:`Schließen`,cancel:`Abbrechen`,login:`Einloggen`,logout:`Abmelden`,"go-to-the-home-page":`Zur Startseite gehen`,"learn-more":`Mehr erfahren`,"fund-this-package":`Dieses Paket <0>unterstützen</0>`},Ic={unspecific:`Etwas ist schiefgegangen.`,404:{"sorry-we-could-not-find-it":`Sorry, das haben wir nicht gefunden...`},401:{"sorry-no-access":`Sorry, you need credentials access to see this page.`},"app-context-not-correct-used":`Der App-Kontext wurde nicht korrekt benutzt`,"theme-context-not-correct-used":`Der Theme-Kontext wurde nicht korrekt benutzt`,"package-meta-is-required-at-detail-context":`packageMetadata wird im DetailContext zwingend benötigt`},Lc={english:`Englisch`,czech:`Tschechisch`,japanese:`Japanisch`,portuguese:`Portugiesisch`,spanish:`Spanisch`,irish:`Irish`,german:`Deutsch`,italian:`Italian`,french:`Französisch`,russian:`Russisch`,turkish:`Türkisch`,ukraine:`Ukraine`,khmer:`Khmer`,chinese:`Chinese Simplified`,chineseTraditional:`Chinese Traditional`},Rc={austria:`Österreich`,australia:`Australia`,brazil:`Brasilien`,canada:`Canada`,spain:`Spanien`,nicaragua:`Nicaragua`,india:`Indien`,china:`China`,germany:`Deutschland`,taiwan:`Taiwan`},zc={title:`Paket-Manager`,description:`Dies sind die Konfigurationsdetails für die Bibliothek. Jeder Paketmanager kann eine andere Konfiguration haben, erweitern Sie jeden Abschnitt für weitere Details. Wenn der Abschnitt deaktiviert ist, überprüfen Sie Ihre Konfiguration.`,yarnclassicDetails:`Die klassische Yarn Konfiguration unterscheidet sich von der Yarn 2+-Konfiguration. Weitere Einzelheiten finden Sie unter [Yarn Classic](https://verdaccio.org/docs/cli-registry#yarn-1x).`,yarnBerryDetails:`Yarn Berry unterstützt den Flag „--registry“ nicht, stattdessen sollten alle Konfigurationen in der Datei „yarnrc.yaml“ im Stammverzeichnis Ihres Projekts definiert werden. Weitere Einzelheiten finden Sie unter [Yarn Berry](https://verdaccio.org/docs/cli-registry#yarn-berry-2x).`},Bc={title:`Übersetzungen`,contribute:`Yarn Berry unterstützt den Flag „--registry“ nicht, stattdessen sollten alle Konfigurationen in der Datei „yarnrc.yaml“ im Stammverzeichnis Ihres Projekts definiert werden. Weitere Einzelheiten finden Sie unter [Yarn Berry](https://verdaccio.org/docs/cli-registry#yarn-berry-2x)`,description:`Dies sind die Konfigurationsdetails für die Sprache. Wählen Sie eine Sprache aus, um eine clientseitige Übersetzung auszuwählen.`},Vc={"copy-to-clipboard":`In die Zwischenablage kopieren`,"author-anonymous":`Anonym`,"author-unknown":`Unbekannt`,"action-bar-action":{"visit-home-page":`Website besuchen`,"open-an-issue":`Ein Issue erstellen`,"download-tarball":`Tarball herunterladen`,raw:`View manifest`,"raw-title":`Manifest of {{package}}`},dialog:Cc,header:wc,search:Tc,autoComplete:Ec,tab:Dc,uplinks:Oc,versions:kc,package:{"published-on":`Published {{time}}`,version:`v{{version}}`,"visit-home-page":`Website besuchen`,homepage:`Website`,"open-an-issue":`Ein Issue erstellen`,bugs:`Bugs`,download:`{{what}} herunterladen`,"the-tar-file":`die Tar-Datei`,tarball:`Tarball`},dependencies:Ac,form:jc,"form-placeholder":{username:`Ihr Nutzername`,password:`Ihr starkes Passwort`},"form-validation":{"required-field":`Dies ist ein Pflichtfeld`,"required-min-length":`This field required with a minimum length of {{length}}`,"unable-to-sign-in":`Anmelden nicht möglich`,"username-or-password-cant-be-empty":`Nutzername und Passwort können nicht leer sein!`},help:Mc,sidebar:Nc,footer:Pc,button:Fc,error:Ic,lng:Lc,flag:Rc,packageManagers:zc,language:Bc},Hc={"registry-info":{title:`Información`},settings:{title:`Configuración`},license:`Licencia`,totalContributors:`Contribuciones`},Uc={documentation:`Documentación`,"registry-info":`Información del Registro`,"registry-info-link":`Aprender mas`,settings:`Configuración`,help:`Ayuda`,"registry-no-conf":`No hay configuración disponible`,greetings:`Hola `},Wc={packages:`Buscar paquetes`,isPrivate:`Privado`,isRemote:`Remoto`,isCached:`Cached`},Gc={loading:`Cargando...`,"no-results-found":`No se encontraron resultados`,clear:`Borrar`,expand:`Expandir`,collapse:`Colapsar`},Kc={uplinks:`Uplinks`,versions:`Versiones`,dependencies:`Dependencias`,readme:`Léeme`},qc={title:`Uplinks`,"no-items":`{{name}} no tiene uplinks.`},Jc={"current-tags":`Etiquetas actuales`,"version-history":`Control de Versiones`,"not-available":`No disponible`,deprecated:`Obsoleto`,"search.placeholder":`Busque una versión por rango de version semantica, por ejemplo: ^1.0.0.`,"hide-deprecated":`Todas las versiones are ocultas por la configuración global`},Yc={"has-no-dependencies":`{{package}} no tiene dependencias.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},Xc={username:`Usuario`,password:`Contraseña`},Zc={title:`Ningún paquete ha sido publicado aún.`,"sub-title":`Para publicar tu primer paquete:`,"first-step":`1. Crear Usuario`,"first-step-command-line":`npm adduser --registry {{registryUrl}}`,"second-step":`2. Publica`,"second-step-command-line":`npm publish --registry {{registryUrl}}`,"third-step":`3. Refresca la página`},Qc={detail:{"latest-version":`Última v{{version}}`,version:`v{{version}}`,published:`Publicado`},installation:{title:`Instalación`,latest:`latest version`,global:`paquete global`,yarnModern:`sintaxis moderna de yarn`},repository:{title:`Repositorio`},author:{title:`Autor`},distribution:{title:`Distribución`,license:`Licencia`,size:`Tamaño`,"file-count":`Archivos`},keywords:{title:`Palabras clave`},maintainers:{title:`Mantenedores`},contributors:{title:`Contribuidores`},engines:{"npm-version":`Versión de Npm`,"pnpm-version":`Versión de Pnpm`,"yarn-version":`Versión de Yarn`,"node-js":`Node.js`}},$c={"powered-by":`Hecho con`,"made-with-love-on":`Hecho con <0>♥</0>`},el={close:`Cerrar`,cancel:`Cancelar`,login:`Iniciar sesión`,logout:`Cerrar sesión`,"go-to-the-home-page":`Ir a la página principal`,"learn-more":`Aprender más`,"fund-this-package":`<0>Donar</0> a este paquet`},tl={unspecific:`Algo salió mal.`,404:{"sorry-we-could-not-find-it":`Lo siento, no pudimos encontrarlo...`},401:{"sorry-no-access":`Lo siento, necesitas credenciales para poder ver esta página.`},"app-context-not-correct-used":`El contexto de la aplicación no fue correctamente usado`,"theme-context-not-correct-used":`El contexto del tema no fue correctamente usado`,"package-meta-is-required-at-detail-context":`packageMeta es requerido en DetailContext`},nl={english:`Inglés`,czech:`Checo`,japanese:`Japonés`,portuguese:`Portugués`,spanish:`Español`,irish:`Irlandes`,german:`Alemán`,italian:`Italian`,french:`Francés`,russian:`Ruso`,turkish:`Turco`,ukraine:`Ucrania`,khmer:`khmer`,chinese:`Chinese Simplified`,chineseTraditional:`Chinese Traditional`},rl={austria:`Austria`,australia:`Australia`,brazil:`Brasil`,canada:`Canadá`,spain:`España`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Alemania`,taiwan:`Taiwán`},il={title:`Manejador de paquetes`,description:`Este es el detalle de configuracion para el registro. Cada manejador de paquetes podria tener una configuracion diferente, expande cada secion para mas detalles. Si la secion esta desactivada revisa tu configuracion.`,yarnclassicDetails:`La configuración de Yarn clasico difere de la configuración de Yarn 2. Para mas detalles, visita la documentación de [Yarn Clasico](https://verdaccio.org/docs/cli-registry#yarn-1x).`,yarnBerryDetails:"Yarn berry no da soporte a la propiedad `--registry`, en vez de eso, todas las configuraciones deben ser definidas en el archivo \n`yarnrc.yaml` en la raiz del proyecto. Para mas detalles, porfavor visita [Yarn Berry](https://verdaccio.org/docs/cli-registry#yarn-berry-2x)."},al={title:`Traduciones`,contribute:`Si su idioma no esta listado aqui o no esta completamente traducido, porfavor contribulla con las traduciones. Puedes encontrar el codigo fuente en [nuestro repositorio principal](https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md)`,description:`Esta es la configuración para los idiomas. Selecione el lenguage deseado para la tradución en el cliente.`},ol={"copy-to-clipboard":`Copiar al portapapeles`,"author-anonymous":`Anónimo`,"author-unknown":`Desconocido`,"action-bar-action":{"visit-home-page":`Visitar página principal`,"open-an-issue":`Reportar un error`,"download-tarball":`Descargar librería`,raw:`Ver manifiesto`,"raw-title":`Manifiesto de {{package}}`},dialog:Hc,header:Uc,search:Wc,autoComplete:Gc,tab:Kc,uplinks:qc,versions:Jc,package:{"published-on":`Publicado {{time}}`,version:`v{{version}}`,"visit-home-page":`Visitar página principal`,homepage:`Página principal`,"open-an-issue":`Reportar un error`,bugs:`Error`,download:`Descargar {{what}}`,"the-tar-file":`el archivo tar`,tarball:`Librería`},dependencies:Yc,form:Xc,"form-placeholder":{username:`Tu usuario`,password:`Tu contraseña segura`},"form-validation":{"required-field":`Este campo es requerido`,"required-min-length":`Esta propiedad es requerida un mínimo de {{length}}`,"unable-to-sign-in":`No se pudo iniciar sesión`,"username-or-password-cant-be-empty":`El nombre de usuario o la contraseña no pueden estar vacíos!`},help:Zc,sidebar:Qc,footer:$c,button:el,error:tl,lng:nl,flag:rl,packageManagers:il,language:al},sl={"registry-info":{title:`Information`},settings:{title:`Configuration`},license:`Licence`,totalContributors:`Contributeurs totaux`},cl={documentation:`Documentation`,"registry-info":`Informations du Registry`,"registry-info-link":`En savoir plus`,settings:`Paramètres`,help:`Aide`,"registry-no-conf":`Aucune configuration disponible`,greetings:`Bonjour`},ll={packages:`Rechercher des paquets`,isPrivate:`Privé`,isRemote:`Remote`,isCached:`Cached`},ul={loading:`En cours de chargement...`,"no-results-found":`Aucun resultat trouvé`,clear:`Nettoyer`,expand:`Développer`,collapse:`Se rétracter`},dl={uplinks:`Uplinks`,versions:`Versions`,dependencies:`Dépendances`,readme:`Readme`},fl={title:`Uplinks`,"no-items":`{{name}} n'a pas de uplink.`},pl={"current-tags":`Tags courants`,"version-history":`Historique de la version`,"not-available":`Non disponible`,deprecated:`Deprecated`,"search.placeholder":`Search for a version by semver range, e.g., ^1.0.0.`,"hide-deprecated":`All deprecated versions are hidden by global configuration`},ml={"has-no-dependencies":`{{package}} n'a aucune dépendance.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},hl={username:`Nom d'utilisateur`,password:`Mot de passe`},gl={title:`Aucun paquet publié pour l'instant.`,"sub-title":`Pour publier votre premier paquet:`,"first-step":`1. Créer un utilisateur`,"first-step-command-line":`npm adduser --registry {{registryUrl}}`,"second-step":`2. Publier`,"second-step-command-line":`npm publish --registry {{registryUrl}}`,"third-step":`3. Recharger cette page.`},_l={detail:{"latest-version":`Dernière v{{version}}`,version:`v{{version}}`,published:`Publié`},installation:{title:`Installation`,latest:`latest version`,global:`global package`,yarnModern:`yarn modern syntax`},repository:{title:`Dépôt`},author:{title:`Auteur`},distribution:{title:`Distribution`,license:`Licence`,size:`Taille`,"file-count":`File Count`},keywords:{title:`Keywords`},maintainers:{title:`Mainteneurs`},contributors:{title:`Contributeurs`},engines:{"npm-version":`Npm Version`,"pnpm-version":`Pnpm Version`,"yarn-version":`Yarn Version`,"node-js":`Node.js`}},vl={"powered-by":`Propulsé par`,"made-with-love-on":`Fait avec <0>♥</0> sur`},yl={close:`Fermer`,cancel:`Annuler`,login:`Se connecter`,logout:`Se déconnecter`,"go-to-the-home-page":`Aller à la page d'accueil`,"learn-more":`En savoir plus`,"fund-this-package":`<0>Financer</0> ce paquet`},bl={unspecific:`Quelque chose a mal tourné.`,404:{"sorry-we-could-not-find-it":`Desolé, nous n'avons rien retrouvé...`},401:{"sorry-no-access":`Sorry, you need credentials access to see this page.`},"app-context-not-correct-used":`The app context was not used correctly`,"theme-context-not-correct-used":`The theme context was not used correctly`,"package-meta-is-required-at-detail-context":`packageMeta is required at DetailContext`},xl={english:`Anglais`,czech:`Czech`,japanese:`Japonnais`,portuguese:`Portuguese`,spanish:`Espagnol`,irish:`Irish`,german:`German`,italian:`Italian`,french:`Français`,russian:`Russian`,turkish:`Turkish`,ukraine:`Ukraine`,khmer:`Khmer`,chinese:`Chinese Simplified`,chineseTraditional:`Chinese Traditional`},Sl={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},Cl={title:`Gestionnaires de paquets`,description:`This is the configuration details for the registry. Each package manager could have different configuration, expand each section for more details. If the section is disable review your configuration.`,yarnclassicDetails:`Yarn classic configuration differs from Yarn 2+ configuration. For more details, please visit [Yarn Classic](https://verdaccio.org/docs/cli-registry#yarn-1x).`,yarnBerryDetails:"Yarn Berry does not support the `--registry` flag, instead all configurarion should be defined on the `yarnrc.yaml` file in the root of your project. For more details, please visit [Yarn Berry](https://verdaccio.org/docs/cli-registry#yarn-berry-2x)."},wl={title:`Traductions`,contribute:`Si votre langue n'est pas listée ici ou si elle n'est pas entièrement traduite, pensez à contribuer à la traduction. Vous pouvez retrouver le code source dans notre [dépôt principal](https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md)`,description:`Ceci est la configuration de la langue. Sélectionnez une langue pour choisir la langue d'affichage de la page.`},Tl={"copy-to-clipboard":`Copier dans le presse-papier`,"author-anonymous":`Anonyme`,"author-unknown":`Inconnue`,"action-bar-action":{"visit-home-page":`Visiter la page d'accueil`,"open-an-issue":`Ouvrir un ticket`,"download-tarball":`Télécharger l'archive`,raw:`View manifest`,"raw-title":`Manifest of {{package}}`},dialog:sl,header:cl,search:ll,autoComplete:ul,tab:dl,uplinks:fl,versions:pl,package:{"published-on":`Published {{time}}`,version:`v{{version}}`,"visit-home-page":`Visiter la page d'accueil`,homepage:`Page d'accueil`,"open-an-issue":`Ouvrir un ticket`,bugs:`Bugs`,download:`Télécharger {{what}}`,"the-tar-file":`le fichier tar`,tarball:`Archive`},dependencies:ml,form:hl,"form-placeholder":{username:`Nom d'utilisateur`,password:`Mot de passe`},"form-validation":{"required-field":`Ce champ est obligatoire`,"required-min-length":`This field required with a minimum length of {{length}}`,"unable-to-sign-in":`Connexion impossible`,"username-or-password-cant-be-empty":`Le nom d'utilisateur ou mot de passe ne peut pas être vide!`},help:gl,sidebar:_l,footer:vl,button:yl,error:bl,lng:xl,flag:Sl,packageManagers:Cl,language:wl},El={"registry-info":{title:`Eolas`},settings:{title:`Cumraíocht`},license:`Ceadúnas`,totalContributors:`Ranníocóirí iomlána`},Dl={documentation:`Doiciméadúchán`,"registry-info":`Faisnéis Chlárlainne`,"registry-info-link":`Foghlaim níos mó`,settings:`Socruithe`,help:`Cabhrú`,"registry-no-conf":`Níl aon chumraíochtaí ar fáil`,greetings:`Haigh `},Ol={packages:`Pacáistí Cuardaigh`,isPrivate:`Príobháideach`,isRemote:`Iargúlta`,isCached:`I dtaisce`},kl={loading:`Á lódáil...`,"no-results-found":`Níor aimsíodh aon torthaí`,clear:`Glan`,expand:`Leathnaigh`,collapse:`Laghdaigh`},Al={uplinks:`Uplinks`,versions:`Leaganacha`,dependencies:`Spleáchais`,readme:`Léim`},jl={title:`Uplinks`,"no-items":`Níl naisc ar bith ag {{name}}.`},Ml={"current-tags":`Clibeanna Reatha`,"version-history":`Stair Leaganacha`,"not-available":`Níl sé ar fáil`,deprecated:`Dímheasta`,"search.placeholder":`Déan cuardach do leagan de réir raoin semver, m.sh., ^1.0.0.`,"hide-deprecated":`Tá gach leagan dímheasta i bhfolach ag cumraíocht dhomhanda`},Nl={"has-no-dependencies":`Níl aon spleáchais ag {{package}}.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},Pl={username:`Ainm úsáideora`,password:`Pasfhocal`},Fl={title:`Níl Pacáiste Foilsithe fós.`,"sub-title":`Chun do chéad phacáiste a fhoilsiú díreach:`,"first-step":`1. Cruthaigh úsáideoir`,"first-step-command-line":`npm adduser --registry {{registryUrl}}`,"second-step":`2. Foilsigh`,"second-step-command-line":`npm publish --registry {{registryUrl}}`,"third-step":`3. Athnuaigh an leathanach seo`},Il={detail:{"latest-version":`V{{version}} is déanaí`,version:`v{{version}}`,published:`Foilsithe`},installation:{title:`Suiteáil`,latest:`leagan is déanaí`,global:`pacáiste domhanda`,yarnModern:`snáth comhréir nua-aimseartha`},repository:{title:`Stór`},author:{title:`Údar`},distribution:{title:`Dáileadh`,license:`Ceadúnas`,size:`Méid`,"file-count":`Comhaireamh Comhad`},keywords:{title:`Eochairfhocail`},maintainers:{title:`Cothabhálaithe`},contributors:{title:`Rannpháirtithe`},engines:{"npm-version":`Leagan Npm`,"pnpm-version":`Leagan pnpm`,"yarn-version":`Leagan Snáth`,"node-js":`Node.js`}},Ll={"powered-by":`Cumhachtaithe ag`,"made-with-love-on":`Déanta le <0>♥</0> ar siúl`},Rl={close:`Dún`,cancel:`Cealaigh`,login:`Logáil isteach`,logout:`Logáil Amach`,"go-to-the-home-page":`Téigh go dtí an leathanach baile`,"learn-more":`Foghlaim níos mó`,"fund-this-package":`<0>Ciste</0> an pacáiste seo`},zl={unspecific:`Chuaigh rud eigin mícheart.`,404:{"sorry-we-could-not-find-it":`Ár leithscéal, ní raibh muid in ann é a aimsiú...`},401:{"sorry-no-access":`Ár leithscéal, tá rochtain dintiúir uait chun an leathanach seo a fheiceáil.`},"app-context-not-correct-used":`The app context was not used correctly`,"theme-context-not-correct-used":`The theme context was not used correctly`,"package-meta-is-required-at-detail-context":`packageMeta is required at DetailContext`},Bl={english:`Béarla`,czech:`Czech`,japanese:`Seapánach`,portuguese:`Portuguese`,spanish:`Spainnis`,irish:`Irish`,german:`German`,italian:`Italian`,french:`Fraincis`,russian:`Russian`,turkish:`Turkish`,ukraine:`Ukraine`,khmer:`Khmer`,chinese:`Chinese Simplified`,chineseTraditional:`Chinese Traditional`},Vl={austria:`Austria`,australia:`Astráil`,brazil:`Brazil`,canada:`Ceanada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},Hl={title:`Bainisteoirí Pacáiste`,description:`Seo sonraí cumraíochta na clárlainne. D'fhéadfadh cumraíocht dhifriúil a bheith ag gach bainisteoir pacáiste, leathnaigh gach rannóg le haghaidh tuilleadh sonraí. Má tá an chuid díchumasaithe athbhreithnigh do chumraíocht.`,yarnclassicDetails:`Tá cumraíocht clasaiceach snáth difriúil ó chumraíocht Snáth 2+. Le haghaidh tuilleadh sonraí, tabhair cuairt le do thoil ar [Snáth Classic](https://verdaccio.org/docs/cli-registry#yarn-1x).`,yarnBerryDetails:"Ní thacaíonn Snáth Berry leis an mbratach `--registry`, ina ionad sin ba cheart gach cumraíocht a shainmhíniú ar an gcomhad `yarnrc.yaml` i bhfréamh do thionscadal. Le haghaidh tuilleadh sonraí, tabhair cuairt le do thoil ar [Snáth Berry](https://verdaccio.org/docs/cli-registry#yarn-berry-2x)."},Ul={title:`Aistriúcháin`,contribute:`Mura bhfuil do theanga liostaithe anseo nó mura bhfuil sí aistrithe go hiomlán, cuir leis an aistriúchán le do thoil. Is féidir leat an cód foinse a fháil ar [ár bpríomhstór](https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md)`,description:`Seo sonraí cumraíochta na teanga. Roghnaigh teanga chun aistriúchán taobh cliaint a roghnú.`},Wl={"copy-to-clipboard":`Cóipeáil chuig an ngearrthaisce`,"author-anonymous":`Gan ainm`,"author-unknown":`Anaithnid`,"action-bar-action":{"visit-home-page":`Tabhair cuairt ar leathanach baile`,"open-an-issue":`Oscail ceist`,"download-tarball":`Íosluchtaigh cluiche tarball`,raw:`Amharc ar léiriú`,"raw-title":`Manifest de {{package}}`},dialog:El,header:Dl,search:Ol,autoComplete:kl,tab:Al,uplinks:jl,versions:Ml,package:{"published-on":`Foilsithe {{time}}`,version:`v{{version}}`,"visit-home-page":`Tabhair cuairt ar leathanach baile`,homepage:`Leathanach baile`,"open-an-issue":`Oscail ceist`,bugs:`Fabhtanna`,download:`Íoslódáil {{what}}`,"the-tar-file":`an comhad tarra`,tarball:`Tarball`},dependencies:Nl,form:Pl,"form-placeholder":{username:`D'ainm úsáideora`,password:`Do phasfhocal láidir`},"form-validation":{"required-field":`Tá an réimse seo ag teastáil`,"required-min-length":`Teastaíonn an réimse seo le fad íosta {{length}}`,"unable-to-sign-in":`Ní féidir síniú isteach`,"username-or-password-cant-be-empty":`Ní féidir ainm úsáideora nó pasfhocal a bheith folamh!`},help:Fl,sidebar:Il,footer:Ll,button:Rl,error:zl,lng:Bl,flag:Vl,packageManagers:Hl,language:Ul},Gl={"registry-info":{title:`Information`},settings:{title:`Configuration`},license:`Licenza`,totalContributors:`Total contributors`},Kl={documentation:`Documentación`,"registry-info":`Información do Rexistro`,"registry-info-link":`Aprender máis`,settings:`Settings`,help:`Help`,"registry-no-conf":`Non hai configuracións dispoñibles`,greetings:`Ola `},ql={packages:`Buscar Paquetes`,isPrivate:`Private`,isRemote:`Remote`,isCached:`Cached`},Jl={loading:`Cargando...`,"no-results-found":`Non se atoparon resultados`,clear:`Limpar`,expand:`Expandir`,collapse:`Colapso`},Yl={uplinks:`Uplinks`,versions:`Versións`,dependencies:`Dependencias`,readme:`Renomear`},Xl={title:`Uplinks`,"no-items":`{{name}} non ten ligazóns ascendentes.`},Zl={"current-tags":`Etiquetas Actuais`,"version-history":`Version History`,"not-available":`Non dispoñible`,deprecated:`Deprecated`,"search.placeholder":`Search for a version by semver range, e.g., ^1.0.0.`,"hide-deprecated":`All deprecated versions are hidden by global configuration`},Ql={"has-no-dependencies":`{{package}} non ten dependencias.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},$l={username:`Nome de Usuario`,password:`Contrasinal`},eu={title:`Aínda non se publicou ningún paquete.`,"sub-title":`Para publicar o teu primeiro paquete só tes que:`,"first-step":`1. Create user`,"first-step-command-line":`npm adduser --registry {{registryUrl}}`,"second-step":`2. Publicar`,"second-step-command-line":`npm publish --registry {{registryUrl}}`,"third-step":`3. Refrescar a Páxina`},tu={detail:{"latest-version":`Última v{{version}}`,version:`v{{version}}`,published:`Published`},installation:{title:`Instalación`,latest:`latest version`,global:`global package`,yarnModern:`yarn modern syntax`},repository:{title:`Repositorio`},author:{title:`Autor`},distribution:{title:`Distribution`,license:`Licenza`,size:`Tamaño`,"file-count":`File Count`},keywords:{title:`Keywords`},maintainers:{title:`Mantedores`},contributors:{title:`Contribuidores/as`},engines:{"npm-version":`Npm Version`,"pnpm-version":`Pnpm Version`,"yarn-version":`Yarn Version`,"node-js":`Node.js`}},nu={"powered-by":`Feito por`,"made-with-love-on":`Feito con <0>♥</0>`},ru={close:`Pechar`,cancel:`Cancelar`,login:`Iniciar Sesión`,logout:`Cerrar Sesión`,"go-to-the-home-page":`Ir a páxina inicial`,"learn-more":`Aprenda máis`,"fund-this-package":`<0>Financia</0> este paquete`},iu={unspecific:`Algo saíu mal.`,404:{"sorry-we-could-not-find-it":`Sentímolo, non puidemos atopalo...`},401:{"sorry-no-access":`Sorry, you need credentials access to see this page.`},"app-context-not-correct-used":`The app context was not used correctly`,"theme-context-not-correct-used":`The theme context was not used correctly`,"package-meta-is-required-at-detail-context":`packageMeta is required at DetailContext`},au={english:`English`,czech:`Czech`,japanese:`Japanese`,portuguese:`Portuguese`,spanish:`Spanish`,irish:`Irish`,german:`German`,italian:`Italian`,french:`French`,russian:`Russian`,turkish:`Turkish`,ukraine:`Ukraine`,khmer:`Khmer`,chinese:`Chinese Simplified`,chineseTraditional:`Chinese Traditional`},ou={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},su={title:`Xestor de Paquetes`,description:`Estes son os detalles de configuración do rexistro. Cada xestor de paquetes pode ter unha configuración diferente, expanda cada sección para obter máis detalles. Se a sección está desactivada, revise a súa configuración.`,yarnclassicDetails:`A configuración clásica de Yarn é diferente da configuración de Yarn 2+. Para obter máis información, visite [Yarn Classic](https://verdaccio.org/docs/cli-registry#yarn-1x).`,yarnBerryDetails:"Yarn Berry does not support the `--registry` flag, instead all configurarion should be defined on the `yarnrc.yaml` file in the root of your project. For more details, please visit [Yarn Berry](https://verdaccio.org/docs/cli-registry#yarn-berry-2x)."},cu={title:`Traducións`,contribute:`Se o teu idioma non aparece aquí ou non está totalmente traducido, contribúe á tradución. Podes atopar o código fonte en [o noso repositorio principal](https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md)`,description:`Estes son os detalles de configuración para o idioma. Seleccione un idioma para seleccionar unha tradución do lado do cliente.`},lu={"copy-to-clipboard":`Copiar ao portapapeis`,"author-anonymous":`Anónimo`,"author-unknown":`Descoñecido`,"action-bar-action":{"visit-home-page":`Visita a páxina de inicio`,"open-an-issue":`Abre un problema`,"download-tarball":`Descargar tarball`,raw:`View manifest`,"raw-title":`Manifest of {{package}}`},dialog:Gl,header:Kl,search:ql,autoComplete:Jl,tab:Yl,uplinks:Xl,versions:Zl,package:{"published-on":`Published {{time}}`,version:`v{{version}}`,"visit-home-page":`Visita a páxina de inicio`,homepage:`Páxina Principal`,"open-an-issue":`Abre un problema`,bugs:`Fallo`,download:`Descargar {{what}}`,"the-tar-file":`o ficheiro tar`,tarball:`Tarball`},dependencies:Ql,form:$l,"form-placeholder":{username:`O teu usuario`,password:`O teu contrasinal seguro`},"form-validation":{"required-field":`Este campo é necesario`,"required-min-length":`This field required with a minimum length of {{length}}`,"unable-to-sign-in":`Non se puido iniciar sesión`,"username-or-password-cant-be-empty":`O Nome de Usuario ou a Contrasinal non poden estar baleiro!`},help:eu,sidebar:tu,footer:nu,button:ru,error:iu,lng:au,flag:ou,packageManagers:su,language:cu},uu={"registry-info":{title:`Informazioni`},settings:{title:`Configurazione`},license:`Licenza`,totalContributors:`Collaboratori totali`},du={documentation:`Documentazione`,"registry-info":`Informazioni del Registro`,"registry-info-link":`Scopri di più`,settings:`Impostazioni`,help:`Aiuto`,"registry-no-conf":`Nessuna configurazione disponibile`,greetings:`Ciao `},fu={packages:`Cerca i Pacchetti`,isPrivate:`Privato`,isRemote:`Remoto`,isCached:`Nella Cache`},pu={loading:`Caricamento...`,"no-results-found":`Nessun risultato trovato`,clear:`Cancella`,expand:`Espandi`,collapse:`Comprimi`},mu={uplinks:`Uplink`,versions:`Versioni`,dependencies:`Dipendenze`,readme:`Readme`},hu={title:`Uplink`,"no-items":`{{name}} non ha uplink.`},gu={"current-tags":`Tag Correnti`,"version-history":`Storico delle Versioni`,"not-available":`Non disponibile`,deprecated:`Deprecata`,"search.placeholder":`Search for a version by semver range, e.g., ^1.0.0.`,"hide-deprecated":`Tutte le versioni deprecate sono nascoste dalla configurazione globale`},_u={"has-no-dependencies":`{{package}} non ha alcuna dipendenza.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},vu={username:`Nome Utente`,password:`Password`},yu={title:`Ancora Nessun Pacchetto Pubblicato.`,"sub-title":`Per pubblicare il tuo primo pacchetto, basta:`,"first-step":`1. Crea utente`,"first-step-command-line":`npm adduser --registry {{registryUrl}}`,"second-step":`2. Pubblica`,"second-step-command-line":`npm publish --registry {{registryUrl}}`,"third-step":`3. Ricarica questa pagina`},bu={detail:{"latest-version":`Ultima v{{version}}`,version:`v{{version}}`,published:`Pubblicato`},installation:{title:`Installazione`,latest:`ultima versione`,global:`pacchetto globale`,yarnModern:`sintassi moderna di yarn`},repository:{title:`Repository`},author:{title:`Autore`},distribution:{title:`Distribution`,license:`Licenza`,size:`Dimensioni`,"file-count":`File Count`},keywords:{title:`Keywords`},maintainers:{title:`Manutentori`},contributors:{title:`Collaboratori`},engines:{"npm-version":`Versione Npm`,"pnpm-version":`Versione Pnpm`,"yarn-version":`Versione di Yarn`,"node-js":`Node.js`}},xu={"powered-by":`Sviluppato da`,"made-with-love-on":`Creato con <0>♥</0> il`},Su={close:`Chiudi`,cancel:`Annulla`,login:`Accedi`,logout:`Disconnettiti`,"go-to-the-home-page":`Vai alla home page`,"learn-more":`Scopri di Più`,"fund-this-package":`<0>Finanzia</0> questo pacchetto`},Cu={unspecific:`Qualcosa è andato storto.`,404:{"sorry-we-could-not-find-it":`Spiacenti, non siamo riusciti a trovarla...`},401:{"sorry-no-access":`Sorry, you need credentials access to see this page.`},"app-context-not-correct-used":`Il contesto dell'app non è stato usato correttamente`,"theme-context-not-correct-used":`Il contesto del tema non è stato usato correttamente`,"package-meta-is-required-at-detail-context":`packageMeta è necessario in DetailContext`},wu={english:`Inglese`,czech:`Ceco`,japanese:`Giapponese`,portuguese:`Portoghese`,spanish:`Spagnolo`,irish:`Irish`,german:`Tedesco`,italian:`Italian`,french:`Francese`,russian:`Russo`,turkish:`Turco`,ukraine:`Ucraino`,khmer:`Khmer`,chinese:`Chinese Simplified`,chineseTraditional:`Chinese Traditional`},Tu={austria:`Austria`,australia:`Australia`,brazil:`Brasile`,canada:`Canada`,spain:`Spagna`,nicaragua:`Nicaragua`,india:`India`,china:`Cina`,germany:`Germania`,taiwan:`Taiwan`},Eu={title:`Gestore pacchetti`,description:`Questi sono i dettagli di configurazione per il registro. Ogni gestore di pacchetti può avere configurazioni differenti, espandi ogni sezione per maggiori dettagli. Se la sezione è disabilitata, rivedi la tua configurazione.`,yarnclassicDetails:`La configurazione classica di Yarn è diversa dalla configurazione di Yarn 2+. Per più dettagli si prega di visitare [Yarn classico](https://verdaccio.org/docs/cli-registry#yarn-1x).`,yarnBerryDetails:`Yarn Berry non supporta il flag '--registry', invece, tutte le configurazioni dovrebbero esser definite nel file 'yarnrc.yaml' nel root del tuo progetto. Per ulteriori dettagli, sei pregato di visitare [Yarn Berry](https://verdaccio.org/docs/cli-registry#yarn-berry-2x).`},Du={title:`Traduzioni`,contribute:`Se la tua lingua non è qui elencata o non è completamente tradotta, si prega di contribuire alla traduzione. Puoi trovare il codice sorgente nel [nostro repository principale].(https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md)`,description:`Questi sono i dettagli di configurazione per la lingua. Seleziona una lingua per scegliere una traduzione lato client.`},Ou={"copy-to-clipboard":`Copia negli appunti`,"author-anonymous":`Anonimo`,"author-unknown":`Sconosciuto`,"action-bar-action":{"visit-home-page":`Visita la homepage`,"open-an-issue":`Apri una questione`,"download-tarball":`Scarica tarball`,raw:`View manifest`,"raw-title":`Manifest of {{package}}`},dialog:uu,header:du,search:fu,autoComplete:pu,tab:mu,uplinks:hu,versions:gu,package:{"published-on":`Published {{time}}`,version:`v{{version}}`,"visit-home-page":`Visita la homepage`,homepage:`Homepage`,"open-an-issue":`Apri una questione`,bugs:`Bug`,download:`Scarica {{what}}`,"the-tar-file":`il file tar`,tarball:`Tarball`},dependencies:_u,form:vu,"form-placeholder":{username:`Il tuo nome utente`,password:`La tua password forte`},"form-validation":{"required-field":`Questo campo è necessario`,"required-min-length":`This field required with a minimum length of {{length}}`,"unable-to-sign-in":`Impossibile accedere`,"username-or-password-cant-be-empty":`Il nome utente o la password non possono essere vuoti!`},help:yu,sidebar:bu,footer:xu,button:Su,error:Cu,lng:wu,flag:Tu,packageManagers:Eu,language:Du},ku={"registry-info":{title:`정보`},settings:{title:`구성`},license:`라이선스`,totalContributors:`총 기여자`},Au={documentation:`문서`,"registry-info":`레지스트리 정보`,"registry-info-link":`더 알아보기`,settings:`설정`,help:`도움`,"registry-no-conf":`사용 가능한 구성이 없습니다.`,greetings:`안녕 `},ju={packages:`패키지 검색`,isPrivate:`Private`,isRemote:`원격`,isCached:`캐시됨`},Mu={loading:`로딩 중...`,"no-results-found":`결과를 찾을 수 없음`,clear:`삭제`,expand:`펼치기`,collapse:`접기`},Nu={uplinks:`Uplinks`,versions:`버전`,dependencies:`의존성`,readme:`읽어보기`},Pu={title:`Uplinks`,"no-items":`{{name}} 에 uplink가 없습니다.`},Fu={"current-tags":`현재 태그`,"version-history":`버전 기록`,"not-available":`사용할 수 없음`,deprecated:`Deprecated`,"search.placeholder":`Search for a version by semver range, e.g., ^1.0.0.`,"hide-deprecated":`All deprecated versions are hidden by global configuration`},Iu={"has-no-dependencies":`{{package}} 에는 의존성이 없습니다.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},Lu={username:`사용자 이름`,password:`비밀번호`},Ru={title:`아직 게시된 패키지가 없습니다.`,"sub-title":`첫 번째 패키지를 게시하려면:`,"first-step":`1. 유저 생성`,"first-step-command-line":`npm adduser --registry {{registryUrl}}`,"second-step":`2. 게시하기`,"second-step-command-line":`npm publish --registry {{registryUrl}}`,"third-step":`3. 이 페이지 새로 고침`},zu={detail:{"latest-version":`최신 v{{version}}`,version:`v{{version}}`,published:`게시됨`},installation:{title:`설치`,latest:`최신 버전`,global:`글로벌 패키지`,yarnModern:`yarn modern syntax`},repository:{title:`저장소`},author:{title:`게시자`},distribution:{title:`Distribution`,license:`라이선스`,size:`크기`,"file-count":`File Count`},keywords:{title:`Keywords`},maintainers:{title:`관리자`},contributors:{title:`기여자`},engines:{"npm-version":`Npm Version`,"pnpm-version":`Pnpm Version`,"yarn-version":`Yarn Version`,"node-js":`Node.js`}},Bu={"powered-by":`Powered by`,"made-with-love-on":`Made with <0>♥</0> on`},Vu={close:`닫기`,cancel:`취소`,login:`로그인`,logout:`로그아웃`,"go-to-the-home-page":`홈으로`,"learn-more":`더 알아보기`,"fund-this-package":`이 패키지를 위한 <0>지원</0>`},Hu={unspecific:`문제가 발생했습니다.`,404:{"sorry-we-could-not-find-it":`죄송합니다. 찾지 못했습니다...`},401:{"sorry-no-access":`Sorry, you need credentials access to see this page.`},"app-context-not-correct-used":`The app context was not used correctly`,"theme-context-not-correct-used":`The theme context was not used correctly`,"package-meta-is-required-at-detail-context":`packageMeta is required at DetailContext`},Uu={english:`English`,czech:`Czech`,japanese:`Japanese`,portuguese:`Portuguese`,spanish:`Spanish`,irish:`Irish`,german:`German`,italian:`Italian`,french:`French`,russian:`Russian`,turkish:`Turkish`,ukraine:`Ukraine`,khmer:`Khmer`,chinese:`Chinese Simplified`,chineseTraditional:`Chinese Traditional`},Wu={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},Gu={title:`패키지 관리자`,description:`레지스트리에 대한 구성 세부 정보입니다. 각 패키지 관리자의 구성이 다를 수 있습니다. 자세한 내용을 보려면 각 섹션을 확장하십시오. 섹션이 비활성화되면 구성을 검토하십시오. `,yarnclassicDetails:`Yarn 클래식 구성은 Yarn 2+ 구성과 다릅니다. 자세한 내용은 [Yarn Classic](https://verdaccio.org/docs/cli-registry#yarn-1x)을 참조하십시오.`,yarnBerryDetails:`Yann Berry는 "--registry" 플래그를 지원하지 않습니다. 대신 모든 구성은 프로젝트의 루트에 있는 "yarnrc.yaml" 파일에 정의되어야 합니다. 자세한 내용은 [Yarn Berry](https://verdaccio.org/docs/cli-registry#yarn-berry-2x)을 참조하십시오.`},Ku={title:`번역`,contribute:`귀하의 언어가 여기에 나열되지 않았거나 완전히 번역되지 않은 경우 번역에 기여하십시오. 소스 코드는 [우리의 메인 저장소](https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md)에서 확인할 수 있습니다.`,description:`언어에 대한 구성 세부 정보입니다. 클라이언트 측 번역을 선택하려면 언어를 선택하십시오.`},qu={"copy-to-clipboard":`클립보드에 복사`,"author-anonymous":`익명`,"author-unknown":`알 수 없는`,"action-bar-action":{"visit-home-page":`홈페이지 방문`,"open-an-issue":`이슈 열기`,"download-tarball":`Tarball 다운로드`,raw:`View manifest`,"raw-title":`Manifest of {{package}}`},dialog:ku,header:Au,search:ju,autoComplete:Mu,tab:Nu,uplinks:Pu,versions:Fu,package:{"published-on":`Published {{time}}`,version:`v{{version}}`,"visit-home-page":`홈페이지 방문`,homepage:`홈페이지`,"open-an-issue":`이슈 열기`,bugs:`버그`,download:`{{what}} 다운로드`,"the-tar-file":`tar 파일`,tarball:`Tarball`},dependencies:Iu,form:Lu,"form-placeholder":{username:`사용자 이름`,password:`강력한 암호`},"form-validation":{"required-field":`이 필드는 필수입니다`,"required-min-length":`This field required with a minimum length of {{length}}`,"unable-to-sign-in":`로그인 할 수 없습니다`,"username-or-password-cant-be-empty":`사용자 이름 또는 암호는 비워 둘 수 없습니다!`},help:Ru,sidebar:zu,footer:Bu,button:Vu,error:Hu,lng:Uu,flag:Wu,packageManagers:Gu,language:Ku},Ju={"registry-info":{title:`Informacje`},settings:{title:`Configuration`},license:`Licencja`,totalContributors:`Wszyscy współpracujący`},Yu={documentation:`Dokumentacja`,"registry-info":`Informacje o repozytorium`,"registry-info-link":`Dowiedz się więcej`,settings:`Ustawienia`,help:`Pomoc`,"registry-no-conf":`Brak dostępnej konfiguracji`,greetings:`Witaj `},Xu={packages:`Wyszukaj pakiet`,isPrivate:`Private`,isRemote:`Zdalny`,isCached:`W kopii lokalnej`},Zu={loading:`Ładowanie...`,"no-results-found":`Brak wyników`,clear:`Wyczyść`,expand:`Rozwiń`,collapse:`Zwiń`},Qu={uplinks:`Uplinks`,versions:`Wersje`,dependencies:`Zależności`,readme:`Przeczytaj`},$u={title:`Uplinks`,"no-items":`{{name}} nie posiada uplinków.`},ed={"current-tags":`Bieżące tagi`,"version-history":`Historia wersji`,"not-available":`Nie dostępna`,deprecated:`Deprecated`,"search.placeholder":`Search for a version by semver range, e.g., ^1.0.0.`,"hide-deprecated":`All deprecated versions are hidden by global configuration`},td={"has-no-dependencies":`Pakiet {{package}} nie posiada zależności.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},nd={username:`Nazwa użytkownika`,password:`Hasło`},rd={title:`Brak opublikowanych pakietów.`,"sub-title":`Aby opublikować swój pierwszy pakiet, wykonaj następujące kroki:`,"first-step":`1. Utwórz użytkownika`,"first-step-command-line":`npm adduser --registry {{registryUrl}}`,"second-step":`2. Opublikuj`,"second-step-command-line":`npm publish --registry {{registryUrl}}`,"third-step":`3. Odśwież tę stronę`},id={detail:{"latest-version":`Najnowsza wersja v{{version}}`,version:`v{{version}}`,published:`Opublikowany`},installation:{title:`Instalacja`,latest:`latest version`,global:`global package`,yarnModern:`yarn modern syntax`},repository:{title:`Repozytorium`},author:{title:`Autor`},distribution:{title:`Distribution`,license:`Licencja`,size:`Rozmiar`,"file-count":`File Count`},keywords:{title:`Keywords`},maintainers:{title:`Utrzymujący`},contributors:{title:`Współpracujący`},engines:{"npm-version":`Npm Version`,"pnpm-version":`Pnpm Version`,"yarn-version":`Yarn Version`,"node-js":`Node.js`}},ad={"powered-by":`Zasilany przez`,"made-with-love-on":`Stworzone z <0>♥</0> do`},od={close:`Zamknij`,cancel:`Anuluj`,login:`Zaloguj`,logout:`Wyloguj`,"go-to-the-home-page":`Przejdź do strony domowej`,"learn-more":`Dowiedz się więcej`,"fund-this-package":`Bądź <0>fundatorem</0> tego pakietu`},sd={unspecific:`Coś poszło źle.`,404:{"sorry-we-could-not-find-it":`Przepraszamy. Nie możemy znaleźć tego...`},401:{"sorry-no-access":`Sorry, you need credentials access to see this page.`},"app-context-not-correct-used":`The app context was not used correctly`,"theme-context-not-correct-used":`The theme context was not used correctly`,"package-meta-is-required-at-detail-context":`packageMeta is required at DetailContext`},cd={english:`English`,czech:`Czech`,japanese:`Japanese`,portuguese:`Portuguese`,spanish:`Spanish`,irish:`Irish`,german:`German`,italian:`Italian`,french:`French`,russian:`Russian`,turkish:`Turkish`,ukraine:`Ukraine`,khmer:`Khmer`,chinese:`Chinese Simplified`,chineseTraditional:`Chinese Traditional`},ld={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},ud={title:`Menadżer pakietów`,description:`To są szczegóły konfiguracji dla rejestru. Każdy menadżer pakietów może mieć inną konfigurację, rozwiń każdą sekcję, aby uzyskać więcej szczegółów. Jeśli sekcja jest wyłączona, sprawdź swoją konfigurację.`,yarnclassicDetails:`Konfiguracja Yarn Classic różni się od konfiguracji Yarn 2+. Więcej szczegółów znajdziesz na stronie [Yarn Classic](https://verdaccio.org/docs/cli-registry#yarn-1x).`,yarnBerryDetails:`Yarn Berry nie obsługuje flagi --registry, zamiast tego cała konfiguracja powinna być zdefiniowana w pliku yarnrc.yaml w głównym katalogu twojego projektu. Więcej szczegółów znajdziesz na stronie [Yarn Berry](https://verdaccio.org/docs/cli-registry#yarn-berry-2x).`},dd={title:`Tłumaczenia`,contribute:`Jeśli twój język nie znajduje się na liście lub nie posiada pełnego tłumaczenia, prosimy o współpracę. Kod źródłowy udostępniony jest na stronie [głównego repozytorium](https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md)`,description:`To są szczegóły konfiguracji języka. Wybierz język, aby wybrać tłumaczenie po stronie klienta.`},fd={"copy-to-clipboard":`Skopiuj do schowka`,"author-anonymous":`Anonim`,"author-unknown":`Autor nieznany`,"action-bar-action":{"visit-home-page":`Odwiedź stronę domową`,"open-an-issue":`Otwórz zgłoszenie`,"download-tarball":`Pobierz archiwum`,raw:`View manifest`,"raw-title":`Manifest of {{package}}`},dialog:Ju,header:Yu,search:Xu,autoComplete:Zu,tab:Qu,uplinks:$u,versions:ed,package:{"published-on":`Published {{time}}`,version:`v{{version}}`,"visit-home-page":`Odwiedź stronę domową`,homepage:`Strona domowa`,"open-an-issue":`Otwórz zgłoszenie`,bugs:`Błędy`,download:`Pobierz {{what}}`,"the-tar-file":`plik tar`,tarball:`Archiwum`},dependencies:td,form:nd,"form-placeholder":{username:`Twoja nazwa użytkownika`,password:`Twoje silne hasło`},"form-validation":{"required-field":`Pole obowiązkowe`,"required-min-length":`This field required with a minimum length of {{length}}`,"unable-to-sign-in":`Nie można się zalogować`,"username-or-password-cant-be-empty":`Nazwa użytkownika lub hasło nie mogą być puste!`},help:rd,sidebar:id,footer:ad,button:od,error:sd,lng:cd,flag:ld,packageManagers:ud,language:dd},pd={"registry-info":{title:`Informação`},settings:{title:`Configuração`},license:`Licença`,totalContributors:`Total de contribuidores`},md={documentation:`Documentação`,"registry-info":`Informações do Registro`,"registry-info-link":`Aprenda mais`,settings:`Configurações`,help:`Ajuda`,"registry-no-conf":`Sem configurações disponíveis`,greetings:`Oi `},hd={packages:`Pesquisar Pacotes`,isPrivate:`Privado`,isRemote:`Remoto`,isCached:`Em cache`},gd={loading:`Carregando...`,"no-results-found":`"Nenhum resultado encontrado`,clear:`Limpar`,expand:`Expandir`,collapse:`Retrair`},_d={uplinks:`Uplinks`,versions:`Versões`,dependencies:`Dependências`,readme:`Leia-me`},vd={title:`Uplinks`,"no-items":`{{name}} não tem uplinks.`},yd={"current-tags":`Tags atuais`,"version-history":`Histórico de versão`,"not-available":`Não disponível`,deprecated:`Deprecated`,"search.placeholder":`Search for a version by semver range, e.g., ^1.0.0.`,"hide-deprecated":`All deprecated versions are hidden by global configuration`},bd={"has-no-dependencies":`{{package}} não tem dependências.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},xd={username:`Nome do usuário`,password:`Senha`},Sd={title:`Nenhum pacote publicado ainda.`,"sub-title":`Para publicar seu primeiro pacote apenas:`,"first-step":`Criar usuário`,"first-step-command-line":`npm adduser --registry {{registryUrl}}`,"second-step":`2. Publique`,"second-step-command-line":`npm publish --registry {{registryUrl}}`,"third-step":`3. Atualize esta página.`},Cd={detail:{"latest-version":`Última versão: v{{version}}`,version:`v{{version}}`,published:`Publicado`},installation:{title:`Instalação`,latest:`latest version`,global:`global package`,yarnModern:`yarn modern syntax`},repository:{title:`Repositório`},author:{title:`Autor(a)`},distribution:{title:`Distribution`,license:`Licença`,size:`Tamanho`,"file-count":`File Count`},keywords:{title:`Keywords`},maintainers:{title:`Mantenedores(as)`},contributors:{title:`Contribuidores(as)`},engines:{"npm-version":`Npm Version`,"pnpm-version":`Pnpm Version`,"yarn-version":`Yarn Version`,"node-js":`Node.js`}},wd={"powered-by":`Feito por`,"made-with-love-on":`Feito com amor <0>♥</0> no(a)`},Td={close:`Fechar`,cancel:`Cancelar`,login:`Conectar`,logout:`Desconectar`,"go-to-the-home-page":`Ir para a página inicial`,"learn-more":`Leia mais`,"fund-this-package":`<0>Financie</0> este pacote`},Ed={unspecific:`Algo deu errado.`,404:{"sorry-we-could-not-find-it":`Desculpe, não conseguimos encontrar...`},401:{"sorry-no-access":`Sorry, you need credentials access to see this page.`},"app-context-not-correct-used":`The app context was not used correctly`,"theme-context-not-correct-used":`The theme context was not used correctly`,"package-meta-is-required-at-detail-context":`packageMeta is required at DetailContext`},Dd={english:`Inglês`,czech:`Czech`,japanese:`Japonês`,portuguese:`Portuguese`,spanish:`Espanhol`,irish:`Irish`,german:`Alemão`,italian:`Italian`,french:`Francês`,russian:`Russian`,turkish:`Turkish`,ukraine:`Ukraine`,khmer:`Khmer`,chinese:`Chinese Simplified`,chineseTraditional:`Chinese Traditional`},Od={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},kd={title:`Gerenciadores de Pacotes`,description:`Estes são os detalhes de configuração do registro. Cada gerenciador de pacotes pode ter configurações diferentes, expanda cada seção para obter mais detalhes. Se a seção estiver desativada, revise sua configuração.`,yarnclassicDetails:`A configuração do Yarn clássico difere da configuração do Yarn 2+. Para mais detalhes, por favor visite [Yarn Clássico](https://verdaccio.org/docs/cli-registry#yarn-1x).`,yarnBerryDetails:"Yarn Berry não suporta o parâmetro `--registry`, em vez disso, toda a configuração deve ser definida no arquivo `yarnrc.yaml` na raiz do projeto. Para mais detalhes, por favor visite [Yarn Berry](https://verdaccio.org/docs/cli-registry#yarn-berry-2x)."},Ad={title:`Traduções`,contribute:`Se o seu idioma não estiver listado aqui ou não estiver totalmente traduzido, contribua com a tradução. Você pode encontrar o código-fonte em [nosso repositório main](https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md)`,description:`Estes são os detalhes de configuração para o idioma. Selecione um idioma para selecionar uma tradução do lado do cliente.`},jd={"copy-to-clipboard":`Copiar para área de transferência`,"author-anonymous":`Anônimo(a)`,"author-unknown":`Desconhecido`,"action-bar-action":{"visit-home-page":`Visitar a página inicial`,"open-an-issue":`Criar um incident`,"download-tarball":`Baixar Tarball`,raw:`View manifest`,"raw-title":`Manifest of {{package}}`},dialog:pd,header:md,search:hd,autoComplete:gd,tab:_d,uplinks:vd,versions:yd,package:{"published-on":`Published {{time}}`,version:`v{{version}}`,"visit-home-page":`Visitar a página inicial`,homepage:`Página inicial`,"open-an-issue":`Criar um incident`,bugs:`Erros`,download:`Baixar {{what}}`,"the-tar-file":`o arquivo tar`,tarball:`Tarball`},dependencies:bd,form:xd,"form-placeholder":{username:`O seu nome`,password:`A sua senha forte`},"form-validation":{"required-field":`Este campo é obrigatório`,"required-min-length":`This field required with a minimum length of {{length}}`,"unable-to-sign-in":`Não foi possível fazer login`,"username-or-password-cant-be-empty":`Nome de usuário ou senha não podem estar vazios!`},help:Sd,sidebar:Cd,footer:wd,button:Td,error:Ed,lng:Dd,flag:Od,packageManagers:kd,language:Ad},Md={"registry-info":{title:`Информация`},settings:{title:`Конфигурация`},license:`Лицензия`,totalContributors:`Всего разработчиков`},Nd={documentation:`Документация`,"registry-info":`Информация о реестре`,"registry-info-link":`Подробнее`,settings:`Настройки`,help:`Помощь`,"registry-no-conf":`Нет доступных конфигураций`,greetings:`Привет `},Pd={packages:`Поиск пакетов`,isPrivate:`Приватный`,isRemote:`Удаленно`,isCached:`Кэшированный`},Fd={loading:`Загрузка ...`,"no-results-found":`Ничего не найдено`,clear:`Очистить`,expand:`Развернуть`,collapse:`Свернуть`},Id={uplinks:`Аплинки`,versions:`Версии`,dependencies:`Зависимости`,readme:`Описание`},Ld={title:`Аплинки`,"no-items":`{{name}} не опубликован.`},Rd={"current-tags":`Текущие теги`,"version-history":`История Версий`,"not-available":`Недоступен`,deprecated:`Устаревшие`,"search.placeholder":`Найдите версию по диапазону значений, например ^1.0.0.`,"hide-deprecated":`Все устаревшие версии скрыты глобальной конфигурацией`},zd={"has-no-dependencies":`{{package}} не имеет зависимостей.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},Bd={username:`Имя пользователя`,password:`Пароль`},Vd={title:`Нет опубликованных пакетов.`,"sub-title":`Опубликовать свой первый пакет просто:`,"first-step":`1. Создать пользователя`,"first-step-command-line":`npm adduser --registry {{registryUrl}}`,"second-step":`2. Опубликуйте`,"second-step-command-line":`npm publish --registry {{registryUrl}}`,"third-step":`3. Обновите эту страницу.`},Hd={detail:{"latest-version":`Последняя версия v{{version}}`,version:`v{{version}}`,published:`Опубликованные`},installation:{title:`Установка`,latest:`последняя версия`,global:`глобальный пакет`,yarnModern:`современный синтаксис yarn`},repository:{title:`Хранилище`},author:{title:`Автор`},distribution:{title:`Distribution`,license:`Лицензия`,size:`Размер`,"file-count":`File Count`},keywords:{title:`Keywords`},maintainers:{title:`Техническое сопровождени`},contributors:{title:`Авторы`},engines:{"npm-version":`Версия npm`,"pnpm-version":`Версия pnpm`,"yarn-version":`Версия yarn`,"node-js":`Node.js`}},Ud={"powered-by":`Работает на`,"made-with-love-on":`Сделано с <0>♥</0> на`},Wd={close:`Закрыть`,cancel:`Отмена`,login:`Войти`,logout:`Выйти`,"go-to-the-home-page":`Перейдите на главную страницу`,"learn-more":`Изучайте больше`,"fund-this-package":`<0>Поддержать</0> этот паке`},Gd={unspecific:`Что-то пошло не так.`,404:{"sorry-we-could-not-find-it":`К сожалению, мы не смогли его найти ...`},401:{"sorry-no-access":`Извините, вам требуется доступ через учетные данные, чтобы увидеть эту страницу.`},"app-context-not-correct-used":`The app context was not used correctly`,"theme-context-not-correct-used":`The theme context was not used correctly`,"package-meta-is-required-at-detail-context":`packageMeta is required at DetailContext`},Kd={english:`Английский`,czech:`Czech`,japanese:`Японский`,portuguese:`Portuguese`,spanish:`Испанский`,irish:`Irish`,german:`Немецкий`,italian:`Italian`,french:`Французский`,russian:`Russian`,turkish:`Turkish`,ukraine:`Ukraine`,khmer:`Khmer`,chinese:`Chinese Simplified`,chineseTraditional:`Chinese Traditional`},qd={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},Jd={title:`Менеджеры пакетов`,description:`Это детали конфигурации для рапозитория. Каждый менеджер пакетов может иметь различную конфигурацию, разверните каждый раздел для получения более подробной информации. Если раздел недоступен, проверьте свою конфигурацию.`,yarnclassicDetails:`Классическая конфигурация Yarn отличается от конфигурации Yarn 2+. Для получения более подробной информации, пожалуйста, посетите [Yarn Classic](https://verdaccio.org/docs/cli-registry#yarn-1x).`,yarnBerryDetails:"Yarn Berry не поддерживает `--registry` флаг, вместо этого вся конфигурация должна быть определена в `yarnrc.yaml` файле в корне вашего проекта. Для получения более подробной информации, пожалуйста, посетите [Yarn Berry](https://verdaccio.org/docs/cli-registry#yarn-berry-2x)."},Yd={title:`Переводы`,contribute:`Если ваш язык не указан здесь или переведен не полностью, пожалуйста, внесите свой вклад в перевод. Вы можете найти исходный код в [нашем основном репозитории](https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md)`,description:`Это детали конфигурации языка. Выберите язык для перевода клиентской части.`},Xd={"copy-to-clipboard":`Копировать в буфер обмена`,"author-anonymous":`Анонимный`,"author-unknown":`неизвестно`,"action-bar-action":{"visit-home-page":`Посетить домашнюю страницу`,"open-an-issue":`Открыть вопрос, проблему`,"download-tarball":`Скачать архив`,raw:`View manifest`,"raw-title":`Manifest of {{package}}`},dialog:Md,header:Nd,search:Pd,autoComplete:Fd,tab:Id,uplinks:Ld,versions:Rd,package:{"published-on":`Published {{time}}`,version:`v{{version}}`,"visit-home-page":`Посетить домашнюю страницу`,homepage:`Домашняя страница`,"open-an-issue":`Открыть вопрос, проблему, ...`,bugs:`Ошибки`,download:`Скачать {{what}}`,"the-tar-file":`файл tar`,tarball:`Скачать`},dependencies:zd,form:Bd,"form-placeholder":{username:`Ваше имя пользователя`,password:`Ваш надежный пароль`},"form-validation":{"required-field":`Это поле является обязательны`,"required-min-length":`This field required with a minimum length of {{length}}`,"unable-to-sign-in":`Невозможно войти`,"username-or-password-cant-be-empty":`Имя пользователя или пароль не могут быть пустыми!`},help:Vd,sidebar:Hd,footer:Ud,button:Wd,error:Gd,lng:Kd,flag:qd,packageManagers:Jd,language:Yd},Zd={"registry-info":{title:`Information`},settings:{title:`Configuration`},license:`License`,totalContributors:`Total contributors`},Qd={documentation:`Documentation`,"registry-info":`Registry Information`,"registry-info-link":`Learn more`,settings:`Settings`,help:`Help`,"registry-no-conf":`No configurations available`,greetings:`Hi `},$d={packages:`Search Packages`,isPrivate:`Private`,isRemote:`Remote`,isCached:`Cached`},ef={loading:`Loading...`,"no-results-found":`No results found`,clear:`Clear`,expand:`Expand`,collapse:`Collapse`},tf={uplinks:`Uplinks`,versions:`Versions`,dependencies:`Dependencies`,readme:`Readme`},nf={title:`Uplinks`,"no-items":`{{name}} has no uplinks.`},rf={"current-tags":`Current Tags`,"version-history":`Version History`,"not-available":`Not available`,deprecated:`Deprecated`,"search.placeholder":`Search for a version by semver range, e.g., ^1.0.0.`,"hide-deprecated":`All deprecated versions are hidden by global configuration`},af={"has-no-dependencies":`{{package}} has no dependencies.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},of={username:`Username`,password:`Password`},sf={title:`No Package Published Yet.`,"sub-title":`To publish your first package just:`,"first-step":`1. Create user`,"first-step-command-line":`npm adduser --registry {{registryUrl}}`,"second-step":`2. Publish`,"second-step-command-line":`npm publish --registry {{registryUrl}}`,"third-step":`3. Refresh this page`},cf={detail:{"latest-version":`Latest v{{version}}`,version:`v{{version}}`,published:`Published`},installation:{title:`Instalacija`,latest:`latest version`,global:`global package`,yarnModern:`yarn modern syntax`},repository:{title:`Repository`},author:{title:`Author`},distribution:{title:`Distribution`,license:`License`,size:`Size`,"file-count":`File Count`},keywords:{title:`Keywords`},maintainers:{title:`Maintainers`},contributors:{title:`Contributors`},engines:{"npm-version":`Npm Version`,"pnpm-version":`Pnpm Version`,"yarn-version":`Yarn Version`,"node-js":`Node.js`}},lf={"powered-by":`Powered by`,"made-with-love-on":`Made with <0>♥</0> on`},uf={close:`Close`,cancel:`Cancel`,login:`Login`,logout:`Logout`,"go-to-the-home-page":`Go to the home page`,"learn-more":`Learn More`,"fund-this-package":`<0>Fund</0> this package`},df={unspecific:`Something went wrong.`,404:{"sorry-we-could-not-find-it":`Sorry, we couldn't find it...`},401:{"sorry-no-access":`Sorry, you need credentials access to see this page.`},"app-context-not-correct-used":`The app context was not used correctly`,"theme-context-not-correct-used":`The theme context was not used correctly`,"package-meta-is-required-at-detail-context":`packageMeta is required at DetailContext`},ff={english:`English`,czech:`Czech`,japanese:`Japanese`,portuguese:`Portuguese`,spanish:`Spanish`,irish:`Irish`,german:`German`,italian:`Italian`,french:`French`,russian:`Russian`,turkish:`Turkish`,ukraine:`Ukraine`,khmer:`Khmer`,chinese:`Chinese Simplified`,chineseTraditional:`Chinese Traditional`},pf={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},mf={title:`Package Managers`,description:`This is the configuration details for the registry. Each package manager could have different configuration, expand each section for more details. If the section is disable review your configuration.`,yarnclassicDetails:`Yarn classic configuration differs from Yarn 2+ configuration. For more details, please visit [Yarn Classic](https://verdaccio.org/docs/cli-registry#yarn-1x).`,yarnBerryDetails:"Yarn Berry does not support the `--registry` flag, instead all configurarion should be defined on the `yarnrc.yaml` file in the root of your project. For more details, please visit [Yarn Berry](https://verdaccio.org/docs/cli-registry#yarn-berry-2x)."},hf={title:`Translations`,contribute:`If your language is not listed here or is not fully translated, please contribute to the translation. You can find the source code on [our main repository](https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md)`,description:`This is the configuration details for the language. Select a language to select a client side translation.`},gf={"copy-to-clipboard":`Copy to clipboard`,"author-anonymous":`Anonymous`,"author-unknown":`Unknown`,"action-bar-action":{"visit-home-page":`Visit homepage`,"open-an-issue":`Open an issue`,"download-tarball":`Download tarball`,raw:`View manifest`,"raw-title":`Manifest of {{package}}`},dialog:Zd,header:Qd,search:$d,autoComplete:ef,tab:tf,uplinks:nf,versions:rf,package:{"published-on":`Published {{time}}`,version:`v{{version}}`,"visit-home-page":`Visit homepage`,homepage:`Homepage`,"open-an-issue":`Open an issue`,bugs:`Bugs`,download:`Download {{what}}`,"the-tar-file":`the tar file`,tarball:`Tarball`},dependencies:af,form:of,"form-placeholder":{username:`Your username`,password:`Your strong password`},"form-validation":{"required-field":`This field is required`,"required-min-length":`This field required with a minimum length of {{length}}`,"unable-to-sign-in":`Unable to sign in`,"username-or-password-cant-be-empty":`Username or password can't be empty!`},help:sf,sidebar:cf,footer:lf,button:uf,error:df,lng:ff,flag:pf,packageManagers:mf,language:hf},_f={"registry-info":{title:`Bilgi`},settings:{title:`Konfigürasyon`},license:`Lisans`,totalContributors:`Toplam katkıda bulunanlar`},vf={documentation:`Dokümantasyon`,"registry-info":`Kayıt Bilgileri`,"registry-info-link":`Daha fazla öğren`,settings:`Ayarlar`,help:`Yardım`,"registry-no-conf":`Kullanabilir yapılandırma yok`,greetings:`Merhaba `},yf={packages:`Paket Ara`,isPrivate:`Private`,isRemote:`Uzak`,isCached:`Önbelleğe alınmış`},bf={loading:`Yükleniyor...`,"no-results-found":`Sonuç bulunamadı`,clear:`Temizle`,expand:`Genişlet`,collapse:`Dök`},xf={uplinks:`Bağlantılar`,versions:`Versiyonlar`,dependencies:`Bağımlılıklar`,readme:`Beni Oku`},Sf={title:`Bağlantılar`,"no-items":`{{name}} bağlantısı yok`},Cf={"current-tags":`Mevcut Etiketler`,"version-history":`Sürüm Geçmişi`,"not-available":`Mevcut değil`,deprecated:`Deprecated`,"search.placeholder":`Search for a version by semver range, e.g., ^1.0.0.`,"hide-deprecated":`All deprecated versions are hidden by global configuration`},wf={"has-no-dependencies":`{{package}} bağımlılığı yok.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},Tf={username:`Kullanıcı Adı`,password:`Parola`},Ef={title:`Henüz Paket Yayınlanmadı.`,"sub-title":`İlk paketinizi yayınlamak için:`,"first-step":`1. Kullanıcı oluştur`,"first-step-command-line":`npm adduser --registry {{registryUrl}}`,"second-step":`2. Yayınla`,"second-step-command-line":`npm publish --registry {{registryUrl}}`,"third-step":`3. Sayfayı yenile.`},Df={detail:{"latest-version":`En son sürüm v{{version}}`,version:`v{{version}}`,published:`Yayınlanan`},installation:{title:`Kurulum`,latest:`latest version`,global:`global package`,yarnModern:`yarn modern syntax`},repository:{title:`Depo`},author:{title:`Yazar`},distribution:{title:`Distribution`,license:`Lisans`,size:`Boyut`,"file-count":`File Count`},keywords:{title:`Keywords`},maintainers:{title:`Bakımcılar`},contributors:{title:`Katkıda bulunanlar`},engines:{"npm-version":`Npm Version`,"pnpm-version":`Pnpm Version`,"yarn-version":`Yarn Version`,"node-js":`Node.js`}},Of={"powered-by":`Destekleyen`,"made-with-love-on":`<0>♥</0> ile yapılmıştı`},kf={close:`Kapat`,cancel:`İptal`,login:`Giriş`,logout:`Çıkış`,"go-to-the-home-page":`Ana sayfaya git`,"learn-more":`Daha Fazlasını Öğren`,"fund-this-package":`Bu paketi <0>fonla</0>`},Af={unspecific:`Bir şeyler ters gitti.`,404:{"sorry-we-could-not-find-it":`Üzgünüz, bunu bulamadık..`},401:{"sorry-no-access":`Sorry, you need credentials access to see this page.`},"app-context-not-correct-used":`The app context was not used correctly`,"theme-context-not-correct-used":`The theme context was not used correctly`,"package-meta-is-required-at-detail-context":`packageMeta is required at DetailContext`},jf={english:`English`,czech:`Czech`,japanese:`Japanese`,portuguese:`Portuguese`,spanish:`Spanish`,irish:`Irish`,german:`German`,italian:`Italian`,french:`French`,russian:`Russian`,turkish:`Turkish`,ukraine:`Ukraine`,khmer:`Khmer`,chinese:`Chinese Simplified`,chineseTraditional:`Chinese Traditional`},Mf={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},Nf={title:`Paket Yöneticileri`,description:`Bu kayıt defteri için yapılandırma ayrıntılarıdır. Her paket yöneticisinin farklı yapılandırması olabilir, daha fazla ayrıntı için her bölümü genişletin. Bölüm devre dışı ise, yapılandırmanızı gözden geçirin.`,yarnclassicDetails:`Yarn classic konfigürasyonu Yarn 2+ konfigürasyonundan farklıdır. Daha fazla ayrıntı için lütfen [Yarn Classic](https://verdaccio.org/docs/cli-registry#yarn-1x) adresini ziyaret edin.`,yarnBerryDetails:`Yarn Berry, "--registry" işaretini desteklemez, bunun yerine tüm yapılandırma, projenizin kök dizinindeki "yarnrc.yaml" dosyasında tanımlanmalıdır. Daha fazla ayrıntı için lütfen [Yarn Berry](https://verdaccio.org/docs/cli-registry#yarn-berry-2x) adresini ziyaret edin.`},Pf={title:`Çeviriler`,contribute:`Diliniz burada listelenmiyorsa veya tam olarak çevrilmemişse, lütfen çeviriye katkıda bulunun. Kaynak kodunu [ana depomuzda](https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md) bulabilirsiniz`,description:`Bu, dil için yapılandırma ayrıntılarıdır. Bir istemci tarafı çevirisi seçmek için bir dil seçin.`},Ff={"copy-to-clipboard":`Panoya kopyala`,"author-anonymous":`Anonim`,"author-unknown":`Bilinmeyen`,"action-bar-action":{"visit-home-page":`Ana sayfayı ziyaret et`,"open-an-issue":`Sorunları aç`,"download-tarball":`Arşivi indir`,raw:`View manifest`,"raw-title":`Manifest of {{package}}`},dialog:_f,header:vf,search:yf,autoComplete:bf,tab:xf,uplinks:Sf,versions:Cf,package:{"published-on":`Published {{time}}`,version:`v{{version}}`,"visit-home-page":`Ana sayfayı ziyaret et`,homepage:`Ana sayfa`,"open-an-issue":`Sorunları aç`,bugs:`Hatalar`,download:`İndir {{what}}`,"the-tar-file":`arşiv dosyası`,tarball:`Arşiv`},dependencies:wf,form:Tf,"form-placeholder":{username:`Kullanıcı adınız`,password:`Parolanız`},"form-validation":{"required-field":`Bu alan gereklidir`,"required-min-length":`This field required with a minimum length of {{length}}`,"unable-to-sign-in":`Oturum açılamıyor`,"username-or-password-cant-be-empty":`Kullanıcı adı veya parola boş olamaz!`},help:Ef,sidebar:Df,footer:Of,button:kf,error:Af,lng:jf,flag:Mf,packageManagers:Nf,language:Pf},If={"registry-info":{title:`Information`},settings:{title:`Cấu hình`},license:`License`,totalContributors:`Total contributors`},Lf={documentation:`Documentation`,"registry-info":`Registry Information`,"registry-info-link":`Learn more`,settings:`Settings`,help:`Trợ giúp`,"registry-no-conf":`No configurations available`,greetings:`Hi `},Rf={packages:`Search Packages`,isPrivate:`Private`,isRemote:`Remote`,isCached:`Cached`},zf={loading:`Loading...`,"no-results-found":`No results found`,clear:`Clear`,expand:`Expand`,collapse:`Collapse`},Bf={uplinks:`Uplinks`,versions:`Phiên bản`,dependencies:`Dependencies`,readme:`Readme`},Vf={title:`Uplinks`,"no-items":`{{name}} has no uplinks.`},Hf={"current-tags":`Current Tags`,"version-history":`Version History`,"not-available":`Not available`,deprecated:`Deprecated`,"search.placeholder":`Search for a version by semver range, e.g., ^1.0.0.`,"hide-deprecated":`All deprecated versions are hidden by global configuration`},Uf={"has-no-dependencies":`{{package}} has no dependencies.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},Wf={username:`Username`,password:`Password`},Gf={title:`No Package Published Yet.`,"sub-title":`To publish your first package just:`,"first-step":`1. Create user`,"first-step-command-line":`npm adduser --registry {{registryUrl}}`,"second-step":`2. Publish`,"second-step-command-line":`npm publish --registry {{registryUrl}}`,"third-step":`3. Refresh this page`},Kf={detail:{"latest-version":`Latest v{{version}}`,version:`v{{version}}`,published:`Published`},installation:{title:`Installation`,latest:`phiên bản mới nhất`,global:`global package`,yarnModern:`yarn modern syntax`},repository:{title:`Repository`},author:{title:`Author`},distribution:{title:`Distribution`,license:`License`,size:`Size`,"file-count":`File Count`},keywords:{title:`Keywords`},maintainers:{title:`Maintainers`},contributors:{title:`Contributors`},engines:{"npm-version":`Npm Version`,"pnpm-version":`Pnpm Version`,"yarn-version":`Yarn Version`,"node-js":`Node.js`}},qf={"powered-by":`Powered by`,"made-with-love-on":`Made with <0>♥</0> on`},Jf={close:`Đóng`,cancel:`Cancel`,login:`Login`,logout:`Logout`,"go-to-the-home-page":`Go to the home page`,"learn-more":`Learn More`,"fund-this-package":`<0>Fund</0> this package`},Yf={unspecific:`Something went wrong.`,404:{"sorry-we-could-not-find-it":`Sorry, we couldn't find it...`},401:{"sorry-no-access":`Sorry, you need credentials access to see this page.`},"app-context-not-correct-used":`The app context was not used correctly`,"theme-context-not-correct-used":`The theme context was not used correctly`,"package-meta-is-required-at-detail-context":`packageMeta is required at DetailContext`},Xf={english:`English`,czech:`Czech`,japanese:`Japanese`,portuguese:`Portuguese`,spanish:`Spanish`,irish:`Irish`,german:`German`,italian:`Italian`,french:`French`,russian:`Russian`,turkish:`Turkish`,ukraine:`Ukraine`,khmer:`Khmer`,chinese:`Chinese Simplified`,chineseTraditional:`Chinese Traditional`},Zf={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},Qf={title:`Package Managers`,description:`This is the configuration details for the registry. Each package manager could have different configuration, expand each section for more details. If the section is disable review your configuration.`,yarnclassicDetails:`Yarn classic configuration differs from Yarn 2+ configuration. For more details, please visit [Yarn Classic](https://verdaccio.org/docs/cli-registry#yarn-1x).`,yarnBerryDetails:"Yarn Berry does not support the `--registry` flag, instead all configurarion should be defined on the `yarnrc.yaml` file in the root of your project. For more details, please visit [Yarn Berry](https://verdaccio.org/docs/cli-registry#yarn-berry-2x)."},$f={title:`Translations`,contribute:`If your language is not listed here or is not fully translated, please contribute to the translation. You can find the source code on [our main repository](https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md)`,description:`This is the configuration details for the language. Select a language to select a client side translation.`},ep={"copy-to-clipboard":`Copy to clipboard`,"author-anonymous":`Anonymous`,"author-unknown":`Unknown`,"action-bar-action":{"visit-home-page":`Visit homepage`,"open-an-issue":`Open an issue`,"download-tarball":`Download tarball`,raw:`View manifest`,"raw-title":`Manifest of {{package}}`},dialog:If,header:Lf,search:Rf,autoComplete:zf,tab:Bf,uplinks:Vf,versions:Hf,package:{"published-on":`Published {{time}}`,version:`v{{version}}`,"visit-home-page":`Visit homepage`,homepage:`Homepage`,"open-an-issue":`Open an issue`,bugs:`Bugs`,download:`Download {{what}}`,"the-tar-file":`the tar file`,tarball:`Tarball`},dependencies:Uf,form:Wf,"form-placeholder":{username:`Your username`,password:`Your strong password`},"form-validation":{"required-field":`This field is required`,"required-min-length":`This field required with a minimum length of {{length}}`,"unable-to-sign-in":`Unable to sign in`,"username-or-password-cant-be-empty":`Username or password can't be empty!`},help:Gf,sidebar:Kf,footer:qf,button:Jf,error:Yf,lng:Xf,flag:Zf,packageManagers:Qf,language:$f},tp={"registry-info":{title:`Information`},settings:{title:`Configuration`},license:`License`,totalContributors:`Total contributors`},np={documentation:`Documentation`,"registry-info":`Registry Information`,"registry-info-link":`Learn more`,settings:`Settings`,help:`Help`,"registry-no-conf":`No configurations available`,greetings:`Hi `},rp={packages:`Search Packages`,isPrivate:`Private`,isRemote:`Remote`,isCached:`Cached`},ip={loading:`Loading...`,"no-results-found":`No results found`,clear:`Clear`,expand:`Expand`,collapse:`Collapse`},ap={uplinks:`Uplinks`,versions:`Versions`,dependencies:`Dependencies`,readme:`Readme`},op={title:`Uplinks`,"no-items":`{{name}} has no uplinks.`},sp={"current-tags":`Current Tags`,"version-history":`Version History`,"not-available":`Not available`,deprecated:`Deprecated`,"search.placeholder":`Search for a version by semver range, e.g., ^1.0.0.`,"hide-deprecated":`All deprecated versions are hidden by global configuration`},cp={"has-no-dependencies":`{{package}} has no dependencies.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},lp={username:`Username`,password:`Password`},up={title:`No Package Published Yet.`,"sub-title":`To publish your first package just:`,"first-step":`1. Create user`,"first-step-command-line":`npm adduser --registry {{registryUrl}}`,"second-step":`2. Publish`,"second-step-command-line":`npm publish --registry {{registryUrl}}`,"third-step":`3. Refresh this page`},dp={detail:{"latest-version":`Latest v{{version}}`,version:`v{{version}}`,published:`Published`},installation:{title:`Ifi sori ẹrọ`,latest:`latest version`,global:`global package`,yarnModern:`yarn modern syntax`},repository:{title:`Repository`},author:{title:`Author`},distribution:{title:`Distribution`,license:`License`,size:`Size`,"file-count":`File Count`},keywords:{title:`Keywords`},maintainers:{title:`Maintainers`},contributors:{title:`Contributors`},engines:{"npm-version":`Npm Version`,"pnpm-version":`Pnpm Version`,"yarn-version":`Yarn Version`,"node-js":`Node.js`}},fp={"powered-by":`Powered by`,"made-with-love-on":`Made with <0>♥</0> on`},pp={close:`Close`,cancel:`Cancel`,login:`Login`,logout:`Logout`,"go-to-the-home-page":`Go to the home page`,"learn-more":`Learn More`,"fund-this-package":`<0>Fund</0> this package`},mp={unspecific:`Something went wrong.`,404:{"sorry-we-could-not-find-it":`Sorry, we couldn't find it...`},401:{"sorry-no-access":`Sorry, you need credentials access to see this page.`},"app-context-not-correct-used":`The app context was not used correctly`,"theme-context-not-correct-used":`The theme context was not used correctly`,"package-meta-is-required-at-detail-context":`packageMeta is required at DetailContext`},hp={english:`Gẹẹsi`,czech:`Czech`,japanese:`Japanisi`,portuguese:`Portuguese`,spanish:`Sipanisi`,irish:`Irish`,german:`Jamani`,italian:`Italian`,french:`Faranse`,russian:`Russian`,turkish:`Turkish`,ukraine:`Ukraine`,khmer:`Khmer`,chinese:`Chinese Simplified`,chineseTraditional:`Chinese Traditional`},gp={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},_p={title:`Package Managers`,description:`This is the configuration details for the registry. Each package manager could have different configuration, expand each section for more details. If the section is disable review your configuration.`,yarnclassicDetails:`Yarn classic configuration differs from Yarn 2+ configuration. For more details, please visit [Yarn Classic](https://verdaccio.org/docs/cli-registry#yarn-1x).`,yarnBerryDetails:"Yarn Berry does not support the `--registry` flag, instead all configurarion should be defined on the `yarnrc.yaml` file in the root of your project. For more details, please visit [Yarn Berry](https://verdaccio.org/docs/cli-registry#yarn-berry-2x)."},vp={title:`Translations`,contribute:`If your language is not listed here or is not fully translated, please contribute to the translation. You can find the source code on [our main repository](https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md)`,description:`This is the configuration details for the language. Select a language to select a client side translation.`},yp={"copy-to-clipboard":`Copy to clipboard`,"author-anonymous":`Anonymous`,"author-unknown":`Unknown`,"action-bar-action":{"visit-home-page":`Visit homepage`,"open-an-issue":`Open an issue`,"download-tarball":`Download tarball`,raw:`View manifest`,"raw-title":`Manifest of {{package}}`},dialog:tp,header:np,search:rp,autoComplete:ip,tab:ap,uplinks:op,versions:sp,package:{"published-on":`Published {{time}}`,version:`v{{version}}`,"visit-home-page":`Visit homepage`,homepage:`Homepage`,"open-an-issue":`Open an issue`,bugs:`Bugs`,download:`Download {{what}}`,"the-tar-file":`the tar file`,tarball:`Tarball`},dependencies:cp,form:lp,"form-placeholder":{username:`Your username`,password:`Your strong password`},"form-validation":{"required-field":`This field is required`,"required-min-length":`This field required with a minimum length of {{length}}`,"unable-to-sign-in":`Unable to sign in`,"username-or-password-cant-be-empty":`Username or password can't be empty!`},help:up,sidebar:dp,footer:fp,button:pp,error:mp,lng:hp,flag:gp,packageManagers:_p,language:vp},bp={"registry-info":{title:`信息`},settings:{title:`配置`},license:`许可`,totalContributors:`贡献者总数`},xp={documentation:`文档`,"registry-info":`Registry 信息`,"registry-info-link":`了解更多`,settings:`设置`,help:`帮助`,"registry-no-conf":`沒有可用的配置`,greetings:`您好 `},Sp={packages:`搜索软件包`,isPrivate:`私有性`,isRemote:`远端`,isCached:`已缓存`},Cp={loading:`加载中...`,"no-results-found":`没有找到结果`,clear:`清除`,expand:`展开`,collapse:`折叠`},wp={uplinks:`上游链接`,versions:`版本`,dependencies:`依赖`,readme:`Readme`},Tp={title:`上游链接`,"no-items":`{{name}} 无上游链接。`},Ep={"current-tags":`当前标签`,"version-history":`版本历史`,"not-available":`不可用`,deprecated:`已弃用`,"search.placeholder":`按版本范围搜索,例如:^1.0.0。`,"hide-deprecated":`通过全局配置隐藏所有过时的版本`},Dp={"has-no-dependencies":`{{package}} 没有依赖包。`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},Op={username:`用户名`,password:`密码`},kp={title:`尚无软件包发布。`,"sub-title":`要发布你的首个包,只需:`,"first-step":`1. 创建用户`,"first-step-command-line":`npm adduser --registry {{registryUrl}}`,"second-step":`2. 发布`,"second-step-command-line":`npm publish --registry {{registryUrl}}`,"third-step":`3. 刷新当前页面`},Ap={detail:{"latest-version":`最新版本 v{{version}}`,version:`v{{version}}`,published:`发布`},installation:{title:`安装`,latest:`最新版本`,global:`全局软件包`,yarnModern:`yarn 现代语法`},repository:{title:`仓库`},author:{title:`作者`},distribution:{title:`分发`,license:`许可`,size:`大小`,"file-count":`文件数量`},keywords:{title:`关键词`},maintainers:{title:`维护者`},contributors:{title:`贡献者`},engines:{"npm-version":`Npm 版本`,"pnpm-version":`Pnpm 版本`,"yarn-version":`Yarn 版本`,"node-js":`Node.js`}},jp={"powered-by":`Powered by`,"made-with-love-on":`用<0>♥</0>制作,来自`},Mp={close:`关闭`,cancel:`取消`,login:`登录`,logout:`注销`,"go-to-the-home-page":`跳转到主页`,"learn-more":`了解更多`,"fund-this-package":`<0>捐助</0>此软件包`},Np={unspecific:`发生了一些错误。`,404:{"sorry-we-could-not-find-it":`对不起,请求内容未找到……`},401:{"sorry-no-access":`抱歉,您需要凭据才能查看此页面。`},"app-context-not-correct-used":`未正确使用应用上下文`,"theme-context-not-correct-used":`未正确使用主题上下文`,"package-meta-is-required-at-detail-context":`packageMeta 在 DetailContext 中是必需的`},Pp={english:`英语`,czech:`捷克语`,japanese:`日语`,portuguese:`葡萄牙语`,spanish:`西班牙语`,irish:`爱尔兰语`,german:`德语`,italian:`意大利语`,french:`法语`,russian:`俄语`,turkish:`土耳其语`,ukraine:`乌克兰语`,khmer:`柬埔寨语`,chinese:`中文简体`,chineseTraditional:`中文繁体`},Fp={austria:`奥地利`,australia:`澳大利亚`,brazil:`巴西`,canada:`加拿大`,spain:`西班牙`,nicaragua:`尼加拉瓜`,india:`印度`,china:`中国`,germany:`德国`,taiwan:`台湾`},Ip={title:`包管理器`,description:`下面是配置 registry 的详细说明。每个包管理器有不同的配置,展开每项了解更多细节。如果某一项是禁用的,请检查你的配置。`,yarnclassicDetails:`Yarn 经典版本的配置不同于 Yarn 2+。如需了解更多,请访问 [Yarn 经典版本](https://verdaccio.org/docs/cli-registry#yarn-1x)。`,yarnBerryDetails:"Yarn Berry 不支持 `--registry` 这个参数,而是所有的配置需要定义在项目根目录下的 `yarnrc.yaml` 文件里。如需了解更多,请访问 [Yarn Berry](https://verdaccio.org/docs/cli-registry#yarn-berry-2x)。"},Lp={title:`翻译`,contribute:`如果你的语言未在此列出,或者未完全翻译,请一起来协助翻译吧。你可以在[我们的主源码仓库](https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md)找到源码。`,description:`下方是所有可选择的语言,请选择一种语言来应用页面翻译。`},Rp={"copy-to-clipboard":`复制到剪贴板`,"author-anonymous":`匿名`,"author-unknown":`未知`,"action-bar-action":{"visit-home-page":`访问主页`,"open-an-issue":`提交问题`,"download-tarball":`下载压缩包`,raw:`查看 Manifest`,"raw-title":`{{package}} 的 Manifest`},dialog:bp,header:xp,search:Sp,autoComplete:Cp,tab:wp,uplinks:Tp,versions:Ep,package:{"published-on":`发布于 {{time}}`,version:`v{{version}}`,"visit-home-page":`访问主页`,homepage:`主页`,"open-an-issue":`提交问题`,bugs:`缺陷`,download:`下载 {{what}}`,"the-tar-file":`tar 文件`,tarball:`压缩包`},dependencies:Dp,form:Op,"form-placeholder":{username:`你的用户名`,password:`尽可能健壮的密码`},"form-validation":{"required-field":`必填项`,"required-min-length":`这个字段的最小长度是 {{length}}`,"unable-to-sign-in":`无法登录`,"username-or-password-cant-be-empty":`用户名或密码不能为空!`},help:kp,sidebar:Ap,footer:jp,button:Mp,error:Np,lng:Pp,flag:Fp,packageManagers:Ip,language:Lp},zp={"registry-info":{title:`Information`},settings:{title:`設定檔案`},license:`許可`,totalContributors:`Total contributors`},Bp={documentation:`文件`,"registry-info":`註冊資訊`,"registry-info-link":`了解更多`,settings:`Settings`,help:`幫助`,"registry-no-conf":`沒有可用設定`,greetings:`你好 `},Vp={packages:`找尋套件`,isPrivate:`私有的`,isRemote:`遠端`,isCached:`已暫存。`},Hp={loading:`載入中...`,"no-results-found":`無結果`,clear:`清除`,expand:`展開`,collapse:`收縮`},Up={uplinks:`上行連結`,versions:`版本`,dependencies:`相依`,readme:`Readme`},Wp={title:`上行連結`,"no-items":`{{name}} 沒有上游連結。`},Gp={"current-tags":`當前標籤`,"version-history":`Version History`,"not-available":`無法取得`,deprecated:`Deprecated`,"search.placeholder":`Search for a version by semver range, e.g., ^1.0.0.`,"hide-deprecated":`All deprecated versions are hidden by global configuration`},Kp={"has-no-dependencies":`{{package}} 沒有相依套件.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},qp={username:`使用者名稱`,password:`密碼`},Jp={title:`尚未發布任何 Npm 套件.`,"sub-title":`發布第一個 NPM 套件:`,"first-step":`1. Create user`,"first-step-command-line":`npm adduser --registry {{registryUrl}}`,"second-step":`2. 發布`,"second-step-command-line":`npm publish --registry {{registryUrl}}`,"third-step":`3. 重新整理頁面。`},Yp={detail:{"latest-version":`最新版本 v{{version}}`,version:`v{{version}}`,published:`Published`},installation:{title:`安装`,latest:`最新版本`,global:`global package`,yarnModern:`yarn modern syntax`},repository:{title:`儲存庫`},author:{title:`作者`},distribution:{title:`Distribution`,license:`許可`,size:`大小`,"file-count":`File Count`},keywords:{title:`Keywords`},maintainers:{title:`維護人員`},contributors:{title:`貢獻人員`},engines:{"npm-version":`Npm Version`,"pnpm-version":`Pnpm Version`,"yarn-version":`Yarn Version`,"node-js":`Node.js`}},Xp={"powered-by":`Powered by`,"made-with-love-on":`用 <0>♥</0> 製作`},Zp={close:`關閉`,cancel:`取消`,login:`登入`,logout:`登出`,"go-to-the-home-page":`前往首頁`,"learn-more":`了解更多`,"fund-this-package":`<0>贊助</0> 這個套件`},Qp={unspecific:`發生錯誤。`,404:{"sorry-we-could-not-find-it":`不好意思, 找不到...`},401:{"sorry-no-access":`Sorry, you need credentials access to see this page.`},"app-context-not-correct-used":`The app context was not used correctly`,"theme-context-not-correct-used":`The theme context was not used correctly`,"package-meta-is-required-at-detail-context":`packageMeta is required at DetailContext`},$p={english:`English`,czech:`Czech`,japanese:`日語`,portuguese:`Portuguese`,spanish:`西班牙語`,irish:`Irish`,german:`德語`,italian:`Italian`,french:`法語`,russian:`Russian`,turkish:`Turkish`,ukraine:`Ukraine`,khmer:`Khmer`,chinese:`Chinese Simplified`,chineseTraditional:`Chinese Traditional`},em={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},tm={title:`套件管理器`,description:`此為本套件管理庫的詳細設定檔案。每個套件管理器都可以有不同的設定檔案,展開每一個區塊以獲得更多資訊。若區塊無法展開,請檢視您的設定檔案。`,yarnclassicDetails:`Yarn classic 設定檔與 Yarn 2+ 設定檔有些許不同。需要更多詳細資訊請點擊:[Yarn Classic](https://verdaccio.org/docs/cli-registry#yarn-1x)。`,yarnBerryDetails:"Yarn Berry does not support the `--registry` flag, instead all configurarion should be defined on the `yarnrc.yaml` file in the root of your project. For more details, please visit [Yarn Berry](https://verdaccio.org/docs/cli-registry#yarn-berry-2x)."},nm={title:`翻譯`,contribute:`如果你的語言並沒有被陳列在這裡,或沒有被完整的翻譯,請踴躍貢獻您的翻譯。您可以在 [我們的 Repository](https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md)找到原始碼。`,description:`這邊是語言設定檔案,結果將顯示在您的應用程式介面上。`},rm={"copy-to-clipboard":`複製到剪貼簿`,"author-anonymous":`匿名`,"author-unknown":`未知`,"action-bar-action":{"visit-home-page":`瀏覽首頁`,"open-an-issue":`提交問題`,"download-tarball":`下載 tarball`,raw:`View manifest`,"raw-title":`Manifest of {{package}}`},dialog:zp,header:Bp,search:Vp,autoComplete:Hp,tab:Up,uplinks:Wp,versions:Gp,package:{"published-on":`Published {{time}}`,version:`v{{version}}`,"visit-home-page":`瀏覽首頁`,homepage:`首頁`,"open-an-issue":`提交問題`,bugs:`漏洞`,download:`下载 {{what}}`,"the-tar-file":`tar 檔案`,tarball:`壓縮檔`},dependencies:Kp,form:qp,"form-placeholder":{username:`你的使用者名稱`,password:`你的密碼`},"form-validation":{"required-field":`必填欄位`,"required-min-length":`This field required with a minimum length of {{length}}`,"unable-to-sign-in":`無法登入`,"username-or-password-cant-be-empty":`使用者名稱或密碼不可空白`},help:Jp,sidebar:Yp,footer:Xp,button:Zp,error:Qp,lng:$p,flag:em,packageManagers:tm,language:nm},im={"registry-info":{title:`Information`},settings:{title:`Configuration`},license:`License`,totalContributors:`Total contributors`},am={documentation:`Documentation`,"registry-info":`Registry Information`,"registry-info-link":`Learn more`,settings:`Settings`,help:`Help`,"registry-no-conf":`No configurations available`,greetings:`Hi `},om={packages:`Search Packages`,isPrivate:`Private`,isRemote:`Remote`,isCached:`Cached`},sm={loading:`Loading...`,"no-results-found":`No results found`,clear:`Clear`,expand:`Expand`,collapse:`Collapse`},cm={uplinks:`Uplinks`,versions:`Versions`,dependencies:`Dependencies`,readme:`Readme`},lm={title:`Uplinks`,"no-items":`{{name}} has no uplinks.`},um={"current-tags":`Current Tags`,"version-history":`Version History`,"not-available":`Not available`,deprecated:`Deprecated`,"search.placeholder":`Search for a version by semver range, e.g., ^1.0.0.`,"hide-deprecated":`All deprecated versions are hidden by global configuration`},dm={"has-no-dependencies":`{{package}} has no dependencies.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},fm={username:`Username`,password:`Password`},pm={title:`No Package Published Yet.`,"sub-title":`To publish your first package just:`,"first-step":`1. Create user`,"first-step-command-line":`npm adduser --registry {{registryUrl}}`,"second-step":`2. Publish`,"second-step-command-line":`npm publish --registry {{registryUrl}}`,"third-step":`3. Refresh this page`},mm={detail:{"latest-version":`Latest v{{version}}`,version:`v{{version}}`,published:`Published`},installation:{title:`Installation`,latest:`latest version`,global:`global package`,yarnModern:`yarn modern syntax`},repository:{title:`Repository`},author:{title:`Author`},distribution:{title:`Distribution`,license:`License`,size:`Size`,"file-count":`File Count`},keywords:{title:`Keywords`},maintainers:{title:`Maintainers`},contributors:{title:`Contributors`},engines:{"npm-version":`Npm Version`,"pnpm-version":`Pnpm Version`,"yarn-version":`Yarn Version`,"node-js":`Node.js`}},hm={"powered-by":`Powered by`,"made-with-love-on":`Made with <0>♥</0> on`},gm={close:`Close`,cancel:`Cancel`,login:`Login`,logout:`Logout`,"go-to-the-home-page":`Go to the home page`,"learn-more":`Learn More`,"fund-this-package":`<0>Fund</0> this package`},_m={unspecific:`Something went wrong.`,404:{"sorry-we-could-not-find-it":`Sorry, we couldn't find it...`},401:{"sorry-no-access":`Sorry, you need credentials access to see this page.`},"app-context-not-correct-used":`The app context was not used correctly`,"theme-context-not-correct-used":`The theme context was not used correctly`,"package-meta-is-required-at-detail-context":`packageMeta is required at DetailContext`},vm={english:`English`,czech:`Czech`,japanese:`Japanese`,portuguese:`Portuguese`,spanish:`Spanish`,irish:`Irish`,german:`German`,italian:`Italian`,french:`French`,russian:`Russian`,turkish:`Turkish`,ukraine:`Ukraine`,khmer:`Khmer`,chinese:`Chinese Simplified`,chineseTraditional:`Chinese Traditional`},ym={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},bm={title:`Package Managers`,description:`This is the configuration details for the registry. Each package manager could have different configuration, expand each section for more details. If the section is disable review your configuration.`,yarnclassicDetails:`Yarn classic configuration differs from Yarn 2+ configuration. For more details, please visit [Yarn Classic](https://verdaccio.org/docs/cli-registry#yarn-1x).`,yarnBerryDetails:"Yarn Berry does not support the `--registry` flag, instead all configurarion should be defined on the `yarnrc.yaml` file in the root of your project. For more details, please visit [Yarn Berry](https://verdaccio.org/docs/cli-registry#yarn-berry-2x)."},xm={title:`Translations`,contribute:`If your language is not listed here or is not fully translated, please contribute to the translation. You can find the source code on [our main repository](https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md)`,description:`This is the configuration details for the language. Select a language to select a client side translation.`},Sm={"copy-to-clipboard":`Copy to clipboard`,"author-anonymous":`Anonymous`,"author-unknown":`Unknown`,"action-bar-action":{"visit-home-page":`Visit homepage`,"open-an-issue":`Open an issue`,"download-tarball":`Download tarball`,raw:`View manifest`,"raw-title":`Manifest of {{package}}`},dialog:im,header:am,search:om,autoComplete:sm,tab:cm,uplinks:lm,versions:um,package:{"published-on":`Published {{time}}`,version:`v{{version}}`,"visit-home-page":`Visit homepage`,homepage:`Homepage`,"open-an-issue":`Open an issue`,bugs:`Bugs`,download:`Download {{what}}`,"the-tar-file":`the tar file`,tarball:`Tarball`},dependencies:dm,form:fm,"form-placeholder":{username:`Your username`,password:`Your strong password`},"form-validation":{"required-field":`This field is required`,"required-min-length":`This field required with a minimum length of {{length}}`,"unable-to-sign-in":`Unable to sign in`,"username-or-password-cant-be-empty":`Username or password can't be empty!`},help:pm,sidebar:mm,footer:hm,button:gm,error:_m,lng:vm,flag:ym,packageManagers:bm,language:xm},Cm=Object.assign({"./download_translations/cs-CZ/ui.json":Sc,"./download_translations/de-DE/ui.json":Vc,"./download_translations/es-ES/ui.json":ol,"./download_translations/fr-FR/ui.json":Tl,"./download_translations/ga-IE/ui.json":Wl,"./download_translations/gl-ES/ui.json":lu,"./download_translations/it-IT/ui.json":Ou,"./download_translations/ko-KR/ui.json":qu,"./download_translations/pl-PL/ui.json":fd,"./download_translations/pt-BR/ui.json":jd,"./download_translations/ru-RU/ui.json":Xd,"./download_translations/sr-CS/ui.json":gf,"./download_translations/tr-TR/ui.json":Ff,"./download_translations/vi-VN/ui.json":ep,"./download_translations/yo-NG/ui.json":yp,"./download_translations/zh-CN/ui.json":Rp,"./download_translations/zh-TW/ui.json":rm});function wm(e){return e===`en-US`?Sm:Cm[`./download_translations/${e}/ui.json`]??Sm}var Tm=`en-US`,Em=[{lng:Tm,icon:pt,menuKey:`lng.english`},{lng:`cs-CZ`,icon:Gt,menuKey:`lng.czech`},{lng:`pt-BR`,icon:Ye,menuKey:`lng.portuguese`},{lng:`es-ES`,icon:Ht,menuKey:`lng.spanish`},{lng:`ga-IE`,icon:u,menuKey:`lng.irish`},{lng:`de-DE`,icon:$e,menuKey:`lng.german`},{lng:`it-IT`,icon:Bt,menuKey:`lng.italian`},{lng:`fr-FR`,icon:Oe,menuKey:`lng.french`},{lng:`ja-JP`,icon:je,menuKey:`lng.japanese`},{lng:`ru-RU`,icon:p,menuKey:`lng.russian`},{lng:`tr-TR`,icon:ve,menuKey:`lng.turkish`},{lng:`uk-UA`,icon:i,menuKey:`lng.ukraine`},{lng:`km-KH`,icon:g,menuKey:`lng.khmer`},{lng:`zh-CN`,icon:Rt,menuKey:`lng.chinese`},{lng:`zh-TW`,icon:ht,menuKey:`lng.chineseTraditional`}],Dm=Em.reduce((e,t)=>(e.push(t.lng),e),[]),Om=Em.reduce((e,t)=>(e[t.lng]={translation:t.lng===`en-US`?wm(Tm):wm(t.lng)},e),{});st.use(lt).init({lng:window?.__VERDACCIO_BASENAME_UI_OPTIONS?.language||`en-US`,fallbackLng:Tm,whitelist:[...Dm],load:`currentOnly`,react:{useSuspense:!1},resources:Om,debug:!1,interpolation:{escapeValue:!1}});var km=st,$=e(Et());function Am(){let e=st.options.fallbackLng;if(Array.isArray(e))return e[0];if(typeof e==`string`)return e}async function jm(){let t=Am();switch((st.language||t)?.toLowerCase()){case`pt-br`:await M(()=>import(`./vendors.DzxewqGz.js`).then(t=>e(t.o())),__vite__mapDeps([1,2,3])),$.default.locale(`pt-br`);break;case`de-de`:await M(()=>import(`./vendors.DzxewqGz.js`).then(t=>e(t.d())),__vite__mapDeps([1,2,3])),$.default.locale(`de`);break;case`es-es`:await M(()=>import(`./vendors.DzxewqGz.js`).then(t=>e(t.l())),__vite__mapDeps([1,2,3])),$.default.locale(`es`);break;case`fr-fr`:await M(()=>import(`./vendors.DzxewqGz.js`).then(t=>e(t.c())),__vite__mapDeps([1,2,3])),$.default.locale(`fr`);break;case`zh-cn`:await M(()=>import(`./vendors.DzxewqGz.js`).then(t=>e(t.n())),__vite__mapDeps([1,2,3])),$.default.locale(`zh-cn`);break;case`ja-jp`:await M(()=>import(`./vendors.DzxewqGz.js`).then(t=>e(t.s())),__vite__mapDeps([1,2,3])),$.default.locale(`ja`);break;case`ru-ru`:await M(()=>import(`./vendors.DzxewqGz.js`).then(t=>e(t.a())),__vite__mapDeps([1,2,3])),$.default.locale(`ru`);break;case`tr-tr`:await M(()=>import(`./vendors.DzxewqGz.js`).then(t=>e(t.i())),__vite__mapDeps([1,2,3])),$.default.locale(`tr`);break;case`uk-ua`:await M(()=>import(`./vendors.DzxewqGz.js`).then(t=>e(t.r())),__vite__mapDeps([1,2,3])),$.default.locale(`uk`);break;case`zh-tw`:await M(()=>import(`./vendors.DzxewqGz.js`).then(t=>e(t.t())),__vite__mapDeps([1,2,3])),$.default.locale(`zh-tw`);break;case`cs-cz`:await M(()=>import(`./vendors.DzxewqGz.js`).then(t=>e(t.f())),__vite__mapDeps([1,2,3])),$.default.locale(`cs`);break;default:await M(()=>import(`./vendors.DzxewqGz.js`).then(t=>e(t.u())),__vite__mapDeps([1,2,3])),$.default.locale(`en`);break}}var Mm=b(A)(({theme:e})=>({backgroundColor:e.palette.background.default})),Nm=b(A)({[`@media screen and (min-width: ${ri.container}px)`]:{maxWidth:ri.container,width:`100%`,marginLeft:`auto`,marginRight:`auto`}}),Pm=b(`span`)(()=>({width:`25px`}));function Fm({onCloseDialog:e,title:t,isOpen:n}){let{t:r}=bt();return(0,W.jsx)(Oa,{dialogTitle:t,isOpen:n,onCloseDialog:e,tabPanels:[{element:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(y,{children:nc}),(0,W.jsx)(Qs,{})]})},{element:(0,W.jsx)(y,{children:rc})},{element:(0,W.jsx)(tc,{})}],tabs:[{label:r(`about`)},{label:r(`dialog.license`)},{label:``,icon:(0,W.jsx)(Pm,{children:(0,W.jsx)(i,{})})}]})}var Im=()=>{let{configOptions:e}=B(),t=Dt(),n=[R.LOGIN,R.SUCCESS,R.ADD_USER,R.CHANGE_PASSWORD].includes(t.pathname);return(0,U.useEffect)(()=>{jm()},[]),(0,W.jsxs)(Mm,{display:`flex`,flexDirection:`column`,height:`100%`,children:[(0,W.jsx)(mn,{children:(0,W.jsx)(hs,{HeaderInfoDialog:Fm,isPlainHeader:n})}),(0,W.jsx)(Nm,{flexGrow:1,children:(0,W.jsx)(_o,{})}),e.showFooter&&(0,W.jsx)(Cs,{})]})},Lm=window?.__VERDACCIO_BASENAME_UI_OPTIONS?.url_prefix,Rm=()=>(0,W.jsx)(U.StrictMode,{children:(0,W.jsx)(co,{children:(0,W.jsx)(bn,{i18n:km,listLanguages:Em,onMount:()=>jm,children:(0,W.jsx)(U.Suspense,{fallback:(0,W.jsx)(Pa,{}),children:(0,W.jsx)(tt,{basename:Lm,children:(0,W.jsx)(Im,{})})})})})}),zm=document.getElementById(`root`);if(!zm)throw Error(`Root container missing`);(0,Mn.createRoot)(zm).render((0,W.jsx)(()=>(0,W.jsx)(co,{children:(0,W.jsx)(cn,{children:(0,W.jsxs)(ci,{children:[(0,W.jsx)(Ys,{}),(0,W.jsx)(On,{children:(0,W.jsx)(Sn,{children:(0,W.jsx)(Rm,{})})})]})})}),{}));export{Us as a,Ws as i,Ks as n,Vs as o,Gs as r,qs as t};
50
+
51
+ //# sourceMappingURL=data:application/json;base64,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QUNHLEdBQUQsRUFBTyxFQUNNLEVBQ1ksRUFDZixHQUNTLEVBQ2IsRUFHTixFQUFnQixFQUFDIiwibmFtZXMiOlsiV3JhcHBlciIsIl9zdHlsZWQiLCJDb250ZW50IiwiRmlsZUNvcHkiLCJSZWFjdEpzb25WaWV3TW9kdWxlLmRlZmF1bHQiLCJSZWFjdEpzb25WaWV3TW9kdWxlIiwiQ2xvc2VJY29uIiwiRmFiIiwiRmFiTVVJIiwiSG9tZUljb24iLCJCdWdSZXBvcnQiLCJEb3dubG9hZEljb24iLCJSYXdPbkljb24iLCJpMThuZXh0IiwiRnJhZ21lbnQiLCJTdHlsZWRUZXh0IiwiQXV0aG9yIiwiTGlzdCIsIlRpdGxlIiwiU3R5bGVkQm94IiwiQWRkIiwiTWF0ZXJpYWxVSVN2Z0ljb24iLCJWZXJzaW9uIiwiRmF2b3JpdGUiLCJTZXR0aW5ncyIsIk1hdGVyaWFsVUlNZW51SXRlbSIsIkNoZWNrIiwiTWFya2VkIiwiaGxqcyIsIkRPTVB1cmlmeSIsIkljb24iLCJTdHlsZWRIZWFkaW5nIiwiQ29udGFpbmVyIiwiRm9sZGVyT2ZmSWNvbiIsIkxvY2tJY29uIiwiU3R5bGVkSWNvbkJ1dHRvbiIsIkxvY2tPdXRsaW5lZCIsIkVycm9yIiwiU3R5bGVkVGV4dEZpZWxkIiwiUm91dGUiLCJ5dXAuc3RyaW5nIiwieXVwLm9iamVjdCIsInl1cC5yZWYiLCJ5dXBSZXNvbHZlciIsIkRlc2NyaXB0aW9uIiwiSHR0cHNJY29uIiwiU3luY0FsdCIsIkNhY2hlZCIsIlNlYXJjaE11aSIsImExMXlQcm9wcyIsIlRhYlBhbmVsIiwiTGluayIsIkF2YXRhciIsImZvcm1hdERhdGUiLCJmb3JtYXREYXRlRGlzdGFuY2UiLCJJY29uQnV0dG9uIiwiRnJhZ21lbnQkMSIsIkNlbGxNZWFzdXJlckNhY2hlIiwiQ2VsbE1lYXN1cmVyIiwiV2luZG93U2Nyb2xsZXIiLCJBdXRvU2l6ZXIiLCJDb21wb25lbnQiLCJMb2dpbiIsIlN1Y2Nlc3MiLCJBZGRVc2VyIiwiQ2hhbmdlUGFzc3dvcmQiLCJUYWJQb3NpdGlvbiIsIkFjY291bnRDaXJjbGUiLCJJbmZvIiwiTmlnaHRzU3RheSIsIldiU3VubnkiLCJUZXh0Q29udGVudCIsIkV4cGFuZE1vcmVJY29uIiwiUmVhY3RNYXJrZG93biIsIkZsYWdzIiwiRmxhZ3NJY29uLkVTIiwiRmxhZ3NJY29uLk5JIiwiRmxhZ3NJY29uLklOIiwiRmxhZ3NJY29uLkJSIiwiRmxhZ3NJY29uLkNOIiwiRmxhZ3NJY29uLkFVIiwiRmxhZ3NJY29uLkRFIiwiRmxhZ3NJY29uLlRXIiwiRmxhZ3NJY29uLkFUIiwiRmxhZ3NJY29uLkNBIiwiQ2hlY2tDaXJjbGVJY29uIiwiTGluayQxIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9Db3B5Q2xpcGJvYXJkL3V0aWxzLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9Db3B5Q2xpcGJvYXJkL0NvcHlUb0NsaXBCb2FyZC5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvUmF3Vmlld2VyL1Jhd1ZpZXdlci5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhckFjdGlvbi5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhci5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvUGVyc29uL1BlcnNvblRvb2x0aXAubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL1BlcnNvbi91dGlscy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvUGVyc29uL1BlcnNvbi5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvQXV0aG9yL3N0eWxlcy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvQXV0aG9yL0F1dGhvci5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvRGVwcmVjYXRlZC9EZXByZWNhdGVkLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9EZXZlbG9wZXJzL0RldmVsb3BlclR5cGUubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0RldmVsb3BlcnMvVGl0bGUubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0RldmVsb3BlcnMvZ2V0LXVuaXF1ZS1kZXZlbG9wZXItdmFsdWVzLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9EZXZlbG9wZXJzL0RldmVsb3BlcnMubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0Rpc3RyaWJ1dGlvbi9zdHlsZXMubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0Rpc3RyaWJ1dGlvbi9EaXN0Lm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9JY29ucy9TdmdJY29uLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9JY29ucy9WZXJzaW9uLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9JY29ucy9UaW1lLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9JY29ucy9GaWxlQmluYXJ5Lm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9JY29ucy9MYXcubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0ljb25zL0xpY2Vuc2UubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0ljb25zL0VhcnRoLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9JY29ucy9EZXZzSWNvbnMvdHlwZXNjcmlwdC5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvSWNvbnMvRGV2c0ljb25zL1R5cGVTY3JpcHQyLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9JY29ucy9EZXZzSWNvbnMvY29tbW9uanMubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0ljb25zL0RldnNJY29ucy9Db21tb25KUzIubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0ljb25zL0RldnNJY29ucy9lczZtb2R1bGUubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0ljb25zL0RldnNJY29ucy9FUzZNb2R1bGUyLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9JY29ucy9EZXZzSWNvbnMvbm9kZWpzLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9JY29ucy9EZXZzSWNvbnMvTm9kZUpTMi5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvSWNvbnMvRGV2c0ljb25zL2dpdC5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvSWNvbnMvRGV2c0ljb25zL0dpdDIubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0ljb25zL01hbmFnZXJzL25wbS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvSWNvbnMvTWFuYWdlcnMvTnBtMi5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvSWNvbnMvTWFuYWdlcnMvcG5wbS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvSWNvbnMvTWFuYWdlcnMvUG5wbTIubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0ljb25zL01hbmFnZXJzL3lhcm4ubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0ljb25zL01hbmFnZXJzL1lhcm4yLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9FbmdpbmVzL3N0eWxlcy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvRW5naW5lcy9FbmdpbmVzLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9GdW5kQnV0dG9uL0Z1bmRCdXR0b24ubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0hlYWRpbmcvSGVhZGluZy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvU2V0dGluZ3NNZW51L1NldHRpbmdzTWVudS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvSW5zdGFsbC9JbnN0YWxsTGlzdEl0ZW0ubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0luc3RhbGwvSW5zdGFsbC5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvS2V5d29yZHMvS2V5d29yZExpc3RJdGVtcy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvS2V5d29yZHMvS2V5d29yZHMubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL1JlYWRtZS91dGlscy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL1RoZW1lL21vZGVzLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvVGhlbWUvdG9rZW5zLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvVGhlbWUvdGhlbWUubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9UaGVtZS9UaGVtZVByb3ZpZGVyLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9SZWFkbWUvUmVhZG1lLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9TaWRlQmFyVGl0bGUvdXRpbHMubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL1NpZGVCYXJUaXRsZS9TaWRlQmFyVGl0bGUubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0xhYmVsL0xhYmVsLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9Mb2dvL2ltZy9sb2dvLWJsYWNrLWFuZC13aGl0ZS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvTG9nby9pbWcvbG9nby5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvTG9nby9Mb2dvLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9NZW51SXRlbS9NZW51SXRlbS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvTm90Rm91bmQvTm90Rm91bmQubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0ZvcmJpZGRlbi9Gb3JiaWRkZW4ubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0xvZ2luRm9ybS9zdHlsZXMubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0xvZ2luRGlhbG9nL0xvZ2luRGlhbG9nQ2xvc2VCdXR0b24ubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0xvZ2luRGlhbG9nL0xvZ2luRGlhbG9nRm9ybUVycm9yLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9Mb2dpbkZvcm0vUGFzc3dvcmRGaWVsZC5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvTG9naW5Gb3JtL1VzZXJuYW1lRmllbGQubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0xvZ2luRm9ybS9Mb2dpbi5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3V0aWxzL3NjaGVtYXMubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0xvZ2luRm9ybS91c2VMb2dpbkZvcm0ubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0xvZ2luRGlhbG9nL0xvZ2luRGlhbG9nRm9ybS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvTG9naW5EaWFsb2cvTG9naW5EaWFsb2cubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL1NlYXJjaC9BdXRvQ29tcGxldGUvc3R5bGVzLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9TZWFyY2gvQXV0b0NvbXBsZXRlL0F1dG9Db21wbGV0ZS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvU2VhcmNoL3V0aWxzLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9TZWFyY2gvU2VhcmNoSXRlbS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvU2VhcmNoL3N0eWxlcy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvU2VhcmNoL1NlYXJjaC5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvUmVnaXN0cnlJbmZvRGlhbG9nL3N0eWxlcy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvUmVnaXN0cnlJbmZvRGlhbG9nL1JlZ2lzdHJ5SW5mb0RpYWxvZy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvSGVhZGVySW5mb0RpYWxvZy9IZWFkZXJJbmZvRGlhbG9nLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9Mb2FkaW5nL1NwaW5uZXIvU3Bpbm5lci5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvTG9hZGluZy9zdHlsZXMubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0xvYWRpbmcvTG9hZGluZy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvUGFja2FnZS9zdHlsZXMubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL1BhY2thZ2UvUGFja2FnZS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvSGVscC9zdHlsZXMubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0hlbHAvSGVscC5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvUGFja2FnZUxpc3QvUGFja2FnZUxpc3QubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0Vycm9yQm91bmRhcnkvRXJyb3JCb3VuZGFyeS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvQXBwUm91dGUvQXBwUm91dGUubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL1JlcG9zaXRvcnkvUmVwb3NpdG9yeS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL1NpZGVCYXIvU2lkZWJhci5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL0RldGFpbC9SZWFkbWVTZWN0aW9uLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvc2VjdGlvbnMvRGV0YWlsL0NvbnRhaW5lckNvbnRlbnQubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9zZWN0aW9ucy9EZXRhaWwvVGFicy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL0RldGFpbC9EZXRhaWwubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9zZWN0aW9ucy9IZWFkZXIvc3R5bGVzLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvc2VjdGlvbnMvSGVhZGVyL0hlYWRlckxlZnQubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9zZWN0aW9ucy9IZWFkZXIvSGVhZGVyR3JlZXRpbmdzLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvc2VjdGlvbnMvSGVhZGVyL0hlYWRlck1lbnUubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9zZWN0aW9ucy9IZWFkZXIvSGVhZGVyVG9vbFRpcEljb24ubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9zZWN0aW9ucy9IZWFkZXIvSGVhZGVyVG9vbFRpcC5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL0hlYWRlci9IZWFkZXJSaWdodC5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL0hlYWRlci9MYW5ndWFnZVN3aXRjaC5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL0hlYWRlci9SZWdpc3RyeUluZm9Db250ZW50L3N0eWxlcy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL0hlYWRlci9SZWdpc3RyeUluZm9Db250ZW50L1JlZ2lzdHJ5SW5mb0NvbnRlbnQubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9zZWN0aW9ucy9IZWFkZXIvSGVhZGVyU2V0dGluZ3NEaWFsb2cubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9zZWN0aW9ucy9IZWFkZXIvSGVhZGVyLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvc2VjdGlvbnMvSG9tZS9Ib21lLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvc2VjdGlvbnMvRm9vdGVyL3N0eWxlcy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL0Zvb3Rlci9Gb290ZXIubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9sYXlvdXRzL1NlY3VyaXR5L0RpYWxvZy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL1NlY3VyaXR5L3N0eWxlcy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL1NlY3VyaXR5L1N1Y2Nlc3MubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9zZWN0aW9ucy9TZWN1cml0eS91dGlscy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL1NlY3VyaXR5L0xvZ2luLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvc2VjdGlvbnMvU2VjdXJpdHkvQWRkVXNlci5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL1NlY3VyaXR5L0NoYW5nZVBhc3N3b3JkLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvcGFnZXMvRnJvbnQvSG9tZS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2xheW91dHMvVmVyc2lvbi9WZXJzaW9uLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvcGFnZXMvVmVyc2lvbi9WZXJzaW9uLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvcGFnZXMvU2VjdXJpdHkvTG9naW4ubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9wYWdlcy9TZWN1cml0eS9TdWNjZXNzLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvcGFnZXMvU2VjdXJpdHkvQWRkVXNlci5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3BhZ2VzL1NlY3VyaXR5L0NoYW5nZVBhc3N3b3JkLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvVGhlbWUvUmVzZXRTdHlsZXMubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9UaGVtZS9TdHlsZUJhc2VsaW5lLm1qcyIsIi4uL3NyYy9jb21wb25lbnRzL0NvbnRyaWJ1dG9ycy9Db250cmlidXRvcnMudHN4IiwiLi4vc3JjL2NvbXBvbmVudHMvU3VwcG9ydC9TdXBwb3J0LnRzeCIsIi4uL3NyYy9jb21wb25lbnRzL2Fib3V0Lm1kIiwiLi4vc3JjL2NvbXBvbmVudHMvbGljZW5zZS5tZCIsIi4uL3NyYy9pMThuL2xvYWRUcmFuc2xhdGlvbkZpbGUudHMiLCIuLi9zcmMvaTE4bi9lbmFibGVkTGFuZ3VhZ2VzLnRzIiwiLi4vc3JjL2kxOG4vY29uZmlnLnRzIiwiLi4vc3JjL2kxOG4vbG9hZC1kYXlqcy1sb2NhbGUudHMiLCIuLi9zcmMvQXBwL0FwcC50c3giLCIuLi9zcmMvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9Db3B5Q2xpcGJvYXJkL3V0aWxzLnRzXG52YXIgY29weVRvQ2xpcEJvYXJkVXRpbGl0eSA9IChzdHIpID0+IChldmVudCkgPT4ge1xuXHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChzdHIpO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgY29weVRvQ2xpcEJvYXJkVXRpbGl0eSB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5tanMubWFwIiwiaW1wb3J0IHsgY29weVRvQ2xpcEJvYXJkVXRpbGl0eSB9IGZyb20gXCIuL3V0aWxzLm1qc1wiO1xuaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG5pbXBvcnQgeyBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBGaWxlQ29weSBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9GaWxlQ29weVwiO1xuaW1wb3J0IEljb25CdXR0b24gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvSWNvbkJ1dHRvblwiO1xuaW1wb3J0IFRvb2x0aXAgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvVG9vbHRpcFwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9Db3B5Q2xpcGJvYXJkL0NvcHlUb0NsaXBCb2FyZC50c3hcbmZ1bmN0aW9uIF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fKCkge1xuXHRyZXR1cm4gXCJZb3UgaGF2ZSB0cmllZCB0byBzdHJpbmdpZnkgb2JqZWN0IHJldHVybmVkIGZyb20gYGNzc2AgZnVuY3Rpb24uIEl0IGlzbid0IHN1cHBvc2VkIHRvIGJlIHVzZWQgZGlyZWN0bHkgKGUuZy4gYXMgdmFsdWUgb2YgdGhlIGBjbGFzc05hbWVgIHByb3ApLCBidXQgcmF0aGVyIGhhbmRlZCB0byBlbW90aW9uIHNvIGl0IGNhbiBoYW5kbGUgaXQgKGUuZy4gYXMgdmFsdWUgb2YgYGNzc2AgcHJvcCkuXCI7XG59XG52YXIgV3JhcHBlciA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwiZGl2XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVtNW5sZGsxXCIgfSA6IHtcblx0dGFyZ2V0OiBcImVtNW5sZGsxXCIsXG5cdGxhYmVsOiBcIldyYXBwZXJcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcImJjZmZ5MlwiLFxuXHRzdHlsZXM6IFwiZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlblwiXG59IDoge1xuXHRuYW1lOiBcImJjZmZ5MlwiLFxuXHRzdHlsZXM6IFwiZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlEYjNCNVEyeHBjR0p2WVhKa0wwTnZjSGxVYjBOc2FYQkNiMkZ5WkM1MGMzZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJaMEpuUWlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwyTnZiWEJ2Ym1WdWRITXZRMjl3ZVVOc2FYQmliMkZ5WkM5RGIzQjVWRzlEYkdsd1FtOWhjbVF1ZEhONElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElITjBlV3hsWkNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl6ZEhsc1pXUW5PMXh1YVcxd2IzSjBJRVpwYkdWRGIzQjVJR1p5YjIwZ0owQnRkV2t2YVdOdmJuTXRiV0YwWlhKcFlXd3ZSbWxzWlVOdmNIa25PMXh1YVcxd2IzSjBJRWxqYjI1Q2RYUjBiMjRnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5SlkyOXVRblYwZEc5dUp6dGNibWx0Y0c5eWRDQlViMjlzZEdsd0lHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZWRzl2YkhScGNDYzdYRzVwYlhCdmNuUWdVbVZoWTNRZ1puSnZiU0FuY21WaFkzUW5PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2VkdobGJXVW5PMXh1YVcxd2IzSjBJSHNnWTI5d2VWUnZRMnhwY0VKdllYSmtWWFJwYkdsMGVTQjlJR1p5YjIwZ0p5NHZkWFJwYkhNbk8xeHVYRzVwYm5SbGNtWmhZMlVnVUhKdmNITWdlMXh1SUNCMFpYaDBPaUJ6ZEhKcGJtYzdYRzRnSUhScGRHeGxQem9nYzNSeWFXNW5PMXh1SUNCa1lYUmhWR1Z6ZEVsa09pQnpkSEpwYm1jN1hHNGdJR05vYVd4a2NtVnVQem9nVW1WaFkzUXVVbVZoWTNST2IyUmxPMXh1ZlZ4dVhHNWpiMjV6ZENCWGNtRndjR1Z5SUQwZ2MzUjViR1ZrS0Nka2FYWW5LU2g3WEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc0Z0lHcDFjM1JwWm5sRGIyNTBaVzUwT2lBbmMzQmhZMlV0WW1WMGQyVmxiaWNzWEc1OUtUdGNibHh1WTI5dWMzUWdRMjl1ZEdWdWRDQTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JrYVhOd2JHRjVPaUFuYVc1c2FXNWxMV0pzYjJOckp5eGNiaUFnYjNabGNtWnNiM2M2SUNkb2FXUmtaVzRuTEZ4dUlDQjBaWGgwVDNabGNtWnNiM2M2SUNkbGJHeHBjSE5wY3ljc1hHNGdJR2hsYVdkb2REb2dKMkYxZEc4bkxGeHVJQ0IzYUdsMFpWTndZV05sT2lBblluSmxZV3N0YzNCaFkyVnpKeXhjYmlBZ1ptOXVkRk5wZW1VNklIUm9aVzFsTG1admJuUlRhWHBsTG5OdExGeHVmU2twTzF4dVhHNW1kVzVqZEdsdmJpQkRiM0I1Vkc5RGJHbHdRbTloY21Rb2V5QjBaWGgwTENCamFHbHNaSEpsYml3Z1pHRjBZVlJsYzNSSlpDd2dkR2wwYkdVc0lDNHVMbkJ5YjNCeklIMDZJRkJ5YjNCektTQjdYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRmR5WVhCd1pYSWdleTR1TG5CeWIzQnpmVDVjYmlBZ0lDQWdJRHhEYjI1MFpXNTBQbnRqYUdsc1pISmxiaUEvUHlCMFpYaDBmVHd2UTI5dWRHVnVkRDVjYmlBZ0lDQWdJSHQwYVhSc1pTQS9JQ2hjYmlBZ0lDQWdJQ0FnUEZSdmIyeDBhWEFnWkdsellXSnNaVVp2WTNWelRHbHpkR1Z1WlhJOWUzUnlkV1Y5SUhScGRHeGxQWHQwYVhSc1pYMCtYRzRnSUNBZ0lDQWdJQ0FnUEVsamIyNUNkWFIwYjI0Z1pHRjBZUzEwWlhOMGFXUTllMlJoZEdGVVpYTjBTV1I5SUc5dVEyeHBZMnM5ZTJOdmNIbFViME5zYVhCQ2IyRnlaRlYwYVd4cGRIa29kR1Y0ZENsOUlITnBlbVU5WENKemJXRnNiRndpUGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRVpwYkdWRGIzQjVJR1p2Ym5SVGFYcGxQVndpYzIxaGJHeGNJaUF2UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZTV052YmtKMWRIUnZiajVjYmlBZ0lDQWdJQ0FnUEM5VWIyOXNkR2x3UGx4dUlDQWdJQ0FnS1NBNklDaGNiaUFnSUNBZ0lDQWdQRWxqYjI1Q2RYUjBiMjRnWkdGMFlTMTBaWE4wYVdROWUyUmhkR0ZVWlhOMFNXUjlJRzl1UTJ4cFkyczllMk52Y0hsVWIwTnNhWEJDYjJGeVpGVjBhV3hwZEhrb2RHVjRkQ2w5SUhOcGVtVTlYQ0p6YldGc2JGd2lQbHh1SUNBZ0lDQWdJQ0FnSUR4R2FXeGxRMjl3ZVNCbWIyNTBVMmw2WlQxY0luTnRZV3hzWENJZ0x6NWNiaUFnSUNBZ0lDQWdQQzlKWTI5dVFuVjBkRzl1UGx4dUlDQWdJQ0FnS1gxY2JpQWdJQ0E4TDFkeVlYQndaWEkrWEc0Z0lDazdYRzU5WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUVOdmNIbFViME5zYVhCQ2IyRnlaRHRjYmlKZGZRPT0gKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBDb250ZW50ID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJzcGFuXCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVtNW5sZGswXCIgfSA6IHtcblx0dGFyZ2V0OiBcImVtNW5sZGswXCIsXG5cdGxhYmVsOiBcIkNvbnRlbnRcIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0ZGlzcGxheTogXCJpbmxpbmUtYmxvY2tcIixcblx0b3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG5cdHRleHRPdmVyZmxvdzogXCJlbGxpcHNpc1wiLFxuXHRoZWlnaHQ6IFwiYXV0b1wiLFxuXHR3aGl0ZVNwYWNlOiBcImJyZWFrLXNwYWNlc1wiLFxuXHRmb250U2l6ZTogdGhlbWUuZm9udFNpemUuc21cbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5RGIzQjVRMnhwY0dKdllYSmtMME52Y0hsVWIwTnNhWEJDYjJGeVpDNTBjM2dpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCYzBKblFpSXNJbVpwYkdVaU9pSXZhRzl0WlM5eWRXNXVaWEl2ZDI5eWF5OTJaWEprWVdOamFXOHZkbVZ5WkdGalkybHZMM0JoWTJ0aFoyVnpMM1ZwTFdOdmJYQnZibVZ1ZEhNdmMzSmpMMk52YlhCdmJtVnVkSE12UTI5d2VVTnNhWEJpYjJGeVpDOURiM0I1Vkc5RGJHbHdRbTloY21RdWRITjRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSE4wZVd4bFpDQm1jbTl0SUNkQVpXMXZkR2x2Ymk5emRIbHNaV1FuTzF4dWFXMXdiM0owSUVacGJHVkRiM0I1SUdaeWIyMGdKMEJ0ZFdrdmFXTnZibk10YldGMFpYSnBZV3d2Um1sc1pVTnZjSGtuTzF4dWFXMXdiM0owSUVsamIyNUNkWFIwYjI0Z1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUpZMjl1UW5WMGRHOXVKenRjYm1sdGNHOXlkQ0JVYjI5c2RHbHdJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2Vkc5dmJIUnBjQ2M3WEc1cGJYQnZjblFnVW1WaFkzUWdabkp2YlNBbmNtVmhZM1FuTzF4dVhHNXBiWEJ2Y25RZ2RIbHdaU0I3SUZSb1pXMWxJSDBnWm5KdmJTQW5MaTR2TGk0dlZHaGxiV1VuTzF4dWFXMXdiM0owSUhzZ1kyOXdlVlJ2UTJ4cGNFSnZZWEprVlhScGJHbDBlU0I5SUdaeWIyMGdKeTR2ZFhScGJITW5PMXh1WEc1cGJuUmxjbVpoWTJVZ1VISnZjSE1nZTF4dUlDQjBaWGgwT2lCemRISnBibWM3WEc0Z0lIUnBkR3hsUHpvZ2MzUnlhVzVuTzF4dUlDQmtZWFJoVkdWemRFbGtPaUJ6ZEhKcGJtYzdYRzRnSUdOb2FXeGtjbVZ1UHpvZ1VtVmhZM1F1VW1WaFkzUk9iMlJsTzF4dWZWeHVYRzVqYjI1emRDQlhjbUZ3Y0dWeUlEMGdjM1I1YkdWa0tDZGthWFluS1NoN1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnWVd4cFoyNUpkR1Z0Y3pvZ0oyTmxiblJsY2ljc1hHNGdJR3AxYzNScFpubERiMjUwWlc1ME9pQW5jM0JoWTJVdFltVjBkMlZsYmljc1hHNTlLVHRjYmx4dVkyOXVjM1FnUTI5dWRHVnVkQ0E5SUhOMGVXeGxaQ2duYzNCaGJpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCa2FYTndiR0Y1T2lBbmFXNXNhVzVsTFdKc2IyTnJKeXhjYmlBZ2IzWmxjbVpzYjNjNklDZG9hV1JrWlc0bkxGeHVJQ0IwWlhoMFQzWmxjbVpzYjNjNklDZGxiR3hwY0hOcGN5Y3NYRzRnSUdobGFXZG9kRG9nSjJGMWRHOG5MRnh1SUNCM2FHbDBaVk53WVdObE9pQW5ZbkpsWVdzdGMzQmhZMlZ6Snl4Y2JpQWdabTl1ZEZOcGVtVTZJSFJvWlcxbExtWnZiblJUYVhwbExuTnRMRnh1ZlNrcE8xeHVYRzVtZFc1amRHbHZiaUJEYjNCNVZHOURiR2x3UW05aGNtUW9leUIwWlhoMExDQmphR2xzWkhKbGJpd2daR0YwWVZSbGMzUkpaQ3dnZEdsMGJHVXNJQzR1TG5CeWIzQnpJSDA2SUZCeWIzQnpLU0I3WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEZkeVlYQndaWElnZXk0dUxuQnliM0J6ZlQ1Y2JpQWdJQ0FnSUR4RGIyNTBaVzUwUG50amFHbHNaSEpsYmlBL1B5QjBaWGgwZlR3dlEyOXVkR1Z1ZEQ1Y2JpQWdJQ0FnSUh0MGFYUnNaU0EvSUNoY2JpQWdJQ0FnSUNBZ1BGUnZiMngwYVhBZ1pHbHpZV0pzWlVadlkzVnpUR2x6ZEdWdVpYSTllM1J5ZFdWOUlIUnBkR3hsUFh0MGFYUnNaWDArWEc0Z0lDQWdJQ0FnSUNBZ1BFbGpiMjVDZFhSMGIyNGdaR0YwWVMxMFpYTjBhV1E5ZTJSaGRHRlVaWE4wU1dSOUlHOXVRMnhwWTJzOWUyTnZjSGxVYjBOc2FYQkNiMkZ5WkZWMGFXeHBkSGtvZEdWNGRDbDlJSE5wZW1VOVhDSnpiV0ZzYkZ3aVBseHVJQ0FnSUNBZ0lDQWdJQ0FnUEVacGJHVkRiM0I1SUdadmJuUlRhWHBsUFZ3aWMyMWhiR3hjSWlBdlBseHVJQ0FnSUNBZ0lDQWdJRHd2U1dOdmJrSjFkSFJ2Ymo1Y2JpQWdJQ0FnSUNBZ1BDOVViMjlzZEdsd1BseHVJQ0FnSUNBZ0tTQTZJQ2hjYmlBZ0lDQWdJQ0FnUEVsamIyNUNkWFIwYjI0Z1pHRjBZUzEwWlhOMGFXUTllMlJoZEdGVVpYTjBTV1I5SUc5dVEyeHBZMnM5ZTJOdmNIbFViME5zYVhCQ2IyRnlaRlYwYVd4cGRIa29kR1Y0ZENsOUlITnBlbVU5WENKemJXRnNiRndpUGx4dUlDQWdJQ0FnSUNBZ0lEeEdhV3hsUTI5d2VTQm1iMjUwVTJsNlpUMWNJbk50WVd4c1hDSWdMejVjYmlBZ0lDQWdJQ0FnUEM5SlkyOXVRblYwZEc5dVBseHVJQ0FnSUNBZ0tYMWNiaUFnSUNBOEwxZHlZWEJ3WlhJK1hHNGdJQ2s3WEc1OVhHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElFTnZjSGxVYjBOc2FYQkNiMkZ5WkR0Y2JpSmRmUT09ICovXCIpO1xuZnVuY3Rpb24gQ29weVRvQ2xpcEJvYXJkKHsgdGV4dCwgY2hpbGRyZW4sIGRhdGFUZXN0SWQsIHRpdGxlLCAuLi5wcm9wcyB9KSB7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhXcmFwcGVyLCB7XG5cdFx0Li4ucHJvcHMsXG5cdFx0Y2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KENvbnRlbnQsIHsgY2hpbGRyZW46IGNoaWxkcmVuID8/IHRleHQgfSksIHRpdGxlID8gLyogQF9fUFVSRV9fICovIGpzeChUb29sdGlwLCB7XG5cdFx0XHRkaXNhYmxlRm9jdXNMaXN0ZW5lcjogdHJ1ZSxcblx0XHRcdHRpdGxlLFxuXHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goSWNvbkJ1dHRvbiwge1xuXHRcdFx0XHRcImRhdGEtdGVzdGlkXCI6IGRhdGFUZXN0SWQsXG5cdFx0XHRcdG9uQ2xpY2s6IGNvcHlUb0NsaXBCb2FyZFV0aWxpdHkodGV4dCksXG5cdFx0XHRcdHNpemU6IFwic21hbGxcIixcblx0XHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goRmlsZUNvcHksIHsgZm9udFNpemU6IFwic21hbGxcIiB9KVxuXHRcdFx0fSlcblx0XHR9KSA6IC8qIEBfX1BVUkVfXyAqLyBqc3goSWNvbkJ1dHRvbiwge1xuXHRcdFx0XCJkYXRhLXRlc3RpZFwiOiBkYXRhVGVzdElkLFxuXHRcdFx0b25DbGljazogY29weVRvQ2xpcEJvYXJkVXRpbGl0eSh0ZXh0KSxcblx0XHRcdHNpemU6IFwic21hbGxcIixcblx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEZpbGVDb3B5LCB7IGZvbnRTaXplOiBcInNtYWxsXCIgfSlcblx0XHR9KV1cblx0fSk7XG59XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IENvcHlUb0NsaXBCb2FyZCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNvcHlUb0NsaXBCb2FyZC5tanMubWFwIiwiaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgSWNvbkJ1dHRvbiBmcm9tIFwiQG11aS9tYXRlcmlhbC9JY29uQnV0dG9uXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0ICogYXMgUmVhY3RKc29uVmlld01vZHVsZSBmcm9tIFwiQG1pY3JvbGluay9yZWFjdC1qc29uLXZpZXdcIjtcbmltcG9ydCBDbG9zZUljb24gZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvQ2xvc2VcIjtcbmltcG9ydCBEaWFsb2cgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvRGlhbG9nXCI7XG5pbXBvcnQgRGlhbG9nQ29udGVudCBmcm9tIFwiQG11aS9tYXRlcmlhbC9EaWFsb2dDb250ZW50XCI7XG5pbXBvcnQgRGlhbG9nVGl0bGUgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvRGlhbG9nVGl0bGVcIjtcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvc3R5bGVzXCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvUmF3Vmlld2VyL1Jhd1ZpZXdlci50c3hcbnZhciBSZWFjdEpzb24gPSBSZWFjdEpzb25WaWV3TW9kdWxlLmRlZmF1bHQgPz8gUmVhY3RKc29uVmlld01vZHVsZS5yZWFjdEpzb25WaWV3ID8/IFJlYWN0SnNvblZpZXdNb2R1bGU7XG52YXIgVmlld2VyVGl0bGUgPSAocHJvcHMpID0+IHtcblx0Y29uc3QgeyBjaGlsZHJlbiwgb25DbG9zZSB9ID0gcHJvcHM7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhEaWFsb2dUaXRsZSwge1xuXHRcdHN4OiB7XG5cdFx0XHRtOiAwLFxuXHRcdFx0cDogMlxuXHRcdH0sXG5cdFx0Y2hpbGRyZW46IFtjaGlsZHJlbiwgb25DbG9zZSA/IC8qIEBfX1BVUkVfXyAqLyBqc3goSWNvbkJ1dHRvbiwge1xuXHRcdFx0XCJhcmlhLWxhYmVsXCI6IFwiY2xvc2VcIixcblx0XHRcdFwiZGF0YS10ZXN0aWRcIjogXCJjbG9zZS1yYXctdmlld2VyXCIsXG5cdFx0XHRvbkNsaWNrOiBvbkNsb3NlLFxuXHRcdFx0c3g6IHtcblx0XHRcdFx0cG9zaXRpb246IFwiYWJzb2x1dGVcIixcblx0XHRcdFx0cmlnaHQ6IDgsXG5cdFx0XHRcdHRvcDogOCxcblx0XHRcdFx0Y29sb3I6ICh0aGVtZSkgPT4gdGhlbWUucGFsZXR0ZS5ncmV5WzUwMF1cblx0XHRcdH0sXG5cdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChDbG9zZUljb24sIHt9KVxuXHRcdH0pIDogbnVsbF1cblx0fSk7XG59O1xudmFyIFJhd1ZpZXdlciA9ICh7IGlzT3BlbiA9IGZhbHNlLCBvbkNsb3NlLCBwYWNrYWdlTWV0YSB9KSA9PiB7XG5cdGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcblx0Y29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoRGlhbG9nLCB7XG5cdFx0XCJkYXRhLXRlc3RpZFwiOiBcInJhd1ZpZXdlci0tZGlhbG9nXCIsXG5cdFx0ZnVsbFNjcmVlbjogdHJ1ZSxcblx0XHRvcGVuOiBpc09wZW4sXG5cdFx0Y2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KFZpZXdlclRpdGxlLCB7XG5cdFx0XHRpZDogXCJ2aWV3ZXItdGl0bGVcIixcblx0XHRcdG9uQ2xvc2UsXG5cdFx0XHRjaGlsZHJlbjogdChcImFjdGlvbi1iYXItYWN0aW9uLnJhdy10aXRsZVwiLCB7IHBhY2thZ2U6IHBhY2thZ2VNZXRhLmxhdGVzdC5uYW1lIH0pXG5cdFx0fSksIC8qIEBfX1BVUkVfXyAqLyBqc3goRGlhbG9nQ29udGVudCwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChSZWFjdEpzb24sIHtcblx0XHRcdGNvbGxhcHNlU3RyaW5nc0FmdGVyTGVuZ3RoOiAyMDAsXG5cdFx0XHRjb2xsYXBzZWQ6IDIsXG5cdFx0XHRlbmFibGVDbGlwYm9hcmQ6IHRydWUsXG5cdFx0XHRncm91cEFycmF5c0FmdGVyTGVuZ3RoOiAxMCxcblx0XHRcdHNyYzogcGFja2FnZU1ldGEsXG5cdFx0XHR0aGVtZTogdGhlbWUucGFsZXR0ZS5tb2RlID09IFwibGlnaHRcIiA/IFwiYnJpZ2h0OmludmVydGVkXCIgOiBcImJyaWdodFwiXG5cdFx0fSkgfSldXG5cdH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgUmF3Vmlld2VyIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9UmF3Vmlld2VyLm1qcy5tYXAiLCJpbXBvcnQgeyBncmV5TWVkaXVtIH0gZnJvbSBcIi4uLy4uL1RoZW1lL2NvbG9ycy5tanNcIjtcbmltcG9ydCB7IHVzZVZlcnNpb24gfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL1ZlcnNpb25Qcm92aWRlci9WZXJzaW9uUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgeyB1c2VEb3dubG9hZCB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvRG93bmxvYWRQcm92aWRlci9Eb3dubG9hZFByb3ZpZGVyLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vcHJvdmlkZXJzL2luZGV4Lm1qc1wiO1xuaW1wb3J0IExpbmtFeHRlcm5hbCBmcm9tIFwiLi4vTGlua0V4dGVybmFsL0xpbmtFeHRlcm5hbC5tanNcIjtcbmltcG9ydCBcIi4uL0xpbmtFeHRlcm5hbC9pbmRleC5tanNcIjtcbmltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgVG9vbHRpcCBmcm9tIFwiQG11aS9tYXRlcmlhbC9Ub29sdGlwXCI7XG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IEJ1Z1JlcG9ydCBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9CdWdSZXBvcnRcIjtcbmltcG9ydCBEb3dubG9hZEljb24gZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvQ2xvdWREb3dubG9hZFwiO1xuaW1wb3J0IEhvbWVJY29uIGZyb20gXCJAbXVpL2ljb25zLW1hdGVyaWFsL0hvbWVcIjtcbmltcG9ydCBSYXdPbkljb24gZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvUmF3T25cIjtcbmltcG9ydCBDaXJjdWxhclByb2dyZXNzIGZyb20gXCJAbXVpL21hdGVyaWFsL0NpcmN1bGFyUHJvZ3Jlc3NcIjtcbmltcG9ydCBGYWJNVUkgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvRmFiXCI7XG5pbXBvcnQgeyBjb21tb24gfSBmcm9tIFwiQG11aS9tYXRlcmlhbC9jb2xvcnNcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9BY3Rpb25CYXIvQWN0aW9uQmFyQWN0aW9uLnRzeFxudmFyIEZhYiA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKEZhYk1VSSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTF5eHlrZHEwXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxeXh5a2RxMFwiLFxuXHRsYWJlbDogXCJGYWJcIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0YmFja2dyb3VuZENvbG9yOiB0aGVtZS5wYWxldHRlLm1vZGUgPT09IFwiZGFya1wiID8gdGhlbWUucGFsZXR0ZS5zZWNvbmRhcnkubWFpbiA6IHRoZW1lLnBhbGV0dGUucHJpbWFyeS5tYWluLFxuXHRcIiY6aG92ZXJcIjoge1xuXHRcdGJhY2tncm91bmRDb2xvcjogdGhlbWUucGFsZXR0ZS5tb2RlID09PSBcImRhcmtcIiA/IGdyZXlNZWRpdW0gOiB2b2lkIDAsXG5cdFx0Y29sb3I6IHRoZW1lLnBhbGV0dGUubW9kZSA9PT0gXCJsaWdodFwiID8gdGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW4gOiBjb21tb24ud2hpdGVcblx0fSxcblx0Y29sb3I6IGNvbW1vbi53aGl0ZVxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlCWTNScGIyNUNZWEl2UVdOMGFXOXVRbUZ5UVdOMGFXOXVMblJ6ZUNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGcFFtMUNJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5QlkzUnBiMjVDWVhJdlFXTjBhVzl1UW1GeVFXTjBhVzl1TG5SemVDSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0JDZFdkU1pYQnZjblJKWTI5dUlHWnliMjBnSjBCdGRXa3ZhV052Ym5NdGJXRjBaWEpwWVd3dlFuVm5VbVZ3YjNKMEp6dGNibWx0Y0c5eWRDQkViM2R1Ykc5aFpFbGpiMjRnWm5KdmJTQW5RRzExYVM5cFkyOXVjeTF0WVhSbGNtbGhiQzlEYkc5MVpFUnZkMjVzYjJGa0p6dGNibWx0Y0c5eWRDQkliMjFsU1dOdmJpQm1jbTl0SUNkQWJYVnBMMmxqYjI1ekxXMWhkR1Z5YVdGc0wwaHZiV1VuTzF4dWFXMXdiM0owSUZKaGQwOXVTV052YmlCbWNtOXRJQ2RBYlhWcEwybGpiMjV6TFcxaGRHVnlhV0ZzTDFKaGQwOXVKenRjYm1sdGNHOXlkQ0JEYVhKamRXeGhjbEJ5YjJkeVpYTnpJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UTJseVkzVnNZWEpRY205bmNtVnpjeWM3WEc1cGJYQnZjblFnUm1GaVRWVkpJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2Um1GaUp6dGNibWx0Y0c5eWRDQlViMjlzZEdsd0lHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZWRzl2YkhScGNDYzdYRzVwYlhCdmNuUWdleUJqYjIxdGIyNGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDJOdmJHOXljeWM3WEc1cGJYQnZjblFnVW1WaFkzUXNJSHNnZFhObFEyRnNiR0poWTJzZ2ZTQm1jbTl0SUNkeVpXRmpkQ2M3WEc1cGJYQnZjblFnZXlCMWMyVlVjbUZ1YzJ4aGRHbHZiaUI5SUdaeWIyMGdKM0psWVdOMExXa3hPRzVsZUhRbk8xeHVYRzVwYlhCdmNuUWdkSGx3WlNCN0lGUm9aVzFsSUgwZ1puSnZiU0FuTGk0dkxpNHZWR2hsYldVbk8xeHVhVzF3YjNKMElIc2daM0psZVUxbFpHbDFiU0I5SUdaeWIyMGdKeTR1THk0dUwxUm9aVzFsTDJOdmJHOXljeWM3WEc1cGJYQnZjblFnZXlCMWMyVkViM2R1Ykc5aFpDd2dkWE5sVm1WeWMybHZiaUI5SUdaeWIyMGdKeTR1THk0dUwzQnliM1pwWkdWeWN5YzdYRzVwYlhCdmNuUWdUR2x1YTBWNGRHVnlibUZzSUdaeWIyMGdKeTR1TDB4cGJtdEZlSFJsY201aGJDYzdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkdZV0lnUFNCemRIbHNaV1FvUm1GaVRWVkpLVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ1ltRmphMmR5YjNWdVpFTnZiRzl5T2x4dUlDQWdJSFJvWlcxbExuQmhiR1YwZEdVdWJXOWtaU0E5UFQwZ0oyUmhjbXNuSUQ4Z2RHaGxiV1V1Y0dGc1pYUjBaUzV6WldOdmJtUmhjbmt1YldGcGJpQTZJSFJvWlcxbExuQmhiR1YwZEdVdWNISnBiV0Z5ZVM1dFlXbHVMRnh1SUNBbkpqcG9iM1psY2ljNklIdGNiaUFnSUNCaVlXTnJaM0p2ZFc1a1EyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXViVzlrWlNBOVBUMGdKMlJoY21zbklEOGdaM0psZVUxbFpHbDFiU0E2SUhWdVpHVm1hVzVsWkN4Y2JpQWdJQ0JqYjJ4dmNqb2dkR2hsYldVdWNHRnNaWFIwWlM1dGIyUmxJRDA5UFNBbmJHbG5hSFFuSUQ4Z2RHaGxiV1V1Y0dGc1pYUjBaUzV3Y21sdFlYSjVMbTFoYVc0Z09pQmpiMjF0YjI0dWQyaHBkR1VzWEc0Z0lIMHNYRzRnSUdOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNTlLU2s3WEc1Y2JuUjVjR1VnUVdOMGFXOXVWSGx3WlNBOUlDZFdTVk5KVkY5SVQwMUZVRUZIUlNjZ2ZDQW5UMUJGVGw5QlRsOUpVMU5WUlNjZ2ZDQW5SRTlYVGt4UFFVUmZWRUZTUWtGTVRDY2dmQ0FuVWtGWFgwUkJWRUVuTzF4dVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFRmpkR2x2YmtKaGNrRmpkR2x2YmxCeWIzQnpJSHRjYmlBZ2RIbHdaVG9nUVdOMGFXOXVWSGx3WlR0Y2JpQWdiR2x1YXo4NklITjBjbWx1Wnp0Y2JpQWdZV04wYVc5dVB6b2dLQ2tnUFQ0Z2RtOXBaRHRjYm4xY2JseHVZMjl1YzNRZ1FXTjBhVzl1UW1GeVFXTjBhVzl1T2lCU1pXRmpkQzVHUXp4QlkzUnBiMjVDWVhKQlkzUnBiMjVRY205d2N6NGdQU0FvZXlCMGVYQmxMQ0JzYVc1ckxDQmhZM1JwYjI0Z2ZTa2dQVDRnZTF4dUlDQmpiMjV6ZENCN0lIUWdmU0E5SUhWelpWUnlZVzV6YkdGMGFXOXVLQ2s3WEc0Z0lHTnZibk4wSUhzZ2FYTk1iMkZrYVc1bklIMGdQU0IxYzJWV1pYSnphVzl1S0NrN1hHNGdJR052Ym5OMElIc2daRzkzYm14dllXUlVZWEppWVd4c0lIMGdQU0IxYzJWRWIzZHViRzloWkNncE8xeHVYRzRnSUdOdmJuTjBJR2hoYm1Sc1pVUnZkMjVzYjJGa0lEMGdkWE5sUTJGc2JHSmhZMnNvWVhONWJtTWdLQ2tnUFQ0Z2UxeHVJQ0FnSUdSdmQyNXNiMkZrVkdGeVltRnNiRDh1S0hzZ2JHbHVhem9nYkdsdWF5QmhjeUJ6ZEhKcGJtY2dmU2s3WEc0Z0lIMHNJRnRzYVc1ckxDQmtiM2R1Ykc5aFpGUmhjbUpoYkd4ZEtUdGNibHh1SUNCemQybDBZMmdnS0hSNWNHVXBJSHRjYmlBZ0lDQmpZWE5sSUNkV1NWTkpWRjlJVDAxRlVFRkhSU2M2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lDQWdJQ0E4Vkc5dmJIUnBjQ0IwYVhSc1pUMTdkQ2duWVdOMGFXOXVMV0poY2kxaFkzUnBiMjR1ZG1semFYUXRhRzl0WlMxd1lXZGxKeWtnWVhNZ2MzUnlhVzVuZlQ1Y2JpQWdJQ0FnSUNBZ0lDQThUR2x1YTBWNGRHVnlibUZzSUhSdlBYdHNhVzVyZlNCMllYSnBZVzUwUFZ3aVluVjBkRzl1WENJK1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4Um1GaUlHTnZiRzl5UFZ3aWNISnBiV0Z5ZVZ3aUlITnBlbVU5WENKemJXRnNiRndpUGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4U0c5dFpVbGpiMjRnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHd2Um1GaVBseHVJQ0FnSUNBZ0lDQWdJRHd2VEdsdWEwVjRkR1Z5Ym1Gc1BseHVJQ0FnSUNBZ0lDQThMMVJ2YjJ4MGFYQStYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lHTmhjMlVnSjA5UVJVNWZRVTVmU1ZOVFZVVW5PbHh1SUNBZ0lDQWdjbVYwZFhKdUlDaGNiaUFnSUNBZ0lDQWdQRlJ2YjJ4MGFYQWdkR2wwYkdVOWUzUW9KMkZqZEdsdmJpMWlZWEl0WVdOMGFXOXVMbTl3Wlc0dFlXNHRhWE56ZFdVbktTQmhjeUJ6ZEhKcGJtZDlQbHh1SUNBZ0lDQWdJQ0FnSUR4TWFXNXJSWGgwWlhKdVlXd2dkRzg5ZTJ4cGJtdDlJSFpoY21saGJuUTlYQ0ppZFhSMGIyNWNJajVjYmlBZ0lDQWdJQ0FnSUNBZ0lEeEdZV0lnYzJsNlpUMWNJbk50WVd4c1hDSStYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEeENkV2RTWlhCdmNuUkpZMjl1SUM4K1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4TDBaaFlqNWNiaUFnSUNBZ0lDQWdJQ0E4TDB4cGJtdEZlSFJsY201aGJENWNiaUFnSUNBZ0lDQWdQQzlVYjI5c2RHbHdQbHh1SUNBZ0lDQWdLVHRjYmlBZ0lDQmpZWE5sSUNkRVQxZE9URTlCUkY5VVFWSkNRVXhNSnpwY2JpQWdJQ0FnSUhKbGRIVnliaUFvWEc0Z0lDQWdJQ0FnSUR4VWIyOXNkR2x3SUhScGRHeGxQWHQwS0NkaFkzUnBiMjR0WW1GeUxXRmpkR2x2Ymk1a2IzZHViRzloWkMxMFlYSmlZV3hzSnlrZ1lYTWdjM1J5YVc1bmZUNWNiaUFnSUNBZ0lDQWdJQ0I3YVhOTWIyRmthVzVuSUQ4Z0tGeHVJQ0FnSUNBZ0lDQWdJQ0FnUEVOcGNtTjFiR0Z5VUhKdlozSmxjM01nYzNnOWUzc2diV0Z5WjJsdVdEb2dNQ0I5ZlNBdlBseHVJQ0FnSUNBZ0lDQWdJQ2tnT2lBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4Um1GaUlHUmhkR0V0ZEdWemRHbGtQVndpWkc5M2JteHZZV1F0ZEdGeVltRnNiQzFpZEc1Y0lpQnZia05zYVdOclBYdG9ZVzVrYkdWRWIzZHViRzloWkgwZ2MybDZaVDFjSW5OdFlXeHNYQ0krWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHhFYjNkdWJHOWhaRWxqYjI0Z0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUR3dlJtRmlQbHh1SUNBZ0lDQWdJQ0FnSUNsOVhHNGdJQ0FnSUNBZ0lEd3ZWRzl2YkhScGNENWNiaUFnSUNBZ0lDazdYRzRnSUNBZ1kyRnpaU0FuVWtGWFgwUkJWRUVuT2x4dUlDQWdJQ0FnY21WMGRYSnVJQ2hjYmlBZ0lDQWdJQ0FnUEZSdmIyeDBhWEFnZEdsMGJHVTllM1FvSjJGamRHbHZiaTFpWVhJdFlXTjBhVzl1TG5KaGR5Y3BJR0Z6SUhOMGNtbHVaMzArWEc0Z0lDQWdJQ0FnSUNBZ1BFWmhZaUJrWVhSaExYUmxjM1JwWkQxY0luSmhkeTFpZEc1Y0lpQnZia05zYVdOclBYdGhZM1JwYjI1OUlITnBlbVU5WENKemJXRnNiRndpUGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRkpoZDA5dVNXTnZiaUF2UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZSbUZpUGx4dUlDQWdJQ0FnSUNBOEwxUnZiMngwYVhBK1hHNGdJQ0FnSUNBcE8xeHVJQ0I5WEc1OU8xeHVYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQkJZM1JwYjI1Q1lYSkJZM1JwYjI0N1hHNGlYWDA9ICovXCIpO1xudmFyIEFjdGlvbkJhckFjdGlvbiA9ICh7IHR5cGUsIGxpbmssIGFjdGlvbiB9KSA9PiB7XG5cdGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcblx0Y29uc3QgeyBpc0xvYWRpbmcgfSA9IHVzZVZlcnNpb24oKTtcblx0Y29uc3QgeyBkb3dubG9hZFRhcmJhbGwgfSA9IHVzZURvd25sb2FkKCk7XG5cdGNvbnN0IGhhbmRsZURvd25sb2FkID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuXHRcdGRvd25sb2FkVGFyYmFsbD8uKHsgbGluayB9KTtcblx0fSwgW2xpbmssIGRvd25sb2FkVGFyYmFsbF0pO1xuXHRzd2l0Y2ggKHR5cGUpIHtcblx0XHRjYXNlIFwiVklTSVRfSE9NRVBBR0VcIjogcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goVG9vbHRpcCwge1xuXHRcdFx0dGl0bGU6IHQoXCJhY3Rpb24tYmFyLWFjdGlvbi52aXNpdC1ob21lLXBhZ2VcIiksXG5cdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChMaW5rRXh0ZXJuYWwsIHtcblx0XHRcdFx0dG86IGxpbmssXG5cdFx0XHRcdHZhcmlhbnQ6IFwiYnV0dG9uXCIsXG5cdFx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEZhYiwge1xuXHRcdFx0XHRcdGNvbG9yOiBcInByaW1hcnlcIixcblx0XHRcdFx0XHRzaXplOiBcInNtYWxsXCIsXG5cdFx0XHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goSG9tZUljb24sIHt9KVxuXHRcdFx0XHR9KVxuXHRcdFx0fSlcblx0XHR9KTtcblx0XHRjYXNlIFwiT1BFTl9BTl9JU1NVRVwiOiByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChUb29sdGlwLCB7XG5cdFx0XHR0aXRsZTogdChcImFjdGlvbi1iYXItYWN0aW9uLm9wZW4tYW4taXNzdWVcIiksXG5cdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChMaW5rRXh0ZXJuYWwsIHtcblx0XHRcdFx0dG86IGxpbmssXG5cdFx0XHRcdHZhcmlhbnQ6IFwiYnV0dG9uXCIsXG5cdFx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEZhYiwge1xuXHRcdFx0XHRcdHNpemU6IFwic21hbGxcIixcblx0XHRcdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChCdWdSZXBvcnQsIHt9KVxuXHRcdFx0XHR9KVxuXHRcdFx0fSlcblx0XHR9KTtcblx0XHRjYXNlIFwiRE9XTkxPQURfVEFSQkFMTFwiOiByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChUb29sdGlwLCB7XG5cdFx0XHR0aXRsZTogdChcImFjdGlvbi1iYXItYWN0aW9uLmRvd25sb2FkLXRhcmJhbGxcIiksXG5cdFx0XHRjaGlsZHJlbjogaXNMb2FkaW5nID8gLyogQF9fUFVSRV9fICovIGpzeChDaXJjdWxhclByb2dyZXNzLCB7IHN4OiB7IG1hcmdpblg6IDAgfSB9KSA6IC8qIEBfX1BVUkVfXyAqLyBqc3goRmFiLCB7XG5cdFx0XHRcdFwiZGF0YS10ZXN0aWRcIjogXCJkb3dubG9hZC10YXJiYWxsLWJ0blwiLFxuXHRcdFx0XHRvbkNsaWNrOiBoYW5kbGVEb3dubG9hZCxcblx0XHRcdFx0c2l6ZTogXCJzbWFsbFwiLFxuXHRcdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChEb3dubG9hZEljb24sIHt9KVxuXHRcdFx0fSlcblx0XHR9KTtcblx0XHRjYXNlIFwiUkFXX0RBVEFcIjogcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goVG9vbHRpcCwge1xuXHRcdFx0dGl0bGU6IHQoXCJhY3Rpb24tYmFyLWFjdGlvbi5yYXdcIiksXG5cdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChGYWIsIHtcblx0XHRcdFx0XCJkYXRhLXRlc3RpZFwiOiBcInJhdy1idG5cIixcblx0XHRcdFx0b25DbGljazogYWN0aW9uLFxuXHRcdFx0XHRzaXplOiBcInNtYWxsXCIsXG5cdFx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFJhd09uSWNvbiwge30pXG5cdFx0XHR9KVxuXHRcdH0pO1xuXHR9XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBBY3Rpb25CYXJBY3Rpb24gYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1BY3Rpb25CYXJBY3Rpb24ubWpzLm1hcCIsImltcG9ydCB7IGlzVVJMIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3VybC5tanNcIjtcbmltcG9ydCBcIi4uLy4uL3V0aWxzL2luZGV4Lm1qc1wiO1xuaW1wb3J0IFJhd1ZpZXdlciBmcm9tIFwiLi4vUmF3Vmlld2VyL1Jhd1ZpZXdlci5tanNcIjtcbmltcG9ydCBcIi4uL1Jhd1ZpZXdlci9pbmRleC5tanNcIjtcbmltcG9ydCBBY3Rpb25CYXJBY3Rpb24gZnJvbSBcIi4vQWN0aW9uQmFyQWN0aW9uLm1qc1wiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IEJveCBmcm9tIFwiQG11aS9tYXRlcmlhbC9Cb3hcIjtcbmltcG9ydCBTdGFjayBmcm9tIFwiQG11aS9tYXRlcmlhbC9TdGFja1wiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0FjdGlvbkJhci9BY3Rpb25CYXIudHN4XG52YXIgQWN0aW9uQmFyID0gKHsgc2hvd1Jhdywgc2hvd0Rvd25sb2FkVGFyYmFsbCA9IHRydWUsIHBhY2thZ2VNZXRhIH0pID0+IHtcblx0Y29uc3QgW2lzUmF3Vmlld2VyT3Blbiwgc2V0SXNSYXdWaWV3ZXJPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcblx0aWYgKCFwYWNrYWdlTWV0YT8ubGF0ZXN0KSByZXR1cm4gbnVsbDtcblx0Y29uc3QgeyBob21lcGFnZSwgYnVncywgZGlzdCB9ID0gcGFja2FnZU1ldGEubGF0ZXN0O1xuXHRjb25zdCBhY3Rpb25zID0gW107XG5cdGlmIChob21lcGFnZSAmJiBpc1VSTChob21lcGFnZSkpIGFjdGlvbnMucHVzaCh7XG5cdFx0dHlwZTogXCJWSVNJVF9IT01FUEFHRVwiLFxuXHRcdGxpbms6IGhvbWVwYWdlXG5cdH0pO1xuXHRpZiAoYnVncz8udXJsICYmIGlzVVJMKGJ1Z3MudXJsKSkgYWN0aW9ucy5wdXNoKHtcblx0XHR0eXBlOiBcIk9QRU5fQU5fSVNTVUVcIixcblx0XHRsaW5rOiBidWdzLnVybFxuXHR9KTtcblx0aWYgKGRpc3Q/LnRhcmJhbGwgJiYgaXNVUkwoZGlzdC50YXJiYWxsKSAmJiBzaG93RG93bmxvYWRUYXJiYWxsKSBhY3Rpb25zLnB1c2goe1xuXHRcdHR5cGU6IFwiRE9XTkxPQURfVEFSQkFMTFwiLFxuXHRcdGxpbms6IGRpc3QudGFyYmFsbFxuXHR9KTtcblx0aWYgKHNob3dSYXcpIGFjdGlvbnMucHVzaCh7XG5cdFx0dHlwZTogXCJSQVdfREFUQVwiLFxuXHRcdGFjdGlvbjogKCkgPT4gc2V0SXNSYXdWaWV3ZXJPcGVuKHRydWUpXG5cdH0pO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChCb3gsIHtcblx0XHRhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuXHRcdGRpc3BsYXk6IFwiZmxleFwiLFxuXHRcdHN4OiB7IG15OiAyIH0sXG5cdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3hzKFN0YWNrLCB7XG5cdFx0XHRkaXJlY3Rpb246IFwicm93XCIsXG5cdFx0XHRzcGFjaW5nOiAxLFxuXHRcdFx0Y2hpbGRyZW46IFthY3Rpb25zLm1hcCgoYWN0aW9uKSA9PiAvKiBAX19QVVJFX18gKi8ganN4KEFjdGlvbkJhckFjdGlvbiwgeyAuLi5hY3Rpb24gfSwgYWN0aW9uLnR5cGUpKSwgaXNSYXdWaWV3ZXJPcGVuICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goUmF3Vmlld2VyLCB7XG5cdFx0XHRcdGlzT3BlbjogaXNSYXdWaWV3ZXJPcGVuLFxuXHRcdFx0XHRvbkNsb3NlOiAoKSA9PiB7XG5cdFx0XHRcdFx0c2V0SXNSYXdWaWV3ZXJPcGVuKGZhbHNlKTtcblx0XHRcdFx0fSxcblx0XHRcdFx0cGFja2FnZU1ldGFcblx0XHRcdH0pXVxuXHRcdH0pXG5cdH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgQWN0aW9uQmFyIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9QWN0aW9uQmFyLm1qcy5tYXAiLCJpbXBvcnQgeyBpc0VtYWlsLCBpc1VSTCB9IGZyb20gXCIuLi8uLi91dGlscy91cmwubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi91dGlscy9pbmRleC5tanNcIjtcbmltcG9ydCBMaW5rRXh0ZXJuYWwgZnJvbSBcIi4uL0xpbmtFeHRlcm5hbC9MaW5rRXh0ZXJuYWwubWpzXCI7XG5pbXBvcnQgXCIuLi9MaW5rRXh0ZXJuYWwvaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgVHlwb2dyYXBoeSBmcm9tIFwiQG11aS9tYXRlcmlhbC9UeXBvZ3JhcGh5XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvUGVyc29uL1BlcnNvblRvb2x0aXAudHN4XG52YXIgUGVyc29uVG9vbHRpcCA9ICh7IHBlcnNvbiB9KSA9PiAvKiBAX19QVVJFX18gKi8ganN4cyhUeXBvZ3JhcGh5LCB7XG5cdFwiZGF0YS10ZXN0aWRcIjogcGVyc29uLm5hbWUgKyBcIi10b29sdGlwXCIsXG5cdGNoaWxkcmVuOiBbXG5cdFx0cGVyc29uLm5hbWUsXG5cdFx0cGVyc29uLmVtYWlsICYmIGlzRW1haWwocGVyc29uLmVtYWlsKSAmJiAvKiBAX19QVVJFX18gKi8ganN4cyhMaW5rRXh0ZXJuYWwsIHtcblx0XHRcdHRvOiBgbWFpbHRvOiR7cGVyc29uLmVtYWlsfWAsXG5cdFx0XHRjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goXCJiclwiLCB7fSksIHBlcnNvbi5lbWFpbF1cblx0XHR9KSxcblx0XHRwZXJzb24udXJsICYmIGlzVVJMKHBlcnNvbi51cmwpICYmIC8qIEBfX1BVUkVfXyAqLyBqc3hzKExpbmtFeHRlcm5hbCwge1xuXHRcdFx0dG86IHBlcnNvbi51cmwsXG5cdFx0XHRjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goXCJiclwiLCB7fSksIHBlcnNvbi51cmxdXG5cdFx0fSlcblx0XVxufSk7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IFBlcnNvblRvb2x0aXAgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1QZXJzb25Ub29sdGlwLm1qcy5tYXAiLCJpbXBvcnQgeyBpc0VtYWlsLCBpc1VSTCB9IGZyb20gXCIuLi8uLi91dGlscy91cmwubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi91dGlscy9pbmRleC5tanNcIjtcbmltcG9ydCBpMThuZXh0IGZyb20gXCJpMThuZXh0XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvUGVyc29uL3V0aWxzLnRzXG5mdW5jdGlvbiBnZXRMaW5rKHBlcnNvbiwgcGFja2FnZU5hbWUsIHZlcnNpb24pIHtcblx0cmV0dXJuIHBlcnNvbi5lbWFpbCAmJiBpc0VtYWlsKHBlcnNvbi5lbWFpbCkgPyBgbWFpbHRvOiR7cGVyc29uLmVtYWlsfT9zdWJqZWN0PSR7cGFja2FnZU5hbWV9IHYke3ZlcnNpb259YCA6IHBlcnNvbi51cmwgJiYgaXNVUkwocGVyc29uLnVybCkgPyBwZXJzb24udXJsIDogXCJcIjtcbn1cbmZ1bmN0aW9uIGdldE5hbWUobmFtZSkge1xuXHRyZXR1cm4gIW5hbWUgPyBpMThuZXh0LnQoXCJhdXRob3ItdW5rbm93blwiKSA6IG5hbWUudG9Mb3dlckNhc2UoKSA9PT0gXCJhbm9ueW1vdXNcIiA/IGkxOG5leHQudChcImF1dGhvci1hbm9ueW1vdXNcIikgOiBuYW1lO1xufVxuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBnZXRMaW5rLCBnZXROYW1lIH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXV0aWxzLm1qcy5tYXAiLCJpbXBvcnQgTGlua0V4dGVybmFsIGZyb20gXCIuLi9MaW5rRXh0ZXJuYWwvTGlua0V4dGVybmFsLm1qc1wiO1xuaW1wb3J0IFwiLi4vTGlua0V4dGVybmFsL2luZGV4Lm1qc1wiO1xuaW1wb3J0IFBlcnNvblRvb2x0aXAgZnJvbSBcIi4vUGVyc29uVG9vbHRpcC5tanNcIjtcbmltcG9ydCB7IGdldExpbmssIGdldE5hbWUgfSBmcm9tIFwiLi91dGlscy5tanNcIjtcbmltcG9ydCB7IEZyYWdtZW50LCBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBUb29sdGlwIGZyb20gXCJAbXVpL21hdGVyaWFsL1Rvb2x0aXBcIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCBBdmF0YXIgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQXZhdGFyXCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvUGVyc29uL1BlcnNvbi50c3hcbnZhciBQZXJzb24gPSAoeyBwZXJzb24sIHBhY2thZ2VOYW1lLCB2ZXJzaW9uLCB3aXRoVGV4dCA9IGZhbHNlIH0pID0+IHtcblx0Y29uc3QgbGluayA9IGdldExpbmsocGVyc29uLCBwYWNrYWdlTmFtZSwgdmVyc2lvbik7XG5cdGNvbnN0IGF2YXRhckNvbXBvbmVudCA9IC8qIEBfX1BVUkVfXyAqLyBqc3goQXZhdGFyLCB7XG5cdFx0YWx0OiBwZXJzb24ubmFtZSxcblx0XHRzcmM6IHBlcnNvbi5hdmF0YXIsXG5cdFx0c3g6IHtcblx0XHRcdHdpZHRoOiA0MCxcblx0XHRcdGhlaWdodDogNDAsXG5cdFx0XHRtbDogMCxcblx0XHRcdG1yOiAxXG5cdFx0fVxuXHR9KTtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKEZyYWdtZW50LCB7IGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChUb29sdGlwLCB7XG5cdFx0XCJkYXRhLXRlc3RpZFwiOiBwZXJzb24ubmFtZSxcblx0XHR0aXRsZTogLyogQF9fUFVSRV9fICovIGpzeChQZXJzb25Ub29sdGlwLCB7IHBlcnNvbiB9KSxcblx0XHRjaGlsZHJlbjogbGluay5sZW5ndGggPiAwID8gLyogQF9fUFVSRV9fICovIGpzeChMaW5rRXh0ZXJuYWwsIHtcblx0XHRcdHRvOiBsaW5rLFxuXHRcdFx0Y2hpbGRyZW46IGF2YXRhckNvbXBvbmVudFxuXHRcdH0pIDogYXZhdGFyQ29tcG9uZW50XG5cdH0sIHBlcnNvbi5lbWFpbCksIHdpdGhUZXh0ICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goVHlwb2dyYXBoeSwge1xuXHRcdHN4OiB7IG1sOiAxIH0sXG5cdFx0dmFyaWFudDogXCJzdWJ0aXRsZTJcIixcblx0XHRjaGlsZHJlbjogZ2V0TmFtZShwZXJzb24ubmFtZSlcblx0fSldIH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgUGVyc29uIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9UGVyc29uLm1qcy5tYXAiLCJpbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbmltcG9ydCB7IFR5cG9ncmFwaHkgfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IExpc3RJdGVtIGZyb20gXCJAbXVpL21hdGVyaWFsL0xpc3RJdGVtXCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvQXV0aG9yL3N0eWxlcy50c1xuZnVuY3Rpb24gX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX18oKSB7XG5cdHJldHVybiBcIllvdSBoYXZlIHRyaWVkIHRvIHN0cmluZ2lmeSBvYmplY3QgcmV0dXJuZWQgZnJvbSBgY3NzYCBmdW5jdGlvbi4gSXQgaXNuJ3Qgc3VwcG9zZWQgdG8gYmUgdXNlZCBkaXJlY3RseSAoZS5nLiBhcyB2YWx1ZSBvZiB0aGUgYGNsYXNzTmFtZWAgcHJvcCksIGJ1dCByYXRoZXIgaGFuZGVkIHRvIGVtb3Rpb24gc28gaXQgY2FuIGhhbmRsZSBpdCAoZS5nLiBhcyB2YWx1ZSBvZiBgY3NzYCBwcm9wKS5cIjtcbn1cbnZhciBTdHlsZWRUZXh0ID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoVHlwb2dyYXBoeSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTRpZm8zNzFcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTRpZm8zNzFcIixcblx0bGFiZWw6IFwiU3R5bGVkVGV4dFwiXG59KSgocHJvcHMpID0+ICh7IGZvbnRXZWlnaHQ6IHByb3BzLnRoZW1lLmZvbnRXZWlnaHQuYm9sZCB9KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OUJkWFJvYjNJdmMzUjViR1Z6TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVMHdRaUlzSW1acGJHVWlPaUl2YUc5dFpTOXlkVzV1WlhJdmQyOXlheTkyWlhKa1lXTmphVzh2ZG1WeVpHRmpZMmx2TDNCaFkydGhaMlZ6TDNWcExXTnZiWEJ2Ym1WdWRITXZjM0pqTDJOdmJYQnZibVZ1ZEhNdlFYVjBhRzl5TDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQjdJRlI1Y0c5bmNtRndhSGtnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0p6dGNibWx0Y0c5eWRDQk1hWE4wU1hSbGJTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMHhwYzNSSmRHVnRKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1TDFSb1pXMWxKenRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRk4wZVd4bFpGUmxlSFFnUFNCemRIbHNaV1FvVkhsd2IyZHlZWEJvZVNrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaHdjbTl3Y3lrZ1BUNGdLSHRjYmlBZ1ptOXVkRmRsYVdkb2REb2djSEp2Y0hNdWRHaGxiV1V1Wm05dWRGZGxhV2RvZEM1aWIyeGtMRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1FYVjBhRzl5VEdsemRFbDBaVzBnUFNCemRIbHNaV1FvVEdsemRFbDBaVzBwS0h0Y2JpQWdjR0ZrWkdsdVp6b2dNQ3hjYmlBZ0p6cG9iM1psY2ljNklIdGNiaUFnSUNCaVlXTnJaM0p2ZFc1a1EyOXNiM0k2SUNkMGNtRnVjM0JoY21WdWRDY3NYRzRnSUgwc1hHNTlLVHRjYmlKZGZRPT0gKi9cIik7XG52YXIgQXV0aG9yTGlzdEl0ZW0gPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChMaXN0SXRlbSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTRpZm8zNzBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTRpZm8zNzBcIixcblx0bGFiZWw6IFwiQXV0aG9yTGlzdEl0ZW1cIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcInp3NDZjNlwiLFxuXHRzdHlsZXM6IFwicGFkZGluZzowOzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O31cIlxufSA6IHtcblx0bmFtZTogXCJ6dzQ2YzZcIixcblx0c3R5bGVzOiBcInBhZGRpbmc6MDs6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDt9LyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OUJkWFJvYjNJdmMzUjViR1Z6TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFWVTRRaUlzSW1acGJHVWlPaUl2YUc5dFpTOXlkVzV1WlhJdmQyOXlheTkyWlhKa1lXTmphVzh2ZG1WeVpHRmpZMmx2TDNCaFkydGhaMlZ6TDNWcExXTnZiWEJ2Ym1WdWRITXZjM0pqTDJOdmJYQnZibVZ1ZEhNdlFYVjBhRzl5TDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQjdJRlI1Y0c5bmNtRndhSGtnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0p6dGNibWx0Y0c5eWRDQk1hWE4wU1hSbGJTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMHhwYzNSSmRHVnRKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1TDFSb1pXMWxKenRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRk4wZVd4bFpGUmxlSFFnUFNCemRIbHNaV1FvVkhsd2IyZHlZWEJvZVNrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaHdjbTl3Y3lrZ1BUNGdLSHRjYmlBZ1ptOXVkRmRsYVdkb2REb2djSEp2Y0hNdWRHaGxiV1V1Wm05dWRGZGxhV2RvZEM1aWIyeGtMRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1FYVjBhRzl5VEdsemRFbDBaVzBnUFNCemRIbHNaV1FvVEdsemRFbDBaVzBwS0h0Y2JpQWdjR0ZrWkdsdVp6b2dNQ3hjYmlBZ0p6cG9iM1psY2ljNklIdGNiaUFnSUNCaVlXTnJaM0p2ZFc1a1EyOXNiM0k2SUNkMGNtRnVjM0JoY21WdWRDY3NYRzRnSUgwc1hHNTlLVHRjYmlKZGZRPT0gKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgQXV0aG9yTGlzdEl0ZW0sIFN0eWxlZFRleHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3R5bGVzLm1qcy5tYXAiLCJpbXBvcnQgUGVyc29uIGZyb20gXCIuLi9QZXJzb24vUGVyc29uLm1qc1wiO1xuaW1wb3J0IFwiLi4vUGVyc29uL2luZGV4Lm1qc1wiO1xuaW1wb3J0IHsgQXV0aG9yTGlzdEl0ZW0sIFN0eWxlZFRleHQgfSBmcm9tIFwiLi9zdHlsZXMubWpzXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgTGlzdCBmcm9tIFwiQG11aS9tYXRlcmlhbC9MaXN0XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvQXV0aG9yL0F1dGhvci50c3hcbnZhciBBdXRob3IgPSAoeyBwYWNrYWdlTWV0YSB9KSA9PiB7XG5cdGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcblx0aWYgKCFwYWNrYWdlTWV0YSkgcmV0dXJuIG51bGw7XG5cdGNvbnN0IHsgYXV0aG9yLCBuYW1lOiBwYWNrYWdlTmFtZSwgdmVyc2lvbiB9ID0gcGFja2FnZU1ldGEubGF0ZXN0O1xuXHRpZiAoIWF1dGhvcikgcmV0dXJuIG51bGw7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KExpc3QsIHtcblx0XHRzdWJoZWFkZXI6IC8qIEBfX1BVUkVfXyAqLyBqc3goU3R5bGVkVGV4dCwge1xuXHRcdFx0dmFyaWFudDogXCJzdWJ0aXRsZTFcIixcblx0XHRcdGNoaWxkcmVuOiB0KFwic2lkZWJhci5hdXRob3IudGl0bGVcIilcblx0XHR9KSxcblx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChBdXRob3JMaXN0SXRlbSwge1xuXHRcdFx0c3g6IHsgbXk6IDEgfSxcblx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFBlcnNvbiwge1xuXHRcdFx0XHRwYWNrYWdlTmFtZSxcblx0XHRcdFx0cGVyc29uOiBhdXRob3IsXG5cdFx0XHRcdHZlcnNpb24sXG5cdFx0XHRcdHdpdGhUZXh0OiB0cnVlXG5cdFx0XHR9KVxuXHRcdH0pXG5cdH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgQXV0aG9yIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9QXV0aG9yLm1qcy5tYXAiLCJpbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgQWxlcnQgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQWxlcnRcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9EZXByZWNhdGVkL0RlcHJlY2F0ZWQudHN4XG52YXIgRGVwcmVjYXRlZCA9ICh7IG1lc3NhZ2UgfSkgPT4ge1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChBbGVydCwge1xuXHRcdHNldmVyaXR5OiBcIndhcm5pbmdcIixcblx0XHRzeDoge1xuXHRcdFx0bWFyZ2luVG9wOiAxLFxuXHRcdFx0bWFyZ2luQm90dG9tOiAxXG5cdFx0fSxcblx0XHRjaGlsZHJlbjogbWVzc2FnZVxuXHR9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IERlcHJlY2F0ZWQgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1EZXByZWNhdGVkLm1qcy5tYXAiLCIvLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvRGV2ZWxvcGVycy9EZXZlbG9wZXJUeXBlLnRzeFxudmFyIERldmVsb3BlclR5cGUgPSAvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oRGV2ZWxvcGVyVHlwZSkge1xuXHREZXZlbG9wZXJUeXBlW1wiQ09OVFJJQlVUT1JTXCJdID0gXCJjb250cmlidXRvcnNcIjtcblx0RGV2ZWxvcGVyVHlwZVtcIk1BSU5UQUlORVJTXCJdID0gXCJtYWludGFpbmVyc1wiO1xuXHRyZXR1cm4gRGV2ZWxvcGVyVHlwZTtcbn0oe30pO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBEZXZlbG9wZXJUeXBlIH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPURldmVsb3BlclR5cGUubWpzLm1hcCIsImltcG9ydCB7IERldmVsb3BlclR5cGUgfSBmcm9tIFwiLi9EZXZlbG9wZXJUeXBlLm1qc1wiO1xuaW1wb3J0IFwiLi9pbmRleC5tanNcIjtcbmltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IFR5cG9ncmFwaHkgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvVHlwb2dyYXBoeVwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0RldmVsb3BlcnMvVGl0bGUudHN4XG52YXIgVGl0bGUgPSAoeyB0eXBlIH0pID0+IHtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRzd2l0Y2ggKHR5cGUpIHtcblx0XHRjYXNlIERldmVsb3BlclR5cGUuQ09OVFJJQlVUT1JTOiByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTdHlsZWRUZXh0LCB7XG5cdFx0XHR2YXJpYW50OiBcInN1YnRpdGxlMVwiLFxuXHRcdFx0Y2hpbGRyZW46IHQoXCJzaWRlYmFyLmNvbnRyaWJ1dG9ycy50aXRsZVwiKVxuXHRcdH0pO1xuXHRcdGNhc2UgRGV2ZWxvcGVyVHlwZS5NQUlOVEFJTkVSUzogcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goU3R5bGVkVGV4dCwge1xuXHRcdFx0dmFyaWFudDogXCJzdWJ0aXRsZTFcIixcblx0XHRcdGNoaWxkcmVuOiB0KFwic2lkZWJhci5tYWludGFpbmVycy50aXRsZVwiKVxuXHRcdH0pO1xuXHR9XG59O1xudmFyIFN0eWxlZFRleHQgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChUeXBvZ3JhcGh5LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMXNzcmphcDBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTFzc3JqYXAwXCIsXG5cdGxhYmVsOiBcIlN0eWxlZFRleHRcIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0Zm9udFdlaWdodDogdGhlbWUuZm9udFdlaWdodC5ib2xkLFxuXHRtYXJnaW5Cb3R0b206IFwiMTBweFwiXG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OUVaWFpsYkc5d1pYSnpMMVJwZEd4bExuUnplQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUYzUW0xQ0lpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlFWlhabGJHOXdaWEp6TDFScGRHeGxMblJ6ZUNJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQlVlWEJ2WjNKaGNHaDVJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2Vkhsd2IyZHlZWEJvZVNjN1hHNXBiWEJ2Y25RZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHVhVzF3YjNKMElIc2dkWE5sVkhKaGJuTnNZWFJwYjI0Z2ZTQm1jbTl0SUNkeVpXRmpkQzFwTVRodVpYaDBKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1TDFSb1pXMWxKenRjYm1sdGNHOXlkQ0I3SUVSbGRtVnNiM0JsY2xSNWNHVWdmU0JtY205dElDY3VMeWM3WEc1Y2JtbHVkR1Z5Wm1GalpTQlFjbTl3Y3lCN1hHNGdJSFI1Y0dVNklFUmxkbVZzYjNCbGNsUjVjR1U3WEc1OVhHNWNibU52Ym5OMElGUnBkR3hsT2lCU1pXRmpkQzVHUXp4UWNtOXdjejRnUFNBb2V5QjBlWEJsSUgwcElEMCtJSHRjYmlBZ1kyOXVjM1FnZXlCMElIMGdQU0IxYzJWVWNtRnVjMnhoZEdsdmJpZ3BPMXh1SUNCemQybDBZMmdnS0hSNWNHVXBJSHRjYmlBZ0lDQmpZWE5sSUVSbGRtVnNiM0JsY2xSNWNHVXVRMDlPVkZKSlFsVlVUMUpUT2x4dUlDQWdJQ0FnY21WMGRYSnVJRHhUZEhsc1pXUlVaWGgwSUhaaGNtbGhiblE5ZXlkemRXSjBhWFJzWlRFbmZUNTdkQ2duYzJsa1pXSmhjaTVqYjI1MGNtbGlkWFJ2Y25NdWRHbDBiR1VuS1gwOEwxTjBlV3hsWkZSbGVIUStPMXh1SUNBZ0lHTmhjMlVnUkdWMlpXeHZjR1Z5Vkhsd1pTNU5RVWxPVkVGSlRrVlNVenBjYmlBZ0lDQWdJSEpsZEhWeWJpQThVM1I1YkdWa1ZHVjRkQ0IyWVhKcFlXNTBQWHNuYzNWaWRHbDBiR1V4SjMwK2UzUW9KM05wWkdWaVlYSXViV0ZwYm5SaGFXNWxjbk11ZEdsMGJHVW5LWDA4TDFOMGVXeGxaRlJsZUhRK08xeHVJQ0I5WEc1OU8xeHVYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQlVhWFJzWlR0Y2JseHVZMjl1YzNRZ1UzUjViR1ZrVkdWNGRDQTlJSE4wZVd4bFpDaFVlWEJ2WjNKaGNHaDVLVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ1ptOXVkRmRsYVdkb2REb2dkR2hsYldVdVptOXVkRmRsYVdkb2RDNWliMnhrTEZ4dUlDQnRZWEpuYVc1Q2IzUjBiMjA2SUNjeE1IQjRKeXhjYm4wcEtUdGNiaUpkZlE9PSAqL1wiKTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgVGl0bGUgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1UaXRsZS5tanMubWFwIiwiLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0RldmVsb3BlcnMvZ2V0LXVuaXF1ZS1kZXZlbG9wZXItdmFsdWVzLnRzXG5mdW5jdGlvbiBnZXRVbmlxdWVEZXZlbG9wZXJWYWx1ZXMoZGV2ZWxvcGVycykge1xuXHRpZiAoIWRldmVsb3BlcnMpIHJldHVybiBbXTtcblx0cmV0dXJuIGRldmVsb3BlcnMucmVkdWNlKChhY2N1bXVsYXRvciwgY3VycmVudCkgPT4gYWNjdW11bGF0b3Iuc29tZSgoZGV2ZWxvcGVyKSA9PiBkZXZlbG9wZXIuZW1haWwgPT09IGN1cnJlbnQuZW1haWwpID8gYWNjdW11bGF0b3IgOiBbLi4uYWNjdW11bGF0b3IsIGN1cnJlbnRdLCBbXSk7XG59XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IGdldFVuaXF1ZURldmVsb3BlclZhbHVlcyBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldC11bmlxdWUtZGV2ZWxvcGVyLXZhbHVlcy5tanMubWFwIiwiaW1wb3J0IFBlcnNvbiBmcm9tIFwiLi4vUGVyc29uL1BlcnNvbi5tanNcIjtcbmltcG9ydCBcIi4uL1BlcnNvbi9pbmRleC5tanNcIjtcbmltcG9ydCBUaXRsZSBmcm9tIFwiLi9UaXRsZS5tanNcIjtcbmltcG9ydCBnZXRVbmlxdWVEZXZlbG9wZXJWYWx1ZXMgZnJvbSBcIi4vZ2V0LXVuaXF1ZS1kZXZlbG9wZXItdmFsdWVzLm1qc1wiO1xuaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG5pbXBvcnQgeyBGcmFnbWVudCwganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IEJveCBmcm9tIFwiQG11aS9tYXRlcmlhbC9Cb3hcIjtcbmltcG9ydCBGYWJNVUkgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvRmFiXCI7XG5pbXBvcnQgeyBjb21tb24gfSBmcm9tIFwiQG11aS9tYXRlcmlhbC9jb2xvcnNcIjtcbmltcG9ydCBBZGQgZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvQWRkXCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvRGV2ZWxvcGVycy9EZXZlbG9wZXJzLnRzeFxuZnVuY3Rpb24gX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX18oKSB7XG5cdHJldHVybiBcIllvdSBoYXZlIHRyaWVkIHRvIHN0cmluZ2lmeSBvYmplY3QgcmV0dXJuZWQgZnJvbSBgY3NzYCBmdW5jdGlvbi4gSXQgaXNuJ3Qgc3VwcG9zZWQgdG8gYmUgdXNlZCBkaXJlY3RseSAoZS5nLiBhcyB2YWx1ZSBvZiB0aGUgYGNsYXNzTmFtZWAgcHJvcCksIGJ1dCByYXRoZXIgaGFuZGVkIHRvIGVtb3Rpb24gc28gaXQgY2FuIGhhbmRsZSBpdCAoZS5nLiBhcyB2YWx1ZSBvZiBgY3NzYCBwcm9wKS5cIjtcbn1cbnZhciBGYWIgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChGYWJNVUksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVvYzgxZmsxXCIgfSA6IHtcblx0dGFyZ2V0OiBcImVvYzgxZmsxXCIsXG5cdGxhYmVsOiBcIkZhYlwiXG59KSgocHJvcHMpID0+ICh7XG5cdGJhY2tncm91bmRDb2xvcjogcHJvcHMudGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW4sXG5cdGNvbG9yOiBjb21tb24ud2hpdGVcbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5RVpYWmxiRzl3WlhKekwwUmxkbVZzYjNCbGNuTXVkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVdGdFFpSXNJbVpwYkdVaU9pSXZhRzl0WlM5eWRXNXVaWEl2ZDI5eWF5OTJaWEprWVdOamFXOHZkbVZ5WkdGalkybHZMM0JoWTJ0aFoyVnpMM1ZwTFdOdmJYQnZibVZ1ZEhNdmMzSmpMMk52YlhCdmJtVnVkSE12UkdWMlpXeHZjR1Z5Y3k5RVpYWmxiRzl3WlhKekxuUnplQ0lzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCQlpHUWdabkp2YlNBblFHMTFhUzlwWTI5dWN5MXRZWFJsY21saGJDOUJaR1FuTzF4dWFXMXdiM0owSUVKdmVDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMEp2ZUNjN1hHNXBiWEJ2Y25RZ1JtRmlUVlZKSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlJtRmlKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaUI5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCU1pXRmpkQ3dnZXlCMWMyVkRZV3hzWW1GamF5d2dkWE5sUldabVpXTjBMQ0IxYzJWTlpXMXZMQ0IxYzJWVGRHRjBaU0I5SUdaeWIyMGdKM0psWVdOMEp6dGNibHh1YVcxd2IzSjBJSFI1Y0dVZ2V5QlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMMVJvWlcxbEp6dGNibWx0Y0c5eWRDQlFaWEp6YjI0Z1puSnZiU0FuTGk0dlVHVnljMjl1Snp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnUkdWMlpXeHZjR1Z5Vkhsd1pTQjlJR1p5YjIwZ0p5NHZSR1YyWld4dmNHVnlWSGx3WlNjN1hHNXBiWEJ2Y25RZ1ZHbDBiR1VnWm5KdmJTQW5MaTlVYVhSc1pTYzdYRzVwYlhCdmNuUWdaMlYwVlc1cGNYVmxSR1YyWld4dmNHVnlWbUZzZFdWeklHWnliMjBnSnk0dloyVjBMWFZ1YVhGMVpTMWtaWFpsYkc5d1pYSXRkbUZzZFdWekp6dGNibHh1Wlhod2IzSjBJR052Ym5OMElFWmhZaUE5SUhOMGVXeGxaQ2hHWVdKTlZVa3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvY0hKdmNITXBJRDArSUNoN1hHNGdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2djSEp2Y0hNdWRHaGxiV1V1Y0dGc1pYUjBaUzV3Y21sdFlYSjVMbTFoYVc0c1hHNGdJR052Ykc5eU9pQmpiMjF0YjI0dWQyaHBkR1VzWEc1OUtTazdYRzVjYm1sdWRHVnlabUZqWlNCUWNtOXdjeUI3WEc0Z0lIUjVjR1U2SUVSbGRtVnNiM0JsY2xSNWNHVTdYRzRnSUhacGMybGliR1ZOWVhnL09pQnVkVzFpWlhJN1hHNGdJSEJoWTJ0aFoyVk5aWFJoT2lCaGJuazdYRzU5WEc1Y2JtTnZibk4wSUZOMGVXeGxaRUp2ZUNBOUlITjBlV3hsWkNoQ2IzZ3BLSHRjYmlBZ0p6NGdLaWM2SUh0Y2JpQWdJQ0J0WVhKbmFXNVNhV2RvZERvZ05TeGNiaUFnZlN4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdWa2xUU1VKTVJWOU5RVmdnUFNBMk8xeHVYRzVqYjI1emRDQkVaWFpsYkc5d1pYSnpPaUJTWldGamRDNUdRenhRY205d2N6NGdQU0FvZXlCMGVYQmxMQ0IyYVhOcFlteGxUV0Y0SUQwZ1ZrbFRTVUpNUlY5TlFWZ3NJSEJoWTJ0aFoyVk5aWFJoSUgwcElEMCtJSHRjYmlBZ1kyOXVjM1FnWkdWMlpXeHZjR1Z5Y3lBOUlIVnpaVTFsYlc4b1hHNGdJQ0FnS0NrZ1BUNGdaMlYwVlc1cGNYVmxSR1YyWld4dmNHVnlWbUZzZFdWektIQmhZMnRoWjJWTlpYUmhQeTVzWVhSbGMzUmJkSGx3WlYwcExGeHVJQ0FnSUZ0d1lXTnJZV2RsVFdWMFlTd2dkSGx3WlYxY2JpQWdLVHRjYmx4dUlDQmpiMjV6ZENCYmRtbHphV0pzWlVSbGRtVnNiM0JsY25OTllYZ3NJSE5sZEZacGMybGliR1ZFWlhabGJHOXdaWEp6VFdGNFhTQTlJSFZ6WlZOMFlYUmxLSFpwYzJsaWJHVk5ZWGdwTzF4dUlDQmpiMjV6ZENCYmRtbHphV0pzWlVSbGRtVnNiM0JsY25Nc0lITmxkRlpwYzJsaWJHVkVaWFpsYkc5d1pYSnpYU0E5SUhWelpWTjBZWFJsS0dSbGRtVnNiM0JsY25NcE8xeHVYRzRnSUhWelpVVm1abVZqZENnb0tTQTlQaUI3WEc0Z0lDQWdhV1lnS0NGa1pYWmxiRzl3WlhKekxteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJSDFjYmx4dUlDQWdJSE5sZEZacGMybGliR1ZFWlhabGJHOXdaWEp6S0dSbGRtVnNiM0JsY25NdWMyeHBZMlVvTUN3Z2RtbHphV0pzWlVSbGRtVnNiM0JsY25OTllYZ3BLVHRjYmlBZ2ZTd2dXMlJsZG1Wc2IzQmxjbk1zSUhacGMybGliR1ZFWlhabGJHOXdaWEp6VFdGNFhTazdYRzVjYmlBZ1kyOXVjM1FnYUdGdVpHeGxVMlYwVm1semFXSnNaVVJsZG1Wc2IzQmxjbk5OWVhnZ1BTQjFjMlZEWVd4c1ltRmpheWdvS1NBOVBpQjdYRzRnSUNBZ2MyVjBWbWx6YVdKc1pVUmxkbVZzYjNCbGNuTk5ZWGdvZG1semFXSnNaVVJsZG1Wc2IzQmxjbk5OWVhnZ0t5QldTVk5KUWt4RlgwMUJXQ2s3WEc0Z0lIMHNJRnQyYVhOcFlteGxSR1YyWld4dmNHVnljMDFoZUYwcE8xeHVYRzRnSUdsbUlDZ2hkbWx6YVdKc1pVUmxkbVZzYjNCbGNuTWdmSHdnSVdSbGRtVnNiM0JsY25NdWJHVnVaM1JvS1NCN1hHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQmpiMjV6ZENCN0lHNWhiV1U2SUhCaFkydGhaMlZPWVcxbExDQjJaWEp6YVc5dUlIMGdQU0J3WVdOcllXZGxUV1YwWVM1c1lYUmxjM1E3WEc1Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNBOFBseHVJQ0FnSUNBZ1BGUnBkR3hsSUhSNWNHVTllM1I1Y0dWOUlDOCtYRzRnSUNBZ0lDQThVM1I1YkdWa1FtOTRJR1JwYzNCc1lYazlYQ0ptYkdWNFhDSWdabXhsZUZkeVlYQTlYQ0ozY21Gd1hDSWdiV0Z5WjJsdVBWd2lNVEJ3ZUNBd0lERXdjSGdnTUZ3aVBseHVJQ0FnSUNBZ0lDQjdkbWx6YVdKc1pVUmxkbVZzYjNCbGNuTXViV0Z3S0NoMmFYTnBZbXhsUkdWMlpXeHZjR1Z5TENCcGJtUmxlQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQW9YRzRnSUNBZ0lDQWdJQ0FnSUNBOFVHVnljMjl1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR3RsZVQxN2FXNWtaWGg5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSEJoWTJ0aFoyVk9ZVzFsUFh0d1lXTnJZV2RsVG1GdFpYMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2NHVnljMjl1UFh0MmFYTnBZbXhsUkdWMlpXeHZjR1Z5ZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0IyWlhKemFXOXVQWHQyWlhKemFXOXVmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FwTzF4dUlDQWdJQ0FnSUNCOUtYMWNiaUFnSUNBZ0lDQWdlM1pwYzJsaWJHVkVaWFpsYkc5d1pYSnpUV0Y0SUR3Z1pHVjJaV3h2Y0dWeWN5NXNaVzVuZEdnZ0ppWWdLRnh1SUNBZ0lDQWdJQ0FnSUR4R1lXSWdaR0YwWVMxMFpYTjBhV1E5ZXlkbVlXSXRZV1JrSjMwZ2IyNURiR2xqYXoxN2FHRnVaR3hsVTJWMFZtbHphV0pzWlVSbGRtVnNiM0JsY25OTllYaDlJSE5wZW1VOVhDSnpiV0ZzYkZ3aVBseHVJQ0FnSUNBZ0lDQWdJQ0FnUEVGa1pDQXZQbHh1SUNBZ0lDQWdJQ0FnSUR3dlJtRmlQbHh1SUNBZ0lDQWdJQ0FwZlZ4dUlDQWdJQ0FnUEM5VGRIbHNaV1JDYjNnK1hHNGdJQ0FnUEM4K1hHNGdJQ2s3WEc1OU8xeHVYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQkVaWFpsYkc5d1pYSnpPMXh1SWwxOSAqL1wiKTtcbnZhciBTdHlsZWRCb3ggPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChCb3gsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVvYzgxZmswXCIgfSA6IHtcblx0dGFyZ2V0OiBcImVvYzgxZmswXCIsXG5cdGxhYmVsOiBcIlN0eWxlZEJveFwiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwiMXNjc2llXCIsXG5cdHN0eWxlczogXCI+ICp7bWFyZ2luLXJpZ2h0OjVweDt9XCJcbn0gOiB7XG5cdG5hbWU6IFwiMXNjc2llXCIsXG5cdHN0eWxlczogXCI+ICp7bWFyZ2luLXJpZ2h0OjVweDt9LyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OUVaWFpsYkc5d1pYSnpMMFJsZG1Wc2IzQmxjbk11ZEhONElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFYZENhMElpTENKbWFXeGxJam9pTDJodmJXVXZjblZ1Ym1WeUwzZHZjbXN2ZG1WeVpHRmpZMmx2TDNabGNtUmhZMk5wYnk5d1lXTnJZV2RsY3k5MWFTMWpiMjF3YjI1bGJuUnpMM055WXk5amIyMXdiMjVsYm5SekwwUmxkbVZzYjNCbGNuTXZSR1YyWld4dmNHVnljeTUwYzNnaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2MzUjViR1ZrSUdaeWIyMGdKMEJsYlc5MGFXOXVMM04wZVd4bFpDYzdYRzVwYlhCdmNuUWdRV1JrSUdaeWIyMGdKMEJ0ZFdrdmFXTnZibk10YldGMFpYSnBZV3d2UVdSa0p6dGNibWx0Y0c5eWRDQkNiM2dnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5Q2IzZ25PMXh1YVcxd2IzSjBJRVpoWWsxVlNTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMFpoWWljN1hHNXBiWEJ2Y25RZ2V5QmpiMjF0YjI0Z2ZTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMk52Ykc5eWN5YzdYRzVwYlhCdmNuUWdVbVZoWTNRc0lIc2dkWE5sUTJGc2JHSmhZMnNzSUhWelpVVm1abVZqZEN3Z2RYTmxUV1Z0Ynl3Z2RYTmxVM1JoZEdVZ2ZTQm1jbTl0SUNkeVpXRmpkQ2M3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk5VWFHVnRaU2M3WEc1cGJYQnZjblFnVUdWeWMyOXVJR1p5YjIwZ0p5NHVMMUJsY25OdmJpYzdYRzVwYlhCdmNuUWdkSGx3WlNCN0lFUmxkbVZzYjNCbGNsUjVjR1VnZlNCbWNtOXRJQ2N1TDBSbGRtVnNiM0JsY2xSNWNHVW5PMXh1YVcxd2IzSjBJRlJwZEd4bElHWnliMjBnSnk0dlZHbDBiR1VuTzF4dWFXMXdiM0owSUdkbGRGVnVhWEYxWlVSbGRtVnNiM0JsY2xaaGJIVmxjeUJtY205dElDY3VMMmRsZEMxMWJtbHhkV1V0WkdWMlpXeHZjR1Z5TFhaaGJIVmxjeWM3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JHWVdJZ1BTQnpkSGxzWldRb1JtRmlUVlZKS1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIQnliM0J6S1NBOVBpQW9lMXh1SUNCaVlXTnJaM0p2ZFc1a1EyOXNiM0k2SUhCeWIzQnpMblJvWlcxbExuQmhiR1YwZEdVdWNISnBiV0Z5ZVM1dFlXbHVMRnh1SUNCamIyeHZjam9nWTI5dGJXOXVMbmRvYVhSbExGeHVmU2twTzF4dVhHNXBiblJsY21aaFkyVWdVSEp2Y0hNZ2UxeHVJQ0IwZVhCbE9pQkVaWFpsYkc5d1pYSlVlWEJsTzF4dUlDQjJhWE5wWW14bFRXRjRQem9nYm5WdFltVnlPMXh1SUNCd1lXTnJZV2RsVFdWMFlUb2dZVzU1TzF4dWZWeHVYRzVqYjI1emRDQlRkSGxzWldSQ2IzZ2dQU0J6ZEhsc1pXUW9RbTk0S1NoN1hHNGdJQ2MrSUNvbk9pQjdYRzRnSUNBZ2JXRnlaMmx1VW1sbmFIUTZJRFVzWEc0Z0lIMHNYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZaSlUwbENURVZmVFVGWUlEMGdOanRjYmx4dVkyOXVjM1FnUkdWMlpXeHZjR1Z5Y3pvZ1VtVmhZM1F1UmtNOFVISnZjSE0rSUQwZ0tIc2dkSGx3WlN3Z2RtbHphV0pzWlUxaGVDQTlJRlpKVTBsQ1RFVmZUVUZZTENCd1lXTnJZV2RsVFdWMFlTQjlLU0E5UGlCN1hHNGdJR052Ym5OMElHUmxkbVZzYjNCbGNuTWdQU0IxYzJWTlpXMXZLRnh1SUNBZ0lDZ3BJRDArSUdkbGRGVnVhWEYxWlVSbGRtVnNiM0JsY2xaaGJIVmxjeWh3WVdOcllXZGxUV1YwWVQ4dWJHRjBaWE4wVzNSNWNHVmRLU3hjYmlBZ0lDQmJjR0ZqYTJGblpVMWxkR0VzSUhSNWNHVmRYRzRnSUNrN1hHNWNiaUFnWTI5dWMzUWdXM1pwYzJsaWJHVkVaWFpsYkc5d1pYSnpUV0Y0TENCelpYUldhWE5wWW14bFJHVjJaV3h2Y0dWeWMwMWhlRjBnUFNCMWMyVlRkR0YwWlNoMmFYTnBZbXhsVFdGNEtUdGNiaUFnWTI5dWMzUWdXM1pwYzJsaWJHVkVaWFpsYkc5d1pYSnpMQ0J6WlhSV2FYTnBZbXhsUkdWMlpXeHZjR1Z5YzEwZ1BTQjFjMlZUZEdGMFpTaGtaWFpsYkc5d1pYSnpLVHRjYmx4dUlDQjFjMlZGWm1abFkzUW9LQ2tnUFQ0Z2UxeHVJQ0FnSUdsbUlDZ2haR1YyWld4dmNHVnljeTVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNCOVhHNWNiaUFnSUNCelpYUldhWE5wWW14bFJHVjJaV3h2Y0dWeWN5aGtaWFpsYkc5d1pYSnpMbk5zYVdObEtEQXNJSFpwYzJsaWJHVkVaWFpsYkc5d1pYSnpUV0Y0S1NrN1hHNGdJSDBzSUZ0a1pYWmxiRzl3WlhKekxDQjJhWE5wWW14bFJHVjJaV3h2Y0dWeWMwMWhlRjBwTzF4dVhHNGdJR052Ym5OMElHaGhibVJzWlZObGRGWnBjMmxpYkdWRVpYWmxiRzl3WlhKelRXRjRJRDBnZFhObFEyRnNiR0poWTJzb0tDa2dQVDRnZTF4dUlDQWdJSE5sZEZacGMybGliR1ZFWlhabGJHOXdaWEp6VFdGNEtIWnBjMmxpYkdWRVpYWmxiRzl3WlhKelRXRjRJQ3NnVmtsVFNVSk1SVjlOUVZncE8xeHVJQ0I5TENCYmRtbHphV0pzWlVSbGRtVnNiM0JsY25OTllYaGRLVHRjYmx4dUlDQnBaaUFvSVhacGMybGliR1ZFWlhabGJHOXdaWEp6SUh4OElDRmtaWFpsYkc5d1pYSnpMbXhsYm1kMGFDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNCOVhHNWNiaUFnWTI5dWMzUWdleUJ1WVcxbE9pQndZV05yWVdkbFRtRnRaU3dnZG1WeWMybHZiaUI5SUQwZ2NHRmphMkZuWlUxbGRHRXViR0YwWlhOME8xeHVYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRDVjYmlBZ0lDQWdJRHhVYVhSc1pTQjBlWEJsUFh0MGVYQmxmU0F2UGx4dUlDQWdJQ0FnUEZOMGVXeGxaRUp2ZUNCa2FYTndiR0Y1UFZ3aVpteGxlRndpSUdac1pYaFhjbUZ3UFZ3aWQzSmhjRndpSUcxaGNtZHBiajFjSWpFd2NIZ2dNQ0F4TUhCNElEQmNJajVjYmlBZ0lDQWdJQ0FnZTNacGMybGliR1ZFWlhabGJHOXdaWEp6TG0xaGNDZ29kbWx6YVdKc1pVUmxkbVZzYjNCbGNpd2dhVzVrWlhncElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnSUNBZ0lDQWdQRkJsY25OdmJseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCclpYazllMmx1WkdWNGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCd1lXTnJZV2RsVG1GdFpUMTdjR0ZqYTJGblpVNWhiV1Y5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSEJsY25OdmJqMTdkbWx6YVdKc1pVUmxkbVZzYjNCbGNuMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2RtVnljMmx2YmoxN2RtVnljMmx2Ym4xY2JpQWdJQ0FnSUNBZ0lDQWdJQzgrWEc0Z0lDQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lDQWdmU2w5WEc0Z0lDQWdJQ0FnSUh0MmFYTnBZbXhsUkdWMlpXeHZjR1Z5YzAxaGVDQThJR1JsZG1Wc2IzQmxjbk11YkdWdVozUm9JQ1ltSUNoY2JpQWdJQ0FnSUNBZ0lDQThSbUZpSUdSaGRHRXRkR1Z6ZEdsa1BYc25abUZpTFdGa1pDZDlJRzl1UTJ4cFkyczllMmhoYm1Sc1pWTmxkRlpwYzJsaWJHVkVaWFpsYkc5d1pYSnpUV0Y0ZlNCemFYcGxQVndpYzIxaGJHeGNJajVjYmlBZ0lDQWdJQ0FnSUNBZ0lEeEJaR1FnTHo1Y2JpQWdJQ0FnSUNBZ0lDQThMMFpoWWo1Y2JpQWdJQ0FnSUNBZ0tYMWNiaUFnSUNBZ0lEd3ZVM1I1YkdWa1FtOTRQbHh1SUNBZ0lEd3ZQbHh1SUNBcE8xeHVmVHRjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnUkdWMlpXeHZjR1Z5Y3p0Y2JpSmRmUT09ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgRGV2ZWxvcGVycyA9ICh7IHR5cGUsIHZpc2libGVNYXggPSA2LCBwYWNrYWdlTWV0YSB9KSA9PiB7XG5cdGNvbnN0IGRldmVsb3BlcnMgPSB1c2VNZW1vKCgpID0+IGdldFVuaXF1ZURldmVsb3BlclZhbHVlcyhwYWNrYWdlTWV0YT8ubGF0ZXN0W3R5cGVdKSwgW3BhY2thZ2VNZXRhLCB0eXBlXSk7XG5cdGNvbnN0IFt2aXNpYmxlRGV2ZWxvcGVyc01heCwgc2V0VmlzaWJsZURldmVsb3BlcnNNYXhdID0gdXNlU3RhdGUodmlzaWJsZU1heCk7XG5cdGNvbnN0IFt2aXNpYmxlRGV2ZWxvcGVycywgc2V0VmlzaWJsZURldmVsb3BlcnNdID0gdXNlU3RhdGUoZGV2ZWxvcGVycyk7XG5cdHVzZUVmZmVjdCgoKSA9PiB7XG5cdFx0aWYgKCFkZXZlbG9wZXJzLmxlbmd0aCkgcmV0dXJuO1xuXHRcdHNldFZpc2libGVEZXZlbG9wZXJzKGRldmVsb3BlcnMuc2xpY2UoMCwgdmlzaWJsZURldmVsb3BlcnNNYXgpKTtcblx0fSwgW2RldmVsb3BlcnMsIHZpc2libGVEZXZlbG9wZXJzTWF4XSk7XG5cdGNvbnN0IGhhbmRsZVNldFZpc2libGVEZXZlbG9wZXJzTWF4ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuXHRcdHNldFZpc2libGVEZXZlbG9wZXJzTWF4KHZpc2libGVEZXZlbG9wZXJzTWF4ICsgNik7XG5cdH0sIFt2aXNpYmxlRGV2ZWxvcGVyc01heF0pO1xuXHRpZiAoIXZpc2libGVEZXZlbG9wZXJzIHx8ICFkZXZlbG9wZXJzLmxlbmd0aCkgcmV0dXJuIG51bGw7XG5cdGNvbnN0IHsgbmFtZTogcGFja2FnZU5hbWUsIHZlcnNpb24gfSA9IHBhY2thZ2VNZXRhLmxhdGVzdDtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKEZyYWdtZW50LCB7IGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChUaXRsZSwgeyB0eXBlIH0pLCAvKiBAX19QVVJFX18gKi8ganN4cyhTdHlsZWRCb3gsIHtcblx0XHRkaXNwbGF5OiBcImZsZXhcIixcblx0XHRmbGV4V3JhcDogXCJ3cmFwXCIsXG5cdFx0bWFyZ2luOiBcIjEwcHggMCAxMHB4IDBcIixcblx0XHRjaGlsZHJlbjogW3Zpc2libGVEZXZlbG9wZXJzLm1hcCgodmlzaWJsZURldmVsb3BlciwgaW5kZXgpID0+IHtcblx0XHRcdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFBlcnNvbiwge1xuXHRcdFx0XHRwYWNrYWdlTmFtZSxcblx0XHRcdFx0cGVyc29uOiB2aXNpYmxlRGV2ZWxvcGVyLFxuXHRcdFx0XHR2ZXJzaW9uXG5cdFx0XHR9LCBpbmRleCk7XG5cdFx0fSksIHZpc2libGVEZXZlbG9wZXJzTWF4IDwgZGV2ZWxvcGVycy5sZW5ndGggJiYgLyogQF9fUFVSRV9fICovIGpzeChGYWIsIHtcblx0XHRcdFwiZGF0YS10ZXN0aWRcIjogXCJmYWItYWRkXCIsXG5cdFx0XHRvbkNsaWNrOiBoYW5kbGVTZXRWaXNpYmxlRGV2ZWxvcGVyc01heCxcblx0XHRcdHNpemU6IFwic21hbGxcIixcblx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEFkZCwge30pXG5cdFx0fSldXG5cdH0pXSB9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IERldmVsb3BlcnMgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1EZXZlbG9wZXJzLm1qcy5tYXAiLCJpbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbmltcG9ydCBUeXBvZ3JhcGh5IGZyb20gXCJAbXVpL21hdGVyaWFsL1R5cG9ncmFwaHlcIjtcbmltcG9ydCBMaXN0SXRlbSBmcm9tIFwiQG11aS9tYXRlcmlhbC9MaXN0SXRlbVwiO1xuaW1wb3J0IENoaXAgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQ2hpcFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0Rpc3RyaWJ1dGlvbi9zdHlsZXMudHNcbmZ1bmN0aW9uIF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fKCkge1xuXHRyZXR1cm4gXCJZb3UgaGF2ZSB0cmllZCB0byBzdHJpbmdpZnkgb2JqZWN0IHJldHVybmVkIGZyb20gYGNzc2AgZnVuY3Rpb24uIEl0IGlzbid0IHN1cHBvc2VkIHRvIGJlIHVzZWQgZGlyZWN0bHkgKGUuZy4gYXMgdmFsdWUgb2YgdGhlIGBjbGFzc05hbWVgIHByb3ApLCBidXQgcmF0aGVyIGhhbmRlZCB0byBlbW90aW9uIHNvIGl0IGNhbiBoYW5kbGUgaXQgKGUuZy4gYXMgdmFsdWUgb2YgYGNzc2AgcHJvcCkuXCI7XG59XG52YXIgU3R5bGVkVGV4dCA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFR5cG9ncmFwaHksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxbW41ZDkyMlwiIH0gOiB7XG5cdHRhcmdldDogXCJlMW1uNWQ5MjJcIixcblx0bGFiZWw6IFwiU3R5bGVkVGV4dFwiXG59KSgocHJvcHMpID0+ICh7XG5cdGZvbnRXZWlnaHQ6IHByb3BzLnRoZW1lLmZvbnRXZWlnaHQuYm9sZCxcblx0dGV4dFRyYW5zZm9ybTogXCJjYXBpdGFsaXplXCJcbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5RWFYTjBjbWxpZFhScGIyNHZjM1I1YkdWekxuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVTh3UWlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwyTnZiWEJ2Ym1WdWRITXZSR2x6ZEhKcFluVjBhVzl1TDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQkRhR2x3SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlEyaHBjQ2M3WEc1cGJYQnZjblFnVEdsemRFbDBaVzBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5TWFYTjBTWFJsYlNjN1hHNXBiWEJ2Y25RZ1ZIbHdiMmR5WVhCb2VTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMVI1Y0c5bmNtRndhSGtuTzF4dVhHNXBiWEJ2Y25RZ2RIbHdaU0I3SUZSb1pXMWxJSDBnWm5KdmJTQW5MaTR2TGk0dlZHaGxiV1VuTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVTNSNWJHVmtWR1Y0ZENBOUlITjBlV3hsWkNoVWVYQnZaM0poY0doNUtUeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LSEJ5YjNCektTQTlQaUFvZTF4dUlDQm1iMjUwVjJWcFoyaDBPaUJ3Y205d2N5NTBhR1Z0WlM1bWIyNTBWMlZwWjJoMExtSnZiR1FzWEc0Z0lIUmxlSFJVY21GdWMyWnZjbTA2SUNkallYQnBkR0ZzYVhwbEp5eGNibjBwS1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVScGMzUk1hWE4wU1hSbGJTQTlJSE4wZVd4bFpDaE1hWE4wU1hSbGJTa29lMXh1SUNCd1lXUmthVzVuVEdWbWREb2dNQ3hjYmlBZ2NHRmtaR2x1WjFKcFoyaDBPaUF3TEZ4dUlDQm1iR1Y0VjNKaGNEb2dKM2R5WVhBbkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JFYVhOMFEyaHBjSE1nUFNCemRIbHNaV1FvUTJocGNDa29lMXh1SUNCdFlYSm5hVzVTYVdkb2REb2dOU3hjYmlBZ2RHVjRkRlJ5WVc1elptOXliVG9nSjJOaGNHbDBZV3hwZW1VbkxGeHVJQ0J0WVhKbmFXNVViM0E2SURVc1hHNTlLVHRjYmlKZGZRPT0gKi9cIik7XG52YXIgRGlzdExpc3RJdGVtID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoTGlzdEl0ZW0sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxbW41ZDkyMVwiIH0gOiB7XG5cdHRhcmdldDogXCJlMW1uNWQ5MjFcIixcblx0bGFiZWw6IFwiRGlzdExpc3RJdGVtXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCI4YTFndHVcIixcblx0c3R5bGVzOiBcInBhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MDtmbGV4LXdyYXA6d3JhcFwiXG59IDoge1xuXHRuYW1lOiBcIjhhMWd0dVwiLFxuXHRzdHlsZXM6IFwicGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO2ZsZXgtd3JhcDp3cmFwLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OUVhWE4wY21saWRYUnBiMjR2YzNSNWJHVnpMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVZrMFFpSXNJbVpwYkdVaU9pSXZhRzl0WlM5eWRXNXVaWEl2ZDI5eWF5OTJaWEprWVdOamFXOHZkbVZ5WkdGalkybHZMM0JoWTJ0aFoyVnpMM1ZwTFdOdmJYQnZibVZ1ZEhNdmMzSmpMMk52YlhCdmJtVnVkSE12UkdsemRISnBZblYwYVc5dUwzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0JEYUdsd0lHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZRMmhwY0NjN1hHNXBiWEJ2Y25RZ1RHbHpkRWwwWlcwZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOU1hWE4wU1hSbGJTYzdYRzVwYlhCdmNuUWdWSGx3YjJkeVlYQm9lU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDFSNWNHOW5jbUZ3YUhrbk8xeHVYRzVwYlhCdmNuUWdkSGx3WlNCN0lGUm9aVzFsSUgwZ1puSnZiU0FuTGk0dkxpNHZWR2hsYldVbk8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1UzUjViR1ZrVkdWNGRDQTlJSE4wZVd4bFpDaFVlWEJ2WjNKaGNHaDVLVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hCeWIzQnpLU0E5UGlBb2UxeHVJQ0JtYjI1MFYyVnBaMmgwT2lCd2NtOXdjeTUwYUdWdFpTNW1iMjUwVjJWcFoyaDBMbUp2YkdRc1hHNGdJSFJsZUhSVWNtRnVjMlp2Y20wNklDZGpZWEJwZEdGc2FYcGxKeXhjYm4wcEtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFUnBjM1JNYVhOMFNYUmxiU0E5SUhOMGVXeGxaQ2hNYVhOMFNYUmxiU2tvZTF4dUlDQndZV1JrYVc1blRHVm1kRG9nTUN4Y2JpQWdjR0ZrWkdsdVoxSnBaMmgwT2lBd0xGeHVJQ0JtYkdWNFYzSmhjRG9nSjNkeVlYQW5MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCRWFYTjBRMmhwY0hNZ1BTQnpkSGxzWldRb1EyaHBjQ2tvZTF4dUlDQnRZWEpuYVc1U2FXZG9kRG9nTlN4Y2JpQWdkR1Y0ZEZSeVlXNXpabTl5YlRvZ0oyTmhjR2wwWVd4cGVtVW5MRnh1SUNCdFlYSm5hVzVVYjNBNklEVXNYRzU5S1R0Y2JpSmRmUT09ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgRGlzdENoaXBzID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoQ2hpcCwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTFtbjVkOTIwXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxbW41ZDkyMFwiLFxuXHRsYWJlbDogXCJEaXN0Q2hpcHNcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjE4NnQ4ZnlcIixcblx0c3R5bGVzOiBcIm1hcmdpbi1yaWdodDo1cHg7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTttYXJnaW4tdG9wOjVweFwiXG59IDoge1xuXHRuYW1lOiBcIjE4NnQ4ZnlcIixcblx0c3R5bGVzOiBcIm1hcmdpbi1yaWdodDo1cHg7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTttYXJnaW4tdG9wOjVweC8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlFYVhOMGNtbGlkWFJwYjI0dmMzUjViR1Z6TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFXdENlVUlpTENKbWFXeGxJam9pTDJodmJXVXZjblZ1Ym1WeUwzZHZjbXN2ZG1WeVpHRmpZMmx2TDNabGNtUmhZMk5wYnk5d1lXTnJZV2RsY3k5MWFTMWpiMjF3YjI1bGJuUnpMM055WXk5amIyMXdiMjVsYm5SekwwUnBjM1J5YVdKMWRHbHZiaTl6ZEhsc1pYTXVkSE1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnYzNSNWJHVmtJR1p5YjIwZ0owQmxiVzkwYVc5dUwzTjBlV3hsWkNjN1hHNXBiWEJ2Y25RZ1EyaHBjQ0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBOb2FYQW5PMXh1YVcxd2IzSjBJRXhwYzNSSmRHVnRJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRFbDBaVzBuTzF4dWFXMXdiM0owSUZSNWNHOW5jbUZ3YUhrZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOVVlWEJ2WjNKaGNHaDVKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1TDFSb1pXMWxKenRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRk4wZVd4bFpGUmxlSFFnUFNCemRIbHNaV1FvVkhsd2IyZHlZWEJvZVNrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaHdjbTl3Y3lrZ1BUNGdLSHRjYmlBZ1ptOXVkRmRsYVdkb2REb2djSEp2Y0hNdWRHaGxiV1V1Wm05dWRGZGxhV2RvZEM1aWIyeGtMRnh1SUNCMFpYaDBWSEpoYm5ObWIzSnRPaUFuWTJGd2FYUmhiR2w2WlNjc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JFYVhOMFRHbHpkRWwwWlcwZ1BTQnpkSGxzWldRb1RHbHpkRWwwWlcwcEtIdGNiaUFnY0dGa1pHbHVaMHhsWm5RNklEQXNYRzRnSUhCaFpHUnBibWRTYVdkb2REb2dNQ3hjYmlBZ1pteGxlRmR5WVhBNklDZDNjbUZ3Snl4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdSR2x6ZEVOb2FYQnpJRDBnYzNSNWJHVmtLRU5vYVhBcEtIdGNiaUFnYldGeVoybHVVbWxuYUhRNklEVXNYRzRnSUhSbGVIUlVjbUZ1YzJadmNtMDZJQ2RqWVhCcGRHRnNhWHBsSnl4Y2JpQWdiV0Z5WjJsdVZHOXdPaUExTEZ4dWZTazdYRzRpWFgwPSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBEaXN0Q2hpcHMsIERpc3RMaXN0SXRlbSwgU3R5bGVkVGV4dCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHlsZXMubWpzLm1hcCIsImltcG9ydCB7IGZpbGVTaXplU0ksIGZvcm1hdExpY2Vuc2UgfSBmcm9tIFwiLi4vLi4vdXRpbHMvdXRpbHMubWpzXCI7XG5pbXBvcnQgeyBEaXN0Q2hpcHMsIERpc3RMaXN0SXRlbSwgU3R5bGVkVGV4dCB9IGZyb20gXCIuL3N0eWxlcy5tanNcIjtcbmltcG9ydCB7IEZyYWdtZW50LCBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgTGlzdCBmcm9tIFwiQG11aS9tYXRlcmlhbC9MaXN0XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvRGlzdHJpYnV0aW9uL0Rpc3QudHN4XG52YXIgRGlzdENoaXAgPSAoeyBuYW1lLCBjaGlsZHJlbiB9KSA9PiBjaGlsZHJlbiA/IC8qIEBfX1BVUkVfXyAqLyBqc3goRGlzdENoaXBzLCB7IGxhYmVsOiAvKiBAX19QVVJFX18gKi8ganN4cyhGcmFnbWVudCwgeyBjaGlsZHJlbjogW1xuXHQvKiBAX19QVVJFX18gKi8ganN4KFwiYlwiLCB7IGNoaWxkcmVuOiBuYW1lIH0pLFxuXHRcIjogXCIsXG5cdGNoaWxkcmVuXG5dIH0pIH0pIDogbnVsbDtcbnZhciBEaXN0ID0gKHsgcGFja2FnZU1ldGEgfSkgPT4ge1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdGlmICghcGFja2FnZU1ldGE/LmxhdGVzdCkgcmV0dXJuIG51bGw7XG5cdGNvbnN0IHsgZGlzdCwgbGljZW5zZSB9ID0gcGFja2FnZU1ldGEubGF0ZXN0O1xuXHRpZiAoIWRpc3QgJiYgIWxpY2Vuc2UpIHJldHVybiBudWxsO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChMaXN0LCB7XG5cdFx0c3ViaGVhZGVyOiAvKiBAX19QVVJFX18gKi8ganN4KFN0eWxlZFRleHQsIHtcblx0XHRcdHZhcmlhbnQ6IFwic3VidGl0bGUxXCIsXG5cdFx0XHRjaGlsZHJlbjogdChcInNpZGViYXIuZGlzdHJpYnV0aW9uLnRpdGxlXCIpXG5cdFx0fSksXG5cdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3hzKERpc3RMaXN0SXRlbSwgeyBjaGlsZHJlbjogW1xuXHRcdFx0ZGlzdD8uZmlsZUNvdW50ICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goRGlzdENoaXAsIHtcblx0XHRcdFx0bmFtZTogdChcInNpZGViYXIuZGlzdHJpYnV0aW9uLmZpbGUtY291bnRcIiksXG5cdFx0XHRcdGNoaWxkcmVuOiBgJHtkaXN0LmZpbGVDb3VudH1gXG5cdFx0XHR9KSxcblx0XHRcdGRpc3Q/LnVucGFja2VkU2l6ZSA/IC8qIEBfX1BVUkVfXyAqLyBqc3goRGlzdENoaXAsIHtcblx0XHRcdFx0bmFtZTogdChcInNpZGViYXIuZGlzdHJpYnV0aW9uLnNpemVcIiksXG5cdFx0XHRcdGNoaWxkcmVuOiBmaWxlU2l6ZVNJKGRpc3QudW5wYWNrZWRTaXplKVxuXHRcdFx0fSkgOiBudWxsLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChEaXN0Q2hpcCwge1xuXHRcdFx0XHRuYW1lOiB0KFwic2lkZWJhci5kaXN0cmlidXRpb24ubGljZW5zZVwiKSxcblx0XHRcdFx0Y2hpbGRyZW46IGZvcm1hdExpY2Vuc2UobGljZW5zZSlcblx0XHRcdH0pXG5cdFx0XSB9KVxuXHR9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IERpc3QgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1EaXN0Lm1qcy5tYXAiLCJpbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCBNYXRlcmlhbFVJU3ZnSWNvbiBmcm9tIFwiQG11aS9tYXRlcmlhbC9TdmdJY29uXCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvSWNvbnMvU3ZnSWNvbi50c3hcbnZhciBTdmdJY29uID0gZnVuY3Rpb24gU3ZnSWNvbih7IHJlZiwgc2l6ZSA9IFwibWRcIiwgdGl0bGUsIC4uLnByb3BzIH0pIHtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goU3R5bGVkTWF0ZXJpYWxVSVN2Z0ljb24sIHtcblx0XHRzaXplLFxuXHRcdHRpdGxlQWNjZXNzOiB0aXRsZSxcblx0XHQuLi5wcm9wcyxcblx0XHRyZWZcblx0fSk7XG59O1xudmFyIGdldFNpemUgPSAoc2l6ZSkgPT4ge1xuXHRpZiAoc2l6ZSA9PT0gXCJtZFwiKSByZXR1cm4ge1xuXHRcdHdpZHRoOiAxOCxcblx0XHRoZWlnaHQ6IDE4XG5cdH07XG5cdHJldHVybiB7XG5cdFx0d2lkdGg6IDE0LFxuXHRcdGhlaWdodDogMTZcblx0fTtcbn07XG52YXIgU3R5bGVkTWF0ZXJpYWxVSVN2Z0ljb24gPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChNYXRlcmlhbFVJU3ZnSWNvbiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZWJyeDZrcTBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZWJyeDZrcTBcIixcblx0bGFiZWw6IFwiU3R5bGVkTWF0ZXJpYWxVSVN2Z0ljb25cIlxufSkoKHsgc2l6ZSB9KSA9PiAoeyAuLi5nZXRTaXplKHNpemUpIH0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5SlkyOXVjeTlUZG1kSlkyOXVMblJ6ZUNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGelEyZERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5SlkyOXVjeTlUZG1kSlkyOXVMblJ6ZUNJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1UzWm5TV052YmxCeWIzQnpJSDBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5VGRtZEpZMjl1Snp0Y2JtbHRjRzl5ZENCN0lHUmxabUYxYkhRZ1lYTWdUV0YwWlhKcFlXeFZTVk4yWjBsamIyNGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDFOMlowbGpiMjRuTzF4dWFXMXdiM0owSUZKbFlXTjBJR1p5YjIwZ0ozSmxZV04wSnp0Y2JseHVkSGx3WlNCVGFYcGxJRDBnSjNOdEp5QjhJQ2R0WkNjN1hHNWNiblI1Y0dVZ1VISnZjSE1nUFNCUGJXbDBQRk4yWjBsamIyNVFjbTl3Y3l3Z0oyTnZiRzl5SnlCOElDZG1iMjUwYzJsNlpTY2dmQ0FuYm1GdFpTYytJQ1lnZTF4dUlDQnphWHBsUHpvZ1UybDZaVHRjYmlBZ2RHbDBiR1UvT2lCemRISnBibWM3WEc0Z0lHTnNZWE56VG1GdFpUODZJSE4wY21sdVp6dGNibjA3WEc1Y2JtTnZibk4wSUZOMlowbGpiMjRnUFNCbWRXNWpkR2x2YmlCVGRtZEpZMjl1S0h0Y2JpQWdjbVZtTEZ4dUlDQnphWHBsSUQwZ0oyMWtKeXhjYmlBZ2RHbDBiR1VzWEc0Z0lDNHVMbkJ5YjNCelhHNTlPaUJRY205d2N5QW1JSHNnY21WbVB6b2dVbVZoWTNRdVVtVm1UMkpxWldOMFBGTldSMU5XUjBWc1pXMWxiblFnZkNCdWRXeHNQaUI5S1NCN1hHNGdJSEpsZEhWeWJpQThVM1I1YkdWa1RXRjBaWEpwWVd4VlNWTjJaMGxqYjI0Z2MybDZaVDE3YzJsNlpYMGdkR2wwYkdWQlkyTmxjM005ZTNScGRHeGxmU0I3TGk0dWNISnZjSE45SUhKbFpqMTdjbVZtZlNBdlBqdGNibjA3WEc1Y2JtVjRjRzl5ZENCN0lGTjJaMGxqYjI0Z2ZUdGNibHh1WTI5dWMzUWdaMlYwVTJsNlpTQTlJQ2h6YVhwbE9pQlRhWHBsS1NBOVBpQjdYRzRnSUdsbUlDaHphWHBsSUQwOVBTQW5iV1FuS1NCN1hHNGdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJSGRwWkhSb09pQXhPQ3hjYmlBZ0lDQWdJR2hsYVdkb2REb2dNVGdzWEc0Z0lDQWdmVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUI3WEc0Z0lDQWdkMmxrZEdnNklERTBMRnh1SUNBZ0lHaGxhV2RvZERvZ01UWXNYRzRnSUgwN1hHNTlPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUk5ZWFJsY21saGJGVkpVM1puU1dOdmJpQTlJSE4wZVd4bFpDaE5ZWFJsY21saGJGVkpVM1puU1dOdmJpazhleUJ6YVhwbE9pQlRhWHBsSUgwK0tDaDdJSE5wZW1VZ2ZTa2dQVDRnS0h0Y2JpQWdMaTR1WjJWMFUybDZaU2h6YVhwbEtTeGNibjBwS1R0Y2JpSmRmUT09ICovXCIpO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBTdmdJY29uIH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVN2Z0ljb24ubWpzLm1hcCIsImltcG9ydCB7IFN2Z0ljb24gfSBmcm9tIFwiLi9TdmdJY29uLm1qc1wiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0ljb25zL1ZlcnNpb24udHN4XG52YXIgVmVyc2lvbiA9IGZ1bmN0aW9uIFZlcnNpb24oeyByZWYsIC4uLnByb3BzIH0pIHtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goU3ZnSWNvbiwge1xuXHRcdGhlaWdodDogMTYsXG5cdFx0dmlld0JveDogXCIwIDAgMTQgMTZcIixcblx0XHR3aWR0aDogMTQsXG5cdFx0Li4ucHJvcHMsXG5cdFx0cmVmLFxuXHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFwicGF0aFwiLCB7XG5cdFx0XHRkOiBcIk0xMyAzSDdjLS41NSAwLTEgLjQ1LTEgMXY4YzAgLjU1LjQ1IDEgMSAxaDZjLjU1IDAgMS0uNDUgMS0xVjRjMC0uNTUtLjQ1LTEtMS0xem0tMSA4SDhWNWg0djZ6TTQgNGgxdjFINHY2aDF2MUg0Yy0uNTUgMC0xLS40NS0xLTFWNWMwLS41NS40NS0xIDEtMXpNMSA1aDF2MUgxdjRoMXYxSDFjLS41NSAwLTEtLjQ1LTEtMVY2YzAtLjU1LjQ1LTEgMS0xelwiLFxuXHRcdFx0ZmlsbFJ1bGU6IFwiZXZlbm9kZFwiXG5cdFx0fSlcblx0fSk7XG59O1xuVmVyc2lvbi5kaXNwbGF5TmFtZSA9IFwiVmVyc2lvblwiO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBWZXJzaW9uIH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVZlcnNpb24ubWpzLm1hcCIsImltcG9ydCB7IFN2Z0ljb24gfSBmcm9tIFwiLi9TdmdJY29uLm1qc1wiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0ljb25zL1RpbWUudHN4XG52YXIgVGltZSA9IGZ1bmN0aW9uIFRpbWUoeyByZWYsIC4uLnByb3BzIH0pIHtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKFN2Z0ljb24sIHtcblx0XHR2aWV3Qm94OiBcIjAgMCAyNCAyNFwiLFxuXHRcdC4uLnByb3BzLFxuXHRcdHJlZixcblx0XHRjaGlsZHJlbjogW1xuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChcInBhdGhcIiwgeyBkOiBcIk0xMS45OSAyQzYuNDcgMiAyIDYuNDggMiAxMnM0LjQ3IDEwIDkuOTkgMTBDMTcuNTIgMjIgMjIgMTcuNTIgMjIgMTJTMTcuNTIgMiAxMS45OSAyek0xMiAyMGMtNC40MiAwLTgtMy41OC04LThzMy41OC04IDgtOCA4IDMuNTggOCA4LTMuNTggOC04IDh6XCIgfSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFwicGF0aFwiLCB7XG5cdFx0XHRcdGQ6IFwiTTAgMGgyNHYyNEgwelwiLFxuXHRcdFx0XHRmaWxsOiBcIm5vbmVcIlxuXHRcdFx0fSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFwicGF0aFwiLCB7IGQ6IFwiTTEyLjUgN0gxMXY2bDUuMjUgMy4xNS43NS0xLjIzLTQuNS0yLjY3elwiIH0pXG5cdFx0XVxuXHR9KTtcbn07XG5UaW1lLmRpc3BsYXlOYW1lID0gXCJUaW1lXCI7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IFRpbWUgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9VGltZS5tanMubWFwIiwiaW1wb3J0IHsgU3ZnSWNvbiB9IGZyb20gXCIuL1N2Z0ljb24ubWpzXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvSWNvbnMvRmlsZUJpbmFyeS50c3hcbnZhciBGaWxlQmluYXJ5ID0gZnVuY3Rpb24gRmlsZUJpbmFyeSh7IHJlZiwgLi4ucHJvcHMgfSkge1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTdmdJY29uLCB7XG5cdFx0dmlld0JveDogXCIwIDAgMTQgMTZcIixcblx0XHQuLi5wcm9wcyxcblx0XHRyZWYsXG5cdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goXCJwYXRoXCIsIHsgZDogXCJNOC41IDFIMWMtLjU1IDAtMSAuNDUtMSAxdjEyYzAgLjU1LjQ1IDEgMSAxaDEwYy41NSAwIDEtLjQ1IDEtMVY0LjVMOC41IDF6TTExIDE0SDFWMmg3bDMgM3Y5ek01IDYuOThMMy41IDguNSA1IDEwbC0uNSAxTDIgOC41IDQuNSA2bC41Ljk4ek03LjUgNkwxMCA4LjUgNy41IDExbC0uNS0uOThMOC41IDguNSA3IDdsLjUtMXpcIiB9KVxuXHR9KTtcbn07XG5GaWxlQmluYXJ5LmRpc3BsYXlOYW1lID0gXCJGaWxlQmluYXJ5XCI7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IEZpbGVCaW5hcnkgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9RmlsZUJpbmFyeS5tanMubWFwIiwiaW1wb3J0IHsgU3ZnSWNvbiB9IGZyb20gXCIuL1N2Z0ljb24ubWpzXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvSWNvbnMvTGF3LnRzeFxudmFyIExhdyA9IGZ1bmN0aW9uIExhdyh7IHJlZiwgLi4ucHJvcHMgfSkge1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTdmdJY29uLCB7XG5cdFx0dmlld0JveDogXCIwIDAgMTQgMTZcIixcblx0XHQuLi5wcm9wcyxcblx0XHRyZWYsXG5cdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goXCJwYXRoXCIsIHtcblx0XHRcdGQ6IFwiTTcgNGMtLjgzIDAtMS41LS42Ny0xLjUtMS41UzYuMTcgMSA3IDFzMS41LjY3IDEuNSAxLjVTNy44MyA0IDcgNHptNyA2YzAgMS4xMS0uODkgMi0yIDJoLTFjLTEuMTEgMC0yLS44OS0yLTJsMi00aC0xYy0uNTUgMC0xLS40NS0xLTFIOHY4Yy40MiAwIDEgLjQ1IDEgMWgxYy40MiAwIDEgLjQ1IDEgMUgzYzAtLjU1LjU4LTEgMS0xaDFjMC0uNTUuNTgtMSAxLTFoLjAzTDYgNUg1YzAgLjU1LS40NSAxLTEgMUgzbDIgNGMwIDEuMTEtLjg5IDItMiAySDJjLTEuMTEgMC0yLS44OS0yLTJsMi00SDFWNWgzYzAtLjU1LjQ1LTEgMS0xaDRjLjU1IDAgMSAuNDUgMSAxaDN2MWgtMWwyIDR6TTIuNSA3TDEgMTBoM0wyLjUgN3pNMTMgMTBsLTEuNS0zLTEuNSAzaDN6XCIsXG5cdFx0XHRmaWxsUnVsZTogXCJldmVub2RkXCJcblx0XHR9KVxuXHR9KTtcbn07XG5MYXcuZGlzcGxheU5hbWUgPSBcIkxhd1wiO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBMYXcgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9TGF3Lm1qcy5tYXAiLCJpbXBvcnQgeyBTdmdJY29uIH0gZnJvbSBcIi4vU3ZnSWNvbi5tanNcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9JY29ucy9MaWNlbnNlLnRzeFxudmFyIExpY2Vuc2UgPSBmdW5jdGlvbiBMaWNlbnNlKHsgcmVmLCAuLi5wcm9wcyB9KSB7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhTdmdJY29uLCB7XG5cdFx0dmlld0JveDogXCIwIDAgNDkwLjY1MiA0OTAuNjUyXCIsXG5cdFx0Li4ucHJvcHMsXG5cdFx0cmVmLFxuXHRcdGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChcInBhdGhcIiwgeyBkOiBcIk00NTYuNjA3IDkuOTA0SDM0LjA0QzE1LjI2OSA5LjkwNCAwIDI1LjE3IDAgNDMuOTQ1VjMxMC4xN2MwIDE4Ljc3IDE1LjI2OSAzNC4wMzkgMzQuMDQgMzQuMDM5aDI2MC42NDJjLTQuMDQzLTEwLjM1LTYuNTM0LTIxLjczNy03LjE1OS0zMy43NDJsLTI1My45NzQtLjI5Ny40OTEtMjY2LjcxOCA0MjMuMDYzLjQ5M1YzMTAuMTdjMCAuMjc5LS4yMy40OTItLjQ5NS40OTJsLTE1LjI1MS0uMDE5Yy0uNjM3IDExLjk0Mi0zLjExMSAyMy4yNjMtNy4xMzggMzMuNTY1aDIyLjM4OWMxOC43NzcgMCAzNC4wNDUtMTUuMjcgMzQuMDQ1LTM0LjAzOVY0My45NDVjLS4wMDEtMTguNzc1LTE1LjI2OC0zNC4wNDEtMzQuMDQ2LTM0LjA0MXpcIiB9KSwgLyogQF9fUFVSRV9fICovIGpzeChcInBhdGhcIiwgeyBkOiBcIk0zNjQuNDQ3IDM4MS4wMmMzMy4zNTQgMCA2MC4zODYtMzQuMTUyIDYwLjM4Ni03Ni4yODkgMC00Mi4xMzEtMjcuMDMxLTc2LjI4NC02MC4zODYtNzYuMjg0LTMzLjM1IDAtNjAuMzggMzQuMTUzLTYwLjM4IDc2LjI4NCAwIDQyLjEzNyAyNy4wMzEgNzYuMjg5IDYwLjM4IDc2LjI4OXpNODEuMDg3IDExOC4zNDVoMTQ5LjU2MWM5LjI3MyAwIDE2Ljc3Ni03LjQ5OSAxNi43NzYtMTYuNzcyIDAtOS4yNzEtNy41MDQtMTYuNzc1LTE2Ljc3Ni0xNi43NzVIODEuMDg3Yy05LjI3MSAwLTE2Ljc3MSA3LjUwNC0xNi43NzEgMTYuNzc1IDAgOS4yNzMgNy40OTkgMTYuNzcyIDE2Ljc3MSAxNi43NzJ6bTMzNC4wOCA1OC43MTZjMC05LjI3My03LjUwNS0xNi43NzktMTYuNzc2LTE2Ljc3OUg4MS4wODdjLTkuMjcxIDAtMTYuNzcxIDcuNTA2LTE2Ljc3MSAxNi43NzkgMCA5LjI3MSA3LjQ5OSAxNi43NyAxNi43NzEgMTYuNzdoMzE3LjMwNGM5LjI3MSAwIDE2Ljc3Ni03LjQ5OCAxNi43NzYtMTYuNzd6bS0zMzQuMDggNTguNzA3Yy05LjI3MSAwLTE2Ljc3MSA3LjUwNC0xNi43NzEgMTYuNzcxIDAgOS4yNzMgNy40OTkgMTYuNzc3IDE2Ljc3MSAxNi43NzdoMTQ5LjU2MWM5LjI3MyAwIDE2Ljc3Ni03LjUwNCAxNi43NzYtMTYuNzc3IDAtOS4yNjgtNy41MDQtMTYuNzcxLTE2Ljc3Ni0xNi43NzFIODEuMDg3em0zMzQuMzM4IDEzOC42ODRjLS4wNjUuMDgyLTIzLjI5NSAyNi44NjktNTUuNzI4IDIzLjA4MWw0MC4zMzEgODEuNTc3YTIuOTMgMi45MyAwIDAwMi42MzcgMS42MzloLjIxNWEyLjk1IDIuOTUgMCAwMDIuNTcxLTIuMDMxbDEwLjE3NC0zMS4yMzRhMy4wMjQgMy4wMjQgMCAwMTEuNDg4LTEuNzI4IDMuMDcgMy4wNyAwIDAxMi4yOC0uMTNsMzAuOTc3IDEwLjg4Yy4zMjQuMTEyLjY1MS4xNjMuOTguMTYzLjgzNiAwIDEuNjIzLS4zNDggMi4xOTUtLjk4Mi44MDMtLjkuOTY0LTIuMTguNDQxLTMuMjQ0bC0zOC41NjEtNzcuOTkxem0tMTAxLjc3Mi4xNDZjLS4wNDktLjA0Ny0uMTE4LS4wOTYtLjE4NS0uMTQ2bC0zOC41NjEgNzcuOTczYTIuOTUzIDIuOTUzIDAgMDAuNDQ4IDMuMjYyIDIuOTYxIDIuOTYxIDAgMDAzLjE3NC44MTlsMzAuOTc4LTEwLjg4Yy4zMjgtLjExMy42NTgtLjE2Ljk4Mi0uMTYuNDQyIDAgLjg4NC4wOTYgMS4yOTQuMjkuNzA2LjM2IDEuMjQ1Ljk4NyAxLjQ5MyAxLjc0MWwxMC4xNzMgMzEuMjIxYy4zNzggMS4xMzMgMS4zOTEgMS45MzYgMi41NzIgMi4wMTRoLjIxYTIuOTUgMi45NSAwIDAwMi42NDItMS42MjFsMjYuMjA2LTUzLjAxLTE2Ljc1NS0zMy44OTNjLS4wNjYtLjAzNC0xNC42NzItNS44ODQtMjQuNjcxLTE3LjYxelwiIH0pXVxuXHR9KTtcbn07XG5MaWNlbnNlLmRpc3BsYXlOYW1lID0gXCJMaWNlbnNlXCI7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IExpY2Vuc2UgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9TGljZW5zZS5tanMubWFwIiwiaW1wb3J0IHsgU3ZnSWNvbiB9IGZyb20gXCIuL1N2Z0ljb24ubWpzXCI7XG5pbXBvcnQgeyBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvSWNvbnMvRWFydGgudHN4XG52YXIgRWFydGggPSBmdW5jdGlvbiBFYXJ0aCh7IHJlZiwgLi4ucHJvcHMgfSkge1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoU3ZnSWNvbiwge1xuXHRcdHZpZXdCb3g6IFwiMCAwIDQ1IDQ1XCIsXG5cdFx0Li4ucHJvcHMsXG5cdFx0cmVmLFxuXHRcdGNoaWxkcmVuOiBbXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4cyhcImRlZnNcIiwgeyBjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goXCJjbGlwUGF0aFwiLCB7XG5cdFx0XHRcdGlkOiBcInByZWZpeF9fYVwiLFxuXHRcdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChcInBhdGhcIiwgeyBkOiBcIk0wIDM2aDM2VjBIMHYzNnpcIiB9KVxuXHRcdFx0fSksIC8qIEBfX1BVUkVfXyAqLyBqc3goXCJjbGlwUGF0aFwiLCB7XG5cdFx0XHRcdGlkOiBcInByZWZpeF9fYlwiLFxuXHRcdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChcInBhdGhcIiwgeyBkOiBcIk0xOCAzNkM4LjA1OSAzNiAwIDI3Ljk0MSAwIDE4UzguMDU5IDAgMTggMHMxOCA4LjA1OSAxOCAxOC04LjA1OSAxOC0xOCAxOHpcIiB9KVxuXHRcdFx0fSldIH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChcImdcIiwge1xuXHRcdFx0XHRjbGlwUGF0aDogXCJ1cmwoI3ByZWZpeF9fYSlcIixcblx0XHRcdFx0dHJhbnNmb3JtOiBcIm1hdHJpeCgxLjI1IDAgMCAtMS4yNSAwIDQ1KVwiLFxuXHRcdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChcInBhdGhcIiwge1xuXHRcdFx0XHRcdGQ6IFwiTTM2IDE4YzAtOS45NDEtOC4wNTktMTgtMTgtMThTMCA4LjA1OSAwIDE4czguMDU5IDE4IDE4IDE4IDE4LTguMDU5IDE4LTE4XCIsXG5cdFx0XHRcdFx0ZmlsbDogXCIjODhjOWY5XCJcblx0XHRcdFx0fSlcblx0XHRcdH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChcImdcIiwge1xuXHRcdFx0XHRjbGlwUGF0aDogXCJ1cmwoI3ByZWZpeF9fYilcIixcblx0XHRcdFx0dHJhbnNmb3JtOiBcIm1hdHJpeCgxLjI1IDAgMCAtMS4yNSAwIDQ1KVwiLFxuXHRcdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChcInBhdGhcIiwge1xuXHRcdFx0XHRcdGQ6IFwiTTMuNjI3IDI4Ljk1MmMtLjQ1IDIuOTMgMi4xOTUgNC4xNTYgMy42MDcgNC40NyAxLjQxMi4zMTQgMi43NzYuNjIgMi45MzMtLjAwNi4xNTYtLjYyOC4zMTEtMS40NiAxLjE3My0xLjE0OC44NjIuMzE0IDMuMDQzLjU2IDQuMDYzIDEuMzQyIDEuMDIuNzgzIDIuMjQ0Ljc4NyAzLjI2NC40NzMgMS4wMi0uMzEzIDMuODc3LS4yMjcgMy4yNS0xLjE2Ny0uNjI3LS45NC0xLjgyNS0uODI3LTIuNDUtMS45MjQtLjYyOC0xLjA5OS4xNzEtMS44MjYgMS4wMzMtMS44MjYuODY1IDAgMS43MS0uMTM1IDIuMjYuNzI3LjU0OC44NjMtLjM4MyAyLjQ2My4zMjQgMi4zNTcuNzA2LS4xMDYgMS40NzctLjg2NiAyLjAzLTIuMDQzLjU0Ny0xLjE3NiAxLjQwOC0uNDcgMS43MjMtMS4xNzYuMzEzLS43MDUgMi4wNC0yLjAzOSAxLjE3Ny0xLjgwNC0uODY0LjIzNi0xLjcyNi4zOTItMS45Ni0uNDctLjIzNy0uODYzLjM4OC0xLjcyNi0uMjM3LTEuNjQ3LS42MjcuMDgtLjg2LS4wODktMS43MjUtLjAwNC0uODYyLjA4My0xLjMzMy42MzEtMi4wMzktLjU0NS0uNzA1LTEuMTc1LTEuMjU0LTEuOTYtMS41NjctMi41MDktLjMxNS0uNTQ5LS43ODUtLjg2LS41NS0xLjk2LjIzNS0xLjA5OS0uNjI4LS43ODUtLjYyOC4xNTYgMCAuOTQtLjU0OCAxLjA5OC0xLjI1My45NDItLjcwNi0uMTU3LTEuODAzLS4zMTMtMS43MjQtMS4wOTguMDc3LS43ODQtLjMxNS0xLjcyNS4zMTMtMi4zNTIuNjI3LS42MjkgMS4zMy4wNzYgMS43MjMtLjE1OC4zOTMtLjIzNyAxLjUyNS0uMDIzIDEuMTMzLS40MTYtLjM5My0uMzktMS43Ni0uODgtLjk3Ni0xLjUwOWE0LjgzMSA0LjgzMSAwIDAxMS44OTMtLjkwN2MuMzEzLS4wOC4wNjIuNzc0IDEuMDgzIDEuMTY2IDEuMDE3LjM5MiAyLjYwOCAxLjI5IDMgLjU4NC4zOTEtLjcwNS4zMzgtLjU5NSAxLjc1LS43NSAxLjQxLS4xNTYgMS43OS0uNTg1IDIuNDE3LTEuOTE3LjYyNi0xLjMzMy40NDYtMS4xOTIgMS40NjItMS41OCAxLjAyMS0uMzk0IDEuNjc4LS4yMjMuNzM3LTEuMDg3LS45NC0uODYtMS42NS0uODE0LTIuMTk5LTEuODMzLS41NS0xLjAxNy0uMTUzLTEuNzMtMS4yNS0yLjc1QTIwLjc1NSAyMC43NTUgMCAwMDI0IDRjLS42MTgtLjM3LTIuMTYyLTIuMDctMy4wODMtMi42NjctLjgzNC0uNTQtMS4wODMgMC0xLjA4MyAwcy4yNTYgMS42NjcuOTY0IDIuMzcyYy43MDQuNzA1IDEuMTA1IDMuMzQ0Ljg3IDQuMTI4LS4yMzUuNzgzLTEuMzYgMS4wMi0xLjc1IDEuMzMzLS4zOTMuMzEyLTEuNDE4IDEuNTQ4LTEuNDE4IDIuMzM0IDAgLjc4NCAxLjcxIDIuODEgMS43MSAyLjgxLjIxOC0xLjA4OS0xLjAzOS4zMjgtMS42MjcuNTIzLS40Ny4xNTctMS41NDIgMS42NTYtMi40NTkgMS44MTQtLjkxNi4xNi0xLjM2My43LTIuMDY4IDEuMjUtLjcwNi41NS0yLjQzIDEuMzMyLTIuMzUzIDIuMTk1LjA4Ljg2Mi0xLjcyNSAxLjU2OC0yLjAzOCAxLjU2OC0uMzE0IDAtMS4wMTkgMC0xLjY0NyAxLjA5OC0uNjI3IDEuMDk4LTEuNzI1IDIuMTk2LTEuNDEgMi45OC4zMTIuNzgzLjM5MSAxLjcyNi4yMzMgMi41ODgtLjE1Ni44NjItMS4zMzIgMS4xNzYtMS41NjcuOTQxLS4yMzUtLjIzNi0xLjQ4OS0xLjMzNS0xLjY0Ny0uMzE1XCIsXG5cdFx0XHRcdFx0ZmlsbDogXCIjNWM5MTNiXCJcblx0XHRcdFx0fSlcblx0XHRcdH0pXG5cdFx0XVxuXHR9KTtcbn07XG5FYXJ0aC5kaXNwbGF5TmFtZSA9IFwiRWFydGhcIjtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgRWFydGggfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9RWFydGgubWpzLm1hcCIsIi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9JY29ucy9EZXZzSWNvbnMvdHlwZXNjcmlwdC5zdmdcbnZhciB0eXBlc2NyaXB0X2RlZmF1bHQgPSBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU16WWlJR2hsYVdkb2REMGlNellpSUhacFpYZENiM2c5SWpBZ01DQXpOaUF6TmlJZ1ptbHNiRDBpYm05dVpTSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNEtQSEJoZEdnZ1pEMGlUVEFnTUVnek5sWXpOa2d3VmpCYUlpQm1hV3hzUFNJak1UazNOa1F5SWk4K0NqeHdZWFJvSUdROUlrMHhOQzR3TVRNM0lERXlMakl3TXpGV01qVklNVEV1TVRVM01sWXhNaTR5TURNeFNERTBMakF4TXpkYVRURTNMamt3TnpJZ01USXVNakF6TVZZeE5DNDBNalk0U0RjdU16UXlOemRXTVRJdU1qQXpNVWd4Tnk0NU1EY3lXazB5TXk0ek56UWdNalZJTWpBdU5UWXhOVXd5TUM0MU56a3hJREl5TGpjNE5USklNak11TXpjMFF6STBMakF4TWpjZ01qSXVOemcxTWlBeU5DNDFOVEU0SURJeUxqWXpPRGNnTWpRdU9Ua3hNaUF5TWk0ek5EVTNRekkxTGpRek1EY2dNakl1TURRMk9TQXlOUzQzTmpRMklESXhMall3TnpRZ01qVXVPVGt6TWlBeU1TNHdNamN6UXpJMkxqSXlNVGNnTWpBdU5EUXhOQ0F5Tmk0ek16VTVJREU1TGpjeU9UVWdNall1TXpNMU9TQXhPQzQ0T1RFMlZqRTRMak13TWpkRE1qWXVNek0xT1NBeE55NDJOams1SURJMkxqSTNNVFVnTVRjdU1URXpNeUF5Tmk0eE5ESTJJREUyTGpZek1qaERNall1TURFek55QXhOaTR4TkRZMUlESTFMamd5TXpJZ01UVXVOek01TXlBeU5TNDFOekV6SURFMUxqUXhNVEZETWpVdU16RTVNeUF4TlM0d09ETWdNalV1TURBMU9TQXhOQzQ0TXpZNUlESTBMall6TURrZ01UUXVOamN5T1VNeU5DNHlOakUzSURFMExqVXdPRGdnTWpNdU9ETTJPU0F4TkM0ME1qWTRJREl6TGpNMU5qUWdNVFF1TkRJMk9FZ3lNQzQxTURnNFZqRXlMakl3TXpGSU1qTXVNelUyTkVNeU5DNHlNak0ySURFeUxqSXdNekVnTWpVdU1ERTBOaUF4TWk0ek5EazJJREkxTGpjeU9UVWdNVEl1TmpReU5rTXlOaTQwTlRBeUlERXlMamt6TlRVZ01qY3VNRGN4TXlBeE15NHpOVFExSURJM0xqVTVNamdnTVRNdU9EazVORU15T0M0eE1qQXhJREUwTGpRME5ETWdNamd1TlRJM015QXhOUzR3T0RnNUlESTRMamd4TkRVZ01UVXVPRE16UXpJNUxqRXdNVFlnTVRZdU5UYzNNU0F5T1M0eU5EVXhJREUzTGpRd05qSWdNamt1TWpRMU1TQXhPQzR6TWpBelZqRTRMamc1TVRaRE1qa3VNalExTVNBeE9TNDNPVGs0SURJNUxqRXdNVFlnTWpBdU5qSTRPU0F5T0M0NE1UUTFJREl4TGpNM09EbERNamd1TlRJM015QXlNaTR4TWpNZ01qZ3VNVEl3TVNBeU1pNDNOamMySURJM0xqVTVNamdnTWpNdU16RXlOVU15Tnk0d056RXpJREl6TGpnMU1UWWdNall1TkRVek1TQXlOQzR5TmpjMklESTFMamN6T0RNZ01qUXVOVFl3TlVNeU5TNHdNak0wSURJMExqZzFNelVnTWpRdU1qTTFOQ0F5TlNBeU15NHpOelFnTWpWYVRUSXlMakU0TnpVZ01USXVNakF6TVZZeU5VZ3hPUzR6TWpJelZqRXlMakl3TXpGSU1qSXVNVGczTlZvaUlHWnBiR3c5SW5kb2FYUmxJaTgrQ2p3dmMzWm5QZ289XCI7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IHR5cGVzY3JpcHRfZGVmYXVsdCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXR5cGVzY3JpcHQubWpzLm1hcCIsImltcG9ydCB0eXBlc2NyaXB0X2RlZmF1bHQgZnJvbSBcIi4vdHlwZXNjcmlwdC5tanNcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9JY29ucy9EZXZzSWNvbnMvVHlwZVNjcmlwdC50c3hcbmZ1bmN0aW9uIFR5cGVTY3JpcHQoKSB7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFwiaW1nXCIsIHtcblx0XHRhbHQ6IFwidHlwZXNjcmlwdFwiLFxuXHRcdGhlaWdodDogXCIyMFwiLFxuXHRcdHNyYzogdHlwZXNjcmlwdF9kZWZhdWx0LFxuXHRcdHdpZHRoOiBcIjIwXCJcblx0fSk7XG59XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IFR5cGVTY3JpcHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9VHlwZVNjcmlwdDIubWpzLm1hcCIsIi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9JY29ucy9EZXZzSWNvbnMvY29tbW9uanMuc3ZnXG52YXIgY29tbW9uanNfZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTXpZaUlHaGxhV2RvZEQwaU16WWlJSFpwWlhkQ2IzZzlJakFnTUNBek5pQXpOaUlnWm1sc2JEMGlibTl1WlNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0S1BIQmhkR2dnWkQwaVRUQWdNRWd6TmxZek5rZ3dWakJhSWlCbWFXeHNQU0lqUmtaRU1UQXlJaTgrQ2p4d1lYUm9JR1E5SWswNUxqUXhNVEV6SURJeExqY3hNRGxJTVRJdU1qVTRPRU14TWk0eU1URTVJREl5TGpVNE9UZ2dNVEV1T1RjeE55QXlNeTR6TmpZeUlERXhMalV6T0RFZ01qUXVNRFJETVRFdU1URXdOQ0F5TkM0M01EZ2dNVEF1TlRFMU5pQXlOUzR5TXpJMElEa3VOelV6T1RFZ01qVXVOakV6TTBNNExqazVNakU1SURJMUxqazRPRE1nT0M0d09EWTVNU0F5Tmk0eE56VTRJRGN1TURNNE1Ea2dNall1TVRjMU9FTTJMakl3TURJZ01qWXVNVGMxT0NBMUxqUTFNRElnTWpZdU1ETXlNaUEwTGpjNE9EQTVJREkxTGpjME5URkROQzR4TWpVNU9DQXlOUzQwTlRnZ015NDFOak0wT0NBeU5TNHdORGM1SURNdU1UQXdOVGtnTWpRdU5URTBOa015TGpZME16VTFJREl6TGprM05UWWdNaTR5T1RFNU9TQXlNeTR6TWpneElESXVNRFExT1NBeU1pNDFOekl6UXpFdU9EQTFOallnTWpFdU9ERXdOU0F4TGpZNE5UVTFJREl3TGprMU1qRWdNUzQyT0RVMU5TQXhPUzQ1T1RjeFZqRTVMakl4TkRoRE1TNDJPRFUxTlNBeE9DNHlOVGs0SURFdU9ERXhOVElnTVRjdU5EQXhOQ0F5TGpBMk16UTRJREUyTGpZek9UWkRNaTR6TVRVME15QXhOUzQ0TnpjNUlESXVOamMxTnpnZ01UVXVNakkzTlNBekxqRTBORFV6SURFMExqWTRPRFZETXk0Mk1UTXlPQ0F4TkM0eE5EazBJRFF1TVRjMU56Z2dNVE11TnpNMk15QTBMamd6TWpBeklERXpMalEwT1RKRE5TNDBPRGd5T0NBeE15NHhOakl4SURZdU1qSXdOeUF4TXk0d01UZzJJRGN1TURJNU15QXhNeTR3TVRnMlF6Z3VNVEU1TVRRZ01UTXVNREU0TmlBNUxqQXpPVEEySURFekxqSXhORGdnT1M0M09Ea3dOaUF4TXk0Mk1EYzBRekV3TGpVek9URWdNVFFnTVRFdU1URTVNU0F4TkM0MU16a3hJREV4TGpVeU9UTWdNVFV1TWpJME5rTXhNUzQ1TkRVeklERTFMamt4TURJZ01USXVNVGswTXlBeE5pNDJPVEkwSURFeUxqSTNOalFnTVRjdU5UY3hNMGc1TGpReE9Ua3lRemt1TXprMk5EZ2dNVGN1TURjek1pQTVMak13TWpjeklERTJMalkxTkRNZ09TNHhNemcyTnlBeE5pNHpNVFExUXpndU9UYzBOakVnTVRVdU9UWTRPQ0E0TGpjeU1qWTJJREUxTGpjd09DQTRMak00TWpneElERTFMalV6TWpKRE9DNHdOREk1TnlBeE5TNHpOVFkwSURjdU5Ua3hPQ0F4TlM0eU5qZzJJRGN1TURJNU15QXhOUzR5TmpnMlF6WXVOakU1TVRRZ01UVXVNalk0TmlBMkxqSTFPRGM1SURFMUxqTTBORGNnTlM0NU5EZ3lOQ0F4TlM0ME9UY3hRelV1TmpRek5UVWdNVFV1TmpRNU5DQTFMak00T0RZM0lERTFMamc0TmpjZ05TNHhPRE0xT1NBeE5pNHlNRGxETkM0NU9EUXpPQ0F4Tmk0MU16RXlJRFF1T0RNME9UWWdNVFl1T1RReE5DQTBMamN6TlRNMUlERTNMalF6T1RWRE5DNDJNelUzTkNBeE55NDVNekUySURRdU5UZzFPVFFnTVRndU5URTNOaUEwTGpVNE5UazBJREU1TGpFNU56TldNVGt1T1RrM01VTTBMalU0TlRrMElESXdMalkzTURrZ05DNDJNams0T0NBeU1TNHlOVE01SURRdU56RTNOemNnTWpFdU56UTJNVU0wTGpnd05UWTJJREl5TGpJek9ETWdOQzQ1TkRZeU9TQXlNaTQyTkRVMUlEVXVNVE01TmpVZ01qSXVPVFkzT0VNMUxqTXpPRGczSURJekxqSTVJRFV1TlRrek56VWdNak11TlRNd015QTFMamt3TkRNZ01qTXVOamc0TlVNMkxqSXhORGcwSURJekxqZzBOamNnTmk0MU9USTNOeUF5TXk0NU1qVTRJRGN1TURNNE1Ea2dNak11T1RJMU9FTTNMalUwTnpnMUlESXpMamt5TlRnZ055NDVOekkyTmlBeU15NDRORFkzSURndU16RXlOU0F5TXk0Mk9EZzFRemd1TmpVeU16UWdNak11TlRJME5DQTRMamt4TXpBNUlESXpMakkzT0RNZ09TNHdPVFEzTXlBeU1pNDVOVEF5UXprdU1qYzJNemNnTWpJdU5qSXlNU0E1TGpNNE1UZzBJREl5TGpJd09TQTVMalF4TVRFeklESXhMamN4TURsYVRURTRMams1TVRJZ01qSXVNREkzTTFZeE15NHlNRE14U0RJeExqZ3pPRGxXTWpJdU1ESTNNME15TVM0NE16ZzVJREl5TGpnNE1qZ2dNakV1TmpRMU5TQXlNeTQyTWpFeElESXhMakkxT0RnZ01qUXVNalF5TWtNeU1DNDROemM1SURJMExqZzFOelFnTWpBdU16VTVOQ0F5TlM0ek16VWdNVGt1TnpBek1TQXlOUzQyTnpRNFF6RTVMakExTWpjZ01qWXVNREE0T0NBeE9DNHpNVGMwSURJMkxqRTNOVGdnTVRjdU5EazNNU0F5Tmk0eE56VTRRekUyTGpZMU16TWdNall1TVRjMU9DQXhOUzQ1TURNeklESTJMakF6TlRJZ01UVXVNalEzTVNBeU5TNDNOVE01UXpFMExqVTVNRGdnTWpVdU5EWTJPQ0F4TkM0d056VXlJREkxTGpBek1ETWdNVE11TnpBd01pQXlOQzQwTkRRelF6RXpMak16TVRFZ01qTXVPRFV5TlNBeE15NHhORFkxSURJekxqQTVPVFlnTVRNdU1UUTJOU0F5TWk0eE9EVTFTREUyTGpBeE1UZERNVFl1TURFeE55QXlNaTQyTXpZM0lERTJMakEyTnpRZ01qSXVPVGswTVNBeE5pNHhOemczSURJekxqSTFOemhETVRZdU1qazFPU0F5TXk0MU1UVTJJREUyTGpRMk5UZ2dNak11TmprM015QXhOaTQyT0RnMUlESXpMamd3TWpkRE1UWXVPVEV4TVNBeU15NDVNRGd5SURFM0xqRTRNRGNnTWpNdU9UWXdPU0F4Tnk0ME9UY3hJREl6TGprMk1EbERNVGN1T0RBeE9DQXlNeTQ1TmpBNUlERTRMakEyTlRRZ01qTXVPRGczTnlBeE9DNHlPRGd4SURJekxqYzBNVEpETVRndU5URXdOeUF5TXk0MU9EZzVJREU0TGpZNE16WWdNak11TXpZNU1TQXhPQzQ0TURZMklESXpMakE0TWtNeE9DNDVNamszSURJeUxqYzRPVEVnTVRndU9Ua3hNaUF5TWk0ME16YzFJREU0TGprNU1USWdNakl1TURJM00xcE5NekF1TlRjMU1pQXlNaTQyTWpWRE16QXVOVGMxTWlBeU1pNDBNRGd5SURNd0xqVTBNeUF5TWk0eU1UUTRJRE13TGpRM09EVWdNakl1TURRME9VTXpNQzQwTVRReElESXhMamcyT1RFZ016QXVNamsyT1NBeU1TNDNNRGdnTXpBdU1USTNJREl4TGpVMk1UVkRNamt1T1RVM0lESXhMalF4TlNBeU9TNDNNVFk0SURJeExqSTJPRFlnTWprdU5EQTJNaUF5TVM0eE1qSXhRekk1TGpBNU5UY2dNakF1T1RZNU55QXlPQzQyT0RnMUlESXdMamd4TkRVZ01qZ3VNVGcwTmlBeU1DNDJOVFl5UXpJM0xqWXhNRFFnTWpBdU5EWTRPQ0F5Tnk0d05qSTFJREl3TGpJMU56Z2dNall1TlRReElESXdMakF5TXpSRE1qWXVNREkxTkNBeE9TNDNPRE15SURJMUxqVTJOVFFnTVRrdU5UQTBPU0F5TlM0eE5qRXhJREU1TGpFNE9EVkRNalF1TnpVMk9DQXhPQzQ0TnpJeElESTBMalF6TnpVZ01UZ3VOVEF5T1NBeU5DNHlNRE14SURFNExqQTRNVEZETWpNdU9UYzBOaUF4Tnk0Mk5Ua3lJREl6TGpnMk1EUWdNVGN1TVRZM0lESXpMamcyTURRZ01UWXVOakEwTlVNeU15NDROakEwSURFMkxqQTFPVFlnTWpNdU9UZ3dOU0F4TlM0MU5qYzBJREkwTGpJeU1EY2dNVFV1TVRJM09VTXlOQzQwTmpBNUlERTBMalk0T0RVZ01qUXVOemszT1NBeE5DNHpNVE0xSURJMUxqSXpNVFFnTVRRdU1EQXlPVU15TlM0Mk5qVWdNVE11TmpnMk5TQXlOaTR4TnpRNElERXpMalEwTmpNZ01qWXVOell3TnlBeE15NHlPREl5UXpJM0xqTTBOamNnTVRNdU1URXlNeUF5Tnk0NU9URXlJREV6TGpBeU56TWdNamd1TmprME15QXhNeTR3TWpjelF6STVMall6TVRnZ01UTXVNREkzTXlBek1DNDBOVFV4SURFekxqRTVORE1nTXpFdU1UWTBNU0F4TXk0MU1qZ3pRek14TGpnM09Ea2dNVE11T0RVMk5DQXpNaTQwTXpVMUlERTBMak14T1RNZ016SXVPRE0wSURFMExqa3hOME16TXk0eU16STBJREUxTGpVd09EZ2dNek11TkRNeE5pQXhOaTR4T1RjeklETXpMalF6TVRZZ01UWXVPVGd5TkVnek1DNDFPRFJETXpBdU5UZzBJREUyTGpZek5qY2dNekF1TlRFd055QXhOaTR6TXpJZ016QXVNelkwTXlBeE5pNHdOamcwUXpNd0xqSXlNellnTVRVdU56azRPQ0F6TUM0d01EWTRJREUxTGpVNE56a2dNamt1TnpFek9TQXhOUzQwTXpVMVF6STVMalF5TmpnZ01UVXVNamd6TWlBeU9TNHdOalkwSURFMUxqSXdOeUF5T0M0Mk16STRJREUxTGpJd04wTXlPQzR5TVRBNUlERTFMakl3TnlBeU55NDROVFkwSURFMUxqSTNNVFVnTWpjdU5UWTVNeUF4TlM0ME1EQTBRekkzTGpJNE9ERWdNVFV1TlRJek5DQXlOeTR3TnpReUlERTFMalk1TXpRZ01qWXVPVEkzTnlBeE5TNDVNVEF5UXpJMkxqYzROekVnTVRZdU1USTNJREkyTGpjeE5qZ2dNVFl1TXpZME15QXlOaTQzTVRZNElERTJMall5TWpGRE1qWXVOekUyT0NBeE5pNDRNamN4SURJMkxqYzJPVFVnTVRjdU1ERTBOaUF5Tmk0NE56VWdNVGN1TVRnME5rTXlOaTQ1T0RZeklERTNMak0wT0RZZ01qY3VNVFEwTlNBeE55NDFNRE01SURJM0xqTTBPVFlnTVRjdU5qVXdORU15Tnk0MU5qQTFJREUzTGpjNU1TQXlOeTQ0TVRnMElERTNMamt5TlRnZ01qZ3VNVEl6SURFNExqQTFORGRETWpndU5ESTNOeUF4T0M0eE9ETTJJREk0TGpjM05qUWdNVGd1TXpBMk5pQXlPUzR4TmpnNUlERTRMalF5TXpoRE1qa3VPRFUwTlNBeE9DNDJOREEySURNd0xqUTJNRGtnTVRndU9EZ3dPU0F6TUM0NU9EZ3pJREU1TGpFME5EVkRNekV1TlRJeE5TQXhPUzQwTURneUlETXhMamsyT1RjZ01Ua3VOekEzSURNeUxqTXpNeUF5TUM0d05ERkRNekl1TmprMk15QXlNQzR6TnpVZ016SXVPVFk0T0NBeU1DNDNOVEk1SURNekxqRTFNRFFnTWpFdU1UYzBPRU16TXk0ek16YzVJREl4TGpVNU5qY2dNek11TkRNeE5pQXlNaTR3TnpReUlETXpMalF6TVRZZ01qSXVOakEzTkVNek15NDBNekUySURJekxqRTNOVGdnTXpNdU16SXdNeUF5TXk0Mk56azNJRE16TGpBNU56Y2dNalF1TVRFNU1VTXpNaTQ0T0RBNUlESTBMalUxT0RZZ016SXVOVFkwTlNBeU5DNDVNek0ySURNeUxqRTBPRFFnTWpVdU1qUTBNVU16TVM0M016Z3pJREkxTGpVME9EZ2dNekV1TWpRMk1TQXlOUzQzT0RBeklETXdMalkzTVRrZ01qVXVPVE00TlVNek1DNHdPVGMzSURJMkxqQTVOamNnTWprdU5EVTJNU0F5Tmk0eE56VTRJREk0TGpjME56RWdNall1TVRjMU9FTXlPQzR4TURJMUlESTJMakUzTlRnZ01qY3VORFkyT0NBeU5pNHdPVE00SURJMkxqZ3pPVGdnTWpVdU9USTVOME15Tmk0eU1USTVJREkxTGpjMU9UZ2dNalV1TmpRME5TQXlOUzQxTURJZ01qVXVNVE0wT0NBeU5TNHhOVFl5UXpJMExqWXpNRGtnTWpRdU9ERXdOU0F5TkM0eU1qWTJJREkwTGpNM01URWdNak11T1RJeE9TQXlNeTQ0TXpjNVF6SXpMall5TXlBeU15NHlPVGc0SURJekxqUTNNellnTWpJdU5qWXdNaUF5TXk0ME56TTJJREl4TGpreU1UbElNall1TXpNNE9VTXlOaTR6TXpnNUlESXlMak13T0RZZ01qWXVNemswTlNBeU1pNDJNelkzSURJMkxqVXdOVGtnTWpJdU9UQTJNa015Tmk0Mk1UY3lJREl6TGpFMk9Ua2dNall1TnpjMU5DQXlNeTR6T0RNNElESTJMams0TURVZ01qTXVOVFEzT1VNeU55NHhPVEUwSURJekxqY3hNVGtnTWpjdU5EUTJNeUF5TXk0NE1qa3hJREkzTGpjME5URWdNak11T0RrNU5FTXlPQzR3TkRNNUlESXpMamsyT1RjZ01qZ3VNemMzT1NBeU5DNHdNRFE1SURJNExqYzBOekVnTWpRdU1EQTBPVU15T1M0eE56UTRJREkwTGpBd05Ea2dNamt1TlRJd05TQXlNeTQ1TkRZeklESTVMamM0TkRJZ01qTXVPREk1TVVNek1DNHdOVE0zSURJekxqY3dOakVnTXpBdU1qVXlPU0F5TXk0MU16a3hJRE13TGpNNE1UZ2dNak11TXpJNE1VTXpNQzQxTVRBM0lESXpMakV4TnpJZ016QXVOVGMxTWlBeU1pNDRPREk0SURNd0xqVTNOVElnTWpJdU5qSTFXaUlnWm1sc2JEMGlkMmhwZEdVaUx6NEtQQzl6ZG1jK0NnPT1cIjtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgY29tbW9uanNfZGVmYXVsdCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbW1vbmpzLm1qcy5tYXAiLCJpbXBvcnQgY29tbW9uanNfZGVmYXVsdCBmcm9tIFwiLi9jb21tb25qcy5tanNcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9JY29ucy9EZXZzSWNvbnMvQ29tbW9uSlMudHN4XG5mdW5jdGlvbiBDb21tb25KUygpIHtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXCJpbWdcIiwge1xuXHRcdGFsdDogXCJjb21tb25qc1wiLFxuXHRcdGhlaWdodDogXCIyMFwiLFxuXHRcdHNyYzogY29tbW9uanNfZGVmYXVsdCxcblx0XHR3aWR0aDogXCIyMFwiXG5cdH0pO1xufVxuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBDb21tb25KUyB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Db21tb25KUzIubWpzLm1hcCIsIi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9JY29ucy9EZXZzSWNvbnMvZXM2bW9kdWxlLnN2Z1xudmFyIGVzNm1vZHVsZV9kZWZhdWx0ID0gXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNellpSUdobGFXZG9kRDBpTXpZaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TmlBek5pSWdabWxzYkQwaWJtOXVaU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JajRLUEhCaGRHZ2daRDBpVFRBZ01FZ3pObFl6Tmtnd1ZqQmFJaUJtYVd4c1BTSWpPVE5ETWtSQ0lpOCtDanh3WVhSb0lHUTlJazB4TVM0M05UVTVJREl5TGpjNE5USldNalZJTkM0NU5EUXpORll5TWk0M09EVXlTREV4TGpjMU5UbGFUVFV1T1RFNU9USWdNVEl1TWpBek1WWXlOVWd6TGpBMU5EWTVWakV5TGpJd016RklOUzQ1TVRrNU1scE5NVEF1T0RjM0lERTNMak0xTXpWV01Ua3VORGs0U0RRdU9UUTBNelJXTVRjdU16VXpOVWd4TUM0NE56ZGFUVEV4TGpjMk5EWWdNVEl1TWpBek1WWXhOQzQwTWpZNFNEUXVPVFEwTXpSV01USXVNakF6TVVneE1TNDNOalEyV2sweE9TNDNPVGM1SURJeExqWXlOVU14T1M0M09UYzVJREl4TGpRd09ESWdNVGt1TnpZMU5pQXlNUzR5TVRRNElERTVMamN3TVRJZ01qRXVNRFEwT1VNeE9TNDJNelkzSURJd0xqZzJPVEVnTVRrdU5URTVOU0F5TUM0M01EZ2dNVGt1TXpRNU5pQXlNQzQxTmpFMVF6RTVMakUzT1RjZ01qQXVOREUxSURFNExqa3pPVFVnTWpBdU1qWTROaUF4T0M0Mk1qZzVJREl3TGpFeU1qRkRNVGd1TXpFNE5DQXhPUzQ1TmprM0lERTNMamt4TVRFZ01Ua3VPREUwTlNBeE55NDBNRGN5SURFNUxqWTFOakpETVRZdU9ETXpJREU1TGpRMk9EZ2dNVFl1TWpnMU1pQXhPUzR5TlRjNElERTFMamMyTXpjZ01Ua3VNREl6TkVNeE5TNHlORGdnTVRndU56Z3pNaUF4TkM0M09EZ3hJREU0TGpVd05Ea2dNVFF1TXpnek9DQXhPQzR4T0RnMVF6RXpMamszT1RVZ01UY3VPRGN5TVNBeE15NDJOakF5SURFM0xqVXdNamtnTVRNdU5ESTFPQ0F4Tnk0d09ERXhRekV6TGpFNU56TWdNVFl1TmpVNU1pQXhNeTR3T0RNZ01UWXVNVFkzSURFekxqQTRNeUF4TlM0Mk1EUTFRekV6TGpBNE15QXhOUzR3TlRrMklERXpMakl3TXpFZ01UUXVOVFkzTkNBeE15NDBORE0wSURFMExqRXlOemxETVRNdU5qZ3pOaUF4TXk0Mk9EZzFJREUwTGpBeU1EVWdNVE11TXpFek5TQXhOQzQwTlRReElERXpMakF3TWpsRE1UUXVPRGczTnlBeE1pNDJPRFkxSURFMUxqTTVOelVnTVRJdU5EUTJNeUF4TlM0NU9ETTBJREV5TGpJNE1qSkRNVFl1TlRZNU15QXhNaTR4TVRJeklERTNMakl4TXprZ01USXVNREkzTXlBeE55NDVNVGNnTVRJdU1ESTNNME14T0M0NE5UUTFJREV5TGpBeU56TWdNVGt1TmpjM055QXhNaTR4T1RReklESXdMak00TmpjZ01USXVOVEk0TTBNeU1TNHhNREUySURFeUxqZzFOalFnTWpFdU5qVTRNaUF4TXk0ek1Ua3pJREl5TGpBMU5qWWdNVE11T1RFM1F6SXlMalExTlRFZ01UUXVOVEE0T0NBeU1pNDJOVFF6SURFMUxqRTVOek1nTWpJdU5qVTBNeUF4TlM0NU9ESTBTREU1TGpnd05qWkRNVGt1T0RBMk5pQXhOUzQyTXpZM0lERTVMamN6TXpRZ01UVXVNek15SURFNUxqVTROamtnTVRVdU1EWTRORU14T1M0ME5EWXpJREUwTGpjNU9EZ2dNVGt1TWpJNU5TQXhOQzQxT0RjNUlERTRMamt6TmpVZ01UUXVORE0xTlVNeE9DNDJORGswSURFMExqSTRNeklnTVRndU1qZzVNU0F4TkM0eU1EY2dNVGN1T0RVMU5TQXhOQzR5TURkRE1UY3VORE16TmlBeE5DNHlNRGNnTVRjdU1EYzVNU0F4TkM0eU56RTFJREUyTGpjNU1pQXhOQzQwTURBMFF6RTJMalV4TURjZ01UUXVOVEl6TkNBeE5pNHlPVFk1SURFMExqWTVNelFnTVRZdU1UVXdOQ0F4TkM0NU1UQXlRekUyTGpBd09UZ2dNVFV1TVRJM0lERTFMamt6T1RVZ01UVXVNelkwTXlBeE5TNDVNemsxSURFMUxqWXlNakZETVRVdU9UTTVOU0F4TlM0NE1qY3hJREUxTGprNU1qSWdNVFl1TURFME5pQXhOaTR3T1RjM0lERTJMakU0TkRaRE1UWXVNakE1SURFMkxqTTBPRFlnTVRZdU16WTNNaUF4Tmk0MU1ETTVJREUyTGpVM01qTWdNVFl1TmpVd05FTXhOaTQzT0RNeUlERTJMamM1TVNBeE55NHdOREVnTVRZdU9USTFPQ0F4Tnk0ek5EVTNJREUzTGpBMU5EZERNVGN1TmpVd05DQXhOeTR4T0RNMklERTNMams1T1NBeE55NHpNRFkySURFNExqTTVNVFlnTVRjdU5ESXpPRU14T1M0d056Y3hJREUzTGpZME1EWWdNVGt1Tmpnek5pQXhOeTQ0T0RBNUlESXdMakl4TURrZ01UZ3VNVFEwTlVNeU1DNDNORFF4SURFNExqUXdPRElnTWpFdU1Ua3lOQ0F4T0M0M01EY2dNakV1TlRVMU55QXhPUzR3TkRGRE1qRXVPVEU0T1NBeE9TNHpOelVnTWpJdU1Ua3hOQ0F4T1M0M05USTVJREl5TGpNM015QXlNQzR4TnpRNFF6SXlMalUyTURVZ01qQXVOVGsyTnlBeU1pNDJOVFF6SURJeExqQTNORElnTWpJdU5qVTBNeUF5TVM0Mk1EYzBRekl5TGpZMU5ETWdNakl1TVRjMU9DQXlNaTQxTkRNZ01qSXVOamM1TnlBeU1pNHpNakF6SURJekxqRXhPVEZETWpJdU1UQXpOU0F5TXk0MU5UZzJJREl4TGpjNE56RWdNak11T1RNek5pQXlNUzR6TnpFeElESTBMakkwTkRGRE1qQXVPVFl3T1NBeU5DNDFORGc0SURJd0xqUTJPRGdnTWpRdU56Z3dNeUF4T1M0NE9UUTFJREkwTGprek9EVkRNVGt1TXpJd015QXlOUzR3T1RZM0lERTRMalkzT0RjZ01qVXVNVGMxT0NBeE55NDVOamszSURJMUxqRTNOVGhETVRjdU16STFNaUF5TlM0eE56VTRJREUyTGpZNE9UVWdNalV1TURrek9DQXhOaTR3TmpJMUlESTBMamt5T1RkRE1UVXVORE0xTlNBeU5DNDNOVGs0SURFMExqZzJOeklnTWpRdU5UQXlJREUwTGpNMU56UWdNalF1TVRVMk1rTXhNeTQ0TlRNMUlESXpMamd4TURVZ01UTXVORFE1TWlBeU15NHpOekV4SURFekxqRTBORFVnTWpJdU9ETTNPVU14TWk0NE5EVTNJREl5TGpJNU9EZ2dNVEl1TmprMk15QXlNUzQyTmpBeUlERXlMalk1TmpNZ01qQXVPVEl4T1VneE5TNDFOakUxUXpFMUxqVTJNVFVnTWpFdU16QTROaUF4TlM0Mk1UY3lJREl4TGpZek5qY2dNVFV1TnpJNE5TQXlNUzQ1TURZeVF6RTFMamd6T1RnZ01qSXVNVFk1T1NBeE5TNDVPVGdnTWpJdU16Z3pPQ0F4Tmk0eU1ETXhJREl5TGpVME56bERNVFl1TkRFME1TQXlNaTQzTVRFNUlERTJMalkyT0RrZ01qSXVPREk1TVNBeE5pNDVOamM0SURJeUxqZzVPVFJETVRjdU1qWTJOaUF5TWk0NU5qazNJREUzTGpZd01EWWdNak11TURBME9TQXhOeTQ1TmprM0lESXpMakF3TkRsRE1UZ3VNemszTlNBeU15NHdNRFE1SURFNExqYzBNeklnTWpJdU9UUTJNeUF4T1M0d01EWTRJREl5TGpneU9URkRNVGt1TWpjMk5DQXlNaTQzTURZeElERTVMalEzTlRZZ01qSXVOVE01TVNBeE9TNDJNRFExSURJeUxqTXlPREZETVRrdU56TXpOQ0F5TWk0eE1UY3lJREU1TGpjNU56a2dNakV1T0RneU9DQXhPUzQzT1RjNUlESXhMall5TlZwTk16QXVOekl5TnlBeE1pNHdORFE1U0RNeExqRTBORFZXTVRRdU1qSTBOa2d6TUM0NU9EWXpRek13TGpNM01URWdNVFF1TWpJME5pQXlPUzQ0TURnMklERTBMak14TWpVZ01qa3VNams0T0NBeE5DNDBPRGd6UXpJNExqYzVORGtnTVRRdU5qWTBNU0F5T0M0ek5UZzBJREUwTGpreU5EZ2dNamN1T1RnNU15QXhOUzR5TnpBMVF6STNMall5TURFZ01UVXVOakV3TkNBeU55NHpNelU1SURFMkxqQXpNaklnTWpjdU1UTTJOeUF4Tmk0MU16WXhRekkyTGprME16UWdNVGN1TURNME1pQXlOaTQ0TkRZM0lERTNMall3T0RRZ01qWXVPRFEyTnlBeE9DNHlOVGc0VmpJd0xqUXpPRFZETWpZdU9EUTJOeUF5TUM0NE56YzVJREkyTGpnNE5EZ2dNakV1TWpZeE55QXlOaTQ1TmpBNUlESXhMalU0T1RoRE1qY3VNRFF6SURJeExqa3hNakVnTWpjdU1UWXdNaUF5TWk0eE9ERTJJREkzTGpNeE1qVWdNakl1TXprNE5FTXlOeTQwTnpBM0lESXlMall3T1RRZ01qY3VOall4TVNBeU1pNDNOekExSURJM0xqZzRNemdnTWpJdU9EZ3hPRU15T0M0eE1EWTBJREl5TGprNE56TWdNamd1TXpVNE5DQXlNeTR3TkNBeU9DNDJNemsySURJekxqQTBRekk0TGpnNU1UWWdNak11TURRZ01qa3VNVEl6SURJeUxqazRORFFnTWprdU16TTBJREl5TGpnM00wTXlPUzQxTkRRNUlESXlMamMyTVRjZ01qa3VOekkyTmlBeU1pNDJNRE0xSURJNUxqZzNPRGtnTWpJdU16azRORU16TUM0d016RXlJREl5TGpFNU16UWdNekF1TVRRNE5DQXlNUzQ1TlRZeElETXdMakl6TURVZ01qRXVOamcyTlVNek1DNHpNVEkxSURJeExqUXhNVEVnTXpBdU16VXpOU0F5TVM0eE1USXpJRE13TGpNMU16VWdNakF1TnpsRE16QXVNelV6TlNBeU1DNDBOVEF5SURNd0xqTXdPVFlnTWpBdU1UUXlOaUF6TUM0eU1qRTNJREU1TGpnMk56SkRNekF1TVRNNU5pQXhPUzQxT0RVNUlETXdMakF4T1RVZ01Ua3VNelExTnlBeU9TNDROakV6SURFNUxqRTBOalZETWprdU56QTVJREU0TGprME56TWdNamt1TlRJeE5TQXhPQzQzT1RRNUlESTVMakk1T0RnZ01UZ3VOamc1TlVNeU9TNHdOell5SURFNExqVTNPREVnTWpndU9ETXdNU0F4T0M0MU1qSTFJREk0TGpVMk1EVWdNVGd1TlRJeU5VTXlPQzR4TnpNNElERTRMalV5TWpVZ01qY3VPRE01T0NBeE9DNDJNVEEwSURJM0xqVTFPRFlnTVRndU56ZzJNVU15Tnk0eU56Y3pJREU0TGprMk1Ua2dNamN1TURZd05TQXhPUzR4T0RjMUlESTJMamt3T0RJZ01Ua3VORFl5T1VNeU5pNDNOVFU1SURFNUxqY3pPRE1nTWpZdU5qYzJPQ0F5TUM0d01UazFJREkyTGpZM01Ea2dNakF1TXpBMk5rd3lOUzQ1TkRFMElERTVMamN3TURKRE1qVXVPVFF4TkNBeE9TNHpNREU0SURJMkxqQXlNRFVnTVRndU9UQTVNaUF5Tmk0eE56ZzNJREU0TGpVeU1qVkRNall1TXpReU9DQXhPQzR4TWprNUlESTJMalUzTkRJZ01UY3VOemMxTkNBeU5pNDROek1nTVRjdU5EVTVRekkzTGpFM01Ua2dNVGN1TVRNMk55QXlOeTQxTXpneElERTJMamc0TVRnZ01qY3VPVGN4TnlBeE5pNDJPVFF6UXpJNExqUXhNVEVnTVRZdU5UQXhJREk0TGpreE1qRWdNVFl1TkRBME15QXlPUzQwTnpRMklERTJMalF3TkRORE16QXVNRFkyTkNBeE5pNDBNRFF6SURNd0xqVTROemtnTVRZdU5URTROaUF6TVM0d016a3hJREUyTGpjME56RkRNekV1TkRrd01pQXhOaTQ1TmprM0lETXhMamcyT0RJZ01UY3VNamd3TXlBek1pNHhOekk1SURFM0xqWTNPRGRETXpJdU5EZ3pOQ0F4T0M0d056Y3hJRE15TGpjeE5EZ2dNVGd1TlRReklETXlMamcyTnpJZ01Ua3VNRGMyTWtNek15NHdNalUwSURFNUxqWXdNelVnTXpNdU1UQTBOU0F5TUM0eE5qZzVJRE16TGpFd05EVWdNakF1TnpjeU5VTXpNeTR4TURRMUlESXhMak01TXpZZ016SXVPVGsyTVNBeU1TNDVOek0ySURNeUxqYzNPVE1nTWpJdU5URXlOME16TWk0MU5qZzBJREl6TGpBME5Ua2dNekl1TWpZNU5TQXlNeTQxTVRFM0lETXhMamc0TWpnZ01qTXVPVEV3TWtNek1TNDBPVFl4SURJMExqTXdPRFlnTXpFdU1ETXpNaUF5TkM0Mk1Ua3hJRE13TGpRNU5ERWdNalF1T0RReE9FTXlPUzQ1TmpBNUlESTFMakEyTkRVZ01qa3VNelkyTWlBeU5TNHhOelU0SURJNExqY3hJREkxTGpFM05UaERNamd1TURNd015QXlOUzR4TnpVNElESTNMalF3T1RJZ01qVXVNRFUxTnlBeU5pNDRORFkzSURJMExqZ3hOVFJETWpZdU1qa2dNalF1TlRjMU1pQXlOUzQ0TURNM0lESTBMakl6TWpRZ01qVXVNemczTnlBeU15NDNPRGN4UXpJMExqazNOelVnTWpNdU16TTFPU0F5TkM0Mk5UZ3lJREl5TGpjNU5qa2dNalF1TkRJNU55QXlNaTR4TmprNVF6STBMakl3TnlBeU1TNDFORE1nTWpRdU1EazFOeUF5TUM0NE16azRJREkwTGpBNU5UY2dNakF1TURZd05WWXhPUzR3TXpJeVF6STBMakE1TlRjZ01UY3VPVFkxT0NBeU5DNHlOVGs0SURFM0xqQXdORGtnTWpRdU5UZzNPU0F4Tmk0eE5EazBRekkwTGpreU1Ua2dNVFV1TWprek9TQXlOUzR6T0RRNElERTBMalUyTVRVZ01qVXVPVGMyTmlBeE15NDVOVEl4UXpJMkxqVTNORElnTVRNdU16TTJPU0F5Tnk0eU56Y3pJREV5TGpnMk5USWdNamd1TURnMU9TQXhNaTQxTXpjeFF6STRMamc1TkRVZ01USXVNakE1SURJNUxqYzNNelFnTVRJdU1EUTBPU0F6TUM0M01qSTNJREV5TGpBME5EbGFJaUJtYVd4c1BTSjNhR2wwWlNJdlBnbzhMM04yWno0S1wiO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBlczZtb2R1bGVfZGVmYXVsdCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVzNm1vZHVsZS5tanMubWFwIiwiaW1wb3J0IGVzNm1vZHVsZV9kZWZhdWx0IGZyb20gXCIuL2VzNm1vZHVsZS5tanNcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9JY29ucy9EZXZzSWNvbnMvRVM2TW9kdWxlLnRzeFxuZnVuY3Rpb24gRVM2TW9kdWxlcygpIHtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXCJpbWdcIiwge1xuXHRcdGFsdDogXCJlczYgbW9kdWxlc1wiLFxuXHRcdGhlaWdodDogXCIyMFwiLFxuXHRcdHNyYzogZXM2bW9kdWxlX2RlZmF1bHQsXG5cdFx0d2lkdGg6IFwiMjBcIlxuXHR9KTtcbn1cbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgRVM2TW9kdWxlcyB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1FUzZNb2R1bGUyLm1qcy5tYXAiLCIvLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvSWNvbnMvRGV2c0ljb25zL25vZGVqcy5zdmdcbnZhciBub2RlanNfZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpVlZSR0xUZ2lJSE4wWVc1a1lXeHZibVU5SW01dklqOCtDanh6ZG1jZ2QybGtkR2c5SWpJMU5uQjRJaUJvWldsbmFIUTlJakk0T1hCNElpQjJhV1YzUW05NFBTSXdJREFnTWpVMklESTRPU0lnZG1WeWMybHZiajBpTVM0eElpQjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIaHRiRzV6T25oc2FXNXJQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUwzaHNhVzVySWlCd2NtVnpaWEoyWlVGemNHVmpkRkpoZEdsdlBTSjRUV2xrV1UxcFpDSStDaUFnSUNBOFp6NEtJQ0FnSUNBZ0lDQThjR0YwYUNCa1BTSk5NVEkzTGprNU9UazVPU3d5T0RndU5EWXpOemN4SUVNeE1qUXVNREkwT0RRMExESTRPQzQwTmpNM056RWdNVEl3TGpNeE5EWTVPU3d5T0RjdU5EQXpOekk0SURFeE5pNDROamsxTmpRc01qZzFMalUwT0RZMU5pQk1PREV1TmpJek1UZzROQ3d5TmpRdU5qRXlPRE00SUVNM05pNHpNakk1T0N3eU5qRXVOamszTnpJMElEYzRMamszTXpBNE5UUXNNall3TGpZek56WTRNaUE0TUM0MU5qTXhORFU0TERJMk1DNHhNRGMyTmpFZ1F6ZzNMamN4T0RReU5Ua3NNalUzTGpjeU1qVTNJRGc1TGpBME16UTNOelVzTWpVM0xqRTVNalUwTnlBNU5pNDBOak0zTmpnNExESTFNaTQ1TlRJek9ERWdRemszTGpJMU9EYzVOemtzTWpVeUxqUXlNak0yTVNBNU9DNHpNVGc0TkRBMUxESTFNaTQyT0Rjek56SWdPVGt1TVRFek9EY3hPQ3d5TlRNdU1qRTNNemt5SUV3eE1qWXVNVFEwT1RJM0xESTJPUzR6T0RNd01qUWdRekV5Tnk0eU1EUTVOeXd5TmprdU9URXpNRFExSURFeU9DNDFNekF3TWpFc01qWTVMamt4TXpBME5TQXhNamt1TXpJMU1EVXpMREkyT1M0ek9ETXdNalFnVERJek5TNHdOalF4T0RJc01qQTRMakUyTlRZek5DQkRNak0yTGpFeU5ESXlOU3d5TURjdU5qTTFOakV4SURJek5pNDJOVFF5TkRVc01qQTJMalUzTlRVM01TQXlNell1TmpVME1qUTFMREl3TlM0eU5UQTFNVGtnVERJek5pNDJOVFF5TkRVc09ETXVNRGd3TnpRMk55QkRNak0yTGpZMU5ESTBOU3c0TVM0M05UVTJPVEk1SURJek5pNHhNalF5TWpVc09EQXVOamsxTmpVeU5pQXlNelV1TURZME1UZ3lMRGd3TGpFMk5UWXpNalFnVERFeU9TNHpNalV3TlRNc01Ua3VNakV6TWpVd05pQkRNVEk0TGpJMk5UQXhMREU0TGpZNE16SXpNRFVnTVRJMkxqa3pPVGsxT1N3eE9DNDJPRE15TXpBMUlERXlOaTR4TkRRNU1qY3NNVGt1TWpFek1qVXdOaUJNTWpBdU5EQTFOemsxTkN3NE1DNHhOalUyTXpJMElFTXhPUzR6TkRVM05UVXhMRGd3TGpZNU5UWTFNallnTVRndU9ERTFOek0wT1N3NE1pNHdNakEzTURReElERTRMamd4TlRjek5Ea3NPRE11TURnd056UTJOeUJNTVRndU9ERTFOek0wT1N3eU1EVXVNalV3TlRFNUlFTXhPQzQ0TVRVM016UTVMREl3Tmk0ek1UQTFOaUF4T1M0ek5EVTNOVFV4TERJd055NDJNelUyTVRFZ01qQXVOREExTnprMU5Dd3lNRGd1TVRZMU5qTTBJRXcwT1M0eU9URTVNalEzTERJeU5DNDROakV5T0RZZ1F6WTBMamt5TnpVek5qUXNNak15TGpneE1UVTVOU0EzTkM0M016STVNVGsyTERJeU15NDFNell5TXpRZ056UXVOek15T1RFNU5pd3lNVFF1TWpZd09EY3hJRXczTkM0M016STVNVGsyTERrekxqWTRNVEUxT1NCRE56UXVOek15T1RFNU5pdzVNaTR3T1RFd09UZzFJRGMyTGpBMU56azNNVEVzT1RBdU5UQXhNRE0xT0NBM055NDVNVE13TkRJNExEa3dMalV3TVRBek5UZ2dURGt4TGpReU9EVTNNVFlzT1RBdU5UQXhNRE0xT0NCRE9UTXVNREU0TmpNME15dzVNQzQxTURFd016VTRJRGswTGpZd09EWTVORGdzT1RFdU9ESTJNRGczTXlBNU5DNDJNRGcyT1RRNExEa3pMalk0TVRFMU9TQk1PVFF1TmpBNE5qazBPQ3d5TVRRdU1qWXdPRGN4SUVNNU5DNDJNRGcyT1RRNExESXpOUzR4T1RZMk9Ea2dPRE11TWpFek1qVXhNaXd5TkRjdU16ZzNNVFkwSURZekxqTXpOelEzTXpjc01qUTNMak00TnpFMk5DQkROVGN1TWpReU1qTTJNaXd5TkRjdU16ZzNNVFkwSURVeUxqUTNNakExTURJc01qUTNMak00TnpFMk5DQXpPQzQ1TlRZMU1qRTBMREkwTUM0M05qRTVNRFlnVERFeExqRXpNRFF6TkRjc01qSTBMamcyTVRJNE5pQkROQzR5TkRBeE5qVTRNU3d5TWpBdU9EZzJNVEk1SURVdU5qZzBNelF4T0RsbExURTBMREl4TXk0ME5qVTROQ0ExTGpZNE5ETTBNVGc1WlMweE5Dd3lNRFV1TlRFMU5USTRJRXcxTGpZNE5ETTBNVGc1WlMweE5DdzRNeTR6TkRVM05UVTNJRU0xTGpZNE5ETTBNVGc1WlMweE5DdzNOUzR6T1RVME5EWTFJRFF1TWpRd01UWTFPREVzTmpjdU9UYzFNVFUxTWlBeE1TNHhNekEwTXpRM0xEWTBMakF3TURBd01EWWdUREV4Tmk0NE5qazFOalFzTWk0M09ESTJNRGMxTWlCRE1USXpMalE1TkRneU5Dd3RNQzQ1TWpjMU16VTROREVnTVRNeUxqVXdOVEUzTml3dE1DNDVNamMxTXpVNE5ERWdNVE01TGpFek1EUXpOaXd5TGpjNE1qWXdOelV5SUV3eU5EUXVPRFk1TlRZMUxEWTBMakF3TURBd01EWWdRekkxTVM0M05UazRNelFzTmpjdU9UYzFNVFUxTWlBeU5UWXNOelV1TXprMU5EUTJOU0F5TlRZc09ETXVNelExTnpVMU55Qk1NalUyTERJd05TNDFNVFUxTWpnZ1F6STFOaXd5TVRNdU5EWTFPRFFnTWpVeExqYzFPVGd6TkN3eU1qQXVPRGcyTVRJNUlESTBOQzQ0TmprMU5qVXNNakkwTGpnMk1USTROaUJNTVRNNUxqRXpNRFF6Tml3eU9EWXVNRGM0TmpjMklFTXhNelV1TmpnMU1qazVMREk0Tnk0Mk5qZzNNemtnTVRNeExqY3hNREUwTlN3eU9EZ3VORFl6TnpjeElERXlOeTQ1T1RrNU9Ua3NNamc0TGpRMk16YzNNU0JNTVRJM0xqazVPVGs1T1N3eU9EZ3VORFl6TnpjeElGb2dUVEUyTUM0MU9UWXlOelFzTWpBMExqUTFOVFE0T0NCRE1URTBMakl4T1RRMk1Td3lNRFF1TkRVMU5EZzRJREV3TkM0Mk56a3dPRGtzTVRnekxqSTFORFkxT1NBeE1EUXVOamM1TURnNUxERTJOUzR5TXpNNU5UVWdRekV3TkM0Mk56a3dPRGtzTVRZekxqWTBNemc1TXlBeE1EWXVNREEwTVRReExERTJNaTR3TlRNNE16SWdNVEEzTGpnMU9USXhNaXd4TmpJdU1EVXpPRE15SUV3eE1qRXVOak01TnpVeUxERTJNaTR3TlRNNE16SWdRekV5TXk0eU1qazRNVE1zTVRZeUxqQTFNemd6TWlBeE1qUXVOVFUwT0RZMExERTJNeTR4TVRNNE56SWdNVEkwTGpVMU5EZzJOQ3d4TmpRdU56QXpPVE0xSUVNeE1qWXVOamMwT1RRM0xERTNPQzQzTkRrME9EUWdNVE15TGpjM01ERTROeXd4T0RVdU5qTTVOelV6SURFMk1DNDROakV5T0RNc01UZzFMall6T1RjMU15QkRNVGd6TGpFeU1qRTFOQ3d4T0RVdU5qTTVOelV6SURFNU1pNDJOakkxTWpZc01UZ3dMall3TkRVMU5pQXhPVEl1TmpZeU5USTJMREUyT0M0Mk56a3dPU0JETVRreUxqWTJNalV5Tml3eE5qRXVOemc0T0RJeElERTVNQzR3TVRJME1qTXNNVFUyTGpjMU16WXlOQ0F4TlRVdU1qazJNRFkxTERFMU15NHpNRGcwT0RrZ1F6RXlOaTQwTURrNU16Z3NNVFV3TGpNNU16TTNOU0F4TURndU16ZzVNak0xTERFME5DNHdNek14TWpZZ01UQTRMak00T1RJek5Td3hNakF1T1RjM01qSTJJRU14TURndU16ZzVNak0xTERrNUxqVXhNVE00TnpVZ01USTJMalF3T1Rrek9DdzROaTQzT1RBNE9UQXhJREUxTmk0Mk1qRXhNVGtzT0RZdU56a3dPRGt3TVNCRE1Ua3dMalUwTWpRME15dzROaTQzT1RBNE9UQXhJREl3Tnk0eU16Z3dPVFVzT1RndU5EVXhNelEzTWlBeU1Ea3VNelU0TVRjNExERXlNeTQ0T1RJek5DQkRNakE1TGpNMU9ERTNPQ3d4TWpRdU5qZzNNemN4SURJd09TNHdPVE14Tmpjc01USTFMalE0TWpRd015QXlNRGd1TlRZek1UUTNMREV5Tmk0eU56YzBNelFnUXpJd09DNHdNek14TWpjc01USTJMamd3TnpRMU5DQXlNRGN1TWpNNE1EazFMREV5Tnk0ek16YzBOelFnTWpBMkxqUTBNekEyTkN3eE1qY3VNek0zTkRjMElFd3hPVEl1TmpZeU5USTJMREV5Tnk0ek16YzBOelFnUXpFNU1TNHpNemMwTnpVc01USTNMak16TnpRM05DQXhPVEF1TURFeU5ESXpMREV5Tmk0eU56YzBNelFnTVRnNUxqYzBOelF4TWl3eE1qUXVPVFV5TXpneUlFTXhPRFl1TlRZM01qZzVMREV4TUM0ek56WTRNVE1nTVRjNExqTTFNVGsyTml3eE1EVXVOakEyTmpJMUlERTFOaTQyTWpFeE1Ua3NNVEExTGpZd05qWXlOU0JETVRNeUxqSTBNREUyTlN3eE1EVXVOakEyTmpJMUlERXlPUzR6TWpVd05UTXNNVEUwTGpBNE5qazFOeUF4TWprdU16STFNRFV6TERFeU1DNDBORGN5TURVZ1F6RXlPUzR6TWpVd05UTXNNVEk0TGpFek1qVXdOaUF4TXpJdU56Y3dNVGczTERFek1DNDFNVGMySURFMk5TNDJNekUwTnpFc01UTTBMamMxTnpjMk5pQkRNVGs0TGpJeU56YzBOQ3d4TXpndU9UazNPVE14SURJeE15NDFPVGd6TkRRc01UUTFMakE1TXpFMk9TQXlNVE11TlRrNE16UTBMREUyTnk0NE9EUXdOVGdnUXpJeE15NHpNek16TXpNc01Ua3hMakl3TkRrM0lERTVOQzR5TlRJMU9Ea3NNakEwTGpRMU5UUTRPQ0F4TmpBdU5UazJNamMwTERJd05DNDBOVFUwT0RnZ1RERTJNQzQxT1RZeU56UXNNakEwTGpRMU5UUTRPQ0JhSWlCbWFXeHNQU0lqTlRNNVJUUXpJajQ4TDNCaGRHZytDaUFnSUNBOEwyYytDand2YzNablBnbz1cIjtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgbm9kZWpzX2RlZmF1bHQgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1ub2RlanMubWpzLm1hcCIsImltcG9ydCBub2RlanNfZGVmYXVsdCBmcm9tIFwiLi9ub2RlanMubWpzXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvSWNvbnMvRGV2c0ljb25zL05vZGVKUy50c3hcbmZ1bmN0aW9uIE5vZGVKUygpIHtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXCJpbWdcIiwge1xuXHRcdGFsdDogXCJub2RlanNcIixcblx0XHRoZWlnaHQ6IFwiMjBcIixcblx0XHRzcmM6IG5vZGVqc19kZWZhdWx0LFxuXHRcdHdpZHRoOiBcIjIwXCJcblx0fSk7XG59XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IE5vZGVKUyB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Ob2RlSlMyLm1qcy5tYXAiLCIvLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvSWNvbnMvRGV2c0ljb25zL2dpdC5zdmdcbnZhciBnaXRfZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejRLUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIaHRiRHB6Y0dGalpUMGljSEpsYzJWeWRtVWlJSGRwWkhSb1BTSTVOeUlnYUdWcFoyaDBQU0k1TnlJK0NpQWdQSEJoZEdnZ1ptbHNiRDBpSTBZd05URXpNeUlnWkQwaVRUa3lMamN4SURRMExqUXdPQ0ExTWk0MU9URWdOQzR5T1RGakxUSXVNekV0TWk0ek1URXROaTR3TlRjdE1pNHpNVEV0T0M0ek5qa2dNR3d0T0M0ek15QTRMak16TWt3ME5pNDBOVGtnTWpNdU1UbGpNaTQwTlRZdExqZ3pJRFV1TWpjeUxTNHlOek1nTnk0eU1qa2dNUzQyT0RVZ01TNDVOamtnTVM0NU55QXlMalV5TVNBMExqZ3hJREV1TmpjZ055NHlOelZzTVRBdU1UZzJJREV3TGpFNE5XTXlMalEyTlMwdU9EVWdOUzR6TURjdExqTWdOeTR5TnpVZ01TNDJOekVnTWk0M05TQXlMamMxSURJdU56VWdOeTR5TURZZ01DQTVMamsxT0MweUxqYzFNaUF5TGpjMU1TMDNMakl3T0NBeUxqYzFNUzA1TGprMk1TQXdMVEl1TURZNExUSXVNRGN0TWk0MU9DMDFMakV4TFRFdU5UTXhMVGN1TmpVNGJDMDVMalV0T1M0ME9UbDJNalF1T1RrM1l5NDJOeTR6TXpJZ01TNHpNRE11TnpjMElERXVPRFl4SURFdU16TXlJREl1TnpVZ01pNDNOU0F5TGpjMUlEY3VNakEySURBZ09TNDVOVGt0TWk0M05TQXlMamMwT1MwM0xqSXdPU0F5TGpjME9TMDVMamsxTnlBd0xUSXVOelV0TWk0M05UUXRNaTQzTlMwM0xqSXhJREF0T1M0NU5Ua3VOamd0TGpZM09TQXhMalEyTnkweExqRTVNeUF5TGpNd055MHhMalV6TjNZdE1qVXVNak5qTFM0NE5DMHVNelEwTFRFdU5qSTFMUzQ0TlRNdE1pNHpNRGN0TVM0MU16Y3RNaTR3T0RNdE1pNHdPREl0TWk0MU9EUXROUzR4TkMweExqVXhOaTAzTGpZNU9Fd3pNUzQzT1RnZ01UWXVOekUxSURRdU1qZzRJRFEwTGpJeU1tTXRNaTR6TVRFZ01pNHpNVE10TWk0ek1URWdOaTR3TmlBd0lEZ3VNemN4YkRRd0xqRXlNU0EwTUM0eE1UaGpNaTR6TVNBeUxqTXhNU0EyTGpBMU5pQXlMak14TVNBNExqTTJPU0F3VERreUxqY3hJRFV5TGpjM09XTXlMak14TVMweUxqTXhNU0F5TGpNeE1TMDJMakEySURBdE9DNHpOekY2SWk4K0Nqd3ZjM1puUGc9PVwiO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBnaXRfZGVmYXVsdCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdpdC5tanMubWFwIiwiaW1wb3J0IGdpdF9kZWZhdWx0IGZyb20gXCIuL2dpdC5tanNcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9JY29ucy9EZXZzSWNvbnMvR2l0LnRzeFxuZnVuY3Rpb24gR2l0KCkge1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcImltZ1wiLCB7XG5cdFx0YWx0OiBcImdpdFwiLFxuXHRcdGhlaWdodDogXCIyMFwiLFxuXHRcdHNyYzogZ2l0X2RlZmF1bHQsXG5cdFx0d2lkdGg6IFwiMjBcIlxuXHR9KTtcbn1cbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgR2l0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUdpdDIubWpzLm1hcCIsIi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9JY29ucy9NYW5hZ2Vycy9ucG0uc3ZnXG52YXIgbnBtX2RlZmF1bHQgPSBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjJaWEp6YVc5dVBTSXhMakVpSUdsa1BTSk1ZWGxsY2w4eElpQjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIaHRiRzV6T25oc2FXNXJQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUwzaHNhVzVySWlCNFBTSXdjSGdpSUhrOUlqQndlQ0lLQ1NCMmFXVjNRbTk0UFNJd0lEQWdNalUySURJMU5pSWdaVzVoWW14bExXSmhZMnRuY205MWJtUTlJbTVsZHlBd0lEQWdNalUySURJMU5pSWdlRzFzT25Od1lXTmxQU0p3Y21WelpYSjJaU0krQ2p4d2IyeDVaMjl1SUdacGJHdzlJaU5EUXpBd01EQWlJSEJ2YVc1MGN6MGlNak1zTmpVdU5pQXhNekFzTXk0eklESXpOeXcyTlM0MklESXpOeXd4T1RBdU1TQXhNekFzTWpVeUxqUWdNak1zTVRrd0xqRWdJaTgrQ2p4d2IyeDVaMjl1SUdacGJHdzlJaU5HUmtaR1JrWWlJSEJ2YVc1MGN6MGlNVE16TERFeU55NDRJREl6TWk0MUxEY3dMalVnTWpNMkxqVXNNVGcySURFek15d3lORGd1TlNBaUx6NEtQR2MrQ2drOGNHRjBhQ0JtYVd4c1BTSWpRME13TURBd0lpQmtQU0pOTWpNMExEWTNiQzB3TGpNc01USXlMalJzTFRFd015NDRMRFl3TGpKc0xUQXVOUzB4TWpBdU0wd3lNelFzTmpkNklFMHhORFl1Tnl3eE16a3VNMnd3TGpNc09EQXVOR3d6TkM0MUxUSXdMakZzTFRBdU1TMDJNQzQyYkRFM0xqUXRNVEF1TXdvSkNXd3dMRFl3TGpoc01UY3VOQzB4TUM0eWJEQXVNUzA0TVM0MFRERTBOaTQzTERFek9TNHplaUl2UGdvOEwyYytDanh3WVhSb0lHWnBiR3c5SWlNNU1UQTFNRFVpSUdROUlrMHhNell1T0N3MExqSmpMVFF1T0MweUxqY3RNVEl1TlMweUxqY3RNVGN1TXl3d1RESTBMamNzTlRndU4yTXROQzQ0TERJdU55MDRMallzT1M0MUxUZ3VOaXd4TkM0NWRqRXdPV013TERVdU5Td3pMamtzTVRJdU1pdzRMallzTVRRdU9Rb0piRGswTGpnc05UUXVOV00wTGpnc01pNDNMREV5TGpVc01pNDNMREUzTGpNc01HdzVOQzQ0TFRVMExqVmpOQzQ0TFRJdU55dzRMall0T1M0MUxEZ3VOaTB4TkM0NWRpMHhNRGxqTUMwMUxqVXRNeTQ1TFRFeUxqSXRPQzQyTFRFMExqbE1NVE0yTGpnc05DNHllaUJOTWpJd0xqa3NOakV1TWdvSll6UXVPQ3d5TGpjc05DNDRMRGN1TWl3d0xEa3VPV3d0T0RNc05EY3VOMk10TkM0NExESXVOeTB4TWk0MUxESXVOeTB4Tnk0ekxEQk1Nell1TkN3M01DNDBZeTAwTGpndE1pNDNMVFF1T0MwM0xqSXNNQzA1TGpsc09ETXRORGN1TjJNMExqZ3RNaTQzTERFeUxqVXRNaTQzTERFM0xqTXNNQW9KVERJeU1DNDVMRFl4TGpKNklFMHlNeTQxTERneExqVmpNQzAxTGpVc015NDVMVGN1Tnl3NExqWXROV3c0TkM0NUxEUTRMamhqTkM0NExESXVOeXc0TGpZc09TNDFMRGd1Tml3eE5DNDVWakl6TjJNd0xEVXVOUzB6TGprc055NDNMVGd1Tml3MWJDMDROQzQ1TFRRNExqZ0tDV010TkM0NExUSXVOeTA0TGpZdE9TNDFMVGd1TmkweE5DNDVWamd4TGpWNklFMHhOREV1T0N3eU5EQXVOV010TkM0NExESXVOeTA0TGpZc01DNDFMVGd1TmkwMWRpMDVOUzR6WXpBdE5TNDFMRE11T1MweE1pNHlMRGd1TmkweE5DNDVUREl5TkM0eUxEYzRDZ2xqTkM0NExUSXVOeXc0TGpZdE1DNDFMRGd1Tml3MWRqazFMak5qTUN3MUxqVXRNeTQ1TERFeUxqSXRPQzQyTERFMExqbE1NVFF4TGpnc01qUXdMalY2SWk4K0Nqd3ZjM1puUGdvPVwiO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBucG1fZGVmYXVsdCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5wbS5tanMubWFwIiwiaW1wb3J0IG5wbV9kZWZhdWx0IGZyb20gXCIuL25wbS5tanNcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9JY29ucy9NYW5hZ2Vycy9OcG0udHN4XG5mdW5jdGlvbiBOcG0oKSB7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFwiaW1nXCIsIHtcblx0XHRhbHQ6IFwibnBtIHBhY2thZ2UgbWFuYWdlclwiLFxuXHRcdGhlaWdodDogXCIyMFwiLFxuXHRcdHNyYzogbnBtX2RlZmF1bHQsXG5cdFx0d2lkdGg6IFwiMjBcIlxuXHR9KTtcbn1cbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgTnBtIH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPU5wbTIubWpzLm1hcCIsIi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9JY29ucy9NYW5hZ2Vycy9wbnBtLnN2Z1xudmFyIHBucG1fZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCMlpYSnphVzl1UFNJeExqRWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaUlIQnlaWE5sY25abFFYTndaV04wVW1GMGFXODlJbmhOYVdSWlRXbGtJRzFsWlhRaUlIWnBaWGRDYjNnOUlqWTJMakE1TVRVM09EQTVORGMwTVRReUlETXpMalVnTVRnMExqVWdNVGcwTGpRNU9UazVPVGs1T1RrNU9UazNJaUIzYVdSMGFEMGlNVGd3SWlCb1pXbG5hSFE5SWpFNE1DSStQR1JsWm5NK1BIQmhkR2dnWkQwaVRUWTNMalU1SURNMVRESTBOeTQxT1NBek5Vd3lORGN1TlRrZ01qRTFURFkzTGpVNUlESXhOVXcyTnk0MU9TQXpOVm9pSUdsa1BTSmlNa3BhV21OQk0yWlVJajQ4TDNCaGRHZytQSEJoZEdnZ1pEMGlUVEl6Tnk0MklEazFUREU0Tnk0MklEazFUREU0Tnk0MklEUTFUREl6Tnk0MklEUTFUREl6Tnk0MklEazFXaUlnYVdROUltSnFNSFJpTUZrNGNTSStQQzl3WVhSb1BqeHdZWFJvSUdROUlrMHhPREl1TlRrZ09UVk1NVE15TGpVNUlEazFUREV6TWk0MU9TQTBOVXd4T0RJdU5Ua2dORFZNTVRneUxqVTVJRGsxV2lJZ2FXUTlJbVJyUkZOVWVsQnFNeUkrUEM5d1lYUm9Qanh3WVhSb0lHUTlJazB4TWpjdU5Ua2dPVFZNTnpjdU5Ua2dPVFZNTnpjdU5Ua2dORFZNTVRJM0xqVTVJRFExVERFeU55NDFPU0E1TlZvaUlHbGtQU0poTkhaT1pHTk9USEJHSWo0OEwzQmhkR2crUEhCaGRHZ2daRDBpVFRJek55NDJJREUxTUV3eE9EY3VOaUF4TlRCTU1UZzNMallnTVRBd1RESXpOeTQySURFd01Fd3lNemN1TmlBeE5UQmFJaUJwWkQwaWFESjBORnBxTVdwVFZTSStQQzl3WVhSb1BqeHdZWFJvSUdROUlrMHhPREl1TlRrZ01UVXdUREV6TWk0MU9TQXhOVEJNTVRNeUxqVTVJREV3TUV3eE9ESXVOVGtnTVRBd1RERTRNaTQxT1NBeE5UQmFJaUJwWkQwaVlqUjBOWEJ1WjNkMlZDSStQQzl3WVhSb1BqeHdZWFJvSUdROUlrMHhPREl1TlRrZ01qQTFUREV6TWk0MU9TQXlNRFZNTVRNeUxqVTVJREUxTlV3eE9ESXVOVGtnTVRVMVRERTRNaTQxT1NBeU1EVmFJaUJwWkQwaVlqbHpNV2RrTlcweUlqNDhMM0JoZEdnK1BIQmhkR2dnWkQwaVRUSXpOeTQySURJd05Vd3hPRGN1TmlBeU1EVk1NVGczTGpZZ01UVTFUREl6Tnk0MklERTFOVXd5TXpjdU5pQXlNRFZhSWlCcFpEMGlZMjEwT1ZkTWRubzNJajQ4TDNCaGRHZytQSEJoZEdnZ1pEMGlUVEV5Tnk0MU9TQXlNRFZNTnpjdU5Ua2dNakExVERjM0xqVTVJREUxTlV3eE1qY3VOVGtnTVRVMVRERXlOeTQxT1NBeU1EVmFJaUJwWkQwaVlrcFZUbkZuUmxObklqNDhMM0JoZEdnK1BDOWtaV1p6UGp4blBqeG5QangxYzJVZ2VHeHBibXM2YUhKbFpqMGlJMkl5U2xwYVkwRXpabFFpSUc5d1lXTnBkSGs5SWpFaUlHWnBiR3c5SWlObVptWm1abVlpSUdacGJHd3RiM0JoWTJsMGVUMGlNU0krUEM5MWMyVStQQzluUGp4blBqeDFjMlVnZUd4cGJtczZhSEpsWmowaUkySnFNSFJpTUZrNGNTSWdiM0JoWTJsMGVUMGlNU0lnWm1sc2JEMGlJMlk1WVdRd01DSWdabWxzYkMxdmNHRmphWFI1UFNJeElqNDhMM1Z6WlQ0OEwyYytQR2MrUEhWelpTQjRiR2x1YXpwb2NtVm1QU0lqWkd0RVUxUjZVR296SWlCdmNHRmphWFI1UFNJeElpQm1hV3hzUFNJalpqbGhaREF3SWlCbWFXeHNMVzl3WVdOcGRIazlJakVpUGp3dmRYTmxQand2Wno0OFp6NDhkWE5sSUhoc2FXNXJPbWh5WldZOUlpTmhOSFpPWkdOT1RIQkdJaUJ2Y0dGamFYUjVQU0l4SWlCbWFXeHNQU0lqWmpsaFpEQXdJaUJtYVd4c0xXOXdZV05wZEhrOUlqRWlQand2ZFhObFBqd3ZaejQ4Wno0OGRYTmxJSGhzYVc1ck9taHlaV1k5SWlOb01uUTBXbW94YWxOVklpQnZjR0ZqYVhSNVBTSXhJaUJtYVd4c1BTSWpaamxoWkRBd0lpQm1hV3hzTFc5d1lXTnBkSGs5SWpFaVBqd3ZkWE5sUGp3dlp6NDhaejQ4ZFhObElIaHNhVzVyT21oeVpXWTlJaU5pTkhRMWNHNW5kM1pVSWlCdmNHRmphWFI1UFNJeElpQm1hV3hzUFNJak5HVTBaVFJsSWlCbWFXeHNMVzl3WVdOcGRIazlJakVpUGp3dmRYTmxQand2Wno0OFp6NDhkWE5sSUhoc2FXNXJPbWh5WldZOUlpTmlPWE14WjJRMWJUSWlJRzl3WVdOcGRIazlJakVpSUdacGJHdzlJaU0wWlRSbE5HVWlJR1pwYkd3dGIzQmhZMmwwZVQwaU1TSStQQzkxYzJVK1BDOW5QanhuUGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTJOdGREbFhUSFo2TnlJZ2IzQmhZMmwwZVQwaU1TSWdabWxzYkQwaUl6UmxOR1UwWlNJZ1ptbHNiQzF2Y0dGamFYUjVQU0l4SWo0OEwzVnpaVDQ4TDJjK1BHYytQSFZ6WlNCNGJHbHVhenBvY21WbVBTSWpZa3BWVG5GblJsTm5JaUJ2Y0dGamFYUjVQU0l4SWlCbWFXeHNQU0lqTkdVMFpUUmxJaUJtYVd4c0xXOXdZV05wZEhrOUlqRWlQand2ZFhObFBqd3ZaejQ4TDJjK1BDOXpkbWMrXCI7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IHBucG1fZGVmYXVsdCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBucG0ubWpzLm1hcCIsImltcG9ydCBwbnBtX2RlZmF1bHQgZnJvbSBcIi4vcG5wbS5tanNcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9JY29ucy9NYW5hZ2Vycy9QbnBtLnRzeFxuZnVuY3Rpb24gUG5wbSgpIHtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXCJpbWdcIiwge1xuXHRcdGFsdDogXCJwbnBtIHBhY2thZ2UgbWFuYWdlclwiLFxuXHRcdGhlaWdodDogXCIyMFwiLFxuXHRcdHNyYzogcG5wbV9kZWZhdWx0LFxuXHRcdHdpZHRoOiBcIjIwXCJcblx0fSk7XG59XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IFBucG0gfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9UG5wbTIubWpzLm1hcCIsIi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9JY29ucy9NYW5hZ2Vycy95YXJuLnN2Z1xudmFyIHlhcm5fZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCcFpEMGlUR0Y1WlhKZk1TSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklpQjJhV1YzUW05NFBTSXdJREFnTlRFNElEVXhPQ0krUEhOMGVXeGxQaTV6ZERCN1ptbHNiRG9qTW1NNFpXSmlmUzV6ZERGN1ptbHNiRG9qWm1abWZUd3ZjM1I1YkdVK1BIQmhkR2dnWTJ4aGMzTTlJbk4wTUNJZ1pEMGlUVEkxT1NBd1l6RTBNeUF3SURJMU9TQXhNVFlnTWpVNUlESTFPVk0wTURJZ05URTRJREkxT1NBMU1UZ2dNQ0EwTURJZ01DQXlOVGtnTVRFMklEQWdNalU1SURCNklpOCtQSEJoZEdnZ1kyeGhjM005SW5OME1TSWdaRDBpVFRRek5TNHlJRE16Tnk0MVl5MHhMamd0TVRRdU1pMHhNeTQ0TFRJMExUSTVMakl0TWpNdU9DMHlNeUF1TXkwME1pNHpJREV5TGpJdE5UVXVNU0F5TUM0eExUVWdNeTR4TFRrdU15QTFMalF0TVRNZ055NHhMamd0TVRFdU5pNHhMVEkyTGpndE5TNDVMVFF6TGpVdE55NHpMVEl3TFRFM0xqRXRNekl1TXkweU5DNHhMVE01TGpRZ09DNHhMVEV4TGpnZ01Ua3VNaTB5T1NBeU5DNDBMVFUxTGpZZ05DNDFMVEl5TGpjZ015NHhMVFU0TFRjdU1pMDNOeTQ0TFRJdU1TMDBMVFV1TmkwMkxqa3RNVEF0T0M0eExURXVPQzB1TlMwMUxqSXRNUzQxTFRFeExqa3VORU15T1RNdU1TQTVOaUF5T0RrdU5pQTVNeTQ0SURJNE5pNDVJRGt5WXkwMUxqWXRNeTQyTFRFeUxqSXROQzQwTFRFNExqUXRNaTR4TFRndU15QXpMVEUxTGpRZ01URXRNakl1TVNBeU5TNHlMVEVnTWk0eExURXVPU0EwTGpFdE1pNDNJRFl1TVMweE1pNDNMamt0TXpJdU55QTFMalV0TkRrdU5pQXlNeTQ0TFRJdU1TQXlMak10Tmk0eUlEUXRNVEF1TlNBMUxqWm9MakZqTFRndU9DQXpMakV0TVRJdU9DQXhNQzR6TFRFM0xqY2dNak11TXkwMkxqZ2dNVGd1TWk0eUlETTJMakVnTnk0eElEUTNMamN0T1M0MElEZ3VOQzB5TVM0NUlESXhMamd0TWpndU5TQXpOeTQxTFRndU1pQXhPUzQwTFRrdU1TQXpPQzQwTFRndU9DQTBPQzQzTFRjZ055NDBMVEUzTGpnZ01qRXVNeTB4T1NBek5pNDVMVEV1TmlBeU1TNDRJRFl1TXlBek5pNDJJRGt1T0NBME1pQXhJREV1TmlBeUxqRWdNaTQ1SURNdU15QTBMakl0TGpRZ01pNDNMUzQxSURVdU5pNHhJRGd1TmlBeExqTWdOeUExTGpjZ01USXVOeUF4TWk0MElERTJMak1nTVRNdU1pQTNJRE14TGpZZ01UQWdORFV1T0NBeUxqa2dOUzR4SURVdU5DQXhOQzQwSURFd0xqWWdNekV1TXlBeE1DNDJhREZqTkM0eklEQWdOVGd1T1MweUxqa2dOelF1T0MwMkxqZ2dOeTR4TFRFdU55QXhNaTAwTGpjZ01UVXVNaTAzTGpRZ01UQXVNaTB6TGpJZ016Z3VOQzB4TWk0NElEWTFMVE13SURFNExqZ3RNVEl1TWlBeU5TNHpMVEUwTGpnZ016a3VNeTB4T0M0eUlERXpMall0TXk0eklESXlMakV0TVRVdU55QXlNQzQwTFRJNUxqUjZiUzB5TXk0NElERTBMamRqTFRFMklETXVPQzB5TkM0eElEY3VNeTAwTXk0NUlESXdMakl0TXpBdU9TQXlNQzAyTkM0M0lESTVMak10TmpRdU55QXlPUzR6Y3kweUxqZ2dOQzR5TFRFd0xqa2dOaTR4WXkweE5DQXpMalF0TmpZdU55QTJMak10TnpFdU5TQTJMalF0TVRJdU9TNHhMVEl3TGpndE15NHpMVEl6TFRndU5pMDJMamN0TVRZZ09TNDJMVEl6SURrdU5pMHlNM010TXk0MkxUSXVNaTAxTGpjdE5DNHlZeTB4TGprdE1TNDVMVE11T1MwMUxqY3ROQzQxTFRRdU15MHlMalVnTmk0eExUTXVPQ0F5TVMweE1DNDFJREkzTGpjdE9TNHlJRGt1TXkweU5pNDJJRFl1TWkwek5pNDVMamd0TVRFdU15MDJJQzQ0TFRJd0xqRXVPQzB5TUM0eGN5MDJMakVnTXk0MkxURXhMVE11T0dNdE5DNDBMVFl1T0MwNExqVXRNVGd1TkMwM0xqUXRNekl1TnlBeExqSXRNVFl1TXlBeE9TNDBMVE15TGpFZ01Ua3VOQzB6TWk0eGN5MHpMakl0TWpRdU1TQTNMak10TkRndU9HTTVMalV0TWpJdU5TQXpOUzR4TFRRd0xqWWdNelV1TVMwME1DNDJjeTB5TVM0MUxUSXpMamd0TVRNdU5TMDBOUzR5WXpVdU1pMHhOQ0EzTGpNdE1UTXVPU0E1TFRFMExqVWdOaTB5TGpNZ01URXVPQzAwTGpnZ01UWXVNUzA1TGpVZ01qRXVOUzB5TXk0eUlEUTRMamt0TVRndU9DQTBPQzQ1TFRFNExqaHpNVE10TXprdU5TQXlOUzB6TVM0NFl6TXVOeUF5TGpRZ01UY2dNeklnTVRjZ016SnpNVFF1TWkwNExqTWdNVFV1T0MwMUxqSmpPQzQySURFMkxqY2dPUzQySURRNExqWWdOUzQ0SURZNExUWXVOQ0F6TWkweU1pNDBJRFE1TGpJdE1qZ3VPQ0EyTUMweExqVWdNaTQxSURFM0xqSWdNVEF1TkNBeU9TQTBNeTR4SURFd0xqa2dNamt1T1NBeExqSWdOVFVnTWk0NUlEVTNMamd1TXk0MUxqUXVOeTQwTGpkek1USXVOU0F4SURNM0xqWXRNVFF1TldNeE15NDBMVGd1TXlBeU9TNHpMVEUzTGpZZ05EY3VOQzB4Tnk0NElERTNMalV0TGpNZ01UZ3VOQ0F5TUM0eUlEVXVNaUF5TXk0MGVpSXZQand2YzNablBnPT1cIjtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgeWFybl9kZWZhdWx0IGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9eWFybi5tanMubWFwIiwiaW1wb3J0IHlhcm5fZGVmYXVsdCBmcm9tIFwiLi95YXJuLm1qc1wiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0ljb25zL01hbmFnZXJzL1lhcm4udHN4XG5mdW5jdGlvbiBZYXJuKCkge1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcImltZ1wiLCB7XG5cdFx0YWx0OiBcIm5wbSBwYWNrYWdlIG1hbmFnZXJcIixcblx0XHRoZWlnaHQ6IFwiMjBcIixcblx0XHRzcmM6IHlhcm5fZGVmYXVsdCxcblx0XHR3aWR0aDogXCIyMFwiXG5cdH0pO1xufVxuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBZYXJuIH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVlhcm4yLm1qcy5tYXAiLCJpbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbmltcG9ydCBUeXBvZ3JhcGh5IGZyb20gXCJAbXVpL21hdGVyaWFsL1R5cG9ncmFwaHlcIjtcbmltcG9ydCBMaXN0SXRlbSBmcm9tIFwiQG11aS9tYXRlcmlhbC9MaXN0SXRlbVwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0VuZ2luZXMvc3R5bGVzLnRzXG5mdW5jdGlvbiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXygpIHtcblx0cmV0dXJuIFwiWW91IGhhdmUgdHJpZWQgdG8gc3RyaW5naWZ5IG9iamVjdCByZXR1cm5lZCBmcm9tIGBjc3NgIGZ1bmN0aW9uLiBJdCBpc24ndCBzdXBwb3NlZCB0byBiZSB1c2VkIGRpcmVjdGx5IChlLmcuIGFzIHZhbHVlIG9mIHRoZSBgY2xhc3NOYW1lYCBwcm9wKSwgYnV0IHJhdGhlciBoYW5kZWQgdG8gZW1vdGlvbiBzbyBpdCBjYW4gaGFuZGxlIGl0IChlLmcuIGFzIHZhbHVlIG9mIGBjc3NgIHByb3ApLlwiO1xufVxudmFyIFN0eWxlZFRleHQgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChUeXBvZ3JhcGh5LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJleGpjczdjMVwiIH0gOiB7XG5cdHRhcmdldDogXCJleGpjczdjMVwiLFxuXHRsYWJlbDogXCJTdHlsZWRUZXh0XCJcbn0pKChwcm9wcykgPT4gKHtcblx0Zm9udFdlaWdodDogcHJvcHMudGhlbWUuZm9udFdlaWdodC5ib2xkLFxuXHR0ZXh0VHJhbnNmb3JtOiBcImNhcGl0YWxpemVcIlxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlGYm1kcGJtVnpMM04wZVd4bGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZOTUVJaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OWpiMjF3YjI1bGJuUnpMMFZ1WjJsdVpYTXZjM1I1YkdWekxuUnpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSE4wZVd4bFpDQm1jbTl0SUNkQVpXMXZkR2x2Ymk5emRIbHNaV1FuTzF4dWFXMXdiM0owSUV4cGMzUkpkR1Z0SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkRWwwWlcwbk8xeHVhVzF3YjNKMElGUjVjRzluY21Gd2FIa2dabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlVZVhCdlozSmhjR2g1Snp0Y2JseHVhVzF3YjNKMElIUjVjR1VnZXlCVWFHVnRaU0I5SUdaeWIyMGdKeTR1THk0dUwxUm9aVzFsSnp0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZOMGVXeGxaRlJsZUhRZ1BTQnpkSGxzWldRb1ZIbHdiMmR5WVhCb2VTazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2h3Y205d2N5a2dQVDRnS0h0Y2JpQWdabTl1ZEZkbGFXZG9kRG9nY0hKdmNITXVkR2hsYldVdVptOXVkRmRsYVdkb2RDNWliMnhrTEZ4dUlDQjBaWGgwVkhKaGJuTm1iM0p0T2lBblkyRndhWFJoYkdsNlpTY3NYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCRmJtZHBibVZNYVhOMFNYUmxiU0E5SUhOMGVXeGxaQ2hNYVhOMFNYUmxiU2tvZTF4dUlDQndZV1JrYVc1bk9pQXdMRnh1ZlNrN1hHNGlYWDA9ICovXCIpO1xudmFyIEVuZ2luZUxpc3RJdGVtID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoTGlzdEl0ZW0sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImV4amNzN2MwXCIgfSA6IHtcblx0dGFyZ2V0OiBcImV4amNzN2MwXCIsXG5cdGxhYmVsOiBcIkVuZ2luZUxpc3RJdGVtXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCIxaGN4OGpiXCIsXG5cdHN0eWxlczogXCJwYWRkaW5nOjBcIlxufSA6IHtcblx0bmFtZTogXCIxaGN4OGpiXCIsXG5cdHN0eWxlczogXCJwYWRkaW5nOjAvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5RmJtZHBibVZ6TDNOMGVXeGxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGWE9FSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDBWdVoybHVaWE12YzNSNWJHVnpMblJ6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVhVzF3YjNKMElFeHBjM1JKZEdWdElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZEVsMFpXMG5PMXh1YVcxd2IzSjBJRlI1Y0c5bmNtRndhSGtnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5VWVYQnZaM0poY0doNUp6dGNibHh1YVcxd2IzSjBJSFI1Y0dVZ2V5QlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMMVJvWlcxbEp6dGNibHh1Wlhod2IzSjBJR052Ym5OMElGTjBlV3hsWkZSbGVIUWdQU0J6ZEhsc1pXUW9WSGx3YjJkeVlYQm9lU2s4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0Nod2NtOXdjeWtnUFQ0Z0tIdGNiaUFnWm05dWRGZGxhV2RvZERvZ2NISnZjSE11ZEdobGJXVXVabTl1ZEZkbGFXZG9kQzVpYjJ4a0xGeHVJQ0IwWlhoMFZISmhibk5tYjNKdE9pQW5ZMkZ3YVhSaGJHbDZaU2NzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkZibWRwYm1WTWFYTjBTWFJsYlNBOUlITjBlV3hsWkNoTWFYTjBTWFJsYlNrb2UxeHVJQ0J3WVdSa2FXNW5PaUF3TEZ4dWZTazdYRzRpWFgwPSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBFbmdpbmVMaXN0SXRlbSwgU3R5bGVkVGV4dCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHlsZXMubWpzLm1hcCIsImltcG9ydCB7IE5vZGVKUyB9IGZyb20gXCIuLi9JY29ucy9EZXZzSWNvbnMvTm9kZUpTMi5tanNcIjtcbmltcG9ydCB7IE5wbSB9IGZyb20gXCIuLi9JY29ucy9NYW5hZ2Vycy9OcG0yLm1qc1wiO1xuaW1wb3J0IHsgUG5wbSB9IGZyb20gXCIuLi9JY29ucy9NYW5hZ2Vycy9QbnBtMi5tanNcIjtcbmltcG9ydCB7IFlhcm4gfSBmcm9tIFwiLi4vSWNvbnMvTWFuYWdlcnMvWWFybjIubWpzXCI7XG5pbXBvcnQgXCIuLi9JY29ucy9pbmRleC5tanNcIjtcbmltcG9ydCB7IEVuZ2luZUxpc3RJdGVtLCBTdHlsZWRUZXh0IH0gZnJvbSBcIi4vc3R5bGVzLm1qc1wiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IExpc3QgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvTGlzdFwiO1xuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgQXZhdGFyIGZyb20gXCJAbXVpL21hdGVyaWFsL0F2YXRhclwiO1xuaW1wb3J0IEdyaWQgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvR3JpZFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0VuZ2luZXMvRW5naW5lcy50c3hcbi8qKlxuKlxuKlxuKiBAY2F0ZWdvcnkgQ29tcG9uZW50XG4qL1xudmFyIEVuZ2luZUl0ZW0gPSAoeyB0aXRsZSwgZWxlbWVudCwgZW5naW5lVGV4dCB9KSA9PiAvKiBAX19QVVJFX18gKi8ganN4KEdyaWQsIHtcblx0c2l6ZTogeyB4czogNiB9LFxuXHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChMaXN0LCB7XG5cdFx0c3ViaGVhZGVyOiAvKiBAX19QVVJFX18gKi8ganN4KFN0eWxlZFRleHQsIHtcblx0XHRcdHZhcmlhbnQ6IFwic3VidGl0bGUxXCIsXG5cdFx0XHRjaGlsZHJlbjogdGl0bGVcblx0XHR9KSxcblx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeHMoRW5naW5lTGlzdEl0ZW0sIHsgY2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KEF2YXRhciwge1xuXHRcdFx0c3g6IHtcblx0XHRcdFx0YmFja2dyb3VuZENvbG9yOiBcInRyYW5zcGFyZW50XCIsXG5cdFx0XHRcdG1hcmdpbkxlZnQ6IDAsXG5cdFx0XHRcdHBhZGRpbmc6IDBcblx0XHRcdH0sXG5cdFx0XHRjaGlsZHJlbjogZWxlbWVudFxuXHRcdH0pLCAvKiBAX19QVVJFX18gKi8ganN4KFR5cG9ncmFwaHksIHtcblx0XHRcdHN4OiB7XG5cdFx0XHRcdG1hcmdpbjogMCxcblx0XHRcdFx0cGFkZGluZzogXCIwIDAgMCAxMHB4XCJcblx0XHRcdH0sXG5cdFx0XHR2YXJpYW50OiBcInN1YnRpdGxlMlwiLFxuXHRcdFx0Y2hpbGRyZW46IGVuZ2luZVRleHRcblx0XHR9KV0gfSlcblx0fSlcbn0pO1xuLyoqXG4qXG4qXG4qIEBjYXRlZ29yeSBDb21wb25lbnRcbiovXG52YXIgRW5naW5lID0gKHsgcGFja2FnZU1ldGEgfSkgPT4ge1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdGNvbnN0IGVuZ2luZXMgPSBwYWNrYWdlTWV0YT8ubGF0ZXN0Py5lbmdpbmVzO1xuXHRpZiAoIWVuZ2luZXMpIHJldHVybiBudWxsO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoR3JpZCwge1xuXHRcdGNvbnRhaW5lcjogdHJ1ZSxcblx0XHRjaGlsZHJlbjogW1xuXHRcdFx0ZW5naW5lcy5ub2RlID8gLyogQF9fUFVSRV9fICovIGpzeChFbmdpbmVJdGVtLCB7XG5cdFx0XHRcdGVsZW1lbnQ6IC8qIEBfX1BVUkVfXyAqLyBqc3goTm9kZUpTLCB7fSksXG5cdFx0XHRcdGVuZ2luZVRleHQ6IGVuZ2luZXMubm9kZSxcblx0XHRcdFx0dGl0bGU6IHQoXCJzaWRlYmFyLmVuZ2luZXMubm9kZS1qc1wiKVxuXHRcdFx0fSkgOiBudWxsLFxuXHRcdFx0ZW5naW5lcy5ucG0gPyAvKiBAX19QVVJFX18gKi8ganN4KEVuZ2luZUl0ZW0sIHtcblx0XHRcdFx0ZWxlbWVudDogLyogQF9fUFVSRV9fICovIGpzeChOcG0sIHt9KSxcblx0XHRcdFx0ZW5naW5lVGV4dDogZW5naW5lcy5ucG0sXG5cdFx0XHRcdHRpdGxlOiB0KFwic2lkZWJhci5lbmdpbmVzLm5wbS12ZXJzaW9uXCIpXG5cdFx0XHR9KSA6IG51bGwsXG5cdFx0XHRlbmdpbmVzLnlhcm4gPyAvKiBAX19QVVJFX18gKi8ganN4KEVuZ2luZUl0ZW0sIHtcblx0XHRcdFx0ZWxlbWVudDogLyogQF9fUFVSRV9fICovIGpzeChZYXJuLCB7fSksXG5cdFx0XHRcdGVuZ2luZVRleHQ6IGVuZ2luZXMueWFybixcblx0XHRcdFx0dGl0bGU6IHQoXCJzaWRlYmFyLmVuZ2luZXMueWFybi12ZXJzaW9uXCIpXG5cdFx0XHR9KSA6IG51bGwsXG5cdFx0XHRlbmdpbmVzLnBucG0gPyAvKiBAX19QVVJFX18gKi8ganN4KEVuZ2luZUl0ZW0sIHtcblx0XHRcdFx0ZWxlbWVudDogLyogQF9fUFVSRV9fICovIGpzeChQbnBtLCB7fSksXG5cdFx0XHRcdGVuZ2luZVRleHQ6IGVuZ2luZXMucG5wbSxcblx0XHRcdFx0dGl0bGU6IHQoXCJzaWRlYmFyLmVuZ2luZXMucG5wbS12ZXJzaW9uXCIpXG5cdFx0XHR9KSA6IG51bGxcblx0XHRdXG5cdH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgRW5naW5lIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9RW5naW5lcy5tanMubWFwIiwiaW1wb3J0IHsgaXNVUkwgfSBmcm9tIFwiLi4vLi4vdXRpbHMvdXJsLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vdXRpbHMvaW5kZXgubWpzXCI7XG5pbXBvcnQgTGlua0V4dGVybmFsIGZyb20gXCIuLi9MaW5rRXh0ZXJuYWwvTGlua0V4dGVybmFsLm1qc1wiO1xuaW1wb3J0IFwiLi4vTGlua0V4dGVybmFsL2luZGV4Lm1qc1wiO1xuaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgeyBUcmFucyB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgRmF2b3JpdGUgZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvRmF2b3JpdGVcIjtcbmltcG9ydCBCdXR0b24gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQnV0dG9uXCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvRnVuZEJ1dHRvbi9GdW5kQnV0dG9uLnRzeFxuZnVuY3Rpb24gX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX18oKSB7XG5cdHJldHVybiBcIllvdSBoYXZlIHRyaWVkIHRvIHN0cmluZ2lmeSBvYmplY3QgcmV0dXJuZWQgZnJvbSBgY3NzYCBmdW5jdGlvbi4gSXQgaXNuJ3Qgc3VwcG9zZWQgdG8gYmUgdXNlZCBkaXJlY3RseSAoZS5nLiBhcyB2YWx1ZSBvZiB0aGUgYGNsYXNzTmFtZWAgcHJvcCksIGJ1dCByYXRoZXIgaGFuZGVkIHRvIGVtb3Rpb24gc28gaXQgY2FuIGhhbmRsZSBpdCAoZS5nLiBhcyB2YWx1ZSBvZiBgY3NzYCBwcm9wKS5cIjtcbn1cbnZhciBTdHlsZWRMaW5rID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoTGlua0V4dGVybmFsLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMWx6ZGd1czJcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTFsemRndXMyXCIsXG5cdGxhYmVsOiBcIlN0eWxlZExpbmtcIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0bWFyZ2luVG9wOiB0aGVtZS5zcGFjaW5nKDIpLFxuXHRtYXJnaW5Cb3R0b206IHRoZW1lLnNwYWNpbmcoMiksXG5cdHRleHREZWNvcmF0aW9uOiBcIm5vbmVcIixcblx0ZGlzcGxheTogXCJibG9ja1wiXG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OUdkVzVrUW5WMGRHOXVMMFoxYm1SQ2RYUjBiMjR1ZEhONElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFWVnRRaUlzSW1acGJHVWlPaUl2YUc5dFpTOXlkVzV1WlhJdmQyOXlheTkyWlhKa1lXTmphVzh2ZG1WeVpHRmpZMmx2TDNCaFkydGhaMlZ6TDNWcExXTnZiWEJ2Ym1WdWRITXZjM0pqTDJOdmJYQnZibVZ1ZEhNdlJuVnVaRUoxZEhSdmJpOUdkVzVrUW5WMGRHOXVMblJ6ZUNJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQkdZWFp2Y21sMFpTQm1jbTl0SUNkQWJYVnBMMmxqYjI1ekxXMWhkR1Z5YVdGc0wwWmhkbTl5YVhSbEp6dGNibWx0Y0c5eWRDQkNkWFIwYjI0Z1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUNkWFIwYjI0bk8xeHVhVzF3YjNKMElGSmxZV04wSUdaeWIyMGdKM0psWVdOMEp6dGNibWx0Y0c5eWRDQjdJRlJ5WVc1eklIMGdabkp2YlNBbmNtVmhZM1F0YVRFNGJtVjRkQ2M3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk5VWFHVnRaU2M3WEc1cGJYQnZjblFnZXlCMWNtd2dmU0JtY205dElDY3VMaTh1TGk5MWRHbHNjeWM3WEc1cGJYQnZjblFnVEdsdWEwVjRkR1Z5Ym1Gc0lHWnliMjBnSnk0dUwweHBibXRGZUhSbGNtNWhiQ2M3WEc1Y2JtTnZibk4wSUZOMGVXeGxaRXhwYm1zZ1BTQnpkSGxzWldRb1RHbHVhMFY0ZEdWeWJtRnNLVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ2JXRnlaMmx1Vkc5d09pQjBhR1Z0WlM1emNHRmphVzVuS0RJcExGeHVJQ0J0WVhKbmFXNUNiM1IwYjIwNklIUm9aVzFsTG5Od1lXTnBibWNvTWlrc1hHNGdJSFJsZUhSRVpXTnZjbUYwYVc5dU9pQW5ibTl1WlNjc1hHNGdJR1JwYzNCc1lYazZJQ2RpYkc5amF5Y3NYRzU5S1NrN1hHNWNibU52Ym5OMElGTjBlV3hsWkVaaGRtOXlhWFJsU1dOdmJpQTlJSE4wZVd4bFpDaEdZWFp2Y21sMFpTazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdOdmJHOXlPaUIwYUdWdFpTNXdZV3hsZEhSbExtOXlZVzVuWlN4Y2JuMHBLVHRjYmx4dVkyOXVjM1FnVTNSNWJHVmtSblZ1WkZOMGNtOXVaeUE5SUhOMGVXeGxaQ2duYzNSeWIyNW5KeWtvZTF4dUlDQnRZWEpuYVc1U2FXZG9kRG9nTXl4Y2JuMHBPMXh1WEc1amIyNXpkQ0JHZFc1a1FuVjBkRzl1T2lCU1pXRmpkQzVHUXp4N0lIQmhZMnRoWjJWTlpYUmhPaUJoYm5rZ2ZUNGdQU0FvZXlCd1lXTnJZV2RsVFdWMFlTQjlLU0E5UGlCN1hHNGdJR052Ym5OMElHWjFibVJwYm1kVmNtd2dQU0J3WVdOcllXZGxUV1YwWVQ4dWJHRjBaWE4wUHk1bWRXNWthVzVuUHk1MWNtd2dZWE1nYzNSeWFXNW5PMXh1WEc0Z0lHbG1JQ2doZFhKc0xtbHpWVkpNS0daMWJtUnBibWRWY213cEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lEeFRkSGxzWldSTWFXNXJJSFJ2UFh0bWRXNWthVzVuVlhKc2ZTQjJZWEpwWVc1MFBWd2lZblYwZEc5dVhDSStYRzRnSUNBZ0lDQThRblYwZEc5dVhHNGdJQ0FnSUNBZ0lHTnZiRzl5UFZ3aWNISnBiV0Z5ZVZ3aVhHNGdJQ0FnSUNBZ0lHWjFiR3hYYVdSMGFEMTdkSEoxWlgxY2JpQWdJQ0FnSUNBZ2MzUmhjblJKWTI5dVBYczhVM1I1YkdWa1JtRjJiM0pwZEdWSlkyOXVJQzgrZlZ4dUlDQWdJQ0FnSUNCMllYSnBZVzUwUFZ3aWIzVjBiR2x1WldSY0lseHVJQ0FnSUNBZ1BseHVJQ0FnSUNBZ0lDQThWSEpoYm5NZ1kyOXRjRzl1Wlc1MGN6MTdXenhUZEhsc1pXUkdkVzVrVTNSeWIyNW5JR3RsZVQxY0ltWjFibVJjSWlBdlBsMTlJR2t4T0c1TFpYazlYQ0ppZFhSMGIyNHVablZ1WkMxMGFHbHpMWEJoWTJ0aFoyVmNJaUF2UGx4dUlDQWdJQ0FnUEM5Q2RYUjBiMjQrWEc0Z0lDQWdQQzlUZEhsc1pXUk1hVzVyUGx4dUlDQXBPMXh1ZlR0Y2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ1JuVnVaRUoxZEhSdmJqdGNiaUpkZlE9PSAqL1wiKTtcbnZhciBTdHlsZWRGYXZvcml0ZUljb24gPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChGYXZvcml0ZSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTFsemRndXMxXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxbHpkZ3VzMVwiLFxuXHRsYWJlbDogXCJTdHlsZWRGYXZvcml0ZUljb25cIlxufSkoKHsgdGhlbWUgfSkgPT4gKHsgY29sb3I6IHRoZW1lLnBhbGV0dGUub3JhbmdlIH0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5R2RXNWtRblYwZEc5dUwwWjFibVJDZFhSMGIyNHVkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVdsQ01rSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDBaMWJtUkNkWFIwYjI0dlJuVnVaRUoxZEhSdmJpNTBjM2dpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnYzNSNWJHVmtJR1p5YjIwZ0owQmxiVzkwYVc5dUwzTjBlV3hsWkNjN1hHNXBiWEJ2Y25RZ1JtRjJiM0pwZEdVZ1puSnZiU0FuUUcxMWFTOXBZMjl1Y3kxdFlYUmxjbWxoYkM5R1lYWnZjbWwwWlNjN1hHNXBiWEJ2Y25RZ1FuVjBkRzl1SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlFuVjBkRzl1Snp0Y2JtbHRjRzl5ZENCU1pXRmpkQ0JtY205dElDZHlaV0ZqZENjN1hHNXBiWEJ2Y25RZ2V5QlVjbUZ1Y3lCOUlHWnliMjBnSjNKbFlXTjBMV2t4T0c1bGVIUW5PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2VkdobGJXVW5PMXh1YVcxd2IzSjBJSHNnZFhKc0lIMGdabkp2YlNBbkxpNHZMaTR2ZFhScGJITW5PMXh1YVcxd2IzSjBJRXhwYm10RmVIUmxjbTVoYkNCbWNtOXRJQ2N1TGk5TWFXNXJSWGgwWlhKdVlXd25PMXh1WEc1amIyNXpkQ0JUZEhsc1pXUk1hVzVySUQwZ2MzUjViR1ZrS0V4cGJtdEZlSFJsY201aGJDazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUcxaGNtZHBibFJ2Y0RvZ2RHaGxiV1V1YzNCaFkybHVaeWd5S1N4Y2JpQWdiV0Z5WjJsdVFtOTBkRzl0T2lCMGFHVnRaUzV6Y0dGamFXNW5LRElwTEZ4dUlDQjBaWGgwUkdWamIzSmhkR2x2YmpvZ0oyNXZibVVuTEZ4dUlDQmthWE53YkdGNU9pQW5ZbXh2WTJzbkxGeHVmU2twTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JHWVhadmNtbDBaVWxqYjI0Z1BTQnpkSGxzWldRb1JtRjJiM0pwZEdVcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JqYjJ4dmNqb2dkR2hsYldVdWNHRnNaWFIwWlM1dmNtRnVaMlVzWEc1OUtTazdYRzVjYm1OdmJuTjBJRk4wZVd4bFpFWjFibVJUZEhKdmJtY2dQU0J6ZEhsc1pXUW9KM04wY205dVp5Y3BLSHRjYmlBZ2JXRnlaMmx1VW1sbmFIUTZJRE1zWEc1OUtUdGNibHh1WTI5dWMzUWdSblZ1WkVKMWRIUnZiam9nVW1WaFkzUXVSa004ZXlCd1lXTnJZV2RsVFdWMFlUb2dZVzU1SUgwK0lEMGdLSHNnY0dGamEyRm5aVTFsZEdFZ2ZTa2dQVDRnZTF4dUlDQmpiMjV6ZENCbWRXNWthVzVuVlhKc0lEMGdjR0ZqYTJGblpVMWxkR0UvTG14aGRHVnpkRDh1Wm5WdVpHbHVaejh1ZFhKc0lHRnpJSE4wY21sdVp6dGNibHh1SUNCcFppQW9JWFZ5YkM1cGMxVlNUQ2htZFc1a2FXNW5WWEpzS1NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNBOFUzUjViR1ZrVEdsdWF5QjBiejE3Wm5WdVpHbHVaMVZ5YkgwZ2RtRnlhV0Z1ZEQxY0ltSjFkSFJ2Ymx3aVBseHVJQ0FnSUNBZ1BFSjFkSFJ2Ymx4dUlDQWdJQ0FnSUNCamIyeHZjajFjSW5CeWFXMWhjbmxjSWx4dUlDQWdJQ0FnSUNCbWRXeHNWMmxrZEdnOWUzUnlkV1Y5WEc0Z0lDQWdJQ0FnSUhOMFlYSjBTV052YmoxN1BGTjBlV3hsWkVaaGRtOXlhWFJsU1dOdmJpQXZQbjFjYmlBZ0lDQWdJQ0FnZG1GeWFXRnVkRDFjSW05MWRHeHBibVZrWENKY2JpQWdJQ0FnSUQ1Y2JpQWdJQ0FnSUNBZ1BGUnlZVzV6SUdOdmJYQnZibVZ1ZEhNOWUxczhVM1I1YkdWa1JuVnVaRk4wY205dVp5QnJaWGs5WENKbWRXNWtYQ0lnTHo1ZGZTQnBNVGh1UzJWNVBWd2lZblYwZEc5dUxtWjFibVF0ZEdocGN5MXdZV05yWVdkbFhDSWdMejVjYmlBZ0lDQWdJRHd2UW5WMGRHOXVQbHh1SUNBZ0lEd3ZVM1I1YkdWa1RHbHVhejVjYmlBZ0tUdGNibjA3WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUVaMWJtUkNkWFIwYjI0N1hHNGlYWDA9ICovXCIpO1xudmFyIFN0eWxlZEZ1bmRTdHJvbmcgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcInN0cm9uZ1wiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMWx6ZGd1czBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTFsemRndXMwXCIsXG5cdGxhYmVsOiBcIlN0eWxlZEZ1bmRTdHJvbmdcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjFwdDJvOHhcIixcblx0c3R5bGVzOiBcIm1hcmdpbi1yaWdodDozcHhcIlxufSA6IHtcblx0bmFtZTogXCIxcHQybzh4XCIsXG5cdHN0eWxlczogXCJtYXJnaW4tcmlnaHQ6M3B4LyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OUdkVzVrUW5WMGRHOXVMMFoxYm1SQ2RYUjBiMjR1ZEhONElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFYRkNlVUlpTENKbWFXeGxJam9pTDJodmJXVXZjblZ1Ym1WeUwzZHZjbXN2ZG1WeVpHRmpZMmx2TDNabGNtUmhZMk5wYnk5d1lXTnJZV2RsY3k5MWFTMWpiMjF3YjI1bGJuUnpMM055WXk5amIyMXdiMjVsYm5SekwwWjFibVJDZFhSMGIyNHZSblZ1WkVKMWRIUnZiaTUwYzNnaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2MzUjViR1ZrSUdaeWIyMGdKMEJsYlc5MGFXOXVMM04wZVd4bFpDYzdYRzVwYlhCdmNuUWdSbUYyYjNKcGRHVWdabkp2YlNBblFHMTFhUzlwWTI5dWN5MXRZWFJsY21saGJDOUdZWFp2Y21sMFpTYzdYRzVwYlhCdmNuUWdRblYwZEc5dUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZRblYwZEc5dUp6dGNibWx0Y0c5eWRDQlNaV0ZqZENCbWNtOXRJQ2R5WldGamRDYzdYRzVwYlhCdmNuUWdleUJVY21GdWN5QjlJR1p5YjIwZ0ozSmxZV04wTFdreE9HNWxlSFFuTzF4dVhHNXBiWEJ2Y25RZ2RIbHdaU0I3SUZSb1pXMWxJSDBnWm5KdmJTQW5MaTR2TGk0dlZHaGxiV1VuTzF4dWFXMXdiM0owSUhzZ2RYSnNJSDBnWm5KdmJTQW5MaTR2TGk0dmRYUnBiSE1uTzF4dWFXMXdiM0owSUV4cGJtdEZlSFJsY201aGJDQm1jbTl0SUNjdUxpOU1hVzVyUlhoMFpYSnVZV3duTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JNYVc1cklEMGdjM1I1YkdWa0tFeHBibXRGZUhSbGNtNWhiQ2s4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHMWhjbWRwYmxSdmNEb2dkR2hsYldVdWMzQmhZMmx1WnlneUtTeGNiaUFnYldGeVoybHVRbTkwZEc5dE9pQjBhR1Z0WlM1emNHRmphVzVuS0RJcExGeHVJQ0IwWlhoMFJHVmpiM0poZEdsdmJqb2dKMjV2Ym1VbkxGeHVJQ0JrYVhOd2JHRjVPaUFuWW14dlkyc25MRnh1ZlNrcE8xeHVYRzVqYjI1emRDQlRkSGxzWldSR1lYWnZjbWwwWlVsamIyNGdQU0J6ZEhsc1pXUW9SbUYyYjNKcGRHVXBQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCamIyeHZjam9nZEdobGJXVXVjR0ZzWlhSMFpTNXZjbUZ1WjJVc1hHNTlLU2s3WEc1Y2JtTnZibk4wSUZOMGVXeGxaRVoxYm1SVGRISnZibWNnUFNCemRIbHNaV1FvSjNOMGNtOXVaeWNwS0h0Y2JpQWdiV0Z5WjJsdVVtbG5hSFE2SURNc1hHNTlLVHRjYmx4dVkyOXVjM1FnUm5WdVpFSjFkSFJ2YmpvZ1VtVmhZM1F1UmtNOGV5QndZV05yWVdkbFRXVjBZVG9nWVc1NUlIMCtJRDBnS0hzZ2NHRmphMkZuWlUxbGRHRWdmU2tnUFQ0Z2UxeHVJQ0JqYjI1emRDQm1kVzVrYVc1blZYSnNJRDBnY0dGamEyRm5aVTFsZEdFL0xteGhkR1Z6ZEQ4dVpuVnVaR2x1Wno4dWRYSnNJR0Z6SUhOMGNtbHVaenRjYmx4dUlDQnBaaUFvSVhWeWJDNXBjMVZTVENobWRXNWthVzVuVlhKc0tTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJQ2hjYmlBZ0lDQThVM1I1YkdWa1RHbHVheUIwYnoxN1puVnVaR2x1WjFWeWJIMGdkbUZ5YVdGdWREMWNJbUoxZEhSdmJsd2lQbHh1SUNBZ0lDQWdQRUoxZEhSdmJseHVJQ0FnSUNBZ0lDQmpiMnh2Y2oxY0luQnlhVzFoY25sY0lseHVJQ0FnSUNBZ0lDQm1kV3hzVjJsa2RHZzllM1J5ZFdWOVhHNGdJQ0FnSUNBZ0lITjBZWEowU1dOdmJqMTdQRk4wZVd4bFpFWmhkbTl5YVhSbFNXTnZiaUF2UG4xY2JpQWdJQ0FnSUNBZ2RtRnlhV0Z1ZEQxY0ltOTFkR3hwYm1Wa1hDSmNiaUFnSUNBZ0lENWNiaUFnSUNBZ0lDQWdQRlJ5WVc1eklHTnZiWEJ2Ym1WdWRITTllMXM4VTNSNWJHVmtSblZ1WkZOMGNtOXVaeUJyWlhrOVhDSm1kVzVrWENJZ0x6NWRmU0JwTVRodVMyVjVQVndpWW5WMGRHOXVMbVoxYm1RdGRHaHBjeTF3WVdOcllXZGxYQ0lnTHo1Y2JpQWdJQ0FnSUR3dlFuVjBkRzl1UGx4dUlDQWdJRHd2VTNSNWJHVmtUR2x1YXo1Y2JpQWdLVHRjYm4wN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElFWjFibVJDZFhSMGIyNDdYRzRpWFgwPSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIEZ1bmRCdXR0b24gPSAoeyBwYWNrYWdlTWV0YSB9KSA9PiB7XG5cdGNvbnN0IGZ1bmRpbmdVcmwgPSBwYWNrYWdlTWV0YT8ubGF0ZXN0Py5mdW5kaW5nPy51cmw7XG5cdGlmICghaXNVUkwoZnVuZGluZ1VybCkpIHJldHVybiBudWxsO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTdHlsZWRMaW5rLCB7XG5cdFx0dG86IGZ1bmRpbmdVcmwsXG5cdFx0dmFyaWFudDogXCJidXR0b25cIixcblx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChCdXR0b24sIHtcblx0XHRcdGNvbG9yOiBcInByaW1hcnlcIixcblx0XHRcdGZ1bGxXaWR0aDogdHJ1ZSxcblx0XHRcdHN0YXJ0SWNvbjogLyogQF9fUFVSRV9fICovIGpzeChTdHlsZWRGYXZvcml0ZUljb24sIHt9KSxcblx0XHRcdHZhcmlhbnQ6IFwib3V0bGluZWRcIixcblx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFRyYW5zLCB7XG5cdFx0XHRcdGNvbXBvbmVudHM6IFsvKiBAX19QVVJFX18gKi8ganN4KFN0eWxlZEZ1bmRTdHJvbmcsIHt9LCBcImZ1bmRcIildLFxuXHRcdFx0XHRpMThuS2V5OiBcImJ1dHRvbi5mdW5kLXRoaXMtcGFja2FnZVwiXG5cdFx0XHR9KVxuXHRcdH0pXG5cdH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgRnVuZEJ1dHRvbiBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUZ1bmRCdXR0b24ubWpzLm1hcCIsImltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCBUeXBvZ3JhcGh5IGZyb20gXCJAbXVpL21hdGVyaWFsL1R5cG9ncmFwaHlcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9IZWFkaW5nL0hlYWRpbmcudHN4XG52YXIgSGVhZGluZyA9IGZ1bmN0aW9uIEhlYWRpbmcoeyByZWYsIHZhcmlhbnQgPSBcImg2XCIsIC4uLnByb3BzIH0pIHtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goVHlwb2dyYXBoeSwge1xuXHRcdC4uLnByb3BzLFxuXHRcdHJlZixcblx0XHR2YXJpYW50XG5cdH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgSGVhZGluZyBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUhlYWRpbmcubWpzLm1hcCIsImltcG9ydCB7IHVzZUNvbmZpZyB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvQXBwQ29uZmlndXJhdGlvblByb3ZpZGVyL0FwcENvbmZpZ3VyYXRpb25Qcm92aWRlci5tanNcIjtcbmltcG9ydCB7IHVzZVNldHRpbmdzIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9QZXJzaXN0ZW5jZVNldHRpbmdQcm92aWRlci9QZXJzaXN0ZW5jZVNldHRpbmdQcm92aWRlci5tanNcIjtcbmltcG9ydCBcIi4uLy4uL3Byb3ZpZGVycy9QZXJzaXN0ZW5jZVNldHRpbmdQcm92aWRlci9pbmRleC5tanNcIjtcbmltcG9ydCBcIi4uLy4uL3Byb3ZpZGVycy9pbmRleC5tanNcIjtcbmltcG9ydCB7IEZyYWdtZW50LCBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBJY29uQnV0dG9uIGZyb20gXCJAbXVpL21hdGVyaWFsL0ljb25CdXR0b25cIjtcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCBDaGVjayBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9DaGVja1wiO1xuaW1wb3J0IFNldHRpbmdzIGZyb20gXCJAbXVpL2ljb25zLW1hdGVyaWFsL1NldHRpbmdzXCI7XG5pbXBvcnQgTGlzdEl0ZW1JY29uIGZyb20gXCJAbXVpL21hdGVyaWFsL0xpc3RJdGVtSWNvblwiO1xuaW1wb3J0IE1lbnUgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvTWVudVwiO1xuaW1wb3J0IE1hdGVyaWFsVUlNZW51SXRlbSBmcm9tIFwiQG11aS9tYXRlcmlhbC9NZW51SXRlbVwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL1NldHRpbmdzTWVudS9TZXR0aW5nc01lbnUudHN4XG52YXIgVHlwZWRNZW51ID0gTWVudTtcbnZhciBTZXR0aW5nc01lbnUgPSAoeyBwYWNrYWdlTmFtZSB9KSA9PiB7XG5cdGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcblx0Y29uc3QgeyBsb2NhbFNldHRpbmdzLCB1cGRhdGVTZXR0aW5ncyB9ID0gdXNlU2V0dGluZ3MoKTtcblx0Y29uc3QgeyBjb25maWdPcHRpb25zIH0gPSB1c2VDb25maWcoKTtcblx0Y29uc3QgW2FuY2hvckVsLCBzZXRBbmNob3JFbF0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcblx0Y29uc3Qgb3BlbiA9IEJvb2xlYW4oYW5jaG9yRWwpO1xuXHRjb25zdCBoYW5kbGVPcGVuTWVudSA9IChldmVudCkgPT4ge1xuXHRcdHNldEFuY2hvckVsKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuXHR9O1xuXHRjb25zdCBoYW5kbGVMYXRlc3RTZWxlY3QgPSAoKSA9PiB7XG5cdFx0dXBkYXRlU2V0dGluZ3Moe1xuXHRcdFx0Li4ubG9jYWxTZXR0aW5ncyxcblx0XHRcdFtwYWNrYWdlTmFtZV06IHtcblx0XHRcdFx0Z2xvYmFsOiBsb2NhbFNldHRpbmdzW3BhY2thZ2VOYW1lXT8uZ2xvYmFsLFxuXHRcdFx0XHRsYXRlc3Q6ICFsb2NhbFNldHRpbmdzW3BhY2thZ2VOYW1lXT8ubGF0ZXN0XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0c2V0QW5jaG9yRWwobnVsbCk7XG5cdH07XG5cdGNvbnN0IGhhbmRsZUdsb2JhbFNlbGVjdCA9ICgpID0+IHtcblx0XHR1cGRhdGVTZXR0aW5ncyh7XG5cdFx0XHQuLi5sb2NhbFNldHRpbmdzLFxuXHRcdFx0W3BhY2thZ2VOYW1lXToge1xuXHRcdFx0XHRnbG9iYWw6ICFsb2NhbFNldHRpbmdzW3BhY2thZ2VOYW1lXT8uZ2xvYmFsLFxuXHRcdFx0XHRsYXRlc3Q6IGxvY2FsU2V0dGluZ3NbcGFja2FnZU5hbWVdPy5sYXRlc3Rcblx0XHRcdH1cblx0XHR9KTtcblx0XHRzZXRBbmNob3JFbChudWxsKTtcblx0fTtcblx0Y29uc3QgaGFuZGxlR2xvYmFsWWFybk1vZGVybiA9ICgpID0+IHtcblx0XHRjb25zdCBzdGF0dXNZYXJuTW9kZXJuID0gIWxvY2FsU2V0dGluZ3M/Lnlhcm5Nb2Rlcm47XG5cdFx0dXBkYXRlU2V0dGluZ3Moe1xuXHRcdFx0Li4ubG9jYWxTZXR0aW5ncyxcblx0XHRcdHlhcm5Nb2Rlcm46IHN0YXR1c1lhcm5Nb2Rlcm5cblx0XHR9KTtcblx0XHRzZXRBbmNob3JFbChudWxsKTtcblx0fTtcblx0Y29uc3QgaGFuZGxlQ2xvc2UgPSAoKSA9PiB7XG5cdFx0c2V0QW5jaG9yRWwobnVsbCk7XG5cdH07XG5cdGNvbnN0IHN0YXR1c0xhdGVzdCA9IGxvY2FsU2V0dGluZ3NbcGFja2FnZU5hbWVdPy5sYXRlc3Q7XG5cdGNvbnN0IHN0YXR1c0dsb2JhbCA9IGxvY2FsU2V0dGluZ3NbcGFja2FnZU5hbWVdPy5nbG9iYWw7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhGcmFnbWVudCwgeyBjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goSWNvbkJ1dHRvbiwge1xuXHRcdFwiYXJpYS1jb250cm9sc1wiOiBvcGVuID8gXCJiYXNpYy1tZW51XCIgOiB2b2lkIDAsXG5cdFx0XCJhcmlhLWV4cGFuZGVkXCI6IG9wZW4gPyBcInRydWVcIiA6IHZvaWQgMCxcblx0XHRcImFyaWEtaGFzcG9wdXBcIjogXCJ0cnVlXCIsXG5cdFx0aWQ6IFwiYmFzaWMtYnV0dG9uXCIsXG5cdFx0b25DbGljazogaGFuZGxlT3Blbk1lbnUsXG5cdFx0c2l6ZTogXCJzbWFsbFwiLFxuXHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFNldHRpbmdzLCB7IGZvbnRTaXplOiBcInNtYWxsXCIgfSlcblx0fSksIC8qIEBfX1BVUkVfXyAqLyBqc3hzKFR5cGVkTWVudSwge1xuXHRcdGFuY2hvckVsLFxuXHRcdGFuY2hvck9yaWdpbjoge1xuXHRcdFx0dmVydGljYWw6IFwiYm90dG9tXCIsXG5cdFx0XHRob3Jpem9udGFsOiBcInJpZ2h0XCJcblx0XHR9LFxuXHRcdGlkOiBcImJhc2ljLW1lbnVcIixcblx0XHRvbkNsb3NlOiBoYW5kbGVDbG9zZSxcblx0XHRvcGVuLFxuXHRcdHNsb3RQcm9wczogeyBsaXN0OiB7IFwiYXJpYS1sYWJlbGxlZGJ5XCI6IFwiYmFzaWMtYnV0dG9uXCIgfSB9LFxuXHRcdHRyYW5zZm9ybU9yaWdpbjoge1xuXHRcdFx0dmVydGljYWw6IFwidG9wXCIsXG5cdFx0XHRob3Jpem9udGFsOiBcInJpZ2h0XCJcblx0XHR9LFxuXHRcdGNoaWxkcmVuOiBbXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4cyhNYXRlcmlhbFVJTWVudUl0ZW0sIHtcblx0XHRcdFx0b25DbGljazogaGFuZGxlTGF0ZXN0U2VsZWN0LFxuXHRcdFx0XHRjaGlsZHJlbjogW1xuXHRcdFx0XHRcdFwiIFwiLFxuXHRcdFx0XHRcdHN0YXR1c0xhdGVzdCA9PT0gdHJ1ZSA/IC8qIEBfX1BVUkVfXyAqLyBqc3goTGlzdEl0ZW1JY29uLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KENoZWNrLCB7fSkgfSkgOiBudWxsLFxuXHRcdFx0XHRcdHQoXCJzaWRlYmFyLmluc3RhbGxhdGlvbi5sYXRlc3RcIilcblx0XHRcdFx0XVxuXHRcdFx0fSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4cyhNYXRlcmlhbFVJTWVudUl0ZW0sIHtcblx0XHRcdFx0b25DbGljazogaGFuZGxlR2xvYmFsU2VsZWN0LFxuXHRcdFx0XHRjaGlsZHJlbjogW1xuXHRcdFx0XHRcdFwiIFwiLFxuXHRcdFx0XHRcdHN0YXR1c0dsb2JhbCA9PT0gdHJ1ZSA/IC8qIEBfX1BVUkVfXyAqLyBqc3goTGlzdEl0ZW1JY29uLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KENoZWNrLCB7fSkgfSkgOiBudWxsLFxuXHRcdFx0XHRcdHQoXCJzaWRlYmFyLmluc3RhbGxhdGlvbi5nbG9iYWxcIilcblx0XHRcdFx0XVxuXHRcdFx0fSksXG5cdFx0XHRjb25maWdPcHRpb25zPy5wa2dNYW5hZ2Vycz8uaW5jbHVkZXMoXCJ5YXJuXCIpICYmIC8qIEBfX1BVUkVfXyAqLyBqc3hzKE1hdGVyaWFsVUlNZW51SXRlbSwge1xuXHRcdFx0XHRvbkNsaWNrOiBoYW5kbGVHbG9iYWxZYXJuTW9kZXJuLFxuXHRcdFx0XHRjaGlsZHJlbjogW1xuXHRcdFx0XHRcdFwiIFwiLFxuXHRcdFx0XHRcdGxvY2FsU2V0dGluZ3M/Lnlhcm5Nb2Rlcm4gPyAvKiBAX19QVVJFX18gKi8ganN4KExpc3RJdGVtSWNvbiwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChDaGVjaywge30pIH0pIDogbnVsbCxcblx0XHRcdFx0XHR0KFwic2lkZWJhci5pbnN0YWxsYXRpb24ueWFybk1vZGVyblwiKVxuXHRcdFx0XHRdXG5cdFx0XHR9KVxuXHRcdF1cblx0fSldIH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgU2V0dGluZ3NNZW51IGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9U2V0dGluZ3NNZW51Lm1qcy5tYXAiLCJpbXBvcnQgQ29weVRvQ2xpcEJvYXJkIGZyb20gXCIuLi9Db3B5Q2xpcGJvYXJkL0NvcHlUb0NsaXBCb2FyZC5tanNcIjtcbmltcG9ydCBcIi4uL0NvcHlDbGlwYm9hcmQvaW5kZXgubWpzXCI7XG5pbXBvcnQgeyB1c2VTZXR0aW5ncyB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvUGVyc2lzdGVuY2VTZXR0aW5nUHJvdmlkZXIvUGVyc2lzdGVuY2VTZXR0aW5nUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9wcm92aWRlcnMvUGVyc2lzdGVuY2VTZXR0aW5nUHJvdmlkZXIvaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBOcG0gfSBmcm9tIFwiLi4vSWNvbnMvTWFuYWdlcnMvTnBtMi5tanNcIjtcbmltcG9ydCB7IFBucG0gfSBmcm9tIFwiLi4vSWNvbnMvTWFuYWdlcnMvUG5wbTIubWpzXCI7XG5pbXBvcnQgeyBZYXJuIH0gZnJvbSBcIi4uL0ljb25zL01hbmFnZXJzL1lhcm4yLm1qc1wiO1xuaW1wb3J0IFwiLi4vSWNvbnMvaW5kZXgubWpzXCI7XG5pbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCB7IGNvbW1vbiB9IGZyb20gXCJAbXVpL21hdGVyaWFsL2NvbG9yc1wiO1xuaW1wb3J0IEF2YXRhciBmcm9tIFwiQG11aS9tYXRlcmlhbC9BdmF0YXJcIjtcbmltcG9ydCBMaXN0SXRlbSBmcm9tIFwiQG11aS9tYXRlcmlhbC9MaXN0SXRlbVwiO1xuaW1wb3J0IExpc3RJdGVtVGV4dCBmcm9tIFwiQG11aS9tYXRlcmlhbC9MaXN0SXRlbVRleHRcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9JbnN0YWxsL0luc3RhbGxMaXN0SXRlbS50c3hcbmZ1bmN0aW9uIF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fKCkge1xuXHRyZXR1cm4gXCJZb3UgaGF2ZSB0cmllZCB0byBzdHJpbmdpZnkgb2JqZWN0IHJldHVybmVkIGZyb20gYGNzc2AgZnVuY3Rpb24uIEl0IGlzbid0IHN1cHBvc2VkIHRvIGJlIHVzZWQgZGlyZWN0bHkgKGUuZy4gYXMgdmFsdWUgb2YgdGhlIGBjbGFzc05hbWVgIHByb3ApLCBidXQgcmF0aGVyIGhhbmRlZCB0byBlbW90aW9uIHNvIGl0IGNhbiBoYW5kbGUgaXQgKGUuZy4gYXMgdmFsdWUgb2YgYGNzc2AgcHJvcCkuXCI7XG59XG52YXIgSW5zdGFsbEl0ZW0gPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChMaXN0SXRlbSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTE5bG5nNDQyXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxOWxuZzQ0MlwiLFxuXHRsYWJlbDogXCJJbnN0YWxsSXRlbVwiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwienc0NmM2XCIsXG5cdHN0eWxlczogXCJwYWRkaW5nOjA7OmhvdmVye2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7fVwiXG59IDoge1xuXHRuYW1lOiBcInp3NDZjNlwiLFxuXHRzdHlsZXM6IFwicGFkZGluZzowOzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O30vKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5SmJuTjBZV3hzTDBsdWMzUmhiR3hNYVhOMFNYUmxiUzUwYzNnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlYyOUNJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5SmJuTjBZV3hzTDBsdWMzUmhiR3hNYVhOMFNYUmxiUzUwYzNnaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2MzUjViR1ZrSUdaeWIyMGdKMEJsYlc5MGFXOXVMM04wZVd4bFpDYzdYRzVwYlhCdmNuUWdRWFpoZEdGeUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZRWFpoZEdGeUp6dGNibWx0Y0c5eWRDQk1hWE4wU1hSbGJTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMHhwYzNSSmRHVnRKenRjYm1sdGNHOXlkQ0JNYVhOMFNYUmxiVlJsZUhRZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOU1hWE4wU1hSbGJWUmxlSFFuTzF4dWFXMXdiM0owSUhzZ1kyOXRiVzl1SUgwZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOWpiMnh2Y25Nbk8xeHVhVzF3YjNKMElGSmxZV04wSUdaeWIyMGdKM0psWVdOMEp6dGNibHh1YVcxd2IzSjBJSHNnZFhObFUyVjBkR2x1WjNNZ2ZTQm1jbTl0SUNjdUxpOHVMaTl3Y205MmFXUmxjbk12VUdWeWMybHpkR1Z1WTJWVFpYUjBhVzVuVUhKdmRtbGtaWEluTzF4dWFXMXdiM0owSUVOdmNIbFViME5zYVhCQ2IyRnlaQ0JtY205dElDY3VMaTlEYjNCNVEyeHBjR0p2WVhKa0p6dGNibWx0Y0c5eWRDQjdJRTV3YlN3Z1VHNXdiU3dnV1dGeWJpQjlJR1p5YjIwZ0p5NHVMMGxqYjI1ekp6dGNibHh1WTI5dWMzUWdTVzV6ZEdGc2JFbDBaVzBnUFNCemRIbHNaV1FvVEdsemRFbDBaVzBwS0h0Y2JpQWdjR0ZrWkdsdVp6b2dNQ3hjYmlBZ0p6cG9iM1psY2ljNklIdGNiaUFnSUNCaVlXTnJaM0p2ZFc1a1EyOXNiM0k2SUNkMGNtRnVjM0JoY21WdWRDY3NYRzRnSUgwc1hHNTlLVHRjYmx4dVkyOXVjM1FnU1c1emRHRnNiRXhwYzNSSmRHVnRWR1Y0ZENBOUlITjBlV3hsWkNoTWFYTjBTWFJsYlZSbGVIUXBLSHRjYmlBZ2NHRmtaR2x1WnpvZ0p6QWdNQ0F3SURFd2NIZ25MRnh1SUNCdFlYSm5hVzQ2SURBc1hHNTlLVHRjYmx4dVkyOXVjM1FnVUdGamEyRm5aVTFoYm1kbGNrRjJZWFJoY2lBOUlITjBlV3hsWkNoQmRtRjBZWElwS0h0Y2JpQWdZbUZqYTJkeWIzVnVaRU52Ykc5eU9pQW5kSEpoYm5Od1lYSmxiblFuTEZ4dUlDQndZV1JrYVc1bk9pQXdMRnh1SUNCdFlYSm5hVzVNWldaME9pQXdMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmxiblZ0SUVSbGNHVnVaR1Z1WTNsTllXNWhaMlZ5SUh0Y2JpQWdUbEJOSUQwZ0oyNXdiU2NzWEc0Z0lGbEJVazRnUFNBbmVXRnliaWNzWEc0Z0lGQk9VRTBnUFNBbmNHNXdiU2NzWEc1OVhHNWNibWx1ZEdWeVptRmpaU0JKYm5SbGNtWmhZMlVnZTF4dUlDQndZV05yWVdkbFRtRnRaVG9nYzNSeWFXNW5PMXh1SUNCa1pYQmxibVJsYm1ONVRXRnVZV2RsY2pvZ1JHVndaVzVrWlc1amVVMWhibUZuWlhJN1hHNGdJSEJoWTJ0aFoyVldaWEp6YVc5dVB6b2djM1J5YVc1bk8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWjJWMFIyeHZZbUZzU1c1emRHRnNiQ2hwYzB4aGRHVnpkQ3dnYVhOSGJHOWlZV3dzSUhCaFkydGhaMlZXWlhKemFXOXVMQ0J3WVdOcllXZGxUbUZ0WlN3Z2FYTlpZWEp1SUQwZ1ptRnNjMlVwSUh0Y2JpQWdZMjl1YzNRZ2JtRnRaU0E5SUdselIyeHZZbUZzWEc0Z0lDQWdQeUJnSkh0cGMxbGhjbTRnUHlBbkp5QTZJQ2N0WnlkOUlDUjdjR0ZqYTJGblpWWmxjbk5wYjI0Z0ppWWdJV2x6VEdGMFpYTjBJRDhnWUNSN2NHRmphMkZuWlU1aGJXVjlRQ1I3Y0dGamEyRm5aVlpsY25OcGIyNTlZQ0E2SUhCaFkydGhaMlZPWVcxbGZXQmNiaUFnSUNBNklIQmhZMnRoWjJWV1pYSnphVzl1SUNZbUlDRnBjMHhoZEdWemRGeHVJQ0FnSUNBZ1B5QmdKSHR3WVdOcllXZGxUbUZ0WlgxQUpIdHdZV05yWVdkbFZtVnljMmx2Ym4xZ1hHNGdJQ0FnSUNBNklIQmhZMnRoWjJWT1lXMWxPMXh1WEc0Z0lISmxkSFZ5YmlCdVlXMWxMblJ5YVcwb0tUdGNibjFjYmx4dVkyOXVjM1FnU1c1emRHRnNiRXhwYzNSSmRHVnRPaUJTWldGamRDNUdRenhKYm5SbGNtWmhZMlUrSUQwZ0tIdGNiaUFnY0dGamEyRm5aVTVoYldVc1hHNGdJR1JsY0dWdVpHVnVZM2xOWVc1aFoyVnlMRnh1SUNCd1lXTnJZV2RsVm1WeWMybHZiaXhjYm4wcElEMCtJSHRjYmlBZ1kyOXVjM1FnZXlCc2IyTmhiRk5sZEhScGJtZHpJSDBnUFNCMWMyVlRaWFIwYVc1bmN5Z3BPMXh1SUNBdkx5QmpiMjV6ZENCMGFHVnRaVG9nVkdobGJXVWdQU0IxYzJWVWFHVnRaU2dwTzF4dUlDQmpiMjV6ZENCcGMweGhkR1Z6ZENBOUlHeHZZMkZzVTJWMGRHbHVaM05iY0dGamEyRm5aVTVoYldWZFB5NXNZWFJsYzNRZ1B6OGdabUZzYzJVN1hHNGdJR052Ym5OMElHbHpSMnh2WW1Gc0lEMGdiRzlqWVd4VFpYUjBhVzVuYzF0d1lXTnJZV2RsVG1GdFpWMC9MbWRzYjJKaGJDQS9QeUJtWVd4elpUdGNiaUFnYzNkcGRHTm9JQ2hrWlhCbGJtUmxibU41VFdGdVlXZGxjaWtnZTF4dUlDQWdJR05oYzJVZ1JHVndaVzVrWlc1amVVMWhibUZuWlhJdVRsQk5PbHh1SUNBZ0lDQWdjbVYwZFhKdUlDaGNiaUFnSUNBZ0lDQWdQRWx1YzNSaGJHeEpkR1Z0SUdSaGRHRXRkR1Z6ZEdsa1BYc25hVzV6ZEdGc2JFeHBjM1JKZEdWdExXNXdiU2Q5UGx4dUlDQWdJQ0FnSUNBZ0lEeFFZV05yWVdkbFRXRnVaMlZ5UVhaaGRHRnlJR0ZzZEQxY0ltNXdiVndpSUhONFBYdDdJR0puWTI5c2IzSTZJR052YlcxdmJpNTNhR2wwWlNCOWZUNWNiaUFnSUNBZ0lDQWdJQ0FnSUR4T2NHMGdMejVjYmlBZ0lDQWdJQ0FnSUNBOEwxQmhZMnRoWjJWTllXNW5aWEpCZG1GMFlYSStYRzRnSUNBZ0lDQWdJQ0FnUEVsdWMzUmhiR3hNYVhOMFNYUmxiVlJsZUhSY2JpQWdJQ0FnSUNBZ0lDQWdJSEJ5YVcxaGNuazllMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThRMjl3ZVZSdlEyeHBjRUp2WVhKa1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pHRjBZVlJsYzNSSlpEMWNJbWx1YzNSaGJHeE9jRzFjSWx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSbGVIUTllMkJ1Y0cwZ2FXNXpkR0ZzYkNBa2UyZGxkRWRzYjJKaGJFbHVjM1JoYkd3b2FYTk1ZWFJsYzNRc0lHbHpSMnh2WW1Gc0xDQndZV05yWVdkbFZtVnljMmx2Yml3Z2NHRmphMkZuWlU1aGJXVXBmV0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdsMGJHVTllMkJ1Y0cwZ2FXNXpkR0ZzYkNBa2UyZGxkRWRzYjJKaGJFbHVjM1JoYkd3b2FYTk1ZWFJsYzNRc0lHbHpSMnh2WW1Gc0xDQndZV05yWVdkbFZtVnljMmx2Yml3Z2NHRmphMkZuWlU1aGJXVXBmV0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzgrWEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnTHo1Y2JpQWdJQ0FnSUNBZ1BDOUpibk4wWVd4c1NYUmxiVDVjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdZMkZ6WlNCRVpYQmxibVJsYm1ONVRXRnVZV2RsY2k1WlFWSk9PbHh1SUNBZ0lDQWdjbVYwZFhKdUlDaGNiaUFnSUNBZ0lDQWdQRWx1YzNSaGJHeEpkR1Z0SUdSaGRHRXRkR1Z6ZEdsa1BYc25hVzV6ZEdGc2JFeHBjM1JKZEdWdExYbGhjbTRuZlQ1Y2JpQWdJQ0FnSUNBZ0lDQThVR0ZqYTJGblpVMWhibWRsY2tGMllYUmhjaUJoYkhROVhDSjVZWEp1WENJZ2MzZzllM3NnWW1kamIyeHZjam9nWTI5dGJXOXVMbmRvYVhSbElIMTlQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BGbGhjbTRnTHo1Y2JpQWdJQ0FnSUNBZ0lDQThMMUJoWTJ0aFoyVk5ZVzVuWlhKQmRtRjBZWEkrWEc0Z0lDQWdJQ0FnSUNBZ1BFbHVjM1JoYkd4TWFYTjBTWFJsYlZSbGVIUmNiaUFnSUNBZ0lDQWdJQ0FnSUhCeWFXMWhjbms5ZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4UTI5d2VWUnZRMnhwY0VKdllYSmtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaR0YwWVZSbGMzUkpaRDFjSW1sdWMzUmhiR3haWVhKdVhDSmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBaWGgwUFh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbHpSMnh2WW1Gc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRDhnWUhsaGNtNGdKSHRzYjJOaGJGTmxkSFJwYm1kekxubGhjbTVOYjJSbGNtNGdQeUFuSnlBNklDZG5iRzlpWVd3bmZTQmhaR1FnSkh0blpYUkhiRzlpWVd4SmJuTjBZV3hzS0Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVhOSGJHOWlZV3dzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J3WVdOcllXZGxWbVZ5YzJsdmJpeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIQmhZMnRoWjJWT1lXMWxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkSEoxWlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ2w5WUZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQTZJR0I1WVhKdUlHRmtaQ0FrZTJkbGRFZHNiMkpoYkVsdWMzUmhiR3dvYVhOTVlYUmxjM1FzSUdselIyeHZZbUZzTENCd1lXTnJZV2RsVm1WeWMybHZiaXdnY0dGamEyRm5aVTVoYldVc0lIUnlkV1VwZldCY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHbDBiR1U5ZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FYTkhiRzlpWVd4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQeUJnZVdGeWJpQm5iRzlpWVd3Z1lXUmtJQ1I3WjJWMFIyeHZZbUZzU1c1emRHRnNiQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2x6UjJ4dlltRnNMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjR0ZqYTJGblpWWmxjbk5wYjI0c1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCd1lXTnJZV2RsVG1GdFpTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUnlkV1ZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXBmV0JjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ09pQmdlV0Z5YmlCaFpHUWdKSHRuWlhSSGJHOWlZV3hKYm5OMFlXeHNLR2x6VEdGMFpYTjBMQ0JwYzBkc2IySmhiQ3dnY0dGamEyRm5aVlpsY25OcGIyNHNJSEJoWTJ0aFoyVk9ZVzFsTENCMGNuVmxLWDFnWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F2UGx4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUM4K1hHNGdJQ0FnSUNBZ0lEd3ZTVzV6ZEdGc2JFbDBaVzArWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJR05oYzJVZ1JHVndaVzVrWlc1amVVMWhibUZuWlhJdVVFNVFUVHBjYmlBZ0lDQWdJSEpsZEhWeWJpQW9YRzRnSUNBZ0lDQWdJRHhKYm5OMFlXeHNTWFJsYlNCa1lYUmhMWFJsYzNScFpEMTdKMmx1YzNSaGJHeE1hWE4wU1hSbGJTMXdibkJ0SjMwK1hHNGdJQ0FnSUNBZ0lDQWdQRkJoWTJ0aFoyVk5ZVzVuWlhKQmRtRjBZWElnWVd4MFBYc25jRzV3YlNkOUlITjRQWHQ3SUdKblkyOXNiM0k2SUdOdmJXMXZiaTUzYUdsMFpTQjlmVDVjYmlBZ0lDQWdJQ0FnSUNBZ0lEeFFibkJ0SUM4K1hHNGdJQ0FnSUNBZ0lDQWdQQzlRWVdOcllXZGxUV0Z1WjJWeVFYWmhkR0Z5UGx4dUlDQWdJQ0FnSUNBZ0lEeEpibk4wWVd4c1RHbHpkRWwwWlcxVVpYaDBYRzRnSUNBZ0lDQWdJQ0FnSUNCd2NtbHRZWEo1UFh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVOdmNIbFViME5zYVhCQ2IyRnlaRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1JoZEdGVVpYTjBTV1E5WENKcGJuTjBZV3hzVUc1d2JWd2lYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR1Y0ZEQxN1lIQnVjRzBnYVc1emRHRnNiQ0FrZTJkbGRFZHNiMkpoYkVsdWMzUmhiR3dvYVhOTVlYUmxjM1FzSUdselIyeHZZbUZzTENCd1lXTnJZV2RsVm1WeWMybHZiaXdnY0dGamEyRm5aVTVoYldVcGZXQjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2wwYkdVOWUyQndibkJ0SUdsdWMzUmhiR3dnSkh0blpYUkhiRzlpWVd4SmJuTjBZV3hzS0dselRHRjBaWE4wTENCcGMwZHNiMkpoYkN3Z2NHRmphMkZuWlZabGNuTnBiMjRzSUhCaFkydGhaMlZPWVcxbEtYMWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZQbHh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQzgrWEc0Z0lDQWdJQ0FnSUR3dlNXNXpkR0ZzYkVsMFpXMCtYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lHUmxabUYxYkhRNlhHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnZlZ4dWZUdGNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdTVzV6ZEdGc2JFeHBjM1JKZEdWdE8xeHVJbDE5ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgSW5zdGFsbExpc3RJdGVtVGV4dCA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKExpc3RJdGVtVGV4dCwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTE5bG5nNDQxXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxOWxuZzQ0MVwiLFxuXHRsYWJlbDogXCJJbnN0YWxsTGlzdEl0ZW1UZXh0XCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCI0MmJ2dFwiLFxuXHRzdHlsZXM6IFwicGFkZGluZzowIDAgMCAxMHB4O21hcmdpbjowXCJcbn0gOiB7XG5cdG5hbWU6IFwiNDJidnRcIixcblx0c3R5bGVzOiBcInBhZGRpbmc6MCAwIDAgMTBweDttYXJnaW46MC8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlKYm5OMFlXeHNMMGx1YzNSaGJHeE1hWE4wU1hSbGJTNTBjM2dpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCYTBJMFFpSXNJbVpwYkdVaU9pSXZhRzl0WlM5eWRXNXVaWEl2ZDI5eWF5OTJaWEprWVdOamFXOHZkbVZ5WkdGalkybHZMM0JoWTJ0aFoyVnpMM1ZwTFdOdmJYQnZibVZ1ZEhNdmMzSmpMMk52YlhCdmJtVnVkSE12U1c1emRHRnNiQzlKYm5OMFlXeHNUR2x6ZEVsMFpXMHVkSE40SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVhVzF3YjNKMElFRjJZWFJoY2lCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwRjJZWFJoY2ljN1hHNXBiWEJ2Y25RZ1RHbHpkRWwwWlcwZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOU1hWE4wU1hSbGJTYzdYRzVwYlhCdmNuUWdUR2x6ZEVsMFpXMVVaWGgwSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkRWwwWlcxVVpYaDBKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaUI5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCU1pXRmpkQ0JtY205dElDZHlaV0ZqZENjN1hHNWNibWx0Y0c5eWRDQjdJSFZ6WlZObGRIUnBibWR6SUgwZ1puSnZiU0FuTGk0dkxpNHZjSEp2ZG1sa1pYSnpMMUJsY25OcGMzUmxibU5sVTJWMGRHbHVaMUJ5YjNacFpHVnlKenRjYm1sdGNHOXlkQ0JEYjNCNVZHOURiR2x3UW05aGNtUWdabkp2YlNBbkxpNHZRMjl3ZVVOc2FYQmliMkZ5WkNjN1hHNXBiWEJ2Y25RZ2V5Qk9jRzBzSUZCdWNHMHNJRmxoY200Z2ZTQm1jbTl0SUNjdUxpOUpZMjl1Y3ljN1hHNWNibU52Ym5OMElFbHVjM1JoYkd4SmRHVnRJRDBnYzNSNWJHVmtLRXhwYzNSSmRHVnRLU2g3WEc0Z0lIQmhaR1JwYm1jNklEQXNYRzRnSUNjNmFHOTJaWEluT2lCN1hHNGdJQ0FnWW1GamEyZHliM1Z1WkVOdmJHOXlPaUFuZEhKaGJuTndZWEpsYm5RbkxGeHVJQ0I5TEZ4dWZTazdYRzVjYm1OdmJuTjBJRWx1YzNSaGJHeE1hWE4wU1hSbGJWUmxlSFFnUFNCemRIbHNaV1FvVEdsemRFbDBaVzFVWlhoMEtTaDdYRzRnSUhCaFpHUnBibWM2SUNjd0lEQWdNQ0F4TUhCNEp5eGNiaUFnYldGeVoybHVPaUF3TEZ4dWZTazdYRzVjYm1OdmJuTjBJRkJoWTJ0aFoyVk5ZVzVuWlhKQmRtRjBZWElnUFNCemRIbHNaV1FvUVhaaGRHRnlLU2g3WEc0Z0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ0ozUnlZVzV6Y0dGeVpXNTBKeXhjYmlBZ2NHRmtaR2x1WnpvZ01DeGNiaUFnYldGeVoybHVUR1ZtZERvZ01DeGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1pXNTFiU0JFWlhCbGJtUmxibU41VFdGdVlXZGxjaUI3WEc0Z0lFNVFUU0E5SUNkdWNHMG5MRnh1SUNCWlFWSk9JRDBnSjNsaGNtNG5MRnh1SUNCUVRsQk5JRDBnSjNCdWNHMG5MRnh1ZlZ4dVhHNXBiblJsY21aaFkyVWdTVzUwWlhKbVlXTmxJSHRjYmlBZ2NHRmphMkZuWlU1aGJXVTZJSE4wY21sdVp6dGNiaUFnWkdWd1pXNWtaVzVqZVUxaGJtRm5aWEk2SUVSbGNHVnVaR1Z1WTNsTllXNWhaMlZ5TzF4dUlDQndZV05yWVdkbFZtVnljMmx2Ymo4NklITjBjbWx1Wnp0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2RsZEVkc2IySmhiRWx1YzNSaGJHd29hWE5NWVhSbGMzUXNJR2x6UjJ4dlltRnNMQ0J3WVdOcllXZGxWbVZ5YzJsdmJpd2djR0ZqYTJGblpVNWhiV1VzSUdseldXRnliaUE5SUdaaGJITmxLU0I3WEc0Z0lHTnZibk4wSUc1aGJXVWdQU0JwYzBkc2IySmhiRnh1SUNBZ0lEOGdZQ1I3YVhOWllYSnVJRDhnSnljZ09pQW5MV2NuZlNBa2UzQmhZMnRoWjJWV1pYSnphVzl1SUNZbUlDRnBjMHhoZEdWemRDQS9JR0FrZTNCaFkydGhaMlZPWVcxbGZVQWtlM0JoWTJ0aFoyVldaWEp6YVc5dWZXQWdPaUJ3WVdOcllXZGxUbUZ0WlgxZ1hHNGdJQ0FnT2lCd1lXTnJZV2RsVm1WeWMybHZiaUFtSmlBaGFYTk1ZWFJsYzNSY2JpQWdJQ0FnSUQ4Z1lDUjdjR0ZqYTJGblpVNWhiV1Y5UUNSN2NHRmphMkZuWlZabGNuTnBiMjU5WUZ4dUlDQWdJQ0FnT2lCd1lXTnJZV2RsVG1GdFpUdGNibHh1SUNCeVpYUjFjbTRnYm1GdFpTNTBjbWx0S0NrN1hHNTlYRzVjYm1OdmJuTjBJRWx1YzNSaGJHeE1hWE4wU1hSbGJUb2dVbVZoWTNRdVJrTThTVzUwWlhKbVlXTmxQaUE5SUNoN1hHNGdJSEJoWTJ0aFoyVk9ZVzFsTEZ4dUlDQmtaWEJsYm1SbGJtTjVUV0Z1WVdkbGNpeGNiaUFnY0dGamEyRm5aVlpsY25OcGIyNHNYRzU5S1NBOVBpQjdYRzRnSUdOdmJuTjBJSHNnYkc5allXeFRaWFIwYVc1bmN5QjlJRDBnZFhObFUyVjBkR2x1WjNNb0tUdGNiaUFnTHk4Z1kyOXVjM1FnZEdobGJXVTZJRlJvWlcxbElEMGdkWE5sVkdobGJXVW9LVHRjYmlBZ1kyOXVjM1FnYVhOTVlYUmxjM1FnUFNCc2IyTmhiRk5sZEhScGJtZHpXM0JoWTJ0aFoyVk9ZVzFsWFQ4dWJHRjBaWE4wSUQ4L0lHWmhiSE5sTzF4dUlDQmpiMjV6ZENCcGMwZHNiMkpoYkNBOUlHeHZZMkZzVTJWMGRHbHVaM05iY0dGamEyRm5aVTVoYldWZFB5NW5iRzlpWVd3Z1B6OGdabUZzYzJVN1hHNGdJSE4zYVhSamFDQW9aR1Z3Wlc1a1pXNWplVTFoYm1GblpYSXBJSHRjYmlBZ0lDQmpZWE5sSUVSbGNHVnVaR1Z1WTNsTllXNWhaMlZ5TGs1UVRUcGNiaUFnSUNBZ0lISmxkSFZ5YmlBb1hHNGdJQ0FnSUNBZ0lEeEpibk4wWVd4c1NYUmxiU0JrWVhSaExYUmxjM1JwWkQxN0oybHVjM1JoYkd4TWFYTjBTWFJsYlMxdWNHMG5mVDVjYmlBZ0lDQWdJQ0FnSUNBOFVHRmphMkZuWlUxaGJtZGxja0YyWVhSaGNpQmhiSFE5WENKdWNHMWNJaUJ6ZUQxN2V5QmlaMk52Ykc5eU9pQmpiMjF0YjI0dWQyaHBkR1VnZlgwK1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4VG5CdElDOCtYRzRnSUNBZ0lDQWdJQ0FnUEM5UVlXTnJZV2RsVFdGdVoyVnlRWFpoZEdGeVBseHVJQ0FnSUNBZ0lDQWdJRHhKYm5OMFlXeHNUR2x6ZEVsMFpXMVVaWGgwWEc0Z0lDQWdJQ0FnSUNBZ0lDQndjbWx0WVhKNVBYdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFTnZjSGxVYjBOc2FYQkNiMkZ5WkZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdSaGRHRlVaWE4wU1dROVhDSnBibk4wWVd4c1RuQnRYQ0pjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwWlhoMFBYdGdibkJ0SUdsdWMzUmhiR3dnSkh0blpYUkhiRzlpWVd4SmJuTjBZV3hzS0dselRHRjBaWE4wTENCcGMwZHNiMkpoYkN3Z2NHRmphMkZuWlZabGNuTnBiMjRzSUhCaFkydGhaMlZPWVcxbEtYMWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJwZEd4bFBYdGdibkJ0SUdsdWMzUmhiR3dnSkh0blpYUkhiRzlpWVd4SmJuTjBZV3hzS0dselRHRjBaWE4wTENCcGMwZHNiMkpoYkN3Z2NHRmphMkZuWlZabGNuTnBiMjRzSUhCaFkydGhaMlZPWVcxbEtYMWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZQbHh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQzgrWEc0Z0lDQWdJQ0FnSUR3dlNXNXpkR0ZzYkVsMFpXMCtYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lHTmhjMlVnUkdWd1pXNWtaVzVqZVUxaGJtRm5aWEl1V1VGU1RqcGNiaUFnSUNBZ0lISmxkSFZ5YmlBb1hHNGdJQ0FnSUNBZ0lEeEpibk4wWVd4c1NYUmxiU0JrWVhSaExYUmxjM1JwWkQxN0oybHVjM1JoYkd4TWFYTjBTWFJsYlMxNVlYSnVKMzArWEc0Z0lDQWdJQ0FnSUNBZ1BGQmhZMnRoWjJWTllXNW5aWEpCZG1GMFlYSWdZV3gwUFZ3aWVXRnlibHdpSUhONFBYdDdJR0puWTI5c2IzSTZJR052YlcxdmJpNTNhR2wwWlNCOWZUNWNiaUFnSUNBZ0lDQWdJQ0FnSUR4WllYSnVJQzgrWEc0Z0lDQWdJQ0FnSUNBZ1BDOVFZV05yWVdkbFRXRnVaMlZ5UVhaaGRHRnlQbHh1SUNBZ0lDQWdJQ0FnSUR4SmJuTjBZV3hzVEdsemRFbDBaVzFVWlhoMFhHNGdJQ0FnSUNBZ0lDQWdJQ0J3Y21sdFlYSjVQWHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRU52Y0hsVWIwTnNhWEJDYjJGeVpGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHUmhkR0ZVWlhOMFNXUTlYQ0pwYm5OMFlXeHNXV0Z5Ymx3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHVjRkRDE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGMwZHNiMkpoYkZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQS9JR0I1WVhKdUlDUjdiRzlqWVd4VFpYUjBhVzVuY3k1NVlYSnVUVzlrWlhKdUlEOGdKeWNnT2lBbloyeHZZbUZzSjMwZ1lXUmtJQ1I3WjJWMFIyeHZZbUZzU1c1emRHRnNiQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2x6UjJ4dlltRnNMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjR0ZqYTJGblpWWmxjbk5wYjI0c1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCd1lXTnJZV2RsVG1GdFpTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUnlkV1ZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXBmV0JjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ09pQmdlV0Z5YmlCaFpHUWdKSHRuWlhSSGJHOWlZV3hKYm5OMFlXeHNLR2x6VEdGMFpYTjBMQ0JwYzBkc2IySmhiQ3dnY0dGamEyRm5aVlpsY25OcGIyNHNJSEJoWTJ0aFoyVk9ZVzFsTENCMGNuVmxLWDFnWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhScGRHeGxQWHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdselIyeHZZbUZzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEOGdZSGxoY200Z1oyeHZZbUZzSUdGa1pDQWtlMmRsZEVkc2IySmhiRWx1YzNSaGJHd29YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBjMGRzYjJKaGJDeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIQmhZMnRoWjJWV1pYSnphVzl1TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY0dGamEyRm5aVTVoYldVc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGNuVmxYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0tYMWdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSURvZ1lIbGhjbTRnWVdSa0lDUjdaMlYwUjJ4dlltRnNTVzV6ZEdGc2JDaHBjMHhoZEdWemRDd2dhWE5IYkc5aVlXd3NJSEJoWTJ0aFoyVldaWEp6YVc5dUxDQndZV05yWVdkbFRtRnRaU3dnZEhKMVpTbDlZRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0F2UGx4dUlDQWdJQ0FnSUNBOEwwbHVjM1JoYkd4SmRHVnRQbHh1SUNBZ0lDQWdLVHRjYmlBZ0lDQmpZWE5sSUVSbGNHVnVaR1Z1WTNsTllXNWhaMlZ5TGxCT1VFMDZYRzRnSUNBZ0lDQnlaWFIxY200Z0tGeHVJQ0FnSUNBZ0lDQThTVzV6ZEdGc2JFbDBaVzBnWkdGMFlTMTBaWE4wYVdROWV5ZHBibk4wWVd4c1RHbHpkRWwwWlcwdGNHNXdiU2Q5UGx4dUlDQWdJQ0FnSUNBZ0lEeFFZV05yWVdkbFRXRnVaMlZ5UVhaaGRHRnlJR0ZzZEQxN0ozQnVjRzBuZlNCemVEMTdleUJpWjJOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVZ2ZYMCtYRzRnSUNBZ0lDQWdJQ0FnSUNBOFVHNXdiU0F2UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZVR0ZqYTJGblpVMWhibWRsY2tGMllYUmhjajVjYmlBZ0lDQWdJQ0FnSUNBOFNXNXpkR0ZzYkV4cGMzUkpkR1Z0VkdWNGRGeHVJQ0FnSUNBZ0lDQWdJQ0FnY0hKcGJXRnllVDE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHhEYjNCNVZHOURiR2x3UW05aGNtUmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtZWFJoVkdWemRFbGtQVndpYVc1emRHRnNiRkJ1Y0cxY0lseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUmxlSFE5ZTJCd2JuQnRJR2x1YzNSaGJHd2dKSHRuWlhSSGJHOWlZV3hKYm5OMFlXeHNLR2x6VEdGMFpYTjBMQ0JwYzBkc2IySmhiQ3dnY0dGamEyRm5aVlpsY25OcGIyNHNJSEJoWTJ0aFoyVk9ZVzFsS1gxZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUnBkR3hsUFh0Z2NHNXdiU0JwYm5OMFlXeHNJQ1I3WjJWMFIyeHZZbUZzU1c1emRHRnNiQ2hwYzB4aGRHVnpkQ3dnYVhOSGJHOWlZV3dzSUhCaFkydGhaMlZXWlhKemFXOXVMQ0J3WVdOcllXZGxUbUZ0WlNsOVlIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQXZQbHh1SUNBZ0lDQWdJQ0E4TDBsdWMzUmhiR3hKZEdWdFBseHVJQ0FnSUNBZ0tUdGNiaUFnSUNCa1pXWmhkV3gwT2x4dUlDQWdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYm4wN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElFbHVjM1JoYkd4TWFYTjBTWFJsYlR0Y2JpSmRmUT09ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgUGFja2FnZU1hbmdlckF2YXRhciA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKEF2YXRhciwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTE5bG5nNDQwXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxOWxuZzQ0MFwiLFxuXHRsYWJlbDogXCJQYWNrYWdlTWFuZ2VyQXZhdGFyXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCIxOWlqc2E1XCIsXG5cdHN0eWxlczogXCJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmc6MDttYXJnaW4tbGVmdDowXCJcbn0gOiB7XG5cdG5hbWU6IFwiMTlpanNhNVwiLFxuXHRzdHlsZXM6IFwiYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtwYWRkaW5nOjA7bWFyZ2luLWxlZnQ6MC8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlKYm5OMFlXeHNMMGx1YzNSaGJHeE1hWE4wU1hSbGJTNTBjM2dpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCZFVJMFFpSXNJbVpwYkdVaU9pSXZhRzl0WlM5eWRXNXVaWEl2ZDI5eWF5OTJaWEprWVdOamFXOHZkbVZ5WkdGalkybHZMM0JoWTJ0aFoyVnpMM1ZwTFdOdmJYQnZibVZ1ZEhNdmMzSmpMMk52YlhCdmJtVnVkSE12U1c1emRHRnNiQzlKYm5OMFlXeHNUR2x6ZEVsMFpXMHVkSE40SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVhVzF3YjNKMElFRjJZWFJoY2lCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwRjJZWFJoY2ljN1hHNXBiWEJ2Y25RZ1RHbHpkRWwwWlcwZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOU1hWE4wU1hSbGJTYzdYRzVwYlhCdmNuUWdUR2x6ZEVsMFpXMVVaWGgwSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkRWwwWlcxVVpYaDBKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaUI5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCU1pXRmpkQ0JtY205dElDZHlaV0ZqZENjN1hHNWNibWx0Y0c5eWRDQjdJSFZ6WlZObGRIUnBibWR6SUgwZ1puSnZiU0FuTGk0dkxpNHZjSEp2ZG1sa1pYSnpMMUJsY25OcGMzUmxibU5sVTJWMGRHbHVaMUJ5YjNacFpHVnlKenRjYm1sdGNHOXlkQ0JEYjNCNVZHOURiR2x3UW05aGNtUWdabkp2YlNBbkxpNHZRMjl3ZVVOc2FYQmliMkZ5WkNjN1hHNXBiWEJ2Y25RZ2V5Qk9jRzBzSUZCdWNHMHNJRmxoY200Z2ZTQm1jbTl0SUNjdUxpOUpZMjl1Y3ljN1hHNWNibU52Ym5OMElFbHVjM1JoYkd4SmRHVnRJRDBnYzNSNWJHVmtLRXhwYzNSSmRHVnRLU2g3WEc0Z0lIQmhaR1JwYm1jNklEQXNYRzRnSUNjNmFHOTJaWEluT2lCN1hHNGdJQ0FnWW1GamEyZHliM1Z1WkVOdmJHOXlPaUFuZEhKaGJuTndZWEpsYm5RbkxGeHVJQ0I5TEZ4dWZTazdYRzVjYm1OdmJuTjBJRWx1YzNSaGJHeE1hWE4wU1hSbGJWUmxlSFFnUFNCemRIbHNaV1FvVEdsemRFbDBaVzFVWlhoMEtTaDdYRzRnSUhCaFpHUnBibWM2SUNjd0lEQWdNQ0F4TUhCNEp5eGNiaUFnYldGeVoybHVPaUF3TEZ4dWZTazdYRzVjYm1OdmJuTjBJRkJoWTJ0aFoyVk5ZVzVuWlhKQmRtRjBZWElnUFNCemRIbHNaV1FvUVhaaGRHRnlLU2g3WEc0Z0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ0ozUnlZVzV6Y0dGeVpXNTBKeXhjYmlBZ2NHRmtaR2x1WnpvZ01DeGNiaUFnYldGeVoybHVUR1ZtZERvZ01DeGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1pXNTFiU0JFWlhCbGJtUmxibU41VFdGdVlXZGxjaUI3WEc0Z0lFNVFUU0E5SUNkdWNHMG5MRnh1SUNCWlFWSk9JRDBnSjNsaGNtNG5MRnh1SUNCUVRsQk5JRDBnSjNCdWNHMG5MRnh1ZlZ4dVhHNXBiblJsY21aaFkyVWdTVzUwWlhKbVlXTmxJSHRjYmlBZ2NHRmphMkZuWlU1aGJXVTZJSE4wY21sdVp6dGNiaUFnWkdWd1pXNWtaVzVqZVUxaGJtRm5aWEk2SUVSbGNHVnVaR1Z1WTNsTllXNWhaMlZ5TzF4dUlDQndZV05yWVdkbFZtVnljMmx2Ymo4NklITjBjbWx1Wnp0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2RsZEVkc2IySmhiRWx1YzNSaGJHd29hWE5NWVhSbGMzUXNJR2x6UjJ4dlltRnNMQ0J3WVdOcllXZGxWbVZ5YzJsdmJpd2djR0ZqYTJGblpVNWhiV1VzSUdseldXRnliaUE5SUdaaGJITmxLU0I3WEc0Z0lHTnZibk4wSUc1aGJXVWdQU0JwYzBkc2IySmhiRnh1SUNBZ0lEOGdZQ1I3YVhOWllYSnVJRDhnSnljZ09pQW5MV2NuZlNBa2UzQmhZMnRoWjJWV1pYSnphVzl1SUNZbUlDRnBjMHhoZEdWemRDQS9JR0FrZTNCaFkydGhaMlZPWVcxbGZVQWtlM0JoWTJ0aFoyVldaWEp6YVc5dWZXQWdPaUJ3WVdOcllXZGxUbUZ0WlgxZ1hHNGdJQ0FnT2lCd1lXTnJZV2RsVm1WeWMybHZiaUFtSmlBaGFYTk1ZWFJsYzNSY2JpQWdJQ0FnSUQ4Z1lDUjdjR0ZqYTJGblpVNWhiV1Y5UUNSN2NHRmphMkZuWlZabGNuTnBiMjU5WUZ4dUlDQWdJQ0FnT2lCd1lXTnJZV2RsVG1GdFpUdGNibHh1SUNCeVpYUjFjbTRnYm1GdFpTNTBjbWx0S0NrN1hHNTlYRzVjYm1OdmJuTjBJRWx1YzNSaGJHeE1hWE4wU1hSbGJUb2dVbVZoWTNRdVJrTThTVzUwWlhKbVlXTmxQaUE5SUNoN1hHNGdJSEJoWTJ0aFoyVk9ZVzFsTEZ4dUlDQmtaWEJsYm1SbGJtTjVUV0Z1WVdkbGNpeGNiaUFnY0dGamEyRm5aVlpsY25OcGIyNHNYRzU5S1NBOVBpQjdYRzRnSUdOdmJuTjBJSHNnYkc5allXeFRaWFIwYVc1bmN5QjlJRDBnZFhObFUyVjBkR2x1WjNNb0tUdGNiaUFnTHk4Z1kyOXVjM1FnZEdobGJXVTZJRlJvWlcxbElEMGdkWE5sVkdobGJXVW9LVHRjYmlBZ1kyOXVjM1FnYVhOTVlYUmxjM1FnUFNCc2IyTmhiRk5sZEhScGJtZHpXM0JoWTJ0aFoyVk9ZVzFsWFQ4dWJHRjBaWE4wSUQ4L0lHWmhiSE5sTzF4dUlDQmpiMjV6ZENCcGMwZHNiMkpoYkNBOUlHeHZZMkZzVTJWMGRHbHVaM05iY0dGamEyRm5aVTVoYldWZFB5NW5iRzlpWVd3Z1B6OGdabUZzYzJVN1hHNGdJSE4zYVhSamFDQW9aR1Z3Wlc1a1pXNWplVTFoYm1GblpYSXBJSHRjYmlBZ0lDQmpZWE5sSUVSbGNHVnVaR1Z1WTNsTllXNWhaMlZ5TGs1UVRUcGNiaUFnSUNBZ0lISmxkSFZ5YmlBb1hHNGdJQ0FnSUNBZ0lEeEpibk4wWVd4c1NYUmxiU0JrWVhSaExYUmxjM1JwWkQxN0oybHVjM1JoYkd4TWFYTjBTWFJsYlMxdWNHMG5mVDVjYmlBZ0lDQWdJQ0FnSUNBOFVHRmphMkZuWlUxaGJtZGxja0YyWVhSaGNpQmhiSFE5WENKdWNHMWNJaUJ6ZUQxN2V5QmlaMk52Ykc5eU9pQmpiMjF0YjI0dWQyaHBkR1VnZlgwK1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4VG5CdElDOCtYRzRnSUNBZ0lDQWdJQ0FnUEM5UVlXTnJZV2RsVFdGdVoyVnlRWFpoZEdGeVBseHVJQ0FnSUNBZ0lDQWdJRHhKYm5OMFlXeHNUR2x6ZEVsMFpXMVVaWGgwWEc0Z0lDQWdJQ0FnSUNBZ0lDQndjbWx0WVhKNVBYdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFTnZjSGxVYjBOc2FYQkNiMkZ5WkZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdSaGRHRlVaWE4wU1dROVhDSnBibk4wWVd4c1RuQnRYQ0pjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwWlhoMFBYdGdibkJ0SUdsdWMzUmhiR3dnSkh0blpYUkhiRzlpWVd4SmJuTjBZV3hzS0dselRHRjBaWE4wTENCcGMwZHNiMkpoYkN3Z2NHRmphMkZuWlZabGNuTnBiMjRzSUhCaFkydGhaMlZPWVcxbEtYMWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJwZEd4bFBYdGdibkJ0SUdsdWMzUmhiR3dnSkh0blpYUkhiRzlpWVd4SmJuTjBZV3hzS0dselRHRjBaWE4wTENCcGMwZHNiMkpoYkN3Z2NHRmphMkZuWlZabGNuTnBiMjRzSUhCaFkydGhaMlZPWVcxbEtYMWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZQbHh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQzgrWEc0Z0lDQWdJQ0FnSUR3dlNXNXpkR0ZzYkVsMFpXMCtYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lHTmhjMlVnUkdWd1pXNWtaVzVqZVUxaGJtRm5aWEl1V1VGU1RqcGNiaUFnSUNBZ0lISmxkSFZ5YmlBb1hHNGdJQ0FnSUNBZ0lEeEpibk4wWVd4c1NYUmxiU0JrWVhSaExYUmxjM1JwWkQxN0oybHVjM1JoYkd4TWFYTjBTWFJsYlMxNVlYSnVKMzArWEc0Z0lDQWdJQ0FnSUNBZ1BGQmhZMnRoWjJWTllXNW5aWEpCZG1GMFlYSWdZV3gwUFZ3aWVXRnlibHdpSUhONFBYdDdJR0puWTI5c2IzSTZJR052YlcxdmJpNTNhR2wwWlNCOWZUNWNiaUFnSUNBZ0lDQWdJQ0FnSUR4WllYSnVJQzgrWEc0Z0lDQWdJQ0FnSUNBZ1BDOVFZV05yWVdkbFRXRnVaMlZ5UVhaaGRHRnlQbHh1SUNBZ0lDQWdJQ0FnSUR4SmJuTjBZV3hzVEdsemRFbDBaVzFVWlhoMFhHNGdJQ0FnSUNBZ0lDQWdJQ0J3Y21sdFlYSjVQWHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRU52Y0hsVWIwTnNhWEJDYjJGeVpGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHUmhkR0ZVWlhOMFNXUTlYQ0pwYm5OMFlXeHNXV0Z5Ymx3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHVjRkRDE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGMwZHNiMkpoYkZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQS9JR0I1WVhKdUlDUjdiRzlqWVd4VFpYUjBhVzVuY3k1NVlYSnVUVzlrWlhKdUlEOGdKeWNnT2lBbloyeHZZbUZzSjMwZ1lXUmtJQ1I3WjJWMFIyeHZZbUZzU1c1emRHRnNiQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2x6UjJ4dlltRnNMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjR0ZqYTJGblpWWmxjbk5wYjI0c1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCd1lXTnJZV2RsVG1GdFpTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUnlkV1ZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXBmV0JjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ09pQmdlV0Z5YmlCaFpHUWdKSHRuWlhSSGJHOWlZV3hKYm5OMFlXeHNLR2x6VEdGMFpYTjBMQ0JwYzBkc2IySmhiQ3dnY0dGamEyRm5aVlpsY25OcGIyNHNJSEJoWTJ0aFoyVk9ZVzFsTENCMGNuVmxLWDFnWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhScGRHeGxQWHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdselIyeHZZbUZzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEOGdZSGxoY200Z1oyeHZZbUZzSUdGa1pDQWtlMmRsZEVkc2IySmhiRWx1YzNSaGJHd29YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBjMGRzYjJKaGJDeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIQmhZMnRoWjJWV1pYSnphVzl1TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY0dGamEyRm5aVTVoYldVc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGNuVmxYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0tYMWdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSURvZ1lIbGhjbTRnWVdSa0lDUjdaMlYwUjJ4dlltRnNTVzV6ZEdGc2JDaHBjMHhoZEdWemRDd2dhWE5IYkc5aVlXd3NJSEJoWTJ0aFoyVldaWEp6YVc5dUxDQndZV05yWVdkbFRtRnRaU3dnZEhKMVpTbDlZRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0F2UGx4dUlDQWdJQ0FnSUNBOEwwbHVjM1JoYkd4SmRHVnRQbHh1SUNBZ0lDQWdLVHRjYmlBZ0lDQmpZWE5sSUVSbGNHVnVaR1Z1WTNsTllXNWhaMlZ5TGxCT1VFMDZYRzRnSUNBZ0lDQnlaWFIxY200Z0tGeHVJQ0FnSUNBZ0lDQThTVzV6ZEdGc2JFbDBaVzBnWkdGMFlTMTBaWE4wYVdROWV5ZHBibk4wWVd4c1RHbHpkRWwwWlcwdGNHNXdiU2Q5UGx4dUlDQWdJQ0FnSUNBZ0lEeFFZV05yWVdkbFRXRnVaMlZ5UVhaaGRHRnlJR0ZzZEQxN0ozQnVjRzBuZlNCemVEMTdleUJpWjJOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVZ2ZYMCtYRzRnSUNBZ0lDQWdJQ0FnSUNBOFVHNXdiU0F2UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZVR0ZqYTJGblpVMWhibWRsY2tGMllYUmhjajVjYmlBZ0lDQWdJQ0FnSUNBOFNXNXpkR0ZzYkV4cGMzUkpkR1Z0VkdWNGRGeHVJQ0FnSUNBZ0lDQWdJQ0FnY0hKcGJXRnllVDE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHhEYjNCNVZHOURiR2x3UW05aGNtUmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtZWFJoVkdWemRFbGtQVndpYVc1emRHRnNiRkJ1Y0cxY0lseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUmxlSFE5ZTJCd2JuQnRJR2x1YzNSaGJHd2dKSHRuWlhSSGJHOWlZV3hKYm5OMFlXeHNLR2x6VEdGMFpYTjBMQ0JwYzBkc2IySmhiQ3dnY0dGamEyRm5aVlpsY25OcGIyNHNJSEJoWTJ0aFoyVk9ZVzFsS1gxZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUnBkR3hsUFh0Z2NHNXdiU0JwYm5OMFlXeHNJQ1I3WjJWMFIyeHZZbUZzU1c1emRHRnNiQ2hwYzB4aGRHVnpkQ3dnYVhOSGJHOWlZV3dzSUhCaFkydGhaMlZXWlhKemFXOXVMQ0J3WVdOcllXZGxUbUZ0WlNsOVlIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQXZQbHh1SUNBZ0lDQWdJQ0E4TDBsdWMzUmhiR3hKZEdWdFBseHVJQ0FnSUNBZ0tUdGNiaUFnSUNCa1pXWmhkV3gwT2x4dUlDQWdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYm4wN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElFbHVjM1JoYkd4TWFYTjBTWFJsYlR0Y2JpSmRmUT09ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgRGVwZW5kZW5jeU1hbmFnZXIgPSAvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oRGVwZW5kZW5jeU1hbmFnZXIpIHtcblx0RGVwZW5kZW5jeU1hbmFnZXJbXCJOUE1cIl0gPSBcIm5wbVwiO1xuXHREZXBlbmRlbmN5TWFuYWdlcltcIllBUk5cIl0gPSBcInlhcm5cIjtcblx0RGVwZW5kZW5jeU1hbmFnZXJbXCJQTlBNXCJdID0gXCJwbnBtXCI7XG5cdHJldHVybiBEZXBlbmRlbmN5TWFuYWdlcjtcbn0oe30pO1xuZnVuY3Rpb24gZ2V0R2xvYmFsSW5zdGFsbChpc0xhdGVzdCwgaXNHbG9iYWwsIHBhY2thZ2VWZXJzaW9uLCBwYWNrYWdlTmFtZSwgaXNZYXJuID0gZmFsc2UpIHtcblx0cmV0dXJuIChpc0dsb2JhbCA/IGAke2lzWWFybiA/IFwiXCIgOiBcIi1nXCJ9ICR7cGFja2FnZVZlcnNpb24gJiYgIWlzTGF0ZXN0ID8gYCR7cGFja2FnZU5hbWV9QCR7cGFja2FnZVZlcnNpb259YCA6IHBhY2thZ2VOYW1lfWAgOiBwYWNrYWdlVmVyc2lvbiAmJiAhaXNMYXRlc3QgPyBgJHtwYWNrYWdlTmFtZX1AJHtwYWNrYWdlVmVyc2lvbn1gIDogcGFja2FnZU5hbWUpLnRyaW0oKTtcbn1cbnZhciBJbnN0YWxsTGlzdEl0ZW0gPSAoeyBwYWNrYWdlTmFtZSwgZGVwZW5kZW5jeU1hbmFnZXIsIHBhY2thZ2VWZXJzaW9uIH0pID0+IHtcblx0Y29uc3QgeyBsb2NhbFNldHRpbmdzIH0gPSB1c2VTZXR0aW5ncygpO1xuXHRjb25zdCBpc0xhdGVzdCA9IGxvY2FsU2V0dGluZ3NbcGFja2FnZU5hbWVdPy5sYXRlc3QgPz8gZmFsc2U7XG5cdGNvbnN0IGlzR2xvYmFsID0gbG9jYWxTZXR0aW5nc1twYWNrYWdlTmFtZV0/Lmdsb2JhbCA/PyBmYWxzZTtcblx0c3dpdGNoIChkZXBlbmRlbmN5TWFuYWdlcikge1xuXHRcdGNhc2UgRGVwZW5kZW5jeU1hbmFnZXIuTlBNOiByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoSW5zdGFsbEl0ZW0sIHtcblx0XHRcdFwiZGF0YS10ZXN0aWRcIjogXCJpbnN0YWxsTGlzdEl0ZW0tbnBtXCIsXG5cdFx0XHRjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goUGFja2FnZU1hbmdlckF2YXRhciwge1xuXHRcdFx0XHRhbHQ6IFwibnBtXCIsXG5cdFx0XHRcdHN4OiB7IGJnY29sb3I6IGNvbW1vbi53aGl0ZSB9LFxuXHRcdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChOcG0sIHt9KVxuXHRcdFx0fSksIC8qIEBfX1BVUkVfXyAqLyBqc3goSW5zdGFsbExpc3RJdGVtVGV4dCwgeyBwcmltYXJ5OiAvKiBAX19QVVJFX18gKi8ganN4KENvcHlUb0NsaXBCb2FyZCwge1xuXHRcdFx0XHRkYXRhVGVzdElkOiBcImluc3RhbGxOcG1cIixcblx0XHRcdFx0dGV4dDogYG5wbSBpbnN0YWxsICR7Z2V0R2xvYmFsSW5zdGFsbChpc0xhdGVzdCwgaXNHbG9iYWwsIHBhY2thZ2VWZXJzaW9uLCBwYWNrYWdlTmFtZSl9YCxcblx0XHRcdFx0dGl0bGU6IGBucG0gaW5zdGFsbCAke2dldEdsb2JhbEluc3RhbGwoaXNMYXRlc3QsIGlzR2xvYmFsLCBwYWNrYWdlVmVyc2lvbiwgcGFja2FnZU5hbWUpfWBcblx0XHRcdH0pIH0pXVxuXHRcdH0pO1xuXHRcdGNhc2UgRGVwZW5kZW5jeU1hbmFnZXIuWUFSTjogcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKEluc3RhbGxJdGVtLCB7XG5cdFx0XHRcImRhdGEtdGVzdGlkXCI6IFwiaW5zdGFsbExpc3RJdGVtLXlhcm5cIixcblx0XHRcdGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChQYWNrYWdlTWFuZ2VyQXZhdGFyLCB7XG5cdFx0XHRcdGFsdDogXCJ5YXJuXCIsXG5cdFx0XHRcdHN4OiB7IGJnY29sb3I6IGNvbW1vbi53aGl0ZSB9LFxuXHRcdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChZYXJuLCB7fSlcblx0XHRcdH0pLCAvKiBAX19QVVJFX18gKi8ganN4KEluc3RhbGxMaXN0SXRlbVRleHQsIHsgcHJpbWFyeTogLyogQF9fUFVSRV9fICovIGpzeChDb3B5VG9DbGlwQm9hcmQsIHtcblx0XHRcdFx0ZGF0YVRlc3RJZDogXCJpbnN0YWxsWWFyblwiLFxuXHRcdFx0XHR0ZXh0OiBpc0dsb2JhbCA/IGB5YXJuICR7bG9jYWxTZXR0aW5ncy55YXJuTW9kZXJuID8gXCJcIiA6IFwiZ2xvYmFsXCJ9IGFkZCAke2dldEdsb2JhbEluc3RhbGwoaXNHbG9iYWwsIHBhY2thZ2VWZXJzaW9uLCBwYWNrYWdlTmFtZSwgdHJ1ZSl9YCA6IGB5YXJuIGFkZCAke2dldEdsb2JhbEluc3RhbGwoaXNMYXRlc3QsIGlzR2xvYmFsLCBwYWNrYWdlVmVyc2lvbiwgcGFja2FnZU5hbWUsIHRydWUpfWAsXG5cdFx0XHRcdHRpdGxlOiBpc0dsb2JhbCA/IGB5YXJuIGdsb2JhbCBhZGQgJHtnZXRHbG9iYWxJbnN0YWxsKGlzR2xvYmFsLCBwYWNrYWdlVmVyc2lvbiwgcGFja2FnZU5hbWUsIHRydWUpfWAgOiBgeWFybiBhZGQgJHtnZXRHbG9iYWxJbnN0YWxsKGlzTGF0ZXN0LCBpc0dsb2JhbCwgcGFja2FnZVZlcnNpb24sIHBhY2thZ2VOYW1lLCB0cnVlKX1gXG5cdFx0XHR9KSB9KV1cblx0XHR9KTtcblx0XHRjYXNlIERlcGVuZGVuY3lNYW5hZ2VyLlBOUE06IHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhJbnN0YWxsSXRlbSwge1xuXHRcdFx0XCJkYXRhLXRlc3RpZFwiOiBcImluc3RhbGxMaXN0SXRlbS1wbnBtXCIsXG5cdFx0XHRjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goUGFja2FnZU1hbmdlckF2YXRhciwge1xuXHRcdFx0XHRhbHQ6IFwicG5wbVwiLFxuXHRcdFx0XHRzeDogeyBiZ2NvbG9yOiBjb21tb24ud2hpdGUgfSxcblx0XHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goUG5wbSwge30pXG5cdFx0XHR9KSwgLyogQF9fUFVSRV9fICovIGpzeChJbnN0YWxsTGlzdEl0ZW1UZXh0LCB7IHByaW1hcnk6IC8qIEBfX1BVUkVfXyAqLyBqc3goQ29weVRvQ2xpcEJvYXJkLCB7XG5cdFx0XHRcdGRhdGFUZXN0SWQ6IFwiaW5zdGFsbFBucG1cIixcblx0XHRcdFx0dGV4dDogYHBucG0gaW5zdGFsbCAke2dldEdsb2JhbEluc3RhbGwoaXNMYXRlc3QsIGlzR2xvYmFsLCBwYWNrYWdlVmVyc2lvbiwgcGFja2FnZU5hbWUpfWAsXG5cdFx0XHRcdHRpdGxlOiBgcG5wbSBpbnN0YWxsICR7Z2V0R2xvYmFsSW5zdGFsbChpc0xhdGVzdCwgaXNHbG9iYWwsIHBhY2thZ2VWZXJzaW9uLCBwYWNrYWdlTmFtZSl9YFxuXHRcdFx0fSkgfSldXG5cdFx0fSk7XG5cdFx0ZGVmYXVsdDogcmV0dXJuIG51bGw7XG5cdH1cbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IERlcGVuZGVuY3lNYW5hZ2VyLCBJbnN0YWxsTGlzdEl0ZW0gYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1JbnN0YWxsTGlzdEl0ZW0ubWpzLm1hcCIsImltcG9ydCBTZXR0aW5nc01lbnUgZnJvbSBcIi4uL1NldHRpbmdzTWVudS9TZXR0aW5nc01lbnUubWpzXCI7XG5pbXBvcnQgXCIuLi9TZXR0aW5nc01lbnUvaW5kZXgubWpzXCI7XG5pbXBvcnQgSW5zdGFsbExpc3RJdGVtLCB7IERlcGVuZGVuY3lNYW5hZ2VyIH0gZnJvbSBcIi4vSW5zdGFsbExpc3RJdGVtLm1qc1wiO1xuaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG5pbXBvcnQgeyBGcmFnbWVudCwganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IExpc3QgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvTGlzdFwiO1xuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvSW5zdGFsbC9JbnN0YWxsLnRzeFxuZnVuY3Rpb24gX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX18oKSB7XG5cdHJldHVybiBcIllvdSBoYXZlIHRyaWVkIHRvIHN0cmluZ2lmeSBvYmplY3QgcmV0dXJuZWQgZnJvbSBgY3NzYCBmdW5jdGlvbi4gSXQgaXNuJ3Qgc3VwcG9zZWQgdG8gYmUgdXNlZCBkaXJlY3RseSAoZS5nLiBhcyB2YWx1ZSBvZiB0aGUgYGNsYXNzTmFtZWAgcHJvcCksIGJ1dCByYXRoZXIgaGFuZGVkIHRvIGVtb3Rpb24gc28gaXQgY2FuIGhhbmRsZSBpdCAoZS5nLiBhcyB2YWx1ZSBvZiBgY3NzYCBwcm9wKS5cIjtcbn1cbnZhciBTdHlsZWRUZXh0ID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoVHlwb2dyYXBoeSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTF4ZzY5c2cxXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxeGc2OXNnMVwiLFxuXHRsYWJlbDogXCJTdHlsZWRUZXh0XCJcbn0pKChwcm9wcykgPT4gKHtcblx0Zm9udFdlaWdodDogcHJvcHMudGhlbWUuZm9udFdlaWdodC5ib2xkLFxuXHR0ZXh0VHJhbnNmb3JtOiBcImNhcGl0YWxpemVcIlxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlKYm5OMFlXeHNMMGx1YzNSaGJHd3VkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVdGdFFpSXNJbVpwYkdVaU9pSXZhRzl0WlM5eWRXNXVaWEl2ZDI5eWF5OTJaWEprWVdOamFXOHZkbVZ5WkdGalkybHZMM0JoWTJ0aFoyVnpMM1ZwTFdOdmJYQnZibVZ1ZEhNdmMzSmpMMk52YlhCdmJtVnVkSE12U1c1emRHRnNiQzlKYm5OMFlXeHNMblJ6ZUNJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQjdJRlI1Y0c5bmNtRndhSGtnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0p6dGNibWx0Y0c5eWRDQk1hWE4wSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkQ2M3WEc1cGJYQnZjblFnVW1WaFkzUWdabkp2YlNBbmNtVmhZM1FuTzF4dWFXMXdiM0owSUhzZ2RYTmxWSEpoYm5Oc1lYUnBiMjRnZlNCbWNtOXRJQ2R5WldGamRDMXBNVGh1WlhoMEp6dGNibHh1YVcxd2IzSjBJSFI1Y0dVZ2V5QlVaVzF3YkdGMFpWVkpUM0IwYVc5dWN5QjlJR1p5YjIwZ0owQjJaWEprWVdOamFXOHZkSGx3WlhNbk8xeHVYRzVwYlhCdmNuUWdkSGx3WlNCN0lGUm9aVzFsSUgwZ1puSnZiU0FuTGk0dkxpNHZWR2hsYldVbk8xeHVhVzF3YjNKMElIUjVjR1VnZXlCUVlXTnJZV2RsVFdWMFlVbHVkR1Z5Wm1GalpTQjlJR1p5YjIwZ0p5NHVMeTR1TDNSNWNHVnpMM0JoWTJ0aFoyVk5aWFJoSnp0Y2JtbHRjRzl5ZENCN0lGTmxkSFJwYm1kelRXVnVkU0I5SUdaeWIyMGdKeTR1TDFObGRIUnBibWR6VFdWdWRTYzdYRzVwYlhCdmNuUWdTVzV6ZEdGc2JFeHBjM1JKZEdWdExDQjdJRVJsY0dWdVpHVnVZM2xOWVc1aFoyVnlJSDBnWm5KdmJTQW5MaTlKYm5OMFlXeHNUR2x6ZEVsMFpXMG5PMXh1WEc1amIyNXpkQ0JUZEhsc1pXUlVaWGgwSUQwZ2MzUjViR1ZrS0ZSNWNHOW5jbUZ3YUhrcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29jSEp2Y0hNcElEMCtJQ2g3WEc0Z0lHWnZiblJYWldsbmFIUTZJSEJ5YjNCekxuUm9aVzFsTG1admJuUlhaV2xuYUhRdVltOXNaQ3hjYmlBZ2RHVjRkRlJ5WVc1elptOXliVG9nSjJOaGNHbDBZV3hwZW1VbkxGeHVmU2twTzF4dVhHNWpiMjV6ZENCWGNtRndjR1Z5SUQwZ2MzUjViR1ZrS0Nka2FYWW5LU2g3WEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc0Z0lHcDFjM1JwWm5sRGIyNTBaVzUwT2lBbmMzQmhZMlV0WW1WMGQyVmxiaWNzWEc1OUtUdGNibHh1Wlhod2IzSjBJSFI1Y0dVZ1VISnZjSE1nUFNCN1hHNGdJSEJoWTJ0aFoyVk5aWFJoT2lCUVlXTnJZV2RsVFdWMFlVbHVkR1Z5Wm1GalpUdGNiaUFnY0dGamEyRm5aVTVoYldVNklITjBjbWx1Wnp0Y2JpQWdZMjl1Wm1sblQzQjBhVzl1Y3pvZ1ZHVnRjR3hoZEdWVlNVOXdkR2x2Ym5NN1hHNTlPMXh1WEc1amIyNXpkQ0JKYm5OMFlXeHNPaUJTWldGamRDNUdRenhRY205d2N6NGdQU0FvZXlCd1lXTnJZV2RsVFdWMFlTd2djR0ZqYTJGblpVNWhiV1VzSUdOdmJtWnBaMDl3ZEdsdmJuTWdmU2tnUFQ0Z2UxeHVJQ0JqYjI1emRDQjdJSFFnZlNBOUlIVnpaVlJ5WVc1emJHRjBhVzl1S0NrN1hHNGdJR2xtSUNnaGNHRmphMkZuWlUxbGRHRWdmSHdnSVhCaFkydGhaMlZPWVcxbEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0JqYjI1emRDQm9ZWE5PY0cwZ1BTQmpiMjVtYVdkUGNIUnBiMjV6UHk1d2EyZE5ZVzVoWjJWeWN6OHVhVzVqYkhWa1pYTW9KMjV3YlNjcE8xeHVJQ0JqYjI1emRDQm9ZWE5aWVhKdUlEMGdZMjl1Wm1sblQzQjBhVzl1Y3o4dWNHdG5UV0Z1WVdkbGNuTS9MbWx1WTJ4MVpHVnpLQ2Q1WVhKdUp5azdYRzRnSUdOdmJuTjBJR2hoYzFCdWNHMGdQU0JqYjI1bWFXZFBjSFJwYjI1elB5NXdhMmROWVc1aFoyVnljejh1YVc1amJIVmtaWE1vSjNCdWNHMG5LU0EvUHlCMGNuVmxPMXh1SUNCamIyNXpkQ0JvWVhOUWEyZE5ZVzVoWjJWeWN5QTlJR2hoYzA1d2JTQjhmQ0JvWVhOUWJuQnRJSHg4SUdoaGMxbGhjbTQ3WEc1Y2JpQWdjbVYwZFhKdUlHaGhjMUJyWjAxaGJtRm5aWEp6SUQ4Z0tGeHVJQ0FnSUR3K1hHNGdJQ0FnSUNBOFRHbHpkRnh1SUNBZ0lDQWdJQ0JrWVhSaExYUmxjM1JwWkQxN0oybHVjM1JoYkd4TWFYTjBKMzFjYmlBZ0lDQWdJQ0FnYzNWaWFHVmhaR1Z5UFh0Y2JpQWdJQ0FnSUNBZ0lDQThWM0poY0hCbGNqNWNiaUFnSUNBZ0lDQWdJQ0FnSUR4VGRIbHNaV1JVWlhoMElIWmhjbWxoYm5ROWV5ZHpkV0owYVhSc1pURW5mVDU3ZENnbmMybGtaV0poY2k1cGJuTjBZV3hzWVhScGIyNHVkR2wwYkdVbktYMDhMMU4wZVd4bFpGUmxlSFErWEc0Z0lDQWdJQ0FnSUNBZ0lDQThVMlYwZEdsdVozTk5aVzUxSUhCaFkydGhaMlZPWVcxbFBYdHdZV05yWVdkbFRtRnRaWDBnTHo1Y2JpQWdJQ0FnSUNBZ0lDQThMMWR5WVhCd1pYSStYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJRDVjYmlBZ0lDQWdJQ0FnZTJoaGMwNXdiU0FtSmlBb1hHNGdJQ0FnSUNBZ0lDQWdQRWx1YzNSaGJHeE1hWE4wU1hSbGJWeHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWd1pXNWtaVzVqZVUxaGJtRm5aWEk5ZTBSbGNHVnVaR1Z1WTNsTllXNWhaMlZ5TGs1UVRYMWNiaUFnSUNBZ0lDQWdJQ0FnSUhCaFkydGhaMlZPWVcxbFBYdHdZV05yWVdkbFRtRnRaWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lIQmhZMnRoWjJWV1pYSnphVzl1UFh0d1lXTnJZV2RsVFdWMFlTNXNZWFJsYzNRdWRtVnljMmx2Ym4xY2JpQWdJQ0FnSUNBZ0lDQXZQbHh1SUNBZ0lDQWdJQ0FwZlZ4dUlDQWdJQ0FnSUNCN2FHRnpXV0Z5YmlBbUppQW9YRzRnSUNBZ0lDQWdJQ0FnUEVsdWMzUmhiR3hNYVhOMFNYUmxiVnh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVndaVzVrWlc1amVVMWhibUZuWlhJOWUwUmxjR1Z1WkdWdVkzbE5ZVzVoWjJWeUxsbEJVazU5WEc0Z0lDQWdJQ0FnSUNBZ0lDQndZV05yWVdkbFRtRnRaVDE3Y0dGamEyRm5aVTVoYldWOVhHNGdJQ0FnSUNBZ0lDQWdJQ0J3WVdOcllXZGxWbVZ5YzJsdmJqMTdjR0ZqYTJGblpVMWxkR0V1YkdGMFpYTjBMblpsY25OcGIyNTlYRzRnSUNBZ0lDQWdJQ0FnTHo1Y2JpQWdJQ0FnSUNBZ0tYMWNiaUFnSUNBZ0lDQWdlMmhoYzFCdWNHMGdKaVlnS0Z4dUlDQWdJQ0FnSUNBZ0lEeEpibk4wWVd4c1RHbHpkRWwwWlcxY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsY0dWdVpHVnVZM2xOWVc1aFoyVnlQWHRFWlhCbGJtUmxibU41VFdGdVlXZGxjaTVRVGxCTmZWeHVJQ0FnSUNBZ0lDQWdJQ0FnY0dGamEyRm5aVTVoYldVOWUzQmhZMnRoWjJWT1lXMWxmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NHRmphMkZuWlZabGNuTnBiMjQ5ZTNCaFkydGhaMlZOWlhSaExteGhkR1Z6ZEM1MlpYSnphVzl1ZlZ4dUlDQWdJQ0FnSUNBZ0lDOCtYRzRnSUNBZ0lDQWdJQ2w5WEc0Z0lDQWdJQ0E4TDB4cGMzUStYRzRnSUNBZ1BDOCtYRzRnSUNrZ09pQnVkV3hzTzF4dWZUdGNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdTVzV6ZEdGc2JEdGNiaUpkZlE9PSAqL1wiKTtcbnZhciBXcmFwcGVyID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJkaXZcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTF4ZzY5c2cwXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxeGc2OXNnMFwiLFxuXHRsYWJlbDogXCJXcmFwcGVyXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCJiY2ZmeTJcIixcblx0c3R5bGVzOiBcImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW5cIlxufSA6IHtcblx0bmFtZTogXCJiY2ZmeTJcIixcblx0c3R5bGVzOiBcImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW4vKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5SmJuTjBZV3hzTDBsdWMzUmhiR3d1ZEhONElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFXdENaMElpTENKbWFXeGxJam9pTDJodmJXVXZjblZ1Ym1WeUwzZHZjbXN2ZG1WeVpHRmpZMmx2TDNabGNtUmhZMk5wYnk5d1lXTnJZV2RsY3k5MWFTMWpiMjF3YjI1bGJuUnpMM055WXk5amIyMXdiMjVsYm5SekwwbHVjM1JoYkd3dlNXNXpkR0ZzYkM1MGMzZ2lMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdjM1I1YkdWa0lHWnliMjBnSjBCbGJXOTBhVzl1TDNOMGVXeGxaQ2M3WEc1cGJYQnZjblFnZXlCVWVYQnZaM0poY0doNUlIMGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQ2M3WEc1cGJYQnZjblFnVEdsemRDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMHhwYzNRbk8xeHVhVzF3YjNKMElGSmxZV04wSUdaeWIyMGdKM0psWVdOMEp6dGNibWx0Y0c5eWRDQjdJSFZ6WlZSeVlXNXpiR0YwYVc5dUlIMGdabkp2YlNBbmNtVmhZM1F0YVRFNGJtVjRkQ2M3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdWdGNHeGhkR1ZWU1U5d2RHbHZibk1nZlNCbWNtOXRJQ2RBZG1WeVpHRmpZMmx2TDNSNWNHVnpKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1TDFSb1pXMWxKenRjYm1sdGNHOXlkQ0IwZVhCbElIc2dVR0ZqYTJGblpVMWxkR0ZKYm5SbGNtWmhZMlVnZlNCbWNtOXRJQ2N1TGk4dUxpOTBlWEJsY3k5d1lXTnJZV2RsVFdWMFlTYzdYRzVwYlhCdmNuUWdleUJUWlhSMGFXNW5jMDFsYm5VZ2ZTQm1jbTl0SUNjdUxpOVRaWFIwYVc1bmMwMWxiblVuTzF4dWFXMXdiM0owSUVsdWMzUmhiR3hNYVhOMFNYUmxiU3dnZXlCRVpYQmxibVJsYm1ONVRXRnVZV2RsY2lCOUlHWnliMjBnSnk0dlNXNXpkR0ZzYkV4cGMzUkpkR1Z0Snp0Y2JseHVZMjl1YzNRZ1UzUjViR1ZrVkdWNGRDQTlJSE4wZVd4bFpDaFVlWEJ2WjNKaGNHaDVLVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hCeWIzQnpLU0E5UGlBb2UxeHVJQ0JtYjI1MFYyVnBaMmgwT2lCd2NtOXdjeTUwYUdWdFpTNW1iMjUwVjJWcFoyaDBMbUp2YkdRc1hHNGdJSFJsZUhSVWNtRnVjMlp2Y20wNklDZGpZWEJwZEdGc2FYcGxKeXhjYm4wcEtUdGNibHh1WTI5dWMzUWdWM0poY0hCbGNpQTlJSE4wZVd4bFpDZ25aR2wySnlrb2UxeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0JxZFhOMGFXWjVRMjl1ZEdWdWREb2dKM053WVdObExXSmxkSGRsWlc0bkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCMGVYQmxJRkJ5YjNCeklEMGdlMXh1SUNCd1lXTnJZV2RsVFdWMFlUb2dVR0ZqYTJGblpVMWxkR0ZKYm5SbGNtWmhZMlU3WEc0Z0lIQmhZMnRoWjJWT1lXMWxPaUJ6ZEhKcGJtYzdYRzRnSUdOdmJtWnBaMDl3ZEdsdmJuTTZJRlJsYlhCc1lYUmxWVWxQY0hScGIyNXpPMXh1ZlR0Y2JseHVZMjl1YzNRZ1NXNXpkR0ZzYkRvZ1VtVmhZM1F1UmtNOFVISnZjSE0rSUQwZ0tIc2djR0ZqYTJGblpVMWxkR0VzSUhCaFkydGhaMlZPWVcxbExDQmpiMjVtYVdkUGNIUnBiMjV6SUgwcElEMCtJSHRjYmlBZ1kyOXVjM1FnZXlCMElIMGdQU0IxYzJWVWNtRnVjMnhoZEdsdmJpZ3BPMXh1SUNCcFppQW9JWEJoWTJ0aFoyVk5aWFJoSUh4OElDRndZV05yWVdkbFRtRnRaU2tnZTF4dUlDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ1kyOXVjM1FnYUdGelRuQnRJRDBnWTI5dVptbG5UM0IwYVc5dWN6OHVjR3RuVFdGdVlXZGxjbk0vTG1sdVkyeDFaR1Z6S0NkdWNHMG5LVHRjYmlBZ1kyOXVjM1FnYUdGeldXRnliaUE5SUdOdmJtWnBaMDl3ZEdsdmJuTS9MbkJyWjAxaGJtRm5aWEp6UHk1cGJtTnNkV1JsY3lnbmVXRnliaWNwTzF4dUlDQmpiMjV6ZENCb1lYTlFibkJ0SUQwZ1kyOXVabWxuVDNCMGFXOXVjejh1Y0d0blRXRnVZV2RsY25NL0xtbHVZMngxWkdWektDZHdibkJ0SnlrZ1B6OGdkSEoxWlR0Y2JpQWdZMjl1YzNRZ2FHRnpVR3RuVFdGdVlXZGxjbk1nUFNCb1lYTk9jRzBnZkh3Z2FHRnpVRzV3YlNCOGZDQm9ZWE5aWVhKdU8xeHVYRzRnSUhKbGRIVnliaUJvWVhOUWEyZE5ZVzVoWjJWeWN5QS9JQ2hjYmlBZ0lDQThQbHh1SUNBZ0lDQWdQRXhwYzNSY2JpQWdJQ0FnSUNBZ1pHRjBZUzEwWlhOMGFXUTlleWRwYm5OMFlXeHNUR2x6ZENkOVhHNGdJQ0FnSUNBZ0lITjFZbWhsWVdSbGNqMTdYRzRnSUNBZ0lDQWdJQ0FnUEZkeVlYQndaWEkrWEc0Z0lDQWdJQ0FnSUNBZ0lDQThVM1I1YkdWa1ZHVjRkQ0IyWVhKcFlXNTBQWHNuYzNWaWRHbDBiR1V4SjMwK2UzUW9KM05wWkdWaVlYSXVhVzV6ZEdGc2JHRjBhVzl1TG5ScGRHeGxKeWw5UEM5VGRIbHNaV1JVWlhoMFBseHVJQ0FnSUNBZ0lDQWdJQ0FnUEZObGRIUnBibWR6VFdWdWRTQndZV05yWVdkbFRtRnRaVDE3Y0dGamEyRm5aVTVoYldWOUlDOCtYRzRnSUNBZ0lDQWdJQ0FnUEM5WGNtRndjR1Z5UGx4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBK1hHNGdJQ0FnSUNBZ0lIdG9ZWE5PY0cwZ0ppWWdLRnh1SUNBZ0lDQWdJQ0FnSUR4SmJuTjBZV3hzVEdsemRFbDBaVzFjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjR1Z1WkdWdVkzbE5ZVzVoWjJWeVBYdEVaWEJsYm1SbGJtTjVUV0Z1WVdkbGNpNU9VRTE5WEc0Z0lDQWdJQ0FnSUNBZ0lDQndZV05yWVdkbFRtRnRaVDE3Y0dGamEyRm5aVTVoYldWOVhHNGdJQ0FnSUNBZ0lDQWdJQ0J3WVdOcllXZGxWbVZ5YzJsdmJqMTdjR0ZqYTJGblpVMWxkR0V1YkdGMFpYTjBMblpsY25OcGIyNTlYRzRnSUNBZ0lDQWdJQ0FnTHo1Y2JpQWdJQ0FnSUNBZ0tYMWNiaUFnSUNBZ0lDQWdlMmhoYzFsaGNtNGdKaVlnS0Z4dUlDQWdJQ0FnSUNBZ0lEeEpibk4wWVd4c1RHbHpkRWwwWlcxY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsY0dWdVpHVnVZM2xOWVc1aFoyVnlQWHRFWlhCbGJtUmxibU41VFdGdVlXZGxjaTVaUVZKT2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnY0dGamEyRm5aVTVoYldVOWUzQmhZMnRoWjJWT1lXMWxmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NHRmphMkZuWlZabGNuTnBiMjQ5ZTNCaFkydGhaMlZOWlhSaExteGhkR1Z6ZEM1MlpYSnphVzl1ZlZ4dUlDQWdJQ0FnSUNBZ0lDOCtYRzRnSUNBZ0lDQWdJQ2w5WEc0Z0lDQWdJQ0FnSUh0b1lYTlFibkJ0SUNZbUlDaGNiaUFnSUNBZ0lDQWdJQ0E4U1c1emRHRnNiRXhwYzNSSmRHVnRYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYQmxibVJsYm1ONVRXRnVZV2RsY2oxN1JHVndaVzVrWlc1amVVMWhibUZuWlhJdVVFNVFUWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lIQmhZMnRoWjJWT1lXMWxQWHR3WVdOcllXZGxUbUZ0WlgxY2JpQWdJQ0FnSUNBZ0lDQWdJSEJoWTJ0aFoyVldaWEp6YVc5dVBYdHdZV05yWVdkbFRXVjBZUzVzWVhSbGMzUXVkbVZ5YzJsdmJuMWNiaUFnSUNBZ0lDQWdJQ0F2UGx4dUlDQWdJQ0FnSUNBcGZWeHVJQ0FnSUNBZ1BDOU1hWE4wUGx4dUlDQWdJRHd2UGx4dUlDQXBJRG9nYm5Wc2JEdGNibjA3WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUVsdWMzUmhiR3c3WEc0aVhYMD0gKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBJbnN0YWxsID0gKHsgcGFja2FnZU1ldGEsIHBhY2thZ2VOYW1lLCBjb25maWdPcHRpb25zIH0pID0+IHtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRpZiAoIXBhY2thZ2VNZXRhIHx8ICFwYWNrYWdlTmFtZSkgcmV0dXJuIG51bGw7XG5cdGNvbnN0IGhhc05wbSA9IGNvbmZpZ09wdGlvbnM/LnBrZ01hbmFnZXJzPy5pbmNsdWRlcyhcIm5wbVwiKTtcblx0Y29uc3QgaGFzWWFybiA9IGNvbmZpZ09wdGlvbnM/LnBrZ01hbmFnZXJzPy5pbmNsdWRlcyhcInlhcm5cIik7XG5cdGNvbnN0IGhhc1BucG0gPSBjb25maWdPcHRpb25zPy5wa2dNYW5hZ2Vycz8uaW5jbHVkZXMoXCJwbnBtXCIpID8/IHRydWU7XG5cdHJldHVybiBoYXNOcG0gfHwgaGFzUG5wbSB8fCBoYXNZYXJuID8gLyogQF9fUFVSRV9fICovIGpzeChGcmFnbWVudCwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeHMoTGlzdCwge1xuXHRcdFwiZGF0YS10ZXN0aWRcIjogXCJpbnN0YWxsTGlzdFwiLFxuXHRcdHN1YmhlYWRlcjogLyogQF9fUFVSRV9fICovIGpzeHMoV3JhcHBlciwgeyBjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goU3R5bGVkVGV4dCwge1xuXHRcdFx0dmFyaWFudDogXCJzdWJ0aXRsZTFcIixcblx0XHRcdGNoaWxkcmVuOiB0KFwic2lkZWJhci5pbnN0YWxsYXRpb24udGl0bGVcIilcblx0XHR9KSwgLyogQF9fUFVSRV9fICovIGpzeChTZXR0aW5nc01lbnUsIHsgcGFja2FnZU5hbWUgfSldIH0pLFxuXHRcdGNoaWxkcmVuOiBbXG5cdFx0XHRoYXNOcG0gJiYgLyogQF9fUFVSRV9fICovIGpzeChJbnN0YWxsTGlzdEl0ZW0sIHtcblx0XHRcdFx0ZGVwZW5kZW5jeU1hbmFnZXI6IERlcGVuZGVuY3lNYW5hZ2VyLk5QTSxcblx0XHRcdFx0cGFja2FnZU5hbWUsXG5cdFx0XHRcdHBhY2thZ2VWZXJzaW9uOiBwYWNrYWdlTWV0YS5sYXRlc3QudmVyc2lvblxuXHRcdFx0fSksXG5cdFx0XHRoYXNZYXJuICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goSW5zdGFsbExpc3RJdGVtLCB7XG5cdFx0XHRcdGRlcGVuZGVuY3lNYW5hZ2VyOiBEZXBlbmRlbmN5TWFuYWdlci5ZQVJOLFxuXHRcdFx0XHRwYWNrYWdlTmFtZSxcblx0XHRcdFx0cGFja2FnZVZlcnNpb246IHBhY2thZ2VNZXRhLmxhdGVzdC52ZXJzaW9uXG5cdFx0XHR9KSxcblx0XHRcdGhhc1BucG0gJiYgLyogQF9fUFVSRV9fICovIGpzeChJbnN0YWxsTGlzdEl0ZW0sIHtcblx0XHRcdFx0ZGVwZW5kZW5jeU1hbmFnZXI6IERlcGVuZGVuY3lNYW5hZ2VyLlBOUE0sXG5cdFx0XHRcdHBhY2thZ2VOYW1lLFxuXHRcdFx0XHRwYWNrYWdlVmVyc2lvbjogcGFja2FnZU1ldGEubGF0ZXN0LnZlcnNpb25cblx0XHRcdH0pXG5cdFx0XVxuXHR9KSB9KSA6IG51bGw7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBJbnN0YWxsIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9SW5zdGFsbC5tanMubWFwIiwiaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IExpc3RJdGVtIGZyb20gXCJAbXVpL21hdGVyaWFsL0xpc3RJdGVtXCI7XG5pbXBvcnQgQ2hpcCBmcm9tIFwiQG11aS9tYXRlcmlhbC9DaGlwXCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvS2V5d29yZHMvS2V5d29yZExpc3RJdGVtcy50c3hcbnZhciBLZXl3b3JkTGlzdEl0ZW1zID0gKHsga2V5d29yZHMgfSkgPT4ge1xuXHRjb25zdCBrZXl3b3JkTGlzdCA9IHR5cGVvZiBrZXl3b3JkcyA9PT0gXCJzdHJpbmdcIiA/IGtleXdvcmRzLnJlcGxhY2UoLywvZywgXCIgXCIpLnNwbGl0KFwiIFwiKSA6IGtleXdvcmRzO1xuXHRpZiAoIWtleXdvcmRMaXN0KSByZXR1cm4gbnVsbDtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goTGlzdEl0ZW0sIHtcblx0XHRzeDoge1xuXHRcdFx0cHg6IDAsXG5cdFx0XHRtdDogMCxcblx0XHRcdGZsZXhXcmFwOiBcIndyYXBcIlxuXHRcdH0sXG5cdFx0Y2hpbGRyZW46IGtleXdvcmRMaXN0LnNvcnQoKS5tYXAoKGtleXdvcmQsIGluZGV4KSA9PiAvKiBAX19QVVJFX18gKi8ganN4KENoaXAsIHtcblx0XHRcdGxhYmVsOiBrZXl3b3JkLFxuXHRcdFx0c2l6ZTogXCJzbWFsbFwiLFxuXHRcdFx0c3g6IHtcblx0XHRcdFx0bXQ6IC41LFxuXHRcdFx0XHRtcjogLjVcblx0XHRcdH1cblx0XHR9LCBpbmRleCkpXG5cdH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgS2V5d29yZExpc3RJdGVtcyBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUtleXdvcmRMaXN0SXRlbXMubWpzLm1hcCIsImltcG9ydCBLZXl3b3JkTGlzdEl0ZW1zIGZyb20gXCIuL0tleXdvcmRMaXN0SXRlbXMubWpzXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IExpc3QgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvTGlzdFwiO1xuaW1wb3J0IFR5cG9ncmFwaHkgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvVHlwb2dyYXBoeVwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0tleXdvcmRzL0tleXdvcmRzLnRzeFxudmFyIEtleXdvcmRzID0gKHsgcGFja2FnZU1ldGEgfSkgPT4ge1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblx0aWYgKCFwYWNrYWdlTWV0YT8ubGF0ZXN0Py5rZXl3b3JkcykgcmV0dXJuIG51bGw7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KExpc3QsIHtcblx0XHRcImRhdGEtdGVzdGlkXCI6IFwia2V5d29yZC1saXN0XCIsXG5cdFx0c3ViaGVhZGVyOiAvKiBAX19QVVJFX18gKi8ganN4KFR5cG9ncmFwaHksIHtcblx0XHRcdHN4OiB7XG5cdFx0XHRcdGZvbnRXZWlnaHQ6IHRoZW1lLmZvbnRXZWlnaHQuYm9sZCxcblx0XHRcdFx0dGV4dFRyYW5zZm9ybTogXCJjYXBpdGFsaXplXCJcblx0XHRcdH0sXG5cdFx0XHR2YXJpYW50OiBcInN1YnRpdGxlMVwiLFxuXHRcdFx0Y2hpbGRyZW46IHQoXCJzaWRlYmFyLmtleXdvcmRzLnRpdGxlXCIpXG5cdFx0fSksXG5cdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goS2V5d29yZExpc3RJdGVtcywgeyBrZXl3b3JkczogcGFja2FnZU1ldGE/LmxhdGVzdD8ua2V5d29yZHMgfSlcblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBLZXl3b3JkcyBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUtleXdvcmRzLm1qcy5tYXAiLCJpbXBvcnQgRE9NUHVyaWZ5IGZyb20gXCJkb21wdXJpZnlcIjtcbmltcG9ydCBobGpzIGZyb20gXCJoaWdobGlnaHQuanNcIjtcbmltcG9ydCB7IE1hcmtlZCB9IGZyb20gXCJtYXJrZWRcIjtcbmltcG9ydCB7IG1hcmtlZEhpZ2hsaWdodCB9IGZyb20gXCJtYXJrZWQtaGlnaGxpZ2h0XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvUmVhZG1lL3V0aWxzLnRzXG52YXIgbWFya2VkID0gbmV3IE1hcmtlZChtYXJrZWRIaWdobGlnaHQoe1xuXHRhc3luYzogZmFsc2UsXG5cdGhpZ2hsaWdodChjb2RlLCBsYW5nKSB7XG5cdFx0Y29uc3QgbGFuZ3VhZ2UgPSBobGpzLmdldExhbmd1YWdlKGxhbmcpID8gbGFuZyA6IFwicGxhaW50ZXh0XCI7XG5cdFx0cmV0dXJuIGhsanMuaGlnaGxpZ2h0KGNvZGUsIHsgbGFuZ3VhZ2UgfSkudmFsdWU7XG5cdH1cbn0pKTtcbm1hcmtlZC5zZXRPcHRpb25zKHtcblx0cmVuZGVyZXI6IG5ldyBtYXJrZWQuUmVuZGVyZXIoKSxcblx0cGVkYW50aWM6IGZhbHNlLFxuXHRnZm06IHRydWUsXG5cdGJyZWFrczogZmFsc2Vcbn0pO1xuZnVuY3Rpb24gcGFyc2VSZWFkbWUocmVhZG1lKSB7XG5cdGNvbnN0IGh0bWwgPSBtYXJrZWQucGFyc2UocmVhZG1lKTtcblx0cmV0dXJuIERPTVB1cmlmeS5zYW5pdGl6ZShodG1sKTtcbn1cbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgcGFyc2VSZWFkbWUgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXRpbHMubWpzLm1hcCIsImltcG9ydCB7IGJhc2VDb2xvcnMgfSBmcm9tIFwiLi9jb2xvcnMubWpzXCI7XG5pbXBvcnQgeyBjb21tb24gfSBmcm9tIFwiQG11aS9tYXRlcmlhbC9jb2xvcnNcIjtcbi8vI3JlZ2lvbiBzcmMvVGhlbWUvbW9kZXMudHNcbnZhciBEQVJLX01PREVfUFJJTUFSWSA9IGNvbW1vbi53aGl0ZTtcbnZhciBnZXRNb2RlUGFsZXR0ZSA9IChtb2RlLCBwcmltYXJ5Q29sb3IpID0+IHtcblx0Y29uc3QgYmFzZVByaW1hcnkgPSBwcmltYXJ5Q29sb3IgfHwgYmFzZUNvbG9ycy5wcmltYXJ5Lm1haW47XG5cdGNvbnN0IHByaW1hcnkgPSBtb2RlID09PSBcImRhcmtcIiA/IHsgbWFpbjogREFSS19NT0RFX1BSSU1BUlkgfSA6IHsgbWFpbjogYmFzZVByaW1hcnkgfTtcblx0aWYgKG1vZGUgPT09IFwiZGFya1wiKSByZXR1cm4ge1xuXHRcdG1vZGUsXG5cdFx0cHJpbWFyeSxcblx0XHRzZWNvbmRhcnk6IHsgbWFpbjogXCIjNDI0MjQyXCIgfSxcblx0XHRiYWNrZ3JvdW5kOiB7XG5cdFx0XHRkZWZhdWx0OiBcIiMxYTIwMmNcIixcblx0XHRcdHBhcGVyOiBcIiMyZDM3NDhcIlxuXHRcdH1cblx0fTtcblx0cmV0dXJuIHtcblx0XHRtb2RlLFxuXHRcdHByaW1hcnksXG5cdFx0c2Vjb25kYXJ5OiBiYXNlQ29sb3JzLnNlY29uZGFyeSxcblx0XHRiYWNrZ3JvdW5kOiB7XG5cdFx0XHRkZWZhdWx0OiBcIiNmNGY0ZjRcIixcblx0XHRcdHBhcGVyOiBcIiNmZmZmZmZcIlxuXHRcdH1cblx0fTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IGdldE1vZGVQYWxldHRlIH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1vZGVzLm1qcy5tYXAiLCIvLyNyZWdpb24gc3JjL1RoZW1lL3Rva2Vucy50c1xudmFyIGZvbnRTaXplID0ge1xuXHR4eGw6IDI2LFxuXHR4bDogMjQsXG5cdGxnOiAyMSxcblx0bWQ6IDE4LFxuXHRkZWZhdWx0OiAxNixcblx0c206IDE0LFxuXHRzc206IDEyXG59O1xudmFyIGZvbnRXZWlnaHQgPSB7XG5cdGxpZ2h0OiAzMDAsXG5cdHJlZ3VsYXI6IDQwMCxcblx0c2VtaUJvbGQ6IDUwMCxcblx0Ym9sZDogNzAwXG59O1xudmFyIGJyZWFrUG9pbnRzID0ge1xuXHR4c21hbGw6IDQwMCxcblx0c21hbGw6IDU3Nixcblx0bWVkaXVtOiA3NjgsXG5cdGxhcmdlOiAxMDI0LFxuXHRjb250YWluZXI6IDEyNDAsXG5cdHhsYXJnZTogMTI3NVxufTtcbnZhciBjdXN0b21pemVkVGhlbWUgPSB7XG5cdGZvbnRTaXplLFxuXHRmb250V2VpZ2h0LFxuXHRicmVha1BvaW50c1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgYnJlYWtQb2ludHMsIGN1c3RvbWl6ZWRUaGVtZSwgZm9udFNpemUsIGZvbnRXZWlnaHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dG9rZW5zLm1qcy5tYXAiLCJpbXBvcnQgeyBnZXRNb2RlUGFsZXR0ZSB9IGZyb20gXCIuL21vZGVzLm1qc1wiO1xuaW1wb3J0IHsgY3VzdG9taXplZFRoZW1lIH0gZnJvbSBcIi4vdG9rZW5zLm1qc1wiO1xuaW1wb3J0IHsgY3JlYXRlVGhlbWUgfSBmcm9tIFwiQG11aS9tYXRlcmlhbC9zdHlsZXNcIjtcbi8vI3JlZ2lvbiBzcmMvVGhlbWUvdGhlbWUudHNcbnZhciBnZXRUaGVtZSA9IChtb2RlLCBwcmltYXJ5Q29sb3IpID0+IHtcblx0cmV0dXJuIGNyZWF0ZVRoZW1lKHtcblx0XHRwYWxldHRlOiBnZXRNb2RlUGFsZXR0ZShtb2RlLCBwcmltYXJ5Q29sb3IpLFxuXHRcdHR5cG9ncmFwaHk6IHsgZm9udEZhbWlseTogW1xuXHRcdFx0XCItYXBwbGUtc3lzdGVtXCIsXG5cdFx0XHRcIkJsaW5rTWFjU3lzdGVtRm9udFwiLFxuXHRcdFx0XCJcXFwiSGVsdmV0aWNhIE5ldWVcXFwiXCIsXG5cdFx0XHRcIkFyaWFsXCIsXG5cdFx0XHRcInNhbnMtc2VyaWZcIlxuXHRcdF0uam9pbihcIixcIikgfSxcblx0XHRjb21wb25lbnRzOiB7IE11aVBhcGVyOiB7IHN0eWxlT3ZlcnJpZGVzOiB7IHJvb3Q6IHsgYmFja2dyb3VuZEltYWdlOiBcInVuc2V0XCIgfSB9IH0gfSxcblx0XHQuLi5jdXN0b21pemVkVGhlbWVcblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBnZXRUaGVtZSB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD10aGVtZS5tanMubWFwIiwiaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSBcIi4uL3Byb3ZpZGVycy9BcHBDb25maWd1cmF0aW9uUHJvdmlkZXIvQXBwQ29uZmlndXJhdGlvblByb3ZpZGVyLm1qc1wiO1xuaW1wb3J0IFwiLi4vcHJvdmlkZXJzL0FwcENvbmZpZ3VyYXRpb25Qcm92aWRlci9pbmRleC5tanNcIjtcbmltcG9ydCB1c2VMb2NhbFN0b3JhZ2UgZnJvbSBcIi4uL2hvb2tzL3VzZUxvY2FsU3RvcmFnZS5tanNcIjtcbmltcG9ydCB7IGdldFRoZW1lIH0gZnJvbSBcIi4vdGhlbWUubWpzXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHQsIHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFN0eWxlZEVuZ2luZVByb3ZpZGVyLCBUaGVtZVByb3ZpZGVyIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvc3R5bGVzXCI7XG4vLyNyZWdpb24gc3JjL1RoZW1lL1RoZW1lUHJvdmlkZXIudHN4XG52YXIgVGhlbWVDb250ZXh0ID0gY3JlYXRlQ29udGV4dCh2b2lkIDApO1xuZnVuY3Rpb24gZ2V0RGFya01vZGVEZWZhdWx0KGRhcmtNb2RlQ29uZmlnKSB7XG5cdGNvbnN0IHByZWZlcnNEYXJrTW9kZSA9IHdpbmRvdy5tYXRjaE1lZGlhPy4oXCIocHJlZmVycy1jb2xvci1zY2hlbWU6ZGFyaylcIikubWF0Y2hlcztcblx0aWYgKHR5cGVvZiBkYXJrTW9kZUNvbmZpZyA9PT0gXCJib29sZWFuXCIpIHJldHVybiBkYXJrTW9kZUNvbmZpZztcblx0ZWxzZSByZXR1cm4gcHJlZmVyc0RhcmtNb2RlO1xufVxudmFyIFRoZW1lUHJvdmlkZXIkMSA9ICh7IGNoaWxkcmVuIH0pID0+IHtcblx0Y29uc3QgeyBjb25maWdPcHRpb25zIH0gPSB1c2VDb25maWcoKTtcblx0Y29uc3QgaXNEYXJrTW9kZURlZmF1bHQgPSBnZXREYXJrTW9kZURlZmF1bHQoY29uZmlnT3B0aW9ucy5kYXJrTW9kZSk7XG5cdGNvbnN0IGlzU3dpdGNoVGhlbWVFbmFibGVkID0gY29uZmlnT3B0aW9ucy5zaG93VGhlbWVTd2l0Y2g7XG5cdGNvbnN0IFtpc0RhcmtNb2RlU3RvcmFnZSwgc2V0SXNEYXJrTW9kZV0gPSB1c2VMb2NhbFN0b3JhZ2UoXCJkYXJrTW9kZVwiLCBpc0RhcmtNb2RlRGVmYXVsdCk7XG5cdGNvbnN0IGlzRGFya01vZGUgPSBpc1N3aXRjaFRoZW1lRW5hYmxlZCA9PT0gdHJ1ZSA/IGlzRGFya01vZGVTdG9yYWdlIDogaXNEYXJrTW9kZURlZmF1bHQ7XG5cdGNvbnN0IGN1cnJlbnRUaGVtZSA9IGdldFRoZW1lKGlzRGFya01vZGUgPyBcImRhcmtcIiA6IFwibGlnaHRcIiwgY29uZmlnT3B0aW9ucy5wcmltYXJ5Q29sb3IpO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChUaGVtZUNvbnRleHQuUHJvdmlkZXIsIHtcblx0XHR2YWx1ZToge1xuXHRcdFx0aXNEYXJrTW9kZSxcblx0XHRcdHNldElzRGFya01vZGVcblx0XHR9LFxuXHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFN0eWxlZEVuZ2luZVByb3ZpZGVyLCB7XG5cdFx0XHRpbmplY3RGaXJzdDogdHJ1ZSxcblx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFRoZW1lUHJvdmlkZXIsIHtcblx0XHRcdFx0dGhlbWU6IGN1cnJlbnRUaGVtZSxcblx0XHRcdFx0Y2hpbGRyZW5cblx0XHRcdH0pXG5cdFx0fSlcblx0fSk7XG59O1xudmFyIHVzZUN1c3RvbVRoZW1lID0gKCkgPT4gdXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBUaGVtZVByb3ZpZGVyJDEgYXMgVGhlbWVQcm92aWRlciwgdXNlQ3VzdG9tVGhlbWUgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9VGhlbWVQcm92aWRlci5tanMubWFwIiwiLyogZW1wdHkgY3NzICAgICAgICAgICAgICAgICAqL1xuaW1wb3J0IHsgcGFyc2VSZWFkbWUgfSBmcm9tIFwiLi91dGlscy5tanNcIjtcbmltcG9ydCB7IHVzZUN1c3RvbVRoZW1lIH0gZnJvbSBcIi4uLy4uL1RoZW1lL1RoZW1lUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9pbmRleC5tanNcIjtcbmltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IEJveCBmcm9tIFwiQG11aS9tYXRlcmlhbC9Cb3hcIjtcbmltcG9ydCBDYXJkIGZyb20gXCJAbXVpL21hdGVyaWFsL0NhcmRcIjtcbmltcG9ydCBDYXJkQ29udGVudCBmcm9tIFwiQG11aS9tYXRlcmlhbC9DYXJkQ29udGVudFwiO1xuaW1wb3J0IFwiaGlnaGxpZ2h0LmpzL3N0eWxlcy9naXRodWItZGFyay5jc3NcIjtcbmltcG9ydCBcImhpZ2hsaWdodC5qcy9zdHlsZXMvZ2l0aHViLmNzc1wiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL1JlYWRtZS9SZWFkbWUudHN4XG5mdW5jdGlvbiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXygpIHtcblx0cmV0dXJuIFwiWW91IGhhdmUgdHJpZWQgdG8gc3RyaW5naWZ5IG9iamVjdCByZXR1cm5lZCBmcm9tIGBjc3NgIGZ1bmN0aW9uLiBJdCBpc24ndCBzdXBwb3NlZCB0byBiZSB1c2VkIGRpcmVjdGx5IChlLmcuIGFzIHZhbHVlIG9mIHRoZSBgY2xhc3NOYW1lYCBwcm9wKSwgYnV0IHJhdGhlciBoYW5kZWQgdG8gZW1vdGlvbiBzbyBpdCBjYW4gaGFuZGxlIGl0IChlLmcuIGFzIHZhbHVlIG9mIGBjc3NgIHByb3ApLlwiO1xufVxudmFyIFJlYWRtZSA9ICh7IGRlc2NyaXB0aW9uIH0pID0+IHtcblx0Y29uc3QgeyBpc0RhcmtNb2RlIH0gPSB1c2VDdXN0b21UaGVtZSgpO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChDYXJkLCB7XG5cdFx0c3g6IHsgbWI6IDIgfSxcblx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChDYXJkQ29udGVudCwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChCb3gsIHtcblx0XHRcdFwiZGF0YS10ZXN0aWRcIjogXCJyZWFkbWVcIixcblx0XHRcdHN4OiB7IG06IDIgfSxcblx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFdyYXBwZXIsIHtcblx0XHRcdFx0Y2xhc3NOYW1lOiBgbWFya2Rvd24tYm9keSAke2lzRGFya01vZGUgPyBcIm1hcmtkb3duLWRhcmtcIiA6IFwibWFya2Rvd24tbGlnaHRcIn1gLFxuXHRcdFx0XHRkYW5nZXJvdXNseVNldElubmVySFRNTDogeyBfX2h0bWw6IHBhcnNlUmVhZG1lKGRlc2NyaXB0aW9uKSB9XG5cdFx0XHR9KVxuXHRcdH0pIH0pXG5cdH0pO1xufTtcbnZhciBXcmFwcGVyID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJkaXZcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTFnYW81NHUwXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxZ2FvNTR1MFwiLFxuXHRsYWJlbDogXCJXcmFwcGVyXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCJ6MGVicTRcIixcblx0c3R5bGVzOiBcInVse2xpc3Qtc3R5bGU6ZGlzYzt9aW1ne21heC13aWR0aDoxMDAlO31cIlxufSA6IHtcblx0bmFtZTogXCJ6MGVicTRcIixcblx0c3R5bGVzOiBcInVse2xpc3Qtc3R5bGU6ZGlzYzt9aW1ne21heC13aWR0aDoxMDAlO30vKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5U1pXRmtiV1V2VW1WaFpHMWxMblJ6ZUNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGblEyZENJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5U1pXRmtiV1V2VW1WaFpHMWxMblJ6ZUNJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQkNiM2dnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5Q2IzZ25PMXh1YVcxd2IzSjBJRU5oY21RZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOURZWEprSnp0Y2JtbHRjRzl5ZENCRFlYSmtRMjl1ZEdWdWRDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMME5oY21SRGIyNTBaVzUwSnp0Y2JtbHRjRzl5ZENBbmFHbG5hR3hwWjJoMExtcHpMM04wZVd4bGN5OW5hWFJvZFdJdFpHRnlheTVqYzNNbk8xeHVhVzF3YjNKMElDZG9hV2RvYkdsbmFIUXVhbk12YzNSNWJHVnpMMmRwZEdoMVlpNWpjM01uTzF4dWFXMXdiM0owSUZKbFlXTjBJR1p5YjIwZ0ozSmxZV04wSnp0Y2JseHVhVzF3YjNKMElIc2dkWE5sUTNWemRHOXRWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaThuTzF4dWFXMXdiM0owSUNjdUwyZHBkR2gxWWkxdFlYSnJaRzkzYmk1amMzTW5PMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QlFjbTl3Y3lCOUlHWnliMjBnSnk0dmRIbHdaWE1uTzF4dWFXMXdiM0owSUhzZ2NHRnljMlZTWldGa2JXVWdmU0JtY205dElDY3VMM1YwYVd4ekp6dGNibHh1WTI5dWMzUWdVbVZoWkcxbE9pQlNaV0ZqZEM1R1F6eFFjbTl3Y3o0Z1BTQW9leUJrWlhOamNtbHdkR2x2YmlCOUtTQTlQaUI3WEc0Z0lDOHZJRUIwY3kxcFoyNXZjbVZjYmlBZ1kyOXVjM1FnZXlCcGMwUmhjbXROYjJSbElIMGdQU0IxYzJWRGRYTjBiMjFVYUdWdFpTZ3BPMXh1WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEVOaGNtUWdjM2c5ZTNzZ2JXSTZJRElnZlgwK1hHNGdJQ0FnSUNBOFEyRnlaRU52Ym5SbGJuUStYRzRnSUNBZ0lDQWdJRHhDYjNnZ1pHRjBZUzEwWlhOMGFXUTlYQ0p5WldGa2JXVmNJaUJ6ZUQxN2V5QnRPaUF5SUgxOVBseHVJQ0FnSUNBZ0lDQWdJRHhYY21Gd2NHVnlYRzRnSUNBZ0lDQWdJQ0FnSUNCamJHRnpjMDVoYldVOWUyQnRZWEpyWkc5M2JpMWliMlI1SUNSN2FYTkVZWEpyVFc5a1pTQS9JQ2R0WVhKclpHOTNiaTFrWVhKckp5QTZJQ2R0WVhKclpHOTNiaTFzYVdkb2RDZDlZSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmhibWRsY205MWMyeDVVMlYwU1c1dVpYSklWRTFNUFh0N0lGOWZhSFJ0YkRvZ2NHRnljMlZTWldGa2JXVW9aR1Z6WTNKcGNIUnBiMjRwSUdGeklITjBjbWx1WnlCOWZWeHVJQ0FnSUNBZ0lDQWdJQzgrWEc0Z0lDQWdJQ0FnSUR3dlFtOTRQbHh1SUNBZ0lDQWdQQzlEWVhKa1EyOXVkR1Z1ZEQ1Y2JpQWdJQ0E4TDBOaGNtUStYRzRnSUNrN1hHNTlPMXh1Wlhod2IzSjBJR1JsWm1GMWJIUWdVbVZoWkcxbE8xeHVYRzVqYjI1emRDQlhjbUZ3Y0dWeUlEMGdjM1I1YkdWa0tDZGthWFluS1NoN1hHNGdJSFZzT2lCN1hHNGdJQ0FnYkdsemRGTjBlV3hsT2lBblpHbHpZeWNzWEc0Z0lIMHNYRzRnSUdsdFp6b2dlMXh1SUNBZ0lHMWhlRmRwWkhSb09pQW5NVEF3SlNjc1hHNGdJSDBzWEc1OUtUdGNiaUpkZlE9PSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBSZWFkbWUgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1SZWFkbWUubWpzLm1hcCIsImltcG9ydCBkYXlqcyBmcm9tIFwiZGF5anNcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9TaWRlQmFyVGl0bGUvdXRpbHMudHNcbnZhciBUSU1FRk9STUFUID0gXCJMIExUU1wiO1xuZnVuY3Rpb24gZm9ybWF0RGF0ZShsYXN0VXBkYXRlKSB7XG5cdHJldHVybiBkYXlqcyhuZXcgRGF0ZShsYXN0VXBkYXRlKSkuZm9ybWF0KFRJTUVGT1JNQVQpO1xufVxuZnVuY3Rpb24gZm9ybWF0RGF0ZURpc3RhbmNlKGxhc3RVcGRhdGUpIHtcblx0cmV0dXJuIGRheWpzKG5ldyBEYXRlKGxhc3RVcGRhdGUpKS5mcm9tTm93KCk7XG59XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IGZvcm1hdERhdGUsIGZvcm1hdERhdGVEaXN0YW5jZSB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5tanMubWFwIiwiaW1wb3J0IHsgVHlwZVNjcmlwdCB9IGZyb20gXCIuLi9JY29ucy9EZXZzSWNvbnMvVHlwZVNjcmlwdDIubWpzXCI7XG5pbXBvcnQgeyBDb21tb25KUyB9IGZyb20gXCIuLi9JY29ucy9EZXZzSWNvbnMvQ29tbW9uSlMyLm1qc1wiO1xuaW1wb3J0IHsgRVM2TW9kdWxlcyB9IGZyb20gXCIuLi9JY29ucy9EZXZzSWNvbnMvRVM2TW9kdWxlMi5tanNcIjtcbmltcG9ydCBcIi4uL0ljb25zL2luZGV4Lm1qc1wiO1xuaW1wb3J0IEhlYWRpbmcgZnJvbSBcIi4uL0hlYWRpbmcvSGVhZGluZy5tanNcIjtcbmltcG9ydCBcIi4uL0hlYWRpbmcvaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBmb3JtYXREYXRlLCBmb3JtYXREYXRlRGlzdGFuY2UgfSBmcm9tIFwiLi91dGlscy5tanNcIjtcbmltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsgRnJhZ21lbnQsIGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCBCb3ggZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQm94XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvU2lkZUJhclRpdGxlL1NpZGVCYXJUaXRsZS50c3hcbmZ1bmN0aW9uIF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fKCkge1xuXHRyZXR1cm4gXCJZb3UgaGF2ZSB0cmllZCB0byBzdHJpbmdpZnkgb2JqZWN0IHJldHVybmVkIGZyb20gYGNzc2AgZnVuY3Rpb24uIEl0IGlzbid0IHN1cHBvc2VkIHRvIGJlIHVzZWQgZGlyZWN0bHkgKGUuZy4gYXMgdmFsdWUgb2YgdGhlIGBjbGFzc05hbWVgIHByb3ApLCBidXQgcmF0aGVyIGhhbmRlZCB0byBlbW90aW9uIHNvIGl0IGNhbiBoYW5kbGUgaXQgKGUuZy4gYXMgdmFsdWUgb2YgYGNzc2AgcHJvcCkuXCI7XG59XG52YXIgSWNvbiA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwiZGl2XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxM25jNjZ1M1wiIH0gOiB7XG5cdHRhcmdldDogXCJlMTNuYzY2dTNcIixcblx0bGFiZWw6IFwiSWNvblwiXG59KSgoeyB0aGVtZSB9KSA9PiAoeyBtYXJnaW5MZWZ0OiB0aGVtZS5zcGFjaW5nKDEpIH0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5VGFXUmxRbUZ5VkdsMGJHVXZVMmxrWlVKaGNsUnBkR3hsTG5SemVDSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRnpRbUVpTENKbWFXeGxJam9pTDJodmJXVXZjblZ1Ym1WeUwzZHZjbXN2ZG1WeVpHRmpZMmx2TDNabGNtUmhZMk5wYnk5d1lXTnJZV2RsY3k5MWFTMWpiMjF3YjI1bGJuUnpMM055WXk5amIyMXdiMjVsYm5SekwxTnBaR1ZDWVhKVWFYUnNaUzlUYVdSbFFtRnlWR2wwYkdVdWRITjRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSE4wZVd4bFpDQm1jbTl0SUNkQVpXMXZkR2x2Ymk5emRIbHNaV1FuTzF4dWFXMXdiM0owSUVKdmVDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMEp2ZUNjN1hHNXBiWEJ2Y25RZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHVhVzF3YjNKMElIc2dkWE5sVkhKaGJuTnNZWFJwYjI0Z2ZTQm1jbTl0SUNkeVpXRmpkQzFwTVRodVpYaDBKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1TDFSb1pXMWxKenRjYm1sdGNHOXlkQ0JJWldGa2FXNW5JR1p5YjIwZ0p5NHVMMGhsWVdScGJtY25PMXh1YVcxd2IzSjBJSHNnUTI5dGJXOXVTbE1zSUVWVE5rMXZaSFZzWlhNc0lGUjVjR1ZUWTNKcGNIUWdmU0JtY205dElDY3VMaTlKWTI5dWN5YzdYRzVwYlhCdmNuUWdleUJtYjNKdFlYUkVZWFJsTENCbWIzSnRZWFJFWVhSbFJHbHpkR0Z1WTJVZ2ZTQm1jbTl0SUNjdUwzVjBhV3h6Snp0Y2JseHVaWGh3YjNKMElIUjVjR1VnVFc5a2RXeGxWSGx3WlNBOUlDZGpiMjF0YjI1cWN5Y2dmQ0FuYlc5a2RXeGxKenRjYmx4dWFXNTBaWEptWVdObElGQnliM0J6SUh0Y2JpQWdjR0ZqYTJGblpVNWhiV1U2SUhOMGNtbHVaenRjYmlBZ1pHVnpZM0pwY0hScGIyNC9PaUJ6ZEhKcGJtYzdYRzRnSUhabGNuTnBiMjQ2SUhOMGNtbHVaenRjYmlBZ2FYTk1ZWFJsYzNRNklHSnZiMnhsWVc0N1hHNGdJR2hoYzFSNWNHVnpQem9nWW05dmJHVmhianRjYmlBZ2JXOWtkV3hsVkhsd1pYTTZJRTF2WkhWc1pWUjVjR1ZiWFR0Y2JpQWdkR2x0WlRvZ2MzUnlhVzVuTzF4dWZWeHVYRzVqYjI1emRDQkpZMjl1SUQwZ2MzUjViR1ZrTG1ScGRqeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LSHNnZEdobGJXVWdmU2tnUFQ0Z0tIdGNiaUFnYldGeVoybHVUR1ZtZERvZ2RHaGxiV1V1YzNCaFkybHVaeWd4S1N4Y2JuMHBLVHRjYmx4dVkyOXVjM1FnVFc5a2RXeGxTbE02SUZKbFlXTjBMa1pEUEhzZ2JXOWtkV3hsT2lCTmIyUjFiR1ZVZVhCbElId2dkbTlwWkNCOVBpQTlJQ2g3SUcxdlpIVnNaU0I5S1NBOVBpQjdYRzRnSUdsbUlDaHRiMlIxYkdVZ1BUMDlJQ2RqYjIxdGIyNXFjeWNwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lDQWdQRWxqYjI0K1hHNGdJQ0FnSUNBZ0lEeERiMjF0YjI1S1V5QXZQbHh1SUNBZ0lDQWdQQzlKWTI5dVBseHVJQ0FnSUNrN1hHNGdJSDBnWld4elpTQnBaaUFvYlc5a2RXeGxJRDA5UFNBbmJXOWtkV3hsSnlrZ2UxeHVJQ0FnSUhKbGRIVnliaUFvWEc0Z0lDQWdJQ0E4U1dOdmJqNWNiaUFnSUNBZ0lDQWdQRVZUTmsxdlpIVnNaWE1nTHo1Y2JpQWdJQ0FnSUR3dlNXTnZiajVjYmlBZ0lDQXBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlYRzU5TzF4dVhHNWpiMjV6ZENCRVpYUmhhV3hUYVdSbFltRnlWR2wwYkdVNklGSmxZV04wTGtaRFBGQnliM0J6UGlBOUlDaDdYRzRnSUdSbGMyTnlhWEIwYVc5dUxGeHVJQ0J3WVdOcllXZGxUbUZ0WlN4Y2JpQWdkbVZ5YzJsdmJpeGNiaUFnYVhOTVlYUmxjM1FzWEc0Z0lHaGhjMVI1Y0dWekxGeHVJQ0J0YjJSMWJHVlVlWEJsY3l4Y2JpQWdkR2x0WlN4Y2JuMHBJRDArSUh0Y2JpQWdZMjl1YzNRZ2V5QjBJSDBnUFNCMWMyVlVjbUZ1YzJ4aGRHbHZiaWdwTzF4dUlDQnlaWFIxY200Z0tGeHVJQ0FnSUR4Q2IzZ2dZMnhoYzNOT1lXMWxQWHNuWkdWMFlXbHNMV2x1Wm04bmZTQmthWE53YkdGNVBWd2labXhsZUZ3aUlHWnNaWGhFYVhKbFkzUnBiMjQ5WENKamIyeDFiVzVjSWlCdFlYSm5hVzVDYjNSMGIyMDlYQ0k0Y0hoY0lqNWNiaUFnSUNBZ0lEeFRkSGxzWldSSVpXRmthVzVuUGx4dUlDQWdJQ0FnSUNBOFZHbDBiR1ZYY21Gd2NHVnlQbHh1SUNBZ0lDQWdJQ0FnSUR3K1hHNGdJQ0FnSUNBZ0lDQWdJQ0I3Y0dGamEyRm5aVTVoYldWOVhHNGdJQ0FnSUNBZ0lDQWdJQ0I3YUdGelZIbHdaWE1nSmlZZ0tGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Vkhsd1pWTmpjbWx3ZENBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwwbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQXBmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2UyMXZaSFZzWlZSNWNHVnpMbTFoY0Nnb2JXOWtkV3hsTENCcGJtUmxlQ2tnUFQ0Z0tGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFRXOWtkV3hsU2xNZ2EyVjVQWHRwYm1SbGVIMGdiVzlrZFd4bFBYdHRiMlIxYkdWOUlDOCtYRzRnSUNBZ0lDQWdJQ0FnSUNBcEtYMWNiaUFnSUNBZ0lDQWdJQ0E4THo1Y2JpQWdJQ0FnSUNBZ1BDOVVhWFJzWlZkeVlYQndaWEkrWEc0Z0lDQWdJQ0E4TDFOMGVXeGxaRWhsWVdScGJtYytYRzRnSUNBZ0lDQjdaR1Z6WTNKcGNIUnBiMjRnSmlZZ1BHUnBkajU3WkdWelkzSnBjSFJwYjI1OVBDOWthWFkrZlZ4dUlDQWdJQ0FnUEZOMGVXeGxaRUp2ZUZabGNuTnBiMjRnZEdsMGJHVTllMlp2Y20xaGRFUmhkR1VvZEdsdFpTbDlQbHh1SUNBZ0lDQWdJQ0I3YVhOTVlYUmxjM1JjYmlBZ0lDQWdJQ0FnSUNBL0lIUW9KM05wWkdWaVlYSXVaR1YwWVdsc0xteGhkR1Z6ZEMxMlpYSnphVzl1Snl3Z2V5QjJaWEp6YVc5dUlIMHBYRzRnSUNBZ0lDQWdJQ0FnT2lCMEtDZHphV1JsWW1GeUxtUmxkR0ZwYkM1MlpYSnphVzl1Snl3Z2V5QjJaWEp6YVc5dUlIMHBmVnh1SUNBZ0lDQWdJQ0I3ZEdsdFpWeHVJQ0FnSUNBZ0lDQWdJRDhnSnlBdElDY2dLeUIwS0NkemFXUmxZbUZ5TG1SbGRHRnBiQzV3ZFdKc2FYTm9aV1FuS1NBcklDY2dKeUFySUdadmNtMWhkRVJoZEdWRWFYTjBZVzVqWlNoMGFXMWxLVnh1SUNBZ0lDQWdJQ0FnSURvZ2RDZ25kbVZ5YzJsdmJuTXVibTkwTFdGMllXbHNZV0pzWlNjcGZWeHVJQ0FnSUNBZ1BDOVRkSGxzWldSQ2IzaFdaWEp6YVc5dVBseHVJQ0FnSUR3dlFtOTRQbHh1SUNBcE8xeHVmVHRjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnUkdWMFlXbHNVMmxrWldKaGNsUnBkR3hsTzF4dVhHNWpiMjV6ZENCVWFYUnNaVmR5WVhCd1pYSWdQU0J6ZEhsc1pXUXVaR2wyS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMlpzWlhnbkxGeHVJQ0JoYkdsbmJrbDBaVzF6T2lBblkyVnVkR1Z5Snl4Y2JuMHBPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUklaV0ZrYVc1bklEMGdjM1I1YkdWa0tFaGxZV1JwYm1jcEtIdGNiaUFnWm05dWRGTnBlbVU2SUNjeGNtVnRKeXhjYmlBZ1ptOXVkRmRsYVdkb2REb2dOekF3TEZ4dWZTazdYRzVjYm1OdmJuTjBJRk4wZVd4bFpFSnZlRlpsY25OcGIyNGdQU0J6ZEhsc1pXUW9RbTk0S1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIc2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdZMjlzYjNJNklIUm9aVzFsTG5CaGJHVjBkR1V1ZEdWNGRDNXpaV052Ym1SaGNua3NYRzRnSUdadmJuUlRhWHBsT2lCMGFHVnRaUzVtYjI1MFUybDZaUzV6YlN4Y2JuMHBLVHRjYmlKZGZRPT0gKi9cIik7XG52YXIgTW9kdWxlSlMgPSAoeyBtb2R1bGUgfSkgPT4ge1xuXHRpZiAobW9kdWxlID09PSBcImNvbW1vbmpzXCIpIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KEljb24sIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goQ29tbW9uSlMsIHt9KSB9KTtcblx0ZWxzZSBpZiAobW9kdWxlID09PSBcIm1vZHVsZVwiKSByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChJY29uLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEVTNk1vZHVsZXMsIHt9KSB9KTtcblx0ZWxzZSByZXR1cm4gbnVsbDtcbn07XG52YXIgRGV0YWlsU2lkZWJhclRpdGxlID0gKHsgZGVzY3JpcHRpb24sIHBhY2thZ2VOYW1lLCB2ZXJzaW9uLCBpc0xhdGVzdCwgaGFzVHlwZXMsIG1vZHVsZVR5cGVzLCB0aW1lIH0pID0+IHtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoQm94LCB7XG5cdFx0Y2xhc3NOYW1lOiBcImRldGFpbC1pbmZvXCIsXG5cdFx0ZGlzcGxheTogXCJmbGV4XCIsXG5cdFx0ZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcblx0XHRtYXJnaW5Cb3R0b206IFwiOHB4XCIsXG5cdFx0Y2hpbGRyZW46IFtcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goU3R5bGVkSGVhZGluZywgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChUaXRsZVdyYXBwZXIsIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3hzKEZyYWdtZW50LCB7IGNoaWxkcmVuOiBbXG5cdFx0XHRcdHBhY2thZ2VOYW1lLFxuXHRcdFx0XHRoYXNUeXBlcyAmJiAvKiBAX19QVVJFX18gKi8ganN4KEljb24sIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goVHlwZVNjcmlwdCwge30pIH0pLFxuXHRcdFx0XHRtb2R1bGVUeXBlcy5tYXAoKG1vZHVsZSwgaW5kZXgpID0+IC8qIEBfX1BVUkVfXyAqLyBqc3goTW9kdWxlSlMsIHsgbW9kdWxlIH0sIGluZGV4KSlcblx0XHRcdF0gfSkgfSkgfSksXG5cdFx0XHRkZXNjcmlwdGlvbiAmJiAvKiBAX19QVVJFX18gKi8ganN4KFwiZGl2XCIsIHsgY2hpbGRyZW46IGRlc2NyaXB0aW9uIH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeHMoU3R5bGVkQm94VmVyc2lvbiwge1xuXHRcdFx0XHR0aXRsZTogZm9ybWF0RGF0ZSh0aW1lKSxcblx0XHRcdFx0Y2hpbGRyZW46IFtpc0xhdGVzdCA/IHQoXCJzaWRlYmFyLmRldGFpbC5sYXRlc3QtdmVyc2lvblwiLCB7IHZlcnNpb24gfSkgOiB0KFwic2lkZWJhci5kZXRhaWwudmVyc2lvblwiLCB7IHZlcnNpb24gfSksIHRpbWUgPyBcIiAtIFwiICsgdChcInNpZGViYXIuZGV0YWlsLnB1Ymxpc2hlZFwiKSArIFwiIFwiICsgZm9ybWF0RGF0ZURpc3RhbmNlKHRpbWUpIDogdChcInZlcnNpb25zLm5vdC1hdmFpbGFibGVcIildXG5cdFx0XHR9KVxuXHRcdF1cblx0fSk7XG59O1xudmFyIFRpdGxlV3JhcHBlciA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwiZGl2XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxM25jNjZ1MlwiIH0gOiB7XG5cdHRhcmdldDogXCJlMTNuYzY2dTJcIixcblx0bGFiZWw6IFwiVGl0bGVXcmFwcGVyXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCJzNXhkcmdcIixcblx0c3R5bGVzOiBcImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXJcIlxufSA6IHtcblx0bmFtZTogXCJzNXhkcmdcIixcblx0c3R5bGVzOiBcImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5VGFXUmxRbUZ5VkdsMGJHVXZVMmxrWlVKaGNsUnBkR3hsTG5SemVDSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRnpSbkZDSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVRhV1JsUW1GeVZHbDBiR1V2VTJsa1pVSmhjbFJwZEd4bExuUnplQ0lzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCQ2IzZ2dabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlDYjNnbk8xeHVhVzF3YjNKMElGSmxZV04wSUdaeWIyMGdKM0psWVdOMEp6dGNibWx0Y0c5eWRDQjdJSFZ6WlZSeVlXNXpiR0YwYVc5dUlIMGdabkp2YlNBbmNtVmhZM1F0YVRFNGJtVjRkQ2M3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk5VWFHVnRaU2M3WEc1cGJYQnZjblFnU0dWaFpHbHVaeUJtY205dElDY3VMaTlJWldGa2FXNW5KenRjYm1sdGNHOXlkQ0I3SUVOdmJXMXZia3BUTENCRlV6Wk5iMlIxYkdWekxDQlVlWEJsVTJOeWFYQjBJSDBnWm5KdmJTQW5MaTR2U1dOdmJuTW5PMXh1YVcxd2IzSjBJSHNnWm05eWJXRjBSR0YwWlN3Z1ptOXliV0YwUkdGMFpVUnBjM1JoYm1ObElIMGdabkp2YlNBbkxpOTFkR2xzY3ljN1hHNWNibVY0Y0c5eWRDQjBlWEJsSUUxdlpIVnNaVlI1Y0dVZ1BTQW5ZMjl0Ylc5dWFuTW5JSHdnSjIxdlpIVnNaU2M3WEc1Y2JtbHVkR1Z5Wm1GalpTQlFjbTl3Y3lCN1hHNGdJSEJoWTJ0aFoyVk9ZVzFsT2lCemRISnBibWM3WEc0Z0lHUmxjMk55YVhCMGFXOXVQem9nYzNSeWFXNW5PMXh1SUNCMlpYSnphVzl1T2lCemRISnBibWM3WEc0Z0lHbHpUR0YwWlhOME9pQmliMjlzWldGdU8xeHVJQ0JvWVhOVWVYQmxjejg2SUdKdmIyeGxZVzQ3WEc0Z0lHMXZaSFZzWlZSNWNHVnpPaUJOYjJSMWJHVlVlWEJsVzEwN1hHNGdJSFJwYldVNklITjBjbWx1Wnp0Y2JuMWNibHh1WTI5dWMzUWdTV052YmlBOUlITjBlV3hsWkM1a2FYWThleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUcxaGNtZHBia3hsWm5RNklIUm9aVzFsTG5Od1lXTnBibWNvTVNrc1hHNTlLU2s3WEc1Y2JtTnZibk4wSUUxdlpIVnNaVXBUT2lCU1pXRmpkQzVHUXp4N0lHMXZaSFZzWlRvZ1RXOWtkV3hsVkhsd1pTQjhJSFp2YVdRZ2ZUNGdQU0FvZXlCdGIyUjFiR1VnZlNrZ1BUNGdlMXh1SUNCcFppQW9iVzlrZFd4bElEMDlQU0FuWTI5dGJXOXVhbk1uS1NCN1hHNGdJQ0FnY21WMGRYSnVJQ2hjYmlBZ0lDQWdJRHhKWTI5dVBseHVJQ0FnSUNBZ0lDQThRMjl0Ylc5dVNsTWdMejVjYmlBZ0lDQWdJRHd2U1dOdmJqNWNiaUFnSUNBcE8xeHVJQ0I5SUdWc2MyVWdhV1lnS0cxdlpIVnNaU0E5UFQwZ0oyMXZaSFZzWlNjcElIdGNiaUFnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnUEVsamIyNCtYRzRnSUNBZ0lDQWdJRHhGVXpaTmIyUjFiR1Z6SUM4K1hHNGdJQ0FnSUNBOEwwbGpiMjQrWEc0Z0lDQWdLVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdmVnh1ZlR0Y2JseHVZMjl1YzNRZ1JHVjBZV2xzVTJsa1pXSmhjbFJwZEd4bE9pQlNaV0ZqZEM1R1F6eFFjbTl3Y3o0Z1BTQW9lMXh1SUNCa1pYTmpjbWx3ZEdsdmJpeGNiaUFnY0dGamEyRm5aVTVoYldVc1hHNGdJSFpsY25OcGIyNHNYRzRnSUdselRHRjBaWE4wTEZ4dUlDQm9ZWE5VZVhCbGN5eGNiaUFnYlc5a2RXeGxWSGx3WlhNc1hHNGdJSFJwYldVc1hHNTlLU0E5UGlCN1hHNGdJR052Ym5OMElIc2dkQ0I5SUQwZ2RYTmxWSEpoYm5Oc1lYUnBiMjRvS1R0Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNBOFFtOTRJR05zWVhOelRtRnRaVDE3SjJSbGRHRnBiQzFwYm1adkozMGdaR2x6Y0d4aGVUMWNJbVpzWlhoY0lpQm1iR1Y0UkdseVpXTjBhVzl1UFZ3aVkyOXNkVzF1WENJZ2JXRnlaMmx1UW05MGRHOXRQVndpT0hCNFhDSStYRzRnSUNBZ0lDQThVM1I1YkdWa1NHVmhaR2x1Wno1Y2JpQWdJQ0FnSUNBZ1BGUnBkR3hsVjNKaGNIQmxjajVjYmlBZ0lDQWdJQ0FnSUNBOFBseHVJQ0FnSUNBZ0lDQWdJQ0FnZTNCaFkydGhaMlZPWVcxbGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnZTJoaGMxUjVjR1Z6SUNZbUlDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEZSNWNHVlRZM0pwY0hRZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BDOUpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdLWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lIdHRiMlIxYkdWVWVYQmxjeTV0WVhBb0tHMXZaSFZzWlN3Z2FXNWtaWGdwSUQwK0lDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFMXZaSFZzWlVwVElHdGxlVDE3YVc1a1pYaDlJRzF2WkhWc1pUMTdiVzlrZFd4bGZTQXZQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0tTbDlYRzRnSUNBZ0lDQWdJQ0FnUEM4K1hHNGdJQ0FnSUNBZ0lEd3ZWR2wwYkdWWGNtRndjR1Z5UGx4dUlDQWdJQ0FnUEM5VGRIbHNaV1JJWldGa2FXNW5QbHh1SUNBZ0lDQWdlMlJsYzJOeWFYQjBhVzl1SUNZbUlEeGthWFkrZTJSbGMyTnlhWEIwYVc5dWZUd3ZaR2wyUG4xY2JpQWdJQ0FnSUR4VGRIbHNaV1JDYjNoV1pYSnphVzl1SUhScGRHeGxQWHRtYjNKdFlYUkVZWFJsS0hScGJXVXBmVDVjYmlBZ0lDQWdJQ0FnZTJselRHRjBaWE4wWEc0Z0lDQWdJQ0FnSUNBZ1B5QjBLQ2R6YVdSbFltRnlMbVJsZEdGcGJDNXNZWFJsYzNRdGRtVnljMmx2Ymljc0lIc2dkbVZ5YzJsdmJpQjlLVnh1SUNBZ0lDQWdJQ0FnSURvZ2RDZ25jMmxrWldKaGNpNWtaWFJoYVd3dWRtVnljMmx2Ymljc0lIc2dkbVZ5YzJsdmJpQjlLWDFjYmlBZ0lDQWdJQ0FnZTNScGJXVmNiaUFnSUNBZ0lDQWdJQ0EvSUNjZ0xTQW5JQ3NnZENnbmMybGtaV0poY2k1a1pYUmhhV3d1Y0hWaWJHbHphR1ZrSnlrZ0t5QW5JQ2NnS3lCbWIzSnRZWFJFWVhSbFJHbHpkR0Z1WTJVb2RHbHRaU2xjYmlBZ0lDQWdJQ0FnSUNBNklIUW9KM1psY25OcGIyNXpMbTV2ZEMxaGRtRnBiR0ZpYkdVbktYMWNiaUFnSUNBZ0lEd3ZVM1I1YkdWa1FtOTRWbVZ5YzJsdmJqNWNiaUFnSUNBOEwwSnZlRDVjYmlBZ0tUdGNibjA3WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUVSbGRHRnBiRk5wWkdWaVlYSlVhWFJzWlR0Y2JseHVZMjl1YzNRZ1ZHbDBiR1ZYY21Gd2NHVnlJRDBnYzNSNWJHVmtMbVJwZGloN1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnWVd4cFoyNUpkR1Z0Y3pvZ0oyTmxiblJsY2ljc1hHNTlLVHRjYmx4dVkyOXVjM1FnVTNSNWJHVmtTR1ZoWkdsdVp5QTlJSE4wZVd4bFpDaElaV0ZrYVc1bktTaDdYRzRnSUdadmJuUlRhWHBsT2lBbk1YSmxiU2NzWEc0Z0lHWnZiblJYWldsbmFIUTZJRGN3TUN4Y2JuMHBPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUkNiM2hXWlhKemFXOXVJRDBnYzNSNWJHVmtLRUp2ZUNrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR052Ykc5eU9pQjBhR1Z0WlM1d1lXeGxkSFJsTG5SbGVIUXVjMlZqYjI1a1lYSjVMRnh1SUNCbWIyNTBVMmw2WlRvZ2RHaGxiV1V1Wm05dWRGTnBlbVV1YzIwc1hHNTlLU2s3WEc0aVhYMD0gKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBTdHlsZWRIZWFkaW5nID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoSGVhZGluZywgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTEzbmM2NnUxXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxM25jNjZ1MVwiLFxuXHRsYWJlbDogXCJTdHlsZWRIZWFkaW5nXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCIxd2Q5eDFtXCIsXG5cdHN0eWxlczogXCJmb250LXNpemU6MXJlbTtmb250LXdlaWdodDo3MDBcIlxufSA6IHtcblx0bmFtZTogXCIxd2Q5eDFtXCIsXG5cdHN0eWxlczogXCJmb250LXNpemU6MXJlbTtmb250LXdlaWdodDo3MDAvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5VGFXUmxRbUZ5VkdsMGJHVXZVMmxrWlVKaGNsUnBkR3hsTG5SemVDSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRXlSbk5DSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVRhV1JsUW1GeVZHbDBiR1V2VTJsa1pVSmhjbFJwZEd4bExuUnplQ0lzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCQ2IzZ2dabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlDYjNnbk8xeHVhVzF3YjNKMElGSmxZV04wSUdaeWIyMGdKM0psWVdOMEp6dGNibWx0Y0c5eWRDQjdJSFZ6WlZSeVlXNXpiR0YwYVc5dUlIMGdabkp2YlNBbmNtVmhZM1F0YVRFNGJtVjRkQ2M3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk5VWFHVnRaU2M3WEc1cGJYQnZjblFnU0dWaFpHbHVaeUJtY205dElDY3VMaTlJWldGa2FXNW5KenRjYm1sdGNHOXlkQ0I3SUVOdmJXMXZia3BUTENCRlV6Wk5iMlIxYkdWekxDQlVlWEJsVTJOeWFYQjBJSDBnWm5KdmJTQW5MaTR2U1dOdmJuTW5PMXh1YVcxd2IzSjBJSHNnWm05eWJXRjBSR0YwWlN3Z1ptOXliV0YwUkdGMFpVUnBjM1JoYm1ObElIMGdabkp2YlNBbkxpOTFkR2xzY3ljN1hHNWNibVY0Y0c5eWRDQjBlWEJsSUUxdlpIVnNaVlI1Y0dVZ1BTQW5ZMjl0Ylc5dWFuTW5JSHdnSjIxdlpIVnNaU2M3WEc1Y2JtbHVkR1Z5Wm1GalpTQlFjbTl3Y3lCN1hHNGdJSEJoWTJ0aFoyVk9ZVzFsT2lCemRISnBibWM3WEc0Z0lHUmxjMk55YVhCMGFXOXVQem9nYzNSeWFXNW5PMXh1SUNCMlpYSnphVzl1T2lCemRISnBibWM3WEc0Z0lHbHpUR0YwWlhOME9pQmliMjlzWldGdU8xeHVJQ0JvWVhOVWVYQmxjejg2SUdKdmIyeGxZVzQ3WEc0Z0lHMXZaSFZzWlZSNWNHVnpPaUJOYjJSMWJHVlVlWEJsVzEwN1hHNGdJSFJwYldVNklITjBjbWx1Wnp0Y2JuMWNibHh1WTI5dWMzUWdTV052YmlBOUlITjBlV3hsWkM1a2FYWThleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUcxaGNtZHBia3hsWm5RNklIUm9aVzFsTG5Od1lXTnBibWNvTVNrc1hHNTlLU2s3WEc1Y2JtTnZibk4wSUUxdlpIVnNaVXBUT2lCU1pXRmpkQzVHUXp4N0lHMXZaSFZzWlRvZ1RXOWtkV3hsVkhsd1pTQjhJSFp2YVdRZ2ZUNGdQU0FvZXlCdGIyUjFiR1VnZlNrZ1BUNGdlMXh1SUNCcFppQW9iVzlrZFd4bElEMDlQU0FuWTI5dGJXOXVhbk1uS1NCN1hHNGdJQ0FnY21WMGRYSnVJQ2hjYmlBZ0lDQWdJRHhKWTI5dVBseHVJQ0FnSUNBZ0lDQThRMjl0Ylc5dVNsTWdMejVjYmlBZ0lDQWdJRHd2U1dOdmJqNWNiaUFnSUNBcE8xeHVJQ0I5SUdWc2MyVWdhV1lnS0cxdlpIVnNaU0E5UFQwZ0oyMXZaSFZzWlNjcElIdGNiaUFnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnUEVsamIyNCtYRzRnSUNBZ0lDQWdJRHhGVXpaTmIyUjFiR1Z6SUM4K1hHNGdJQ0FnSUNBOEwwbGpiMjQrWEc0Z0lDQWdLVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdmVnh1ZlR0Y2JseHVZMjl1YzNRZ1JHVjBZV2xzVTJsa1pXSmhjbFJwZEd4bE9pQlNaV0ZqZEM1R1F6eFFjbTl3Y3o0Z1BTQW9lMXh1SUNCa1pYTmpjbWx3ZEdsdmJpeGNiaUFnY0dGamEyRm5aVTVoYldVc1hHNGdJSFpsY25OcGIyNHNYRzRnSUdselRHRjBaWE4wTEZ4dUlDQm9ZWE5VZVhCbGN5eGNiaUFnYlc5a2RXeGxWSGx3WlhNc1hHNGdJSFJwYldVc1hHNTlLU0E5UGlCN1hHNGdJR052Ym5OMElIc2dkQ0I5SUQwZ2RYTmxWSEpoYm5Oc1lYUnBiMjRvS1R0Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNBOFFtOTRJR05zWVhOelRtRnRaVDE3SjJSbGRHRnBiQzFwYm1adkozMGdaR2x6Y0d4aGVUMWNJbVpzWlhoY0lpQm1iR1Y0UkdseVpXTjBhVzl1UFZ3aVkyOXNkVzF1WENJZ2JXRnlaMmx1UW05MGRHOXRQVndpT0hCNFhDSStYRzRnSUNBZ0lDQThVM1I1YkdWa1NHVmhaR2x1Wno1Y2JpQWdJQ0FnSUNBZ1BGUnBkR3hsVjNKaGNIQmxjajVjYmlBZ0lDQWdJQ0FnSUNBOFBseHVJQ0FnSUNBZ0lDQWdJQ0FnZTNCaFkydGhaMlZPWVcxbGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnZTJoaGMxUjVjR1Z6SUNZbUlDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEZSNWNHVlRZM0pwY0hRZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BDOUpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdLWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lIdHRiMlIxYkdWVWVYQmxjeTV0WVhBb0tHMXZaSFZzWlN3Z2FXNWtaWGdwSUQwK0lDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFMXZaSFZzWlVwVElHdGxlVDE3YVc1a1pYaDlJRzF2WkhWc1pUMTdiVzlrZFd4bGZTQXZQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0tTbDlYRzRnSUNBZ0lDQWdJQ0FnUEM4K1hHNGdJQ0FnSUNBZ0lEd3ZWR2wwYkdWWGNtRndjR1Z5UGx4dUlDQWdJQ0FnUEM5VGRIbHNaV1JJWldGa2FXNW5QbHh1SUNBZ0lDQWdlMlJsYzJOeWFYQjBhVzl1SUNZbUlEeGthWFkrZTJSbGMyTnlhWEIwYVc5dWZUd3ZaR2wyUG4xY2JpQWdJQ0FnSUR4VGRIbHNaV1JDYjNoV1pYSnphVzl1SUhScGRHeGxQWHRtYjNKdFlYUkVZWFJsS0hScGJXVXBmVDVjYmlBZ0lDQWdJQ0FnZTJselRHRjBaWE4wWEc0Z0lDQWdJQ0FnSUNBZ1B5QjBLQ2R6YVdSbFltRnlMbVJsZEdGcGJDNXNZWFJsYzNRdGRtVnljMmx2Ymljc0lIc2dkbVZ5YzJsdmJpQjlLVnh1SUNBZ0lDQWdJQ0FnSURvZ2RDZ25jMmxrWldKaGNpNWtaWFJoYVd3dWRtVnljMmx2Ymljc0lIc2dkbVZ5YzJsdmJpQjlLWDFjYmlBZ0lDQWdJQ0FnZTNScGJXVmNiaUFnSUNBZ0lDQWdJQ0EvSUNjZ0xTQW5JQ3NnZENnbmMybGtaV0poY2k1a1pYUmhhV3d1Y0hWaWJHbHphR1ZrSnlrZ0t5QW5JQ2NnS3lCbWIzSnRZWFJFWVhSbFJHbHpkR0Z1WTJVb2RHbHRaU2xjYmlBZ0lDQWdJQ0FnSUNBNklIUW9KM1psY25OcGIyNXpMbTV2ZEMxaGRtRnBiR0ZpYkdVbktYMWNiaUFnSUNBZ0lEd3ZVM1I1YkdWa1FtOTRWbVZ5YzJsdmJqNWNiaUFnSUNBOEwwSnZlRDVjYmlBZ0tUdGNibjA3WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUVSbGRHRnBiRk5wWkdWaVlYSlVhWFJzWlR0Y2JseHVZMjl1YzNRZ1ZHbDBiR1ZYY21Gd2NHVnlJRDBnYzNSNWJHVmtMbVJwZGloN1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnWVd4cFoyNUpkR1Z0Y3pvZ0oyTmxiblJsY2ljc1hHNTlLVHRjYmx4dVkyOXVjM1FnVTNSNWJHVmtTR1ZoWkdsdVp5QTlJSE4wZVd4bFpDaElaV0ZrYVc1bktTaDdYRzRnSUdadmJuUlRhWHBsT2lBbk1YSmxiU2NzWEc0Z0lHWnZiblJYWldsbmFIUTZJRGN3TUN4Y2JuMHBPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUkNiM2hXWlhKemFXOXVJRDBnYzNSNWJHVmtLRUp2ZUNrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR052Ykc5eU9pQjBhR1Z0WlM1d1lXeGxkSFJsTG5SbGVIUXVjMlZqYjI1a1lYSjVMRnh1SUNCbWIyNTBVMmw2WlRvZ2RHaGxiV1V1Wm05dWRGTnBlbVV1YzIwc1hHNTlLU2s3WEc0aVhYMD0gKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBTdHlsZWRCb3hWZXJzaW9uID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoQm94LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMTNuYzY2dTBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTEzbmM2NnUwXCIsXG5cdGxhYmVsOiBcIlN0eWxlZEJveFZlcnNpb25cIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0Y29sb3I6IHRoZW1lLnBhbGV0dGUudGV4dC5zZWNvbmRhcnksXG5cdGZvbnRTaXplOiB0aGVtZS5mb250U2l6ZS5zbVxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlUYVdSbFFtRnlWR2wwYkdVdlUybGtaVUpoY2xScGRHeGxMblJ6ZUNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGblIzbENJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5VGFXUmxRbUZ5VkdsMGJHVXZVMmxrWlVKaGNsUnBkR3hsTG5SemVDSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0JDYjNnZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUNiM2duTzF4dWFXMXdiM0owSUZKbFlXTjBJR1p5YjIwZ0ozSmxZV04wSnp0Y2JtbHRjRzl5ZENCN0lIVnpaVlJ5WVc1emJHRjBhVzl1SUgwZ1puSnZiU0FuY21WaFkzUXRhVEU0Ym1WNGRDYzdYRzVjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaTlVYUdWdFpTYzdYRzVwYlhCdmNuUWdTR1ZoWkdsdVp5Qm1jbTl0SUNjdUxpOUlaV0ZrYVc1bkp6dGNibWx0Y0c5eWRDQjdJRU52YlcxdmJrcFRMQ0JGVXpaTmIyUjFiR1Z6TENCVWVYQmxVMk55YVhCMElIMGdabkp2YlNBbkxpNHZTV052Ym5Nbk8xeHVhVzF3YjNKMElIc2dabTl5YldGMFJHRjBaU3dnWm05eWJXRjBSR0YwWlVScGMzUmhibU5sSUgwZ1puSnZiU0FuTGk5MWRHbHNjeWM3WEc1Y2JtVjRjRzl5ZENCMGVYQmxJRTF2WkhWc1pWUjVjR1VnUFNBblkyOXRiVzl1YW5NbklId2dKMjF2WkhWc1pTYzdYRzVjYm1sdWRHVnlabUZqWlNCUWNtOXdjeUI3WEc0Z0lIQmhZMnRoWjJWT1lXMWxPaUJ6ZEhKcGJtYzdYRzRnSUdSbGMyTnlhWEIwYVc5dVB6b2djM1J5YVc1bk8xeHVJQ0IyWlhKemFXOXVPaUJ6ZEhKcGJtYzdYRzRnSUdselRHRjBaWE4wT2lCaWIyOXNaV0Z1TzF4dUlDQm9ZWE5VZVhCbGN6ODZJR0p2YjJ4bFlXNDdYRzRnSUcxdlpIVnNaVlI1Y0dWek9pQk5iMlIxYkdWVWVYQmxXMTA3WEc0Z0lIUnBiV1U2SUhOMGNtbHVaenRjYm4xY2JseHVZMjl1YzNRZ1NXTnZiaUE5SUhOMGVXeGxaQzVrYVhZOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJRzFoY21kcGJreGxablE2SUhSb1pXMWxMbk53WVdOcGJtY29NU2tzWEc1OUtTazdYRzVjYm1OdmJuTjBJRTF2WkhWc1pVcFRPaUJTWldGamRDNUdReng3SUcxdlpIVnNaVG9nVFc5a2RXeGxWSGx3WlNCOElIWnZhV1FnZlQ0Z1BTQW9leUJ0YjJSMWJHVWdmU2tnUFQ0Z2UxeHVJQ0JwWmlBb2JXOWtkV3hsSUQwOVBTQW5ZMjl0Ylc5dWFuTW5LU0I3WEc0Z0lDQWdjbVYwZFhKdUlDaGNiaUFnSUNBZ0lEeEpZMjl1UGx4dUlDQWdJQ0FnSUNBOFEyOXRiVzl1U2xNZ0x6NWNiaUFnSUNBZ0lEd3ZTV052Ymo1Y2JpQWdJQ0FwTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLRzF2WkhWc1pTQTlQVDBnSjIxdlpIVnNaU2NwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lDQWdQRWxqYjI0K1hHNGdJQ0FnSUNBZ0lEeEZVelpOYjJSMWJHVnpJQzgrWEc0Z0lDQWdJQ0E4TDBsamIyNCtYRzRnSUNBZ0tUdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ2ZWeHVmVHRjYmx4dVkyOXVjM1FnUkdWMFlXbHNVMmxrWldKaGNsUnBkR3hsT2lCU1pXRmpkQzVHUXp4UWNtOXdjejRnUFNBb2UxeHVJQ0JrWlhOamNtbHdkR2x2Yml4Y2JpQWdjR0ZqYTJGblpVNWhiV1VzWEc0Z0lIWmxjbk5wYjI0c1hHNGdJR2x6VEdGMFpYTjBMRnh1SUNCb1lYTlVlWEJsY3l4Y2JpQWdiVzlrZFd4bFZIbHdaWE1zWEc0Z0lIUnBiV1VzWEc1OUtTQTlQaUI3WEc0Z0lHTnZibk4wSUhzZ2RDQjlJRDBnZFhObFZISmhibk5zWVhScGIyNG9LVHRjYmlBZ2NtVjBkWEp1SUNoY2JpQWdJQ0E4UW05NElHTnNZWE56VG1GdFpUMTdKMlJsZEdGcGJDMXBibVp2SjMwZ1pHbHpjR3hoZVQxY0ltWnNaWGhjSWlCbWJHVjRSR2x5WldOMGFXOXVQVndpWTI5c2RXMXVYQ0lnYldGeVoybHVRbTkwZEc5dFBWd2lPSEI0WENJK1hHNGdJQ0FnSUNBOFUzUjViR1ZrU0dWaFpHbHVaejVjYmlBZ0lDQWdJQ0FnUEZScGRHeGxWM0poY0hCbGNqNWNiaUFnSUNBZ0lDQWdJQ0E4UGx4dUlDQWdJQ0FnSUNBZ0lDQWdlM0JoWTJ0aFoyVk9ZVzFsZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdlMmhoYzFSNWNHVnpJQ1ltSUNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVsamIyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQRlI1Y0dWVFkzSnBjSFFnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5SlkyOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0tYMWNiaUFnSUNBZ0lDQWdJQ0FnSUh0dGIyUjFiR1ZVZVhCbGN5NXRZWEFvS0cxdlpIVnNaU3dnYVc1a1pYZ3BJRDArSUNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEUxdlpIVnNaVXBUSUd0bGVUMTdhVzVrWlhoOUlHMXZaSFZzWlQxN2JXOWtkV3hsZlNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnS1NsOVhHNGdJQ0FnSUNBZ0lDQWdQQzgrWEc0Z0lDQWdJQ0FnSUR3dlZHbDBiR1ZYY21Gd2NHVnlQbHh1SUNBZ0lDQWdQQzlUZEhsc1pXUklaV0ZrYVc1blBseHVJQ0FnSUNBZ2UyUmxjMk55YVhCMGFXOXVJQ1ltSUR4a2FYWStlMlJsYzJOeWFYQjBhVzl1ZlR3dlpHbDJQbjFjYmlBZ0lDQWdJRHhUZEhsc1pXUkNiM2hXWlhKemFXOXVJSFJwZEd4bFBYdG1iM0p0WVhSRVlYUmxLSFJwYldVcGZUNWNiaUFnSUNBZ0lDQWdlMmx6VEdGMFpYTjBYRzRnSUNBZ0lDQWdJQ0FnUHlCMEtDZHphV1JsWW1GeUxtUmxkR0ZwYkM1c1lYUmxjM1F0ZG1WeWMybHZiaWNzSUhzZ2RtVnljMmx2YmlCOUtWeHVJQ0FnSUNBZ0lDQWdJRG9nZENnbmMybGtaV0poY2k1a1pYUmhhV3d1ZG1WeWMybHZiaWNzSUhzZ2RtVnljMmx2YmlCOUtYMWNiaUFnSUNBZ0lDQWdlM1JwYldWY2JpQWdJQ0FnSUNBZ0lDQS9JQ2NnTFNBbklDc2dkQ2duYzJsa1pXSmhjaTVrWlhSaGFXd3VjSFZpYkdsemFHVmtKeWtnS3lBbklDY2dLeUJtYjNKdFlYUkVZWFJsUkdsemRHRnVZMlVvZEdsdFpTbGNiaUFnSUNBZ0lDQWdJQ0E2SUhRb0ozWmxjbk5wYjI1ekxtNXZkQzFoZG1GcGJHRmliR1VuS1gxY2JpQWdJQ0FnSUR3dlUzUjViR1ZrUW05NFZtVnljMmx2Ymo1Y2JpQWdJQ0E4TDBKdmVENWNiaUFnS1R0Y2JuMDdYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJRVJsZEdGcGJGTnBaR1ZpWVhKVWFYUnNaVHRjYmx4dVkyOXVjM1FnVkdsMGJHVlhjbUZ3Y0dWeUlEMGdjM1I1YkdWa0xtUnBkaWg3WEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc1OUtUdGNibHh1WTI5dWMzUWdVM1I1YkdWa1NHVmhaR2x1WnlBOUlITjBlV3hsWkNoSVpXRmthVzVuS1NoN1hHNGdJR1p2Ym5SVGFYcGxPaUFuTVhKbGJTY3NYRzRnSUdadmJuUlhaV2xuYUhRNklEY3dNQ3hjYm4wcE8xeHVYRzVqYjI1emRDQlRkSGxzWldSQ2IzaFdaWEp6YVc5dUlEMGdjM1I1YkdWa0tFSnZlQ2s4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMblJsZUhRdWMyVmpiMjVrWVhKNUxGeHVJQ0JtYjI1MFUybDZaVG9nZEdobGJXVXVabTl1ZEZOcGVtVXVjMjBzWEc1OUtTazdYRzRpWFgwPSAqL1wiKTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgRGV0YWlsU2lkZWJhclRpdGxlIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9U2lkZUJhclRpdGxlLm1qcy5tYXAiLCJpbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9MYWJlbC9MYWJlbC50c3hcbnZhciBXcmFwcGVyID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJkaXZcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZXJhYmc5ZDBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZXJhYmc5ZDBcIixcblx0bGFiZWw6IFwiV3JhcHBlclwiXG59KSgocHJvcHMpID0+ICh7XG5cdGZvbnRXZWlnaHQ6IHByb3BzLnRoZW1lLmZvbnRXZWlnaHRbcHJvcHMud2VpZ2h0XSxcblx0dGV4dFRyYW5zZm9ybTogcHJvcHMuY2FwaXRhbGl6ZSA/IFwiY2FwaXRhbGl6ZVwiIDogXCJub25lXCJcbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5TVlXSmxiQzlNWVdKbGJDNTBjM2dpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCWjBKblFpSXNJbVpwYkdVaU9pSXZhRzl0WlM5eWRXNXVaWEl2ZDI5eWF5OTJaWEprWVdOamFXOHZkbVZ5WkdGalkybHZMM0JoWTJ0aFoyVnpMM1ZwTFdOdmJYQnZibVZ1ZEhNdmMzSmpMMk52YlhCdmJtVnVkSE12VEdGaVpXd3ZUR0ZpWld3dWRITjRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSE4wZVd4bFpDQm1jbTl0SUNkQVpXMXZkR2x2Ymk5emRIbHNaV1FuTzF4dWFXMXdiM0owSUZKbFlXTjBJR1p5YjIwZ0ozSmxZV04wSnp0Y2JseHVhVzF3YjNKMElIUjVjR1VnZXlCR2IyNTBWMlZwWjJoMExDQlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMeWM3WEc1Y2JtbHVkR1Z5Wm1GalpTQlFjbTl3Y3lCN1hHNGdJSFJsZUhRNklITjBjbWx1Wnp0Y2JpQWdZMkZ3YVhSaGJHbDZaVDg2SUdKdmIyeGxZVzQ3WEc0Z0lIZGxhV2RvZEQ4NklFWnZiblJYWldsbmFIUTdYRzU5WEc1Y2JtbHVkR1Z5Wm1GalpTQlhjbUZ3Y0dWeVVISnZjSE1nZTF4dUlDQmpZWEJwZEdGc2FYcGxPaUJpYjI5c1pXRnVPMXh1SUNCM1pXbG5hSFE2SUVadmJuUlhaV2xuYUhRN1hHNTlYRzVjYm1OdmJuTjBJRmR5WVhCd1pYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcFBGZHlZWEJ3WlhKUWNtOXdjeUFtSUhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2NISnZjSE1wSUQwK0lDaDdYRzRnSUdadmJuUlhaV2xuYUhRNklIQnliM0J6TG5Sb1pXMWxMbVp2Ym5SWFpXbG5hSFJiY0hKdmNITXVkMlZwWjJoMFhTeGNiaUFnZEdWNGRGUnlZVzV6Wm05eWJUb2djSEp2Y0hNdVkyRndhWFJoYkdsNlpTQS9JQ2RqWVhCcGRHRnNhWHBsSnlBNklDZHViMjVsSnl4Y2JuMHBLVHRjYmx4dVkyOXVjM1FnVEdGaVpXdzZJRkpsWVdOMExrWkRQRkJ5YjNCelBpQTlJQ2g3WEc0Z0lIUmxlSFFnUFNBbkp5eGNiaUFnWTJGd2FYUmhiR2w2WlNBOUlHWmhiSE5sTEZ4dUlDQjNaV2xuYUhRZ1BTQW5jbVZuZFd4aGNpY3NYRzRnSUM0dUxuQnliM0J6WEc1OUtTQTlQaUI3WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEZkeVlYQndaWElnWTJGd2FYUmhiR2w2WlQxN1kyRndhWFJoYkdsNlpYMGdkMlZwWjJoMFBYdDNaV2xuYUhSOUlIc3VMaTV3Y205d2MzMCtYRzRnSUNBZ0lDQjdkR1Y0ZEgxY2JpQWdJQ0E4TDFkeVlYQndaWEkrWEc0Z0lDazdYRzU5TzF4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCTVlXSmxiRHRjYmlKZGZRPT0gKi9cIik7XG52YXIgTGFiZWwgPSAoeyB0ZXh0ID0gXCJcIiwgY2FwaXRhbGl6ZSA9IGZhbHNlLCB3ZWlnaHQgPSBcInJlZ3VsYXJcIiwgLi4ucHJvcHMgfSkgPT4ge1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChXcmFwcGVyLCB7XG5cdFx0Y2FwaXRhbGl6ZSxcblx0XHR3ZWlnaHQsXG5cdFx0Li4ucHJvcHMsXG5cdFx0Y2hpbGRyZW46IHRleHRcblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBMYWJlbCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUxhYmVsLm1qcy5tYXAiLCIvLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvTG9nby9pbWcvbG9nby1ibGFjay1hbmQtd2hpdGUuc3ZnXG52YXIgbG9nb19ibGFja19hbmRfd2hpdGVfZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTVRBd0lpQm9aV2xuYUhROUlqRXdNQ0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUI0Yld4dWN6cDRiR2x1YXowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzk0YkdsdWF5SStQR1JsWm5NK1BHWnBiSFJsY2lCNFBTSXRNVGt1T0NVaUlIazlJaTB4TVM0M0pTSWdkMmxrZEdnOUlqRXpPUzQySlNJZ2FHVnBaMmgwUFNJeE5EQXVOQ1VpSUdacGJIUmxjbFZ1YVhSelBTSnZZbXBsWTNSQ2IzVnVaR2x1WjBKdmVDSWdhV1E5SW1FaVBqeG1aVTltWm5ObGRDQmtlVDBpTkNJZ2FXNDlJbE52ZFhKalpVRnNjR2hoSWlCeVpYTjFiSFE5SW5Ob1lXUnZkMDltWm5ObGRFOTFkR1Z5TVNJdlBqeG1aVWRoZFhOemFXRnVRbXgxY2lCemRHUkVaWFpwWVhScGIyNDlJakl1TlNJZ2FXNDlJbk5vWVdSdmQwOW1abk5sZEU5MWRHVnlNU0lnY21WemRXeDBQU0p6YUdGa2IzZENiSFZ5VDNWMFpYSXhJaTgrUEdabFEyOXRjRzl6YVhSbElHbHVQU0p6YUdGa2IzZENiSFZ5VDNWMFpYSXhJaUJwYmpJOUlsTnZkWEpqWlVGc2NHaGhJaUJ2Y0dWeVlYUnZjajBpYjNWMElpQnlaWE4xYkhROUluTm9ZV1J2ZDBKc2RYSlBkWFJsY2pFaUx6NDhabVZEYjJ4dmNrMWhkSEpwZUNCMllXeDFaWE05SWpBZ01DQXdJREFnTUNBd0lEQWdNQ0F3SURBZ01DQXdJREFnTUNBd0lEQWdNQ0F3SURBdU1Ea3dOalkwTmpJNE5pQXdJaUJwYmowaWMyaGhaRzkzUW14MWNrOTFkR1Z5TVNJdlBqd3ZabWxzZEdWeVBqeG1hV3gwWlhJZ2VEMGlMVE16TGprbElpQjVQU0l0TlRBbElpQjNhV1IwYUQwaU1UWTNMamtsSWlCb1pXbG5hSFE5SWpJM01pNDNKU0lnWm1sc2RHVnlWVzVwZEhNOUltOWlhbVZqZEVKdmRXNWthVzVuUW05NElpQnBaRDBpWXlJK1BHWmxUMlptYzJWMElHUjVQU0kwSWlCcGJqMGlVMjkxY21ObFFXeHdhR0VpSUhKbGMzVnNkRDBpYzJoaFpHOTNUMlptYzJWMFQzVjBaWEl4SWk4K1BHWmxSMkYxYzNOcFlXNUNiSFZ5SUhOMFpFUmxkbWxoZEdsdmJqMGlNaTQxSWlCcGJqMGljMmhoWkc5M1QyWm1jMlYwVDNWMFpYSXhJaUJ5WlhOMWJIUTlJbk5vWVdSdmQwSnNkWEpQZFhSbGNqRWlMejQ4Wm1WRGIyeHZjazFoZEhKcGVDQjJZV3gxWlhNOUlqQWdNQ0F3SURBZ01DQXdJREFnTUNBd0lEQWdNQ0F3SURBZ01DQXdJREFnTUNBd0lEQXVNRGt3TmpZME5qSTROaUF3SWlCcGJqMGljMmhoWkc5M1FteDFjazkxZEdWeU1TSXZQand2Wm1sc2RHVnlQanh3WVhSb0lHbGtQU0ppSWlCa1BTSk5ORGdnTVRZdU56STVURE15TGpZM01pQTBOMmd0T0M0NE56Uk1NQ0F3YURFMUxqTXlPR3d4TWk0NU1EY2dNalV1TkRreUlEUXVORE0zTFRndU56WXpTRFE0ZWlJdlBqeHdZWFJvSUdROUlrMHpOUzR5SURFeFNESTRWamd1TmpRemFEZ3VOR3d4TGpJdE1pNHpOVGRJTXpKV015NDVNamxvTmk0NGJDNDRMVEV1TlRjeVNETTJWakJvTWpCc0xUVXVOaUF4TVVnek5TNHllaUlnYVdROUltUWlMejQ4TDJSbFpuTStQR2NnWm1sc2JEMGlibTl1WlNJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lqNDhjbVZqZENCbWFXeHNQU0lqTURBd0lpQjNhV1IwYUQwaU1UQXdJaUJvWldsbmFIUTlJakV3TUNJZ2NuZzlJak0zSWk4K1BHY2dkSEpoYm5ObWIzSnRQU0owY21GdWMyeGhkR1VvTWpJZ016QXBJajQ4ZFhObElHWnBiR3c5SWlNd01EQWlJR1pwYkhSbGNqMGlkWEpzS0NOaEtTSWdlR3hwYm1zNmFISmxaajBpSTJJaUx6NDhkWE5sSUdacGJHd3RiM0JoWTJsMGVUMGlMallpSUdacGJHdzlJaU5HUmtZaUlIaHNhVzVyT21oeVpXWTlJaU5pSWk4K1BDOW5QanhuSUhSeVlXNXpabTl5YlQwaWRISmhibk5zWVhSbEtESXlJRE13S1NJK1BIVnpaU0JtYVd4c1BTSWpNREF3SWlCbWFXeDBaWEk5SW5WeWJDZ2pZeWtpSUhoc2FXNXJPbWh5WldZOUlpTmtJaTgrUEhWelpTQm1hV3hzUFNJalJrWkdJaUI0YkdsdWF6cG9jbVZtUFNJalpDSXZQand2Wno0OGNHRjBhQ0JtYVd4c1BTSWpSa1pHSWlCa1BTSk5OVFF1TnpnMUlEYzNTRFExTGpnNFRESXlJRE13YURFMUxqTTRURFU0SURjd0xqY3hPSG9pTHo0OEwyYytQQzl6ZG1jK1wiO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBsb2dvX2JsYWNrX2FuZF93aGl0ZV9kZWZhdWx0IGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bG9nby1ibGFjay1hbmQtd2hpdGUubWpzLm1hcCIsIi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9Mb2dvL2ltZy9sb2dvLnN2Z1xudmFyIGxvZ29fZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTVRBd0lpQm9aV2xuYUhROUlqRXdNQ0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUI0Yld4dWN6cDRiR2x1YXowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzk0YkdsdWF5SWdhV1E5SW5abGNtUmhZMk5wYnlJK1BGUnBkR3hsUGxabGNtUmhZMk5wYnp3dlZHbDBiR1UrUEdSbFpuTStQSEJoZEdnZ2FXUTlJbUlpSUdROUlrMDBPQ0F4Tnk0MlRETXlMamdnTkRoSU1qUk1MalF1T0dneE5TNHliREV5TGpnZ01qVXVOaUEwTGpRdE9DNDRTRFE0ZWlJdlBqeG1hV3gwWlhJZ2VEMGlMVEl3SlNJZ2VUMGlMVEV4TGpjbElpQjNhV1IwYUQwaU1UTTVMamtsSWlCb1pXbG5hSFE5SWpFME1DNHpKU0lnWm1sc2RHVnlWVzVwZEhNOUltOWlhbVZqZEVKdmRXNWthVzVuUW05NElpQnBaRDBpWVNJK1BHWmxUMlptYzJWMElHUjVQU0kwSWlCcGJqMGlVMjkxY21ObFFXeHdhR0VpSUhKbGMzVnNkRDBpYzJoaFpHOTNUMlptYzJWMFQzVjBaWEl4SWk4K1BHWmxSMkYxYzNOcFlXNUNiSFZ5SUhOMFpFUmxkbWxoZEdsdmJqMGlNaTQxSWlCcGJqMGljMmhoWkc5M1QyWm1jMlYwVDNWMFpYSXhJaUJ5WlhOMWJIUTlJbk5vWVdSdmQwSnNkWEpQZFhSbGNqRWlMejQ4Wm1WRGIyMXdiM05wZEdVZ2FXNDlJbk5vWVdSdmQwSnNkWEpQZFhSbGNqRWlJR2x1TWowaVUyOTFjbU5sUVd4d2FHRWlJRzl3WlhKaGRHOXlQU0p2ZFhRaUlISmxjM1ZzZEQwaWMyaGhaRzkzUW14MWNrOTFkR1Z5TVNJdlBqeG1aVU52Ykc5eVRXRjBjbWw0SUhaaGJIVmxjejBpTUNBd0lEQWdNQ0F3SURBZ01DQXdJREFnTUNBd0lEQWdNQ0F3SURBZ01DQXdJREFnTUM0d09UQTJOalEyTWpnMklEQWlJR2x1UFNKemFHRmtiM2RDYkhWeVQzVjBaWEl4SWk4K1BDOW1hV3gwWlhJK1BIQmhkR2dnYVdROUltUWlJR1E5SWswMU1DNDRJREV5U0RNMUxqWk1OREV1TWk0NGFERTFMakpNTlRBdU9DQXhNbm9pTHo0OFptbHNkR1Z5SUhnOUlpMDBOUzQzSlNJZ2VUMGlMVFE1TGpFbElpQjNhV1IwYUQwaU1Ua3hMak1sSWlCb1pXbG5hSFE5SWpJMk9TNDJKU0lnWm1sc2RHVnlWVzVwZEhNOUltOWlhbVZqZEVKdmRXNWthVzVuUW05NElpQnBaRDBpWXlJK1BHWmxUMlptYzJWMElHUjVQU0kwSWlCcGJqMGlVMjkxY21ObFFXeHdhR0VpSUhKbGMzVnNkRDBpYzJoaFpHOTNUMlptYzJWMFQzVjBaWEl4SWk4K1BHWmxSMkYxYzNOcFlXNUNiSFZ5SUhOMFpFUmxkbWxoZEdsdmJqMGlNaTQxSWlCcGJqMGljMmhoWkc5M1QyWm1jMlYwVDNWMFpYSXhJaUJ5WlhOMWJIUTlJbk5vWVdSdmQwSnNkWEpQZFhSbGNqRWlMejQ4Wm1WRGIyMXdiM05wZEdVZ2FXNDlJbk5vWVdSdmQwSnNkWEpQZFhSbGNqRWlJR2x1TWowaVUyOTFjbU5sUVd4d2FHRWlJRzl3WlhKaGRHOXlQU0p2ZFhRaUlISmxjM1ZzZEQwaWMyaGhaRzkzUW14MWNrOTFkR1Z5TVNJdlBqeG1aVU52Ykc5eVRXRjBjbWw0SUhaaGJIVmxjejBpTUNBd0lEQWdNQ0F3SURBZ01DQXdJREFnTUNBd0lEQWdNQ0F3SURBZ01DQXdJREFnTUM0d09UQTJOalEyTWpnMklEQWlJR2x1UFNKemFHRmtiM2RDYkhWeVQzVjBaWEl4SWk4K1BDOW1hV3gwWlhJK1BDOWtaV1p6UGp4bklHWnBiR3c5SW01dmJtVWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0krUEhKbFkzUWdabWxzYkQwaUkwWTNSamhHTmlJZ2QybGtkR2c5SWpFd01DSWdhR1ZwWjJoMFBTSXhNREFpSUhKNFBTSXpOeUl2UGp4bklIUnlZVzV6Wm05eWJUMGlkSEpoYm5Oc1lYUmxLREl5SURJNUtTSStQSFZ6WlNCbWFXeHNQU0lqTURBd0lpQm1hV3gwWlhJOUluVnliQ2dqWVNraUlIaHNhVzVyT21oeVpXWTlJaU5pSWk4K1BIQmhkR2dnYzNSeWIydGxQU0lqTkRBMU1qTTJJaUJ6ZEhKdmEyVXRkMmxrZEdnOUlqSXVOQ0lnWkQwaVRUUTJMakExT0NBeE9DNDRTRE16TGpVME1rd3lPQzQwSURJNUxqQTRNeUF4TkM0NE5UZ2dNa2d5TGpNME1td3lNaTQwSURRMExqaG9OeTR6TVRac01UUXRNamg2SWlCemRISnZhMlV0YkdsdVpXcHZhVzQ5SW5OeGRXRnlaU0lnWm1sc2JEMGlJelF3TlRJek5pSXZQand2Wno0OFp5QjBjbUZ1YzJadmNtMDlJblJ5WVc1emJHRjBaU2d5TWlBeU9Ta2lQangxYzJVZ1ptbHNiRDBpSXpBd01DSWdabWxzZEdWeVBTSjFjbXdvSTJNcElpQjRiR2x1YXpwb2NtVm1QU0lqWkNJdlBqeHdZWFJvSUhOMGNtOXJaVDBpSTBORU5EQXdNQ0lnYzNSeWIydGxMWGRwWkhSb1BTSXlMalFpSUdROUlrMDFNQzR3TlRnZ01UQXVPR3cwTGpRdE9DNDRTRFF4TGprME1td3ROQzQwSURndU9HZ3hNaTQxTVRaNklpQnpkSEp2YTJVdGJHbHVaV3B2YVc0OUluTnhkV0Z5WlNJZ1ptbHNiRDBpSTBORU5EQXdNQ0l2UGp3dlp6NDhjR0YwYUNCa1BTSk5OVFF1TURZZ056VXVPR3d5TGpVM05TMDFMakV4TWt3ek5pNDROVGNnTXpGSU1qUXVNelF5YkRJeUxqUWdORFF1T0dnM0xqTXhPWG9pSUhOMGNtOXJaVDBpSXpRd05USXpOaUlnYzNSeWIydGxMWGRwWkhSb1BTSXlMalFpSUdacGJHdzlJaU0wUVRWRk0wWWlMejQ4Y0dGMGFDQmtQU0pOTlRrdU5pQXpNV2d4TlM0eU1qRk5OVFV1TmlBek5XZ3hOUzR5TWpGTk5URXVOaUF6T1M0NGFERTFMakl5TVNJZ2MzUnliMnRsUFNJalEwUTBNREF3SWlCemRISnZhMlV0ZDJsa2RHZzlJakl1TkNJZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW5OeGRXRnlaU0l2UGp3dlp6NDhMM04yWno0S1wiO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBsb2dvX2RlZmF1bHQgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1sb2dvLm1qcy5tYXAiLCJpbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL0FwcENvbmZpZ3VyYXRpb25Qcm92aWRlci9BcHBDb25maWd1cmF0aW9uUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgbG9nb19ibGFja19hbmRfd2hpdGVfZGVmYXVsdCBmcm9tIFwiLi9pbWcvbG9nby1ibGFjay1hbmQtd2hpdGUubWpzXCI7XG5pbXBvcnQgbG9nb19kZWZhdWx0IGZyb20gXCIuL2ltZy9sb2dvLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vaW5kZXgubWpzXCI7XG5pbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvc3R5bGVzXCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvTG9nby9Mb2dvLnRzeFxuZnVuY3Rpb24gX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX18oKSB7XG5cdHJldHVybiBcIllvdSBoYXZlIHRyaWVkIHRvIHN0cmluZ2lmeSBvYmplY3QgcmV0dXJuZWQgZnJvbSBgY3NzYCBmdW5jdGlvbi4gSXQgaXNuJ3Qgc3VwcG9zZWQgdG8gYmUgdXNlZCBkaXJlY3RseSAoZS5nLiBhcyB2YWx1ZSBvZiB0aGUgYGNsYXNzTmFtZWAgcHJvcCksIGJ1dCByYXRoZXIgaGFuZGVkIHRvIGVtb3Rpb24gc28gaXQgY2FuIGhhbmRsZSBpdCAoZS5nLiBhcyB2YWx1ZSBvZiBgY3NzYCBwcm9wKS5cIjtcbn1cbnZhciBzaXplcyA9IHtcblx0XCJ4LXNtYWxsXCI6IFwiMzBweFwiLFxuXHRzbWFsbDogXCI0MHB4XCIsXG5cdGJpZzogXCI5MHB4XCJcbn07XG52YXIgbG9nb3MgPSB7XG5cdGxpZ2h0OiBsb2dvX2RlZmF1bHQsXG5cdGRhcms6IGxvZ29fYmxhY2tfYW5kX3doaXRlX2RlZmF1bHRcbn07XG52YXIgTG9nbyA9ICh7IHNpemUsIG9uQ2xpY2ssIGNsYXNzTmFtZSwgaXNEZWZhdWx0ID0gZmFsc2UsIHRpdGxlID0gXCJcIiB9KSA9PiB7XG5cdGNvbnN0IHsgY29uZmlnT3B0aW9ucyB9ID0gdXNlQ29uZmlnKCk7XG5cdGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblx0aWYgKCFpc0RlZmF1bHQgJiYgY29uZmlnT3B0aW9ucz8ubG9nbykge1xuXHRcdGNvbnN0IGxvZ29TcmMgPSB0aGVtZS5wYWxldHRlLm1vZGUgPT09IFwiZGFya1wiICYmIGNvbmZpZ09wdGlvbnMubG9nb0RhcmsgPyBjb25maWdPcHRpb25zLmxvZ29EYXJrIDogY29uZmlnT3B0aW9ucy5sb2dvO1xuXHRcdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KEltYWdlTG9nbywge1xuXHRcdFx0Y2xhc3NOYW1lLFxuXHRcdFx0b25DbGljayxcblx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFwiaW1nXCIsIHtcblx0XHRcdFx0YWx0OiB0aXRsZSxcblx0XHRcdFx0XCJkYXRhLXRlc3RpZFwiOiBcImN1c3RvbS1sb2dvXCIsXG5cdFx0XHRcdGhlaWdodDogXCI0MHB4XCIsXG5cdFx0XHRcdHNyYzogbG9nb1NyY1xuXHRcdFx0fSlcblx0XHR9KTtcblx0fVxuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTdHlsZWRMb2dvLCB7XG5cdFx0Y2xhc3NOYW1lLFxuXHRcdFwiZGF0YS10ZXN0aWRcIjogXCJkZWZhdWx0LWxvZ29cIixcblx0XHRvbkNsaWNrLFxuXHRcdHNpemUsXG5cdFx0dGl0bGVcblx0fSk7XG59O1xudmFyIEltYWdlTG9nbyA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwiZGl2XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImV4YmFuMDExXCIgfSA6IHtcblx0dGFyZ2V0OiBcImV4YmFuMDExXCIsXG5cdGxhYmVsOiBcIkltYWdlTG9nb1wiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwibHllbDVsXCIsXG5cdHN0eWxlczogXCJmb250LXNpemU6MFwiXG59IDoge1xuXHRuYW1lOiBcImx5ZWw1bFwiLFxuXHRzdHlsZXM6IFwiZm9udC1zaXplOjAvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5TWIyZHZMMHh2WjI4dWRITjRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRWGRFYTBJaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OWpiMjF3YjI1bGJuUnpMMHh2WjI4dlRHOW5ieTUwYzNnaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2MzUjViR1ZrSUdaeWIyMGdKMEJsYlc5MGFXOXVMM04wZVd4bFpDYzdYRzVwYlhCdmNuUWdleUIxYzJWVWFHVnRaU0I5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dmMzUjViR1Z6Snp0Y2JtbHRjRzl5ZENCU1pXRmpkQ0JtY205dElDZHlaV0ZqZENjN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOG5PMXh1YVcxd2IzSjBJSHNnZFhObFEyOXVabWxuSUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYm1sdGNHOXlkQ0JpYkdGamEwRnVaRmRwZEdoTWIyZHZJR1p5YjIwZ0p5NHZhVzFuTDJ4dloyOHRZbXhoWTJzdFlXNWtMWGRvYVhSbExuTjJaeWM3WEc1cGJYQnZjblFnWkdWbVlYVnNkRXh2WjI4Z1puSnZiU0FuTGk5cGJXY3ZiRzluYnk1emRtY25PMXh1WEc1amIyNXpkQ0J6YVhwbGN5QTlJSHRjYmlBZ0ozZ3RjMjFoYkd3bk9pQW5NekJ3ZUNjc1hHNGdJSE50WVd4c09pQW5OREJ3ZUNjc1hHNGdJR0pwWnpvZ0p6a3djSGduTEZ4dWZUdGNibHh1WTI5dWMzUWdiRzluYjNNZ1BTQjdYRzRnSUd4cFoyaDBPaUJrWldaaGRXeDBURzluYnl4Y2JpQWdaR0Z5YXpvZ1lteGhZMnRCYm1SWGFYUm9URzluYnl4Y2JuMDdYRzVjYm1sdWRHVnlabUZqWlNCUWNtOXdjeUI3WEc0Z0lITnBlbVUvT2lCclpYbHZaaUIwZVhCbGIyWWdjMmw2WlhNN1hHNGdJRzl1UTJ4cFkycy9PaUFvS1NBOVBpQjJiMmxrTzF4dUlDQmpiR0Z6YzA1aGJXVS9PaUJ6ZEhKcGJtYzdYRzRnSUdselJHVm1ZWFZzZEQ4NklHSnZiMnhsWVc0N1hHNGdJSFJwZEd4bFB6b2djM1J5YVc1bk8xeHVmVnh1WEc1amIyNXpkQ0JNYjJkdk9pQlNaV0ZqZEM1R1F6eFFjbTl3Y3o0Z1BTQW9leUJ6YVhwbExDQnZia05zYVdOckxDQmpiR0Z6YzA1aGJXVXNJR2x6UkdWbVlYVnNkQ0E5SUdaaGJITmxMQ0IwYVhSc1pTQTlJQ2NuSUgwcElEMCtJSHRjYmlBZ1kyOXVjM1FnZXlCamIyNW1hV2RQY0hScGIyNXpJSDBnUFNCMWMyVkRiMjVtYVdjb0tUdGNiaUFnWTI5dWMzUWdkR2hsYldVNklGUm9aVzFsSUQwZ2RYTmxWR2hsYldVb0tUdGNiaUFnYVdZZ0tDRnBjMFJsWm1GMWJIUWdKaVlnWTI5dVptbG5UM0IwYVc5dWN6OHViRzluYnlrZ2UxeHVJQ0FnSUdOdmJuTjBJR3h2WjI5VGNtTWdQVnh1SUNBZ0lDQWdkR2hsYldVdWNHRnNaWFIwWlM1dGIyUmxJRDA5UFNBblpHRnlheWNnSmlZZ1kyOXVabWxuVDNCMGFXOXVjeTVzYjJkdlJHRnlhMXh1SUNBZ0lDQWdJQ0EvSUdOdmJtWnBaMDl3ZEdsdmJuTXViRzluYjBSaGNtdGNiaUFnSUNBZ0lDQWdPaUJqYjI1bWFXZFBjSFJwYjI1ekxteHZaMjg3WEc0Z0lDQWdjbVYwZFhKdUlDaGNiaUFnSUNBZ0lEeEpiV0ZuWlV4dloyOGdZMnhoYzNOT1lXMWxQWHRqYkdGemMwNWhiV1Y5SUc5dVEyeHBZMnM5ZTI5dVEyeHBZMnQ5UGx4dUlDQWdJQ0FnSUNBOGFXMW5JR0ZzZEQxN2RHbDBiR1Y5SUdSaGRHRXRkR1Z6ZEdsa1BYc25ZM1Z6ZEc5dExXeHZaMjhuZlNCb1pXbG5hSFE5WENJME1IQjRYQ0lnYzNKalBYdHNiMmR2VTNKamZTQXZQbHh1SUNBZ0lDQWdQQzlKYldGblpVeHZaMjgrWEc0Z0lDQWdLVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRk4wZVd4bFpFeHZaMjljYmlBZ0lDQWdJR05zWVhOelRtRnRaVDE3WTJ4aGMzTk9ZVzFsZlZ4dUlDQWdJQ0FnWkdGMFlTMTBaWE4wYVdROWV5ZGtaV1poZFd4MExXeHZaMjhuZlZ4dUlDQWdJQ0FnYjI1RGJHbGphejE3YjI1RGJHbGphMzFjYmlBZ0lDQWdJSE5wZW1VOWUzTnBlbVY5WEc0Z0lDQWdJQ0IwYVhSc1pUMTdkR2wwYkdWOVhHNGdJQ0FnTHo1Y2JpQWdLVHRjYm4wN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElFeHZaMjg3WEc1Y2JtTnZibk4wSUVsdFlXZGxURzluYnlBOUlITjBlV3hsWkNnblpHbDJKeWtvZTF4dUlDQm1iMjUwVTJsNlpUb2dNQ3hjYm4wcE8xeHVYRzVqYjI1emRDQlRkSGxzWldSTWIyZHZJRDBnYzNSNWJHVmtLQ2RrYVhZbktUeFFjbTl3Y3lBbUlIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUJ6YVhwbElEMGdKM050WVd4c0p5d2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMmx1YkdsdVpTMWliRzlqYXljc1hHNGdJSFpsY25ScFkyRnNRV3hwWjI0NklDZHRhV1JrYkdVbkxGeHVJQ0JpYjNoVGFYcHBibWM2SUNkaWIzSmtaWEl0WW05NEp5eGNiaUFnWW1GamEyZHliM1Z1WkZCdmMybDBhVzl1T2lBblkyVnVkR1Z5Snl4Y2JpQWdZbUZqYTJkeWIzVnVaRk5wZW1VNklDZGpiMjUwWVdsdUp5eGNiaUFnWW1GamEyZHliM1Z1WkVsdFlXZGxPaUJnZFhKc0tDUjdiRzluYjNOYmRHaGxiV1V1Y0dGc1pYUjBaUzV0YjJSbFhYMHBZQ3hjYmlBZ1ltRmphMmR5YjNWdVpGSmxjR1ZoZERvZ0p5QnVieTF5WlhCbFlYUW5MRnh1SUNCM2FXUjBhRG9nYzJsNlpYTmJjMmw2WlYwc1hHNGdJR2hsYVdkb2REb2djMmw2WlhOYmMybDZaVjBzWEc1OUtTazdYRzRpWFgwPSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIFN0eWxlZExvZ28gPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcImRpdlwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJleGJhbjAxMFwiIH0gOiB7XG5cdHRhcmdldDogXCJleGJhbjAxMFwiLFxuXHRsYWJlbDogXCJTdHlsZWRMb2dvXCJcbn0pKCh7IHNpemUgPSBcInNtYWxsXCIsIHRoZW1lIH0pID0+ICh7XG5cdGRpc3BsYXk6IFwiaW5saW5lLWJsb2NrXCIsXG5cdHZlcnRpY2FsQWxpZ246IFwibWlkZGxlXCIsXG5cdGJveFNpemluZzogXCJib3JkZXItYm94XCIsXG5cdGJhY2tncm91bmRQb3NpdGlvbjogXCJjZW50ZXJcIixcblx0YmFja2dyb3VuZFNpemU6IFwiY29udGFpblwiLFxuXHRiYWNrZ3JvdW5kSW1hZ2U6IGB1cmwoJHtsb2dvc1t0aGVtZS5wYWxldHRlLm1vZGVdfSlgLFxuXHRiYWNrZ3JvdW5kUmVwZWF0OiBcIiBuby1yZXBlYXRcIixcblx0d2lkdGg6IHNpemVzW3NpemVdLFxuXHRoZWlnaHQ6IHNpemVzW3NpemVdXG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OU1iMmR2TDB4dloyOHVkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVRSRWJVSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDB4dloyOHZURzluYnk1MGMzZ2lMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdjM1I1YkdWa0lHWnliMjBnSjBCbGJXOTBhVzl1TDNOMGVXeGxaQ2M3WEc1cGJYQnZjblFnZXlCMWMyVlVhR1Z0WlNCOUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZjM1I1YkdWekp6dGNibWx0Y0c5eWRDQlNaV0ZqZENCbWNtOXRJQ2R5WldGamRDYzdYRzVjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaThuTzF4dWFXMXdiM0owSUhzZ2RYTmxRMjl1Wm1sbklIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCaWJHRmphMEZ1WkZkcGRHaE1iMmR2SUdaeWIyMGdKeTR2YVcxbkwyeHZaMjh0WW14aFkyc3RZVzVrTFhkb2FYUmxMbk4yWnljN1hHNXBiWEJ2Y25RZ1pHVm1ZWFZzZEV4dloyOGdabkp2YlNBbkxpOXBiV2N2Ykc5bmJ5NXpkbWNuTzF4dVhHNWpiMjV6ZENCemFYcGxjeUE5SUh0Y2JpQWdKM2d0YzIxaGJHd25PaUFuTXpCd2VDY3NYRzRnSUhOdFlXeHNPaUFuTkRCd2VDY3NYRzRnSUdKcFp6b2dKemt3Y0hnbkxGeHVmVHRjYmx4dVkyOXVjM1FnYkc5bmIzTWdQU0I3WEc0Z0lHeHBaMmgwT2lCa1pXWmhkV3gwVEc5bmJ5eGNiaUFnWkdGeWF6b2dZbXhoWTJ0QmJtUlhhWFJvVEc5bmJ5eGNibjA3WEc1Y2JtbHVkR1Z5Wm1GalpTQlFjbTl3Y3lCN1hHNGdJSE5wZW1VL09pQnJaWGx2WmlCMGVYQmxiMllnYzJsNlpYTTdYRzRnSUc5dVEyeHBZMnMvT2lBb0tTQTlQaUIyYjJsa08xeHVJQ0JqYkdGemMwNWhiV1UvT2lCemRISnBibWM3WEc0Z0lHbHpSR1ZtWVhWc2REODZJR0p2YjJ4bFlXNDdYRzRnSUhScGRHeGxQem9nYzNSeWFXNW5PMXh1ZlZ4dVhHNWpiMjV6ZENCTWIyZHZPaUJTWldGamRDNUdRenhRY205d2N6NGdQU0FvZXlCemFYcGxMQ0J2YmtOc2FXTnJMQ0JqYkdGemMwNWhiV1VzSUdselJHVm1ZWFZzZENBOUlHWmhiSE5sTENCMGFYUnNaU0E5SUNjbklIMHBJRDArSUh0Y2JpQWdZMjl1YzNRZ2V5QmpiMjVtYVdkUGNIUnBiMjV6SUgwZ1BTQjFjMlZEYjI1bWFXY29LVHRjYmlBZ1kyOXVjM1FnZEdobGJXVTZJRlJvWlcxbElEMGdkWE5sVkdobGJXVW9LVHRjYmlBZ2FXWWdLQ0ZwYzBSbFptRjFiSFFnSmlZZ1kyOXVabWxuVDNCMGFXOXVjejh1Ykc5bmJ5a2dlMXh1SUNBZ0lHTnZibk4wSUd4dloyOVRjbU1nUFZ4dUlDQWdJQ0FnZEdobGJXVXVjR0ZzWlhSMFpTNXRiMlJsSUQwOVBTQW5aR0Z5YXljZ0ppWWdZMjl1Wm1sblQzQjBhVzl1Y3k1c2IyZHZSR0Z5YTF4dUlDQWdJQ0FnSUNBL0lHTnZibVpwWjA5d2RHbHZibk11Ykc5bmIwUmhjbXRjYmlBZ0lDQWdJQ0FnT2lCamIyNW1hV2RQY0hScGIyNXpMbXh2WjI4N1hHNGdJQ0FnY21WMGRYSnVJQ2hjYmlBZ0lDQWdJRHhKYldGblpVeHZaMjhnWTJ4aGMzTk9ZVzFsUFh0amJHRnpjMDVoYldWOUlHOXVRMnhwWTJzOWUyOXVRMnhwWTJ0OVBseHVJQ0FnSUNBZ0lDQThhVzFuSUdGc2REMTdkR2wwYkdWOUlHUmhkR0V0ZEdWemRHbGtQWHNuWTNWemRHOXRMV3h2WjI4bmZTQm9aV2xuYUhROVhDSTBNSEI0WENJZ2MzSmpQWHRzYjJkdlUzSmpmU0F2UGx4dUlDQWdJQ0FnUEM5SmJXRm5aVXh2WjI4K1hHNGdJQ0FnS1R0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEZOMGVXeGxaRXh2WjI5Y2JpQWdJQ0FnSUdOc1lYTnpUbUZ0WlQxN1kyeGhjM05PWVcxbGZWeHVJQ0FnSUNBZ1pHRjBZUzEwWlhOMGFXUTlleWRrWldaaGRXeDBMV3h2WjI4bmZWeHVJQ0FnSUNBZ2IyNURiR2xqYXoxN2IyNURiR2xqYTMxY2JpQWdJQ0FnSUhOcGVtVTllM05wZW1WOVhHNGdJQ0FnSUNCMGFYUnNaVDE3ZEdsMGJHVjlYRzRnSUNBZ0x6NWNiaUFnS1R0Y2JuMDdYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJRXh2WjI4N1hHNWNibU52Ym5OMElFbHRZV2RsVEc5bmJ5QTlJSE4wZVd4bFpDZ25aR2wySnlrb2UxeHVJQ0JtYjI1MFUybDZaVG9nTUN4Y2JuMHBPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUk1iMmR2SUQwZ2MzUjViR1ZrS0Nka2FYWW5LVHhRY205d2N5QW1JSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCemFYcGxJRDBnSjNOdFlXeHNKeXdnZEdobGJXVWdmU2tnUFQ0Z0tIdGNiaUFnWkdsemNHeGhlVG9nSjJsdWJHbHVaUzFpYkc5amF5Y3NYRzRnSUhabGNuUnBZMkZzUVd4cFoyNDZJQ2R0YVdSa2JHVW5MRnh1SUNCaWIzaFRhWHBwYm1jNklDZGliM0prWlhJdFltOTRKeXhjYmlBZ1ltRmphMmR5YjNWdVpGQnZjMmwwYVc5dU9pQW5ZMlZ1ZEdWeUp5eGNiaUFnWW1GamEyZHliM1Z1WkZOcGVtVTZJQ2RqYjI1MFlXbHVKeXhjYmlBZ1ltRmphMmR5YjNWdVpFbHRZV2RsT2lCZ2RYSnNLQ1I3Ykc5bmIzTmJkR2hsYldVdWNHRnNaWFIwWlM1dGIyUmxYWDBwWUN4Y2JpQWdZbUZqYTJkeWIzVnVaRkpsY0dWaGREb2dKeUJ1YnkxeVpYQmxZWFFuTEZ4dUlDQjNhV1IwYURvZ2MybDZaWE5iYzJsNlpWMHNYRzRnSUdobGFXZG9kRG9nYzJsNlpYTmJjMmw2WlYwc1hHNTlLU2s3WEc0aVhYMD0gKi9cIik7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IExvZ28gYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Mb2dvLm1qcy5tYXAiLCJpbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCBNYXRlcmlhbFVJTWVudUl0ZW0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvTWVudUl0ZW1cIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9NZW51SXRlbS9NZW51SXRlbS50c3hcbmZ1bmN0aW9uIF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fKCkge1xuXHRyZXR1cm4gXCJZb3UgaGF2ZSB0cmllZCB0byBzdHJpbmdpZnkgb2JqZWN0IHJldHVybmVkIGZyb20gYGNzc2AgZnVuY3Rpb24uIEl0IGlzbid0IHN1cHBvc2VkIHRvIGJlIHVzZWQgZGlyZWN0bHkgKGUuZy4gYXMgdmFsdWUgb2YgdGhlIGBjbGFzc05hbWVgIHByb3ApLCBidXQgcmF0aGVyIGhhbmRlZCB0byBlbW90aW9uIHNvIGl0IGNhbiBoYW5kbGUgaXQgKGUuZy4gYXMgdmFsdWUgb2YgYGNzc2AgcHJvcCkuXCI7XG59XG52YXIgTWVudUl0ZW0gPSBmdW5jdGlvbiBNZW51SXRlbSh7IHJlZiwgY29tcG9uZW50ID0gXCJsaVwiLCAuLi5wcm9wcyB9KSB7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFN0eWxlZE1hdGVyaWFsVUlNZW51SXRlbSwge1xuXHRcdGNvbXBvbmVudCxcblx0XHQuLi5wcm9wcyxcblx0XHRyZWZcblx0fSk7XG59O1xudmFyIFN0eWxlZE1hdGVyaWFsVUlNZW51SXRlbSA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKE1hdGVyaWFsVUlNZW51SXRlbSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTRoeGk0dTBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTRoeGk0dTBcIixcblx0bGFiZWw6IFwiU3R5bGVkTWF0ZXJpYWxVSU1lbnVJdGVtXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCIxMm1rZmR4XCIsXG5cdHN0eWxlczogXCJvdXRsaW5lOm5vbmVcIlxufSA6IHtcblx0bmFtZTogXCIxMm1rZmR4XCIsXG5cdHN0eWxlczogXCJvdXRsaW5lOm5vbmUvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5TlpXNTFTWFJsYlM5TlpXNTFTWFJsYlM1MGMzZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJkVUpwUXlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwyTnZiWEJ2Ym1WdWRITXZUV1Z1ZFVsMFpXMHZUV1Z1ZFVsMFpXMHVkSE40SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVhVzF3YjNKMElIUjVjR1VnZXlCTlpXNTFTWFJsYlZCeWIzQnpJSDBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5TlpXNTFTWFJsYlNjN1hHNXBiWEJ2Y25RZ2V5QmtaV1poZFd4MElHRnpJRTFoZEdWeWFXRnNWVWxOWlc1MVNYUmxiU0I5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRXVnVkVWwwWlcwbk8xeHVhVzF3YjNKMElGSmxZV04wSUdaeWIyMGdKM0psWVdOMEp6dGNibHh1ZEhsd1pTQklWRTFNUld4bGJXVnVkRlJoWjA1aGJXVWdQU0JyWlhsdlppQklWRTFNUld4bGJXVnVkRlJoWjA1aGJXVk5ZWEE3WEc1MGVYQmxJRTFsYm5WSmRHVnRVbVZtSUQwZ1NGUk5URVZzWlcxbGJuUlVZV2RPWVcxbFRXRndXMGhVVFV4RmJHVnRaVzUwVkdGblRtRnRaVjA3WEc1Y2JtbHVkR1Z5Wm1GalpTQlFjbTl3Y3lCbGVIUmxibVJ6SUU5dGFYUThUV1Z1ZFVsMFpXMVFjbTl3Y3l3Z0oyTnZiWEJ2Ym1WdWRDYytJSHRjYmlBZ1kyOXRjRzl1Wlc1MFB6b2dTRlJOVEVWc1pXMWxiblJVWVdkT1lXMWxPMXh1ZlZ4dVhHNWpiMjV6ZENCTlpXNTFTWFJsYlNBOUlHWjFibU4wYVc5dUlFMWxiblZKZEdWdEtIdGNiaUFnY21WbUxGeHVJQ0JqYjIxd2IyNWxiblFnUFNBbmJHa25MRnh1SUNBdUxpNXdjbTl3YzF4dWZUb2dVSEp2Y0hNZ0ppQjdJSEpsWmo4NklGSmxZV04wTGxKbFprOWlhbVZqZER4TlpXNTFTWFJsYlZKbFppQjhJRzUxYkd3K0lIMHBJSHRjYmlBZ0x5OGdhWFFnYzJWbGJYTWdkSGx3WlhOamNtbHdkQ0JvWVhNZ2MyOXRaU0JrYVhOamNtbHRhVzVoZEdsdmJpQjBlWEJsSUd4cGJXbDBhVzl1Y3k0Z1VHeGxZWE5sSUhObFpUb2dhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMMjExYVMxdmNtY3ZiV0YwWlhKcFlXd3RkV2t2YVhOemRXVnpMekUwT1RjeFhHNGdJQzh2SUVCMGN5MXBaMjV2Y21VZ1ZIbHdaU0JVZVhCbGN5QnZaaUJ3Y205d1pYSjBlU0FuWW5WMGRHOXVKeUJoY21VZ2FXNWpiMjF3WVhScFlteGxMbHh1SUNCeVpYUjFjbTRnUEZOMGVXeGxaRTFoZEdWeWFXRnNWVWxOWlc1MVNYUmxiU0JqYjIxd2IyNWxiblE5ZTJOdmJYQnZibVZ1ZEgwZ2V5NHVMbkJ5YjNCemZTQnlaV1k5ZTNKbFppQmhjeUJoYm5sOUlDOCtPMXh1ZlR0Y2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ1RXVnVkVWwwWlcwN1hHNWpiMjV6ZENCVGRIbHNaV1JOWVhSbGNtbGhiRlZKVFdWdWRVbDBaVzBnUFNCemRIbHNaV1FvVFdGMFpYSnBZV3hWU1UxbGJuVkpkR1Z0S1NoN1hHNGdJRzkxZEd4cGJtVTZJQ2R1YjI1bEp5eGNibjBwTzF4dUlsMTkgKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgTWVudUl0ZW0gYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1NZW51SXRlbS5tanMubWFwIiwiaW1wb3J0IEhlYWRpbmcgZnJvbSBcIi4uL0hlYWRpbmcvSGVhZGluZy5tanNcIjtcbmltcG9ydCBcIi4uL0hlYWRpbmcvaW5kZXgubWpzXCI7XG5pbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2sgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBCb3ggZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQm94XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgeyBjb21tb24gfSBmcm9tIFwiQG11aS9tYXRlcmlhbC9jb2xvcnNcIjtcbmltcG9ydCB7IHVzZU5hdmlnYXRlIH0gZnJvbSBcInJlYWN0LXJvdXRlclwiO1xuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiQG11aS9tYXRlcmlhbC9CdXR0b25cIjtcbmltcG9ydCBGb2xkZXJPZmZJY29uIGZyb20gXCJAbXVpL2ljb25zLW1hdGVyaWFsL0ZvbGRlck9mZlwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL05vdEZvdW5kL05vdEZvdW5kLnRzeFxuZnVuY3Rpb24gX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX18oKSB7XG5cdHJldHVybiBcIllvdSBoYXZlIHRyaWVkIHRvIHN0cmluZ2lmeSBvYmplY3QgcmV0dXJuZWQgZnJvbSBgY3NzYCBmdW5jdGlvbi4gSXQgaXNuJ3Qgc3VwcG9zZWQgdG8gYmUgdXNlZCBkaXJlY3RseSAoZS5nLiBhcyB2YWx1ZSBvZiB0aGUgYGNsYXNzTmFtZWAgcHJvcCksIGJ1dCByYXRoZXIgaGFuZGVkIHRvIGVtb3Rpb24gc28gaXQgY2FuIGhhbmRsZSBpdCAoZS5nLiBhcyB2YWx1ZSBvZiBgY3NzYCBwcm9wKS5cIjtcbn1cbnZhciBOb3RGb3VuZCA9ICgpID0+IHtcblx0Y29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdGNvbnN0IGhhbmRsZUdvSG9tZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcblx0XHRuYXZpZ2F0ZShcIi9cIik7XG5cdH0sIFtuYXZpZ2F0ZV0pO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoQm94LCB7XG5cdFx0YWxpZ25JdGVtczogXCJjZW50ZXJcIixcblx0XHRcImRhdGEtdGVzdGlkXCI6IFwiNDA0XCIsXG5cdFx0ZGlzcGxheTogXCJmbGV4XCIsXG5cdFx0ZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcblx0XHRmbGV4R3JvdzogMSxcblx0XHRqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcblx0XHRwOiAyLFxuXHRcdGNoaWxkcmVuOiBbXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KENvbnRhaW5lciwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChGb2xkZXJPZmZJY29uLCB7XG5cdFx0XHRcdGNvbG9yOiBcInByaW1hcnlcIixcblx0XHRcdFx0c3R5bGU6IHsgZm9udFNpemU6IDIzNiB9XG5cdFx0XHR9KSB9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goU3R5bGVkSGVhZGluZywge1xuXHRcdFx0XHRjbGFzc05hbWU6IFwibm90LWZvdW5kLXRleHRcIixcblx0XHRcdFx0dmFyaWFudDogXCJoNFwiLFxuXHRcdFx0XHRjaGlsZHJlbjogdChcImVycm9yLjQwNC5zb3JyeS13ZS1jb3VsZC1ub3QtZmluZC1pdFwiKVxuXHRcdFx0fSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KEJ1dHRvbiwge1xuXHRcdFx0XHRcImRhdGEtdGVzdGlkXCI6IFwibm90LWZvdW5kLWdvLXRvLWhvbWUtYnV0dG9uXCIsXG5cdFx0XHRcdG9uQ2xpY2s6IGhhbmRsZUdvSG9tZSxcblx0XHRcdFx0dmFyaWFudDogXCJjb250YWluZWRcIixcblx0XHRcdFx0Y2hpbGRyZW46IHQoXCJidXR0b24uZ28tdG8tdGhlLWhvbWUtcGFnZVwiKVxuXHRcdFx0fSlcblx0XHRdXG5cdH0pO1xufTtcbnZhciBDb250YWluZXIgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcImRpdlwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlODVsaGZ3MVwiIH0gOiB7XG5cdHRhcmdldDogXCJlODVsaGZ3MVwiLFxuXHRsYWJlbDogXCJDb250YWluZXJcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjl0aDVpXCIsXG5cdHN0eWxlczogXCJtYXJnaW46MCBhdXRvXCJcbn0gOiB7XG5cdG5hbWU6IFwiOXRoNWlcIixcblx0c3R5bGVzOiBcIm1hcmdpbjowIGF1dG8vKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5T2IzUkdiM1Z1WkM5T2IzUkdiM1Z1WkM1MGMzZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJOa05yUWlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwyTnZiWEJ2Ym1WdWRITXZUbTkwUm05MWJtUXZUbTkwUm05MWJtUXVkSE40SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVhVzF3YjNKMElFWnZiR1JsY2s5bVprbGpiMjRnWm5KdmJTQW5RRzExYVM5cFkyOXVjeTF0WVhSbGNtbGhiQzlHYjJ4a1pYSlBabVluTzF4dWFXMXdiM0owSUVKdmVDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMEp2ZUNjN1hHNXBiWEJ2Y25RZ1FuVjBkRzl1SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlFuVjBkRzl1Snp0Y2JtbHRjRzl5ZENCN0lHTnZiVzF2YmlCOUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZZMjlzYjNKekp6dGNibWx0Y0c5eWRDQlNaV0ZqZEN3Z2V5QjFjMlZEWVd4c1ltRmpheUI5SUdaeWIyMGdKM0psWVdOMEp6dGNibWx0Y0c5eWRDQjdJSFZ6WlZSeVlXNXpiR0YwYVc5dUlIMGdabkp2YlNBbmNtVmhZM1F0YVRFNGJtVjRkQ2M3WEc1cGJYQnZjblFnZXlCMWMyVk9ZWFpwWjJGMFpTQjlJR1p5YjIwZ0ozSmxZV04wTFhKdmRYUmxjaWM3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk4bk8xeHVhVzF3YjNKMElFaGxZV1JwYm1jZ1puSnZiU0FuTGk0dlNHVmhaR2x1WnljN1hHNWNibU52Ym5OMElFNXZkRVp2ZFc1a09pQlNaV0ZqZEM1R1F5QTlJQ2dwSUQwK0lIdGNiaUFnWTI5dWMzUWdibUYyYVdkaGRHVWdQU0IxYzJWT1lYWnBaMkYwWlNncE8xeHVJQ0JqYjI1emRDQjdJSFFnZlNBOUlIVnpaVlJ5WVc1emJHRjBhVzl1S0NrN1hHNWNiaUFnWTI5dWMzUWdhR0Z1Wkd4bFIyOUliMjFsSUQwZ2RYTmxRMkZzYkdKaFkyc29LQ2tnUFQ0Z2UxeHVJQ0FnSUc1aGRtbG5ZWFJsS0Njdkp5azdYRzRnSUgwc0lGdHVZWFpwWjJGMFpWMHBPMXh1WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEVKdmVGeHVJQ0FnSUNBZ1lXeHBaMjVKZEdWdGN6MWNJbU5sYm5SbGNsd2lYRzRnSUNBZ0lDQmtZWFJoTFhSbGMzUnBaRDFjSWpRd05Gd2lYRzRnSUNBZ0lDQmthWE53YkdGNVBWd2labXhsZUZ3aVhHNGdJQ0FnSUNCbWJHVjRSR2x5WldOMGFXOXVQVndpWTI5c2RXMXVYQ0pjYmlBZ0lDQWdJR1pzWlhoSGNtOTNQWHN4ZlZ4dUlDQWdJQ0FnYW5WemRHbG1lVU52Ym5SbGJuUTlYQ0pqWlc1MFpYSmNJbHh1SUNBZ0lDQWdjRDE3TW4xY2JpQWdJQ0ErWEc0Z0lDQWdJQ0E4UTI5dWRHRnBibVZ5UGx4dUlDQWdJQ0FnSUNBOFJtOXNaR1Z5VDJabVNXTnZiaUJqYjJ4dmNqMWNJbkJ5YVcxaGNubGNJaUJ6ZEhsc1pUMTdleUJtYjI1MFUybDZaVG9nTWpNMklIMTlJQzgrWEc0Z0lDQWdJQ0E4TDBOdmJuUmhhVzVsY2o1Y2JpQWdJQ0FnSUR4VGRIbHNaV1JJWldGa2FXNW5JR05zWVhOelRtRnRaVDFjSW01dmRDMW1iM1Z1WkMxMFpYaDBYQ0lnZG1GeWFXRnVkRDFjSW1nMFhDSStYRzRnSUNBZ0lDQWdJSHQwS0NkbGNuSnZjaTQwTURRdWMyOXljbmt0ZDJVdFkyOTFiR1F0Ym05MExXWnBibVF0YVhRbktYMWNiaUFnSUNBZ0lEd3ZVM1I1YkdWa1NHVmhaR2x1Wno1Y2JpQWdJQ0FnSUR4Q2RYUjBiMjRnWkdGMFlTMTBaWE4wYVdROVhDSnViM1F0Wm05MWJtUXRaMjh0ZEc4dGFHOXRaUzFpZFhSMGIyNWNJaUJ2YmtOc2FXTnJQWHRvWVc1a2JHVkhiMGh2YldWOUlIWmhjbWxoYm5ROVhDSmpiMjUwWVdsdVpXUmNJajVjYmlBZ0lDQWdJQ0FnZTNRb0oySjFkSFJ2Ymk1bmJ5MTBieTEwYUdVdGFHOXRaUzF3WVdkbEp5bDlYRzRnSUNBZ0lDQThMMEoxZEhSdmJqNWNiaUFnSUNBOEwwSnZlRDVjYmlBZ0tUdGNibjA3WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUU1dmRFWnZkVzVrTzF4dVhHNWpiMjV6ZENCRGIyNTBZV2x1WlhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwS0h0Y2JpQWdiV0Z5WjJsdU9pQW5NQ0JoZFhSdkp5eGNibjBwTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JJWldGa2FXNW5JRDBnYzNSNWJHVmtLRWhsWVdScGJtY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCamIyeHZjam9nZEdobGJXVXVjR0ZzWlhSMFpTNXRiMlJsSUQwOVBTQW5iR2xuYUhRbklEOGdkR2hsYldVdWNHRnNaWFIwWlM1d2NtbHRZWEo1TG0xaGFXNGdPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJRzFoY21kcGJrSnZkSFJ2YlRvZ01UWXNYRzU5S1NrN1hHNGlYWDA9ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgU3R5bGVkSGVhZGluZyA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKEhlYWRpbmcsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImU4NWxoZncwXCIgfSA6IHtcblx0dGFyZ2V0OiBcImU4NWxoZncwXCIsXG5cdGxhYmVsOiBcIlN0eWxlZEhlYWRpbmdcIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0Y29sb3I6IHRoZW1lLnBhbGV0dGUubW9kZSA9PT0gXCJsaWdodFwiID8gdGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW4gOiBjb21tb24ud2hpdGUsXG5cdG1hcmdpbkJvdHRvbTogMTZcbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5T2IzUkdiM1Z1WkM5T2IzUkdiM1Z1WkM1MGMzZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJhVVJ6UWlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwyTnZiWEJ2Ym1WdWRITXZUbTkwUm05MWJtUXZUbTkwUm05MWJtUXVkSE40SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVhVzF3YjNKMElFWnZiR1JsY2s5bVprbGpiMjRnWm5KdmJTQW5RRzExYVM5cFkyOXVjeTF0WVhSbGNtbGhiQzlHYjJ4a1pYSlBabVluTzF4dWFXMXdiM0owSUVKdmVDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMEp2ZUNjN1hHNXBiWEJ2Y25RZ1FuVjBkRzl1SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlFuVjBkRzl1Snp0Y2JtbHRjRzl5ZENCN0lHTnZiVzF2YmlCOUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZZMjlzYjNKekp6dGNibWx0Y0c5eWRDQlNaV0ZqZEN3Z2V5QjFjMlZEWVd4c1ltRmpheUI5SUdaeWIyMGdKM0psWVdOMEp6dGNibWx0Y0c5eWRDQjdJSFZ6WlZSeVlXNXpiR0YwYVc5dUlIMGdabkp2YlNBbmNtVmhZM1F0YVRFNGJtVjRkQ2M3WEc1cGJYQnZjblFnZXlCMWMyVk9ZWFpwWjJGMFpTQjlJR1p5YjIwZ0ozSmxZV04wTFhKdmRYUmxjaWM3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk4bk8xeHVhVzF3YjNKMElFaGxZV1JwYm1jZ1puSnZiU0FuTGk0dlNHVmhaR2x1WnljN1hHNWNibU52Ym5OMElFNXZkRVp2ZFc1a09pQlNaV0ZqZEM1R1F5QTlJQ2dwSUQwK0lIdGNiaUFnWTI5dWMzUWdibUYyYVdkaGRHVWdQU0IxYzJWT1lYWnBaMkYwWlNncE8xeHVJQ0JqYjI1emRDQjdJSFFnZlNBOUlIVnpaVlJ5WVc1emJHRjBhVzl1S0NrN1hHNWNiaUFnWTI5dWMzUWdhR0Z1Wkd4bFIyOUliMjFsSUQwZ2RYTmxRMkZzYkdKaFkyc29LQ2tnUFQ0Z2UxeHVJQ0FnSUc1aGRtbG5ZWFJsS0Njdkp5azdYRzRnSUgwc0lGdHVZWFpwWjJGMFpWMHBPMXh1WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEVKdmVGeHVJQ0FnSUNBZ1lXeHBaMjVKZEdWdGN6MWNJbU5sYm5SbGNsd2lYRzRnSUNBZ0lDQmtZWFJoTFhSbGMzUnBaRDFjSWpRd05Gd2lYRzRnSUNBZ0lDQmthWE53YkdGNVBWd2labXhsZUZ3aVhHNGdJQ0FnSUNCbWJHVjRSR2x5WldOMGFXOXVQVndpWTI5c2RXMXVYQ0pjYmlBZ0lDQWdJR1pzWlhoSGNtOTNQWHN4ZlZ4dUlDQWdJQ0FnYW5WemRHbG1lVU52Ym5SbGJuUTlYQ0pqWlc1MFpYSmNJbHh1SUNBZ0lDQWdjRDE3TW4xY2JpQWdJQ0ErWEc0Z0lDQWdJQ0E4UTI5dWRHRnBibVZ5UGx4dUlDQWdJQ0FnSUNBOFJtOXNaR1Z5VDJabVNXTnZiaUJqYjJ4dmNqMWNJbkJ5YVcxaGNubGNJaUJ6ZEhsc1pUMTdleUJtYjI1MFUybDZaVG9nTWpNMklIMTlJQzgrWEc0Z0lDQWdJQ0E4TDBOdmJuUmhhVzVsY2o1Y2JpQWdJQ0FnSUR4VGRIbHNaV1JJWldGa2FXNW5JR05zWVhOelRtRnRaVDFjSW01dmRDMW1iM1Z1WkMxMFpYaDBYQ0lnZG1GeWFXRnVkRDFjSW1nMFhDSStYRzRnSUNBZ0lDQWdJSHQwS0NkbGNuSnZjaTQwTURRdWMyOXljbmt0ZDJVdFkyOTFiR1F0Ym05MExXWnBibVF0YVhRbktYMWNiaUFnSUNBZ0lEd3ZVM1I1YkdWa1NHVmhaR2x1Wno1Y2JpQWdJQ0FnSUR4Q2RYUjBiMjRnWkdGMFlTMTBaWE4wYVdROVhDSnViM1F0Wm05MWJtUXRaMjh0ZEc4dGFHOXRaUzFpZFhSMGIyNWNJaUJ2YmtOc2FXTnJQWHRvWVc1a2JHVkhiMGh2YldWOUlIWmhjbWxoYm5ROVhDSmpiMjUwWVdsdVpXUmNJajVjYmlBZ0lDQWdJQ0FnZTNRb0oySjFkSFJ2Ymk1bmJ5MTBieTEwYUdVdGFHOXRaUzF3WVdkbEp5bDlYRzRnSUNBZ0lDQThMMEoxZEhSdmJqNWNiaUFnSUNBOEwwSnZlRDVjYmlBZ0tUdGNibjA3WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUU1dmRFWnZkVzVrTzF4dVhHNWpiMjV6ZENCRGIyNTBZV2x1WlhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwS0h0Y2JpQWdiV0Z5WjJsdU9pQW5NQ0JoZFhSdkp5eGNibjBwTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JJWldGa2FXNW5JRDBnYzNSNWJHVmtLRWhsWVdScGJtY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCamIyeHZjam9nZEdobGJXVXVjR0ZzWlhSMFpTNXRiMlJsSUQwOVBTQW5iR2xuYUhRbklEOGdkR2hsYldVdWNHRnNaWFIwWlM1d2NtbHRZWEo1TG0xaGFXNGdPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJRzFoY21kcGJrSnZkSFJ2YlRvZ01UWXNYRzU5S1NrN1hHNGlYWDA9ICovXCIpO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBOb3RGb3VuZCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPU5vdEZvdW5kLm1qcy5tYXAiLCJpbXBvcnQgSGVhZGluZyBmcm9tIFwiLi4vSGVhZGluZy9IZWFkaW5nLm1qc1wiO1xuaW1wb3J0IFwiLi4vSGVhZGluZy9pbmRleC5tanNcIjtcbmltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IEJveCBmcm9tIFwiQG11aS9tYXRlcmlhbC9Cb3hcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCB7IGNvbW1vbiB9IGZyb20gXCJAbXVpL21hdGVyaWFsL2NvbG9yc1wiO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGUgfSBmcm9tIFwicmVhY3Qtcm91dGVyXCI7XG5pbXBvcnQgQnV0dG9uIGZyb20gXCJAbXVpL21hdGVyaWFsL0J1dHRvblwiO1xuaW1wb3J0IExvY2tJY29uIGZyb20gXCJAbXVpL2ljb25zLW1hdGVyaWFsL0xvY2tcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9Gb3JiaWRkZW4vRm9yYmlkZGVuLnRzeFxuZnVuY3Rpb24gX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX18oKSB7XG5cdHJldHVybiBcIllvdSBoYXZlIHRyaWVkIHRvIHN0cmluZ2lmeSBvYmplY3QgcmV0dXJuZWQgZnJvbSBgY3NzYCBmdW5jdGlvbi4gSXQgaXNuJ3Qgc3VwcG9zZWQgdG8gYmUgdXNlZCBkaXJlY3RseSAoZS5nLiBhcyB2YWx1ZSBvZiB0aGUgYGNsYXNzTmFtZWAgcHJvcCksIGJ1dCByYXRoZXIgaGFuZGVkIHRvIGVtb3Rpb24gc28gaXQgY2FuIGhhbmRsZSBpdCAoZS5nLiBhcyB2YWx1ZSBvZiBgY3NzYCBwcm9wKS5cIjtcbn1cbnZhciBDb250YWluZXIgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcImRpdlwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMXAxbnVreTFcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTFwMW51a3kxXCIsXG5cdGxhYmVsOiBcIkNvbnRhaW5lclwiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwiOXRoNWlcIixcblx0c3R5bGVzOiBcIm1hcmdpbjowIGF1dG9cIlxufSA6IHtcblx0bmFtZTogXCI5dGg1aVwiLFxuXHRzdHlsZXM6IFwibWFyZ2luOjAgYXV0by8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlHYjNKaWFXUmtaVzR2Um05eVltbGtaR1Z1TG5SemVDSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRlphMElpTENKbWFXeGxJam9pTDJodmJXVXZjblZ1Ym1WeUwzZHZjbXN2ZG1WeVpHRmpZMmx2TDNabGNtUmhZMk5wYnk5d1lXTnJZV2RsY3k5MWFTMWpiMjF3YjI1bGJuUnpMM055WXk5amIyMXdiMjVsYm5SekwwWnZjbUpwWkdSbGJpOUdiM0ppYVdSa1pXNHVkSE40SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVhVzF3YjNKMElFeHZZMnRKWTI5dUlHWnliMjBnSjBCdGRXa3ZhV052Ym5NdGJXRjBaWEpwWVd3dlRHOWpheWM3WEc1cGJYQnZjblFnUW05NElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZRbTk0Snp0Y2JtbHRjRzl5ZENCQ2RYUjBiMjRnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5Q2RYUjBiMjRuTzF4dWFXMXdiM0owSUhzZ1kyOXRiVzl1SUgwZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOWpiMnh2Y25Nbk8xeHVhVzF3YjNKMElGSmxZV04wTENCN0lIVnpaVU5oYkd4aVlXTnJJSDBnWm5KdmJTQW5jbVZoWTNRbk8xeHVhVzF3YjNKMElIc2dkWE5sVkhKaGJuTnNZWFJwYjI0Z2ZTQm1jbTl0SUNkeVpXRmpkQzFwTVRodVpYaDBKenRjYm1sdGNHOXlkQ0I3SUhWelpVNWhkbWxuWVhSbElIMGdabkp2YlNBbmNtVmhZM1F0Y205MWRHVnlKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1Snp0Y2JtbHRjRzl5ZENCSVpXRmthVzVuSUdaeWIyMGdKeTR1TDBobFlXUnBibWNuTzF4dVhHNWpiMjV6ZENCRGIyNTBZV2x1WlhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwS0h0Y2JpQWdiV0Z5WjJsdU9pQW5NQ0JoZFhSdkp5eGNibjBwTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JJWldGa2FXNW5JRDBnYzNSNWJHVmtLRWhsWVdScGJtY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCamIyeHZjam9nZEdobGJXVXVjR0ZzWlhSMFpTNXRiMlJsSUQwOVBTQW5iR2xuYUhRbklEOGdkR2hsYldVdWNHRnNaWFIwWlM1d2NtbHRZWEo1TG0xaGFXNGdPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJRzFoY21kcGJrSnZkSFJ2YlRvZ01UWXNYRzU5S1NrN1hHNWNibU52Ym5OMElFWnZjbUpwWkdSbGJqb2dVbVZoWTNRdVJrTWdQU0FvS1NBOVBpQjdYRzRnSUdOdmJuTjBJRzVoZG1sbllYUmxJRDBnZFhObFRtRjJhV2RoZEdVb0tUdGNibHh1SUNCamIyNXpkQ0I3SUhRZ2ZTQTlJSFZ6WlZSeVlXNXpiR0YwYVc5dUtDazdYRzVjYmlBZ1kyOXVjM1FnYUdGdVpHeGxSMjlJYjIxbElEMGdkWE5sUTJGc2JHSmhZMnNvS0NrZ1BUNGdlMXh1SUNBZ0lHNWhkbWxuWVhSbEtDY3ZKeWs3WEc0Z0lIMHNJRnR1WVhacFoyRjBaVjBwTzF4dVhHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BFSnZlRnh1SUNBZ0lDQWdZV3hwWjI1SmRHVnRjejFjSW1ObGJuUmxjbHdpWEc0Z0lDQWdJQ0JrWVhSaExYUmxjM1JwWkQxY0lqUXdORndpWEc0Z0lDQWdJQ0JrYVhOd2JHRjVQVndpWm14bGVGd2lYRzRnSUNBZ0lDQm1iR1Y0UkdseVpXTjBhVzl1UFZ3aVkyOXNkVzF1WENKY2JpQWdJQ0FnSUdac1pYaEhjbTkzUFhzeGZWeHVJQ0FnSUNBZ2FuVnpkR2xtZVVOdmJuUmxiblE5WENKalpXNTBaWEpjSWx4dUlDQWdJQ0FnY0QxN01uMWNiaUFnSUNBK1hHNGdJQ0FnSUNBOFEyOXVkR0ZwYm1WeVBseHVJQ0FnSUNBZ0lDQThURzlqYTBsamIyNGdZMjlzYjNJOVhDSndjbWx0WVhKNVhDSWdjM1I1YkdVOWUzc2dabTl1ZEZOcGVtVTZJREl6TmlCOWZTQXZQbHh1SUNBZ0lDQWdQQzlEYjI1MFlXbHVaWEkrWEc0Z0lDQWdJQ0E4VTNSNWJHVmtTR1ZoWkdsdVp5QmpiR0Z6YzA1aGJXVTlYQ0p1YjNRdFptOTFibVF0ZEdWNGRGd2lJSFpoY21saGJuUTlYQ0pvTkZ3aVBseHVJQ0FnSUNBZ0lDQjdkQ2duWlhKeWIzSXVOREF4TG5OdmNuSjVMVzV2TFdGalkyVnpjeWNwZlZ4dUlDQWdJQ0FnUEM5VGRIbHNaV1JJWldGa2FXNW5QbHh1SUNBZ0lDQWdQRUoxZEhSdmJpQmtZWFJoTFhSbGMzUnBaRDFjSW01dmRDMW1iM1Z1WkMxbmJ5MTBieTFvYjIxbExXSjFkSFJ2Ymx3aUlHOXVRMnhwWTJzOWUyaGhibVJzWlVkdlNHOXRaWDBnZG1GeWFXRnVkRDFjSW1OdmJuUmhhVzVsWkZ3aVBseHVJQ0FnSUNBZ0lDQjdkQ2duWW5WMGRHOXVMbWR2TFhSdkxYUm9aUzFvYjIxbExYQmhaMlVuS1gxY2JpQWdJQ0FnSUR3dlFuVjBkRzl1UGx4dUlDQWdJRHd2UW05NFBseHVJQ0FwTzF4dWZUdGNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdSbTl5WW1sa1pHVnVPMXh1Wlhod2IzSjBJSHNnUm05eVltbGtaR1Z1SUgwN1hHNGlYWDA9ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgU3R5bGVkSGVhZGluZyA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKEhlYWRpbmcsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxcDFudWt5MFwiIH0gOiB7XG5cdHRhcmdldDogXCJlMXAxbnVreTBcIixcblx0bGFiZWw6IFwiU3R5bGVkSGVhZGluZ1wiXG59KSgoeyB0aGVtZSB9KSA9PiAoe1xuXHRjb2xvcjogdGhlbWUucGFsZXR0ZS5tb2RlID09PSBcImxpZ2h0XCIgPyB0aGVtZS5wYWxldHRlLnByaW1hcnkubWFpbiA6IGNvbW1vbi53aGl0ZSxcblx0bWFyZ2luQm90dG9tOiAxNlxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlHYjNKaWFXUmtaVzR2Um05eVltbGtaR1Z1TG5SemVDSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRm5Rbk5DSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OUdiM0ppYVdSa1pXNHZSbTl5WW1sa1pHVnVMblJ6ZUNJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQk1iMk5yU1dOdmJpQm1jbTl0SUNkQWJYVnBMMmxqYjI1ekxXMWhkR1Z5YVdGc0wweHZZMnNuTzF4dWFXMXdiM0owSUVKdmVDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMEp2ZUNjN1hHNXBiWEJ2Y25RZ1FuVjBkRzl1SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlFuVjBkRzl1Snp0Y2JtbHRjRzl5ZENCN0lHTnZiVzF2YmlCOUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZZMjlzYjNKekp6dGNibWx0Y0c5eWRDQlNaV0ZqZEN3Z2V5QjFjMlZEWVd4c1ltRmpheUI5SUdaeWIyMGdKM0psWVdOMEp6dGNibWx0Y0c5eWRDQjdJSFZ6WlZSeVlXNXpiR0YwYVc5dUlIMGdabkp2YlNBbmNtVmhZM1F0YVRFNGJtVjRkQ2M3WEc1cGJYQnZjblFnZXlCMWMyVk9ZWFpwWjJGMFpTQjlJR1p5YjIwZ0ozSmxZV04wTFhKdmRYUmxjaWM3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGljN1hHNXBiWEJ2Y25RZ1NHVmhaR2x1WnlCbWNtOXRJQ2N1TGk5SVpXRmthVzVuSnp0Y2JseHVZMjl1YzNRZ1EyOXVkR0ZwYm1WeUlEMGdjM1I1YkdWa0tDZGthWFluS1NoN1hHNGdJRzFoY21kcGJqb2dKekFnWVhWMGJ5Y3NYRzU5S1R0Y2JseHVZMjl1YzNRZ1UzUjViR1ZrU0dWaFpHbHVaeUE5SUhOMGVXeGxaQ2hJWldGa2FXNW5LVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXViVzlrWlNBOVBUMGdKMnhwWjJoMEp5QS9JSFJvWlcxbExuQmhiR1YwZEdVdWNISnBiV0Z5ZVM1dFlXbHVJRG9nWTI5dGJXOXVMbmRvYVhSbExGeHVJQ0J0WVhKbmFXNUNiM1IwYjIwNklERTJMRnh1ZlNrcE8xeHVYRzVqYjI1emRDQkdiM0ppYVdSa1pXNDZJRkpsWVdOMExrWkRJRDBnS0NrZ1BUNGdlMXh1SUNCamIyNXpkQ0J1WVhacFoyRjBaU0E5SUhWelpVNWhkbWxuWVhSbEtDazdYRzVjYmlBZ1kyOXVjM1FnZXlCMElIMGdQU0IxYzJWVWNtRnVjMnhoZEdsdmJpZ3BPMXh1WEc0Z0lHTnZibk4wSUdoaGJtUnNaVWR2U0c5dFpTQTlJSFZ6WlVOaGJHeGlZV05yS0NncElEMCtJSHRjYmlBZ0lDQnVZWFpwWjJGMFpTZ25MeWNwTzF4dUlDQjlMQ0JiYm1GMmFXZGhkR1ZkS1R0Y2JseHVJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lEeENiM2hjYmlBZ0lDQWdJR0ZzYVdkdVNYUmxiWE05WENKalpXNTBaWEpjSWx4dUlDQWdJQ0FnWkdGMFlTMTBaWE4wYVdROVhDSTBNRFJjSWx4dUlDQWdJQ0FnWkdsemNHeGhlVDFjSW1ac1pYaGNJbHh1SUNBZ0lDQWdabXhsZUVScGNtVmpkR2x2YmoxY0ltTnZiSFZ0Ymx3aVhHNGdJQ0FnSUNCbWJHVjRSM0p2ZHoxN01YMWNiaUFnSUNBZ0lHcDFjM1JwWm5sRGIyNTBaVzUwUFZ3aVkyVnVkR1Z5WENKY2JpQWdJQ0FnSUhBOWV6SjlYRzRnSUNBZ1BseHVJQ0FnSUNBZ1BFTnZiblJoYVc1bGNqNWNiaUFnSUNBZ0lDQWdQRXh2WTJ0SlkyOXVJR052Ykc5eVBWd2ljSEpwYldGeWVWd2lJSE4wZVd4bFBYdDdJR1p2Ym5SVGFYcGxPaUF5TXpZZ2ZYMGdMejVjYmlBZ0lDQWdJRHd2UTI5dWRHRnBibVZ5UGx4dUlDQWdJQ0FnUEZOMGVXeGxaRWhsWVdScGJtY2dZMnhoYzNOT1lXMWxQVndpYm05MExXWnZkVzVrTFhSbGVIUmNJaUIyWVhKcFlXNTBQVndpYURSY0lqNWNiaUFnSUNBZ0lDQWdlM1FvSjJWeWNtOXlMalF3TVM1emIzSnllUzF1YnkxaFkyTmxjM01uS1gxY2JpQWdJQ0FnSUR3dlUzUjViR1ZrU0dWaFpHbHVaejVjYmlBZ0lDQWdJRHhDZFhSMGIyNGdaR0YwWVMxMFpYTjBhV1E5WENKdWIzUXRabTkxYm1RdFoyOHRkRzh0YUc5dFpTMWlkWFIwYjI1Y0lpQnZia05zYVdOclBYdG9ZVzVrYkdWSGIwaHZiV1Y5SUhaaGNtbGhiblE5WENKamIyNTBZV2x1WldSY0lqNWNiaUFnSUNBZ0lDQWdlM1FvSjJKMWRIUnZiaTVuYnkxMGJ5MTBhR1V0YUc5dFpTMXdZV2RsSnlsOVhHNGdJQ0FnSUNBOEwwSjFkSFJ2Ymo1Y2JpQWdJQ0E4TDBKdmVENWNiaUFnS1R0Y2JuMDdYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJRVp2Y21KcFpHUmxianRjYm1WNGNHOXlkQ0I3SUVadmNtSnBaR1JsYmlCOU8xeHVJbDE5ICovXCIpO1xudmFyIEZvcmJpZGRlbiA9ICgpID0+IHtcblx0Y29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdGNvbnN0IGhhbmRsZUdvSG9tZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcblx0XHRuYXZpZ2F0ZShcIi9cIik7XG5cdH0sIFtuYXZpZ2F0ZV0pO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoQm94LCB7XG5cdFx0YWxpZ25JdGVtczogXCJjZW50ZXJcIixcblx0XHRcImRhdGEtdGVzdGlkXCI6IFwiNDA0XCIsXG5cdFx0ZGlzcGxheTogXCJmbGV4XCIsXG5cdFx0ZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcblx0XHRmbGV4R3JvdzogMSxcblx0XHRqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcblx0XHRwOiAyLFxuXHRcdGNoaWxkcmVuOiBbXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KENvbnRhaW5lciwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChMb2NrSWNvbiwge1xuXHRcdFx0XHRjb2xvcjogXCJwcmltYXJ5XCIsXG5cdFx0XHRcdHN0eWxlOiB7IGZvbnRTaXplOiAyMzYgfVxuXHRcdFx0fSkgfSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFN0eWxlZEhlYWRpbmcsIHtcblx0XHRcdFx0Y2xhc3NOYW1lOiBcIm5vdC1mb3VuZC10ZXh0XCIsXG5cdFx0XHRcdHZhcmlhbnQ6IFwiaDRcIixcblx0XHRcdFx0Y2hpbGRyZW46IHQoXCJlcnJvci40MDEuc29ycnktbm8tYWNjZXNzXCIpXG5cdFx0XHR9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goQnV0dG9uLCB7XG5cdFx0XHRcdFwiZGF0YS10ZXN0aWRcIjogXCJub3QtZm91bmQtZ28tdG8taG9tZS1idXR0b25cIixcblx0XHRcdFx0b25DbGljazogaGFuZGxlR29Ib21lLFxuXHRcdFx0XHR2YXJpYW50OiBcImNvbnRhaW5lZFwiLFxuXHRcdFx0XHRjaGlsZHJlbjogdChcImJ1dHRvbi5nby10by10aGUtaG9tZS1wYWdlXCIpXG5cdFx0XHR9KVxuXHRcdF1cblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBGb3JiaWRkZW4gYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Gb3JiaWRkZW4ubWpzLm1hcCIsImltcG9ydCBIZWFkaW5nIGZyb20gXCIuLi9IZWFkaW5nL0hlYWRpbmcubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9pbmRleC5tanNcIjtcbmltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgSWNvbkJ1dHRvbiBmcm9tIFwiQG11aS9tYXRlcmlhbC9JY29uQnV0dG9uXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IEJveCBmcm9tIFwiQG11aS9tYXRlcmlhbC9Cb3hcIjtcbmltcG9ydCBDbG9zZUljb24gZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvQ2xvc2VcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCB7IGNvbW1vbiB9IGZyb20gXCJAbXVpL21hdGVyaWFsL2NvbG9yc1wiO1xuaW1wb3J0IEF2YXRhciBmcm9tIFwiQG11aS9tYXRlcmlhbC9BdmF0YXJcIjtcbmltcG9ydCBMb2NrT3V0bGluZWQgZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvTG9ja091dGxpbmVkXCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvTG9naW5Gb3JtL3N0eWxlcy50c3hcbnZhciBMb2dpbkZvcm1IZWFkZXIgPSAoeyBvbkNsb3NlIH0pID0+IHtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoQm94LCB7XG5cdFx0YWxpZ25JdGVtczogXCJjZW50ZXJcIixcblx0XHRkaXNwbGF5OiBcImZsZXhcIixcblx0XHRmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuXHRcdHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG5cdFx0Y2hpbGRyZW46IFtcblx0XHRcdG9uQ2xvc2UgJiYgLyogQF9fUFVSRV9fICovIGpzeChTdHlsZWRJY29uQnV0dG9uLCB7XG5cdFx0XHRcdFwiYXJpYS1sYWJlbFwiOiB0KFwiYnV0dG9uLmNsb3NlXCIpLFxuXHRcdFx0XHRvbkNsaWNrOiBvbkNsb3NlLFxuXHRcdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChDbG9zZUljb24sIHt9KVxuXHRcdFx0fSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFN0eWxlZEF2YXRhciwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChMb2NrT3V0bGluZWQsIHt9KSB9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goSGVhZGluZywgeyBjaGlsZHJlbjogdChcImJ1dHRvbi5sb2dpblwiKSB9KVxuXHRcdF1cblx0fSk7XG59O1xudmFyIFN0eWxlZEF2YXRhciA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKEF2YXRhciwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZXZlNDE3ZzFcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZXZlNDE3ZzFcIixcblx0bGFiZWw6IFwiU3R5bGVkQXZhdGFyXCJcbn0pKCh7IHRoZW1lIH0pID0+ICh7XG5cdG1hcmdpbjogdGhlbWUuc3BhY2luZygxKSxcblx0YmFja2dyb3VuZENvbG9yOiB0aGVtZS5wYWxldHRlLm1vZGUgPT09IFwibGlnaHRcIiA/IHRoZW1lLnBhbGV0dGUucHJpbWFyeS5tYWluIDogdGhlbWUucGFsZXR0ZS5jeWFuQmx1ZSxcblx0Y29sb3I6IGNvbW1vbi53aGl0ZVxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlNYjJkcGJrWnZjbTB2YzNSNWJHVnpMblJ6ZUNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGdFEzRkNJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5TWIyZHBia1p2Y20wdmMzUjViR1Z6TG5SemVDSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0JEYkc5elpVbGpiMjRnWm5KdmJTQW5RRzExYVM5cFkyOXVjeTF0WVhSbGNtbGhiQzlEYkc5elpTYzdYRzVwYlhCdmNuUWdURzlqYTA5MWRHeHBibVZrSUdaeWIyMGdKMEJ0ZFdrdmFXTnZibk10YldGMFpYSnBZV3d2VEc5amEwOTFkR3hwYm1Wa0p6dGNibWx0Y0c5eWRDQkJkbUYwWVhJZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUJkbUYwWVhJbk8xeHVhVzF3YjNKMElFSnZlQ0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBKdmVDYzdYRzVwYlhCdmNuUWdTV052YmtKMWRIUnZiaUJtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBsamIyNUNkWFIwYjI0bk8xeHVhVzF3YjNKMElIc2dZMjl0Ylc5dUlIMGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlqYjJ4dmNuTW5PMXh1YVcxd2IzSjBJRkpsWVdOMElHWnliMjBnSjNKbFlXTjBKenRjYm1sdGNHOXlkQ0I3SUhWelpWUnlZVzV6YkdGMGFXOXVJSDBnWm5KdmJTQW5jbVZoWTNRdGFURTRibVY0ZENjN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOG5PMXh1YVcxd2IzSjBJSHNnU0dWaFpHbHVaeUI5SUdaeWIyMGdKeTR1THk0dUx5YzdYRzVjYm1sdWRHVnlabUZqWlNCUWNtOXdjeUI3WEc0Z0lHOXVRMnh2YzJVL09pQW9LU0E5UGlCMmIybGtPMXh1ZlZ4dVhHNWpiMjV6ZENCTWIyZHBia1p2Y20xSVpXRmtaWEk2SUZKbFlXTjBMa1pEUEZCeWIzQnpQaUE5SUNoN0lHOXVRMnh2YzJVZ2ZTa2dQVDRnZTF4dUlDQmpiMjV6ZENCN0lIUWdmU0E5SUhWelpWUnlZVzV6YkdGMGFXOXVLQ2s3WEc1Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNBOFFtOTRJR0ZzYVdkdVNYUmxiWE05WENKalpXNTBaWEpjSWlCa2FYTndiR0Y1UFZ3aVpteGxlRndpSUdac1pYaEVhWEpsWTNScGIyNDlYQ0pqYjJ4MWJXNWNJaUJ3YjNOcGRHbHZiajFjSW5KbGJHRjBhWFpsWENJK1hHNGdJQ0FnSUNCN2IyNURiRzl6WlNBbUppQW9YRzRnSUNBZ0lDQWdJRHhUZEhsc1pXUkpZMjl1UW5WMGRHOXVJR0Z5YVdFdGJHRmlaV3c5ZTNRb0oySjFkSFJ2Ymk1amJHOXpaU2NwZlNCdmJrTnNhV05yUFh0dmJrTnNiM05sZlQ1Y2JpQWdJQ0FnSUNBZ0lDQThRMnh2YzJWSlkyOXVJQzgrWEc0Z0lDQWdJQ0FnSUR3dlUzUjViR1ZrU1dOdmJrSjFkSFJ2Ymo1Y2JpQWdJQ0FnSUNsOVhHNGdJQ0FnSUNBOFUzUjViR1ZrUVhaaGRHRnlQbHh1SUNBZ0lDQWdJQ0E4VEc5amEwOTFkR3hwYm1Wa0lDOCtYRzRnSUNBZ0lDQThMMU4wZVd4bFpFRjJZWFJoY2o1Y2JpQWdJQ0FnSUR4SVpXRmthVzVuUG50MEtDZGlkWFIwYjI0dWJHOW5hVzRuS1gwOEwwaGxZV1JwYm1jK1hHNGdJQ0FnUEM5Q2IzZytYRzRnSUNrN1hHNTlPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUkJkbUYwWVhJZ1BTQnpkSGxzWldRb1FYWmhkR0Z5S1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIc2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdiV0Z5WjJsdU9pQjBhR1Z0WlM1emNHRmphVzVuS0RFcExGeHVJQ0JpWVdOclozSnZkVzVrUTI5c2IzSTZYRzRnSUNBZ2RHaGxiV1V1Y0dGc1pYUjBaUzV0YjJSbElEMDlQU0FuYkdsbmFIUW5JRDhnZEdobGJXVXVjR0ZzWlhSMFpTNXdjbWx0WVhKNUxtMWhhVzRnT2lCMGFHVnRaUzV3WVd4bGRIUmxMbU41WVc1Q2JIVmxMRnh1SUNCamIyeHZjam9nWTI5dGJXOXVMbmRvYVhSbExGeHVmU2twTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JKWTI5dVFuVjBkRzl1SUQwZ2MzUjViR1ZrS0VsamIyNUNkWFIwYjI0cFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0J3YjNOcGRHbHZiam9nSjJGaWMyOXNkWFJsSnl4Y2JpQWdjbWxuYUhRNklIUm9aVzFsTG5Od1lXTnBibWNvS1NBdklESXNYRzRnSUhSdmNEb2dkR2hsYldVdWMzQmhZMmx1WnlncElDOGdNaXhjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXVaM0psZVZzMU1EQmRMRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQk1iMmRwYmtadmNtMUlaV0ZrWlhJN1hHNGlYWDA9ICovXCIpO1xudmFyIFN0eWxlZEljb25CdXR0b24gPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChJY29uQnV0dG9uLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJldmU0MTdnMFwiIH0gOiB7XG5cdHRhcmdldDogXCJldmU0MTdnMFwiLFxuXHRsYWJlbDogXCJTdHlsZWRJY29uQnV0dG9uXCJcbn0pKCh7IHRoZW1lIH0pID0+ICh7XG5cdHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG5cdHJpZ2h0OiB0aGVtZS5zcGFjaW5nKCkgLyAyLFxuXHR0b3A6IHRoZW1lLnNwYWNpbmcoKSAvIDIsXG5cdGNvbG9yOiB0aGVtZS5wYWxldHRlLmdyZXlbNTAwXVxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlNYjJkcGJrWnZjbTB2YzNSNWJHVnpMblJ6ZUNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVFd1EzbENJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5TWIyZHBia1p2Y20wdmMzUjViR1Z6TG5SemVDSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0JEYkc5elpVbGpiMjRnWm5KdmJTQW5RRzExYVM5cFkyOXVjeTF0WVhSbGNtbGhiQzlEYkc5elpTYzdYRzVwYlhCdmNuUWdURzlqYTA5MWRHeHBibVZrSUdaeWIyMGdKMEJ0ZFdrdmFXTnZibk10YldGMFpYSnBZV3d2VEc5amEwOTFkR3hwYm1Wa0p6dGNibWx0Y0c5eWRDQkJkbUYwWVhJZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUJkbUYwWVhJbk8xeHVhVzF3YjNKMElFSnZlQ0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBKdmVDYzdYRzVwYlhCdmNuUWdTV052YmtKMWRIUnZiaUJtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBsamIyNUNkWFIwYjI0bk8xeHVhVzF3YjNKMElIc2dZMjl0Ylc5dUlIMGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlqYjJ4dmNuTW5PMXh1YVcxd2IzSjBJRkpsWVdOMElHWnliMjBnSjNKbFlXTjBKenRjYm1sdGNHOXlkQ0I3SUhWelpWUnlZVzV6YkdGMGFXOXVJSDBnWm5KdmJTQW5jbVZoWTNRdGFURTRibVY0ZENjN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOG5PMXh1YVcxd2IzSjBJSHNnU0dWaFpHbHVaeUI5SUdaeWIyMGdKeTR1THk0dUx5YzdYRzVjYm1sdWRHVnlabUZqWlNCUWNtOXdjeUI3WEc0Z0lHOXVRMnh2YzJVL09pQW9LU0E5UGlCMmIybGtPMXh1ZlZ4dVhHNWpiMjV6ZENCTWIyZHBia1p2Y20xSVpXRmtaWEk2SUZKbFlXTjBMa1pEUEZCeWIzQnpQaUE5SUNoN0lHOXVRMnh2YzJVZ2ZTa2dQVDRnZTF4dUlDQmpiMjV6ZENCN0lIUWdmU0E5SUhWelpWUnlZVzV6YkdGMGFXOXVLQ2s3WEc1Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNBOFFtOTRJR0ZzYVdkdVNYUmxiWE05WENKalpXNTBaWEpjSWlCa2FYTndiR0Y1UFZ3aVpteGxlRndpSUdac1pYaEVhWEpsWTNScGIyNDlYQ0pqYjJ4MWJXNWNJaUJ3YjNOcGRHbHZiajFjSW5KbGJHRjBhWFpsWENJK1hHNGdJQ0FnSUNCN2IyNURiRzl6WlNBbUppQW9YRzRnSUNBZ0lDQWdJRHhUZEhsc1pXUkpZMjl1UW5WMGRHOXVJR0Z5YVdFdGJHRmlaV3c5ZTNRb0oySjFkSFJ2Ymk1amJHOXpaU2NwZlNCdmJrTnNhV05yUFh0dmJrTnNiM05sZlQ1Y2JpQWdJQ0FnSUNBZ0lDQThRMnh2YzJWSlkyOXVJQzgrWEc0Z0lDQWdJQ0FnSUR3dlUzUjViR1ZrU1dOdmJrSjFkSFJ2Ymo1Y2JpQWdJQ0FnSUNsOVhHNGdJQ0FnSUNBOFUzUjViR1ZrUVhaaGRHRnlQbHh1SUNBZ0lDQWdJQ0E4VEc5amEwOTFkR3hwYm1Wa0lDOCtYRzRnSUNBZ0lDQThMMU4wZVd4bFpFRjJZWFJoY2o1Y2JpQWdJQ0FnSUR4SVpXRmthVzVuUG50MEtDZGlkWFIwYjI0dWJHOW5hVzRuS1gwOEwwaGxZV1JwYm1jK1hHNGdJQ0FnUEM5Q2IzZytYRzRnSUNrN1hHNTlPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUkJkbUYwWVhJZ1BTQnpkSGxzWldRb1FYWmhkR0Z5S1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIc2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdiV0Z5WjJsdU9pQjBhR1Z0WlM1emNHRmphVzVuS0RFcExGeHVJQ0JpWVdOclozSnZkVzVrUTI5c2IzSTZYRzRnSUNBZ2RHaGxiV1V1Y0dGc1pYUjBaUzV0YjJSbElEMDlQU0FuYkdsbmFIUW5JRDhnZEdobGJXVXVjR0ZzWlhSMFpTNXdjbWx0WVhKNUxtMWhhVzRnT2lCMGFHVnRaUzV3WVd4bGRIUmxMbU41WVc1Q2JIVmxMRnh1SUNCamIyeHZjam9nWTI5dGJXOXVMbmRvYVhSbExGeHVmU2twTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JKWTI5dVFuVjBkRzl1SUQwZ2MzUjViR1ZrS0VsamIyNUNkWFIwYjI0cFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0J3YjNOcGRHbHZiam9nSjJGaWMyOXNkWFJsSnl4Y2JpQWdjbWxuYUhRNklIUm9aVzFsTG5Od1lXTnBibWNvS1NBdklESXNYRzRnSUhSdmNEb2dkR2hsYldVdWMzQmhZMmx1WnlncElDOGdNaXhjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXVaM0psZVZzMU1EQmRMRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQk1iMmRwYmtadmNtMUlaV0ZrWlhJN1hHNGlYWDA9ICovXCIpO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBMb2dpbkZvcm1IZWFkZXIgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHlsZXMubWpzLm1hcCIsImltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgSWNvbkJ1dHRvbiBmcm9tIFwiQG11aS9tYXRlcmlhbC9JY29uQnV0dG9uXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IENsb3NlSWNvbiBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9DbG9zZVwiO1xuaW1wb3J0IERpYWxvZ1RpdGxlIGZyb20gXCJAbXVpL21hdGVyaWFsL0RpYWxvZ1RpdGxlXCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvTG9naW5EaWFsb2cvTG9naW5EaWFsb2dDbG9zZUJ1dHRvbi50c3hcbnZhciBTdHlsZWRJY29uQnV0dG9uID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoSWNvbkJ1dHRvbiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTF5bDNzZmgwXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxeWwzc2ZoMFwiLFxuXHRsYWJlbDogXCJTdHlsZWRJY29uQnV0dG9uXCJcbn0pKCh7IHRoZW1lIH0pID0+ICh7XG5cdHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG5cdHJpZ2h0OiB0aGVtZS5zcGFjaW5nKCkgLyAyLFxuXHR0b3A6IHRoZW1lLnNwYWNpbmcoKSAvIDIsXG5cdGNvbG9yOiB0aGVtZS5wYWxldHRlLmdyZXlbNTAwXSxcblx0ekluZGV4OiA5OVxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlNYjJkcGJrUnBZV3h2Wnk5TWIyZHBia1JwWVd4dlowTnNiM05sUW5WMGRHOXVMblJ6ZUNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGVGVVSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDB4dloybHVSR2xoYkc5bkwweHZaMmx1UkdsaGJHOW5RMnh2YzJWQ2RYUjBiMjR1ZEhONElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElITjBlV3hsWkNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl6ZEhsc1pXUW5PMXh1YVcxd2IzSjBJRU5zYjNObFNXTnZiaUJtY205dElDZEFiWFZwTDJsamIyNXpMVzFoZEdWeWFXRnNMME5zYjNObEp6dGNibWx0Y0c5eWRDQkVhV0ZzYjJkVWFYUnNaU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBScFlXeHZaMVJwZEd4bEp6dGNibWx0Y0c5eWRDQkpZMjl1UW5WMGRHOXVJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2U1dOdmJrSjFkSFJ2YmljN1hHNXBiWEJ2Y25RZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHVhVzF3YjNKMElIc2dkWE5sVkhKaGJuTnNZWFJwYjI0Z2ZTQm1jbTl0SUNkeVpXRmpkQzFwTVRodVpYaDBKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1THljN1hHNWNibU52Ym5OMElGTjBlV3hsWkVsamIyNUNkWFIwYjI0Z1BTQnpkSGxzWldRb1NXTnZia0oxZEhSdmJpazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUhCdmMybDBhVzl1T2lBbllXSnpiMngxZEdVbkxGeHVJQ0J5YVdkb2REb2dkR2hsYldVdWMzQmhZMmx1WnlncElDOGdNaXhjYmlBZ2RHOXdPaUIwYUdWdFpTNXpjR0ZqYVc1bktDa2dMeUF5TEZ4dUlDQmpiMnh2Y2pvZ2RHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVd6VXdNRjBzWEc0Z0lIcEpibVJsZURvZ09Ua3NYRzU5S1NrN1hHNWNibWx1ZEdWeVptRmpaU0JRY205d2N5QjdYRzRnSUc5dVEyeHZjMlU2SUNncElEMCtJSFp2YVdRN1hHNTlYRzVjYm1OdmJuTjBJRXh2WjJsdVJHbGhiRzluUTJ4dmMyVkNkWFIwYjI0NklGSmxZV04wTGtaRFBGQnliM0J6UGlBOUlDaDdJRzl1UTJ4dmMyVWdmU2tnUFQ0Z2UxeHVJQ0JqYjI1emRDQjdJSFFnZlNBOUlIVnpaVlJ5WVc1emJHRjBhVzl1S0NrN1hHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BFUnBZV3h2WjFScGRHeGxQbHh1SUNBZ0lDQWdQRk4wZVd4bFpFbGpiMjVDZFhSMGIyNGdaR0YwWVMxMFpYTjBhV1E5WENKamJHOXpaUzFzYjJkcGJpMWthV0ZzYjJjdFluVjBkRzl1WENJZ2IyNURiR2xqYXoxN2IyNURiRzl6WlgwK1hHNGdJQ0FnSUNBZ0lEeERiRzl6WlVsamIyNGdkR2wwYkdWQlkyTmxjM005ZTNRb0oySjFkSFJ2Ymk1amJHOXpaU2NwZlNBdlBseHVJQ0FnSUNBZ1BDOVRkSGxzWldSSlkyOXVRblYwZEc5dVBseHVJQ0FnSUR3dlJHbGhiRzluVkdsMGJHVStYRzRnSUNrN1hHNTlPMXh1WEc1bGVIQnZjblFnWkdWbVlYVnNkQ0JNYjJkcGJrUnBZV3h2WjBOc2IzTmxRblYwZEc5dU8xeHVJbDE5ICovXCIpO1xudmFyIExvZ2luRGlhbG9nQ2xvc2VCdXR0b24gPSAoeyBvbkNsb3NlIH0pID0+IHtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChEaWFsb2dUaXRsZSwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChTdHlsZWRJY29uQnV0dG9uLCB7XG5cdFx0XCJkYXRhLXRlc3RpZFwiOiBcImNsb3NlLWxvZ2luLWRpYWxvZy1idXR0b25cIixcblx0XHRvbkNsaWNrOiBvbkNsb3NlLFxuXHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KENsb3NlSWNvbiwgeyB0aXRsZUFjY2VzczogdChcImJ1dHRvbi5jbG9zZVwiKSB9KVxuXHR9KSB9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IExvZ2luRGlhbG9nQ2xvc2VCdXR0b24gYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Mb2dpbkRpYWxvZ0Nsb3NlQnV0dG9uLm1qcy5tYXAiLCJpbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IEJveCBmcm9tIFwiQG11aS9tYXRlcmlhbC9Cb3hcIjtcbmltcG9ydCB7IGNvbW1vbiB9IGZyb20gXCJAbXVpL21hdGVyaWFsL2NvbG9yc1wiO1xuaW1wb3J0IEVycm9yIGZyb20gXCJAbXVpL2ljb25zLW1hdGVyaWFsL0Vycm9yXCI7XG5pbXBvcnQgU25hY2tiYXJDb250ZW50IGZyb20gXCJAbXVpL21hdGVyaWFsL1NuYWNrYmFyQ29udGVudFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0xvZ2luRGlhbG9nL0xvZ2luRGlhbG9nRm9ybUVycm9yLnRzeFxudmFyIFN0eWxlZFNuYWNrYmFyQ29udGVudCA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFNuYWNrYmFyQ29udGVudCwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTIwdm04NTFcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTIwdm04NTFcIixcblx0bGFiZWw6IFwiU3R5bGVkU25hY2tiYXJDb250ZW50XCJcbn0pKCh7IHRoZW1lIH0pID0+ICh7XG5cdGJhY2tncm91bmRDb2xvcjogdGhlbWUucGFsZXR0ZS5lcnJvci5kYXJrLFxuXHRtYXJnaW5Ub3A6IHRoZW1lLnNwYWNpbmcoMiksXG5cdGNvbG9yOiBjb21tb24ud2hpdGVcbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5TWIyZHBia1JwWVd4dlp5OU1iMmRwYmtScFlXeHZaMFp2Y20xRmNuSnZjaTUwYzNnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlV6aENJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5TWIyZHBia1JwWVd4dlp5OU1iMmRwYmtScFlXeHZaMFp2Y20xRmNuSnZjaTUwYzNnaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2MzUjViR1ZrSUdaeWIyMGdKMEJsYlc5MGFXOXVMM04wZVd4bFpDYzdYRzVwYlhCdmNuUWdSWEp5YjNJZ1puSnZiU0FuUUcxMWFTOXBZMjl1Y3kxdFlYUmxjbWxoYkM5RmNuSnZjaWM3WEc1cGJYQnZjblFnUW05NElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZRbTk0Snp0Y2JtbHRjRzl5ZENCVGJtRmphMkpoY2tOdmJuUmxiblFnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5VGJtRmphMkpoY2tOdmJuUmxiblFuTzF4dWFXMXdiM0owSUhzZ1kyOXRiVzl1SUgwZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOWpiMnh2Y25Nbk8xeHVhVzF3YjNKMElGSmxZV04wTENCN0lHMWxiVzhnZlNCbWNtOXRJQ2R5WldGamRDYzdYRzVjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaThuTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JUYm1GamEySmhja052Ym5SbGJuUWdQU0J6ZEhsc1pXUW9VMjVoWTJ0aVlYSkRiMjUwWlc1MEtUeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LSHNnZEdobGJXVWdmU2tnUFQ0Z0tIdGNiaUFnWW1GamEyZHliM1Z1WkVOdmJHOXlPaUIwYUdWdFpTNXdZV3hsZEhSbExtVnljbTl5TG1SaGNtc3NYRzRnSUcxaGNtZHBibFJ2Y0RvZ2RHaGxiV1V1YzNCaFkybHVaeWd5S1N4Y2JpQWdZMjlzYjNJNklHTnZiVzF2Ymk1M2FHbDBaU3hjYm4wcEtUdGNibHh1WTI5dWMzUWdVM1I1YkdWa1JYSnliM0pKWTI5dUlEMGdjM1I1YkdWa0tFVnljbTl5S1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIc2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdabTl1ZEZOcGVtVTZJREl3TEZ4dUlDQnZjR0ZqYVhSNU9pQXdMamtzWEc0Z0lHMWhjbWRwYmxKcFoyaDBPaUIwYUdWdFpTNXpjR0ZqYVc1bktERXBMRnh1ZlNrcE8xeHVYRzVwYm5SbGNtWmhZMlVnVUhKdmNITWdlMXh1SUNCbGNuSnZjam9nWVc1NU8xeHVmVnh1WEc1amIyNXpkQ0JNYjJkcGJrUnBZV3h2WjBadmNtMUZjbkp2Y2lBOUlHMWxiVzhvS0hzZ1pYSnliM0lnZlRvZ1VISnZjSE1wSUQwK0lIdGNiaUFnY21WMGRYSnVJQ2hjYmlBZ0lDQThVM1I1YkdWa1UyNWhZMnRpWVhKRGIyNTBaVzUwWEc0Z0lDQWdJQ0J0WlhOellXZGxQWHRjYmlBZ0lDQWdJQ0FnUEVKdmVDQmhiR2xuYmtsMFpXMXpQVndpWTJWdWRHVnlYQ0lnWkdGMFlTMTBaWE4wYVdROVhDSmxjbkp2Y2x3aUlHUnBjM0JzWVhrOVhDSm1iR1Y0WENJK1hHNGdJQ0FnSUNBZ0lDQWdQRk4wZVd4bFpFVnljbTl5U1dOdmJpQXZQbHh1SUNBZ0lDQWdJQ0FnSUh0bGNuSnZjaTV0WlhOellXZGxmVnh1SUNBZ0lDQWdJQ0E4TDBKdmVENWNiaUFnSUNBZ0lIMWNiaUFnSUNBdlBseHVJQ0FwTzF4dWZTazdYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJRXh2WjJsdVJHbGhiRzluUm05eWJVVnljbTl5TzF4dUlsMTkgKi9cIik7XG52YXIgU3R5bGVkRXJyb3JJY29uID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoRXJyb3IsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUyMHZtODUwXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUyMHZtODUwXCIsXG5cdGxhYmVsOiBcIlN0eWxlZEVycm9ySWNvblwiXG59KSgoeyB0aGVtZSB9KSA9PiAoe1xuXHRmb250U2l6ZTogMjAsXG5cdG9wYWNpdHk6IC45LFxuXHRtYXJnaW5SaWdodDogdGhlbWUuc3BhY2luZygxKVxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlNYjJkcGJrUnBZV3h2Wnk5TWIyZHBia1JwWVd4dlowWnZjbTFGY25KdmNpNTBjM2dpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCWlhkQ0lpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlNYjJkcGJrUnBZV3h2Wnk5TWIyZHBia1JwWVd4dlowWnZjbTFGY25KdmNpNTBjM2dpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnYzNSNWJHVmtJR1p5YjIwZ0owQmxiVzkwYVc5dUwzTjBlV3hsWkNjN1hHNXBiWEJ2Y25RZ1JYSnliM0lnWm5KdmJTQW5RRzExYVM5cFkyOXVjeTF0WVhSbGNtbGhiQzlGY25KdmNpYzdYRzVwYlhCdmNuUWdRbTk0SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlFtOTRKenRjYm1sdGNHOXlkQ0JUYm1GamEySmhja052Ym5SbGJuUWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlUYm1GamEySmhja052Ym5SbGJuUW5PMXh1YVcxd2IzSjBJSHNnWTI5dGJXOXVJSDBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5amIyeHZjbk1uTzF4dWFXMXdiM0owSUZKbFlXTjBMQ0I3SUcxbGJXOGdmU0JtY205dElDZHlaV0ZqZENjN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOG5PMXh1WEc1amIyNXpkQ0JUZEhsc1pXUlRibUZqYTJKaGNrTnZiblJsYm5RZ1BTQnpkSGxzWldRb1UyNWhZMnRpWVhKRGIyNTBaVzUwS1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIc2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdZbUZqYTJkeWIzVnVaRU52Ykc5eU9pQjBhR1Z0WlM1d1lXeGxkSFJsTG1WeWNtOXlMbVJoY21zc1hHNGdJRzFoY21kcGJsUnZjRG9nZEdobGJXVXVjM0JoWTJsdVp5Z3lLU3hjYmlBZ1kyOXNiM0k2SUdOdmJXMXZiaTUzYUdsMFpTeGNibjBwS1R0Y2JseHVZMjl1YzNRZ1UzUjViR1ZrUlhKeWIzSkpZMjl1SUQwZ2MzUjViR1ZrS0VWeWNtOXlLVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ1ptOXVkRk5wZW1VNklESXdMRnh1SUNCdmNHRmphWFI1T2lBd0xqa3NYRzRnSUcxaGNtZHBibEpwWjJoME9pQjBhR1Z0WlM1emNHRmphVzVuS0RFcExGeHVmU2twTzF4dVhHNXBiblJsY21aaFkyVWdVSEp2Y0hNZ2UxeHVJQ0JsY25KdmNqb2dZVzU1TzF4dWZWeHVYRzVqYjI1emRDQk1iMmRwYmtScFlXeHZaMFp2Y20xRmNuSnZjaUE5SUcxbGJXOG9LSHNnWlhKeWIzSWdmVG9nVUhKdmNITXBJRDArSUh0Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNBOFUzUjViR1ZrVTI1aFkydGlZWEpEYjI1MFpXNTBYRzRnSUNBZ0lDQnRaWE56WVdkbFBYdGNiaUFnSUNBZ0lDQWdQRUp2ZUNCaGJHbG5ia2wwWlcxelBWd2lZMlZ1ZEdWeVhDSWdaR0YwWVMxMFpYTjBhV1E5WENKbGNuSnZjbHdpSUdScGMzQnNZWGs5WENKbWJHVjRYQ0krWEc0Z0lDQWdJQ0FnSUNBZ1BGTjBlV3hsWkVWeWNtOXlTV052YmlBdlBseHVJQ0FnSUNBZ0lDQWdJSHRsY25KdmNpNXRaWE56WVdkbGZWeHVJQ0FnSUNBZ0lDQThMMEp2ZUQ1Y2JpQWdJQ0FnSUgxY2JpQWdJQ0F2UGx4dUlDQXBPMXh1ZlNrN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElFeHZaMmx1UkdsaGJHOW5SbTl5YlVWeWNtOXlPMXh1SWwxOSAqL1wiKTtcbnZhciBMb2dpbkRpYWxvZ0Zvcm1FcnJvciA9IG1lbW8oKHsgZXJyb3IgfSkgPT4ge1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTdHlsZWRTbmFja2JhckNvbnRlbnQsIHsgbWVzc2FnZTogLyogQF9fUFVSRV9fICovIGpzeHMoQm94LCB7XG5cdFx0YWxpZ25JdGVtczogXCJjZW50ZXJcIixcblx0XHRcImRhdGEtdGVzdGlkXCI6IFwiZXJyb3JcIixcblx0XHRkaXNwbGF5OiBcImZsZXhcIixcblx0XHRjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goU3R5bGVkRXJyb3JJY29uLCB7fSksIGVycm9yLm1lc3NhZ2VdXG5cdH0pIH0pO1xufSk7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IExvZ2luRGlhbG9nRm9ybUVycm9yIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9TG9naW5EaWFsb2dGb3JtRXJyb3IubWpzLm1hcCIsImltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IFRleHRGaWVsZCBmcm9tIFwiQG11aS9tYXRlcmlhbC9UZXh0RmllbGRcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9Mb2dpbkZvcm0vUGFzc3dvcmRGaWVsZC50c3hcbnZhciBTdHlsZWRUZXh0RmllbGQgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChUZXh0RmllbGQsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxdjQ5OGk4MFwiIH0gOiB7XG5cdHRhcmdldDogXCJlMXY0OThpODBcIixcblx0bGFiZWw6IFwiU3R5bGVkVGV4dEZpZWxkXCJcbn0pKCh7IHRoZW1lIH0pID0+ICh7IG1hcmdpblRvcDogdGhlbWUuc3BhY2luZygyKSB9KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OU1iMmRwYmtadmNtMHZVR0Z6YzNkdmNtUkdhV1ZzWkM1MGMzZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJWWGRDSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OU1iMmRwYmtadmNtMHZVR0Z6YzNkdmNtUkdhV1ZzWkM1MGMzZ2lMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdjM1I1YkdWa0lHWnliMjBnSjBCbGJXOTBhVzl1TDNOMGVXeGxaQ2M3WEc1cGJYQnZjblFnVkdWNGRFWnBaV3hrSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlZHVjRkRVpwWld4a0p6dGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1JrTWdmU0JtY205dElDZHlaV0ZqZENjN1hHNXBiWEJ2Y25RZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHVhVzF3YjNKMElIUjVjR1VnZXlCR2FXVnNaRVZ5Y205eWN5QjlJR1p5YjIwZ0ozSmxZV04wTFdodmIyc3RabTl5YlNjN1hHNXBiWEJ2Y25RZ2V5QjFjMlZVY21GdWMyeGhkR2x2YmlCOUlHWnliMjBnSjNKbFlXTjBMV2t4T0c1bGVIUW5PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnUVdSa1ZYTmxja1p2Y20xV1lXeDFaWE1zSUV4dloybHVSbTl5YlZaaGJIVmxjeUI5SUdaeWIyMGdKeTR1THk0dUwzVjBhV3h6TDNOamFHVnRZWE1uTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JVWlhoMFJtbGxiR1FnUFNCemRIbHNaV1FvVkdWNGRFWnBaV3hrS1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIc2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdiV0Z5WjJsdVZHOXdPaUIwYUdWdFpTNXpjR0ZqYVc1bktESXBMRnh1ZlNrcE8xeHVYRzVwYm5SbGNtWmhZMlVnVUhKdmNITWdlMXh1SUNCeVpXZHBjM1JsY2pvZ1lXNTVPMXh1SUNCbGNuSnZjbk02SUVacFpXeGtSWEp5YjNKelBFeHZaMmx1Um05eWJWWmhiSFZsY3lCOElFRmtaRlZ6WlhKR2IzSnRWbUZzZFdWelBqdGNibjFjYmx4dVkyOXVjM1FnVUdGemMzZHZjbVJHYVdWc1pEb2dSa004VUhKdmNITStJRDBnS0hzZ2NtVm5hWE4wWlhJc0lHVnljbTl5Y3lCOUtTQTlQaUI3WEc0Z0lHTnZibk4wSUhzZ2RDQjlJRDBnZFhObFZISmhibk5zWVhScGIyNG9LVHRjYmx4dUlDQnlaWFIxY200Z0tGeHVJQ0FnSUR4VGRIbHNaV1JVWlhoMFJtbGxiR1JjYmlBZ0lDQWdJR0YxZEc5RGIyMXdiR1YwWlQxY0ltTjFjbkpsYm5RdGNHRnpjM2R2Y21SY0lseHVJQ0FnSUNBZ1pYSnliM0k5ZXlFaFpYSnliM0p6TG5CaGMzTjNiM0prZlZ4dUlDQWdJQ0FnWm5Wc2JGZHBaSFJvUFh0MGNuVmxmVnh1SUNBZ0lDQWdhR1ZzY0dWeVZHVjRkRDE3WlhKeWIzSnpMbkJoYzNOM2IzSmtQeTV0WlhOellXZGxmVnh1SUNBZ0lDQWdhV1E5WENKc2IyZHBiaTB0WkdsaGJHOW5MWEJoYzNOM2IzSmtYQ0pjYmlBZ0lDQWdJSHN1TGk1eVpXZHBjM1JsY2lnbmNHRnpjM2R2Y21RbkxDQjdYRzRnSUNBZ0lDQWdJSEpsY1hWcGNtVmtPaUI3SUhaaGJIVmxPaUIwY25WbExDQnRaWE56WVdkbE9pQjBLQ2RtYjNKdExYWmhiR2xrWVhScGIyNHVjbVZ4ZFdseVpXUXRabWxsYkdRbktTQjlMRnh1SUNBZ0lDQWdmU2w5WEc0Z0lDQWdJQ0JrWVhSaExYUmxjM1JwWkQxY0luQmhjM04zYjNKa1hDSmNiaUFnSUNBZ0lHeGhZbVZzUFh0MEtDZG1iM0p0TG5CaGMzTjNiM0prSnlsOVhHNGdJQ0FnSUNCd2JHRmpaV2h2YkdSbGNqMTdkQ2duWm05eWJTMXdiR0ZqWldodmJHUmxjaTV3WVhOemQyOXlaQ2NwZlZ4dUlDQWdJQ0FnY21WeGRXbHlaV1E5ZTNSeWRXVjlYRzRnSUNBZ0lDQjBlWEJsUFZ3aWNHRnpjM2R2Y21SY0lseHVJQ0FnSUNBZ2RtRnlhV0Z1ZEQxY0ltOTFkR3hwYm1Wa1hDSmNiaUFnSUNBdlBseHVJQ0FwTzF4dWZUdGNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdVR0Z6YzNkdmNtUkdhV1ZzWkR0Y2JpSmRmUT09ICovXCIpO1xudmFyIFBhc3N3b3JkRmllbGQgPSAoeyByZWdpc3RlciwgZXJyb3JzIH0pID0+IHtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTdHlsZWRUZXh0RmllbGQsIHtcblx0XHRhdXRvQ29tcGxldGU6IFwiY3VycmVudC1wYXNzd29yZFwiLFxuXHRcdGVycm9yOiAhIWVycm9ycy5wYXNzd29yZCxcblx0XHRmdWxsV2lkdGg6IHRydWUsXG5cdFx0aGVscGVyVGV4dDogZXJyb3JzLnBhc3N3b3JkPy5tZXNzYWdlLFxuXHRcdGlkOiBcImxvZ2luLS1kaWFsb2ctcGFzc3dvcmRcIixcblx0XHQuLi5yZWdpc3RlcihcInBhc3N3b3JkXCIsIHsgcmVxdWlyZWQ6IHtcblx0XHRcdHZhbHVlOiB0cnVlLFxuXHRcdFx0bWVzc2FnZTogdChcImZvcm0tdmFsaWRhdGlvbi5yZXF1aXJlZC1maWVsZFwiKVxuXHRcdH0gfSksXG5cdFx0XCJkYXRhLXRlc3RpZFwiOiBcInBhc3N3b3JkXCIsXG5cdFx0bGFiZWw6IHQoXCJmb3JtLnBhc3N3b3JkXCIpLFxuXHRcdHBsYWNlaG9sZGVyOiB0KFwiZm9ybS1wbGFjZWhvbGRlci5wYXNzd29yZFwiKSxcblx0XHRyZXF1aXJlZDogdHJ1ZSxcblx0XHR0eXBlOiBcInBhc3N3b3JkXCIsXG5cdFx0dmFyaWFudDogXCJvdXRsaW5lZFwiXG5cdH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgUGFzc3dvcmRGaWVsZCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVBhc3N3b3JkRmllbGQubWpzLm1hcCIsImltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IFRleHRGaWVsZCBmcm9tIFwiQG11aS9tYXRlcmlhbC9UZXh0RmllbGRcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9Mb2dpbkZvcm0vVXNlcm5hbWVGaWVsZC50c3hcbnZhciBTdHlsZWRUZXh0RmllbGQgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChUZXh0RmllbGQsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxa3QxdGdtMFwiIH0gOiB7XG5cdHRhcmdldDogXCJlMWt0MXRnbTBcIixcblx0bGFiZWw6IFwiU3R5bGVkVGV4dEZpZWxkXCJcbn0pKCh7IHRoZW1lIH0pID0+ICh7IG1hcmdpblRvcDogdGhlbWUuc3BhY2luZygyKSB9KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OU1iMmRwYmtadmNtMHZWWE5sY201aGJXVkdhV1ZzWkM1MGMzZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJWWGRDSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OU1iMmRwYmtadmNtMHZWWE5sY201aGJXVkdhV1ZzWkM1MGMzZ2lMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdjM1I1YkdWa0lHWnliMjBnSjBCbGJXOTBhVzl1TDNOMGVXeGxaQ2M3WEc1cGJYQnZjblFnVkdWNGRFWnBaV3hrSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlZHVjRkRVpwWld4a0p6dGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1JrTWdmU0JtY205dElDZHlaV0ZqZENjN1hHNXBiWEJ2Y25RZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHVhVzF3YjNKMElIUjVjR1VnZXlCR2FXVnNaRVZ5Y205eWN5QjlJR1p5YjIwZ0ozSmxZV04wTFdodmIyc3RabTl5YlNjN1hHNXBiWEJ2Y25RZ2V5QjFjMlZVY21GdWMyeGhkR2x2YmlCOUlHWnliMjBnSjNKbFlXTjBMV2t4T0c1bGVIUW5PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnUVdSa1ZYTmxja1p2Y20xV1lXeDFaWE1zSUV4dloybHVSbTl5YlZaaGJIVmxjeUI5SUdaeWIyMGdKeTR1THk0dUwzVjBhV3h6TDNOamFHVnRZWE1uTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JVWlhoMFJtbGxiR1FnUFNCemRIbHNaV1FvVkdWNGRFWnBaV3hrS1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIc2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdiV0Z5WjJsdVZHOXdPaUIwYUdWdFpTNXpjR0ZqYVc1bktESXBMRnh1ZlNrcE8xeHVYRzVwYm5SbGNtWmhZMlVnVUhKdmNITWdlMXh1SUNCeVpXZHBjM1JsY2pvZ1lXNTVPMXh1SUNCbGNuSnZjbk02SUVacFpXeGtSWEp5YjNKelBFeHZaMmx1Um05eWJWWmhiSFZsY3lCOElFRmtaRlZ6WlhKR2IzSnRWbUZzZFdWelBqdGNibjFjYmx4dVkyOXVjM1FnVlhObGNtNWhiV1ZHYVdWc1pEb2dSa004VUhKdmNITStJRDBnS0hzZ2NtVm5hWE4wWlhJc0lHVnljbTl5Y3lCOUtTQTlQaUI3WEc0Z0lHTnZibk4wSUhzZ2RDQjlJRDBnZFhObFZISmhibk5zWVhScGIyNG9LVHRjYmx4dUlDQnlaWFIxY200Z0tGeHVJQ0FnSUR4VGRIbHNaV1JVWlhoMFJtbGxiR1JjYmlBZ0lDQWdJR0YxZEc5RGIyMXdiR1YwWlQxY0luVnpaWEp1WVcxbFhDSmNiaUFnSUNBZ0lHVnljbTl5UFhzaElXVnljbTl5Y3k1MWMyVnlibUZ0WlgxY2JpQWdJQ0FnSUdaMWJHeFhhV1IwYUQxN2RISjFaWDFjYmlBZ0lDQWdJR2hsYkhCbGNsUmxlSFE5ZTJWeWNtOXljeTUxYzJWeWJtRnRaVDh1YldWemMyRm5aWDFjYmlBZ0lDQWdJR2xrUFZ3aWJHOW5hVzR0TFdScFlXeHZaeTExYzJWeWJtRnRaVndpWEc0Z0lDQWdJQ0I3TGk0dWNtVm5hWE4wWlhJb0ozVnpaWEp1WVcxbEp5d2dlMXh1SUNBZ0lDQWdJQ0J5WlhGMWFYSmxaRG9nZXlCMllXeDFaVG9nZEhKMVpTd2diV1Z6YzJGblpUb2dkQ2duWm05eWJTMTJZV3hwWkdGMGFXOXVMbkpsY1hWcGNtVmtMV1pwWld4a0p5a2dmU3hjYmlBZ0lDQWdJSDBwZlZ4dUlDQWdJQ0FnYkdGaVpXdzllM1FvSjJadmNtMHVkWE5sY201aGJXVW5LWDFjYmlBZ0lDQWdJSEJzWVdObGFHOXNaR1Z5UFh0MEtDZG1iM0p0TFhCc1lXTmxhRzlzWkdWeUxuVnpaWEp1WVcxbEp5bDlYRzRnSUNBZ0lDQnlaWEYxYVhKbFpEMTdkSEoxWlgxY2JpQWdJQ0FnSUhaaGNtbGhiblE5WENKdmRYUnNhVzVsWkZ3aVhHNGdJQ0FnTHo1Y2JpQWdLVHRjYm4wN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElGVnpaWEp1WVcxbFJtbGxiR1E3WEc0aVhYMD0gKi9cIik7XG52YXIgVXNlcm5hbWVGaWVsZCA9ICh7IHJlZ2lzdGVyLCBlcnJvcnMgfSkgPT4ge1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFN0eWxlZFRleHRGaWVsZCwge1xuXHRcdGF1dG9Db21wbGV0ZTogXCJ1c2VybmFtZVwiLFxuXHRcdGVycm9yOiAhIWVycm9ycy51c2VybmFtZSxcblx0XHRmdWxsV2lkdGg6IHRydWUsXG5cdFx0aGVscGVyVGV4dDogZXJyb3JzLnVzZXJuYW1lPy5tZXNzYWdlLFxuXHRcdGlkOiBcImxvZ2luLS1kaWFsb2ctdXNlcm5hbWVcIixcblx0XHQuLi5yZWdpc3RlcihcInVzZXJuYW1lXCIsIHsgcmVxdWlyZWQ6IHtcblx0XHRcdHZhbHVlOiB0cnVlLFxuXHRcdFx0bWVzc2FnZTogdChcImZvcm0tdmFsaWRhdGlvbi5yZXF1aXJlZC1maWVsZFwiKVxuXHRcdH0gfSksXG5cdFx0bGFiZWw6IHQoXCJmb3JtLnVzZXJuYW1lXCIpLFxuXHRcdHBsYWNlaG9sZGVyOiB0KFwiZm9ybS1wbGFjZWhvbGRlci51c2VybmFtZVwiKSxcblx0XHRyZXF1aXJlZDogdHJ1ZSxcblx0XHR2YXJpYW50OiBcIm91dGxpbmVkXCJcblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBVc2VybmFtZUZpZWxkIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9VXNlcm5hbWVGaWVsZC5tanMubWFwIiwiaW1wb3J0IHsgUm91dGUgfSBmcm9tIFwiLi4vLi4vdXRpbHMvcm91dGVzLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vdXRpbHMvaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBnZXRDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4uLy4uL2NvbmZpZ3VyYXRpb24ubWpzXCI7XG5pbXBvcnQgTG9naW5EaWFsb2dGb3JtRXJyb3IgZnJvbSBcIi4uL0xvZ2luRGlhbG9nL0xvZ2luRGlhbG9nRm9ybUVycm9yLm1qc1wiO1xuaW1wb3J0IFBhc3N3b3JkRmllbGQgZnJvbSBcIi4vUGFzc3dvcmRGaWVsZC5tanNcIjtcbmltcG9ydCBVc2VybmFtZUZpZWxkIGZyb20gXCIuL1VzZXJuYW1lRmllbGQubWpzXCI7XG5pbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCBMaW5rIGZyb20gXCJAbXVpL21hdGVyaWFsL0xpbmtcIjtcbmltcG9ydCBUeXBvZ3JhcGh5IGZyb20gXCJAbXVpL21hdGVyaWFsL1R5cG9ncmFwaHlcIjtcbmltcG9ydCBCdXR0b24gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQnV0dG9uXCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvTG9naW5Gb3JtL0xvZ2luLnRzeFxudmFyIFN0eWxlZEZvcm0gPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcImZvcm1cIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTlxaWZ3azFcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTlxaWZ3azFcIixcblx0bGFiZWw6IFwiU3R5bGVkRm9ybVwiXG59KSgoeyB0aGVtZSB9KSA9PiAoeyBtYXJnaW5Ub3A6IHRoZW1lLnNwYWNpbmcoMSkgfSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlNYjJkcGJrWnZjbTB2VEc5bmFXNHVkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVdkQ2JVSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDB4dloybHVSbTl5YlM5TWIyZHBiaTUwYzNnaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2MzUjViR1ZrSUdaeWIyMGdKMEJsYlc5MGFXOXVMM04wZVd4bFpDYzdYRzVwYlhCdmNuUWdRblYwZEc5dUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZRblYwZEc5dUp6dGNibWx0Y0c5eWRDQk1hVzVySUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHVheWM3WEc1cGJYQnZjblFnVkhsd2IyZHlZWEJvZVNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wxUjVjRzluY21Gd2FIa25PMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QkdReUI5SUdaeWIyMGdKM0psWVdOMEp6dGNibWx0Y0c5eWRDQlNaV0ZqZENCbWNtOXRJQ2R5WldGamRDYzdYRzVwYlhCdmNuUWdkSGx3WlNCN0lFWnBaV3hrUlhKeWIzSnpMQ0JWYzJWR2IzSnRTR0Z1Wkd4bFUzVmliV2wwTENCVmMyVkdiM0p0VW1WbmFYTjBaWElnZlNCbWNtOXRJQ2R5WldGamRDMW9iMjlyTFdadmNtMG5PMXh1YVcxd2IzSjBJSHNnZFhObFZISmhibk5zWVhScGIyNGdmU0JtY205dElDZHlaV0ZqZEMxcE1UaHVaWGgwSnp0Y2JseHVhVzF3YjNKMElIUjVjR1VnZXlCVWFHVnRaU0I5SUdaeWIyMGdKeTR1THk0dUx5YzdYRzVwYlhCdmNuUWdleUJuWlhSRGIyNW1hV2QxY21GMGFXOXVJSDBnWm5KdmJTQW5MaTR2TGk0dlkyOXVabWxuZFhKaGRHbHZiaWM3WEc1cGJYQnZjblFnZXlCU2IzVjBaU0I5SUdaeWIyMGdKeTR1THk0dUwzVjBhV3h6Snp0Y2JtbHRjRzl5ZENCTWIyZHBia1JwWVd4dlowWnZjbTFGY25KdmNpQm1jbTl0SUNjdUxpOU1iMmRwYmtScFlXeHZaeTlNYjJkcGJrUnBZV3h2WjBadmNtMUZjbkp2Y2ljN1hHNXBiWEJ2Y25RZ1VHRnpjM2R2Y21SR2FXVnNaQ0JtY205dElDY3VMMUJoYzNOM2IzSmtSbWxsYkdRbk8xeHVhVzF3YjNKMElGVnpaWEp1WVcxbFJtbGxiR1FnWm5KdmJTQW5MaTlWYzJWeWJtRnRaVVpwWld4a0p6dGNibHh1WTI5dWMzUWdVM1I1YkdWa1JtOXliU0E5SUhOMGVXeGxaQ2duWm05eWJTY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCdFlYSm5hVzVVYjNBNklIUm9aVzFsTG5Od1lXTnBibWNvTVNrc1hHNTlLU2s3WEc1Y2JtTnZibk4wSUZOMGVXeGxaRUoxZEhSdmJpQTlJSE4wZVd4bFpDaENkWFIwYjI0cFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0J0WVhKbmFXNDZJSFJvWlcxbExuTndZV05wYm1jb015d2dNQ3dnTWlrc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1RHOW5hVzVHYjNKdFZtRnNkV1Z6SUh0Y2JpQWdkWE5sY201aGJXVTZJSE4wY21sdVp6dGNiaUFnY0dGemMzZHZjbVE2SUhOMGNtbHVaenRjYm4xY2JseHVhVzUwWlhKbVlXTmxJRkJ5YjNCeklIdGNiaUFnY21WbmFYTjBaWEk2SUZWelpVWnZjbTFTWldkcGMzUmxjanhNYjJkcGJrWnZjbTFXWVd4MVpYTStPMXh1SUNCb1lXNWtiR1ZUZFdKdGFYUTZJRlZ6WlVadmNtMUlZVzVrYkdWVGRXSnRhWFE4VEc5bmFXNUdiM0p0Vm1Gc2RXVnpQanRjYmlBZ2IyNVRkV0p0YVhRNklDaGtZWFJoT2lCTWIyZHBia1p2Y20xV1lXeDFaWE1wSUQwK0lIWnZhV1E3WEc0Z0lHVnljbTl5Y3pvZ1JtbGxiR1JGY25KdmNuTThURzluYVc1R2IzSnRWbUZzZFdWelBqdGNiaUFnYVhOV1lXeHBaRG9nWW05dmJHVmhianRjYm4xY2JseHVZMjl1YzNRZ1RHOW5hVzVHYjNKdE9pQkdRenhRY205d2N6NGdQU0FvZXlCeVpXZHBjM1JsY2l3Z2FHRnVaR3hsVTNWaWJXbDBMQ0J2YmxOMVltMXBkQ3dnWlhKeWIzSnpMQ0JwYzFaaGJHbGtJSDBwSUQwK0lIdGNiaUFnWTI5dWMzUWdleUIwSUgwZ1BTQjFjMlZVY21GdWMyeGhkR2x2YmlncE8xeHVJQ0JqYjI1emRDQmpiMjVtYVdkMWNtRjBhVzl1SUQwZ1oyVjBRMjl1Wm1sbmRYSmhkR2x2YmlncE8xeHVJQ0JqYjI1emRDQmphR0Z1WjJWUVlYTnpkMjl5WkVWdVlXSnNaV1FnUFNCamIyNW1hV2QxY21GMGFXOXVQeTVtYkdGbmN6OHVZMmhoYm1kbFVHRnpjM2R2Y21RN1hHNWNiaUFnY21WMGRYSnVJQ2hjYmlBZ0lDQThVM1I1YkdWa1JtOXliU0J1YjFaaGJHbGtZWFJsUFh0MGNuVmxmU0J2YmxOMVltMXBkRDE3YUdGdVpHeGxVM1ZpYldsMEtHOXVVM1ZpYldsMEtYMCtYRzRnSUNBZ0lDQThWWE5sY201aGJXVkdhV1ZzWkNCbGNuSnZjbk05ZTJWeWNtOXljMzBnY21WbmFYTjBaWEk5ZTNKbFoybHpkR1Z5ZlNBdlBseHVJQ0FnSUNBZ1BGQmhjM04zYjNKa1JtbGxiR1FnWlhKeWIzSnpQWHRsY25KdmNuTjlJSEpsWjJsemRHVnlQWHR5WldkcGMzUmxjbjBnTHo1Y2JseHVJQ0FnSUNBZ2UyVnljbTl5Y3k1eWIyOTBJQ1ltSUR4TWIyZHBia1JwWVd4dlowWnZjbTFGY25KdmNpQmxjbkp2Y2oxN1pYSnliM0p6TG5KdmIzUjlJQzgrZlZ4dVhHNGdJQ0FnSUNBOFUzUjViR1ZrUW5WMGRHOXVYRzRnSUNBZ0lDQWdJR052Ykc5eVBWd2ljSEpwYldGeWVWd2lYRzRnSUNBZ0lDQWdJR1JoZEdFdGRHVnpkR2xrUFZ3aWJHOW5hVzR0WkdsaGJHOW5MV1p2Y20wdGJHOW5hVzR0WW5WMGRHOXVYQ0pjYmlBZ0lDQWdJQ0FnWkdsellXSnNaV1E5ZXlGcGMxWmhiR2xrZlZ4dUlDQWdJQ0FnSUNCbWRXeHNWMmxrZEdnOWUzUnlkV1Y5WEc0Z0lDQWdJQ0FnSUdsa1BWd2liRzluYVc0dExXUnBZV3h2WnkxaWRYUjBiMjR0YzNWaWJXbDBYQ0pjYmlBZ0lDQWdJQ0FnYzJsNlpUMWNJbXhoY21kbFhDSmNiaUFnSUNBZ0lDQWdkSGx3WlQxY0luTjFZbTFwZEZ3aVhHNGdJQ0FnSUNBZ0lIWmhjbWxoYm5ROVhDSmpiMjUwWVdsdVpXUmNJbHh1SUNBZ0lDQWdQbHh1SUNBZ0lDQWdJQ0I3ZENnblluVjBkRzl1TG14dloybHVKeWw5WEc0Z0lDQWdJQ0E4TDFOMGVXeGxaRUoxZEhSdmJqNWNiaUFnSUNBZ0lIdGphR0Z1WjJWUVlYTnpkMjl5WkVWdVlXSnNaV1FnSmlZZ0tGeHVJQ0FnSUNBZ0lDQThWSGx3YjJkeVlYQm9lU0JoYkdsbmJqMWNJbU5sYm5SbGNsd2lJSE40UFh0N0lHMTBPaUF5TENCbWIyNTBVMmw2WlRvZ01USWdmWDBnZG1GeWFXRnVkRDFjSW1KdlpIa3lYQ0krWEc0Z0lDQWdJQ0FnSUNBZ1BFeHBibXNnYUhKbFpqMTdVbTkxZEdVdVEwaEJUa2RGWDFCQlUxTlhUMUpFZlNCemVEMTdleUJ0YkRvZ01TQjlmVDVjYmlBZ0lDQWdJQ0FnSUNBZ0lIdDBLQ2R6WldOMWNtbDBlUzVqYUdGdVoyVlFZWE56ZDI5eVpDNTBhWFJzWlNjcGZWeHVJQ0FnSUNBZ0lDQWdJRHd2VEdsdWF6NWNiaUFnSUNBZ0lDQWdQQzlVZVhCdlozSmhjR2g1UGx4dUlDQWdJQ0FnS1gxY2JpQWdJQ0E4TDFOMGVXeGxaRVp2Y20wK1hHNGdJQ2s3WEc1OU8xeHVYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQk1iMmRwYmtadmNtMDdYRzRpWFgwPSAqL1wiKTtcbnZhciBTdHlsZWRCdXR0b24gPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChCdXR0b24sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImU5cWlmd2swXCIgfSA6IHtcblx0dGFyZ2V0OiBcImU5cWlmd2swXCIsXG5cdGxhYmVsOiBcIlN0eWxlZEJ1dHRvblwiXG59KSgoeyB0aGVtZSB9KSA9PiAoeyBtYXJnaW46IHRoZW1lLnNwYWNpbmcoMywgMCwgMikgfSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlNYjJkcGJrWnZjbTB2VEc5bmFXNHVkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVc5Q2NVSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDB4dloybHVSbTl5YlM5TWIyZHBiaTUwYzNnaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2MzUjViR1ZrSUdaeWIyMGdKMEJsYlc5MGFXOXVMM04wZVd4bFpDYzdYRzVwYlhCdmNuUWdRblYwZEc5dUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZRblYwZEc5dUp6dGNibWx0Y0c5eWRDQk1hVzVySUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHVheWM3WEc1cGJYQnZjblFnVkhsd2IyZHlZWEJvZVNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wxUjVjRzluY21Gd2FIa25PMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QkdReUI5SUdaeWIyMGdKM0psWVdOMEp6dGNibWx0Y0c5eWRDQlNaV0ZqZENCbWNtOXRJQ2R5WldGamRDYzdYRzVwYlhCdmNuUWdkSGx3WlNCN0lFWnBaV3hrUlhKeWIzSnpMQ0JWYzJWR2IzSnRTR0Z1Wkd4bFUzVmliV2wwTENCVmMyVkdiM0p0VW1WbmFYTjBaWElnZlNCbWNtOXRJQ2R5WldGamRDMW9iMjlyTFdadmNtMG5PMXh1YVcxd2IzSjBJSHNnZFhObFZISmhibk5zWVhScGIyNGdmU0JtY205dElDZHlaV0ZqZEMxcE1UaHVaWGgwSnp0Y2JseHVhVzF3YjNKMElIUjVjR1VnZXlCVWFHVnRaU0I5SUdaeWIyMGdKeTR1THk0dUx5YzdYRzVwYlhCdmNuUWdleUJuWlhSRGIyNW1hV2QxY21GMGFXOXVJSDBnWm5KdmJTQW5MaTR2TGk0dlkyOXVabWxuZFhKaGRHbHZiaWM3WEc1cGJYQnZjblFnZXlCU2IzVjBaU0I5SUdaeWIyMGdKeTR1THk0dUwzVjBhV3h6Snp0Y2JtbHRjRzl5ZENCTWIyZHBia1JwWVd4dlowWnZjbTFGY25KdmNpQm1jbTl0SUNjdUxpOU1iMmRwYmtScFlXeHZaeTlNYjJkcGJrUnBZV3h2WjBadmNtMUZjbkp2Y2ljN1hHNXBiWEJ2Y25RZ1VHRnpjM2R2Y21SR2FXVnNaQ0JtY205dElDY3VMMUJoYzNOM2IzSmtSbWxsYkdRbk8xeHVhVzF3YjNKMElGVnpaWEp1WVcxbFJtbGxiR1FnWm5KdmJTQW5MaTlWYzJWeWJtRnRaVVpwWld4a0p6dGNibHh1WTI5dWMzUWdVM1I1YkdWa1JtOXliU0E5SUhOMGVXeGxaQ2duWm05eWJTY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCdFlYSm5hVzVVYjNBNklIUm9aVzFsTG5Od1lXTnBibWNvTVNrc1hHNTlLU2s3WEc1Y2JtTnZibk4wSUZOMGVXeGxaRUoxZEhSdmJpQTlJSE4wZVd4bFpDaENkWFIwYjI0cFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0J0WVhKbmFXNDZJSFJvWlcxbExuTndZV05wYm1jb015d2dNQ3dnTWlrc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1RHOW5hVzVHYjNKdFZtRnNkV1Z6SUh0Y2JpQWdkWE5sY201aGJXVTZJSE4wY21sdVp6dGNiaUFnY0dGemMzZHZjbVE2SUhOMGNtbHVaenRjYm4xY2JseHVhVzUwWlhKbVlXTmxJRkJ5YjNCeklIdGNiaUFnY21WbmFYTjBaWEk2SUZWelpVWnZjbTFTWldkcGMzUmxjanhNYjJkcGJrWnZjbTFXWVd4MVpYTStPMXh1SUNCb1lXNWtiR1ZUZFdKdGFYUTZJRlZ6WlVadmNtMUlZVzVrYkdWVGRXSnRhWFE4VEc5bmFXNUdiM0p0Vm1Gc2RXVnpQanRjYmlBZ2IyNVRkV0p0YVhRNklDaGtZWFJoT2lCTWIyZHBia1p2Y20xV1lXeDFaWE1wSUQwK0lIWnZhV1E3WEc0Z0lHVnljbTl5Y3pvZ1JtbGxiR1JGY25KdmNuTThURzluYVc1R2IzSnRWbUZzZFdWelBqdGNiaUFnYVhOV1lXeHBaRG9nWW05dmJHVmhianRjYm4xY2JseHVZMjl1YzNRZ1RHOW5hVzVHYjNKdE9pQkdRenhRY205d2N6NGdQU0FvZXlCeVpXZHBjM1JsY2l3Z2FHRnVaR3hsVTNWaWJXbDBMQ0J2YmxOMVltMXBkQ3dnWlhKeWIzSnpMQ0JwYzFaaGJHbGtJSDBwSUQwK0lIdGNiaUFnWTI5dWMzUWdleUIwSUgwZ1BTQjFjMlZVY21GdWMyeGhkR2x2YmlncE8xeHVJQ0JqYjI1emRDQmpiMjVtYVdkMWNtRjBhVzl1SUQwZ1oyVjBRMjl1Wm1sbmRYSmhkR2x2YmlncE8xeHVJQ0JqYjI1emRDQmphR0Z1WjJWUVlYTnpkMjl5WkVWdVlXSnNaV1FnUFNCamIyNW1hV2QxY21GMGFXOXVQeTVtYkdGbmN6OHVZMmhoYm1kbFVHRnpjM2R2Y21RN1hHNWNiaUFnY21WMGRYSnVJQ2hjYmlBZ0lDQThVM1I1YkdWa1JtOXliU0J1YjFaaGJHbGtZWFJsUFh0MGNuVmxmU0J2YmxOMVltMXBkRDE3YUdGdVpHeGxVM1ZpYldsMEtHOXVVM1ZpYldsMEtYMCtYRzRnSUNBZ0lDQThWWE5sY201aGJXVkdhV1ZzWkNCbGNuSnZjbk05ZTJWeWNtOXljMzBnY21WbmFYTjBaWEk5ZTNKbFoybHpkR1Z5ZlNBdlBseHVJQ0FnSUNBZ1BGQmhjM04zYjNKa1JtbGxiR1FnWlhKeWIzSnpQWHRsY25KdmNuTjlJSEpsWjJsemRHVnlQWHR5WldkcGMzUmxjbjBnTHo1Y2JseHVJQ0FnSUNBZ2UyVnljbTl5Y3k1eWIyOTBJQ1ltSUR4TWIyZHBia1JwWVd4dlowWnZjbTFGY25KdmNpQmxjbkp2Y2oxN1pYSnliM0p6TG5KdmIzUjlJQzgrZlZ4dVhHNGdJQ0FnSUNBOFUzUjViR1ZrUW5WMGRHOXVYRzRnSUNBZ0lDQWdJR052Ykc5eVBWd2ljSEpwYldGeWVWd2lYRzRnSUNBZ0lDQWdJR1JoZEdFdGRHVnpkR2xrUFZ3aWJHOW5hVzR0WkdsaGJHOW5MV1p2Y20wdGJHOW5hVzR0WW5WMGRHOXVYQ0pjYmlBZ0lDQWdJQ0FnWkdsellXSnNaV1E5ZXlGcGMxWmhiR2xrZlZ4dUlDQWdJQ0FnSUNCbWRXeHNWMmxrZEdnOWUzUnlkV1Y5WEc0Z0lDQWdJQ0FnSUdsa1BWd2liRzluYVc0dExXUnBZV3h2WnkxaWRYUjBiMjR0YzNWaWJXbDBYQ0pjYmlBZ0lDQWdJQ0FnYzJsNlpUMWNJbXhoY21kbFhDSmNiaUFnSUNBZ0lDQWdkSGx3WlQxY0luTjFZbTFwZEZ3aVhHNGdJQ0FnSUNBZ0lIWmhjbWxoYm5ROVhDSmpiMjUwWVdsdVpXUmNJbHh1SUNBZ0lDQWdQbHh1SUNBZ0lDQWdJQ0I3ZENnblluVjBkRzl1TG14dloybHVKeWw5WEc0Z0lDQWdJQ0E4TDFOMGVXeGxaRUoxZEhSdmJqNWNiaUFnSUNBZ0lIdGphR0Z1WjJWUVlYTnpkMjl5WkVWdVlXSnNaV1FnSmlZZ0tGeHVJQ0FnSUNBZ0lDQThWSGx3YjJkeVlYQm9lU0JoYkdsbmJqMWNJbU5sYm5SbGNsd2lJSE40UFh0N0lHMTBPaUF5TENCbWIyNTBVMmw2WlRvZ01USWdmWDBnZG1GeWFXRnVkRDFjSW1KdlpIa3lYQ0krWEc0Z0lDQWdJQ0FnSUNBZ1BFeHBibXNnYUhKbFpqMTdVbTkxZEdVdVEwaEJUa2RGWDFCQlUxTlhUMUpFZlNCemVEMTdleUJ0YkRvZ01TQjlmVDVjYmlBZ0lDQWdJQ0FnSUNBZ0lIdDBLQ2R6WldOMWNtbDBlUzVqYUdGdVoyVlFZWE56ZDI5eVpDNTBhWFJzWlNjcGZWeHVJQ0FnSUNBZ0lDQWdJRHd2VEdsdWF6NWNiaUFnSUNBZ0lDQWdQQzlVZVhCdlozSmhjR2g1UGx4dUlDQWdJQ0FnS1gxY2JpQWdJQ0E4TDFOMGVXeGxaRVp2Y20wK1hHNGdJQ2s3WEc1OU8xeHVYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQk1iMmRwYmtadmNtMDdYRzRpWFgwPSAqL1wiKTtcbnZhciBMb2dpbkZvcm0gPSAoeyByZWdpc3RlciwgaGFuZGxlU3VibWl0LCBvblN1Ym1pdCwgZXJyb3JzLCBpc1ZhbGlkIH0pID0+IHtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRjb25zdCBjaGFuZ2VQYXNzd29yZEVuYWJsZWQgPSBnZXRDb25maWd1cmF0aW9uKCk/LmZsYWdzPy5jaGFuZ2VQYXNzd29yZDtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKFN0eWxlZEZvcm0sIHtcblx0XHRub1ZhbGlkYXRlOiB0cnVlLFxuXHRcdG9uU3VibWl0OiBoYW5kbGVTdWJtaXQob25TdWJtaXQpLFxuXHRcdGNoaWxkcmVuOiBbXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFVzZXJuYW1lRmllbGQsIHtcblx0XHRcdFx0ZXJyb3JzLFxuXHRcdFx0XHRyZWdpc3RlclxuXHRcdFx0fSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFBhc3N3b3JkRmllbGQsIHtcblx0XHRcdFx0ZXJyb3JzLFxuXHRcdFx0XHRyZWdpc3RlclxuXHRcdFx0fSksXG5cdFx0XHRlcnJvcnMucm9vdCAmJiAvKiBAX19QVVJFX18gKi8ganN4KExvZ2luRGlhbG9nRm9ybUVycm9yLCB7IGVycm9yOiBlcnJvcnMucm9vdCB9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goU3R5bGVkQnV0dG9uLCB7XG5cdFx0XHRcdGNvbG9yOiBcInByaW1hcnlcIixcblx0XHRcdFx0XCJkYXRhLXRlc3RpZFwiOiBcImxvZ2luLWRpYWxvZy1mb3JtLWxvZ2luLWJ1dHRvblwiLFxuXHRcdFx0XHRkaXNhYmxlZDogIWlzVmFsaWQsXG5cdFx0XHRcdGZ1bGxXaWR0aDogdHJ1ZSxcblx0XHRcdFx0aWQ6IFwibG9naW4tLWRpYWxvZy1idXR0b24tc3VibWl0XCIsXG5cdFx0XHRcdHNpemU6IFwibGFyZ2VcIixcblx0XHRcdFx0dHlwZTogXCJzdWJtaXRcIixcblx0XHRcdFx0dmFyaWFudDogXCJjb250YWluZWRcIixcblx0XHRcdFx0Y2hpbGRyZW46IHQoXCJidXR0b24ubG9naW5cIilcblx0XHRcdH0pLFxuXHRcdFx0Y2hhbmdlUGFzc3dvcmRFbmFibGVkICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goVHlwb2dyYXBoeSwge1xuXHRcdFx0XHRhbGlnbjogXCJjZW50ZXJcIixcblx0XHRcdFx0c3g6IHtcblx0XHRcdFx0XHRtdDogMixcblx0XHRcdFx0XHRmb250U2l6ZTogMTJcblx0XHRcdFx0fSxcblx0XHRcdFx0dmFyaWFudDogXCJib2R5MlwiLFxuXHRcdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChMaW5rLCB7XG5cdFx0XHRcdFx0aHJlZjogUm91dGUuQ0hBTkdFX1BBU1NXT1JELFxuXHRcdFx0XHRcdHN4OiB7IG1sOiAxIH0sXG5cdFx0XHRcdFx0Y2hpbGRyZW46IHQoXCJzZWN1cml0eS5jaGFuZ2VQYXNzd29yZC50aXRsZVwiKVxuXHRcdFx0XHR9KVxuXHRcdFx0fSlcblx0XHRdXG5cdH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgTG9naW5Gb3JtIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9TG9naW4ubWpzLm1hcCIsImltcG9ydCAqIGFzIHl1cCBmcm9tIFwieXVwXCI7XG52YXIgdXNlcm5hbWVTY2hlbWEgPSB5dXAuc3RyaW5nKCkucmVxdWlyZWQoKS5taW4oMikubWF0Y2hlcygvXlstYS16QS1aMC05Xy4hfionKClAXSskLywgXCJzZWN1cml0eS5lcnJvci51c2VybmFtZS1tdXN0LWJlLXVybC1zYWZlXCIpO1xudmFyIHBhc3N3b3JkU2NoZW1hID0geXVwLnN0cmluZygpLnJlcXVpcmVkKCkubWluKDIpO1xudmFyIGxvZ2luU2NoZW1hID0geXVwLm9iamVjdCh7XG5cdHVzZXJuYW1lOiB1c2VybmFtZVNjaGVtYSxcblx0cGFzc3dvcmQ6IHBhc3N3b3JkU2NoZW1hXG59KTtcbnZhciBhZGRVc2VyU2NoZW1hID0geXVwLm9iamVjdCh7XG5cdHVzZXJuYW1lOiB1c2VybmFtZVNjaGVtYSxcblx0cGFzc3dvcmQ6IHBhc3N3b3JkU2NoZW1hLFxuXHRlbWFpbDogeXVwLnN0cmluZygpLmVtYWlsKCkucmVxdWlyZWQoKVxufSk7XG52YXIgY2hhbmdlUGFzc3dvcmRTY2hlbWEgPSB5dXAub2JqZWN0KHtcblx0dXNlcm5hbWU6IHVzZXJuYW1lU2NoZW1hLFxuXHRvbGRQYXNzd29yZDogcGFzc3dvcmRTY2hlbWEsXG5cdG5ld1Bhc3N3b3JkOiBwYXNzd29yZFNjaGVtYSxcblx0Y29uZmlybVBhc3N3b3JkOiB5dXAuc3RyaW5nKCkucmVxdWlyZWQoKS5vbmVPZihbeXVwLnJlZihcIm5ld1Bhc3N3b3JkXCIpXSwgXCJzZWN1cml0eS5lcnJvci5wYXNzd29yZC1taXNtYXRjaFwiKVxufSk7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IGFkZFVzZXJTY2hlbWEsIGNoYW5nZVBhc3N3b3JkU2NoZW1hLCBsb2dpblNjaGVtYSB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zY2hlbWFzLm1qcy5tYXAiLCJpbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9BdXRoUHJvdmlkZXIvQXV0aFByb3ZpZGVyLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vcHJvdmlkZXJzL0F1dGhQcm92aWRlci9pbmRleC5tanNcIjtcbmltcG9ydCB7IGxvZ2luU2NoZW1hIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3NjaGVtYXMubWpzXCI7XG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgeXVwUmVzb2x2ZXIgfSBmcm9tIFwiQGhvb2tmb3JtL3Jlc29sdmVycy95dXBcIjtcbmltcG9ydCB7IHVzZUZvcm0gfSBmcm9tIFwicmVhY3QtaG9vay1mb3JtXCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvTG9naW5Gb3JtL3VzZUxvZ2luRm9ybS50c1xuZnVuY3Rpb24gdXNlTG9naW5Gb3JtKHsgb25TdWNjZXNzIH0gPSB7fSkge1xuXHRjb25zdCB7IGhhbmRsZUxvZ2luIH0gPSB1c2VBdXRoKCk7XG5cdGNvbnN0IGZvcm0gPSB1c2VGb3JtKHtcblx0XHRtb2RlOiBcIm9uQ2hhbmdlXCIsXG5cdFx0cmVzb2x2ZXI6IHl1cFJlc29sdmVyKGxvZ2luU2NoZW1hKVxuXHR9KTtcblx0Y29uc3QgeyBzZXRFcnJvciB9ID0gZm9ybTtcblx0Y29uc3Qgb25TdWJtaXQgPSB1c2VDYWxsYmFjayhhc3luYyAoZGF0YSkgPT4ge1xuXHRcdHRyeSB7XG5cdFx0XHRhd2FpdCBoYW5kbGVMb2dpbj8uKGRhdGEpO1xuXHRcdFx0b25TdWNjZXNzPy4oKTtcblx0XHR9IGNhdGNoIHtcblx0XHRcdHNldEVycm9yKFwicm9vdFwiLCB7XG5cdFx0XHRcdHR5cGU6IFwic2VydmVyXCIsXG5cdFx0XHRcdG1lc3NhZ2U6IFwiSW52YWxpZCB1c2VybmFtZSBvciBwYXNzd29yZFwiXG5cdFx0XHR9KTtcblx0XHR9XG5cdH0sIFtcblx0XHRoYW5kbGVMb2dpbixcblx0XHRzZXRFcnJvcixcblx0XHRvblN1Y2Nlc3Ncblx0XSk7XG5cdHJldHVybiB7XG5cdFx0Li4uZm9ybSxcblx0XHRvblN1Ym1pdFxuXHR9O1xufVxuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyB1c2VMb2dpbkZvcm0gfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlTG9naW5Gb3JtLm1qcy5tYXAiLCJpbXBvcnQgTG9naW5Gb3JtIGZyb20gXCIuLi9Mb2dpbkZvcm0vTG9naW4ubWpzXCI7XG5pbXBvcnQgeyB1c2VMb2dpbkZvcm0gfSBmcm9tIFwiLi4vTG9naW5Gb3JtL3VzZUxvZ2luRm9ybS5tanNcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9Mb2dpbkRpYWxvZy9Mb2dpbkRpYWxvZ0Zvcm0udHN4XG52YXIgTG9naW5EaWFsb2dGb3JtID0gKCkgPT4ge1xuXHRjb25zdCB7IHJlZ2lzdGVyLCBoYW5kbGVTdWJtaXQsIGZvcm1TdGF0ZTogeyBpc1ZhbGlkLCBlcnJvcnMgfSwgb25TdWJtaXQgfSA9IHVzZUxvZ2luRm9ybSgpO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChMb2dpbkZvcm0sIHtcblx0XHRlcnJvcnMsXG5cdFx0aGFuZGxlU3VibWl0LFxuXHRcdGlzVmFsaWQsXG5cdFx0b25TdWJtaXQsXG5cdFx0cmVnaXN0ZXJcblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBMb2dpbkRpYWxvZ0Zvcm0gYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Mb2dpbkRpYWxvZ0Zvcm0ubWpzLm1hcCIsImltcG9ydCB7IHVzZUF1dGggfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL0F1dGhQcm92aWRlci9BdXRoUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9wcm92aWRlcnMvQXV0aFByb3ZpZGVyL2luZGV4Lm1qc1wiO1xuaW1wb3J0IExvZ2luRm9ybUhlYWRlciBmcm9tIFwiLi4vTG9naW5Gb3JtL3N0eWxlcy5tanNcIjtcbmltcG9ydCBMb2dpbkRpYWxvZ0Nsb3NlQnV0dG9uIGZyb20gXCIuL0xvZ2luRGlhbG9nQ2xvc2VCdXR0b24ubWpzXCI7XG5pbXBvcnQgTG9naW5EaWFsb2dGb3JtIGZyb20gXCIuL0xvZ2luRGlhbG9nRm9ybS5tanNcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgRGlhbG9nIGZyb20gXCJAbXVpL21hdGVyaWFsL0RpYWxvZ1wiO1xuaW1wb3J0IERpYWxvZ0NvbnRlbnQgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvRGlhbG9nQ29udGVudFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0xvZ2luRGlhbG9nL0xvZ2luRGlhbG9nLnRzeFxudmFyIExvZ2luRGlhbG9nID0gKHsgb25DbG9zZSwgb3BlbiA9IGZhbHNlIH0pID0+IHtcblx0Y29uc3QgeyB1c2VyU3RhdGUgfSA9IHVzZUF1dGgoKTtcblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRpZiAodXNlclN0YXRlPy50b2tlbikgb25DbG9zZSgpO1xuXHR9LCBbb25DbG9zZSwgdXNlclN0YXRlXSk7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhEaWFsb2csIHtcblx0XHRcImRhdGEtdGVzdGlkXCI6IFwibG9naW4tLWRpYWxvZ1wiLFxuXHRcdGZ1bGxXaWR0aDogdHJ1ZSxcblx0XHRtYXhXaWR0aDogXCJzbVwiLFxuXHRcdG9uQ2xvc2UsXG5cdFx0b3Blbixcblx0XHRjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goTG9naW5EaWFsb2dDbG9zZUJ1dHRvbiwgeyBvbkNsb3NlIH0pLCAvKiBAX19QVVJFX18gKi8ganN4cyhEaWFsb2dDb250ZW50LCB7XG5cdFx0XHRcImRhdGEtdGVzdGlkXCI6IFwiZGlhbG9nQ29udGVudExvZ2luXCIsXG5cdFx0XHRjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goTG9naW5Gb3JtSGVhZGVyLCB7fSksIC8qIEBfX1BVUkVfXyAqLyBqc3goTG9naW5EaWFsb2dGb3JtLCB7fSldXG5cdFx0fSldXG5cdH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgTG9naW5EaWFsb2cgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Mb2dpbkRpYWxvZy5tanMubWFwIiwiaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvU2VhcmNoL0F1dG9Db21wbGV0ZS9zdHlsZXMudHNcbmZ1bmN0aW9uIF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fKCkge1xuXHRyZXR1cm4gXCJZb3UgaGF2ZSB0cmllZCB0byBzdHJpbmdpZnkgb2JqZWN0IHJldHVybmVkIGZyb20gYGNzc2AgZnVuY3Rpb24uIEl0IGlzbid0IHN1cHBvc2VkIHRvIGJlIHVzZWQgZGlyZWN0bHkgKGUuZy4gYXMgdmFsdWUgb2YgdGhlIGBjbGFzc05hbWVgIHByb3ApLCBidXQgcmF0aGVyIGhhbmRlZCB0byBlbW90aW9uIHNvIGl0IGNhbiBoYW5kbGUgaXQgKGUuZy4gYXMgdmFsdWUgb2YgYGNzc2AgcHJvcCkuXCI7XG59XG52YXIgV3JhcHBlciA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwiZGl2XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxN3NiOHFyMFwiIH0gOiB7XG5cdHRhcmdldDogXCJlMTdzYjhxcjBcIixcblx0bGFiZWw6IFwiV3JhcHBlclwiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwiMWF5dW93MlwiLFxuXHRzdHlsZXM6IFwid2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjFcIlxufSA6IHtcblx0bmFtZTogXCIxYXl1b3cyXCIsXG5cdHN0eWxlczogXCJ3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MS8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlUWldGeVkyZ3ZRWFYwYjBOdmJYQnNaWFJsTDNOMGVXeGxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGRmRVSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDFObFlYSmphQzlCZFhSdlEyOXRjR3hsZEdVdmMzUjViR1Z6TG5Seklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElITjBlV3hsWkNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl6ZEhsc1pXUW5PMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdWM0poY0hCbGNpQTlJSE4wZVd4bFpDZ25aR2wySnlrb2UxeHVJQ0IzYVdSMGFEb2dKekV3TUNVbkxGeHVJQ0J3YjNOcGRHbHZiam9nSjNKbGJHRjBhWFpsSnl4Y2JpQWdla2x1WkdWNE9pQXhMRnh1ZlNrN1hHNGlYWDA9ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IFdyYXBwZXIgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3R5bGVzLm1qcy5tYXAiLCJpbXBvcnQgeyBXcmFwcGVyIH0gZnJvbSBcIi4vc3R5bGVzLm1qc1wiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IEF1dG9jb21wbGV0ZSBmcm9tIFwiQG11aS9tYXRlcmlhbC9BdXRvY29tcGxldGVcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9TZWFyY2gvQXV0b0NvbXBsZXRlL0F1dG9Db21wbGV0ZS50c3hcbnZhciBBdXRvQ29tcGxldGUgPSAoeyBzdWdnZXN0aW9ucyA9IFtdLCBvblN1Z2dlc3Rpb25zRmV0Y2gsIG9uQ2xlYW5TdWdnZXN0aW9ucywgcmVuZGVySW5wdXQsIHJlbmRlck9wdGlvbiwgZ2V0T3B0aW9uTGFiZWwsIG9uU2VsZWN0SXRlbSwgc3VnZ2VzdGlvbnNMb2FkaW5nID0gZmFsc2UgfSkgPT4ge1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdGNvbnN0IFtpbnB1dFZhbHVlLCBzZXRJbnB1dFZhbHVlXSA9IHVzZVN0YXRlKFwiXCIpO1xuXHRjb25zdCBoYW5kbGVPbklucHV0Q2hhbmdlID0gKGV2ZW50LCB2YWx1ZSwgcmVhc29uKSA9PiB7XG5cdFx0aWYgKHJlYXNvbiA9PT0gXCJpbnB1dFwiKSB7XG5cdFx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdFx0b25TdWdnZXN0aW9uc0ZldGNoKHsgdmFsdWUgfSk7XG5cdFx0XHRzZXRJbnB1dFZhbHVlKHZhbHVlKTtcblx0XHR9IGVsc2UgaWYgKHJlYXNvbiA9PT0gXCJjbGVhclwiKSB7XG5cdFx0XHRvbkNsZWFuU3VnZ2VzdGlvbnMoZXZlbnQpO1xuXHRcdFx0c2V0SW5wdXRWYWx1ZShcIlwiKTtcblx0XHR9XG5cdH07XG5cdGNvbnN0IGhhbmRsZU9uQ2xvc2UgPSAoZXZlbnQpID0+IHtcblx0XHRvbkNsZWFuU3VnZ2VzdGlvbnMoZXZlbnQpO1xuXHRcdHNldElucHV0VmFsdWUoXCJcIik7XG5cdH07XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFdyYXBwZXIsIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goQXV0b2NvbXBsZXRlLCB7XG5cdFx0Y2xlYXJPbkJsdXI6IHRydWUsXG5cdFx0ZGlzYWJsZVBvcnRhbDogdHJ1ZSxcblx0XHRmaWx0ZXJPcHRpb25zOiAob3B0aW9ucywgc3RhdGUpID0+IHN0YXRlLmlucHV0VmFsdWUudHJpbSgpID8gb3B0aW9ucyA6IFtdLFxuXHRcdGZ1bGxXaWR0aDogdHJ1ZSxcblx0XHRnZXRPcHRpb25MYWJlbCxcblx0XHRpZDogXCJzZWFyY2gtaGVhZGVyLXN1Z2dlc3RcIixcblx0XHRpbnB1dFZhbHVlLFxuXHRcdGxvYWRpbmc6IHN1Z2dlc3Rpb25zTG9hZGluZyxcblx0XHRsb2FkaW5nVGV4dDogdChcImF1dG9Db21wbGV0ZS5sb2FkaW5nXCIpLFxuXHRcdG5vT3B0aW9uc1RleHQ6IHQoXCJhdXRvQ29tcGxldGUubm8tcmVzdWx0cy1mb3VuZFwiKSxcblx0XHRvbkNoYW5nZTogb25TZWxlY3RJdGVtLFxuXHRcdG9uQ2xvc2U6IGhhbmRsZU9uQ2xvc2UsXG5cdFx0b25JbnB1dENoYW5nZTogaGFuZGxlT25JbnB1dENoYW5nZSxcblx0XHRvcHRpb25zOiBzdWdnZXN0aW9ucyxcblx0XHRyZW5kZXJJbnB1dCxcblx0XHRyZW5kZXJPcHRpb24sXG5cdFx0cmVuZGVyVGFnczogKCkgPT4gbnVsbFxuXHR9KSB9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IEF1dG9Db21wbGV0ZSBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUF1dG9Db21wbGV0ZS5tanMubWFwIiwiLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL1NlYXJjaC91dGlscy50c1xuZnVuY3Rpb24gcmVtb3ZlSHRtbFRhZ3MoaW5wdXQpIHtcblx0bGV0IHByZXZpb3VzO1xuXHRkbyB7XG5cdFx0cHJldmlvdXMgPSBpbnB1dDtcblx0XHRpbnB1dCA9IGlucHV0LnJlcGxhY2UoLzxbXj5dKj4/L2dtLCBcIlwiKTtcblx0fSB3aGlsZSAoaW5wdXQgIT09IHByZXZpb3VzKTtcblx0cmV0dXJuIGlucHV0O1xufVxuZnVuY3Rpb24gY2xlYW5EZXNjcmlwdGlvbihkZXNjcmlwdGlvbikge1xuXHRsZXQgb3V0cHV0ID0gZGVzY3JpcHRpb247XG5cdG91dHB1dCA9IHJlbW92ZUh0bWxUYWdzKG91dHB1dCk7XG5cdG91dHB1dCA9IG91dHB1dC5yZXBsYWNlKC9cXCguKj9cXCkvZ20sIFwiXCIpLnJlcGxhY2UoLyhcXFshP3xcXF0pL2dtLCBcIlwiKTtcblx0cmV0dXJuIG91dHB1dDtcbn1cbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgY2xlYW5EZXNjcmlwdGlvbiB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5tanMubWFwIiwiaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9BcHBDb25maWd1cmF0aW9uUHJvdmlkZXIvQXBwQ29uZmlndXJhdGlvblByb3ZpZGVyLm1qc1wiO1xuaW1wb3J0IHsgY2xlYW5EZXNjcmlwdGlvbiB9IGZyb20gXCIuL3V0aWxzLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vaW5kZXgubWpzXCI7XG5pbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCBTdGFjayBmcm9tIFwiQG11aS9tYXRlcmlhbC9TdGFja1wiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IENoaXAgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQ2hpcFwiO1xuaW1wb3J0IENhY2hlZCBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9DYWNoZWRcIjtcbmltcG9ydCBIdHRwc0ljb24gZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvSHR0cHNcIjtcbmltcG9ydCBTeW5jQWx0IGZyb20gXCJAbXVpL2ljb25zLW1hdGVyaWFsL1N5bmNBbHRcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9TZWFyY2gvU2VhcmNoSXRlbS50c3hcbmZ1bmN0aW9uIF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fKCkge1xuXHRyZXR1cm4gXCJZb3UgaGF2ZSB0cmllZCB0byBzdHJpbmdpZnkgb2JqZWN0IHJldHVybmVkIGZyb20gYGNzc2AgZnVuY3Rpb24uIEl0IGlzbid0IHN1cHBvc2VkIHRvIGJlIHVzZWQgZGlyZWN0bHkgKGUuZy4gYXMgdmFsdWUgb2YgdGhlIGBjbGFzc05hbWVgIHByb3ApLCBidXQgcmF0aGVyIGhhbmRlZCB0byBlbW90aW9uIHNvIGl0IGNhbiBoYW5kbGUgaXQgKGUuZy4gYXMgdmFsdWUgb2YgYGNzc2AgcHJvcCkuXCI7XG59XG52YXIgV3JhcHBlciA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwiZGl2XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVrbG9wam80XCIgfSA6IHtcblx0dGFyZ2V0OiBcImVrbG9wam80XCIsXG5cdGxhYmVsOiBcIldyYXBwZXJcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjF4MTdnOTRcIixcblx0c3R5bGVzOiBcImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MTAwJVwiXG59IDoge1xuXHRuYW1lOiBcIjF4MTdnOTRcIixcblx0c3R5bGVzOiBcImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MTAwJS8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlUWldGeVkyZ3ZVMlZoY21Ob1NYUmxiUzUwYzNnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQmMwSm5RaUlzSW1acGJHVWlPaUl2YUc5dFpTOXlkVzV1WlhJdmQyOXlheTkyWlhKa1lXTmphVzh2ZG1WeVpHRmpZMmx2TDNCaFkydGhaMlZ6TDNWcExXTnZiWEJ2Ym1WdWRITXZjM0pqTDJOdmJYQnZibVZ1ZEhNdlUyVmhjbU5vTDFObFlYSmphRWwwWlcwdWRITjRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSE4wZVd4bFpDQm1jbTl0SUNkQVpXMXZkR2x2Ymk5emRIbHNaV1FuTzF4dWFXMXdiM0owSUVOaFkyaGxaQ0JtY205dElDZEFiWFZwTDJsamIyNXpMVzFoZEdWeWFXRnNMME5oWTJobFpDYzdYRzVwYlhCdmNuUWdTSFIwY0hOSlkyOXVJR1p5YjIwZ0owQnRkV2t2YVdOdmJuTXRiV0YwWlhKcFlXd3ZTSFIwY0hNbk8xeHVhVzF3YjNKMElGTjVibU5CYkhRZ1puSnZiU0FuUUcxMWFTOXBZMjl1Y3kxdFlYUmxjbWxoYkM5VGVXNWpRV3gwSnp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzSnp0Y2JtbHRjRzl5ZENCRGFHbHdJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UTJocGNDYzdYRzVwYlhCdmNuUWdVM1JoWTJzZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOVRkR0ZqYXljN1hHNXBiWEJ2Y25RZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHVhVzF3YjNKMElIc2dkWE5sVkhKaGJuTnNZWFJwYjI0Z2ZTQm1jbTl0SUNkeVpXRmpkQzFwTVRodVpYaDBKenRjYmx4dWFXMXdiM0owSUhzZ2RYTmxRMjl1Wm1sbklIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCN0lHTnNaV0Z1UkdWelkzSnBjSFJwYjI0Z2ZTQm1jbTl0SUNjdUwzVjBhV3h6Snp0Y2JseHVkSGx3WlNCVFpXRnlZMmhKZEdWdFVISnZjSE1nUFNCN1hHNGdJRzVoYldVNklITjBjbWx1Wnp0Y2JpQWdkbVZ5YzJsdmJqODZJSE4wY21sdVp6dGNiaUFnWkdWelkzSnBjSFJwYjI0L09pQnpkSEpwYm1jN1hHNGdJR2x6VUhKcGRtRjBaVDg2SUdKdmIyeGxZVzQ3WEc0Z0lHbHpRMkZqYUdWa1B6b2dZbTl2YkdWaGJqdGNiaUFnYVhOU1pXMXZkR1UvT2lCaWIyOXNaV0Z1TzF4dWZUdGNibHh1WTI5dWMzUWdWM0poY0hCbGNpQTlJSE4wZVd4bFpDNWthWFlvZTF4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkVaWE5qY21sd2RHbHZiaUE5SUhOMGVXeGxaQ2duWkdsMkp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdScGMzQnNZWGs2SUNkdWIyNWxKeXhjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXVaM0psZVV4cFoyaDBNaXhjYmlBZ2JHbHVaVWhsYVdkb2REb2dKekV1TlhKbGJTY3NYRzRnSUhkb2FYUmxVM0JoWTJVNklDZHViM2R5WVhBbkxGeHVJQ0IwWlhoMFQzWmxjbVpzYjNjNklDZGxiR3hwY0hOcGN5Y3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0J2ZG1WeVpteHZkem9nSjJocFpHUmxiaWNzWEc0Z0lIQmhaR1JwYm1kTVpXWjBPaUIwYUdWdFpTNXpjR0ZqYVc1bktDa3NYRzRnSUdadmJuUlRhWHBsT2lCMGFHVnRaUzVtYjI1MFUybDZaUzV6YzIwc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUI3WEc0Z0lDQWdaR2x6Y0d4aGVUb2dKMkpzYjJOckp5eGNiaUFnSUNCM2FXUjBhRG9nSnpNd01IQjRKeXhjYmlBZ2ZTeGNiaUFnVzJCQWJXVmthV0VnS0cxcGJpMTNhV1IwYURvZ0pIdDBhR1Z0WlM1aWNtVmhhMUJ2YVc1MGN5NXNZWEpuWlgxd2VDbGdYVG9nZTF4dUlDQWdJR1JwYzNCc1lYazZJQ2RpYkc5amF5Y3NYRzRnSUNBZ2QybGtkR2c2SUNjMU1EQndlQ2NzWEc0Z0lIMHNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklERTBOREJ3ZUNsZ1hUb2dlMXh1SUNBZ0lHUnBjM0JzWVhrNklDZGliRzlqYXljc1hHNGdJQ0FnZDJsa2RHZzZJQ2MyTURCd2VDY3NYRzRnSUgwc1hHNTlLU2s3WEc1Y2JtTnZibk4wSUU1aGJXVkhjbTkxY0NBOUlITjBlV3hsWkM1emNHRnVLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQm1iR1Y0T2lBbk1TY3NYRzU5S1R0Y2JseHVZMjl1YzNRZ1RtRnRaU0E5SUhOMGVXeGxaQ2duYzNCaGJpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCbWIyNTBWMlZwWjJoME9pQW5OekF3Snl4Y2JpQWdabTl1ZEZOcGVtVTZJSFJvWlcxbExtWnZiblJUYVhwbExuTnRMRnh1ZlNrcE8xeHVYRzVqYjI1emRDQldaWEp6YVc5dUlEMGdjM1I1YkdWa0tDZHpjR0Z1SnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR1p2Ym5SVGFYcGxPaUIwYUdWdFpTNW1iMjUwVTJsNlpTNXpjMjBzWEc1OUtTazdYRzVjYm1OdmJuTjBJRk5sWVhKamFFbDBaVzA2SUZKbFlXTjBMa1pEUEZObFlYSmphRWwwWlcxUWNtOXdjejRnUFNBb2UxeHVJQ0J1WVcxbExGeHVJQ0JrWlhOamNtbHdkR2x2Yml4Y2JpQWdhWE5RY21sMllYUmxJRDBnWm1Gc2MyVXNYRzRnSUdselVtVnRiM1JsSUQwZ1ptRnNjMlVzWEc0Z0lHbHpRMkZqYUdWa0lEMGdabUZzYzJVc1hHNGdJSFpsY25OcGIyNHNYRzRnSUM0dUxuQnliM0J6WEc1OUtTQTlQaUI3WEc0Z0lHTnZibk4wSUhzZ2RDQjlJRDBnZFhObFZISmhibk5zWVhScGIyNG9LVHRjYmlBZ1kyOXVjM1FnZXlCamIyNW1hV2RQY0hScGIyNXpJSDBnUFNCMWMyVkRiMjVtYVdjb0tUdGNiaUFnWTI5dWMzUWdhR0Z1Wkd4bFJHVnNaWFJsSUQwZ0tDa2dQVDRnZTF4dUlDQWdJQzh2SUc1dklHRmpkR2x2YmlCaGMzTnBaMjVsWkNCaWVTQmtaV1poZFd4MFhHNGdJSDA3WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEd4cElIc3VMaTV3Y205d2MzMGdjM1I1YkdVOWUzc2dabXhsZUVScGNtVmpkR2x2YmpvZ0oyTnZiSFZ0YmljZ2ZYMCtYRzRnSUNBZ0lDQThWM0poY0hCbGNqNWNiaUFnSUNBZ0lDQWdQRTVoYldWSGNtOTFjRDVjYmlBZ0lDQWdJQ0FnSUNBOFRtRnRaVDU3Ym1GdFpYMDhMMDVoYldVK1hHNGdJQ0FnSUNBZ0lDQWdlMlJsYzJOeWFYQjBhVzl1SUNZbUlEeEVaWE5qY21sd2RHbHZiajU3WTJ4bFlXNUVaWE5qY21sd2RHbHZiaWhrWlhOamNtbHdkR2x2YmlsOVBDOUVaWE5qY21sd2RHbHZiajU5WEc0Z0lDQWdJQ0FnSUR3dlRtRnRaVWR5YjNWd1BseHVJQ0FnSUNBZ0lDQjdkbVZ5YzJsdmJpQW1KaUE4Vm1WeWMybHZiajU3ZG1WeWMybHZibjA4TDFabGNuTnBiMjQrZlZ4dUlDQWdJQ0FnUEM5WGNtRndjR1Z5UGx4dUlDQWdJQ0FnZTJOdmJtWnBaMDl3ZEdsdmJuTS9Mbk5vYjNkVmNHeHBibXR6SUNZbUlDaGNiaUFnSUNBZ0lDQWdQRmR5WVhCd1pYSStYRzRnSUNBZ0lDQWdJQ0FnUEZOMFlXTnJJR1JwY21WamRHbHZiajFjSW5KdmQxd2lJSE53WVdOcGJtYzllekY5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdlMmx6VUhKcGRtRjBaU0FtSmlBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR4RGFHbHdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjlzYjNJOVhDSndjbWx0WVhKNVhDSmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaV3hsZEdWSlkyOXVQWHM4U0hSMGNITkpZMjl1SUM4K2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHeGhZbVZzUFh0MEtDZHpaV0Z5WTJndWFYTlFjbWwyWVhSbEp5bDlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMjVFWld4bGRHVTllMmhoYm1Sc1pVUmxiR1YwWlgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemFYcGxQVndpYzIxaGJHeGNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0tYMWNiaUFnSUNBZ0lDQWdJQ0FnSUh0cGMxSmxiVzkwWlNBbUppQWhhWE5RY21sMllYUmxJQ1ltSUNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVOb2FYQmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaV3hsZEdWSlkyOXVQWHM4VTNsdVkwRnNkQ0F2UG4xY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCc1lXSmxiRDE3ZENnbmMyVmhjbU5vTG1selVtVnRiM1JsSnlsOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IyNUVaV3hsZEdVOWUyaGhibVJzWlVSbGJHVjBaWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6YVhwbFBWd2ljMjFoYkd4Y0lseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhjbWxoYm5ROVhDSnZkWFJzYVc1bFpGd2lYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDOCtYRzRnSUNBZ0lDQWdJQ0FnSUNBcGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnZTJselEyRmphR1ZrSUNZbUlDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFTm9hWEJjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JrWld4bGRHVkpZMjl1UFhzOFEyRmphR1ZrSUM4K2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHeGhZbVZzUFh0MEtDZHpaV0Z5WTJndWFYTkRZV05vWldRbktYMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZia1JsYkdWMFpUMTdhR0Z1Wkd4bFJHVnNaWFJsZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOcGVtVTlYQ0p6YldGc2JGd2lYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZ5YVdGdWREMWNJbTkxZEd4cGJtVmtYQ0pjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDbDlYRzRnSUNBZ0lDQWdJQ0FnUEM5VGRHRmphejVjYmlBZ0lDQWdJQ0FnUEM5WGNtRndjR1Z5UGx4dUlDQWdJQ0FnS1gxY2JpQWdJQ0E4TDJ4cFBseHVJQ0FwTzF4dWZUdGNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdVMlZoY21Ob1NYUmxiVHRjYmlKZGZRPT0gKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBEZXNjcmlwdGlvbiA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwiZGl2XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVrbG9wam8zXCIgfSA6IHtcblx0dGFyZ2V0OiBcImVrbG9wam8zXCIsXG5cdGxhYmVsOiBcIkRlc2NyaXB0aW9uXCJcbn0pKCh7IHRoZW1lIH0pID0+ICh7XG5cdGRpc3BsYXk6IFwibm9uZVwiLFxuXHRjb2xvcjogdGhlbWUucGFsZXR0ZS5ncmV5TGlnaHQyLFxuXHRsaW5lSGVpZ2h0OiBcIjEuNXJlbVwiLFxuXHR3aGl0ZVNwYWNlOiBcIm5vd3JhcFwiLFxuXHR0ZXh0T3ZlcmZsb3c6IFwiZWxsaXBzaXNcIixcblx0YWxpZ25JdGVtczogXCJjZW50ZXJcIixcblx0b3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG5cdHBhZGRpbmdMZWZ0OiB0aGVtZS5zcGFjaW5nKCksXG5cdGZvbnRTaXplOiB0aGVtZS5mb250U2l6ZS5zc20sXG5cdFtgQG1lZGlhIChtaW4td2lkdGg6ICR7dGhlbWUuYnJlYWtQb2ludHMubWVkaXVtfXB4KWBdOiB7XG5cdFx0ZGlzcGxheTogXCJibG9ja1wiLFxuXHRcdHdpZHRoOiBcIjMwMHB4XCJcblx0fSxcblx0W2BAbWVkaWEgKG1pbi13aWR0aDogJHt0aGVtZS5icmVha1BvaW50cy5sYXJnZX1weClgXToge1xuXHRcdGRpc3BsYXk6IFwiYmxvY2tcIixcblx0XHR3aWR0aDogXCI1MDBweFwiXG5cdH0sXG5cdFtgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweClgXToge1xuXHRcdGRpc3BsYXk6IFwiYmxvY2tcIixcblx0XHR3aWR0aDogXCI2MDBweFwiXG5cdH1cbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5VFpXRnlZMmd2VTJWaGNtTm9TWFJsYlM1MGMzZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJORUl5UWlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwyTnZiWEJ2Ym1WdWRITXZVMlZoY21Ob0wxTmxZWEpqYUVsMFpXMHVkSE40SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVhVzF3YjNKMElFTmhZMmhsWkNCbWNtOXRJQ2RBYlhWcEwybGpiMjV6TFcxaGRHVnlhV0ZzTDBOaFkyaGxaQ2M3WEc1cGJYQnZjblFnU0hSMGNITkpZMjl1SUdaeWIyMGdKMEJ0ZFdrdmFXTnZibk10YldGMFpYSnBZV3d2U0hSMGNITW5PMXh1YVcxd2IzSjBJRk41Ym1OQmJIUWdabkp2YlNBblFHMTFhUzlwWTI5dWN5MXRZWFJsY21saGJDOVRlVzVqUVd4MEp6dGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0p6dGNibWx0Y0c5eWRDQkRhR2x3SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlEyaHBjQ2M3WEc1cGJYQnZjblFnVTNSaFkyc2dabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlUZEdGamF5YzdYRzVwYlhCdmNuUWdVbVZoWTNRZ1puSnZiU0FuY21WaFkzUW5PMXh1YVcxd2IzSjBJSHNnZFhObFZISmhibk5zWVhScGIyNGdmU0JtY205dElDZHlaV0ZqZEMxcE1UaHVaWGgwSnp0Y2JseHVhVzF3YjNKMElIc2dkWE5sUTI5dVptbG5JSDBnWm5KdmJTQW5MaTR2TGk0dkp6dGNibWx0Y0c5eWRDQjdJR05zWldGdVJHVnpZM0pwY0hScGIyNGdmU0JtY205dElDY3VMM1YwYVd4ekp6dGNibHh1ZEhsd1pTQlRaV0Z5WTJoSmRHVnRVSEp2Y0hNZ1BTQjdYRzRnSUc1aGJXVTZJSE4wY21sdVp6dGNiaUFnZG1WeWMybHZiajg2SUhOMGNtbHVaenRjYmlBZ1pHVnpZM0pwY0hScGIyNC9PaUJ6ZEhKcGJtYzdYRzRnSUdselVISnBkbUYwWlQ4NklHSnZiMnhsWVc0N1hHNGdJR2x6UTJGamFHVmtQem9nWW05dmJHVmhianRjYmlBZ2FYTlNaVzF2ZEdVL09pQmliMjlzWldGdU8xeHVmVHRjYmx4dVkyOXVjM1FnVjNKaGNIQmxjaUE5SUhOMGVXeGxaQzVrYVhZb2UxeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0IzYVdSMGFEb2dKekV3TUNVbkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JFWlhOamNtbHdkR2x2YmlBOUlITjBlV3hsWkNnblpHbDJKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHUnBjM0JzWVhrNklDZHViMjVsSnl4Y2JpQWdZMjlzYjNJNklIUm9aVzFsTG5CaGJHVjBkR1V1WjNKbGVVeHBaMmgwTWl4Y2JpQWdiR2x1WlVobGFXZG9kRG9nSnpFdU5YSmxiU2NzWEc0Z0lIZG9hWFJsVTNCaFkyVTZJQ2R1YjNkeVlYQW5MRnh1SUNCMFpYaDBUM1psY21ac2IzYzZJQ2RsYkd4cGNITnBjeWNzWEc0Z0lHRnNhV2R1U1hSbGJYTTZJQ2RqWlc1MFpYSW5MRnh1SUNCdmRtVnlabXh2ZHpvZ0oyaHBaR1JsYmljc1hHNGdJSEJoWkdScGJtZE1aV1owT2lCMGFHVnRaUzV6Y0dGamFXNW5LQ2tzWEc0Z0lHWnZiblJUYVhwbE9pQjBhR1Z0WlM1bWIyNTBVMmw2WlM1emMyMHNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXViV1ZrYVhWdGZYQjRLV0JkT2lCN1hHNGdJQ0FnWkdsemNHeGhlVG9nSjJKc2IyTnJKeXhjYmlBZ0lDQjNhV1IwYURvZ0p6TXdNSEI0Snl4Y2JpQWdmU3hjYmlBZ1cyQkFiV1ZrYVdFZ0tHMXBiaTEzYVdSMGFEb2dKSHQwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTVzWVhKblpYMXdlQ2xnWFRvZ2UxeHVJQ0FnSUdScGMzQnNZWGs2SUNkaWJHOWpheWNzWEc0Z0lDQWdkMmxrZEdnNklDYzFNREJ3ZUNjc1hHNGdJSDBzWEc0Z0lGdGdRRzFsWkdsaElDaHRhVzR0ZDJsa2RHZzZJREUwTkRCd2VDbGdYVG9nZTF4dUlDQWdJR1JwYzNCc1lYazZJQ2RpYkc5amF5Y3NYRzRnSUNBZ2QybGtkR2c2SUNjMk1EQndlQ2NzWEc0Z0lIMHNYRzU5S1NrN1hHNWNibU52Ym5OMElFNWhiV1ZIY205MWNDQTlJSE4wZVd4bFpDNXpjR0Z1S0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMlpzWlhnbkxGeHVJQ0JtYkdWNE9pQW5NU2NzWEc1OUtUdGNibHh1WTI5dWMzUWdUbUZ0WlNBOUlITjBlV3hsWkNnbmMzQmhiaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQm1iMjUwVjJWcFoyaDBPaUFuTnpBd0p5eGNiaUFnWm05dWRGTnBlbVU2SUhSb1pXMWxMbVp2Ym5SVGFYcGxMbk50TEZ4dWZTa3BPMXh1WEc1amIyNXpkQ0JXWlhKemFXOXVJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdadmJuUlRhWHBsT2lCMGFHVnRaUzVtYjI1MFUybDZaUzV6YzIwc1hHNTlLU2s3WEc1Y2JtTnZibk4wSUZObFlYSmphRWwwWlcwNklGSmxZV04wTGtaRFBGTmxZWEpqYUVsMFpXMVFjbTl3Y3o0Z1BTQW9lMXh1SUNCdVlXMWxMRnh1SUNCa1pYTmpjbWx3ZEdsdmJpeGNiaUFnYVhOUWNtbDJZWFJsSUQwZ1ptRnNjMlVzWEc0Z0lHbHpVbVZ0YjNSbElEMGdabUZzYzJVc1hHNGdJR2x6UTJGamFHVmtJRDBnWm1Gc2MyVXNYRzRnSUhabGNuTnBiMjRzWEc0Z0lDNHVMbkJ5YjNCelhHNTlLU0E5UGlCN1hHNGdJR052Ym5OMElIc2dkQ0I5SUQwZ2RYTmxWSEpoYm5Oc1lYUnBiMjRvS1R0Y2JpQWdZMjl1YzNRZ2V5QmpiMjVtYVdkUGNIUnBiMjV6SUgwZ1BTQjFjMlZEYjI1bWFXY29LVHRjYmlBZ1kyOXVjM1FnYUdGdVpHeGxSR1ZzWlhSbElEMGdLQ2tnUFQ0Z2UxeHVJQ0FnSUM4dklHNXZJR0ZqZEdsdmJpQmhjM05wWjI1bFpDQmllU0JrWldaaGRXeDBYRzRnSUgwN1hHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BHeHBJSHN1TGk1d2NtOXdjMzBnYzNSNWJHVTllM3NnWm14bGVFUnBjbVZqZEdsdmJqb2dKMk52YkhWdGJpY2dmWDArWEc0Z0lDQWdJQ0E4VjNKaGNIQmxjajVjYmlBZ0lDQWdJQ0FnUEU1aGJXVkhjbTkxY0Q1Y2JpQWdJQ0FnSUNBZ0lDQThUbUZ0WlQ1N2JtRnRaWDA4TDA1aGJXVStYRzRnSUNBZ0lDQWdJQ0FnZTJSbGMyTnlhWEIwYVc5dUlDWW1JRHhFWlhOamNtbHdkR2x2Ymo1N1kyeGxZVzVFWlhOamNtbHdkR2x2Ymloa1pYTmpjbWx3ZEdsdmJpbDlQQzlFWlhOamNtbHdkR2x2Ymo1OVhHNGdJQ0FnSUNBZ0lEd3ZUbUZ0WlVkeWIzVndQbHh1SUNBZ0lDQWdJQ0I3ZG1WeWMybHZiaUFtSmlBOFZtVnljMmx2Ymo1N2RtVnljMmx2Ym4wOEwxWmxjbk5wYjI0K2ZWeHVJQ0FnSUNBZ1BDOVhjbUZ3Y0dWeVBseHVJQ0FnSUNBZ2UyTnZibVpwWjA5d2RHbHZibk0vTG5Ob2IzZFZjR3hwYm10eklDWW1JQ2hjYmlBZ0lDQWdJQ0FnUEZkeVlYQndaWEkrWEc0Z0lDQWdJQ0FnSUNBZ1BGTjBZV05ySUdScGNtVmpkR2x2YmoxY0luSnZkMXdpSUhOd1lXTnBibWM5ZXpGOVBseHVJQ0FnSUNBZ0lDQWdJQ0FnZTJselVISnBkbUYwWlNBbUppQW9YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEeERhR2x3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5c2IzSTlYQ0p3Y21sdFlYSjVYQ0pjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JrWld4bGRHVkpZMjl1UFhzOFNIUjBjSE5KWTI5dUlDOCtmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR3hoWW1Wc1BYdDBLQ2R6WldGeVkyZ3VhWE5RY21sMllYUmxKeWw5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjI1RVpXeGxkR1U5ZTJoaGJtUnNaVVJsYkdWMFpYMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnphWHBsUFZ3aWMyMWhiR3hjSWx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F2UGx4dUlDQWdJQ0FnSUNBZ0lDQWdLWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lIdHBjMUpsYlc5MFpTQW1KaUFoYVhOUWNtbDJZWFJsSUNZbUlDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFTm9hWEJjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JrWld4bGRHVkpZMjl1UFhzOFUzbHVZMEZzZENBdlBuMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnNZV0psYkQxN2RDZ25jMlZoY21Ob0xtbHpVbVZ0YjNSbEp5bDlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMjVFWld4bGRHVTllMmhoYm1Sc1pVUmxiR1YwWlgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemFYcGxQVndpYzIxaGJHeGNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFpoY21saGJuUTlYQ0p2ZFhSc2FXNWxaRndpWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzgrWEc0Z0lDQWdJQ0FnSUNBZ0lDQXBmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2UybHpRMkZqYUdWa0lDWW1JQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRU5vYVhCY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCa1pXeGxkR1ZKWTI5dVBYczhRMkZqYUdWa0lDOCtmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR3hoWW1Wc1BYdDBLQ2R6WldGeVkyZ3VhWE5EWVdOb1pXUW5LWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtSbGJHVjBaVDE3YUdGdVpHeGxSR1ZzWlhSbGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITnBlbVU5WENKemJXRnNiRndpWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1GeWFXRnVkRDFjSW05MWRHeHBibVZrWENKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ2w5WEc0Z0lDQWdJQ0FnSUNBZ1BDOVRkR0ZqYXo1Y2JpQWdJQ0FnSUNBZ1BDOVhjbUZ3Y0dWeVBseHVJQ0FnSUNBZ0tYMWNiaUFnSUNBOEwyeHBQbHh1SUNBcE8xeHVmVHRjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnVTJWaGNtTm9TWFJsYlR0Y2JpSmRmUT09ICovXCIpO1xudmFyIE5hbWVHcm91cCA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwic3BhblwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJla2xvcGpvMlwiIH0gOiB7XG5cdHRhcmdldDogXCJla2xvcGpvMlwiLFxuXHRsYWJlbDogXCJOYW1lR3JvdXBcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjM2Ym5xalwiLFxuXHRzdHlsZXM6IFwiZGlzcGxheTpmbGV4O2ZsZXg6MVwiXG59IDoge1xuXHRuYW1lOiBcIjM2Ym5xalwiLFxuXHRzdHlsZXM6IFwiZGlzcGxheTpmbGV4O2ZsZXg6MS8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlUWldGeVkyZ3ZVMlZoY21Ob1NYUmxiUzUwYzNnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQmIwUnJRaUlzSW1acGJHVWlPaUl2YUc5dFpTOXlkVzV1WlhJdmQyOXlheTkyWlhKa1lXTmphVzh2ZG1WeVpHRmpZMmx2TDNCaFkydGhaMlZ6TDNWcExXTnZiWEJ2Ym1WdWRITXZjM0pqTDJOdmJYQnZibVZ1ZEhNdlUyVmhjbU5vTDFObFlYSmphRWwwWlcwdWRITjRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSE4wZVd4bFpDQm1jbTl0SUNkQVpXMXZkR2x2Ymk5emRIbHNaV1FuTzF4dWFXMXdiM0owSUVOaFkyaGxaQ0JtY205dElDZEFiWFZwTDJsamIyNXpMVzFoZEdWeWFXRnNMME5oWTJobFpDYzdYRzVwYlhCdmNuUWdTSFIwY0hOSlkyOXVJR1p5YjIwZ0owQnRkV2t2YVdOdmJuTXRiV0YwWlhKcFlXd3ZTSFIwY0hNbk8xeHVhVzF3YjNKMElGTjVibU5CYkhRZ1puSnZiU0FuUUcxMWFTOXBZMjl1Y3kxdFlYUmxjbWxoYkM5VGVXNWpRV3gwSnp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzSnp0Y2JtbHRjRzl5ZENCRGFHbHdJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UTJocGNDYzdYRzVwYlhCdmNuUWdVM1JoWTJzZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOVRkR0ZqYXljN1hHNXBiWEJ2Y25RZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHVhVzF3YjNKMElIc2dkWE5sVkhKaGJuTnNZWFJwYjI0Z2ZTQm1jbTl0SUNkeVpXRmpkQzFwTVRodVpYaDBKenRjYmx4dWFXMXdiM0owSUhzZ2RYTmxRMjl1Wm1sbklIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCN0lHTnNaV0Z1UkdWelkzSnBjSFJwYjI0Z2ZTQm1jbTl0SUNjdUwzVjBhV3h6Snp0Y2JseHVkSGx3WlNCVFpXRnlZMmhKZEdWdFVISnZjSE1nUFNCN1hHNGdJRzVoYldVNklITjBjbWx1Wnp0Y2JpQWdkbVZ5YzJsdmJqODZJSE4wY21sdVp6dGNiaUFnWkdWelkzSnBjSFJwYjI0L09pQnpkSEpwYm1jN1hHNGdJR2x6VUhKcGRtRjBaVDg2SUdKdmIyeGxZVzQ3WEc0Z0lHbHpRMkZqYUdWa1B6b2dZbTl2YkdWaGJqdGNiaUFnYVhOU1pXMXZkR1UvT2lCaWIyOXNaV0Z1TzF4dWZUdGNibHh1WTI5dWMzUWdWM0poY0hCbGNpQTlJSE4wZVd4bFpDNWthWFlvZTF4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkVaWE5qY21sd2RHbHZiaUE5SUhOMGVXeGxaQ2duWkdsMkp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdScGMzQnNZWGs2SUNkdWIyNWxKeXhjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXVaM0psZVV4cFoyaDBNaXhjYmlBZ2JHbHVaVWhsYVdkb2REb2dKekV1TlhKbGJTY3NYRzRnSUhkb2FYUmxVM0JoWTJVNklDZHViM2R5WVhBbkxGeHVJQ0IwWlhoMFQzWmxjbVpzYjNjNklDZGxiR3hwY0hOcGN5Y3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0J2ZG1WeVpteHZkem9nSjJocFpHUmxiaWNzWEc0Z0lIQmhaR1JwYm1kTVpXWjBPaUIwYUdWdFpTNXpjR0ZqYVc1bktDa3NYRzRnSUdadmJuUlRhWHBsT2lCMGFHVnRaUzVtYjI1MFUybDZaUzV6YzIwc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUI3WEc0Z0lDQWdaR2x6Y0d4aGVUb2dKMkpzYjJOckp5eGNiaUFnSUNCM2FXUjBhRG9nSnpNd01IQjRKeXhjYmlBZ2ZTeGNiaUFnVzJCQWJXVmthV0VnS0cxcGJpMTNhV1IwYURvZ0pIdDBhR1Z0WlM1aWNtVmhhMUJ2YVc1MGN5NXNZWEpuWlgxd2VDbGdYVG9nZTF4dUlDQWdJR1JwYzNCc1lYazZJQ2RpYkc5amF5Y3NYRzRnSUNBZ2QybGtkR2c2SUNjMU1EQndlQ2NzWEc0Z0lIMHNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklERTBOREJ3ZUNsZ1hUb2dlMXh1SUNBZ0lHUnBjM0JzWVhrNklDZGliRzlqYXljc1hHNGdJQ0FnZDJsa2RHZzZJQ2MyTURCd2VDY3NYRzRnSUgwc1hHNTlLU2s3WEc1Y2JtTnZibk4wSUU1aGJXVkhjbTkxY0NBOUlITjBlV3hsWkM1emNHRnVLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQm1iR1Y0T2lBbk1TY3NYRzU5S1R0Y2JseHVZMjl1YzNRZ1RtRnRaU0E5SUhOMGVXeGxaQ2duYzNCaGJpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCbWIyNTBWMlZwWjJoME9pQW5OekF3Snl4Y2JpQWdabTl1ZEZOcGVtVTZJSFJvWlcxbExtWnZiblJUYVhwbExuTnRMRnh1ZlNrcE8xeHVYRzVqYjI1emRDQldaWEp6YVc5dUlEMGdjM1I1YkdWa0tDZHpjR0Z1SnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR1p2Ym5SVGFYcGxPaUIwYUdWdFpTNW1iMjUwVTJsNlpTNXpjMjBzWEc1OUtTazdYRzVjYm1OdmJuTjBJRk5sWVhKamFFbDBaVzA2SUZKbFlXTjBMa1pEUEZObFlYSmphRWwwWlcxUWNtOXdjejRnUFNBb2UxeHVJQ0J1WVcxbExGeHVJQ0JrWlhOamNtbHdkR2x2Yml4Y2JpQWdhWE5RY21sMllYUmxJRDBnWm1Gc2MyVXNYRzRnSUdselVtVnRiM1JsSUQwZ1ptRnNjMlVzWEc0Z0lHbHpRMkZqYUdWa0lEMGdabUZzYzJVc1hHNGdJSFpsY25OcGIyNHNYRzRnSUM0dUxuQnliM0J6WEc1OUtTQTlQaUI3WEc0Z0lHTnZibk4wSUhzZ2RDQjlJRDBnZFhObFZISmhibk5zWVhScGIyNG9LVHRjYmlBZ1kyOXVjM1FnZXlCamIyNW1hV2RQY0hScGIyNXpJSDBnUFNCMWMyVkRiMjVtYVdjb0tUdGNiaUFnWTI5dWMzUWdhR0Z1Wkd4bFJHVnNaWFJsSUQwZ0tDa2dQVDRnZTF4dUlDQWdJQzh2SUc1dklHRmpkR2x2YmlCaGMzTnBaMjVsWkNCaWVTQmtaV1poZFd4MFhHNGdJSDA3WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEd4cElIc3VMaTV3Y205d2MzMGdjM1I1YkdVOWUzc2dabXhsZUVScGNtVmpkR2x2YmpvZ0oyTnZiSFZ0YmljZ2ZYMCtYRzRnSUNBZ0lDQThWM0poY0hCbGNqNWNiaUFnSUNBZ0lDQWdQRTVoYldWSGNtOTFjRDVjYmlBZ0lDQWdJQ0FnSUNBOFRtRnRaVDU3Ym1GdFpYMDhMMDVoYldVK1hHNGdJQ0FnSUNBZ0lDQWdlMlJsYzJOeWFYQjBhVzl1SUNZbUlEeEVaWE5qY21sd2RHbHZiajU3WTJ4bFlXNUVaWE5qY21sd2RHbHZiaWhrWlhOamNtbHdkR2x2YmlsOVBDOUVaWE5qY21sd2RHbHZiajU5WEc0Z0lDQWdJQ0FnSUR3dlRtRnRaVWR5YjNWd1BseHVJQ0FnSUNBZ0lDQjdkbVZ5YzJsdmJpQW1KaUE4Vm1WeWMybHZiajU3ZG1WeWMybHZibjA4TDFabGNuTnBiMjQrZlZ4dUlDQWdJQ0FnUEM5WGNtRndjR1Z5UGx4dUlDQWdJQ0FnZTJOdmJtWnBaMDl3ZEdsdmJuTS9Mbk5vYjNkVmNHeHBibXR6SUNZbUlDaGNiaUFnSUNBZ0lDQWdQRmR5WVhCd1pYSStYRzRnSUNBZ0lDQWdJQ0FnUEZOMFlXTnJJR1JwY21WamRHbHZiajFjSW5KdmQxd2lJSE53WVdOcGJtYzllekY5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdlMmx6VUhKcGRtRjBaU0FtSmlBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR4RGFHbHdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjlzYjNJOVhDSndjbWx0WVhKNVhDSmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaV3hsZEdWSlkyOXVQWHM4U0hSMGNITkpZMjl1SUM4K2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHeGhZbVZzUFh0MEtDZHpaV0Z5WTJndWFYTlFjbWwyWVhSbEp5bDlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMjVFWld4bGRHVTllMmhoYm1Sc1pVUmxiR1YwWlgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemFYcGxQVndpYzIxaGJHeGNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0tYMWNiaUFnSUNBZ0lDQWdJQ0FnSUh0cGMxSmxiVzkwWlNBbUppQWhhWE5RY21sMllYUmxJQ1ltSUNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVOb2FYQmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaV3hsZEdWSlkyOXVQWHM4VTNsdVkwRnNkQ0F2UG4xY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCc1lXSmxiRDE3ZENnbmMyVmhjbU5vTG1selVtVnRiM1JsSnlsOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IyNUVaV3hsZEdVOWUyaGhibVJzWlVSbGJHVjBaWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6YVhwbFBWd2ljMjFoYkd4Y0lseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhjbWxoYm5ROVhDSnZkWFJzYVc1bFpGd2lYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDOCtYRzRnSUNBZ0lDQWdJQ0FnSUNBcGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnZTJselEyRmphR1ZrSUNZbUlDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFTm9hWEJjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JrWld4bGRHVkpZMjl1UFhzOFEyRmphR1ZrSUM4K2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHeGhZbVZzUFh0MEtDZHpaV0Z5WTJndWFYTkRZV05vWldRbktYMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZia1JsYkdWMFpUMTdhR0Z1Wkd4bFJHVnNaWFJsZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOcGVtVTlYQ0p6YldGc2JGd2lYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZ5YVdGdWREMWNJbTkxZEd4cGJtVmtYQ0pjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDbDlYRzRnSUNBZ0lDQWdJQ0FnUEM5VGRHRmphejVjYmlBZ0lDQWdJQ0FnUEM5WGNtRndjR1Z5UGx4dUlDQWdJQ0FnS1gxY2JpQWdJQ0E4TDJ4cFBseHVJQ0FwTzF4dWZUdGNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdVMlZoY21Ob1NYUmxiVHRjYmlKZGZRPT0gKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBOYW1lID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJzcGFuXCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVrbG9wam8xXCIgfSA6IHtcblx0dGFyZ2V0OiBcImVrbG9wam8xXCIsXG5cdGxhYmVsOiBcIk5hbWVcIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0Zm9udFdlaWdodDogXCI3MDBcIixcblx0Zm9udFNpemU6IHRoZW1lLmZvbnRTaXplLnNtXG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVRaV0Z5WTJndlUyVmhjbU5vU1hSbGJTNTBjM2dpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCZVVSaElpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlUWldGeVkyZ3ZVMlZoY21Ob1NYUmxiUzUwYzNnaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2MzUjViR1ZrSUdaeWIyMGdKMEJsYlc5MGFXOXVMM04wZVd4bFpDYzdYRzVwYlhCdmNuUWdRMkZqYUdWa0lHWnliMjBnSjBCdGRXa3ZhV052Ym5NdGJXRjBaWEpwWVd3dlEyRmphR1ZrSnp0Y2JtbHRjRzl5ZENCSWRIUndjMGxqYjI0Z1puSnZiU0FuUUcxMWFTOXBZMjl1Y3kxdFlYUmxjbWxoYkM5SWRIUndjeWM3WEc1cGJYQnZjblFnVTNsdVkwRnNkQ0JtY205dElDZEFiWFZwTDJsamIyNXpMVzFoZEdWeWFXRnNMMU41Ym1OQmJIUW5PMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QlVhR1Z0WlNCOUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd25PMXh1YVcxd2IzSjBJRU5vYVhBZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOURhR2x3Snp0Y2JtbHRjRzl5ZENCVGRHRmpheUJtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDFOMFlXTnJKenRjYm1sdGNHOXlkQ0JTWldGamRDQm1jbTl0SUNkeVpXRmpkQ2M3WEc1cGJYQnZjblFnZXlCMWMyVlVjbUZ1YzJ4aGRHbHZiaUI5SUdaeWIyMGdKM0psWVdOMExXa3hPRzVsZUhRbk8xeHVYRzVwYlhCdmNuUWdleUIxYzJWRGIyNW1hV2NnZlNCbWNtOXRJQ2N1TGk4dUxpOG5PMXh1YVcxd2IzSjBJSHNnWTJ4bFlXNUVaWE5qY21sd2RHbHZiaUI5SUdaeWIyMGdKeTR2ZFhScGJITW5PMXh1WEc1MGVYQmxJRk5sWVhKamFFbDBaVzFRY205d2N5QTlJSHRjYmlBZ2JtRnRaVG9nYzNSeWFXNW5PMXh1SUNCMlpYSnphVzl1UHpvZ2MzUnlhVzVuTzF4dUlDQmtaWE5qY21sd2RHbHZiajg2SUhOMGNtbHVaenRjYmlBZ2FYTlFjbWwyWVhSbFB6b2dZbTl2YkdWaGJqdGNiaUFnYVhORFlXTm9aV1EvT2lCaWIyOXNaV0Z1TzF4dUlDQnBjMUpsYlc5MFpUODZJR0p2YjJ4bFlXNDdYRzU5TzF4dVhHNWpiMjV6ZENCWGNtRndjR1Z5SUQwZ2MzUjViR1ZrTG1ScGRpaDdYRzRnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ1lXeHBaMjVKZEdWdGN6b2dKMk5sYm5SbGNpY3NYRzRnSUhkcFpIUm9PaUFuTVRBd0pTY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVSbGMyTnlhWEIwYVc5dUlEMGdjM1I1YkdWa0tDZGthWFluS1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIc2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMjV2Ym1VbkxGeHVJQ0JqYjJ4dmNqb2dkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVUR2xuYUhReUxGeHVJQ0JzYVc1bFNHVnBaMmgwT2lBbk1TNDFjbVZ0Snl4Y2JpQWdkMmhwZEdWVGNHRmpaVG9nSjI1dmQzSmhjQ2NzWEc0Z0lIUmxlSFJQZG1WeVpteHZkem9nSjJWc2JHbHdjMmx6Snl4Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc0Z0lHOTJaWEptYkc5M09pQW5hR2xrWkdWdUp5eGNiaUFnY0dGa1pHbHVaMHhsWm5RNklIUm9aVzFsTG5Od1lXTnBibWNvS1N4Y2JpQWdabTl1ZEZOcGVtVTZJSFJvWlcxbExtWnZiblJUYVhwbExuTnpiU3hjYmlBZ1cyQkFiV1ZrYVdFZ0tHMXBiaTEzYVdSMGFEb2dKSHQwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTV0WldScGRXMTljSGdwWUYwNklIdGNiaUFnSUNCa2FYTndiR0Y1T2lBbllteHZZMnNuTEZ4dUlDQWdJSGRwWkhSb09pQW5NekF3Y0hnbkxGeHVJQ0I5TEZ4dUlDQmJZRUJ0WldScFlTQW9iV2x1TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG14aGNtZGxmWEI0S1dCZE9pQjdYRzRnSUNBZ1pHbHpjR3hoZVRvZ0oySnNiMk5ySnl4Y2JpQWdJQ0IzYVdSMGFEb2dKelV3TUhCNEp5eGNiaUFnZlN4Y2JpQWdXMkJBYldWa2FXRWdLRzFwYmkxM2FXUjBhRG9nTVRRME1IQjRLV0JkT2lCN1hHNGdJQ0FnWkdsemNHeGhlVG9nSjJKc2IyTnJKeXhjYmlBZ0lDQjNhV1IwYURvZ0p6WXdNSEI0Snl4Y2JpQWdmU3hjYm4wcEtUdGNibHh1WTI5dWMzUWdUbUZ0WlVkeWIzVndJRDBnYzNSNWJHVmtMbk53WVc0b2UxeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdac1pYZzZJQ2N4Snl4Y2JuMHBPMXh1WEc1amIyNXpkQ0JPWVcxbElEMGdjM1I1YkdWa0tDZHpjR0Z1SnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR1p2Ym5SWFpXbG5hSFE2SUNjM01EQW5MRnh1SUNCbWIyNTBVMmw2WlRvZ2RHaGxiV1V1Wm05dWRGTnBlbVV1YzIwc1hHNTlLU2s3WEc1Y2JtTnZibk4wSUZabGNuTnBiMjRnUFNCemRIbHNaV1FvSjNOd1lXNG5LVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ1ptOXVkRk5wZW1VNklIUm9aVzFsTG1admJuUlRhWHBsTG5OemJTeGNibjBwS1R0Y2JseHVZMjl1YzNRZ1UyVmhjbU5vU1hSbGJUb2dVbVZoWTNRdVJrTThVMlZoY21Ob1NYUmxiVkJ5YjNCelBpQTlJQ2g3WEc0Z0lHNWhiV1VzWEc0Z0lHUmxjMk55YVhCMGFXOXVMRnh1SUNCcGMxQnlhWFpoZEdVZ1BTQm1ZV3h6WlN4Y2JpQWdhWE5TWlcxdmRHVWdQU0JtWVd4elpTeGNiaUFnYVhORFlXTm9aV1FnUFNCbVlXeHpaU3hjYmlBZ2RtVnljMmx2Yml4Y2JpQWdMaTR1Y0hKdmNITmNibjBwSUQwK0lIdGNiaUFnWTI5dWMzUWdleUIwSUgwZ1BTQjFjMlZVY21GdWMyeGhkR2x2YmlncE8xeHVJQ0JqYjI1emRDQjdJR052Ym1acFowOXdkR2x2Ym5NZ2ZTQTlJSFZ6WlVOdmJtWnBaeWdwTzF4dUlDQmpiMjV6ZENCb1lXNWtiR1ZFWld4bGRHVWdQU0FvS1NBOVBpQjdYRzRnSUNBZ0x5OGdibThnWVdOMGFXOXVJR0Z6YzJsbmJtVmtJR0o1SUdSbFptRjFiSFJjYmlBZ2ZUdGNiaUFnY21WMGRYSnVJQ2hjYmlBZ0lDQThiR2tnZXk0dUxuQnliM0J6ZlNCemRIbHNaVDE3ZXlCbWJHVjRSR2x5WldOMGFXOXVPaUFuWTI5c2RXMXVKeUI5ZlQ1Y2JpQWdJQ0FnSUR4WGNtRndjR1Z5UGx4dUlDQWdJQ0FnSUNBOFRtRnRaVWR5YjNWd1BseHVJQ0FnSUNBZ0lDQWdJRHhPWVcxbFBudHVZVzFsZlR3dlRtRnRaVDVjYmlBZ0lDQWdJQ0FnSUNCN1pHVnpZM0pwY0hScGIyNGdKaVlnUEVSbGMyTnlhWEIwYVc5dVBudGpiR1ZoYmtSbGMyTnlhWEIwYVc5dUtHUmxjMk55YVhCMGFXOXVLWDA4TDBSbGMyTnlhWEIwYVc5dVBuMWNiaUFnSUNBZ0lDQWdQQzlPWVcxbFIzSnZkWEErWEc0Z0lDQWdJQ0FnSUh0MlpYSnphVzl1SUNZbUlEeFdaWEp6YVc5dVBudDJaWEp6YVc5dWZUd3ZWbVZ5YzJsdmJqNTlYRzRnSUNBZ0lDQThMMWR5WVhCd1pYSStYRzRnSUNBZ0lDQjdZMjl1Wm1sblQzQjBhVzl1Y3o4dWMyaHZkMVZ3YkdsdWEzTWdKaVlnS0Z4dUlDQWdJQ0FnSUNBOFYzSmhjSEJsY2o1Y2JpQWdJQ0FnSUNBZ0lDQThVM1JoWTJzZ1pHbHlaV04wYVc5dVBWd2ljbTkzWENJZ2MzQmhZMmx1WnoxN01YMCtYRzRnSUNBZ0lDQWdJQ0FnSUNCN2FYTlFjbWwyWVhSbElDWW1JQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRU5vYVhCY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyeHZjajFjSW5CeWFXMWhjbmxjSWx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdSbGJHVjBaVWxqYjI0OWV6eElkSFJ3YzBsamIyNGdMejU5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYkdGaVpXdzllM1FvSjNObFlYSmphQzVwYzFCeWFYWmhkR1VuS1gxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrUmxiR1YwWlQxN2FHRnVaR3hsUkdWc1pYUmxmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE5wZW1VOVhDSnpiV0ZzYkZ3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUM4K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FwZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdlMmx6VW1WdGIzUmxJQ1ltSUNGcGMxQnlhWFpoZEdVZ0ppWWdLRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThRMmhwY0Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdSbGJHVjBaVWxqYjI0OWV6eFRlVzVqUVd4MElDOCtmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR3hoWW1Wc1BYdDBLQ2R6WldGeVkyZ3VhWE5TWlcxdmRHVW5LWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtSbGJHVjBaVDE3YUdGdVpHeGxSR1ZzWlhSbGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITnBlbVU5WENKemJXRnNiRndpWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1GeWFXRnVkRDFjSW05MWRHeHBibVZrWENKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ2w5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjdhWE5EWVdOb1pXUWdKaVlnS0Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4UTJocGNGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHUmxiR1YwWlVsamIyNDllenhEWVdOb1pXUWdMejU5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYkdGaVpXdzllM1FvSjNObFlYSmphQzVwYzBOaFkyaGxaQ2NwZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc5dVJHVnNaWFJsUFh0b1lXNWtiR1ZFWld4bGRHVjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjMmw2WlQxY0luTnRZV3hzWENKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMllYSnBZVzUwUFZ3aWIzVjBiR2x1WldSY0lseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnS1gxY2JpQWdJQ0FnSUNBZ0lDQThMMU4wWVdOclBseHVJQ0FnSUNBZ0lDQThMMWR5WVhCd1pYSStYRzRnSUNBZ0lDQXBmVnh1SUNBZ0lEd3ZiR2srWEc0Z0lDazdYRzU5TzF4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCVFpXRnlZMmhKZEdWdE8xeHVJbDE5ICovXCIpO1xudmFyIFZlcnNpb24gPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcInNwYW5cIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZWtsb3BqbzBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZWtsb3BqbzBcIixcblx0bGFiZWw6IFwiVmVyc2lvblwiXG59KSgoeyB0aGVtZSB9KSA9PiAoeyBmb250U2l6ZTogdGhlbWUuZm9udFNpemUuc3NtIH0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5VFpXRnlZMmd2VTJWaGNtTm9TWFJsYlM1MGMzZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJPRVJuUWlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwyTnZiWEJ2Ym1WdWRITXZVMlZoY21Ob0wxTmxZWEpqYUVsMFpXMHVkSE40SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVhVzF3YjNKMElFTmhZMmhsWkNCbWNtOXRJQ2RBYlhWcEwybGpiMjV6TFcxaGRHVnlhV0ZzTDBOaFkyaGxaQ2M3WEc1cGJYQnZjblFnU0hSMGNITkpZMjl1SUdaeWIyMGdKMEJ0ZFdrdmFXTnZibk10YldGMFpYSnBZV3d2U0hSMGNITW5PMXh1YVcxd2IzSjBJRk41Ym1OQmJIUWdabkp2YlNBblFHMTFhUzlwWTI5dWN5MXRZWFJsY21saGJDOVRlVzVqUVd4MEp6dGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0p6dGNibWx0Y0c5eWRDQkRhR2x3SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlEyaHBjQ2M3WEc1cGJYQnZjblFnVTNSaFkyc2dabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlUZEdGamF5YzdYRzVwYlhCdmNuUWdVbVZoWTNRZ1puSnZiU0FuY21WaFkzUW5PMXh1YVcxd2IzSjBJSHNnZFhObFZISmhibk5zWVhScGIyNGdmU0JtY205dElDZHlaV0ZqZEMxcE1UaHVaWGgwSnp0Y2JseHVhVzF3YjNKMElIc2dkWE5sUTI5dVptbG5JSDBnWm5KdmJTQW5MaTR2TGk0dkp6dGNibWx0Y0c5eWRDQjdJR05zWldGdVJHVnpZM0pwY0hScGIyNGdmU0JtY205dElDY3VMM1YwYVd4ekp6dGNibHh1ZEhsd1pTQlRaV0Z5WTJoSmRHVnRVSEp2Y0hNZ1BTQjdYRzRnSUc1aGJXVTZJSE4wY21sdVp6dGNiaUFnZG1WeWMybHZiajg2SUhOMGNtbHVaenRjYmlBZ1pHVnpZM0pwY0hScGIyNC9PaUJ6ZEhKcGJtYzdYRzRnSUdselVISnBkbUYwWlQ4NklHSnZiMnhsWVc0N1hHNGdJR2x6UTJGamFHVmtQem9nWW05dmJHVmhianRjYmlBZ2FYTlNaVzF2ZEdVL09pQmliMjlzWldGdU8xeHVmVHRjYmx4dVkyOXVjM1FnVjNKaGNIQmxjaUE5SUhOMGVXeGxaQzVrYVhZb2UxeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0IzYVdSMGFEb2dKekV3TUNVbkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JFWlhOamNtbHdkR2x2YmlBOUlITjBlV3hsWkNnblpHbDJKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHUnBjM0JzWVhrNklDZHViMjVsSnl4Y2JpQWdZMjlzYjNJNklIUm9aVzFsTG5CaGJHVjBkR1V1WjNKbGVVeHBaMmgwTWl4Y2JpQWdiR2x1WlVobGFXZG9kRG9nSnpFdU5YSmxiU2NzWEc0Z0lIZG9hWFJsVTNCaFkyVTZJQ2R1YjNkeVlYQW5MRnh1SUNCMFpYaDBUM1psY21ac2IzYzZJQ2RsYkd4cGNITnBjeWNzWEc0Z0lHRnNhV2R1U1hSbGJYTTZJQ2RqWlc1MFpYSW5MRnh1SUNCdmRtVnlabXh2ZHpvZ0oyaHBaR1JsYmljc1hHNGdJSEJoWkdScGJtZE1aV1owT2lCMGFHVnRaUzV6Y0dGamFXNW5LQ2tzWEc0Z0lHWnZiblJUYVhwbE9pQjBhR1Z0WlM1bWIyNTBVMmw2WlM1emMyMHNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXViV1ZrYVhWdGZYQjRLV0JkT2lCN1hHNGdJQ0FnWkdsemNHeGhlVG9nSjJKc2IyTnJKeXhjYmlBZ0lDQjNhV1IwYURvZ0p6TXdNSEI0Snl4Y2JpQWdmU3hjYmlBZ1cyQkFiV1ZrYVdFZ0tHMXBiaTEzYVdSMGFEb2dKSHQwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTVzWVhKblpYMXdlQ2xnWFRvZ2UxeHVJQ0FnSUdScGMzQnNZWGs2SUNkaWJHOWpheWNzWEc0Z0lDQWdkMmxrZEdnNklDYzFNREJ3ZUNjc1hHNGdJSDBzWEc0Z0lGdGdRRzFsWkdsaElDaHRhVzR0ZDJsa2RHZzZJREUwTkRCd2VDbGdYVG9nZTF4dUlDQWdJR1JwYzNCc1lYazZJQ2RpYkc5amF5Y3NYRzRnSUNBZ2QybGtkR2c2SUNjMk1EQndlQ2NzWEc0Z0lIMHNYRzU5S1NrN1hHNWNibU52Ym5OMElFNWhiV1ZIY205MWNDQTlJSE4wZVd4bFpDNXpjR0Z1S0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMlpzWlhnbkxGeHVJQ0JtYkdWNE9pQW5NU2NzWEc1OUtUdGNibHh1WTI5dWMzUWdUbUZ0WlNBOUlITjBlV3hsWkNnbmMzQmhiaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQm1iMjUwVjJWcFoyaDBPaUFuTnpBd0p5eGNiaUFnWm05dWRGTnBlbVU2SUhSb1pXMWxMbVp2Ym5SVGFYcGxMbk50TEZ4dWZTa3BPMXh1WEc1amIyNXpkQ0JXWlhKemFXOXVJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdadmJuUlRhWHBsT2lCMGFHVnRaUzVtYjI1MFUybDZaUzV6YzIwc1hHNTlLU2s3WEc1Y2JtTnZibk4wSUZObFlYSmphRWwwWlcwNklGSmxZV04wTGtaRFBGTmxZWEpqYUVsMFpXMVFjbTl3Y3o0Z1BTQW9lMXh1SUNCdVlXMWxMRnh1SUNCa1pYTmpjbWx3ZEdsdmJpeGNiaUFnYVhOUWNtbDJZWFJsSUQwZ1ptRnNjMlVzWEc0Z0lHbHpVbVZ0YjNSbElEMGdabUZzYzJVc1hHNGdJR2x6UTJGamFHVmtJRDBnWm1Gc2MyVXNYRzRnSUhabGNuTnBiMjRzWEc0Z0lDNHVMbkJ5YjNCelhHNTlLU0E5UGlCN1hHNGdJR052Ym5OMElIc2dkQ0I5SUQwZ2RYTmxWSEpoYm5Oc1lYUnBiMjRvS1R0Y2JpQWdZMjl1YzNRZ2V5QmpiMjVtYVdkUGNIUnBiMjV6SUgwZ1BTQjFjMlZEYjI1bWFXY29LVHRjYmlBZ1kyOXVjM1FnYUdGdVpHeGxSR1ZzWlhSbElEMGdLQ2tnUFQ0Z2UxeHVJQ0FnSUM4dklHNXZJR0ZqZEdsdmJpQmhjM05wWjI1bFpDQmllU0JrWldaaGRXeDBYRzRnSUgwN1hHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BHeHBJSHN1TGk1d2NtOXdjMzBnYzNSNWJHVTllM3NnWm14bGVFUnBjbVZqZEdsdmJqb2dKMk52YkhWdGJpY2dmWDArWEc0Z0lDQWdJQ0E4VjNKaGNIQmxjajVjYmlBZ0lDQWdJQ0FnUEU1aGJXVkhjbTkxY0Q1Y2JpQWdJQ0FnSUNBZ0lDQThUbUZ0WlQ1N2JtRnRaWDA4TDA1aGJXVStYRzRnSUNBZ0lDQWdJQ0FnZTJSbGMyTnlhWEIwYVc5dUlDWW1JRHhFWlhOamNtbHdkR2x2Ymo1N1kyeGxZVzVFWlhOamNtbHdkR2x2Ymloa1pYTmpjbWx3ZEdsdmJpbDlQQzlFWlhOamNtbHdkR2x2Ymo1OVhHNGdJQ0FnSUNBZ0lEd3ZUbUZ0WlVkeWIzVndQbHh1SUNBZ0lDQWdJQ0I3ZG1WeWMybHZiaUFtSmlBOFZtVnljMmx2Ymo1N2RtVnljMmx2Ym4wOEwxWmxjbk5wYjI0K2ZWeHVJQ0FnSUNBZ1BDOVhjbUZ3Y0dWeVBseHVJQ0FnSUNBZ2UyTnZibVpwWjA5d2RHbHZibk0vTG5Ob2IzZFZjR3hwYm10eklDWW1JQ2hjYmlBZ0lDQWdJQ0FnUEZkeVlYQndaWEkrWEc0Z0lDQWdJQ0FnSUNBZ1BGTjBZV05ySUdScGNtVmpkR2x2YmoxY0luSnZkMXdpSUhOd1lXTnBibWM5ZXpGOVBseHVJQ0FnSUNBZ0lDQWdJQ0FnZTJselVISnBkbUYwWlNBbUppQW9YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEeERhR2x3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5c2IzSTlYQ0p3Y21sdFlYSjVYQ0pjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JrWld4bGRHVkpZMjl1UFhzOFNIUjBjSE5KWTI5dUlDOCtmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR3hoWW1Wc1BYdDBLQ2R6WldGeVkyZ3VhWE5RY21sMllYUmxKeWw5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjI1RVpXeGxkR1U5ZTJoaGJtUnNaVVJsYkdWMFpYMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnphWHBsUFZ3aWMyMWhiR3hjSWx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F2UGx4dUlDQWdJQ0FnSUNBZ0lDQWdLWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lIdHBjMUpsYlc5MFpTQW1KaUFoYVhOUWNtbDJZWFJsSUNZbUlDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFTm9hWEJjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JrWld4bGRHVkpZMjl1UFhzOFUzbHVZMEZzZENBdlBuMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnNZV0psYkQxN2RDZ25jMlZoY21Ob0xtbHpVbVZ0YjNSbEp5bDlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMjVFWld4bGRHVTllMmhoYm1Sc1pVUmxiR1YwWlgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemFYcGxQVndpYzIxaGJHeGNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFpoY21saGJuUTlYQ0p2ZFhSc2FXNWxaRndpWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzgrWEc0Z0lDQWdJQ0FnSUNBZ0lDQXBmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2UybHpRMkZqYUdWa0lDWW1JQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRU5vYVhCY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCa1pXeGxkR1ZKWTI5dVBYczhRMkZqYUdWa0lDOCtmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR3hoWW1Wc1BYdDBLQ2R6WldGeVkyZ3VhWE5EWVdOb1pXUW5LWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtSbGJHVjBaVDE3YUdGdVpHeGxSR1ZzWlhSbGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITnBlbVU5WENKemJXRnNiRndpWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1GeWFXRnVkRDFjSW05MWRHeHBibVZrWENKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ2w5WEc0Z0lDQWdJQ0FnSUNBZ1BDOVRkR0ZqYXo1Y2JpQWdJQ0FnSUNBZ1BDOVhjbUZ3Y0dWeVBseHVJQ0FnSUNBZ0tYMWNiaUFnSUNBOEwyeHBQbHh1SUNBcE8xeHVmVHRjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnVTJWaGNtTm9TWFJsYlR0Y2JpSmRmUT09ICovXCIpO1xudmFyIFNlYXJjaEl0ZW0gPSAoeyBuYW1lLCBkZXNjcmlwdGlvbiwgaXNQcml2YXRlID0gZmFsc2UsIGlzUmVtb3RlID0gZmFsc2UsIGlzQ2FjaGVkID0gZmFsc2UsIHZlcnNpb24sIC4uLnByb3BzIH0pID0+IHtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRjb25zdCB7IGNvbmZpZ09wdGlvbnMgfSA9IHVzZUNvbmZpZygpO1xuXHRjb25zdCBoYW5kbGVEZWxldGUgPSAoKSA9PiB7fTtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKFwibGlcIiwge1xuXHRcdC4uLnByb3BzLFxuXHRcdHN0eWxlOiB7IGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIgfSxcblx0XHRjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3hzKFdyYXBwZXIsIHsgY2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4cyhOYW1lR3JvdXAsIHsgY2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KE5hbWUsIHsgY2hpbGRyZW46IG5hbWUgfSksIGRlc2NyaXB0aW9uICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goRGVzY3JpcHRpb24sIHsgY2hpbGRyZW46IGNsZWFuRGVzY3JpcHRpb24oZGVzY3JpcHRpb24pIH0pXSB9KSwgdmVyc2lvbiAmJiAvKiBAX19QVVJFX18gKi8ganN4KFZlcnNpb24sIHsgY2hpbGRyZW46IHZlcnNpb24gfSldIH0pLCBjb25maWdPcHRpb25zPy5zaG93VXBsaW5rcyAmJiAvKiBAX19QVVJFX18gKi8ganN4KFdyYXBwZXIsIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3hzKFN0YWNrLCB7XG5cdFx0XHRkaXJlY3Rpb246IFwicm93XCIsXG5cdFx0XHRzcGFjaW5nOiAxLFxuXHRcdFx0Y2hpbGRyZW46IFtcblx0XHRcdFx0aXNQcml2YXRlICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goQ2hpcCwge1xuXHRcdFx0XHRcdGNvbG9yOiBcInByaW1hcnlcIixcblx0XHRcdFx0XHRkZWxldGVJY29uOiAvKiBAX19QVVJFX18gKi8ganN4KEh0dHBzSWNvbiwge30pLFxuXHRcdFx0XHRcdGxhYmVsOiB0KFwic2VhcmNoLmlzUHJpdmF0ZVwiKSxcblx0XHRcdFx0XHRvbkRlbGV0ZTogaGFuZGxlRGVsZXRlLFxuXHRcdFx0XHRcdHNpemU6IFwic21hbGxcIlxuXHRcdFx0XHR9KSxcblx0XHRcdFx0aXNSZW1vdGUgJiYgIWlzUHJpdmF0ZSAmJiAvKiBAX19QVVJFX18gKi8ganN4KENoaXAsIHtcblx0XHRcdFx0XHRkZWxldGVJY29uOiAvKiBAX19QVVJFX18gKi8ganN4KFN5bmNBbHQsIHt9KSxcblx0XHRcdFx0XHRsYWJlbDogdChcInNlYXJjaC5pc1JlbW90ZVwiKSxcblx0XHRcdFx0XHRvbkRlbGV0ZTogaGFuZGxlRGVsZXRlLFxuXHRcdFx0XHRcdHNpemU6IFwic21hbGxcIixcblx0XHRcdFx0XHR2YXJpYW50OiBcIm91dGxpbmVkXCJcblx0XHRcdFx0fSksXG5cdFx0XHRcdGlzQ2FjaGVkICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goQ2hpcCwge1xuXHRcdFx0XHRcdGRlbGV0ZUljb246IC8qIEBfX1BVUkVfXyAqLyBqc3goQ2FjaGVkLCB7fSksXG5cdFx0XHRcdFx0bGFiZWw6IHQoXCJzZWFyY2guaXNDYWNoZWRcIiksXG5cdFx0XHRcdFx0b25EZWxldGU6IGhhbmRsZURlbGV0ZSxcblx0XHRcdFx0XHRzaXplOiBcInNtYWxsXCIsXG5cdFx0XHRcdFx0dmFyaWFudDogXCJvdXRsaW5lZFwiXG5cdFx0XHRcdH0pXG5cdFx0XHRdXG5cdFx0fSkgfSldXG5cdH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgU2VhcmNoSXRlbSBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVNlYXJjaEl0ZW0ubWpzLm1hcCIsImltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsgY29tbW9uIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvY29sb3JzXCI7XG5pbXBvcnQgeyBUZXh0RmllbGQgfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IElucHV0QWRvcm5tZW50IGZyb20gXCJAbXVpL21hdGVyaWFsL0lucHV0QWRvcm5tZW50XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvU2VhcmNoL3N0eWxlcy50c1xudmFyIFN0eWxlZFRleHRGaWVsZCA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFRleHRGaWVsZCwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZThsYW83YTFcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZThsYW83YTFcIixcblx0bGFiZWw6IFwiU3R5bGVkVGV4dEZpZWxkXCJcbn0pKChwcm9wcykgPT4gKHtcblx0XCImIC5NdWlJbnB1dEJhc2Utcm9vdFwiOiB7XG5cdFx0XCI6YmVmb3JlXCI6IHtcblx0XHRcdGNvbnRlbnQ6IFwiJydcIixcblx0XHRcdGJvcmRlcjogXCJub25lXCJcblx0XHR9LFxuXHRcdFwiOmFmdGVyXCI6IHsgYm9yZGVyQ29sb3I6IGNvbW1vbi53aGl0ZSB9LFxuXHRcdFwiOmhvdmVyOmJlZm9yZVwiOiB7IGNvbnRlbnQ6IFwibm9uZVwiIH0sXG5cdFx0XCI6aG92ZXI6YWZ0ZXJcIjoge1xuXHRcdFx0Y29udGVudDogXCJub25lXCIsXG5cdFx0XHR0cmFuc2Zvcm06IFwic2NhbGVYKDEpXCJcblx0XHR9LFxuXHRcdFtgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHtwcm9wcy50aGVtZS5icmVha1BvaW50cy5tZWRpdW19cHgpYF06IHsgXCI6aG92ZXI6YWZ0ZXJcIjogeyBjb250ZW50OiBcIicnXCIgfSB9XG5cdH0sXG5cdFwiJiAuTXVpSW5wdXRCYXNlLWlucHV0XCI6IHsgW2BAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAke3Byb3BzLnRoZW1lLmJyZWFrUG9pbnRzLm1lZGl1bX1weClgXTogeyBjb2xvcjogY29tbW9uLndoaXRlIH0gfVxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlUWldGeVkyZ3ZjM1I1YkdWekxuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVmNyUWlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwyTnZiWEJ2Ym1WdWRITXZVMlZoY21Ob0wzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0I3SUZSbGVIUkdhV1ZzWkNCOUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd25PMXh1YVcxd2IzSjBJRWx1Y0hWMFFXUnZjbTV0Wlc1MElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZTVzV3ZFhSQlpHOXlibTFsYm5Rbk8xeHVhVzF3YjNKMElIc2dZMjl0Ylc5dUlIMGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlqYjJ4dmNuTW5PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkpibkIxZEVacFpXeGtVSEp2Y0hNZ2UxeHVJQ0JqYjJ4dmNqb2djM1J5YVc1bk8xeHVmVnh1WEc1bGVIQnZjblFnWTI5dWMzUWdVM1I1YkdWa1ZHVjRkRVpwWld4a0lEMGdjM1I1YkdWa0tGUmxlSFJHYVdWc1pDazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2h3Y205d2N5a2dQVDRnS0h0Y2JpQWdKeVlnTGsxMWFVbHVjSFYwUW1GelpTMXliMjkwSnpvZ2UxeHVJQ0FnSUNjNlltVm1iM0psSnpvZ2UxeHVJQ0FnSUNBZ1kyOXVkR1Z1ZERvZ1hDSW5KMXdpTEZ4dUlDQWdJQ0FnWW05eVpHVnlPaUFuYm05dVpTY3NYRzRnSUNBZ2ZTeGNiaUFnSUNBbk9tRm1kR1Z5SnpvZ2UxeHVJQ0FnSUNBZ1ltOXlaR1Z5UTI5c2IzSTZJR052YlcxdmJpNTNhR2wwWlN4Y2JpQWdJQ0I5TEZ4dUlDQWdJQ2M2YUc5MlpYSTZZbVZtYjNKbEp6b2dlMXh1SUNBZ0lDQWdZMjl1ZEdWdWREb2dKMjV2Ym1VbkxGeHVJQ0FnSUgwc1hHNGdJQ0FnSnpwb2IzWmxjanBoWm5SbGNpYzZJSHRjYmlBZ0lDQWdJR052Ym5SbGJuUTZJQ2R1YjI1bEp5eGNiaUFnSUNBZ0lIUnlZVzV6Wm05eWJUb2dKM05qWVd4bFdDZ3hLU2NzWEc0Z0lDQWdmU3hjYmlBZ0lDQmJZRUJ0WldScFlTQnpZM0psWlc0Z1lXNWtJQ2h0YVc0dGQybGtkR2c2SUNSN2NISnZjSE11ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11YldWa2FYVnRmWEI0S1dCZE9pQjdYRzRnSUNBZ0lDQW5PbWh2ZG1WeU9tRm1kR1Z5SnpvZ2UxeHVJQ0FnSUNBZ0lDQmpiMjUwWlc1ME9pQmNJaWNuWENJc1hHNGdJQ0FnSUNCOUxGeHVJQ0FnSUgwc1hHNGdJSDBzWEc0Z0lDY21JQzVOZFdsSmJuQjFkRUpoYzJVdGFXNXdkWFFuT2lCN1hHNGdJQ0FnVzJCQWJXVmthV0VnYzJOeVpXVnVJR0Z1WkNBb2JXbHVMWGRwWkhSb09pQWtlM0J5YjNCekxuUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxtMWxaR2wxYlgxd2VDbGdYVG9nZTF4dUlDQWdJQ0FnWTI5c2IzSTZJR052YlcxdmJpNTNhR2wwWlN4Y2JpQWdJQ0I5TEZ4dUlDQjlMRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1UzUjViR1ZrU1c1d2RYUkJaRzl5Ym0xbGJuUWdQU0J6ZEhsc1pXUW9TVzV3ZFhSQlpHOXlibTFsYm5RcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29LU0E5UGlBb2UxeHVJQ0JqYjJ4dmNqb2dZMjl0Ylc5dUxuZG9hWFJsTEZ4dWZTa3BPMXh1SWwxOSAqL1wiKTtcbnZhciBTdHlsZWRJbnB1dEFkb3JubWVudCA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKElucHV0QWRvcm5tZW50LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlOGxhbzdhMFwiIH0gOiB7XG5cdHRhcmdldDogXCJlOGxhbzdhMFwiLFxuXHRsYWJlbDogXCJTdHlsZWRJbnB1dEFkb3JubWVudFwiXG59KSgoKSA9PiAoeyBjb2xvcjogY29tbW9uLndoaXRlIH0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5VFpXRnlZMmd2YzNSNWJHVnpMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVhkRGIwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDFObFlYSmphQzl6ZEhsc1pYTXVkSE1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnYzNSNWJHVmtJR1p5YjIwZ0owQmxiVzkwYVc5dUwzTjBlV3hsWkNjN1hHNXBiWEJ2Y25RZ2V5QlVaWGgwUm1sbGJHUWdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzSnp0Y2JtbHRjRzl5ZENCSmJuQjFkRUZrYjNKdWJXVnVkQ0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBsdWNIVjBRV1J2Y201dFpXNTBKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaUI5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JseHVhVzF3YjNKMElIUjVjR1VnZXlCVWFHVnRaU0I5SUdaeWIyMGdKeTR1THk0dUx5YzdYRzVjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnU1c1d2RYUkdhV1ZzWkZCeWIzQnpJSHRjYmlBZ1kyOXNiM0k2SUhOMGNtbHVaenRjYm4xY2JseHVaWGh3YjNKMElHTnZibk4wSUZOMGVXeGxaRlJsZUhSR2FXVnNaQ0E5SUhOMGVXeGxaQ2hVWlhoMFJtbGxiR1FwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2NISnZjSE1wSUQwK0lDaDdYRzRnSUNjbUlDNU5kV2xKYm5CMWRFSmhjMlV0Y205dmRDYzZJSHRjYmlBZ0lDQW5PbUpsWm05eVpTYzZJSHRjYmlBZ0lDQWdJR052Ym5SbGJuUTZJRndpSnlkY0lpeGNiaUFnSUNBZ0lHSnZjbVJsY2pvZ0oyNXZibVVuTEZ4dUlDQWdJSDBzWEc0Z0lDQWdKenBoWm5SbGNpYzZJSHRjYmlBZ0lDQWdJR0p2Y21SbGNrTnZiRzl5T2lCamIyMXRiMjR1ZDJocGRHVXNYRzRnSUNBZ2ZTeGNiaUFnSUNBbk9taHZkbVZ5T21KbFptOXlaU2M2SUh0Y2JpQWdJQ0FnSUdOdmJuUmxiblE2SUNkdWIyNWxKeXhjYmlBZ0lDQjlMRnh1SUNBZ0lDYzZhRzkyWlhJNllXWjBaWEluT2lCN1hHNGdJQ0FnSUNCamIyNTBaVzUwT2lBbmJtOXVaU2NzWEc0Z0lDQWdJQ0IwY21GdWMyWnZjbTA2SUNkelkyRnNaVmdvTVNrbkxGeHVJQ0FnSUgwc1hHNGdJQ0FnVzJCQWJXVmthV0VnYzJOeVpXVnVJR0Z1WkNBb2JXbHVMWGRwWkhSb09pQWtlM0J5YjNCekxuUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxtMWxaR2wxYlgxd2VDbGdYVG9nZTF4dUlDQWdJQ0FnSnpwb2IzWmxjanBoWm5SbGNpYzZJSHRjYmlBZ0lDQWdJQ0FnWTI5dWRHVnVkRG9nWENJbkoxd2lMRnh1SUNBZ0lDQWdmU3hjYmlBZ0lDQjlMRnh1SUNCOUxGeHVJQ0FuSmlBdVRYVnBTVzV3ZFhSQ1lYTmxMV2x1Y0hWMEp6b2dlMXh1SUNBZ0lGdGdRRzFsWkdsaElITmpjbVZsYmlCaGJtUWdLRzFwYmkxM2FXUjBhRG9nSkh0d2NtOXdjeTUwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTV0WldScGRXMTljSGdwWUYwNklIdGNiaUFnSUNBZ0lHTnZiRzl5T2lCamIyMXRiMjR1ZDJocGRHVXNYRzRnSUNBZ2ZTeGNiaUFnZlN4Y2JuMHBLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRk4wZVd4bFpFbHVjSFYwUVdSdmNtNXRaVzUwSUQwZ2MzUjViR1ZrS0VsdWNIVjBRV1J2Y201dFpXNTBLVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0NrZ1BUNGdLSHRjYmlBZ1kyOXNiM0k2SUdOdmJXMXZiaTUzYUdsMFpTeGNibjBwS1R0Y2JpSmRmUT09ICovXCIpO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBTdHlsZWRJbnB1dEFkb3JubWVudCwgU3R5bGVkVGV4dEZpZWxkIH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0eWxlcy5tanMubWFwIiwiaW1wb3J0IHsgUm91dGUgYXMgUm91dGUkMSB9IGZyb20gXCIuLi8uLi91dGlscy9yb3V0ZXMubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi91dGlscy9pbmRleC5tanNcIjtcbmltcG9ydCB7IHVzZUNvbmZpZyB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvQXBwQ29uZmlndXJhdGlvblByb3ZpZGVyL0FwcENvbmZpZ3VyYXRpb25Qcm92aWRlci5tanNcIjtcbmltcG9ydCB7IHVzZVNlYXJjaCB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvU2VhcmNoUHJvdmlkZXIvU2VhcmNoUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgQXV0b0NvbXBsZXRlIGZyb20gXCIuL0F1dG9Db21wbGV0ZS9BdXRvQ29tcGxldGUubWpzXCI7XG5pbXBvcnQgXCIuL0F1dG9Db21wbGV0ZS9pbmRleC5tanNcIjtcbmltcG9ydCBTZWFyY2hJdGVtIGZyb20gXCIuL1NlYXJjaEl0ZW0ubWpzXCI7XG5pbXBvcnQgeyBTdHlsZWRJbnB1dEFkb3JubWVudCwgU3R5bGVkVGV4dEZpZWxkIH0gZnJvbSBcIi4vc3R5bGVzLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGUgfSBmcm9tIFwicmVhY3Qtcm91dGVyXCI7XG5pbXBvcnQgZGVib3VuY2UgZnJvbSBcImxvZGFzaC9kZWJvdW5jZVwiO1xuaW1wb3J0IFNlYXJjaE11aSBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9TZWFyY2hcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9TZWFyY2gvU2VhcmNoLnRzeFxudmFyIENPTlNUQU5UUyA9IHtcblx0QVBJX0RFTEFZOiAzMDAsXG5cdEFCT1JUX0VSUk9SOiBcIkFib3J0RXJyb3JcIlxufTtcbnZhciBTZWFyY2ggPSAoKSA9PiB7XG5cdGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcblx0Y29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuXHRjb25zdCB7IHNlYXJjaFJlc3VsdHMsIGlzTG9hZGluZywgZG9TZWFyY2ggfSA9IHVzZVNlYXJjaCgpO1xuXHRjb25zdCB7IGNvbmZpZ09wdGlvbnM6IHsgZmxhZ3MgfSB9ID0gdXNlQ29uZmlnKCk7XG5cdGNvbnN0IHNlYXJjaFJlbW90ZSA9IGZsYWdzPy5zZWFyY2hSZW1vdGUgPz8gZmFsc2U7XG5cdGNvbnN0IGFib3J0Q29udHJvbGxlclJlZiA9IHVzZVJlZihudWxsKTtcblx0Y29uc3QgY2FuY2VsQWxsU2VhcmNoUmVxdWVzdHMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG5cdFx0aWYgKGFib3J0Q29udHJvbGxlclJlZi5jdXJyZW50KSB7XG5cdFx0XHRhYm9ydENvbnRyb2xsZXJSZWYuY3VycmVudC5hYm9ydCgpO1xuXHRcdFx0YWJvcnRDb250cm9sbGVyUmVmLmN1cnJlbnQgPSBudWxsO1xuXHRcdH1cblx0fSwgW10pO1xuXHRjb25zdCBoYW5kbGVPbkJsdXIgPSB1c2VDYWxsYmFjaygoZXZlbnQpID0+IHtcblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblx0XHRjYW5jZWxBbGxTZWFyY2hSZXF1ZXN0cygpO1xuXHR9LCBbY2FuY2VsQWxsU2VhcmNoUmVxdWVzdHNdKTtcblx0Y29uc3QgaGFuZGxlQ2xpY2tTZWFyY2ggPSB1c2VDYWxsYmFjaygoZXZlbnQsIHZhbHVlLCByZWFzb24pID0+IHtcblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblx0XHRpZiAocmVhc29uID09PSBcInNlbGVjdE9wdGlvblwiKSB7XG5cdFx0XHRjb25zdCBwa2dOYW1lID0gdmFsdWVbXCJwYWNrYWdlXCJdPy5uYW1lID8/IHZhbHVlLm5hbWU7XG5cdFx0XHRuYXZpZ2F0ZShgJHtSb3V0ZSQxLkRFVEFJTH0ke3BrZ05hbWV9YCk7XG5cdFx0fVxuXHR9LCBbbmF2aWdhdGUsIHNlYXJjaFJlbW90ZV0pO1xuXHRjb25zdCBkb1NlYXJjaFJlZiA9IHVzZVJlZihkb1NlYXJjaCk7XG5cdGRvU2VhcmNoUmVmLmN1cnJlbnQgPSBkb1NlYXJjaDtcblx0LyoqXG5cdCogU3RhYmxlIGZldGNoIGZ1bmN0aW9uIHRoYXQgcmVhZHMgdGhlIGxhdGVzdCBkb1NlYXJjaCBmcm9tIGEgcmVmLFxuXHQqIGF2b2lkaW5nIGRlcGVuZGVuY3kgY2hhbmdlcyB0aGF0IHdvdWxkIGJyZWFrIHRoZSBkZWJvdW5jZS5cblx0Ki9cblx0Y29uc3QgaGFuZGxlRmV0Y2hQYWNrYWdlcyA9IHVzZUNhbGxiYWNrKGFzeW5jICh7IHZhbHVlIH0pID0+IHtcblx0XHRpZiAodmFsdWU/LnRyaW0oKSAhPT0gXCJcIikge1xuXHRcdFx0Y2FuY2VsQWxsU2VhcmNoUmVxdWVzdHMoKTtcblx0XHRcdGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG5cdFx0XHRhYm9ydENvbnRyb2xsZXJSZWYuY3VycmVudCA9IGNvbnRyb2xsZXI7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRhd2FpdCBkb1NlYXJjaFJlZi5jdXJyZW50Py4oe1xuXHRcdFx0XHRcdHRleHQ6IHZhbHVlLFxuXHRcdFx0XHRcdHNpZ25hbDogY29udHJvbGxlci5zaWduYWxcblx0XHRcdFx0fSk7XG5cdFx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdFx0aWYgKGVyci5uYW1lID09PSBDT05TVEFOVFMuQUJPUlRfRVJST1IpIGNvbnNvbGUud2FybihcIlNlYXJjaCByZXF1ZXN0IGFib3J0ZWRcIik7XG5cdFx0XHRcdGVsc2UgY29uc29sZS5lcnJvcihcIlNlYXJjaCBlcnJvcjpcIiwgZXJyKTtcblx0XHRcdH1cblx0XHR9XG5cdH0sIFtjYW5jZWxBbGxTZWFyY2hSZXF1ZXN0c10pO1xuXHRjb25zdCBkZWJvdW5jZWRGZXRjaCA9IHVzZU1lbW8oKCkgPT4gZGVib3VuY2UoaGFuZGxlRmV0Y2hQYWNrYWdlcywgQ09OU1RBTlRTLkFQSV9ERUxBWSksIFtoYW5kbGVGZXRjaFBhY2thZ2VzXSk7XG5cdHVzZUVmZmVjdCgoKSA9PiB7XG5cdFx0cmV0dXJuICgpID0+IHtcblx0XHRcdGRlYm91bmNlZEZldGNoLmNhbmNlbD8uKCk7XG5cdFx0XHRjYW5jZWxBbGxTZWFyY2hSZXF1ZXN0cygpO1xuXHRcdH07XG5cdH0sIFtkZWJvdW5jZWRGZXRjaCwgY2FuY2VsQWxsU2VhcmNoUmVxdWVzdHNdKTtcblx0Y29uc3QgcmVuZGVyT3B0aW9uID0gKHByb3BzLCBvcHRpb24pID0+IHtcblx0XHRjb25zdCB7IGtleSwgLi4ub3RoZXJQcm9wcyB9ID0gcHJvcHM7XG5cdFx0aWYgKHNlYXJjaFJlbW90ZSkge1xuXHRcdFx0Y29uc3QgaXRlbSA9IG9wdGlvbi5wYWNrYWdlO1xuXHRcdFx0Y29uc3QgaXNQcml2YXRlID0gb3B0aW9uPy52ZXJkYWNjaW9Qcml2YXRlO1xuXHRcdFx0Y29uc3QgaXNDYWNoZWQgPSBvcHRpb24/LnZlcmRhY2Npb1BrZ0NhY2hlZDtcblx0XHRcdGNvbnN0IGlzUmVtb3RlID0gIWlzQ2FjaGVkICYmICFpc1ByaXZhdGU7XG5cdFx0XHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTZWFyY2hJdGVtLCB7XG5cdFx0XHRcdC4uLm90aGVyUHJvcHMsXG5cdFx0XHRcdGRlc2NyaXB0aW9uOiBpdGVtPy5kZXNjcmlwdGlvbixcblx0XHRcdFx0aXNDYWNoZWQsXG5cdFx0XHRcdGlzUHJpdmF0ZSxcblx0XHRcdFx0aXNSZW1vdGUsXG5cdFx0XHRcdG5hbWU6IGl0ZW0/Lm5hbWUsXG5cdFx0XHRcdHZlcnNpb246IGl0ZW0/LnZlcnNpb25cblx0XHRcdH0sIGtleSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbnN0IGl0ZW0gPSBvcHRpb24ucGFja2FnZTtcblx0XHRcdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFNlYXJjaEl0ZW0sIHtcblx0XHRcdFx0Li4ub3RoZXJQcm9wcyxcblx0XHRcdFx0ZGVzY3JpcHRpb246IGl0ZW0/LmRlc2NyaXB0aW9uLFxuXHRcdFx0XHRuYW1lOiBpdGVtPy5uYW1lLFxuXHRcdFx0XHR2ZXJzaW9uOiBpdGVtPy52ZXJzaW9uXG5cdFx0XHR9LCBrZXkpO1xuXHRcdH1cblx0fTtcblx0Y29uc3QgcmVuZGVySW5wdXQgPSAocGFyYW1zKSA9PiB7XG5cdFx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goU3R5bGVkVGV4dEZpZWxkLCB7XG5cdFx0XHQuLi5wYXJhbXMsXG5cdFx0XHRJbnB1dFByb3BzOiB7XG5cdFx0XHRcdC4uLnBhcmFtcy5JbnB1dFByb3BzLFxuXHRcdFx0XHRzdGFydEFkb3JubWVudDogLyogQF9fUFVSRV9fICovIGpzeChTdHlsZWRJbnB1dEFkb3JubWVudCwge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBcInN0YXJ0XCIsXG5cdFx0XHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goU2VhcmNoTXVpLCB7fSlcblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cdFx0XHRsYWJlbDogXCJcIixcblx0XHRcdHBsYWNlaG9sZGVyOiB0KFwic2VhcmNoLnBhY2thZ2VzXCIpLFxuXHRcdFx0dmFyaWFudDogXCJzdGFuZGFyZFwiXG5cdFx0fSk7XG5cdH07XG5cdGNvbnN0IGdldE9wdGlvbkxhYmVsID0gKG9wdGlvbikgPT4ge1xuXHRcdHJldHVybiBvcHRpb24/LnBhY2thZ2U/Lm5hbWU7XG5cdH07XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KEF1dG9Db21wbGV0ZSwge1xuXHRcdGdldE9wdGlvbkxhYmVsLFxuXHRcdG9uQ2xlYW5TdWdnZXN0aW9uczogaGFuZGxlT25CbHVyLFxuXHRcdG9uU2VsZWN0SXRlbTogaGFuZGxlQ2xpY2tTZWFyY2gsXG5cdFx0b25TdWdnZXN0aW9uc0ZldGNoOiBkZWJvdW5jZWRGZXRjaCxcblx0XHRwbGFjZWhvbGRlcjogdChcInNlYXJjaC5wYWNrYWdlc1wiKSxcblx0XHRyZW5kZXJJbnB1dCxcblx0XHRyZW5kZXJPcHRpb24sXG5cdFx0c3VnZ2VzdGlvbnM6IHNlYXJjaFJlc3VsdHMsXG5cdFx0c3VnZ2VzdGlvbnNMb2FkaW5nOiBpc0xvYWRpbmdcblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBTZWFyY2ggYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1TZWFyY2gubWpzLm1hcCIsImltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IERpYWxvZ0NvbnRlbnQgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvRGlhbG9nQ29udGVudFwiO1xuaW1wb3J0IERpYWxvZ1RpdGxlIGZyb20gXCJAbXVpL21hdGVyaWFsL0RpYWxvZ1RpdGxlXCI7XG5pbXBvcnQgeyBjb21tb24gfSBmcm9tIFwiQG11aS9tYXRlcmlhbC9jb2xvcnNcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9SZWdpc3RyeUluZm9EaWFsb2cvc3R5bGVzLnRzXG52YXIgVGl0bGUgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChEaWFsb2dUaXRsZSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTF5N2JwbHAyXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxeTdicGxwMlwiLFxuXHRsYWJlbDogXCJUaXRsZVwiXG59KSgoeyB0aGVtZSB9KSA9PiAoe1xuXHRiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUubW9kZSA9PT0gXCJsaWdodFwiID8gdGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW4gOiB0aGVtZS5wYWxldHRlLmN5YW5CbHVlLFxuXHRjb2xvcjogY29tbW9uLndoaXRlLFxuXHRmb250U2l6ZTogdGhlbWUuZm9udFNpemUubGdcbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5U1pXZHBjM1J5ZVVsdVptOUVhV0ZzYjJjdmMzUjViR1Z6TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVOXhRaUlzSW1acGJHVWlPaUl2YUc5dFpTOXlkVzV1WlhJdmQyOXlheTkyWlhKa1lXTmphVzh2ZG1WeVpHRmpZMmx2TDNCaFkydGhaMlZ6TDNWcExXTnZiWEJ2Ym1WdWRITXZjM0pqTDJOdmJYQnZibVZ1ZEhNdlVtVm5hWE4wY25sSmJtWnZSR2xoYkc5bkwzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0JFYVdGc2IyZERiMjUwWlc1MElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZSR2xoYkc5blEyOXVkR1Z1ZENjN1hHNXBiWEJ2Y25RZ1JHbGhiRzluVkdsMGJHVWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlFYVdGc2IyZFVhWFJzWlNjN1hHNXBiWEJ2Y25RZ2V5QmpiMjF0YjI0Z2ZTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMk52Ykc5eWN5YzdYRzVjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaThuTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVkdsMGJHVWdQU0J6ZEhsc1pXUW9SR2xoYkc5blZHbDBiR1VwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQmlZV05yWjNKdmRXNWtRMjlzYjNJNlhHNGdJQ0FnZEdobGJXVXVjR0ZzWlhSMFpTNXRiMlJsSUQwOVBTQW5iR2xuYUhRbklEOGdkR2hsYldVdWNHRnNaWFIwWlM1d2NtbHRZWEo1TG0xaGFXNGdPaUIwYUdWdFpTNXdZV3hsZEhSbExtTjVZVzVDYkhWbExGeHVJQ0JqYjJ4dmNqb2dZMjl0Ylc5dUxuZG9hWFJsTEZ4dUlDQm1iMjUwVTJsNlpUb2dkR2hsYldVdVptOXVkRk5wZW1VdWJHY3NYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCRGIyNTBaVzUwSUQwZ2MzUjViR1ZrS0VScFlXeHZaME52Ym5SbGJuUXBQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCd1lXUmthVzVuT2lBbk1DQXlOSEI0Snl4Y2JpQWdZbUZqYTJkeWIzVnVaRU52Ykc5eU9pQjBhR1Z0WlM1d1lXeGxkSFJsTG1KaFkydG5jbTkxYm1RdVpHVm1ZWFZzZEN4Y2JuMHBLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRlJsZUhSRGIyNTBaVzUwSUQwZ2MzUjViR1ZrS0Nka2FYWW5LVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ2NHRmtaR2x1WnpvZ0p6RXdjSGdnTWpSd2VDY3NYRzRnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nZEdobGJXVXVjR0ZzWlhSMFpTNWlZV05yWjNKdmRXNWtMbVJsWm1GMWJIUXNYRzU5S1NrN1hHNGlYWDA9ICovXCIpO1xudmFyIENvbnRlbnQgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChEaWFsb2dDb250ZW50LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMXk3YnBscDFcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTF5N2JwbHAxXCIsXG5cdGxhYmVsOiBcIkNvbnRlbnRcIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0cGFkZGluZzogXCIwIDI0cHhcIixcblx0YmFja2dyb3VuZENvbG9yOiB0aGVtZS5wYWxldHRlLmJhY2tncm91bmQuZGVmYXVsdFxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlTWldkcGMzUnllVWx1Wm05RWFXRnNiMmN2YzNSNWJHVnpMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVdOMVFpSXNJbVpwYkdVaU9pSXZhRzl0WlM5eWRXNXVaWEl2ZDI5eWF5OTJaWEprWVdOamFXOHZkbVZ5WkdGalkybHZMM0JoWTJ0aFoyVnpMM1ZwTFdOdmJYQnZibVZ1ZEhNdmMzSmpMMk52YlhCdmJtVnVkSE12VW1WbmFYTjBjbmxKYm1adlJHbGhiRzluTDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQkVhV0ZzYjJkRGIyNTBaVzUwSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlJHbGhiRzluUTI5dWRHVnVkQ2M3WEc1cGJYQnZjblFnUkdsaGJHOW5WR2wwYkdVZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUVhV0ZzYjJkVWFYUnNaU2M3WEc1cGJYQnZjblFnZXlCamIyMXRiMjRnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wyTnZiRzl5Y3ljN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOG5PMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdWR2wwYkdVZ1BTQnpkSGxzWldRb1JHbGhiRzluVkdsMGJHVXBQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCaVlXTnJaM0p2ZFc1a1EyOXNiM0k2WEc0Z0lDQWdkR2hsYldVdWNHRnNaWFIwWlM1dGIyUmxJRDA5UFNBbmJHbG5hSFFuSUQ4Z2RHaGxiV1V1Y0dGc1pYUjBaUzV3Y21sdFlYSjVMbTFoYVc0Z09pQjBhR1Z0WlM1d1lXeGxkSFJsTG1ONVlXNUNiSFZsTEZ4dUlDQmpiMnh2Y2pvZ1kyOXRiVzl1TG5kb2FYUmxMRnh1SUNCbWIyNTBVMmw2WlRvZ2RHaGxiV1V1Wm05dWRGTnBlbVV1Ykdjc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JEYjI1MFpXNTBJRDBnYzNSNWJHVmtLRVJwWVd4dlowTnZiblJsYm5RcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0J3WVdSa2FXNW5PaUFuTUNBeU5IQjRKeXhjYmlBZ1ltRmphMmR5YjNWdVpFTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMbUpoWTJ0bmNtOTFibVF1WkdWbVlYVnNkQ3hjYm4wcEtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGUmxlSFJEYjI1MFpXNTBJRDBnYzNSNWJHVmtLQ2RrYVhZbktUeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LSHNnZEdobGJXVWdmU2tnUFQ0Z0tIdGNiaUFnY0dGa1pHbHVaem9nSnpFd2NIZ2dNalJ3ZUNjc1hHNGdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2dkR2hsYldVdWNHRnNaWFIwWlM1aVlXTnJaM0p2ZFc1a0xtUmxabUYxYkhRc1hHNTlLU2s3WEc0aVhYMD0gKi9cIik7XG5wcm9jZXNzLmVudi5OT0RFX0VOVjtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgQ29udGVudCwgVGl0bGUgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3R5bGVzLm1qcy5tYXAiLCJpbXBvcnQgeyBDb250ZW50LCBUaXRsZSB9IGZyb20gXCIuL3N0eWxlcy5tanNcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCBEaWFsb2cgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvRGlhbG9nXCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgQnV0dG9uIGZyb20gXCJAbXVpL21hdGVyaWFsL0J1dHRvblwiO1xuaW1wb3J0IERpYWxvZ0FjdGlvbnMgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvRGlhbG9nQWN0aW9uc1wiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL1JlZ2lzdHJ5SW5mb0RpYWxvZy9SZWdpc3RyeUluZm9EaWFsb2cudHN4XG52YXIgUmVnaXN0cnlJbmZvRGlhbG9nID0gKHsgb3BlbiA9IGZhbHNlLCBjaGlsZHJlbiwgb25DbG9zZSwgdGl0bGUgPSBcIlwiIH0pID0+IHtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoRGlhbG9nLCB7XG5cdFx0XCJkYXRhLXRlc3RpZFwiOiBcInJlZ2lzdHJ5SW5mby0tZGlhbG9nXCIsXG5cdFx0aWQ6IFwicmVnaXN0cnlJbmZvLS1kaWFsb2ctY29udGFpbmVyXCIsXG5cdFx0bWF4V2lkdGg6IFwic21cIixcblx0XHRvbkNsb3NlLFxuXHRcdG9wZW4sXG5cdFx0Y2hpbGRyZW46IFtcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goVGl0bGUsIHsgY2hpbGRyZW46IHRpdGxlIH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChDb250ZW50LCB7IGNoaWxkcmVuIH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChEaWFsb2dBY3Rpb25zLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEJ1dHRvbiwge1xuXHRcdFx0XHRjb2xvcjogXCJpbmhlcml0XCIsXG5cdFx0XHRcdGlkOiBcInJlZ2lzdHJ5SW5mby0tZGlhbG9nLWNsb3NlXCIsXG5cdFx0XHRcdG9uQ2xpY2s6IG9uQ2xvc2UsXG5cdFx0XHRcdGNoaWxkcmVuOiB0KFwiYnV0dG9uLmNsb3NlXCIpXG5cdFx0XHR9KSB9KVxuXHRcdF1cblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBSZWdpc3RyeUluZm9EaWFsb2cgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1SZWdpc3RyeUluZm9EaWFsb2cubWpzLm1hcCIsImltcG9ydCBSZWdpc3RyeUluZm9EaWFsb2cgZnJvbSBcIi4uL1JlZ2lzdHJ5SW5mb0RpYWxvZy9SZWdpc3RyeUluZm9EaWFsb2cubWpzXCI7XG5pbXBvcnQgXCIuLi9SZWdpc3RyeUluZm9EaWFsb2cvaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBCb3ggZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQm94XCI7XG5pbXBvcnQgVGFiIGZyb20gXCJAbXVpL21hdGVyaWFsL1RhYlwiO1xuaW1wb3J0IFRhYnMgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvVGFic1wiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0hlYWRlckluZm9EaWFsb2cvSGVhZGVySW5mb0RpYWxvZy50c3hcbmZ1bmN0aW9uIGExMXlQcm9wcyhpbmRleCkge1xuXHRyZXR1cm4ge1xuXHRcdGlkOiBgc2ltcGxlLXRhYi0ke2luZGV4fWAsXG5cdFx0XCJhcmlhLWNvbnRyb2xzXCI6IGBzaW1wbGUtdGFicGFuZWwtJHtpbmRleH1gXG5cdH07XG59XG5mdW5jdGlvbiBUYWJQYW5lbChwcm9wcykge1xuXHRjb25zdCB7IGNoaWxkcmVuLCB2YWx1ZSwgaW5kZXgsIC4uLm90aGVyIH0gPSBwcm9wcztcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXCJkaXZcIiwge1xuXHRcdFwiYXJpYS1sYWJlbGxlZGJ5XCI6IGBzaW1wbGUtdGFiLSR7aW5kZXh9YCxcblx0XHRoaWRkZW46IHZhbHVlICE9PSBpbmRleCxcblx0XHRpZDogYHNpbXBsZS10YWJwYW5lbC0ke2luZGV4fWAsXG5cdFx0cm9sZTogXCJ0YWJwYW5lbFwiLFxuXHRcdC4uLm90aGVyLFxuXHRcdGNoaWxkcmVuOiB2YWx1ZSA9PT0gaW5kZXggJiYgLyogQF9fUFVSRV9fICovIGpzeChCb3gsIHtcblx0XHRcdHN4OiB7IHBhZGRpbmdUb3A6IDMgfSxcblx0XHRcdGNoaWxkcmVuXG5cdFx0fSlcblx0fSk7XG59XG52YXIgSGVhZGVySW5mb0RpYWxvZyA9ICh7IG9uQ2xvc2VEaWFsb2csIGlzT3BlbiwgdGFicyA9IG51bGwsIHRhYlBhbmVscyA9IG51bGwsIGRpYWxvZ1RpdGxlIH0pID0+IHtcblx0Y29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZSgwKTtcblx0Y29uc3QgaGFuZGxlQ2hhbmdlID0gKF9ldmVudCwgbmV3VmFsdWUpID0+IHtcblx0XHRzZXRWYWx1ZShuZXdWYWx1ZSk7XG5cdH07XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFJlZ2lzdHJ5SW5mb0RpYWxvZywge1xuXHRcdG9uQ2xvc2U6IG9uQ2xvc2VEaWFsb2csXG5cdFx0b3BlbjogaXNPcGVuLFxuXHRcdHRpdGxlOiBkaWFsb2dUaXRsZSxcblx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeHMoQm94LCB7XG5cdFx0XHRzeDogeyB3aWR0aDogXCIxMDAlXCIgfSxcblx0XHRcdGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChCb3gsIHtcblx0XHRcdFx0c3g6IHtcblx0XHRcdFx0XHRib3JkZXJCb3R0b206IDEsXG5cdFx0XHRcdFx0Ym9yZGVyQ29sb3I6IFwiZGl2aWRlclwiXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFRhYnMsIHtcblx0XHRcdFx0XHRcImFyaWEtbGFiZWxcIjogXCJpbmZvVGFic1wiLFxuXHRcdFx0XHRcdFwiZGF0YS10ZXN0aWRcIjogXCJ0YWJzXCIsXG5cdFx0XHRcdFx0b25DaGFuZ2U6IGhhbmRsZUNoYW5nZSxcblx0XHRcdFx0XHR2YWx1ZSxcblx0XHRcdFx0XHRjaGlsZHJlbjogdGFicyA/IHRhYnMubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuXHRcdFx0XHRcdFx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goVGFiLCB7XG5cdFx0XHRcdFx0XHRcdGxhYmVsOiBpdGVtLmxhYmVsLFxuXHRcdFx0XHRcdFx0XHQuLi5hMTF5UHJvcHMoaW5kZXgpLFxuXHRcdFx0XHRcdFx0XHQuLi5pdGVtXG5cdFx0XHRcdFx0XHR9LCBpdGVtLmxhYmVsKTtcblx0XHRcdFx0XHR9KSA6IG51bGxcblx0XHRcdFx0fSlcblx0XHRcdH0pLCB0YWJQYW5lbHMgPyB0YWJQYW5lbHMubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuXHRcdFx0XHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChUYWJQYW5lbCwge1xuXHRcdFx0XHRcdGluZGV4LFxuXHRcdFx0XHRcdHZhbHVlLFxuXHRcdFx0XHRcdGNoaWxkcmVuOiBpdGVtLmVsZW1lbnRcblx0XHRcdFx0fSwgaW5kZXgpO1xuXHRcdFx0fSkgOiBudWxsXVxuXHRcdH0pXG5cdH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgSGVhZGVySW5mb0RpYWxvZyBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUhlYWRlckluZm9EaWFsb2cubWpzLm1hcCIsImltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IENpcmN1bGFyUHJvZ3Jlc3MgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQ2lyY3VsYXJQcm9ncmVzc1wiO1xuaW1wb3J0IHsgY29tbW9uIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvY29sb3JzXCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvTG9hZGluZy9TcGlubmVyL1NwaW5uZXIudHN4XG52YXIgU3Bpbm5lciA9ICh7IHNpemUgPSA1MCwgY2VudGVyZWQgPSBmYWxzZSB9KSA9PiAvKiBAX19QVVJFX18gKi8ganN4KFdyYXBwZXIsIHtcblx0Y2VudGVyZWQsXG5cdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KENpcmN1bGFyLCB7IHNpemUgfSlcbn0pO1xudmFyIFdyYXBwZXIgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcImRpdlwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlYXBmZnN5MVwiIH0gOiB7XG5cdHRhcmdldDogXCJlYXBmZnN5MVwiLFxuXHRsYWJlbDogXCJXcmFwcGVyXCJcbn0pKCh7IGNlbnRlcmVkIH0pID0+ICh7XG5cdGRpc3BsYXk6IFwiZmxleFwiLFxuXHRhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuXHRqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcblx0Li4uY2VudGVyZWQgJiYge1xuXHRcdHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG5cdFx0dG9wOiBcIjUwJVwiLFxuXHRcdGxlZnQ6IFwiNTAlXCIsXG5cdFx0dHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgtNTAlLCAtNTAlKVwiXG5cdH1cbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5TWIyRmthVzVuTDFOd2FXNXVaWEl2VTNCcGJtNWxjaTUwYzNnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQmIwSm5RaUlzSW1acGJHVWlPaUl2YUc5dFpTOXlkVzV1WlhJdmQyOXlheTkyWlhKa1lXTmphVzh2ZG1WeVpHRmpZMmx2TDNCaFkydGhaMlZ6TDNWcExXTnZiWEJ2Ym1WdWRITXZjM0pqTDJOdmJYQnZibVZ1ZEhNdlRHOWhaR2x1Wnk5VGNHbHVibVZ5TDFOd2FXNXVaWEl1ZEhONElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElITjBlV3hsWkNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl6ZEhsc1pXUW5PMXh1YVcxd2IzSjBJRU5wY21OMWJHRnlVSEp2WjNKbGMzTWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlEYVhKamRXeGhjbEJ5YjJkeVpYTnpKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaUI5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCU1pXRmpkQ0JtY205dElDZHlaV0ZqZENjN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOHVMaThuTzF4dVhHNXBiblJsY21aaFkyVWdVSEp2Y0hNZ2UxeHVJQ0J6YVhwbFB6b2diblZ0WW1WeU8xeHVJQ0JqWlc1MFpYSmxaRDg2SUdKdmIyeGxZVzQ3WEc1OVhHNWNibU52Ym5OMElGTndhVzV1WlhJNklGSmxZV04wTGtaRFBGQnliM0J6UGlBOUlDaDdJSE5wZW1VZ1BTQTFNQ3dnWTJWdWRHVnlaV1FnUFNCbVlXeHpaU0I5S1NBOVBpQW9YRzRnSUR4WGNtRndjR1Z5SUdObGJuUmxjbVZrUFh0alpXNTBaWEpsWkgwK1hHNGdJQ0FnUEVOcGNtTjFiR0Z5SUhOcGVtVTllM05wZW1WOUlDOCtYRzRnSUR3dlYzSmhjSEJsY2o1Y2JpazdYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJRk53YVc1dVpYSTdYRzVjYm1OdmJuTjBJRmR5WVhCd1pYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcFBGQnBZMnM4VUhKdmNITXNJQ2RqWlc1MFpYSmxaQ2MrUGlnb2V5QmpaVzUwWlhKbFpDQjlLU0E5UGlBb2UxeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0JxZFhOMGFXWjVRMjl1ZEdWdWREb2dKMk5sYm5SbGNpY3NYRzRnSUM0dUxpaGpaVzUwWlhKbFpDQW1KaUI3WEc0Z0lDQWdjRzl6YVhScGIyNDZJQ2RoWW5OdmJIVjBaU2NzWEc0Z0lDQWdkRzl3T2lBbk5UQWxKeXhjYmlBZ0lDQnNaV1owT2lBbk5UQWxKeXhjYmlBZ0lDQjBjbUZ1YzJadmNtMDZJQ2QwY21GdWMyeGhkR1VvTFRVd0pTd2dMVFV3SlNrbkxGeHVJQ0I5S1N4Y2JuMHBLVHRjYmx4dVkyOXVjM1FnUTJseVkzVnNZWElnUFNCemRIbHNaV1FvUTJseVkzVnNZWEpRY205bmNtVnpjeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RrWVhKckp5QS9JR052YlcxdmJpNTNhR2wwWlNBNklIUm9aVzFsTG5CaGJHVjBkR1V1Y0hKcGJXRnllUzV0WVdsdUxGeHVmU2twTzF4dUlsMTkgKi9cIik7XG52YXIgQ2lyY3VsYXIgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChDaXJjdWxhclByb2dyZXNzLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlYXBmZnN5MFwiIH0gOiB7XG5cdHRhcmdldDogXCJlYXBmZnN5MFwiLFxuXHRsYWJlbDogXCJDaXJjdWxhclwiXG59KSgoeyB0aGVtZSB9KSA9PiAoeyBjb2xvcjogdGhlbWUucGFsZXR0ZS5tb2RlID09PSBcImRhcmtcIiA/IGNvbW1vbi53aGl0ZSA6IHRoZW1lLnBhbGV0dGUucHJpbWFyeS5tYWluIH0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5TWIyRmthVzVuTDFOd2FXNXVaWEl2VTNCcGJtNWxjaTUwYzNnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlowTnBRaUlzSW1acGJHVWlPaUl2YUc5dFpTOXlkVzV1WlhJdmQyOXlheTkyWlhKa1lXTmphVzh2ZG1WeVpHRmpZMmx2TDNCaFkydGhaMlZ6TDNWcExXTnZiWEJ2Ym1WdWRITXZjM0pqTDJOdmJYQnZibVZ1ZEhNdlRHOWhaR2x1Wnk5VGNHbHVibVZ5TDFOd2FXNXVaWEl1ZEhONElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElITjBlV3hsWkNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl6ZEhsc1pXUW5PMXh1YVcxd2IzSjBJRU5wY21OMWJHRnlVSEp2WjNKbGMzTWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlEYVhKamRXeGhjbEJ5YjJkeVpYTnpKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaUI5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCU1pXRmpkQ0JtY205dElDZHlaV0ZqZENjN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOHVMaThuTzF4dVhHNXBiblJsY21aaFkyVWdVSEp2Y0hNZ2UxeHVJQ0J6YVhwbFB6b2diblZ0WW1WeU8xeHVJQ0JqWlc1MFpYSmxaRDg2SUdKdmIyeGxZVzQ3WEc1OVhHNWNibU52Ym5OMElGTndhVzV1WlhJNklGSmxZV04wTGtaRFBGQnliM0J6UGlBOUlDaDdJSE5wZW1VZ1BTQTFNQ3dnWTJWdWRHVnlaV1FnUFNCbVlXeHpaU0I5S1NBOVBpQW9YRzRnSUR4WGNtRndjR1Z5SUdObGJuUmxjbVZrUFh0alpXNTBaWEpsWkgwK1hHNGdJQ0FnUEVOcGNtTjFiR0Z5SUhOcGVtVTllM05wZW1WOUlDOCtYRzRnSUR3dlYzSmhjSEJsY2o1Y2JpazdYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJRk53YVc1dVpYSTdYRzVjYm1OdmJuTjBJRmR5WVhCd1pYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcFBGQnBZMnM4VUhKdmNITXNJQ2RqWlc1MFpYSmxaQ2MrUGlnb2V5QmpaVzUwWlhKbFpDQjlLU0E5UGlBb2UxeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0JxZFhOMGFXWjVRMjl1ZEdWdWREb2dKMk5sYm5SbGNpY3NYRzRnSUM0dUxpaGpaVzUwWlhKbFpDQW1KaUI3WEc0Z0lDQWdjRzl6YVhScGIyNDZJQ2RoWW5OdmJIVjBaU2NzWEc0Z0lDQWdkRzl3T2lBbk5UQWxKeXhjYmlBZ0lDQnNaV1owT2lBbk5UQWxKeXhjYmlBZ0lDQjBjbUZ1YzJadmNtMDZJQ2QwY21GdWMyeGhkR1VvTFRVd0pTd2dMVFV3SlNrbkxGeHVJQ0I5S1N4Y2JuMHBLVHRjYmx4dVkyOXVjM1FnUTJseVkzVnNZWElnUFNCemRIbHNaV1FvUTJseVkzVnNZWEpRY205bmNtVnpjeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RrWVhKckp5QS9JR052YlcxdmJpNTNhR2wwWlNBNklIUm9aVzFsTG5CaGJHVjBkR1V1Y0hKcGJXRnllUzV0WVdsdUxGeHVmU2twTzF4dUlsMTkgKi9cIik7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IFNwaW5uZXIgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1TcGlubmVyLm1qcy5tYXAiLCJpbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9Mb2FkaW5nL3N0eWxlcy50c1xuZnVuY3Rpb24gX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX18oKSB7XG5cdHJldHVybiBcIllvdSBoYXZlIHRyaWVkIHRvIHN0cmluZ2lmeSBvYmplY3QgcmV0dXJuZWQgZnJvbSBgY3NzYCBmdW5jdGlvbi4gSXQgaXNuJ3Qgc3VwcG9zZWQgdG8gYmUgdXNlZCBkaXJlY3RseSAoZS5nLiBhcyB2YWx1ZSBvZiB0aGUgYGNsYXNzTmFtZWAgcHJvcCksIGJ1dCByYXRoZXIgaGFuZGVkIHRvIGVtb3Rpb24gc28gaXQgY2FuIGhhbmRsZSBpdCAoZS5nLiBhcyB2YWx1ZSBvZiBgY3NzYCBwcm9wKS5cIjtcbn1cbnZhciBXcmFwcGVyID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJkaXZcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZXhzcGltdDFcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZXhzcGltdDFcIixcblx0bGFiZWw6IFwiV3JhcHBlclwiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwiMTB1dGtzZVwiLFxuXHRzdHlsZXM6IFwidHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLCAtNTAlKTt0b3A6NTAlO2xlZnQ6NTAlO3Bvc2l0aW9uOmFic29sdXRlXCJcbn0gOiB7XG5cdG5hbWU6IFwiMTB1dGtzZVwiLFxuXHRzdHlsZXM6IFwidHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLCAtNTAlKTt0b3A6NTAlO2xlZnQ6NTAlO3Bvc2l0aW9uOmFic29sdXRlLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OU1iMkZrYVc1bkwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkpkVUlpTENKbWFXeGxJam9pTDJodmJXVXZjblZ1Ym1WeUwzZHZjbXN2ZG1WeVpHRmpZMmx2TDNabGNtUmhZMk5wYnk5d1lXTnJZV2RsY3k5MWFTMWpiMjF3YjI1bGJuUnpMM055WXk5amIyMXdiMjVsYm5SekwweHZZV1JwYm1jdmMzUjViR1Z6TG5Seklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElITjBlV3hsWkNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl6ZEhsc1pXUW5PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZkeVlYQndaWElnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ2RISmhibk5tYjNKdE9pQW5kSEpoYm5Oc1lYUmxLQzAxTUNVc0lDMDFNQ1VwSnl4Y2JpQWdkRzl3T2lBbk5UQWxKeXhjYmlBZ2JHVm1kRG9nSnpVd0pTY3NYRzRnSUhCdmMybDBhVzl1T2lBbllXSnpiMngxZEdVbkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JDWVdSblpTQTlJSE4wZVd4bFpDZ25aR2wySnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJRzFoY21kcGJqb2dKekFnTUNBek1IQjRJREFuTEZ4dUlDQndZV1JrYVc1bk9pQTFMRnh1SUNCaWIzSmtaWEpTWVdScGRYTTZJREkxTEZ4dUlDQmliM2hUYUdGa2IzYzZJQ2N3SURFd2NIZ2dNakJ3ZUNBd0lISm5ZbUVvTmprc0lEVTRMQ0F4TURBc0lEQXVNaWtuTEZ4dUlDQmlZV05yWjNKdmRXNWtPaUIwYUdWdFpTNXdZV3hsZEhSbExtMXZaR1VnUFQwOUlDZGtZWEpySnlBL0lIUm9aVzFsTG5CaGJHVjBkR1V1WW14aFkyc2dPaUFuSTJZM1pqaG1OaWNzWEc1OUtTazdYRzRpWFgwPSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIEJhZGdlID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJkaXZcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZXhzcGltdDBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZXhzcGltdDBcIixcblx0bGFiZWw6IFwiQmFkZ2VcIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0bWFyZ2luOiBcIjAgMCAzMHB4IDBcIixcblx0cGFkZGluZzogNSxcblx0Ym9yZGVyUmFkaXVzOiAyNSxcblx0Ym94U2hhZG93OiBcIjAgMTBweCAyMHB4IDAgcmdiYSg2OSwgNTgsIDEwMCwgMC4yKVwiLFxuXHRiYWNrZ3JvdW5kOiB0aGVtZS5wYWxldHRlLm1vZGUgPT09IFwiZGFya1wiID8gdGhlbWUucGFsZXR0ZS5ibGFjayA6IFwiI2Y3ZjhmNlwiXG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OU1iMkZrYVc1bkwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRlhjVUlpTENKbWFXeGxJam9pTDJodmJXVXZjblZ1Ym1WeUwzZHZjbXN2ZG1WeVpHRmpZMmx2TDNabGNtUmhZMk5wYnk5d1lXTnJZV2RsY3k5MWFTMWpiMjF3YjI1bGJuUnpMM055WXk5amIyMXdiMjVsYm5SekwweHZZV1JwYm1jdmMzUjViR1Z6TG5Seklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElITjBlV3hsWkNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl6ZEhsc1pXUW5PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZkeVlYQndaWElnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ2RISmhibk5tYjNKdE9pQW5kSEpoYm5Oc1lYUmxLQzAxTUNVc0lDMDFNQ1VwSnl4Y2JpQWdkRzl3T2lBbk5UQWxKeXhjYmlBZ2JHVm1kRG9nSnpVd0pTY3NYRzRnSUhCdmMybDBhVzl1T2lBbllXSnpiMngxZEdVbkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JDWVdSblpTQTlJSE4wZVd4bFpDZ25aR2wySnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJRzFoY21kcGJqb2dKekFnTUNBek1IQjRJREFuTEZ4dUlDQndZV1JrYVc1bk9pQTFMRnh1SUNCaWIzSmtaWEpTWVdScGRYTTZJREkxTEZ4dUlDQmliM2hUYUdGa2IzYzZJQ2N3SURFd2NIZ2dNakJ3ZUNBd0lISm5ZbUVvTmprc0lEVTRMQ0F4TURBc0lEQXVNaWtuTEZ4dUlDQmlZV05yWjNKdmRXNWtPaUIwYUdWdFpTNXdZV3hsZEhSbExtMXZaR1VnUFQwOUlDZGtZWEpySnlBL0lIUm9aVzFsTG5CaGJHVjBkR1V1WW14aFkyc2dPaUFuSTJZM1pqaG1OaWNzWEc1OUtTazdYRzRpWFgwPSAqL1wiKTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgQmFkZ2UsIFdyYXBwZXIgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3R5bGVzLm1qcy5tYXAiLCJpbXBvcnQgTG9nbyBmcm9tIFwiLi4vTG9nby9Mb2dvLm1qc1wiO1xuaW1wb3J0IFNwaW5uZXIgZnJvbSBcIi4vU3Bpbm5lci9TcGlubmVyLm1qc1wiO1xuaW1wb3J0IFwiLi9TcGlubmVyL2luZGV4Lm1qc1wiO1xuaW1wb3J0IHsgQmFkZ2UsIFdyYXBwZXIgfSBmcm9tIFwiLi9zdHlsZXMubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9pbmRleC5tanNcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9Mb2FkaW5nL0xvYWRpbmcudHN4XG52YXIgTG9hZGluZyA9ICgpID0+IC8qIEBfX1BVUkVfXyAqLyBqc3hzKFdyYXBwZXIsIHtcblx0XCJkYXRhLXRlc3RpZFwiOiBcImxvYWRpbmdcIixcblx0Y2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KEJhZGdlLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KExvZ28sIHsgc2l6ZTogXCJiaWdcIiB9KSB9KSwgLyogQF9fUFVSRV9fICovIGpzeChTcGlubmVyLCB7IFwiZGF0YS10ZXN0aWRcIjogXCJzcGlubmVyTG9nb1wiIH0pXVxufSk7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IExvYWRpbmcgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Mb2FkaW5nLm1qcy5tYXAiLCJpbXBvcnQgeyBncmV5RGFyayB9IGZyb20gXCIuLi8uLi9UaGVtZS9jb2xvcnMubWpzXCI7XG5pbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbmltcG9ydCBJY29uQnV0dG9uIGZyb20gXCJAbXVpL21hdGVyaWFsL0ljb25CdXR0b25cIjtcbmltcG9ydCB7IGNvbW1vbiB9IGZyb20gXCJAbXVpL21hdGVyaWFsL2NvbG9yc1wiO1xuaW1wb3J0IHsgTGluayB9IGZyb20gXCJyZWFjdC1yb3V0ZXJcIjtcbmltcG9ydCBMaXN0IGZyb20gXCJAbXVpL21hdGVyaWFsL0xpc3RcIjtcbmltcG9ydCBBdmF0YXIgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQXZhdGFyXCI7XG5pbXBvcnQgR3JpZCBmcm9tIFwiQG11aS9tYXRlcmlhbC9HcmlkXCI7XG5pbXBvcnQgTGlzdEl0ZW1UZXh0IGZyb20gXCJAbXVpL21hdGVyaWFsL0xpc3RJdGVtVGV4dFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL1BhY2thZ2Uvc3R5bGVzLnRzXG5mdW5jdGlvbiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXygpIHtcblx0cmV0dXJuIFwiWW91IGhhdmUgdHJpZWQgdG8gc3RyaW5naWZ5IG9iamVjdCByZXR1cm5lZCBmcm9tIGBjc3NgIGZ1bmN0aW9uLiBJdCBpc24ndCBzdXBwb3NlZCB0byBiZSB1c2VkIGRpcmVjdGx5IChlLmcuIGFzIHZhbHVlIG9mIHRoZSBgY2xhc3NOYW1lYCBwcm9wKSwgYnV0IHJhdGhlciBoYW5kZWQgdG8gZW1vdGlvbiBzbyBpdCBjYW4gaGFuZGxlIGl0IChlLmcuIGFzIHZhbHVlIG9mIGBjc3NgIHByb3ApLlwiO1xufVxudmFyIE92ZXJ2aWV3SXRlbSA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwic3BhblwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlbmNvOHAzMTFcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZW5jbzhwMzExXCIsXG5cdGxhYmVsOiBcIk92ZXJ2aWV3SXRlbVwiXG59KSgoeyB0aGVtZSB9KSA9PiAoe1xuXHRkaXNwbGF5OiBcImZsZXhcIixcblx0YWxpZ25JdGVtczogXCJjZW50ZXJcIixcblx0bWFyZ2luOiBcIjAgMjBweCAwIDBcIixcblx0Y29sb3I6IHRoZW1lLnBhbGV0dGUubW9kZSA9PT0gXCJsaWdodFwiID8gdGhlbWUucGFsZXR0ZS5ncmV5RGFyazIgOiBjb21tb24ud2hpdGUsXG5cdGZvbnRTaXplOiAxMixcblx0W2BAbWVkaWEgKG1heC13aWR0aDogJHt0aGVtZS5icmVha1BvaW50cy5tZWRpdW19cHgpYF06IHsgXCI6bnRoLW9mLXR5cGUoMylcIjogeyBkaXNwbGF5OiBcIm5vbmVcIiB9IH0sXG5cdFtgQG1lZGlhIChtYXgtd2lkdGg6ICR7dGhlbWUuYnJlYWtQb2ludHMuc21hbGx9cHgpYF06IHsgXCI6bnRoLW9mLXR5cGUoNClcIjogeyBkaXNwbGF5OiBcIm5vbmVcIiB9IH1cbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5UVlXTnJZV2RsTDNOMGVXeGxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGWk5FSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDFCaFkydGhaMlV2YzNSNWJHVnpMblJ6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVhVzF3YjNKMElIc2daR1ZtWVhWc2RDQmhjeUJRYUc5MGJ5QjlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UVhaaGRHRnlKenRjYm1sdGNHOXlkQ0JIY21sa0lHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZSM0pwWkNjN1hHNXBiWEJ2Y25RZ2V5QmtaV1poZFd4MElHRnpJRTExYVVsamIyNUNkWFIwYjI0Z2ZTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMGxqYjI1Q2RYUjBiMjRuTzF4dWFXMXdiM0owSUV4cGMzUWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlNYVhOMEp6dGNibWx0Y0c5eWRDQk1hWE4wU1hSbGJWUmxlSFFnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5TWFYTjBTWFJsYlZSbGVIUW5PMXh1YVcxd2IzSjBJSHNnWTI5dGJXOXVJSDBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5amIyeHZjbk1uTzF4dWFXMXdiM0owSUhzZ1RHbHVheUI5SUdaeWIyMGdKM0psWVdOMExYSnZkWFJsY2ljN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOG5PMXh1YVcxd2IzSjBJSHNnWjNKbGVVUmhjbXNnZlNCbWNtOXRJQ2N1TGk4dUxpOVVhR1Z0WlM5amIyeHZjbk1uTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVDNabGNuWnBaWGRKZEdWdElEMGdjM1I1YkdWa0tDZHpjR0Z1SnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnWVd4cFoyNUpkR1Z0Y3pvZ0oyTmxiblJsY2ljc1hHNGdJRzFoY21kcGJqb2dKekFnTWpCd2VDQXdJREFuTEZ4dUlDQmpiMnh2Y2pvZ2RHaGxiV1V1Y0dGc1pYUjBaUzV0YjJSbElEMDlQU0FuYkdsbmFIUW5JRDhnZEdobGJXVXVjR0ZzWlhSMFpTNW5jbVY1UkdGeWF6SWdPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJR1p2Ym5SVGFYcGxPaUF4TWl4Y2JpQWdXMkJBYldWa2FXRWdLRzFoZUMxM2FXUjBhRG9nSkh0MGFHVnRaUzVpY21WaGExQnZhVzUwY3k1dFpXUnBkVzE5Y0hncFlGMDZJSHRjYmlBZ0lDQW5PbTUwYUMxdlppMTBlWEJsS0RNcEp6b2dlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dKMjV2Ym1VbkxGeHVJQ0FnSUgwc1hHNGdJSDBzWEc0Z0lGdGdRRzFsWkdsaElDaHRZWGd0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11YzIxaGJHeDljSGdwWUYwNklIdGNiaUFnSUNBbk9tNTBhQzF2WmkxMGVYQmxLRFFwSnpvZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ0oyNXZibVVuTEZ4dUlDQWdJSDBzWEc0Z0lIMHNYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCUWRXSnNhWE5vWldRZ1BTQnpkSGxzWldRb0ozTndZVzRuS1NoN1hHNGdJRzFoY21kcGJqb2dKekFnTlhCNElEQWdNQ2NzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFUmxkR0ZwYkhNZ1BTQnpkSGxzWldRb0ozTndZVzRuS1NoN1hHNGdJRzFoY21kcGJreGxablE2SUNjMWNIZ25MRnh1SUNCc2FXNWxTR1ZwWjJoME9pQXhMalVzWEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdabXhsZUVScGNtVmpkR2x2YmpvZ0oyTnZiSFZ0Ymljc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRUYxZEdodmNpQTlJSE4wZVd4bFpDZ25aR2wySnlrb2UxeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JCZG1GMFlYSWdQU0J6ZEhsc1pXUW9VR2h2ZEc4cEtIdGNiaUFnZDJsa2RHZzZJQ2N5TUhCNEp5eGNiaUFnYUdWcFoyaDBPaUFuTWpCd2VDY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZkeVlYQndaWEpNYVc1cklEMGdjM1I1YkdWa0tFeHBibXNwS0h0Y2JpQWdkR1Y0ZEVSbFkyOXlZWFJwYjI0NklDZHViMjVsSnl4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdVR0ZqYTJGblpWUnBkR3hsSUQwZ2MzUjViR1ZrS0NkemNHRnVKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHWnZiblJYWldsbmFIUTZJSFJvWlcxbExtWnZiblJYWldsbmFIUXVZbTlzWkN4Y2JpQWdabTl1ZEZOcGVtVTZJREl3TEZ4dUlDQmthWE53YkdGNU9pQW5ZbXh2WTJzbkxGeHVJQ0JqYjJ4dmNqb2dkR2hsYldVdWNHRnNaWFIwWlM1d2NtbHRZWEo1TG0xaGFXNHNYRzRnSUdOMWNuTnZjam9nSjNCdmFXNTBaWEluTEZ4dUlDQjBaWGgwUkdWamIzSmhkR2x2YmpvZ0oyNXZibVVuTEZ4dUlDQjNiM0prUW5KbFlXczZJQ2RpY21WaGF5MTNiM0prSnl4Y2JpQWdXMkJBYldWa2FXRWdLRzFoZUMxM2FXUjBhRG9nSkh0MGFHVnRaUzVpY21WaGExQnZhVzUwY3k1emJXRnNiSDF3ZUNsZ1hUb2dlMXh1SUNBZ0lHWnZiblJUYVhwbE9pQXhOaXhjYmlBZ2ZTeGNibjBwS1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVkeWFXUlNhV2RvZEVGc2FXZHVaV1FnUFNCemRIbHNaV1FvUjNKcFpDa29lMXh1SUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lHRnNhV2R1U1hSbGJYTTZJQ2RqWlc1MFpYSW5MRnh1SUNCcWRYTjBhV1o1UTI5dWRHVnVkRG9nSjJac1pYZ3RaVzVrSnl4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdWM0poY0hCbGNpQTlJSE4wZVd4bFpDaE1hWE4wS1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIc2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdKeVk2YUc5MlpYSW5PaUI3WEc0Z0lDQWdZbUZqYTJkeWIzVnVaRU52Ykc5eU9pQjBhR1Z0WlM1d1lXeGxkSFJsTG1GamRHbHZiaTVvYjNabGNpeGNiaUFnZlN4Y2JuMHBLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRWxqYjI1Q2RYUjBiMjRnUFNCemRIbHNaV1FvVFhWcFNXTnZia0oxZEhSdmJpa29lMXh1SUNCd1lXUmthVzVuT2lBMkxGeHVJQ0J6ZG1jNklIdGNiaUFnSUNCbWIyNTBVMmw2WlRvZ01UWXNYRzRnSUgwc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRkJoWTJ0aFoyVk1hWE4wU1hSbGJWUmxlSFFnUFNCemRIbHNaV1FvVEdsemRFbDBaVzFVWlhoMEtTaDdYRzRnSUhCaFpHUnBibWRTYVdkb2REb2dNQ3hjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1JHVnpZM0pwY0hScGIyNGdQU0J6ZEhsc1pXUW9KM053WVc0bktUeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LSHNnZEdobGJXVWdmU2tnUFQ0Z0tIdGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdWJXOWtaU0E5UFQwZ0oyeHBaMmgwSnlBL0lHZHlaWGxFWVhKcklEb2dZMjl0Ylc5dUxuZG9hWFJsTEZ4dUlDQm1iMjUwVTJsNlpUb2dKekUwY0hnbkxGeHVJQ0J3WVdSa2FXNW5VbWxuYUhRNklEQXNYRzU5S1NrN1hHNGlYWDA9ICovXCIpO1xudmFyIFB1Ymxpc2hlZCA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwic3BhblwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlbmNvOHAzMTBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZW5jbzhwMzEwXCIsXG5cdGxhYmVsOiBcIlB1Ymxpc2hlZFwiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwiMXFtcGpidlwiLFxuXHRzdHlsZXM6IFwibWFyZ2luOjAgNXB4IDAgMFwiXG59IDoge1xuXHRuYW1lOiBcIjFxbXBqYnZcIixcblx0c3R5bGVzOiBcIm1hcmdpbjowIDVweCAwIDAvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5UVlXTnJZV2RsTDNOMGVXeGxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVFNFFubENJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5UVlXTnJZV2RsTDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQjdJR1JsWm1GMWJIUWdZWE1nVUdodmRHOGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBGMllYUmhjaWM3WEc1cGJYQnZjblFnUjNKcFpDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMGR5YVdRbk8xeHVhVzF3YjNKMElIc2daR1ZtWVhWc2RDQmhjeUJOZFdsSlkyOXVRblYwZEc5dUlIMGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlKWTI5dVFuVjBkRzl1Snp0Y2JtbHRjRzl5ZENCTWFYTjBJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRDYzdYRzVwYlhCdmNuUWdUR2x6ZEVsMFpXMVVaWGgwSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkRWwwWlcxVVpYaDBKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaUI5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCN0lFeHBibXNnZlNCbWNtOXRJQ2R5WldGamRDMXliM1YwWlhJbk8xeHVYRzVwYlhCdmNuUWdkSGx3WlNCN0lGUm9aVzFsSUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYm1sdGNHOXlkQ0I3SUdkeVpYbEVZWEpySUgwZ1puSnZiU0FuTGk0dkxpNHZWR2hsYldVdlkyOXNiM0p6Snp0Y2JseHVaWGh3YjNKMElHTnZibk4wSUU5MlpYSjJhV1YzU1hSbGJTQTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0J0WVhKbmFXNDZJQ2N3SURJd2NIZ2dNQ0F3Snl4Y2JpQWdZMjlzYjNJNklIUm9aVzFsTG5CaGJHVjBkR1V1Ylc5a1pTQTlQVDBnSjJ4cFoyaDBKeUEvSUhSb1pXMWxMbkJoYkdWMGRHVXVaM0psZVVSaGNtc3lJRG9nWTI5dGJXOXVMbmRvYVhSbExGeHVJQ0JtYjI1MFUybDZaVG9nTVRJc1hHNGdJRnRnUUcxbFpHbGhJQ2h0WVhndGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUI3WEc0Z0lDQWdKenB1ZEdndGIyWXRkSGx3WlNnektTYzZJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2R1YjI1bEp5eGNiaUFnSUNCOUxGeHVJQ0I5TEZ4dUlDQmJZRUJ0WldScFlTQW9iV0Y0TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG5OdFlXeHNmWEI0S1dCZE9pQjdYRzRnSUNBZ0p6cHVkR2d0YjJZdGRIbHdaU2cwS1NjNklIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklDZHViMjVsSnl4Y2JpQWdJQ0I5TEZ4dUlDQjlMRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1VIVmliR2x6YUdWa0lEMGdjM1I1YkdWa0tDZHpjR0Z1Snlrb2UxeHVJQ0J0WVhKbmFXNDZJQ2N3SURWd2VDQXdJREFuTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkVaWFJoYVd4eklEMGdjM1I1YkdWa0tDZHpjR0Z1Snlrb2UxeHVJQ0J0WVhKbmFXNU1aV1owT2lBbk5YQjRKeXhjYmlBZ2JHbHVaVWhsYVdkb2REb2dNUzQxTEZ4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR1pzWlhoRWFYSmxZM1JwYjI0NklDZGpiMngxYlc0bkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JCZFhSb2IzSWdQU0J6ZEhsc1pXUW9KMlJwZGljcEtIdGNiaUFnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNCaGJHbG5ia2wwWlcxek9pQW5ZMlZ1ZEdWeUp5eGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUVhaaGRHRnlJRDBnYzNSNWJHVmtLRkJvYjNSdktTaDdYRzRnSUhkcFpIUm9PaUFuTWpCd2VDY3NYRzRnSUdobGFXZG9kRG9nSnpJd2NIZ25MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCWGNtRndjR1Z5VEdsdWF5QTlJSE4wZVd4bFpDaE1hVzVyS1NoN1hHNGdJSFJsZUhSRVpXTnZjbUYwYVc5dU9pQW5ibTl1WlNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRkJoWTJ0aFoyVlVhWFJzWlNBOUlITjBlV3hsWkNnbmMzQmhiaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQm1iMjUwVjJWcFoyaDBPaUIwYUdWdFpTNW1iMjUwVjJWcFoyaDBMbUp2YkdRc1hHNGdJR1p2Ym5SVGFYcGxPaUF5TUN4Y2JpQWdaR2x6Y0d4aGVUb2dKMkpzYjJOckp5eGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdWNISnBiV0Z5ZVM1dFlXbHVMRnh1SUNCamRYSnpiM0k2SUNkd2IybHVkR1Z5Snl4Y2JpQWdkR1Y0ZEVSbFkyOXlZWFJwYjI0NklDZHViMjVsSnl4Y2JpQWdkMjl5WkVKeVpXRnJPaUFuWW5KbFlXc3RkMjl5WkNjc1hHNGdJRnRnUUcxbFpHbGhJQ2h0WVhndGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWMyMWhiR3g5Y0hncFlGMDZJSHRjYmlBZ0lDQm1iMjUwVTJsNlpUb2dNVFlzWEc0Z0lIMHNYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSGNtbGtVbWxuYUhSQmJHbG5ibVZrSUQwZ2MzUjViR1ZrS0VkeWFXUXBLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYmlBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkbWJHVjRMV1Z1WkNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRmR5WVhCd1pYSWdQU0J6ZEhsc1pXUW9UR2x6ZENrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJQ2NtT21odmRtVnlKem9nZTF4dUlDQWdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2dkR2hsYldVdWNHRnNaWFIwWlM1aFkzUnBiMjR1YUc5MlpYSXNYRzRnSUgwc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKWTI5dVFuVjBkRzl1SUQwZ2MzUjViR1ZrS0UxMWFVbGpiMjVDZFhSMGIyNHBLSHRjYmlBZ2NHRmtaR2x1WnpvZ05peGNiaUFnYzNabk9pQjdYRzRnSUNBZ1ptOXVkRk5wZW1VNklERTJMRnh1SUNCOUxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JRWVdOcllXZGxUR2x6ZEVsMFpXMVVaWGgwSUQwZ2MzUjViR1ZrS0V4cGMzUkpkR1Z0VkdWNGRDa29lMXh1SUNCd1lXUmthVzVuVW1sbmFIUTZJREFzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFUmxjMk55YVhCMGFXOXVJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdOdmJHOXlPaUIwYUdWdFpTNXdZV3hsZEhSbExtMXZaR1VnUFQwOUlDZHNhV2RvZENjZ1B5Qm5jbVY1UkdGeWF5QTZJR052YlcxdmJpNTNhR2wwWlN4Y2JpQWdabTl1ZEZOcGVtVTZJQ2N4TkhCNEp5eGNiaUFnY0dGa1pHbHVaMUpwWjJoME9pQXdMRnh1ZlNrcE8xeHVJbDE5ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgRGV0YWlscyA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwic3BhblwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlbmNvOHAzOVwiIH0gOiB7XG5cdHRhcmdldDogXCJlbmNvOHAzOVwiLFxuXHRsYWJlbDogXCJEZXRhaWxzXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCJ0dDlhY2lcIixcblx0c3R5bGVzOiBcIm1hcmdpbi1sZWZ0OjVweDtsaW5lLWhlaWdodDoxLjU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtblwiXG59IDoge1xuXHRuYW1lOiBcInR0OWFjaVwiLFxuXHRzdHlsZXM6IFwibWFyZ2luLWxlZnQ6NXB4O2xpbmUtaGVpZ2h0OjEuNTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVFZV05yWVdkbEwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRnJRM1ZDSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVFZV05yWVdkbEwzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0I3SUdSbFptRjFiSFFnWVhNZ1VHaHZkRzhnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwRjJZWFJoY2ljN1hHNXBiWEJ2Y25RZ1IzSnBaQ0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBkeWFXUW5PMXh1YVcxd2IzSjBJSHNnWkdWbVlYVnNkQ0JoY3lCTmRXbEpZMjl1UW5WMGRHOXVJSDBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5SlkyOXVRblYwZEc5dUp6dGNibWx0Y0c5eWRDQk1hWE4wSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkQ2M3WEc1cGJYQnZjblFnVEdsemRFbDBaVzFVWlhoMElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZEVsMFpXMVVaWGgwSnp0Y2JtbHRjRzl5ZENCN0lHTnZiVzF2YmlCOUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZZMjlzYjNKekp6dGNibWx0Y0c5eWRDQjdJRXhwYm1zZ2ZTQm1jbTl0SUNkeVpXRmpkQzF5YjNWMFpYSW5PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCN0lHZHlaWGxFWVhKcklIMGdabkp2YlNBbkxpNHZMaTR2VkdobGJXVXZZMjlzYjNKekp6dGNibHh1Wlhod2IzSjBJR052Ym5OMElFOTJaWEoyYVdWM1NYUmxiU0E5SUhOMGVXeGxaQ2duYzNCaGJpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lHRnNhV2R1U1hSbGJYTTZJQ2RqWlc1MFpYSW5MRnh1SUNCdFlYSm5hVzQ2SUNjd0lESXdjSGdnTUNBd0p5eGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdWJXOWtaU0E5UFQwZ0oyeHBaMmgwSnlBL0lIUm9aVzFsTG5CaGJHVjBkR1V1WjNKbGVVUmhjbXN5SURvZ1kyOXRiVzl1TG5kb2FYUmxMRnh1SUNCbWIyNTBVMmw2WlRvZ01USXNYRzRnSUZ0Z1FHMWxaR2xoSUNodFlYZ3RkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXViV1ZrYVhWdGZYQjRLV0JkT2lCN1hHNGdJQ0FnSnpwdWRHZ3RiMll0ZEhsd1pTZ3pLU2M2SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUNkdWIyNWxKeXhjYmlBZ0lDQjlMRnh1SUNCOUxGeHVJQ0JiWUVCdFpXUnBZU0FvYldGNExYZHBaSFJvT2lBa2UzUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxuTnRZV3hzZlhCNEtXQmRPaUI3WEc0Z0lDQWdKenB1ZEdndGIyWXRkSGx3WlNnMEtTYzZJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2R1YjI1bEp5eGNiaUFnSUNCOUxGeHVJQ0I5TEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdVSFZpYkdsemFHVmtJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5a29lMXh1SUNCdFlYSm5hVzQ2SUNjd0lEVndlQ0F3SURBbkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JFWlhSaGFXeHpJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5a29lMXh1SUNCdFlYSm5hVzVNWldaME9pQW5OWEI0Snl4Y2JpQWdiR2x1WlVobGFXZG9kRG9nTVM0MUxGeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdac1pYaEVhWEpsWTNScGIyNDZJQ2RqYjJ4MWJXNG5MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCQmRYUm9iM0lnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1FYWmhkR0Z5SUQwZ2MzUjViR1ZrS0ZCb2IzUnZLU2g3WEc0Z0lIZHBaSFJvT2lBbk1qQndlQ2NzWEc0Z0lHaGxhV2RvZERvZ0p6SXdjSGduTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlhjbUZ3Y0dWeVRHbHVheUE5SUhOMGVXeGxaQ2hNYVc1cktTaDdYRzRnSUhSbGVIUkVaV052Y21GMGFXOXVPaUFuYm05dVpTY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZCaFkydGhaMlZVYVhSc1pTQTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JtYjI1MFYyVnBaMmgwT2lCMGFHVnRaUzVtYjI1MFYyVnBaMmgwTG1KdmJHUXNYRzRnSUdadmJuUlRhWHBsT2lBeU1DeGNiaUFnWkdsemNHeGhlVG9nSjJKc2IyTnJKeXhjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXVjSEpwYldGeWVTNXRZV2x1TEZ4dUlDQmpkWEp6YjNJNklDZHdiMmx1ZEdWeUp5eGNiaUFnZEdWNGRFUmxZMjl5WVhScGIyNDZJQ2R1YjI1bEp5eGNiaUFnZDI5eVpFSnlaV0ZyT2lBblluSmxZV3N0ZDI5eVpDY3NYRzRnSUZ0Z1FHMWxaR2xoSUNodFlYZ3RkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXVjMjFoYkd4OWNIZ3BZRjA2SUh0Y2JpQWdJQ0JtYjI1MFUybDZaVG9nTVRZc1hHNGdJSDBzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkhjbWxrVW1sbmFIUkJiR2xuYm1Wa0lEMGdjM1I1YkdWa0tFZHlhV1FwS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMlpzWlhnbkxGeHVJQ0JoYkdsbmJrbDBaVzF6T2lBblkyVnVkR1Z5Snl4Y2JpQWdhblZ6ZEdsbWVVTnZiblJsYm5RNklDZG1iR1Y0TFdWdVpDY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZkeVlYQndaWElnUFNCemRIbHNaV1FvVEdsemRDazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUNjbU9taHZkbVZ5SnpvZ2UxeHVJQ0FnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nZEdobGJXVXVjR0ZzWlhSMFpTNWhZM1JwYjI0dWFHOTJaWElzWEc0Z0lIMHNYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSlkyOXVRblYwZEc5dUlEMGdjM1I1YkdWa0tFMTFhVWxqYjI1Q2RYUjBiMjRwS0h0Y2JpQWdjR0ZrWkdsdVp6b2dOaXhjYmlBZ2MzWm5PaUI3WEc0Z0lDQWdabTl1ZEZOcGVtVTZJREUyTEZ4dUlDQjlMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCUVlXTnJZV2RsVEdsemRFbDBaVzFVWlhoMElEMGdjM1I1YkdWa0tFeHBjM1JKZEdWdFZHVjRkQ2tvZTF4dUlDQndZV1JrYVc1blVtbG5hSFE2SURBc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRVJsYzJOeWFYQjBhVzl1SUQwZ2MzUjViR1ZrS0NkemNHRnVKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RzYVdkb2RDY2dQeUJuY21WNVJHRnlheUE2SUdOdmJXMXZiaTUzYUdsMFpTeGNiaUFnWm05dWRGTnBlbVU2SUNjeE5IQjRKeXhjYmlBZ2NHRmtaR2x1WjFKcFoyaDBPaUF3TEZ4dWZTa3BPMXh1SWwxOSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIEF1dGhvciA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwiZGl2XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVuY284cDM4XCIgfSA6IHtcblx0dGFyZ2V0OiBcImVuY284cDM4XCIsXG5cdGxhYmVsOiBcIkF1dGhvclwiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwiczV4ZHJnXCIsXG5cdHN0eWxlczogXCJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyXCJcbn0gOiB7XG5cdG5hbWU6IFwiczV4ZHJnXCIsXG5cdHN0eWxlczogXCJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVFZV05yWVdkbEwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRjVRM05DSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVFZV05yWVdkbEwzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0I3SUdSbFptRjFiSFFnWVhNZ1VHaHZkRzhnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwRjJZWFJoY2ljN1hHNXBiWEJ2Y25RZ1IzSnBaQ0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBkeWFXUW5PMXh1YVcxd2IzSjBJSHNnWkdWbVlYVnNkQ0JoY3lCTmRXbEpZMjl1UW5WMGRHOXVJSDBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5SlkyOXVRblYwZEc5dUp6dGNibWx0Y0c5eWRDQk1hWE4wSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkQ2M3WEc1cGJYQnZjblFnVEdsemRFbDBaVzFVWlhoMElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZEVsMFpXMVVaWGgwSnp0Y2JtbHRjRzl5ZENCN0lHTnZiVzF2YmlCOUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZZMjlzYjNKekp6dGNibWx0Y0c5eWRDQjdJRXhwYm1zZ2ZTQm1jbTl0SUNkeVpXRmpkQzF5YjNWMFpYSW5PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCN0lHZHlaWGxFWVhKcklIMGdabkp2YlNBbkxpNHZMaTR2VkdobGJXVXZZMjlzYjNKekp6dGNibHh1Wlhod2IzSjBJR052Ym5OMElFOTJaWEoyYVdWM1NYUmxiU0E5SUhOMGVXeGxaQ2duYzNCaGJpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lHRnNhV2R1U1hSbGJYTTZJQ2RqWlc1MFpYSW5MRnh1SUNCdFlYSm5hVzQ2SUNjd0lESXdjSGdnTUNBd0p5eGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdWJXOWtaU0E5UFQwZ0oyeHBaMmgwSnlBL0lIUm9aVzFsTG5CaGJHVjBkR1V1WjNKbGVVUmhjbXN5SURvZ1kyOXRiVzl1TG5kb2FYUmxMRnh1SUNCbWIyNTBVMmw2WlRvZ01USXNYRzRnSUZ0Z1FHMWxaR2xoSUNodFlYZ3RkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXViV1ZrYVhWdGZYQjRLV0JkT2lCN1hHNGdJQ0FnSnpwdWRHZ3RiMll0ZEhsd1pTZ3pLU2M2SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUNkdWIyNWxKeXhjYmlBZ0lDQjlMRnh1SUNCOUxGeHVJQ0JiWUVCdFpXUnBZU0FvYldGNExYZHBaSFJvT2lBa2UzUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxuTnRZV3hzZlhCNEtXQmRPaUI3WEc0Z0lDQWdKenB1ZEdndGIyWXRkSGx3WlNnMEtTYzZJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2R1YjI1bEp5eGNiaUFnSUNCOUxGeHVJQ0I5TEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdVSFZpYkdsemFHVmtJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5a29lMXh1SUNCdFlYSm5hVzQ2SUNjd0lEVndlQ0F3SURBbkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JFWlhSaGFXeHpJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5a29lMXh1SUNCdFlYSm5hVzVNWldaME9pQW5OWEI0Snl4Y2JpQWdiR2x1WlVobGFXZG9kRG9nTVM0MUxGeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdac1pYaEVhWEpsWTNScGIyNDZJQ2RqYjJ4MWJXNG5MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCQmRYUm9iM0lnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1FYWmhkR0Z5SUQwZ2MzUjViR1ZrS0ZCb2IzUnZLU2g3WEc0Z0lIZHBaSFJvT2lBbk1qQndlQ2NzWEc0Z0lHaGxhV2RvZERvZ0p6SXdjSGduTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlhjbUZ3Y0dWeVRHbHVheUE5SUhOMGVXeGxaQ2hNYVc1cktTaDdYRzRnSUhSbGVIUkVaV052Y21GMGFXOXVPaUFuYm05dVpTY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZCaFkydGhaMlZVYVhSc1pTQTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JtYjI1MFYyVnBaMmgwT2lCMGFHVnRaUzVtYjI1MFYyVnBaMmgwTG1KdmJHUXNYRzRnSUdadmJuUlRhWHBsT2lBeU1DeGNiaUFnWkdsemNHeGhlVG9nSjJKc2IyTnJKeXhjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXVjSEpwYldGeWVTNXRZV2x1TEZ4dUlDQmpkWEp6YjNJNklDZHdiMmx1ZEdWeUp5eGNiaUFnZEdWNGRFUmxZMjl5WVhScGIyNDZJQ2R1YjI1bEp5eGNiaUFnZDI5eVpFSnlaV0ZyT2lBblluSmxZV3N0ZDI5eVpDY3NYRzRnSUZ0Z1FHMWxaR2xoSUNodFlYZ3RkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXVjMjFoYkd4OWNIZ3BZRjA2SUh0Y2JpQWdJQ0JtYjI1MFUybDZaVG9nTVRZc1hHNGdJSDBzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkhjbWxrVW1sbmFIUkJiR2xuYm1Wa0lEMGdjM1I1YkdWa0tFZHlhV1FwS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMlpzWlhnbkxGeHVJQ0JoYkdsbmJrbDBaVzF6T2lBblkyVnVkR1Z5Snl4Y2JpQWdhblZ6ZEdsbWVVTnZiblJsYm5RNklDZG1iR1Y0TFdWdVpDY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZkeVlYQndaWElnUFNCemRIbHNaV1FvVEdsemRDazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUNjbU9taHZkbVZ5SnpvZ2UxeHVJQ0FnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nZEdobGJXVXVjR0ZzWlhSMFpTNWhZM1JwYjI0dWFHOTJaWElzWEc0Z0lIMHNYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSlkyOXVRblYwZEc5dUlEMGdjM1I1YkdWa0tFMTFhVWxqYjI1Q2RYUjBiMjRwS0h0Y2JpQWdjR0ZrWkdsdVp6b2dOaXhjYmlBZ2MzWm5PaUI3WEc0Z0lDQWdabTl1ZEZOcGVtVTZJREUyTEZ4dUlDQjlMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCUVlXTnJZV2RsVEdsemRFbDBaVzFVWlhoMElEMGdjM1I1YkdWa0tFeHBjM1JKZEdWdFZHVjRkQ2tvZTF4dUlDQndZV1JrYVc1blVtbG5hSFE2SURBc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRVJsYzJOeWFYQjBhVzl1SUQwZ2MzUjViR1ZrS0NkemNHRnVKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RzYVdkb2RDY2dQeUJuY21WNVJHRnlheUE2SUdOdmJXMXZiaTUzYUdsMFpTeGNiaUFnWm05dWRGTnBlbVU2SUNjeE5IQjRKeXhjYmlBZ2NHRmtaR2x1WjFKcFoyaDBPaUF3TEZ4dWZTa3BPMXh1SWwxOSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIEF2YXRhciQxID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoQXZhdGFyLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlbmNvOHAzN1wiIH0gOiB7XG5cdHRhcmdldDogXCJlbmNvOHAzN1wiLFxuXHRsYWJlbDogXCJBdmF0YXJcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjFheW51YWVcIixcblx0c3R5bGVzOiBcIndpZHRoOjIwcHg7aGVpZ2h0OjIwcHhcIlxufSA6IHtcblx0bmFtZTogXCIxYXludWFlXCIsXG5cdHN0eWxlczogXCJ3aWR0aDoyMHB4O2hlaWdodDoyMHB4LyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVFZV05yWVdkbEwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRTRRM05DSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVFZV05yWVdkbEwzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0I3SUdSbFptRjFiSFFnWVhNZ1VHaHZkRzhnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwRjJZWFJoY2ljN1hHNXBiWEJ2Y25RZ1IzSnBaQ0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBkeWFXUW5PMXh1YVcxd2IzSjBJSHNnWkdWbVlYVnNkQ0JoY3lCTmRXbEpZMjl1UW5WMGRHOXVJSDBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5SlkyOXVRblYwZEc5dUp6dGNibWx0Y0c5eWRDQk1hWE4wSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkQ2M3WEc1cGJYQnZjblFnVEdsemRFbDBaVzFVWlhoMElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZEVsMFpXMVVaWGgwSnp0Y2JtbHRjRzl5ZENCN0lHTnZiVzF2YmlCOUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZZMjlzYjNKekp6dGNibWx0Y0c5eWRDQjdJRXhwYm1zZ2ZTQm1jbTl0SUNkeVpXRmpkQzF5YjNWMFpYSW5PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCN0lHZHlaWGxFWVhKcklIMGdabkp2YlNBbkxpNHZMaTR2VkdobGJXVXZZMjlzYjNKekp6dGNibHh1Wlhod2IzSjBJR052Ym5OMElFOTJaWEoyYVdWM1NYUmxiU0E5SUhOMGVXeGxaQ2duYzNCaGJpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lHRnNhV2R1U1hSbGJYTTZJQ2RqWlc1MFpYSW5MRnh1SUNCdFlYSm5hVzQ2SUNjd0lESXdjSGdnTUNBd0p5eGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdWJXOWtaU0E5UFQwZ0oyeHBaMmgwSnlBL0lIUm9aVzFsTG5CaGJHVjBkR1V1WjNKbGVVUmhjbXN5SURvZ1kyOXRiVzl1TG5kb2FYUmxMRnh1SUNCbWIyNTBVMmw2WlRvZ01USXNYRzRnSUZ0Z1FHMWxaR2xoSUNodFlYZ3RkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXViV1ZrYVhWdGZYQjRLV0JkT2lCN1hHNGdJQ0FnSnpwdWRHZ3RiMll0ZEhsd1pTZ3pLU2M2SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUNkdWIyNWxKeXhjYmlBZ0lDQjlMRnh1SUNCOUxGeHVJQ0JiWUVCdFpXUnBZU0FvYldGNExYZHBaSFJvT2lBa2UzUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxuTnRZV3hzZlhCNEtXQmRPaUI3WEc0Z0lDQWdKenB1ZEdndGIyWXRkSGx3WlNnMEtTYzZJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2R1YjI1bEp5eGNiaUFnSUNCOUxGeHVJQ0I5TEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdVSFZpYkdsemFHVmtJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5a29lMXh1SUNCdFlYSm5hVzQ2SUNjd0lEVndlQ0F3SURBbkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JFWlhSaGFXeHpJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5a29lMXh1SUNCdFlYSm5hVzVNWldaME9pQW5OWEI0Snl4Y2JpQWdiR2x1WlVobGFXZG9kRG9nTVM0MUxGeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdac1pYaEVhWEpsWTNScGIyNDZJQ2RqYjJ4MWJXNG5MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCQmRYUm9iM0lnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1FYWmhkR0Z5SUQwZ2MzUjViR1ZrS0ZCb2IzUnZLU2g3WEc0Z0lIZHBaSFJvT2lBbk1qQndlQ2NzWEc0Z0lHaGxhV2RvZERvZ0p6SXdjSGduTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlhjbUZ3Y0dWeVRHbHVheUE5SUhOMGVXeGxaQ2hNYVc1cktTaDdYRzRnSUhSbGVIUkVaV052Y21GMGFXOXVPaUFuYm05dVpTY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZCaFkydGhaMlZVYVhSc1pTQTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JtYjI1MFYyVnBaMmgwT2lCMGFHVnRaUzVtYjI1MFYyVnBaMmgwTG1KdmJHUXNYRzRnSUdadmJuUlRhWHBsT2lBeU1DeGNiaUFnWkdsemNHeGhlVG9nSjJKc2IyTnJKeXhjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXVjSEpwYldGeWVTNXRZV2x1TEZ4dUlDQmpkWEp6YjNJNklDZHdiMmx1ZEdWeUp5eGNiaUFnZEdWNGRFUmxZMjl5WVhScGIyNDZJQ2R1YjI1bEp5eGNiaUFnZDI5eVpFSnlaV0ZyT2lBblluSmxZV3N0ZDI5eVpDY3NYRzRnSUZ0Z1FHMWxaR2xoSUNodFlYZ3RkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXVjMjFoYkd4OWNIZ3BZRjA2SUh0Y2JpQWdJQ0JtYjI1MFUybDZaVG9nTVRZc1hHNGdJSDBzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkhjbWxrVW1sbmFIUkJiR2xuYm1Wa0lEMGdjM1I1YkdWa0tFZHlhV1FwS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMlpzWlhnbkxGeHVJQ0JoYkdsbmJrbDBaVzF6T2lBblkyVnVkR1Z5Snl4Y2JpQWdhblZ6ZEdsbWVVTnZiblJsYm5RNklDZG1iR1Y0TFdWdVpDY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZkeVlYQndaWElnUFNCemRIbHNaV1FvVEdsemRDazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUNjbU9taHZkbVZ5SnpvZ2UxeHVJQ0FnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nZEdobGJXVXVjR0ZzWlhSMFpTNWhZM1JwYjI0dWFHOTJaWElzWEc0Z0lIMHNYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSlkyOXVRblYwZEc5dUlEMGdjM1I1YkdWa0tFMTFhVWxqYjI1Q2RYUjBiMjRwS0h0Y2JpQWdjR0ZrWkdsdVp6b2dOaXhjYmlBZ2MzWm5PaUI3WEc0Z0lDQWdabTl1ZEZOcGVtVTZJREUyTEZ4dUlDQjlMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCUVlXTnJZV2RsVEdsemRFbDBaVzFVWlhoMElEMGdjM1I1YkdWa0tFeHBjM1JKZEdWdFZHVjRkQ2tvZTF4dUlDQndZV1JrYVc1blVtbG5hSFE2SURBc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRVJsYzJOeWFYQjBhVzl1SUQwZ2MzUjViR1ZrS0NkemNHRnVKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RzYVdkb2RDY2dQeUJuY21WNVJHRnlheUE2SUdOdmJXMXZiaTUzYUdsMFpTeGNiaUFnWm05dWRGTnBlbVU2SUNjeE5IQjRKeXhjYmlBZ2NHRmtaR2x1WjFKcFoyaDBPaUF3TEZ4dWZTa3BPMXh1SWwxOSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIFdyYXBwZXJMaW5rID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoTGluaywgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZW5jbzhwMzZcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZW5jbzhwMzZcIixcblx0bGFiZWw6IFwiV3JhcHBlckxpbmtcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcImc2NW85NVwiLFxuXHRzdHlsZXM6IFwidGV4dC1kZWNvcmF0aW9uOm5vbmVcIlxufSA6IHtcblx0bmFtZTogXCJnNjVvOTVcIixcblx0c3R5bGVzOiBcInRleHQtZGVjb3JhdGlvbjpub25lLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVFZV05yWVdkbEwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRnRSREpDSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVFZV05yWVdkbEwzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0I3SUdSbFptRjFiSFFnWVhNZ1VHaHZkRzhnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwRjJZWFJoY2ljN1hHNXBiWEJ2Y25RZ1IzSnBaQ0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBkeWFXUW5PMXh1YVcxd2IzSjBJSHNnWkdWbVlYVnNkQ0JoY3lCTmRXbEpZMjl1UW5WMGRHOXVJSDBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5SlkyOXVRblYwZEc5dUp6dGNibWx0Y0c5eWRDQk1hWE4wSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkQ2M3WEc1cGJYQnZjblFnVEdsemRFbDBaVzFVWlhoMElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZEVsMFpXMVVaWGgwSnp0Y2JtbHRjRzl5ZENCN0lHTnZiVzF2YmlCOUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZZMjlzYjNKekp6dGNibWx0Y0c5eWRDQjdJRXhwYm1zZ2ZTQm1jbTl0SUNkeVpXRmpkQzF5YjNWMFpYSW5PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCN0lHZHlaWGxFWVhKcklIMGdabkp2YlNBbkxpNHZMaTR2VkdobGJXVXZZMjlzYjNKekp6dGNibHh1Wlhod2IzSjBJR052Ym5OMElFOTJaWEoyYVdWM1NYUmxiU0E5SUhOMGVXeGxaQ2duYzNCaGJpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lHRnNhV2R1U1hSbGJYTTZJQ2RqWlc1MFpYSW5MRnh1SUNCdFlYSm5hVzQ2SUNjd0lESXdjSGdnTUNBd0p5eGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdWJXOWtaU0E5UFQwZ0oyeHBaMmgwSnlBL0lIUm9aVzFsTG5CaGJHVjBkR1V1WjNKbGVVUmhjbXN5SURvZ1kyOXRiVzl1TG5kb2FYUmxMRnh1SUNCbWIyNTBVMmw2WlRvZ01USXNYRzRnSUZ0Z1FHMWxaR2xoSUNodFlYZ3RkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXViV1ZrYVhWdGZYQjRLV0JkT2lCN1hHNGdJQ0FnSnpwdWRHZ3RiMll0ZEhsd1pTZ3pLU2M2SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUNkdWIyNWxKeXhjYmlBZ0lDQjlMRnh1SUNCOUxGeHVJQ0JiWUVCdFpXUnBZU0FvYldGNExYZHBaSFJvT2lBa2UzUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxuTnRZV3hzZlhCNEtXQmRPaUI3WEc0Z0lDQWdKenB1ZEdndGIyWXRkSGx3WlNnMEtTYzZJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2R1YjI1bEp5eGNiaUFnSUNCOUxGeHVJQ0I5TEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdVSFZpYkdsemFHVmtJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5a29lMXh1SUNCdFlYSm5hVzQ2SUNjd0lEVndlQ0F3SURBbkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JFWlhSaGFXeHpJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5a29lMXh1SUNCdFlYSm5hVzVNWldaME9pQW5OWEI0Snl4Y2JpQWdiR2x1WlVobGFXZG9kRG9nTVM0MUxGeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdac1pYaEVhWEpsWTNScGIyNDZJQ2RqYjJ4MWJXNG5MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCQmRYUm9iM0lnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1FYWmhkR0Z5SUQwZ2MzUjViR1ZrS0ZCb2IzUnZLU2g3WEc0Z0lIZHBaSFJvT2lBbk1qQndlQ2NzWEc0Z0lHaGxhV2RvZERvZ0p6SXdjSGduTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlhjbUZ3Y0dWeVRHbHVheUE5SUhOMGVXeGxaQ2hNYVc1cktTaDdYRzRnSUhSbGVIUkVaV052Y21GMGFXOXVPaUFuYm05dVpTY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZCaFkydGhaMlZVYVhSc1pTQTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JtYjI1MFYyVnBaMmgwT2lCMGFHVnRaUzVtYjI1MFYyVnBaMmgwTG1KdmJHUXNYRzRnSUdadmJuUlRhWHBsT2lBeU1DeGNiaUFnWkdsemNHeGhlVG9nSjJKc2IyTnJKeXhjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXVjSEpwYldGeWVTNXRZV2x1TEZ4dUlDQmpkWEp6YjNJNklDZHdiMmx1ZEdWeUp5eGNiaUFnZEdWNGRFUmxZMjl5WVhScGIyNDZJQ2R1YjI1bEp5eGNiaUFnZDI5eVpFSnlaV0ZyT2lBblluSmxZV3N0ZDI5eVpDY3NYRzRnSUZ0Z1FHMWxaR2xoSUNodFlYZ3RkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXVjMjFoYkd4OWNIZ3BZRjA2SUh0Y2JpQWdJQ0JtYjI1MFUybDZaVG9nTVRZc1hHNGdJSDBzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkhjbWxrVW1sbmFIUkJiR2xuYm1Wa0lEMGdjM1I1YkdWa0tFZHlhV1FwS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMlpzWlhnbkxGeHVJQ0JoYkdsbmJrbDBaVzF6T2lBblkyVnVkR1Z5Snl4Y2JpQWdhblZ6ZEdsbWVVTnZiblJsYm5RNklDZG1iR1Y0TFdWdVpDY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZkeVlYQndaWElnUFNCemRIbHNaV1FvVEdsemRDazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUNjbU9taHZkbVZ5SnpvZ2UxeHVJQ0FnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nZEdobGJXVXVjR0ZzWlhSMFpTNWhZM1JwYjI0dWFHOTJaWElzWEc0Z0lIMHNYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSlkyOXVRblYwZEc5dUlEMGdjM1I1YkdWa0tFMTFhVWxqYjI1Q2RYUjBiMjRwS0h0Y2JpQWdjR0ZrWkdsdVp6b2dOaXhjYmlBZ2MzWm5PaUI3WEc0Z0lDQWdabTl1ZEZOcGVtVTZJREUyTEZ4dUlDQjlMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCUVlXTnJZV2RsVEdsemRFbDBaVzFVWlhoMElEMGdjM1I1YkdWa0tFeHBjM1JKZEdWdFZHVjRkQ2tvZTF4dUlDQndZV1JrYVc1blVtbG5hSFE2SURBc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRVJsYzJOeWFYQjBhVzl1SUQwZ2MzUjViR1ZrS0NkemNHRnVKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RzYVdkb2RDY2dQeUJuY21WNVJHRnlheUE2SUdOdmJXMXZiaTUzYUdsMFpTeGNiaUFnWm05dWRGTnBlbVU2SUNjeE5IQjRKeXhjYmlBZ2NHRmtaR2x1WjFKcFoyaDBPaUF3TEZ4dWZTa3BPMXh1SWwxOSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIFBhY2thZ2VUaXRsZSA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwic3BhblwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlbmNvOHAzNVwiIH0gOiB7XG5cdHRhcmdldDogXCJlbmNvOHAzNVwiLFxuXHRsYWJlbDogXCJQYWNrYWdlVGl0bGVcIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0Zm9udFdlaWdodDogdGhlbWUuZm9udFdlaWdodC5ib2xkLFxuXHRmb250U2l6ZTogMjAsXG5cdGRpc3BsYXk6IFwiYmxvY2tcIixcblx0Y29sb3I6IHRoZW1lLnBhbGV0dGUucHJpbWFyeS5tYWluLFxuXHRjdXJzb3I6IFwicG9pbnRlclwiLFxuXHR0ZXh0RGVjb3JhdGlvbjogXCJub25lXCIsXG5cdHdvcmRCcmVhazogXCJicmVhay13b3JkXCIsXG5cdFtgQG1lZGlhIChtYXgtd2lkdGg6ICR7dGhlbWUuYnJlYWtQb2ludHMuc21hbGx9cHgpYF06IHsgZm9udFNpemU6IDE2IH1cbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5UVlXTnJZV2RsTDNOMGVXeGxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGMVJEUkNJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5UVlXTnJZV2RsTDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQjdJR1JsWm1GMWJIUWdZWE1nVUdodmRHOGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBGMllYUmhjaWM3WEc1cGJYQnZjblFnUjNKcFpDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMGR5YVdRbk8xeHVhVzF3YjNKMElIc2daR1ZtWVhWc2RDQmhjeUJOZFdsSlkyOXVRblYwZEc5dUlIMGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlKWTI5dVFuVjBkRzl1Snp0Y2JtbHRjRzl5ZENCTWFYTjBJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRDYzdYRzVwYlhCdmNuUWdUR2x6ZEVsMFpXMVVaWGgwSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkRWwwWlcxVVpYaDBKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaUI5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCN0lFeHBibXNnZlNCbWNtOXRJQ2R5WldGamRDMXliM1YwWlhJbk8xeHVYRzVwYlhCdmNuUWdkSGx3WlNCN0lGUm9aVzFsSUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYm1sdGNHOXlkQ0I3SUdkeVpYbEVZWEpySUgwZ1puSnZiU0FuTGk0dkxpNHZWR2hsYldVdlkyOXNiM0p6Snp0Y2JseHVaWGh3YjNKMElHTnZibk4wSUU5MlpYSjJhV1YzU1hSbGJTQTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0J0WVhKbmFXNDZJQ2N3SURJd2NIZ2dNQ0F3Snl4Y2JpQWdZMjlzYjNJNklIUm9aVzFsTG5CaGJHVjBkR1V1Ylc5a1pTQTlQVDBnSjJ4cFoyaDBKeUEvSUhSb1pXMWxMbkJoYkdWMGRHVXVaM0psZVVSaGNtc3lJRG9nWTI5dGJXOXVMbmRvYVhSbExGeHVJQ0JtYjI1MFUybDZaVG9nTVRJc1hHNGdJRnRnUUcxbFpHbGhJQ2h0WVhndGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUI3WEc0Z0lDQWdKenB1ZEdndGIyWXRkSGx3WlNnektTYzZJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2R1YjI1bEp5eGNiaUFnSUNCOUxGeHVJQ0I5TEZ4dUlDQmJZRUJ0WldScFlTQW9iV0Y0TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG5OdFlXeHNmWEI0S1dCZE9pQjdYRzRnSUNBZ0p6cHVkR2d0YjJZdGRIbHdaU2cwS1NjNklIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklDZHViMjVsSnl4Y2JpQWdJQ0I5TEZ4dUlDQjlMRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1VIVmliR2x6YUdWa0lEMGdjM1I1YkdWa0tDZHpjR0Z1Snlrb2UxeHVJQ0J0WVhKbmFXNDZJQ2N3SURWd2VDQXdJREFuTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkVaWFJoYVd4eklEMGdjM1I1YkdWa0tDZHpjR0Z1Snlrb2UxeHVJQ0J0WVhKbmFXNU1aV1owT2lBbk5YQjRKeXhjYmlBZ2JHbHVaVWhsYVdkb2REb2dNUzQxTEZ4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR1pzWlhoRWFYSmxZM1JwYjI0NklDZGpiMngxYlc0bkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JCZFhSb2IzSWdQU0J6ZEhsc1pXUW9KMlJwZGljcEtIdGNiaUFnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNCaGJHbG5ia2wwWlcxek9pQW5ZMlZ1ZEdWeUp5eGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUVhaaGRHRnlJRDBnYzNSNWJHVmtLRkJvYjNSdktTaDdYRzRnSUhkcFpIUm9PaUFuTWpCd2VDY3NYRzRnSUdobGFXZG9kRG9nSnpJd2NIZ25MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCWGNtRndjR1Z5VEdsdWF5QTlJSE4wZVd4bFpDaE1hVzVyS1NoN1hHNGdJSFJsZUhSRVpXTnZjbUYwYVc5dU9pQW5ibTl1WlNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRkJoWTJ0aFoyVlVhWFJzWlNBOUlITjBlV3hsWkNnbmMzQmhiaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQm1iMjUwVjJWcFoyaDBPaUIwYUdWdFpTNW1iMjUwVjJWcFoyaDBMbUp2YkdRc1hHNGdJR1p2Ym5SVGFYcGxPaUF5TUN4Y2JpQWdaR2x6Y0d4aGVUb2dKMkpzYjJOckp5eGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdWNISnBiV0Z5ZVM1dFlXbHVMRnh1SUNCamRYSnpiM0k2SUNkd2IybHVkR1Z5Snl4Y2JpQWdkR1Y0ZEVSbFkyOXlZWFJwYjI0NklDZHViMjVsSnl4Y2JpQWdkMjl5WkVKeVpXRnJPaUFuWW5KbFlXc3RkMjl5WkNjc1hHNGdJRnRnUUcxbFpHbGhJQ2h0WVhndGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWMyMWhiR3g5Y0hncFlGMDZJSHRjYmlBZ0lDQm1iMjUwVTJsNlpUb2dNVFlzWEc0Z0lIMHNYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSGNtbGtVbWxuYUhSQmJHbG5ibVZrSUQwZ2MzUjViR1ZrS0VkeWFXUXBLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYmlBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkbWJHVjRMV1Z1WkNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRmR5WVhCd1pYSWdQU0J6ZEhsc1pXUW9UR2x6ZENrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJQ2NtT21odmRtVnlKem9nZTF4dUlDQWdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2dkR2hsYldVdWNHRnNaWFIwWlM1aFkzUnBiMjR1YUc5MlpYSXNYRzRnSUgwc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKWTI5dVFuVjBkRzl1SUQwZ2MzUjViR1ZrS0UxMWFVbGpiMjVDZFhSMGIyNHBLSHRjYmlBZ2NHRmtaR2x1WnpvZ05peGNiaUFnYzNabk9pQjdYRzRnSUNBZ1ptOXVkRk5wZW1VNklERTJMRnh1SUNCOUxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JRWVdOcllXZGxUR2x6ZEVsMFpXMVVaWGgwSUQwZ2MzUjViR1ZrS0V4cGMzUkpkR1Z0VkdWNGRDa29lMXh1SUNCd1lXUmthVzVuVW1sbmFIUTZJREFzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFUmxjMk55YVhCMGFXOXVJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdOdmJHOXlPaUIwYUdWdFpTNXdZV3hsZEhSbExtMXZaR1VnUFQwOUlDZHNhV2RvZENjZ1B5Qm5jbVY1UkdGeWF5QTZJR052YlcxdmJpNTNhR2wwWlN4Y2JpQWdabTl1ZEZOcGVtVTZJQ2N4TkhCNEp5eGNiaUFnY0dGa1pHbHVaMUpwWjJoME9pQXdMRnh1ZlNrcE8xeHVJbDE5ICovXCIpO1xudmFyIEdyaWRSaWdodEFsaWduZWQgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChHcmlkLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlbmNvOHAzNFwiIH0gOiB7XG5cdHRhcmdldDogXCJlbmNvOHAzNFwiLFxuXHRsYWJlbDogXCJHcmlkUmlnaHRBbGlnbmVkXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCIxOW1oMHg2XCIsXG5cdHN0eWxlczogXCJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpmbGV4LWVuZFwiXG59IDoge1xuXHRuYW1lOiBcIjE5bWgweDZcIixcblx0c3R5bGVzOiBcImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVFZV05yWVdkbEwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRnZSV2RESWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVFZV05yWVdkbEwzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0I3SUdSbFptRjFiSFFnWVhNZ1VHaHZkRzhnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwRjJZWFJoY2ljN1hHNXBiWEJ2Y25RZ1IzSnBaQ0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBkeWFXUW5PMXh1YVcxd2IzSjBJSHNnWkdWbVlYVnNkQ0JoY3lCTmRXbEpZMjl1UW5WMGRHOXVJSDBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5SlkyOXVRblYwZEc5dUp6dGNibWx0Y0c5eWRDQk1hWE4wSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkQ2M3WEc1cGJYQnZjblFnVEdsemRFbDBaVzFVWlhoMElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZEVsMFpXMVVaWGgwSnp0Y2JtbHRjRzl5ZENCN0lHTnZiVzF2YmlCOUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZZMjlzYjNKekp6dGNibWx0Y0c5eWRDQjdJRXhwYm1zZ2ZTQm1jbTl0SUNkeVpXRmpkQzF5YjNWMFpYSW5PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCN0lHZHlaWGxFWVhKcklIMGdabkp2YlNBbkxpNHZMaTR2VkdobGJXVXZZMjlzYjNKekp6dGNibHh1Wlhod2IzSjBJR052Ym5OMElFOTJaWEoyYVdWM1NYUmxiU0E5SUhOMGVXeGxaQ2duYzNCaGJpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lHRnNhV2R1U1hSbGJYTTZJQ2RqWlc1MFpYSW5MRnh1SUNCdFlYSm5hVzQ2SUNjd0lESXdjSGdnTUNBd0p5eGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdWJXOWtaU0E5UFQwZ0oyeHBaMmgwSnlBL0lIUm9aVzFsTG5CaGJHVjBkR1V1WjNKbGVVUmhjbXN5SURvZ1kyOXRiVzl1TG5kb2FYUmxMRnh1SUNCbWIyNTBVMmw2WlRvZ01USXNYRzRnSUZ0Z1FHMWxaR2xoSUNodFlYZ3RkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXViV1ZrYVhWdGZYQjRLV0JkT2lCN1hHNGdJQ0FnSnpwdWRHZ3RiMll0ZEhsd1pTZ3pLU2M2SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUNkdWIyNWxKeXhjYmlBZ0lDQjlMRnh1SUNCOUxGeHVJQ0JiWUVCdFpXUnBZU0FvYldGNExYZHBaSFJvT2lBa2UzUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxuTnRZV3hzZlhCNEtXQmRPaUI3WEc0Z0lDQWdKenB1ZEdndGIyWXRkSGx3WlNnMEtTYzZJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2R1YjI1bEp5eGNiaUFnSUNCOUxGeHVJQ0I5TEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdVSFZpYkdsemFHVmtJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5a29lMXh1SUNCdFlYSm5hVzQ2SUNjd0lEVndlQ0F3SURBbkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JFWlhSaGFXeHpJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5a29lMXh1SUNCdFlYSm5hVzVNWldaME9pQW5OWEI0Snl4Y2JpQWdiR2x1WlVobGFXZG9kRG9nTVM0MUxGeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdac1pYaEVhWEpsWTNScGIyNDZJQ2RqYjJ4MWJXNG5MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCQmRYUm9iM0lnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1FYWmhkR0Z5SUQwZ2MzUjViR1ZrS0ZCb2IzUnZLU2g3WEc0Z0lIZHBaSFJvT2lBbk1qQndlQ2NzWEc0Z0lHaGxhV2RvZERvZ0p6SXdjSGduTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlhjbUZ3Y0dWeVRHbHVheUE5SUhOMGVXeGxaQ2hNYVc1cktTaDdYRzRnSUhSbGVIUkVaV052Y21GMGFXOXVPaUFuYm05dVpTY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZCaFkydGhaMlZVYVhSc1pTQTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JtYjI1MFYyVnBaMmgwT2lCMGFHVnRaUzVtYjI1MFYyVnBaMmgwTG1KdmJHUXNYRzRnSUdadmJuUlRhWHBsT2lBeU1DeGNiaUFnWkdsemNHeGhlVG9nSjJKc2IyTnJKeXhjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXVjSEpwYldGeWVTNXRZV2x1TEZ4dUlDQmpkWEp6YjNJNklDZHdiMmx1ZEdWeUp5eGNiaUFnZEdWNGRFUmxZMjl5WVhScGIyNDZJQ2R1YjI1bEp5eGNiaUFnZDI5eVpFSnlaV0ZyT2lBblluSmxZV3N0ZDI5eVpDY3NYRzRnSUZ0Z1FHMWxaR2xoSUNodFlYZ3RkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXVjMjFoYkd4OWNIZ3BZRjA2SUh0Y2JpQWdJQ0JtYjI1MFUybDZaVG9nTVRZc1hHNGdJSDBzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkhjbWxrVW1sbmFIUkJiR2xuYm1Wa0lEMGdjM1I1YkdWa0tFZHlhV1FwS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMlpzWlhnbkxGeHVJQ0JoYkdsbmJrbDBaVzF6T2lBblkyVnVkR1Z5Snl4Y2JpQWdhblZ6ZEdsbWVVTnZiblJsYm5RNklDZG1iR1Y0TFdWdVpDY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZkeVlYQndaWElnUFNCemRIbHNaV1FvVEdsemRDazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUNjbU9taHZkbVZ5SnpvZ2UxeHVJQ0FnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nZEdobGJXVXVjR0ZzWlhSMFpTNWhZM1JwYjI0dWFHOTJaWElzWEc0Z0lIMHNYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSlkyOXVRblYwZEc5dUlEMGdjM1I1YkdWa0tFMTFhVWxqYjI1Q2RYUjBiMjRwS0h0Y2JpQWdjR0ZrWkdsdVp6b2dOaXhjYmlBZ2MzWm5PaUI3WEc0Z0lDQWdabTl1ZEZOcGVtVTZJREUyTEZ4dUlDQjlMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCUVlXTnJZV2RsVEdsemRFbDBaVzFVWlhoMElEMGdjM1I1YkdWa0tFeHBjM1JKZEdWdFZHVjRkQ2tvZTF4dUlDQndZV1JrYVc1blVtbG5hSFE2SURBc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRVJsYzJOeWFYQjBhVzl1SUQwZ2MzUjViR1ZrS0NkemNHRnVKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RzYVdkb2RDY2dQeUJuY21WNVJHRnlheUE2SUdOdmJXMXZiaTUzYUdsMFpTeGNiaUFnWm05dWRGTnBlbVU2SUNjeE5IQjRKeXhjYmlBZ2NHRmtaR2x1WjFKcFoyaDBPaUF3TEZ4dWZTa3BPMXh1SWwxOSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIFdyYXBwZXIgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChMaXN0LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlbmNvOHAzM1wiIH0gOiB7XG5cdHRhcmdldDogXCJlbmNvOHAzM1wiLFxuXHRsYWJlbDogXCJXcmFwcGVyXCJcbn0pKCh7IHRoZW1lIH0pID0+ICh7IFwiJjpob3ZlclwiOiB7IGJhY2tncm91bmRDb2xvcjogdGhlbWUucGFsZXR0ZS5hY3Rpb24uaG92ZXIgfSB9KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVFZV05yWVdkbEwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRXdSWFZDSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVFZV05yWVdkbEwzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0I3SUdSbFptRjFiSFFnWVhNZ1VHaHZkRzhnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwRjJZWFJoY2ljN1hHNXBiWEJ2Y25RZ1IzSnBaQ0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBkeWFXUW5PMXh1YVcxd2IzSjBJSHNnWkdWbVlYVnNkQ0JoY3lCTmRXbEpZMjl1UW5WMGRHOXVJSDBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5SlkyOXVRblYwZEc5dUp6dGNibWx0Y0c5eWRDQk1hWE4wSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkQ2M3WEc1cGJYQnZjblFnVEdsemRFbDBaVzFVWlhoMElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZEVsMFpXMVVaWGgwSnp0Y2JtbHRjRzl5ZENCN0lHTnZiVzF2YmlCOUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZZMjlzYjNKekp6dGNibWx0Y0c5eWRDQjdJRXhwYm1zZ2ZTQm1jbTl0SUNkeVpXRmpkQzF5YjNWMFpYSW5PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCN0lHZHlaWGxFWVhKcklIMGdabkp2YlNBbkxpNHZMaTR2VkdobGJXVXZZMjlzYjNKekp6dGNibHh1Wlhod2IzSjBJR052Ym5OMElFOTJaWEoyYVdWM1NYUmxiU0E5SUhOMGVXeGxaQ2duYzNCaGJpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lHRnNhV2R1U1hSbGJYTTZJQ2RqWlc1MFpYSW5MRnh1SUNCdFlYSm5hVzQ2SUNjd0lESXdjSGdnTUNBd0p5eGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdWJXOWtaU0E5UFQwZ0oyeHBaMmgwSnlBL0lIUm9aVzFsTG5CaGJHVjBkR1V1WjNKbGVVUmhjbXN5SURvZ1kyOXRiVzl1TG5kb2FYUmxMRnh1SUNCbWIyNTBVMmw2WlRvZ01USXNYRzRnSUZ0Z1FHMWxaR2xoSUNodFlYZ3RkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXViV1ZrYVhWdGZYQjRLV0JkT2lCN1hHNGdJQ0FnSnpwdWRHZ3RiMll0ZEhsd1pTZ3pLU2M2SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUNkdWIyNWxKeXhjYmlBZ0lDQjlMRnh1SUNCOUxGeHVJQ0JiWUVCdFpXUnBZU0FvYldGNExYZHBaSFJvT2lBa2UzUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxuTnRZV3hzZlhCNEtXQmRPaUI3WEc0Z0lDQWdKenB1ZEdndGIyWXRkSGx3WlNnMEtTYzZJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2R1YjI1bEp5eGNiaUFnSUNCOUxGeHVJQ0I5TEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdVSFZpYkdsemFHVmtJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5a29lMXh1SUNCdFlYSm5hVzQ2SUNjd0lEVndlQ0F3SURBbkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JFWlhSaGFXeHpJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5a29lMXh1SUNCdFlYSm5hVzVNWldaME9pQW5OWEI0Snl4Y2JpQWdiR2x1WlVobGFXZG9kRG9nTVM0MUxGeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdac1pYaEVhWEpsWTNScGIyNDZJQ2RqYjJ4MWJXNG5MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCQmRYUm9iM0lnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1FYWmhkR0Z5SUQwZ2MzUjViR1ZrS0ZCb2IzUnZLU2g3WEc0Z0lIZHBaSFJvT2lBbk1qQndlQ2NzWEc0Z0lHaGxhV2RvZERvZ0p6SXdjSGduTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlhjbUZ3Y0dWeVRHbHVheUE5SUhOMGVXeGxaQ2hNYVc1cktTaDdYRzRnSUhSbGVIUkVaV052Y21GMGFXOXVPaUFuYm05dVpTY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZCaFkydGhaMlZVYVhSc1pTQTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JtYjI1MFYyVnBaMmgwT2lCMGFHVnRaUzVtYjI1MFYyVnBaMmgwTG1KdmJHUXNYRzRnSUdadmJuUlRhWHBsT2lBeU1DeGNiaUFnWkdsemNHeGhlVG9nSjJKc2IyTnJKeXhjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXVjSEpwYldGeWVTNXRZV2x1TEZ4dUlDQmpkWEp6YjNJNklDZHdiMmx1ZEdWeUp5eGNiaUFnZEdWNGRFUmxZMjl5WVhScGIyNDZJQ2R1YjI1bEp5eGNiaUFnZDI5eVpFSnlaV0ZyT2lBblluSmxZV3N0ZDI5eVpDY3NYRzRnSUZ0Z1FHMWxaR2xoSUNodFlYZ3RkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXVjMjFoYkd4OWNIZ3BZRjA2SUh0Y2JpQWdJQ0JtYjI1MFUybDZaVG9nTVRZc1hHNGdJSDBzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkhjbWxrVW1sbmFIUkJiR2xuYm1Wa0lEMGdjM1I1YkdWa0tFZHlhV1FwS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMlpzWlhnbkxGeHVJQ0JoYkdsbmJrbDBaVzF6T2lBblkyVnVkR1Z5Snl4Y2JpQWdhblZ6ZEdsbWVVTnZiblJsYm5RNklDZG1iR1Y0TFdWdVpDY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZkeVlYQndaWElnUFNCemRIbHNaV1FvVEdsemRDazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUNjbU9taHZkbVZ5SnpvZ2UxeHVJQ0FnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nZEdobGJXVXVjR0ZzWlhSMFpTNWhZM1JwYjI0dWFHOTJaWElzWEc0Z0lIMHNYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSlkyOXVRblYwZEc5dUlEMGdjM1I1YkdWa0tFMTFhVWxqYjI1Q2RYUjBiMjRwS0h0Y2JpQWdjR0ZrWkdsdVp6b2dOaXhjYmlBZ2MzWm5PaUI3WEc0Z0lDQWdabTl1ZEZOcGVtVTZJREUyTEZ4dUlDQjlMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCUVlXTnJZV2RsVEdsemRFbDBaVzFVWlhoMElEMGdjM1I1YkdWa0tFeHBjM1JKZEdWdFZHVjRkQ2tvZTF4dUlDQndZV1JrYVc1blVtbG5hSFE2SURBc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRVJsYzJOeWFYQjBhVzl1SUQwZ2MzUjViR1ZrS0NkemNHRnVKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RzYVdkb2RDY2dQeUJuY21WNVJHRnlheUE2SUdOdmJXMXZiaTUzYUdsMFpTeGNiaUFnWm05dWRGTnBlbVU2SUNjeE5IQjRKeXhjYmlBZ2NHRmtaR2x1WjFKcFoyaDBPaUF3TEZ4dWZTa3BPMXh1SWwxOSAqL1wiKTtcbnZhciBJY29uQnV0dG9uJDEgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChJY29uQnV0dG9uLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlbmNvOHAzMlwiIH0gOiB7XG5cdHRhcmdldDogXCJlbmNvOHAzMlwiLFxuXHRsYWJlbDogXCJJY29uQnV0dG9uXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCI4YTA4ZTZcIixcblx0c3R5bGVzOiBcInBhZGRpbmc6NnB4O3N2Z3tmb250LXNpemU6MTZweDt9XCJcbn0gOiB7XG5cdG5hbWU6IFwiOGEwOGU2XCIsXG5cdHN0eWxlczogXCJwYWRkaW5nOjZweDtzdmd7Zm9udC1zaXplOjE2cHg7fS8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlRWVdOcllXZGxMM04wZVd4bGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZuUmpCQ0lpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlRWVdOcllXZGxMM04wZVd4bGN5NTBjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCN0lHUmxabUYxYkhRZ1lYTWdVR2h2ZEc4Z2ZTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMEYyWVhSaGNpYzdYRzVwYlhCdmNuUWdSM0pwWkNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwZHlhV1FuTzF4dWFXMXdiM0owSUhzZ1pHVm1ZWFZzZENCaGN5Qk5kV2xKWTI5dVFuVjBkRzl1SUgwZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUpZMjl1UW5WMGRHOXVKenRjYm1sdGNHOXlkQ0JNYVhOMElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZENjN1hHNXBiWEJ2Y25RZ1RHbHpkRWwwWlcxVVpYaDBJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRFbDBaVzFVWlhoMEp6dGNibWx0Y0c5eWRDQjdJR052YlcxdmJpQjlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2WTI5c2IzSnpKenRjYm1sdGNHOXlkQ0I3SUV4cGJtc2dmU0JtY205dElDZHlaV0ZqZEMxeWIzVjBaWEluTzF4dVhHNXBiWEJ2Y25RZ2RIbHdaU0I3SUZSb1pXMWxJSDBnWm5KdmJTQW5MaTR2TGk0dkp6dGNibWx0Y0c5eWRDQjdJR2R5WlhsRVlYSnJJSDBnWm5KdmJTQW5MaTR2TGk0dlZHaGxiV1V2WTI5c2IzSnpKenRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRTkyWlhKMmFXVjNTWFJsYlNBOUlITjBlV3hsWkNnbmMzQmhiaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQnRZWEpuYVc0NklDY3dJREl3Y0hnZ01DQXdKeXhjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXViVzlrWlNBOVBUMGdKMnhwWjJoMEp5QS9JSFJvWlcxbExuQmhiR1YwZEdVdVozSmxlVVJoY21zeUlEb2dZMjl0Ylc5dUxuZG9hWFJsTEZ4dUlDQm1iMjUwVTJsNlpUb2dNVElzWEc0Z0lGdGdRRzFsWkdsaElDaHRZWGd0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11YldWa2FYVnRmWEI0S1dCZE9pQjdYRzRnSUNBZ0p6cHVkR2d0YjJZdGRIbHdaU2d6S1NjNklIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklDZHViMjVsSnl4Y2JpQWdJQ0I5TEZ4dUlDQjlMRnh1SUNCYllFQnRaV1JwWVNBb2JXRjRMWGRwWkhSb09pQWtlM1JvWlcxbExtSnlaV0ZyVUc5cGJuUnpMbk50WVd4c2ZYQjRLV0JkT2lCN1hHNGdJQ0FnSnpwdWRHZ3RiMll0ZEhsd1pTZzBLU2M2SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUNkdWIyNWxKeXhjYmlBZ0lDQjlMRnh1SUNCOUxGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVUhWaWJHbHphR1ZrSUQwZ2MzUjViR1ZrS0NkemNHRnVKeWtvZTF4dUlDQnRZWEpuYVc0NklDY3dJRFZ3ZUNBd0lEQW5MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCRVpYUmhhV3h6SUQwZ2MzUjViR1ZrS0NkemNHRnVKeWtvZTF4dUlDQnRZWEpuYVc1TVpXWjBPaUFuTlhCNEp5eGNiaUFnYkdsdVpVaGxhV2RvZERvZ01TNDFMRnh1SUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lHWnNaWGhFYVhKbFkzUnBiMjQ2SUNkamIyeDFiVzRuTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkJkWFJvYjNJZ1BTQnpkSGxzWldRb0oyUnBkaWNwS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMlpzWlhnbkxGeHVJQ0JoYkdsbmJrbDBaVzF6T2lBblkyVnVkR1Z5Snl4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdRWFpoZEdGeUlEMGdjM1I1YkdWa0tGQm9iM1J2S1NoN1hHNGdJSGRwWkhSb09pQW5NakJ3ZUNjc1hHNGdJR2hsYVdkb2REb2dKekl3Y0hnbkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JYY21Gd2NHVnlUR2x1YXlBOUlITjBlV3hsWkNoTWFXNXJLU2g3WEc0Z0lIUmxlSFJFWldOdmNtRjBhVzl1T2lBbmJtOXVaU2NzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGQmhZMnRoWjJWVWFYUnNaU0E5SUhOMGVXeGxaQ2duYzNCaGJpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCbWIyNTBWMlZwWjJoME9pQjBhR1Z0WlM1bWIyNTBWMlZwWjJoMExtSnZiR1FzWEc0Z0lHWnZiblJUYVhwbE9pQXlNQ3hjYmlBZ1pHbHpjR3hoZVRvZ0oySnNiMk5ySnl4Y2JpQWdZMjlzYjNJNklIUm9aVzFsTG5CaGJHVjBkR1V1Y0hKcGJXRnllUzV0WVdsdUxGeHVJQ0JqZFhKemIzSTZJQ2R3YjJsdWRHVnlKeXhjYmlBZ2RHVjRkRVJsWTI5eVlYUnBiMjQ2SUNkdWIyNWxKeXhjYmlBZ2QyOXlaRUp5WldGck9pQW5ZbkpsWVdzdGQyOXlaQ2NzWEc0Z0lGdGdRRzFsWkdsaElDaHRZWGd0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11YzIxaGJHeDljSGdwWUYwNklIdGNiaUFnSUNCbWIyNTBVMmw2WlRvZ01UWXNYRzRnSUgwc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JIY21sa1VtbG5hSFJCYkdsbmJtVmtJRDBnYzNSNWJHVmtLRWR5YVdRcEtIdGNiaUFnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNCaGJHbG5ia2wwWlcxek9pQW5ZMlZ1ZEdWeUp5eGNiaUFnYW5WemRHbG1lVU52Ym5SbGJuUTZJQ2RtYkdWNExXVnVaQ2NzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGZHlZWEJ3WlhJZ1BTQnpkSGxzWldRb1RHbHpkQ2s4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lDY21PbWh2ZG1WeUp6b2dlMXh1SUNBZ0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ2RHaGxiV1V1Y0dGc1pYUjBaUzVoWTNScGIyNHVhRzkyWlhJc1hHNGdJSDBzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkpZMjl1UW5WMGRHOXVJRDBnYzNSNWJHVmtLRTExYVVsamIyNUNkWFIwYjI0cEtIdGNiaUFnY0dGa1pHbHVaem9nTml4Y2JpQWdjM1puT2lCN1hHNGdJQ0FnWm05dWRGTnBlbVU2SURFMkxGeHVJQ0I5TEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlFZV05yWVdkbFRHbHpkRWwwWlcxVVpYaDBJRDBnYzNSNWJHVmtLRXhwYzNSSmRHVnRWR1Y0ZENrb2UxeHVJQ0J3WVdSa2FXNW5VbWxuYUhRNklEQXNYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVSbGMyTnlhWEIwYVc5dUlEMGdjM1I1YkdWa0tDZHpjR0Z1SnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR052Ykc5eU9pQjBhR1Z0WlM1d1lXeGxkSFJsTG0xdlpHVWdQVDA5SUNkc2FXZG9kQ2NnUHlCbmNtVjVSR0Z5YXlBNklHTnZiVzF2Ymk1M2FHbDBaU3hjYmlBZ1ptOXVkRk5wZW1VNklDY3hOSEI0Snl4Y2JpQWdjR0ZrWkdsdVoxSnBaMmgwT2lBd0xGeHVmU2twTzF4dUlsMTkgKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBQYWNrYWdlTGlzdEl0ZW1UZXh0ID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoTGlzdEl0ZW1UZXh0LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlbmNvOHAzMVwiIH0gOiB7XG5cdHRhcmdldDogXCJlbmNvOHAzMVwiLFxuXHRsYWJlbDogXCJQYWNrYWdlTGlzdEl0ZW1UZXh0XCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCJqanlvOTNcIixcblx0c3R5bGVzOiBcInBhZGRpbmctcmlnaHQ6MFwiXG59IDoge1xuXHRuYW1lOiBcImpqeW85M1wiLFxuXHRzdHlsZXM6IFwicGFkZGluZy1yaWdodDowLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVFZV05yWVdkbEwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRjFSbTFESWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVFZV05yWVdkbEwzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0I3SUdSbFptRjFiSFFnWVhNZ1VHaHZkRzhnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwRjJZWFJoY2ljN1hHNXBiWEJ2Y25RZ1IzSnBaQ0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBkeWFXUW5PMXh1YVcxd2IzSjBJSHNnWkdWbVlYVnNkQ0JoY3lCTmRXbEpZMjl1UW5WMGRHOXVJSDBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5SlkyOXVRblYwZEc5dUp6dGNibWx0Y0c5eWRDQk1hWE4wSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkQ2M3WEc1cGJYQnZjblFnVEdsemRFbDBaVzFVWlhoMElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZEVsMFpXMVVaWGgwSnp0Y2JtbHRjRzl5ZENCN0lHTnZiVzF2YmlCOUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZZMjlzYjNKekp6dGNibWx0Y0c5eWRDQjdJRXhwYm1zZ2ZTQm1jbTl0SUNkeVpXRmpkQzF5YjNWMFpYSW5PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCN0lHZHlaWGxFWVhKcklIMGdabkp2YlNBbkxpNHZMaTR2VkdobGJXVXZZMjlzYjNKekp6dGNibHh1Wlhod2IzSjBJR052Ym5OMElFOTJaWEoyYVdWM1NYUmxiU0E5SUhOMGVXeGxaQ2duYzNCaGJpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lHRnNhV2R1U1hSbGJYTTZJQ2RqWlc1MFpYSW5MRnh1SUNCdFlYSm5hVzQ2SUNjd0lESXdjSGdnTUNBd0p5eGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdWJXOWtaU0E5UFQwZ0oyeHBaMmgwSnlBL0lIUm9aVzFsTG5CaGJHVjBkR1V1WjNKbGVVUmhjbXN5SURvZ1kyOXRiVzl1TG5kb2FYUmxMRnh1SUNCbWIyNTBVMmw2WlRvZ01USXNYRzRnSUZ0Z1FHMWxaR2xoSUNodFlYZ3RkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXViV1ZrYVhWdGZYQjRLV0JkT2lCN1hHNGdJQ0FnSnpwdWRHZ3RiMll0ZEhsd1pTZ3pLU2M2SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUNkdWIyNWxKeXhjYmlBZ0lDQjlMRnh1SUNCOUxGeHVJQ0JiWUVCdFpXUnBZU0FvYldGNExYZHBaSFJvT2lBa2UzUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxuTnRZV3hzZlhCNEtXQmRPaUI3WEc0Z0lDQWdKenB1ZEdndGIyWXRkSGx3WlNnMEtTYzZJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2R1YjI1bEp5eGNiaUFnSUNCOUxGeHVJQ0I5TEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdVSFZpYkdsemFHVmtJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5a29lMXh1SUNCdFlYSm5hVzQ2SUNjd0lEVndlQ0F3SURBbkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JFWlhSaGFXeHpJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5a29lMXh1SUNCdFlYSm5hVzVNWldaME9pQW5OWEI0Snl4Y2JpQWdiR2x1WlVobGFXZG9kRG9nTVM0MUxGeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdac1pYaEVhWEpsWTNScGIyNDZJQ2RqYjJ4MWJXNG5MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCQmRYUm9iM0lnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1FYWmhkR0Z5SUQwZ2MzUjViR1ZrS0ZCb2IzUnZLU2g3WEc0Z0lIZHBaSFJvT2lBbk1qQndlQ2NzWEc0Z0lHaGxhV2RvZERvZ0p6SXdjSGduTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlhjbUZ3Y0dWeVRHbHVheUE5SUhOMGVXeGxaQ2hNYVc1cktTaDdYRzRnSUhSbGVIUkVaV052Y21GMGFXOXVPaUFuYm05dVpTY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZCaFkydGhaMlZVYVhSc1pTQTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JtYjI1MFYyVnBaMmgwT2lCMGFHVnRaUzVtYjI1MFYyVnBaMmgwTG1KdmJHUXNYRzRnSUdadmJuUlRhWHBsT2lBeU1DeGNiaUFnWkdsemNHeGhlVG9nSjJKc2IyTnJKeXhjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXVjSEpwYldGeWVTNXRZV2x1TEZ4dUlDQmpkWEp6YjNJNklDZHdiMmx1ZEdWeUp5eGNiaUFnZEdWNGRFUmxZMjl5WVhScGIyNDZJQ2R1YjI1bEp5eGNiaUFnZDI5eVpFSnlaV0ZyT2lBblluSmxZV3N0ZDI5eVpDY3NYRzRnSUZ0Z1FHMWxaR2xoSUNodFlYZ3RkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXVjMjFoYkd4OWNIZ3BZRjA2SUh0Y2JpQWdJQ0JtYjI1MFUybDZaVG9nTVRZc1hHNGdJSDBzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkhjbWxrVW1sbmFIUkJiR2xuYm1Wa0lEMGdjM1I1YkdWa0tFZHlhV1FwS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMlpzWlhnbkxGeHVJQ0JoYkdsbmJrbDBaVzF6T2lBblkyVnVkR1Z5Snl4Y2JpQWdhblZ6ZEdsbWVVTnZiblJsYm5RNklDZG1iR1Y0TFdWdVpDY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZkeVlYQndaWElnUFNCemRIbHNaV1FvVEdsemRDazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUNjbU9taHZkbVZ5SnpvZ2UxeHVJQ0FnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nZEdobGJXVXVjR0ZzWlhSMFpTNWhZM1JwYjI0dWFHOTJaWElzWEc0Z0lIMHNYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSlkyOXVRblYwZEc5dUlEMGdjM1I1YkdWa0tFMTFhVWxqYjI1Q2RYUjBiMjRwS0h0Y2JpQWdjR0ZrWkdsdVp6b2dOaXhjYmlBZ2MzWm5PaUI3WEc0Z0lDQWdabTl1ZEZOcGVtVTZJREUyTEZ4dUlDQjlMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCUVlXTnJZV2RsVEdsemRFbDBaVzFVWlhoMElEMGdjM1I1YkdWa0tFeHBjM1JKZEdWdFZHVjRkQ2tvZTF4dUlDQndZV1JrYVc1blVtbG5hSFE2SURBc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRVJsYzJOeWFYQjBhVzl1SUQwZ2MzUjViR1ZrS0NkemNHRnVKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RzYVdkb2RDY2dQeUJuY21WNVJHRnlheUE2SUdOdmJXMXZiaTUzYUdsMFpTeGNiaUFnWm05dWRGTnBlbVU2SUNjeE5IQjRKeXhjYmlBZ2NHRmtaR2x1WjFKcFoyaDBPaUF3TEZ4dWZTa3BPMXh1SWwxOSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIERlc2NyaXB0aW9uID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJzcGFuXCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVuY284cDMwXCIgfSA6IHtcblx0dGFyZ2V0OiBcImVuY284cDMwXCIsXG5cdGxhYmVsOiBcIkRlc2NyaXB0aW9uXCJcbn0pKCh7IHRoZW1lIH0pID0+ICh7XG5cdGNvbG9yOiB0aGVtZS5wYWxldHRlLm1vZGUgPT09IFwibGlnaHRcIiA/IGdyZXlEYXJrIDogY29tbW9uLndoaXRlLFxuXHRmb250U2l6ZTogXCIxNHB4XCIsXG5cdHBhZGRpbmdSaWdodDogMFxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlRWVdOcllXZGxMM04wZVd4bGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUV5UmpKQ0lpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlRWVdOcllXZGxMM04wZVd4bGN5NTBjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCN0lHUmxabUYxYkhRZ1lYTWdVR2h2ZEc4Z2ZTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMEYyWVhSaGNpYzdYRzVwYlhCdmNuUWdSM0pwWkNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwZHlhV1FuTzF4dWFXMXdiM0owSUhzZ1pHVm1ZWFZzZENCaGN5Qk5kV2xKWTI5dVFuVjBkRzl1SUgwZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUpZMjl1UW5WMGRHOXVKenRjYm1sdGNHOXlkQ0JNYVhOMElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZENjN1hHNXBiWEJ2Y25RZ1RHbHpkRWwwWlcxVVpYaDBJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRFbDBaVzFVWlhoMEp6dGNibWx0Y0c5eWRDQjdJR052YlcxdmJpQjlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2WTI5c2IzSnpKenRjYm1sdGNHOXlkQ0I3SUV4cGJtc2dmU0JtY205dElDZHlaV0ZqZEMxeWIzVjBaWEluTzF4dVhHNXBiWEJ2Y25RZ2RIbHdaU0I3SUZSb1pXMWxJSDBnWm5KdmJTQW5MaTR2TGk0dkp6dGNibWx0Y0c5eWRDQjdJR2R5WlhsRVlYSnJJSDBnWm5KdmJTQW5MaTR2TGk0dlZHaGxiV1V2WTI5c2IzSnpKenRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRTkyWlhKMmFXVjNTWFJsYlNBOUlITjBlV3hsWkNnbmMzQmhiaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQnRZWEpuYVc0NklDY3dJREl3Y0hnZ01DQXdKeXhjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXViVzlrWlNBOVBUMGdKMnhwWjJoMEp5QS9JSFJvWlcxbExuQmhiR1YwZEdVdVozSmxlVVJoY21zeUlEb2dZMjl0Ylc5dUxuZG9hWFJsTEZ4dUlDQm1iMjUwVTJsNlpUb2dNVElzWEc0Z0lGdGdRRzFsWkdsaElDaHRZWGd0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11YldWa2FYVnRmWEI0S1dCZE9pQjdYRzRnSUNBZ0p6cHVkR2d0YjJZdGRIbHdaU2d6S1NjNklIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklDZHViMjVsSnl4Y2JpQWdJQ0I5TEZ4dUlDQjlMRnh1SUNCYllFQnRaV1JwWVNBb2JXRjRMWGRwWkhSb09pQWtlM1JvWlcxbExtSnlaV0ZyVUc5cGJuUnpMbk50WVd4c2ZYQjRLV0JkT2lCN1hHNGdJQ0FnSnpwdWRHZ3RiMll0ZEhsd1pTZzBLU2M2SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUNkdWIyNWxKeXhjYmlBZ0lDQjlMRnh1SUNCOUxGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVUhWaWJHbHphR1ZrSUQwZ2MzUjViR1ZrS0NkemNHRnVKeWtvZTF4dUlDQnRZWEpuYVc0NklDY3dJRFZ3ZUNBd0lEQW5MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCRVpYUmhhV3h6SUQwZ2MzUjViR1ZrS0NkemNHRnVKeWtvZTF4dUlDQnRZWEpuYVc1TVpXWjBPaUFuTlhCNEp5eGNiaUFnYkdsdVpVaGxhV2RvZERvZ01TNDFMRnh1SUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lHWnNaWGhFYVhKbFkzUnBiMjQ2SUNkamIyeDFiVzRuTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkJkWFJvYjNJZ1BTQnpkSGxzWldRb0oyUnBkaWNwS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMlpzWlhnbkxGeHVJQ0JoYkdsbmJrbDBaVzF6T2lBblkyVnVkR1Z5Snl4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdRWFpoZEdGeUlEMGdjM1I1YkdWa0tGQm9iM1J2S1NoN1hHNGdJSGRwWkhSb09pQW5NakJ3ZUNjc1hHNGdJR2hsYVdkb2REb2dKekl3Y0hnbkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JYY21Gd2NHVnlUR2x1YXlBOUlITjBlV3hsWkNoTWFXNXJLU2g3WEc0Z0lIUmxlSFJFWldOdmNtRjBhVzl1T2lBbmJtOXVaU2NzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGQmhZMnRoWjJWVWFYUnNaU0E5SUhOMGVXeGxaQ2duYzNCaGJpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCbWIyNTBWMlZwWjJoME9pQjBhR1Z0WlM1bWIyNTBWMlZwWjJoMExtSnZiR1FzWEc0Z0lHWnZiblJUYVhwbE9pQXlNQ3hjYmlBZ1pHbHpjR3hoZVRvZ0oySnNiMk5ySnl4Y2JpQWdZMjlzYjNJNklIUm9aVzFsTG5CaGJHVjBkR1V1Y0hKcGJXRnllUzV0WVdsdUxGeHVJQ0JqZFhKemIzSTZJQ2R3YjJsdWRHVnlKeXhjYmlBZ2RHVjRkRVJsWTI5eVlYUnBiMjQ2SUNkdWIyNWxKeXhjYmlBZ2QyOXlaRUp5WldGck9pQW5ZbkpsWVdzdGQyOXlaQ2NzWEc0Z0lGdGdRRzFsWkdsaElDaHRZWGd0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11YzIxaGJHeDljSGdwWUYwNklIdGNiaUFnSUNCbWIyNTBVMmw2WlRvZ01UWXNYRzRnSUgwc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JIY21sa1VtbG5hSFJCYkdsbmJtVmtJRDBnYzNSNWJHVmtLRWR5YVdRcEtIdGNiaUFnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNCaGJHbG5ia2wwWlcxek9pQW5ZMlZ1ZEdWeUp5eGNiaUFnYW5WemRHbG1lVU52Ym5SbGJuUTZJQ2RtYkdWNExXVnVaQ2NzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGZHlZWEJ3WlhJZ1BTQnpkSGxzWldRb1RHbHpkQ2s4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lDY21PbWh2ZG1WeUp6b2dlMXh1SUNBZ0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ2RHaGxiV1V1Y0dGc1pYUjBaUzVoWTNScGIyNHVhRzkyWlhJc1hHNGdJSDBzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkpZMjl1UW5WMGRHOXVJRDBnYzNSNWJHVmtLRTExYVVsamIyNUNkWFIwYjI0cEtIdGNiaUFnY0dGa1pHbHVaem9nTml4Y2JpQWdjM1puT2lCN1hHNGdJQ0FnWm05dWRGTnBlbVU2SURFMkxGeHVJQ0I5TEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlFZV05yWVdkbFRHbHpkRWwwWlcxVVpYaDBJRDBnYzNSNWJHVmtLRXhwYzNSSmRHVnRWR1Y0ZENrb2UxeHVJQ0J3WVdSa2FXNW5VbWxuYUhRNklEQXNYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVSbGMyTnlhWEIwYVc5dUlEMGdjM1I1YkdWa0tDZHpjR0Z1SnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR052Ykc5eU9pQjBhR1Z0WlM1d1lXeGxkSFJsTG0xdlpHVWdQVDA5SUNkc2FXZG9kQ2NnUHlCbmNtVjVSR0Z5YXlBNklHTnZiVzF2Ymk1M2FHbDBaU3hjYmlBZ1ptOXVkRk5wZW1VNklDY3hOSEI0Snl4Y2JpQWdjR0ZrWkdsdVoxSnBaMmgwT2lBd0xGeHVmU2twTzF4dUlsMTkgKi9cIik7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IEF1dGhvciwgQXZhdGFyJDEgYXMgQXZhdGFyLCBEZXNjcmlwdGlvbiwgRGV0YWlscywgR3JpZFJpZ2h0QWxpZ25lZCwgSWNvbkJ1dHRvbiQxIGFzIEljb25CdXR0b24sIE92ZXJ2aWV3SXRlbSwgUGFja2FnZUxpc3RJdGVtVGV4dCwgUGFja2FnZVRpdGxlLCBQdWJsaXNoZWQsIFdyYXBwZXIsIFdyYXBwZXJMaW5rIH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0eWxlcy5tanMubWFwIiwiaW1wb3J0IHsgaXNVUkwgfSBmcm9tIFwiLi4vLi4vdXRpbHMvdXJsLm1qc1wiO1xuaW1wb3J0IHsgZmlsZVNpemVTSSwgZm9ybWF0RGF0ZSwgZm9ybWF0RGF0ZURpc3RhbmNlLCBnZXRBdXRob3JOYW1lIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3V0aWxzLm1qc1wiO1xuaW1wb3J0IHsgUm91dGUgfSBmcm9tIFwiLi4vLi4vdXRpbHMvcm91dGVzLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vdXRpbHMvaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBnZXRDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4uLy4uL2NvbmZpZ3VyYXRpb24ubWpzXCI7XG5pbXBvcnQgeyB1c2VNYW5pZmVzdHMgfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL01hbmlmZXN0c1Byb3ZpZGVyL01hbmlmZXN0c1Byb3ZpZGVyLm1qc1wiO1xuaW1wb3J0IHsgdXNlRG93bmxvYWQgfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL0Rvd25sb2FkUHJvdmlkZXIvRG93bmxvYWRQcm92aWRlci5tanNcIjtcbmltcG9ydCBMaW5rRXh0ZXJuYWwgZnJvbSBcIi4uL0xpbmtFeHRlcm5hbC9MaW5rRXh0ZXJuYWwubWpzXCI7XG5pbXBvcnQgeyBWZXJzaW9uIH0gZnJvbSBcIi4uL0ljb25zL1ZlcnNpb24ubWpzXCI7XG5pbXBvcnQgeyBUaW1lIH0gZnJvbSBcIi4uL0ljb25zL1RpbWUubWpzXCI7XG5pbXBvcnQgeyBGaWxlQmluYXJ5IH0gZnJvbSBcIi4uL0ljb25zL0ZpbGVCaW5hcnkubWpzXCI7XG5pbXBvcnQgeyBMYXcgfSBmcm9tIFwiLi4vSWNvbnMvTGF3Lm1qc1wiO1xuaW1wb3J0IFwiLi4vSWNvbnMvaW5kZXgubWpzXCI7XG5pbXBvcnQgS2V5d29yZExpc3RJdGVtcyBmcm9tIFwiLi4vS2V5d29yZHMvS2V5d29yZExpc3RJdGVtcy5tanNcIjtcbmltcG9ydCBMaW5rIGZyb20gXCIuLi9MaW5rL0xpbmsubWpzXCI7XG5pbXBvcnQgeyBBdXRob3IsIEF2YXRhciwgRGVzY3JpcHRpb24sIERldGFpbHMsIEdyaWRSaWdodEFsaWduZWQsIEljb25CdXR0b24sIE92ZXJ2aWV3SXRlbSwgUGFja2FnZUxpc3RJdGVtVGV4dCwgUGFja2FnZVRpdGxlLCBQdWJsaXNoZWQsIFdyYXBwZXIsIFdyYXBwZXJMaW5rIH0gZnJvbSBcIi4vc3R5bGVzLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vaW5kZXgubWpzXCI7XG5pbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFRvb2x0aXAgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvVG9vbHRpcFwiO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2sgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCBCdWdSZXBvcnQgZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvQnVnUmVwb3J0XCI7XG5pbXBvcnQgRG93bmxvYWRJY29uIGZyb20gXCJAbXVpL2ljb25zLW1hdGVyaWFsL0Nsb3VkRG93bmxvYWRcIjtcbmltcG9ydCBIb21lSWNvbiBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9Ib21lXCI7XG5pbXBvcnQgQ2lyY3VsYXJQcm9ncmVzcyBmcm9tIFwiQG11aS9tYXRlcmlhbC9DaXJjdWxhclByb2dyZXNzXCI7XG5pbXBvcnQgeyBjb21tb24sIGdyZXkgfSBmcm9tIFwiQG11aS9tYXRlcmlhbC9jb2xvcnNcIjtcbmltcG9ydCBMaXN0IGZyb20gXCJAbXVpL21hdGVyaWFsL0xpc3RcIjtcbmltcG9ydCBMaXN0SXRlbSBmcm9tIFwiQG11aS9tYXRlcmlhbC9MaXN0SXRlbVwiO1xuaW1wb3J0IEdyaWQgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvR3JpZFwiO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvUGFja2FnZS9QYWNrYWdlLnRzeFxudmFyIFBhY2thZ2UgPSAoeyBhdXRob3I6IHsgbmFtZTogYXV0aG9yTmFtZSwgYXZhdGFyOiBhdXRob3JBdmF0YXIgfSwgYnVncywgZGVzY3JpcHRpb24sIGRpc3QsIGhvbWVwYWdlLCBrZXl3b3JkcywgbGljZW5zZSwgbmFtZTogcGFja2FnZU5hbWUsIHRpbWUsIHNob3dEb3dubG9hZCA9IHRydWUsIHZlcnNpb24gfSkgPT4ge1xuXHRjb25zdCBjb25maWcgPSBnZXRDb25maWd1cmF0aW9uKCk7XG5cdGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcblx0Y29uc3QgeyBpc0xvYWRpbmcgfSA9IHVzZU1hbmlmZXN0cygpO1xuXHRjb25zdCB7IGRvd25sb2FkVGFyYmFsbCB9ID0gdXNlRG93bmxvYWQoKTtcblx0Y29uc3QgaGFuZGxlRG93bmxvYWQgPSB1c2VDYWxsYmFjayhhc3luYyAodGFyYmFsbERpc3QpID0+IHtcblx0XHRjb25zdCBsaW5rID0gdGFyYmFsbERpc3QucmVwbGFjZShgaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYCwgY29uZmlnLmJhc2UpO1xuXHRcdGRvd25sb2FkVGFyYmFsbD8uKHsgbGluayB9KTtcblx0fSwgW2NvbmZpZywgZG93bmxvYWRUYXJiYWxsXSk7XG5cdGNvbnN0IHJlbmRlclZlcnNpb25JbmZvID0gKCkgPT4gdmVyc2lvbiAmJiAvKiBAX19QVVJFX18gKi8ganN4cyhPdmVydmlld0l0ZW0sIHsgY2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KFN0eWxlZFZlcnNpb24sIHt9KSwgdChcInBhY2thZ2UudmVyc2lvblwiLCB7IHZlcnNpb24gfSldIH0pO1xuXHRjb25zdCByZW5kZXJBdXRob3JJbmZvID0gKCkgPT4ge1xuXHRcdGNvbnN0IG5hbWUgPSBnZXRBdXRob3JOYW1lKGF1dGhvck5hbWUpO1xuXHRcdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KE92ZXJ2aWV3SXRlbSwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeHMoQXV0aG9yLCB7IGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChBdmF0YXIsIHtcblx0XHRcdGFsdDogbmFtZSxcblx0XHRcdHNyYzogYXV0aG9yQXZhdGFyXG5cdFx0fSksIC8qIEBfX1BVUkVfXyAqLyBqc3goRGV0YWlscywgeyBjaGlsZHJlbjogbmFtZSB9KV0gfSkgfSk7XG5cdH07XG5cdGNvbnN0IHJlbmRlckZpbGVTaXplID0gKCkgPT4gZGlzdD8udW5wYWNrZWRTaXplICYmIC8qIEBfX1BVUkVfXyAqLyBqc3hzKE92ZXJ2aWV3SXRlbSwgeyBjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goU3R5bGVkRmlsZUJpbmFyeSwge30pLCBmaWxlU2l6ZVNJKGRpc3QudW5wYWNrZWRTaXplKV0gfSk7XG5cdGNvbnN0IHJlbmRlckxpY2Vuc2VJbmZvID0gKCkgPT4gbGljZW5zZSAmJiAvKiBAX19QVVJFX18gKi8ganN4cyhPdmVydmlld0l0ZW0sIHsgY2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KFN0eWxlZExhdywge30pLCBsaWNlbnNlXSB9KTtcblx0Y29uc3QgcmVuZGVyUHVibGlzaGVkSW5mbyA9ICgpID0+IHRpbWUgJiYgLyogQF9fUFVSRV9fICovIGpzeHMoT3ZlcnZpZXdJdGVtLCB7IGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChTdHlsZWRUaW1lLCB7fSksIC8qIEBfX1BVUkVfXyAqLyBqc3goUHVibGlzaGVkLCB7XG5cdFx0dGl0bGU6IGZvcm1hdERhdGUodGltZSksXG5cdFx0Y2hpbGRyZW46IHQoXCJwYWNrYWdlLnB1Ymxpc2hlZC1vblwiLCB7IHRpbWU6IGZvcm1hdERhdGVEaXN0YW5jZSh0aW1lKSB9KVxuXHR9KV0gfSk7XG5cdGNvbnN0IHJlbmRlckhvbWVQYWdlTGluayA9ICgpID0+IGhvbWVwYWdlICYmIGlzVVJMKGhvbWVwYWdlKSAmJiAvKiBAX19QVVJFX18gKi8ganN4KExpbmtFeHRlcm5hbCwge1xuXHRcdHRvOiBob21lcGFnZSxcblx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChUb29sdGlwLCB7XG5cdFx0XHRcImFyaWEtbGFiZWxcIjogdChcInBhY2thZ2UuaG9tZXBhZ2VcIiksXG5cdFx0XHR0aXRsZTogdChcInBhY2thZ2UudmlzaXQtaG9tZS1wYWdlXCIpLFxuXHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goSWNvbkJ1dHRvbiwge1xuXHRcdFx0XHRcImFyaWEtbGFiZWxcIjogdChcInBhY2thZ2UuaG9tZXBhZ2VcIiksXG5cdFx0XHRcdGNvbG9yOiBcInByaW1hcnlcIixcblx0XHRcdFx0c2l6ZTogXCJsYXJnZVwiLFxuXHRcdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChIb21lSWNvbiwge30pXG5cdFx0XHR9KVxuXHRcdH0pXG5cdH0pO1xuXHRjb25zdCByZW5kZXJCdWdzTGluayA9ICgpID0+IGJ1Z3M/LnVybCAmJiBpc1VSTChidWdzLnVybCkgJiYgLyogQF9fUFVSRV9fICovIGpzeChMaW5rRXh0ZXJuYWwsIHtcblx0XHR0bzogYnVncy51cmwsXG5cdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goVG9vbHRpcCwge1xuXHRcdFx0XCJhcmlhLWxhYmVsXCI6IHQoXCJwYWNrYWdlLmJ1Z3NcIiksXG5cdFx0XHR0aXRsZTogdChcInBhY2thZ2Uub3Blbi1hbi1pc3N1ZVwiKSxcblx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEljb25CdXR0b24sIHtcblx0XHRcdFx0XCJhcmlhLWxhYmVsXCI6IHQoXCJwYWNrYWdlLmJ1Z3NcIiksXG5cdFx0XHRcdGNvbG9yOiBcInByaW1hcnlcIixcblx0XHRcdFx0c2l6ZTogXCJsYXJnZVwiLFxuXHRcdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChCdWdSZXBvcnQsIHt9KVxuXHRcdFx0fSlcblx0XHR9KVxuXHR9KTtcblx0Y29uc3QgcmVuZGVyRG93bmxvYWRMaW5rID0gKCkgPT4gZGlzdD8udGFyYmFsbCAmJiBpc1VSTChkaXN0LnRhcmJhbGwpICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goTGluaywge1xuXHRcdG9uQ2xpY2s6ICgpID0+IHtcblx0XHRcdGhhbmRsZURvd25sb2FkKGRpc3QudGFyYmFsbCk7XG5cdFx0fSxcblx0XHR0bzogXCIjXCIsXG5cdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goVG9vbHRpcCwge1xuXHRcdFx0XCJhcmlhLWxhYmVsXCI6IHQoXCJwYWNrYWdlLmRvd25sb2FkXCIsIHsgd2hhdDogdChcInBhY2thZ2UudGhlLXRhci1maWxlXCIpIH0pLFxuXHRcdFx0dGl0bGU6IHQoXCJwYWNrYWdlLnRhcmJhbGxcIiksXG5cdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChJY29uQnV0dG9uLCB7XG5cdFx0XHRcdFwiYXJpYS1sYWJlbFwiOiB0KFwicGFja2FnZS5kb3dubG9hZFwiKSxcblx0XHRcdFx0Y29sb3I6IFwicHJpbWFyeVwiLFxuXHRcdFx0XHRcImRhdGEtdGVzdGlkXCI6IFwiZG93bmxvYWQtdGFyYmFsbFwiLFxuXHRcdFx0XHRzaXplOiBcImxhcmdlXCIsXG5cdFx0XHRcdGNoaWxkcmVuOiBpc0xvYWRpbmcgPyAvKiBAX19QVVJFX18gKi8ganN4KENpcmN1bGFyUHJvZ3Jlc3MsIHsgc2l6ZTogMTMgfSkgOiAvKiBAX19QVVJFX18gKi8ganN4KERvd25sb2FkSWNvbiwge30pXG5cdFx0XHR9KVxuXHRcdH0pXG5cdH0pO1xuXHRjb25zdCByZW5kZXJQcmltYXJ5Q29tcG9uZW50ID0gKCkgPT4ge1xuXHRcdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhHcmlkLCB7XG5cdFx0XHRhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuXHRcdFx0Y29udGFpbmVyOiB0cnVlLFxuXHRcdFx0c2l6ZTogeyB4czogMTIgfSxcblx0XHRcdHdyYXA6IFwid3JhcFwiLFxuXHRcdFx0Y2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KEdyaWQsIHtcblx0XHRcdFx0c2l6ZTogXCJncm93XCIsXG5cdFx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFdyYXBwZXJMaW5rLCB7XG5cdFx0XHRcdFx0dG86IGAke1JvdXRlLkRFVEFJTH0ke3BhY2thZ2VOYW1lfWAsXG5cdFx0XHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goUGFja2FnZVRpdGxlLCB7XG5cdFx0XHRcdFx0XHRjbGFzc05hbWU6IFwicGFja2FnZS10aXRsZVwiLFxuXHRcdFx0XHRcdFx0XCJkYXRhLXRlc3RpZFwiOiBcInBhY2thZ2UtdGl0bGVcIixcblx0XHRcdFx0XHRcdGNoaWxkcmVuOiBwYWNrYWdlTmFtZVxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH0pXG5cdFx0XHR9KSwgLyogQF9fUFVSRV9fICovIGpzeHMoR3JpZFJpZ2h0QWxpZ25lZCwge1xuXHRcdFx0XHRzaXplOiBcImF1dG9cIixcblx0XHRcdFx0Y2hpbGRyZW46IFtcblx0XHRcdFx0XHRyZW5kZXJIb21lUGFnZUxpbmsoKSxcblx0XHRcdFx0XHRyZW5kZXJCdWdzTGluaygpLFxuXHRcdFx0XHRcdHNob3dEb3dubG9hZCAmJiByZW5kZXJEb3dubG9hZExpbmsoKVxuXHRcdFx0XHRdXG5cdFx0XHR9KV1cblx0XHR9KTtcblx0fTtcblx0Y29uc3QgcmVuZGVyU2Vjb25kYXJ5Q29tcG9uZW50ID0gKCkgPT4gLyogQF9fUFVSRV9fICovIGpzeChEZXNjcmlwdGlvbiwgeyBjaGlsZHJlbjogZGVzY3JpcHRpb24gfSk7XG5cdGNvbnN0IHJlbmRlclBhY2thZ2VMaXN0SXRlbVRleHQgPSAoKSA9PiAvKiBAX19QVVJFX18gKi8ganN4KFBhY2thZ2VMaXN0SXRlbVRleHQsIHtcblx0XHRwcmltYXJ5OiByZW5kZXJQcmltYXJ5Q29tcG9uZW50KCksXG5cdFx0c2Vjb25kYXJ5OiByZW5kZXJTZWNvbmRhcnlDb21wb25lbnQoKVxuXHR9KTtcblx0Y29uc3QgcmVuZGVyS2V5d29yZHMgPSAoKSA9PiAvKiBAX19QVVJFX18gKi8ganN4KExpc3RJdGVtLCB7XG5cdFx0YWxpZ25JdGVtczogXCJmbGV4LXN0YXJ0XCIsXG5cdFx0c3g6IHtcblx0XHRcdHB5OiAwLFxuXHRcdFx0bXk6IDBcblx0XHR9LFxuXHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KExpc3QsIHtcblx0XHRcdHN4OiB7XG5cdFx0XHRcdHA6IDAsXG5cdFx0XHRcdG15OiAwXG5cdFx0XHR9LFxuXHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goS2V5d29yZExpc3RJdGVtcywgeyBrZXl3b3JkcyB9KVxuXHRcdH0pXG5cdH0pO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoV3JhcHBlciwge1xuXHRcdGNsYXNzTmFtZTogXCJwYWNrYWdlXCIsXG5cdFx0XCJkYXRhLXRlc3RpZFwiOiBcInBhY2thZ2UtaXRlbS1saXN0XCIsXG5cdFx0Y2hpbGRyZW46IFtcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goTGlzdEl0ZW0sIHtcblx0XHRcdFx0YWxpZ25JdGVtczogXCJmbGV4LXN0YXJ0XCIsXG5cdFx0XHRcdHN4OiB7IG1iOiAwIH0sXG5cdFx0XHRcdGNoaWxkcmVuOiByZW5kZXJQYWNrYWdlTGlzdEl0ZW1UZXh0KClcblx0XHRcdH0pLFxuXHRcdFx0a2V5d29yZHMgJiYga2V5d29yZHM/Lmxlbmd0aCA+IDAgPyByZW5kZXJLZXl3b3JkcygpIDogbnVsbCxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3hzKExpc3RJdGVtLCB7XG5cdFx0XHRcdGFsaWduSXRlbXM6IFwiZmxleC1zdGFydFwiLFxuXHRcdFx0XHRzeDogeyBtdDogMCB9LFxuXHRcdFx0XHRjaGlsZHJlbjogW1xuXHRcdFx0XHRcdHJlbmRlckF1dGhvckluZm8oKSxcblx0XHRcdFx0XHRyZW5kZXJWZXJzaW9uSW5mbygpLFxuXHRcdFx0XHRcdHJlbmRlclB1Ymxpc2hlZEluZm8oKSxcblx0XHRcdFx0XHRyZW5kZXJGaWxlU2l6ZSgpLFxuXHRcdFx0XHRcdHJlbmRlckxpY2Vuc2VJbmZvKClcblx0XHRcdFx0XVxuXHRcdFx0fSlcblx0XHRdXG5cdH0pO1xufTtcbnZhciBpY29uU3R5bGUgPSAoeyB0aGVtZSB9KSA9PiAvKiBAX19QVVJFX18gKi8gY3NzKFwibWFyZ2luOjAgMTBweCAwIDA7ZmlsbDpcIiwgdGhlbWUucGFsZXR0ZS5tb2RlID09PSBcImxpZ2h0XCIgPyBncmV5WzkwMF0gOiBjb21tb24ud2hpdGUsIFwiO1wiICsgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIjtsYWJlbDppY29uU3R5bGU7XCIpLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5UVlXTnJZV2RsTDFCaFkydGhaMlV1ZEhONElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFUWlBjMFFpTENKbWFXeGxJam9pTDJodmJXVXZjblZ1Ym1WeUwzZHZjbXN2ZG1WeVpHRmpZMmx2TDNabGNtUmhZMk5wYnk5d1lXTnJZV2RsY3k5MWFTMWpiMjF3YjI1bGJuUnpMM055WXk5amIyMXdiMjVsYm5SekwxQmhZMnRoWjJVdlVHRmphMkZuWlM1MGMzZ2lMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdleUJqYzNNZ2ZTQm1jbTl0SUNkQVpXMXZkR2x2Ymk5eVpXRmpkQ2M3WEc1cGJYQnZjblFnYzNSNWJHVmtJR1p5YjIwZ0owQmxiVzkwYVc5dUwzTjBlV3hsWkNjN1hHNXBiWEJ2Y25RZ1FuVm5VbVZ3YjNKMElHWnliMjBnSjBCdGRXa3ZhV052Ym5NdGJXRjBaWEpwWVd3dlFuVm5VbVZ3YjNKMEp6dGNibWx0Y0c5eWRDQkViM2R1Ykc5aFpFbGpiMjRnWm5KdmJTQW5RRzExYVM5cFkyOXVjeTF0WVhSbGNtbGhiQzlEYkc5MVpFUnZkMjVzYjJGa0p6dGNibWx0Y0c5eWRDQkliMjFsU1dOdmJpQm1jbTl0SUNkQWJYVnBMMmxqYjI1ekxXMWhkR1Z5YVdGc0wwaHZiV1VuTzF4dWFXMXdiM0owSUVOcGNtTjFiR0Z5VUhKdlozSmxjM01nWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5RGFYSmpkV3hoY2xCeWIyZHlaWE56Snp0Y2JtbHRjRzl5ZENCSGNtbGtJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UjNKcFpDYzdYRzVwYlhCdmNuUWdUR2x6ZENCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wweHBjM1FuTzF4dWFXMXdiM0owSUV4cGMzUkpkR1Z0SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkRWwwWlcwbk8xeHVhVzF3YjNKMElGUnZiMngwYVhBZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOVViMjlzZEdsd0p6dGNibWx0Y0c5eWRDQjdJR052YlcxdmJpd2daM0psZVNCOUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZZMjlzYjNKekp6dGNibWx0Y0c5eWRDQlNaV0ZqZEN3Z2V5QjFjMlZEWVd4c1ltRmpheUI5SUdaeWIyMGdKM0psWVdOMEp6dGNibWx0Y0c5eWRDQjdJSFZ6WlZSeVlXNXpiR0YwYVc5dUlIMGdabkp2YlNBbmNtVmhZM1F0YVRFNGJtVjRkQ2M3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk4bk8xeHVhVzF3YjNKMElIc2dUR2x1YXl3Z1RHbHVhMFY0ZEdWeWJtRnNMQ0IxYzJWRWIzZHViRzloWkN3Z2RYTmxUV0Z1YVdabGMzUnpJSDBnWm5KdmJTQW5MaTR2TGk0dkp6dGNibWx0Y0c5eWRDQjdJRVpwYkdWQ2FXNWhjbmtzSUV4aGR5d2dWR2x0WlN3Z1ZtVnljMmx2YmlCOUlHWnliMjBnSnk0dUx5NHVMMk52YlhCdmJtVnVkSE12U1dOdmJuTW5PMXh1YVcxd2IzSjBJSHNnWjJWMFEyOXVabWxuZFhKaGRHbHZiaUI5SUdaeWIyMGdKeTR1THk0dUwyTnZibVpwWjNWeVlYUnBiMjRuTzF4dWFXMXdiM0owSUhSNWNHVWdleUJCZFhSb2IzSWdZWE1nVUdGamEyRm5aVUYxZEdodmNpQjlJR1p5YjIwZ0p5NHVMeTR1TDNCeWIzWnBaR1Z5Y3k5TllXNXBabVZ6ZEhOUWNtOTJhV1JsY2k5TllXNXBabVZ6ZEhOUWNtOTJhV1JsY2ljN1hHNXBiWEJ2Y25RZ2RIbHdaU0I3SUZCaFkydGhaMlZOWlhSaFNXNTBaWEptWVdObElIMGdabkp2YlNBbkxpNHZMaTR2ZEhsd1pYTXZjR0ZqYTJGblpVMWxkR0VuTzF4dWFXMXdiM0owSUhzZ1VtOTFkR1VzSUhWeWJDd2dkWFJwYkhNZ2ZTQm1jbTl0SUNjdUxpOHVMaTkxZEdsc2N5YzdYRzVwYlhCdmNuUWdTMlY1ZDI5eVpFeHBjM1JKZEdWdGN5Qm1jbTl0SUNjdUxpOUxaWGwzYjNKa2N5OUxaWGwzYjNKa1RHbHpkRWwwWlcxekp6dGNibWx0Y0c5eWRDQjdYRzRnSUVGMWRHaHZjaXhjYmlBZ1FYWmhkR0Z5TEZ4dUlDQkVaWE5qY21sd2RHbHZiaXhjYmlBZ1JHVjBZV2xzY3l4Y2JpQWdSM0pwWkZKcFoyaDBRV3hwWjI1bFpDeGNiaUFnU1dOdmJrSjFkSFJ2Yml4Y2JpQWdUM1psY25acFpYZEpkR1Z0TEZ4dUlDQlFZV05yWVdkbFRHbHpkRWwwWlcxVVpYaDBMRnh1SUNCUVlXTnJZV2RsVkdsMGJHVXNYRzRnSUZCMVlteHBjMmhsWkN4Y2JpQWdWM0poY0hCbGNpeGNiaUFnVjNKaGNIQmxja3hwYm1zc1hHNTlJR1p5YjIwZ0p5NHZjM1I1YkdWekp6dGNibHh1YVc1MFpYSm1ZV05sSUVKMVozTWdlMXh1SUNCMWNtdzZJSE4wY21sdVp6dGNibjFjYmx4dWFXNTBaWEptWVdObElFUnBjM1FnZTF4dUlDQjFibkJoWTJ0bFpGTnBlbVU2SUc1MWJXSmxjanRjYmlBZ2RHRnlZbUZzYkRvZ2MzUnlhVzVuTzF4dWZWeHVYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRkJoWTJ0aFoyVkpiblJsY21aaFkyVWdlMXh1SUNCdVlXMWxPaUJ6ZEhKcGJtYzdYRzRnSUhabGNuTnBiMjQ2SUhOMGNtbHVaenRjYmlBZ2RHbHRaVDg2SUc1MWJXSmxjaUI4SUhOMGNtbHVaenRjYmlBZ1lYVjBhRzl5T2lCUVlXTnJZV2RsUVhWMGFHOXlPMXh1SUNCa1pYTmpjbWx3ZEdsdmJqODZJSE4wY21sdVp6dGNiaUFnYTJWNWQyOXlaSE0vT2lCUVlXTnJZV2RsVFdWMFlVbHVkR1Z5Wm1GalpWc25iR0YwWlhOMEoxMWJKMnRsZVhkdmNtUnpKMTA3WEc0Z0lHeHBZMlZ1YzJVL09pQlFZV05yWVdkbFRXVjBZVWx1ZEdWeVptRmpaVnNuYkdGMFpYTjBKMTFiSjJ4cFkyVnVjMlVuWFR0Y2JpQWdhRzl0WlhCaFoyVS9PaUJ6ZEhKcGJtYzdYRzRnSUdKMVozTS9PaUJDZFdkek8xeHVJQ0JrYVhOMFB6b2dSR2x6ZER0Y2JpQWdjMmh2ZDBSdmQyNXNiMkZrUHpvZ1ltOXZiR1ZoYmp0Y2JuMWNibHh1WTI5dWMzUWdVR0ZqYTJGblpUb2dVbVZoWTNRdVJrTThVR0ZqYTJGblpVbHVkR1Z5Wm1GalpUNGdQU0FvZTF4dUlDQmhkWFJvYjNJNklIc2dibUZ0WlRvZ1lYVjBhRzl5VG1GdFpTd2dZWFpoZEdGeU9pQmhkWFJvYjNKQmRtRjBZWElnZlN4Y2JpQWdZblZuY3l4Y2JpQWdaR1Z6WTNKcGNIUnBiMjRzWEc0Z0lHUnBjM1FzWEc0Z0lHaHZiV1Z3WVdkbExGeHVJQ0JyWlhsM2IzSmtjeXhjYmlBZ2JHbGpaVzV6WlN4Y2JpQWdibUZ0WlRvZ2NHRmphMkZuWlU1aGJXVXNYRzRnSUhScGJXVXNYRzRnSUhOb2IzZEViM2R1Ykc5aFpDQTlJSFJ5ZFdVc1hHNGdJSFpsY25OcGIyNHNYRzU5S1NBOVBpQjdYRzRnSUdOdmJuTjBJR052Ym1acFp5QTlJR2RsZEVOdmJtWnBaM1Z5WVhScGIyNG9LVHRjYmlBZ1kyOXVjM1FnZXlCMElIMGdQU0IxYzJWVWNtRnVjMnhoZEdsdmJpZ3BPMXh1SUNCamIyNXpkQ0I3SUdselRHOWhaR2x1WnlCOUlEMGdkWE5sVFdGdWFXWmxjM1J6S0NrN1hHNGdJR052Ym5OMElIc2daRzkzYm14dllXUlVZWEppWVd4c0lIMGdQU0IxYzJWRWIzZHViRzloWkNncE8xeHVYRzRnSUdOdmJuTjBJR2hoYm1Sc1pVUnZkMjVzYjJGa0lEMGdkWE5sUTJGc2JHSmhZMnNvWEc0Z0lDQWdZWE41Ym1NZ0tIUmhjbUpoYkd4RWFYTjBPaUJ6ZEhKcGJtY3BJRDArSUh0Y2JpQWdJQ0FnSUM4dklFWkpXRTFGT2lCamFHVmpheXdnZEdobElHUnBjM1FnYldsbmFIUWdZbVVnWkdsbVptVnlaVzUwSUhSb1lXNTBJRzV3YldwelhHNGdJQ0FnSUNCamIyNXpkQ0JzYVc1cklEMGdkR0Z5WW1Gc2JFUnBjM1F1Y21Wd2JHRmpaU2hnYUhSMGNITTZMeTl5WldkcGMzUnllUzV1Y0cxcWN5NXZjbWN2WUN3Z1kyOXVabWxuTG1KaGMyVXBPMXh1SUNBZ0lDQWdaRzkzYm14dllXUlVZWEppWVd4c1B5NG9leUJzYVc1cklIMHBPMXh1SUNBZ0lIMHNYRzRnSUNBZ1cyTnZibVpwWnl3Z1pHOTNibXh2WVdSVVlYSmlZV3hzWFZ4dUlDQXBPMXh1WEc0Z0lHTnZibk4wSUhKbGJtUmxjbFpsY25OcGIyNUpibVp2SUQwZ0tDazZJRkpsWVdOMExsSmxZV04wVG05a1pTQTlQbHh1SUNBZ0lIWmxjbk5wYjI0Z0ppWWdLRnh1SUNBZ0lDQWdQRTkyWlhKMmFXVjNTWFJsYlQ1Y2JpQWdJQ0FnSUNBZ1BGTjBlV3hsWkZabGNuTnBiMjRnTHo1Y2JpQWdJQ0FnSUNBZ2UzUW9KM0JoWTJ0aFoyVXVkbVZ5YzJsdmJpY3NJSHNnZG1WeWMybHZiaUI5S1gxY2JpQWdJQ0FnSUR3dlQzWmxjblpwWlhkSmRHVnRQbHh1SUNBZ0lDazdYRzVjYmlBZ1kyOXVjM1FnY21WdVpHVnlRWFYwYUc5eVNXNW1ieUE5SUNncE9pQlNaV0ZqZEM1U1pXRmpkRTV2WkdVZ1BUNGdlMXh1SUNBZ0lHTnZibk4wSUc1aGJXVWdQU0IxZEdsc2N5NW5aWFJCZFhSb2IzSk9ZVzFsS0dGMWRHaHZjazVoYldVcE8xeHVJQ0FnSUhKbGRIVnliaUFvWEc0Z0lDQWdJQ0E4VDNabGNuWnBaWGRKZEdWdFBseHVJQ0FnSUNBZ0lDQThRWFYwYUc5eVBseHVJQ0FnSUNBZ0lDQWdJRHhCZG1GMFlYSWdZV3gwUFh0dVlXMWxmU0J6Y21NOWUyRjFkR2h2Y2tGMllYUmhjbjBnTHo1Y2JpQWdJQ0FnSUNBZ0lDQThSR1YwWVdsc2N6NTdibUZ0WlgwOEwwUmxkR0ZwYkhNK1hHNGdJQ0FnSUNBZ0lEd3ZRWFYwYUc5eVBseHVJQ0FnSUNBZ1BDOVBkbVZ5ZG1sbGQwbDBaVzArWEc0Z0lDQWdLVHRjYmlBZ2ZUdGNibHh1SUNCamIyNXpkQ0J5Wlc1a1pYSkdhV3hsVTJsNlpTQTlJQ2dwT2lCU1pXRmpkQzVTWldGamRFNXZaR1VnUFQ1Y2JpQWdJQ0JrYVhOMFB5NTFibkJoWTJ0bFpGTnBlbVVnSmlZZ0tGeHVJQ0FnSUNBZ1BFOTJaWEoyYVdWM1NYUmxiVDVjYmlBZ0lDQWdJQ0FnUEZOMGVXeGxaRVpwYkdWQ2FXNWhjbmtnTHo1Y2JpQWdJQ0FnSUNBZ2UzVjBhV3h6TG1acGJHVlRhWHBsVTBrb1pHbHpkQzUxYm5CaFkydGxaRk5wZW1VcGZWeHVJQ0FnSUNBZ1BDOVBkbVZ5ZG1sbGQwbDBaVzArWEc0Z0lDQWdLVHRjYmx4dUlDQmpiMjV6ZENCeVpXNWtaWEpNYVdObGJuTmxTVzVtYnlBOUlDZ3BPaUJTWldGamRDNVNaV0ZqZEU1dlpHVWdQVDVjYmlBZ0lDQnNhV05sYm5ObElDWW1JQ2hjYmlBZ0lDQWdJRHhQZG1WeWRtbGxkMGwwWlcwK1hHNGdJQ0FnSUNBZ0lEeFRkSGxzWldSTVlYY2dMejVjYmlBZ0lDQWdJQ0FnZTJ4cFkyVnVjMlVnWVhNZ2MzUnlhVzVuZlZ4dUlDQWdJQ0FnUEM5UGRtVnlkbWxsZDBsMFpXMCtYRzRnSUNBZ0tUdGNibHh1SUNCamIyNXpkQ0J5Wlc1a1pYSlFkV0pzYVhOb1pXUkpibVp2SUQwZ0tDazZJRkpsWVdOMExsSmxZV04wVG05a1pTQTlQbHh1SUNBZ0lIUnBiV1VnSmlZZ0tGeHVJQ0FnSUNBZ1BFOTJaWEoyYVdWM1NYUmxiVDVjYmlBZ0lDQWdJQ0FnUEZOMGVXeGxaRlJwYldVZ0x6NWNiaUFnSUNBZ0lDQWdQRkIxWW14cGMyaGxaQ0IwYVhSc1pUMTdkWFJwYkhNdVptOXliV0YwUkdGMFpTaDBhVzFsS1gwK1hHNGdJQ0FnSUNBZ0lDQWdlM1FvSjNCaFkydGhaMlV1Y0hWaWJHbHphR1ZrTFc5dUp5d2dleUIwYVcxbE9pQjFkR2xzY3k1bWIzSnRZWFJFWVhSbFJHbHpkR0Z1WTJVb2RHbHRaU2tnZlNsOVhHNGdJQ0FnSUNBZ0lEd3ZVSFZpYkdsemFHVmtQbHh1SUNBZ0lDQWdQQzlQZG1WeWRtbGxkMGwwWlcwK1hHNGdJQ0FnS1R0Y2JseHVJQ0JqYjI1emRDQnlaVzVrWlhKSWIyMWxVR0ZuWlV4cGJtc2dQU0FvS1RvZ1VtVmhZM1F1VW1WaFkzUk9iMlJsSUQwK1hHNGdJQ0FnYUc5dFpYQmhaMlVnSmlaY2JpQWdJQ0IxY213dWFYTlZVa3dvYUc5dFpYQmhaMlVwSUNZbUlDaGNiaUFnSUNBZ0lEeE1hVzVyUlhoMFpYSnVZV3dnZEc4OWUyaHZiV1Z3WVdkbGZUNWNiaUFnSUNBZ0lDQWdQRlJ2YjJ4MGFYQWdZWEpwWVMxc1lXSmxiRDE3ZENnbmNHRmphMkZuWlM1b2IyMWxjR0ZuWlNjcGZTQjBhWFJzWlQxN2RDZ25jR0ZqYTJGblpTNTJhWE5wZEMxb2IyMWxMWEJoWjJVbktYMCtYRzRnSUNBZ0lDQWdJQ0FnUEVsamIyNUNkWFIwYjI0Z1lYSnBZUzFzWVdKbGJEMTdkQ2duY0dGamEyRm5aUzVvYjIxbGNHRm5aU2NwZlNCamIyeHZjajFjSW5CeWFXMWhjbmxjSWlCemFYcGxQVndpYkdGeVoyVmNJajVjYmlBZ0lDQWdJQ0FnSUNBZ0lEeEliMjFsU1dOdmJpQXZQbHh1SUNBZ0lDQWdJQ0FnSUR3dlNXTnZia0oxZEhSdmJqNWNiaUFnSUNBZ0lDQWdQQzlVYjI5c2RHbHdQbHh1SUNBZ0lDQWdQQzlNYVc1clJYaDBaWEp1WVd3K1hHNGdJQ0FnS1R0Y2JseHVJQ0JqYjI1emRDQnlaVzVrWlhKQ2RXZHpUR2x1YXlBOUlDZ3BPaUJTWldGamRDNVNaV0ZqZEU1dlpHVWdQVDVjYmlBZ0lDQmlkV2R6UHk1MWNtd2dKaVpjYmlBZ0lDQjFjbXd1YVhOVlVrd29ZblZuY3k1MWNtd3BJQ1ltSUNoY2JpQWdJQ0FnSUR4TWFXNXJSWGgwWlhKdVlXd2dkRzg5ZTJKMVozTXVkWEpzZlQ1Y2JpQWdJQ0FnSUNBZ1BGUnZiMngwYVhBZ1lYSnBZUzFzWVdKbGJEMTdkQ2duY0dGamEyRm5aUzVpZFdkekp5bDlJSFJwZEd4bFBYdDBLQ2R3WVdOcllXZGxMbTl3Wlc0dFlXNHRhWE56ZFdVbktYMCtYRzRnSUNBZ0lDQWdJQ0FnUEVsamIyNUNkWFIwYjI0Z1lYSnBZUzFzWVdKbGJEMTdkQ2duY0dGamEyRm5aUzVpZFdkekp5bDlJR052Ykc5eVBWd2ljSEpwYldGeWVWd2lJSE5wZW1VOVhDSnNZWEpuWlZ3aVBseHVJQ0FnSUNBZ0lDQWdJQ0FnUEVKMVoxSmxjRzl5ZENBdlBseHVJQ0FnSUNBZ0lDQWdJRHd2U1dOdmJrSjFkSFJ2Ymo1Y2JpQWdJQ0FnSUNBZ1BDOVViMjlzZEdsd1BseHVJQ0FnSUNBZ1BDOU1hVzVyUlhoMFpYSnVZV3crWEc0Z0lDQWdLVHRjYmx4dUlDQmpiMjV6ZENCeVpXNWtaWEpFYjNkdWJHOWhaRXhwYm1zZ1BTQW9LVG9nVW1WaFkzUXVVbVZoWTNST2IyUmxJRDArWEc0Z0lDQWdaR2x6ZEQ4dWRHRnlZbUZzYkNBbUpseHVJQ0FnSUhWeWJDNXBjMVZTVENoa2FYTjBMblJoY21KaGJHd3BJQ1ltSUNoY2JpQWdJQ0FnSUR4TWFXNXJYRzRnSUNBZ0lDQWdJRzl1UTJ4cFkyczlleWdwSUQwK0lIdGNiaUFnSUNBZ0lDQWdJQ0JvWVc1a2JHVkViM2R1Ykc5aFpDaGthWE4wTG5SaGNtSmhiR3dwTzF4dUlDQWdJQ0FnSUNCOWZWeHVJQ0FnSUNBZ0lDQjBiejFjSWlOY0lseHVJQ0FnSUNBZ1BseHVJQ0FnSUNBZ0lDQThWRzl2YkhScGNGeHVJQ0FnSUNBZ0lDQWdJR0Z5YVdFdGJHRmlaV3c5ZTNRb0ozQmhZMnRoWjJVdVpHOTNibXh2WVdRbkxDQjdJSGRvWVhRNklIUW9KM0JoWTJ0aFoyVXVkR2hsTFhSaGNpMW1hV3hsSnlrZ2ZTbDlYRzRnSUNBZ0lDQWdJQ0FnZEdsMGJHVTllM1FvSjNCaFkydGhaMlV1ZEdGeVltRnNiQ2NwZlZ4dUlDQWdJQ0FnSUNBK1hHNGdJQ0FnSUNBZ0lDQWdQRWxqYjI1Q2RYUjBiMjVjYmlBZ0lDQWdJQ0FnSUNBZ0lHRnlhV0V0YkdGaVpXdzllM1FvSjNCaFkydGhaMlV1Wkc5M2JteHZZV1FuS1gxY2JpQWdJQ0FnSUNBZ0lDQWdJR052Ykc5eVBWd2ljSEpwYldGeWVWd2lYRzRnSUNBZ0lDQWdJQ0FnSUNCa1lYUmhMWFJsYzNScFpEMWNJbVJ2ZDI1c2IyRmtMWFJoY21KaGJHeGNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ2MybDZaVDFjSW14aGNtZGxYQ0pjYmlBZ0lDQWdJQ0FnSUNBK1hHNGdJQ0FnSUNBZ0lDQWdJQ0I3YVhOTWIyRmthVzVuSUQ4Z1BFTnBjbU4xYkdGeVVISnZaM0psYzNNZ2MybDZaVDE3TVROOUlDOCtJRG9nUEVSdmQyNXNiMkZrU1dOdmJpQXZQbjFjYmlBZ0lDQWdJQ0FnSUNBOEwwbGpiMjVDZFhSMGIyNCtYRzRnSUNBZ0lDQWdJRHd2Vkc5dmJIUnBjRDVjYmlBZ0lDQWdJRHd2VEdsdWF6NWNiaUFnSUNBcE8xeHVYRzRnSUdOdmJuTjBJSEpsYm1SbGNsQnlhVzFoY25sRGIyMXdiMjVsYm5RZ1BTQW9LVG9nVW1WaFkzUXVVbVZoWTNST2IyUmxJRDArSUh0Y2JpQWdJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lDQWdQRWR5YVdRZ1lXeHBaMjVKZEdWdGN6MWNJbU5sYm5SbGNsd2lJR052Ym5SaGFXNWxjajE3ZEhKMVpYMGdjMmw2WlQxN2V5QjRjem9nTVRJZ2ZYMGdkM0poY0QxY0luZHlZWEJjSWo1Y2JpQWdJQ0FnSUNBZ1BFZHlhV1FnYzJsNlpUMWNJbWR5YjNkY0lqNWNiaUFnSUNBZ0lDQWdJQ0E4VjNKaGNIQmxja3hwYm1zZ2RHODllMkFrZTFKdmRYUmxMa1JGVkVGSlRIMGtlM0JoWTJ0aFoyVk9ZVzFsZldCOVBseHVJQ0FnSUNBZ0lDQWdJQ0FnUEZCaFkydGhaMlZVYVhSc1pTQmpiR0Z6YzA1aGJXVTlYQ0p3WVdOcllXZGxMWFJwZEd4bFhDSWdaR0YwWVMxMFpYTjBhV1E5WENKd1lXTnJZV2RsTFhScGRHeGxYQ0krWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSHR3WVdOcllXZGxUbUZ0WlgxY2JpQWdJQ0FnSUNBZ0lDQWdJRHd2VUdGamEyRm5aVlJwZEd4bFBseHVJQ0FnSUNBZ0lDQWdJRHd2VjNKaGNIQmxja3hwYm1zK1hHNGdJQ0FnSUNBZ0lEd3ZSM0pwWkQ1Y2JpQWdJQ0FnSUNBZ1BFZHlhV1JTYVdkb2RFRnNhV2R1WldRZ2MybDZaVDFjSW1GMWRHOWNJajVjYmlBZ0lDQWdJQ0FnSUNCN2NtVnVaR1Z5U0c5dFpWQmhaMlZNYVc1cktDbDlYRzRnSUNBZ0lDQWdJQ0FnZTNKbGJtUmxja0oxWjNOTWFXNXJLQ2w5WEc0Z0lDQWdJQ0FnSUNBZ2UzTm9iM2RFYjNkdWJHOWhaQ0FtSmlCeVpXNWtaWEpFYjNkdWJHOWhaRXhwYm1zb0tYMWNiaUFnSUNBZ0lDQWdQQzlIY21sa1VtbG5hSFJCYkdsbmJtVmtQbHh1SUNBZ0lDQWdQQzlIY21sa1BseHVJQ0FnSUNrN1hHNGdJSDA3WEc1Y2JpQWdZMjl1YzNRZ2NtVnVaR1Z5VTJWamIyNWtZWEo1UTI5dGNHOXVaVzUwSUQwZ0tDazZJRkpsWVdOMExsSmxZV04wVG05a1pTQTlQaUE4UkdWelkzSnBjSFJwYjI0K2UyUmxjMk55YVhCMGFXOXVmVHd2UkdWelkzSnBjSFJwYjI0K08xeHVYRzRnSUdOdmJuTjBJSEpsYm1SbGNsQmhZMnRoWjJWTWFYTjBTWFJsYlZSbGVIUWdQU0FvS1RvZ1VtVmhZM1F1VW1WaFkzUk9iMlJsSUQwK0lDaGNiaUFnSUNBOFVHRmphMkZuWlV4cGMzUkpkR1Z0VkdWNGRGeHVJQ0FnSUNBZ2NISnBiV0Z5ZVQxN2NtVnVaR1Z5VUhKcGJXRnllVU52YlhCdmJtVnVkQ2dwZlZ4dUlDQWdJQ0FnYzJWamIyNWtZWEo1UFh0eVpXNWtaWEpUWldOdmJtUmhjbmxEYjIxd2IyNWxiblFvS1gxY2JpQWdJQ0F2UGx4dUlDQXBPMXh1WEc0Z0lHTnZibk4wSUhKbGJtUmxja3RsZVhkdmNtUnpJRDBnS0NrNklGSmxZV04wTGxKbFlXTjBUbTlrWlNBOVBpQW9YRzRnSUNBZ1BFeHBjM1JKZEdWdElHRnNhV2R1U1hSbGJYTTlleWRtYkdWNExYTjBZWEowSjMwZ2MzZzllM3NnY0hrNklEQXNJRzE1T2lBd0lIMTlQbHh1SUNBZ0lDQWdQRXhwYzNRZ2MzZzllM3NnY0RvZ01Dd2diWGs2SURBZ2ZYMCtYRzRnSUNBZ0lDQWdJRHhMWlhsM2IzSmtUR2x6ZEVsMFpXMXpJR3RsZVhkdmNtUnpQWHRyWlhsM2IzSmtjMzBnTHo1Y2JpQWdJQ0FnSUR3dlRHbHpkRDVjYmlBZ0lDQThMMHhwYzNSSmRHVnRQbHh1SUNBcE8xeHVYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRmR5WVhCd1pYSWdZMnhoYzNOT1lXMWxQWHNuY0dGamEyRm5aU2Q5SUdSaGRHRXRkR1Z6ZEdsa1BWd2ljR0ZqYTJGblpTMXBkR1Z0TFd4cGMzUmNJajVjYmlBZ0lDQWdJRHhNYVhOMFNYUmxiU0JoYkdsbmJrbDBaVzF6UFhzblpteGxlQzF6ZEdGeWRDZDlJSE40UFh0N0lHMWlPaUF3SUgxOVBseHVJQ0FnSUNBZ0lDQjdjbVZ1WkdWeVVHRmphMkZuWlV4cGMzUkpkR1Z0VkdWNGRDZ3BmVnh1SUNBZ0lDQWdQQzlNYVhOMFNYUmxiVDVjYmlBZ0lDQWdJSHRyWlhsM2IzSmtjeUFtSmlCclpYbDNiM0prY3o4dWJHVnVaM1JvSUQ0Z01DQS9JSEpsYm1SbGNrdGxlWGR2Y21SektDa2dPaUJ1ZFd4c2ZWeHVJQ0FnSUNBZ1BFeHBjM1JKZEdWdElHRnNhV2R1U1hSbGJYTTlleWRtYkdWNExYTjBZWEowSjMwZ2MzZzllM3NnYlhRNklEQWdmWDArWEc0Z0lDQWdJQ0FnSUh0eVpXNWtaWEpCZFhSb2IzSkpibVp2S0NsOVhHNGdJQ0FnSUNBZ0lIdHlaVzVrWlhKV1pYSnphVzl1U1c1bWJ5Z3BmVnh1SUNBZ0lDQWdJQ0I3Y21WdVpHVnlVSFZpYkdsemFHVmtTVzVtYnlncGZWeHVJQ0FnSUNBZ0lDQjdjbVZ1WkdWeVJtbHNaVk5wZW1Vb0tYMWNiaUFnSUNBZ0lDQWdlM0psYm1SbGNreHBZMlZ1YzJWSmJtWnZLQ2w5WEc0Z0lDQWdJQ0E4TDB4cGMzUkpkR1Z0UGx4dUlDQWdJRHd2VjNKaGNIQmxjajVjYmlBZ0tUdGNibjA3WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUZCaFkydGhaMlU3WEc1Y2JtTnZibk4wSUdsamIyNVRkSGxzWlNBOUlDaDdJSFJvWlcxbElIMDZJSHNnZEdobGJXVTZJRlJvWlcxbElIMHBJRDArSUdOemMyQmNiaUFnYldGeVoybHVPaUF3SURFd2NIZ2dNQ0F3TzF4dUlDQm1hV3hzT2lBa2UzUm9aVzFsTG5CaGJHVjBkR1V1Ylc5a1pTQTlQVDBnSjJ4cFoyaDBKeUEvSUdkeVpYbGJPVEF3WFNBNklHTnZiVzF2Ymk1M2FHbDBaWDA3WEc1Z08xeHVYRzVqYjI1emRDQlRkSGxzWldSV1pYSnphVzl1SUQwZ2MzUjViR1ZrS0ZabGNuTnBiMjRwWUZ4dUlDQWtlMmxqYjI1VGRIbHNaWDA3WEc1Z08xeHVYRzVqYjI1emRDQlRkSGxzWldSR2FXeGxRbWx1WVhKNUlEMGdjM1I1YkdWa0tFWnBiR1ZDYVc1aGNua3BZRnh1SUNBa2UybGpiMjVUZEhsc1pYMDdYRzVnTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JNWVhjZ1BTQnpkSGxzWldRb1RHRjNLV0JjYmlBZ0pIdHBZMjl1VTNSNWJHVjlPMXh1WUR0Y2JseHVZMjl1YzNRZ1UzUjViR1ZrVkdsdFpTQTlJSE4wZVd4bFpDaFVhVzFsS1dCY2JpQWdKSHRwWTI5dVUzUjViR1Y5TzF4dVlEdGNiaUpkZlE9PSAqL1wiKTtcbnZhciBTdHlsZWRWZXJzaW9uID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoVmVyc2lvbiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZWM0aWdsbjNcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZWM0aWdsbjNcIixcblx0bGFiZWw6IFwiU3R5bGVkVmVyc2lvblwiXG59KShpY29uU3R5bGUsIFwiO1wiICsgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlRWVdOcllXZGxMMUJoWTJ0aFoyVXVkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVd0UWNVTWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDFCaFkydGhaMlV2VUdGamEyRm5aUzUwYzNnaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2V5QmpjM01nZlNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl5WldGamRDYzdYRzVwYlhCdmNuUWdjM1I1YkdWa0lHWnliMjBnSjBCbGJXOTBhVzl1TDNOMGVXeGxaQ2M3WEc1cGJYQnZjblFnUW5WblVtVndiM0owSUdaeWIyMGdKMEJ0ZFdrdmFXTnZibk10YldGMFpYSnBZV3d2UW5WblVtVndiM0owSnp0Y2JtbHRjRzl5ZENCRWIzZHViRzloWkVsamIyNGdabkp2YlNBblFHMTFhUzlwWTI5dWN5MXRZWFJsY21saGJDOURiRzkxWkVSdmQyNXNiMkZrSnp0Y2JtbHRjRzl5ZENCSWIyMWxTV052YmlCbWNtOXRJQ2RBYlhWcEwybGpiMjV6TFcxaGRHVnlhV0ZzTDBodmJXVW5PMXh1YVcxd2IzSjBJRU5wY21OMWJHRnlVSEp2WjNKbGMzTWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlEYVhKamRXeGhjbEJ5YjJkeVpYTnpKenRjYm1sdGNHOXlkQ0JIY21sa0lHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZSM0pwWkNjN1hHNXBiWEJ2Y25RZ1RHbHpkQ0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDB4cGMzUW5PMXh1YVcxd2IzSjBJRXhwYzNSSmRHVnRJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRFbDBaVzBuTzF4dWFXMXdiM0owSUZSdmIyeDBhWEFnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5VWIyOXNkR2x3Snp0Y2JtbHRjRzl5ZENCN0lHTnZiVzF2Yml3Z1ozSmxlU0I5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCU1pXRmpkQ3dnZXlCMWMyVkRZV3hzWW1GamF5QjlJR1p5YjIwZ0ozSmxZV04wSnp0Y2JtbHRjRzl5ZENCN0lIVnpaVlJ5WVc1emJHRjBhVzl1SUgwZ1puSnZiU0FuY21WaFkzUXRhVEU0Ym1WNGRDYzdYRzVjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaThuTzF4dWFXMXdiM0owSUhzZ1RHbHVheXdnVEdsdWEwVjRkR1Z5Ym1Gc0xDQjFjMlZFYjNkdWJHOWhaQ3dnZFhObFRXRnVhV1psYzNSeklIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCN0lFWnBiR1ZDYVc1aGNua3NJRXhoZHl3Z1ZHbHRaU3dnVm1WeWMybHZiaUI5SUdaeWIyMGdKeTR1THk0dUwyTnZiWEJ2Ym1WdWRITXZTV052Ym5Nbk8xeHVhVzF3YjNKMElIc2daMlYwUTI5dVptbG5kWEpoZEdsdmJpQjlJR1p5YjIwZ0p5NHVMeTR1TDJOdmJtWnBaM1Z5WVhScGIyNG5PMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QkJkWFJvYjNJZ1lYTWdVR0ZqYTJGblpVRjFkR2h2Y2lCOUlHWnliMjBnSnk0dUx5NHVMM0J5YjNacFpHVnljeTlOWVc1cFptVnpkSE5RY205MmFXUmxjaTlOWVc1cFptVnpkSE5RY205MmFXUmxjaWM3WEc1cGJYQnZjblFnZEhsd1pTQjdJRkJoWTJ0aFoyVk5aWFJoU1c1MFpYSm1ZV05sSUgwZ1puSnZiU0FuTGk0dkxpNHZkSGx3WlhNdmNHRmphMkZuWlUxbGRHRW5PMXh1YVcxd2IzSjBJSHNnVW05MWRHVXNJSFZ5YkN3Z2RYUnBiSE1nZlNCbWNtOXRJQ2N1TGk4dUxpOTFkR2xzY3ljN1hHNXBiWEJ2Y25RZ1MyVjVkMjl5WkV4cGMzUkpkR1Z0Y3lCbWNtOXRJQ2N1TGk5TFpYbDNiM0prY3k5TFpYbDNiM0prVEdsemRFbDBaVzF6Snp0Y2JtbHRjRzl5ZENCN1hHNGdJRUYxZEdodmNpeGNiaUFnUVhaaGRHRnlMRnh1SUNCRVpYTmpjbWx3ZEdsdmJpeGNiaUFnUkdWMFlXbHNjeXhjYmlBZ1IzSnBaRkpwWjJoMFFXeHBaMjVsWkN4Y2JpQWdTV052YmtKMWRIUnZiaXhjYmlBZ1QzWmxjblpwWlhkSmRHVnRMRnh1SUNCUVlXTnJZV2RsVEdsemRFbDBaVzFVWlhoMExGeHVJQ0JRWVdOcllXZGxWR2wwYkdVc1hHNGdJRkIxWW14cGMyaGxaQ3hjYmlBZ1YzSmhjSEJsY2l4Y2JpQWdWM0poY0hCbGNreHBibXNzWEc1OUlHWnliMjBnSnk0dmMzUjViR1Z6Snp0Y2JseHVhVzUwWlhKbVlXTmxJRUoxWjNNZ2UxeHVJQ0IxY213NklITjBjbWx1Wnp0Y2JuMWNibHh1YVc1MFpYSm1ZV05sSUVScGMzUWdlMXh1SUNCMWJuQmhZMnRsWkZOcGVtVTZJRzUxYldKbGNqdGNiaUFnZEdGeVltRnNiRG9nYzNSeWFXNW5PMXh1ZlZ4dVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElGQmhZMnRoWjJWSmJuUmxjbVpoWTJVZ2UxeHVJQ0J1WVcxbE9pQnpkSEpwYm1jN1hHNGdJSFpsY25OcGIyNDZJSE4wY21sdVp6dGNiaUFnZEdsdFpUODZJRzUxYldKbGNpQjhJSE4wY21sdVp6dGNiaUFnWVhWMGFHOXlPaUJRWVdOcllXZGxRWFYwYUc5eU8xeHVJQ0JrWlhOamNtbHdkR2x2Ymo4NklITjBjbWx1Wnp0Y2JpQWdhMlY1ZDI5eVpITS9PaUJRWVdOcllXZGxUV1YwWVVsdWRHVnlabUZqWlZzbmJHRjBaWE4wSjExYkoydGxlWGR2Y21SekoxMDdYRzRnSUd4cFkyVnVjMlUvT2lCUVlXTnJZV2RsVFdWMFlVbHVkR1Z5Wm1GalpWc25iR0YwWlhOMEoxMWJKMnhwWTJWdWMyVW5YVHRjYmlBZ2FHOXRaWEJoWjJVL09pQnpkSEpwYm1jN1hHNGdJR0oxWjNNL09pQkNkV2R6TzF4dUlDQmthWE4wUHpvZ1JHbHpkRHRjYmlBZ2MyaHZkMFJ2ZDI1c2IyRmtQem9nWW05dmJHVmhianRjYm4xY2JseHVZMjl1YzNRZ1VHRmphMkZuWlRvZ1VtVmhZM1F1UmtNOFVHRmphMkZuWlVsdWRHVnlabUZqWlQ0Z1BTQW9lMXh1SUNCaGRYUm9iM0k2SUhzZ2JtRnRaVG9nWVhWMGFHOXlUbUZ0WlN3Z1lYWmhkR0Z5T2lCaGRYUm9iM0pCZG1GMFlYSWdmU3hjYmlBZ1luVm5jeXhjYmlBZ1pHVnpZM0pwY0hScGIyNHNYRzRnSUdScGMzUXNYRzRnSUdodmJXVndZV2RsTEZ4dUlDQnJaWGwzYjNKa2N5eGNiaUFnYkdsalpXNXpaU3hjYmlBZ2JtRnRaVG9nY0dGamEyRm5aVTVoYldVc1hHNGdJSFJwYldVc1hHNGdJSE5vYjNkRWIzZHViRzloWkNBOUlIUnlkV1VzWEc0Z0lIWmxjbk5wYjI0c1hHNTlLU0E5UGlCN1hHNGdJR052Ym5OMElHTnZibVpwWnlBOUlHZGxkRU52Ym1acFozVnlZWFJwYjI0b0tUdGNiaUFnWTI5dWMzUWdleUIwSUgwZ1BTQjFjMlZVY21GdWMyeGhkR2x2YmlncE8xeHVJQ0JqYjI1emRDQjdJR2x6VEc5aFpHbHVaeUI5SUQwZ2RYTmxUV0Z1YVdabGMzUnpLQ2s3WEc0Z0lHTnZibk4wSUhzZ1pHOTNibXh2WVdSVVlYSmlZV3hzSUgwZ1BTQjFjMlZFYjNkdWJHOWhaQ2dwTzF4dVhHNGdJR052Ym5OMElHaGhibVJzWlVSdmQyNXNiMkZrSUQwZ2RYTmxRMkZzYkdKaFkyc29YRzRnSUNBZ1lYTjVibU1nS0hSaGNtSmhiR3hFYVhOME9pQnpkSEpwYm1jcElEMCtJSHRjYmlBZ0lDQWdJQzh2SUVaSldFMUZPaUJqYUdWamF5d2dkR2hsSUdScGMzUWdiV2xuYUhRZ1ltVWdaR2xtWm1WeVpXNTBJSFJvWVc1MElHNXdiV3B6WEc0Z0lDQWdJQ0JqYjI1emRDQnNhVzVySUQwZ2RHRnlZbUZzYkVScGMzUXVjbVZ3YkdGalpTaGdhSFIwY0hNNkx5OXlaV2RwYzNSeWVTNXVjRzFxY3k1dmNtY3ZZQ3dnWTI5dVptbG5MbUpoYzJVcE8xeHVJQ0FnSUNBZ1pHOTNibXh2WVdSVVlYSmlZV3hzUHk0b2V5QnNhVzVySUgwcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnVzJOdmJtWnBaeXdnWkc5M2JteHZZV1JVWVhKaVlXeHNYVnh1SUNBcE8xeHVYRzRnSUdOdmJuTjBJSEpsYm1SbGNsWmxjbk5wYjI1SmJtWnZJRDBnS0NrNklGSmxZV04wTGxKbFlXTjBUbTlrWlNBOVBseHVJQ0FnSUhabGNuTnBiMjRnSmlZZ0tGeHVJQ0FnSUNBZ1BFOTJaWEoyYVdWM1NYUmxiVDVjYmlBZ0lDQWdJQ0FnUEZOMGVXeGxaRlpsY25OcGIyNGdMejVjYmlBZ0lDQWdJQ0FnZTNRb0ozQmhZMnRoWjJVdWRtVnljMmx2Ymljc0lIc2dkbVZ5YzJsdmJpQjlLWDFjYmlBZ0lDQWdJRHd2VDNabGNuWnBaWGRKZEdWdFBseHVJQ0FnSUNrN1hHNWNiaUFnWTI5dWMzUWdjbVZ1WkdWeVFYVjBhRzl5U1c1bWJ5QTlJQ2dwT2lCU1pXRmpkQzVTWldGamRFNXZaR1VnUFQ0Z2UxeHVJQ0FnSUdOdmJuTjBJRzVoYldVZ1BTQjFkR2xzY3k1blpYUkJkWFJvYjNKT1lXMWxLR0YxZEdodmNrNWhiV1VwTzF4dUlDQWdJSEpsZEhWeWJpQW9YRzRnSUNBZ0lDQThUM1psY25acFpYZEpkR1Z0UGx4dUlDQWdJQ0FnSUNBOFFYVjBhRzl5UGx4dUlDQWdJQ0FnSUNBZ0lEeEJkbUYwWVhJZ1lXeDBQWHR1WVcxbGZTQnpjbU05ZTJGMWRHaHZja0YyWVhSaGNuMGdMejVjYmlBZ0lDQWdJQ0FnSUNBOFJHVjBZV2xzY3o1N2JtRnRaWDA4TDBSbGRHRnBiSE0rWEc0Z0lDQWdJQ0FnSUR3dlFYVjBhRzl5UGx4dUlDQWdJQ0FnUEM5UGRtVnlkbWxsZDBsMFpXMCtYRzRnSUNBZ0tUdGNiaUFnZlR0Y2JseHVJQ0JqYjI1emRDQnlaVzVrWlhKR2FXeGxVMmw2WlNBOUlDZ3BPaUJTWldGamRDNVNaV0ZqZEU1dlpHVWdQVDVjYmlBZ0lDQmthWE4wUHk1MWJuQmhZMnRsWkZOcGVtVWdKaVlnS0Z4dUlDQWdJQ0FnUEU5MlpYSjJhV1YzU1hSbGJUNWNiaUFnSUNBZ0lDQWdQRk4wZVd4bFpFWnBiR1ZDYVc1aGNua2dMejVjYmlBZ0lDQWdJQ0FnZTNWMGFXeHpMbVpwYkdWVGFYcGxVMGtvWkdsemRDNTFibkJoWTJ0bFpGTnBlbVVwZlZ4dUlDQWdJQ0FnUEM5UGRtVnlkbWxsZDBsMFpXMCtYRzRnSUNBZ0tUdGNibHh1SUNCamIyNXpkQ0J5Wlc1a1pYSk1hV05sYm5ObFNXNW1ieUE5SUNncE9pQlNaV0ZqZEM1U1pXRmpkRTV2WkdVZ1BUNWNiaUFnSUNCc2FXTmxibk5sSUNZbUlDaGNiaUFnSUNBZ0lEeFBkbVZ5ZG1sbGQwbDBaVzArWEc0Z0lDQWdJQ0FnSUR4VGRIbHNaV1JNWVhjZ0x6NWNiaUFnSUNBZ0lDQWdlMnhwWTJWdWMyVWdZWE1nYzNSeWFXNW5mVnh1SUNBZ0lDQWdQQzlQZG1WeWRtbGxkMGwwWlcwK1hHNGdJQ0FnS1R0Y2JseHVJQ0JqYjI1emRDQnlaVzVrWlhKUWRXSnNhWE5vWldSSmJtWnZJRDBnS0NrNklGSmxZV04wTGxKbFlXTjBUbTlrWlNBOVBseHVJQ0FnSUhScGJXVWdKaVlnS0Z4dUlDQWdJQ0FnUEU5MlpYSjJhV1YzU1hSbGJUNWNiaUFnSUNBZ0lDQWdQRk4wZVd4bFpGUnBiV1VnTHo1Y2JpQWdJQ0FnSUNBZ1BGQjFZbXhwYzJobFpDQjBhWFJzWlQxN2RYUnBiSE11Wm05eWJXRjBSR0YwWlNoMGFXMWxLWDArWEc0Z0lDQWdJQ0FnSUNBZ2UzUW9KM0JoWTJ0aFoyVXVjSFZpYkdsemFHVmtMVzl1Snl3Z2V5QjBhVzFsT2lCMWRHbHNjeTVtYjNKdFlYUkVZWFJsUkdsemRHRnVZMlVvZEdsdFpTa2dmU2w5WEc0Z0lDQWdJQ0FnSUR3dlVIVmliR2x6YUdWa1BseHVJQ0FnSUNBZ1BDOVBkbVZ5ZG1sbGQwbDBaVzArWEc0Z0lDQWdLVHRjYmx4dUlDQmpiMjV6ZENCeVpXNWtaWEpJYjIxbFVHRm5aVXhwYm1zZ1BTQW9LVG9nVW1WaFkzUXVVbVZoWTNST2IyUmxJRDArWEc0Z0lDQWdhRzl0WlhCaFoyVWdKaVpjYmlBZ0lDQjFjbXd1YVhOVlVrd29hRzl0WlhCaFoyVXBJQ1ltSUNoY2JpQWdJQ0FnSUR4TWFXNXJSWGgwWlhKdVlXd2dkRzg5ZTJodmJXVndZV2RsZlQ1Y2JpQWdJQ0FnSUNBZ1BGUnZiMngwYVhBZ1lYSnBZUzFzWVdKbGJEMTdkQ2duY0dGamEyRm5aUzVvYjIxbGNHRm5aU2NwZlNCMGFYUnNaVDE3ZENnbmNHRmphMkZuWlM1MmFYTnBkQzFvYjIxbExYQmhaMlVuS1gwK1hHNGdJQ0FnSUNBZ0lDQWdQRWxqYjI1Q2RYUjBiMjRnWVhKcFlTMXNZV0psYkQxN2RDZ25jR0ZqYTJGblpTNW9iMjFsY0dGblpTY3BmU0JqYjJ4dmNqMWNJbkJ5YVcxaGNubGNJaUJ6YVhwbFBWd2liR0Z5WjJWY0lqNWNiaUFnSUNBZ0lDQWdJQ0FnSUR4SWIyMWxTV052YmlBdlBseHVJQ0FnSUNBZ0lDQWdJRHd2U1dOdmJrSjFkSFJ2Ymo1Y2JpQWdJQ0FnSUNBZ1BDOVViMjlzZEdsd1BseHVJQ0FnSUNBZ1BDOU1hVzVyUlhoMFpYSnVZV3crWEc0Z0lDQWdLVHRjYmx4dUlDQmpiMjV6ZENCeVpXNWtaWEpDZFdkelRHbHVheUE5SUNncE9pQlNaV0ZqZEM1U1pXRmpkRTV2WkdVZ1BUNWNiaUFnSUNCaWRXZHpQeTUxY213Z0ppWmNiaUFnSUNCMWNtd3VhWE5WVWt3b1luVm5jeTUxY213cElDWW1JQ2hjYmlBZ0lDQWdJRHhNYVc1clJYaDBaWEp1WVd3Z2RHODllMkoxWjNNdWRYSnNmVDVjYmlBZ0lDQWdJQ0FnUEZSdmIyeDBhWEFnWVhKcFlTMXNZV0psYkQxN2RDZ25jR0ZqYTJGblpTNWlkV2R6SnlsOUlIUnBkR3hsUFh0MEtDZHdZV05yWVdkbExtOXdaVzR0WVc0dGFYTnpkV1VuS1gwK1hHNGdJQ0FnSUNBZ0lDQWdQRWxqYjI1Q2RYUjBiMjRnWVhKcFlTMXNZV0psYkQxN2RDZ25jR0ZqYTJGblpTNWlkV2R6SnlsOUlHTnZiRzl5UFZ3aWNISnBiV0Z5ZVZ3aUlITnBlbVU5WENKc1lYSm5aVndpUGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRUoxWjFKbGNHOXlkQ0F2UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZTV052YmtKMWRIUnZiajVjYmlBZ0lDQWdJQ0FnUEM5VWIyOXNkR2x3UGx4dUlDQWdJQ0FnUEM5TWFXNXJSWGgwWlhKdVlXdytYRzRnSUNBZ0tUdGNibHh1SUNCamIyNXpkQ0J5Wlc1a1pYSkViM2R1Ykc5aFpFeHBibXNnUFNBb0tUb2dVbVZoWTNRdVVtVmhZM1JPYjJSbElEMCtYRzRnSUNBZ1pHbHpkRDh1ZEdGeVltRnNiQ0FtSmx4dUlDQWdJSFZ5YkM1cGMxVlNUQ2hrYVhOMExuUmhjbUpoYkd3cElDWW1JQ2hjYmlBZ0lDQWdJRHhNYVc1clhHNGdJQ0FnSUNBZ0lHOXVRMnhwWTJzOWV5Z3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQm9ZVzVrYkdWRWIzZHViRzloWkNoa2FYTjBMblJoY21KaGJHd3BPMXh1SUNBZ0lDQWdJQ0I5ZlZ4dUlDQWdJQ0FnSUNCMGJ6MWNJaU5jSWx4dUlDQWdJQ0FnUGx4dUlDQWdJQ0FnSUNBOFZHOXZiSFJwY0Z4dUlDQWdJQ0FnSUNBZ0lHRnlhV0V0YkdGaVpXdzllM1FvSjNCaFkydGhaMlV1Wkc5M2JteHZZV1FuTENCN0lIZG9ZWFE2SUhRb0ozQmhZMnRoWjJVdWRHaGxMWFJoY2kxbWFXeGxKeWtnZlNsOVhHNGdJQ0FnSUNBZ0lDQWdkR2wwYkdVOWUzUW9KM0JoWTJ0aFoyVXVkR0Z5WW1Gc2JDY3BmVnh1SUNBZ0lDQWdJQ0ErWEc0Z0lDQWdJQ0FnSUNBZ1BFbGpiMjVDZFhSMGIyNWNiaUFnSUNBZ0lDQWdJQ0FnSUdGeWFXRXRiR0ZpWld3OWUzUW9KM0JoWTJ0aFoyVXVaRzkzYm14dllXUW5LWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZiRzl5UFZ3aWNISnBiV0Z5ZVZ3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWVhSaExYUmxjM1JwWkQxY0ltUnZkMjVzYjJGa0xYUmhjbUpoYkd4Y0lseHVJQ0FnSUNBZ0lDQWdJQ0FnYzJsNlpUMWNJbXhoY21kbFhDSmNiaUFnSUNBZ0lDQWdJQ0ErWEc0Z0lDQWdJQ0FnSUNBZ0lDQjdhWE5NYjJGa2FXNW5JRDhnUEVOcGNtTjFiR0Z5VUhKdlozSmxjM01nYzJsNlpUMTdNVE45SUM4K0lEb2dQRVJ2ZDI1c2IyRmtTV052YmlBdlBuMWNiaUFnSUNBZ0lDQWdJQ0E4TDBsamIyNUNkWFIwYjI0K1hHNGdJQ0FnSUNBZ0lEd3ZWRzl2YkhScGNENWNiaUFnSUNBZ0lEd3ZUR2x1YXo1Y2JpQWdJQ0FwTzF4dVhHNGdJR052Ym5OMElISmxibVJsY2xCeWFXMWhjbmxEYjIxd2IyNWxiblFnUFNBb0tUb2dVbVZoWTNRdVVtVmhZM1JPYjJSbElEMCtJSHRjYmlBZ0lDQnlaWFIxY200Z0tGeHVJQ0FnSUNBZ1BFZHlhV1FnWVd4cFoyNUpkR1Z0Y3oxY0ltTmxiblJsY2x3aUlHTnZiblJoYVc1bGNqMTdkSEoxWlgwZ2MybDZaVDE3ZXlCNGN6b2dNVElnZlgwZ2QzSmhjRDFjSW5keVlYQmNJajVjYmlBZ0lDQWdJQ0FnUEVkeWFXUWdjMmw2WlQxY0ltZHliM2RjSWo1Y2JpQWdJQ0FnSUNBZ0lDQThWM0poY0hCbGNreHBibXNnZEc4OWUyQWtlMUp2ZFhSbExrUkZWRUZKVEgwa2UzQmhZMnRoWjJWT1lXMWxmV0I5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRkJoWTJ0aFoyVlVhWFJzWlNCamJHRnpjMDVoYldVOVhDSndZV05yWVdkbExYUnBkR3hsWENJZ1pHRjBZUzEwWlhOMGFXUTlYQ0p3WVdOcllXZGxMWFJwZEd4bFhDSStYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIdHdZV05yWVdkbFRtRnRaWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lEd3ZVR0ZqYTJGblpWUnBkR3hsUGx4dUlDQWdJQ0FnSUNBZ0lEd3ZWM0poY0hCbGNreHBibXMrWEc0Z0lDQWdJQ0FnSUR3dlIzSnBaRDVjYmlBZ0lDQWdJQ0FnUEVkeWFXUlNhV2RvZEVGc2FXZHVaV1FnYzJsNlpUMWNJbUYxZEc5Y0lqNWNiaUFnSUNBZ0lDQWdJQ0I3Y21WdVpHVnlTRzl0WlZCaFoyVk1hVzVyS0NsOVhHNGdJQ0FnSUNBZ0lDQWdlM0psYm1SbGNrSjFaM05NYVc1cktDbDlYRzRnSUNBZ0lDQWdJQ0FnZTNOb2IzZEViM2R1Ykc5aFpDQW1KaUJ5Wlc1a1pYSkViM2R1Ykc5aFpFeHBibXNvS1gxY2JpQWdJQ0FnSUNBZ1BDOUhjbWxrVW1sbmFIUkJiR2xuYm1Wa1BseHVJQ0FnSUNBZ1BDOUhjbWxrUGx4dUlDQWdJQ2s3WEc0Z0lIMDdYRzVjYmlBZ1kyOXVjM1FnY21WdVpHVnlVMlZqYjI1a1lYSjVRMjl0Y0c5dVpXNTBJRDBnS0NrNklGSmxZV04wTGxKbFlXTjBUbTlrWlNBOVBpQThSR1Z6WTNKcGNIUnBiMjQrZTJSbGMyTnlhWEIwYVc5dWZUd3ZSR1Z6WTNKcGNIUnBiMjQrTzF4dVhHNGdJR052Ym5OMElISmxibVJsY2xCaFkydGhaMlZNYVhOMFNYUmxiVlJsZUhRZ1BTQW9LVG9nVW1WaFkzUXVVbVZoWTNST2IyUmxJRDArSUNoY2JpQWdJQ0E4VUdGamEyRm5aVXhwYzNSSmRHVnRWR1Y0ZEZ4dUlDQWdJQ0FnY0hKcGJXRnllVDE3Y21WdVpHVnlVSEpwYldGeWVVTnZiWEJ2Ym1WdWRDZ3BmVnh1SUNBZ0lDQWdjMlZqYjI1a1lYSjVQWHR5Wlc1a1pYSlRaV052Ym1SaGNubERiMjF3YjI1bGJuUW9LWDFjYmlBZ0lDQXZQbHh1SUNBcE8xeHVYRzRnSUdOdmJuTjBJSEpsYm1SbGNrdGxlWGR2Y21SeklEMGdLQ2s2SUZKbFlXTjBMbEpsWVdOMFRtOWtaU0E5UGlBb1hHNGdJQ0FnUEV4cGMzUkpkR1Z0SUdGc2FXZHVTWFJsYlhNOWV5ZG1iR1Y0TFhOMFlYSjBKMzBnYzNnOWUzc2djSGs2SURBc0lHMTVPaUF3SUgxOVBseHVJQ0FnSUNBZ1BFeHBjM1FnYzNnOWUzc2djRG9nTUN3Z2JYazZJREFnZlgwK1hHNGdJQ0FnSUNBZ0lEeExaWGwzYjNKa1RHbHpkRWwwWlcxeklHdGxlWGR2Y21SelBYdHJaWGwzYjNKa2MzMGdMejVjYmlBZ0lDQWdJRHd2VEdsemRENWNiaUFnSUNBOEwweHBjM1JKZEdWdFBseHVJQ0FwTzF4dVhHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BGZHlZWEJ3WlhJZ1kyeGhjM05PWVcxbFBYc25jR0ZqYTJGblpTZDlJR1JoZEdFdGRHVnpkR2xrUFZ3aWNHRmphMkZuWlMxcGRHVnRMV3hwYzNSY0lqNWNiaUFnSUNBZ0lEeE1hWE4wU1hSbGJTQmhiR2xuYmtsMFpXMXpQWHNuWm14bGVDMXpkR0Z5ZENkOUlITjRQWHQ3SUcxaU9pQXdJSDE5UGx4dUlDQWdJQ0FnSUNCN2NtVnVaR1Z5VUdGamEyRm5aVXhwYzNSSmRHVnRWR1Y0ZENncGZWeHVJQ0FnSUNBZ1BDOU1hWE4wU1hSbGJUNWNiaUFnSUNBZ0lIdHJaWGwzYjNKa2N5QW1KaUJyWlhsM2IzSmtjejh1YkdWdVozUm9JRDRnTUNBL0lISmxibVJsY2t0bGVYZHZjbVJ6S0NrZ09pQnVkV3hzZlZ4dUlDQWdJQ0FnUEV4cGMzUkpkR1Z0SUdGc2FXZHVTWFJsYlhNOWV5ZG1iR1Y0TFhOMFlYSjBKMzBnYzNnOWUzc2diWFE2SURBZ2ZYMCtYRzRnSUNBZ0lDQWdJSHR5Wlc1a1pYSkJkWFJvYjNKSmJtWnZLQ2w5WEc0Z0lDQWdJQ0FnSUh0eVpXNWtaWEpXWlhKemFXOXVTVzVtYnlncGZWeHVJQ0FnSUNBZ0lDQjdjbVZ1WkdWeVVIVmliR2x6YUdWa1NXNW1ieWdwZlZ4dUlDQWdJQ0FnSUNCN2NtVnVaR1Z5Um1sc1pWTnBlbVVvS1gxY2JpQWdJQ0FnSUNBZ2UzSmxibVJsY2t4cFkyVnVjMlZKYm1adktDbDlYRzRnSUNBZ0lDQThMMHhwYzNSSmRHVnRQbHh1SUNBZ0lEd3ZWM0poY0hCbGNqNWNiaUFnS1R0Y2JuMDdYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJRkJoWTJ0aFoyVTdYRzVjYm1OdmJuTjBJR2xqYjI1VGRIbHNaU0E5SUNoN0lIUm9aVzFsSUgwNklIc2dkR2hsYldVNklGUm9aVzFsSUgwcElEMCtJR056YzJCY2JpQWdiV0Z5WjJsdU9pQXdJREV3Y0hnZ01DQXdPMXh1SUNCbWFXeHNPaUFrZTNSb1pXMWxMbkJoYkdWMGRHVXViVzlrWlNBOVBUMGdKMnhwWjJoMEp5QS9JR2R5WlhsYk9UQXdYU0E2SUdOdmJXMXZiaTUzYUdsMFpYMDdYRzVnTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JXWlhKemFXOXVJRDBnYzNSNWJHVmtLRlpsY25OcGIyNHBZRnh1SUNBa2UybGpiMjVUZEhsc1pYMDdYRzVnTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JHYVd4bFFtbHVZWEo1SUQwZ2MzUjViR1ZrS0VacGJHVkNhVzVoY25rcFlGeHVJQ0FrZTJsamIyNVRkSGxzWlgwN1hHNWdPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUk1ZWGNnUFNCemRIbHNaV1FvVEdGM0tXQmNiaUFnSkh0cFkyOXVVM1I1YkdWOU8xeHVZRHRjYmx4dVkyOXVjM1FnVTNSNWJHVmtWR2x0WlNBOUlITjBlV3hsWkNoVWFXMWxLV0JjYmlBZ0pIdHBZMjl1VTNSNWJHVjlPMXh1WUR0Y2JpSmRmUT09ICovXCIpKTtcbnZhciBTdHlsZWRGaWxlQmluYXJ5ID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoRmlsZUJpbmFyeSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZWM0aWdsbjJcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZWM0aWdsbjJcIixcblx0bGFiZWw6IFwiU3R5bGVkRmlsZUJpbmFyeVwiXG59KShpY29uU3R5bGUsIFwiO1wiICsgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlRWVdOcllXZGxMMUJoWTJ0aFoyVXVkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVhOUU1rTWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDFCaFkydGhaMlV2VUdGamEyRm5aUzUwYzNnaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2V5QmpjM01nZlNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl5WldGamRDYzdYRzVwYlhCdmNuUWdjM1I1YkdWa0lHWnliMjBnSjBCbGJXOTBhVzl1TDNOMGVXeGxaQ2M3WEc1cGJYQnZjblFnUW5WblVtVndiM0owSUdaeWIyMGdKMEJ0ZFdrdmFXTnZibk10YldGMFpYSnBZV3d2UW5WblVtVndiM0owSnp0Y2JtbHRjRzl5ZENCRWIzZHViRzloWkVsamIyNGdabkp2YlNBblFHMTFhUzlwWTI5dWN5MXRZWFJsY21saGJDOURiRzkxWkVSdmQyNXNiMkZrSnp0Y2JtbHRjRzl5ZENCSWIyMWxTV052YmlCbWNtOXRJQ2RBYlhWcEwybGpiMjV6TFcxaGRHVnlhV0ZzTDBodmJXVW5PMXh1YVcxd2IzSjBJRU5wY21OMWJHRnlVSEp2WjNKbGMzTWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlEYVhKamRXeGhjbEJ5YjJkeVpYTnpKenRjYm1sdGNHOXlkQ0JIY21sa0lHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZSM0pwWkNjN1hHNXBiWEJ2Y25RZ1RHbHpkQ0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDB4cGMzUW5PMXh1YVcxd2IzSjBJRXhwYzNSSmRHVnRJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRFbDBaVzBuTzF4dWFXMXdiM0owSUZSdmIyeDBhWEFnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5VWIyOXNkR2x3Snp0Y2JtbHRjRzl5ZENCN0lHTnZiVzF2Yml3Z1ozSmxlU0I5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCU1pXRmpkQ3dnZXlCMWMyVkRZV3hzWW1GamF5QjlJR1p5YjIwZ0ozSmxZV04wSnp0Y2JtbHRjRzl5ZENCN0lIVnpaVlJ5WVc1emJHRjBhVzl1SUgwZ1puSnZiU0FuY21WaFkzUXRhVEU0Ym1WNGRDYzdYRzVjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaThuTzF4dWFXMXdiM0owSUhzZ1RHbHVheXdnVEdsdWEwVjRkR1Z5Ym1Gc0xDQjFjMlZFYjNkdWJHOWhaQ3dnZFhObFRXRnVhV1psYzNSeklIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCN0lFWnBiR1ZDYVc1aGNua3NJRXhoZHl3Z1ZHbHRaU3dnVm1WeWMybHZiaUI5SUdaeWIyMGdKeTR1THk0dUwyTnZiWEJ2Ym1WdWRITXZTV052Ym5Nbk8xeHVhVzF3YjNKMElIc2daMlYwUTI5dVptbG5kWEpoZEdsdmJpQjlJR1p5YjIwZ0p5NHVMeTR1TDJOdmJtWnBaM1Z5WVhScGIyNG5PMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QkJkWFJvYjNJZ1lYTWdVR0ZqYTJGblpVRjFkR2h2Y2lCOUlHWnliMjBnSnk0dUx5NHVMM0J5YjNacFpHVnljeTlOWVc1cFptVnpkSE5RY205MmFXUmxjaTlOWVc1cFptVnpkSE5RY205MmFXUmxjaWM3WEc1cGJYQnZjblFnZEhsd1pTQjdJRkJoWTJ0aFoyVk5aWFJoU1c1MFpYSm1ZV05sSUgwZ1puSnZiU0FuTGk0dkxpNHZkSGx3WlhNdmNHRmphMkZuWlUxbGRHRW5PMXh1YVcxd2IzSjBJSHNnVW05MWRHVXNJSFZ5YkN3Z2RYUnBiSE1nZlNCbWNtOXRJQ2N1TGk4dUxpOTFkR2xzY3ljN1hHNXBiWEJ2Y25RZ1MyVjVkMjl5WkV4cGMzUkpkR1Z0Y3lCbWNtOXRJQ2N1TGk5TFpYbDNiM0prY3k5TFpYbDNiM0prVEdsemRFbDBaVzF6Snp0Y2JtbHRjRzl5ZENCN1hHNGdJRUYxZEdodmNpeGNiaUFnUVhaaGRHRnlMRnh1SUNCRVpYTmpjbWx3ZEdsdmJpeGNiaUFnUkdWMFlXbHNjeXhjYmlBZ1IzSnBaRkpwWjJoMFFXeHBaMjVsWkN4Y2JpQWdTV052YmtKMWRIUnZiaXhjYmlBZ1QzWmxjblpwWlhkSmRHVnRMRnh1SUNCUVlXTnJZV2RsVEdsemRFbDBaVzFVWlhoMExGeHVJQ0JRWVdOcllXZGxWR2wwYkdVc1hHNGdJRkIxWW14cGMyaGxaQ3hjYmlBZ1YzSmhjSEJsY2l4Y2JpQWdWM0poY0hCbGNreHBibXNzWEc1OUlHWnliMjBnSnk0dmMzUjViR1Z6Snp0Y2JseHVhVzUwWlhKbVlXTmxJRUoxWjNNZ2UxeHVJQ0IxY213NklITjBjbWx1Wnp0Y2JuMWNibHh1YVc1MFpYSm1ZV05sSUVScGMzUWdlMXh1SUNCMWJuQmhZMnRsWkZOcGVtVTZJRzUxYldKbGNqdGNiaUFnZEdGeVltRnNiRG9nYzNSeWFXNW5PMXh1ZlZ4dVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElGQmhZMnRoWjJWSmJuUmxjbVpoWTJVZ2UxeHVJQ0J1WVcxbE9pQnpkSEpwYm1jN1hHNGdJSFpsY25OcGIyNDZJSE4wY21sdVp6dGNiaUFnZEdsdFpUODZJRzUxYldKbGNpQjhJSE4wY21sdVp6dGNiaUFnWVhWMGFHOXlPaUJRWVdOcllXZGxRWFYwYUc5eU8xeHVJQ0JrWlhOamNtbHdkR2x2Ymo4NklITjBjbWx1Wnp0Y2JpQWdhMlY1ZDI5eVpITS9PaUJRWVdOcllXZGxUV1YwWVVsdWRHVnlabUZqWlZzbmJHRjBaWE4wSjExYkoydGxlWGR2Y21SekoxMDdYRzRnSUd4cFkyVnVjMlUvT2lCUVlXTnJZV2RsVFdWMFlVbHVkR1Z5Wm1GalpWc25iR0YwWlhOMEoxMWJKMnhwWTJWdWMyVW5YVHRjYmlBZ2FHOXRaWEJoWjJVL09pQnpkSEpwYm1jN1hHNGdJR0oxWjNNL09pQkNkV2R6TzF4dUlDQmthWE4wUHpvZ1JHbHpkRHRjYmlBZ2MyaHZkMFJ2ZDI1c2IyRmtQem9nWW05dmJHVmhianRjYm4xY2JseHVZMjl1YzNRZ1VHRmphMkZuWlRvZ1VtVmhZM1F1UmtNOFVHRmphMkZuWlVsdWRHVnlabUZqWlQ0Z1BTQW9lMXh1SUNCaGRYUm9iM0k2SUhzZ2JtRnRaVG9nWVhWMGFHOXlUbUZ0WlN3Z1lYWmhkR0Z5T2lCaGRYUm9iM0pCZG1GMFlYSWdmU3hjYmlBZ1luVm5jeXhjYmlBZ1pHVnpZM0pwY0hScGIyNHNYRzRnSUdScGMzUXNYRzRnSUdodmJXVndZV2RsTEZ4dUlDQnJaWGwzYjNKa2N5eGNiaUFnYkdsalpXNXpaU3hjYmlBZ2JtRnRaVG9nY0dGamEyRm5aVTVoYldVc1hHNGdJSFJwYldVc1hHNGdJSE5vYjNkRWIzZHViRzloWkNBOUlIUnlkV1VzWEc0Z0lIWmxjbk5wYjI0c1hHNTlLU0E5UGlCN1hHNGdJR052Ym5OMElHTnZibVpwWnlBOUlHZGxkRU52Ym1acFozVnlZWFJwYjI0b0tUdGNiaUFnWTI5dWMzUWdleUIwSUgwZ1BTQjFjMlZVY21GdWMyeGhkR2x2YmlncE8xeHVJQ0JqYjI1emRDQjdJR2x6VEc5aFpHbHVaeUI5SUQwZ2RYTmxUV0Z1YVdabGMzUnpLQ2s3WEc0Z0lHTnZibk4wSUhzZ1pHOTNibXh2WVdSVVlYSmlZV3hzSUgwZ1BTQjFjMlZFYjNkdWJHOWhaQ2dwTzF4dVhHNGdJR052Ym5OMElHaGhibVJzWlVSdmQyNXNiMkZrSUQwZ2RYTmxRMkZzYkdKaFkyc29YRzRnSUNBZ1lYTjVibU1nS0hSaGNtSmhiR3hFYVhOME9pQnpkSEpwYm1jcElEMCtJSHRjYmlBZ0lDQWdJQzh2SUVaSldFMUZPaUJqYUdWamF5d2dkR2hsSUdScGMzUWdiV2xuYUhRZ1ltVWdaR2xtWm1WeVpXNTBJSFJvWVc1MElHNXdiV3B6WEc0Z0lDQWdJQ0JqYjI1emRDQnNhVzVySUQwZ2RHRnlZbUZzYkVScGMzUXVjbVZ3YkdGalpTaGdhSFIwY0hNNkx5OXlaV2RwYzNSeWVTNXVjRzFxY3k1dmNtY3ZZQ3dnWTI5dVptbG5MbUpoYzJVcE8xeHVJQ0FnSUNBZ1pHOTNibXh2WVdSVVlYSmlZV3hzUHk0b2V5QnNhVzVySUgwcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnVzJOdmJtWnBaeXdnWkc5M2JteHZZV1JVWVhKaVlXeHNYVnh1SUNBcE8xeHVYRzRnSUdOdmJuTjBJSEpsYm1SbGNsWmxjbk5wYjI1SmJtWnZJRDBnS0NrNklGSmxZV04wTGxKbFlXTjBUbTlrWlNBOVBseHVJQ0FnSUhabGNuTnBiMjRnSmlZZ0tGeHVJQ0FnSUNBZ1BFOTJaWEoyYVdWM1NYUmxiVDVjYmlBZ0lDQWdJQ0FnUEZOMGVXeGxaRlpsY25OcGIyNGdMejVjYmlBZ0lDQWdJQ0FnZTNRb0ozQmhZMnRoWjJVdWRtVnljMmx2Ymljc0lIc2dkbVZ5YzJsdmJpQjlLWDFjYmlBZ0lDQWdJRHd2VDNabGNuWnBaWGRKZEdWdFBseHVJQ0FnSUNrN1hHNWNiaUFnWTI5dWMzUWdjbVZ1WkdWeVFYVjBhRzl5U1c1bWJ5QTlJQ2dwT2lCU1pXRmpkQzVTWldGamRFNXZaR1VnUFQ0Z2UxeHVJQ0FnSUdOdmJuTjBJRzVoYldVZ1BTQjFkR2xzY3k1blpYUkJkWFJvYjNKT1lXMWxLR0YxZEdodmNrNWhiV1VwTzF4dUlDQWdJSEpsZEhWeWJpQW9YRzRnSUNBZ0lDQThUM1psY25acFpYZEpkR1Z0UGx4dUlDQWdJQ0FnSUNBOFFYVjBhRzl5UGx4dUlDQWdJQ0FnSUNBZ0lEeEJkbUYwWVhJZ1lXeDBQWHR1WVcxbGZTQnpjbU05ZTJGMWRHaHZja0YyWVhSaGNuMGdMejVjYmlBZ0lDQWdJQ0FnSUNBOFJHVjBZV2xzY3o1N2JtRnRaWDA4TDBSbGRHRnBiSE0rWEc0Z0lDQWdJQ0FnSUR3dlFYVjBhRzl5UGx4dUlDQWdJQ0FnUEM5UGRtVnlkbWxsZDBsMFpXMCtYRzRnSUNBZ0tUdGNiaUFnZlR0Y2JseHVJQ0JqYjI1emRDQnlaVzVrWlhKR2FXeGxVMmw2WlNBOUlDZ3BPaUJTWldGamRDNVNaV0ZqZEU1dlpHVWdQVDVjYmlBZ0lDQmthWE4wUHk1MWJuQmhZMnRsWkZOcGVtVWdKaVlnS0Z4dUlDQWdJQ0FnUEU5MlpYSjJhV1YzU1hSbGJUNWNiaUFnSUNBZ0lDQWdQRk4wZVd4bFpFWnBiR1ZDYVc1aGNua2dMejVjYmlBZ0lDQWdJQ0FnZTNWMGFXeHpMbVpwYkdWVGFYcGxVMGtvWkdsemRDNTFibkJoWTJ0bFpGTnBlbVVwZlZ4dUlDQWdJQ0FnUEM5UGRtVnlkbWxsZDBsMFpXMCtYRzRnSUNBZ0tUdGNibHh1SUNCamIyNXpkQ0J5Wlc1a1pYSk1hV05sYm5ObFNXNW1ieUE5SUNncE9pQlNaV0ZqZEM1U1pXRmpkRTV2WkdVZ1BUNWNiaUFnSUNCc2FXTmxibk5sSUNZbUlDaGNiaUFnSUNBZ0lEeFBkbVZ5ZG1sbGQwbDBaVzArWEc0Z0lDQWdJQ0FnSUR4VGRIbHNaV1JNWVhjZ0x6NWNiaUFnSUNBZ0lDQWdlMnhwWTJWdWMyVWdZWE1nYzNSeWFXNW5mVnh1SUNBZ0lDQWdQQzlQZG1WeWRtbGxkMGwwWlcwK1hHNGdJQ0FnS1R0Y2JseHVJQ0JqYjI1emRDQnlaVzVrWlhKUWRXSnNhWE5vWldSSmJtWnZJRDBnS0NrNklGSmxZV04wTGxKbFlXTjBUbTlrWlNBOVBseHVJQ0FnSUhScGJXVWdKaVlnS0Z4dUlDQWdJQ0FnUEU5MlpYSjJhV1YzU1hSbGJUNWNiaUFnSUNBZ0lDQWdQRk4wZVd4bFpGUnBiV1VnTHo1Y2JpQWdJQ0FnSUNBZ1BGQjFZbXhwYzJobFpDQjBhWFJzWlQxN2RYUnBiSE11Wm05eWJXRjBSR0YwWlNoMGFXMWxLWDArWEc0Z0lDQWdJQ0FnSUNBZ2UzUW9KM0JoWTJ0aFoyVXVjSFZpYkdsemFHVmtMVzl1Snl3Z2V5QjBhVzFsT2lCMWRHbHNjeTVtYjNKdFlYUkVZWFJsUkdsemRHRnVZMlVvZEdsdFpTa2dmU2w5WEc0Z0lDQWdJQ0FnSUR3dlVIVmliR2x6YUdWa1BseHVJQ0FnSUNBZ1BDOVBkbVZ5ZG1sbGQwbDBaVzArWEc0Z0lDQWdLVHRjYmx4dUlDQmpiMjV6ZENCeVpXNWtaWEpJYjIxbFVHRm5aVXhwYm1zZ1BTQW9LVG9nVW1WaFkzUXVVbVZoWTNST2IyUmxJRDArWEc0Z0lDQWdhRzl0WlhCaFoyVWdKaVpjYmlBZ0lDQjFjbXd1YVhOVlVrd29hRzl0WlhCaFoyVXBJQ1ltSUNoY2JpQWdJQ0FnSUR4TWFXNXJSWGgwWlhKdVlXd2dkRzg5ZTJodmJXVndZV2RsZlQ1Y2JpQWdJQ0FnSUNBZ1BGUnZiMngwYVhBZ1lYSnBZUzFzWVdKbGJEMTdkQ2duY0dGamEyRm5aUzVvYjIxbGNHRm5aU2NwZlNCMGFYUnNaVDE3ZENnbmNHRmphMkZuWlM1MmFYTnBkQzFvYjIxbExYQmhaMlVuS1gwK1hHNGdJQ0FnSUNBZ0lDQWdQRWxqYjI1Q2RYUjBiMjRnWVhKcFlTMXNZV0psYkQxN2RDZ25jR0ZqYTJGblpTNW9iMjFsY0dGblpTY3BmU0JqYjJ4dmNqMWNJbkJ5YVcxaGNubGNJaUJ6YVhwbFBWd2liR0Z5WjJWY0lqNWNiaUFnSUNBZ0lDQWdJQ0FnSUR4SWIyMWxTV052YmlBdlBseHVJQ0FnSUNBZ0lDQWdJRHd2U1dOdmJrSjFkSFJ2Ymo1Y2JpQWdJQ0FnSUNBZ1BDOVViMjlzZEdsd1BseHVJQ0FnSUNBZ1BDOU1hVzVyUlhoMFpYSnVZV3crWEc0Z0lDQWdLVHRjYmx4dUlDQmpiMjV6ZENCeVpXNWtaWEpDZFdkelRHbHVheUE5SUNncE9pQlNaV0ZqZEM1U1pXRmpkRTV2WkdVZ1BUNWNiaUFnSUNCaWRXZHpQeTUxY213Z0ppWmNiaUFnSUNCMWNtd3VhWE5WVWt3b1luVm5jeTUxY213cElDWW1JQ2hjYmlBZ0lDQWdJRHhNYVc1clJYaDBaWEp1WVd3Z2RHODllMkoxWjNNdWRYSnNmVDVjYmlBZ0lDQWdJQ0FnUEZSdmIyeDBhWEFnWVhKcFlTMXNZV0psYkQxN2RDZ25jR0ZqYTJGblpTNWlkV2R6SnlsOUlIUnBkR3hsUFh0MEtDZHdZV05yWVdkbExtOXdaVzR0WVc0dGFYTnpkV1VuS1gwK1hHNGdJQ0FnSUNBZ0lDQWdQRWxqYjI1Q2RYUjBiMjRnWVhKcFlTMXNZV0psYkQxN2RDZ25jR0ZqYTJGblpTNWlkV2R6SnlsOUlHTnZiRzl5UFZ3aWNISnBiV0Z5ZVZ3aUlITnBlbVU5WENKc1lYSm5aVndpUGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRUoxWjFKbGNHOXlkQ0F2UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZTV052YmtKMWRIUnZiajVjYmlBZ0lDQWdJQ0FnUEM5VWIyOXNkR2x3UGx4dUlDQWdJQ0FnUEM5TWFXNXJSWGgwWlhKdVlXdytYRzRnSUNBZ0tUdGNibHh1SUNCamIyNXpkQ0J5Wlc1a1pYSkViM2R1Ykc5aFpFeHBibXNnUFNBb0tUb2dVbVZoWTNRdVVtVmhZM1JPYjJSbElEMCtYRzRnSUNBZ1pHbHpkRDh1ZEdGeVltRnNiQ0FtSmx4dUlDQWdJSFZ5YkM1cGMxVlNUQ2hrYVhOMExuUmhjbUpoYkd3cElDWW1JQ2hjYmlBZ0lDQWdJRHhNYVc1clhHNGdJQ0FnSUNBZ0lHOXVRMnhwWTJzOWV5Z3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQm9ZVzVrYkdWRWIzZHViRzloWkNoa2FYTjBMblJoY21KaGJHd3BPMXh1SUNBZ0lDQWdJQ0I5ZlZ4dUlDQWdJQ0FnSUNCMGJ6MWNJaU5jSWx4dUlDQWdJQ0FnUGx4dUlDQWdJQ0FnSUNBOFZHOXZiSFJwY0Z4dUlDQWdJQ0FnSUNBZ0lHRnlhV0V0YkdGaVpXdzllM1FvSjNCaFkydGhaMlV1Wkc5M2JteHZZV1FuTENCN0lIZG9ZWFE2SUhRb0ozQmhZMnRoWjJVdWRHaGxMWFJoY2kxbWFXeGxKeWtnZlNsOVhHNGdJQ0FnSUNBZ0lDQWdkR2wwYkdVOWUzUW9KM0JoWTJ0aFoyVXVkR0Z5WW1Gc2JDY3BmVnh1SUNBZ0lDQWdJQ0ErWEc0Z0lDQWdJQ0FnSUNBZ1BFbGpiMjVDZFhSMGIyNWNiaUFnSUNBZ0lDQWdJQ0FnSUdGeWFXRXRiR0ZpWld3OWUzUW9KM0JoWTJ0aFoyVXVaRzkzYm14dllXUW5LWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZiRzl5UFZ3aWNISnBiV0Z5ZVZ3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWVhSaExYUmxjM1JwWkQxY0ltUnZkMjVzYjJGa0xYUmhjbUpoYkd4Y0lseHVJQ0FnSUNBZ0lDQWdJQ0FnYzJsNlpUMWNJbXhoY21kbFhDSmNiaUFnSUNBZ0lDQWdJQ0ErWEc0Z0lDQWdJQ0FnSUNBZ0lDQjdhWE5NYjJGa2FXNW5JRDhnUEVOcGNtTjFiR0Z5VUhKdlozSmxjM01nYzJsNlpUMTdNVE45SUM4K0lEb2dQRVJ2ZDI1c2IyRmtTV052YmlBdlBuMWNiaUFnSUNBZ0lDQWdJQ0E4TDBsamIyNUNkWFIwYjI0K1hHNGdJQ0FnSUNBZ0lEd3ZWRzl2YkhScGNENWNiaUFnSUNBZ0lEd3ZUR2x1YXo1Y2JpQWdJQ0FwTzF4dVhHNGdJR052Ym5OMElISmxibVJsY2xCeWFXMWhjbmxEYjIxd2IyNWxiblFnUFNBb0tUb2dVbVZoWTNRdVVtVmhZM1JPYjJSbElEMCtJSHRjYmlBZ0lDQnlaWFIxY200Z0tGeHVJQ0FnSUNBZ1BFZHlhV1FnWVd4cFoyNUpkR1Z0Y3oxY0ltTmxiblJsY2x3aUlHTnZiblJoYVc1bGNqMTdkSEoxWlgwZ2MybDZaVDE3ZXlCNGN6b2dNVElnZlgwZ2QzSmhjRDFjSW5keVlYQmNJajVjYmlBZ0lDQWdJQ0FnUEVkeWFXUWdjMmw2WlQxY0ltZHliM2RjSWo1Y2JpQWdJQ0FnSUNBZ0lDQThWM0poY0hCbGNreHBibXNnZEc4OWUyQWtlMUp2ZFhSbExrUkZWRUZKVEgwa2UzQmhZMnRoWjJWT1lXMWxmV0I5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRkJoWTJ0aFoyVlVhWFJzWlNCamJHRnpjMDVoYldVOVhDSndZV05yWVdkbExYUnBkR3hsWENJZ1pHRjBZUzEwWlhOMGFXUTlYQ0p3WVdOcllXZGxMWFJwZEd4bFhDSStYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIdHdZV05yWVdkbFRtRnRaWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lEd3ZVR0ZqYTJGblpWUnBkR3hsUGx4dUlDQWdJQ0FnSUNBZ0lEd3ZWM0poY0hCbGNreHBibXMrWEc0Z0lDQWdJQ0FnSUR3dlIzSnBaRDVjYmlBZ0lDQWdJQ0FnUEVkeWFXUlNhV2RvZEVGc2FXZHVaV1FnYzJsNlpUMWNJbUYxZEc5Y0lqNWNiaUFnSUNBZ0lDQWdJQ0I3Y21WdVpHVnlTRzl0WlZCaFoyVk1hVzVyS0NsOVhHNGdJQ0FnSUNBZ0lDQWdlM0psYm1SbGNrSjFaM05NYVc1cktDbDlYRzRnSUNBZ0lDQWdJQ0FnZTNOb2IzZEViM2R1Ykc5aFpDQW1KaUJ5Wlc1a1pYSkViM2R1Ykc5aFpFeHBibXNvS1gxY2JpQWdJQ0FnSUNBZ1BDOUhjbWxrVW1sbmFIUkJiR2xuYm1Wa1BseHVJQ0FnSUNBZ1BDOUhjbWxrUGx4dUlDQWdJQ2s3WEc0Z0lIMDdYRzVjYmlBZ1kyOXVjM1FnY21WdVpHVnlVMlZqYjI1a1lYSjVRMjl0Y0c5dVpXNTBJRDBnS0NrNklGSmxZV04wTGxKbFlXTjBUbTlrWlNBOVBpQThSR1Z6WTNKcGNIUnBiMjQrZTJSbGMyTnlhWEIwYVc5dWZUd3ZSR1Z6WTNKcGNIUnBiMjQrTzF4dVhHNGdJR052Ym5OMElISmxibVJsY2xCaFkydGhaMlZNYVhOMFNYUmxiVlJsZUhRZ1BTQW9LVG9nVW1WaFkzUXVVbVZoWTNST2IyUmxJRDArSUNoY2JpQWdJQ0E4VUdGamEyRm5aVXhwYzNSSmRHVnRWR1Y0ZEZ4dUlDQWdJQ0FnY0hKcGJXRnllVDE3Y21WdVpHVnlVSEpwYldGeWVVTnZiWEJ2Ym1WdWRDZ3BmVnh1SUNBZ0lDQWdjMlZqYjI1a1lYSjVQWHR5Wlc1a1pYSlRaV052Ym1SaGNubERiMjF3YjI1bGJuUW9LWDFjYmlBZ0lDQXZQbHh1SUNBcE8xeHVYRzRnSUdOdmJuTjBJSEpsYm1SbGNrdGxlWGR2Y21SeklEMGdLQ2s2SUZKbFlXTjBMbEpsWVdOMFRtOWtaU0E5UGlBb1hHNGdJQ0FnUEV4cGMzUkpkR1Z0SUdGc2FXZHVTWFJsYlhNOWV5ZG1iR1Y0TFhOMFlYSjBKMzBnYzNnOWUzc2djSGs2SURBc0lHMTVPaUF3SUgxOVBseHVJQ0FnSUNBZ1BFeHBjM1FnYzNnOWUzc2djRG9nTUN3Z2JYazZJREFnZlgwK1hHNGdJQ0FnSUNBZ0lEeExaWGwzYjNKa1RHbHpkRWwwWlcxeklHdGxlWGR2Y21SelBYdHJaWGwzYjNKa2MzMGdMejVjYmlBZ0lDQWdJRHd2VEdsemRENWNiaUFnSUNBOEwweHBjM1JKZEdWdFBseHVJQ0FwTzF4dVhHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BGZHlZWEJ3WlhJZ1kyeGhjM05PWVcxbFBYc25jR0ZqYTJGblpTZDlJR1JoZEdFdGRHVnpkR2xrUFZ3aWNHRmphMkZuWlMxcGRHVnRMV3hwYzNSY0lqNWNiaUFnSUNBZ0lEeE1hWE4wU1hSbGJTQmhiR2xuYmtsMFpXMXpQWHNuWm14bGVDMXpkR0Z5ZENkOUlITjRQWHQ3SUcxaU9pQXdJSDE5UGx4dUlDQWdJQ0FnSUNCN2NtVnVaR1Z5VUdGamEyRm5aVXhwYzNSSmRHVnRWR1Y0ZENncGZWeHVJQ0FnSUNBZ1BDOU1hWE4wU1hSbGJUNWNiaUFnSUNBZ0lIdHJaWGwzYjNKa2N5QW1KaUJyWlhsM2IzSmtjejh1YkdWdVozUm9JRDRnTUNBL0lISmxibVJsY2t0bGVYZHZjbVJ6S0NrZ09pQnVkV3hzZlZ4dUlDQWdJQ0FnUEV4cGMzUkpkR1Z0SUdGc2FXZHVTWFJsYlhNOWV5ZG1iR1Y0TFhOMFlYSjBKMzBnYzNnOWUzc2diWFE2SURBZ2ZYMCtYRzRnSUNBZ0lDQWdJSHR5Wlc1a1pYSkJkWFJvYjNKSmJtWnZLQ2w5WEc0Z0lDQWdJQ0FnSUh0eVpXNWtaWEpXWlhKemFXOXVTVzVtYnlncGZWeHVJQ0FnSUNBZ0lDQjdjbVZ1WkdWeVVIVmliR2x6YUdWa1NXNW1ieWdwZlZ4dUlDQWdJQ0FnSUNCN2NtVnVaR1Z5Um1sc1pWTnBlbVVvS1gxY2JpQWdJQ0FnSUNBZ2UzSmxibVJsY2t4cFkyVnVjMlZKYm1adktDbDlYRzRnSUNBZ0lDQThMMHhwYzNSSmRHVnRQbHh1SUNBZ0lEd3ZWM0poY0hCbGNqNWNiaUFnS1R0Y2JuMDdYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJRkJoWTJ0aFoyVTdYRzVjYm1OdmJuTjBJR2xqYjI1VGRIbHNaU0E5SUNoN0lIUm9aVzFsSUgwNklIc2dkR2hsYldVNklGUm9aVzFsSUgwcElEMCtJR056YzJCY2JpQWdiV0Z5WjJsdU9pQXdJREV3Y0hnZ01DQXdPMXh1SUNCbWFXeHNPaUFrZTNSb1pXMWxMbkJoYkdWMGRHVXViVzlrWlNBOVBUMGdKMnhwWjJoMEp5QS9JR2R5WlhsYk9UQXdYU0E2SUdOdmJXMXZiaTUzYUdsMFpYMDdYRzVnTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JXWlhKemFXOXVJRDBnYzNSNWJHVmtLRlpsY25OcGIyNHBZRnh1SUNBa2UybGpiMjVUZEhsc1pYMDdYRzVnTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JHYVd4bFFtbHVZWEo1SUQwZ2MzUjViR1ZrS0VacGJHVkNhVzVoY25rcFlGeHVJQ0FrZTJsamIyNVRkSGxzWlgwN1hHNWdPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUk1ZWGNnUFNCemRIbHNaV1FvVEdGM0tXQmNiaUFnSkh0cFkyOXVVM1I1YkdWOU8xeHVZRHRjYmx4dVkyOXVjM1FnVTNSNWJHVmtWR2x0WlNBOUlITjBlV3hsWkNoVWFXMWxLV0JjYmlBZ0pIdHBZMjl1VTNSNWJHVjlPMXh1WUR0Y2JpSmRmUT09ICovXCIpKTtcbnZhciBTdHlsZWRMYXcgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChMYXcsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVjNGlnbG4xXCIgfSA6IHtcblx0dGFyZ2V0OiBcImVjNGlnbG4xXCIsXG5cdGxhYmVsOiBcIlN0eWxlZExhd1wiXG59KShpY29uU3R5bGUsIFwiO1wiICsgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlRWVdOcllXZGxMMUJoWTJ0aFoyVXVkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVRCUU5rSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDFCaFkydGhaMlV2VUdGamEyRm5aUzUwYzNnaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2V5QmpjM01nZlNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl5WldGamRDYzdYRzVwYlhCdmNuUWdjM1I1YkdWa0lHWnliMjBnSjBCbGJXOTBhVzl1TDNOMGVXeGxaQ2M3WEc1cGJYQnZjblFnUW5WblVtVndiM0owSUdaeWIyMGdKMEJ0ZFdrdmFXTnZibk10YldGMFpYSnBZV3d2UW5WblVtVndiM0owSnp0Y2JtbHRjRzl5ZENCRWIzZHViRzloWkVsamIyNGdabkp2YlNBblFHMTFhUzlwWTI5dWN5MXRZWFJsY21saGJDOURiRzkxWkVSdmQyNXNiMkZrSnp0Y2JtbHRjRzl5ZENCSWIyMWxTV052YmlCbWNtOXRJQ2RBYlhWcEwybGpiMjV6TFcxaGRHVnlhV0ZzTDBodmJXVW5PMXh1YVcxd2IzSjBJRU5wY21OMWJHRnlVSEp2WjNKbGMzTWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlEYVhKamRXeGhjbEJ5YjJkeVpYTnpKenRjYm1sdGNHOXlkQ0JIY21sa0lHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZSM0pwWkNjN1hHNXBiWEJ2Y25RZ1RHbHpkQ0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDB4cGMzUW5PMXh1YVcxd2IzSjBJRXhwYzNSSmRHVnRJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRFbDBaVzBuTzF4dWFXMXdiM0owSUZSdmIyeDBhWEFnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5VWIyOXNkR2x3Snp0Y2JtbHRjRzl5ZENCN0lHTnZiVzF2Yml3Z1ozSmxlU0I5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCU1pXRmpkQ3dnZXlCMWMyVkRZV3hzWW1GamF5QjlJR1p5YjIwZ0ozSmxZV04wSnp0Y2JtbHRjRzl5ZENCN0lIVnpaVlJ5WVc1emJHRjBhVzl1SUgwZ1puSnZiU0FuY21WaFkzUXRhVEU0Ym1WNGRDYzdYRzVjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaThuTzF4dWFXMXdiM0owSUhzZ1RHbHVheXdnVEdsdWEwVjRkR1Z5Ym1Gc0xDQjFjMlZFYjNkdWJHOWhaQ3dnZFhObFRXRnVhV1psYzNSeklIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCN0lFWnBiR1ZDYVc1aGNua3NJRXhoZHl3Z1ZHbHRaU3dnVm1WeWMybHZiaUI5SUdaeWIyMGdKeTR1THk0dUwyTnZiWEJ2Ym1WdWRITXZTV052Ym5Nbk8xeHVhVzF3YjNKMElIc2daMlYwUTI5dVptbG5kWEpoZEdsdmJpQjlJR1p5YjIwZ0p5NHVMeTR1TDJOdmJtWnBaM1Z5WVhScGIyNG5PMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QkJkWFJvYjNJZ1lYTWdVR0ZqYTJGblpVRjFkR2h2Y2lCOUlHWnliMjBnSnk0dUx5NHVMM0J5YjNacFpHVnljeTlOWVc1cFptVnpkSE5RY205MmFXUmxjaTlOWVc1cFptVnpkSE5RY205MmFXUmxjaWM3WEc1cGJYQnZjblFnZEhsd1pTQjdJRkJoWTJ0aFoyVk5aWFJoU1c1MFpYSm1ZV05sSUgwZ1puSnZiU0FuTGk0dkxpNHZkSGx3WlhNdmNHRmphMkZuWlUxbGRHRW5PMXh1YVcxd2IzSjBJSHNnVW05MWRHVXNJSFZ5YkN3Z2RYUnBiSE1nZlNCbWNtOXRJQ2N1TGk4dUxpOTFkR2xzY3ljN1hHNXBiWEJ2Y25RZ1MyVjVkMjl5WkV4cGMzUkpkR1Z0Y3lCbWNtOXRJQ2N1TGk5TFpYbDNiM0prY3k5TFpYbDNiM0prVEdsemRFbDBaVzF6Snp0Y2JtbHRjRzl5ZENCN1hHNGdJRUYxZEdodmNpeGNiaUFnUVhaaGRHRnlMRnh1SUNCRVpYTmpjbWx3ZEdsdmJpeGNiaUFnUkdWMFlXbHNjeXhjYmlBZ1IzSnBaRkpwWjJoMFFXeHBaMjVsWkN4Y2JpQWdTV052YmtKMWRIUnZiaXhjYmlBZ1QzWmxjblpwWlhkSmRHVnRMRnh1SUNCUVlXTnJZV2RsVEdsemRFbDBaVzFVWlhoMExGeHVJQ0JRWVdOcllXZGxWR2wwYkdVc1hHNGdJRkIxWW14cGMyaGxaQ3hjYmlBZ1YzSmhjSEJsY2l4Y2JpQWdWM0poY0hCbGNreHBibXNzWEc1OUlHWnliMjBnSnk0dmMzUjViR1Z6Snp0Y2JseHVhVzUwWlhKbVlXTmxJRUoxWjNNZ2UxeHVJQ0IxY213NklITjBjbWx1Wnp0Y2JuMWNibHh1YVc1MFpYSm1ZV05sSUVScGMzUWdlMXh1SUNCMWJuQmhZMnRsWkZOcGVtVTZJRzUxYldKbGNqdGNiaUFnZEdGeVltRnNiRG9nYzNSeWFXNW5PMXh1ZlZ4dVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElGQmhZMnRoWjJWSmJuUmxjbVpoWTJVZ2UxeHVJQ0J1WVcxbE9pQnpkSEpwYm1jN1hHNGdJSFpsY25OcGIyNDZJSE4wY21sdVp6dGNiaUFnZEdsdFpUODZJRzUxYldKbGNpQjhJSE4wY21sdVp6dGNiaUFnWVhWMGFHOXlPaUJRWVdOcllXZGxRWFYwYUc5eU8xeHVJQ0JrWlhOamNtbHdkR2x2Ymo4NklITjBjbWx1Wnp0Y2JpQWdhMlY1ZDI5eVpITS9PaUJRWVdOcllXZGxUV1YwWVVsdWRHVnlabUZqWlZzbmJHRjBaWE4wSjExYkoydGxlWGR2Y21SekoxMDdYRzRnSUd4cFkyVnVjMlUvT2lCUVlXTnJZV2RsVFdWMFlVbHVkR1Z5Wm1GalpWc25iR0YwWlhOMEoxMWJKMnhwWTJWdWMyVW5YVHRjYmlBZ2FHOXRaWEJoWjJVL09pQnpkSEpwYm1jN1hHNGdJR0oxWjNNL09pQkNkV2R6TzF4dUlDQmthWE4wUHpvZ1JHbHpkRHRjYmlBZ2MyaHZkMFJ2ZDI1c2IyRmtQem9nWW05dmJHVmhianRjYm4xY2JseHVZMjl1YzNRZ1VHRmphMkZuWlRvZ1VtVmhZM1F1UmtNOFVHRmphMkZuWlVsdWRHVnlabUZqWlQ0Z1BTQW9lMXh1SUNCaGRYUm9iM0k2SUhzZ2JtRnRaVG9nWVhWMGFHOXlUbUZ0WlN3Z1lYWmhkR0Z5T2lCaGRYUm9iM0pCZG1GMFlYSWdmU3hjYmlBZ1luVm5jeXhjYmlBZ1pHVnpZM0pwY0hScGIyNHNYRzRnSUdScGMzUXNYRzRnSUdodmJXVndZV2RsTEZ4dUlDQnJaWGwzYjNKa2N5eGNiaUFnYkdsalpXNXpaU3hjYmlBZ2JtRnRaVG9nY0dGamEyRm5aVTVoYldVc1hHNGdJSFJwYldVc1hHNGdJSE5vYjNkRWIzZHViRzloWkNBOUlIUnlkV1VzWEc0Z0lIWmxjbk5wYjI0c1hHNTlLU0E5UGlCN1hHNGdJR052Ym5OMElHTnZibVpwWnlBOUlHZGxkRU52Ym1acFozVnlZWFJwYjI0b0tUdGNiaUFnWTI5dWMzUWdleUIwSUgwZ1BTQjFjMlZVY21GdWMyeGhkR2x2YmlncE8xeHVJQ0JqYjI1emRDQjdJR2x6VEc5aFpHbHVaeUI5SUQwZ2RYTmxUV0Z1YVdabGMzUnpLQ2s3WEc0Z0lHTnZibk4wSUhzZ1pHOTNibXh2WVdSVVlYSmlZV3hzSUgwZ1BTQjFjMlZFYjNkdWJHOWhaQ2dwTzF4dVhHNGdJR052Ym5OMElHaGhibVJzWlVSdmQyNXNiMkZrSUQwZ2RYTmxRMkZzYkdKaFkyc29YRzRnSUNBZ1lYTjVibU1nS0hSaGNtSmhiR3hFYVhOME9pQnpkSEpwYm1jcElEMCtJSHRjYmlBZ0lDQWdJQzh2SUVaSldFMUZPaUJqYUdWamF5d2dkR2hsSUdScGMzUWdiV2xuYUhRZ1ltVWdaR2xtWm1WeVpXNTBJSFJvWVc1MElHNXdiV3B6WEc0Z0lDQWdJQ0JqYjI1emRDQnNhVzVySUQwZ2RHRnlZbUZzYkVScGMzUXVjbVZ3YkdGalpTaGdhSFIwY0hNNkx5OXlaV2RwYzNSeWVTNXVjRzFxY3k1dmNtY3ZZQ3dnWTI5dVptbG5MbUpoYzJVcE8xeHVJQ0FnSUNBZ1pHOTNibXh2WVdSVVlYSmlZV3hzUHk0b2V5QnNhVzVySUgwcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnVzJOdmJtWnBaeXdnWkc5M2JteHZZV1JVWVhKaVlXeHNYVnh1SUNBcE8xeHVYRzRnSUdOdmJuTjBJSEpsYm1SbGNsWmxjbk5wYjI1SmJtWnZJRDBnS0NrNklGSmxZV04wTGxKbFlXTjBUbTlrWlNBOVBseHVJQ0FnSUhabGNuTnBiMjRnSmlZZ0tGeHVJQ0FnSUNBZ1BFOTJaWEoyYVdWM1NYUmxiVDVjYmlBZ0lDQWdJQ0FnUEZOMGVXeGxaRlpsY25OcGIyNGdMejVjYmlBZ0lDQWdJQ0FnZTNRb0ozQmhZMnRoWjJVdWRtVnljMmx2Ymljc0lIc2dkbVZ5YzJsdmJpQjlLWDFjYmlBZ0lDQWdJRHd2VDNabGNuWnBaWGRKZEdWdFBseHVJQ0FnSUNrN1hHNWNiaUFnWTI5dWMzUWdjbVZ1WkdWeVFYVjBhRzl5U1c1bWJ5QTlJQ2dwT2lCU1pXRmpkQzVTWldGamRFNXZaR1VnUFQ0Z2UxeHVJQ0FnSUdOdmJuTjBJRzVoYldVZ1BTQjFkR2xzY3k1blpYUkJkWFJvYjNKT1lXMWxLR0YxZEdodmNrNWhiV1VwTzF4dUlDQWdJSEpsZEhWeWJpQW9YRzRnSUNBZ0lDQThUM1psY25acFpYZEpkR1Z0UGx4dUlDQWdJQ0FnSUNBOFFYVjBhRzl5UGx4dUlDQWdJQ0FnSUNBZ0lEeEJkbUYwWVhJZ1lXeDBQWHR1WVcxbGZTQnpjbU05ZTJGMWRHaHZja0YyWVhSaGNuMGdMejVjYmlBZ0lDQWdJQ0FnSUNBOFJHVjBZV2xzY3o1N2JtRnRaWDA4TDBSbGRHRnBiSE0rWEc0Z0lDQWdJQ0FnSUR3dlFYVjBhRzl5UGx4dUlDQWdJQ0FnUEM5UGRtVnlkbWxsZDBsMFpXMCtYRzRnSUNBZ0tUdGNiaUFnZlR0Y2JseHVJQ0JqYjI1emRDQnlaVzVrWlhKR2FXeGxVMmw2WlNBOUlDZ3BPaUJTWldGamRDNVNaV0ZqZEU1dlpHVWdQVDVjYmlBZ0lDQmthWE4wUHk1MWJuQmhZMnRsWkZOcGVtVWdKaVlnS0Z4dUlDQWdJQ0FnUEU5MlpYSjJhV1YzU1hSbGJUNWNiaUFnSUNBZ0lDQWdQRk4wZVd4bFpFWnBiR1ZDYVc1aGNua2dMejVjYmlBZ0lDQWdJQ0FnZTNWMGFXeHpMbVpwYkdWVGFYcGxVMGtvWkdsemRDNTFibkJoWTJ0bFpGTnBlbVVwZlZ4dUlDQWdJQ0FnUEM5UGRtVnlkbWxsZDBsMFpXMCtYRzRnSUNBZ0tUdGNibHh1SUNCamIyNXpkQ0J5Wlc1a1pYSk1hV05sYm5ObFNXNW1ieUE5SUNncE9pQlNaV0ZqZEM1U1pXRmpkRTV2WkdVZ1BUNWNiaUFnSUNCc2FXTmxibk5sSUNZbUlDaGNiaUFnSUNBZ0lEeFBkbVZ5ZG1sbGQwbDBaVzArWEc0Z0lDQWdJQ0FnSUR4VGRIbHNaV1JNWVhjZ0x6NWNiaUFnSUNBZ0lDQWdlMnhwWTJWdWMyVWdZWE1nYzNSeWFXNW5mVnh1SUNBZ0lDQWdQQzlQZG1WeWRtbGxkMGwwWlcwK1hHNGdJQ0FnS1R0Y2JseHVJQ0JqYjI1emRDQnlaVzVrWlhKUWRXSnNhWE5vWldSSmJtWnZJRDBnS0NrNklGSmxZV04wTGxKbFlXTjBUbTlrWlNBOVBseHVJQ0FnSUhScGJXVWdKaVlnS0Z4dUlDQWdJQ0FnUEU5MlpYSjJhV1YzU1hSbGJUNWNiaUFnSUNBZ0lDQWdQRk4wZVd4bFpGUnBiV1VnTHo1Y2JpQWdJQ0FnSUNBZ1BGQjFZbXhwYzJobFpDQjBhWFJzWlQxN2RYUnBiSE11Wm05eWJXRjBSR0YwWlNoMGFXMWxLWDArWEc0Z0lDQWdJQ0FnSUNBZ2UzUW9KM0JoWTJ0aFoyVXVjSFZpYkdsemFHVmtMVzl1Snl3Z2V5QjBhVzFsT2lCMWRHbHNjeTVtYjNKdFlYUkVZWFJsUkdsemRHRnVZMlVvZEdsdFpTa2dmU2w5WEc0Z0lDQWdJQ0FnSUR3dlVIVmliR2x6YUdWa1BseHVJQ0FnSUNBZ1BDOVBkbVZ5ZG1sbGQwbDBaVzArWEc0Z0lDQWdLVHRjYmx4dUlDQmpiMjV6ZENCeVpXNWtaWEpJYjIxbFVHRm5aVXhwYm1zZ1BTQW9LVG9nVW1WaFkzUXVVbVZoWTNST2IyUmxJRDArWEc0Z0lDQWdhRzl0WlhCaFoyVWdKaVpjYmlBZ0lDQjFjbXd1YVhOVlVrd29hRzl0WlhCaFoyVXBJQ1ltSUNoY2JpQWdJQ0FnSUR4TWFXNXJSWGgwWlhKdVlXd2dkRzg5ZTJodmJXVndZV2RsZlQ1Y2JpQWdJQ0FnSUNBZ1BGUnZiMngwYVhBZ1lYSnBZUzFzWVdKbGJEMTdkQ2duY0dGamEyRm5aUzVvYjIxbGNHRm5aU2NwZlNCMGFYUnNaVDE3ZENnbmNHRmphMkZuWlM1MmFYTnBkQzFvYjIxbExYQmhaMlVuS1gwK1hHNGdJQ0FnSUNBZ0lDQWdQRWxqYjI1Q2RYUjBiMjRnWVhKcFlTMXNZV0psYkQxN2RDZ25jR0ZqYTJGblpTNW9iMjFsY0dGblpTY3BmU0JqYjJ4dmNqMWNJbkJ5YVcxaGNubGNJaUJ6YVhwbFBWd2liR0Z5WjJWY0lqNWNiaUFnSUNBZ0lDQWdJQ0FnSUR4SWIyMWxTV052YmlBdlBseHVJQ0FnSUNBZ0lDQWdJRHd2U1dOdmJrSjFkSFJ2Ymo1Y2JpQWdJQ0FnSUNBZ1BDOVViMjlzZEdsd1BseHVJQ0FnSUNBZ1BDOU1hVzVyUlhoMFpYSnVZV3crWEc0Z0lDQWdLVHRjYmx4dUlDQmpiMjV6ZENCeVpXNWtaWEpDZFdkelRHbHVheUE5SUNncE9pQlNaV0ZqZEM1U1pXRmpkRTV2WkdVZ1BUNWNiaUFnSUNCaWRXZHpQeTUxY213Z0ppWmNiaUFnSUNCMWNtd3VhWE5WVWt3b1luVm5jeTUxY213cElDWW1JQ2hjYmlBZ0lDQWdJRHhNYVc1clJYaDBaWEp1WVd3Z2RHODllMkoxWjNNdWRYSnNmVDVjYmlBZ0lDQWdJQ0FnUEZSdmIyeDBhWEFnWVhKcFlTMXNZV0psYkQxN2RDZ25jR0ZqYTJGblpTNWlkV2R6SnlsOUlIUnBkR3hsUFh0MEtDZHdZV05yWVdkbExtOXdaVzR0WVc0dGFYTnpkV1VuS1gwK1hHNGdJQ0FnSUNBZ0lDQWdQRWxqYjI1Q2RYUjBiMjRnWVhKcFlTMXNZV0psYkQxN2RDZ25jR0ZqYTJGblpTNWlkV2R6SnlsOUlHTnZiRzl5UFZ3aWNISnBiV0Z5ZVZ3aUlITnBlbVU5WENKc1lYSm5aVndpUGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRUoxWjFKbGNHOXlkQ0F2UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZTV052YmtKMWRIUnZiajVjYmlBZ0lDQWdJQ0FnUEM5VWIyOXNkR2x3UGx4dUlDQWdJQ0FnUEM5TWFXNXJSWGgwWlhKdVlXdytYRzRnSUNBZ0tUdGNibHh1SUNCamIyNXpkQ0J5Wlc1a1pYSkViM2R1Ykc5aFpFeHBibXNnUFNBb0tUb2dVbVZoWTNRdVVtVmhZM1JPYjJSbElEMCtYRzRnSUNBZ1pHbHpkRDh1ZEdGeVltRnNiQ0FtSmx4dUlDQWdJSFZ5YkM1cGMxVlNUQ2hrYVhOMExuUmhjbUpoYkd3cElDWW1JQ2hjYmlBZ0lDQWdJRHhNYVc1clhHNGdJQ0FnSUNBZ0lHOXVRMnhwWTJzOWV5Z3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQm9ZVzVrYkdWRWIzZHViRzloWkNoa2FYTjBMblJoY21KaGJHd3BPMXh1SUNBZ0lDQWdJQ0I5ZlZ4dUlDQWdJQ0FnSUNCMGJ6MWNJaU5jSWx4dUlDQWdJQ0FnUGx4dUlDQWdJQ0FnSUNBOFZHOXZiSFJwY0Z4dUlDQWdJQ0FnSUNBZ0lHRnlhV0V0YkdGaVpXdzllM1FvSjNCaFkydGhaMlV1Wkc5M2JteHZZV1FuTENCN0lIZG9ZWFE2SUhRb0ozQmhZMnRoWjJVdWRHaGxMWFJoY2kxbWFXeGxKeWtnZlNsOVhHNGdJQ0FnSUNBZ0lDQWdkR2wwYkdVOWUzUW9KM0JoWTJ0aFoyVXVkR0Z5WW1Gc2JDY3BmVnh1SUNBZ0lDQWdJQ0ErWEc0Z0lDQWdJQ0FnSUNBZ1BFbGpiMjVDZFhSMGIyNWNiaUFnSUNBZ0lDQWdJQ0FnSUdGeWFXRXRiR0ZpWld3OWUzUW9KM0JoWTJ0aFoyVXVaRzkzYm14dllXUW5LWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZiRzl5UFZ3aWNISnBiV0Z5ZVZ3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWVhSaExYUmxjM1JwWkQxY0ltUnZkMjVzYjJGa0xYUmhjbUpoYkd4Y0lseHVJQ0FnSUNBZ0lDQWdJQ0FnYzJsNlpUMWNJbXhoY21kbFhDSmNiaUFnSUNBZ0lDQWdJQ0ErWEc0Z0lDQWdJQ0FnSUNBZ0lDQjdhWE5NYjJGa2FXNW5JRDhnUEVOcGNtTjFiR0Z5VUhKdlozSmxjM01nYzJsNlpUMTdNVE45SUM4K0lEb2dQRVJ2ZDI1c2IyRmtTV052YmlBdlBuMWNiaUFnSUNBZ0lDQWdJQ0E4TDBsamIyNUNkWFIwYjI0K1hHNGdJQ0FnSUNBZ0lEd3ZWRzl2YkhScGNENWNiaUFnSUNBZ0lEd3ZUR2x1YXo1Y2JpQWdJQ0FwTzF4dVhHNGdJR052Ym5OMElISmxibVJsY2xCeWFXMWhjbmxEYjIxd2IyNWxiblFnUFNBb0tUb2dVbVZoWTNRdVVtVmhZM1JPYjJSbElEMCtJSHRjYmlBZ0lDQnlaWFIxY200Z0tGeHVJQ0FnSUNBZ1BFZHlhV1FnWVd4cFoyNUpkR1Z0Y3oxY0ltTmxiblJsY2x3aUlHTnZiblJoYVc1bGNqMTdkSEoxWlgwZ2MybDZaVDE3ZXlCNGN6b2dNVElnZlgwZ2QzSmhjRDFjSW5keVlYQmNJajVjYmlBZ0lDQWdJQ0FnUEVkeWFXUWdjMmw2WlQxY0ltZHliM2RjSWo1Y2JpQWdJQ0FnSUNBZ0lDQThWM0poY0hCbGNreHBibXNnZEc4OWUyQWtlMUp2ZFhSbExrUkZWRUZKVEgwa2UzQmhZMnRoWjJWT1lXMWxmV0I5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRkJoWTJ0aFoyVlVhWFJzWlNCamJHRnpjMDVoYldVOVhDSndZV05yWVdkbExYUnBkR3hsWENJZ1pHRjBZUzEwWlhOMGFXUTlYQ0p3WVdOcllXZGxMWFJwZEd4bFhDSStYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIdHdZV05yWVdkbFRtRnRaWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lEd3ZVR0ZqYTJGblpWUnBkR3hsUGx4dUlDQWdJQ0FnSUNBZ0lEd3ZWM0poY0hCbGNreHBibXMrWEc0Z0lDQWdJQ0FnSUR3dlIzSnBaRDVjYmlBZ0lDQWdJQ0FnUEVkeWFXUlNhV2RvZEVGc2FXZHVaV1FnYzJsNlpUMWNJbUYxZEc5Y0lqNWNiaUFnSUNBZ0lDQWdJQ0I3Y21WdVpHVnlTRzl0WlZCaFoyVk1hVzVyS0NsOVhHNGdJQ0FnSUNBZ0lDQWdlM0psYm1SbGNrSjFaM05NYVc1cktDbDlYRzRnSUNBZ0lDQWdJQ0FnZTNOb2IzZEViM2R1Ykc5aFpDQW1KaUJ5Wlc1a1pYSkViM2R1Ykc5aFpFeHBibXNvS1gxY2JpQWdJQ0FnSUNBZ1BDOUhjbWxrVW1sbmFIUkJiR2xuYm1Wa1BseHVJQ0FnSUNBZ1BDOUhjbWxrUGx4dUlDQWdJQ2s3WEc0Z0lIMDdYRzVjYmlBZ1kyOXVjM1FnY21WdVpHVnlVMlZqYjI1a1lYSjVRMjl0Y0c5dVpXNTBJRDBnS0NrNklGSmxZV04wTGxKbFlXTjBUbTlrWlNBOVBpQThSR1Z6WTNKcGNIUnBiMjQrZTJSbGMyTnlhWEIwYVc5dWZUd3ZSR1Z6WTNKcGNIUnBiMjQrTzF4dVhHNGdJR052Ym5OMElISmxibVJsY2xCaFkydGhaMlZNYVhOMFNYUmxiVlJsZUhRZ1BTQW9LVG9nVW1WaFkzUXVVbVZoWTNST2IyUmxJRDArSUNoY2JpQWdJQ0E4VUdGamEyRm5aVXhwYzNSSmRHVnRWR1Y0ZEZ4dUlDQWdJQ0FnY0hKcGJXRnllVDE3Y21WdVpHVnlVSEpwYldGeWVVTnZiWEJ2Ym1WdWRDZ3BmVnh1SUNBZ0lDQWdjMlZqYjI1a1lYSjVQWHR5Wlc1a1pYSlRaV052Ym1SaGNubERiMjF3YjI1bGJuUW9LWDFjYmlBZ0lDQXZQbHh1SUNBcE8xeHVYRzRnSUdOdmJuTjBJSEpsYm1SbGNrdGxlWGR2Y21SeklEMGdLQ2s2SUZKbFlXTjBMbEpsWVdOMFRtOWtaU0E5UGlBb1hHNGdJQ0FnUEV4cGMzUkpkR1Z0SUdGc2FXZHVTWFJsYlhNOWV5ZG1iR1Y0TFhOMFlYSjBKMzBnYzNnOWUzc2djSGs2SURBc0lHMTVPaUF3SUgxOVBseHVJQ0FnSUNBZ1BFeHBjM1FnYzNnOWUzc2djRG9nTUN3Z2JYazZJREFnZlgwK1hHNGdJQ0FnSUNBZ0lEeExaWGwzYjNKa1RHbHpkRWwwWlcxeklHdGxlWGR2Y21SelBYdHJaWGwzYjNKa2MzMGdMejVjYmlBZ0lDQWdJRHd2VEdsemRENWNiaUFnSUNBOEwweHBjM1JKZEdWdFBseHVJQ0FwTzF4dVhHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BGZHlZWEJ3WlhJZ1kyeGhjM05PWVcxbFBYc25jR0ZqYTJGblpTZDlJR1JoZEdFdGRHVnpkR2xrUFZ3aWNHRmphMkZuWlMxcGRHVnRMV3hwYzNSY0lqNWNiaUFnSUNBZ0lEeE1hWE4wU1hSbGJTQmhiR2xuYmtsMFpXMXpQWHNuWm14bGVDMXpkR0Z5ZENkOUlITjRQWHQ3SUcxaU9pQXdJSDE5UGx4dUlDQWdJQ0FnSUNCN2NtVnVaR1Z5VUdGamEyRm5aVXhwYzNSSmRHVnRWR1Y0ZENncGZWeHVJQ0FnSUNBZ1BDOU1hWE4wU1hSbGJUNWNiaUFnSUNBZ0lIdHJaWGwzYjNKa2N5QW1KaUJyWlhsM2IzSmtjejh1YkdWdVozUm9JRDRnTUNBL0lISmxibVJsY2t0bGVYZHZjbVJ6S0NrZ09pQnVkV3hzZlZ4dUlDQWdJQ0FnUEV4cGMzUkpkR1Z0SUdGc2FXZHVTWFJsYlhNOWV5ZG1iR1Y0TFhOMFlYSjBKMzBnYzNnOWUzc2diWFE2SURBZ2ZYMCtYRzRnSUNBZ0lDQWdJSHR5Wlc1a1pYSkJkWFJvYjNKSmJtWnZLQ2w5WEc0Z0lDQWdJQ0FnSUh0eVpXNWtaWEpXWlhKemFXOXVTVzVtYnlncGZWeHVJQ0FnSUNBZ0lDQjdjbVZ1WkdWeVVIVmliR2x6YUdWa1NXNW1ieWdwZlZ4dUlDQWdJQ0FnSUNCN2NtVnVaR1Z5Um1sc1pWTnBlbVVvS1gxY2JpQWdJQ0FnSUNBZ2UzSmxibVJsY2t4cFkyVnVjMlZKYm1adktDbDlYRzRnSUNBZ0lDQThMMHhwYzNSSmRHVnRQbHh1SUNBZ0lEd3ZWM0poY0hCbGNqNWNiaUFnS1R0Y2JuMDdYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJRkJoWTJ0aFoyVTdYRzVjYm1OdmJuTjBJR2xqYjI1VGRIbHNaU0E5SUNoN0lIUm9aVzFsSUgwNklIc2dkR2hsYldVNklGUm9aVzFsSUgwcElEMCtJR056YzJCY2JpQWdiV0Z5WjJsdU9pQXdJREV3Y0hnZ01DQXdPMXh1SUNCbWFXeHNPaUFrZTNSb1pXMWxMbkJoYkdWMGRHVXViVzlrWlNBOVBUMGdKMnhwWjJoMEp5QS9JR2R5WlhsYk9UQXdYU0E2SUdOdmJXMXZiaTUzYUdsMFpYMDdYRzVnTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JXWlhKemFXOXVJRDBnYzNSNWJHVmtLRlpsY25OcGIyNHBZRnh1SUNBa2UybGpiMjVUZEhsc1pYMDdYRzVnTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JHYVd4bFFtbHVZWEo1SUQwZ2MzUjViR1ZrS0VacGJHVkNhVzVoY25rcFlGeHVJQ0FrZTJsamIyNVRkSGxzWlgwN1hHNWdPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUk1ZWGNnUFNCemRIbHNaV1FvVEdGM0tXQmNiaUFnSkh0cFkyOXVVM1I1YkdWOU8xeHVZRHRjYmx4dVkyOXVjM1FnVTNSNWJHVmtWR2x0WlNBOUlITjBlV3hsWkNoVWFXMWxLV0JjYmlBZ0pIdHBZMjl1VTNSNWJHVjlPMXh1WUR0Y2JpSmRmUT09ICovXCIpKTtcbnZhciBTdHlsZWRUaW1lID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoVGltZSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZWM0aWdsbjBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZWM0aWdsbjBcIixcblx0bGFiZWw6IFwiU3R5bGVkVGltZVwiXG59KShpY29uU3R5bGUsIFwiO1wiICsgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlRWVdOcllXZGxMMUJoWTJ0aFoyVXVkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVRoUUswSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDFCaFkydGhaMlV2VUdGamEyRm5aUzUwYzNnaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2V5QmpjM01nZlNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl5WldGamRDYzdYRzVwYlhCdmNuUWdjM1I1YkdWa0lHWnliMjBnSjBCbGJXOTBhVzl1TDNOMGVXeGxaQ2M3WEc1cGJYQnZjblFnUW5WblVtVndiM0owSUdaeWIyMGdKMEJ0ZFdrdmFXTnZibk10YldGMFpYSnBZV3d2UW5WblVtVndiM0owSnp0Y2JtbHRjRzl5ZENCRWIzZHViRzloWkVsamIyNGdabkp2YlNBblFHMTFhUzlwWTI5dWN5MXRZWFJsY21saGJDOURiRzkxWkVSdmQyNXNiMkZrSnp0Y2JtbHRjRzl5ZENCSWIyMWxTV052YmlCbWNtOXRJQ2RBYlhWcEwybGpiMjV6TFcxaGRHVnlhV0ZzTDBodmJXVW5PMXh1YVcxd2IzSjBJRU5wY21OMWJHRnlVSEp2WjNKbGMzTWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlEYVhKamRXeGhjbEJ5YjJkeVpYTnpKenRjYm1sdGNHOXlkQ0JIY21sa0lHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZSM0pwWkNjN1hHNXBiWEJ2Y25RZ1RHbHpkQ0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDB4cGMzUW5PMXh1YVcxd2IzSjBJRXhwYzNSSmRHVnRJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRFbDBaVzBuTzF4dWFXMXdiM0owSUZSdmIyeDBhWEFnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5VWIyOXNkR2x3Snp0Y2JtbHRjRzl5ZENCN0lHTnZiVzF2Yml3Z1ozSmxlU0I5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCU1pXRmpkQ3dnZXlCMWMyVkRZV3hzWW1GamF5QjlJR1p5YjIwZ0ozSmxZV04wSnp0Y2JtbHRjRzl5ZENCN0lIVnpaVlJ5WVc1emJHRjBhVzl1SUgwZ1puSnZiU0FuY21WaFkzUXRhVEU0Ym1WNGRDYzdYRzVjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaThuTzF4dWFXMXdiM0owSUhzZ1RHbHVheXdnVEdsdWEwVjRkR1Z5Ym1Gc0xDQjFjMlZFYjNkdWJHOWhaQ3dnZFhObFRXRnVhV1psYzNSeklIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCN0lFWnBiR1ZDYVc1aGNua3NJRXhoZHl3Z1ZHbHRaU3dnVm1WeWMybHZiaUI5SUdaeWIyMGdKeTR1THk0dUwyTnZiWEJ2Ym1WdWRITXZTV052Ym5Nbk8xeHVhVzF3YjNKMElIc2daMlYwUTI5dVptbG5kWEpoZEdsdmJpQjlJR1p5YjIwZ0p5NHVMeTR1TDJOdmJtWnBaM1Z5WVhScGIyNG5PMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QkJkWFJvYjNJZ1lYTWdVR0ZqYTJGblpVRjFkR2h2Y2lCOUlHWnliMjBnSnk0dUx5NHVMM0J5YjNacFpHVnljeTlOWVc1cFptVnpkSE5RY205MmFXUmxjaTlOWVc1cFptVnpkSE5RY205MmFXUmxjaWM3WEc1cGJYQnZjblFnZEhsd1pTQjdJRkJoWTJ0aFoyVk5aWFJoU1c1MFpYSm1ZV05sSUgwZ1puSnZiU0FuTGk0dkxpNHZkSGx3WlhNdmNHRmphMkZuWlUxbGRHRW5PMXh1YVcxd2IzSjBJSHNnVW05MWRHVXNJSFZ5YkN3Z2RYUnBiSE1nZlNCbWNtOXRJQ2N1TGk4dUxpOTFkR2xzY3ljN1hHNXBiWEJ2Y25RZ1MyVjVkMjl5WkV4cGMzUkpkR1Z0Y3lCbWNtOXRJQ2N1TGk5TFpYbDNiM0prY3k5TFpYbDNiM0prVEdsemRFbDBaVzF6Snp0Y2JtbHRjRzl5ZENCN1hHNGdJRUYxZEdodmNpeGNiaUFnUVhaaGRHRnlMRnh1SUNCRVpYTmpjbWx3ZEdsdmJpeGNiaUFnUkdWMFlXbHNjeXhjYmlBZ1IzSnBaRkpwWjJoMFFXeHBaMjVsWkN4Y2JpQWdTV052YmtKMWRIUnZiaXhjYmlBZ1QzWmxjblpwWlhkSmRHVnRMRnh1SUNCUVlXTnJZV2RsVEdsemRFbDBaVzFVWlhoMExGeHVJQ0JRWVdOcllXZGxWR2wwYkdVc1hHNGdJRkIxWW14cGMyaGxaQ3hjYmlBZ1YzSmhjSEJsY2l4Y2JpQWdWM0poY0hCbGNreHBibXNzWEc1OUlHWnliMjBnSnk0dmMzUjViR1Z6Snp0Y2JseHVhVzUwWlhKbVlXTmxJRUoxWjNNZ2UxeHVJQ0IxY213NklITjBjbWx1Wnp0Y2JuMWNibHh1YVc1MFpYSm1ZV05sSUVScGMzUWdlMXh1SUNCMWJuQmhZMnRsWkZOcGVtVTZJRzUxYldKbGNqdGNiaUFnZEdGeVltRnNiRG9nYzNSeWFXNW5PMXh1ZlZ4dVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElGQmhZMnRoWjJWSmJuUmxjbVpoWTJVZ2UxeHVJQ0J1WVcxbE9pQnpkSEpwYm1jN1hHNGdJSFpsY25OcGIyNDZJSE4wY21sdVp6dGNiaUFnZEdsdFpUODZJRzUxYldKbGNpQjhJSE4wY21sdVp6dGNiaUFnWVhWMGFHOXlPaUJRWVdOcllXZGxRWFYwYUc5eU8xeHVJQ0JrWlhOamNtbHdkR2x2Ymo4NklITjBjbWx1Wnp0Y2JpQWdhMlY1ZDI5eVpITS9PaUJRWVdOcllXZGxUV1YwWVVsdWRHVnlabUZqWlZzbmJHRjBaWE4wSjExYkoydGxlWGR2Y21SekoxMDdYRzRnSUd4cFkyVnVjMlUvT2lCUVlXTnJZV2RsVFdWMFlVbHVkR1Z5Wm1GalpWc25iR0YwWlhOMEoxMWJKMnhwWTJWdWMyVW5YVHRjYmlBZ2FHOXRaWEJoWjJVL09pQnpkSEpwYm1jN1hHNGdJR0oxWjNNL09pQkNkV2R6TzF4dUlDQmthWE4wUHpvZ1JHbHpkRHRjYmlBZ2MyaHZkMFJ2ZDI1c2IyRmtQem9nWW05dmJHVmhianRjYm4xY2JseHVZMjl1YzNRZ1VHRmphMkZuWlRvZ1VtVmhZM1F1UmtNOFVHRmphMkZuWlVsdWRHVnlabUZqWlQ0Z1BTQW9lMXh1SUNCaGRYUm9iM0k2SUhzZ2JtRnRaVG9nWVhWMGFHOXlUbUZ0WlN3Z1lYWmhkR0Z5T2lCaGRYUm9iM0pCZG1GMFlYSWdmU3hjYmlBZ1luVm5jeXhjYmlBZ1pHVnpZM0pwY0hScGIyNHNYRzRnSUdScGMzUXNYRzRnSUdodmJXVndZV2RsTEZ4dUlDQnJaWGwzYjNKa2N5eGNiaUFnYkdsalpXNXpaU3hjYmlBZ2JtRnRaVG9nY0dGamEyRm5aVTVoYldVc1hHNGdJSFJwYldVc1hHNGdJSE5vYjNkRWIzZHViRzloWkNBOUlIUnlkV1VzWEc0Z0lIWmxjbk5wYjI0c1hHNTlLU0E5UGlCN1hHNGdJR052Ym5OMElHTnZibVpwWnlBOUlHZGxkRU52Ym1acFozVnlZWFJwYjI0b0tUdGNiaUFnWTI5dWMzUWdleUIwSUgwZ1BTQjFjMlZVY21GdWMyeGhkR2x2YmlncE8xeHVJQ0JqYjI1emRDQjdJR2x6VEc5aFpHbHVaeUI5SUQwZ2RYTmxUV0Z1YVdabGMzUnpLQ2s3WEc0Z0lHTnZibk4wSUhzZ1pHOTNibXh2WVdSVVlYSmlZV3hzSUgwZ1BTQjFjMlZFYjNkdWJHOWhaQ2dwTzF4dVhHNGdJR052Ym5OMElHaGhibVJzWlVSdmQyNXNiMkZrSUQwZ2RYTmxRMkZzYkdKaFkyc29YRzRnSUNBZ1lYTjVibU1nS0hSaGNtSmhiR3hFYVhOME9pQnpkSEpwYm1jcElEMCtJSHRjYmlBZ0lDQWdJQzh2SUVaSldFMUZPaUJqYUdWamF5d2dkR2hsSUdScGMzUWdiV2xuYUhRZ1ltVWdaR2xtWm1WeVpXNTBJSFJvWVc1MElHNXdiV3B6WEc0Z0lDQWdJQ0JqYjI1emRDQnNhVzVySUQwZ2RHRnlZbUZzYkVScGMzUXVjbVZ3YkdGalpTaGdhSFIwY0hNNkx5OXlaV2RwYzNSeWVTNXVjRzFxY3k1dmNtY3ZZQ3dnWTI5dVptbG5MbUpoYzJVcE8xeHVJQ0FnSUNBZ1pHOTNibXh2WVdSVVlYSmlZV3hzUHk0b2V5QnNhVzVySUgwcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnVzJOdmJtWnBaeXdnWkc5M2JteHZZV1JVWVhKaVlXeHNYVnh1SUNBcE8xeHVYRzRnSUdOdmJuTjBJSEpsYm1SbGNsWmxjbk5wYjI1SmJtWnZJRDBnS0NrNklGSmxZV04wTGxKbFlXTjBUbTlrWlNBOVBseHVJQ0FnSUhabGNuTnBiMjRnSmlZZ0tGeHVJQ0FnSUNBZ1BFOTJaWEoyYVdWM1NYUmxiVDVjYmlBZ0lDQWdJQ0FnUEZOMGVXeGxaRlpsY25OcGIyNGdMejVjYmlBZ0lDQWdJQ0FnZTNRb0ozQmhZMnRoWjJVdWRtVnljMmx2Ymljc0lIc2dkbVZ5YzJsdmJpQjlLWDFjYmlBZ0lDQWdJRHd2VDNabGNuWnBaWGRKZEdWdFBseHVJQ0FnSUNrN1hHNWNiaUFnWTI5dWMzUWdjbVZ1WkdWeVFYVjBhRzl5U1c1bWJ5QTlJQ2dwT2lCU1pXRmpkQzVTWldGamRFNXZaR1VnUFQ0Z2UxeHVJQ0FnSUdOdmJuTjBJRzVoYldVZ1BTQjFkR2xzY3k1blpYUkJkWFJvYjNKT1lXMWxLR0YxZEdodmNrNWhiV1VwTzF4dUlDQWdJSEpsZEhWeWJpQW9YRzRnSUNBZ0lDQThUM1psY25acFpYZEpkR1Z0UGx4dUlDQWdJQ0FnSUNBOFFYVjBhRzl5UGx4dUlDQWdJQ0FnSUNBZ0lEeEJkbUYwWVhJZ1lXeDBQWHR1WVcxbGZTQnpjbU05ZTJGMWRHaHZja0YyWVhSaGNuMGdMejVjYmlBZ0lDQWdJQ0FnSUNBOFJHVjBZV2xzY3o1N2JtRnRaWDA4TDBSbGRHRnBiSE0rWEc0Z0lDQWdJQ0FnSUR3dlFYVjBhRzl5UGx4dUlDQWdJQ0FnUEM5UGRtVnlkbWxsZDBsMFpXMCtYRzRnSUNBZ0tUdGNiaUFnZlR0Y2JseHVJQ0JqYjI1emRDQnlaVzVrWlhKR2FXeGxVMmw2WlNBOUlDZ3BPaUJTWldGamRDNVNaV0ZqZEU1dlpHVWdQVDVjYmlBZ0lDQmthWE4wUHk1MWJuQmhZMnRsWkZOcGVtVWdKaVlnS0Z4dUlDQWdJQ0FnUEU5MlpYSjJhV1YzU1hSbGJUNWNiaUFnSUNBZ0lDQWdQRk4wZVd4bFpFWnBiR1ZDYVc1aGNua2dMejVjYmlBZ0lDQWdJQ0FnZTNWMGFXeHpMbVpwYkdWVGFYcGxVMGtvWkdsemRDNTFibkJoWTJ0bFpGTnBlbVVwZlZ4dUlDQWdJQ0FnUEM5UGRtVnlkbWxsZDBsMFpXMCtYRzRnSUNBZ0tUdGNibHh1SUNCamIyNXpkQ0J5Wlc1a1pYSk1hV05sYm5ObFNXNW1ieUE5SUNncE9pQlNaV0ZqZEM1U1pXRmpkRTV2WkdVZ1BUNWNiaUFnSUNCc2FXTmxibk5sSUNZbUlDaGNiaUFnSUNBZ0lEeFBkbVZ5ZG1sbGQwbDBaVzArWEc0Z0lDQWdJQ0FnSUR4VGRIbHNaV1JNWVhjZ0x6NWNiaUFnSUNBZ0lDQWdlMnhwWTJWdWMyVWdZWE1nYzNSeWFXNW5mVnh1SUNBZ0lDQWdQQzlQZG1WeWRtbGxkMGwwWlcwK1hHNGdJQ0FnS1R0Y2JseHVJQ0JqYjI1emRDQnlaVzVrWlhKUWRXSnNhWE5vWldSSmJtWnZJRDBnS0NrNklGSmxZV04wTGxKbFlXTjBUbTlrWlNBOVBseHVJQ0FnSUhScGJXVWdKaVlnS0Z4dUlDQWdJQ0FnUEU5MlpYSjJhV1YzU1hSbGJUNWNiaUFnSUNBZ0lDQWdQRk4wZVd4bFpGUnBiV1VnTHo1Y2JpQWdJQ0FnSUNBZ1BGQjFZbXhwYzJobFpDQjBhWFJzWlQxN2RYUnBiSE11Wm05eWJXRjBSR0YwWlNoMGFXMWxLWDArWEc0Z0lDQWdJQ0FnSUNBZ2UzUW9KM0JoWTJ0aFoyVXVjSFZpYkdsemFHVmtMVzl1Snl3Z2V5QjBhVzFsT2lCMWRHbHNjeTVtYjNKdFlYUkVZWFJsUkdsemRHRnVZMlVvZEdsdFpTa2dmU2w5WEc0Z0lDQWdJQ0FnSUR3dlVIVmliR2x6YUdWa1BseHVJQ0FnSUNBZ1BDOVBkbVZ5ZG1sbGQwbDBaVzArWEc0Z0lDQWdLVHRjYmx4dUlDQmpiMjV6ZENCeVpXNWtaWEpJYjIxbFVHRm5aVXhwYm1zZ1BTQW9LVG9nVW1WaFkzUXVVbVZoWTNST2IyUmxJRDArWEc0Z0lDQWdhRzl0WlhCaFoyVWdKaVpjYmlBZ0lDQjFjbXd1YVhOVlVrd29hRzl0WlhCaFoyVXBJQ1ltSUNoY2JpQWdJQ0FnSUR4TWFXNXJSWGgwWlhKdVlXd2dkRzg5ZTJodmJXVndZV2RsZlQ1Y2JpQWdJQ0FnSUNBZ1BGUnZiMngwYVhBZ1lYSnBZUzFzWVdKbGJEMTdkQ2duY0dGamEyRm5aUzVvYjIxbGNHRm5aU2NwZlNCMGFYUnNaVDE3ZENnbmNHRmphMkZuWlM1MmFYTnBkQzFvYjIxbExYQmhaMlVuS1gwK1hHNGdJQ0FnSUNBZ0lDQWdQRWxqYjI1Q2RYUjBiMjRnWVhKcFlTMXNZV0psYkQxN2RDZ25jR0ZqYTJGblpTNW9iMjFsY0dGblpTY3BmU0JqYjJ4dmNqMWNJbkJ5YVcxaGNubGNJaUJ6YVhwbFBWd2liR0Z5WjJWY0lqNWNiaUFnSUNBZ0lDQWdJQ0FnSUR4SWIyMWxTV052YmlBdlBseHVJQ0FnSUNBZ0lDQWdJRHd2U1dOdmJrSjFkSFJ2Ymo1Y2JpQWdJQ0FnSUNBZ1BDOVViMjlzZEdsd1BseHVJQ0FnSUNBZ1BDOU1hVzVyUlhoMFpYSnVZV3crWEc0Z0lDQWdLVHRjYmx4dUlDQmpiMjV6ZENCeVpXNWtaWEpDZFdkelRHbHVheUE5SUNncE9pQlNaV0ZqZEM1U1pXRmpkRTV2WkdVZ1BUNWNiaUFnSUNCaWRXZHpQeTUxY213Z0ppWmNiaUFnSUNCMWNtd3VhWE5WVWt3b1luVm5jeTUxY213cElDWW1JQ2hjYmlBZ0lDQWdJRHhNYVc1clJYaDBaWEp1WVd3Z2RHODllMkoxWjNNdWRYSnNmVDVjYmlBZ0lDQWdJQ0FnUEZSdmIyeDBhWEFnWVhKcFlTMXNZV0psYkQxN2RDZ25jR0ZqYTJGblpTNWlkV2R6SnlsOUlIUnBkR3hsUFh0MEtDZHdZV05yWVdkbExtOXdaVzR0WVc0dGFYTnpkV1VuS1gwK1hHNGdJQ0FnSUNBZ0lDQWdQRWxqYjI1Q2RYUjBiMjRnWVhKcFlTMXNZV0psYkQxN2RDZ25jR0ZqYTJGblpTNWlkV2R6SnlsOUlHTnZiRzl5UFZ3aWNISnBiV0Z5ZVZ3aUlITnBlbVU5WENKc1lYSm5aVndpUGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRUoxWjFKbGNHOXlkQ0F2UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZTV052YmtKMWRIUnZiajVjYmlBZ0lDQWdJQ0FnUEM5VWIyOXNkR2x3UGx4dUlDQWdJQ0FnUEM5TWFXNXJSWGgwWlhKdVlXdytYRzRnSUNBZ0tUdGNibHh1SUNCamIyNXpkQ0J5Wlc1a1pYSkViM2R1Ykc5aFpFeHBibXNnUFNBb0tUb2dVbVZoWTNRdVVtVmhZM1JPYjJSbElEMCtYRzRnSUNBZ1pHbHpkRDh1ZEdGeVltRnNiQ0FtSmx4dUlDQWdJSFZ5YkM1cGMxVlNUQ2hrYVhOMExuUmhjbUpoYkd3cElDWW1JQ2hjYmlBZ0lDQWdJRHhNYVc1clhHNGdJQ0FnSUNBZ0lHOXVRMnhwWTJzOWV5Z3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQm9ZVzVrYkdWRWIzZHViRzloWkNoa2FYTjBMblJoY21KaGJHd3BPMXh1SUNBZ0lDQWdJQ0I5ZlZ4dUlDQWdJQ0FnSUNCMGJ6MWNJaU5jSWx4dUlDQWdJQ0FnUGx4dUlDQWdJQ0FnSUNBOFZHOXZiSFJwY0Z4dUlDQWdJQ0FnSUNBZ0lHRnlhV0V0YkdGaVpXdzllM1FvSjNCaFkydGhaMlV1Wkc5M2JteHZZV1FuTENCN0lIZG9ZWFE2SUhRb0ozQmhZMnRoWjJVdWRHaGxMWFJoY2kxbWFXeGxKeWtnZlNsOVhHNGdJQ0FnSUNBZ0lDQWdkR2wwYkdVOWUzUW9KM0JoWTJ0aFoyVXVkR0Z5WW1Gc2JDY3BmVnh1SUNBZ0lDQWdJQ0ErWEc0Z0lDQWdJQ0FnSUNBZ1BFbGpiMjVDZFhSMGIyNWNiaUFnSUNBZ0lDQWdJQ0FnSUdGeWFXRXRiR0ZpWld3OWUzUW9KM0JoWTJ0aFoyVXVaRzkzYm14dllXUW5LWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZiRzl5UFZ3aWNISnBiV0Z5ZVZ3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWVhSaExYUmxjM1JwWkQxY0ltUnZkMjVzYjJGa0xYUmhjbUpoYkd4Y0lseHVJQ0FnSUNBZ0lDQWdJQ0FnYzJsNlpUMWNJbXhoY21kbFhDSmNiaUFnSUNBZ0lDQWdJQ0ErWEc0Z0lDQWdJQ0FnSUNBZ0lDQjdhWE5NYjJGa2FXNW5JRDhnUEVOcGNtTjFiR0Z5VUhKdlozSmxjM01nYzJsNlpUMTdNVE45SUM4K0lEb2dQRVJ2ZDI1c2IyRmtTV052YmlBdlBuMWNiaUFnSUNBZ0lDQWdJQ0E4TDBsamIyNUNkWFIwYjI0K1hHNGdJQ0FnSUNBZ0lEd3ZWRzl2YkhScGNENWNiaUFnSUNBZ0lEd3ZUR2x1YXo1Y2JpQWdJQ0FwTzF4dVhHNGdJR052Ym5OMElISmxibVJsY2xCeWFXMWhjbmxEYjIxd2IyNWxiblFnUFNBb0tUb2dVbVZoWTNRdVVtVmhZM1JPYjJSbElEMCtJSHRjYmlBZ0lDQnlaWFIxY200Z0tGeHVJQ0FnSUNBZ1BFZHlhV1FnWVd4cFoyNUpkR1Z0Y3oxY0ltTmxiblJsY2x3aUlHTnZiblJoYVc1bGNqMTdkSEoxWlgwZ2MybDZaVDE3ZXlCNGN6b2dNVElnZlgwZ2QzSmhjRDFjSW5keVlYQmNJajVjYmlBZ0lDQWdJQ0FnUEVkeWFXUWdjMmw2WlQxY0ltZHliM2RjSWo1Y2JpQWdJQ0FnSUNBZ0lDQThWM0poY0hCbGNreHBibXNnZEc4OWUyQWtlMUp2ZFhSbExrUkZWRUZKVEgwa2UzQmhZMnRoWjJWT1lXMWxmV0I5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRkJoWTJ0aFoyVlVhWFJzWlNCamJHRnpjMDVoYldVOVhDSndZV05yWVdkbExYUnBkR3hsWENJZ1pHRjBZUzEwWlhOMGFXUTlYQ0p3WVdOcllXZGxMWFJwZEd4bFhDSStYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIdHdZV05yWVdkbFRtRnRaWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lEd3ZVR0ZqYTJGblpWUnBkR3hsUGx4dUlDQWdJQ0FnSUNBZ0lEd3ZWM0poY0hCbGNreHBibXMrWEc0Z0lDQWdJQ0FnSUR3dlIzSnBaRDVjYmlBZ0lDQWdJQ0FnUEVkeWFXUlNhV2RvZEVGc2FXZHVaV1FnYzJsNlpUMWNJbUYxZEc5Y0lqNWNiaUFnSUNBZ0lDQWdJQ0I3Y21WdVpHVnlTRzl0WlZCaFoyVk1hVzVyS0NsOVhHNGdJQ0FnSUNBZ0lDQWdlM0psYm1SbGNrSjFaM05NYVc1cktDbDlYRzRnSUNBZ0lDQWdJQ0FnZTNOb2IzZEViM2R1Ykc5aFpDQW1KaUJ5Wlc1a1pYSkViM2R1Ykc5aFpFeHBibXNvS1gxY2JpQWdJQ0FnSUNBZ1BDOUhjbWxrVW1sbmFIUkJiR2xuYm1Wa1BseHVJQ0FnSUNBZ1BDOUhjbWxrUGx4dUlDQWdJQ2s3WEc0Z0lIMDdYRzVjYmlBZ1kyOXVjM1FnY21WdVpHVnlVMlZqYjI1a1lYSjVRMjl0Y0c5dVpXNTBJRDBnS0NrNklGSmxZV04wTGxKbFlXTjBUbTlrWlNBOVBpQThSR1Z6WTNKcGNIUnBiMjQrZTJSbGMyTnlhWEIwYVc5dWZUd3ZSR1Z6WTNKcGNIUnBiMjQrTzF4dVhHNGdJR052Ym5OMElISmxibVJsY2xCaFkydGhaMlZNYVhOMFNYUmxiVlJsZUhRZ1BTQW9LVG9nVW1WaFkzUXVVbVZoWTNST2IyUmxJRDArSUNoY2JpQWdJQ0E4VUdGamEyRm5aVXhwYzNSSmRHVnRWR1Y0ZEZ4dUlDQWdJQ0FnY0hKcGJXRnllVDE3Y21WdVpHVnlVSEpwYldGeWVVTnZiWEJ2Ym1WdWRDZ3BmVnh1SUNBZ0lDQWdjMlZqYjI1a1lYSjVQWHR5Wlc1a1pYSlRaV052Ym1SaGNubERiMjF3YjI1bGJuUW9LWDFjYmlBZ0lDQXZQbHh1SUNBcE8xeHVYRzRnSUdOdmJuTjBJSEpsYm1SbGNrdGxlWGR2Y21SeklEMGdLQ2s2SUZKbFlXTjBMbEpsWVdOMFRtOWtaU0E5UGlBb1hHNGdJQ0FnUEV4cGMzUkpkR1Z0SUdGc2FXZHVTWFJsYlhNOWV5ZG1iR1Y0TFhOMFlYSjBKMzBnYzNnOWUzc2djSGs2SURBc0lHMTVPaUF3SUgxOVBseHVJQ0FnSUNBZ1BFeHBjM1FnYzNnOWUzc2djRG9nTUN3Z2JYazZJREFnZlgwK1hHNGdJQ0FnSUNBZ0lEeExaWGwzYjNKa1RHbHpkRWwwWlcxeklHdGxlWGR2Y21SelBYdHJaWGwzYjNKa2MzMGdMejVjYmlBZ0lDQWdJRHd2VEdsemRENWNiaUFnSUNBOEwweHBjM1JKZEdWdFBseHVJQ0FwTzF4dVhHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BGZHlZWEJ3WlhJZ1kyeGhjM05PWVcxbFBYc25jR0ZqYTJGblpTZDlJR1JoZEdFdGRHVnpkR2xrUFZ3aWNHRmphMkZuWlMxcGRHVnRMV3hwYzNSY0lqNWNiaUFnSUNBZ0lEeE1hWE4wU1hSbGJTQmhiR2xuYmtsMFpXMXpQWHNuWm14bGVDMXpkR0Z5ZENkOUlITjRQWHQ3SUcxaU9pQXdJSDE5UGx4dUlDQWdJQ0FnSUNCN2NtVnVaR1Z5VUdGamEyRm5aVXhwYzNSSmRHVnRWR1Y0ZENncGZWeHVJQ0FnSUNBZ1BDOU1hWE4wU1hSbGJUNWNiaUFnSUNBZ0lIdHJaWGwzYjNKa2N5QW1KaUJyWlhsM2IzSmtjejh1YkdWdVozUm9JRDRnTUNBL0lISmxibVJsY2t0bGVYZHZjbVJ6S0NrZ09pQnVkV3hzZlZ4dUlDQWdJQ0FnUEV4cGMzUkpkR1Z0SUdGc2FXZHVTWFJsYlhNOWV5ZG1iR1Y0TFhOMFlYSjBKMzBnYzNnOWUzc2diWFE2SURBZ2ZYMCtYRzRnSUNBZ0lDQWdJSHR5Wlc1a1pYSkJkWFJvYjNKSmJtWnZLQ2w5WEc0Z0lDQWdJQ0FnSUh0eVpXNWtaWEpXWlhKemFXOXVTVzVtYnlncGZWeHVJQ0FnSUNBZ0lDQjdjbVZ1WkdWeVVIVmliR2x6YUdWa1NXNW1ieWdwZlZ4dUlDQWdJQ0FnSUNCN2NtVnVaR1Z5Um1sc1pWTnBlbVVvS1gxY2JpQWdJQ0FnSUNBZ2UzSmxibVJsY2t4cFkyVnVjMlZKYm1adktDbDlYRzRnSUNBZ0lDQThMMHhwYzNSSmRHVnRQbHh1SUNBZ0lEd3ZWM0poY0hCbGNqNWNiaUFnS1R0Y2JuMDdYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJRkJoWTJ0aFoyVTdYRzVjYm1OdmJuTjBJR2xqYjI1VGRIbHNaU0E5SUNoN0lIUm9aVzFsSUgwNklIc2dkR2hsYldVNklGUm9aVzFsSUgwcElEMCtJR056YzJCY2JpQWdiV0Z5WjJsdU9pQXdJREV3Y0hnZ01DQXdPMXh1SUNCbWFXeHNPaUFrZTNSb1pXMWxMbkJoYkdWMGRHVXViVzlrWlNBOVBUMGdKMnhwWjJoMEp5QS9JR2R5WlhsYk9UQXdYU0E2SUdOdmJXMXZiaTUzYUdsMFpYMDdYRzVnTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JXWlhKemFXOXVJRDBnYzNSNWJHVmtLRlpsY25OcGIyNHBZRnh1SUNBa2UybGpiMjVUZEhsc1pYMDdYRzVnTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JHYVd4bFFtbHVZWEo1SUQwZ2MzUjViR1ZrS0VacGJHVkNhVzVoY25rcFlGeHVJQ0FrZTJsamIyNVRkSGxzWlgwN1hHNWdPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUk1ZWGNnUFNCemRIbHNaV1FvVEdGM0tXQmNiaUFnSkh0cFkyOXVVM1I1YkdWOU8xeHVZRHRjYmx4dVkyOXVjM1FnVTNSNWJHVmtWR2x0WlNBOUlITjBlV3hsWkNoVWFXMWxLV0JjYmlBZ0pIdHBZMjl1VTNSNWJHVjlPMXh1WUR0Y2JpSmRmUT09ICovXCIpKTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgUGFja2FnZSBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVBhY2thZ2UubWpzLm1hcCIsImltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IENhcmQgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQ2FyZFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0hlbHAvc3R5bGVzLnRzXG5mdW5jdGlvbiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXygpIHtcblx0cmV0dXJuIFwiWW91IGhhdmUgdHJpZWQgdG8gc3RyaW5naWZ5IG9iamVjdCByZXR1cm5lZCBmcm9tIGBjc3NgIGZ1bmN0aW9uLiBJdCBpc24ndCBzdXBwb3NlZCB0byBiZSB1c2VkIGRpcmVjdGx5IChlLmcuIGFzIHZhbHVlIG9mIHRoZSBgY2xhc3NOYW1lYCBwcm9wKSwgYnV0IHJhdGhlciBoYW5kZWQgdG8gZW1vdGlvbiBzbyBpdCBjYW4gaGFuZGxlIGl0IChlLmcuIGFzIHZhbHVlIG9mIGBjc3NgIHByb3ApLlwiO1xufVxudmFyIENhcmRTdHlsZWQgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChDYXJkLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMWNwOXFvYTBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTFjcDlxb2EwXCIsXG5cdGxhYmVsOiBcIkNhcmRTdHlsZWRcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcImI3cWFiZVwiLFxuXHRzdHlsZXM6IFwibWF4LXdpZHRoOjYwMHB4O21hcmdpbjphdXRvXCJcbn0gOiB7XG5cdG5hbWU6IFwiYjdxYWJlXCIsXG5cdHN0eWxlczogXCJtYXgtd2lkdGg6NjAwcHg7bWFyZ2luOmF1dG8vKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5SVpXeHdMM04wZVd4bGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZITUVJaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OWpiMjF3YjI1bGJuUnpMMGhsYkhBdmMzUjViR1Z6TG5Seklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElITjBlV3hsWkNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl6ZEhsc1pXUW5PMXh1YVcxd2IzSjBJRU5oY21RZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOURZWEprSnp0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVOaGNtUlRkSGxzWldRZ1BTQnpkSGxzWldRb1EyRnlaQ2tvZTF4dUlDQnRZWGhYYVdSMGFEb2dOakF3TEZ4dUlDQnRZWEpuYVc0NklDZGhkWFJ2Snl4Y2JuMHBPMXh1SWwxOSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBDYXJkU3R5bGVkIH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0eWxlcy5tanMubWFwIiwiaW1wb3J0IENvcHlUb0NsaXBCb2FyZCBmcm9tIFwiLi4vQ29weUNsaXBib2FyZC9Db3B5VG9DbGlwQm9hcmQubWpzXCI7XG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL0FwcENvbmZpZ3VyYXRpb25Qcm92aWRlci9BcHBDb25maWd1cmF0aW9uUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgSGVhZGluZyBmcm9tIFwiLi4vSGVhZGluZy9IZWFkaW5nLm1qc1wiO1xuaW1wb3J0IHsgQ2FyZFN0eWxlZCB9IGZyb20gXCIuL3N0eWxlcy5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2luZGV4Lm1qc1wiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBGcmFnbWVudCBhcyBGcmFnbWVudCQxIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgVHlwb2dyYXBoeSBmcm9tIFwiQG11aS9tYXRlcmlhbC9UeXBvZ3JhcGh5XCI7XG5pbXBvcnQgQ2FyZENvbnRlbnQgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQ2FyZENvbnRlbnRcIjtcbmltcG9ydCBCdXR0b24gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQnV0dG9uXCI7XG5pbXBvcnQgQ2FyZEFjdGlvbnMgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQ2FyZEFjdGlvbnNcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9IZWxwL0hlbHAudHN4XG5mdW5jdGlvbiByZW5kZXJIZWFkaW5nQ2xpcGJvYXJkU2VnbWVudHModGl0bGUsIHRleHQpIHtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKEZyYWdtZW50JDEsIHsgY2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KFR5cG9ncmFwaHksIHtcblx0XHR2YXJpYW50OiBcImJvZHkxXCIsXG5cdFx0Y2hpbGRyZW46IHRpdGxlXG5cdH0pLCAvKiBAX19QVVJFX18gKi8ganN4KENvcHlUb0NsaXBCb2FyZCwge1xuXHRcdGRhdGFUZXN0SWQ6IFwic2VnbWVudHNcIixcblx0XHR0ZXh0XG5cdH0pXSB9KTtcbn1cbnZhciBIZWxwID0gKCkgPT4ge1xuXHRjb25zdCB7IGNvbmZpZ09wdGlvbnMgfSA9IHVzZUNvbmZpZygpO1xuXHRjb25zdCByZWdpc3RyeVVybCA9IGNvbmZpZ09wdGlvbnMuYmFzZTtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoQ2FyZFN0eWxlZCwge1xuXHRcdFwiZGF0YS10ZXN0aWRcIjogXCJoZWxwLWNhcmRcIixcblx0XHRpZDogXCJoZWxwLWNhcmRcIixcblx0XHRjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3hzKENhcmRDb250ZW50LCB7IGNoaWxkcmVuOiBbXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KEhlYWRpbmcsIHtcblx0XHRcdFx0Z3V0dGVyQm90dG9tOiB0cnVlLFxuXHRcdFx0XHRpZDogXCJoZWxwLWNhcmRfX3RpdGxlXCIsXG5cdFx0XHRcdHZhcmlhbnQ6IFwiaDVcIixcblx0XHRcdFx0Y2hpbGRyZW46IHQoXCJoZWxwLnRpdGxlXCIpXG5cdFx0XHR9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goSGVhZGluZywge1xuXHRcdFx0XHRjb2xvcjogXCJ0ZXh0U2Vjb25kYXJ5XCIsXG5cdFx0XHRcdGd1dHRlckJvdHRvbTogdHJ1ZSxcblx0XHRcdFx0c3g6IHsgbWFyZ2luQm90dG9tOiAxIH0sXG5cdFx0XHRcdGNoaWxkcmVuOiB0KFwiaGVscC5zdWItdGl0bGVcIilcblx0XHRcdH0pLFxuXHRcdFx0cmVuZGVySGVhZGluZ0NsaXBib2FyZFNlZ21lbnRzKHQoXCJoZWxwLmZpcnN0LXN0ZXBcIiksIHQoXCJoZWxwLmZpcnN0LXN0ZXAtY29tbWFuZC1saW5lXCIsIHsgcmVnaXN0cnlVcmwgfSkpLFxuXHRcdFx0cmVuZGVySGVhZGluZ0NsaXBib2FyZFNlZ21lbnRzKHQoXCJoZWxwLnNlY29uZC1zdGVwXCIpLCB0KFwiaGVscC5zZWNvbmQtc3RlcC1jb21tYW5kLWxpbmVcIiwgeyByZWdpc3RyeVVybCB9KSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFR5cG9ncmFwaHksIHtcblx0XHRcdFx0dmFyaWFudDogXCJib2R5MVwiLFxuXHRcdFx0XHRjaGlsZHJlbjogdChcImhlbHAudGhpcmQtc3RlcFwiKVxuXHRcdFx0fSlcblx0XHRdIH0pLCAvKiBAX19QVVJFX18gKi8ganN4KENhcmRBY3Rpb25zLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEJ1dHRvbiwge1xuXHRcdFx0Y29sb3I6IFwicHJpbWFyeVwiLFxuXHRcdFx0aHJlZjogXCJodHRwczovL3ZlcmRhY2Npby5vcmcvZG9jcy9jbGktcmVnaXN0cnlcIixcblx0XHRcdHNpemU6IFwic21hbGxcIixcblx0XHRcdGNoaWxkcmVuOiB0KFwiYnV0dG9uLmxlYXJuLW1vcmVcIilcblx0XHR9KSB9KV1cblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBIZWxwIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9SGVscC5tanMubWFwIiwiaW1wb3J0IHsgZm9ybWF0TGljZW5zZSB9IGZyb20gXCIuLi8uLi91dGlscy91dGlscy5tanNcIjtcbmltcG9ydCBcIi4uLy4uL3V0aWxzL2luZGV4Lm1qc1wiO1xuaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9BcHBDb25maWd1cmF0aW9uUHJvdmlkZXIvQXBwQ29uZmlndXJhdGlvblByb3ZpZGVyLm1qc1wiO1xuaW1wb3J0IHsgRG93bmxvYWRQcm92aWRlciB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvRG93bmxvYWRQcm92aWRlci9Eb3dubG9hZFByb3ZpZGVyLm1qc1wiO1xuaW1wb3J0IFBhY2thZ2UgZnJvbSBcIi4uL1BhY2thZ2UvUGFja2FnZS5tanNcIjtcbmltcG9ydCBIZWxwIGZyb20gXCIuLi9IZWxwL0hlbHAubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9pbmRleC5tanNcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCBEaXZpZGVyIGZyb20gXCJAbXVpL21hdGVyaWFsL0RpdmlkZXJcIjtcbmltcG9ydCB7IEF1dG9TaXplciB9IGZyb20gXCJyZWFjdC12aXJ0dWFsaXplZC9kaXN0L2NvbW1vbmpzL0F1dG9TaXplclwiO1xuaW1wb3J0IHsgQ2VsbE1lYXN1cmVyLCBDZWxsTWVhc3VyZXJDYWNoZSB9IGZyb20gXCJyZWFjdC12aXJ0dWFsaXplZC9kaXN0L2NvbW1vbmpzL0NlbGxNZWFzdXJlclwiO1xuaW1wb3J0IHsgTGlzdCB9IGZyb20gXCJyZWFjdC12aXJ0dWFsaXplZC9kaXN0L2NvbW1vbmpzL0xpc3RcIjtcbmltcG9ydCB7IFdpbmRvd1Njcm9sbGVyIH0gZnJvbSBcInJlYWN0LXZpcnR1YWxpemVkL2Rpc3QvY29tbW9uanMvV2luZG93U2Nyb2xsZXJcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9QYWNrYWdlTGlzdC9QYWNrYWdlTGlzdC50c3hcbnZhciBjYWNoZSA9IG5ldyBDZWxsTWVhc3VyZXJDYWNoZSh7XG5cdGZpeGVkV2lkdGg6IHRydWUsXG5cdGRlZmF1bHRIZWlnaHQ6IDEwMFxufSk7XG52YXIgUGFja2FnZUxpc3QgPSAoeyBwYWNrYWdlcyB9KSA9PiB7XG5cdGNvbnN0IHsgY29uZmlnT3B0aW9ucyB9ID0gdXNlQ29uZmlnKCk7XG5cdGNvbnN0IHJlbmRlclJvdyA9ICh7IGluZGV4LCBrZXksIHBhcmVudCwgc3R5bGUgfSkgPT4ge1xuXHRcdGNvbnN0IHsgbmFtZSwgdmVyc2lvbiwgZGVzY3JpcHRpb24sIHRpbWUsIGtleXdvcmRzLCBkaXN0LCBob21lcGFnZSwgYnVncywgYXV0aG9yLCBsaWNlbnNlIH0gPSBwYWNrYWdlc1tpbmRleF07XG5cdFx0Y29uc3QgZm9ybWF0dGVkTGljZW5zZSA9IGZvcm1hdExpY2Vuc2UobGljZW5zZSk7XG5cdFx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goQ2VsbE1lYXN1cmVyLCB7XG5cdFx0XHRjYWNoZSxcblx0XHRcdGNvbHVtbkluZGV4OiAwLFxuXHRcdFx0cGFyZW50LFxuXHRcdFx0cm93SW5kZXg6IGluZGV4LFxuXHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3hzKFwiZGl2XCIsIHtcblx0XHRcdFx0c3R5bGUsXG5cdFx0XHRcdGNoaWxkcmVuOiBbaW5kZXggIT09IDAgJiYgLyogQF9fUFVSRV9fICovIGpzeChEaXZpZGVyLCB7fSksIC8qIEBfX1BVUkVfXyAqLyBqc3goUGFja2FnZSwge1xuXHRcdFx0XHRcdGF1dGhvcixcblx0XHRcdFx0XHRidWdzLFxuXHRcdFx0XHRcdGRlc2NyaXB0aW9uLFxuXHRcdFx0XHRcdGRpc3QsXG5cdFx0XHRcdFx0aG9tZXBhZ2UsXG5cdFx0XHRcdFx0a2V5d29yZHMsXG5cdFx0XHRcdFx0bGljZW5zZTogZm9ybWF0dGVkTGljZW5zZSxcblx0XHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRcdHNob3dEb3dubG9hZDogY29uZmlnT3B0aW9ucy5zaG93RG93bmxvYWRUYXJiYWxsLFxuXHRcdFx0XHRcdHRpbWUsXG5cdFx0XHRcdFx0dmVyc2lvblxuXHRcdFx0XHR9KV1cblx0XHRcdH0pXG5cdFx0fSwga2V5KTtcblx0fTtcblx0aWYgKCEocGFja2FnZXM/Lmxlbmd0aCA+IDApKSByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChIZWxwLCB7fSk7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KERvd25sb2FkUHJvdmlkZXIsIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goV2luZG93U2Nyb2xsZXIsIHsgY2hpbGRyZW46ICh7IGhlaWdodCwgaXNTY3JvbGxpbmcsIHNjcm9sbFRvcCwgb25DaGlsZFNjcm9sbCB9KSA9PiAvKiBAX19QVVJFX18gKi8ganN4KEF1dG9TaXplciwge1xuXHRcdGRpc2FibGVIZWlnaHQ6IHRydWUsXG5cdFx0Y2hpbGRyZW46ICh7IHdpZHRoIH0pID0+IHtcblx0XHRcdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KExpc3QsIHtcblx0XHRcdFx0YXV0b0hlaWdodDogdHJ1ZSxcblx0XHRcdFx0ZGVmZXJyZWRNZWFzdXJlbWVudENhY2hlOiBjYWNoZSxcblx0XHRcdFx0aGVpZ2h0LFxuXHRcdFx0XHRpc1Njcm9sbGluZyxcblx0XHRcdFx0b25TY3JvbGw6IG9uQ2hpbGRTY3JvbGwsXG5cdFx0XHRcdG92ZXJzY2FuUm93Q291bnQ6IDMsXG5cdFx0XHRcdHJvd0NvdW50OiBwYWNrYWdlcz8ubGVuZ3RoLFxuXHRcdFx0XHRyb3dIZWlnaHQ6IGNhY2hlLnJvd0hlaWdodCxcblx0XHRcdFx0cm93UmVuZGVyZXI6IHJlbmRlclJvdyxcblx0XHRcdFx0c2Nyb2xsVG9wLFxuXHRcdFx0XHR3aWR0aFxuXHRcdFx0fSk7XG5cdFx0fVxuXHR9KSB9KSB9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IFBhY2thZ2VMaXN0IGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9UGFja2FnZUxpc3QubWpzLm1hcCIsImltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvRXJyb3JCb3VuZGFyeS9FcnJvckJvdW5kYXJ5LnRzeFxudmFyIEVycm9yQm91bmRhcnkgPSBjbGFzcyBleHRlbmRzIENvbXBvbmVudCB7XG5cdHN0YXRlID0ge1xuXHRcdGhhc0Vycm9yOiBmYWxzZSxcblx0XHRlcnJvcjogbnVsbFxuXHR9O1xuXHRzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKGVycm9yKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdGhhc0Vycm9yOiB0cnVlLFxuXHRcdFx0ZXJyb3Jcblx0XHR9O1xuXHR9XG5cdGNvbXBvbmVudERpZENhdGNoKGVycm9yLCBpbmZvKSB7XG5cdFx0Y29uc29sZS5lcnJvcihcIkVycm9yQm91bmRhcnkgY2F1Z2h0OlwiLCBlcnJvciwgaW5mbyk7XG5cdH1cblx0cmVuZGVyKCkge1xuXHRcdGNvbnN0IHsgaGFzRXJyb3IsIGVycm9yIH0gPSB0aGlzLnN0YXRlO1xuXHRcdGNvbnN0IHsgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XG5cdFx0aWYgKGhhc0Vycm9yKSByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoXCJkaXZcIiwge1xuXHRcdFx0cm9sZTogXCJhbGVydFwiLFxuXHRcdFx0Y2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KFwiaDFcIiwgeyBjaGlsZHJlbjogXCJTb21ldGhpbmcgd2VudCB3cm9uZy5cIiB9KSwgLyogQF9fUFVSRV9fICovIGpzeChcInByZVwiLCB7IGNoaWxkcmVuOiBlcnJvcj8ubWVzc2FnZSB9KV1cblx0XHR9KTtcblx0XHRyZXR1cm4gY2hpbGRyZW47XG5cdH1cbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IEVycm9yQm91bmRhcnkgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1FcnJvckJvdW5kYXJ5Lm1qcy5tYXAiLCJpbXBvcnQgbG9hZGFibGVfZGVmYXVsdCBmcm9tIFwiLi4vLi4vdXRpbHMvbG9hZGFibGUubWpzXCI7XG5pbXBvcnQgeyBSb3V0ZSBhcyBSb3V0ZSQxIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3JvdXRlcy5tanNcIjtcbmltcG9ydCBcIi4uLy4uL3V0aWxzL2luZGV4Lm1qc1wiO1xuaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9BcHBDb25maWd1cmF0aW9uUHJvdmlkZXIvQXBwQ29uZmlndXJhdGlvblByb3ZpZGVyLm1qc1wiO1xuaW1wb3J0IFZlcnNpb25Qcm92aWRlciBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL1ZlcnNpb25Qcm92aWRlci9WZXJzaW9uUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgTWFuaWZlc3RzUHJvdmlkZXIgZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9NYW5pZmVzdHNQcm92aWRlci9NYW5pZmVzdHNQcm92aWRlci5tanNcIjtcbmltcG9ydCBcIi4uLy4uL3Byb3ZpZGVycy9pbmRleC5tanNcIjtcbmltcG9ydCBOb3RGb3VuZCBmcm9tIFwiLi4vTm90Rm91bmQvTm90Rm91bmQubWpzXCI7XG5pbXBvcnQgXCIuLi9Ob3RGb3VuZC9pbmRleC5tanNcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCB7IE91dGxldCwgUm91dGUsIFJvdXRlcyB9IGZyb20gXCJyZWFjdC1yb3V0ZXJcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9BcHBSb3V0ZS9BcHBSb3V0ZS50c3hcbnZhciBWZXJzaW9uUGFnZSA9IGxvYWRhYmxlX2RlZmF1bHQoKCkgPT4gaW1wb3J0KFwiLi4vLi4vcGFnZXMvVmVyc2lvbi9pbmRleC5tanNcIikpO1xudmFyIEZyb250ID0gbG9hZGFibGVfZGVmYXVsdCgoKSA9PiBpbXBvcnQoXCIuLi8uLi9wYWdlcy9Gcm9udC9pbmRleC5tanNcIikpO1xudmFyIExvZ2luID0gbG9hZGFibGVfZGVmYXVsdCgoKSA9PiBpbXBvcnQoXCIuLi8uLi9wYWdlcy9TZWN1cml0eS9Mb2dpbi5tanNcIikpO1xudmFyIFN1Y2Nlc3MgPSBsb2FkYWJsZV9kZWZhdWx0KCgpID0+IGltcG9ydChcIi4uLy4uL3BhZ2VzL1NlY3VyaXR5L1N1Y2Nlc3MubWpzXCIpKTtcbnZhciBBZGRVc2VyID0gbG9hZGFibGVfZGVmYXVsdCgoKSA9PiBpbXBvcnQoXCIuLi8uLi9wYWdlcy9TZWN1cml0eS9BZGRVc2VyLm1qc1wiKSk7XG52YXIgQ2hhbmdlUGFzc3dvcmQgPSBsb2FkYWJsZV9kZWZhdWx0KCgpID0+IGltcG9ydChcIi4uLy4uL3BhZ2VzL1NlY3VyaXR5L0NoYW5nZVBhc3N3b3JkLm1qc1wiKSk7XG52YXIgdmVyc2lvbkVsZW1lbnQgPSAvKiBAX19QVVJFX18gKi8ganN4KFZlcnNpb25Qcm92aWRlciwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChWZXJzaW9uUGFnZSwge30pIH0pO1xudmFyIEFwcFJvdXRlID0gKCkgPT4ge1xuXHRjb25zdCB7IGNvbmZpZ09wdGlvbnMgfSA9IHVzZUNvbmZpZygpO1xuXHRjb25zdCBjcmVhdGVVc2VyRW5hYmxlZCA9IGNvbmZpZ09wdGlvbnM/LmZsYWdzPy5jcmVhdGVVc2VyO1xuXHRjb25zdCBjaGFuZ2VQYXNzd29yZEVuYWJsZWQgPSBjb25maWdPcHRpb25zPy5mbGFncz8uY2hhbmdlUGFzc3dvcmQ7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhSb3V0ZXMsIHsgY2hpbGRyZW46IFtcblx0XHQvKiBAX19QVVJFX18gKi8ganN4KFJvdXRlLCB7XG5cdFx0XHRlbGVtZW50OiAvKiBAX19QVVJFX18gKi8ganN4KE1hbmlmZXN0c1Byb3ZpZGVyLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEZyb250LCB7fSkgfSksXG5cdFx0XHRwYXRoOiBSb3V0ZSQxLlJPT1Rcblx0XHR9KSxcblx0XHQvKiBAX19QVVJFX18gKi8ganN4KFJvdXRlLCB7XG5cdFx0XHRlbGVtZW50OiB2ZXJzaW9uRWxlbWVudCxcblx0XHRcdHBhdGg6IFJvdXRlJDEuU0NPUEVfUEFDS0FHRV9WRVJTSU9OXG5cdFx0fSksXG5cdFx0LyogQF9fUFVSRV9fICovIGpzeChSb3V0ZSwge1xuXHRcdFx0ZWxlbWVudDogdmVyc2lvbkVsZW1lbnQsXG5cdFx0XHRwYXRoOiBSb3V0ZSQxLlNDT1BFX1BBQ0tBR0Vcblx0XHR9KSxcblx0XHQvKiBAX19QVVJFX18gKi8ganN4KFJvdXRlLCB7XG5cdFx0XHRlbGVtZW50OiB2ZXJzaW9uRWxlbWVudCxcblx0XHRcdHBhdGg6IFJvdXRlJDEuUEFDS0FHRV9WRVJTSU9OXG5cdFx0fSksXG5cdFx0LyogQF9fUFVSRV9fICovIGpzeChSb3V0ZSwge1xuXHRcdFx0ZWxlbWVudDogdmVyc2lvbkVsZW1lbnQsXG5cdFx0XHRwYXRoOiBSb3V0ZSQxLlBBQ0tBR0Vcblx0XHR9KSxcblx0XHQvKiBAX19QVVJFX18gKi8ganN4cyhSb3V0ZSwge1xuXHRcdFx0ZWxlbWVudDogLyogQF9fUFVSRV9fICovIGpzeChPdXRsZXQsIHt9KSxcblx0XHRcdGNoaWxkcmVuOiBbXG5cdFx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goUm91dGUsIHtcblx0XHRcdFx0XHRlbGVtZW50OiAvKiBAX19QVVJFX18gKi8ganN4KExvZ2luLCB7fSksXG5cdFx0XHRcdFx0cGF0aDogUm91dGUkMS5MT0dJTlxuXHRcdFx0XHR9KSxcblx0XHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChSb3V0ZSwge1xuXHRcdFx0XHRcdGVsZW1lbnQ6IC8qIEBfX1BVUkVfXyAqLyBqc3goU3VjY2Vzcywge30pLFxuXHRcdFx0XHRcdHBhdGg6IFJvdXRlJDEuU1VDQ0VTU1xuXHRcdFx0XHR9KSxcblx0XHRcdFx0Y3JlYXRlVXNlckVuYWJsZWQgJiYgLyogQF9fUFVSRV9fICovIGpzeChSb3V0ZSwge1xuXHRcdFx0XHRcdGVsZW1lbnQ6IC8qIEBfX1BVUkVfXyAqLyBqc3goQWRkVXNlciwge30pLFxuXHRcdFx0XHRcdHBhdGg6IFJvdXRlJDEuQUREX1VTRVJcblx0XHRcdFx0fSksXG5cdFx0XHRcdGNoYW5nZVBhc3N3b3JkRW5hYmxlZCAmJiAvKiBAX19QVVJFX18gKi8ganN4KFJvdXRlLCB7XG5cdFx0XHRcdFx0ZWxlbWVudDogLyogQF9fUFVSRV9fICovIGpzeChDaGFuZ2VQYXNzd29yZCwge30pLFxuXHRcdFx0XHRcdHBhdGg6IFJvdXRlJDEuQ0hBTkdFX1BBU1NXT1JEXG5cdFx0XHRcdH0pXG5cdFx0XHRdXG5cdFx0fSksXG5cdFx0LyogQF9fUFVSRV9fICovIGpzeChSb3V0ZSwge1xuXHRcdFx0ZWxlbWVudDogLyogQF9fUFVSRV9fICovIGpzeChOb3RGb3VuZCwge30pLFxuXHRcdFx0cGF0aDogXCIqXCJcblx0XHR9KVxuXHRdIH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgQXBwUm91dGUgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1BcHBSb3V0ZS5tanMubWFwIiwiaW1wb3J0IENvcHlUb0NsaXBCb2FyZCBmcm9tIFwiLi4vQ29weUNsaXBib2FyZC9Db3B5VG9DbGlwQm9hcmQubWpzXCI7XG5pbXBvcnQgXCIuLi9Db3B5Q2xpcGJvYXJkL2luZGV4Lm1qc1wiO1xuaW1wb3J0IHsgaXNVUkwgfSBmcm9tIFwiLi4vLi4vdXRpbHMvdXJsLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vdXRpbHMvaW5kZXgubWpzXCI7XG5pbXBvcnQgTGlua0V4dGVybmFsIGZyb20gXCIuLi9MaW5rRXh0ZXJuYWwvTGlua0V4dGVybmFsLm1qc1wiO1xuaW1wb3J0IFwiLi4vTGlua0V4dGVybmFsL2luZGV4Lm1qc1wiO1xuaW1wb3J0IHsgR2l0IH0gZnJvbSBcIi4uL0ljb25zL0RldnNJY29ucy9HaXQyLm1qc1wiO1xuaW1wb3J0IFwiLi4vSWNvbnMvaW5kZXgubWpzXCI7XG5pbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCB7IGNvbW1vbiB9IGZyb20gXCJAbXVpL21hdGVyaWFsL2NvbG9yc1wiO1xuaW1wb3J0IExpc3QgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvTGlzdFwiO1xuaW1wb3J0IEF2YXRhciBmcm9tIFwiQG11aS9tYXRlcmlhbC9BdmF0YXJcIjtcbmltcG9ydCBUeXBvZ3JhcGh5IGZyb20gXCJAbXVpL21hdGVyaWFsL1R5cG9ncmFwaHlcIjtcbmltcG9ydCBMaXN0SXRlbSBmcm9tIFwiQG11aS9tYXRlcmlhbC9MaXN0SXRlbVwiO1xuaW1wb3J0IExpc3RJdGVtVGV4dCBmcm9tIFwiQG11aS9tYXRlcmlhbC9MaXN0SXRlbVRleHRcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9SZXBvc2l0b3J5L1JlcG9zaXRvcnkudHN4XG5mdW5jdGlvbiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXygpIHtcblx0cmV0dXJuIFwiWW91IGhhdmUgdHJpZWQgdG8gc3RyaW5naWZ5IG9iamVjdCByZXR1cm5lZCBmcm9tIGBjc3NgIGZ1bmN0aW9uLiBJdCBpc24ndCBzdXBwb3NlZCB0byBiZSB1c2VkIGRpcmVjdGx5IChlLmcuIGFzIHZhbHVlIG9mIHRoZSBgY2xhc3NOYW1lYCBwcm9wKSwgYnV0IHJhdGhlciBoYW5kZWQgdG8gZW1vdGlvbiBzbyBpdCBjYW4gaGFuZGxlIGl0IChlLmcuIGFzIHZhbHVlIG9mIGBjc3NgIHByb3ApLlwiO1xufVxudmFyIFN0eWxlZFRleHQgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChUeXBvZ3JhcGh5LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlaHZqdXVyM1wiIH0gOiB7XG5cdHRhcmdldDogXCJlaHZqdXVyM1wiLFxuXHRsYWJlbDogXCJTdHlsZWRUZXh0XCJcbn0pKChwcm9wcykgPT4gKHtcblx0Zm9udFdlaWdodDogcHJvcHMudGhlbWUuZm9udFdlaWdodC5ib2xkLFxuXHR0ZXh0VHJhbnNmb3JtOiBcImNhcGl0YWxpemVcIlxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlTWlhCdmMybDBiM0o1TDFKbGNHOXphWFJ2Y25rdWRITjRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRV2RDYlVJaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OWpiMjF3YjI1bGJuUnpMMUpsY0c5emFYUnZjbmt2VW1Wd2IzTnBkRzl5ZVM1MGMzZ2lMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdjM1I1YkdWa0lHWnliMjBnSjBCbGJXOTBhVzl1TDNOMGVXeGxaQ2M3WEc1cGJYQnZjblFnUVhaaGRHRnlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UVhaaGRHRnlKenRjYm1sdGNHOXlkQ0JNYVhOMElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZENjN1hHNXBiWEJ2Y25RZ1RHbHpkRWwwWlcwZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOU1hWE4wU1hSbGJTYzdYRzVwYlhCdmNuUWdUR2x6ZEVsMFpXMVVaWGgwSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkRWwwWlcxVVpYaDBKenRjYm1sdGNHOXlkQ0JVZVhCdlozSmhjR2g1SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlZIbHdiMmR5WVhCb2VTYzdYRzVwYlhCdmNuUWdleUJqYjIxdGIyNGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDJOdmJHOXljeWM3WEc1cGJYQnZjblFnVW1WaFkzUWdabkp2YlNBbmNtVmhZM1FuTzF4dWFXMXdiM0owSUhzZ2RYTmxWSEpoYm5Oc1lYUnBiMjRnZlNCbWNtOXRJQ2R5WldGamRDMXBNVGh1WlhoMEp6dGNibHh1YVcxd2IzSjBJSFI1Y0dVZ2V5QlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMMVJvWlcxbEp6dGNibWx0Y0c5eWRDQjdJSFZ5YkNCaGN5QjFjbXhWZEdsc2N5QjlJR1p5YjIwZ0p5NHVMeTR1TDNWMGFXeHpKenRjYm1sdGNHOXlkQ0JEYjNCNVEyeHBjR0p2WVhKa0lHWnliMjBnSnk0dUwwTnZjSGxEYkdsd1ltOWhjbVFuTzF4dWFXMXdiM0owSUhzZ1IybDBJSDBnWm5KdmJTQW5MaTR2U1dOdmJuTW5PMXh1YVcxd2IzSjBJRXhwYm10RmVIUmxjbTVoYkNCbWNtOXRJQ2N1TGk5TWFXNXJSWGgwWlhKdVlXd25PMXh1WEc1amIyNXpkQ0JUZEhsc1pXUlVaWGgwSUQwZ2MzUjViR1ZrS0ZSNWNHOW5jbUZ3YUhrcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29jSEp2Y0hNcElEMCtJQ2g3WEc0Z0lHWnZiblJYWldsbmFIUTZJSEJ5YjNCekxuUm9aVzFsTG1admJuUlhaV2xuYUhRdVltOXNaQ3hjYmlBZ2RHVjRkRlJ5WVc1elptOXliVG9nSjJOaGNHbDBZV3hwZW1VbkxGeHVmU2twTzF4dVhHNWpiMjV6ZENCU1pYQnZjMmwwYjNKNVRHbHpkRWwwWlcwZ1BTQnpkSGxzWldRb1RHbHpkRWwwWlcwcEtIdGNiaUFnY0dGa1pHbHVaem9nTUN4Y2JpQWdKenBvYjNabGNpYzZJSHRjYmlBZ0lDQmlZV05yWjNKdmRXNWtRMjlzYjNJNklDZDBjbUZ1YzNCaGNtVnVkQ2NzWEc0Z0lIMHNYRzU5S1R0Y2JseHVZMjl1YzNRZ1VtVndiM05wZEc5eWVVeHBjM1JKZEdWdFZHVjRkQ0E5SUhOMGVXeGxaQ2hNYVhOMFNYUmxiVlJsZUhRcEtIdGNiaUFnY0dGa1pHbHVaem9nSnpBZ01DQXdJREV3Y0hnbkxGeHVJQ0J0WVhKbmFXNDZJREFzWEc1OUtUdGNibHh1WTI5dWMzUWdVbVZ3YjNOcGRHOXllVUYyWVhSaGNpQTlJSE4wZVd4bFpDaEJkbUYwWVhJcEtIdGNiaUFnY0dGa1pHbHVaem9nTUN4Y2JpQWdiV0Z5WjJsdVRHVm1kRG9nTUN4Y2JpQWdZbUZqYTJkeWIzVnVaRU52Ykc5eU9pQW5kSEpoYm5Od1lYSmxiblFuTEZ4dWZTazdYRzVjYm1OdmJuTjBJRkpsY0c5emFYUnZjbms2SUZKbFlXTjBMa1pEUEhzZ2NHRmphMkZuWlUxbGRHRTZJR0Z1ZVNCOVBpQTlJQ2g3SUhCaFkydGhaMlZOWlhSaElIMHBJRDArSUh0Y2JpQWdZMjl1YzNRZ2V5QjBJSDBnUFNCMWMyVlVjbUZ1YzJ4aGRHbHZiaWdwTzF4dUlDQmpiMjV6ZENCMWNtd2dQU0J3WVdOcllXZGxUV1YwWVQ4dWJHRjBaWE4wUHk1eVpYQnZjMmwwYjNKNVB5NTFjbXc3WEc0Z0lHbG1JQ2doZFhKc0lIeDhJQ0YxY214VmRHbHNjeTVwYzFWU1RDaDFjbXdwS1NCN1hHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQmpiMjV6ZENCblpYUkRiM0p5WldOMFVtVndiM05wZEc5eWVWVlNUQ0E5SUNncE9pQnpkSEpwYm1jZ1BUNGdlMXh1SUNBZ0lHbG1JQ2doZFhKc0xtbHVZMngxWkdWektDZG5hWFFySnlrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMWNtdzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhWeWJDNXpjR3hwZENnbloybDBLeWNwV3pGZE8xeHVJQ0I5TzF4dVhHNGdJR052Ym5OMElISmxjRzl6YVhSdmNubFZVa3dnUFNCblpYUkRiM0p5WldOMFVtVndiM05wZEc5eWVWVlNUQ2dwTzF4dVhHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BFeHBjM1JjYmlBZ0lDQWdJR1JsYm5ObFBYdDBjblZsZlZ4dUlDQWdJQ0FnYzNWaWFHVmhaR1Z5UFhzOFUzUjViR1ZrVkdWNGRDQjJZWEpwWVc1MFBWd2ljM1ZpZEdsMGJHVXhYQ0krZTNRb0ozTnBaR1ZpWVhJdWNtVndiM05wZEc5eWVTNTBhWFJzWlNjcGZUd3ZVM1I1YkdWa1ZHVjRkRDU5WEc0Z0lDQWdQbHh1SUNBZ0lDQWdQRkpsY0c5emFYUnZjbmxNYVhOMFNYUmxiVDVjYmlBZ0lDQWdJQ0FnUEZKbGNHOXphWFJ2Y25sQmRtRjBZWElnYzNnOWUzc2dZbWRqYjJ4dmNqb2dZMjl0Ylc5dUxuZG9hWFJsSUgxOVBseHVJQ0FnSUNBZ0lDQWdJRHhIYVhRZ0x6NWNiaUFnSUNBZ0lDQWdQQzlTWlhCdmMybDBiM0o1UVhaaGRHRnlQbHh1SUNBZ0lDQWdJQ0E4VW1Wd2IzTnBkRzl5ZVV4cGMzUkpkR1Z0VkdWNGRGeHVJQ0FnSUNBZ0lDQWdJSEJ5YVcxaGNuazllMXh1SUNBZ0lDQWdJQ0FnSUNBZ1BFTnZjSGxEYkdsd1ltOWhjbVFnWkdGMFlWUmxjM1JKWkQxY0luSmxjRzl6YVhSdmNubEpSRndpSUhSbGVIUTllM0psY0c5emFYUnZjbmxWVWt4OUlIUnBkR3hsUFh0eVpYQnZjMmwwYjNKNVZWSk1mVDVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRXhwYm10RmVIUmxjbTVoYkNCMGJ6MTdjbVZ3YjNOcGRHOXllVlZTVEgwZ2RtRnlhV0Z1ZEQxY0ltOTFkR3hwYm1WY0lqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjdjbVZ3YjNOcGRHOXllVlZTVEgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5TWFXNXJSWGgwWlhKdVlXdytYRzRnSUNBZ0lDQWdJQ0FnSUNBOEwwTnZjSGxEYkdsd1ltOWhjbVErWEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQXZQbHh1SUNBZ0lDQWdQQzlTWlhCdmMybDBiM0o1VEdsemRFbDBaVzArWEc0Z0lDQWdQQzlNYVhOMFBseHVJQ0FwTzF4dWZUdGNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdVbVZ3YjNOcGRHOXllVHRjYmlKZGZRPT0gKi9cIik7XG52YXIgUmVwb3NpdG9yeUxpc3RJdGVtID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoTGlzdEl0ZW0sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVodmp1dXIyXCIgfSA6IHtcblx0dGFyZ2V0OiBcImVodmp1dXIyXCIsXG5cdGxhYmVsOiBcIlJlcG9zaXRvcnlMaXN0SXRlbVwiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwienc0NmM2XCIsXG5cdHN0eWxlczogXCJwYWRkaW5nOjA7OmhvdmVye2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7fVwiXG59IDoge1xuXHRuYW1lOiBcInp3NDZjNlwiLFxuXHRzdHlsZXM6IFwicGFkZGluZzowOzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O30vKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5U1pYQnZjMmwwYjNKNUwxSmxjRzl6YVhSdmNua3VkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVhGQ01rSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDFKbGNHOXphWFJ2Y25rdlVtVndiM05wZEc5eWVTNTBjM2dpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnYzNSNWJHVmtJR1p5YjIwZ0owQmxiVzkwYVc5dUwzTjBlV3hsWkNjN1hHNXBiWEJ2Y25RZ1FYWmhkR0Z5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlFYWmhkR0Z5Snp0Y2JtbHRjRzl5ZENCTWFYTjBJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRDYzdYRzVwYlhCdmNuUWdUR2x6ZEVsMFpXMGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlNYVhOMFNYUmxiU2M3WEc1cGJYQnZjblFnVEdsemRFbDBaVzFVWlhoMElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZEVsMFpXMVVaWGgwSnp0Y2JtbHRjRzl5ZENCVWVYQnZaM0poY0doNUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZWSGx3YjJkeVlYQm9lU2M3WEc1cGJYQnZjblFnZXlCamIyMXRiMjRnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wyTnZiRzl5Y3ljN1hHNXBiWEJ2Y25RZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHVhVzF3YjNKMElIc2dkWE5sVkhKaGJuTnNZWFJwYjI0Z2ZTQm1jbTl0SUNkeVpXRmpkQzFwTVRodVpYaDBKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1TDFSb1pXMWxKenRjYm1sdGNHOXlkQ0I3SUhWeWJDQmhjeUIxY214VmRHbHNjeUI5SUdaeWIyMGdKeTR1THk0dUwzVjBhV3h6Snp0Y2JtbHRjRzl5ZENCRGIzQjVRMnhwY0dKdllYSmtJR1p5YjIwZ0p5NHVMME52Y0hsRGJHbHdZbTloY21Rbk8xeHVhVzF3YjNKMElIc2dSMmwwSUgwZ1puSnZiU0FuTGk0dlNXTnZibk1uTzF4dWFXMXdiM0owSUV4cGJtdEZlSFJsY201aGJDQm1jbTl0SUNjdUxpOU1hVzVyUlhoMFpYSnVZV3duTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JVWlhoMElEMGdjM1I1YkdWa0tGUjVjRzluY21Gd2FIa3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvY0hKdmNITXBJRDArSUNoN1hHNGdJR1p2Ym5SWFpXbG5hSFE2SUhCeWIzQnpMblJvWlcxbExtWnZiblJYWldsbmFIUXVZbTlzWkN4Y2JpQWdkR1Y0ZEZSeVlXNXpabTl5YlRvZ0oyTmhjR2wwWVd4cGVtVW5MRnh1ZlNrcE8xeHVYRzVqYjI1emRDQlNaWEJ2YzJsMGIzSjVUR2x6ZEVsMFpXMGdQU0J6ZEhsc1pXUW9UR2x6ZEVsMFpXMHBLSHRjYmlBZ2NHRmtaR2x1WnpvZ01DeGNiaUFnSnpwb2IzWmxjaWM2SUh0Y2JpQWdJQ0JpWVdOclozSnZkVzVrUTI5c2IzSTZJQ2QwY21GdWMzQmhjbVZ1ZENjc1hHNGdJSDBzWEc1OUtUdGNibHh1WTI5dWMzUWdVbVZ3YjNOcGRHOXllVXhwYzNSSmRHVnRWR1Y0ZENBOUlITjBlV3hsWkNoTWFYTjBTWFJsYlZSbGVIUXBLSHRjYmlBZ2NHRmtaR2x1WnpvZ0p6QWdNQ0F3SURFd2NIZ25MRnh1SUNCdFlYSm5hVzQ2SURBc1hHNTlLVHRjYmx4dVkyOXVjM1FnVW1Wd2IzTnBkRzl5ZVVGMllYUmhjaUE5SUhOMGVXeGxaQ2hCZG1GMFlYSXBLSHRjYmlBZ2NHRmtaR2x1WnpvZ01DeGNiaUFnYldGeVoybHVUR1ZtZERvZ01DeGNiaUFnWW1GamEyZHliM1Z1WkVOdmJHOXlPaUFuZEhKaGJuTndZWEpsYm5RbkxGeHVmU2s3WEc1Y2JtTnZibk4wSUZKbGNHOXphWFJ2Y25rNklGSmxZV04wTGtaRFBIc2djR0ZqYTJGblpVMWxkR0U2SUdGdWVTQjlQaUE5SUNoN0lIQmhZMnRoWjJWTlpYUmhJSDBwSUQwK0lIdGNiaUFnWTI5dWMzUWdleUIwSUgwZ1BTQjFjMlZVY21GdWMyeGhkR2x2YmlncE8xeHVJQ0JqYjI1emRDQjFjbXdnUFNCd1lXTnJZV2RsVFdWMFlUOHViR0YwWlhOMFB5NXlaWEJ2YzJsMGIzSjVQeTUxY213N1hHNGdJR2xtSUNnaGRYSnNJSHg4SUNGMWNteFZkR2xzY3k1cGMxVlNUQ2gxY213cEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0JqYjI1emRDQm5aWFJEYjNKeVpXTjBVbVZ3YjNOcGRHOXllVlZTVENBOUlDZ3BPaUJ6ZEhKcGJtY2dQVDRnZTF4dUlDQWdJR2xtSUNnaGRYSnNMbWx1WTJ4MVpHVnpLQ2RuYVhRckp5a3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjFjbXc3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIVnliQzV6Y0d4cGRDZ25aMmwwS3ljcFd6RmRPMXh1SUNCOU8xeHVYRzRnSUdOdmJuTjBJSEpsY0c5emFYUnZjbmxWVWt3Z1BTQm5aWFJEYjNKeVpXTjBVbVZ3YjNOcGRHOXllVlZTVENncE8xeHVYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRXhwYzNSY2JpQWdJQ0FnSUdSbGJuTmxQWHQwY25WbGZWeHVJQ0FnSUNBZ2MzVmlhR1ZoWkdWeVBYczhVM1I1YkdWa1ZHVjRkQ0IyWVhKcFlXNTBQVndpYzNWaWRHbDBiR1V4WENJK2UzUW9KM05wWkdWaVlYSXVjbVZ3YjNOcGRHOXllUzUwYVhSc1pTY3BmVHd2VTNSNWJHVmtWR1Y0ZEQ1OVhHNGdJQ0FnUGx4dUlDQWdJQ0FnUEZKbGNHOXphWFJ2Y25sTWFYTjBTWFJsYlQ1Y2JpQWdJQ0FnSUNBZ1BGSmxjRzl6YVhSdmNubEJkbUYwWVhJZ2MzZzllM3NnWW1kamIyeHZjam9nWTI5dGJXOXVMbmRvYVhSbElIMTlQbHh1SUNBZ0lDQWdJQ0FnSUR4SGFYUWdMejVjYmlBZ0lDQWdJQ0FnUEM5U1pYQnZjMmwwYjNKNVFYWmhkR0Z5UGx4dUlDQWdJQ0FnSUNBOFVtVndiM05wZEc5eWVVeHBjM1JKZEdWdFZHVjRkRnh1SUNBZ0lDQWdJQ0FnSUhCeWFXMWhjbms5ZTF4dUlDQWdJQ0FnSUNBZ0lDQWdQRU52Y0hsRGJHbHdZbTloY21RZ1pHRjBZVlJsYzNSSlpEMWNJbkpsY0c5emFYUnZjbmxKUkZ3aUlIUmxlSFE5ZTNKbGNHOXphWFJ2Y25sVlVreDlJSFJwZEd4bFBYdHlaWEJ2YzJsMGIzSjVWVkpNZlQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEV4cGJtdEZlSFJsY201aGJDQjBiejE3Y21Wd2IzTnBkRzl5ZVZWU1RIMGdkbUZ5YVdGdWREMWNJbTkxZEd4cGJtVmNJajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I3Y21Wd2IzTnBkRzl5ZVZWU1RIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BDOU1hVzVyUlhoMFpYSnVZV3crWEc0Z0lDQWdJQ0FnSUNBZ0lDQThMME52Y0hsRGJHbHdZbTloY21RK1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0F2UGx4dUlDQWdJQ0FnUEM5U1pYQnZjMmwwYjNKNVRHbHpkRWwwWlcwK1hHNGdJQ0FnUEM5TWFYTjBQbHh1SUNBcE8xeHVmVHRjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnVW1Wd2IzTnBkRzl5ZVR0Y2JpSmRmUT09ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgUmVwb3NpdG9yeUxpc3RJdGVtVGV4dCA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKExpc3RJdGVtVGV4dCwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZWh2anV1cjFcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZWh2anV1cjFcIixcblx0bGFiZWw6IFwiUmVwb3NpdG9yeUxpc3RJdGVtVGV4dFwiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwiNDJidnRcIixcblx0c3R5bGVzOiBcInBhZGRpbmc6MCAwIDAgMTBweDttYXJnaW46MFwiXG59IDoge1xuXHRuYW1lOiBcIjQyYnZ0XCIsXG5cdHN0eWxlczogXCJwYWRkaW5nOjAgMCAwIDEwcHg7bWFyZ2luOjAvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5U1pYQnZjMmwwYjNKNUwxSmxjRzl6YVhSdmNua3VkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVRSQ0swSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDFKbGNHOXphWFJ2Y25rdlVtVndiM05wZEc5eWVTNTBjM2dpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnYzNSNWJHVmtJR1p5YjIwZ0owQmxiVzkwYVc5dUwzTjBlV3hsWkNjN1hHNXBiWEJ2Y25RZ1FYWmhkR0Z5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlFYWmhkR0Z5Snp0Y2JtbHRjRzl5ZENCTWFYTjBJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRDYzdYRzVwYlhCdmNuUWdUR2x6ZEVsMFpXMGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlNYVhOMFNYUmxiU2M3WEc1cGJYQnZjblFnVEdsemRFbDBaVzFVWlhoMElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZEVsMFpXMVVaWGgwSnp0Y2JtbHRjRzl5ZENCVWVYQnZaM0poY0doNUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZWSGx3YjJkeVlYQm9lU2M3WEc1cGJYQnZjblFnZXlCamIyMXRiMjRnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wyTnZiRzl5Y3ljN1hHNXBiWEJ2Y25RZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHVhVzF3YjNKMElIc2dkWE5sVkhKaGJuTnNZWFJwYjI0Z2ZTQm1jbTl0SUNkeVpXRmpkQzFwTVRodVpYaDBKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1TDFSb1pXMWxKenRjYm1sdGNHOXlkQ0I3SUhWeWJDQmhjeUIxY214VmRHbHNjeUI5SUdaeWIyMGdKeTR1THk0dUwzVjBhV3h6Snp0Y2JtbHRjRzl5ZENCRGIzQjVRMnhwY0dKdllYSmtJR1p5YjIwZ0p5NHVMME52Y0hsRGJHbHdZbTloY21Rbk8xeHVhVzF3YjNKMElIc2dSMmwwSUgwZ1puSnZiU0FuTGk0dlNXTnZibk1uTzF4dWFXMXdiM0owSUV4cGJtdEZlSFJsY201aGJDQm1jbTl0SUNjdUxpOU1hVzVyUlhoMFpYSnVZV3duTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JVWlhoMElEMGdjM1I1YkdWa0tGUjVjRzluY21Gd2FIa3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvY0hKdmNITXBJRDArSUNoN1hHNGdJR1p2Ym5SWFpXbG5hSFE2SUhCeWIzQnpMblJvWlcxbExtWnZiblJYWldsbmFIUXVZbTlzWkN4Y2JpQWdkR1Y0ZEZSeVlXNXpabTl5YlRvZ0oyTmhjR2wwWVd4cGVtVW5MRnh1ZlNrcE8xeHVYRzVqYjI1emRDQlNaWEJ2YzJsMGIzSjVUR2x6ZEVsMFpXMGdQU0J6ZEhsc1pXUW9UR2x6ZEVsMFpXMHBLSHRjYmlBZ2NHRmtaR2x1WnpvZ01DeGNiaUFnSnpwb2IzWmxjaWM2SUh0Y2JpQWdJQ0JpWVdOclozSnZkVzVrUTI5c2IzSTZJQ2QwY21GdWMzQmhjbVZ1ZENjc1hHNGdJSDBzWEc1OUtUdGNibHh1WTI5dWMzUWdVbVZ3YjNOcGRHOXllVXhwYzNSSmRHVnRWR1Y0ZENBOUlITjBlV3hsWkNoTWFYTjBTWFJsYlZSbGVIUXBLSHRjYmlBZ2NHRmtaR2x1WnpvZ0p6QWdNQ0F3SURFd2NIZ25MRnh1SUNCdFlYSm5hVzQ2SURBc1hHNTlLVHRjYmx4dVkyOXVjM1FnVW1Wd2IzTnBkRzl5ZVVGMllYUmhjaUE5SUhOMGVXeGxaQ2hCZG1GMFlYSXBLSHRjYmlBZ2NHRmtaR2x1WnpvZ01DeGNiaUFnYldGeVoybHVUR1ZtZERvZ01DeGNiaUFnWW1GamEyZHliM1Z1WkVOdmJHOXlPaUFuZEhKaGJuTndZWEpsYm5RbkxGeHVmU2s3WEc1Y2JtTnZibk4wSUZKbGNHOXphWFJ2Y25rNklGSmxZV04wTGtaRFBIc2djR0ZqYTJGblpVMWxkR0U2SUdGdWVTQjlQaUE5SUNoN0lIQmhZMnRoWjJWTlpYUmhJSDBwSUQwK0lIdGNiaUFnWTI5dWMzUWdleUIwSUgwZ1BTQjFjMlZVY21GdWMyeGhkR2x2YmlncE8xeHVJQ0JqYjI1emRDQjFjbXdnUFNCd1lXTnJZV2RsVFdWMFlUOHViR0YwWlhOMFB5NXlaWEJ2YzJsMGIzSjVQeTUxY213N1hHNGdJR2xtSUNnaGRYSnNJSHg4SUNGMWNteFZkR2xzY3k1cGMxVlNUQ2gxY213cEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0JqYjI1emRDQm5aWFJEYjNKeVpXTjBVbVZ3YjNOcGRHOXllVlZTVENBOUlDZ3BPaUJ6ZEhKcGJtY2dQVDRnZTF4dUlDQWdJR2xtSUNnaGRYSnNMbWx1WTJ4MVpHVnpLQ2RuYVhRckp5a3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjFjbXc3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIVnliQzV6Y0d4cGRDZ25aMmwwS3ljcFd6RmRPMXh1SUNCOU8xeHVYRzRnSUdOdmJuTjBJSEpsY0c5emFYUnZjbmxWVWt3Z1BTQm5aWFJEYjNKeVpXTjBVbVZ3YjNOcGRHOXllVlZTVENncE8xeHVYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRXhwYzNSY2JpQWdJQ0FnSUdSbGJuTmxQWHQwY25WbGZWeHVJQ0FnSUNBZ2MzVmlhR1ZoWkdWeVBYczhVM1I1YkdWa1ZHVjRkQ0IyWVhKcFlXNTBQVndpYzNWaWRHbDBiR1V4WENJK2UzUW9KM05wWkdWaVlYSXVjbVZ3YjNOcGRHOXllUzUwYVhSc1pTY3BmVHd2VTNSNWJHVmtWR1Y0ZEQ1OVhHNGdJQ0FnUGx4dUlDQWdJQ0FnUEZKbGNHOXphWFJ2Y25sTWFYTjBTWFJsYlQ1Y2JpQWdJQ0FnSUNBZ1BGSmxjRzl6YVhSdmNubEJkbUYwWVhJZ2MzZzllM3NnWW1kamIyeHZjam9nWTI5dGJXOXVMbmRvYVhSbElIMTlQbHh1SUNBZ0lDQWdJQ0FnSUR4SGFYUWdMejVjYmlBZ0lDQWdJQ0FnUEM5U1pYQnZjMmwwYjNKNVFYWmhkR0Z5UGx4dUlDQWdJQ0FnSUNBOFVtVndiM05wZEc5eWVVeHBjM1JKZEdWdFZHVjRkRnh1SUNBZ0lDQWdJQ0FnSUhCeWFXMWhjbms5ZTF4dUlDQWdJQ0FnSUNBZ0lDQWdQRU52Y0hsRGJHbHdZbTloY21RZ1pHRjBZVlJsYzNSSlpEMWNJbkpsY0c5emFYUnZjbmxKUkZ3aUlIUmxlSFE5ZTNKbGNHOXphWFJ2Y25sVlVreDlJSFJwZEd4bFBYdHlaWEJ2YzJsMGIzSjVWVkpNZlQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEV4cGJtdEZlSFJsY201aGJDQjBiejE3Y21Wd2IzTnBkRzl5ZVZWU1RIMGdkbUZ5YVdGdWREMWNJbTkxZEd4cGJtVmNJajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I3Y21Wd2IzTnBkRzl5ZVZWU1RIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BDOU1hVzVyUlhoMFpYSnVZV3crWEc0Z0lDQWdJQ0FnSUNBZ0lDQThMME52Y0hsRGJHbHdZbTloY21RK1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0F2UGx4dUlDQWdJQ0FnUEM5U1pYQnZjMmwwYjNKNVRHbHpkRWwwWlcwK1hHNGdJQ0FnUEM5TWFYTjBQbHh1SUNBcE8xeHVmVHRjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnVW1Wd2IzTnBkRzl5ZVR0Y2JpSmRmUT09ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgUmVwb3NpdG9yeUF2YXRhciA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKEF2YXRhciwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZWh2anV1cjBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZWh2anV1cjBcIixcblx0bGFiZWw6IFwiUmVwb3NpdG9yeUF2YXRhclwiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwiMXZmZ3k5ZVwiLFxuXHRzdHlsZXM6IFwicGFkZGluZzowO21hcmdpbi1sZWZ0OjA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudFwiXG59IDoge1xuXHRuYW1lOiBcIjF2Zmd5OWVcIixcblx0c3R5bGVzOiBcInBhZGRpbmc6MDttYXJnaW4tbGVmdDowO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5U1pYQnZjMmwwYjNKNUwxSmxjRzl6YVhSdmNua3VkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVdsRGVVSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDFKbGNHOXphWFJ2Y25rdlVtVndiM05wZEc5eWVTNTBjM2dpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnYzNSNWJHVmtJR1p5YjIwZ0owQmxiVzkwYVc5dUwzTjBlV3hsWkNjN1hHNXBiWEJ2Y25RZ1FYWmhkR0Z5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlFYWmhkR0Z5Snp0Y2JtbHRjRzl5ZENCTWFYTjBJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRDYzdYRzVwYlhCdmNuUWdUR2x6ZEVsMFpXMGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlNYVhOMFNYUmxiU2M3WEc1cGJYQnZjblFnVEdsemRFbDBaVzFVWlhoMElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZEVsMFpXMVVaWGgwSnp0Y2JtbHRjRzl5ZENCVWVYQnZaM0poY0doNUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZWSGx3YjJkeVlYQm9lU2M3WEc1cGJYQnZjblFnZXlCamIyMXRiMjRnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wyTnZiRzl5Y3ljN1hHNXBiWEJ2Y25RZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHVhVzF3YjNKMElIc2dkWE5sVkhKaGJuTnNZWFJwYjI0Z2ZTQm1jbTl0SUNkeVpXRmpkQzFwTVRodVpYaDBKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1TDFSb1pXMWxKenRjYm1sdGNHOXlkQ0I3SUhWeWJDQmhjeUIxY214VmRHbHNjeUI5SUdaeWIyMGdKeTR1THk0dUwzVjBhV3h6Snp0Y2JtbHRjRzl5ZENCRGIzQjVRMnhwY0dKdllYSmtJR1p5YjIwZ0p5NHVMME52Y0hsRGJHbHdZbTloY21Rbk8xeHVhVzF3YjNKMElIc2dSMmwwSUgwZ1puSnZiU0FuTGk0dlNXTnZibk1uTzF4dWFXMXdiM0owSUV4cGJtdEZlSFJsY201aGJDQm1jbTl0SUNjdUxpOU1hVzVyUlhoMFpYSnVZV3duTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JVWlhoMElEMGdjM1I1YkdWa0tGUjVjRzluY21Gd2FIa3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvY0hKdmNITXBJRDArSUNoN1hHNGdJR1p2Ym5SWFpXbG5hSFE2SUhCeWIzQnpMblJvWlcxbExtWnZiblJYWldsbmFIUXVZbTlzWkN4Y2JpQWdkR1Y0ZEZSeVlXNXpabTl5YlRvZ0oyTmhjR2wwWVd4cGVtVW5MRnh1ZlNrcE8xeHVYRzVqYjI1emRDQlNaWEJ2YzJsMGIzSjVUR2x6ZEVsMFpXMGdQU0J6ZEhsc1pXUW9UR2x6ZEVsMFpXMHBLSHRjYmlBZ2NHRmtaR2x1WnpvZ01DeGNiaUFnSnpwb2IzWmxjaWM2SUh0Y2JpQWdJQ0JpWVdOclozSnZkVzVrUTI5c2IzSTZJQ2QwY21GdWMzQmhjbVZ1ZENjc1hHNGdJSDBzWEc1OUtUdGNibHh1WTI5dWMzUWdVbVZ3YjNOcGRHOXllVXhwYzNSSmRHVnRWR1Y0ZENBOUlITjBlV3hsWkNoTWFYTjBTWFJsYlZSbGVIUXBLSHRjYmlBZ2NHRmtaR2x1WnpvZ0p6QWdNQ0F3SURFd2NIZ25MRnh1SUNCdFlYSm5hVzQ2SURBc1hHNTlLVHRjYmx4dVkyOXVjM1FnVW1Wd2IzTnBkRzl5ZVVGMllYUmhjaUE5SUhOMGVXeGxaQ2hCZG1GMFlYSXBLSHRjYmlBZ2NHRmtaR2x1WnpvZ01DeGNiaUFnYldGeVoybHVUR1ZtZERvZ01DeGNiaUFnWW1GamEyZHliM1Z1WkVOdmJHOXlPaUFuZEhKaGJuTndZWEpsYm5RbkxGeHVmU2s3WEc1Y2JtTnZibk4wSUZKbGNHOXphWFJ2Y25rNklGSmxZV04wTGtaRFBIc2djR0ZqYTJGblpVMWxkR0U2SUdGdWVTQjlQaUE5SUNoN0lIQmhZMnRoWjJWTlpYUmhJSDBwSUQwK0lIdGNiaUFnWTI5dWMzUWdleUIwSUgwZ1BTQjFjMlZVY21GdWMyeGhkR2x2YmlncE8xeHVJQ0JqYjI1emRDQjFjbXdnUFNCd1lXTnJZV2RsVFdWMFlUOHViR0YwWlhOMFB5NXlaWEJ2YzJsMGIzSjVQeTUxY213N1hHNGdJR2xtSUNnaGRYSnNJSHg4SUNGMWNteFZkR2xzY3k1cGMxVlNUQ2gxY213cEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0JqYjI1emRDQm5aWFJEYjNKeVpXTjBVbVZ3YjNOcGRHOXllVlZTVENBOUlDZ3BPaUJ6ZEhKcGJtY2dQVDRnZTF4dUlDQWdJR2xtSUNnaGRYSnNMbWx1WTJ4MVpHVnpLQ2RuYVhRckp5a3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjFjbXc3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIVnliQzV6Y0d4cGRDZ25aMmwwS3ljcFd6RmRPMXh1SUNCOU8xeHVYRzRnSUdOdmJuTjBJSEpsY0c5emFYUnZjbmxWVWt3Z1BTQm5aWFJEYjNKeVpXTjBVbVZ3YjNOcGRHOXllVlZTVENncE8xeHVYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRXhwYzNSY2JpQWdJQ0FnSUdSbGJuTmxQWHQwY25WbGZWeHVJQ0FnSUNBZ2MzVmlhR1ZoWkdWeVBYczhVM1I1YkdWa1ZHVjRkQ0IyWVhKcFlXNTBQVndpYzNWaWRHbDBiR1V4WENJK2UzUW9KM05wWkdWaVlYSXVjbVZ3YjNOcGRHOXllUzUwYVhSc1pTY3BmVHd2VTNSNWJHVmtWR1Y0ZEQ1OVhHNGdJQ0FnUGx4dUlDQWdJQ0FnUEZKbGNHOXphWFJ2Y25sTWFYTjBTWFJsYlQ1Y2JpQWdJQ0FnSUNBZ1BGSmxjRzl6YVhSdmNubEJkbUYwWVhJZ2MzZzllM3NnWW1kamIyeHZjam9nWTI5dGJXOXVMbmRvYVhSbElIMTlQbHh1SUNBZ0lDQWdJQ0FnSUR4SGFYUWdMejVjYmlBZ0lDQWdJQ0FnUEM5U1pYQnZjMmwwYjNKNVFYWmhkR0Z5UGx4dUlDQWdJQ0FnSUNBOFVtVndiM05wZEc5eWVVeHBjM1JKZEdWdFZHVjRkRnh1SUNBZ0lDQWdJQ0FnSUhCeWFXMWhjbms5ZTF4dUlDQWdJQ0FnSUNBZ0lDQWdQRU52Y0hsRGJHbHdZbTloY21RZ1pHRjBZVlJsYzNSSlpEMWNJbkpsY0c5emFYUnZjbmxKUkZ3aUlIUmxlSFE5ZTNKbGNHOXphWFJ2Y25sVlVreDlJSFJwZEd4bFBYdHlaWEJ2YzJsMGIzSjVWVkpNZlQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEV4cGJtdEZlSFJsY201aGJDQjBiejE3Y21Wd2IzTnBkRzl5ZVZWU1RIMGdkbUZ5YVdGdWREMWNJbTkxZEd4cGJtVmNJajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I3Y21Wd2IzTnBkRzl5ZVZWU1RIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BDOU1hVzVyUlhoMFpYSnVZV3crWEc0Z0lDQWdJQ0FnSUNBZ0lDQThMME52Y0hsRGJHbHdZbTloY21RK1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0F2UGx4dUlDQWdJQ0FnUEM5U1pYQnZjMmwwYjNKNVRHbHpkRWwwWlcwK1hHNGdJQ0FnUEM5TWFYTjBQbHh1SUNBcE8xeHVmVHRjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnVW1Wd2IzTnBkRzl5ZVR0Y2JpSmRmUT09ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgUmVwb3NpdG9yeSA9ICh7IHBhY2thZ2VNZXRhIH0pID0+IHtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRjb25zdCB1cmwgPSBwYWNrYWdlTWV0YT8ubGF0ZXN0Py5yZXBvc2l0b3J5Py51cmw7XG5cdGlmICghdXJsIHx8ICFpc1VSTCh1cmwpKSByZXR1cm4gbnVsbDtcblx0Y29uc3QgZ2V0Q29ycmVjdFJlcG9zaXRvcnlVUkwgPSAoKSA9PiB7XG5cdFx0aWYgKCF1cmwuaW5jbHVkZXMoXCJnaXQrXCIpKSByZXR1cm4gdXJsO1xuXHRcdHJldHVybiB1cmwuc3BsaXQoXCJnaXQrXCIpWzFdO1xuXHR9O1xuXHRjb25zdCByZXBvc2l0b3J5VVJMID0gZ2V0Q29ycmVjdFJlcG9zaXRvcnlVUkwoKTtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goTGlzdCwge1xuXHRcdGRlbnNlOiB0cnVlLFxuXHRcdHN1YmhlYWRlcjogLyogQF9fUFVSRV9fICovIGpzeChTdHlsZWRUZXh0LCB7XG5cdFx0XHR2YXJpYW50OiBcInN1YnRpdGxlMVwiLFxuXHRcdFx0Y2hpbGRyZW46IHQoXCJzaWRlYmFyLnJlcG9zaXRvcnkudGl0bGVcIilcblx0XHR9KSxcblx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeHMoUmVwb3NpdG9yeUxpc3RJdGVtLCB7IGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChSZXBvc2l0b3J5QXZhdGFyLCB7XG5cdFx0XHRzeDogeyBiZ2NvbG9yOiBjb21tb24ud2hpdGUgfSxcblx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEdpdCwge30pXG5cdFx0fSksIC8qIEBfX1BVUkVfXyAqLyBqc3goUmVwb3NpdG9yeUxpc3RJdGVtVGV4dCwgeyBwcmltYXJ5OiAvKiBAX19QVVJFX18gKi8ganN4KENvcHlUb0NsaXBCb2FyZCwge1xuXHRcdFx0ZGF0YVRlc3RJZDogXCJyZXBvc2l0b3J5SURcIixcblx0XHRcdHRleHQ6IHJlcG9zaXRvcnlVUkwsXG5cdFx0XHR0aXRsZTogcmVwb3NpdG9yeVVSTCxcblx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KExpbmtFeHRlcm5hbCwge1xuXHRcdFx0XHR0bzogcmVwb3NpdG9yeVVSTCxcblx0XHRcdFx0dmFyaWFudDogXCJvdXRsaW5lXCIsXG5cdFx0XHRcdGNoaWxkcmVuOiByZXBvc2l0b3J5VVJMXG5cdFx0XHR9KVxuXHRcdH0pIH0pXSB9KVxuXHR9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IFJlcG9zaXRvcnkgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1SZXBvc2l0b3J5Lm1qcy5tYXAiLCJpbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL0FwcENvbmZpZ3VyYXRpb25Qcm92aWRlci9BcHBDb25maWd1cmF0aW9uUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgeyB1c2VWZXJzaW9uIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9WZXJzaW9uUHJvdmlkZXIvVmVyc2lvblByb3ZpZGVyLm1qc1wiO1xuaW1wb3J0IHsgRG93bmxvYWRQcm92aWRlciB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvRG93bmxvYWRQcm92aWRlci9Eb3dubG9hZFByb3ZpZGVyLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vcHJvdmlkZXJzL2luZGV4Lm1qc1wiO1xuaW1wb3J0IEFjdGlvbkJhciBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9BY3Rpb25CYXIvQWN0aW9uQmFyLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9BY3Rpb25CYXIvaW5kZXgubWpzXCI7XG5pbXBvcnQgQXV0aG9yIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0F1dGhvci9BdXRob3IubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL0F1dGhvci9pbmRleC5tanNcIjtcbmltcG9ydCBEZXZlbG9wZXJzIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0RldmVsb3BlcnMvRGV2ZWxvcGVycy5tanNcIjtcbmltcG9ydCB7IERldmVsb3BlclR5cGUgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9EZXZlbG9wZXJzL0RldmVsb3BlclR5cGUubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL0RldmVsb3BlcnMvaW5kZXgubWpzXCI7XG5pbXBvcnQgRGlzdCBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9EaXN0cmlidXRpb24vRGlzdC5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvRGlzdHJpYnV0aW9uL2luZGV4Lm1qc1wiO1xuaW1wb3J0IEVuZ2luZSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9FbmdpbmVzL0VuZ2luZXMubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL0VuZ2luZXMvaW5kZXgubWpzXCI7XG5pbXBvcnQgRnVuZEJ1dHRvbiBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9GdW5kQnV0dG9uL0Z1bmRCdXR0b24ubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL0Z1bmRCdXR0b24vaW5kZXgubWpzXCI7XG5pbXBvcnQgSW5zdGFsbCBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9JbnN0YWxsL0luc3RhbGwubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL0luc3RhbGwvaW5kZXgubWpzXCI7XG5pbXBvcnQgS2V5d29yZHMgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvS2V5d29yZHMvS2V5d29yZHMubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL0tleXdvcmRzL2luZGV4Lm1qc1wiO1xuaW1wb3J0IERldGFpbFNpZGViYXJUaXRsZSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9TaWRlQmFyVGl0bGUvU2lkZUJhclRpdGxlLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9TaWRlQmFyVGl0bGUvaW5kZXgubWpzXCI7XG5pbXBvcnQgUmVwb3NpdG9yeSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9SZXBvc2l0b3J5L1JlcG9zaXRvcnkubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL1JlcG9zaXRvcnkvaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgUGFwZXIgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvUGFwZXJcIjtcbi8vI3JlZ2lvbiBzcmMvc2VjdGlvbnMvU2lkZUJhci9TaWRlYmFyLnRzeFxudmFyIGdldE1vZHVsZVR5cGVzID0gKG1hbmlmZXN0KSA9PiB7XG5cdGlmICghbWFuaWZlc3QubGF0ZXN0KSByZXR1cm4gW107XG5cdGNvbnN0IG1vZHVsZVR5cGVzID0gW21hbmlmZXN0LmxhdGVzdC50eXBlIHx8IFwiY29tbW9uanNcIl07XG5cdGlmIChtYW5pZmVzdC5sYXRlc3QubWFpbikgbW9kdWxlVHlwZXMucHVzaChcImNvbW1vbmpzXCIpO1xuXHRyZXR1cm4gQXJyYXkuZnJvbShuZXcgU2V0KG1vZHVsZVR5cGVzKSk7XG59O1xudmFyIERldGFpbFNpZGViYXIgPSAoKSA9PiB7XG5cdGNvbnN0IHsgcGFja2FnZU1ldGEsIHBhY2thZ2VOYW1lLCBwYWNrYWdlVmVyc2lvbiB9ID0gdXNlVmVyc2lvbigpO1xuXHRjb25zdCB7IGNvbmZpZ09wdGlvbnMgfSA9IHVzZUNvbmZpZygpO1xuXHRjb25zdCB2ZXJzaW9uID0gcGFja2FnZVZlcnNpb24gfHwgcGFja2FnZU1ldGE/LmxhdGVzdC52ZXJzaW9uIHx8IFwiXCI7XG5cdGNvbnN0IHRpbWUgPSBwYWNrYWdlTWV0YT8udGltZSA/IHBhY2thZ2VNZXRhLnRpbWVbdmVyc2lvbl0gOiBcIlwiO1xuXHRpZiAoIXBhY2thZ2VNZXRhIHx8ICFwYWNrYWdlTmFtZSkgcmV0dXJuIG51bGw7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhQYXBlciwge1xuXHRcdFwiZGF0YS10ZXN0aWRcIjogXCJzaWRlYmFyXCIsXG5cdFx0c3g6IHtcblx0XHRcdHBvc2l0aW9uOiBcInN0aWNreVwiLFxuXHRcdFx0dG9wOiAwLFxuXHRcdFx0cDogMixcblx0XHRcdG1sOiB7XG5cdFx0XHRcdHhzOiAwLFxuXHRcdFx0XHRtZDogMlxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0Y2hpbGRyZW46IFtcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goRGV0YWlsU2lkZWJhclRpdGxlLCB7XG5cdFx0XHRcdGRlc2NyaXB0aW9uOiBwYWNrYWdlTWV0YS5sYXRlc3Q/LmRlc2NyaXB0aW9uLFxuXHRcdFx0XHRoYXNUeXBlczogdHlwZW9mIHBhY2thZ2VNZXRhLmxhdGVzdD8udHlwZXMgPT09IFwic3RyaW5nXCIsXG5cdFx0XHRcdGlzTGF0ZXN0OiB0eXBlb2YgcGFja2FnZVZlcnNpb24gPT09IFwidW5kZWZpbmVkXCIsXG5cdFx0XHRcdG1vZHVsZVR5cGVzOiBnZXRNb2R1bGVUeXBlcyhwYWNrYWdlTWV0YSksXG5cdFx0XHRcdHBhY2thZ2VOYW1lLFxuXHRcdFx0XHR0aW1lLFxuXHRcdFx0XHR2ZXJzaW9uXG5cdFx0XHR9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goRG93bmxvYWRQcm92aWRlciwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChBY3Rpb25CYXIsIHtcblx0XHRcdFx0cGFja2FnZU1ldGEsXG5cdFx0XHRcdHNob3dEb3dubG9hZFRhcmJhbGw6IGNvbmZpZ09wdGlvbnMuc2hvd0Rvd25sb2FkVGFyYmFsbCxcblx0XHRcdFx0c2hvd1JhdzogY29uZmlnT3B0aW9ucy5zaG93UmF3XG5cdFx0XHR9KSB9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goRnVuZEJ1dHRvbiwgeyBwYWNrYWdlTWV0YSB9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goSW5zdGFsbCwge1xuXHRcdFx0XHRjb25maWdPcHRpb25zLFxuXHRcdFx0XHRwYWNrYWdlTWV0YSxcblx0XHRcdFx0cGFja2FnZU5hbWVcblx0XHRcdH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChSZXBvc2l0b3J5LCB7IHBhY2thZ2VNZXRhIH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChFbmdpbmUsIHsgcGFja2FnZU1ldGEgfSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KERpc3QsIHsgcGFja2FnZU1ldGEgfSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KEtleXdvcmRzLCB7IHBhY2thZ2VNZXRhIH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChBdXRob3IsIHsgcGFja2FnZU1ldGEgfSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KERldmVsb3BlcnMsIHtcblx0XHRcdFx0cGFja2FnZU1ldGEsXG5cdFx0XHRcdHR5cGU6IERldmVsb3BlclR5cGUuTUFJTlRBSU5FUlNcblx0XHRcdH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChEZXZlbG9wZXJzLCB7XG5cdFx0XHRcdHBhY2thZ2VNZXRhLFxuXHRcdFx0XHR0eXBlOiBEZXZlbG9wZXJUeXBlLkNPTlRSSUJVVE9SU1xuXHRcdFx0fSlcblx0XHRdXG5cdH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgRGV0YWlsU2lkZWJhciBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVNpZGViYXIubWpzLm1hcCIsImltcG9ydCBSZWFkbWUgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvUmVhZG1lL1JlYWRtZS5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvUmVhZG1lL2luZGV4Lm1qc1wiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuLy8jcmVnaW9uIHNyYy9zZWN0aW9ucy9EZXRhaWwvUmVhZG1lU2VjdGlvbi50c3hcbnZhciBEZXRhaWxDb250YWluZXJDb250ZW50UmVhZG1lID0gKHsgZGVzY3JpcHRpb24gfSkgPT4ge1xuXHRpZiAoIWRlc2NyaXB0aW9uKSByZXR1cm4gbnVsbDtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goUmVhZG1lLCB7IGRlc2NyaXB0aW9uIH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgRGV0YWlsQ29udGFpbmVyQ29udGVudFJlYWRtZSBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVJlYWRtZVNlY3Rpb24ubWpzLm1hcCIsImltcG9ydCBsb2FkYWJsZV9kZWZhdWx0IGZyb20gXCIuLi8uLi91dGlscy9sb2FkYWJsZS5tanNcIjtcbmltcG9ydCB7IHVzZVZlcnNpb24gfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL1ZlcnNpb25Qcm92aWRlci9WZXJzaW9uUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9wcm92aWRlcnMvaW5kZXgubWpzXCI7XG5pbXBvcnQgRGV0YWlsQ29udGFpbmVyQ29udGVudFJlYWRtZSBmcm9tIFwiLi9SZWFkbWVTZWN0aW9uLm1qc1wiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuLy8jcmVnaW9uIHNyYy9zZWN0aW9ucy9EZXRhaWwvQ29udGFpbmVyQ29udGVudC50c3hcbnZhciBUYWJQb3NpdGlvbiA9IC8qIEBfX1BVUkVfXyAqLyBmdW5jdGlvbihUYWJQb3NpdGlvbikge1xuXHRUYWJQb3NpdGlvbltcIlJFQURNRVwiXSA9IFwicmVhZG1lXCI7XG5cdFRhYlBvc2l0aW9uW1wiREVQRU5ERU5DSUVTXCJdID0gXCJkZXBlbmRlbmNpZXNcIjtcblx0VGFiUG9zaXRpb25bXCJWRVJTSU9OU1wiXSA9IFwidmVyc2lvbnNcIjtcblx0VGFiUG9zaXRpb25bXCJVUExJTktTXCJdID0gXCJ1cGxpbmtzXCI7XG5cdHJldHVybiBUYWJQb3NpdGlvbjtcbn0oe30pO1xudmFyIFZlcnNpb25zID0gbG9hZGFibGVfZGVmYXVsdCgoKSA9PiBpbXBvcnQoXCIuLi8uLi9jb21wb25lbnRzL1ZlcnNpb25zL2luZGV4Lm1qc1wiKSk7XG52YXIgVXBMaW5rcyA9IGxvYWRhYmxlX2RlZmF1bHQoKCkgPT4gaW1wb3J0KFwiLi4vLi4vY29tcG9uZW50cy9VcExpbmtzL2luZGV4Lm1qc1wiKSk7XG52YXIgRGVwZW5kZW5jaWVzID0gbG9hZGFibGVfZGVmYXVsdCgoKSA9PiBpbXBvcnQoXCIuLi8uLi9jb21wb25lbnRzL0RlcGVuZGVuY2llcy9pbmRleC5tanNcIikpO1xudmFyIENvbnRhaW5lckNvbnRlbnQgPSAoeyB0YWJQb3NpdGlvbiwgcmVhZERlc2NyaXB0aW9uIH0pID0+IHtcblx0Y29uc3QgeyBwYWNrYWdlTWV0YSwgcGFja2FnZU5hbWUgfSA9IHVzZVZlcnNpb24oKTtcblx0c3dpdGNoICh0YWJQb3NpdGlvbikge1xuXHRcdGNhc2UgVGFiUG9zaXRpb24uUkVBRE1FOiByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChEZXRhaWxDb250YWluZXJDb250ZW50UmVhZG1lLCB7IGRlc2NyaXB0aW9uOiByZWFkRGVzY3JpcHRpb24gfSk7XG5cdFx0Y2FzZSBUYWJQb3NpdGlvbi5VUExJTktTOiByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChVcExpbmtzLCB7IHBhY2thZ2VNZXRhIH0pO1xuXHRcdGNhc2UgVGFiUG9zaXRpb24uVkVSU0lPTlM6IHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFZlcnNpb25zLCB7XG5cdFx0XHRwYWNrYWdlTWV0YSxcblx0XHRcdHBhY2thZ2VOYW1lXG5cdFx0fSk7XG5cdFx0Y2FzZSBUYWJQb3NpdGlvbi5ERVBFTkRFTkNJRVM6IHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KERlcGVuZGVuY2llcywgeyBwYWNrYWdlTWV0YSB9KTtcblx0XHRkZWZhdWx0OiByZXR1cm4gbnVsbDtcblx0fVxufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgQ29udGFpbmVyQ29udGVudCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNvbnRhaW5lckNvbnRlbnQubWpzLm1hcCIsImltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IFRhYiBmcm9tIFwiQG11aS9tYXRlcmlhbC9UYWJcIjtcbmltcG9ydCBUYWJzIGZyb20gXCJAbXVpL21hdGVyaWFsL1RhYnNcIjtcbmltcG9ydCB1c2VNZWRpYVF1ZXJ5IGZyb20gXCJAbXVpL21hdGVyaWFsL3VzZU1lZGlhUXVlcnlcIjtcbi8vI3JlZ2lvbiBzcmMvc2VjdGlvbnMvRGV0YWlsL1RhYnMudHN4XG5mdW5jdGlvbiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXygpIHtcblx0cmV0dXJuIFwiWW91IGhhdmUgdHJpZWQgdG8gc3RyaW5naWZ5IG9iamVjdCByZXR1cm5lZCBmcm9tIGBjc3NgIGZ1bmN0aW9uLiBJdCBpc24ndCBzdXBwb3NlZCB0byBiZSB1c2VkIGRpcmVjdGx5IChlLmcuIGFzIHZhbHVlIG9mIHRoZSBgY2xhc3NOYW1lYCBwcm9wKSwgYnV0IHJhdGhlciBoYW5kZWQgdG8gZW1vdGlvbiBzbyBpdCBjYW4gaGFuZGxlIGl0IChlLmcuIGFzIHZhbHVlIG9mIGBjc3NgIHByb3ApLlwiO1xufVxudmFyIERldGFpbENvbnRhaW5lclRhYnMgPSAoeyB0YWJQb3NpdGlvbiwgb25DaGFuZ2UsIHNob3dVcGxpbmtzIH0pID0+IHtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRjb25zdCBpc01vYmlsZSA9IHVzZU1lZGlhUXVlcnkoXCIobWF4LXdpZHRoOjU5OXB4KVwiKTtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKFRhYnMkMSwge1xuXHRcdGFsbG93U2Nyb2xsQnV0dG9uc01vYmlsZTogdHJ1ZSxcblx0XHRvbkNoYW5nZSxcblx0XHRzY3JvbGxCdXR0b25zOiBpc01vYmlsZSA/IFwiYXV0b1wiIDogZmFsc2UsXG5cdFx0dmFsdWU6IHRhYlBvc2l0aW9uLFxuXHRcdHZhcmlhbnQ6IGlzTW9iaWxlID8gXCJzY3JvbGxhYmxlXCIgOiBcImZ1bGxXaWR0aFwiLFxuXHRcdGNoaWxkcmVuOiBbXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFRhYiwge1xuXHRcdFx0XHRcImRhdGEtdGVzdGlkXCI6IFwicmVhZG1lLXRhYlwiLFxuXHRcdFx0XHRpZDogXCJyZWFkbWUtdGFiXCIsXG5cdFx0XHRcdGxhYmVsOiB0KFwidGFiLnJlYWRtZVwiKVxuXHRcdFx0fSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFRhYiwge1xuXHRcdFx0XHRcImRhdGEtdGVzdGlkXCI6IFwiZGVwZW5kZW5jaWVzLXRhYlwiLFxuXHRcdFx0XHRpZDogXCJkZXBlbmRlbmNpZXMtdGFiXCIsXG5cdFx0XHRcdGxhYmVsOiB0KFwidGFiLmRlcGVuZGVuY2llc1wiKVxuXHRcdFx0fSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFRhYiwge1xuXHRcdFx0XHRcImRhdGEtdGVzdGlkXCI6IFwidmVyc2lvbnMtdGFiXCIsXG5cdFx0XHRcdGlkOiBcInZlcnNpb25zLXRhYlwiLFxuXHRcdFx0XHRsYWJlbDogdChcInRhYi52ZXJzaW9uc1wiKVxuXHRcdFx0fSksXG5cdFx0XHRzaG93VXBsaW5rcyAmJiAvKiBAX19QVVJFX18gKi8ganN4KFRhYiwge1xuXHRcdFx0XHRcImRhdGEtdGVzdGlkXCI6IFwidXBsaW5rcy10YWJcIixcblx0XHRcdFx0aWQ6IFwidXBsaW5rcy10YWJcIixcblx0XHRcdFx0bGFiZWw6IHQoXCJ0YWIudXBsaW5rc1wiKVxuXHRcdFx0fSlcblx0XHRdXG5cdH0pO1xufTtcbnZhciBUYWJzJDEgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChUYWJzLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMWc5ZWU0bDBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTFnOWVlNGwwXCIsXG5cdGxhYmVsOiBcIlRhYnNcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjE4dXFheWhcIixcblx0c3R5bGVzOiBcIm1hcmdpbi1ib3R0b206MTZweFwiXG59IDoge1xuXHRuYW1lOiBcIjE4dXFheWhcIixcblx0c3R5bGVzOiBcIm1hcmdpbi1ib3R0b206MTZweC8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZSR1YwWVdsc0wxUmhZbk11ZEhONElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFYVkRZU0lzSW1acGJHVWlPaUl2YUc5dFpTOXlkVzV1WlhJdmQyOXlheTkyWlhKa1lXTmphVzh2ZG1WeVpHRmpZMmx2TDNCaFkydGhaMlZ6TDNWcExXTnZiWEJ2Ym1WdWRITXZjM0pqTDNObFkzUnBiMjV6TDBSbGRHRnBiQzlVWVdKekxuUnplQ0lzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCVVlXSWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlVWVdJbk8xeHVhVzF3YjNKMElIc2daR1ZtWVhWc2RDQmhjeUJOZFdsVVlXSnpJSDBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5VVlXSnpKenRjYm1sdGNHOXlkQ0IxYzJWTlpXUnBZVkYxWlhKNUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZkWE5sVFdWa2FXRlJkV1Z5ZVNjN1hHNXBiWEJ2Y25RZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHVhVzF3YjNKMElIc2dkWE5sVkhKaGJuTnNZWFJwYjI0Z2ZTQm1jbTl0SUNkeVpXRmpkQzFwTVRodVpYaDBKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1TDFSb1pXMWxKenRjYmx4dWFXNTBaWEptWVdObElGQnliM0J6SUh0Y2JpQWdiMjVEYUdGdVoyVTZJQ2hsZG1WdWREb2dVbVZoWTNRdVEyaGhibWRsUlhabGJuUThlMzArTENCdVpYZFdZV3gxWlRvZ2JuVnRZbVZ5S1NBOVBpQjJiMmxrTzF4dUlDQjBZV0pRYjNOcGRHbHZiam9nYm5WdFltVnlPMXh1SUNCemFHOTNWWEJzYVc1cmN6ODZJR0p2YjJ4bFlXNDdYRzU5WEc1Y2JtTnZibk4wSUVSbGRHRnBiRU52Ym5SaGFXNWxjbFJoWW5NNklGSmxZV04wTGtaRFBGQnliM0J6UGlBOUlDaDdJSFJoWWxCdmMybDBhVzl1TENCdmJrTm9ZVzVuWlN3Z2MyaHZkMVZ3YkdsdWEzTWdmU2tnUFQ0Z2UxeHVJQ0JqYjI1emRDQjdJSFFnZlNBOUlIVnpaVlJ5WVc1emJHRjBhVzl1S0NrN1hHNGdJR052Ym5OMElHbHpUVzlpYVd4bElEMGdkWE5sVFdWa2FXRlJkV1Z5ZVNnbktHMWhlQzEzYVdSMGFEbzFPVGx3ZUNrbktUdGNibHh1SUNCeVpYUjFjbTRnS0Z4dUlDQWdJRHhVWVdKelhHNGdJQ0FnSUNCaGJHeHZkMU5qY205c2JFSjFkSFJ2Ym5OTmIySnBiR1U5ZTNSeWRXVjlYRzRnSUNBZ0lDQnZia05vWVc1blpUMTdiMjVEYUdGdVoyVjlYRzRnSUNBZ0lDQnpZM0p2Ykd4Q2RYUjBiMjV6UFh0cGMwMXZZbWxzWlNBL0lDZGhkWFJ2SnlBNklHWmhiSE5sZlZ4dUlDQWdJQ0FnZG1Gc2RXVTllM1JoWWxCdmMybDBhVzl1ZlZ4dUlDQWdJQ0FnZG1GeWFXRnVkRDE3YVhOTmIySnBiR1VnUHlBbmMyTnliMnhzWVdKc1pTY2dPaUFuWm5Wc2JGZHBaSFJvSjMxY2JpQWdJQ0ErWEc0Z0lDQWdJQ0E4VkdGaUlHUmhkR0V0ZEdWemRHbGtQWHNuY21WaFpHMWxMWFJoWWlkOUlHbGtQWHNuY21WaFpHMWxMWFJoWWlkOUlHeGhZbVZzUFh0MEtDZDBZV0l1Y21WaFpHMWxKeWw5SUM4K1hHNGdJQ0FnSUNBOFZHRmlJR1JoZEdFdGRHVnpkR2xrUFhzblpHVndaVzVrWlc1amFXVnpMWFJoWWlkOUlHbGtQWHNuWkdWd1pXNWtaVzVqYVdWekxYUmhZaWQ5SUd4aFltVnNQWHQwS0NkMFlXSXVaR1Z3Wlc1a1pXNWphV1Z6SnlsOUlDOCtYRzRnSUNBZ0lDQThWR0ZpSUdSaGRHRXRkR1Z6ZEdsa1BYc25kbVZ5YzJsdmJuTXRkR0ZpSjMwZ2FXUTlleWQyWlhKemFXOXVjeTEwWVdJbmZTQnNZV0psYkQxN2RDZ25kR0ZpTG5abGNuTnBiMjV6SnlsOUlDOCtYRzRnSUNBZ0lDQjdjMmh2ZDFWd2JHbHVhM01nSmlZZ0tGeHVJQ0FnSUNBZ0lDQThWR0ZpSUdSaGRHRXRkR1Z6ZEdsa1BYc25kWEJzYVc1cmN5MTBZV0luZlNCcFpEMTdKM1Z3YkdsdWEzTXRkR0ZpSjMwZ2JHRmlaV3c5ZTNRb0ozUmhZaTUxY0d4cGJtdHpKeWw5SUM4K1hHNGdJQ0FnSUNBcGZWeHVJQ0FnSUR3dlZHRmljejVjYmlBZ0tUdGNibjA3WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUVSbGRHRnBiRU52Ym5SaGFXNWxjbFJoWW5NN1hHNWNibU52Ym5OMElGUmhZbk1nUFNCemRIbHNaV1FvVFhWcFZHRmljeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0h0Y2JpQWdiV0Z5WjJsdVFtOTBkRzl0T2lBeE5peGNibjBwTzF4dUlsMTkgKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgRGV0YWlsQ29udGFpbmVyVGFicyBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVRhYnMubWpzLm1hcCIsImltcG9ydCB7IHVzZUNvbmZpZyB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvQXBwQ29uZmlndXJhdGlvblByb3ZpZGVyL0FwcENvbmZpZ3VyYXRpb25Qcm92aWRlci5tanNcIjtcbmltcG9ydCB7IHVzZVZlcnNpb24gfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL1ZlcnNpb25Qcm92aWRlci9WZXJzaW9uUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9wcm92aWRlcnMvaW5kZXgubWpzXCI7XG5pbXBvcnQgRGVwcmVjYXRlZCBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9EZXByZWNhdGVkL0RlcHJlY2F0ZWQubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL0RlcHJlY2F0ZWQvaW5kZXgubWpzXCI7XG5pbXBvcnQgQ29udGFpbmVyQ29udGVudCBmcm9tIFwiLi9Db250YWluZXJDb250ZW50Lm1qc1wiO1xuaW1wb3J0IERldGFpbENvbnRhaW5lclRhYnMgZnJvbSBcIi4vVGFicy5tanNcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBCb3ggZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQm94XCI7XG4vLyNyZWdpb24gc3JjL3NlY3Rpb25zL0RldGFpbC9EZXRhaWwudHN4XG52YXIgVGFiUG9zaXRpb24gPSAvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oVGFiUG9zaXRpb24pIHtcblx0VGFiUG9zaXRpb25bXCJSRUFETUVcIl0gPSBcInJlYWRtZVwiO1xuXHRUYWJQb3NpdGlvbltcIkRFUEVOREVOQ0lFU1wiXSA9IFwiZGVwZW5kZW5jaWVzXCI7XG5cdFRhYlBvc2l0aW9uW1wiVkVSU0lPTlNcIl0gPSBcInZlcnNpb25zXCI7XG5cdFRhYlBvc2l0aW9uW1wiVVBMSU5LU1wiXSA9IFwidXBsaW5rc1wiO1xuXHRyZXR1cm4gVGFiUG9zaXRpb247XG59KHt9KTtcbnZhciBEZXRhaWxDb250YWluZXIgPSAoKSA9PiB7XG5cdGNvbnN0IHsgY29uZmlnT3B0aW9ucyB9ID0gdXNlQ29uZmlnKCk7XG5cdGNvbnN0IHRhYnMgPSBjb25maWdPcHRpb25zLnNob3dVcGxpbmtzID8gT2JqZWN0LnZhbHVlcyhUYWJQb3NpdGlvbikgOiBPYmplY3QudmFsdWVzKFRhYlBvc2l0aW9uKS5maWx0ZXIoKHRhYikgPT4gdGFiICE9PSBUYWJQb3NpdGlvbi5VUExJTktTKTtcblx0Y29uc3QgW3RhYlBvc2l0aW9uLCBzZXRUYWJQb3NpdGlvbl0gPSB1c2VTdGF0ZSgwKTtcblx0Y29uc3QgeyByZWFkTWUsIHBhY2thZ2VNZXRhIH0gPSB1c2VWZXJzaW9uKCk7XG5cdGNvbnN0IGhhbmRsZUNoYW5nZSA9IChldmVudCwgbmV3VmFsdWUpID0+IHtcblx0XHRzZXRUYWJQb3NpdGlvbihuZXdWYWx1ZSk7XG5cdH07XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhCb3gsIHtcblx0XHRjb21wb25lbnQ6IFwiZGl2XCIsXG5cdFx0ZGlzcGxheTogXCJmbGV4XCIsXG5cdFx0ZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcblx0XHRtaW5XaWR0aDogMCxcblx0XHRwYWRkaW5nOiAwLFxuXHRcdGNoaWxkcmVuOiBbXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KERldGFpbENvbnRhaW5lclRhYnMsIHtcblx0XHRcdFx0b25DaGFuZ2U6IGhhbmRsZUNoYW5nZSxcblx0XHRcdFx0c2hvd1VwbGlua3M6IGNvbmZpZ09wdGlvbnMuc2hvd1VwbGlua3MsXG5cdFx0XHRcdHRhYlBvc2l0aW9uXG5cdFx0XHR9KSxcblx0XHRcdHBhY2thZ2VNZXRhPy5sYXRlc3Q/LmRlcHJlY2F0ZWQgJiYgLyogQF9fUFVSRV9fICovIGpzeChEZXByZWNhdGVkLCB7IG1lc3NhZ2U6IHBhY2thZ2VNZXRhPy5sYXRlc3Q/LmRlcHJlY2F0ZWQgfSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KENvbnRhaW5lckNvbnRlbnQsIHtcblx0XHRcdFx0cmVhZERlc2NyaXB0aW9uOiByZWFkTWUsXG5cdFx0XHRcdHRhYlBvc2l0aW9uOiB0YWJzW3RhYlBvc2l0aW9uXVxuXHRcdFx0fSlcblx0XHRdXG5cdH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgRGV0YWlsQ29udGFpbmVyIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9RGV0YWlsLm1qcy5tYXAiLCJpbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbmltcG9ydCBJY29uQnV0dG9uIGZyb20gXCJAbXVpL21hdGVyaWFsL0ljb25CdXR0b25cIjtcbmltcG9ydCB7IGNvbW1vbiB9IGZyb20gXCJAbXVpL21hdGVyaWFsL2NvbG9yc1wiO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgVG9vbGJhciBmcm9tIFwiQG11aS9tYXRlcmlhbC9Ub29sYmFyXCI7XG5pbXBvcnQgQXBwQmFyIGZyb20gXCJAbXVpL21hdGVyaWFsL0FwcEJhclwiO1xuLy8jcmVnaW9uIHNyYy9zZWN0aW9ucy9IZWFkZXIvc3R5bGVzLnRzXG5mdW5jdGlvbiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXygpIHtcblx0cmV0dXJuIFwiWW91IGhhdmUgdHJpZWQgdG8gc3RyaW5naWZ5IG9iamVjdCByZXR1cm5lZCBmcm9tIGBjc3NgIGZ1bmN0aW9uLiBJdCBpc24ndCBzdXBwb3NlZCB0byBiZSB1c2VkIGRpcmVjdGx5IChlLmcuIGFzIHZhbHVlIG9mIHRoZSBgY2xhc3NOYW1lYCBwcm9wKSwgYnV0IHJhdGhlciBoYW5kZWQgdG8gZW1vdGlvbiBzbyBpdCBjYW4gaGFuZGxlIGl0IChlLmcuIGFzIHZhbHVlIG9mIGBjc3NgIHByb3ApLlwiO1xufVxudmFyIElubmVyTmF2QmFyID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoVG9vbGJhciwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZWl1N2hjbDlcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZWl1N2hjbDlcIixcblx0bGFiZWw6IFwiSW5uZXJOYXZCYXJcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjFremJwY3RcIixcblx0c3R5bGVzOiBcImp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjBcIlxufSA6IHtcblx0bmFtZTogXCIxa3picGN0XCIsXG5cdHN0eWxlczogXCJqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzowLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlNHVmhaR1Z5TDNOMGVXeGxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGVE1rSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTl6WldOMGFXOXVjeTlJWldGa1pYSXZjM1I1YkdWekxuUnpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHNnWTNOeklIMGdabkp2YlNBblFHVnRiM1JwYjI0dmNtVmhZM1FuTzF4dWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVhVzF3YjNKMElFRndjRUpoY2lCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwRndjRUpoY2ljN1hHNXBiWEJ2Y25RZ1NXTnZia0oxZEhSdmJpQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMGxqYjI1Q2RYUjBiMjRuTzF4dWFXMXdiM0owSUZSdmIyeGlZWElnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5VWIyOXNZbUZ5Snp0Y2JtbHRjRzl5ZENCN0lHTnZiVzF2YmlCOUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZZMjlzYjNKekp6dGNibHh1YVcxd2IzSjBJSFI1Y0dVZ2V5QlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMMVJvWlcxbEp6dGNibHh1Wlhod2IzSjBJR052Ym5OMElFbHVibVZ5VG1GMlFtRnlJRDBnYzNSNWJHVmtLRlJ2YjJ4aVlYSXBLSHRjYmlBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkemNHRmpaUzFpWlhSM1pXVnVKeXhjYmlBZ1lXeHBaMjVKZEdWdGN6b2dKMk5sYm5SbGNpY3NYRzRnSUhCaFpHUnBibWM2SURBc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRWR5WldWMGFXNW5jeUE5SUhOMGVXeGxaQ2duYzNCaGJpY3BLSHRjYmlBZ2JXRnlaMmx1T2lBbk1DQTFjSGdnTUNBd0p5eGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVFc5aWFXeGxUbUYyUW1GeUlEMGdjM1I1YkdWa0tDZGthWFluS1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIQnliM0J6S1NBOVBpQW9lMXh1SUNCaGJHbG5ia2wwWlcxek9pQW5ZMlZ1ZEdWeUp5eGNiaUFnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNCaWIzSmtaWEpDYjNSMGIyMDZJR0F4Y0hnZ2MyOXNhV1FnSkh0d2NtOXdjeTUwYUdWdFpTNXdZV3hsZEhSbExtZHlaWGxNYVdkb2RIMWdMRnh1SUNCd1lXUmthVzVuT2lBbk9IQjRKeXhjYmlBZ2NHOXphWFJwYjI0NklDZHlaV3hoZEdsMlpTY3NYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSmJtNWxjazF2WW1sc1pVNWhka0poY2lBOUlITjBlV3hsWkNnblpHbDJKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0Nod2NtOXdjeWtnUFQ0Z0tIdGNiaUFnWW05eVpHVnlVbUZrYVhWek9pQW5OSEI0Snl4Y2JpQWdZbUZqYTJkeWIzVnVaRU52Ykc5eU9pQndjbTl3Y3k1MGFHVnRaUzV3WVd4bGRIUmxMbWR5WlhsTWFXZG9kQ3hjYmlBZ1kyOXNiM0k2SUdOdmJXMXZiaTUzYUdsMFpTeGNiaUFnZDJsa2RHZzZJQ2N4TURBbEp5eGNiaUFnY0dGa1pHbHVaem9nSnpBZ05YQjRKeXhjYmlBZ2JXRnlaMmx1T2lBbk1DQXhNSEI0SURBZ01DY3NYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSlkyOXVVMlZoY21Ob1FuVjBkRzl1SUQwZ2MzUjViR1ZrS0VsamIyNUNkWFIwYjI0cEtIdDlLVHRjYm1WNGNHOXlkQ0JqYjI1emRDQkpibVp2UW5WMGRHOXVJRDBnYzNSNWJHVmtLRWxqYjI1Q2RYUjBiMjRwS0h0OUtUdGNibVY0Y0c5eWRDQmpiMjV6ZENCVGQybDBZMmhVYUdWdFpVSjFkSFJ2YmlBOUlITjBlV3hsWkNoSlkyOXVRblYwZEc5dUtTaDdmU2s3WEc1bGVIQnZjblFnWTI5dWMzUWdVMlYwZEdsdVozTkNkWFIwYjIwZ1BTQnpkSGxzWldRb1NXTnZia0oxZEhSdmJpa29lMzBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVTJWaGNtTm9WM0poY0hCbGNpQTlJSE4wZVd4bFpDZ25aR2wySnlrb2UxeHVJQ0JrYVhOd2JHRjVPaUFuYm05dVpTY3NYRzRnSUhkcFpIUm9PaUFuTVRBd0pTY3NYRzRnSUcxaGNtZHBia3hsWm5RNklESXdMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCT1lYWkNZWElnUFNCemRIbHNaV1FvUVhCd1FtRnlLVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ1ltRmphMmR5YjNWdVpFTnZiRzl5T2x4dUlDQWdJSFJvWlcxbExuQmhiR1YwZEdVdWJXOWtaU0E5UFQwZ0oyeHBaMmgwSnlBL0lIUm9aVzFsTG5CaGJHVjBkR1V1Y0hKcGJXRnllUzV0WVdsdUlEb2dkR2hsYldVdWNHRnNaWFIwWlM1amVXRnVRbXgxWlN4Y2JpQWdZMjlzYjNJNklHTnZiVzF2Ymk1M2FHbDBaU3hjYmlBZ2JXbHVTR1ZwWjJoME9pQTJNQ3hjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQnFkWE4wYVdaNVEyOXVkR1Z1ZERvZ0oyTmxiblJsY2ljc1hHNGdJRnRnUUcxbFpHbGhJQ2h0WVhndGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWVITnRZV3hzZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0SmJtWnZRblYwZEc5dWZTQjdYRzRnSUNBZ0lDQmthWE53YkdGNU9pQnViMjVsTzF4dUlDQWdJSDFjYmlBZ0lDQWtlMU4zYVhSamFGUm9aVzFsUW5WMGRHOXVmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJ1YjI1bE8xeHVJQ0FnSUgxY2JpQWdJQ0FrZTFObGRIUnBibWR6UW5WMGRHOXRmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJ1YjI1bE8xeHVJQ0FnSUgxY2JpQWdZQ3hjYmlBZ1cyQkFiV1ZrYVdFZ0tHMXBiaTEzYVdSMGFEb2dKSHQwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTV0WldScGRXMTljSGdwWUYwNklHTnpjMkJjYmlBZ0lDQWtlMU5sWVhKamFGZHlZWEJ3WlhKOUlIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklHWnNaWGc3WEc0Z0lDQWdmVnh1SUNBZ0lDUjdTV052YmxObFlYSmphRUoxZEhSdmJuMGdlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlR0Y2JpQWdJQ0I5WEc0Z0lDQWdKSHROYjJKcGJHVk9ZWFpDWVhKOUlIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklHNXZibVU3WEc0Z0lDQWdmVnh1SUNCZ0xGeHVJQ0JiWUVCdFpXUnBZU0FvYldsdUxYZHBaSFJvT2lBa2UzUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxteGhjbWRsZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0SmJtNWxjazVoZGtKaGNuMGdlMXh1SUNBZ0lDQWdjR0ZrWkdsdVp6b2dNQ0F4Tm5CNE8xeHVJQ0FnSUgxY2JpQWdZQ3hjYmlBZ1cyQkFiV1ZrYVdFZ0tHMXBiaTEzYVdSMGFEb2dKSHQwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTU0YkdGeVoyVjljSGdwWUYwNklHTnpjMkJjYmlBZ0lDQWtlMGx1Ym1WeVRtRjJRbUZ5ZlNCN1hHNGdJQ0FnSUNCdFlYZ3RkMmxrZEdnNklERXlOREJ3ZUR0Y2JpQWdJQ0FnSUhkcFpIUm9PaUF4TURBbE8xeHVJQ0FnSUNBZ2JXRnlaMmx1T2lBd0lHRjFkRzg3WEc0Z0lDQWdmVnh1SUNCZ0xGeHVmU2twTzF4dUlsMTkgKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBHcmVldGluZ3MgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcInNwYW5cIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZWl1N2hjbDhcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZWl1N2hjbDhcIixcblx0bGFiZWw6IFwiR3JlZXRpbmdzXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCIxcW1wamJ2XCIsXG5cdHN0eWxlczogXCJtYXJnaW46MCA1cHggMCAwXCJcbn0gOiB7XG5cdG5hbWU6IFwiMXFtcGpidlwiLFxuXHRzdHlsZXM6IFwibWFyZ2luOjAgNXB4IDAgMC8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRmxlVUlpTENKbWFXeGxJam9pTDJodmJXVXZjblZ1Ym1WeUwzZHZjbXN2ZG1WeVpHRmpZMmx2TDNabGNtUmhZMk5wYnk5d1lXTnJZV2RsY3k5MWFTMWpiMjF3YjI1bGJuUnpMM055WXk5elpXTjBhVzl1Y3k5SVpXRmtaWEl2YzNSNWJHVnpMblJ6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhzZ1kzTnpJSDBnWm5KdmJTQW5RR1Z0YjNScGIyNHZjbVZoWTNRbk8xeHVhVzF3YjNKMElITjBlV3hsWkNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl6ZEhsc1pXUW5PMXh1YVcxd2IzSjBJRUZ3Y0VKaGNpQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMEZ3Y0VKaGNpYzdYRzVwYlhCdmNuUWdTV052YmtKMWRIUnZiaUJtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBsamIyNUNkWFIwYjI0bk8xeHVhVzF3YjNKMElGUnZiMnhpWVhJZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOVViMjlzWW1GeUp6dGNibWx0Y0c5eWRDQjdJR052YlcxdmJpQjlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2WTI5c2IzSnpKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1TDFSb1pXMWxKenRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRWx1Ym1WeVRtRjJRbUZ5SUQwZ2MzUjViR1ZrS0ZSdmIyeGlZWElwS0h0Y2JpQWdhblZ6ZEdsbWVVTnZiblJsYm5RNklDZHpjR0ZqWlMxaVpYUjNaV1Z1Snl4Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc0Z0lIQmhaR1JwYm1jNklEQXNYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVkeVpXVjBhVzVuY3lBOUlITjBlV3hsWkNnbmMzQmhiaWNwS0h0Y2JpQWdiV0Z5WjJsdU9pQW5NQ0ExY0hnZ01DQXdKeXhjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1RXOWlhV3hsVG1GMlFtRnlJRDBnYzNSNWJHVmtLQ2RrYVhZbktUeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LSEJ5YjNCektTQTlQaUFvZTF4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQmliM0prWlhKQ2IzUjBiMjA2SUdBeGNIZ2djMjlzYVdRZ0pIdHdjbTl3Y3k1MGFHVnRaUzV3WVd4bGRIUmxMbWR5WlhsTWFXZG9kSDFnTEZ4dUlDQndZV1JrYVc1bk9pQW5PSEI0Snl4Y2JpQWdjRzl6YVhScGIyNDZJQ2R5Wld4aGRHbDJaU2NzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkpibTVsY2sxdlltbHNaVTVoZGtKaGNpQTlJSE4wZVd4bFpDZ25aR2wySnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaHdjbTl3Y3lrZ1BUNGdLSHRjYmlBZ1ltOXlaR1Z5VW1Ga2FYVnpPaUFuTkhCNEp5eGNiaUFnWW1GamEyZHliM1Z1WkVOdmJHOXlPaUJ3Y205d2N5NTBhR1Z0WlM1d1lXeGxkSFJsTG1keVpYbE1hV2RvZEN4Y2JpQWdZMjlzYjNJNklHTnZiVzF2Ymk1M2FHbDBaU3hjYmlBZ2QybGtkR2c2SUNjeE1EQWxKeXhjYmlBZ2NHRmtaR2x1WnpvZ0p6QWdOWEI0Snl4Y2JpQWdiV0Z5WjJsdU9pQW5NQ0F4TUhCNElEQWdNQ2NzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkpZMjl1VTJWaGNtTm9RblYwZEc5dUlEMGdjM1I1YkdWa0tFbGpiMjVDZFhSMGIyNHBLSHQ5S1R0Y2JtVjRjRzl5ZENCamIyNXpkQ0JKYm1adlFuVjBkRzl1SUQwZ2MzUjViR1ZrS0VsamIyNUNkWFIwYjI0cEtIdDlLVHRjYm1WNGNHOXlkQ0JqYjI1emRDQlRkMmwwWTJoVWFHVnRaVUoxZEhSdmJpQTlJSE4wZVd4bFpDaEpZMjl1UW5WMGRHOXVLU2g3ZlNrN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnVTJWMGRHbHVaM05DZFhSMGIyMGdQU0J6ZEhsc1pXUW9TV052YmtKMWRIUnZiaWtvZTMwcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1UyVmhjbU5vVjNKaGNIQmxjaUE5SUhOMGVXeGxaQ2duWkdsMkp5a29lMXh1SUNCa2FYTndiR0Y1T2lBbmJtOXVaU2NzWEc0Z0lIZHBaSFJvT2lBbk1UQXdKU2NzWEc0Z0lHMWhjbWRwYmt4bFpuUTZJREl3TEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQk9ZWFpDWVhJZ1BTQnpkSGxzWldRb1FYQndRbUZ5S1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIc2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdZbUZqYTJkeWIzVnVaRU52Ykc5eU9seHVJQ0FnSUhSb1pXMWxMbkJoYkdWMGRHVXViVzlrWlNBOVBUMGdKMnhwWjJoMEp5QS9JSFJvWlcxbExuQmhiR1YwZEdVdWNISnBiV0Z5ZVM1dFlXbHVJRG9nZEdobGJXVXVjR0ZzWlhSMFpTNWplV0Z1UW14MVpTeGNiaUFnWTI5c2IzSTZJR052YlcxdmJpNTNhR2wwWlN4Y2JpQWdiV2x1U0dWcFoyaDBPaUEyTUN4Y2JpQWdaR2x6Y0d4aGVUb2dKMlpzWlhnbkxGeHVJQ0JxZFhOMGFXWjVRMjl1ZEdWdWREb2dKMk5sYm5SbGNpY3NYRzRnSUZ0Z1FHMWxaR2xoSUNodFlYZ3RkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXVlSE50WVd4c2ZYQjRLV0JkT2lCamMzTmdYRzRnSUNBZ0pIdEpibVp2UW5WMGRHOXVmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJ1YjI1bE8xeHVJQ0FnSUgxY2JpQWdJQ0FrZTFOM2FYUmphRlJvWlcxbFFuVjBkRzl1ZlNCN1hHNGdJQ0FnSUNCa2FYTndiR0Y1T2lCdWIyNWxPMXh1SUNBZ0lIMWNiaUFnSUNBa2UxTmxkSFJwYm1kelFuVjBkRzl0ZlNCN1hHNGdJQ0FnSUNCa2FYTndiR0Y1T2lCdWIyNWxPMXh1SUNBZ0lIMWNiaUFnWUN4Y2JpQWdXMkJBYldWa2FXRWdLRzFwYmkxM2FXUjBhRG9nSkh0MGFHVnRaUzVpY21WaGExQnZhVzUwY3k1dFpXUnBkVzE5Y0hncFlGMDZJR056YzJCY2JpQWdJQ0FrZTFObFlYSmphRmR5WVhCd1pYSjlJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJR1pzWlhnN1hHNGdJQ0FnZlZ4dUlDQWdJQ1I3U1dOdmJsTmxZWEpqYUVKMWRIUnZibjBnZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nYm05dVpUdGNiaUFnSUNCOVhHNGdJQ0FnSkh0TmIySnBiR1ZPWVhaQ1lYSjlJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJRzV2Ym1VN1hHNGdJQ0FnZlZ4dUlDQmdMRnh1SUNCYllFQnRaV1JwWVNBb2JXbHVMWGRwWkhSb09pQWtlM1JvWlcxbExtSnlaV0ZyVUc5cGJuUnpMbXhoY21kbGZYQjRLV0JkT2lCamMzTmdYRzRnSUNBZ0pIdEpibTVsY2s1aGRrSmhjbjBnZTF4dUlDQWdJQ0FnY0dGa1pHbHVaem9nTUNBeE5uQjRPMXh1SUNBZ0lIMWNiaUFnWUN4Y2JpQWdXMkJBYldWa2FXRWdLRzFwYmkxM2FXUjBhRG9nSkh0MGFHVnRaUzVpY21WaGExQnZhVzUwY3k1NGJHRnlaMlY5Y0hncFlGMDZJR056YzJCY2JpQWdJQ0FrZTBsdWJtVnlUbUYyUW1GeWZTQjdYRzRnSUNBZ0lDQnRZWGd0ZDJsa2RHZzZJREV5TkRCd2VEdGNiaUFnSUNBZ0lIZHBaSFJvT2lBeE1EQWxPMXh1SUNBZ0lDQWdiV0Z5WjJsdU9pQXdJR0YxZEc4N1hHNGdJQ0FnZlZ4dUlDQmdMRnh1ZlNrcE8xeHVJbDE5ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgTW9iaWxlTmF2QmFyID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJkaXZcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZWl1N2hjbDdcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZWl1N2hjbDdcIixcblx0bGFiZWw6IFwiTW9iaWxlTmF2QmFyXCJcbn0pKChwcm9wcykgPT4gKHtcblx0YWxpZ25JdGVtczogXCJjZW50ZXJcIixcblx0ZGlzcGxheTogXCJmbGV4XCIsXG5cdGJvcmRlckJvdHRvbTogYDFweCBzb2xpZCAke3Byb3BzLnRoZW1lLnBhbGV0dGUuZ3JleUxpZ2h0fWAsXG5cdHBhZGRpbmc6IFwiOHB4XCIsXG5cdHBvc2l0aW9uOiBcInJlbGF0aXZlXCJcbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12U0dWaFpHVnlMM04wZVd4bGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZ0UWpSQ0lpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdJR056Y3lCOUlHWnliMjBnSjBCbGJXOTBhVzl1TDNKbFlXTjBKenRjYm1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCQmNIQkNZWElnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5QmNIQkNZWEluTzF4dWFXMXdiM0owSUVsamIyNUNkWFIwYjI0Z1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUpZMjl1UW5WMGRHOXVKenRjYm1sdGNHOXlkQ0JVYjI5c1ltRnlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2Vkc5dmJHSmhjaWM3WEc1cGJYQnZjblFnZXlCamIyMXRiMjRnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wyTnZiRzl5Y3ljN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOVVhR1Z0WlNjN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSmJtNWxjazVoZGtKaGNpQTlJSE4wZVd4bFpDaFViMjlzWW1GeUtTaDdYRzRnSUdwMWMzUnBabmxEYjI1MFpXNTBPaUFuYzNCaFkyVXRZbVYwZDJWbGJpY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0J3WVdSa2FXNW5PaUF3TEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkhjbVZsZEdsdVozTWdQU0J6ZEhsc1pXUW9KM053WVc0bktTaDdYRzRnSUcxaGNtZHBiam9nSnpBZ05YQjRJREFnTUNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRTF2WW1sc1pVNWhka0poY2lBOUlITjBlV3hsWkNnblpHbDJKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0Nod2NtOXdjeWtnUFQ0Z0tIdGNiaUFnWVd4cFoyNUpkR1Z0Y3pvZ0oyTmxiblJsY2ljc1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnWW05eVpHVnlRbTkwZEc5dE9pQmdNWEI0SUhOdmJHbGtJQ1I3Y0hKdmNITXVkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVUR2xuYUhSOVlDeGNiaUFnY0dGa1pHbHVaem9nSnpod2VDY3NYRzRnSUhCdmMybDBhVzl1T2lBbmNtVnNZWFJwZG1VbkxGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnU1c1dVpYSk5iMkpwYkdWT1lYWkNZWElnUFNCemRIbHNaV1FvSjJScGRpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvY0hKdmNITXBJRDArSUNoN1hHNGdJR0p2Y21SbGNsSmhaR2wxY3pvZ0p6UndlQ2NzWEc0Z0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ2NISnZjSE11ZEdobGJXVXVjR0ZzWlhSMFpTNW5jbVY1VEdsbmFIUXNYRzRnSUdOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJSGRwWkhSb09pQW5NVEF3SlNjc1hHNGdJSEJoWkdScGJtYzZJQ2N3SURWd2VDY3NYRzRnSUcxaGNtZHBiam9nSnpBZ01UQndlQ0F3SURBbkxGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnU1dOdmJsTmxZWEpqYUVKMWRIUnZiaUE5SUhOMGVXeGxaQ2hKWTI5dVFuVjBkRzl1S1NoN2ZTazdYRzVsZUhCdmNuUWdZMjl1YzNRZ1NXNW1iMEoxZEhSdmJpQTlJSE4wZVd4bFpDaEpZMjl1UW5WMGRHOXVLU2g3ZlNrN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnVTNkcGRHTm9WR2hsYldWQ2RYUjBiMjRnUFNCemRIbHNaV1FvU1dOdmJrSjFkSFJ2Ymlrb2UzMHBPMXh1Wlhod2IzSjBJR052Ym5OMElGTmxkSFJwYm1kelFuVjBkRzl0SUQwZ2MzUjViR1ZrS0VsamIyNUNkWFIwYjI0cEtIdDlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRk5sWVhKamFGZHlZWEJ3WlhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMjV2Ym1VbkxGeHVJQ0IzYVdSMGFEb2dKekV3TUNVbkxGeHVJQ0J0WVhKbmFXNU1aV1owT2lBeU1DeGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVG1GMlFtRnlJRDBnYzNSNWJHVmtLRUZ3Y0VKaGNpazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdKaFkydG5jbTkxYm1SRGIyeHZjanBjYmlBZ0lDQjBhR1Z0WlM1d1lXeGxkSFJsTG0xdlpHVWdQVDA5SUNkc2FXZG9kQ2NnUHlCMGFHVnRaUzV3WVd4bGRIUmxMbkJ5YVcxaGNua3ViV0ZwYmlBNklIUm9aVzFsTG5CaGJHVjBkR1V1WTNsaGJrSnNkV1VzWEc0Z0lHTnZiRzl5T2lCamIyMXRiMjR1ZDJocGRHVXNYRzRnSUcxcGJraGxhV2RvZERvZ05qQXNYRzRnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkalpXNTBaWEluTEZ4dUlDQmJZRUJ0WldScFlTQW9iV0Y0TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG5oemJXRnNiSDF3ZUNsZ1hUb2dZM056WUZ4dUlDQWdJQ1I3U1c1bWIwSjFkSFJ2Ym4wZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUNBZ0pIdFRkMmwwWTJoVWFHVnRaVUoxZEhSdmJuMGdlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlR0Y2JpQWdJQ0I5WEc0Z0lDQWdKSHRUWlhSMGFXNW5jMEoxZEhSdmJYMGdlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlR0Y2JpQWdJQ0I5WEc0Z0lHQXNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXViV1ZrYVhWdGZYQjRLV0JkT2lCamMzTmdYRzRnSUNBZ0pIdFRaV0Z5WTJoWGNtRndjR1Z5ZlNCN1hHNGdJQ0FnSUNCa2FYTndiR0Y1T2lCbWJHVjRPMXh1SUNBZ0lIMWNiaUFnSUNBa2UwbGpiMjVUWldGeVkyaENkWFIwYjI1OUlIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklHNXZibVU3WEc0Z0lDQWdmVnh1SUNBZ0lDUjdUVzlpYVd4bFRtRjJRbUZ5ZlNCN1hHNGdJQ0FnSUNCa2FYTndiR0Y1T2lCdWIyNWxPMXh1SUNBZ0lIMWNiaUFnWUN4Y2JpQWdXMkJBYldWa2FXRWdLRzFwYmkxM2FXUjBhRG9nSkh0MGFHVnRaUzVpY21WaGExQnZhVzUwY3k1c1lYSm5aWDF3ZUNsZ1hUb2dZM056WUZ4dUlDQWdJQ1I3U1c1dVpYSk9ZWFpDWVhKOUlIdGNiaUFnSUNBZ0lIQmhaR1JwYm1jNklEQWdNVFp3ZUR0Y2JpQWdJQ0I5WEc0Z0lHQXNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXVlR3hoY21kbGZYQjRLV0JkT2lCamMzTmdYRzRnSUNBZ0pIdEpibTVsY2s1aGRrSmhjbjBnZTF4dUlDQWdJQ0FnYldGNExYZHBaSFJvT2lBeE1qUXdjSGc3WEc0Z0lDQWdJQ0IzYVdSMGFEb2dNVEF3SlR0Y2JpQWdJQ0FnSUcxaGNtZHBiam9nTUNCaGRYUnZPMXh1SUNBZ0lIMWNiaUFnWUN4Y2JuMHBLVHRjYmlKZGZRPT0gKi9cIik7XG52YXIgSW5uZXJNb2JpbGVOYXZCYXIgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcImRpdlwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlaXU3aGNsNlwiIH0gOiB7XG5cdHRhcmdldDogXCJlaXU3aGNsNlwiLFxuXHRsYWJlbDogXCJJbm5lck1vYmlsZU5hdkJhclwiXG59KSgocHJvcHMpID0+ICh7XG5cdGJvcmRlclJhZGl1czogXCI0cHhcIixcblx0YmFja2dyb3VuZENvbG9yOiBwcm9wcy50aGVtZS5wYWxldHRlLmdyZXlMaWdodCxcblx0Y29sb3I6IGNvbW1vbi53aGl0ZSxcblx0d2lkdGg6IFwiMTAwJVwiLFxuXHRwYWRkaW5nOiBcIjAgNXB4XCIsXG5cdG1hcmdpbjogXCIwIDEwcHggMCAwXCJcbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12U0dWaFpHVnlMM04wZVd4bGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUV5UW1sRElpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdJR056Y3lCOUlHWnliMjBnSjBCbGJXOTBhVzl1TDNKbFlXTjBKenRjYm1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCQmNIQkNZWElnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5QmNIQkNZWEluTzF4dWFXMXdiM0owSUVsamIyNUNkWFIwYjI0Z1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUpZMjl1UW5WMGRHOXVKenRjYm1sdGNHOXlkQ0JVYjI5c1ltRnlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2Vkc5dmJHSmhjaWM3WEc1cGJYQnZjblFnZXlCamIyMXRiMjRnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wyTnZiRzl5Y3ljN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOVVhR1Z0WlNjN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSmJtNWxjazVoZGtKaGNpQTlJSE4wZVd4bFpDaFViMjlzWW1GeUtTaDdYRzRnSUdwMWMzUnBabmxEYjI1MFpXNTBPaUFuYzNCaFkyVXRZbVYwZDJWbGJpY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0J3WVdSa2FXNW5PaUF3TEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkhjbVZsZEdsdVozTWdQU0J6ZEhsc1pXUW9KM053WVc0bktTaDdYRzRnSUcxaGNtZHBiam9nSnpBZ05YQjRJREFnTUNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRTF2WW1sc1pVNWhka0poY2lBOUlITjBlV3hsWkNnblpHbDJKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0Nod2NtOXdjeWtnUFQ0Z0tIdGNiaUFnWVd4cFoyNUpkR1Z0Y3pvZ0oyTmxiblJsY2ljc1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnWW05eVpHVnlRbTkwZEc5dE9pQmdNWEI0SUhOdmJHbGtJQ1I3Y0hKdmNITXVkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVUR2xuYUhSOVlDeGNiaUFnY0dGa1pHbHVaem9nSnpod2VDY3NYRzRnSUhCdmMybDBhVzl1T2lBbmNtVnNZWFJwZG1VbkxGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnU1c1dVpYSk5iMkpwYkdWT1lYWkNZWElnUFNCemRIbHNaV1FvSjJScGRpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvY0hKdmNITXBJRDArSUNoN1hHNGdJR0p2Y21SbGNsSmhaR2wxY3pvZ0p6UndlQ2NzWEc0Z0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ2NISnZjSE11ZEdobGJXVXVjR0ZzWlhSMFpTNW5jbVY1VEdsbmFIUXNYRzRnSUdOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJSGRwWkhSb09pQW5NVEF3SlNjc1hHNGdJSEJoWkdScGJtYzZJQ2N3SURWd2VDY3NYRzRnSUcxaGNtZHBiam9nSnpBZ01UQndlQ0F3SURBbkxGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnU1dOdmJsTmxZWEpqYUVKMWRIUnZiaUE5SUhOMGVXeGxaQ2hKWTI5dVFuVjBkRzl1S1NoN2ZTazdYRzVsZUhCdmNuUWdZMjl1YzNRZ1NXNW1iMEoxZEhSdmJpQTlJSE4wZVd4bFpDaEpZMjl1UW5WMGRHOXVLU2g3ZlNrN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnVTNkcGRHTm9WR2hsYldWQ2RYUjBiMjRnUFNCemRIbHNaV1FvU1dOdmJrSjFkSFJ2Ymlrb2UzMHBPMXh1Wlhod2IzSjBJR052Ym5OMElGTmxkSFJwYm1kelFuVjBkRzl0SUQwZ2MzUjViR1ZrS0VsamIyNUNkWFIwYjI0cEtIdDlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRk5sWVhKamFGZHlZWEJ3WlhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMjV2Ym1VbkxGeHVJQ0IzYVdSMGFEb2dKekV3TUNVbkxGeHVJQ0J0WVhKbmFXNU1aV1owT2lBeU1DeGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVG1GMlFtRnlJRDBnYzNSNWJHVmtLRUZ3Y0VKaGNpazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdKaFkydG5jbTkxYm1SRGIyeHZjanBjYmlBZ0lDQjBhR1Z0WlM1d1lXeGxkSFJsTG0xdlpHVWdQVDA5SUNkc2FXZG9kQ2NnUHlCMGFHVnRaUzV3WVd4bGRIUmxMbkJ5YVcxaGNua3ViV0ZwYmlBNklIUm9aVzFsTG5CaGJHVjBkR1V1WTNsaGJrSnNkV1VzWEc0Z0lHTnZiRzl5T2lCamIyMXRiMjR1ZDJocGRHVXNYRzRnSUcxcGJraGxhV2RvZERvZ05qQXNYRzRnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkalpXNTBaWEluTEZ4dUlDQmJZRUJ0WldScFlTQW9iV0Y0TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG5oemJXRnNiSDF3ZUNsZ1hUb2dZM056WUZ4dUlDQWdJQ1I3U1c1bWIwSjFkSFJ2Ym4wZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUNBZ0pIdFRkMmwwWTJoVWFHVnRaVUoxZEhSdmJuMGdlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlR0Y2JpQWdJQ0I5WEc0Z0lDQWdKSHRUWlhSMGFXNW5jMEoxZEhSdmJYMGdlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlR0Y2JpQWdJQ0I5WEc0Z0lHQXNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXViV1ZrYVhWdGZYQjRLV0JkT2lCamMzTmdYRzRnSUNBZ0pIdFRaV0Z5WTJoWGNtRndjR1Z5ZlNCN1hHNGdJQ0FnSUNCa2FYTndiR0Y1T2lCbWJHVjRPMXh1SUNBZ0lIMWNiaUFnSUNBa2UwbGpiMjVUWldGeVkyaENkWFIwYjI1OUlIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklHNXZibVU3WEc0Z0lDQWdmVnh1SUNBZ0lDUjdUVzlpYVd4bFRtRjJRbUZ5ZlNCN1hHNGdJQ0FnSUNCa2FYTndiR0Y1T2lCdWIyNWxPMXh1SUNBZ0lIMWNiaUFnWUN4Y2JpQWdXMkJBYldWa2FXRWdLRzFwYmkxM2FXUjBhRG9nSkh0MGFHVnRaUzVpY21WaGExQnZhVzUwY3k1c1lYSm5aWDF3ZUNsZ1hUb2dZM056WUZ4dUlDQWdJQ1I3U1c1dVpYSk9ZWFpDWVhKOUlIdGNiaUFnSUNBZ0lIQmhaR1JwYm1jNklEQWdNVFp3ZUR0Y2JpQWdJQ0I5WEc0Z0lHQXNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXVlR3hoY21kbGZYQjRLV0JkT2lCamMzTmdYRzRnSUNBZ0pIdEpibTVsY2s1aGRrSmhjbjBnZTF4dUlDQWdJQ0FnYldGNExYZHBaSFJvT2lBeE1qUXdjSGc3WEc0Z0lDQWdJQ0IzYVdSMGFEb2dNVEF3SlR0Y2JpQWdJQ0FnSUcxaGNtZHBiam9nTUNCaGRYUnZPMXh1SUNBZ0lIMWNiaUFnWUN4Y2JuMHBLVHRjYmlKZGZRPT0gKi9cIik7XG52YXIgSWNvblNlYXJjaEJ1dHRvbiA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKEljb25CdXR0b24sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVpdTdoY2w1XCIgfSA6IHtcblx0dGFyZ2V0OiBcImVpdTdoY2w1XCIsXG5cdGxhYmVsOiBcIkljb25TZWFyY2hCdXR0b25cIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjBcIixcblx0c3R5bGVzOiBcIlwiXG59IDoge1xuXHRuYW1lOiBcIjBcIixcblx0c3R5bGVzOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRnZRMmRESWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlNHVmhaR1Z5TDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCN0lHTnpjeUI5SUdaeWIyMGdKMEJsYlc5MGFXOXVMM0psWVdOMEp6dGNibWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0JCY0hCQ1lYSWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlCY0hCQ1lYSW5PMXh1YVcxd2IzSjBJRWxqYjI1Q2RYUjBiMjRnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5SlkyOXVRblYwZEc5dUp6dGNibWx0Y0c5eWRDQlViMjlzWW1GeUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZWRzl2YkdKaGNpYzdYRzVwYlhCdmNuUWdleUJqYjIxdGIyNGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDJOdmJHOXljeWM3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk5VWFHVnRaU2M3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKYm01bGNrNWhka0poY2lBOUlITjBlV3hsWkNoVWIyOXNZbUZ5S1NoN1hHNGdJR3AxYzNScFpubERiMjUwWlc1ME9pQW5jM0JoWTJVdFltVjBkMlZsYmljc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQndZV1JrYVc1bk9pQXdMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSGNtVmxkR2x1WjNNZ1BTQnpkSGxzWldRb0ozTndZVzRuS1NoN1hHNGdJRzFoY21kcGJqb2dKekFnTlhCNElEQWdNQ2NzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFMXZZbWxzWlU1aGRrSmhjaUE5SUhOMGVXeGxaQ2duWkdsMkp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2h3Y205d2N5a2dQVDRnS0h0Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdZbTl5WkdWeVFtOTBkRzl0T2lCZ01YQjRJSE52Ykdsa0lDUjdjSEp2Y0hNdWRHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVRHbG5hSFI5WUN4Y2JpQWdjR0ZrWkdsdVp6b2dKemh3ZUNjc1hHNGdJSEJ2YzJsMGFXOXVPaUFuY21Wc1lYUnBkbVVuTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTVzV1WlhKTmIySnBiR1ZPWVhaQ1lYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29jSEp2Y0hNcElEMCtJQ2g3WEc0Z0lHSnZjbVJsY2xKaFpHbDFjem9nSnpSd2VDY3NYRzRnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nY0hKdmNITXVkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVUR2xuYUhRc1hHNGdJR052Ykc5eU9pQmpiMjF0YjI0dWQyaHBkR1VzWEc0Z0lIZHBaSFJvT2lBbk1UQXdKU2NzWEc0Z0lIQmhaR1JwYm1jNklDY3dJRFZ3ZUNjc1hHNGdJRzFoY21kcGJqb2dKekFnTVRCd2VDQXdJREFuTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTV052YmxObFlYSmphRUoxZEhSdmJpQTlJSE4wZVd4bFpDaEpZMjl1UW5WMGRHOXVLU2g3ZlNrN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnU1c1bWIwSjFkSFJ2YmlBOUlITjBlV3hsWkNoSlkyOXVRblYwZEc5dUtTaDdmU2s3WEc1bGVIQnZjblFnWTI5dWMzUWdVM2RwZEdOb1ZHaGxiV1ZDZFhSMGIyNGdQU0J6ZEhsc1pXUW9TV052YmtKMWRIUnZiaWtvZTMwcE8xeHVaWGh3YjNKMElHTnZibk4wSUZObGRIUnBibWR6UW5WMGRHOXRJRDBnYzNSNWJHVmtLRWxqYjI1Q2RYUjBiMjRwS0h0OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGTmxZWEpqYUZkeVlYQndaWElnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyNXZibVVuTEZ4dUlDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dUlDQnRZWEpuYVc1TVpXWjBPaUF5TUN4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdUbUYyUW1GeUlEMGdjM1I1YkdWa0tFRndjRUpoY2lrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqcGNiaUFnSUNCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RzYVdkb2RDY2dQeUIwYUdWdFpTNXdZV3hsZEhSbExuQnlhVzFoY25rdWJXRnBiaUE2SUhSb1pXMWxMbkJoYkdWMGRHVXVZM2xoYmtKc2RXVXNYRzRnSUdOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJRzFwYmtobGFXZG9kRG9nTmpBc1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnYW5WemRHbG1lVU52Ym5SbGJuUTZJQ2RqWlc1MFpYSW5MRnh1SUNCYllFQnRaV1JwWVNBb2JXRjRMWGRwWkhSb09pQWtlM1JvWlcxbExtSnlaV0ZyVUc5cGJuUnpMbmh6YldGc2JIMXdlQ2xnWFRvZ1kzTnpZRnh1SUNBZ0lDUjdTVzVtYjBKMWRIUnZibjBnZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nYm05dVpUdGNiaUFnSUNCOVhHNGdJQ0FnSkh0VGQybDBZMmhVYUdWdFpVSjFkSFJ2Ym4wZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUNBZ0pIdFRaWFIwYVc1bmMwSjFkSFJ2YlgwZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUdBc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0VFpXRnlZMmhYY21Gd2NHVnlmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJtYkdWNE8xeHVJQ0FnSUgxY2JpQWdJQ0FrZTBsamIyNVRaV0Z5WTJoQ2RYUjBiMjU5SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUc1dmJtVTdYRzRnSUNBZ2ZWeHVJQ0FnSUNSN1RXOWlhV3hsVG1GMlFtRnlmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJ1YjI1bE8xeHVJQ0FnSUgxY2JpQWdZQ3hjYmlBZ1cyQkFiV1ZrYVdFZ0tHMXBiaTEzYVdSMGFEb2dKSHQwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTVzWVhKblpYMXdlQ2xnWFRvZ1kzTnpZRnh1SUNBZ0lDUjdTVzV1WlhKT1lYWkNZWEo5SUh0Y2JpQWdJQ0FnSUhCaFpHUnBibWM2SURBZ01UWndlRHRjYmlBZ0lDQjlYRzRnSUdBc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWVHeGhjbWRsZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0SmJtNWxjazVoZGtKaGNuMGdlMXh1SUNBZ0lDQWdiV0Y0TFhkcFpIUm9PaUF4TWpRd2NIZzdYRzRnSUNBZ0lDQjNhV1IwYURvZ01UQXdKVHRjYmlBZ0lDQWdJRzFoY21kcGJqb2dNQ0JoZFhSdk8xeHVJQ0FnSUgxY2JpQWdZQ3hjYm4wcEtUdGNiaUpkZlE9PSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIEluZm9CdXR0b24gPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChJY29uQnV0dG9uLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlaXU3aGNsNFwiIH0gOiB7XG5cdHRhcmdldDogXCJlaXU3aGNsNFwiLFxuXHRsYWJlbDogXCJJbmZvQnV0dG9uXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCIwXCIsXG5cdHN0eWxlczogXCJcIlxufSA6IHtcblx0bmFtZTogXCIwXCIsXG5cdHN0eWxlczogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12U0dWaFpHVnlMM04wZVd4bGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZ4UXpCQ0lpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdJR056Y3lCOUlHWnliMjBnSjBCbGJXOTBhVzl1TDNKbFlXTjBKenRjYm1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCQmNIQkNZWElnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5QmNIQkNZWEluTzF4dWFXMXdiM0owSUVsamIyNUNkWFIwYjI0Z1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUpZMjl1UW5WMGRHOXVKenRjYm1sdGNHOXlkQ0JVYjI5c1ltRnlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2Vkc5dmJHSmhjaWM3WEc1cGJYQnZjblFnZXlCamIyMXRiMjRnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wyTnZiRzl5Y3ljN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOVVhR1Z0WlNjN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSmJtNWxjazVoZGtKaGNpQTlJSE4wZVd4bFpDaFViMjlzWW1GeUtTaDdYRzRnSUdwMWMzUnBabmxEYjI1MFpXNTBPaUFuYzNCaFkyVXRZbVYwZDJWbGJpY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0J3WVdSa2FXNW5PaUF3TEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkhjbVZsZEdsdVozTWdQU0J6ZEhsc1pXUW9KM053WVc0bktTaDdYRzRnSUcxaGNtZHBiam9nSnpBZ05YQjRJREFnTUNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRTF2WW1sc1pVNWhka0poY2lBOUlITjBlV3hsWkNnblpHbDJKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0Nod2NtOXdjeWtnUFQ0Z0tIdGNiaUFnWVd4cFoyNUpkR1Z0Y3pvZ0oyTmxiblJsY2ljc1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnWW05eVpHVnlRbTkwZEc5dE9pQmdNWEI0SUhOdmJHbGtJQ1I3Y0hKdmNITXVkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVUR2xuYUhSOVlDeGNiaUFnY0dGa1pHbHVaem9nSnpod2VDY3NYRzRnSUhCdmMybDBhVzl1T2lBbmNtVnNZWFJwZG1VbkxGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnU1c1dVpYSk5iMkpwYkdWT1lYWkNZWElnUFNCemRIbHNaV1FvSjJScGRpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvY0hKdmNITXBJRDArSUNoN1hHNGdJR0p2Y21SbGNsSmhaR2wxY3pvZ0p6UndlQ2NzWEc0Z0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ2NISnZjSE11ZEdobGJXVXVjR0ZzWlhSMFpTNW5jbVY1VEdsbmFIUXNYRzRnSUdOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJSGRwWkhSb09pQW5NVEF3SlNjc1hHNGdJSEJoWkdScGJtYzZJQ2N3SURWd2VDY3NYRzRnSUcxaGNtZHBiam9nSnpBZ01UQndlQ0F3SURBbkxGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnU1dOdmJsTmxZWEpqYUVKMWRIUnZiaUE5SUhOMGVXeGxaQ2hKWTI5dVFuVjBkRzl1S1NoN2ZTazdYRzVsZUhCdmNuUWdZMjl1YzNRZ1NXNW1iMEoxZEhSdmJpQTlJSE4wZVd4bFpDaEpZMjl1UW5WMGRHOXVLU2g3ZlNrN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnVTNkcGRHTm9WR2hsYldWQ2RYUjBiMjRnUFNCemRIbHNaV1FvU1dOdmJrSjFkSFJ2Ymlrb2UzMHBPMXh1Wlhod2IzSjBJR052Ym5OMElGTmxkSFJwYm1kelFuVjBkRzl0SUQwZ2MzUjViR1ZrS0VsamIyNUNkWFIwYjI0cEtIdDlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRk5sWVhKamFGZHlZWEJ3WlhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMjV2Ym1VbkxGeHVJQ0IzYVdSMGFEb2dKekV3TUNVbkxGeHVJQ0J0WVhKbmFXNU1aV1owT2lBeU1DeGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVG1GMlFtRnlJRDBnYzNSNWJHVmtLRUZ3Y0VKaGNpazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdKaFkydG5jbTkxYm1SRGIyeHZjanBjYmlBZ0lDQjBhR1Z0WlM1d1lXeGxkSFJsTG0xdlpHVWdQVDA5SUNkc2FXZG9kQ2NnUHlCMGFHVnRaUzV3WVd4bGRIUmxMbkJ5YVcxaGNua3ViV0ZwYmlBNklIUm9aVzFsTG5CaGJHVjBkR1V1WTNsaGJrSnNkV1VzWEc0Z0lHTnZiRzl5T2lCamIyMXRiMjR1ZDJocGRHVXNYRzRnSUcxcGJraGxhV2RvZERvZ05qQXNYRzRnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkalpXNTBaWEluTEZ4dUlDQmJZRUJ0WldScFlTQW9iV0Y0TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG5oemJXRnNiSDF3ZUNsZ1hUb2dZM056WUZ4dUlDQWdJQ1I3U1c1bWIwSjFkSFJ2Ym4wZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUNBZ0pIdFRkMmwwWTJoVWFHVnRaVUoxZEhSdmJuMGdlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlR0Y2JpQWdJQ0I5WEc0Z0lDQWdKSHRUWlhSMGFXNW5jMEoxZEhSdmJYMGdlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlR0Y2JpQWdJQ0I5WEc0Z0lHQXNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXViV1ZrYVhWdGZYQjRLV0JkT2lCamMzTmdYRzRnSUNBZ0pIdFRaV0Z5WTJoWGNtRndjR1Z5ZlNCN1hHNGdJQ0FnSUNCa2FYTndiR0Y1T2lCbWJHVjRPMXh1SUNBZ0lIMWNiaUFnSUNBa2UwbGpiMjVUWldGeVkyaENkWFIwYjI1OUlIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklHNXZibVU3WEc0Z0lDQWdmVnh1SUNBZ0lDUjdUVzlpYVd4bFRtRjJRbUZ5ZlNCN1hHNGdJQ0FnSUNCa2FYTndiR0Y1T2lCdWIyNWxPMXh1SUNBZ0lIMWNiaUFnWUN4Y2JpQWdXMkJBYldWa2FXRWdLRzFwYmkxM2FXUjBhRG9nSkh0MGFHVnRaUzVpY21WaGExQnZhVzUwY3k1c1lYSm5aWDF3ZUNsZ1hUb2dZM056WUZ4dUlDQWdJQ1I3U1c1dVpYSk9ZWFpDWVhKOUlIdGNiaUFnSUNBZ0lIQmhaR1JwYm1jNklEQWdNVFp3ZUR0Y2JpQWdJQ0I5WEc0Z0lHQXNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXVlR3hoY21kbGZYQjRLV0JkT2lCamMzTmdYRzRnSUNBZ0pIdEpibTVsY2s1aGRrSmhjbjBnZTF4dUlDQWdJQ0FnYldGNExYZHBaSFJvT2lBeE1qUXdjSGc3WEc0Z0lDQWdJQ0IzYVdSMGFEb2dNVEF3SlR0Y2JpQWdJQ0FnSUcxaGNtZHBiam9nTUNCaGRYUnZPMXh1SUNBZ0lIMWNiaUFnWUN4Y2JuMHBLVHRjYmlKZGZRPT0gKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBTd2l0Y2hUaGVtZUJ1dHRvbiA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKEljb25CdXR0b24sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVpdTdoY2wzXCIgfSA6IHtcblx0dGFyZ2V0OiBcImVpdTdoY2wzXCIsXG5cdGxhYmVsOiBcIlN3aXRjaFRoZW1lQnV0dG9uXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCIwXCIsXG5cdHN0eWxlczogXCJcIlxufSA6IHtcblx0bmFtZTogXCIwXCIsXG5cdHN0eWxlczogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12U0dWaFpHVnlMM04wZVd4bGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZ6UTJsRElpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdJR056Y3lCOUlHWnliMjBnSjBCbGJXOTBhVzl1TDNKbFlXTjBKenRjYm1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCQmNIQkNZWElnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5QmNIQkNZWEluTzF4dWFXMXdiM0owSUVsamIyNUNkWFIwYjI0Z1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUpZMjl1UW5WMGRHOXVKenRjYm1sdGNHOXlkQ0JVYjI5c1ltRnlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2Vkc5dmJHSmhjaWM3WEc1cGJYQnZjblFnZXlCamIyMXRiMjRnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wyTnZiRzl5Y3ljN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOVVhR1Z0WlNjN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSmJtNWxjazVoZGtKaGNpQTlJSE4wZVd4bFpDaFViMjlzWW1GeUtTaDdYRzRnSUdwMWMzUnBabmxEYjI1MFpXNTBPaUFuYzNCaFkyVXRZbVYwZDJWbGJpY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0J3WVdSa2FXNW5PaUF3TEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkhjbVZsZEdsdVozTWdQU0J6ZEhsc1pXUW9KM053WVc0bktTaDdYRzRnSUcxaGNtZHBiam9nSnpBZ05YQjRJREFnTUNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRTF2WW1sc1pVNWhka0poY2lBOUlITjBlV3hsWkNnblpHbDJKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0Nod2NtOXdjeWtnUFQ0Z0tIdGNiaUFnWVd4cFoyNUpkR1Z0Y3pvZ0oyTmxiblJsY2ljc1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnWW05eVpHVnlRbTkwZEc5dE9pQmdNWEI0SUhOdmJHbGtJQ1I3Y0hKdmNITXVkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVUR2xuYUhSOVlDeGNiaUFnY0dGa1pHbHVaem9nSnpod2VDY3NYRzRnSUhCdmMybDBhVzl1T2lBbmNtVnNZWFJwZG1VbkxGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnU1c1dVpYSk5iMkpwYkdWT1lYWkNZWElnUFNCemRIbHNaV1FvSjJScGRpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvY0hKdmNITXBJRDArSUNoN1hHNGdJR0p2Y21SbGNsSmhaR2wxY3pvZ0p6UndlQ2NzWEc0Z0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ2NISnZjSE11ZEdobGJXVXVjR0ZzWlhSMFpTNW5jbVY1VEdsbmFIUXNYRzRnSUdOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJSGRwWkhSb09pQW5NVEF3SlNjc1hHNGdJSEJoWkdScGJtYzZJQ2N3SURWd2VDY3NYRzRnSUcxaGNtZHBiam9nSnpBZ01UQndlQ0F3SURBbkxGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnU1dOdmJsTmxZWEpqYUVKMWRIUnZiaUE5SUhOMGVXeGxaQ2hKWTI5dVFuVjBkRzl1S1NoN2ZTazdYRzVsZUhCdmNuUWdZMjl1YzNRZ1NXNW1iMEoxZEhSdmJpQTlJSE4wZVd4bFpDaEpZMjl1UW5WMGRHOXVLU2g3ZlNrN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnVTNkcGRHTm9WR2hsYldWQ2RYUjBiMjRnUFNCemRIbHNaV1FvU1dOdmJrSjFkSFJ2Ymlrb2UzMHBPMXh1Wlhod2IzSjBJR052Ym5OMElGTmxkSFJwYm1kelFuVjBkRzl0SUQwZ2MzUjViR1ZrS0VsamIyNUNkWFIwYjI0cEtIdDlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRk5sWVhKamFGZHlZWEJ3WlhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMjV2Ym1VbkxGeHVJQ0IzYVdSMGFEb2dKekV3TUNVbkxGeHVJQ0J0WVhKbmFXNU1aV1owT2lBeU1DeGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVG1GMlFtRnlJRDBnYzNSNWJHVmtLRUZ3Y0VKaGNpazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdKaFkydG5jbTkxYm1SRGIyeHZjanBjYmlBZ0lDQjBhR1Z0WlM1d1lXeGxkSFJsTG0xdlpHVWdQVDA5SUNkc2FXZG9kQ2NnUHlCMGFHVnRaUzV3WVd4bGRIUmxMbkJ5YVcxaGNua3ViV0ZwYmlBNklIUm9aVzFsTG5CaGJHVjBkR1V1WTNsaGJrSnNkV1VzWEc0Z0lHTnZiRzl5T2lCamIyMXRiMjR1ZDJocGRHVXNYRzRnSUcxcGJraGxhV2RvZERvZ05qQXNYRzRnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkalpXNTBaWEluTEZ4dUlDQmJZRUJ0WldScFlTQW9iV0Y0TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG5oemJXRnNiSDF3ZUNsZ1hUb2dZM056WUZ4dUlDQWdJQ1I3U1c1bWIwSjFkSFJ2Ym4wZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUNBZ0pIdFRkMmwwWTJoVWFHVnRaVUoxZEhSdmJuMGdlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlR0Y2JpQWdJQ0I5WEc0Z0lDQWdKSHRUWlhSMGFXNW5jMEoxZEhSdmJYMGdlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlR0Y2JpQWdJQ0I5WEc0Z0lHQXNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXViV1ZrYVhWdGZYQjRLV0JkT2lCamMzTmdYRzRnSUNBZ0pIdFRaV0Z5WTJoWGNtRndjR1Z5ZlNCN1hHNGdJQ0FnSUNCa2FYTndiR0Y1T2lCbWJHVjRPMXh1SUNBZ0lIMWNiaUFnSUNBa2UwbGpiMjVUWldGeVkyaENkWFIwYjI1OUlIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklHNXZibVU3WEc0Z0lDQWdmVnh1SUNBZ0lDUjdUVzlpYVd4bFRtRjJRbUZ5ZlNCN1hHNGdJQ0FnSUNCa2FYTndiR0Y1T2lCdWIyNWxPMXh1SUNBZ0lIMWNiaUFnWUN4Y2JpQWdXMkJBYldWa2FXRWdLRzFwYmkxM2FXUjBhRG9nSkh0MGFHVnRaUzVpY21WaGExQnZhVzUwY3k1c1lYSm5aWDF3ZUNsZ1hUb2dZM056WUZ4dUlDQWdJQ1I3U1c1dVpYSk9ZWFpDWVhKOUlIdGNiaUFnSUNBZ0lIQmhaR1JwYm1jNklEQWdNVFp3ZUR0Y2JpQWdJQ0I5WEc0Z0lHQXNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXVlR3hoY21kbGZYQjRLV0JkT2lCamMzTmdYRzRnSUNBZ0pIdEpibTVsY2s1aGRrSmhjbjBnZTF4dUlDQWdJQ0FnYldGNExYZHBaSFJvT2lBeE1qUXdjSGc3WEc0Z0lDQWdJQ0IzYVdSMGFEb2dNVEF3SlR0Y2JpQWdJQ0FnSUcxaGNtZHBiam9nTUNCaGRYUnZPMXh1SUNBZ0lIMWNiaUFnWUN4Y2JuMHBLVHRjYmlKZGZRPT0gKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBTZXR0aW5nc0J1dHRvbSA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKEljb25CdXR0b24sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVpdTdoY2wyXCIgfSA6IHtcblx0dGFyZ2V0OiBcImVpdTdoY2wyXCIsXG5cdGxhYmVsOiBcIlNldHRpbmdzQnV0dG9tXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCIwXCIsXG5cdHN0eWxlczogXCJcIlxufSA6IHtcblx0bmFtZTogXCIwXCIsXG5cdHN0eWxlczogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12U0dWaFpHVnlMM04wZVd4bGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUYxUXpoQ0lpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdJR056Y3lCOUlHWnliMjBnSjBCbGJXOTBhVzl1TDNKbFlXTjBKenRjYm1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCQmNIQkNZWElnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5QmNIQkNZWEluTzF4dWFXMXdiM0owSUVsamIyNUNkWFIwYjI0Z1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUpZMjl1UW5WMGRHOXVKenRjYm1sdGNHOXlkQ0JVYjI5c1ltRnlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2Vkc5dmJHSmhjaWM3WEc1cGJYQnZjblFnZXlCamIyMXRiMjRnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wyTnZiRzl5Y3ljN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOVVhR1Z0WlNjN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSmJtNWxjazVoZGtKaGNpQTlJSE4wZVd4bFpDaFViMjlzWW1GeUtTaDdYRzRnSUdwMWMzUnBabmxEYjI1MFpXNTBPaUFuYzNCaFkyVXRZbVYwZDJWbGJpY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0J3WVdSa2FXNW5PaUF3TEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkhjbVZsZEdsdVozTWdQU0J6ZEhsc1pXUW9KM053WVc0bktTaDdYRzRnSUcxaGNtZHBiam9nSnpBZ05YQjRJREFnTUNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRTF2WW1sc1pVNWhka0poY2lBOUlITjBlV3hsWkNnblpHbDJKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0Nod2NtOXdjeWtnUFQ0Z0tIdGNiaUFnWVd4cFoyNUpkR1Z0Y3pvZ0oyTmxiblJsY2ljc1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnWW05eVpHVnlRbTkwZEc5dE9pQmdNWEI0SUhOdmJHbGtJQ1I3Y0hKdmNITXVkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVUR2xuYUhSOVlDeGNiaUFnY0dGa1pHbHVaem9nSnpod2VDY3NYRzRnSUhCdmMybDBhVzl1T2lBbmNtVnNZWFJwZG1VbkxGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnU1c1dVpYSk5iMkpwYkdWT1lYWkNZWElnUFNCemRIbHNaV1FvSjJScGRpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvY0hKdmNITXBJRDArSUNoN1hHNGdJR0p2Y21SbGNsSmhaR2wxY3pvZ0p6UndlQ2NzWEc0Z0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ2NISnZjSE11ZEdobGJXVXVjR0ZzWlhSMFpTNW5jbVY1VEdsbmFIUXNYRzRnSUdOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJSGRwWkhSb09pQW5NVEF3SlNjc1hHNGdJSEJoWkdScGJtYzZJQ2N3SURWd2VDY3NYRzRnSUcxaGNtZHBiam9nSnpBZ01UQndlQ0F3SURBbkxGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnU1dOdmJsTmxZWEpqYUVKMWRIUnZiaUE5SUhOMGVXeGxaQ2hKWTI5dVFuVjBkRzl1S1NoN2ZTazdYRzVsZUhCdmNuUWdZMjl1YzNRZ1NXNW1iMEoxZEhSdmJpQTlJSE4wZVd4bFpDaEpZMjl1UW5WMGRHOXVLU2g3ZlNrN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnVTNkcGRHTm9WR2hsYldWQ2RYUjBiMjRnUFNCemRIbHNaV1FvU1dOdmJrSjFkSFJ2Ymlrb2UzMHBPMXh1Wlhod2IzSjBJR052Ym5OMElGTmxkSFJwYm1kelFuVjBkRzl0SUQwZ2MzUjViR1ZrS0VsamIyNUNkWFIwYjI0cEtIdDlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRk5sWVhKamFGZHlZWEJ3WlhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMjV2Ym1VbkxGeHVJQ0IzYVdSMGFEb2dKekV3TUNVbkxGeHVJQ0J0WVhKbmFXNU1aV1owT2lBeU1DeGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVG1GMlFtRnlJRDBnYzNSNWJHVmtLRUZ3Y0VKaGNpazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdKaFkydG5jbTkxYm1SRGIyeHZjanBjYmlBZ0lDQjBhR1Z0WlM1d1lXeGxkSFJsTG0xdlpHVWdQVDA5SUNkc2FXZG9kQ2NnUHlCMGFHVnRaUzV3WVd4bGRIUmxMbkJ5YVcxaGNua3ViV0ZwYmlBNklIUm9aVzFsTG5CaGJHVjBkR1V1WTNsaGJrSnNkV1VzWEc0Z0lHTnZiRzl5T2lCamIyMXRiMjR1ZDJocGRHVXNYRzRnSUcxcGJraGxhV2RvZERvZ05qQXNYRzRnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkalpXNTBaWEluTEZ4dUlDQmJZRUJ0WldScFlTQW9iV0Y0TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG5oemJXRnNiSDF3ZUNsZ1hUb2dZM056WUZ4dUlDQWdJQ1I3U1c1bWIwSjFkSFJ2Ym4wZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUNBZ0pIdFRkMmwwWTJoVWFHVnRaVUoxZEhSdmJuMGdlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlR0Y2JpQWdJQ0I5WEc0Z0lDQWdKSHRUWlhSMGFXNW5jMEoxZEhSdmJYMGdlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlR0Y2JpQWdJQ0I5WEc0Z0lHQXNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXViV1ZrYVhWdGZYQjRLV0JkT2lCamMzTmdYRzRnSUNBZ0pIdFRaV0Z5WTJoWGNtRndjR1Z5ZlNCN1hHNGdJQ0FnSUNCa2FYTndiR0Y1T2lCbWJHVjRPMXh1SUNBZ0lIMWNiaUFnSUNBa2UwbGpiMjVUWldGeVkyaENkWFIwYjI1OUlIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklHNXZibVU3WEc0Z0lDQWdmVnh1SUNBZ0lDUjdUVzlpYVd4bFRtRjJRbUZ5ZlNCN1hHNGdJQ0FnSUNCa2FYTndiR0Y1T2lCdWIyNWxPMXh1SUNBZ0lIMWNiaUFnWUN4Y2JpQWdXMkJBYldWa2FXRWdLRzFwYmkxM2FXUjBhRG9nSkh0MGFHVnRaUzVpY21WaGExQnZhVzUwY3k1c1lYSm5aWDF3ZUNsZ1hUb2dZM056WUZ4dUlDQWdJQ1I3U1c1dVpYSk9ZWFpDWVhKOUlIdGNiaUFnSUNBZ0lIQmhaR1JwYm1jNklEQWdNVFp3ZUR0Y2JpQWdJQ0I5WEc0Z0lHQXNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXVlR3hoY21kbGZYQjRLV0JkT2lCamMzTmdYRzRnSUNBZ0pIdEpibTVsY2s1aGRrSmhjbjBnZTF4dUlDQWdJQ0FnYldGNExYZHBaSFJvT2lBeE1qUXdjSGc3WEc0Z0lDQWdJQ0IzYVdSMGFEb2dNVEF3SlR0Y2JpQWdJQ0FnSUcxaGNtZHBiam9nTUNCaGRYUnZPMXh1SUNBZ0lIMWNiaUFnWUN4Y2JuMHBLVHRjYmlKZGZRPT0gKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBTZWFyY2hXcmFwcGVyID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJkaXZcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZWl1N2hjbDFcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZWl1N2hjbDFcIixcblx0bGFiZWw6IFwiU2VhcmNoV3JhcHBlclwiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwiMTdlbG4zb1wiLFxuXHRzdHlsZXM6IFwiZGlzcGxheTpub25lO3dpZHRoOjEwMCU7bWFyZ2luLWxlZnQ6MjBweFwiXG59IDoge1xuXHRuYW1lOiBcIjE3ZWxuM29cIixcblx0c3R5bGVzOiBcImRpc3BsYXk6bm9uZTt3aWR0aDoxMDAlO21hcmdpbi1sZWZ0OjIwcHgvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12U0dWaFpHVnlMM04wZVd4bGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUY1UXpaQ0lpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdJR056Y3lCOUlHWnliMjBnSjBCbGJXOTBhVzl1TDNKbFlXTjBKenRjYm1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCQmNIQkNZWElnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5QmNIQkNZWEluTzF4dWFXMXdiM0owSUVsamIyNUNkWFIwYjI0Z1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUpZMjl1UW5WMGRHOXVKenRjYm1sdGNHOXlkQ0JVYjI5c1ltRnlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2Vkc5dmJHSmhjaWM3WEc1cGJYQnZjblFnZXlCamIyMXRiMjRnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wyTnZiRzl5Y3ljN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOVVhR1Z0WlNjN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSmJtNWxjazVoZGtKaGNpQTlJSE4wZVd4bFpDaFViMjlzWW1GeUtTaDdYRzRnSUdwMWMzUnBabmxEYjI1MFpXNTBPaUFuYzNCaFkyVXRZbVYwZDJWbGJpY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0J3WVdSa2FXNW5PaUF3TEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkhjbVZsZEdsdVozTWdQU0J6ZEhsc1pXUW9KM053WVc0bktTaDdYRzRnSUcxaGNtZHBiam9nSnpBZ05YQjRJREFnTUNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRTF2WW1sc1pVNWhka0poY2lBOUlITjBlV3hsWkNnblpHbDJKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0Nod2NtOXdjeWtnUFQ0Z0tIdGNiaUFnWVd4cFoyNUpkR1Z0Y3pvZ0oyTmxiblJsY2ljc1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnWW05eVpHVnlRbTkwZEc5dE9pQmdNWEI0SUhOdmJHbGtJQ1I3Y0hKdmNITXVkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVUR2xuYUhSOVlDeGNiaUFnY0dGa1pHbHVaem9nSnpod2VDY3NYRzRnSUhCdmMybDBhVzl1T2lBbmNtVnNZWFJwZG1VbkxGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnU1c1dVpYSk5iMkpwYkdWT1lYWkNZWElnUFNCemRIbHNaV1FvSjJScGRpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvY0hKdmNITXBJRDArSUNoN1hHNGdJR0p2Y21SbGNsSmhaR2wxY3pvZ0p6UndlQ2NzWEc0Z0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ2NISnZjSE11ZEdobGJXVXVjR0ZzWlhSMFpTNW5jbVY1VEdsbmFIUXNYRzRnSUdOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJSGRwWkhSb09pQW5NVEF3SlNjc1hHNGdJSEJoWkdScGJtYzZJQ2N3SURWd2VDY3NYRzRnSUcxaGNtZHBiam9nSnpBZ01UQndlQ0F3SURBbkxGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnU1dOdmJsTmxZWEpqYUVKMWRIUnZiaUE5SUhOMGVXeGxaQ2hKWTI5dVFuVjBkRzl1S1NoN2ZTazdYRzVsZUhCdmNuUWdZMjl1YzNRZ1NXNW1iMEoxZEhSdmJpQTlJSE4wZVd4bFpDaEpZMjl1UW5WMGRHOXVLU2g3ZlNrN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnVTNkcGRHTm9WR2hsYldWQ2RYUjBiMjRnUFNCemRIbHNaV1FvU1dOdmJrSjFkSFJ2Ymlrb2UzMHBPMXh1Wlhod2IzSjBJR052Ym5OMElGTmxkSFJwYm1kelFuVjBkRzl0SUQwZ2MzUjViR1ZrS0VsamIyNUNkWFIwYjI0cEtIdDlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRk5sWVhKamFGZHlZWEJ3WlhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMjV2Ym1VbkxGeHVJQ0IzYVdSMGFEb2dKekV3TUNVbkxGeHVJQ0J0WVhKbmFXNU1aV1owT2lBeU1DeGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVG1GMlFtRnlJRDBnYzNSNWJHVmtLRUZ3Y0VKaGNpazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdKaFkydG5jbTkxYm1SRGIyeHZjanBjYmlBZ0lDQjBhR1Z0WlM1d1lXeGxkSFJsTG0xdlpHVWdQVDA5SUNkc2FXZG9kQ2NnUHlCMGFHVnRaUzV3WVd4bGRIUmxMbkJ5YVcxaGNua3ViV0ZwYmlBNklIUm9aVzFsTG5CaGJHVjBkR1V1WTNsaGJrSnNkV1VzWEc0Z0lHTnZiRzl5T2lCamIyMXRiMjR1ZDJocGRHVXNYRzRnSUcxcGJraGxhV2RvZERvZ05qQXNYRzRnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkalpXNTBaWEluTEZ4dUlDQmJZRUJ0WldScFlTQW9iV0Y0TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG5oemJXRnNiSDF3ZUNsZ1hUb2dZM056WUZ4dUlDQWdJQ1I3U1c1bWIwSjFkSFJ2Ym4wZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUNBZ0pIdFRkMmwwWTJoVWFHVnRaVUoxZEhSdmJuMGdlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlR0Y2JpQWdJQ0I5WEc0Z0lDQWdKSHRUWlhSMGFXNW5jMEoxZEhSdmJYMGdlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlR0Y2JpQWdJQ0I5WEc0Z0lHQXNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXViV1ZrYVhWdGZYQjRLV0JkT2lCamMzTmdYRzRnSUNBZ0pIdFRaV0Z5WTJoWGNtRndjR1Z5ZlNCN1hHNGdJQ0FnSUNCa2FYTndiR0Y1T2lCbWJHVjRPMXh1SUNBZ0lIMWNiaUFnSUNBa2UwbGpiMjVUWldGeVkyaENkWFIwYjI1OUlIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklHNXZibVU3WEc0Z0lDQWdmVnh1SUNBZ0lDUjdUVzlpYVd4bFRtRjJRbUZ5ZlNCN1hHNGdJQ0FnSUNCa2FYTndiR0Y1T2lCdWIyNWxPMXh1SUNBZ0lIMWNiaUFnWUN4Y2JpQWdXMkJBYldWa2FXRWdLRzFwYmkxM2FXUjBhRG9nSkh0MGFHVnRaUzVpY21WaGExQnZhVzUwY3k1c1lYSm5aWDF3ZUNsZ1hUb2dZM056WUZ4dUlDQWdJQ1I3U1c1dVpYSk9ZWFpDWVhKOUlIdGNiaUFnSUNBZ0lIQmhaR1JwYm1jNklEQWdNVFp3ZUR0Y2JpQWdJQ0I5WEc0Z0lHQXNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXVlR3hoY21kbGZYQjRLV0JkT2lCamMzTmdYRzRnSUNBZ0pIdEpibTVsY2s1aGRrSmhjbjBnZTF4dUlDQWdJQ0FnYldGNExYZHBaSFJvT2lBeE1qUXdjSGc3WEc0Z0lDQWdJQ0IzYVdSMGFEb2dNVEF3SlR0Y2JpQWdJQ0FnSUcxaGNtZHBiam9nTUNCaGRYUnZPMXh1SUNBZ0lIMWNiaUFnWUN4Y2JuMHBLVHRjYmlKZGZRPT0gKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBOYXZCYXIgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChBcHBCYXIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVpdTdoY2wwXCIgfSA6IHtcblx0dGFyZ2V0OiBcImVpdTdoY2wwXCIsXG5cdGxhYmVsOiBcIk5hdkJhclwiXG59KSgoeyB0aGVtZSB9KSA9PiAoe1xuXHRiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUubW9kZSA9PT0gXCJsaWdodFwiID8gdGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW4gOiB0aGVtZS5wYWxldHRlLmN5YW5CbHVlLFxuXHRjb2xvcjogY29tbW9uLndoaXRlLFxuXHRtaW5IZWlnaHQ6IDYwLFxuXHRkaXNwbGF5OiBcImZsZXhcIixcblx0anVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG5cdFtgQG1lZGlhIChtYXgtd2lkdGg6ICR7dGhlbWUuYnJlYWtQb2ludHMueHNtYWxsfXB4KWBdOiAvKiBAX19QVVJFX18gKi8gY3NzKEluZm9CdXR0b24sIFwie2Rpc3BsYXk6bm9uZTt9XCIsIFN3aXRjaFRoZW1lQnV0dG9uLCBcIntkaXNwbGF5Om5vbmU7fVwiLCBTZXR0aW5nc0J1dHRvbSwgXCJ7ZGlzcGxheTpub25lO31cIiArIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCI7bGFiZWw6TmF2QmFyO1wiKSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlNHVmhaR1Z5TDNOMGVXeGxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGelJEUkVJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12U0dWaFpHVnlMM04wZVd4bGN5NTBjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3SUdOemN5QjlJR1p5YjIwZ0owQmxiVzkwYVc5dUwzSmxZV04wSnp0Y2JtbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQkJjSEJDWVhJZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUJjSEJDWVhJbk8xeHVhVzF3YjNKMElFbGpiMjVDZFhSMGIyNGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlKWTI5dVFuVjBkRzl1Snp0Y2JtbHRjRzl5ZENCVWIyOXNZbUZ5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlZHOXZiR0poY2ljN1hHNXBiWEJ2Y25RZ2V5QmpiMjF0YjI0Z2ZTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMk52Ykc5eWN5YzdYRzVjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaTlVYUdWdFpTYzdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkpibTVsY2s1aGRrSmhjaUE5SUhOMGVXeGxaQ2hVYjI5c1ltRnlLU2g3WEc0Z0lHcDFjM1JwWm5sRGIyNTBaVzUwT2lBbmMzQmhZMlV0WW1WMGQyVmxiaWNzWEc0Z0lHRnNhV2R1U1hSbGJYTTZJQ2RqWlc1MFpYSW5MRnh1SUNCd1lXUmthVzVuT2lBd0xGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JIY21WbGRHbHVaM01nUFNCemRIbHNaV1FvSjNOd1lXNG5LU2g3WEc0Z0lHMWhjbWRwYmpvZ0p6QWdOWEI0SURBZ01DY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUUxdlltbHNaVTVoZGtKaGNpQTlJSE4wZVd4bFpDZ25aR2wySnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaHdjbTl3Y3lrZ1BUNGdLSHRjYmlBZ1lXeHBaMjVKZEdWdGN6b2dKMk5sYm5SbGNpY3NYRzRnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ1ltOXlaR1Z5UW05MGRHOXRPaUJnTVhCNElITnZiR2xrSUNSN2NISnZjSE11ZEdobGJXVXVjR0ZzWlhSMFpTNW5jbVY1VEdsbmFIUjlZQ3hjYmlBZ2NHRmtaR2x1WnpvZ0p6aHdlQ2NzWEc0Z0lIQnZjMmwwYVc5dU9pQW5jbVZzWVhScGRtVW5MRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1NXNXVaWEpOYjJKcGJHVk9ZWFpDWVhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2NISnZjSE1wSUQwK0lDaDdYRzRnSUdKdmNtUmxjbEpoWkdsMWN6b2dKelJ3ZUNjc1hHNGdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2djSEp2Y0hNdWRHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVRHbG5hSFFzWEc0Z0lHTnZiRzl5T2lCamIyMXRiMjR1ZDJocGRHVXNYRzRnSUhkcFpIUm9PaUFuTVRBd0pTY3NYRzRnSUhCaFpHUnBibWM2SUNjd0lEVndlQ2NzWEc0Z0lHMWhjbWRwYmpvZ0p6QWdNVEJ3ZUNBd0lEQW5MRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1NXTnZibE5sWVhKamFFSjFkSFJ2YmlBOUlITjBlV3hsWkNoSlkyOXVRblYwZEc5dUtTaDdmU2s3WEc1bGVIQnZjblFnWTI5dWMzUWdTVzVtYjBKMWRIUnZiaUE5SUhOMGVXeGxaQ2hKWTI5dVFuVjBkRzl1S1NoN2ZTazdYRzVsZUhCdmNuUWdZMjl1YzNRZ1UzZHBkR05vVkdobGJXVkNkWFIwYjI0Z1BTQnpkSGxzWldRb1NXTnZia0oxZEhSdmJpa29lMzBwTzF4dVpYaHdiM0owSUdOdmJuTjBJRk5sZEhScGJtZHpRblYwZEc5dElEMGdjM1I1YkdWa0tFbGpiMjVDZFhSMGIyNHBLSHQ5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZObFlYSmphRmR5WVhCd1pYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcEtIdGNiaUFnWkdsemNHeGhlVG9nSjI1dmJtVW5MRnh1SUNCM2FXUjBhRG9nSnpFd01DVW5MRnh1SUNCdFlYSm5hVzVNWldaME9pQXlNQ3hjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1RtRjJRbUZ5SUQwZ2MzUjViR1ZrS0VGd2NFSmhjaWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHSmhZMnRuY205MWJtUkRiMnh2Y2pwY2JpQWdJQ0IwYUdWdFpTNXdZV3hsZEhSbExtMXZaR1VnUFQwOUlDZHNhV2RvZENjZ1B5QjBhR1Z0WlM1d1lXeGxkSFJsTG5CeWFXMWhjbmt1YldGcGJpQTZJSFJvWlcxbExuQmhiR1YwZEdVdVkzbGhia0pzZFdVc1hHNGdJR052Ykc5eU9pQmpiMjF0YjI0dWQyaHBkR1VzWEc0Z0lHMXBia2hsYVdkb2REb2dOakFzWEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdhblZ6ZEdsbWVVTnZiblJsYm5RNklDZGpaVzUwWlhJbkxGeHVJQ0JiWUVCdFpXUnBZU0FvYldGNExYZHBaSFJvT2lBa2UzUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxuaHpiV0ZzYkgxd2VDbGdYVG9nWTNOellGeHVJQ0FnSUNSN1NXNW1iMEoxZEhSdmJuMGdlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlR0Y2JpQWdJQ0I5WEc0Z0lDQWdKSHRUZDJsMFkyaFVhR1Z0WlVKMWRIUnZibjBnZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nYm05dVpUdGNiaUFnSUNCOVhHNGdJQ0FnSkh0VFpYUjBhVzVuYzBKMWRIUnZiWDBnZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nYm05dVpUdGNiaUFnSUNCOVhHNGdJR0FzWEc0Z0lGdGdRRzFsWkdsaElDaHRhVzR0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11YldWa2FYVnRmWEI0S1dCZE9pQmpjM05nWEc0Z0lDQWdKSHRUWldGeVkyaFhjbUZ3Y0dWeWZTQjdYRzRnSUNBZ0lDQmthWE53YkdGNU9pQm1iR1Y0TzF4dUlDQWdJSDFjYmlBZ0lDQWtlMGxqYjI1VFpXRnlZMmhDZFhSMGIyNTlJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJRzV2Ym1VN1hHNGdJQ0FnZlZ4dUlDQWdJQ1I3VFc5aWFXeGxUbUYyUW1GeWZTQjdYRzRnSUNBZ0lDQmthWE53YkdGNU9pQnViMjVsTzF4dUlDQWdJSDFjYmlBZ1lDeGNiaUFnVzJCQWJXVmthV0VnS0cxcGJpMTNhV1IwYURvZ0pIdDBhR1Z0WlM1aWNtVmhhMUJ2YVc1MGN5NXNZWEpuWlgxd2VDbGdYVG9nWTNOellGeHVJQ0FnSUNSN1NXNXVaWEpPWVhaQ1lYSjlJSHRjYmlBZ0lDQWdJSEJoWkdScGJtYzZJREFnTVRad2VEdGNiaUFnSUNCOVhHNGdJR0FzWEc0Z0lGdGdRRzFsWkdsaElDaHRhVzR0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11ZUd4aGNtZGxmWEI0S1dCZE9pQmpjM05nWEc0Z0lDQWdKSHRKYm01bGNrNWhka0poY24wZ2UxeHVJQ0FnSUNBZ2JXRjRMWGRwWkhSb09pQXhNalF3Y0hnN1hHNGdJQ0FnSUNCM2FXUjBhRG9nTVRBd0pUdGNiaUFnSUNBZ0lHMWhjbWRwYmpvZ01DQmhkWFJ2TzF4dUlDQWdJSDFjYmlBZ1lDeGNibjBwS1R0Y2JpSmRmUT09ICovXCIpLFxuXHRbYEBtZWRpYSAobWluLXdpZHRoOiAke3RoZW1lLmJyZWFrUG9pbnRzLm1lZGl1bX1weClgXTogLyogQF9fUFVSRV9fICovIGNzcyhTZWFyY2hXcmFwcGVyLCBcIntkaXNwbGF5OmZsZXg7fVwiLCBJY29uU2VhcmNoQnV0dG9uLCBcIntkaXNwbGF5Om5vbmU7fVwiLCBNb2JpbGVOYXZCYXIsIFwie2Rpc3BsYXk6bm9uZTt9XCIgKyAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiO2xhYmVsOk5hdkJhcjtcIiksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRnBSVFJFSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlNHVmhaR1Z5TDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCN0lHTnpjeUI5SUdaeWIyMGdKMEJsYlc5MGFXOXVMM0psWVdOMEp6dGNibWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0JCY0hCQ1lYSWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlCY0hCQ1lYSW5PMXh1YVcxd2IzSjBJRWxqYjI1Q2RYUjBiMjRnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5SlkyOXVRblYwZEc5dUp6dGNibWx0Y0c5eWRDQlViMjlzWW1GeUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZWRzl2YkdKaGNpYzdYRzVwYlhCdmNuUWdleUJqYjIxdGIyNGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDJOdmJHOXljeWM3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk5VWFHVnRaU2M3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKYm01bGNrNWhka0poY2lBOUlITjBlV3hsWkNoVWIyOXNZbUZ5S1NoN1hHNGdJR3AxYzNScFpubERiMjUwWlc1ME9pQW5jM0JoWTJVdFltVjBkMlZsYmljc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQndZV1JrYVc1bk9pQXdMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSGNtVmxkR2x1WjNNZ1BTQnpkSGxzWldRb0ozTndZVzRuS1NoN1hHNGdJRzFoY21kcGJqb2dKekFnTlhCNElEQWdNQ2NzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFMXZZbWxzWlU1aGRrSmhjaUE5SUhOMGVXeGxaQ2duWkdsMkp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2h3Y205d2N5a2dQVDRnS0h0Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdZbTl5WkdWeVFtOTBkRzl0T2lCZ01YQjRJSE52Ykdsa0lDUjdjSEp2Y0hNdWRHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVRHbG5hSFI5WUN4Y2JpQWdjR0ZrWkdsdVp6b2dKemh3ZUNjc1hHNGdJSEJ2YzJsMGFXOXVPaUFuY21Wc1lYUnBkbVVuTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTVzV1WlhKTmIySnBiR1ZPWVhaQ1lYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29jSEp2Y0hNcElEMCtJQ2g3WEc0Z0lHSnZjbVJsY2xKaFpHbDFjem9nSnpSd2VDY3NYRzRnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nY0hKdmNITXVkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVUR2xuYUhRc1hHNGdJR052Ykc5eU9pQmpiMjF0YjI0dWQyaHBkR1VzWEc0Z0lIZHBaSFJvT2lBbk1UQXdKU2NzWEc0Z0lIQmhaR1JwYm1jNklDY3dJRFZ3ZUNjc1hHNGdJRzFoY21kcGJqb2dKekFnTVRCd2VDQXdJREFuTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTV052YmxObFlYSmphRUoxZEhSdmJpQTlJSE4wZVd4bFpDaEpZMjl1UW5WMGRHOXVLU2g3ZlNrN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnU1c1bWIwSjFkSFJ2YmlBOUlITjBlV3hsWkNoSlkyOXVRblYwZEc5dUtTaDdmU2s3WEc1bGVIQnZjblFnWTI5dWMzUWdVM2RwZEdOb1ZHaGxiV1ZDZFhSMGIyNGdQU0J6ZEhsc1pXUW9TV052YmtKMWRIUnZiaWtvZTMwcE8xeHVaWGh3YjNKMElHTnZibk4wSUZObGRIUnBibWR6UW5WMGRHOXRJRDBnYzNSNWJHVmtLRWxqYjI1Q2RYUjBiMjRwS0h0OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGTmxZWEpqYUZkeVlYQndaWElnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyNXZibVVuTEZ4dUlDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dUlDQnRZWEpuYVc1TVpXWjBPaUF5TUN4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdUbUYyUW1GeUlEMGdjM1I1YkdWa0tFRndjRUpoY2lrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqcGNiaUFnSUNCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RzYVdkb2RDY2dQeUIwYUdWdFpTNXdZV3hsZEhSbExuQnlhVzFoY25rdWJXRnBiaUE2SUhSb1pXMWxMbkJoYkdWMGRHVXVZM2xoYmtKc2RXVXNYRzRnSUdOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJRzFwYmtobGFXZG9kRG9nTmpBc1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnYW5WemRHbG1lVU52Ym5SbGJuUTZJQ2RqWlc1MFpYSW5MRnh1SUNCYllFQnRaV1JwWVNBb2JXRjRMWGRwWkhSb09pQWtlM1JvWlcxbExtSnlaV0ZyVUc5cGJuUnpMbmh6YldGc2JIMXdlQ2xnWFRvZ1kzTnpZRnh1SUNBZ0lDUjdTVzVtYjBKMWRIUnZibjBnZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nYm05dVpUdGNiaUFnSUNCOVhHNGdJQ0FnSkh0VGQybDBZMmhVYUdWdFpVSjFkSFJ2Ym4wZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUNBZ0pIdFRaWFIwYVc1bmMwSjFkSFJ2YlgwZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUdBc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0VFpXRnlZMmhYY21Gd2NHVnlmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJtYkdWNE8xeHVJQ0FnSUgxY2JpQWdJQ0FrZTBsamIyNVRaV0Z5WTJoQ2RYUjBiMjU5SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUc1dmJtVTdYRzRnSUNBZ2ZWeHVJQ0FnSUNSN1RXOWlhV3hsVG1GMlFtRnlmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJ1YjI1bE8xeHVJQ0FnSUgxY2JpQWdZQ3hjYmlBZ1cyQkFiV1ZrYVdFZ0tHMXBiaTEzYVdSMGFEb2dKSHQwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTVzWVhKblpYMXdlQ2xnWFRvZ1kzTnpZRnh1SUNBZ0lDUjdTVzV1WlhKT1lYWkNZWEo5SUh0Y2JpQWdJQ0FnSUhCaFpHUnBibWM2SURBZ01UWndlRHRjYmlBZ0lDQjlYRzRnSUdBc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWVHeGhjbWRsZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0SmJtNWxjazVoZGtKaGNuMGdlMXh1SUNBZ0lDQWdiV0Y0TFhkcFpIUm9PaUF4TWpRd2NIZzdYRzRnSUNBZ0lDQjNhV1IwYURvZ01UQXdKVHRjYmlBZ0lDQWdJRzFoY21kcGJqb2dNQ0JoZFhSdk8xeHVJQ0FnSUgxY2JpQWdZQ3hjYm4wcEtUdGNiaUpkZlE9PSAqL1wiKSxcblx0W2BAbWVkaWEgKG1pbi13aWR0aDogJHt0aGVtZS5icmVha1BvaW50cy5sYXJnZX1weClgXTogLyogQF9fUFVSRV9fICovIGNzcyhJbm5lck5hdkJhciwgXCJ7cGFkZGluZzowIDE2cHg7fVwiICsgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIjtsYWJlbDpOYXZCYXI7XCIpLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12U0dWaFpHVnlMM04wZVd4bGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUUwUlRKRUlpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdJR056Y3lCOUlHWnliMjBnSjBCbGJXOTBhVzl1TDNKbFlXTjBKenRjYm1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCQmNIQkNZWElnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5QmNIQkNZWEluTzF4dWFXMXdiM0owSUVsamIyNUNkWFIwYjI0Z1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUpZMjl1UW5WMGRHOXVKenRjYm1sdGNHOXlkQ0JVYjI5c1ltRnlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2Vkc5dmJHSmhjaWM3WEc1cGJYQnZjblFnZXlCamIyMXRiMjRnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wyTnZiRzl5Y3ljN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOVVhR1Z0WlNjN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSmJtNWxjazVoZGtKaGNpQTlJSE4wZVd4bFpDaFViMjlzWW1GeUtTaDdYRzRnSUdwMWMzUnBabmxEYjI1MFpXNTBPaUFuYzNCaFkyVXRZbVYwZDJWbGJpY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0J3WVdSa2FXNW5PaUF3TEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkhjbVZsZEdsdVozTWdQU0J6ZEhsc1pXUW9KM053WVc0bktTaDdYRzRnSUcxaGNtZHBiam9nSnpBZ05YQjRJREFnTUNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRTF2WW1sc1pVNWhka0poY2lBOUlITjBlV3hsWkNnblpHbDJKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0Nod2NtOXdjeWtnUFQ0Z0tIdGNiaUFnWVd4cFoyNUpkR1Z0Y3pvZ0oyTmxiblJsY2ljc1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnWW05eVpHVnlRbTkwZEc5dE9pQmdNWEI0SUhOdmJHbGtJQ1I3Y0hKdmNITXVkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVUR2xuYUhSOVlDeGNiaUFnY0dGa1pHbHVaem9nSnpod2VDY3NYRzRnSUhCdmMybDBhVzl1T2lBbmNtVnNZWFJwZG1VbkxGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnU1c1dVpYSk5iMkpwYkdWT1lYWkNZWElnUFNCemRIbHNaV1FvSjJScGRpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvY0hKdmNITXBJRDArSUNoN1hHNGdJR0p2Y21SbGNsSmhaR2wxY3pvZ0p6UndlQ2NzWEc0Z0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ2NISnZjSE11ZEdobGJXVXVjR0ZzWlhSMFpTNW5jbVY1VEdsbmFIUXNYRzRnSUdOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJSGRwWkhSb09pQW5NVEF3SlNjc1hHNGdJSEJoWkdScGJtYzZJQ2N3SURWd2VDY3NYRzRnSUcxaGNtZHBiam9nSnpBZ01UQndlQ0F3SURBbkxGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnU1dOdmJsTmxZWEpqYUVKMWRIUnZiaUE5SUhOMGVXeGxaQ2hKWTI5dVFuVjBkRzl1S1NoN2ZTazdYRzVsZUhCdmNuUWdZMjl1YzNRZ1NXNW1iMEoxZEhSdmJpQTlJSE4wZVd4bFpDaEpZMjl1UW5WMGRHOXVLU2g3ZlNrN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnVTNkcGRHTm9WR2hsYldWQ2RYUjBiMjRnUFNCemRIbHNaV1FvU1dOdmJrSjFkSFJ2Ymlrb2UzMHBPMXh1Wlhod2IzSjBJR052Ym5OMElGTmxkSFJwYm1kelFuVjBkRzl0SUQwZ2MzUjViR1ZrS0VsamIyNUNkWFIwYjI0cEtIdDlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRk5sWVhKamFGZHlZWEJ3WlhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMjV2Ym1VbkxGeHVJQ0IzYVdSMGFEb2dKekV3TUNVbkxGeHVJQ0J0WVhKbmFXNU1aV1owT2lBeU1DeGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVG1GMlFtRnlJRDBnYzNSNWJHVmtLRUZ3Y0VKaGNpazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdKaFkydG5jbTkxYm1SRGIyeHZjanBjYmlBZ0lDQjBhR1Z0WlM1d1lXeGxkSFJsTG0xdlpHVWdQVDA5SUNkc2FXZG9kQ2NnUHlCMGFHVnRaUzV3WVd4bGRIUmxMbkJ5YVcxaGNua3ViV0ZwYmlBNklIUm9aVzFsTG5CaGJHVjBkR1V1WTNsaGJrSnNkV1VzWEc0Z0lHTnZiRzl5T2lCamIyMXRiMjR1ZDJocGRHVXNYRzRnSUcxcGJraGxhV2RvZERvZ05qQXNYRzRnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkalpXNTBaWEluTEZ4dUlDQmJZRUJ0WldScFlTQW9iV0Y0TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG5oemJXRnNiSDF3ZUNsZ1hUb2dZM056WUZ4dUlDQWdJQ1I3U1c1bWIwSjFkSFJ2Ym4wZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUNBZ0pIdFRkMmwwWTJoVWFHVnRaVUoxZEhSdmJuMGdlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlR0Y2JpQWdJQ0I5WEc0Z0lDQWdKSHRUWlhSMGFXNW5jMEoxZEhSdmJYMGdlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlR0Y2JpQWdJQ0I5WEc0Z0lHQXNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXViV1ZrYVhWdGZYQjRLV0JkT2lCamMzTmdYRzRnSUNBZ0pIdFRaV0Z5WTJoWGNtRndjR1Z5ZlNCN1hHNGdJQ0FnSUNCa2FYTndiR0Y1T2lCbWJHVjRPMXh1SUNBZ0lIMWNiaUFnSUNBa2UwbGpiMjVUWldGeVkyaENkWFIwYjI1OUlIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklHNXZibVU3WEc0Z0lDQWdmVnh1SUNBZ0lDUjdUVzlpYVd4bFRtRjJRbUZ5ZlNCN1hHNGdJQ0FnSUNCa2FYTndiR0Y1T2lCdWIyNWxPMXh1SUNBZ0lIMWNiaUFnWUN4Y2JpQWdXMkJBYldWa2FXRWdLRzFwYmkxM2FXUjBhRG9nSkh0MGFHVnRaUzVpY21WaGExQnZhVzUwY3k1c1lYSm5aWDF3ZUNsZ1hUb2dZM056WUZ4dUlDQWdJQ1I3U1c1dVpYSk9ZWFpDWVhKOUlIdGNiaUFnSUNBZ0lIQmhaR1JwYm1jNklEQWdNVFp3ZUR0Y2JpQWdJQ0I5WEc0Z0lHQXNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXVlR3hoY21kbGZYQjRLV0JkT2lCamMzTmdYRzRnSUNBZ0pIdEpibTVsY2s1aGRrSmhjbjBnZTF4dUlDQWdJQ0FnYldGNExYZHBaSFJvT2lBeE1qUXdjSGc3WEc0Z0lDQWdJQ0IzYVdSMGFEb2dNVEF3SlR0Y2JpQWdJQ0FnSUcxaGNtZHBiam9nTUNCaGRYUnZPMXh1SUNBZ0lIMWNiaUFnWUN4Y2JuMHBLVHRjYmlKZGZRPT0gKi9cIiksXG5cdFtgQG1lZGlhIChtaW4td2lkdGg6ICR7dGhlbWUuYnJlYWtQb2ludHMueGxhcmdlfXB4KWBdOiAvKiBAX19QVVJFX18gKi8gY3NzKElubmVyTmF2QmFyLCBcInttYXgtd2lkdGg6MTI0MHB4O3dpZHRoOjEwMCU7bWFyZ2luOjAgYXV0bzt9XCIgKyAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiO2xhYmVsOk5hdkJhcjtcIiksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRnBSalJFSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlNHVmhaR1Z5TDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCN0lHTnpjeUI5SUdaeWIyMGdKMEJsYlc5MGFXOXVMM0psWVdOMEp6dGNibWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0JCY0hCQ1lYSWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlCY0hCQ1lYSW5PMXh1YVcxd2IzSjBJRWxqYjI1Q2RYUjBiMjRnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5SlkyOXVRblYwZEc5dUp6dGNibWx0Y0c5eWRDQlViMjlzWW1GeUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZWRzl2YkdKaGNpYzdYRzVwYlhCdmNuUWdleUJqYjIxdGIyNGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDJOdmJHOXljeWM3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk5VWFHVnRaU2M3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKYm01bGNrNWhka0poY2lBOUlITjBlV3hsWkNoVWIyOXNZbUZ5S1NoN1hHNGdJR3AxYzNScFpubERiMjUwWlc1ME9pQW5jM0JoWTJVdFltVjBkMlZsYmljc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQndZV1JrYVc1bk9pQXdMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSGNtVmxkR2x1WjNNZ1BTQnpkSGxzWldRb0ozTndZVzRuS1NoN1hHNGdJRzFoY21kcGJqb2dKekFnTlhCNElEQWdNQ2NzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFMXZZbWxzWlU1aGRrSmhjaUE5SUhOMGVXeGxaQ2duWkdsMkp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2h3Y205d2N5a2dQVDRnS0h0Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdZbTl5WkdWeVFtOTBkRzl0T2lCZ01YQjRJSE52Ykdsa0lDUjdjSEp2Y0hNdWRHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVRHbG5hSFI5WUN4Y2JpQWdjR0ZrWkdsdVp6b2dKemh3ZUNjc1hHNGdJSEJ2YzJsMGFXOXVPaUFuY21Wc1lYUnBkbVVuTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTVzV1WlhKTmIySnBiR1ZPWVhaQ1lYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29jSEp2Y0hNcElEMCtJQ2g3WEc0Z0lHSnZjbVJsY2xKaFpHbDFjem9nSnpSd2VDY3NYRzRnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nY0hKdmNITXVkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVUR2xuYUhRc1hHNGdJR052Ykc5eU9pQmpiMjF0YjI0dWQyaHBkR1VzWEc0Z0lIZHBaSFJvT2lBbk1UQXdKU2NzWEc0Z0lIQmhaR1JwYm1jNklDY3dJRFZ3ZUNjc1hHNGdJRzFoY21kcGJqb2dKekFnTVRCd2VDQXdJREFuTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTV052YmxObFlYSmphRUoxZEhSdmJpQTlJSE4wZVd4bFpDaEpZMjl1UW5WMGRHOXVLU2g3ZlNrN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnU1c1bWIwSjFkSFJ2YmlBOUlITjBlV3hsWkNoSlkyOXVRblYwZEc5dUtTaDdmU2s3WEc1bGVIQnZjblFnWTI5dWMzUWdVM2RwZEdOb1ZHaGxiV1ZDZFhSMGIyNGdQU0J6ZEhsc1pXUW9TV052YmtKMWRIUnZiaWtvZTMwcE8xeHVaWGh3YjNKMElHTnZibk4wSUZObGRIUnBibWR6UW5WMGRHOXRJRDBnYzNSNWJHVmtLRWxqYjI1Q2RYUjBiMjRwS0h0OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGTmxZWEpqYUZkeVlYQndaWElnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyNXZibVVuTEZ4dUlDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dUlDQnRZWEpuYVc1TVpXWjBPaUF5TUN4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdUbUYyUW1GeUlEMGdjM1I1YkdWa0tFRndjRUpoY2lrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqcGNiaUFnSUNCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RzYVdkb2RDY2dQeUIwYUdWdFpTNXdZV3hsZEhSbExuQnlhVzFoY25rdWJXRnBiaUE2SUhSb1pXMWxMbkJoYkdWMGRHVXVZM2xoYmtKc2RXVXNYRzRnSUdOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJRzFwYmtobGFXZG9kRG9nTmpBc1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnYW5WemRHbG1lVU52Ym5SbGJuUTZJQ2RqWlc1MFpYSW5MRnh1SUNCYllFQnRaV1JwWVNBb2JXRjRMWGRwWkhSb09pQWtlM1JvWlcxbExtSnlaV0ZyVUc5cGJuUnpMbmh6YldGc2JIMXdlQ2xnWFRvZ1kzTnpZRnh1SUNBZ0lDUjdTVzVtYjBKMWRIUnZibjBnZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nYm05dVpUdGNiaUFnSUNCOVhHNGdJQ0FnSkh0VGQybDBZMmhVYUdWdFpVSjFkSFJ2Ym4wZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUNBZ0pIdFRaWFIwYVc1bmMwSjFkSFJ2YlgwZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUdBc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0VFpXRnlZMmhYY21Gd2NHVnlmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJtYkdWNE8xeHVJQ0FnSUgxY2JpQWdJQ0FrZTBsamIyNVRaV0Z5WTJoQ2RYUjBiMjU5SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUc1dmJtVTdYRzRnSUNBZ2ZWeHVJQ0FnSUNSN1RXOWlhV3hsVG1GMlFtRnlmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJ1YjI1bE8xeHVJQ0FnSUgxY2JpQWdZQ3hjYmlBZ1cyQkFiV1ZrYVdFZ0tHMXBiaTEzYVdSMGFEb2dKSHQwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTVzWVhKblpYMXdlQ2xnWFRvZ1kzTnpZRnh1SUNBZ0lDUjdTVzV1WlhKT1lYWkNZWEo5SUh0Y2JpQWdJQ0FnSUhCaFpHUnBibWM2SURBZ01UWndlRHRjYmlBZ0lDQjlYRzRnSUdBc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWVHeGhjbWRsZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0SmJtNWxjazVoZGtKaGNuMGdlMXh1SUNBZ0lDQWdiV0Y0TFhkcFpIUm9PaUF4TWpRd2NIZzdYRzRnSUNBZ0lDQjNhV1IwYURvZ01UQXdKVHRjYmlBZ0lDQWdJRzFoY21kcGJqb2dNQ0JoZFhSdk8xeHVJQ0FnSUgxY2JpQWdZQ3hjYm4wcEtUdGNiaUpkZlE9PSAqL1wiKVxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRXJRM05DSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlNHVmhaR1Z5TDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCN0lHTnpjeUI5SUdaeWIyMGdKMEJsYlc5MGFXOXVMM0psWVdOMEp6dGNibWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0JCY0hCQ1lYSWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlCY0hCQ1lYSW5PMXh1YVcxd2IzSjBJRWxqYjI1Q2RYUjBiMjRnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5SlkyOXVRblYwZEc5dUp6dGNibWx0Y0c5eWRDQlViMjlzWW1GeUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZWRzl2YkdKaGNpYzdYRzVwYlhCdmNuUWdleUJqYjIxdGIyNGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDJOdmJHOXljeWM3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk5VWFHVnRaU2M3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKYm01bGNrNWhka0poY2lBOUlITjBlV3hsWkNoVWIyOXNZbUZ5S1NoN1hHNGdJR3AxYzNScFpubERiMjUwWlc1ME9pQW5jM0JoWTJVdFltVjBkMlZsYmljc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQndZV1JrYVc1bk9pQXdMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSGNtVmxkR2x1WjNNZ1BTQnpkSGxzWldRb0ozTndZVzRuS1NoN1hHNGdJRzFoY21kcGJqb2dKekFnTlhCNElEQWdNQ2NzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFMXZZbWxzWlU1aGRrSmhjaUE5SUhOMGVXeGxaQ2duWkdsMkp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2h3Y205d2N5a2dQVDRnS0h0Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdZbTl5WkdWeVFtOTBkRzl0T2lCZ01YQjRJSE52Ykdsa0lDUjdjSEp2Y0hNdWRHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVRHbG5hSFI5WUN4Y2JpQWdjR0ZrWkdsdVp6b2dKemh3ZUNjc1hHNGdJSEJ2YzJsMGFXOXVPaUFuY21Wc1lYUnBkbVVuTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTVzV1WlhKTmIySnBiR1ZPWVhaQ1lYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29jSEp2Y0hNcElEMCtJQ2g3WEc0Z0lHSnZjbVJsY2xKaFpHbDFjem9nSnpSd2VDY3NYRzRnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nY0hKdmNITXVkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVUR2xuYUhRc1hHNGdJR052Ykc5eU9pQmpiMjF0YjI0dWQyaHBkR1VzWEc0Z0lIZHBaSFJvT2lBbk1UQXdKU2NzWEc0Z0lIQmhaR1JwYm1jNklDY3dJRFZ3ZUNjc1hHNGdJRzFoY21kcGJqb2dKekFnTVRCd2VDQXdJREFuTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTV052YmxObFlYSmphRUoxZEhSdmJpQTlJSE4wZVd4bFpDaEpZMjl1UW5WMGRHOXVLU2g3ZlNrN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnU1c1bWIwSjFkSFJ2YmlBOUlITjBlV3hsWkNoSlkyOXVRblYwZEc5dUtTaDdmU2s3WEc1bGVIQnZjblFnWTI5dWMzUWdVM2RwZEdOb1ZHaGxiV1ZDZFhSMGIyNGdQU0J6ZEhsc1pXUW9TV052YmtKMWRIUnZiaWtvZTMwcE8xeHVaWGh3YjNKMElHTnZibk4wSUZObGRIUnBibWR6UW5WMGRHOXRJRDBnYzNSNWJHVmtLRWxqYjI1Q2RYUjBiMjRwS0h0OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGTmxZWEpqYUZkeVlYQndaWElnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyNXZibVVuTEZ4dUlDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dUlDQnRZWEpuYVc1TVpXWjBPaUF5TUN4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdUbUYyUW1GeUlEMGdjM1I1YkdWa0tFRndjRUpoY2lrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqcGNiaUFnSUNCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RzYVdkb2RDY2dQeUIwYUdWdFpTNXdZV3hsZEhSbExuQnlhVzFoY25rdWJXRnBiaUE2SUhSb1pXMWxMbkJoYkdWMGRHVXVZM2xoYmtKc2RXVXNYRzRnSUdOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJRzFwYmtobGFXZG9kRG9nTmpBc1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnYW5WemRHbG1lVU52Ym5SbGJuUTZJQ2RqWlc1MFpYSW5MRnh1SUNCYllFQnRaV1JwWVNBb2JXRjRMWGRwWkhSb09pQWtlM1JvWlcxbExtSnlaV0ZyVUc5cGJuUnpMbmh6YldGc2JIMXdlQ2xnWFRvZ1kzTnpZRnh1SUNBZ0lDUjdTVzVtYjBKMWRIUnZibjBnZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nYm05dVpUdGNiaUFnSUNCOVhHNGdJQ0FnSkh0VGQybDBZMmhVYUdWdFpVSjFkSFJ2Ym4wZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUNBZ0pIdFRaWFIwYVc1bmMwSjFkSFJ2YlgwZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUdBc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0VFpXRnlZMmhYY21Gd2NHVnlmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJtYkdWNE8xeHVJQ0FnSUgxY2JpQWdJQ0FrZTBsamIyNVRaV0Z5WTJoQ2RYUjBiMjU5SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUc1dmJtVTdYRzRnSUNBZ2ZWeHVJQ0FnSUNSN1RXOWlhV3hsVG1GMlFtRnlmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJ1YjI1bE8xeHVJQ0FnSUgxY2JpQWdZQ3hjYmlBZ1cyQkFiV1ZrYVdFZ0tHMXBiaTEzYVdSMGFEb2dKSHQwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTVzWVhKblpYMXdlQ2xnWFRvZ1kzTnpZRnh1SUNBZ0lDUjdTVzV1WlhKT1lYWkNZWEo5SUh0Y2JpQWdJQ0FnSUhCaFpHUnBibWM2SURBZ01UWndlRHRjYmlBZ0lDQjlYRzRnSUdBc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWVHeGhjbWRsZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0SmJtNWxjazVoZGtKaGNuMGdlMXh1SUNBZ0lDQWdiV0Y0TFhkcFpIUm9PaUF4TWpRd2NIZzdYRzRnSUNBZ0lDQjNhV1IwYURvZ01UQXdKVHRjYmlBZ0lDQWdJRzFoY21kcGJqb2dNQ0JoZFhSdk8xeHVJQ0FnSUgxY2JpQWdZQ3hjYm4wcEtUdGNiaUpkZlE9PSAqL1wiKTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgR3JlZXRpbmdzLCBJY29uU2VhcmNoQnV0dG9uLCBJbmZvQnV0dG9uLCBJbm5lck1vYmlsZU5hdkJhciwgSW5uZXJOYXZCYXIsIE1vYmlsZU5hdkJhciwgTmF2QmFyLCBTZWFyY2hXcmFwcGVyLCBTZXR0aW5nc0J1dHRvbSwgU3dpdGNoVGhlbWVCdXR0b24gfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3R5bGVzLm1qcy5tYXAiLCJpbXBvcnQgTG9nbyBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9Mb2dvL0xvZ28ubWpzXCI7XG5pbXBvcnQgU2VhcmNoIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL1NlYXJjaC9TZWFyY2gubWpzXCI7XG5pbXBvcnQgeyBTZWFyY2hXcmFwcGVyIH0gZnJvbSBcIi4vc3R5bGVzLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSBcInJlYWN0LXJvdXRlclwiO1xuaW1wb3J0IFRvb2xiYXIgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvVG9vbGJhclwiO1xuLy8jcmVnaW9uIHNyYy9zZWN0aW9ucy9IZWFkZXIvSGVhZGVyTGVmdC50c3hcbnZhciBIZWFkZXJMZWZ0ID0gKHsgc2hvd1NlYXJjaCB9KSA9PiAvKiBAX19QVVJFX18gKi8ganN4cyhUb29sYmFyLCB7XG5cdHN4OiB7XG5cdFx0ZGlzcGxheTogXCJmbGV4XCIsXG5cdFx0cGFkZGluZzogMCxcblx0XHRtYXJnaW5MZWZ0OiAxLFxuXHRcdGZsZXg6IDEsXG5cdFx0XCJAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpXCI6IHtcblx0XHRcdHBhZGRpbmc6IDAsXG5cdFx0XHRtYXJnaW5MZWZ0OiAxLFxuXHRcdFx0bWFyZ2luUmlnaHQ6IFwiMjBweFwiXG5cdFx0fVxuXHR9LFxuXHRjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goTGluaywge1xuXHRcdHRvOiBcIi9cIixcblx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChMb2dvLCB7fSlcblx0fSksIHNob3dTZWFyY2ggJiYgLyogQF9fUFVSRV9fICovIGpzeChTZWFyY2hXcmFwcGVyLCB7XG5cdFx0XCJkYXRhLXRlc3RpZFwiOiBcInNlYXJjaC1jb250YWluZXJcIixcblx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChTZWFyY2gsIHt9KVxuXHR9KV1cbn0pO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBIZWFkZXJMZWZ0IGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9SGVhZGVyTGVmdC5tanMubWFwIiwiaW1wb3J0IExhYmVsIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0xhYmVsL0xhYmVsLm1qc1wiO1xuaW1wb3J0IHsgR3JlZXRpbmdzIH0gZnJvbSBcIi4vc3R5bGVzLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBGcmFnbWVudCwganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuLy8jcmVnaW9uIHNyYy9zZWN0aW9ucy9IZWFkZXIvSGVhZGVyR3JlZXRpbmdzLnRzeFxudmFyIEhlYWRlckdyZWV0aW5ncyA9ICh7IHVzZXJuYW1lIH0pID0+IHtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoRnJhZ21lbnQsIHsgY2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KEdyZWV0aW5ncywgeyBjaGlsZHJlbjogdChcImhlYWRlci5ncmVldGluZ3NcIikgfSksIC8qIEBfX1BVUkVfXyAqLyBqc3goTGFiZWwsIHtcblx0XHRcImRhdGEtdGVzdGlkXCI6IFwiZ3JlZXRpbmdzLWxhYmVsXCIsXG5cdFx0dGV4dDogdXNlcm5hbWUsXG5cdFx0d2VpZ2h0OiBcImJvbGRcIlxuXHR9KV0gfSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBIZWFkZXJHcmVldGluZ3MgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1IZWFkZXJHcmVldGluZ3MubWpzLm1hcCIsImltcG9ydCBNZW51SXRlbSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9NZW51SXRlbS9NZW51SXRlbS5tanNcIjtcbmltcG9ydCBIZWFkZXJHcmVldGluZ3MgZnJvbSBcIi4vSGVhZGVyR3JlZXRpbmdzLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBGcmFnbWVudCwganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgSWNvbkJ1dHRvbiBmcm9tIFwiQG11aS9tYXRlcmlhbC9JY29uQnV0dG9uXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IE1lbnUgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvTWVudVwiO1xuaW1wb3J0IEFjY291bnRDaXJjbGUgZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvQWNjb3VudENpcmNsZVwiO1xuLy8jcmVnaW9uIHNyYy9zZWN0aW9ucy9IZWFkZXIvSGVhZGVyTWVudS50c3hcbnZhciBIZWFkZXJNZW51ID0gKHsgb25Mb2dvdXQsIHVzZXJuYW1lLCBpc01lbnVPcGVuID0gZmFsc2UsIGFuY2hvckVsLCBvbkxvZ2dlZEluTWVudSwgb25Mb2dnZWRJbk1lbnVDbG9zZSB9KSA9PiB7XG5cdGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKEZyYWdtZW50LCB7IGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChJY29uQnV0dG9uLCB7XG5cdFx0Y29sb3I6IFwiaW5oZXJpdFwiLFxuXHRcdFwiZGF0YS10ZXN0aWRcIjogXCJsb2dJbkRpYWxvZ0ljb25cIixcblx0XHRpZDogXCJoZWFkZXItLWJ1dHRvbi1hY2NvdW50XCIsXG5cdFx0b25DbGljazogb25Mb2dnZWRJbk1lbnUsXG5cdFx0c2l6ZTogXCJsYXJnZVwiLFxuXHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEFjY291bnRDaXJjbGUsIHt9KVxuXHR9KSwgLyogQF9fUFVSRV9fICovIGpzeHMoTWVudSwge1xuXHRcdGFuY2hvckVsLFxuXHRcdG9uQ2xvc2U6IG9uTG9nZ2VkSW5NZW51Q2xvc2UsXG5cdFx0b3BlbjogaXNNZW51T3Blbixcblx0XHRzbG90UHJvcHM6IHsgcm9vdDoge1xuXHRcdFx0YW5jaG9yT3JpZ2luOiB7XG5cdFx0XHRcdHZlcnRpY2FsOiBcImJvdHRvbVwiLFxuXHRcdFx0XHRob3Jpem9udGFsOiBcInJpZ2h0XCJcblx0XHRcdH0sXG5cdFx0XHR0cmFuc2Zvcm1PcmlnaW46IHtcblx0XHRcdFx0dmVydGljYWw6IFwidG9wXCIsXG5cdFx0XHRcdGhvcml6b250YWw6IFwicmlnaHRcIlxuXHRcdFx0fVxuXHRcdH0gfSxcblx0XHRjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goTWVudUl0ZW0sIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goSGVhZGVyR3JlZXRpbmdzLCB7IHVzZXJuYW1lIH0pIH0pLCAvKiBAX19QVVJFX18gKi8ganN4KE1lbnVJdGVtLCB7XG5cdFx0XHRcImRhdGEtdGVzdGlkXCI6IFwibG9nT3V0RGlhbG9nSWNvblwiLFxuXHRcdFx0aWQ6IFwibG9nT3V0RGlhbG9nSWNvblwiLFxuXHRcdFx0b25DbGljazogb25Mb2dvdXQsXG5cdFx0XHRjaGlsZHJlbjogdChcImJ1dHRvbi5sb2dvdXRcIilcblx0XHR9KV1cblx0fSldIH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgSGVhZGVyTWVudSBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUhlYWRlck1lbnUubWpzLm1hcCIsImltcG9ydCB7IEljb25TZWFyY2hCdXR0b24sIEluZm9CdXR0b24sIFNldHRpbmdzQnV0dG9tLCBTd2l0Y2hUaGVtZUJ1dHRvbiB9IGZyb20gXCIuL3N0eWxlcy5tanNcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCBTZXR0aW5ncyBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9TZXR0aW5nc1wiO1xuaW1wb3J0IFNlYXJjaE11aSBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9TZWFyY2hcIjtcbmltcG9ydCBJbmZvIGZyb20gXCJAbXVpL2ljb25zLW1hdGVyaWFsL0luZm9cIjtcbmltcG9ydCBOaWdodHNTdGF5IGZyb20gXCJAbXVpL2ljb25zLW1hdGVyaWFsL05pZ2h0c1N0YXlcIjtcbmltcG9ydCBXYlN1bm55IGZyb20gXCJAbXVpL2ljb25zLW1hdGVyaWFsL1diU3VubnlcIjtcbi8vI3JlZ2lvbiBzcmMvc2VjdGlvbnMvSGVhZGVyL0hlYWRlclRvb2xUaXBJY29uLnRzeFxudmFyIEhlYWRlclRvb2xUaXBJY29uID0gZnVuY3Rpb24gSGVhZGVyVG9vbFRpcEljb24oeyByZWYsIHRvb2x0aXBJY29uVHlwZSwgb25DbGljayB9KSB7XG5cdHN3aXRjaCAodG9vbHRpcEljb25UeXBlKSB7XG5cdFx0Y2FzZSBcImluZm9cIjogcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goSW5mb0J1dHRvbiwge1xuXHRcdFx0Y29sb3I6IFwiaW5oZXJpdFwiLFxuXHRcdFx0XCJkYXRhLXRlc3RpZFwiOiBcImhlYWRlci0tdG9vbHRpcC1pbmZvXCIsXG5cdFx0XHRpZDogXCJoZWFkZXItLWJ1dHRvbi1yZWdpc3RyeUluZm9cIixcblx0XHRcdG9uQ2xpY2ssXG5cdFx0XHRyZWYsXG5cdFx0XHRzaXplOiBcImxhcmdlXCIsXG5cdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChJbmZvLCB7fSlcblx0XHR9KTtcblx0XHRjYXNlIFwic2V0dGluZ3NcIjogcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goU2V0dGluZ3NCdXR0b20sIHtcblx0XHRcdGNvbG9yOiBcImluaGVyaXRcIixcblx0XHRcdFwiZGF0YS10ZXN0aWRcIjogXCJoZWFkZXItLXRvb2x0aXAtc2V0dGluZ3NcIixcblx0XHRcdGlkOiBcImhlYWRlci0tYnV0dG9uLXNldHRpbmdzXCIsXG5cdFx0XHRvbkNsaWNrLFxuXHRcdFx0cmVmLFxuXHRcdFx0c2l6ZTogXCJsYXJnZVwiLFxuXHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goU2V0dGluZ3MsIHt9KVxuXHRcdH0pO1xuXHRcdGNhc2UgXCJzZWFyY2hcIjogcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goSWNvblNlYXJjaEJ1dHRvbiwge1xuXHRcdFx0Y29sb3I6IFwiaW5oZXJpdFwiLFxuXHRcdFx0b25DbGljayxcblx0XHRcdHJlZixcblx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFNlYXJjaE11aSwge30pXG5cdFx0fSk7XG5cdFx0Y2FzZSBcImRhcmstbW9kZVwiOiByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTd2l0Y2hUaGVtZUJ1dHRvbiwge1xuXHRcdFx0Y29sb3I6IFwiaW5oZXJpdFwiLFxuXHRcdFx0XCJkYXRhLXRlc3RpZFwiOiBcImhlYWRlci0tYnV0dG9uLS1kYXJrXCIsXG5cdFx0XHRvbkNsaWNrLFxuXHRcdFx0cmVmLFxuXHRcdFx0c2l6ZTogXCJsYXJnZVwiLFxuXHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goTmlnaHRzU3RheSwge30pXG5cdFx0fSk7XG5cdFx0Y2FzZSBcImxpZ2h0LW1vZGVcIjogcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goU3dpdGNoVGhlbWVCdXR0b24sIHtcblx0XHRcdGNvbG9yOiBcImluaGVyaXRcIixcblx0XHRcdFwiZGF0YS10ZXN0aWRcIjogXCJoZWFkZXItLWJ1dHRvbi0tbGlnaHRcIixcblx0XHRcdG9uQ2xpY2ssXG5cdFx0XHRyZWYsXG5cdFx0XHRzaXplOiBcImxhcmdlXCIsXG5cdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChXYlN1bm55LCB7fSlcblx0XHR9KTtcblx0XHRkZWZhdWx0OiByZXR1cm4gbnVsbDtcblx0fVxufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgSGVhZGVyVG9vbFRpcEljb24gYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1IZWFkZXJUb29sVGlwSWNvbi5tanMubWFwIiwiaW1wb3J0IEhlYWRlclRvb2xUaXBJY29uIGZyb20gXCIuL0hlYWRlclRvb2xUaXBJY29uLm1qc1wiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuLy8jcmVnaW9uIHNyYy9zZWN0aW9ucy9IZWFkZXIvSGVhZGVyVG9vbFRpcC50c3hcbnZhciBIZWFkZXJUb29sVGlwID0gKHsgdG9vbHRpcEljb25UeXBlLCBvbkNsaWNrIH0pID0+IC8qIEBfX1BVUkVfXyAqLyBqc3goSGVhZGVyVG9vbFRpcEljb24sIHtcblx0b25DbGljayxcblx0dG9vbHRpcEljb25UeXBlXG59KTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgSGVhZGVyVG9vbFRpcCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUhlYWRlclRvb2xUaXAubWpzLm1hcCIsImltcG9ydCBIZWFkZXJNZW51IGZyb20gXCIuL0hlYWRlck1lbnUubWpzXCI7XG5pbXBvcnQgSGVhZGVyVG9vbFRpcCBmcm9tIFwiLi9IZWFkZXJUb29sVGlwLm1qc1wiO1xuaW1wb3J0IHsgdXNlQ3VzdG9tVGhlbWUgfSBmcm9tIFwiLi4vLi4vVGhlbWUvVGhlbWVQcm92aWRlci5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2luZGV4Lm1qc1wiO1xuaW1wb3J0IHsgRnJhZ21lbnQsIGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiQG11aS9tYXRlcmlhbC9CdXR0b25cIjtcbmltcG9ydCBUb29sYmFyIGZyb20gXCJAbXVpL21hdGVyaWFsL1Rvb2xiYXJcIjtcbi8vI3JlZ2lvbiBzcmMvc2VjdGlvbnMvSGVhZGVyL0hlYWRlclJpZ2h0LnRzeFxudmFyIEhlYWRlclJpZ2h0ID0gKHsgc2hvd1NlYXJjaCwgdXNlcm5hbWUsIG9uVG9nZ2xlTG9naW4sIGhhc0xvZ2luLCBzaG93SW5mbywgc2hvd1NldHRpbmdzLCBzaG93VGhlbWVTd2l0Y2gsIG9uTG9nb3V0LCBvblRvZ2dsZU1vYmlsZU5hdiwgb25PcGVuUmVnaXN0cnlJbmZvRGlhbG9nLCBvbk9wZW5TZXR0aW5nc0RpYWxvZyB9KSA9PiB7XG5cdGNvbnN0IHsgaXNEYXJrTW9kZSwgc2V0SXNEYXJrTW9kZSB9ID0gdXNlQ3VzdG9tVGhlbWUoKTtcblx0Y29uc3QgW2FuY2hvckVsLCBzZXRBbmNob3JFbF0gPSB1c2VTdGF0ZShudWxsKTtcblx0Y29uc3QgW2lzTWVudU9wZW4sIHNldElzTWVudU9wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuXHRjb25zdCBoaWRlTG9naW5TZWN0aW9uID0gaGFzTG9naW4gPT09IGZhbHNlO1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdHVzZUVmZmVjdCgoKSA9PiB7XG5cdFx0c2V0SXNNZW51T3BlbihCb29sZWFuKGFuY2hvckVsKSk7XG5cdH0sIFthbmNob3JFbF0pO1xuXHQvKipcblx0KiBvcGVucyBwb3BvdmVyIG1lbnUgZm9yIGxvZ2dlZCBpbiB1c2VyLlxuXHQqL1xuXHRjb25zdCBoYW5kbGVMb2dnZWRJbk1lbnUgPSAoZXZlbnQpID0+IHtcblx0XHRzZXRBbmNob3JFbChldmVudC5jdXJyZW50VGFyZ2V0KTtcblx0fTtcblx0LyoqXG5cdCogY2xvc2VzIHBvcG92ZXIgbWVudSBmb3IgbG9nZ2VkIGluIHVzZXJcblx0Ki9cblx0Y29uc3QgaGFuZGxlTG9nZ2VkSW5NZW51Q2xvc2UgPSAoKSA9PiB7XG5cdFx0c2V0QW5jaG9yRWwobnVsbCk7XG5cdH07XG5cdC8qKlxuXHQqIGNsb3NlL29wZW4gcG9wb3ZlciBtZW51IGZvciBsb2dnZWQgaW4gdXNlcnMuXG5cdCovXG5cdGNvbnN0IGhhbmRsZVRvZ2dsZUxvZ2luID0gKCkgPT4ge1xuXHRcdHNldEFuY2hvckVsKG51bGwpO1xuXHRcdG9uVG9nZ2xlTG9naW4oKTtcblx0fTtcblx0Y29uc3QgaGFuZGxlVG9nZ2xlRGFya0xpZ2h0TW9kZSA9ICgpID0+IHtcblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdHNldElzRGFya01vZGUoIWlzRGFya01vZGUpO1xuXHRcdH0sIDMwMCk7XG5cdH07XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhUb29sYmFyLCB7XG5cdFx0XCJkYXRhLXRlc3RpZFwiOiBcImhlYWRlci1yaWdodFwiLFxuXHRcdHN4OiB7XG5cdFx0XHRkaXNwbGF5OiBcImZsZXhcIixcblx0XHRcdHBhZGRpbmc6IDAsXG5cdFx0XHRtYXJnaW5SaWdodDogMCxcblx0XHRcdFwiQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KVwiOiB7XG5cdFx0XHRcdHBhZGRpbmc6IDAsXG5cdFx0XHRcdG1hcmdpblJpZ2h0OiAwXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRjaGlsZHJlbjogW1xuXHRcdFx0c2hvd1NlYXJjaCA9PT0gdHJ1ZSAmJiAvKiBAX19QVVJFX18gKi8ganN4KEhlYWRlclRvb2xUaXAsIHtcblx0XHRcdFx0b25DbGljazogb25Ub2dnbGVNb2JpbGVOYXYsXG5cdFx0XHRcdHRpdGxlOiB0KFwic2VhcmNoLnBhY2thZ2VzXCIpLFxuXHRcdFx0XHR0b29sdGlwSWNvblR5cGU6IFwic2VhcmNoXCJcblx0XHRcdH0pLFxuXHRcdFx0c2hvd1NldHRpbmdzID09PSB0cnVlICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goSGVhZGVyVG9vbFRpcCwge1xuXHRcdFx0XHRvbkNsaWNrOiBvbk9wZW5TZXR0aW5nc0RpYWxvZyxcblx0XHRcdFx0dGl0bGU6IHQoXCJoZWFkZXIuc2V0dGluZ3NcIiksXG5cdFx0XHRcdHRvb2x0aXBJY29uVHlwZTogXCJzZXR0aW5nc1wiXG5cdFx0XHR9KSxcblx0XHRcdHNob3dJbmZvID09PSB0cnVlICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goSGVhZGVyVG9vbFRpcCwge1xuXHRcdFx0XHRvbkNsaWNrOiBvbk9wZW5SZWdpc3RyeUluZm9EaWFsb2csXG5cdFx0XHRcdHRpdGxlOiB0KFwiaGVhZGVyLnJlZ2lzdHJ5LWluZm9cIiksXG5cdFx0XHRcdHRvb2x0aXBJY29uVHlwZTogXCJpbmZvXCJcblx0XHRcdH0pLFxuXHRcdFx0c2hvd1RoZW1lU3dpdGNoID09PSB0cnVlICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goSGVhZGVyVG9vbFRpcCwge1xuXHRcdFx0XHRvbkNsaWNrOiBoYW5kbGVUb2dnbGVEYXJrTGlnaHRNb2RlLFxuXHRcdFx0XHR0aXRsZTogdChcImhlYWRlci5kb2N1bWVudGF0aW9uXCIpLFxuXHRcdFx0XHR0b29sdGlwSWNvblR5cGU6IGlzRGFya01vZGUgPyBcImRhcmstbW9kZVwiIDogXCJsaWdodC1tb2RlXCJcblx0XHRcdH0pLFxuXHRcdFx0IWhpZGVMb2dpblNlY3Rpb24gJiYgLyogQF9fUFVSRV9fICovIGpzeChGcmFnbWVudCwgeyBjaGlsZHJlbjogdXNlcm5hbWUgPyAvKiBAX19QVVJFX18gKi8ganN4KEhlYWRlck1lbnUsIHtcblx0XHRcdFx0YW5jaG9yRWwsXG5cdFx0XHRcdGlzTWVudU9wZW4sXG5cdFx0XHRcdG9uTG9nZ2VkSW5NZW51OiBoYW5kbGVMb2dnZWRJbk1lbnUsXG5cdFx0XHRcdG9uTG9nZ2VkSW5NZW51Q2xvc2U6IGhhbmRsZUxvZ2dlZEluTWVudUNsb3NlLFxuXHRcdFx0XHRvbkxvZ291dCxcblx0XHRcdFx0dXNlcm5hbWVcblx0XHRcdH0pIDogLyogQF9fUFVSRV9fICovIGpzeChCdXR0b24sIHtcblx0XHRcdFx0Y29sb3I6IFwiaW5oZXJpdFwiLFxuXHRcdFx0XHRcImRhdGEtdGVzdGlkXCI6IFwiaGVhZGVyLS1idXR0b24tbG9naW5cIixcblx0XHRcdFx0b25DbGljazogaGFuZGxlVG9nZ2xlTG9naW4sXG5cdFx0XHRcdGNoaWxkcmVuOiB0KFwiYnV0dG9uLmxvZ2luXCIpXG5cdFx0XHR9KSB9KVxuXHRcdF1cblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBIZWFkZXJSaWdodCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUhlYWRlclJpZ2h0Lm1qcy5tYXAiLCJpbXBvcnQgeyB1c2VMYW5ndWFnZSB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvVHJhbnNsYXRvclByb3ZpZGVyL1RyYW5zbGF0b3JQcm92aWRlci5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2luZGV4Lm1qc1wiO1xuaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG5pbXBvcnQgeyBGcmFnbWVudCwganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBpMThuZXh0IGZyb20gXCJpMThuZXh0XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgVHlwb2dyYXBoeSBmcm9tIFwiQG11aS9tYXRlcmlhbC9UeXBvZ3JhcGh5XCI7XG5pbXBvcnQgQ2FyZCBmcm9tIFwiQG11aS9tYXRlcmlhbC9DYXJkXCI7XG5pbXBvcnQgQ2FyZENvbnRlbnQgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQ2FyZENvbnRlbnRcIjtcbmltcG9ydCBHcmlkIGZyb20gXCJAbXVpL21hdGVyaWFsL0dyaWRcIjtcbi8vI3JlZ2lvbiBzcmMvc2VjdGlvbnMvSGVhZGVyL0xhbmd1YWdlU3dpdGNoLnRzeFxudmFyIENhcmRTZWxlY3RlZCA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKENhcmQsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxcHJsdHBkMVwiIH0gOiB7XG5cdHRhcmdldDogXCJlMXBybHRwZDFcIixcblx0bGFiZWw6IFwiQ2FyZFNlbGVjdGVkXCJcbn0pKCh7IHRoZW1lIH0pID0+IHtcblx0cmV0dXJuIHtcblx0XHRiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUuZ3JleVtcIjYwMFwiXSxcblx0XHRvcGFjaXR5OiBcIjAuOVwiLFxuXHRcdGNvbG9yOiB0aGVtZS5wYWxldHRlLmVycm9yLmNvbnRyYXN0VGV4dCxcblx0XHRmb250V2VpZ2h0OiBcImJvbGRcIlxuXHR9O1xufSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlNHVmhaR1Z5TDB4aGJtZDFZV2RsVTNkcGRHTm9MblJ6ZUNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGWk5FSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTl6WldOMGFXOXVjeTlJWldGa1pYSXZUR0Z1WjNWaFoyVlRkMmwwWTJndWRITjRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSE4wZVd4bFpDQm1jbTl0SUNkQVpXMXZkR2x2Ymk5emRIbHNaV1FuTzF4dWFXMXdiM0owSUVOaGNtUWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlEWVhKa0p6dGNibWx0Y0c5eWRDQkRZWEprUTI5dWRHVnVkQ0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBOaGNtUkRiMjUwWlc1MEp6dGNibWx0Y0c5eWRDQkhjbWxrSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlIzSnBaQ2M3WEc1cGJYQnZjblFnVkhsd2IyZHlZWEJvZVNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wxUjVjRzluY21Gd2FIa25PMXh1YVcxd2IzSjBJR2t4T0c1bGVIUWdabkp2YlNBbmFURTRibVY0ZENjN1hHNXBiWEJ2Y25RZ1VtVmhZM1FzSUhzZ2RYTmxRMkZzYkdKaFkyc3NJSFZ6WlZOMFlYUmxJSDBnWm5KdmJTQW5jbVZoWTNRbk8xeHVhVzF3YjNKMElIc2dkWE5sVkhKaGJuTnNZWFJwYjI0Z2ZTQm1jbTl0SUNkeVpXRmpkQzFwTVRodVpYaDBKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1THljN1hHNXBiWEJ2Y25RZ2V5QjFjMlZNWVc1bmRXRm5aU0I5SUdaeWIyMGdKeTR1THk0dUx5YzdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkRZWEprVTJWc1pXTjBaV1FnUFNCemRIbHNaV1FvUTJGeVpDazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lIdGNiaUFnY21WMGRYSnVJSHRjYmlBZ0lDQmlZV05yWjNKdmRXNWtRMjlzYjNJNklIUm9aVzFsTG5CaGJHVjBkR1V1WjNKbGVWc25OakF3SjEwc1hHNGdJQ0FnYjNCaFkybDBlVG9nSnpBdU9TY3NYRzRnSUNBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXVaWEp5YjNJdVkyOXVkSEpoYzNSVVpYaDBMRnh1SUNBZ0lHWnZiblJYWldsbmFIUTZJQ2RpYjJ4a0p5eGNiaUFnZlR0Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdRMkZ5WkZWdVUyVnNaV04wWldRZ1BTQnpkSGxzWldRb1EyRnlaQ2s4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJSHRjYmlBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0JqZFhKemIzSTZJQ2R3YjJsdWRHVnlKeXhjYmlBZ0lDQW5PbWh2ZG1WeUp6b2dlMXh1SUNBZ0lDQWdZbUZqYTJkeWIzVnVaRU52Ykc5eU9pQjBhR1Z0WlM1d1lXeGxkSFJsTG1keVpYbEhZV2x1YzJKdmNtOHNYRzRnSUNBZ2ZTeGNiaUFnZlR0Y2JuMHBPMXh1WEc1amIyNXpkQ0JNWVc1bmRXRm5aVU52Ym5SbGJuUWdQU0FvZXlCMGNtRnVjMnhoZEdsdmJpd2dhV052YmlCOUtTQTlQaUFvWEc0Z0lEdytYRzRnSUNBZ1BFTmhjbVJEYjI1MFpXNTBQbHh1SUNBZ0lDQWdQRlI1Y0c5bmNtRndhSGtnWkdsemNHeGhlVDFjSW1Kc2IyTnJYQ0lnWjNWMGRHVnlRbTkwZEc5dFBYdDBjblZsZlNCMllYSnBZVzUwUFZ3aVkyRndkR2x2Ymx3aVBseHVJQ0FnSUNBZ0lDQjdkSEpoYm5Oc1lYUnBiMjU5WEc0Z0lDQWdJQ0E4TDFSNWNHOW5jbUZ3YUhrK1hHNGdJQ0FnUEM5RFlYSmtRMjl1ZEdWdWRENWNiaUFnSUNBOFEyRnlaRU52Ym5SbGJuUStlMmxqYjI1OVBDOURZWEprUTI5dWRHVnVkRDVjYmlBZ1BDOCtYRzRwTzF4dVhHNWpiMjV6ZENCTVlXNW5kV0ZuWlZOM2FYUmphQ0E5SUNncElEMCtJSHRjYmlBZ1kyOXVjM1FnZXlCc1lXNW5kV0ZuWlN3Z2MyVjBUR0Z1WjNWaFoyVXNJR3hwYzNSTVlXNW5kV0ZuWlhNZ2ZTQTlJSFZ6WlV4aGJtZDFZV2RsS0NrN1hHNGdJR052Ym5OMElHeHBjM1JEYjI1MlpYSjBaV1FnUFNCc2FYTjBUR0Z1WjNWaFoyVnpMbkpsWkhWalpTaGNiaUFnSUNBb2NISmxkaXdnYVhSbGJTa2dQVDRnZTF4dUlDQWdJQ0FnY0hKbGRsdHBkR1Z0TG14dVoxMGdQU0I3WEc0Z0lDQWdJQ0FnSUhSeVlXNXpiR0YwYVc5dU9pQnBkR1Z0TG0xbGJuVkxaWGtzWEc0Z0lDQWdJQ0FnSUdsamIyNDZJR2wwWlcwdWFXTnZiaXhjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjSEpsZGp0Y2JpQWdJQ0I5TEZ4dUlDQWdJSHQ5SUdGeklGSmxZMjl5WkR4emRISnBibWNzSUhzZ2RISmhibk5zWVhScGIyNDZJSE4wY21sdVp6c2dhV052YmpvZ1lXNTVJSDArWEc0Z0lDazdYRzVjYmlBZ1kyOXVjM1FnVzJ4aGJtZDFZV2RsYzEwZ1BTQjFjMlZUZEdGMFpUeHpkSEpwYm1kYlhUNG9UMkpxWldOMExtdGxlWE1vYVRFNGJtVjRkQzV2Y0hScGIyNXpQeTV5WlhOdmRYSmpaWE1nZkh3Z2UzMHBLVHRjYmlBZ1kyOXVjM1FnZXlCMElIMGdQU0IxYzJWVWNtRnVjMnhoZEdsdmJpZ3BPMXh1SUNCamIyNXpkQ0JqZFhKeVpXNTBUR0Z1WjNWaFoyVWdQU0JzWVc1bmRXRm5aVHRjYmlBZ1kyOXVjM1FnWjJWMFEzVnljbVZ1ZEV4dVowUmxkR0ZwYkhNZ1BTQjFjMlZEWVd4c1ltRmpheWhjYmlBZ0lDQW9iR0Z1WjNWaFoyVTZJSE4wY21sdVp5a2dQVDRnZTF4dUlDQWdJQ0FnWTI5dWMzUWdiRzVuSUQwZ2JHbHpkRU52Ym5abGNuUmxaRnRzWVc1bmRXRm5aVjBnZkh3Z2JHbHpkRU52Ym5abGNuUmxaRnNuWlc0dFZWTW5YVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJR2xqYjI0NklEeHNibWN1YVdOdmJpQXZQaXhjYmlBZ0lDQWdJQ0FnZEhKaGJuTnNZWFJwYjI0NklIUW9iRzVuTG5SeVlXNXpiR0YwYVc5dUtTeGNiaUFnSUNBZ0lIMDdYRzRnSUNBZ2ZTeGNiaUFnSUNCYmJHbHpkRU52Ym5abGNuUmxaQ3dnZEYxY2JpQWdLVHRjYmlBZ1kyOXVjM1FnYUdGdVpHeGxRMmhoYm1kbFRHRnVaM1ZoWjJVZ1BTQjFjMlZEWVd4c1ltRmpheWhjYmlBZ0lDQW9iR0Z1WjNWaFoyVTZJSE4wY21sdVp5a2dQVDRnZTF4dUlDQWdJQ0FnYzJWMFRHRnVaM1ZoWjJVb2JHRnVaM1ZoWjJVcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnVzNObGRFeGhibWQxWVdkbFhWeHVJQ0FwTzF4dVhHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BHUnBkajVjYmlBZ0lDQWdJRHhIY21sa0lHTnZiSFZ0Ym5NOWUzc2dlSE02SURFeUxDQnpiVG9nTVRJc0lHMWtPaUF4TWlCOWZTQmpiMjUwWVdsdVpYSTllM1J5ZFdWOUlITndZV05wYm1jOWUzc2dlSE02SURFc0lHMWtPaUF4SUgxOVBseHVJQ0FnSUNBZ0lDQjdiR0Z1WjNWaFoyVnpMbTFoY0Nnb2JHRnVaM1ZoWjJVc0lHbHVaR1Y0S1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdleUJwWTI5dUxDQjBjbUZ1YzJ4aGRHbHZiaUI5SUQwZ1oyVjBRM1Z5Y21WdWRFeHVaMFJsZEdGcGJITW9iR0Z1WjNWaFoyVXBPMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUFvWEc0Z0lDQWdJQ0FnSUNBZ0lDQThSM0pwWkNCclpYazllMmx1WkdWNGZTQnphWHBsUFh0N0lITnRPaUF5TENCNGN6b2dOaUI5ZlQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZTJ4aGJtZDFZV2RsSUQwOVBTQmpkWEp5Wlc1MFRHRnVaM1ZoWjJVZ1B5QW9YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQRU5oY21SVFpXeGxZM1JsWkNCemVEMTdleUJ0WVhoWGFXUjBhRG9nT0RBZ2ZYMCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4VEdGdVozVmhaMlZEYjI1MFpXNTBJR2xqYjI0OWUybGpiMjU5SUhSeVlXNXpiR0YwYVc5dVBYdDBjbUZ1YzJ4aGRHbHZibjBnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwwTmhjbVJUWld4bFkzUmxaRDVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdLU0E2SUNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFEyRnlaRlZ1VTJWc1pXTjBaV1FnYjI1RGJHbGphejE3S0NrZ1BUNGdhR0Z1Wkd4bFEyaGhibWRsVEdGdVozVmhaMlVvYkdGdVozVmhaMlVwZlQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeE1ZVzVuZFdGblpVTnZiblJsYm5RZ2FXTnZiajE3YVdOdmJuMGdkSEpoYm5Oc1lYUnBiMjQ5ZTNSeVlXNXpiR0YwYVc5dWZTQXZQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHd2UTJGeVpGVnVVMlZzWldOMFpXUStYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDbDlYRzRnSUNBZ0lDQWdJQ0FnSUNBOEwwZHlhV1ErWEc0Z0lDQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lDQWdmU2w5WEc0Z0lDQWdJQ0E4TDBkeWFXUStYRzRnSUNBZ1BDOWthWFkrWEc0Z0lDazdYRzU5TzF4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCTVlXNW5kV0ZuWlZOM2FYUmphRHRjYmlKZGZRPT0gKi9cIik7XG52YXIgQ2FyZFVuU2VsZWN0ZWQgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChDYXJkLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMXBybHRwZDBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTFwcmx0cGQwXCIsXG5cdGxhYmVsOiBcIkNhcmRVblNlbGVjdGVkXCJcbn0pKCh7IHRoZW1lIH0pID0+IHtcblx0cmV0dXJuIHtcblx0XHRjdXJzb3I6IFwicG9pbnRlclwiLFxuXHRcdFwiOmhvdmVyXCI6IHsgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5wYWxldHRlLmdyZXlHYWluc2Jvcm8gfVxuXHR9O1xufSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlNHVmhaR1Z5TDB4aGJtZDFZV2RsVTNkcGRHTm9MblJ6ZUNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGeFFqaENJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12U0dWaFpHVnlMMHhoYm1kMVlXZGxVM2RwZEdOb0xuUnplQ0lzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCRFlYSmtJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UTJGeVpDYzdYRzVwYlhCdmNuUWdRMkZ5WkVOdmJuUmxiblFnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5RFlYSmtRMjl1ZEdWdWRDYzdYRzVwYlhCdmNuUWdSM0pwWkNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwZHlhV1FuTzF4dWFXMXdiM0owSUZSNWNHOW5jbUZ3YUhrZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOVVlWEJ2WjNKaGNHaDVKenRjYm1sdGNHOXlkQ0JwTVRodVpYaDBJR1p5YjIwZ0oya3hPRzVsZUhRbk8xeHVhVzF3YjNKMElGSmxZV04wTENCN0lIVnpaVU5oYkd4aVlXTnJMQ0IxYzJWVGRHRjBaU0I5SUdaeWIyMGdKM0psWVdOMEp6dGNibWx0Y0c5eWRDQjdJSFZ6WlZSeVlXNXpiR0YwYVc5dUlIMGdabkp2YlNBbmNtVmhZM1F0YVRFNGJtVjRkQ2M3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk4bk8xeHVhVzF3YjNKMElIc2dkWE5sVEdGdVozVmhaMlVnZlNCbWNtOXRJQ2N1TGk4dUxpOG5PMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdRMkZ5WkZObGJHVmpkR1ZrSUQwZ2MzUjViR1ZrS0VOaGNtUXBQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQjdYRzRnSUhKbGRIVnliaUI3WEc0Z0lDQWdZbUZqYTJkeWIzVnVaRU52Ykc5eU9pQjBhR1Z0WlM1d1lXeGxkSFJsTG1keVpYbGJKell3TUNkZExGeHVJQ0FnSUc5d1lXTnBkSGs2SUNjd0xqa25MRnh1SUNBZ0lHTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMbVZ5Y205eUxtTnZiblJ5WVhOMFZHVjRkQ3hjYmlBZ0lDQm1iMjUwVjJWcFoyaDBPaUFuWW05c1pDY3NYRzRnSUgwN1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRU5oY21SVmJsTmxiR1ZqZEdWa0lEMGdjM1I1YkdWa0tFTmhjbVFwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUI3WEc0Z0lISmxkSFZ5YmlCN1hHNGdJQ0FnWTNWeWMyOXlPaUFuY0c5cGJuUmxjaWNzWEc0Z0lDQWdKenBvYjNabGNpYzZJSHRjYmlBZ0lDQWdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2dkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVSMkZwYm5OaWIzSnZMRnh1SUNBZ0lIMHNYRzRnSUgwN1hHNTlLVHRjYmx4dVkyOXVjM1FnVEdGdVozVmhaMlZEYjI1MFpXNTBJRDBnS0hzZ2RISmhibk5zWVhScGIyNHNJR2xqYjI0Z2ZTa2dQVDRnS0Z4dUlDQThQbHh1SUNBZ0lEeERZWEprUTI5dWRHVnVkRDVjYmlBZ0lDQWdJRHhVZVhCdlozSmhjR2g1SUdScGMzQnNZWGs5WENKaWJHOWphMXdpSUdkMWRIUmxja0p2ZEhSdmJUMTdkSEoxWlgwZ2RtRnlhV0Z1ZEQxY0ltTmhjSFJwYjI1Y0lqNWNiaUFnSUNBZ0lDQWdlM1J5WVc1emJHRjBhVzl1ZlZ4dUlDQWdJQ0FnUEM5VWVYQnZaM0poY0doNVBseHVJQ0FnSUR3dlEyRnlaRU52Ym5SbGJuUStYRzRnSUNBZ1BFTmhjbVJEYjI1MFpXNTBQbnRwWTI5dWZUd3ZRMkZ5WkVOdmJuUmxiblErWEc0Z0lEd3ZQbHh1S1R0Y2JseHVZMjl1YzNRZ1RHRnVaM1ZoWjJWVGQybDBZMmdnUFNBb0tTQTlQaUI3WEc0Z0lHTnZibk4wSUhzZ2JHRnVaM1ZoWjJVc0lITmxkRXhoYm1kMVlXZGxMQ0JzYVhOMFRHRnVaM1ZoWjJWeklIMGdQU0IxYzJWTVlXNW5kV0ZuWlNncE8xeHVJQ0JqYjI1emRDQnNhWE4wUTI5dWRtVnlkR1ZrSUQwZ2JHbHpkRXhoYm1kMVlXZGxjeTV5WldSMVkyVW9YRzRnSUNBZ0tIQnlaWFlzSUdsMFpXMHBJRDArSUh0Y2JpQWdJQ0FnSUhCeVpYWmJhWFJsYlM1c2JtZGRJRDBnZTF4dUlDQWdJQ0FnSUNCMGNtRnVjMnhoZEdsdmJqb2dhWFJsYlM1dFpXNTFTMlY1TEZ4dUlDQWdJQ0FnSUNCcFkyOXVPaUJwZEdWdExtbGpiMjRzWEc0Z0lDQWdJQ0I5TzF4dUlDQWdJQ0FnY21WMGRYSnVJSEJ5WlhZN1hHNGdJQ0FnZlN4Y2JpQWdJQ0I3ZlNCaGN5QlNaV052Y21ROGMzUnlhVzVuTENCN0lIUnlZVzV6YkdGMGFXOXVPaUJ6ZEhKcGJtYzdJR2xqYjI0NklHRnVlU0I5UGx4dUlDQXBPMXh1WEc0Z0lHTnZibk4wSUZ0c1lXNW5kV0ZuWlhOZElEMGdkWE5sVTNSaGRHVThjM1J5YVc1blcxMCtLRTlpYW1WamRDNXJaWGx6S0dreE9HNWxlSFF1YjNCMGFXOXVjejh1Y21WemIzVnlZMlZ6SUh4OElIdDlLU2s3WEc0Z0lHTnZibk4wSUhzZ2RDQjlJRDBnZFhObFZISmhibk5zWVhScGIyNG9LVHRjYmlBZ1kyOXVjM1FnWTNWeWNtVnVkRXhoYm1kMVlXZGxJRDBnYkdGdVozVmhaMlU3WEc0Z0lHTnZibk4wSUdkbGRFTjFjbkpsYm5STWJtZEVaWFJoYVd4eklEMGdkWE5sUTJGc2JHSmhZMnNvWEc0Z0lDQWdLR3hoYm1kMVlXZGxPaUJ6ZEhKcGJtY3BJRDArSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR3h1WnlBOUlHeHBjM1JEYjI1MlpYSjBaV1JiYkdGdVozVmhaMlZkSUh4OElHeHBjM1JEYjI1MlpYSjBaV1JiSjJWdUxWVlRKMTA3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdJQ0JwWTI5dU9pQThiRzVuTG1samIyNGdMejRzWEc0Z0lDQWdJQ0FnSUhSeVlXNXpiR0YwYVc5dU9pQjBLR3h1Wnk1MGNtRnVjMnhoZEdsdmJpa3NYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMHNYRzRnSUNBZ1cyeHBjM1JEYjI1MlpYSjBaV1FzSUhSZFhHNGdJQ2s3WEc0Z0lHTnZibk4wSUdoaGJtUnNaVU5vWVc1blpVeGhibWQxWVdkbElEMGdkWE5sUTJGc2JHSmhZMnNvWEc0Z0lDQWdLR3hoYm1kMVlXZGxPaUJ6ZEhKcGJtY3BJRDArSUh0Y2JpQWdJQ0FnSUhObGRFeGhibWQxWVdkbEtHeGhibWQxWVdkbEtUdGNiaUFnSUNCOUxGeHVJQ0FnSUZ0elpYUk1ZVzVuZFdGblpWMWNiaUFnS1R0Y2JseHVJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lEeGthWFkrWEc0Z0lDQWdJQ0E4UjNKcFpDQmpiMngxYlc1elBYdDdJSGh6T2lBeE1pd2djMjA2SURFeUxDQnRaRG9nTVRJZ2ZYMGdZMjl1ZEdGcGJtVnlQWHQwY25WbGZTQnpjR0ZqYVc1blBYdDdJSGh6T2lBeExDQnRaRG9nTVNCOWZUNWNiaUFnSUNBZ0lDQWdlMnhoYm1kMVlXZGxjeTV0WVhBb0tHeGhibWQxWVdkbExDQnBibVJsZUNrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSHNnYVdOdmJpd2dkSEpoYm5Oc1lYUnBiMjRnZlNBOUlHZGxkRU4xY25KbGJuUk1ibWRFWlhSaGFXeHpLR3hoYm1kMVlXZGxLVHRjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnSUNBZ0lDQWdQRWR5YVdRZ2EyVjVQWHRwYm1SbGVIMGdjMmw2WlQxN2V5QnpiVG9nTWl3Z2VITTZJRFlnZlgwK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUh0c1lXNW5kV0ZuWlNBOVBUMGdZM1Z5Y21WdWRFeGhibWQxWVdkbElEOGdLRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHhEWVhKa1UyVnNaV04wWldRZ2MzZzllM3NnYldGNFYybGtkR2c2SURnd0lIMTlQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEV4aGJtZDFZV2RsUTI5dWRHVnVkQ0JwWTI5dVBYdHBZMjl1ZlNCMGNtRnVjMnhoZEdsdmJqMTdkSEpoYm5Oc1lYUnBiMjU5SUM4K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BDOURZWEprVTJWc1pXTjBaV1ErWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ2tnT2lBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BFTmhjbVJWYmxObGJHVmpkR1ZrSUc5dVEyeHBZMnM5ZXlncElEMCtJR2hoYm1Sc1pVTm9ZVzVuWlV4aGJtZDFZV2RsS0d4aGJtZDFZV2RsS1gwK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThUR0Z1WjNWaFoyVkRiMjUwWlc1MElHbGpiMjQ5ZTJsamIyNTlJSFJ5WVc1emJHRjBhVzl1UFh0MGNtRnVjMnhoZEdsdmJuMGdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDBOaGNtUlZibE5sYkdWamRHVmtQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXBmVnh1SUNBZ0lDQWdJQ0FnSUNBZ1BDOUhjbWxrUGx4dUlDQWdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQWdJSDBwZlZ4dUlDQWdJQ0FnUEM5SGNtbGtQbHh1SUNBZ0lEd3ZaR2wyUGx4dUlDQXBPMXh1ZlR0Y2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ1RHRnVaM1ZoWjJWVGQybDBZMmc3WEc0aVhYMD0gKi9cIik7XG52YXIgTGFuZ3VhZ2VDb250ZW50ID0gKHsgdHJhbnNsYXRpb24sIGljb24gfSkgPT4gLyogQF9fUFVSRV9fICovIGpzeHMoRnJhZ21lbnQsIHsgY2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KENhcmRDb250ZW50LCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFR5cG9ncmFwaHksIHtcblx0ZGlzcGxheTogXCJibG9ja1wiLFxuXHRndXR0ZXJCb3R0b206IHRydWUsXG5cdHZhcmlhbnQ6IFwiY2FwdGlvblwiLFxuXHRjaGlsZHJlbjogdHJhbnNsYXRpb25cbn0pIH0pLCAvKiBAX19QVVJFX18gKi8ganN4KENhcmRDb250ZW50LCB7IGNoaWxkcmVuOiBpY29uIH0pXSB9KTtcbnZhciBMYW5ndWFnZVN3aXRjaCA9ICgpID0+IHtcblx0Y29uc3QgeyBsYW5ndWFnZSwgc2V0TGFuZ3VhZ2UsIGxpc3RMYW5ndWFnZXMgfSA9IHVzZUxhbmd1YWdlKCk7XG5cdGNvbnN0IGxpc3RDb252ZXJ0ZWQgPSBsaXN0TGFuZ3VhZ2VzLnJlZHVjZSgocHJldiwgaXRlbSkgPT4ge1xuXHRcdHByZXZbaXRlbS5sbmddID0ge1xuXHRcdFx0dHJhbnNsYXRpb246IGl0ZW0ubWVudUtleSxcblx0XHRcdGljb246IGl0ZW0uaWNvblxuXHRcdH07XG5cdFx0cmV0dXJuIHByZXY7XG5cdH0sIHt9KTtcblx0Y29uc3QgW2xhbmd1YWdlc10gPSB1c2VTdGF0ZShPYmplY3Qua2V5cyhpMThuZXh0Lm9wdGlvbnM/LnJlc291cmNlcyB8fCB7fSkpO1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdGNvbnN0IGN1cnJlbnRMYW5ndWFnZSA9IGxhbmd1YWdlO1xuXHRjb25zdCBnZXRDdXJyZW50TG5nRGV0YWlscyA9IHVzZUNhbGxiYWNrKChsYW5ndWFnZSkgPT4ge1xuXHRcdGNvbnN0IGxuZyA9IGxpc3RDb252ZXJ0ZWRbbGFuZ3VhZ2VdIHx8IGxpc3RDb252ZXJ0ZWRbXCJlbi1VU1wiXTtcblx0XHRyZXR1cm4ge1xuXHRcdFx0aWNvbjogLyogQF9fUFVSRV9fICovIGpzeChsbmcuaWNvbiwge30pLFxuXHRcdFx0dHJhbnNsYXRpb246IHQobG5nLnRyYW5zbGF0aW9uKVxuXHRcdH07XG5cdH0sIFtsaXN0Q29udmVydGVkLCB0XSk7XG5cdGNvbnN0IGhhbmRsZUNoYW5nZUxhbmd1YWdlID0gdXNlQ2FsbGJhY2soKGxhbmd1YWdlKSA9PiB7XG5cdFx0c2V0TGFuZ3VhZ2UobGFuZ3VhZ2UpO1xuXHR9LCBbc2V0TGFuZ3VhZ2VdKTtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXCJkaXZcIiwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChHcmlkLCB7XG5cdFx0Y29sdW1uczoge1xuXHRcdFx0eHM6IDEyLFxuXHRcdFx0c206IDEyLFxuXHRcdFx0bWQ6IDEyXG5cdFx0fSxcblx0XHRjb250YWluZXI6IHRydWUsXG5cdFx0c3BhY2luZzoge1xuXHRcdFx0eHM6IDEsXG5cdFx0XHRtZDogMVxuXHRcdH0sXG5cdFx0Y2hpbGRyZW46IGxhbmd1YWdlcy5tYXAoKGxhbmd1YWdlLCBpbmRleCkgPT4ge1xuXHRcdFx0Y29uc3QgeyBpY29uLCB0cmFuc2xhdGlvbiB9ID0gZ2V0Q3VycmVudExuZ0RldGFpbHMobGFuZ3VhZ2UpO1xuXHRcdFx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goR3JpZCwge1xuXHRcdFx0XHRzaXplOiB7XG5cdFx0XHRcdFx0c206IDIsXG5cdFx0XHRcdFx0eHM6IDZcblx0XHRcdFx0fSxcblx0XHRcdFx0Y2hpbGRyZW46IGxhbmd1YWdlID09PSBjdXJyZW50TGFuZ3VhZ2UgPyAvKiBAX19QVVJFX18gKi8ganN4KENhcmRTZWxlY3RlZCwge1xuXHRcdFx0XHRcdHN4OiB7IG1heFdpZHRoOiA4MCB9LFxuXHRcdFx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KExhbmd1YWdlQ29udGVudCwge1xuXHRcdFx0XHRcdFx0aWNvbixcblx0XHRcdFx0XHRcdHRyYW5zbGF0aW9uXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fSkgOiAvKiBAX19QVVJFX18gKi8ganN4KENhcmRVblNlbGVjdGVkLCB7XG5cdFx0XHRcdFx0b25DbGljazogKCkgPT4gaGFuZGxlQ2hhbmdlTGFuZ3VhZ2UobGFuZ3VhZ2UpLFxuXHRcdFx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KExhbmd1YWdlQ29udGVudCwge1xuXHRcdFx0XHRcdFx0aWNvbixcblx0XHRcdFx0XHRcdHRyYW5zbGF0aW9uXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fSlcblx0XHRcdH0sIGluZGV4KTtcblx0XHR9KVxuXHR9KSB9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IExhbmd1YWdlU3dpdGNoIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9TGFuZ3VhZ2VTd2l0Y2gubWpzLm1hcCIsImltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuLy8jcmVnaW9uIHNyYy9zZWN0aW9ucy9IZWFkZXIvUmVnaXN0cnlJbmZvQ29udGVudC9zdHlsZXMudHNcbnZhciBUZXh0Q29udGVudCA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwiZGl2XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxbHhpbmlkMVwiIH0gOiB7XG5cdHRhcmdldDogXCJlMWx4aW5pZDFcIixcblx0bGFiZWw6IFwiVGV4dENvbnRlbnRcIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0cGFkZGluZ0JvdHRvbTogXCIxMHB4XCIsXG5cdGJhY2tncm91bmRDb2xvcjogdGhlbWUucGFsZXR0ZS5iYWNrZ3JvdW5kLmRlZmF1bHRcbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12U0dWaFpHVnlMMUpsWjJsemRISjVTVzVtYjBOdmJuUmxiblF2YzNSNWJHVnpMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVreVFpSXNJbVpwYkdVaU9pSXZhRzl0WlM5eWRXNXVaWEl2ZDI5eWF5OTJaWEprWVdOamFXOHZkbVZ5WkdGalkybHZMM0JoWTJ0aFoyVnpMM1ZwTFdOdmJYQnZibVZ1ZEhNdmMzSmpMM05sWTNScGIyNXpMMGhsWVdSbGNpOVNaV2RwYzNSeWVVbHVabTlEYjI1MFpXNTBMM04wZVd4bGN5NTBjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JseHVhVzF3YjNKMElIUjVjR1VnZXlCVWFHVnRaU0I5SUdaeWIyMGdKeTR1THk0dUx5NHVMeWM3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JVWlhoMFEyOXVkR1Z1ZENBOUlITjBlV3hsWkNnblpHbDJKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lIQmhaR1JwYm1kQ2IzUjBiMjA2SUNjeE1IQjRKeXhjYmlBZ1ltRmphMmR5YjNWdVpFTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMbUpoWTJ0bmNtOTFibVF1WkdWbVlYVnNkQ3hjYm4wcEtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFUmxjMk55YVhCMGFXOXVJRDBnYzNSNWJHVmtLQ2RrYVhZbktUeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LQ2tnUFQ0Z0tIdGNiaUFnWm05dWRGTnBlbVU2SUNjeGNtVnRKeXhjYmlBZ1ptOXVkRk4wZVd4bE9pQW5hWFJoYkdsakp5eGNibjBwS1R0Y2JpSmRmUT09ICovXCIpO1xudmFyIERlc2NyaXB0aW9uID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJkaXZcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTFseGluaWQwXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxbHhpbmlkMFwiLFxuXHRsYWJlbDogXCJEZXNjcmlwdGlvblwiXG59KSgoKSA9PiAoe1xuXHRmb250U2l6ZTogXCIxcmVtXCIsXG5cdGZvbnRTdHlsZTogXCJpdGFsaWNcIlxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwxSmxaMmx6ZEhKNVNXNW1iME52Ym5SbGJuUXZjM1I1YkdWekxuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVk15UWlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwzTmxZM1JwYjI1ekwwaGxZV1JsY2k5U1pXZHBjM1J5ZVVsdVptOURiMjUwWlc1MEwzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1THk0dUx5YzdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlVaWGgwUTI5dWRHVnVkQ0E5SUhOMGVXeGxaQ2duWkdsMkp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUhCaFpHUnBibWRDYjNSMGIyMDZJQ2N4TUhCNEp5eGNiaUFnWW1GamEyZHliM1Z1WkVOdmJHOXlPaUIwYUdWdFpTNXdZV3hsZEhSbExtSmhZMnRuY205MWJtUXVaR1ZtWVhWc2RDeGNibjBwS1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVSbGMyTnlhWEIwYVc5dUlEMGdjM1I1YkdWa0tDZGthWFluS1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tDa2dQVDRnS0h0Y2JpQWdabTl1ZEZOcGVtVTZJQ2N4Y21WdEp5eGNiaUFnWm05dWRGTjBlV3hsT2lBbmFYUmhiR2xqSnl4Y2JuMHBLVHRjYmlKZGZRPT0gKi9cIik7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IERlc2NyaXB0aW9uLCBUZXh0Q29udGVudCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHlsZXMubWpzLm1hcCIsImltcG9ydCBDb3B5VG9DbGlwQm9hcmQgZnJvbSBcIi4uLy4uLy4uL2NvbXBvbmVudHMvQ29weUNsaXBib2FyZC9Db3B5VG9DbGlwQm9hcmQubWpzXCI7XG5pbXBvcnQgeyBnZXRDTElDaGFuZ2VQYXNzd29yZCwgZ2V0Q0xJU0JlcnJ5WWFtbFJlZ2lzdHJ5LCBnZXRDTElTZXRDb25maWdSZWdpc3RyeSwgZ2V0Q0xJU2V0UmVnaXN0cnkgfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvY2xpLXV0aWxzLm1qc1wiO1xuaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSBcIi4uLy4uLy4uL3Byb3ZpZGVycy9BcHBDb25maWd1cmF0aW9uUHJvdmlkZXIvQXBwQ29uZmlndXJhdGlvblByb3ZpZGVyLm1qc1wiO1xuaW1wb3J0IHsgRGVzY3JpcHRpb24sIFRleHRDb250ZW50IH0gZnJvbSBcIi4vc3R5bGVzLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vLi4vaW5kZXgubWpzXCI7XG5pbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbmltcG9ydCB7IEZyYWdtZW50LCBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgQm94IGZyb20gXCJAbXVpL21hdGVyaWFsL0JveFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IExpbmsgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvTGlua1wiO1xuaW1wb3J0IFR5cG9ncmFwaHkgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvVHlwb2dyYXBoeVwiO1xuaW1wb3J0IFJlYWN0TWFya2Rvd24gZnJvbSBcInJlYWN0LW1hcmtkb3duXCI7XG5pbXBvcnQgRXhwYW5kTW9yZUljb24gZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvRXhwYW5kTW9yZVwiO1xuaW1wb3J0IEFjY29yZGlvbiBmcm9tIFwiQG11aS9tYXRlcmlhbC9BY2NvcmRpb25cIjtcbmltcG9ydCBBY2NvcmRpb25EZXRhaWxzIGZyb20gXCJAbXVpL21hdGVyaWFsL0FjY29yZGlvbkRldGFpbHNcIjtcbmltcG9ydCBBY2NvcmRpb25TdW1tYXJ5IGZyb20gXCJAbXVpL21hdGVyaWFsL0FjY29yZGlvblN1bW1hcnlcIjtcbi8vI3JlZ2lvbiBzcmMvc2VjdGlvbnMvSGVhZGVyL1JlZ2lzdHJ5SW5mb0NvbnRlbnQvUmVnaXN0cnlJbmZvQ29udGVudC50c3hcbmZ1bmN0aW9uIF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fKCkge1xuXHRyZXR1cm4gXCJZb3UgaGF2ZSB0cmllZCB0byBzdHJpbmdpZnkgb2JqZWN0IHJldHVybmVkIGZyb20gYGNzc2AgZnVuY3Rpb24uIEl0IGlzbid0IHN1cHBvc2VkIHRvIGJlIHVzZWQgZGlyZWN0bHkgKGUuZy4gYXMgdmFsdWUgb2YgdGhlIGBjbGFzc05hbWVgIHByb3ApLCBidXQgcmF0aGVyIGhhbmRlZCB0byBlbW90aW9uIHNvIGl0IGNhbiBoYW5kbGUgaXQgKGUuZy4gYXMgdmFsdWUgb2YgYGNzc2AgcHJvcCkuXCI7XG59XG52YXIgTk9ERV9NQU5BR0VSID0ge1xuXHRucG06IFwibnBtXCIsXG5cdHlhcm46IFwieWFyblwiLFxuXHRwbnBtOiBcInBucG1cIlxufTtcbnZhciByZW5kZXJOcG1UYWIgPSAoc2NvcGUsIHJlZ2lzdHJ5VXJsKSA9PiB7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhCb3gsIHtcblx0XHRkaXNwbGF5OiBcImZsZXhcIixcblx0XHRmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuXHRcdGNoaWxkcmVuOiBbXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KENvcHlUb0NsaXBCb2FyZCwge1xuXHRcdFx0XHRkYXRhVGVzdElkOiBcImNvcHlcIixcblx0XHRcdFx0dGV4dDogZ2V0Q0xJU2V0Q29uZmlnUmVnaXN0cnkoYCR7Tk9ERV9NQU5BR0VSLm5wbX0gc2V0YCwgc2NvcGUsIHJlZ2lzdHJ5VXJsKVxuXHRcdFx0fSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KENvcHlUb0NsaXBCb2FyZCwge1xuXHRcdFx0XHRkYXRhVGVzdElkOiBcImNvcHlcIixcblx0XHRcdFx0dGV4dDogZ2V0Q0xJU2V0UmVnaXN0cnkoYCR7Tk9ERV9NQU5BR0VSLm5wbX0gYWRkdXNlcmAsIHJlZ2lzdHJ5VXJsKVxuXHRcdFx0fSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KENvcHlUb0NsaXBCb2FyZCwge1xuXHRcdFx0XHRkYXRhVGVzdElkOiBcImNvcHlcIixcblx0XHRcdFx0dGV4dDogZ2V0Q0xJQ2hhbmdlUGFzc3dvcmQoTk9ERV9NQU5BR0VSLm5wbSwgcmVnaXN0cnlVcmwpXG5cdFx0XHR9KVxuXHRcdF1cblx0fSk7XG59O1xudmFyIHJlbmRlclBucG1UYWIgPSAoc2NvcGUsIHJlZ2lzdHJ5VXJsKSA9PiB7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhCb3gsIHtcblx0XHRkaXNwbGF5OiBcImZsZXhcIixcblx0XHRmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuXHRcdGNoaWxkcmVuOiBbXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KENvcHlUb0NsaXBCb2FyZCwge1xuXHRcdFx0XHRkYXRhVGVzdElkOiBcImNvcHlcIixcblx0XHRcdFx0dGV4dDogZ2V0Q0xJU2V0Q29uZmlnUmVnaXN0cnkoYCR7Tk9ERV9NQU5BR0VSLnBucG19IHNldGAsIHNjb3BlLCByZWdpc3RyeVVybClcblx0XHRcdH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChDb3B5VG9DbGlwQm9hcmQsIHtcblx0XHRcdFx0ZGF0YVRlc3RJZDogXCJjb3B5XCIsXG5cdFx0XHRcdHRleHQ6IGdldENMSVNldFJlZ2lzdHJ5KGAke05PREVfTUFOQUdFUi5wbnBtfSBhZGR1c2VyYCwgcmVnaXN0cnlVcmwpXG5cdFx0XHR9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goQ29weVRvQ2xpcEJvYXJkLCB7XG5cdFx0XHRcdGRhdGFUZXN0SWQ6IFwiY29weVwiLFxuXHRcdFx0XHR0ZXh0OiBnZXRDTElDaGFuZ2VQYXNzd29yZChOT0RFX01BTkFHRVIucG5wbSwgcmVnaXN0cnlVcmwpXG5cdFx0XHR9KVxuXHRcdF1cblx0fSk7XG59O1xudmFyIHJlbmRlcllhcm5UYWIgPSAoc2NvcGUsIHJlZ2lzdHJ5VXJsKSA9PiB7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KEJveCwge1xuXHRcdGRpc3BsYXk6IFwiZmxleFwiLFxuXHRcdGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG5cdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goQ29weVRvQ2xpcEJvYXJkLCB7XG5cdFx0XHRkYXRhVGVzdElkOiBcImNvcHlcIixcblx0XHRcdHRleHQ6IGdldENMSVNldENvbmZpZ1JlZ2lzdHJ5KGAke05PREVfTUFOQUdFUi55YXJufSBjb25maWcgc2V0YCwgc2NvcGUsIHJlZ2lzdHJ5VXJsKVxuXHRcdH0pXG5cdH0pO1xufTtcbnZhciByZW5kZXJZYXJuQmVycnlUYWIgPSAoc2NvcGUsIHJlZ2lzdHJ5VXJsKSA9PiB7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KEJveCwge1xuXHRcdGRpc3BsYXk6IFwiZmxleFwiLFxuXHRcdGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG5cdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goQ29weVRvQ2xpcEJvYXJkLCB7XG5cdFx0XHRkYXRhVGVzdElkOiBcImNvcHlcIixcblx0XHRcdHRleHQ6IGdldENMSVNCZXJyeVlhbWxSZWdpc3RyeShzY29wZSwgcmVnaXN0cnlVcmwpXG5cdFx0fSlcblx0fSk7XG59O1xudmFyIEFjY29yZGlvbkNvbnRhaW5lciA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwiZGl2XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxaGwzeWdzMlwiIH0gOiB7XG5cdHRhcmdldDogXCJlMWhsM3lnczJcIixcblx0bGFiZWw6IFwiQWNjb3JkaW9uQ29udGFpbmVyXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCIxZ3dnNDc2XCIsXG5cdHN0eWxlczogXCJwYWRkaW5nOjA7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowXCJcbn0gOiB7XG5cdG5hbWU6IFwiMWd3ZzQ3NlwiLFxuXHRzdHlsZXM6IFwicGFkZGluZzowO3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MC8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwxSmxaMmx6ZEhKNVNXNW1iME52Ym5SbGJuUXZVbVZuYVhOMGNubEpibVp2UTI5dWRHVnVkQzUwYzNnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQmJVWnJReUlzSW1acGJHVWlPaUl2YUc5dFpTOXlkVzV1WlhJdmQyOXlheTkyWlhKa1lXTmphVzh2ZG1WeVpHRmpZMmx2TDNCaFkydGhaMlZ6TDNWcExXTnZiWEJ2Ym1WdWRITXZjM0pqTDNObFkzUnBiMjV6TDBobFlXUmxjaTlTWldkcGMzUnllVWx1Wm05RGIyNTBaVzUwTDFKbFoybHpkSEo1U1c1bWIwTnZiblJsYm5RdWRITjRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSE4wZVd4bFpDQm1jbTl0SUNkQVpXMXZkR2x2Ymk5emRIbHNaV1FuTzF4dWFXMXdiM0owSUVWNGNHRnVaRTF2Y21WSlkyOXVJR1p5YjIwZ0owQnRkV2t2YVdOdmJuTXRiV0YwWlhKcFlXd3ZSWGh3WVc1a1RXOXlaU2M3WEc1cGJYQnZjblFnUVdOamIzSmthVzl1SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlFXTmpiM0prYVc5dUp6dGNibWx0Y0c5eWRDQkJZMk52Y21ScGIyNUVaWFJoYVd4eklHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZRV05qYjNKa2FXOXVSR1YwWVdsc2N5YzdYRzVwYlhCdmNuUWdRV05qYjNKa2FXOXVVM1Z0YldGeWVTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMEZqWTI5eVpHbHZibE4xYlcxaGNua25PMXh1YVcxd2IzSjBJRUp2ZUNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwSnZlQ2M3WEc1cGJYQnZjblFnVEdsdWF5Qm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMHhwYm1zbk8xeHVhVzF3YjNKMElGUjVjRzluY21Gd2FIa2dabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlVZVhCdlozSmhjR2g1Snp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnUmtNZ2ZTQm1jbTl0SUNkeVpXRmpkQ2M3WEc1cGJYQnZjblFnVW1WaFkzUWdabkp2YlNBbmNtVmhZM1FuTzF4dWFXMXdiM0owSUhzZ2RYTmxWSEpoYm5Oc1lYUnBiMjRnZlNCbWNtOXRJQ2R5WldGamRDMXBNVGh1WlhoMEp6dGNibWx0Y0c5eWRDQlNaV0ZqZEUxaGNtdGtiM2R1SUdaeWIyMGdKM0psWVdOMExXMWhjbXRrYjNkdUp6dGNibHh1YVcxd2IzSjBJSHRjYmlBZ1EyOXdlVU5zYVhCaWIyRnlaQ3hjYmlBZ1oyVjBRMHhKUTJoaGJtZGxVR0Z6YzNkdmNtUXNYRzRnSUdkbGRFTk1TVk5DWlhKeWVWbGhiV3hTWldkcGMzUnllU3hjYmlBZ1oyVjBRMHhKVTJWMFEyOXVabWxuVW1WbmFYTjBjbmtzWEc0Z0lHZGxkRU5NU1ZObGRGSmxaMmx6ZEhKNUxGeHVJQ0IxYzJWRGIyNW1hV2NzWEc1OUlHWnliMjBnSnk0dUx5NHVMeTR1THljN1hHNXBiWEJ2Y25RZ2V5QkVaWE5qY21sd2RHbHZiaXdnVkdWNGRFTnZiblJsYm5RZ2ZTQm1jbTl0SUNjdUwzTjBlV3hsY3ljN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCT1QwUkZYMDFCVGtGSFJWSWdQU0I3WEc0Z0lHNXdiVG9nSjI1d2JTY3NYRzRnSUhsaGNtNDZJQ2Q1WVhKdUp5eGNiaUFnY0c1d2JUb2dKM0J1Y0cwbkxGeHVmVHRjYmx4dVkyOXVjM1FnY21WdVpHVnlUbkJ0VkdGaUlEMGdLSE5qYjNCbE9pQnpkSEpwYm1jZ2ZDQjFibVJsWm1sdVpXUXNJSEpsWjJsemRISjVWWEpzT2lCemRISnBibWNwT2lCS1UxZ3VSV3hsYldWdWRDQTlQaUI3WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEVKdmVDQmthWE53YkdGNVBWd2labXhsZUZ3aUlHWnNaWGhFYVhKbFkzUnBiMjQ5WENKamIyeDFiVzVjSWo1Y2JpQWdJQ0FnSUR4RGIzQjVRMnhwY0dKdllYSmtYRzRnSUNBZ0lDQWdJR1JoZEdGVVpYTjBTV1E5WENKamIzQjVYQ0pjYmlBZ0lDQWdJQ0FnZEdWNGREMTdaMlYwUTB4SlUyVjBRMjl1Wm1sblVtVm5hWE4wY25rb1lDUjdUazlFUlY5TlFVNUJSMFZTTG01d2JYMGdjMlYwWUN3Z2MyTnZjR1VzSUhKbFoybHpkSEo1VlhKc0tYMWNiaUFnSUNBZ0lDOCtYRzRnSUNBZ0lDQThRMjl3ZVVOc2FYQmliMkZ5WkZ4dUlDQWdJQ0FnSUNCa1lYUmhWR1Z6ZEVsa1BWd2lZMjl3ZVZ3aVhHNGdJQ0FnSUNBZ0lIUmxlSFE5ZTJkbGRFTk1TVk5sZEZKbFoybHpkSEo1S0dBa2UwNVBSRVZmVFVGT1FVZEZVaTV1Y0cxOUlHRmtaSFZ6WlhKZ0xDQnlaV2RwYzNSeWVWVnliQ2w5WEc0Z0lDQWdJQ0F2UGx4dUlDQWdJQ0FnUEVOdmNIbERiR2x3WW05aGNtUWdaR0YwWVZSbGMzUkpaRDFjSW1OdmNIbGNJaUIwWlhoMFBYdG5aWFJEVEVsRGFHRnVaMlZRWVhOemQyOXlaQ2hPVDBSRlgwMUJUa0ZIUlZJdWJuQnRMQ0J5WldkcGMzUnllVlZ5YkNsOUlDOCtYRzRnSUNBZ1BDOUNiM2crWEc0Z0lDazdYRzU5TzF4dVhHNWpiMjV6ZENCeVpXNWtaWEpRYm5CdFZHRmlJRDBnS0hOamIzQmxPaUJ6ZEhKcGJtY2dmQ0IxYm1SbFptbHVaV1FzSUhKbFoybHpkSEo1VlhKc09pQnpkSEpwYm1jcE9pQktVMWd1Uld4bGJXVnVkQ0E5UGlCN1hHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BFSnZlQ0JrYVhOd2JHRjVQVndpWm14bGVGd2lJR1pzWlhoRWFYSmxZM1JwYjI0OVhDSmpiMngxYlc1Y0lqNWNiaUFnSUNBZ0lEeERiM0I1UTJ4cGNHSnZZWEprWEc0Z0lDQWdJQ0FnSUdSaGRHRlVaWE4wU1dROVhDSmpiM0I1WENKY2JpQWdJQ0FnSUNBZ2RHVjRkRDE3WjJWMFEweEpVMlYwUTI5dVptbG5VbVZuYVhOMGNua29ZQ1I3VGs5RVJWOU5RVTVCUjBWU0xuQnVjRzE5SUhObGRHQXNJSE5qYjNCbExDQnlaV2RwYzNSeWVWVnliQ2w5WEc0Z0lDQWdJQ0F2UGx4dUlDQWdJQ0FnUEVOdmNIbERiR2x3WW05aGNtUmNiaUFnSUNBZ0lDQWdaR0YwWVZSbGMzUkpaRDFjSW1OdmNIbGNJbHh1SUNBZ0lDQWdJQ0IwWlhoMFBYdG5aWFJEVEVsVFpYUlNaV2RwYzNSeWVTaGdKSHRPVDBSRlgwMUJUa0ZIUlZJdWNHNXdiWDBnWVdSa2RYTmxjbUFzSUhKbFoybHpkSEo1VlhKc0tYMWNiaUFnSUNBZ0lDOCtYRzRnSUNBZ0lDQThRMjl3ZVVOc2FYQmliMkZ5WkZ4dUlDQWdJQ0FnSUNCa1lYUmhWR1Z6ZEVsa1BWd2lZMjl3ZVZ3aVhHNGdJQ0FnSUNBZ0lIUmxlSFE5ZTJkbGRFTk1TVU5vWVc1blpWQmhjM04zYjNKa0tFNVBSRVZmVFVGT1FVZEZVaTV3Ym5CdExDQnlaV2RwYzNSeWVWVnliQ2w5WEc0Z0lDQWdJQ0F2UGx4dUlDQWdJRHd2UW05NFBseHVJQ0FwTzF4dWZUdGNibHh1WTI5dWMzUWdjbVZ1WkdWeVdXRnlibFJoWWlBOUlDaHpZMjl3WlRvZ2MzUnlhVzVuSUh3Z2RXNWtaV1pwYm1Wa0xDQnlaV2RwYzNSeWVWVnliRG9nYzNSeWFXNW5LVG9nU2xOWUxrVnNaVzFsYm5RZ1BUNGdlMXh1SUNCeVpYUjFjbTRnS0Z4dUlDQWdJRHhDYjNnZ1pHbHpjR3hoZVQxY0ltWnNaWGhjSWlCbWJHVjRSR2x5WldOMGFXOXVQVndpWTI5c2RXMXVYQ0krWEc0Z0lDQWdJQ0E4UTI5d2VVTnNhWEJpYjJGeVpGeHVJQ0FnSUNBZ0lDQmtZWFJoVkdWemRFbGtQVndpWTI5d2VWd2lYRzRnSUNBZ0lDQWdJSFJsZUhROWUyZGxkRU5NU1ZObGRFTnZibVpwWjFKbFoybHpkSEo1S0dBa2UwNVBSRVZmVFVGT1FVZEZVaTU1WVhKdWZTQmpiMjVtYVdjZ2MyVjBZQ3dnYzJOdmNHVXNJSEpsWjJsemRISjVWWEpzS1gxY2JpQWdJQ0FnSUM4K1hHNGdJQ0FnUEM5Q2IzZytYRzRnSUNrN1hHNTlPMXh1WEc1amIyNXpkQ0J5Wlc1a1pYSlpZWEp1UW1WeWNubFVZV0lnUFNBb2MyTnZjR1U2SUhOMGNtbHVaeUI4SUhWdVpHVm1hVzVsWkN3Z2NtVm5hWE4wY25sVmNtdzZJSE4wY21sdVp5azZJRXBUV0M1RmJHVnRaVzUwSUQwK0lIdGNiaUFnY21WMGRYSnVJQ2hjYmlBZ0lDQThRbTk0SUdScGMzQnNZWGs5WENKbWJHVjRYQ0lnWm14bGVFUnBjbVZqZEdsdmJqMWNJbU52YkhWdGJsd2lQbHh1SUNBZ0lDQWdQRU52Y0hsRGJHbHdZbTloY21RZ1pHRjBZVlJsYzNSSlpEMWNJbU52Y0hsY0lpQjBaWGgwUFh0blpYUkRURWxUUW1WeWNubFpZVzFzVW1WbmFYTjBjbmtvYzJOdmNHVXNJSEpsWjJsemRISjVWWEpzS1gwZ0x6NWNiaUFnSUNBOEwwSnZlRDVjYmlBZ0tUdGNibjA3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JCWTJOdmNtUnBiMjVEYjI1MFlXbHVaWElnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ2NHRmtaR2x1WnpvZ01DeGNiaUFnY0dGa1pHbHVaMHhsWm5RNklEQXNYRzRnSUhCaFpHUnBibWRTYVdkb2REb2dNQ3hjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1EyOXRiV0Z1WkVOdmJuUmhhVzVsY2lBOUlITjBlV3hsWkNnblpHbDJKeWtvZTF4dUlDQndZV1JrYVc1bk9pQTFMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCTWFXNXJRMjl1ZEdGcGJtVnlJRDBnYzNSNWJHVmtLQ2RrYVhZbktTaDdYRzRnSUcxaGNtZHBiam9nTVRBc1hHNGdJRzFoY21kcGJreGxablE2SURBc1hHNTlLVHRjYmx4dVpYaHdiM0owSUhSNWNHVWdVSEp2Y0hNZ1BTQjdYRzRnSUhKbFoybHpkSEo1VlhKc09pQnpkSEpwYm1jN1hHNGdJSE5qYjNCbE9pQnpkSEpwYm1jZ2ZDQjFibVJsWm1sdVpXUTdYRzU5TzF4dVhHNWpiMjV6ZENCU1pXZHBjM1J5ZVVsdVptOURiMjUwWlc1ME9pQkdRenhRY205d2N6NGdQU0FvZXlCelkyOXdaU3dnY21WbmFYTjBjbmxWY213Z2ZTa2dQVDRnZTF4dUlDQmpiMjV6ZENCN0lIUWdmU0E5SUhWelpWUnlZVzV6YkdGMGFXOXVLQ2s3WEc0Z0lHTnZibk4wSUhzZ1kyOXVabWxuVDNCMGFXOXVjeUI5SUQwZ2RYTmxRMjl1Wm1sbktDazdYRzVjYmlBZ1kyOXVjM1FnYUdGelRuQnRJRDBnWTI5dVptbG5UM0IwYVc5dWN6OHVjR3RuVFdGdVlXZGxjbk0vTG1sdVkyeDFaR1Z6S0NkdWNHMG5LVHRjYmlBZ1kyOXVjM1FnYUdGeldXRnliaUE5SUdOdmJtWnBaMDl3ZEdsdmJuTS9MbkJyWjAxaGJtRm5aWEp6UHk1cGJtTnNkV1JsY3lnbmVXRnliaWNwTzF4dUlDQmpiMjV6ZENCb1lYTlFibkJ0SUQwZ1kyOXVabWxuVDNCMGFXOXVjejh1Y0d0blRXRnVZV2RsY25NL0xtbHVZMngxWkdWektDZHdibkJ0SnlrN1hHNGdJQzh2SUZSUFJFODZJSGRsSUdOaGJpQnBiWEJ5YjNabElIUm9hWE1nYkc5bmFXTXNJR1Y0Y0dGdVpHbHVaeUJ2Ym14NUlHOXVaU0JoWTJOdmNtUnBiMjRnWW1GelpXUWdiMjRnZDJocFkyZ2djR0ZqYTJGblpTQnRZVzVoWjJWeUlHbHpJR1Z1WVdKc1pXUmNiaUFnTHk4Z1ptVmxiQ0JtY21WbElIUnZJR052Ym5SeWFXSjFkR1VnYUdWeVpWeHVJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lEdytYRzRnSUNBZ0lDQThWR1Y0ZEVOdmJuUmxiblErZTNRb0ozQmhZMnRoWjJWTllXNWhaMlZ5Y3k1a1pYTmpjbWx3ZEdsdmJpY3BmVHd2VkdWNGRFTnZiblJsYm5RK1hHNGdJQ0FnSUNBOFFXTmpiM0prYVc5dVEyOXVkR0ZwYm1WeVBseHVJQ0FnSUNBZ0lDQThRV05qYjNKa2FXOXVJR1JwYzJGaWJHVmtQWHNoYUdGelRuQnRmVDVjYmlBZ0lDQWdJQ0FnSUNBOFFXTmpiM0prYVc5dVUzVnRiV0Z5ZVZ4dUlDQWdJQ0FnSUNBZ0lDQWdZWEpwWVMxamIyNTBjbTlzY3oxY0luQmhibVZzTVdFdFkyOXVkR1Z1ZEZ3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0JsZUhCaGJtUkpZMjl1UFhzOFJYaHdZVzVrVFc5eVpVbGpiMjRnTHo1OVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWkQxY0luQmhibVZzTVdFdGFHVmhaR1Z5WENKY2JpQWdJQ0FnSUNBZ0lDQStYRzRnSUNBZ0lDQWdJQ0FnSUNBOFZIbHdiMmR5WVhCb2VTQnplRDE3ZXlCbWIyNTBVMmw2WlRvZ0p6RnlaVzBuTENCbWIyNTBWMlZwWjJoME9pQW5ZbTlzWkNjZ2ZYMCtleWR1Y0cwbmZUd3ZWSGx3YjJkeVlYQm9lVDVjYmlBZ0lDQWdJQ0FnSUNBOEwwRmpZMjl5WkdsdmJsTjFiVzFoY25rK1hHNGdJQ0FnSUNBZ0lDQWdQRUZqWTI5eVpHbHZia1JsZEdGcGJITStYRzRnSUNBZ0lDQWdJQ0FnSUNBOFEyOXRiV0Z1WkVOdmJuUmhhVzVsY2lCa1lYUmhMWFJsYzNScFpEMTdKM1JoWWkxamIyNTBaVzUwSjMwK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUh0eVpXNWtaWEpPY0cxVVlXSW9jMk52Y0dVc0lISmxaMmx6ZEhKNVZYSnNLWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lEd3ZRMjl0YldGdVpFTnZiblJoYVc1bGNqNWNiaUFnSUNBZ0lDQWdJQ0E4TDBGalkyOXlaR2x2YmtSbGRHRnBiSE0rWEc0Z0lDQWdJQ0FnSUR3dlFXTmpiM0prYVc5dVBseHVJQ0FnSUNBZ0lDQThRV05qYjNKa2FXOXVJR1JwYzJGaWJHVmtQWHNoYUdGeldXRnlibjArWEc0Z0lDQWdJQ0FnSUNBZ1BFRmpZMjl5WkdsdmJsTjFiVzFoY25sY2JpQWdJQ0FnSUNBZ0lDQWdJR0Z5YVdFdFkyOXVkSEp2YkhNOVhDSndZVzVsYkRKaExXTnZiblJsYm5SY0lseHVJQ0FnSUNBZ0lDQWdJQ0FnWlhod1lXNWtTV052YmoxN1BFVjRjR0Z1WkUxdmNtVkpZMjl1SUM4K2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdROVhDSndZVzVsYkRKaExXaGxZV1JsY2x3aVhHNGdJQ0FnSUNBZ0lDQWdQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BGUjVjRzluY21Gd2FIa2djM2c5ZTNzZ1ptOXVkRk5wZW1VNklDY3hjbVZ0Snl3Z1ptOXVkRmRsYVdkb2REb2dKMkp2YkdRbklIMTlQbnNuZVdGeWJpZDlQQzlVZVhCdlozSmhjR2g1UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZRV05qYjNKa2FXOXVVM1Z0YldGeWVUNWNiaUFnSUNBZ0lDQWdJQ0E4UVdOamIzSmthVzl1UkdWMFlXbHNjejVjYmlBZ0lDQWdJQ0FnSUNBZ0lEeEVaWE5qY21sd2RHbHZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRkpsWVdOMFRXRnlhMlJ2ZDI0K2UzUW9KM0JoWTJ0aFoyVk5ZVzVoWjJWeWN5NTVZWEp1WTJ4aGMzTnBZMFJsZEdGcGJITW5LWDA4TDFKbFlXTjBUV0Z5YTJSdmQyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBOEwwUmxjMk55YVhCMGFXOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BFTnZiVzFoYm1SRGIyNTBZV2x1WlhJZ1pHRjBZUzEwWlhOMGFXUTlleWQwWVdJdFkyOXVkR1Z1ZENkOVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCN2NtVnVaR1Z5V1dGeWJsUmhZaWh6WTI5d1pTd2djbVZuYVhOMGNubFZjbXdwZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdQQzlEYjIxdFlXNWtRMjl1ZEdGcGJtVnlQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BFUmxjMk55YVhCMGFXOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThVbVZoWTNSTllYSnJaRzkzYmo1N2RDZ25jR0ZqYTJGblpVMWhibUZuWlhKekxubGhjbTVDWlhKeWVVUmxkR0ZwYkhNbktYMDhMMUpsWVdOMFRXRnlhMlJ2ZDI0K1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4TDBSbGMyTnlhWEIwYVc5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnUEVOdmJXMWhibVJEYjI1MFlXbHVaWElnWkdGMFlTMTBaWE4wYVdROWV5ZDBZV0l0WTI5dWRHVnVkQ2Q5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0I3Y21WdVpHVnlXV0Z5YmtKbGNuSjVWR0ZpS0hOamIzQmxMQ0J5WldkcGMzUnllVlZ5YkNsOVhHNGdJQ0FnSUNBZ0lDQWdJQ0E4TDBOdmJXMWhibVJEYjI1MFlXbHVaWEkrWEc0Z0lDQWdJQ0FnSUNBZ1BDOUJZMk52Y21ScGIyNUVaWFJoYVd4elBseHVJQ0FnSUNBZ0lDQThMMEZqWTI5eVpHbHZiajVjYmx4dUlDQWdJQ0FnSUNBOFFXTmpiM0prYVc5dUlHUnBjMkZpYkdWa1BYc2hhR0Z6VUc1d2JYMCtYRzRnSUNBZ0lDQWdJQ0FnUEVGalkyOXlaR2x2YmxOMWJXMWhjbmxjYmlBZ0lDQWdJQ0FnSUNBZ0lHRnlhV0V0WTI5dWRISnZiSE05WENKd1lXNWxiRE5oTFdOdmJuUmxiblJjSWx4dUlDQWdJQ0FnSUNBZ0lDQWdaWGh3WVc1a1NXTnZiajE3UEVWNGNHRnVaRTF2Y21WSlkyOXVJQzgrZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdhV1E5WENKd1lXNWxiRE5oTFdobFlXUmxjbHdpWEc0Z0lDQWdJQ0FnSUNBZ1BseHVJQ0FnSUNBZ0lDQWdJQ0FnUEZSNWNHOW5jbUZ3YUhrZ2MzZzllM3NnWm05dWRGTnBlbVU2SUNjeGNtVnRKeXdnWm05dWRGZGxhV2RvZERvZ0oySnZiR1FuSUgxOVBuc25jRzV3YlNkOVBDOVVlWEJ2WjNKaGNHaDVQbHh1SUNBZ0lDQWdJQ0FnSUR3dlFXTmpiM0prYVc5dVUzVnRiV0Z5ZVQ1Y2JpQWdJQ0FnSUNBZ0lDQThRV05qYjNKa2FXOXVSR1YwWVdsc2N6NWNiaUFnSUNBZ0lDQWdJQ0FnSUR4RGIyMXRZVzVrUTI5dWRHRnBibVZ5SUdSaGRHRXRkR1Z6ZEdsa1BYc25kR0ZpTFdOdmJuUmxiblFuZlQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZTNKbGJtUmxjbEJ1Y0cxVVlXSW9jMk52Y0dVc0lISmxaMmx6ZEhKNVZYSnNLWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lEd3ZRMjl0YldGdVpFTnZiblJoYVc1bGNqNWNiaUFnSUNBZ0lDQWdJQ0E4TDBGalkyOXlaR2x2YmtSbGRHRnBiSE0rWEc0Z0lDQWdJQ0FnSUR3dlFXTmpiM0prYVc5dVBseHVYRzRnSUNBZ0lDQWdJRHhNYVc1clEyOXVkR0ZwYm1WeVBseHVJQ0FnSUNBZ0lDQWdJRHhNYVc1cklHaHlaV1k5WENKb2RIUndjem92TDNabGNtUmhZMk5wYnk1dmNtY3ZaRzlqY3k5amJHa3RjbVZuYVhOMGNubGNJaUIwWVhKblpYUTlYQ0pmWW14aGJtdGNJajVjYmlBZ0lDQWdJQ0FnSUNBZ0lEeFVlWEJ2WjNKaGNHaDVQbnQwS0Nkb1pXRmtaWEl1Y21WbmFYTjBjbmt0YVc1bWJ5MXNhVzVySnlsOVBDOVVlWEJ2WjNKaGNHaDVQbHh1SUNBZ0lDQWdJQ0FnSUR3dlRHbHVhejVjYmlBZ0lDQWdJQ0FnUEM5TWFXNXJRMjl1ZEdGcGJtVnlQbHh1SUNBZ0lDQWdQQzlCWTJOdmNtUnBiMjVEYjI1MFlXbHVaWEkrWEc0Z0lDQWdQQzgrWEc0Z0lDazdYRzU5TzF4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCU1pXZHBjM1J5ZVVsdVptOURiMjUwWlc1ME8xeHVJbDE5ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgQ29tbWFuZENvbnRhaW5lciA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwiZGl2XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxaGwzeWdzMVwiIH0gOiB7XG5cdHRhcmdldDogXCJlMWhsM3lnczFcIixcblx0bGFiZWw6IFwiQ29tbWFuZENvbnRhaW5lclwiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwicGhhOGU3XCIsXG5cdHN0eWxlczogXCJwYWRkaW5nOjVweFwiXG59IDoge1xuXHRuYW1lOiBcInBoYThlN1wiLFxuXHRzdHlsZXM6IFwicGFkZGluZzo1cHgvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12U0dWaFpHVnlMMUpsWjJsemRISjVTVzVtYjBOdmJuUmxiblF2VW1WbmFYTjBjbmxKYm1adlEyOXVkR1Z1ZEM1MGMzZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJlVVpuUXlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwzTmxZM1JwYjI1ekwwaGxZV1JsY2k5U1pXZHBjM1J5ZVVsdVptOURiMjUwWlc1MEwxSmxaMmx6ZEhKNVNXNW1iME52Ym5SbGJuUXVkSE40SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVhVzF3YjNKMElFVjRjR0Z1WkUxdmNtVkpZMjl1SUdaeWIyMGdKMEJ0ZFdrdmFXTnZibk10YldGMFpYSnBZV3d2Ulhod1lXNWtUVzl5WlNjN1hHNXBiWEJ2Y25RZ1FXTmpiM0prYVc5dUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZRV05qYjNKa2FXOXVKenRjYm1sdGNHOXlkQ0JCWTJOdmNtUnBiMjVFWlhSaGFXeHpJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UVdOamIzSmthVzl1UkdWMFlXbHNjeWM3WEc1cGJYQnZjblFnUVdOamIzSmthVzl1VTNWdGJXRnllU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBGalkyOXlaR2x2YmxOMWJXMWhjbmtuTzF4dWFXMXdiM0owSUVKdmVDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMEp2ZUNjN1hHNXBiWEJ2Y25RZ1RHbHVheUJtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDB4cGJtc25PMXh1YVcxd2IzSjBJRlI1Y0c5bmNtRndhSGtnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5VWVYQnZaM0poY0doNUp6dGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1JrTWdmU0JtY205dElDZHlaV0ZqZENjN1hHNXBiWEJ2Y25RZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHVhVzF3YjNKMElIc2dkWE5sVkhKaGJuTnNZWFJwYjI0Z2ZTQm1jbTl0SUNkeVpXRmpkQzFwTVRodVpYaDBKenRjYm1sdGNHOXlkQ0JTWldGamRFMWhjbXRrYjNkdUlHWnliMjBnSjNKbFlXTjBMVzFoY210a2IzZHVKenRjYmx4dWFXMXdiM0owSUh0Y2JpQWdRMjl3ZVVOc2FYQmliMkZ5WkN4Y2JpQWdaMlYwUTB4SlEyaGhibWRsVUdGemMzZHZjbVFzWEc0Z0lHZGxkRU5NU1ZOQ1pYSnllVmxoYld4U1pXZHBjM1J5ZVN4Y2JpQWdaMlYwUTB4SlUyVjBRMjl1Wm1sblVtVm5hWE4wY25rc1hHNGdJR2RsZEVOTVNWTmxkRkpsWjJsemRISjVMRnh1SUNCMWMyVkRiMjVtYVdjc1hHNTlJR1p5YjIwZ0p5NHVMeTR1THk0dUx5YzdYRzVwYlhCdmNuUWdleUJFWlhOamNtbHdkR2x2Yml3Z1ZHVjRkRU52Ym5SbGJuUWdmU0JtY205dElDY3VMM04wZVd4bGN5YzdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQk9UMFJGWDAxQlRrRkhSVklnUFNCN1hHNGdJRzV3YlRvZ0oyNXdiU2NzWEc0Z0lIbGhjbTQ2SUNkNVlYSnVKeXhjYmlBZ2NHNXdiVG9nSjNCdWNHMG5MRnh1ZlR0Y2JseHVZMjl1YzNRZ2NtVnVaR1Z5VG5CdFZHRmlJRDBnS0hOamIzQmxPaUJ6ZEhKcGJtY2dmQ0IxYm1SbFptbHVaV1FzSUhKbFoybHpkSEo1VlhKc09pQnpkSEpwYm1jcE9pQktVMWd1Uld4bGJXVnVkQ0E5UGlCN1hHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BFSnZlQ0JrYVhOd2JHRjVQVndpWm14bGVGd2lJR1pzWlhoRWFYSmxZM1JwYjI0OVhDSmpiMngxYlc1Y0lqNWNiaUFnSUNBZ0lEeERiM0I1UTJ4cGNHSnZZWEprWEc0Z0lDQWdJQ0FnSUdSaGRHRlVaWE4wU1dROVhDSmpiM0I1WENKY2JpQWdJQ0FnSUNBZ2RHVjRkRDE3WjJWMFEweEpVMlYwUTI5dVptbG5VbVZuYVhOMGNua29ZQ1I3VGs5RVJWOU5RVTVCUjBWU0xtNXdiWDBnYzJWMFlDd2djMk52Y0dVc0lISmxaMmx6ZEhKNVZYSnNLWDFjYmlBZ0lDQWdJQzgrWEc0Z0lDQWdJQ0E4UTI5d2VVTnNhWEJpYjJGeVpGeHVJQ0FnSUNBZ0lDQmtZWFJoVkdWemRFbGtQVndpWTI5d2VWd2lYRzRnSUNBZ0lDQWdJSFJsZUhROWUyZGxkRU5NU1ZObGRGSmxaMmx6ZEhKNUtHQWtlMDVQUkVWZlRVRk9RVWRGVWk1dWNHMTlJR0ZrWkhWelpYSmdMQ0J5WldkcGMzUnllVlZ5YkNsOVhHNGdJQ0FnSUNBdlBseHVJQ0FnSUNBZ1BFTnZjSGxEYkdsd1ltOWhjbVFnWkdGMFlWUmxjM1JKWkQxY0ltTnZjSGxjSWlCMFpYaDBQWHRuWlhSRFRFbERhR0Z1WjJWUVlYTnpkMjl5WkNoT1QwUkZYMDFCVGtGSFJWSXVibkJ0TENCeVpXZHBjM1J5ZVZWeWJDbDlJQzgrWEc0Z0lDQWdQQzlDYjNnK1hHNGdJQ2s3WEc1OU8xeHVYRzVqYjI1emRDQnlaVzVrWlhKUWJuQnRWR0ZpSUQwZ0tITmpiM0JsT2lCemRISnBibWNnZkNCMWJtUmxabWx1WldRc0lISmxaMmx6ZEhKNVZYSnNPaUJ6ZEhKcGJtY3BPaUJLVTFndVJXeGxiV1Z1ZENBOVBpQjdYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRUp2ZUNCa2FYTndiR0Y1UFZ3aVpteGxlRndpSUdac1pYaEVhWEpsWTNScGIyNDlYQ0pqYjJ4MWJXNWNJajVjYmlBZ0lDQWdJRHhEYjNCNVEyeHBjR0p2WVhKa1hHNGdJQ0FnSUNBZ0lHUmhkR0ZVWlhOMFNXUTlYQ0pqYjNCNVhDSmNiaUFnSUNBZ0lDQWdkR1Y0ZEQxN1oyVjBRMHhKVTJWMFEyOXVabWxuVW1WbmFYTjBjbmtvWUNSN1RrOUVSVjlOUVU1QlIwVlNMbkJ1Y0cxOUlITmxkR0FzSUhOamIzQmxMQ0J5WldkcGMzUnllVlZ5YkNsOVhHNGdJQ0FnSUNBdlBseHVJQ0FnSUNBZ1BFTnZjSGxEYkdsd1ltOWhjbVJjYmlBZ0lDQWdJQ0FnWkdGMFlWUmxjM1JKWkQxY0ltTnZjSGxjSWx4dUlDQWdJQ0FnSUNCMFpYaDBQWHRuWlhSRFRFbFRaWFJTWldkcGMzUnllU2hnSkh0T1QwUkZYMDFCVGtGSFJWSXVjRzV3YlgwZ1lXUmtkWE5sY21Bc0lISmxaMmx6ZEhKNVZYSnNLWDFjYmlBZ0lDQWdJQzgrWEc0Z0lDQWdJQ0E4UTI5d2VVTnNhWEJpYjJGeVpGeHVJQ0FnSUNBZ0lDQmtZWFJoVkdWemRFbGtQVndpWTI5d2VWd2lYRzRnSUNBZ0lDQWdJSFJsZUhROWUyZGxkRU5NU1VOb1lXNW5aVkJoYzNOM2IzSmtLRTVQUkVWZlRVRk9RVWRGVWk1d2JuQnRMQ0J5WldkcGMzUnllVlZ5YkNsOVhHNGdJQ0FnSUNBdlBseHVJQ0FnSUR3dlFtOTRQbHh1SUNBcE8xeHVmVHRjYmx4dVkyOXVjM1FnY21WdVpHVnlXV0Z5YmxSaFlpQTlJQ2h6WTI5d1pUb2djM1J5YVc1bklId2dkVzVrWldacGJtVmtMQ0J5WldkcGMzUnllVlZ5YkRvZ2MzUnlhVzVuS1RvZ1NsTllMa1ZzWlcxbGJuUWdQVDRnZTF4dUlDQnlaWFIxY200Z0tGeHVJQ0FnSUR4Q2IzZ2daR2x6Y0d4aGVUMWNJbVpzWlhoY0lpQm1iR1Y0UkdseVpXTjBhVzl1UFZ3aVkyOXNkVzF1WENJK1hHNGdJQ0FnSUNBOFEyOXdlVU5zYVhCaWIyRnlaRnh1SUNBZ0lDQWdJQ0JrWVhSaFZHVnpkRWxrUFZ3aVkyOXdlVndpWEc0Z0lDQWdJQ0FnSUhSbGVIUTllMmRsZEVOTVNWTmxkRU52Ym1acFoxSmxaMmx6ZEhKNUtHQWtlMDVQUkVWZlRVRk9RVWRGVWk1NVlYSnVmU0JqYjI1bWFXY2djMlYwWUN3Z2MyTnZjR1VzSUhKbFoybHpkSEo1VlhKc0tYMWNiaUFnSUNBZ0lDOCtYRzRnSUNBZ1BDOUNiM2crWEc0Z0lDazdYRzU5TzF4dVhHNWpiMjV6ZENCeVpXNWtaWEpaWVhKdVFtVnljbmxVWVdJZ1BTQW9jMk52Y0dVNklITjBjbWx1WnlCOElIVnVaR1ZtYVc1bFpDd2djbVZuYVhOMGNubFZjbXc2SUhOMGNtbHVaeWs2SUVwVFdDNUZiR1Z0Wlc1MElEMCtJSHRjYmlBZ2NtVjBkWEp1SUNoY2JpQWdJQ0E4UW05NElHUnBjM0JzWVhrOVhDSm1iR1Y0WENJZ1pteGxlRVJwY21WamRHbHZiajFjSW1OdmJIVnRibHdpUGx4dUlDQWdJQ0FnUEVOdmNIbERiR2x3WW05aGNtUWdaR0YwWVZSbGMzUkpaRDFjSW1OdmNIbGNJaUIwWlhoMFBYdG5aWFJEVEVsVFFtVnljbmxaWVcxc1VtVm5hWE4wY25rb2MyTnZjR1VzSUhKbFoybHpkSEo1VlhKc0tYMGdMejVjYmlBZ0lDQThMMEp2ZUQ1Y2JpQWdLVHRjYm4wN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCQlkyTnZjbVJwYjI1RGIyNTBZV2x1WlhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwS0h0Y2JpQWdjR0ZrWkdsdVp6b2dNQ3hjYmlBZ2NHRmtaR2x1WjB4bFpuUTZJREFzWEc0Z0lIQmhaR1JwYm1kU2FXZG9kRG9nTUN4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdRMjl0YldGdVpFTnZiblJoYVc1bGNpQTlJSE4wZVd4bFpDZ25aR2wySnlrb2UxeHVJQ0J3WVdSa2FXNW5PaUExTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQk1hVzVyUTI5dWRHRnBibVZ5SUQwZ2MzUjViR1ZrS0Nka2FYWW5LU2g3WEc0Z0lHMWhjbWRwYmpvZ01UQXNYRzRnSUcxaGNtZHBia3hsWm5RNklEQXNYRzU5S1R0Y2JseHVaWGh3YjNKMElIUjVjR1VnVUhKdmNITWdQU0I3WEc0Z0lISmxaMmx6ZEhKNVZYSnNPaUJ6ZEhKcGJtYzdYRzRnSUhOamIzQmxPaUJ6ZEhKcGJtY2dmQ0IxYm1SbFptbHVaV1E3WEc1OU8xeHVYRzVqYjI1emRDQlNaV2RwYzNSeWVVbHVabTlEYjI1MFpXNTBPaUJHUXp4UWNtOXdjejRnUFNBb2V5QnpZMjl3WlN3Z2NtVm5hWE4wY25sVmNtd2dmU2tnUFQ0Z2UxeHVJQ0JqYjI1emRDQjdJSFFnZlNBOUlIVnpaVlJ5WVc1emJHRjBhVzl1S0NrN1hHNGdJR052Ym5OMElIc2dZMjl1Wm1sblQzQjBhVzl1Y3lCOUlEMGdkWE5sUTI5dVptbG5LQ2s3WEc1Y2JpQWdZMjl1YzNRZ2FHRnpUbkJ0SUQwZ1kyOXVabWxuVDNCMGFXOXVjejh1Y0d0blRXRnVZV2RsY25NL0xtbHVZMngxWkdWektDZHVjRzBuS1R0Y2JpQWdZMjl1YzNRZ2FHRnpXV0Z5YmlBOUlHTnZibVpwWjA5d2RHbHZibk0vTG5CclowMWhibUZuWlhKelB5NXBibU5zZFdSbGN5Z25lV0Z5YmljcE8xeHVJQ0JqYjI1emRDQm9ZWE5RYm5CdElEMGdZMjl1Wm1sblQzQjBhVzl1Y3o4dWNHdG5UV0Z1WVdkbGNuTS9MbWx1WTJ4MVpHVnpLQ2R3Ym5CdEp5azdYRzRnSUM4dklGUlBSRTg2SUhkbElHTmhiaUJwYlhCeWIzWmxJSFJvYVhNZ2JHOW5hV01zSUdWNGNHRnVaR2x1WnlCdmJteDVJRzl1WlNCaFkyTnZjbVJwYjI0Z1ltRnpaV1FnYjI0Z2QyaHBZMmdnY0dGamEyRm5aU0J0WVc1aFoyVnlJR2x6SUdWdVlXSnNaV1JjYmlBZ0x5OGdabVZsYkNCbWNtVmxJSFJ2SUdOdmJuUnlhV0oxZEdVZ2FHVnlaVnh1SUNCeVpYUjFjbTRnS0Z4dUlDQWdJRHcrWEc0Z0lDQWdJQ0E4VkdWNGRFTnZiblJsYm5RK2UzUW9KM0JoWTJ0aFoyVk5ZVzVoWjJWeWN5NWtaWE5qY21sd2RHbHZiaWNwZlR3dlZHVjRkRU52Ym5SbGJuUStYRzRnSUNBZ0lDQThRV05qYjNKa2FXOXVRMjl1ZEdGcGJtVnlQbHh1SUNBZ0lDQWdJQ0E4UVdOamIzSmthVzl1SUdScGMyRmliR1ZrUFhzaGFHRnpUbkJ0ZlQ1Y2JpQWdJQ0FnSUNBZ0lDQThRV05qYjNKa2FXOXVVM1Z0YldGeWVWeHVJQ0FnSUNBZ0lDQWdJQ0FnWVhKcFlTMWpiMjUwY205c2N6MWNJbkJoYm1Wc01XRXRZMjl1ZEdWdWRGd2lYRzRnSUNBZ0lDQWdJQ0FnSUNCbGVIQmhibVJKWTI5dVBYczhSWGh3WVc1a1RXOXlaVWxqYjI0Z0x6NTlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFpEMWNJbkJoYm1Wc01XRXRhR1ZoWkdWeVhDSmNiaUFnSUNBZ0lDQWdJQ0ErWEc0Z0lDQWdJQ0FnSUNBZ0lDQThWSGx3YjJkeVlYQm9lU0J6ZUQxN2V5Qm1iMjUwVTJsNlpUb2dKekZ5WlcwbkxDQm1iMjUwVjJWcFoyaDBPaUFuWW05c1pDY2dmWDArZXlkdWNHMG5mVHd2Vkhsd2IyZHlZWEJvZVQ1Y2JpQWdJQ0FnSUNBZ0lDQThMMEZqWTI5eVpHbHZibE4xYlcxaGNuaytYRzRnSUNBZ0lDQWdJQ0FnUEVGalkyOXlaR2x2YmtSbGRHRnBiSE0rWEc0Z0lDQWdJQ0FnSUNBZ0lDQThRMjl0YldGdVpFTnZiblJoYVc1bGNpQmtZWFJoTFhSbGMzUnBaRDE3SjNSaFlpMWpiMjUwWlc1MEozMCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIdHlaVzVrWlhKT2NHMVVZV0lvYzJOdmNHVXNJSEpsWjJsemRISjVWWEpzS1gxY2JpQWdJQ0FnSUNBZ0lDQWdJRHd2UTI5dGJXRnVaRU52Ym5SaGFXNWxjajVjYmlBZ0lDQWdJQ0FnSUNBOEwwRmpZMjl5WkdsdmJrUmxkR0ZwYkhNK1hHNGdJQ0FnSUNBZ0lEd3ZRV05qYjNKa2FXOXVQbHh1SUNBZ0lDQWdJQ0E4UVdOamIzSmthVzl1SUdScGMyRmliR1ZrUFhzaGFHRnpXV0Z5Ym4wK1hHNGdJQ0FnSUNBZ0lDQWdQRUZqWTI5eVpHbHZibE4xYlcxaGNubGNiaUFnSUNBZ0lDQWdJQ0FnSUdGeWFXRXRZMjl1ZEhKdmJITTlYQ0p3WVc1bGJESmhMV052Ym5SbGJuUmNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pYaHdZVzVrU1dOdmJqMTdQRVY0Y0dGdVpFMXZjbVZKWTI5dUlDOCtmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2FXUTlYQ0p3WVc1bGJESmhMV2hsWVdSbGNsd2lYRzRnSUNBZ0lDQWdJQ0FnUGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRlI1Y0c5bmNtRndhSGtnYzNnOWUzc2dabTl1ZEZOcGVtVTZJQ2N4Y21WdEp5d2dabTl1ZEZkbGFXZG9kRG9nSjJKdmJHUW5JSDE5UG5zbmVXRnliaWQ5UEM5VWVYQnZaM0poY0doNVBseHVJQ0FnSUNBZ0lDQWdJRHd2UVdOamIzSmthVzl1VTNWdGJXRnllVDVjYmlBZ0lDQWdJQ0FnSUNBOFFXTmpiM0prYVc5dVJHVjBZV2xzY3o1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHhFWlhOamNtbHdkR2x2Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEZKbFlXTjBUV0Z5YTJSdmQyNCtlM1FvSjNCaFkydGhaMlZOWVc1aFoyVnljeTU1WVhKdVkyeGhjM05wWTBSbGRHRnBiSE1uS1gwOEwxSmxZV04wVFdGeWEyUnZkMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQThMMFJsYzJOeWFYQjBhVzl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRU52YlcxaGJtUkRiMjUwWVdsdVpYSWdaR0YwWVMxMFpYTjBhV1E5ZXlkMFlXSXRZMjl1ZEdWdWRDZDlQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjdjbVZ1WkdWeVdXRnlibFJoWWloelkyOXdaU3dnY21WbmFYTjBjbmxWY213cGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnUEM5RGIyMXRZVzVrUTI5dWRHRnBibVZ5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRVJsYzJOeWFYQjBhVzl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4VW1WaFkzUk5ZWEpyWkc5M2JqNTdkQ2duY0dGamEyRm5aVTFoYm1GblpYSnpMbmxoY201Q1pYSnllVVJsZEdGcGJITW5LWDA4TDFKbFlXTjBUV0Z5YTJSdmQyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBOEwwUmxjMk55YVhCMGFXOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BFTnZiVzFoYm1SRGIyNTBZV2x1WlhJZ1pHRjBZUzEwWlhOMGFXUTlleWQwWVdJdFkyOXVkR1Z1ZENkOVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCN2NtVnVaR1Z5V1dGeWJrSmxjbko1VkdGaUtITmpiM0JsTENCeVpXZHBjM1J5ZVZWeWJDbDlYRzRnSUNBZ0lDQWdJQ0FnSUNBOEwwTnZiVzFoYm1SRGIyNTBZV2x1WlhJK1hHNGdJQ0FnSUNBZ0lDQWdQQzlCWTJOdmNtUnBiMjVFWlhSaGFXeHpQbHh1SUNBZ0lDQWdJQ0E4TDBGalkyOXlaR2x2Ymo1Y2JseHVJQ0FnSUNBZ0lDQThRV05qYjNKa2FXOXVJR1JwYzJGaWJHVmtQWHNoYUdGelVHNXdiWDArWEc0Z0lDQWdJQ0FnSUNBZ1BFRmpZMjl5WkdsdmJsTjFiVzFoY25sY2JpQWdJQ0FnSUNBZ0lDQWdJR0Z5YVdFdFkyOXVkSEp2YkhNOVhDSndZVzVsYkROaExXTnZiblJsYm5SY0lseHVJQ0FnSUNBZ0lDQWdJQ0FnWlhod1lXNWtTV052YmoxN1BFVjRjR0Z1WkUxdmNtVkpZMjl1SUM4K2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdROVhDSndZVzVsYkROaExXaGxZV1JsY2x3aVhHNGdJQ0FnSUNBZ0lDQWdQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BGUjVjRzluY21Gd2FIa2djM2c5ZTNzZ1ptOXVkRk5wZW1VNklDY3hjbVZ0Snl3Z1ptOXVkRmRsYVdkb2REb2dKMkp2YkdRbklIMTlQbnNuY0c1d2JTZDlQQzlVZVhCdlozSmhjR2g1UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZRV05qYjNKa2FXOXVVM1Z0YldGeWVUNWNiaUFnSUNBZ0lDQWdJQ0E4UVdOamIzSmthVzl1UkdWMFlXbHNjejVjYmlBZ0lDQWdJQ0FnSUNBZ0lEeERiMjF0WVc1a1EyOXVkR0ZwYm1WeUlHUmhkR0V0ZEdWemRHbGtQWHNuZEdGaUxXTnZiblJsYm5RbmZUNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2UzSmxibVJsY2xCdWNHMVVZV0lvYzJOdmNHVXNJSEpsWjJsemRISjVWWEpzS1gxY2JpQWdJQ0FnSUNBZ0lDQWdJRHd2UTI5dGJXRnVaRU52Ym5SaGFXNWxjajVjYmlBZ0lDQWdJQ0FnSUNBOEwwRmpZMjl5WkdsdmJrUmxkR0ZwYkhNK1hHNGdJQ0FnSUNBZ0lEd3ZRV05qYjNKa2FXOXVQbHh1WEc0Z0lDQWdJQ0FnSUR4TWFXNXJRMjl1ZEdGcGJtVnlQbHh1SUNBZ0lDQWdJQ0FnSUR4TWFXNXJJR2h5WldZOVhDSm9kSFJ3Y3pvdkwzWmxjbVJoWTJOcGJ5NXZjbWN2Wkc5amN5OWpiR2t0Y21WbmFYTjBjbmxjSWlCMFlYSm5aWFE5WENKZllteGhibXRjSWo1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHhVZVhCdlozSmhjR2g1UG50MEtDZG9aV0ZrWlhJdWNtVm5hWE4wY25rdGFXNW1ieTFzYVc1ckp5bDlQQzlVZVhCdlozSmhjR2g1UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZUR2x1YXo1Y2JpQWdJQ0FnSUNBZ1BDOU1hVzVyUTI5dWRHRnBibVZ5UGx4dUlDQWdJQ0FnUEM5QlkyTnZjbVJwYjI1RGIyNTBZV2x1WlhJK1hHNGdJQ0FnUEM4K1hHNGdJQ2s3WEc1OU8xeHVYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQlNaV2RwYzNSeWVVbHVabTlEYjI1MFpXNTBPMXh1SWwxOSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIExpbmtDb250YWluZXIgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcImRpdlwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMWhsM3lnczBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTFobDN5Z3MwXCIsXG5cdGxhYmVsOiBcIkxpbmtDb250YWluZXJcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIm83M3pqNlwiLFxuXHRzdHlsZXM6IFwibWFyZ2luOjEwcHg7bWFyZ2luLWxlZnQ6MFwiXG59IDoge1xuXHRuYW1lOiBcIm83M3pqNlwiLFxuXHRzdHlsZXM6IFwibWFyZ2luOjEwcHg7bWFyZ2luLWxlZnQ6MC8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwxSmxaMmx6ZEhKNVNXNW1iME52Ym5SbGJuUXZVbVZuYVhOMGNubEpibVp2UTI5dWRHVnVkQzUwYzNnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQk5rWTJRaUlzSW1acGJHVWlPaUl2YUc5dFpTOXlkVzV1WlhJdmQyOXlheTkyWlhKa1lXTmphVzh2ZG1WeVpHRmpZMmx2TDNCaFkydGhaMlZ6TDNWcExXTnZiWEJ2Ym1WdWRITXZjM0pqTDNObFkzUnBiMjV6TDBobFlXUmxjaTlTWldkcGMzUnllVWx1Wm05RGIyNTBaVzUwTDFKbFoybHpkSEo1U1c1bWIwTnZiblJsYm5RdWRITjRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSE4wZVd4bFpDQm1jbTl0SUNkQVpXMXZkR2x2Ymk5emRIbHNaV1FuTzF4dWFXMXdiM0owSUVWNGNHRnVaRTF2Y21WSlkyOXVJR1p5YjIwZ0owQnRkV2t2YVdOdmJuTXRiV0YwWlhKcFlXd3ZSWGh3WVc1a1RXOXlaU2M3WEc1cGJYQnZjblFnUVdOamIzSmthVzl1SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlFXTmpiM0prYVc5dUp6dGNibWx0Y0c5eWRDQkJZMk52Y21ScGIyNUVaWFJoYVd4eklHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZRV05qYjNKa2FXOXVSR1YwWVdsc2N5YzdYRzVwYlhCdmNuUWdRV05qYjNKa2FXOXVVM1Z0YldGeWVTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMEZqWTI5eVpHbHZibE4xYlcxaGNua25PMXh1YVcxd2IzSjBJRUp2ZUNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwSnZlQ2M3WEc1cGJYQnZjblFnVEdsdWF5Qm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMHhwYm1zbk8xeHVhVzF3YjNKMElGUjVjRzluY21Gd2FIa2dabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlVZVhCdlozSmhjR2g1Snp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnUmtNZ2ZTQm1jbTl0SUNkeVpXRmpkQ2M3WEc1cGJYQnZjblFnVW1WaFkzUWdabkp2YlNBbmNtVmhZM1FuTzF4dWFXMXdiM0owSUhzZ2RYTmxWSEpoYm5Oc1lYUnBiMjRnZlNCbWNtOXRJQ2R5WldGamRDMXBNVGh1WlhoMEp6dGNibWx0Y0c5eWRDQlNaV0ZqZEUxaGNtdGtiM2R1SUdaeWIyMGdKM0psWVdOMExXMWhjbXRrYjNkdUp6dGNibHh1YVcxd2IzSjBJSHRjYmlBZ1EyOXdlVU5zYVhCaWIyRnlaQ3hjYmlBZ1oyVjBRMHhKUTJoaGJtZGxVR0Z6YzNkdmNtUXNYRzRnSUdkbGRFTk1TVk5DWlhKeWVWbGhiV3hTWldkcGMzUnllU3hjYmlBZ1oyVjBRMHhKVTJWMFEyOXVabWxuVW1WbmFYTjBjbmtzWEc0Z0lHZGxkRU5NU1ZObGRGSmxaMmx6ZEhKNUxGeHVJQ0IxYzJWRGIyNW1hV2NzWEc1OUlHWnliMjBnSnk0dUx5NHVMeTR1THljN1hHNXBiWEJ2Y25RZ2V5QkVaWE5qY21sd2RHbHZiaXdnVkdWNGRFTnZiblJsYm5RZ2ZTQm1jbTl0SUNjdUwzTjBlV3hsY3ljN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCT1QwUkZYMDFCVGtGSFJWSWdQU0I3WEc0Z0lHNXdiVG9nSjI1d2JTY3NYRzRnSUhsaGNtNDZJQ2Q1WVhKdUp5eGNiaUFnY0c1d2JUb2dKM0J1Y0cwbkxGeHVmVHRjYmx4dVkyOXVjM1FnY21WdVpHVnlUbkJ0VkdGaUlEMGdLSE5qYjNCbE9pQnpkSEpwYm1jZ2ZDQjFibVJsWm1sdVpXUXNJSEpsWjJsemRISjVWWEpzT2lCemRISnBibWNwT2lCS1UxZ3VSV3hsYldWdWRDQTlQaUI3WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEVKdmVDQmthWE53YkdGNVBWd2labXhsZUZ3aUlHWnNaWGhFYVhKbFkzUnBiMjQ5WENKamIyeDFiVzVjSWo1Y2JpQWdJQ0FnSUR4RGIzQjVRMnhwY0dKdllYSmtYRzRnSUNBZ0lDQWdJR1JoZEdGVVpYTjBTV1E5WENKamIzQjVYQ0pjYmlBZ0lDQWdJQ0FnZEdWNGREMTdaMlYwUTB4SlUyVjBRMjl1Wm1sblVtVm5hWE4wY25rb1lDUjdUazlFUlY5TlFVNUJSMFZTTG01d2JYMGdjMlYwWUN3Z2MyTnZjR1VzSUhKbFoybHpkSEo1VlhKc0tYMWNiaUFnSUNBZ0lDOCtYRzRnSUNBZ0lDQThRMjl3ZVVOc2FYQmliMkZ5WkZ4dUlDQWdJQ0FnSUNCa1lYUmhWR1Z6ZEVsa1BWd2lZMjl3ZVZ3aVhHNGdJQ0FnSUNBZ0lIUmxlSFE5ZTJkbGRFTk1TVk5sZEZKbFoybHpkSEo1S0dBa2UwNVBSRVZmVFVGT1FVZEZVaTV1Y0cxOUlHRmtaSFZ6WlhKZ0xDQnlaV2RwYzNSeWVWVnliQ2w5WEc0Z0lDQWdJQ0F2UGx4dUlDQWdJQ0FnUEVOdmNIbERiR2x3WW05aGNtUWdaR0YwWVZSbGMzUkpaRDFjSW1OdmNIbGNJaUIwWlhoMFBYdG5aWFJEVEVsRGFHRnVaMlZRWVhOemQyOXlaQ2hPVDBSRlgwMUJUa0ZIUlZJdWJuQnRMQ0J5WldkcGMzUnllVlZ5YkNsOUlDOCtYRzRnSUNBZ1BDOUNiM2crWEc0Z0lDazdYRzU5TzF4dVhHNWpiMjV6ZENCeVpXNWtaWEpRYm5CdFZHRmlJRDBnS0hOamIzQmxPaUJ6ZEhKcGJtY2dmQ0IxYm1SbFptbHVaV1FzSUhKbFoybHpkSEo1VlhKc09pQnpkSEpwYm1jcE9pQktVMWd1Uld4bGJXVnVkQ0E5UGlCN1hHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BFSnZlQ0JrYVhOd2JHRjVQVndpWm14bGVGd2lJR1pzWlhoRWFYSmxZM1JwYjI0OVhDSmpiMngxYlc1Y0lqNWNiaUFnSUNBZ0lEeERiM0I1UTJ4cGNHSnZZWEprWEc0Z0lDQWdJQ0FnSUdSaGRHRlVaWE4wU1dROVhDSmpiM0I1WENKY2JpQWdJQ0FnSUNBZ2RHVjRkRDE3WjJWMFEweEpVMlYwUTI5dVptbG5VbVZuYVhOMGNua29ZQ1I3VGs5RVJWOU5RVTVCUjBWU0xuQnVjRzE5SUhObGRHQXNJSE5qYjNCbExDQnlaV2RwYzNSeWVWVnliQ2w5WEc0Z0lDQWdJQ0F2UGx4dUlDQWdJQ0FnUEVOdmNIbERiR2x3WW05aGNtUmNiaUFnSUNBZ0lDQWdaR0YwWVZSbGMzUkpaRDFjSW1OdmNIbGNJbHh1SUNBZ0lDQWdJQ0IwWlhoMFBYdG5aWFJEVEVsVFpYUlNaV2RwYzNSeWVTaGdKSHRPVDBSRlgwMUJUa0ZIUlZJdWNHNXdiWDBnWVdSa2RYTmxjbUFzSUhKbFoybHpkSEo1VlhKc0tYMWNiaUFnSUNBZ0lDOCtYRzRnSUNBZ0lDQThRMjl3ZVVOc2FYQmliMkZ5WkZ4dUlDQWdJQ0FnSUNCa1lYUmhWR1Z6ZEVsa1BWd2lZMjl3ZVZ3aVhHNGdJQ0FnSUNBZ0lIUmxlSFE5ZTJkbGRFTk1TVU5vWVc1blpWQmhjM04zYjNKa0tFNVBSRVZmVFVGT1FVZEZVaTV3Ym5CdExDQnlaV2RwYzNSeWVWVnliQ2w5WEc0Z0lDQWdJQ0F2UGx4dUlDQWdJRHd2UW05NFBseHVJQ0FwTzF4dWZUdGNibHh1WTI5dWMzUWdjbVZ1WkdWeVdXRnlibFJoWWlBOUlDaHpZMjl3WlRvZ2MzUnlhVzVuSUh3Z2RXNWtaV1pwYm1Wa0xDQnlaV2RwYzNSeWVWVnliRG9nYzNSeWFXNW5LVG9nU2xOWUxrVnNaVzFsYm5RZ1BUNGdlMXh1SUNCeVpYUjFjbTRnS0Z4dUlDQWdJRHhDYjNnZ1pHbHpjR3hoZVQxY0ltWnNaWGhjSWlCbWJHVjRSR2x5WldOMGFXOXVQVndpWTI5c2RXMXVYQ0krWEc0Z0lDQWdJQ0E4UTI5d2VVTnNhWEJpYjJGeVpGeHVJQ0FnSUNBZ0lDQmtZWFJoVkdWemRFbGtQVndpWTI5d2VWd2lYRzRnSUNBZ0lDQWdJSFJsZUhROWUyZGxkRU5NU1ZObGRFTnZibVpwWjFKbFoybHpkSEo1S0dBa2UwNVBSRVZmVFVGT1FVZEZVaTU1WVhKdWZTQmpiMjVtYVdjZ2MyVjBZQ3dnYzJOdmNHVXNJSEpsWjJsemRISjVWWEpzS1gxY2JpQWdJQ0FnSUM4K1hHNGdJQ0FnUEM5Q2IzZytYRzRnSUNrN1hHNTlPMXh1WEc1amIyNXpkQ0J5Wlc1a1pYSlpZWEp1UW1WeWNubFVZV0lnUFNBb2MyTnZjR1U2SUhOMGNtbHVaeUI4SUhWdVpHVm1hVzVsWkN3Z2NtVm5hWE4wY25sVmNtdzZJSE4wY21sdVp5azZJRXBUV0M1RmJHVnRaVzUwSUQwK0lIdGNiaUFnY21WMGRYSnVJQ2hjYmlBZ0lDQThRbTk0SUdScGMzQnNZWGs5WENKbWJHVjRYQ0lnWm14bGVFUnBjbVZqZEdsdmJqMWNJbU52YkhWdGJsd2lQbHh1SUNBZ0lDQWdQRU52Y0hsRGJHbHdZbTloY21RZ1pHRjBZVlJsYzNSSlpEMWNJbU52Y0hsY0lpQjBaWGgwUFh0blpYUkRURWxUUW1WeWNubFpZVzFzVW1WbmFYTjBjbmtvYzJOdmNHVXNJSEpsWjJsemRISjVWWEpzS1gwZ0x6NWNiaUFnSUNBOEwwSnZlRDVjYmlBZ0tUdGNibjA3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JCWTJOdmNtUnBiMjVEYjI1MFlXbHVaWElnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ2NHRmtaR2x1WnpvZ01DeGNiaUFnY0dGa1pHbHVaMHhsWm5RNklEQXNYRzRnSUhCaFpHUnBibWRTYVdkb2REb2dNQ3hjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1EyOXRiV0Z1WkVOdmJuUmhhVzVsY2lBOUlITjBlV3hsWkNnblpHbDJKeWtvZTF4dUlDQndZV1JrYVc1bk9pQTFMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCTWFXNXJRMjl1ZEdGcGJtVnlJRDBnYzNSNWJHVmtLQ2RrYVhZbktTaDdYRzRnSUcxaGNtZHBiam9nTVRBc1hHNGdJRzFoY21kcGJreGxablE2SURBc1hHNTlLVHRjYmx4dVpYaHdiM0owSUhSNWNHVWdVSEp2Y0hNZ1BTQjdYRzRnSUhKbFoybHpkSEo1VlhKc09pQnpkSEpwYm1jN1hHNGdJSE5qYjNCbE9pQnpkSEpwYm1jZ2ZDQjFibVJsWm1sdVpXUTdYRzU5TzF4dVhHNWpiMjV6ZENCU1pXZHBjM1J5ZVVsdVptOURiMjUwWlc1ME9pQkdRenhRY205d2N6NGdQU0FvZXlCelkyOXdaU3dnY21WbmFYTjBjbmxWY213Z2ZTa2dQVDRnZTF4dUlDQmpiMjV6ZENCN0lIUWdmU0E5SUhWelpWUnlZVzV6YkdGMGFXOXVLQ2s3WEc0Z0lHTnZibk4wSUhzZ1kyOXVabWxuVDNCMGFXOXVjeUI5SUQwZ2RYTmxRMjl1Wm1sbktDazdYRzVjYmlBZ1kyOXVjM1FnYUdGelRuQnRJRDBnWTI5dVptbG5UM0IwYVc5dWN6OHVjR3RuVFdGdVlXZGxjbk0vTG1sdVkyeDFaR1Z6S0NkdWNHMG5LVHRjYmlBZ1kyOXVjM1FnYUdGeldXRnliaUE5SUdOdmJtWnBaMDl3ZEdsdmJuTS9MbkJyWjAxaGJtRm5aWEp6UHk1cGJtTnNkV1JsY3lnbmVXRnliaWNwTzF4dUlDQmpiMjV6ZENCb1lYTlFibkJ0SUQwZ1kyOXVabWxuVDNCMGFXOXVjejh1Y0d0blRXRnVZV2RsY25NL0xtbHVZMngxWkdWektDZHdibkJ0SnlrN1hHNGdJQzh2SUZSUFJFODZJSGRsSUdOaGJpQnBiWEJ5YjNabElIUm9hWE1nYkc5bmFXTXNJR1Y0Y0dGdVpHbHVaeUJ2Ym14NUlHOXVaU0JoWTJOdmNtUnBiMjRnWW1GelpXUWdiMjRnZDJocFkyZ2djR0ZqYTJGblpTQnRZVzVoWjJWeUlHbHpJR1Z1WVdKc1pXUmNiaUFnTHk4Z1ptVmxiQ0JtY21WbElIUnZJR052Ym5SeWFXSjFkR1VnYUdWeVpWeHVJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lEdytYRzRnSUNBZ0lDQThWR1Y0ZEVOdmJuUmxiblErZTNRb0ozQmhZMnRoWjJWTllXNWhaMlZ5Y3k1a1pYTmpjbWx3ZEdsdmJpY3BmVHd2VkdWNGRFTnZiblJsYm5RK1hHNGdJQ0FnSUNBOFFXTmpiM0prYVc5dVEyOXVkR0ZwYm1WeVBseHVJQ0FnSUNBZ0lDQThRV05qYjNKa2FXOXVJR1JwYzJGaWJHVmtQWHNoYUdGelRuQnRmVDVjYmlBZ0lDQWdJQ0FnSUNBOFFXTmpiM0prYVc5dVUzVnRiV0Z5ZVZ4dUlDQWdJQ0FnSUNBZ0lDQWdZWEpwWVMxamIyNTBjbTlzY3oxY0luQmhibVZzTVdFdFkyOXVkR1Z1ZEZ3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0JsZUhCaGJtUkpZMjl1UFhzOFJYaHdZVzVrVFc5eVpVbGpiMjRnTHo1OVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWkQxY0luQmhibVZzTVdFdGFHVmhaR1Z5WENKY2JpQWdJQ0FnSUNBZ0lDQStYRzRnSUNBZ0lDQWdJQ0FnSUNBOFZIbHdiMmR5WVhCb2VTQnplRDE3ZXlCbWIyNTBVMmw2WlRvZ0p6RnlaVzBuTENCbWIyNTBWMlZwWjJoME9pQW5ZbTlzWkNjZ2ZYMCtleWR1Y0cwbmZUd3ZWSGx3YjJkeVlYQm9lVDVjYmlBZ0lDQWdJQ0FnSUNBOEwwRmpZMjl5WkdsdmJsTjFiVzFoY25rK1hHNGdJQ0FnSUNBZ0lDQWdQRUZqWTI5eVpHbHZia1JsZEdGcGJITStYRzRnSUNBZ0lDQWdJQ0FnSUNBOFEyOXRiV0Z1WkVOdmJuUmhhVzVsY2lCa1lYUmhMWFJsYzNScFpEMTdKM1JoWWkxamIyNTBaVzUwSjMwK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUh0eVpXNWtaWEpPY0cxVVlXSW9jMk52Y0dVc0lISmxaMmx6ZEhKNVZYSnNLWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lEd3ZRMjl0YldGdVpFTnZiblJoYVc1bGNqNWNiaUFnSUNBZ0lDQWdJQ0E4TDBGalkyOXlaR2x2YmtSbGRHRnBiSE0rWEc0Z0lDQWdJQ0FnSUR3dlFXTmpiM0prYVc5dVBseHVJQ0FnSUNBZ0lDQThRV05qYjNKa2FXOXVJR1JwYzJGaWJHVmtQWHNoYUdGeldXRnlibjArWEc0Z0lDQWdJQ0FnSUNBZ1BFRmpZMjl5WkdsdmJsTjFiVzFoY25sY2JpQWdJQ0FnSUNBZ0lDQWdJR0Z5YVdFdFkyOXVkSEp2YkhNOVhDSndZVzVsYkRKaExXTnZiblJsYm5SY0lseHVJQ0FnSUNBZ0lDQWdJQ0FnWlhod1lXNWtTV052YmoxN1BFVjRjR0Z1WkUxdmNtVkpZMjl1SUM4K2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdROVhDSndZVzVsYkRKaExXaGxZV1JsY2x3aVhHNGdJQ0FnSUNBZ0lDQWdQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BGUjVjRzluY21Gd2FIa2djM2c5ZTNzZ1ptOXVkRk5wZW1VNklDY3hjbVZ0Snl3Z1ptOXVkRmRsYVdkb2REb2dKMkp2YkdRbklIMTlQbnNuZVdGeWJpZDlQQzlVZVhCdlozSmhjR2g1UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZRV05qYjNKa2FXOXVVM1Z0YldGeWVUNWNiaUFnSUNBZ0lDQWdJQ0E4UVdOamIzSmthVzl1UkdWMFlXbHNjejVjYmlBZ0lDQWdJQ0FnSUNBZ0lEeEVaWE5qY21sd2RHbHZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRkpsWVdOMFRXRnlhMlJ2ZDI0K2UzUW9KM0JoWTJ0aFoyVk5ZVzVoWjJWeWN5NTVZWEp1WTJ4aGMzTnBZMFJsZEdGcGJITW5LWDA4TDFKbFlXTjBUV0Z5YTJSdmQyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBOEwwUmxjMk55YVhCMGFXOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BFTnZiVzFoYm1SRGIyNTBZV2x1WlhJZ1pHRjBZUzEwWlhOMGFXUTlleWQwWVdJdFkyOXVkR1Z1ZENkOVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCN2NtVnVaR1Z5V1dGeWJsUmhZaWh6WTI5d1pTd2djbVZuYVhOMGNubFZjbXdwZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdQQzlEYjIxdFlXNWtRMjl1ZEdGcGJtVnlQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BFUmxjMk55YVhCMGFXOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThVbVZoWTNSTllYSnJaRzkzYmo1N2RDZ25jR0ZqYTJGblpVMWhibUZuWlhKekxubGhjbTVDWlhKeWVVUmxkR0ZwYkhNbktYMDhMMUpsWVdOMFRXRnlhMlJ2ZDI0K1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4TDBSbGMyTnlhWEIwYVc5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnUEVOdmJXMWhibVJEYjI1MFlXbHVaWElnWkdGMFlTMTBaWE4wYVdROWV5ZDBZV0l0WTI5dWRHVnVkQ2Q5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0I3Y21WdVpHVnlXV0Z5YmtKbGNuSjVWR0ZpS0hOamIzQmxMQ0J5WldkcGMzUnllVlZ5YkNsOVhHNGdJQ0FnSUNBZ0lDQWdJQ0E4TDBOdmJXMWhibVJEYjI1MFlXbHVaWEkrWEc0Z0lDQWdJQ0FnSUNBZ1BDOUJZMk52Y21ScGIyNUVaWFJoYVd4elBseHVJQ0FnSUNBZ0lDQThMMEZqWTI5eVpHbHZiajVjYmx4dUlDQWdJQ0FnSUNBOFFXTmpiM0prYVc5dUlHUnBjMkZpYkdWa1BYc2hhR0Z6VUc1d2JYMCtYRzRnSUNBZ0lDQWdJQ0FnUEVGalkyOXlaR2x2YmxOMWJXMWhjbmxjYmlBZ0lDQWdJQ0FnSUNBZ0lHRnlhV0V0WTI5dWRISnZiSE05WENKd1lXNWxiRE5oTFdOdmJuUmxiblJjSWx4dUlDQWdJQ0FnSUNBZ0lDQWdaWGh3WVc1a1NXTnZiajE3UEVWNGNHRnVaRTF2Y21WSlkyOXVJQzgrZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdhV1E5WENKd1lXNWxiRE5oTFdobFlXUmxjbHdpWEc0Z0lDQWdJQ0FnSUNBZ1BseHVJQ0FnSUNBZ0lDQWdJQ0FnUEZSNWNHOW5jbUZ3YUhrZ2MzZzllM3NnWm05dWRGTnBlbVU2SUNjeGNtVnRKeXdnWm05dWRGZGxhV2RvZERvZ0oySnZiR1FuSUgxOVBuc25jRzV3YlNkOVBDOVVlWEJ2WjNKaGNHaDVQbHh1SUNBZ0lDQWdJQ0FnSUR3dlFXTmpiM0prYVc5dVUzVnRiV0Z5ZVQ1Y2JpQWdJQ0FnSUNBZ0lDQThRV05qYjNKa2FXOXVSR1YwWVdsc2N6NWNiaUFnSUNBZ0lDQWdJQ0FnSUR4RGIyMXRZVzVrUTI5dWRHRnBibVZ5SUdSaGRHRXRkR1Z6ZEdsa1BYc25kR0ZpTFdOdmJuUmxiblFuZlQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZTNKbGJtUmxjbEJ1Y0cxVVlXSW9jMk52Y0dVc0lISmxaMmx6ZEhKNVZYSnNLWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lEd3ZRMjl0YldGdVpFTnZiblJoYVc1bGNqNWNiaUFnSUNBZ0lDQWdJQ0E4TDBGalkyOXlaR2x2YmtSbGRHRnBiSE0rWEc0Z0lDQWdJQ0FnSUR3dlFXTmpiM0prYVc5dVBseHVYRzRnSUNBZ0lDQWdJRHhNYVc1clEyOXVkR0ZwYm1WeVBseHVJQ0FnSUNBZ0lDQWdJRHhNYVc1cklHaHlaV1k5WENKb2RIUndjem92TDNabGNtUmhZMk5wYnk1dmNtY3ZaRzlqY3k5amJHa3RjbVZuYVhOMGNubGNJaUIwWVhKblpYUTlYQ0pmWW14aGJtdGNJajVjYmlBZ0lDQWdJQ0FnSUNBZ0lEeFVlWEJ2WjNKaGNHaDVQbnQwS0Nkb1pXRmtaWEl1Y21WbmFYTjBjbmt0YVc1bWJ5MXNhVzVySnlsOVBDOVVlWEJ2WjNKaGNHaDVQbHh1SUNBZ0lDQWdJQ0FnSUR3dlRHbHVhejVjYmlBZ0lDQWdJQ0FnUEM5TWFXNXJRMjl1ZEdGcGJtVnlQbHh1SUNBZ0lDQWdQQzlCWTJOdmNtUnBiMjVEYjI1MFlXbHVaWEkrWEc0Z0lDQWdQQzgrWEc0Z0lDazdYRzU5TzF4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCU1pXZHBjM1J5ZVVsdVptOURiMjUwWlc1ME8xeHVJbDE5ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgUmVnaXN0cnlJbmZvQ29udGVudCA9ICh7IHNjb3BlLCByZWdpc3RyeVVybCB9KSA9PiB7XG5cdGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcblx0Y29uc3QgeyBjb25maWdPcHRpb25zIH0gPSB1c2VDb25maWcoKTtcblx0Y29uc3QgaGFzTnBtID0gY29uZmlnT3B0aW9ucz8ucGtnTWFuYWdlcnM/LmluY2x1ZGVzKFwibnBtXCIpO1xuXHRjb25zdCBoYXNZYXJuID0gY29uZmlnT3B0aW9ucz8ucGtnTWFuYWdlcnM/LmluY2x1ZGVzKFwieWFyblwiKTtcblx0Y29uc3QgaGFzUG5wbSA9IGNvbmZpZ09wdGlvbnM/LnBrZ01hbmFnZXJzPy5pbmNsdWRlcyhcInBucG1cIik7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhGcmFnbWVudCwgeyBjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goVGV4dENvbnRlbnQsIHsgY2hpbGRyZW46IHQoXCJwYWNrYWdlTWFuYWdlcnMuZGVzY3JpcHRpb25cIikgfSksIC8qIEBfX1BVUkVfXyAqLyBqc3hzKEFjY29yZGlvbkNvbnRhaW5lciwgeyBjaGlsZHJlbjogW1xuXHRcdC8qIEBfX1BVUkVfXyAqLyBqc3hzKEFjY29yZGlvbiwge1xuXHRcdFx0ZGlzYWJsZWQ6ICFoYXNOcG0sXG5cdFx0XHRjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goQWNjb3JkaW9uU3VtbWFyeSwge1xuXHRcdFx0XHRcImFyaWEtY29udHJvbHNcIjogXCJwYW5lbDFhLWNvbnRlbnRcIixcblx0XHRcdFx0ZXhwYW5kSWNvbjogLyogQF9fUFVSRV9fICovIGpzeChFeHBhbmRNb3JlSWNvbiwge30pLFxuXHRcdFx0XHRpZDogXCJwYW5lbDFhLWhlYWRlclwiLFxuXHRcdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChUeXBvZ3JhcGh5LCB7XG5cdFx0XHRcdFx0c3g6IHtcblx0XHRcdFx0XHRcdGZvbnRTaXplOiBcIjFyZW1cIixcblx0XHRcdFx0XHRcdGZvbnRXZWlnaHQ6IFwiYm9sZFwiXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRjaGlsZHJlbjogXCJucG1cIlxuXHRcdFx0XHR9KVxuXHRcdFx0fSksIC8qIEBfX1BVUkVfXyAqLyBqc3goQWNjb3JkaW9uRGV0YWlscywgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChDb21tYW5kQ29udGFpbmVyLCB7XG5cdFx0XHRcdFwiZGF0YS10ZXN0aWRcIjogXCJ0YWItY29udGVudFwiLFxuXHRcdFx0XHRjaGlsZHJlbjogcmVuZGVyTnBtVGFiKHNjb3BlLCByZWdpc3RyeVVybClcblx0XHRcdH0pIH0pXVxuXHRcdH0pLFxuXHRcdC8qIEBfX1BVUkVfXyAqLyBqc3hzKEFjY29yZGlvbiwge1xuXHRcdFx0ZGlzYWJsZWQ6ICFoYXNZYXJuLFxuXHRcdFx0Y2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KEFjY29yZGlvblN1bW1hcnksIHtcblx0XHRcdFx0XCJhcmlhLWNvbnRyb2xzXCI6IFwicGFuZWwyYS1jb250ZW50XCIsXG5cdFx0XHRcdGV4cGFuZEljb246IC8qIEBfX1BVUkVfXyAqLyBqc3goRXhwYW5kTW9yZUljb24sIHt9KSxcblx0XHRcdFx0aWQ6IFwicGFuZWwyYS1oZWFkZXJcIixcblx0XHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goVHlwb2dyYXBoeSwge1xuXHRcdFx0XHRcdHN4OiB7XG5cdFx0XHRcdFx0XHRmb250U2l6ZTogXCIxcmVtXCIsXG5cdFx0XHRcdFx0XHRmb250V2VpZ2h0OiBcImJvbGRcIlxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0Y2hpbGRyZW46IFwieWFyblwiXG5cdFx0XHRcdH0pXG5cdFx0XHR9KSwgLyogQF9fUFVSRV9fICovIGpzeHMoQWNjb3JkaW9uRGV0YWlscywgeyBjaGlsZHJlbjogW1xuXHRcdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KERlc2NyaXB0aW9uLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFJlYWN0TWFya2Rvd24sIHsgY2hpbGRyZW46IHQoXCJwYWNrYWdlTWFuYWdlcnMueWFybmNsYXNzaWNEZXRhaWxzXCIpIH0pIH0pLFxuXHRcdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KENvbW1hbmRDb250YWluZXIsIHtcblx0XHRcdFx0XHRcImRhdGEtdGVzdGlkXCI6IFwidGFiLWNvbnRlbnRcIixcblx0XHRcdFx0XHRjaGlsZHJlbjogcmVuZGVyWWFyblRhYihzY29wZSwgcmVnaXN0cnlVcmwpXG5cdFx0XHRcdH0pLFxuXHRcdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KERlc2NyaXB0aW9uLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFJlYWN0TWFya2Rvd24sIHsgY2hpbGRyZW46IHQoXCJwYWNrYWdlTWFuYWdlcnMueWFybkJlcnJ5RGV0YWlsc1wiKSB9KSB9KSxcblx0XHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChDb21tYW5kQ29udGFpbmVyLCB7XG5cdFx0XHRcdFx0XCJkYXRhLXRlc3RpZFwiOiBcInRhYi1jb250ZW50XCIsXG5cdFx0XHRcdFx0Y2hpbGRyZW46IHJlbmRlcllhcm5CZXJyeVRhYihzY29wZSwgcmVnaXN0cnlVcmwpXG5cdFx0XHRcdH0pXG5cdFx0XHRdIH0pXVxuXHRcdH0pLFxuXHRcdC8qIEBfX1BVUkVfXyAqLyBqc3hzKEFjY29yZGlvbiwge1xuXHRcdFx0ZGlzYWJsZWQ6ICFoYXNQbnBtLFxuXHRcdFx0Y2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KEFjY29yZGlvblN1bW1hcnksIHtcblx0XHRcdFx0XCJhcmlhLWNvbnRyb2xzXCI6IFwicGFuZWwzYS1jb250ZW50XCIsXG5cdFx0XHRcdGV4cGFuZEljb246IC8qIEBfX1BVUkVfXyAqLyBqc3goRXhwYW5kTW9yZUljb24sIHt9KSxcblx0XHRcdFx0aWQ6IFwicGFuZWwzYS1oZWFkZXJcIixcblx0XHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goVHlwb2dyYXBoeSwge1xuXHRcdFx0XHRcdHN4OiB7XG5cdFx0XHRcdFx0XHRmb250U2l6ZTogXCIxcmVtXCIsXG5cdFx0XHRcdFx0XHRmb250V2VpZ2h0OiBcImJvbGRcIlxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0Y2hpbGRyZW46IFwicG5wbVwiXG5cdFx0XHRcdH0pXG5cdFx0XHR9KSwgLyogQF9fUFVSRV9fICovIGpzeChBY2NvcmRpb25EZXRhaWxzLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KENvbW1hbmRDb250YWluZXIsIHtcblx0XHRcdFx0XCJkYXRhLXRlc3RpZFwiOiBcInRhYi1jb250ZW50XCIsXG5cdFx0XHRcdGNoaWxkcmVuOiByZW5kZXJQbnBtVGFiKHNjb3BlLCByZWdpc3RyeVVybClcblx0XHRcdH0pIH0pXVxuXHRcdH0pLFxuXHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goTGlua0NvbnRhaW5lciwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChMaW5rLCB7XG5cdFx0XHRocmVmOiBcImh0dHBzOi8vdmVyZGFjY2lvLm9yZy9kb2NzL2NsaS1yZWdpc3RyeVwiLFxuXHRcdFx0dGFyZ2V0OiBcIl9ibGFua1wiLFxuXHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goVHlwb2dyYXBoeSwgeyBjaGlsZHJlbjogdChcImhlYWRlci5yZWdpc3RyeS1pbmZvLWxpbmtcIikgfSlcblx0XHR9KSB9KVxuXHRdIH0pXSB9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IFJlZ2lzdHJ5SW5mb0NvbnRlbnQgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1SZWdpc3RyeUluZm9Db250ZW50Lm1qcy5tYXAiLCJpbXBvcnQgeyBnZXRDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4uLy4uL2NvbmZpZ3VyYXRpb24ubWpzXCI7XG5pbXBvcnQgUmVnaXN0cnlJbmZvRGlhbG9nIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL1JlZ2lzdHJ5SW5mb0RpYWxvZy9SZWdpc3RyeUluZm9EaWFsb2cubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL1JlZ2lzdHJ5SW5mb0RpYWxvZy9pbmRleC5tanNcIjtcbmltcG9ydCBMYW5ndWFnZVN3aXRjaCBmcm9tIFwiLi9MYW5ndWFnZVN3aXRjaC5tanNcIjtcbmltcG9ydCBSZWdpc3RyeUluZm9Db250ZW50IGZyb20gXCIuL1JlZ2lzdHJ5SW5mb0NvbnRlbnQvUmVnaXN0cnlJbmZvQ29udGVudC5tanNcIjtcbmltcG9ydCBcIi4vUmVnaXN0cnlJbmZvQ29udGVudC9pbmRleC5tanNcIjtcbmltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgQm94IGZyb20gXCJAbXVpL21hdGVyaWFsL0JveFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IFRhYiBmcm9tIFwiQG11aS9tYXRlcmlhbC9UYWJcIjtcbmltcG9ydCBUYWJzIGZyb20gXCJAbXVpL21hdGVyaWFsL1RhYnNcIjtcbmltcG9ydCBSZWFjdE1hcmtkb3duIGZyb20gXCJyZWFjdC1tYXJrZG93blwiO1xuLy8jcmVnaW9uIHNyYy9zZWN0aW9ucy9IZWFkZXIvSGVhZGVyU2V0dGluZ3NEaWFsb2cudHN4XG5mdW5jdGlvbiBhMTF5UHJvcHMoaW5kZXgpIHtcblx0cmV0dXJuIHtcblx0XHRpZDogYHNpbXBsZS10YWItJHtpbmRleH1gLFxuXHRcdFwiYXJpYS1jb250cm9sc1wiOiBgc2ltcGxlLXRhYnBhbmVsLSR7aW5kZXh9YFxuXHR9O1xufVxuZnVuY3Rpb24gVGFiUGFuZWwocHJvcHMpIHtcblx0Y29uc3QgeyBjaGlsZHJlbiwgdmFsdWUsIGluZGV4LCAuLi5vdGhlciB9ID0gcHJvcHM7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFwiZGl2XCIsIHtcblx0XHRcImFyaWEtbGFiZWxsZWRieVwiOiBgc2ltcGxlLXRhYi0ke2luZGV4fWAsXG5cdFx0aGlkZGVuOiB2YWx1ZSAhPT0gaW5kZXgsXG5cdFx0aWQ6IGBzaW1wbGUtdGFicGFuZWwtJHtpbmRleH1gLFxuXHRcdHJvbGU6IFwidGFicGFuZWxcIixcblx0XHQuLi5vdGhlcixcblx0XHRjaGlsZHJlbjogdmFsdWUgPT09IGluZGV4ICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goQm94LCB7XG5cdFx0XHRzeDogeyBwYWRkaW5nVG9wOiAzIH0sXG5cdFx0XHRjaGlsZHJlblxuXHRcdH0pXG5cdH0pO1xufVxudmFyIFRleHRDb250ZW50ID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJkaXZcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZWZmNXE3OTBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZWZmNXE3OTBcIixcblx0bGFiZWw6IFwiVGV4dENvbnRlbnRcIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0cGFkZGluZzogXCIxMHB4IDBcIixcblx0YmFja2dyb3VuZENvbG9yOiB0aGVtZS5wYWxldHRlLmJhY2tncm91bmQuZGVmYXVsdFxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwwaGxZV1JsY2xObGRIUnBibWR6UkdsaGJHOW5MblJ6ZUNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVFd1EyOUNJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12U0dWaFpHVnlMMGhsWVdSbGNsTmxkSFJwYm1kelJHbGhiRzluTG5SemVDSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0JDYjNnZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUNiM2duTzF4dWFXMXdiM0owSUZSaFlpQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMVJoWWljN1hHNXBiWEJ2Y25RZ1ZHRmljeUJtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDFSaFluTW5PMXh1YVcxd2IzSjBJRkpsWVdOMElHWnliMjBnSjNKbFlXTjBKenRjYm1sdGNHOXlkQ0I3SUhWelpWUnlZVzV6YkdGMGFXOXVJSDBnWm5KdmJTQW5jbVZoWTNRdGFURTRibVY0ZENjN1hHNXBiWEJ2Y25RZ1VtVmhZM1JOWVhKclpHOTNiaUJtY205dElDZHlaV0ZqZEMxdFlYSnJaRzkzYmljN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOG5PMXh1YVcxd2IzSjBJRkpsWjJsemRISjVTVzVtYjBScFlXeHZaeUJtY205dElDY3VMaTh1TGk5amIyMXdiMjVsYm5SekwxSmxaMmx6ZEhKNVNXNW1iMFJwWVd4dlp5YzdYRzVwYlhCdmNuUWdleUJuWlhSRGIyNW1hV2QxY21GMGFXOXVJSDBnWm5KdmJTQW5MaTR2TGk0dlkyOXVabWxuZFhKaGRHbHZiaWM3WEc1cGJYQnZjblFnVEdGdVozVmhaMlZUZDJsMFkyZ2dabkp2YlNBbkxpOU1ZVzVuZFdGblpWTjNhWFJqYUNjN1hHNXBiWEJ2Y25RZ1VtVm5hWE4wY25sSmJtWnZRMjl1ZEdWdWRDQm1jbTl0SUNjdUwxSmxaMmx6ZEhKNVNXNW1iME52Ym5SbGJuUW5PMXh1WEc1cGJuUmxjbVpoWTJVZ1VISnZjSE1nZTF4dUlDQnBjMDl3Wlc0NklHSnZiMnhsWVc0N1hHNGdJRzl1UTJ4dmMyVkVhV0ZzYjJjNklDZ3BJRDArSUhadmFXUTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHRXhNWGxRY205d2N5aHBibVJsZUNrZ2UxeHVJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lHbGtPaUJnYzJsdGNHeGxMWFJoWWkwa2UybHVaR1Y0ZldBc1hHNGdJQ0FnSjJGeWFXRXRZMjl1ZEhKdmJITW5PaUJnYzJsdGNHeGxMWFJoWW5CaGJtVnNMU1I3YVc1a1pYaDlZQ3hjYmlBZ2ZUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1ZHRmlVR0Z1Wld3b2NISnZjSE1wSUh0Y2JpQWdZMjl1YzNRZ2V5QmphR2xzWkhKbGJpd2dkbUZzZFdVc0lHbHVaR1Y0TENBdUxpNXZkR2hsY2lCOUlEMGdjSEp2Y0hNN1hHNWNiaUFnY21WMGRYSnVJQ2hjYmlBZ0lDQThaR2wyWEc0Z0lDQWdJQ0JoY21saExXeGhZbVZzYkdWa1luazllMkJ6YVcxd2JHVXRkR0ZpTFNSN2FXNWtaWGg5WUgxY2JpQWdJQ0FnSUdocFpHUmxiajE3ZG1Gc2RXVWdJVDA5SUdsdVpHVjRmVnh1SUNBZ0lDQWdhV1E5ZTJCemFXMXdiR1V0ZEdGaWNHRnVaV3d0Skh0cGJtUmxlSDFnZlZ4dUlDQWdJQ0FnY205c1pUMWNJblJoWW5CaGJtVnNYQ0pjYmlBZ0lDQWdJSHN1TGk1dmRHaGxjbjFjYmlBZ0lDQStYRzRnSUNBZ0lDQjdkbUZzZFdVZ1BUMDlJR2x1WkdWNElDWW1JRHhDYjNnZ2MzZzllM3NnY0dGa1pHbHVaMVJ2Y0RvZ015QjlmVDU3WTJocGJHUnlaVzU5UEM5Q2IzZytmVnh1SUNBZ0lEd3ZaR2wyUGx4dUlDQXBPMXh1ZlZ4dVhHNWpiMjV6ZENCVVpYaDBRMjl1ZEdWdWRDQTlJSE4wZVd4bFpDZ25aR2wySnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJSEJoWkdScGJtYzZJQ2N4TUhCNElEQW5MRnh1SUNCaVlXTnJaM0p2ZFc1a1EyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXVZbUZqYTJkeWIzVnVaQzVrWldaaGRXeDBMRnh1ZlNrcE8xeHVYRzVqYjI1emRDQklaV0ZrWlhKVFpYUjBhVzVuYzBScFlXeHZaem9nVW1WaFkzUXVSa004VUhKdmNITStJRDBnS0hzZ2IyNURiRzl6WlVScFlXeHZaeXdnYVhOUGNHVnVJSDBwSUQwK0lIdGNiaUFnWTI5dWMzUWdXM1poYkhWbExDQnpaWFJXWVd4MVpWMGdQU0JTWldGamRDNTFjMlZUZEdGMFpTZ3dLVHRjYmx4dUlDQmpiMjV6ZENCb1lXNWtiR1ZEYUdGdVoyVWdQU0FvWDJWMlpXNTBMQ0J1WlhkV1lXeDFaU2tnUFQ0Z2UxeHVJQ0FnSUhObGRGWmhiSFZsS0c1bGQxWmhiSFZsS1R0Y2JpQWdmVHRjYmlBZ1kyOXVjM1FnWTI5dVptbG5VM1J2Y21VZ1BTQm5aWFJEYjI1bWFXZDFjbUYwYVc5dUtDazdYRzRnSUdOdmJuTjBJSHNnYzJOdmNHVXNJR0poYzJVZ2ZTQTlJR052Ym1acFoxTjBiM0psTzF4dUlDQmpiMjV6ZENCN0lIUWdmU0E5SUhWelpWUnlZVzV6YkdGMGFXOXVLQ2s3WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEZKbFoybHpkSEo1U1c1bWIwUnBZV3h2WnlCdmJrTnNiM05sUFh0dmJrTnNiM05sUkdsaGJHOW5mU0J2Y0dWdVBYdHBjMDl3Wlc1OUlIUnBkR3hsUFh0MEtDZGthV0ZzYjJjdWMyVjBkR2x1WjNNdWRHbDBiR1VuS1gwK1hHNGdJQ0FnSUNBOFFtOTRJSE40UFh0N0lIZHBaSFJvT2lBbk1UQXdKU2NnZlgwK1hHNGdJQ0FnSUNBZ0lEeENiM2dnYzNnOWUzc2dZbTl5WkdWeVFtOTBkRzl0T2lBeExDQmliM0prWlhKRGIyeHZjam9nSjJScGRtbGtaWEluSUgxOVBseHVJQ0FnSUNBZ0lDQWdJRHhVWVdKeklHRnlhV0V0YkdGaVpXdzlYQ0ppWVhOcFl5QjBZV0p6SUdWNFlXMXdiR1ZjSWlCdmJrTm9ZVzVuWlQxN2FHRnVaR3hsUTJoaGJtZGxmU0IyWVd4MVpUMTdkbUZzZFdWOVBseHVJQ0FnSUNBZ0lDQWdJQ0FnUEZSaFlpQnNZV0psYkQxN2RDZ25jR0ZqYTJGblpVMWhibUZuWlhKekxuUnBkR3hsSnlsOUlIc3VMaTVoTVRGNVVISnZjSE1vTUNsOUlDOCtYRzRnSUNBZ0lDQWdJQ0FnSUNBOFZHRmlJR3hoWW1Wc1BYdDBLQ2RzWVc1bmRXRm5aUzUwYVhSc1pTY3BmU0I3TGk0dVlURXhlVkJ5YjNCektERXBmU0F2UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZWR0ZpY3o1Y2JpQWdJQ0FnSUNBZ1BDOUNiM2crWEc0Z0lDQWdJQ0FnSUR4VVlXSlFZVzVsYkNCcGJtUmxlRDE3TUgwZ2RtRnNkV1U5ZTNaaGJIVmxmVDVjYmlBZ0lDQWdJQ0FnSUNBOFVtVm5hWE4wY25sSmJtWnZRMjl1ZEdWdWRDQnlaV2RwYzNSeWVWVnliRDE3WW1GelpYMGdjMk52Y0dVOWUzTmpiM0JsZlNBdlBseHVJQ0FnSUNBZ0lDQThMMVJoWWxCaGJtVnNQbHh1SUNBZ0lDQWdJQ0E4VkdGaVVHRnVaV3dnYVc1a1pYZzllekY5SUhaaGJIVmxQWHQyWVd4MVpYMCtYRzRnSUNBZ0lDQWdJQ0FnUEZSbGVIUkRiMjUwWlc1MFBudDBLQ2RzWVc1bmRXRm5aUzVrWlhOamNtbHdkR2x2YmljcGZUd3ZWR1Y0ZEVOdmJuUmxiblErWEc0Z0lDQWdJQ0FnSUNBZ1BFeGhibWQxWVdkbFUzZHBkR05vSUM4K1hHNGdJQ0FnSUNBZ0lDQWdQRkpsWVdOMFRXRnlhMlJ2ZDI0K2UzUW9KMnhoYm1kMVlXZGxMbU52Ym5SeWFXSjFkR1VuS1gwOEwxSmxZV04wVFdGeWEyUnZkMjQrWEc0Z0lDQWdJQ0FnSUR3dlZHRmlVR0Z1Wld3K1hHNGdJQ0FnSUNBOEwwSnZlRDVjYmlBZ0lDQThMMUpsWjJsemRISjVTVzVtYjBScFlXeHZaejVjYmlBZ0tUdGNibjA3WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUVobFlXUmxjbE5sZEhScGJtZHpSR2xoYkc5bk8xeHVJbDE5ICovXCIpO1xudmFyIEhlYWRlclNldHRpbmdzRGlhbG9nID0gKHsgb25DbG9zZURpYWxvZywgaXNPcGVuIH0pID0+IHtcblx0Y29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZSgwKTtcblx0Y29uc3QgaGFuZGxlQ2hhbmdlID0gKF9ldmVudCwgbmV3VmFsdWUpID0+IHtcblx0XHRzZXRWYWx1ZShuZXdWYWx1ZSk7XG5cdH07XG5cdGNvbnN0IHsgc2NvcGUsIGJhc2UgfSA9IGdldENvbmZpZ3VyYXRpb24oKTtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChSZWdpc3RyeUluZm9EaWFsb2csIHtcblx0XHRvbkNsb3NlOiBvbkNsb3NlRGlhbG9nLFxuXHRcdG9wZW46IGlzT3Blbixcblx0XHR0aXRsZTogdChcImRpYWxvZy5zZXR0aW5ncy50aXRsZVwiKSxcblx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeHMoQm94LCB7XG5cdFx0XHRzeDogeyB3aWR0aDogXCIxMDAlXCIgfSxcblx0XHRcdGNoaWxkcmVuOiBbXG5cdFx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goQm94LCB7XG5cdFx0XHRcdFx0c3g6IHtcblx0XHRcdFx0XHRcdGJvcmRlckJvdHRvbTogMSxcblx0XHRcdFx0XHRcdGJvcmRlckNvbG9yOiBcImRpdmlkZXJcIlxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3hzKFRhYnMsIHtcblx0XHRcdFx0XHRcdFwiYXJpYS1sYWJlbFwiOiBcImJhc2ljIHRhYnMgZXhhbXBsZVwiLFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGhhbmRsZUNoYW5nZSxcblx0XHRcdFx0XHRcdHZhbHVlLFxuXHRcdFx0XHRcdFx0Y2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KFRhYiwge1xuXHRcdFx0XHRcdFx0XHRsYWJlbDogdChcInBhY2thZ2VNYW5hZ2Vycy50aXRsZVwiKSxcblx0XHRcdFx0XHRcdFx0Li4uYTExeVByb3BzKDApXG5cdFx0XHRcdFx0XHR9KSwgLyogQF9fUFVSRV9fICovIGpzeChUYWIsIHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6IHQoXCJsYW5ndWFnZS50aXRsZVwiKSxcblx0XHRcdFx0XHRcdFx0Li4uYTExeVByb3BzKDEpXG5cdFx0XHRcdFx0XHR9KV1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9KSxcblx0XHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChUYWJQYW5lbCwge1xuXHRcdFx0XHRcdGluZGV4OiAwLFxuXHRcdFx0XHRcdHZhbHVlLFxuXHRcdFx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFJlZ2lzdHJ5SW5mb0NvbnRlbnQsIHtcblx0XHRcdFx0XHRcdHJlZ2lzdHJ5VXJsOiBiYXNlLFxuXHRcdFx0XHRcdFx0c2NvcGVcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9KSxcblx0XHRcdFx0LyogQF9fUFVSRV9fICovIGpzeHMoVGFiUGFuZWwsIHtcblx0XHRcdFx0XHRpbmRleDogMSxcblx0XHRcdFx0XHR2YWx1ZSxcblx0XHRcdFx0XHRjaGlsZHJlbjogW1xuXHRcdFx0XHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChUZXh0Q29udGVudCwgeyBjaGlsZHJlbjogdChcImxhbmd1YWdlLmRlc2NyaXB0aW9uXCIpIH0pLFxuXHRcdFx0XHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChMYW5ndWFnZVN3aXRjaCwge30pLFxuXHRcdFx0XHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChSZWFjdE1hcmtkb3duLCB7IGNoaWxkcmVuOiB0KFwibGFuZ3VhZ2UuY29udHJpYnV0ZVwiKSB9KVxuXHRcdFx0XHRcdF1cblx0XHRcdFx0fSlcblx0XHRcdF1cblx0XHR9KVxuXHR9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IEhlYWRlclNldHRpbmdzRGlhbG9nIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9SGVhZGVyU2V0dGluZ3NEaWFsb2cubWpzLm1hcCIsImltcG9ydCB7IGlzVG9rZW5FeHBpcmUgfSBmcm9tIFwiLi4vLi4vdXRpbHMvdG9rZW4ubWpzXCI7XG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL0FwcENvbmZpZ3VyYXRpb25Qcm92aWRlci9BcHBDb25maWd1cmF0aW9uUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9BdXRoUHJvdmlkZXIvQXV0aFByb3ZpZGVyLm1qc1wiO1xuaW1wb3J0IExvZ2luRGlhbG9nIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0xvZ2luRGlhbG9nL0xvZ2luRGlhbG9nLm1qc1wiO1xuaW1wb3J0IFNlYXJjaCBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9TZWFyY2gvU2VhcmNoLm1qc1wiO1xuaW1wb3J0IHsgSW5uZXJNb2JpbGVOYXZCYXIsIElubmVyTmF2QmFyLCBNb2JpbGVOYXZCYXIsIE5hdkJhciB9IGZyb20gXCIuL3N0eWxlcy5tanNcIjtcbmltcG9ydCBIZWFkZXJMZWZ0IGZyb20gXCIuL0hlYWRlckxlZnQubWpzXCI7XG5pbXBvcnQgSGVhZGVyUmlnaHQgZnJvbSBcIi4vSGVhZGVyUmlnaHQubWpzXCI7XG5pbXBvcnQgSGVhZGVyU2V0dGluZ3NEaWFsb2cgZnJvbSBcIi4vSGVhZGVyU2V0dGluZ3NEaWFsb2cubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9pbmRleC5tanNcIjtcbmltcG9ydCB7IEZyYWdtZW50LCBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiQG11aS9tYXRlcmlhbC9CdXR0b25cIjtcbi8vI3JlZ2lvbiBzcmMvc2VjdGlvbnMvSGVhZGVyL0hlYWRlci50c3hcbnZhciBIZWFkZXIgPSAoeyBIZWFkZXJJbmZvRGlhbG9nLCBpc1BsYWluSGVhZGVyLCB0b2tlbkNoZWNrSW50ZXJ2YWxNcyA9IDM2MDAgKiAxZTMgfSkgPT4ge1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdGNvbnN0IFtpc0luZm9EaWFsb2dPcGVuLCBzZXRPcGVuSW5mb0RpYWxvZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG5cdGNvbnN0IFtpc1NldHRpbmdzRGlhbG9nT3Blbiwgc2V0U2V0dGluZ3NEaWFsb2dPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcblx0Y29uc3QgW3Nob3dNb2JpbGVOYXZCYXIsIHNldFNob3dNb2JpbGVOYXZCYXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuXHRjb25zdCBbc2hvd0xvZ2luTW9kYWwsIHNldFNob3dMb2dpbk1vZGFsXSA9IHVzZVN0YXRlKGZhbHNlKTtcblx0Y29uc3QgeyBjb25maWdPcHRpb25zIH0gPSB1c2VDb25maWcoKTtcblx0Y29uc3QgeyB1c2VyU3RhdGUsIGxvZ091dFVzZXIgfSA9IHVzZUF1dGgoKTtcblx0Y29uc3QgdG9rZW5SZWYgPSB1c2VSZWYodXNlclN0YXRlPy50b2tlbik7XG5cdHVzZUVmZmVjdCgoKSA9PiB7XG5cdFx0dG9rZW5SZWYuY3VycmVudCA9IHVzZXJTdGF0ZT8udG9rZW47XG5cdH0sIFt1c2VyU3RhdGU/LnRva2VuXSk7XG5cdHVzZUVmZmVjdCgoKSA9PiB7XG5cdFx0ZnVuY3Rpb24gY2hlY2tUb2tlbigpIHtcblx0XHRcdGNvbnN0IHRva2VuID0gdG9rZW5SZWYuY3VycmVudDtcblx0XHRcdGlmICh0b2tlbiAmJiBpc1Rva2VuRXhwaXJlKHRva2VuKSkgbG9nT3V0VXNlcj8uKCk7XG5cdFx0fVxuXHRcdGNoZWNrVG9rZW4oKTtcblx0XHRjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKGNoZWNrVG9rZW4sIHRva2VuQ2hlY2tJbnRlcnZhbE1zKTtcblx0XHRyZXR1cm4gKCkgPT4gY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XG5cdH0sIFt0b2tlbkNoZWNrSW50ZXJ2YWxNc10pO1xuXHRjb25zdCBoYW5kbGVMb2dvdXQgPSAoKSA9PiB7XG5cdFx0bG9nT3V0VXNlcj8uKCk7XG5cdFx0c2V0U2hvd0xvZ2luTW9kYWwoZmFsc2UpO1xuXHR9O1xuXHRpZiAoaXNQbGFpbkhlYWRlcikgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goTmF2QmFyLCB7XG5cdFx0XCJkYXRhLXRlc3RpZFwiOiBcImhlYWRlclwiLFxuXHRcdHBvc2l0aW9uOiBcInN0YXRpY1wiLFxuXHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4cyhJbm5lck5hdkJhciwgeyBjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goSGVhZGVyTGVmdCwgeyBzaG93U2VhcmNoOiBmYWxzZSB9KSwgLyogQF9fUFVSRV9fICovIGpzeChIZWFkZXJSaWdodCwge1xuXHRcdFx0aGFzTG9naW46IGZhbHNlLFxuXHRcdFx0b25Mb2dvdXQ6ICgpID0+IHt9LFxuXHRcdFx0b25PcGVuUmVnaXN0cnlJbmZvRGlhbG9nOiAoKSA9PiB7fSxcblx0XHRcdG9uT3BlblNldHRpbmdzRGlhbG9nOiAoKSA9PiB7fSxcblx0XHRcdG9uVG9nZ2xlTG9naW46ICgpID0+IHt9LFxuXHRcdFx0b25Ub2dnbGVNb2JpbGVOYXY6ICgpID0+IHt9LFxuXHRcdFx0c2hvd0luZm86IGZhbHNlLFxuXHRcdFx0c2hvd1NlYXJjaDogZmFsc2UsXG5cdFx0XHRzaG93U2V0dGluZ3M6IGZhbHNlLFxuXHRcdFx0c2hvd1RoZW1lU3dpdGNoOiBmYWxzZSxcblx0XHRcdHVzZXJuYW1lOiBcIlwiXG5cdFx0fSldIH0pXG5cdH0pO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoRnJhZ21lbnQsIHsgY2hpbGRyZW46IFtcblx0XHQvKiBAX19QVVJFX18gKi8ganN4cyhOYXZCYXIsIHtcblx0XHRcdFwiZGF0YS10ZXN0aWRcIjogXCJoZWFkZXJcIixcblx0XHRcdHBvc2l0aW9uOiBcInN0YXRpY1wiLFxuXHRcdFx0Y2hpbGRyZW46IFtcblx0XHRcdFx0LyogQF9fUFVSRV9fICovIGpzeHMoSW5uZXJOYXZCYXIsIHsgY2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KEhlYWRlckxlZnQsIHsgc2hvd1NlYXJjaDogY29uZmlnT3B0aW9ucy5zaG93U2VhcmNoIH0pLCAvKiBAX19QVVJFX18gKi8ganN4KEhlYWRlclJpZ2h0LCB7XG5cdFx0XHRcdFx0aGFzTG9naW46IGNvbmZpZ09wdGlvbnM/LmxvZ2luLFxuXHRcdFx0XHRcdG9uTG9nb3V0OiBoYW5kbGVMb2dvdXQsXG5cdFx0XHRcdFx0b25PcGVuUmVnaXN0cnlJbmZvRGlhbG9nOiAoKSA9PiBzZXRPcGVuSW5mb0RpYWxvZyh0cnVlKSxcblx0XHRcdFx0XHRvbk9wZW5TZXR0aW5nc0RpYWxvZzogKCkgPT4gc2V0U2V0dGluZ3NEaWFsb2dPcGVuKHRydWUpLFxuXHRcdFx0XHRcdG9uVG9nZ2xlTG9naW46ICgpID0+IHNldFNob3dMb2dpbk1vZGFsKCFzaG93TG9naW5Nb2RhbCksXG5cdFx0XHRcdFx0b25Ub2dnbGVNb2JpbGVOYXY6ICgpID0+IHNldFNob3dNb2JpbGVOYXZCYXIoIXNob3dNb2JpbGVOYXZCYXIpLFxuXHRcdFx0XHRcdHNob3dJbmZvOiBjb25maWdPcHRpb25zLnNob3dJbmZvLFxuXHRcdFx0XHRcdHNob3dTZWFyY2g6IGNvbmZpZ09wdGlvbnMuc2hvd1NlYXJjaCxcblx0XHRcdFx0XHRzaG93U2V0dGluZ3M6IGNvbmZpZ09wdGlvbnMuc2hvd1NldHRpbmdzLFxuXHRcdFx0XHRcdHNob3dUaGVtZVN3aXRjaDogY29uZmlnT3B0aW9ucy5zaG93VGhlbWVTd2l0Y2gsXG5cdFx0XHRcdFx0dXNlcm5hbWU6IHVzZXJTdGF0ZT8udXNlcm5hbWVcblx0XHRcdFx0fSldIH0pLFxuXHRcdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KEhlYWRlclNldHRpbmdzRGlhbG9nLCB7XG5cdFx0XHRcdFx0aXNPcGVuOiBpc1NldHRpbmdzRGlhbG9nT3Blbixcblx0XHRcdFx0XHRvbkNsb3NlRGlhbG9nOiAoKSA9PiBzZXRTZXR0aW5nc0RpYWxvZ09wZW4oZmFsc2UpXG5cdFx0XHRcdH0pLFxuXHRcdFx0XHRIZWFkZXJJbmZvRGlhbG9nID8gLyogQF9fUFVSRV9fICovIGpzeChIZWFkZXJJbmZvRGlhbG9nLCB7XG5cdFx0XHRcdFx0ZGlhbG9nVGl0bGU6IHQoXCJkaWFsb2cucmVnaXN0cnktaW5mby50aXRsZVwiKSxcblx0XHRcdFx0XHRpc09wZW46IGlzSW5mb0RpYWxvZ09wZW4sXG5cdFx0XHRcdFx0b25DbG9zZURpYWxvZzogKCkgPT4gc2V0T3BlbkluZm9EaWFsb2coZmFsc2UpXG5cdFx0XHRcdH0pIDogbnVsbFxuXHRcdFx0XVxuXHRcdH0pLFxuXHRcdHNob3dNb2JpbGVOYXZCYXIgJiYgLyogQF9fUFVSRV9fICovIGpzeHMoTW9iaWxlTmF2QmFyLCB7IGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChJbm5lck1vYmlsZU5hdkJhciwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChTZWFyY2gsIHt9KSB9KSwgLyogQF9fUFVSRV9fICovIGpzeChCdXR0b24sIHtcblx0XHRcdGNvbG9yOiBcImluaGVyaXRcIixcblx0XHRcdG9uQ2xpY2s6ICgpID0+IHNldFNob3dNb2JpbGVOYXZCYXIoZmFsc2UpLFxuXHRcdFx0Y2hpbGRyZW46IHQoXCJidXR0b24uY2FuY2VsXCIpXG5cdFx0fSldIH0pLFxuXHRcdCF1c2VyU3RhdGU/LnVzZXJuYW1lICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goTG9naW5EaWFsb2csIHtcblx0XHRcdG9uQ2xvc2U6ICgpID0+IHNldFNob3dMb2dpbk1vZGFsKGZhbHNlKSxcblx0XHRcdG9wZW46IHNob3dMb2dpbk1vZGFsXG5cdFx0fSlcblx0XSB9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IEhlYWRlciBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUhlYWRlci5tanMubWFwIiwiaW1wb3J0IHsgdXNlTWFuaWZlc3RzIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9NYW5pZmVzdHNQcm92aWRlci9NYW5pZmVzdHNQcm92aWRlci5tanNcIjtcbmltcG9ydCBMb2FkaW5nIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0xvYWRpbmcvTG9hZGluZy5tanNcIjtcbmltcG9ydCBQYWNrYWdlTGlzdCBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9QYWNrYWdlTGlzdC9QYWNrYWdlTGlzdC5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2luZGV4Lm1qc1wiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuLy8jcmVnaW9uIHNyYy9zZWN0aW9ucy9Ib21lL0hvbWUudHN4XG52YXIgSG9tZSA9ICgpID0+IHtcblx0Y29uc3QgbWFuaWZlc3RzID0gdXNlTWFuaWZlc3RzKCk7XG5cdGlmIChtYW5pZmVzdHMuaXNFcnJvcikgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXCJkaXZcIiwgeyBjaGlsZHJlbjogXCJFcnJvciBsb2FkaW5nIG1hbmlmZXN0c1wiIH0pO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoXCJkaXZcIiwge1xuXHRcdGNsYXNzTmFtZTogXCJjb250YWluZXIgY29udGVudFwiLFxuXHRcdFwiZGF0YS10ZXN0aWRcIjogXCJob21lLXBhZ2UtY29udGFpbmVyXCIsXG5cdFx0Y2hpbGRyZW46IFttYW5pZmVzdHMuaXNMb2FkaW5nID8gLyogQF9fUFVSRV9fICovIGpzeChMb2FkaW5nLCB7fSkgOiAvKiBAX19QVVJFX18gKi8ganN4KFBhY2thZ2VMaXN0LCB7IHBhY2thZ2VzOiBtYW5pZmVzdHMubWFuaWZlc3RzIH0pLCBtYW5pZmVzdHMuaXNFcnJvciAmJiAvKiBAX19QVVJFX18gKi8ganN4KFwiZGl2XCIsIHsgY2hpbGRyZW46IFwiRXJyb3IgbG9hZGluZyBtYW5pZmVzdHNcIiB9KV1cblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBIb21lIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9SG9tZS5tanMubWFwIiwiaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG5pbXBvcnQgeyBjb21tb24gfSBmcm9tIFwiQG11aS9tYXRlcmlhbC9jb2xvcnNcIjtcbi8vI3JlZ2lvbiBzcmMvc2VjdGlvbnMvRm9vdGVyL3N0eWxlcy50c1xuZnVuY3Rpb24gX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX18oKSB7XG5cdHJldHVybiBcIllvdSBoYXZlIHRyaWVkIHRvIHN0cmluZ2lmeSBvYmplY3QgcmV0dXJuZWQgZnJvbSBgY3NzYCBmdW5jdGlvbi4gSXQgaXNuJ3Qgc3VwcG9zZWQgdG8gYmUgdXNlZCBkaXJlY3RseSAoZS5nLiBhcyB2YWx1ZSBvZiB0aGUgYGNsYXNzTmFtZWAgcHJvcCksIGJ1dCByYXRoZXIgaGFuZGVkIHRvIGVtb3Rpb24gc28gaXQgY2FuIGhhbmRsZSBpdCAoZS5nLiBhcyB2YWx1ZSBvZiBgY3NzYCBwcm9wKS5cIjtcbn1cbnZhciBXcmFwcGVyID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJkaXZcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTF1MmxlZnk0XCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxdTJsZWZ5NFwiLFxuXHRsYWJlbDogXCJXcmFwcGVyXCJcbn0pKCh7IHRoZW1lIH0pID0+ICh7XG5cdGJhY2tncm91bmQ6IHRoZW1lLnBhbGV0dGUubW9kZSA9PT0gXCJsaWdodFwiID8gdGhlbWUucGFsZXR0ZS5zbm93IDogdGhlbWUucGFsZXR0ZS5jeWFuQmx1ZSxcblx0Ym9yZGVyVG9wOiBgMXB4IHNvbGlkICR7dGhlbWUucGFsZXR0ZS5ncmV5R2FpbnNib3JvfWAsXG5cdGNvbG9yOiB0aGVtZS5wYWxldHRlLm1vZGUgPT09IFwiZGFya1wiID8gY29tbW9uLndoaXRlIDogdGhlbWUucGFsZXR0ZS5ub2JlbDAxLFxuXHRmb250U2l6ZTogXCIxNHB4XCIsXG5cdHBhZGRpbmc6IFwiMjBweFwiXG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlJtOXZkR1Z5TDNOMGVXeGxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGTGRVSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTl6WldOMGFXOXVjeTlHYjI5MFpYSXZjM1I1YkdWekxuUnpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSE4wZVd4bFpDQm1jbTl0SUNkQVpXMXZkR2x2Ymk5emRIbHNaV1FuTzF4dWFXMXdiM0owSUhzZ1kyOXRiVzl1SUgwZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOWpiMnh2Y25Nbk8xeHVYRzVwYlhCdmNuUWdkSGx3WlNCN0lGUm9aVzFsSUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRmR5WVhCd1pYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JpWVdOclozSnZkVzVrT2lCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RzYVdkb2RDY2dQeUIwYUdWdFpTNXdZV3hsZEhSbExuTnViM2NnT2lCMGFHVnRaUzV3WVd4bGRIUmxMbU41WVc1Q2JIVmxMRnh1SUNCaWIzSmtaWEpVYjNBNklHQXhjSGdnYzI5c2FXUWdKSHQwYUdWdFpTNXdZV3hsZEhSbExtZHlaWGxIWVdsdWMySnZjbTk5WUN4Y2JpQWdZMjlzYjNJNklIUm9aVzFsTG5CaGJHVjBkR1V1Ylc5a1pTQTlQVDBnSjJSaGNtc25JRDhnWTI5dGJXOXVMbmRvYVhSbElEb2dkR2hsYldVdWNHRnNaWFIwWlM1dWIySmxiREF4TEZ4dUlDQm1iMjUwVTJsNlpUb2dKekUwY0hnbkxGeHVJQ0J3WVdSa2FXNW5PaUFuTWpCd2VDY3NYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSmJtNWxjaUE5SUhOMGVXeGxaQ2duWkdsMkp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ1lXeHBaMjVKZEdWdGN6b2dKMk5sYm5SbGNpY3NYRzRnSUdwMWMzUnBabmxEYjI1MFpXNTBPaUFuWm14bGVDMWxibVFuTEZ4dUlDQndZV1JrYVc1blRHVm1kRG9nTVRZc1hHNGdJSEJoWkdScGJtZFNhV2RvZERvZ01UWXNYRzRnSUhkcFpIUm9PaUFuTVRBd0pTY3NYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXViV1ZrYVhWdGZYQjRLV0JkT2lCN1hHNGdJQ0FnYldsdVYybGtkR2c2SURRd01DeGNiaUFnSUNCdFlYaFhhV1IwYURvZ09EQXdMRnh1SUNBZ0lHMWhjbWRwYmpvZ0oyRjFkRzhuTEZ4dUlDQWdJR3AxYzNScFpubERiMjUwWlc1ME9pQW5jM0JoWTJVdFltVjBkMlZsYmljc1hHNGdJSDBzWEc0Z0lGdGdRRzFsWkdsaElDaHRhVzR0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11YkdGeVoyVjljSGdwWUYwNklIdGNiaUFnSUNCdFlYaFhhV1IwYURvZ01USTBNQ3hjYmlBZ2ZTeGNibjBwS1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUV4bFpuUWdQU0J6ZEhsc1pXUW9KMlJwZGljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JoYkdsbmJrbDBaVzF6T2lBblkyVnVkR1Z5Snl4Y2JpQWdaR2x6Y0d4aGVUb2dKMjV2Ym1VbkxGeHVJQ0JiWUVCdFpXUnBZU0FvYldsdUxYZHBaSFJvT2lBa2UzUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxtMWxaR2wxYlgxd2VDbGdYVG9nZTF4dUlDQWdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnZlN4Y2JpQWdiV0Z5WjJsdVRHVm1kRG9nTVN4Y2JuMHBLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRkpwWjJoMElEMGdjM1I1YkdWa0tFeGxablFwS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMlpzWlhnbkxGeHVJQ0J0WVhKbmFXNVNhV2RvZERvZ01TeGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVEc5MlpTQTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JqYjJ4dmNqb2dkR2hsYldVdWNHRnNaWFIwWlM1c2IzWmxMRnh1SUNCd1lXUmthVzVuT2lBbk1DQTFjSGduTEZ4dWZTa3BPMXh1SWwxOSAqL1wiKTtcbnZhciBJbm5lciA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwiZGl2XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxdTJsZWZ5M1wiIH0gOiB7XG5cdHRhcmdldDogXCJlMXUybGVmeTNcIixcblx0bGFiZWw6IFwiSW5uZXJcIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0ZGlzcGxheTogXCJmbGV4XCIsXG5cdGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG5cdGp1c3RpZnlDb250ZW50OiBcImZsZXgtZW5kXCIsXG5cdHBhZGRpbmdMZWZ0OiAxNixcblx0cGFkZGluZ1JpZ2h0OiAxNixcblx0d2lkdGg6IFwiMTAwJVwiLFxuXHRbYEBtZWRpYSAobWluLXdpZHRoOiAke3RoZW1lLmJyZWFrUG9pbnRzLm1lZGl1bX1weClgXToge1xuXHRcdG1pbldpZHRoOiA0MDAsXG5cdFx0bWF4V2lkdGg6IDgwMCxcblx0XHRtYXJnaW46IFwiYXV0b1wiLFxuXHRcdGp1c3RpZnlDb250ZW50OiBcInNwYWNlLWJldHdlZW5cIlxuXHR9LFxuXHRbYEBtZWRpYSAobWluLXdpZHRoOiAke3RoZW1lLmJyZWFrUG9pbnRzLmxhcmdlfXB4KWBdOiB7IG1heFdpZHRoOiAxMjQwIH1cbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12Um05dmRHVnlMM04wZVd4bGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZoY1VJaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OXpaV04wYVc5dWN5OUdiMjkwWlhJdmMzUjViR1Z6TG5Seklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElITjBlV3hsWkNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl6ZEhsc1pXUW5PMXh1YVcxd2IzSjBJSHNnWTI5dGJXOXVJSDBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5amIyeHZjbk1uTzF4dVhHNXBiWEJ2Y25RZ2RIbHdaU0I3SUZSb1pXMWxJSDBnWm5KdmJTQW5MaTR2TGk0dkp6dGNibHh1Wlhod2IzSjBJR052Ym5OMElGZHlZWEJ3WlhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQmlZV05yWjNKdmRXNWtPaUIwYUdWdFpTNXdZV3hsZEhSbExtMXZaR1VnUFQwOUlDZHNhV2RvZENjZ1B5QjBhR1Z0WlM1d1lXeGxkSFJsTG5OdWIzY2dPaUIwYUdWdFpTNXdZV3hsZEhSbExtTjVZVzVDYkhWbExGeHVJQ0JpYjNKa1pYSlViM0E2SUdBeGNIZ2djMjlzYVdRZ0pIdDBhR1Z0WlM1d1lXeGxkSFJsTG1keVpYbEhZV2x1YzJKdmNtOTlZQ3hjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXViVzlrWlNBOVBUMGdKMlJoY21zbklEOGdZMjl0Ylc5dUxuZG9hWFJsSURvZ2RHaGxiV1V1Y0dGc1pYUjBaUzV1YjJKbGJEQXhMRnh1SUNCbWIyNTBVMmw2WlRvZ0p6RTBjSGduTEZ4dUlDQndZV1JrYVc1bk9pQW5NakJ3ZUNjc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKYm01bGNpQTlJSE4wZVd4bFpDZ25aR2wySnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnWVd4cFoyNUpkR1Z0Y3pvZ0oyTmxiblJsY2ljc1hHNGdJR3AxYzNScFpubERiMjUwWlc1ME9pQW5abXhsZUMxbGJtUW5MRnh1SUNCd1lXUmthVzVuVEdWbWREb2dNVFlzWEc0Z0lIQmhaR1JwYm1kU2FXZG9kRG9nTVRZc1hHNGdJSGRwWkhSb09pQW5NVEF3SlNjc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUI3WEc0Z0lDQWdiV2x1VjJsa2RHZzZJRFF3TUN4Y2JpQWdJQ0J0WVhoWGFXUjBhRG9nT0RBd0xGeHVJQ0FnSUcxaGNtZHBiam9nSjJGMWRHOG5MRnh1SUNBZ0lHcDFjM1JwWm5sRGIyNTBaVzUwT2lBbmMzQmhZMlV0WW1WMGQyVmxiaWNzWEc0Z0lIMHNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXViR0Z5WjJWOWNIZ3BZRjA2SUh0Y2JpQWdJQ0J0WVhoWGFXUjBhRG9nTVRJME1DeGNiaUFnZlN4Y2JuMHBLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRXhsWm5RZ1BTQnpkSGxzWldRb0oyUnBkaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYmlBZ1pHbHpjR3hoZVRvZ0oyNXZibVVuTEZ4dUlDQmJZRUJ0WldScFlTQW9iV2x1TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG0xbFpHbDFiWDF3ZUNsZ1hUb2dlMXh1SUNBZ0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdmU3hjYmlBZ2JXRnlaMmx1VEdWbWREb2dNU3hjYm4wcEtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGSnBaMmgwSUQwZ2MzUjViR1ZrS0V4bFpuUXBLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQnRZWEpuYVc1U2FXZG9kRG9nTVN4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdURzkyWlNBOUlITjBlV3hsWkNnbmMzQmhiaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQmpiMnh2Y2pvZ2RHaGxiV1V1Y0dGc1pYUjBaUzVzYjNabExGeHVJQ0J3WVdSa2FXNW5PaUFuTUNBMWNIZ25MRnh1ZlNrcE8xeHVJbDE5ICovXCIpO1xudmFyIExlZnQgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcImRpdlwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMXUybGVmeTJcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTF1MmxlZnkyXCIsXG5cdGxhYmVsOiBcIkxlZnRcIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0YWxpZ25JdGVtczogXCJjZW50ZXJcIixcblx0ZGlzcGxheTogXCJub25lXCIsXG5cdFtgQG1lZGlhIChtaW4td2lkdGg6ICR7dGhlbWUuYnJlYWtQb2ludHMubWVkaXVtfXB4KWBdOiB7IGRpc3BsYXk6IFwiZmxleFwiIH0sXG5cdG1hcmdpbkxlZnQ6IDFcbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12Um05dmRHVnlMM04wZVd4bGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUVyUW05Q0lpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZSbTl2ZEdWeUwzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaUI5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JseHVhVzF3YjNKMElIUjVjR1VnZXlCVWFHVnRaU0I5SUdaeWIyMGdKeTR1THk0dUx5YzdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlhjbUZ3Y0dWeUlEMGdjM1I1YkdWa0tDZGthWFluS1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIc2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdZbUZqYTJkeWIzVnVaRG9nZEdobGJXVXVjR0ZzWlhSMFpTNXRiMlJsSUQwOVBTQW5iR2xuYUhRbklEOGdkR2hsYldVdWNHRnNaWFIwWlM1emJtOTNJRG9nZEdobGJXVXVjR0ZzWlhSMFpTNWplV0Z1UW14MVpTeGNiaUFnWW05eVpHVnlWRzl3T2lCZ01YQjRJSE52Ykdsa0lDUjdkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVSMkZwYm5OaWIzSnZmV0FzWEc0Z0lHTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RrWVhKckp5QS9JR052YlcxdmJpNTNhR2wwWlNBNklIUm9aVzFsTG5CaGJHVjBkR1V1Ym05aVpXd3dNU3hjYmlBZ1ptOXVkRk5wZW1VNklDY3hOSEI0Snl4Y2JpQWdjR0ZrWkdsdVp6b2dKekl3Y0hnbkxGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnU1c1dVpYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0JxZFhOMGFXWjVRMjl1ZEdWdWREb2dKMlpzWlhndFpXNWtKeXhjYmlBZ2NHRmtaR2x1WjB4bFpuUTZJREUyTEZ4dUlDQndZV1JrYVc1blVtbG5hSFE2SURFMkxGeHVJQ0IzYVdSMGFEb2dKekV3TUNVbkxGeHVJQ0JiWUVCdFpXUnBZU0FvYldsdUxYZHBaSFJvT2lBa2UzUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxtMWxaR2wxYlgxd2VDbGdYVG9nZTF4dUlDQWdJRzFwYmxkcFpIUm9PaUEwTURBc1hHNGdJQ0FnYldGNFYybGtkR2c2SURnd01DeGNiaUFnSUNCdFlYSm5hVzQ2SUNkaGRYUnZKeXhjYmlBZ0lDQnFkWE4wYVdaNVEyOXVkR1Z1ZERvZ0ozTndZV05sTFdKbGRIZGxaVzRuTEZ4dUlDQjlMRnh1SUNCYllFQnRaV1JwWVNBb2JXbHVMWGRwWkhSb09pQWtlM1JvWlcxbExtSnlaV0ZyVUc5cGJuUnpMbXhoY21kbGZYQjRLV0JkT2lCN1hHNGdJQ0FnYldGNFYybGtkR2c2SURFeU5EQXNYRzRnSUgwc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JNWldaMElEMGdjM1I1YkdWa0tDZGthWFluS1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIc2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc0Z0lHUnBjM0JzWVhrNklDZHViMjVsSnl4Y2JpQWdXMkJBYldWa2FXRWdLRzFwYmkxM2FXUjBhRG9nSkh0MGFHVnRaUzVpY21WaGExQnZhVzUwY3k1dFpXUnBkVzE5Y0hncFlGMDZJSHRjYmlBZ0lDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJSDBzWEc0Z0lHMWhjbWRwYmt4bFpuUTZJREVzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlNhV2RvZENBOUlITjBlV3hsWkNoTVpXWjBLU2g3WEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdiV0Z5WjJsdVVtbG5hSFE2SURFc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRXh2ZG1VZ1BTQnpkSGxzWldRb0ozTndZVzRuS1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIc2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdZMjlzYjNJNklIUm9aVzFsTG5CaGJHVjBkR1V1Ykc5MlpTeGNiaUFnY0dGa1pHbHVaem9nSnpBZ05YQjRKeXhjYm4wcEtUdGNiaUpkZlE9PSAqL1wiKTtcbnZhciBSaWdodCA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKExlZnQsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxdTJsZWZ5MVwiIH0gOiB7XG5cdHRhcmdldDogXCJlMXUybGVmeTFcIixcblx0bGFiZWw6IFwiUmlnaHRcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjFjMG0wZHJcIixcblx0c3R5bGVzOiBcImRpc3BsYXk6ZmxleDttYXJnaW4tcmlnaHQ6MXB4XCJcbn0gOiB7XG5cdG5hbWU6IFwiMWMwbTBkclwiLFxuXHRzdHlsZXM6IFwiZGlzcGxheTpmbGV4O21hcmdpbi1yaWdodDoxcHgvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12Um05dmRHVnlMM04wZVd4bGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUYzUTNGQ0lpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZSbTl2ZEdWeUwzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaUI5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JseHVhVzF3YjNKMElIUjVjR1VnZXlCVWFHVnRaU0I5SUdaeWIyMGdKeTR1THk0dUx5YzdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlhjbUZ3Y0dWeUlEMGdjM1I1YkdWa0tDZGthWFluS1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIc2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdZbUZqYTJkeWIzVnVaRG9nZEdobGJXVXVjR0ZzWlhSMFpTNXRiMlJsSUQwOVBTQW5iR2xuYUhRbklEOGdkR2hsYldVdWNHRnNaWFIwWlM1emJtOTNJRG9nZEdobGJXVXVjR0ZzWlhSMFpTNWplV0Z1UW14MVpTeGNiaUFnWW05eVpHVnlWRzl3T2lCZ01YQjRJSE52Ykdsa0lDUjdkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVSMkZwYm5OaWIzSnZmV0FzWEc0Z0lHTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RrWVhKckp5QS9JR052YlcxdmJpNTNhR2wwWlNBNklIUm9aVzFsTG5CaGJHVjBkR1V1Ym05aVpXd3dNU3hjYmlBZ1ptOXVkRk5wZW1VNklDY3hOSEI0Snl4Y2JpQWdjR0ZrWkdsdVp6b2dKekl3Y0hnbkxGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnU1c1dVpYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0JxZFhOMGFXWjVRMjl1ZEdWdWREb2dKMlpzWlhndFpXNWtKeXhjYmlBZ2NHRmtaR2x1WjB4bFpuUTZJREUyTEZ4dUlDQndZV1JrYVc1blVtbG5hSFE2SURFMkxGeHVJQ0IzYVdSMGFEb2dKekV3TUNVbkxGeHVJQ0JiWUVCdFpXUnBZU0FvYldsdUxYZHBaSFJvT2lBa2UzUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxtMWxaR2wxYlgxd2VDbGdYVG9nZTF4dUlDQWdJRzFwYmxkcFpIUm9PaUEwTURBc1hHNGdJQ0FnYldGNFYybGtkR2c2SURnd01DeGNiaUFnSUNCdFlYSm5hVzQ2SUNkaGRYUnZKeXhjYmlBZ0lDQnFkWE4wYVdaNVEyOXVkR1Z1ZERvZ0ozTndZV05sTFdKbGRIZGxaVzRuTEZ4dUlDQjlMRnh1SUNCYllFQnRaV1JwWVNBb2JXbHVMWGRwWkhSb09pQWtlM1JvWlcxbExtSnlaV0ZyVUc5cGJuUnpMbXhoY21kbGZYQjRLV0JkT2lCN1hHNGdJQ0FnYldGNFYybGtkR2c2SURFeU5EQXNYRzRnSUgwc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JNWldaMElEMGdjM1I1YkdWa0tDZGthWFluS1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIc2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc0Z0lHUnBjM0JzWVhrNklDZHViMjVsSnl4Y2JpQWdXMkJBYldWa2FXRWdLRzFwYmkxM2FXUjBhRG9nSkh0MGFHVnRaUzVpY21WaGExQnZhVzUwY3k1dFpXUnBkVzE5Y0hncFlGMDZJSHRjYmlBZ0lDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJSDBzWEc0Z0lHMWhjbWRwYmt4bFpuUTZJREVzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlNhV2RvZENBOUlITjBlV3hsWkNoTVpXWjBLU2g3WEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdiV0Z5WjJsdVVtbG5hSFE2SURFc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRXh2ZG1VZ1BTQnpkSGxzWldRb0ozTndZVzRuS1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIc2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdZMjlzYjNJNklIUm9aVzFsTG5CaGJHVjBkR1V1Ykc5MlpTeGNiaUFnY0dGa1pHbHVaem9nSnpBZ05YQjRKeXhjYm4wcEtUdGNiaUpkZlE9PSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIExvdmUgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcInNwYW5cIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTF1MmxlZnkwXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxdTJsZWZ5MFwiLFxuXHRsYWJlbDogXCJMb3ZlXCJcbn0pKCh7IHRoZW1lIH0pID0+ICh7XG5cdGNvbG9yOiB0aGVtZS5wYWxldHRlLmxvdmUsXG5cdHBhZGRpbmc6IFwiMCA1cHhcIlxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZSbTl2ZEdWeUwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRTJRMjlDSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlJtOXZkR1Z5TDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQjdJR052YlcxdmJpQjlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2WTI5c2IzSnpKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1THljN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCWGNtRndjR1Z5SUQwZ2MzUjViR1ZrS0Nka2FYWW5LVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ1ltRmphMmR5YjNWdVpEb2dkR2hsYldVdWNHRnNaWFIwWlM1dGIyUmxJRDA5UFNBbmJHbG5hSFFuSUQ4Z2RHaGxiV1V1Y0dGc1pYUjBaUzV6Ym05M0lEb2dkR2hsYldVdWNHRnNaWFIwWlM1amVXRnVRbXgxWlN4Y2JpQWdZbTl5WkdWeVZHOXdPaUJnTVhCNElITnZiR2xrSUNSN2RHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVIyRnBibk5pYjNKdmZXQXNYRzRnSUdOdmJHOXlPaUIwYUdWdFpTNXdZV3hsZEhSbExtMXZaR1VnUFQwOUlDZGtZWEpySnlBL0lHTnZiVzF2Ymk1M2FHbDBaU0E2SUhSb1pXMWxMbkJoYkdWMGRHVXVibTlpWld3d01TeGNiaUFnWm05dWRGTnBlbVU2SUNjeE5IQjRKeXhjYmlBZ2NHRmtaR2x1WnpvZ0p6SXdjSGduTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTVzV1WlhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQnFkWE4wYVdaNVEyOXVkR1Z1ZERvZ0oyWnNaWGd0Wlc1a0p5eGNiaUFnY0dGa1pHbHVaMHhsWm5RNklERTJMRnh1SUNCd1lXUmthVzVuVW1sbmFIUTZJREUyTEZ4dUlDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dUlDQmJZRUJ0WldScFlTQW9iV2x1TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG0xbFpHbDFiWDF3ZUNsZ1hUb2dlMXh1SUNBZ0lHMXBibGRwWkhSb09pQTBNREFzWEc0Z0lDQWdiV0Y0VjJsa2RHZzZJRGd3TUN4Y2JpQWdJQ0J0WVhKbmFXNDZJQ2RoZFhSdkp5eGNiaUFnSUNCcWRYTjBhV1o1UTI5dWRHVnVkRG9nSjNOd1lXTmxMV0psZEhkbFpXNG5MRnh1SUNCOUxGeHVJQ0JiWUVCdFpXUnBZU0FvYldsdUxYZHBaSFJvT2lBa2UzUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxteGhjbWRsZlhCNEtXQmRPaUI3WEc0Z0lDQWdiV0Y0VjJsa2RHZzZJREV5TkRBc1hHNGdJSDBzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQk1aV1owSUQwZ2MzUjViR1ZrS0Nka2FYWW5LVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ1lXeHBaMjVKZEdWdGN6b2dKMk5sYm5SbGNpY3NYRzRnSUdScGMzQnNZWGs2SUNkdWIyNWxKeXhjYmlBZ1cyQkFiV1ZrYVdFZ0tHMXBiaTEzYVdSMGFEb2dKSHQwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTV0WldScGRXMTljSGdwWUYwNklIdGNiaUFnSUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lIMHNYRzRnSUcxaGNtZHBia3hsWm5RNklERXNYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCU2FXZG9kQ0E5SUhOMGVXeGxaQ2hNWldaMEtTaDdYRzRnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ2JXRnlaMmx1VW1sbmFIUTZJREVzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFeHZkbVVnUFNCemRIbHNaV1FvSjNOd1lXNG5LVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXViRzkyWlN4Y2JpQWdjR0ZrWkdsdVp6b2dKekFnTlhCNEp5eGNibjBwS1R0Y2JpSmRmUT09ICovXCIpO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBJbm5lciwgTGVmdCwgTG92ZSwgUmlnaHQsIFdyYXBwZXIgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3R5bGVzLm1qcy5tYXAiLCJpbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL0FwcENvbmZpZ3VyYXRpb25Qcm92aWRlci9BcHBDb25maWd1cmF0aW9uUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgeyBFYXJ0aCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0ljb25zL0VhcnRoLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9JY29ucy9pbmRleC5tanNcIjtcbmltcG9ydCBMb2dvIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0xvZ28vTG9nby5tanNcIjtcbmltcG9ydCB7IElubmVyLCBMZWZ0LCBMb3ZlLCBSaWdodCwgV3JhcHBlciB9IGZyb20gXCIuL3N0eWxlcy5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2luZGV4Lm1qc1wiO1xuaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG5pbXBvcnQgeyBGcmFnbWVudCwganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IHsgVHJhbnMsIHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCAqIGFzIEZsYWdzSWNvbiBmcm9tIFwiY291bnRyeS1mbGFnLWljb25zL3JlYWN0LzN4MlwiO1xuLy8jcmVnaW9uIHNyYy9zZWN0aW9ucy9Gb290ZXIvRm9vdGVyLnRzeFxuZnVuY3Rpb24gX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX18oKSB7XG5cdHJldHVybiBcIllvdSBoYXZlIHRyaWVkIHRvIHN0cmluZ2lmeSBvYmplY3QgcmV0dXJuZWQgZnJvbSBgY3NzYCBmdW5jdGlvbi4gSXQgaXNuJ3Qgc3VwcG9zZWQgdG8gYmUgdXNlZCBkaXJlY3RseSAoZS5nLiBhcyB2YWx1ZSBvZiB0aGUgYGNsYXNzTmFtZWAgcHJvcCksIGJ1dCByYXRoZXIgaGFuZGVkIHRvIGVtb3Rpb24gc28gaXQgY2FuIGhhbmRsZSBpdCAoZS5nLiBhcyB2YWx1ZSBvZiBgY3NzYCBwcm9wKS5cIjtcbn1cbmZ1bmN0aW9uIGdvVG9WZXJkYWNjaW9XZWJzaXRlKCkge1xuXHR3aW5kb3cub3BlbihcImh0dHBzOi8vdmVyZGFjY2lvLm9yZ1wiLCBcIl9ibGFua1wiKTtcbn1cbnZhciBGb290ZXIgPSAoKSA9PiB7XG5cdGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcblx0Y29uc3QgeyBjb25maWdPcHRpb25zIH0gPSB1c2VDb25maWcoKTtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goV3JhcHBlciwge1xuXHRcdFwiZGF0YS10ZXN0aWRcIjogXCJmb290ZXJcIixcblx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeHMoSW5uZXIsIHsgY2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4cyhMZWZ0LCB7IGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChUcmFucywge1xuXHRcdFx0Y29tcG9uZW50czogWy8qIEBfX1BVUkVfXyAqLyBqc3goTG92ZSwge30sIFwibG92ZVwiKV0sXG5cdFx0XHRpMThuS2V5OiBcImZvb3Rlci5tYWRlLXdpdGgtbG92ZS1vblwiXG5cdFx0fSksIC8qIEBfX1BVUkVfXyAqLyBqc3hzKFRvb2xUaXAsIHsgY2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KFN0eWxlZEVhcnRoLCB7fSksIC8qIEBfX1BVUkVfXyAqLyBqc3hzKEZsYWdzLCB7IGNoaWxkcmVuOiBbXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KEljb24sIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goRmxhZ3NJY29uLkVTLCB7IHRpdGxlOiB0KFwiZmxhZy5zcGFpblwiKSB9KSB9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goSWNvbiwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChGbGFnc0ljb24uTkksIHsgdGl0bGU6IHQoXCJmbGFnLm5pY2FyYWd1YVwiKSB9KSB9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goSWNvbiwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChGbGFnc0ljb24uSU4sIHsgdGl0bGU6IHQoXCJmbGFnLmluZGlhXCIpIH0pIH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChJY29uLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEZsYWdzSWNvbi5CUiwgeyB0aXRsZTogdChcImZsYWcuYnJhemlsXCIpIH0pIH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChJY29uLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEZsYWdzSWNvbi5DTiwgeyB0aXRsZTogdChcImZsYWcuY2hpbmFcIikgfSkgfSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KEljb24sIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goRmxhZ3NJY29uLkFVLCB7IHRpdGxlOiB0KFwiZmxhZy5hdXN0cmFsaWFcIikgfSkgfSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KEljb24sIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goRmxhZ3NJY29uLkRFLCB7IHRpdGxlOiB0KFwiZmxhZy5nZXJtYW55XCIpIH0pIH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChJY29uLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEZsYWdzSWNvbi5UVywgeyB0aXRsZTogdChcImZsYWcudGFpd2FuXCIpIH0pIH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChJY29uLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEZsYWdzSWNvbi5BVCwgeyB0aXRsZTogdChcImZsYWcuYXVzdHJpYVwiKSB9KSB9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goSWNvbiwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChGbGFnc0ljb24uQ0EsIHsgdGl0bGU6IHQoXCJmbGFnLmNhbmFkYVwiKSB9KSB9KVxuXHRcdF0gfSldIH0pXSB9KSwgLyogQF9fUFVSRV9fICovIGpzeChSaWdodCwgeyBjaGlsZHJlbjogY29uZmlnT3B0aW9ucz8udmVyc2lvbiAmJiAvKiBAX19QVVJFX18gKi8ganN4cyhGcmFnbWVudCwgeyBjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goUG93ZXJlZEJ5LCB7XG5cdFx0XHRcImRhdGEtdGVzdGlkXCI6IFwidmVyc2lvbi1mb290ZXJcIixcblx0XHRcdGNoaWxkcmVuOiB0KFwiZm9vdGVyLnBvd2VyZWQtYnlcIilcblx0XHR9KSwgLyogQF9fUFVSRV9fICovIGpzeChMb2dvLCB7XG5cdFx0XHRpc0RlZmF1bHQ6IHRydWUsXG5cdFx0XHRvbkNsaWNrOiBnb1RvVmVyZGFjY2lvV2Vic2l0ZSxcblx0XHRcdHNpemU6IFwieC1zbWFsbFwiLFxuXHRcdFx0dGl0bGU6IGNvbmZpZ09wdGlvbnMudmVyc2lvblxuXHRcdH0pXSB9KSB9KV0gfSlcblx0fSk7XG59O1xudmFyIFBvd2VyZWRCeSA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwic3BhblwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlOWR3Z2E1NFwiIH0gOiB7XG5cdHRhcmdldDogXCJlOWR3Z2E1NFwiLFxuXHRsYWJlbDogXCJQb3dlcmVkQnlcIlxufSkoKCkgPT4gKHsgcGFkZGluZ1JpZ2h0OiBcIjVweFwiIH0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12Um05dmRHVnlMMFp2YjNSbGNpNTBjM2dpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCT0VWclFpSXNJbVpwYkdVaU9pSXZhRzl0WlM5eWRXNXVaWEl2ZDI5eWF5OTJaWEprWVdOamFXOHZkbVZ5WkdGalkybHZMM0JoWTJ0aFoyVnpMM1ZwTFdOdmJYQnZibVZ1ZEhNdmMzSmpMM05sWTNScGIyNXpMMFp2YjNSbGNpOUdiMjkwWlhJdWRITjRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSE4wZVd4bFpDQm1jbTl0SUNkQVpXMXZkR2x2Ymk5emRIbHNaV1FuTzF4dWFXMXdiM0owSUNvZ1lYTWdSbXhoWjNOSlkyOXVJR1p5YjIwZ0oyTnZkVzUwY25rdFpteGhaeTFwWTI5dWN5OXlaV0ZqZEM4emVESW5PMXh1YVcxd2IzSjBJRkpsWVdOMElHWnliMjBnSjNKbFlXTjBKenRjYm1sdGNHOXlkQ0I3SUZSeVlXNXpMQ0IxYzJWVWNtRnVjMnhoZEdsdmJpQjlJR1p5YjIwZ0ozSmxZV04wTFdreE9HNWxlSFFuTzF4dVhHNXBiWEJ2Y25RZ2RIbHdaU0I3SUZSb1pXMWxJSDBnWm5KdmJTQW5MaTR2TGk0dkp6dGNibWx0Y0c5eWRDQjdJRXh2WjI4c0lIVnpaVU52Ym1acFp5QjlJR1p5YjIwZ0p5NHVMeTR1THljN1hHNXBiWEJ2Y25RZ2V5QkZZWEowYUNCOUlHWnliMjBnSnk0dUx5NHVMMk52YlhCdmJtVnVkSE12U1dOdmJuTW5PMXh1YVcxd2IzSjBJSHNnU1c1dVpYSXNJRXhsWm5Rc0lFeHZkbVVzSUZKcFoyaDBMQ0JYY21Gd2NHVnlJSDBnWm5KdmJTQW5MaTl6ZEhsc1pYTW5PMXh1WEc1bWRXNWpkR2x2YmlCbmIxUnZWbVZ5WkdGalkybHZWMlZpYzJsMFpTZ3BPaUIyYjJsa0lIdGNiaUFnZDJsdVpHOTNMbTl3Wlc0b0oyaDBkSEJ6T2k4dmRtVnlaR0ZqWTJsdkxtOXlaeWNzSUNkZllteGhibXNuS1R0Y2JuMWNibHh1WTI5dWMzUWdSbTl2ZEdWeUlEMGdLQ2tnUFQ0Z2UxeHVJQ0JqYjI1emRDQjdJSFFnZlNBOUlIVnpaVlJ5WVc1emJHRjBhVzl1S0NrN1hHNGdJR052Ym5OMElIc2dZMjl1Wm1sblQzQjBhVzl1Y3lCOUlEMGdkWE5sUTI5dVptbG5LQ2s3WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEZkeVlYQndaWElnWkdGMFlTMTBaWE4wYVdROVhDSm1iMjkwWlhKY0lqNWNiaUFnSUNBZ0lEeEpibTVsY2o1Y2JpQWdJQ0FnSUNBZ1BFeGxablErWEc0Z0lDQWdJQ0FnSUNBZ1BGUnlZVzV6SUdOdmJYQnZibVZ1ZEhNOWUxczhURzkyWlNCclpYazlYQ0pzYjNabFhDSWdMejVkZlNCcE1UaHVTMlY1UFZ3aVptOXZkR1Z5TG0xaFpHVXRkMmwwYUMxc2IzWmxMVzl1WENJZ0x6NWNiaUFnSUNBZ0lDQWdJQ0E4Vkc5dmJGUnBjRDVjYmlBZ0lDQWdJQ0FnSUNBZ0lEeFRkSGxzWldSRllYSjBhQ0F2UGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRVpzWVdkelBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Um14aFozTkpZMjl1TGtWVElIUnBkR3hsUFh0MEtDZG1iR0ZuTG5Od1lXbHVKeWw5SUM4K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR3dlNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRWxqYjI0K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BFWnNZV2R6U1dOdmJpNU9TU0IwYVhSc1pUMTdkQ2duWm14aFp5NXVhV05oY21GbmRXRW5LWDBnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5SlkyOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThTV052Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFJteGhaM05KWTI5dUxrbE9JSFJwZEd4bFBYdDBLQ2RtYkdGbkxtbHVaR2xoSnlsOUlDOCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZTV052Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVsamIyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQRVpzWVdkelNXTnZiaTVDVWlCMGFYUnNaVDE3ZENnblpteGhaeTVpY21GNmFXd25LWDBnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5SlkyOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThTV052Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFJteGhaM05KWTI5dUxrTk9JSFJwZEd4bFBYdDBLQ2RtYkdGbkxtTm9hVzVoSnlsOUlDOCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZTV052Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVsamIyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQRVpzWVdkelNXTnZiaTVCVlNCMGFYUnNaVDE3ZENnblpteGhaeTVoZFhOMGNtRnNhV0VuS1gwZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BDOUpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThSbXhoWjNOSlkyOXVMa1JGSUhScGRHeGxQWHQwS0NkbWJHRm5MbWRsY20xaGJua25LWDBnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5SlkyOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThTV052Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFJteGhaM05KWTI5dUxsUlhJSFJwZEd4bFBYdDBLQ2RtYkdGbkxuUmhhWGRoYmljcGZTQXZQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThMMGxqYjI0K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR4SlkyOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHhHYkdGbmMwbGpiMjR1UVZRZ2RHbDBiR1U5ZTNRb0oyWnNZV2N1WVhWemRISnBZU2NwZlNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwwbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHhKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEdiR0ZuYzBsamIyNHVRMEVnZEdsMGJHVTllM1FvSjJac1lXY3VZMkZ1WVdSaEp5bDlJQzgrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHd2U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUR3dlJteGhaM00rWEc0Z0lDQWdJQ0FnSUNBZ1BDOVViMjlzVkdsd1BseHVJQ0FnSUNBZ0lDQThMMHhsWm5RK1hHNGdJQ0FnSUNBZ0lEeFNhV2RvZEQ1Y2JpQWdJQ0FnSUNBZ0lDQjdZMjl1Wm1sblQzQjBhVzl1Y3o4dWRtVnljMmx2YmlBbUppQW9YRzRnSUNBZ0lDQWdJQ0FnSUNBOFBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFVHOTNaWEpsWkVKNUlHUmhkR0V0ZEdWemRHbGtQVndpZG1WeWMybHZiaTFtYjI5MFpYSmNJajU3ZENnblptOXZkR1Z5TG5CdmQyVnlaV1F0WW5rbktYMDhMMUJ2ZDJWeVpXUkNlVDVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRXh2WjI5Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGMwUmxabUYxYkhROWUzUnlkV1Y5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjI1RGJHbGphejE3WjI5VWIxWmxjbVJoWTJOcGIxZGxZbk5wZEdWOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MybDZaVDFjSW5ndGMyMWhiR3hjSWx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhScGRHeGxQWHRqYjI1bWFXZFBjSFJwYjI1ekxuWmxjbk5wYjI1OVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUM4K1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4THo1Y2JpQWdJQ0FnSUNBZ0lDQXBmVnh1SUNBZ0lDQWdJQ0E4TDFKcFoyaDBQbHh1SUNBZ0lDQWdQQzlKYm01bGNqNWNiaUFnSUNBOEwxZHlZWEJ3WlhJK1hHNGdJQ2s3WEc1OU8xeHVYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQkdiMjkwWlhJN1hHNWNibU52Ym5OMElGQnZkMlZ5WldSQ2VTQTlJSE4wZVd4bFpDZ25jM0JoYmljcEtDZ3BJRDArSUNoN1hHNGdJSEJoWkdScGJtZFNhV2RvZERvZ0p6VndlQ2NzWEc1OUtTazdYRzVjYm1OdmJuTjBJRk4wZVd4bFpFVmhjblJvSUQwZ2MzUjViR1ZrS0VWaGNuUm9LVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ2JXRnlaMmx1T2lCMGFHVnRaUzV6Y0dGamFXNW5LREFzSURFcExGeHVmU2twTzF4dVhHNWpiMjV6ZENCR2JHRm5jeUE5SUhOMGVXeGxaQ2duYzNCaGJpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCa2FYTndiR0Y1T2lBbmFXNXNhVzVsTFdkeWFXUW5MRnh1SUNCbmNtbGtWR1Z0Y0d4aGRHVkRiMngxYlc1ek9pQW5jbVZ3WldGMEtERXdMQ0J0WVhndFkyOXVkR1Z1ZENrbkxGeHVJQ0JuY21sa1IyRndPaUIwYUdWdFpTNXpjR0ZqYVc1bktEQXNJREVwTEZ4dUlDQndiM05wZEdsdmJqb2dKMkZpYzI5c2RYUmxKeXhjYmlBZ1ltRmphMmR5YjNWdVpEb2dkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVRWFJvWlc1ekxGeHVJQ0J3WVdSa2FXNW5PaUFuTVhCNElEUndlQ2NzWEc0Z0lHSnZjbVJsY2xKaFpHbDFjem9nTXl4Y2JpQWdhR1ZwWjJoME9pQXlNQ3hjYmlBZ1lXeHBaMjVKZEdWdGN6b2dKMk5sYm5SbGNpY3NYRzRnSUhacGMybGlhV3hwZEhrNklDZG9hV1JrWlc0bkxGeHVJQ0IwYjNBNklDMHlMRnh1SUNBbk9tSmxabTl5WlNjNklIdGNiaUFnSUNCamIyNTBaVzUwT2lCY0lpY25YQ0lzWEc0Z0lDQWdjRzl6YVhScGIyNDZJQ2RoWW5OdmJIVjBaU2NzWEc0Z0lDQWdkRzl3T2lBbk1qa2xKeXhjYmlBZ0lDQnNaV1owT2lBdE5DeGNiaUFnSUNCdFlYSm5hVzVNWldaME9pQXROU3hjYmlBZ0lDQmliM0prWlhJNklDYzFjSGdnYzI5c2FXUW5MRnh1SUNBZ0lHSnZjbVJsY2tOdmJHOXlPaUJnSkh0MGFHVnRaUzV3WVd4bGRIUmxMbWR5WlhsQmRHaGxibk45SUhSeVlXNXpjR0Z5Wlc1MElIUnlZVzV6Y0dGeVpXNTBJSFJ5WVc1emNHRnlaVzUwWUN4Y2JpQWdJQ0IwY21GdWMyWnZjbTA2SUNkeWIzUmhkR1VvT1RCa1pXY3BKeXhjYmlBZ2ZTeGNibjBwS1R0Y2JseHVZMjl1YzNRZ1NXTnZiaUE5SUhOMGVXeGxaQ2duWkdsMkp5a29lMXh1SUNCM2FXUjBhRG9nSnpFd2NIZ25MRnh1ZlNrN1hHNWNibU52Ym5OMElGUnZiMnhVYVhBZ1BTQnpkSGxzWldRb0ozTndZVzRuS1NoN1hHNGdJSEJ2YzJsMGFXOXVPaUFuY21Wc1lYUnBkbVVuTEZ4dUlDQm9aV2xuYUhRNklDY3hPSEI0Snl4Y2JpQWdKenBvYjNabGNpYzZJSHRjYmlBZ0lDQmJZQ1I3Um14aFozTjlZRjA2SUh0Y2JpQWdJQ0FnSUhacGMybGlhV3hwZEhrNklDZDJhWE5wWW14bEp5eGNiaUFnSUNCOUxGeHVJQ0I5TEZ4dWZTazdYRzRpWFgwPSAqL1wiKTtcbnZhciBTdHlsZWRFYXJ0aCA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKEVhcnRoLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlOWR3Z2E1M1wiIH0gOiB7XG5cdHRhcmdldDogXCJlOWR3Z2E1M1wiLFxuXHRsYWJlbDogXCJTdHlsZWRFYXJ0aFwiXG59KSgoeyB0aGVtZSB9KSA9PiAoeyBtYXJnaW46IHRoZW1lLnNwYWNpbmcoMCwgMSkgfSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZSbTl2ZEdWeUwwWnZiM1JsY2k1MGMzZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJhMFp2UWlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwzTmxZM1JwYjI1ekwwWnZiM1JsY2k5R2IyOTBaWEl1ZEhONElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElITjBlV3hsWkNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl6ZEhsc1pXUW5PMXh1YVcxd2IzSjBJQ29nWVhNZ1JteGhaM05KWTI5dUlHWnliMjBnSjJOdmRXNTBjbmt0Wm14aFp5MXBZMjl1Y3k5eVpXRmpkQzh6ZURJbk8xeHVhVzF3YjNKMElGSmxZV04wSUdaeWIyMGdKM0psWVdOMEp6dGNibWx0Y0c5eWRDQjdJRlJ5WVc1ekxDQjFjMlZVY21GdWMyeGhkR2x2YmlCOUlHWnliMjBnSjNKbFlXTjBMV2t4T0c1bGVIUW5PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCN0lFeHZaMjhzSUhWelpVTnZibVpwWnlCOUlHWnliMjBnSnk0dUx5NHVMeWM3WEc1cGJYQnZjblFnZXlCRllYSjBhQ0I5SUdaeWIyMGdKeTR1THk0dUwyTnZiWEJ2Ym1WdWRITXZTV052Ym5Nbk8xeHVhVzF3YjNKMElIc2dTVzV1WlhJc0lFeGxablFzSUV4dmRtVXNJRkpwWjJoMExDQlhjbUZ3Y0dWeUlIMGdabkp2YlNBbkxpOXpkSGxzWlhNbk8xeHVYRzVtZFc1amRHbHZiaUJuYjFSdlZtVnlaR0ZqWTJsdlYyVmljMmwwWlNncE9pQjJiMmxrSUh0Y2JpQWdkMmx1Wkc5M0xtOXdaVzRvSjJoMGRIQnpPaTh2ZG1WeVpHRmpZMmx2TG05eVp5Y3NJQ2RmWW14aGJtc25LVHRjYm4xY2JseHVZMjl1YzNRZ1JtOXZkR1Z5SUQwZ0tDa2dQVDRnZTF4dUlDQmpiMjV6ZENCN0lIUWdmU0E5SUhWelpWUnlZVzV6YkdGMGFXOXVLQ2s3WEc0Z0lHTnZibk4wSUhzZ1kyOXVabWxuVDNCMGFXOXVjeUI5SUQwZ2RYTmxRMjl1Wm1sbktDazdYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRmR5WVhCd1pYSWdaR0YwWVMxMFpYTjBhV1E5WENKbWIyOTBaWEpjSWo1Y2JpQWdJQ0FnSUR4SmJtNWxjajVjYmlBZ0lDQWdJQ0FnUEV4bFpuUStYRzRnSUNBZ0lDQWdJQ0FnUEZSeVlXNXpJR052YlhCdmJtVnVkSE05ZTFzOFRHOTJaU0JyWlhrOVhDSnNiM1psWENJZ0x6NWRmU0JwTVRodVMyVjVQVndpWm05dmRHVnlMbTFoWkdVdGQybDBhQzFzYjNabExXOXVYQ0lnTHo1Y2JpQWdJQ0FnSUNBZ0lDQThWRzl2YkZScGNENWNiaUFnSUNBZ0lDQWdJQ0FnSUR4VGRIbHNaV1JGWVhKMGFDQXZQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BFWnNZV2R6UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThSbXhoWjNOSlkyOXVMa1ZUSUhScGRHeGxQWHQwS0NkbWJHRm5Mbk53WVdsdUp5bDlJQzgrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHd2U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVac1lXZHpTV052Ymk1T1NTQjBhWFJzWlQxN2RDZ25abXhoWnk1dWFXTmhjbUZuZFdFbktYMGdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Um14aFozTkpZMjl1TGtsT0lIUnBkR3hsUFh0MEtDZG1iR0ZuTG1sdVpHbGhKeWw5SUM4K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR3dlNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRWxqYjI0K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BFWnNZV2R6U1dOdmJpNUNVaUIwYVhSc1pUMTdkQ2duWm14aFp5NWljbUY2YVd3bktYMGdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Um14aFozTkpZMjl1TGtOT0lIUnBkR3hsUFh0MEtDZG1iR0ZuTG1Ob2FXNWhKeWw5SUM4K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR3dlNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRWxqYjI0K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BFWnNZV2R6U1dOdmJpNUJWU0IwYVhSc1pUMTdkQ2duWm14aFp5NWhkWE4wY21Gc2FXRW5LWDBnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5SlkyOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThTV052Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFJteGhaM05KWTI5dUxrUkZJSFJwZEd4bFBYdDBLQ2RtYkdGbkxtZGxjbTFoYm5rbktYMGdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Um14aFozTkpZMjl1TGxSWElIUnBkR3hsUFh0MEtDZG1iR0ZuTG5SaGFYZGhiaWNwZlNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwwbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHhKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEdiR0ZuYzBsamIyNHVRVlFnZEdsMGJHVTllM1FvSjJac1lXY3VZWFZ6ZEhKcFlTY3BmU0F2UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDBsamIyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4R2JHRm5jMGxqYjI0dVEwRWdkR2wwYkdVOWUzUW9KMlpzWVdjdVkyRnVZV1JoSnlsOUlDOCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZTV052Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHd2Um14aFozTStYRzRnSUNBZ0lDQWdJQ0FnUEM5VWIyOXNWR2x3UGx4dUlDQWdJQ0FnSUNBOEwweGxablErWEc0Z0lDQWdJQ0FnSUR4U2FXZG9kRDVjYmlBZ0lDQWdJQ0FnSUNCN1kyOXVabWxuVDNCMGFXOXVjejh1ZG1WeWMybHZiaUFtSmlBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4VUc5M1pYSmxaRUo1SUdSaGRHRXRkR1Z6ZEdsa1BWd2lkbVZ5YzJsdmJpMW1iMjkwWlhKY0lqNTdkQ2duWm05dmRHVnlMbkJ2ZDJWeVpXUXRZbmtuS1gwOEwxQnZkMlZ5WldSQ2VUNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFeHZaMjljYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwYzBSbFptRjFiSFE5ZTNSeWRXVjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMjVEYkdsamF6MTdaMjlVYjFabGNtUmhZMk5wYjFkbFluTnBkR1Y5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzJsNlpUMWNJbmd0YzIxaGJHeGNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJwZEd4bFBYdGpiMjVtYVdkUGNIUnBiMjV6TG5abGNuTnBiMjU5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzgrWEc0Z0lDQWdJQ0FnSUNBZ0lDQThMejVjYmlBZ0lDQWdJQ0FnSUNBcGZWeHVJQ0FnSUNBZ0lDQThMMUpwWjJoMFBseHVJQ0FnSUNBZ1BDOUpibTVsY2o1Y2JpQWdJQ0E4TDFkeVlYQndaWEkrWEc0Z0lDazdYRzU5TzF4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCR2IyOTBaWEk3WEc1Y2JtTnZibk4wSUZCdmQyVnlaV1JDZVNBOUlITjBlV3hsWkNnbmMzQmhiaWNwS0NncElEMCtJQ2g3WEc0Z0lIQmhaR1JwYm1kU2FXZG9kRG9nSnpWd2VDY3NYRzU5S1NrN1hHNWNibU52Ym5OMElGTjBlV3hsWkVWaGNuUm9JRDBnYzNSNWJHVmtLRVZoY25Sb0tUeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LSHNnZEdobGJXVWdmU2tnUFQ0Z0tIdGNiaUFnYldGeVoybHVPaUIwYUdWdFpTNXpjR0ZqYVc1bktEQXNJREVwTEZ4dWZTa3BPMXh1WEc1amIyNXpkQ0JHYkdGbmN5QTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JrYVhOd2JHRjVPaUFuYVc1c2FXNWxMV2R5YVdRbkxGeHVJQ0JuY21sa1ZHVnRjR3hoZEdWRGIyeDFiVzV6T2lBbmNtVndaV0YwS0RFd0xDQnRZWGd0WTI5dWRHVnVkQ2tuTEZ4dUlDQm5jbWxrUjJGd09pQjBhR1Z0WlM1emNHRmphVzVuS0RBc0lERXBMRnh1SUNCd2IzTnBkR2x2YmpvZ0oyRmljMjlzZFhSbEp5eGNiaUFnWW1GamEyZHliM1Z1WkRvZ2RHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVFYUm9aVzV6TEZ4dUlDQndZV1JrYVc1bk9pQW5NWEI0SURSd2VDY3NYRzRnSUdKdmNtUmxjbEpoWkdsMWN6b2dNeXhjYmlBZ2FHVnBaMmgwT2lBeU1DeGNiaUFnWVd4cFoyNUpkR1Z0Y3pvZ0oyTmxiblJsY2ljc1hHNGdJSFpwYzJsaWFXeHBkSGs2SUNkb2FXUmtaVzRuTEZ4dUlDQjBiM0E2SUMweUxGeHVJQ0FuT21KbFptOXlaU2M2SUh0Y2JpQWdJQ0JqYjI1MFpXNTBPaUJjSWljblhDSXNYRzRnSUNBZ2NHOXphWFJwYjI0NklDZGhZbk52YkhWMFpTY3NYRzRnSUNBZ2RHOXdPaUFuTWprbEp5eGNiaUFnSUNCc1pXWjBPaUF0TkN4Y2JpQWdJQ0J0WVhKbmFXNU1aV1owT2lBdE5TeGNiaUFnSUNCaWIzSmtaWEk2SUNjMWNIZ2djMjlzYVdRbkxGeHVJQ0FnSUdKdmNtUmxja052Ykc5eU9pQmdKSHQwYUdWdFpTNXdZV3hsZEhSbExtZHlaWGxCZEdobGJuTjlJSFJ5WVc1emNHRnlaVzUwSUhSeVlXNXpjR0Z5Wlc1MElIUnlZVzV6Y0dGeVpXNTBZQ3hjYmlBZ0lDQjBjbUZ1YzJadmNtMDZJQ2R5YjNSaGRHVW9PVEJrWldjcEp5eGNiaUFnZlN4Y2JuMHBLVHRjYmx4dVkyOXVjM1FnU1dOdmJpQTlJSE4wZVd4bFpDZ25aR2wySnlrb2UxeHVJQ0IzYVdSMGFEb2dKekV3Y0hnbkxGeHVmU2s3WEc1Y2JtTnZibk4wSUZSdmIyeFVhWEFnUFNCemRIbHNaV1FvSjNOd1lXNG5LU2g3WEc0Z0lIQnZjMmwwYVc5dU9pQW5jbVZzWVhScGRtVW5MRnh1SUNCb1pXbG5hSFE2SUNjeE9IQjRKeXhjYmlBZ0p6cG9iM1psY2ljNklIdGNiaUFnSUNCYllDUjdSbXhoWjNOOVlGMDZJSHRjYmlBZ0lDQWdJSFpwYzJsaWFXeHBkSGs2SUNkMmFYTnBZbXhsSnl4Y2JpQWdJQ0I5TEZ4dUlDQjlMRnh1ZlNrN1hHNGlYWDA9ICovXCIpO1xudmFyIEZsYWdzID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJzcGFuXCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImU5ZHdnYTUyXCIgfSA6IHtcblx0dGFyZ2V0OiBcImU5ZHdnYTUyXCIsXG5cdGxhYmVsOiBcIkZsYWdzXCJcbn0pKCh7IHRoZW1lIH0pID0+ICh7XG5cdGRpc3BsYXk6IFwiaW5saW5lLWdyaWRcIixcblx0Z3JpZFRlbXBsYXRlQ29sdW1uczogXCJyZXBlYXQoMTAsIG1heC1jb250ZW50KVwiLFxuXHRncmlkR2FwOiB0aGVtZS5zcGFjaW5nKDAsIDEpLFxuXHRwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuXHRiYWNrZ3JvdW5kOiB0aGVtZS5wYWxldHRlLmdyZXlBdGhlbnMsXG5cdHBhZGRpbmc6IFwiMXB4IDRweFwiLFxuXHRib3JkZXJSYWRpdXM6IDMsXG5cdGhlaWdodDogMjAsXG5cdGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG5cdHZpc2liaWxpdHk6IFwiaGlkZGVuXCIsXG5cdHRvcDogLTIsXG5cdFwiOmJlZm9yZVwiOiB7XG5cdFx0Y29udGVudDogXCInJ1wiLFxuXHRcdHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG5cdFx0dG9wOiBcIjI5JVwiLFxuXHRcdGxlZnQ6IC00LFxuXHRcdG1hcmdpbkxlZnQ6IC01LFxuXHRcdGJvcmRlcjogXCI1cHggc29saWRcIixcblx0XHRib3JkZXJDb2xvcjogYCR7dGhlbWUucGFsZXR0ZS5ncmV5QXRoZW5zfSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudGAsXG5cdFx0dHJhbnNmb3JtOiBcInJvdGF0ZSg5MGRlZylcIlxuXHR9XG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlJtOXZkR1Z5TDBadmIzUmxjaTUwYzNnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQmMwWmpJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12Um05dmRHVnlMMFp2YjNSbGNpNTBjM2dpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnYzNSNWJHVmtJR1p5YjIwZ0owQmxiVzkwYVc5dUwzTjBlV3hsWkNjN1hHNXBiWEJ2Y25RZ0tpQmhjeUJHYkdGbmMwbGpiMjRnWm5KdmJTQW5ZMjkxYm5SeWVTMW1iR0ZuTFdsamIyNXpMM0psWVdOMEx6TjRNaWM3WEc1cGJYQnZjblFnVW1WaFkzUWdabkp2YlNBbmNtVmhZM1FuTzF4dWFXMXdiM0owSUhzZ1ZISmhibk1zSUhWelpWUnlZVzV6YkdGMGFXOXVJSDBnWm5KdmJTQW5jbVZoWTNRdGFURTRibVY0ZENjN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOG5PMXh1YVcxd2IzSjBJSHNnVEc5bmJ5d2dkWE5sUTI5dVptbG5JSDBnWm5KdmJTQW5MaTR2TGk0dkp6dGNibWx0Y0c5eWRDQjdJRVZoY25Sb0lIMGdabkp2YlNBbkxpNHZMaTR2WTI5dGNHOXVaVzUwY3k5SlkyOXVjeWM3WEc1cGJYQnZjblFnZXlCSmJtNWxjaXdnVEdWbWRDd2dURzkyWlN3Z1VtbG5hSFFzSUZkeVlYQndaWElnZlNCbWNtOXRJQ2N1TDNOMGVXeGxjeWM3WEc1Y2JtWjFibU4wYVc5dUlHZHZWRzlXWlhKa1lXTmphVzlYWldKemFYUmxLQ2s2SUhadmFXUWdlMXh1SUNCM2FXNWtiM2N1YjNCbGJpZ25hSFIwY0hNNkx5OTJaWEprWVdOamFXOHViM0puSnl3Z0oxOWliR0Z1YXljcE8xeHVmVnh1WEc1amIyNXpkQ0JHYjI5MFpYSWdQU0FvS1NBOVBpQjdYRzRnSUdOdmJuTjBJSHNnZENCOUlEMGdkWE5sVkhKaGJuTnNZWFJwYjI0b0tUdGNiaUFnWTI5dWMzUWdleUJqYjI1bWFXZFBjSFJwYjI1eklIMGdQU0IxYzJWRGIyNW1hV2NvS1R0Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNBOFYzSmhjSEJsY2lCa1lYUmhMWFJsYzNScFpEMWNJbVp2YjNSbGNsd2lQbHh1SUNBZ0lDQWdQRWx1Ym1WeVBseHVJQ0FnSUNBZ0lDQThUR1ZtZEQ1Y2JpQWdJQ0FnSUNBZ0lDQThWSEpoYm5NZ1kyOXRjRzl1Wlc1MGN6MTdXenhNYjNabElHdGxlVDFjSW14dmRtVmNJaUF2UGwxOUlHa3hPRzVMWlhrOVhDSm1iMjkwWlhJdWJXRmtaUzEzYVhSb0xXeHZkbVV0YjI1Y0lpQXZQbHh1SUNBZ0lDQWdJQ0FnSUR4VWIyOXNWR2x3UGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRk4wZVd4bFpFVmhjblJvSUM4K1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4Um14aFozTStYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4R2JHRm5jMGxqYjI0dVJWTWdkR2wwYkdVOWUzUW9KMlpzWVdjdWMzQmhhVzRuS1gwZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BDOUpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThSbXhoWjNOSlkyOXVMazVKSUhScGRHeGxQWHQwS0NkbWJHRm5MbTVwWTJGeVlXZDFZU2NwZlNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwwbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHhKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEdiR0ZuYzBsamIyNHVTVTRnZEdsMGJHVTllM1FvSjJac1lXY3VhVzVrYVdFbktYMGdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Um14aFozTkpZMjl1TGtKU0lIUnBkR3hsUFh0MEtDZG1iR0ZuTG1KeVlYcHBiQ2NwZlNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwwbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHhKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEdiR0ZuYzBsamIyNHVRMDRnZEdsMGJHVTllM1FvSjJac1lXY3VZMmhwYm1FbktYMGdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Um14aFozTkpZMjl1TGtGVklIUnBkR3hsUFh0MEtDZG1iR0ZuTG1GMWMzUnlZV3hwWVNjcGZTQXZQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThMMGxqYjI0K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR4SlkyOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHhHYkdGbmMwbGpiMjR1UkVVZ2RHbDBiR1U5ZTNRb0oyWnNZV2N1WjJWeWJXRnVlU2NwZlNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwwbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHhKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEdiR0ZuYzBsamIyNHVWRmNnZEdsMGJHVTllM1FvSjJac1lXY3VkR0ZwZDJGdUp5bDlJQzgrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHd2U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVac1lXZHpTV052Ymk1QlZDQjBhWFJzWlQxN2RDZ25abXhoWnk1aGRYTjBjbWxoSnlsOUlDOCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZTV052Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVsamIyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQRVpzWVdkelNXTnZiaTVEUVNCMGFYUnNaVDE3ZENnblpteGhaeTVqWVc1aFpHRW5LWDBnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5SlkyOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BDOUdiR0ZuY3o1Y2JpQWdJQ0FnSUNBZ0lDQThMMVJ2YjJ4VWFYQStYRzRnSUNBZ0lDQWdJRHd2VEdWbWRENWNiaUFnSUNBZ0lDQWdQRkpwWjJoMFBseHVJQ0FnSUNBZ0lDQWdJSHRqYjI1bWFXZFBjSFJwYjI1elB5NTJaWEp6YVc5dUlDWW1JQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lEdytYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEeFFiM2RsY21Wa1Fua2daR0YwWVMxMFpYTjBhV1E5WENKMlpYSnphVzl1TFdadmIzUmxjbHdpUG50MEtDZG1iMjkwWlhJdWNHOTNaWEpsWkMxaWVTY3BmVHd2VUc5M1pYSmxaRUo1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4VEc5bmIxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbHpSR1ZtWVhWc2REMTdkSEoxWlgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrTnNhV05yUFh0bmIxUnZWbVZ5WkdGalkybHZWMlZpYzJsMFpYMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnphWHBsUFZ3aWVDMXpiV0ZzYkZ3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHbDBiR1U5ZTJOdmJtWnBaMDl3ZEdsdmJuTXVkbVZ5YzJsdmJuMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUR3dlBseHVJQ0FnSUNBZ0lDQWdJQ2w5WEc0Z0lDQWdJQ0FnSUR3dlVtbG5hSFErWEc0Z0lDQWdJQ0E4TDBsdWJtVnlQbHh1SUNBZ0lEd3ZWM0poY0hCbGNqNWNiaUFnS1R0Y2JuMDdYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJRVp2YjNSbGNqdGNibHh1WTI5dWMzUWdVRzkzWlhKbFpFSjVJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5a29LQ2tnUFQ0Z0tIdGNiaUFnY0dGa1pHbHVaMUpwWjJoME9pQW5OWEI0Snl4Y2JuMHBLVHRjYmx4dVkyOXVjM1FnVTNSNWJHVmtSV0Z5ZEdnZ1BTQnpkSGxzWldRb1JXRnlkR2dwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQnRZWEpuYVc0NklIUm9aVzFsTG5Od1lXTnBibWNvTUN3Z01Ta3NYRzU5S1NrN1hHNWNibU52Ym5OMElFWnNZV2R6SUQwZ2MzUjViR1ZrS0NkemNHRnVKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHUnBjM0JzWVhrNklDZHBibXhwYm1VdFozSnBaQ2NzWEc0Z0lHZHlhV1JVWlcxd2JHRjBaVU52YkhWdGJuTTZJQ2R5WlhCbFlYUW9NVEFzSUcxaGVDMWpiMjUwWlc1MEtTY3NYRzRnSUdkeWFXUkhZWEE2SUhSb1pXMWxMbk53WVdOcGJtY29NQ3dnTVNrc1hHNGdJSEJ2YzJsMGFXOXVPaUFuWVdKemIyeDFkR1VuTEZ4dUlDQmlZV05yWjNKdmRXNWtPaUIwYUdWdFpTNXdZV3hsZEhSbExtZHlaWGxCZEdobGJuTXNYRzRnSUhCaFpHUnBibWM2SUNjeGNIZ2dOSEI0Snl4Y2JpQWdZbTl5WkdWeVVtRmthWFZ6T2lBekxGeHVJQ0JvWldsbmFIUTZJREl3TEZ4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYmlBZ2RtbHphV0pwYkdsMGVUb2dKMmhwWkdSbGJpY3NYRzRnSUhSdmNEb2dMVElzWEc0Z0lDYzZZbVZtYjNKbEp6b2dlMXh1SUNBZ0lHTnZiblJsYm5RNklGd2lKeWRjSWl4Y2JpQWdJQ0J3YjNOcGRHbHZiam9nSjJGaWMyOXNkWFJsSnl4Y2JpQWdJQ0IwYjNBNklDY3lPU1VuTEZ4dUlDQWdJR3hsWm5RNklDMDBMRnh1SUNBZ0lHMWhjbWRwYmt4bFpuUTZJQzAxTEZ4dUlDQWdJR0p2Y21SbGNqb2dKelZ3ZUNCemIyeHBaQ2NzWEc0Z0lDQWdZbTl5WkdWeVEyOXNiM0k2SUdBa2UzUm9aVzFsTG5CaGJHVjBkR1V1WjNKbGVVRjBhR1Z1YzMwZ2RISmhibk53WVhKbGJuUWdkSEpoYm5Od1lYSmxiblFnZEhKaGJuTndZWEpsYm5SZ0xGeHVJQ0FnSUhSeVlXNXpabTl5YlRvZ0ozSnZkR0YwWlNnNU1HUmxaeWtuTEZ4dUlDQjlMRnh1ZlNrcE8xeHVYRzVqYjI1emRDQkpZMjl1SUQwZ2MzUjViR1ZrS0Nka2FYWW5LU2g3WEc0Z0lIZHBaSFJvT2lBbk1UQndlQ2NzWEc1OUtUdGNibHh1WTI5dWMzUWdWRzl2YkZScGNDQTlJSE4wZVd4bFpDZ25jM0JoYmljcEtIdGNiaUFnY0c5emFYUnBiMjQ2SUNkeVpXeGhkR2wyWlNjc1hHNGdJR2hsYVdkb2REb2dKekU0Y0hnbkxGeHVJQ0FuT21odmRtVnlKem9nZTF4dUlDQWdJRnRnSkh0R2JHRm5jMzFnWFRvZ2UxeHVJQ0FnSUNBZ2RtbHphV0pwYkdsMGVUb2dKM1pwYzJsaWJHVW5MRnh1SUNBZ0lIMHNYRzRnSUgwc1hHNTlLVHRjYmlKZGZRPT0gKi9cIik7XG52YXIgSWNvbiA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwiZGl2XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImU5ZHdnYTUxXCIgfSA6IHtcblx0dGFyZ2V0OiBcImU5ZHdnYTUxXCIsXG5cdGxhYmVsOiBcIkljb25cIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjFnMmwwYTlcIixcblx0c3R5bGVzOiBcIndpZHRoOjEwcHhcIlxufSA6IHtcblx0bmFtZTogXCIxZzJsMGE5XCIsXG5cdHN0eWxlczogXCJ3aWR0aDoxMHB4LyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlJtOXZkR1Z5TDBadmIzUmxjaTUwYzNnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQk9FZGhJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12Um05dmRHVnlMMFp2YjNSbGNpNTBjM2dpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnYzNSNWJHVmtJR1p5YjIwZ0owQmxiVzkwYVc5dUwzTjBlV3hsWkNjN1hHNXBiWEJ2Y25RZ0tpQmhjeUJHYkdGbmMwbGpiMjRnWm5KdmJTQW5ZMjkxYm5SeWVTMW1iR0ZuTFdsamIyNXpMM0psWVdOMEx6TjRNaWM3WEc1cGJYQnZjblFnVW1WaFkzUWdabkp2YlNBbmNtVmhZM1FuTzF4dWFXMXdiM0owSUhzZ1ZISmhibk1zSUhWelpWUnlZVzV6YkdGMGFXOXVJSDBnWm5KdmJTQW5jbVZoWTNRdGFURTRibVY0ZENjN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOG5PMXh1YVcxd2IzSjBJSHNnVEc5bmJ5d2dkWE5sUTI5dVptbG5JSDBnWm5KdmJTQW5MaTR2TGk0dkp6dGNibWx0Y0c5eWRDQjdJRVZoY25Sb0lIMGdabkp2YlNBbkxpNHZMaTR2WTI5dGNHOXVaVzUwY3k5SlkyOXVjeWM3WEc1cGJYQnZjblFnZXlCSmJtNWxjaXdnVEdWbWRDd2dURzkyWlN3Z1VtbG5hSFFzSUZkeVlYQndaWElnZlNCbWNtOXRJQ2N1TDNOMGVXeGxjeWM3WEc1Y2JtWjFibU4wYVc5dUlHZHZWRzlXWlhKa1lXTmphVzlYWldKemFYUmxLQ2s2SUhadmFXUWdlMXh1SUNCM2FXNWtiM2N1YjNCbGJpZ25hSFIwY0hNNkx5OTJaWEprWVdOamFXOHViM0puSnl3Z0oxOWliR0Z1YXljcE8xeHVmVnh1WEc1amIyNXpkQ0JHYjI5MFpYSWdQU0FvS1NBOVBpQjdYRzRnSUdOdmJuTjBJSHNnZENCOUlEMGdkWE5sVkhKaGJuTnNZWFJwYjI0b0tUdGNiaUFnWTI5dWMzUWdleUJqYjI1bWFXZFBjSFJwYjI1eklIMGdQU0IxYzJWRGIyNW1hV2NvS1R0Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNBOFYzSmhjSEJsY2lCa1lYUmhMWFJsYzNScFpEMWNJbVp2YjNSbGNsd2lQbHh1SUNBZ0lDQWdQRWx1Ym1WeVBseHVJQ0FnSUNBZ0lDQThUR1ZtZEQ1Y2JpQWdJQ0FnSUNBZ0lDQThWSEpoYm5NZ1kyOXRjRzl1Wlc1MGN6MTdXenhNYjNabElHdGxlVDFjSW14dmRtVmNJaUF2UGwxOUlHa3hPRzVMWlhrOVhDSm1iMjkwWlhJdWJXRmtaUzEzYVhSb0xXeHZkbVV0YjI1Y0lpQXZQbHh1SUNBZ0lDQWdJQ0FnSUR4VWIyOXNWR2x3UGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRk4wZVd4bFpFVmhjblJvSUM4K1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4Um14aFozTStYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4R2JHRm5jMGxqYjI0dVJWTWdkR2wwYkdVOWUzUW9KMlpzWVdjdWMzQmhhVzRuS1gwZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BDOUpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThSbXhoWjNOSlkyOXVMazVKSUhScGRHeGxQWHQwS0NkbWJHRm5MbTVwWTJGeVlXZDFZU2NwZlNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwwbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHhKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEdiR0ZuYzBsamIyNHVTVTRnZEdsMGJHVTllM1FvSjJac1lXY3VhVzVrYVdFbktYMGdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Um14aFozTkpZMjl1TGtKU0lIUnBkR3hsUFh0MEtDZG1iR0ZuTG1KeVlYcHBiQ2NwZlNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwwbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHhKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEdiR0ZuYzBsamIyNHVRMDRnZEdsMGJHVTllM1FvSjJac1lXY3VZMmhwYm1FbktYMGdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Um14aFozTkpZMjl1TGtGVklIUnBkR3hsUFh0MEtDZG1iR0ZuTG1GMWMzUnlZV3hwWVNjcGZTQXZQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThMMGxqYjI0K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR4SlkyOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHhHYkdGbmMwbGpiMjR1UkVVZ2RHbDBiR1U5ZTNRb0oyWnNZV2N1WjJWeWJXRnVlU2NwZlNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwwbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHhKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEdiR0ZuYzBsamIyNHVWRmNnZEdsMGJHVTllM1FvSjJac1lXY3VkR0ZwZDJGdUp5bDlJQzgrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHd2U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVac1lXZHpTV052Ymk1QlZDQjBhWFJzWlQxN2RDZ25abXhoWnk1aGRYTjBjbWxoSnlsOUlDOCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZTV052Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVsamIyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQRVpzWVdkelNXTnZiaTVEUVNCMGFYUnNaVDE3ZENnblpteGhaeTVqWVc1aFpHRW5LWDBnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5SlkyOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BDOUdiR0ZuY3o1Y2JpQWdJQ0FnSUNBZ0lDQThMMVJ2YjJ4VWFYQStYRzRnSUNBZ0lDQWdJRHd2VEdWbWRENWNiaUFnSUNBZ0lDQWdQRkpwWjJoMFBseHVJQ0FnSUNBZ0lDQWdJSHRqYjI1bWFXZFBjSFJwYjI1elB5NTJaWEp6YVc5dUlDWW1JQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lEdytYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEeFFiM2RsY21Wa1Fua2daR0YwWVMxMFpYTjBhV1E5WENKMlpYSnphVzl1TFdadmIzUmxjbHdpUG50MEtDZG1iMjkwWlhJdWNHOTNaWEpsWkMxaWVTY3BmVHd2VUc5M1pYSmxaRUo1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4VEc5bmIxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbHpSR1ZtWVhWc2REMTdkSEoxWlgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrTnNhV05yUFh0bmIxUnZWbVZ5WkdGalkybHZWMlZpYzJsMFpYMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnphWHBsUFZ3aWVDMXpiV0ZzYkZ3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHbDBiR1U5ZTJOdmJtWnBaMDl3ZEdsdmJuTXVkbVZ5YzJsdmJuMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUR3dlBseHVJQ0FnSUNBZ0lDQWdJQ2w5WEc0Z0lDQWdJQ0FnSUR3dlVtbG5hSFErWEc0Z0lDQWdJQ0E4TDBsdWJtVnlQbHh1SUNBZ0lEd3ZWM0poY0hCbGNqNWNiaUFnS1R0Y2JuMDdYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJRVp2YjNSbGNqdGNibHh1WTI5dWMzUWdVRzkzWlhKbFpFSjVJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5a29LQ2tnUFQ0Z0tIdGNiaUFnY0dGa1pHbHVaMUpwWjJoME9pQW5OWEI0Snl4Y2JuMHBLVHRjYmx4dVkyOXVjM1FnVTNSNWJHVmtSV0Z5ZEdnZ1BTQnpkSGxzWldRb1JXRnlkR2dwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQnRZWEpuYVc0NklIUm9aVzFsTG5Od1lXTnBibWNvTUN3Z01Ta3NYRzU5S1NrN1hHNWNibU52Ym5OMElFWnNZV2R6SUQwZ2MzUjViR1ZrS0NkemNHRnVKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHUnBjM0JzWVhrNklDZHBibXhwYm1VdFozSnBaQ2NzWEc0Z0lHZHlhV1JVWlcxd2JHRjBaVU52YkhWdGJuTTZJQ2R5WlhCbFlYUW9NVEFzSUcxaGVDMWpiMjUwWlc1MEtTY3NYRzRnSUdkeWFXUkhZWEE2SUhSb1pXMWxMbk53WVdOcGJtY29NQ3dnTVNrc1hHNGdJSEJ2YzJsMGFXOXVPaUFuWVdKemIyeDFkR1VuTEZ4dUlDQmlZV05yWjNKdmRXNWtPaUIwYUdWdFpTNXdZV3hsZEhSbExtZHlaWGxCZEdobGJuTXNYRzRnSUhCaFpHUnBibWM2SUNjeGNIZ2dOSEI0Snl4Y2JpQWdZbTl5WkdWeVVtRmthWFZ6T2lBekxGeHVJQ0JvWldsbmFIUTZJREl3TEZ4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYmlBZ2RtbHphV0pwYkdsMGVUb2dKMmhwWkdSbGJpY3NYRzRnSUhSdmNEb2dMVElzWEc0Z0lDYzZZbVZtYjNKbEp6b2dlMXh1SUNBZ0lHTnZiblJsYm5RNklGd2lKeWRjSWl4Y2JpQWdJQ0J3YjNOcGRHbHZiam9nSjJGaWMyOXNkWFJsSnl4Y2JpQWdJQ0IwYjNBNklDY3lPU1VuTEZ4dUlDQWdJR3hsWm5RNklDMDBMRnh1SUNBZ0lHMWhjbWRwYmt4bFpuUTZJQzAxTEZ4dUlDQWdJR0p2Y21SbGNqb2dKelZ3ZUNCemIyeHBaQ2NzWEc0Z0lDQWdZbTl5WkdWeVEyOXNiM0k2SUdBa2UzUm9aVzFsTG5CaGJHVjBkR1V1WjNKbGVVRjBhR1Z1YzMwZ2RISmhibk53WVhKbGJuUWdkSEpoYm5Od1lYSmxiblFnZEhKaGJuTndZWEpsYm5SZ0xGeHVJQ0FnSUhSeVlXNXpabTl5YlRvZ0ozSnZkR0YwWlNnNU1HUmxaeWtuTEZ4dUlDQjlMRnh1ZlNrcE8xeHVYRzVqYjI1emRDQkpZMjl1SUQwZ2MzUjViR1ZrS0Nka2FYWW5LU2g3WEc0Z0lIZHBaSFJvT2lBbk1UQndlQ2NzWEc1OUtUdGNibHh1WTI5dWMzUWdWRzl2YkZScGNDQTlJSE4wZVd4bFpDZ25jM0JoYmljcEtIdGNiaUFnY0c5emFYUnBiMjQ2SUNkeVpXeGhkR2wyWlNjc1hHNGdJR2hsYVdkb2REb2dKekU0Y0hnbkxGeHVJQ0FuT21odmRtVnlKem9nZTF4dUlDQWdJRnRnSkh0R2JHRm5jMzFnWFRvZ2UxeHVJQ0FnSUNBZ2RtbHphV0pwYkdsMGVUb2dKM1pwYzJsaWJHVW5MRnh1SUNBZ0lIMHNYRzRnSUgwc1hHNTlLVHRjYmlKZGZRPT0gKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBUb29sVGlwID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJzcGFuXCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImU5ZHdnYTUwXCIgfSA6IHtcblx0dGFyZ2V0OiBcImU5ZHdnYTUwXCIsXG5cdGxhYmVsOiBcIlRvb2xUaXBcIlxufSkoe1xuXHRwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxuXHRoZWlnaHQ6IFwiMThweFwiLFxuXHRcIjpob3ZlclwiOiB7IFtgJHtGbGFnc31gXTogeyB2aXNpYmlsaXR5OiBcInZpc2libGVcIiB9IH1cbn0sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZSbTl2ZEdWeUwwWnZiM1JsY2k1MGMzZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJhMGhuUWlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwzTmxZM1JwYjI1ekwwWnZiM1JsY2k5R2IyOTBaWEl1ZEhONElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElITjBlV3hsWkNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl6ZEhsc1pXUW5PMXh1YVcxd2IzSjBJQ29nWVhNZ1JteGhaM05KWTI5dUlHWnliMjBnSjJOdmRXNTBjbmt0Wm14aFp5MXBZMjl1Y3k5eVpXRmpkQzh6ZURJbk8xeHVhVzF3YjNKMElGSmxZV04wSUdaeWIyMGdKM0psWVdOMEp6dGNibWx0Y0c5eWRDQjdJRlJ5WVc1ekxDQjFjMlZVY21GdWMyeGhkR2x2YmlCOUlHWnliMjBnSjNKbFlXTjBMV2t4T0c1bGVIUW5PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCN0lFeHZaMjhzSUhWelpVTnZibVpwWnlCOUlHWnliMjBnSnk0dUx5NHVMeWM3WEc1cGJYQnZjblFnZXlCRllYSjBhQ0I5SUdaeWIyMGdKeTR1THk0dUwyTnZiWEJ2Ym1WdWRITXZTV052Ym5Nbk8xeHVhVzF3YjNKMElIc2dTVzV1WlhJc0lFeGxablFzSUV4dmRtVXNJRkpwWjJoMExDQlhjbUZ3Y0dWeUlIMGdabkp2YlNBbkxpOXpkSGxzWlhNbk8xeHVYRzVtZFc1amRHbHZiaUJuYjFSdlZtVnlaR0ZqWTJsdlYyVmljMmwwWlNncE9pQjJiMmxrSUh0Y2JpQWdkMmx1Wkc5M0xtOXdaVzRvSjJoMGRIQnpPaTh2ZG1WeVpHRmpZMmx2TG05eVp5Y3NJQ2RmWW14aGJtc25LVHRjYm4xY2JseHVZMjl1YzNRZ1JtOXZkR1Z5SUQwZ0tDa2dQVDRnZTF4dUlDQmpiMjV6ZENCN0lIUWdmU0E5SUhWelpWUnlZVzV6YkdGMGFXOXVLQ2s3WEc0Z0lHTnZibk4wSUhzZ1kyOXVabWxuVDNCMGFXOXVjeUI5SUQwZ2RYTmxRMjl1Wm1sbktDazdYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRmR5WVhCd1pYSWdaR0YwWVMxMFpYTjBhV1E5WENKbWIyOTBaWEpjSWo1Y2JpQWdJQ0FnSUR4SmJtNWxjajVjYmlBZ0lDQWdJQ0FnUEV4bFpuUStYRzRnSUNBZ0lDQWdJQ0FnUEZSeVlXNXpJR052YlhCdmJtVnVkSE05ZTFzOFRHOTJaU0JyWlhrOVhDSnNiM1psWENJZ0x6NWRmU0JwTVRodVMyVjVQVndpWm05dmRHVnlMbTFoWkdVdGQybDBhQzFzYjNabExXOXVYQ0lnTHo1Y2JpQWdJQ0FnSUNBZ0lDQThWRzl2YkZScGNENWNiaUFnSUNBZ0lDQWdJQ0FnSUR4VGRIbHNaV1JGWVhKMGFDQXZQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BFWnNZV2R6UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThSbXhoWjNOSlkyOXVMa1ZUSUhScGRHeGxQWHQwS0NkbWJHRm5Mbk53WVdsdUp5bDlJQzgrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHd2U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVac1lXZHpTV052Ymk1T1NTQjBhWFJzWlQxN2RDZ25abXhoWnk1dWFXTmhjbUZuZFdFbktYMGdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Um14aFozTkpZMjl1TGtsT0lIUnBkR3hsUFh0MEtDZG1iR0ZuTG1sdVpHbGhKeWw5SUM4K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR3dlNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRWxqYjI0K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BFWnNZV2R6U1dOdmJpNUNVaUIwYVhSc1pUMTdkQ2duWm14aFp5NWljbUY2YVd3bktYMGdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Um14aFozTkpZMjl1TGtOT0lIUnBkR3hsUFh0MEtDZG1iR0ZuTG1Ob2FXNWhKeWw5SUM4K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR3dlNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRWxqYjI0K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BFWnNZV2R6U1dOdmJpNUJWU0IwYVhSc1pUMTdkQ2duWm14aFp5NWhkWE4wY21Gc2FXRW5LWDBnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5SlkyOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThTV052Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFJteGhaM05KWTI5dUxrUkZJSFJwZEd4bFBYdDBLQ2RtYkdGbkxtZGxjbTFoYm5rbktYMGdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Um14aFozTkpZMjl1TGxSWElIUnBkR3hsUFh0MEtDZG1iR0ZuTG5SaGFYZGhiaWNwZlNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwwbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHhKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEdiR0ZuYzBsamIyNHVRVlFnZEdsMGJHVTllM1FvSjJac1lXY3VZWFZ6ZEhKcFlTY3BmU0F2UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDBsamIyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4R2JHRm5jMGxqYjI0dVEwRWdkR2wwYkdVOWUzUW9KMlpzWVdjdVkyRnVZV1JoSnlsOUlDOCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZTV052Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHd2Um14aFozTStYRzRnSUNBZ0lDQWdJQ0FnUEM5VWIyOXNWR2x3UGx4dUlDQWdJQ0FnSUNBOEwweGxablErWEc0Z0lDQWdJQ0FnSUR4U2FXZG9kRDVjYmlBZ0lDQWdJQ0FnSUNCN1kyOXVabWxuVDNCMGFXOXVjejh1ZG1WeWMybHZiaUFtSmlBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4VUc5M1pYSmxaRUo1SUdSaGRHRXRkR1Z6ZEdsa1BWd2lkbVZ5YzJsdmJpMW1iMjkwWlhKY0lqNTdkQ2duWm05dmRHVnlMbkJ2ZDJWeVpXUXRZbmtuS1gwOEwxQnZkMlZ5WldSQ2VUNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFeHZaMjljYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwYzBSbFptRjFiSFE5ZTNSeWRXVjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMjVEYkdsamF6MTdaMjlVYjFabGNtUmhZMk5wYjFkbFluTnBkR1Y5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzJsNlpUMWNJbmd0YzIxaGJHeGNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJwZEd4bFBYdGpiMjVtYVdkUGNIUnBiMjV6TG5abGNuTnBiMjU5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzgrWEc0Z0lDQWdJQ0FnSUNBZ0lDQThMejVjYmlBZ0lDQWdJQ0FnSUNBcGZWeHVJQ0FnSUNBZ0lDQThMMUpwWjJoMFBseHVJQ0FnSUNBZ1BDOUpibTVsY2o1Y2JpQWdJQ0E4TDFkeVlYQndaWEkrWEc0Z0lDazdYRzU5TzF4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCR2IyOTBaWEk3WEc1Y2JtTnZibk4wSUZCdmQyVnlaV1JDZVNBOUlITjBlV3hsWkNnbmMzQmhiaWNwS0NncElEMCtJQ2g3WEc0Z0lIQmhaR1JwYm1kU2FXZG9kRG9nSnpWd2VDY3NYRzU5S1NrN1hHNWNibU52Ym5OMElGTjBlV3hsWkVWaGNuUm9JRDBnYzNSNWJHVmtLRVZoY25Sb0tUeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LSHNnZEdobGJXVWdmU2tnUFQ0Z0tIdGNiaUFnYldGeVoybHVPaUIwYUdWdFpTNXpjR0ZqYVc1bktEQXNJREVwTEZ4dWZTa3BPMXh1WEc1amIyNXpkQ0JHYkdGbmN5QTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JrYVhOd2JHRjVPaUFuYVc1c2FXNWxMV2R5YVdRbkxGeHVJQ0JuY21sa1ZHVnRjR3hoZEdWRGIyeDFiVzV6T2lBbmNtVndaV0YwS0RFd0xDQnRZWGd0WTI5dWRHVnVkQ2tuTEZ4dUlDQm5jbWxrUjJGd09pQjBhR1Z0WlM1emNHRmphVzVuS0RBc0lERXBMRnh1SUNCd2IzTnBkR2x2YmpvZ0oyRmljMjlzZFhSbEp5eGNiaUFnWW1GamEyZHliM1Z1WkRvZ2RHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVFYUm9aVzV6TEZ4dUlDQndZV1JrYVc1bk9pQW5NWEI0SURSd2VDY3NYRzRnSUdKdmNtUmxjbEpoWkdsMWN6b2dNeXhjYmlBZ2FHVnBaMmgwT2lBeU1DeGNiaUFnWVd4cFoyNUpkR1Z0Y3pvZ0oyTmxiblJsY2ljc1hHNGdJSFpwYzJsaWFXeHBkSGs2SUNkb2FXUmtaVzRuTEZ4dUlDQjBiM0E2SUMweUxGeHVJQ0FuT21KbFptOXlaU2M2SUh0Y2JpQWdJQ0JqYjI1MFpXNTBPaUJjSWljblhDSXNYRzRnSUNBZ2NHOXphWFJwYjI0NklDZGhZbk52YkhWMFpTY3NYRzRnSUNBZ2RHOXdPaUFuTWprbEp5eGNiaUFnSUNCc1pXWjBPaUF0TkN4Y2JpQWdJQ0J0WVhKbmFXNU1aV1owT2lBdE5TeGNiaUFnSUNCaWIzSmtaWEk2SUNjMWNIZ2djMjlzYVdRbkxGeHVJQ0FnSUdKdmNtUmxja052Ykc5eU9pQmdKSHQwYUdWdFpTNXdZV3hsZEhSbExtZHlaWGxCZEdobGJuTjlJSFJ5WVc1emNHRnlaVzUwSUhSeVlXNXpjR0Z5Wlc1MElIUnlZVzV6Y0dGeVpXNTBZQ3hjYmlBZ0lDQjBjbUZ1YzJadmNtMDZJQ2R5YjNSaGRHVW9PVEJrWldjcEp5eGNiaUFnZlN4Y2JuMHBLVHRjYmx4dVkyOXVjM1FnU1dOdmJpQTlJSE4wZVd4bFpDZ25aR2wySnlrb2UxeHVJQ0IzYVdSMGFEb2dKekV3Y0hnbkxGeHVmU2s3WEc1Y2JtTnZibk4wSUZSdmIyeFVhWEFnUFNCemRIbHNaV1FvSjNOd1lXNG5LU2g3WEc0Z0lIQnZjMmwwYVc5dU9pQW5jbVZzWVhScGRtVW5MRnh1SUNCb1pXbG5hSFE2SUNjeE9IQjRKeXhjYmlBZ0p6cG9iM1psY2ljNklIdGNiaUFnSUNCYllDUjdSbXhoWjNOOVlGMDZJSHRjYmlBZ0lDQWdJSFpwYzJsaWFXeHBkSGs2SUNkMmFYTnBZbXhsSnl4Y2JpQWdJQ0I5TEZ4dUlDQjlMRnh1ZlNrN1hHNGlYWDA9ICovXCIpO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBGb290ZXIgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Gb290ZXIubWpzLm1hcCIsImltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbi8vI3JlZ2lvbiBzcmMvbGF5b3V0cy9TZWN1cml0eS9EaWFsb2cudHN4XG52YXIgTGF5b3V0Q29udGFpbmVyID0gc3R5bGVkKEJveCkoe1xuXHRkaXNwbGF5OiBcImZsZXhcIixcblx0ZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcblx0bWluSGVpZ2h0OiBcIjEwMHZoXCIsXG5cdG1heFdpZHRoOiBcIjUwMHB4XCIsXG5cdG1hcmdpbjogXCIwIGF1dG9cIlxufSk7XG52YXIgTWFpbkNvbnRlbnQgPSBzdHlsZWQoQm94KSh7XG5cdGZsZXg6IDEsXG5cdG1hcmdpblRvcDogXCIxMDBweFwiXG59KTtcbnZhciBTZWN1cml0eUxheW91dCA9ICh7IGNoaWxkcmVuIH0pID0+IHtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goTGF5b3V0Q29udGFpbmVyLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KE1haW5Db250ZW50LCB7IGNoaWxkcmVuIH0pIH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgU2VjdXJpdHlMYXlvdXQgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1EaWFsb2cubWpzLm1hcCIsImltcG9ydCB7IHN0eWxlZCB9IGZyb20gXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiO1xuaW1wb3J0IHsgQm94LCBUZXh0RmllbGQgfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuLy8jcmVnaW9uIHNyYy9zZWN0aW9ucy9TZWN1cml0eS9zdHlsZXMudHNcbnZhciBTZWN1cml0eUNvbnRhaW5lciA9IHN0eWxlZChCb3gpKCh7IHRoZW1lIH0pID0+ICh7XG5cdGRpc3BsYXk6IFwiZmxleFwiLFxuXHRmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuXHRhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuXHRqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcblx0bWluSGVpZ2h0OiBcIjEwMCVcIixcblx0cGFkZGluZzogdGhlbWUuc3BhY2luZygyKSxcblx0YmFja2dyb3VuZENvbG9yOiB0aGVtZS5wYWxldHRlLmJhY2tncm91bmQuZGVmYXVsdFxufSkpO1xudmFyIFNlY3VyaXR5Rm9ybSA9IHN0eWxlZChCb3gpKCh7IHRoZW1lIH0pID0+ICh7XG5cdHdpZHRoOiBcIjEwMCVcIixcblx0bWF4V2lkdGg6IDQyMCxcblx0cGFkZGluZzogdGhlbWUuc3BhY2luZyg0KSxcblx0YmFja2dyb3VuZENvbG9yOiB0aGVtZS5wYWxldHRlLmJhY2tncm91bmQucGFwZXIsXG5cdGJvcmRlclJhZGl1czogdGhlbWUuc2hhcGUuYm9yZGVyUmFkaXVzLFxuXHRib3hTaGFkb3c6IHRoZW1lLnNoYWRvd3NbM11cbn0pKTtcbnZhciBTZWN1cml0eVRleHRGaWVsZCA9IHN0eWxlZChUZXh0RmllbGQpKCh7IHRoZW1lIH0pID0+ICh7XG5cdHdpZHRoOiBcIjEwMCVcIixcblx0bWFyZ2luVG9wOiB0aGVtZS5zcGFjaW5nKDEpLFxuXHRtYXJnaW5Cb3R0b206IHRoZW1lLnNwYWNpbmcoMSlcbn0pKTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgU2VjdXJpdHlDb250YWluZXIsIFNlY3VyaXR5Rm9ybSwgU2VjdXJpdHlUZXh0RmllbGQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3R5bGVzLm1qcy5tYXAiLCJpbXBvcnQgU2VjdXJpdHlMYXlvdXQgZnJvbSBcIi4uLy4uL2xheW91dHMvU2VjdXJpdHkvRGlhbG9nLm1qc1wiO1xuaW1wb3J0IHsgU2VjdXJpdHlDb250YWluZXIsIFNlY3VyaXR5Rm9ybSB9IGZyb20gXCIuL3N0eWxlcy5tanNcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCB7IHVzZUxvY2F0aW9uIH0gZnJvbSBcInJlYWN0LXJvdXRlclwiO1xuaW1wb3J0IHsgQnV0dG9uLCBUeXBvZ3JhcGh5IH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCBDaGVja0NpcmNsZUljb24gZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvQ2hlY2tDaXJjbGVcIjtcbi8vI3JlZ2lvbiBzcmMvc2VjdGlvbnMvU2VjdXJpdHkvU3VjY2Vzcy50c3hcbnZhciBNZXNzYWdlVHlwZSA9IC8qIEBfX1BVUkVfXyAqLyBmdW5jdGlvbihNZXNzYWdlVHlwZSkge1xuXHRNZXNzYWdlVHlwZVtcIkxvZ2luXCJdID0gXCJMb2dpblwiO1xuXHRNZXNzYWdlVHlwZVtcIkNoYW5nZVBhc3N3b3JkXCJdID0gXCJDaGFuZ2VQYXNzd29yZFwiO1xuXHRNZXNzYWdlVHlwZVtcIkFkZFVzZXJcIl0gPSBcIkFkZFVzZXJcIjtcblx0TWVzc2FnZVR5cGVbXCJTdWNjZXNzXCJdID0gXCJTdWNjZXNzXCI7XG5cdHJldHVybiBNZXNzYWdlVHlwZTtcbn0oe30pO1xudmFyIFN1Y2Nlc3MgPSAoKSA9PiB7XG5cdGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcblx0Y29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuXHRjb25zdCBtZXNzYWdlVHlwZSA9IG5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKS5nZXQoXCJtZXNzYWdlVHlwZVwiKTtcblx0Y29uc3QgbWVzc2FnZSA9ICFtZXNzYWdlVHlwZSA/IHQoXCJzZWN1cml0eS5zdWNjZXNzLm1lc3NhZ2VTdWNjZXNzXCIpIDogdChgc2VjdXJpdHkuc3VjY2Vzcy5tZXNzYWdlJHttZXNzYWdlVHlwZX1gKTtcblx0Y29uc3QgaGFuZGxlQ2xvc2UgPSAoKSA9PiB7XG5cdFx0d2luZG93LmxvY2F0aW9uLmhyZWYgPSBcIi9cIjtcblx0fTtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goU2VjdXJpdHlMYXlvdXQsIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goU2VjdXJpdHlDb250YWluZXIsIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3hzKFNlY3VyaXR5Rm9ybSwgeyBjaGlsZHJlbjogW1xuXHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goQ2hlY2tDaXJjbGVJY29uLCB7IGNvbG9yOiBcInN1Y2Nlc3NcIiB9KSxcblx0XHQvKiBAX19QVVJFX18gKi8ganN4KFR5cG9ncmFwaHksIHtcblx0XHRcdGNvbXBvbmVudDogXCJoMVwiLFxuXHRcdFx0Z3V0dGVyQm90dG9tOiB0cnVlLFxuXHRcdFx0dmFyaWFudDogXCJoNFwiLFxuXHRcdFx0Y2hpbGRyZW46IHQoXCJzZWN1cml0eS5zdWNjZXNzLnRpdGxlXCIpXG5cdFx0fSksXG5cdFx0LyogQF9fUFVSRV9fICovIGpzeChUeXBvZ3JhcGh5LCB7XG5cdFx0XHRjb2xvcjogXCJ0ZXh0LnNlY29uZGFyeVwiLFxuXHRcdFx0cGFyYWdyYXBoOiB0cnVlLFxuXHRcdFx0dmFyaWFudDogXCJib2R5MVwiLFxuXHRcdFx0Y2hpbGRyZW46IG1lc3NhZ2Vcblx0XHR9KSxcblx0XHQvKiBAX19QVVJFX18gKi8ganN4KEJ1dHRvbiwge1xuXHRcdFx0Y29sb3I6IFwicHJpbWFyeVwiLFxuXHRcdFx0b25DbGljazogaGFuZGxlQ2xvc2UsXG5cdFx0XHRzeDogeyBtdDogMiB9LFxuXHRcdFx0dmFyaWFudDogXCJjb250YWluZWRcIixcblx0XHRcdGNoaWxkcmVuOiB0KFwic2VjdXJpdHkuc3VjY2Vzcy5zdWJtaXRcIilcblx0XHR9KVxuXHRdIH0pIH0pIH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgTWVzc2FnZVR5cGUsIFN1Y2Nlc3MgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1TdWNjZXNzLm1qcy5tYXAiLCJpbXBvcnQgeyBSb3V0ZSB9IGZyb20gXCIuLi8uLi91dGlscy9yb3V0ZXMubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi91dGlscy9pbmRleC5tanNcIjtcbmltcG9ydCBcImxvZGFzaC9pc0VtcHR5XCI7XG4vLyNyZWdpb24gc3JjL3NlY3Rpb25zL1NlY3VyaXR5L3V0aWxzLnRzXG5mdW5jdGlvbiBnZXRTZWN1cml0eVVybFBhcmFtcyhsb2NhdGlvbikge1xuXHRjb25zdCBxdWVyeVBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKTtcblx0bGV0IG5leHQgPSBxdWVyeVBhcmFtcy5nZXQoXCJuZXh0XCIpIHx8IFwiXCI7XG5cdGlmIChuZXh0Lmxlbmd0aCA+IDAgJiYgKCFuZXh0LnN0YXJ0c1dpdGgoUm91dGUuTE9HSU5fQVBJKSB8fCAhbmV4dC5tYXRjaCgvXFwvWy0wLTlhLWZdezM2fSQvKSkpIG5leHQgPSBcIlwiO1xuXHRsZXQgdXNlciA9IHF1ZXJ5UGFyYW1zLmdldChcInVzZXJcIikgfHwgXCJcIjtcblx0aWYgKHVzZXIubGVuZ3RoID4gMCAmJiAhdXNlci5tYXRjaCgvXlthLXpBLVowLTktX117MSwyNTV9JC8pKSB1c2VyID0gXCJcIjtcblx0cmV0dXJuIHtcblx0XHRuZXh0LFxuXHRcdHVzZXJcblx0fTtcbn1cbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgZ2V0U2VjdXJpdHlVcmxQYXJhbXMgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXRpbHMubWpzLm1hcCIsImltcG9ydCB7IFJvdXRlIGFzIFJvdXRlJDEgfSBmcm9tIFwiLi4vLi4vdXRpbHMvcm91dGVzLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vdXRpbHMvaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBzYXZlQXV0aCB9IGZyb20gXCIuLi8uLi9zdG9yZS9zdG9yYWdlLm1qc1wiO1xuaW1wb3J0IHsgZ2V0Q29uZmlndXJhdGlvbiB9IGZyb20gXCIuLi8uLi9jb25maWd1cmF0aW9uLm1qc1wiO1xuaW1wb3J0IHsgc3RyaXBUcmFpbGluZ1NsYXNoIH0gZnJvbSBcIi4uLy4uL3N0b3JlL3V0aWxzLm1qc1wiO1xuaW1wb3J0IHsgdXNlRGF0YU11dGF0aW9uIH0gZnJvbSBcIi4uLy4uL2FwaS91c2UtZGF0YS1tdXRhdGlvbi5tanNcIjtcbmltcG9ydCB7IG5vcm1hbGl6ZUF1dGhFcnJvciB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvQXV0aFByb3ZpZGVyL3V0aWxzLm1qc1wiO1xuaW1wb3J0IE5vdEZvdW5kIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL05vdEZvdW5kL05vdEZvdW5kLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9Ob3RGb3VuZC9pbmRleC5tanNcIjtcbmltcG9ydCBMb2dpbkZvcm1IZWFkZXIgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvTG9naW5Gb3JtL3N0eWxlcy5tanNcIjtcbmltcG9ydCBMb2dpbkZvcm0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvTG9naW5Gb3JtL0xvZ2luLm1qc1wiO1xuaW1wb3J0IHsgbG9naW5TY2hlbWEgfSBmcm9tIFwiLi4vLi4vdXRpbHMvc2NoZW1hcy5tanNcIjtcbmltcG9ydCBTZWN1cml0eUxheW91dCBmcm9tIFwiLi4vLi4vbGF5b3V0cy9TZWN1cml0eS9EaWFsb2cubWpzXCI7XG5pbXBvcnQgeyBTZWN1cml0eUNvbnRhaW5lciwgU2VjdXJpdHlGb3JtIH0gZnJvbSBcIi4vc3R5bGVzLm1qc1wiO1xuaW1wb3J0IHsgTWVzc2FnZVR5cGUgfSBmcm9tIFwiLi9TdWNjZXNzLm1qc1wiO1xuaW1wb3J0IHsgZ2V0U2VjdXJpdHlVcmxQYXJhbXMgfSBmcm9tIFwiLi91dGlscy5tanNcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IHsgdXNlTG9jYXRpb24sIHVzZU5hdmlnYXRlIH0gZnJvbSBcInJlYWN0LXJvdXRlclwiO1xuaW1wb3J0IHsgTGluayBhcyBMaW5rJDEsIFR5cG9ncmFwaHkgfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IHsgeXVwUmVzb2x2ZXIgfSBmcm9tIFwiQGhvb2tmb3JtL3Jlc29sdmVycy95dXBcIjtcbmltcG9ydCB7IHVzZUZvcm0gfSBmcm9tIFwicmVhY3QtaG9vay1mb3JtXCI7XG4vLyNyZWdpb24gc3JjL3NlY3Rpb25zL1NlY3VyaXR5L0xvZ2luLnRzeFxudmFyIGNvbmZpZ3VyYXRpb24gPSBnZXRDb25maWd1cmF0aW9uKCk7XG52YXIgYmFzZVBhdGggPSBzdHJpcFRyYWlsaW5nU2xhc2goY29uZmlndXJhdGlvbi5iYXNlKTtcbnZhciBMb2dpbiA9ICgpID0+IHtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cdGNvbnN0IG5hdmlnYXRlID0gdXNlTmF2aWdhdGUoKTtcblx0Y29uc3QgeyBuZXh0IH0gPSBnZXRTZWN1cml0eVVybFBhcmFtcyhsb2NhdGlvbik7XG5cdGNvbnN0IGNyZWF0ZVVzZXJFbmFibGVkID0gY29uZmlndXJhdGlvbj8uZmxhZ3M/LmNyZWF0ZVVzZXI7XG5cdGNvbnN0IGFkZFVzZXJMaW5rID0gUm91dGUkMS5BRERfVVNFUiArIChuZXh0ID8gXCI/bmV4dD1cIiArIG5leHQgOiBcIlwiKTtcblx0Y29uc3QgeyBkYXRhLCBpc011dGF0aW5nLCB0cmlnZ2VyIH0gPSB1c2VEYXRhTXV0YXRpb24oYmFzZVBhdGgsIG5leHQsIFwiUE9TVFwiKTtcblx0Y29uc3QgeyBzZXRFcnJvciwgaGFuZGxlU3VibWl0LCByZWdpc3RlciwgZm9ybVN0YXRlOiB7IGlzVmFsaWQsIGVycm9ycyB9IH0gPSB1c2VGb3JtKHtcblx0XHRtb2RlOiBcIm9uQ2hhbmdlXCIsXG5cdFx0cmVzb2x2ZXI6IHl1cFJlc29sdmVyKGxvZ2luU2NoZW1hKVxuXHR9KTtcblx0Y29uc3QgaGFuZGxlTG9naW4gPSBhc3luYyAoYm9keSkgPT4ge1xuXHRcdHRyeSB7XG5cdFx0XHRhd2FpdCB0cmlnZ2VyKGJvZHkpO1xuXHRcdH0gY2F0Y2ggKGVycikge1xuXHRcdFx0dGhyb3cgbm9ybWFsaXplQXV0aEVycm9yKGVycik7XG5cdFx0fVxuXHR9O1xuXHRjb25zdCBvblN1Y2Nlc3MgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG5cdFx0bmF2aWdhdGUoYCR7Um91dGUkMS5TVUNDRVNTfT9tZXNzYWdlVHlwZT0ke01lc3NhZ2VUeXBlLkxvZ2lufWApO1xuXHR9LCBbbmF2aWdhdGVdKTtcblx0Y29uc3Qgb25TdWJtaXQgPSB1c2VDYWxsYmFjayhhc3luYyAoZGF0YSkgPT4ge1xuXHRcdHRyeSB7XG5cdFx0XHRhd2FpdCBoYW5kbGVMb2dpbj8uKGRhdGEpO1xuXHRcdFx0b25TdWNjZXNzKCk7XG5cdFx0fSBjYXRjaCB7XG5cdFx0XHRzZXRFcnJvcihcInJvb3RcIiwge1xuXHRcdFx0XHR0eXBlOiBcInNlcnZlclwiLFxuXHRcdFx0XHRtZXNzYWdlOiBcIkludmFsaWQgdXNlcm5hbWUgb3IgcGFzc3dvcmRcIlxuXHRcdFx0fSk7XG5cdFx0fVxuXHR9LCBbXG5cdFx0aGFuZGxlTG9naW4sXG5cdFx0c2V0RXJyb3IsXG5cdFx0b25TdWNjZXNzXG5cdF0pO1xuXHR1c2VFZmZlY3QoKCkgPT4ge1xuXHRcdGlmIChkYXRhICYmICFpc011dGF0aW5nICYmIGRhdGEudXNlcm5hbWUgJiYgZGF0YS50b2tlbikgc2F2ZUF1dGgoZGF0YS51c2VybmFtZSwgZGF0YS50b2tlbik7XG5cdH0sIFtkYXRhLCBpc011dGF0aW5nXSk7XG5cdHJldHVybiAhbmV4dCA/IC8qIEBfX1BVUkVfXyAqLyBqc3goTm90Rm91bmQsIHt9KSA6IC8qIEBfX1BVUkVfXyAqLyBqc3goU2VjdXJpdHlMYXlvdXQsIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goU2VjdXJpdHlDb250YWluZXIsIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3hzKFNlY3VyaXR5Rm9ybSwgeyBjaGlsZHJlbjogW1xuXHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goTG9naW5Gb3JtSGVhZGVyLCB7fSksXG5cdFx0LyogQF9fUFVSRV9fICovIGpzeChMb2dpbkZvcm0sIHtcblx0XHRcdGVycm9ycyxcblx0XHRcdGhhbmRsZVN1Ym1pdCxcblx0XHRcdGlzVmFsaWQsXG5cdFx0XHRvblN1Ym1pdCxcblx0XHRcdHJlZ2lzdGVyXG5cdFx0fSksXG5cdFx0Y3JlYXRlVXNlckVuYWJsZWQgJiYgLyogQF9fUFVSRV9fICovIGpzeHMoVHlwb2dyYXBoeSwge1xuXHRcdFx0YWxpZ246IFwiY2VudGVyXCIsXG5cdFx0XHRzeDoge1xuXHRcdFx0XHRtdDogMixcblx0XHRcdFx0Zm9udFNpemU6IDEyXG5cdFx0XHR9LFxuXHRcdFx0dmFyaWFudDogXCJib2R5MlwiLFxuXHRcdFx0Y2hpbGRyZW46IFt0KFwic2VjdXJpdHkubG9naW4ubm9Vc2VyUXVlc3Rpb25cIiksIC8qIEBfX1BVUkVfXyAqLyBqc3goTGluayQxLCB7XG5cdFx0XHRcdGhyZWY6IGFkZFVzZXJMaW5rLFxuXHRcdFx0XHRzeDogeyBtbDogMSB9LFxuXHRcdFx0XHRjaGlsZHJlbjogdChcInNlY3VyaXR5LmxvZ2luLmNyZWF0ZVVzZXJcIilcblx0XHRcdH0pXVxuXHRcdH0pXG5cdF0gfSkgfSkgfSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBMb2dpbiBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUxvZ2luLm1qcy5tYXAiLCJpbXBvcnQgeyBSb3V0ZSBhcyBSb3V0ZSQxIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3JvdXRlcy5tanNcIjtcbmltcG9ydCBcIi4uLy4uL3V0aWxzL2luZGV4Lm1qc1wiO1xuaW1wb3J0IHsgZ2V0Q29uZmlndXJhdGlvbiB9IGZyb20gXCIuLi8uLi9jb25maWd1cmF0aW9uLm1qc1wiO1xuaW1wb3J0IHsgc3RyaXBUcmFpbGluZ1NsYXNoIH0gZnJvbSBcIi4uLy4uL3N0b3JlL3V0aWxzLm1qc1wiO1xuaW1wb3J0IHsgdXNlRGF0YU11dGF0aW9uIH0gZnJvbSBcIi4uLy4uL2FwaS91c2UtZGF0YS1tdXRhdGlvbi5tanNcIjtcbmltcG9ydCB7IG5vcm1hbGl6ZUF1dGhFcnJvciB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvQXV0aFByb3ZpZGVyL3V0aWxzLm1qc1wiO1xuaW1wb3J0IExvZ2luRGlhbG9nRm9ybUVycm9yIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0xvZ2luRGlhbG9nL0xvZ2luRGlhbG9nRm9ybUVycm9yLm1qc1wiO1xuaW1wb3J0IFBhc3N3b3JkRmllbGQgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvTG9naW5Gb3JtL1Bhc3N3b3JkRmllbGQubWpzXCI7XG5pbXBvcnQgVXNlcm5hbWVGaWVsZCBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9Mb2dpbkZvcm0vVXNlcm5hbWVGaWVsZC5tanNcIjtcbmltcG9ydCB7IGFkZFVzZXJTY2hlbWEgfSBmcm9tIFwiLi4vLi4vdXRpbHMvc2NoZW1hcy5tanNcIjtcbmltcG9ydCBTZWN1cml0eUxheW91dCBmcm9tIFwiLi4vLi4vbGF5b3V0cy9TZWN1cml0eS9EaWFsb2cubWpzXCI7XG5pbXBvcnQgeyBTZWN1cml0eUNvbnRhaW5lciwgU2VjdXJpdHlGb3JtLCBTZWN1cml0eVRleHRGaWVsZCB9IGZyb20gXCIuL3N0eWxlcy5tanNcIjtcbmltcG9ydCB7IE1lc3NhZ2VUeXBlIH0gZnJvbSBcIi4vU3VjY2Vzcy5tanNcIjtcbmltcG9ydCB7IGdldFNlY3VyaXR5VXJsUGFyYW1zIH0gZnJvbSBcIi4vdXRpbHMubWpzXCI7XG5pbXBvcnQgeyBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCB7IHVzZUxvY2F0aW9uLCB1c2VOYXZpZ2F0ZSB9IGZyb20gXCJyZWFjdC1yb3V0ZXJcIjtcbmltcG9ydCB7IEJ1dHRvbiwgTGluayBhcyBMaW5rJDEsIFR5cG9ncmFwaHkgfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IHsgeXVwUmVzb2x2ZXIgfSBmcm9tIFwiQGhvb2tmb3JtL3Jlc29sdmVycy95dXBcIjtcbmltcG9ydCB7IHVzZUZvcm0gfSBmcm9tIFwicmVhY3QtaG9vay1mb3JtXCI7XG4vLyNyZWdpb24gc3JjL3NlY3Rpb25zL1NlY3VyaXR5L0FkZFVzZXIudHN4XG52YXIgQWRkVXNlciA9ICgpID0+IHtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cdGNvbnN0IG5hdmlnYXRlID0gdXNlTmF2aWdhdGUoKTtcblx0Y29uc3QgY29uZmlndXJhdGlvbiA9IGdldENvbmZpZ3VyYXRpb24oKTtcblx0Y29uc3QgYmFzZVBhdGggPSBzdHJpcFRyYWlsaW5nU2xhc2goY29uZmlndXJhdGlvbi5iYXNlKTtcblx0Y29uc3QgeyBuZXh0LCB1c2VyIH0gPSBnZXRTZWN1cml0eVVybFBhcmFtcyhsb2NhdGlvbik7XG5cdGNvbnN0IGxvZ2luTGluayA9IFJvdXRlJDEuTE9HSU4gKyAobmV4dCA/IGA/bmV4dD0ke2VuY29kZVVSSUNvbXBvbmVudChuZXh0KX1gIDogXCJcIik7XG5cdGNvbnN0IGNyZWF0ZVVzZXJFbmFibGVkID0gY29uZmlndXJhdGlvbj8uZmxhZ3M/LmNyZWF0ZVVzZXI7XG5cdGNvbnN0IHsgc2V0RXJyb3IsIGhhbmRsZVN1Ym1pdCwgcmVnaXN0ZXIsIHdhdGNoLCBmb3JtU3RhdGU6IHsgaXNWYWxpZCwgZXJyb3JzIH0gfSA9IHVzZUZvcm0oe1xuXHRcdG1vZGU6IFwib25DaGFuZ2VcIixcblx0XHRkZWZhdWx0VmFsdWVzOiB7XG5cdFx0XHR1c2VybmFtZTogdHlwZW9mIHVzZXIgPT09IFwic3RyaW5nXCIgPyB1c2VyIDogXCJcIixcblx0XHRcdHBhc3N3b3JkOiBcIlwiLFxuXHRcdFx0ZW1haWw6IFwiXCJcblx0XHR9LFxuXHRcdHJlc29sdmVyOiB5dXBSZXNvbHZlcihhZGRVc2VyU2NoZW1hKVxuXHR9KTtcblx0Y29uc3QgdXNlcm5hbWUgPSB3YXRjaChcInVzZXJuYW1lXCIpO1xuXHRjb25zdCB7IHRyaWdnZXIgfSA9IHVzZURhdGFNdXRhdGlvbihiYXNlUGF0aCwgYCR7Um91dGUkMS5BRERfVVNFUn06JHtlbmNvZGVVUklDb21wb25lbnQodXNlcm5hbWUpfWAsIFwiUFVUXCIpO1xuXHRjb25zdCBoYW5kbGVBZGRVc2VyID0gdXNlQ2FsbGJhY2soYXN5bmMgKGJvZHkpID0+IHtcblx0XHR0cnkge1xuXHRcdFx0YXdhaXQgdHJpZ2dlcihib2R5KTtcblx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdHRocm93IG5vcm1hbGl6ZUF1dGhFcnJvcihlcnIpO1xuXHRcdH1cblx0fSwgW3RyaWdnZXJdKTtcblx0Y29uc3Qgb25TdWJtaXQgPSB1c2VDYWxsYmFjayhhc3luYyAoZGF0YSkgPT4ge1xuXHRcdHRyeSB7XG5cdFx0XHRhd2FpdCBoYW5kbGVBZGRVc2VyKHtcblx0XHRcdFx0bmFtZTogZGF0YS51c2VybmFtZSxcblx0XHRcdFx0cGFzc3dvcmQ6IGRhdGEucGFzc3dvcmQsXG5cdFx0XHRcdGVtYWlsOiBkYXRhLmVtYWlsXG5cdFx0XHR9KTtcblx0XHRcdG5hdmlnYXRlKGAke1JvdXRlJDEuU1VDQ0VTU30/bWVzc2FnZVR5cGU9JHtNZXNzYWdlVHlwZS5BZGRVc2VyfWApO1xuXHRcdH0gY2F0Y2gge1xuXHRcdFx0c2V0RXJyb3IoXCJyb290XCIsIHtcblx0XHRcdFx0dHlwZTogXCJzZXJ2ZXJcIixcblx0XHRcdFx0bWVzc2FnZTogXCJGYWlsZWQgdG8gY3JlYXRlIHVzZXJcIlxuXHRcdFx0fSk7XG5cdFx0fVxuXHR9LCBbXG5cdFx0aGFuZGxlQWRkVXNlcixcblx0XHRzZXRFcnJvcixcblx0XHRuYXZpZ2F0ZVxuXHRdKTtcblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRpZiAoIWNyZWF0ZVVzZXJFbmFibGVkKSBuYXZpZ2F0ZShcIi9cIik7XG5cdH0sIFtjcmVhdGVVc2VyRW5hYmxlZCwgbmF2aWdhdGVdKTtcblx0cmV0dXJuIGNyZWF0ZVVzZXJFbmFibGVkID8gLyogQF9fUFVSRV9fICovIGpzeChTZWN1cml0eUxheW91dCwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChTZWN1cml0eUNvbnRhaW5lciwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeHMoU2VjdXJpdHlGb3JtLCB7XG5cdFx0Y29tcG9uZW50OiBcImZvcm1cIixcblx0XHRvblN1Ym1pdDogaGFuZGxlU3VibWl0KG9uU3VibWl0KSxcblx0XHRjaGlsZHJlbjogW1xuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChUeXBvZ3JhcGh5LCB7XG5cdFx0XHRcdGFsaWduOiBcImNlbnRlclwiLFxuXHRcdFx0XHRjb21wb25lbnQ6IFwiaDFcIixcblx0XHRcdFx0Z3V0dGVyQm90dG9tOiB0cnVlLFxuXHRcdFx0XHR2YXJpYW50OiBcImg0XCIsXG5cdFx0XHRcdGNoaWxkcmVuOiB0KFwic2VjdXJpdHkuYWRkVXNlci50aXRsZVwiKVxuXHRcdFx0fSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFVzZXJuYW1lRmllbGQsIHtcblx0XHRcdFx0ZXJyb3JzLFxuXHRcdFx0XHRyZWdpc3RlclxuXHRcdFx0fSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFBhc3N3b3JkRmllbGQsIHtcblx0XHRcdFx0ZXJyb3JzLFxuXHRcdFx0XHRyZWdpc3RlclxuXHRcdFx0fSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFNlY3VyaXR5VGV4dEZpZWxkLCB7XG5cdFx0XHRcdGxhYmVsOiB0KFwic2VjdXJpdHkuYWRkVXNlci5lbWFpbFwiKSxcblx0XHRcdFx0dHlwZTogXCJlbWFpbFwiLFxuXHRcdFx0XHQuLi5yZWdpc3RlcihcImVtYWlsXCIpXG5cdFx0XHR9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goVHlwb2dyYXBoeSwge1xuXHRcdFx0XHRjb2xvcjogXCJ0ZXh0LnNlY29uZGFyeVwiLFxuXHRcdFx0XHRwYXJhZ3JhcGg6IHRydWUsXG5cdFx0XHRcdHN4OiB7IGZvbnRTaXplOiAxMiB9LFxuXHRcdFx0XHR2YXJpYW50OiBcImJvZHkyXCIsXG5cdFx0XHRcdGNoaWxkcmVuOiB0KFwic2VjdXJpdHkuYWRkVXNlci5lbWFpbERlc2NyaXB0aW9uXCIpXG5cdFx0XHR9KSxcblx0XHRcdGVycm9ycy5yb290ICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goTG9naW5EaWFsb2dGb3JtRXJyb3IsIHsgZXJyb3I6IGVycm9ycy5yb290IH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChCdXR0b24sIHtcblx0XHRcdFx0Y29sb3I6IFwicHJpbWFyeVwiLFxuXHRcdFx0XHRkaXNhYmxlZDogIWlzVmFsaWQsXG5cdFx0XHRcdGZ1bGxXaWR0aDogdHJ1ZSxcblx0XHRcdFx0c3g6IHsgbXQ6IDIgfSxcblx0XHRcdFx0dHlwZTogXCJzdWJtaXRcIixcblx0XHRcdFx0dmFyaWFudDogXCJjb250YWluZWRcIixcblx0XHRcdFx0Y2hpbGRyZW46IHQoXCJzZWN1cml0eS5hZGRVc2VyLnN1Ym1pdFwiKVxuXHRcdFx0fSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4cyhUeXBvZ3JhcGh5LCB7XG5cdFx0XHRcdGFsaWduOiBcImNlbnRlclwiLFxuXHRcdFx0XHRzeDoge1xuXHRcdFx0XHRcdG10OiAyLFxuXHRcdFx0XHRcdGZvbnRTaXplOiAxMlxuXHRcdFx0XHR9LFxuXHRcdFx0XHR2YXJpYW50OiBcImJvZHkyXCIsXG5cdFx0XHRcdGNoaWxkcmVuOiBbdChcInNlY3VyaXR5LmFkZFVzZXIuYWxyZWFkeVVzZXJRdWVzdGlvblwiKSwgLyogQF9fUFVSRV9fICovIGpzeChMaW5rJDEsIHtcblx0XHRcdFx0XHRocmVmOiBsb2dpbkxpbmssXG5cdFx0XHRcdFx0c3g6IHsgbWw6IDEgfSxcblx0XHRcdFx0XHRjaGlsZHJlbjogdChcInNlY3VyaXR5LmFkZFVzZXIubG9naW5cIilcblx0XHRcdFx0fSldXG5cdFx0XHR9KVxuXHRcdF1cblx0fSkgfSkgfSkgOiBudWxsO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgQWRkVXNlciBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUFkZFVzZXIubWpzLm1hcCIsImltcG9ydCB7IEFQSVJvdXRlLCBSb3V0ZSBhcyBSb3V0ZSQxIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3JvdXRlcy5tanNcIjtcbmltcG9ydCBcIi4uLy4uL3V0aWxzL2luZGV4Lm1qc1wiO1xuaW1wb3J0IHsgZ2V0Q29uZmlndXJhdGlvbiB9IGZyb20gXCIuLi8uLi9jb25maWd1cmF0aW9uLm1qc1wiO1xuaW1wb3J0IHsgc3RyaXBUcmFpbGluZ1NsYXNoIH0gZnJvbSBcIi4uLy4uL3N0b3JlL3V0aWxzLm1qc1wiO1xuaW1wb3J0IHsgdXNlRGF0YU11dGF0aW9uIH0gZnJvbSBcIi4uLy4uL2FwaS91c2UtZGF0YS1tdXRhdGlvbi5tanNcIjtcbmltcG9ydCB7IG5vcm1hbGl6ZUF1dGhFcnJvciB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvQXV0aFByb3ZpZGVyL3V0aWxzLm1qc1wiO1xuaW1wb3J0IExvZ2luRGlhbG9nRm9ybUVycm9yIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0xvZ2luRGlhbG9nL0xvZ2luRGlhbG9nRm9ybUVycm9yLm1qc1wiO1xuaW1wb3J0IHsgY2hhbmdlUGFzc3dvcmRTY2hlbWEgfSBmcm9tIFwiLi4vLi4vdXRpbHMvc2NoZW1hcy5tanNcIjtcbmltcG9ydCBTZWN1cml0eUxheW91dCBmcm9tIFwiLi4vLi4vbGF5b3V0cy9TZWN1cml0eS9EaWFsb2cubWpzXCI7XG5pbXBvcnQgeyBTZWN1cml0eUNvbnRhaW5lciwgU2VjdXJpdHlGb3JtLCBTZWN1cml0eVRleHRGaWVsZCB9IGZyb20gXCIuL3N0eWxlcy5tanNcIjtcbmltcG9ydCB7IE1lc3NhZ2VUeXBlIH0gZnJvbSBcIi4vU3VjY2Vzcy5tanNcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGUgfSBmcm9tIFwicmVhY3Qtcm91dGVyXCI7XG5pbXBvcnQgeyBCdXR0b24sIFR5cG9ncmFwaHkgfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IHsgeXVwUmVzb2x2ZXIgfSBmcm9tIFwiQGhvb2tmb3JtL3Jlc29sdmVycy95dXBcIjtcbmltcG9ydCB7IHVzZUZvcm0gfSBmcm9tIFwicmVhY3QtaG9vay1mb3JtXCI7XG4vLyNyZWdpb24gc3JjL3NlY3Rpb25zL1NlY3VyaXR5L0NoYW5nZVBhc3N3b3JkLnRzeFxudmFyIENoYW5nZVBhc3N3b3JkID0gKCkgPT4ge1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdGNvbnN0IG5hdmlnYXRlID0gdXNlTmF2aWdhdGUoKTtcblx0Y29uc3QgY29uZmlndXJhdGlvbiA9IGdldENvbmZpZ3VyYXRpb24oKTtcblx0Y29uc3QgYmFzZVBhdGggPSBzdHJpcFRyYWlsaW5nU2xhc2goY29uZmlndXJhdGlvbi5iYXNlKTtcblx0Y29uc3QgY2hhbmdlUGFzc3dvcmRFbmFibGVkID0gY29uZmlndXJhdGlvbj8uZmxhZ3M/LmNoYW5nZVBhc3N3b3JkO1xuXHRjb25zdCB7IHNldEVycm9yLCBoYW5kbGVTdWJtaXQsIHJlZ2lzdGVyLCBmb3JtU3RhdGU6IHsgaXNWYWxpZCwgZXJyb3JzIH0gfSA9IHVzZUZvcm0oe1xuXHRcdG1vZGU6IFwib25DaGFuZ2VcIixcblx0XHRkZWZhdWx0VmFsdWVzOiB7XG5cdFx0XHR1c2VybmFtZTogXCJcIixcblx0XHRcdG9sZFBhc3N3b3JkOiBcIlwiLFxuXHRcdFx0bmV3UGFzc3dvcmQ6IFwiXCIsXG5cdFx0XHRjb25maXJtUGFzc3dvcmQ6IFwiXCJcblx0XHR9LFxuXHRcdHJlc29sdmVyOiB5dXBSZXNvbHZlcihjaGFuZ2VQYXNzd29yZFNjaGVtYSlcblx0fSk7XG5cdGNvbnN0IHsgdHJpZ2dlciB9ID0gdXNlRGF0YU11dGF0aW9uKGJhc2VQYXRoLCBBUElSb3V0ZS5SRVNFVF9QQVNTV09SRCwgXCJQVVRcIik7XG5cdGNvbnN0IGhhbmRsZUNoYW5nZVBhc3N3b3JkID0gdXNlQ2FsbGJhY2soYXN5bmMgKGJvZHkpID0+IHtcblx0XHR0cnkge1xuXHRcdFx0YXdhaXQgdHJpZ2dlcihib2R5KTtcblx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdHRocm93IG5vcm1hbGl6ZUF1dGhFcnJvcihlcnIpO1xuXHRcdH1cblx0fSwgW3RyaWdnZXJdKTtcblx0Y29uc3Qgb25TdWJtaXQgPSB1c2VDYWxsYmFjayhhc3luYyAoZGF0YSkgPT4ge1xuXHRcdHRyeSB7XG5cdFx0XHRhd2FpdCBoYW5kbGVDaGFuZ2VQYXNzd29yZCh7IHBhc3N3b3JkOiB7XG5cdFx0XHRcdG9sZDogZGF0YS5vbGRQYXNzd29yZCxcblx0XHRcdFx0bmV3OiBkYXRhLm5ld1Bhc3N3b3JkXG5cdFx0XHR9IH0pO1xuXHRcdFx0bmF2aWdhdGUoYCR7Um91dGUkMS5TVUNDRVNTfT9tZXNzYWdlVHlwZT0ke01lc3NhZ2VUeXBlLkNoYW5nZVBhc3N3b3JkfWApO1xuXHRcdH0gY2F0Y2gge1xuXHRcdFx0c2V0RXJyb3IoXCJyb290XCIsIHtcblx0XHRcdFx0dHlwZTogXCJzZXJ2ZXJcIixcblx0XHRcdFx0bWVzc2FnZTogXCJGYWlsZWQgdG8gY2hhbmdlIHBhc3N3b3JkXCJcblx0XHRcdH0pO1xuXHRcdH1cblx0fSwgW1xuXHRcdGhhbmRsZUNoYW5nZVBhc3N3b3JkLFxuXHRcdHNldEVycm9yLFxuXHRcdG5hdmlnYXRlXG5cdF0pO1xuXHR1c2VFZmZlY3QoKCkgPT4ge1xuXHRcdGlmICghY2hhbmdlUGFzc3dvcmRFbmFibGVkKSBuYXZpZ2F0ZShcIi9cIik7XG5cdH0sIFtjaGFuZ2VQYXNzd29yZEVuYWJsZWQsIG5hdmlnYXRlXSk7XG5cdHJldHVybiBjaGFuZ2VQYXNzd29yZEVuYWJsZWQgPyAvKiBAX19QVVJFX18gKi8ganN4KFNlY3VyaXR5TGF5b3V0LCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFNlY3VyaXR5Q29udGFpbmVyLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4cyhTZWN1cml0eUZvcm0sIHtcblx0XHRjb21wb25lbnQ6IFwiZm9ybVwiLFxuXHRcdG9uU3VibWl0OiBoYW5kbGVTdWJtaXQob25TdWJtaXQpLFxuXHRcdGNoaWxkcmVuOiBbXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFR5cG9ncmFwaHksIHtcblx0XHRcdFx0YWxpZ246IFwiY2VudGVyXCIsXG5cdFx0XHRcdGNvbXBvbmVudDogXCJoMVwiLFxuXHRcdFx0XHRndXR0ZXJCb3R0b206IHRydWUsXG5cdFx0XHRcdHZhcmlhbnQ6IFwiaDRcIixcblx0XHRcdFx0Y2hpbGRyZW46IHQoXCJzZWN1cml0eS5jaGFuZ2VQYXNzd29yZC50aXRsZVwiKVxuXHRcdFx0fSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFNlY3VyaXR5VGV4dEZpZWxkLCB7XG5cdFx0XHRcdGVycm9yOiAhIWVycm9ycy51c2VybmFtZSxcblx0XHRcdFx0aGVscGVyVGV4dDogZXJyb3JzLnVzZXJuYW1lPy5tZXNzYWdlLFxuXHRcdFx0XHRsYWJlbDogdChcInNlY3VyaXR5LmNoYW5nZVBhc3N3b3JkLnVzZXJuYW1lXCIpLFxuXHRcdFx0XHQuLi5yZWdpc3RlcihcInVzZXJuYW1lXCIpLFxuXHRcdFx0XHRyZXF1aXJlZDogdHJ1ZVxuXHRcdFx0fSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFNlY3VyaXR5VGV4dEZpZWxkLCB7XG5cdFx0XHRcdGVycm9yOiAhIWVycm9ycy5vbGRQYXNzd29yZCxcblx0XHRcdFx0aGVscGVyVGV4dDogZXJyb3JzLm9sZFBhc3N3b3JkPy5tZXNzYWdlLFxuXHRcdFx0XHRsYWJlbDogdChcInNlY3VyaXR5LmNoYW5nZVBhc3N3b3JkLm9sZFBhc3N3b3JkXCIpLFxuXHRcdFx0XHQuLi5yZWdpc3RlcihcIm9sZFBhc3N3b3JkXCIpLFxuXHRcdFx0XHRyZXF1aXJlZDogdHJ1ZSxcblx0XHRcdFx0dHlwZTogXCJwYXNzd29yZFwiXG5cdFx0XHR9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goU2VjdXJpdHlUZXh0RmllbGQsIHtcblx0XHRcdFx0ZXJyb3I6ICEhZXJyb3JzLm5ld1Bhc3N3b3JkLFxuXHRcdFx0XHRoZWxwZXJUZXh0OiBlcnJvcnMubmV3UGFzc3dvcmQ/Lm1lc3NhZ2UsXG5cdFx0XHRcdGxhYmVsOiB0KFwic2VjdXJpdHkuY2hhbmdlUGFzc3dvcmQubmV3UGFzc3dvcmRcIiksXG5cdFx0XHRcdC4uLnJlZ2lzdGVyKFwibmV3UGFzc3dvcmRcIiksXG5cdFx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdFx0XHR0eXBlOiBcInBhc3N3b3JkXCJcblx0XHRcdH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChTZWN1cml0eVRleHRGaWVsZCwge1xuXHRcdFx0XHRlcnJvcjogISFlcnJvcnMuY29uZmlybVBhc3N3b3JkLFxuXHRcdFx0XHRoZWxwZXJUZXh0OiBlcnJvcnMuY29uZmlybVBhc3N3b3JkPy5tZXNzYWdlLFxuXHRcdFx0XHRsYWJlbDogdChcInNlY3VyaXR5LmNoYW5nZVBhc3N3b3JkLmNvbmZpcm1QYXNzd29yZFwiKSxcblx0XHRcdFx0Li4ucmVnaXN0ZXIoXCJjb25maXJtUGFzc3dvcmRcIiksXG5cdFx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdFx0XHR0eXBlOiBcInBhc3N3b3JkXCJcblx0XHRcdH0pLFxuXHRcdFx0ZXJyb3JzLnJvb3QgJiYgLyogQF9fUFVSRV9fICovIGpzeChMb2dpbkRpYWxvZ0Zvcm1FcnJvciwgeyBlcnJvcjogZXJyb3JzLnJvb3QgfSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KEJ1dHRvbiwge1xuXHRcdFx0XHRjb2xvcjogXCJwcmltYXJ5XCIsXG5cdFx0XHRcdGRpc2FibGVkOiAhaXNWYWxpZCxcblx0XHRcdFx0ZnVsbFdpZHRoOiB0cnVlLFxuXHRcdFx0XHRzeDogeyBtdDogMiB9LFxuXHRcdFx0XHR0eXBlOiBcInN1Ym1pdFwiLFxuXHRcdFx0XHR2YXJpYW50OiBcImNvbnRhaW5lZFwiLFxuXHRcdFx0XHRjaGlsZHJlbjogdChcInNlY3VyaXR5LmNoYW5nZVBhc3N3b3JkLnN1Ym1pdFwiKVxuXHRcdFx0fSlcblx0XHRdXG5cdH0pIH0pIH0pIDogbnVsbDtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IENoYW5nZVBhc3N3b3JkIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Q2hhbmdlUGFzc3dvcmQubWpzLm1hcCIsImltcG9ydCBIb21lIGZyb20gXCIuLi8uLi9zZWN0aW9ucy9Ib21lL0hvbWUubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9pbmRleC5tanNcIjtcbi8vI3JlZ2lvbiBzcmMvcGFnZXMvRnJvbnQvSG9tZS50c1xudmFyIEhvbWVfZGVmYXVsdCA9IEhvbWU7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IEhvbWVfZGVmYXVsdCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUhvbWUubWpzLm1hcCIsImltcG9ydCBEZXRhaWxTaWRlYmFyIGZyb20gXCIuLi8uLi9zZWN0aW9ucy9TaWRlQmFyL1NpZGViYXIubWpzXCI7XG5pbXBvcnQgRGV0YWlsQ29udGFpbmVyIGZyb20gXCIuLi8uLi9zZWN0aW9ucy9EZXRhaWwvRGV0YWlsLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vc2VjdGlvbnMvaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgR3JpZCBmcm9tIFwiQG11aS9tYXRlcmlhbC9HcmlkXCI7XG4vLyNyZWdpb24gc3JjL2xheW91dHMvVmVyc2lvbi9WZXJzaW9uLnRzeFxudmFyIFZlcnNpb25MYXlvdXQgPSAoKSA9PiB7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhHcmlkLCB7XG5cdFx0Y2xhc3NOYW1lOiBcImNvbnRhaW5lciBjb250ZW50XCIsXG5cdFx0Y29udGFpbmVyOiB0cnVlLFxuXHRcdFwiZGF0YS10ZXN0aWRcIjogXCJ2ZXJzaW9uLWxheW91dFwiLFxuXHRcdHNwYWNpbmc6IDAsXG5cdFx0Y2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KEdyaWQsIHtcblx0XHRcdHNpemU6IHtcblx0XHRcdFx0bWQ6IDgsXG5cdFx0XHRcdHhzOiAxMlxuXHRcdFx0fSxcblx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KERldGFpbENvbnRhaW5lciwge30pXG5cdFx0fSksIC8qIEBfX1BVUkVfXyAqLyBqc3goR3JpZCwge1xuXHRcdFx0c2l6ZToge1xuXHRcdFx0XHRtZDogNCxcblx0XHRcdFx0eHM6IDEyXG5cdFx0XHR9LFxuXHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goRGV0YWlsU2lkZWJhciwge30pXG5cdFx0fSldXG5cdH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgVmVyc2lvbkxheW91dCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVZlcnNpb24ubWpzLm1hcCIsImltcG9ydCB7IHVzZVZlcnNpb24gfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL1ZlcnNpb25Qcm92aWRlci9WZXJzaW9uUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgTm90Rm91bmQgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvTm90Rm91bmQvTm90Rm91bmQubWpzXCI7XG5pbXBvcnQgRm9yYmlkZGVuIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0ZvcmJpZGRlbi9Gb3JiaWRkZW4ubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL0ZvcmJpZGRlbi9pbmRleC5tanNcIjtcbmltcG9ydCBMb2FkaW5nIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0xvYWRpbmcvTG9hZGluZy5tanNcIjtcbmltcG9ydCBWZXJzaW9uTGF5b3V0IGZyb20gXCIuLi8uLi9sYXlvdXRzL1ZlcnNpb24vVmVyc2lvbi5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2luZGV4Lm1qc1wiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuLy8jcmVnaW9uIHNyYy9wYWdlcy9WZXJzaW9uL1ZlcnNpb24udHN4XG52YXIgVmVyc2lvbiA9ICgpID0+IHtcblx0Y29uc3QgeyBoYXNOb3RCZWVuRm91bmQsIGlzRm9yYmlkZGVuLCBpc1VuQXV0aG9yaXplZCwgaXNMb2FkaW5nIH0gPSB1c2VWZXJzaW9uKCk7XG5cdGlmIChpc0xvYWRpbmcpIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KExvYWRpbmcsIHt9KTtcblx0aWYgKGlzVW5BdXRob3JpemVkKSByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChGb3JiaWRkZW4sIHt9KTtcblx0aWYgKGlzRm9yYmlkZGVuKSByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChGb3JiaWRkZW4sIHt9KTtcblx0aWYgKGhhc05vdEJlZW5Gb3VuZCkgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goTm90Rm91bmQsIHt9KTtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goVmVyc2lvbkxheW91dCwge30pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgVmVyc2lvbiBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVZlcnNpb24ubWpzLm1hcCIsImltcG9ydCBMb2dpbiBmcm9tIFwiLi4vLi4vc2VjdGlvbnMvU2VjdXJpdHkvTG9naW4ubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9zZWN0aW9ucy9TZWN1cml0eS9pbmRleC5tanNcIjtcbi8vI3JlZ2lvbiBzcmMvcGFnZXMvU2VjdXJpdHkvTG9naW4udHN4XG52YXIgTG9naW5fZGVmYXVsdCA9IExvZ2luO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBMb2dpbl9kZWZhdWx0IGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9TG9naW4ubWpzLm1hcCIsImltcG9ydCBTdWNjZXNzIGZyb20gXCIuLi8uLi9zZWN0aW9ucy9TZWN1cml0eS9TdWNjZXNzLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vc2VjdGlvbnMvU2VjdXJpdHkvaW5kZXgubWpzXCI7XG4vLyNyZWdpb24gc3JjL3BhZ2VzL1NlY3VyaXR5L1N1Y2Nlc3MudHN4XG52YXIgU3VjY2Vzc19kZWZhdWx0ID0gU3VjY2Vzcztcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgU3VjY2Vzc19kZWZhdWx0IGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9U3VjY2Vzcy5tanMubWFwIiwiaW1wb3J0IEFkZFVzZXIgZnJvbSBcIi4uLy4uL3NlY3Rpb25zL1NlY3VyaXR5L0FkZFVzZXIubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9zZWN0aW9ucy9TZWN1cml0eS9pbmRleC5tanNcIjtcbi8vI3JlZ2lvbiBzcmMvcGFnZXMvU2VjdXJpdHkvQWRkVXNlci50c3hcbnZhciBBZGRVc2VyX2RlZmF1bHQgPSBBZGRVc2VyO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBBZGRVc2VyX2RlZmF1bHQgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1BZGRVc2VyLm1qcy5tYXAiLCJpbXBvcnQgQ2hhbmdlUGFzc3dvcmQgZnJvbSBcIi4uLy4uL3NlY3Rpb25zL1NlY3VyaXR5L0NoYW5nZVBhc3N3b3JkLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vc2VjdGlvbnMvU2VjdXJpdHkvaW5kZXgubWpzXCI7XG4vLyNyZWdpb24gc3JjL3BhZ2VzL1NlY3VyaXR5L0NoYW5nZVBhc3N3b3JkLnRzeFxudmFyIENoYW5nZVBhc3N3b3JkX2RlZmF1bHQgPSBDaGFuZ2VQYXNzd29yZDtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgQ2hhbmdlUGFzc3dvcmRfZGVmYXVsdCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNoYW5nZVBhc3N3b3JkLm1qcy5tYXAiLCJpbXBvcnQgeyBGcmFnbWVudCwganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IHsgR2xvYmFsU3R5bGVzIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbi8vI3JlZ2lvbiBzcmMvVGhlbWUvUmVzZXRTdHlsZXMudHN4XG52YXIgUmVzZXRTdHlsZXMgPSAoeyBjaGlsZHJlbiB9KSA9PiB7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhGcmFnbWVudCwgeyBjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goR2xvYmFsU3R5bGVzLCB7IHN0eWxlczogKHRoZW1lKSA9PiAoe1xuXHRcdFwiaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSwgZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLCBzbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLCBiLCB1LCBpLCBjZW50ZXIsIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksIGZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLCB0YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCwgYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsIGZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksIHRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlb1wiOiB7IGZvbnRGYW1pbHk6IFwiXFxcIlJvYm90b1xcXCIsIEhlbHZldGljYSBOZXVlLCBBcmlhbCwgc2Fucy1zZXJpZlwiIH0sXG5cdFx0c3Ryb25nOiB7IGZvbnRXZWlnaHQ6IHRoZW1lLmZvbnRXZWlnaHQuc2VtaUJvbGQgfSxcblx0XHRcImh0bWwsIGJvZHksICNyb290XCI6IHsgaGVpZ2h0OiBcIjEwMCVcIiB9LFxuXHRcdHVsOiB7XG5cdFx0XHRtYXJnaW46IDAsXG5cdFx0XHRwYWRkaW5nOiAwLFxuXHRcdFx0bGlzdFN0eWxlOiBcIm5vbmVcIlxuXHRcdH0sXG5cdFx0XCIuY29udGFpbmVyXCI6IHtcblx0XHRcdHBhZGRpbmdUb3A6IDE1LFxuXHRcdFx0cGFkZGluZ0JvdHRvbTogMTUsXG5cdFx0XHRmbGV4OiAxLFxuXHRcdFx0aGVpZ2h0OiBcIjEwMCVcIixcblx0XHRcdFtgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHt0aGVtZS5icmVha1BvaW50cy5jb250YWluZXJ9cHgpYF06IHtcblx0XHRcdFx0bWF4V2lkdGg6IHRoZW1lLmJyZWFrUG9pbnRzLmNvbnRhaW5lcixcblx0XHRcdFx0d2lkdGg6IFwiMTAwJVwiLFxuXHRcdFx0XHRtYXJnaW5MZWZ0OiBcImF1dG9cIixcblx0XHRcdFx0bWFyZ2luUmlnaHQ6IFwiYXV0b1wiXG5cdFx0XHR9XG5cdFx0fVxuXHR9KSB9KSwgY2hpbGRyZW5dIH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgUmVzZXRTdHlsZXMgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1SZXNldFN0eWxlcy5tanMubWFwIiwiaW1wb3J0IFJlc2V0U3R5bGVzIGZyb20gXCIuL1Jlc2V0U3R5bGVzLm1qc1wiO1xuaW1wb3J0IHsgRnJhZ21lbnQsIGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCBDc3NCYXNlbGluZSBmcm9tIFwiQG11aS9tYXRlcmlhbC9Dc3NCYXNlbGluZVwiO1xuaW1wb3J0IFwibm9ybWFsaXplLmNzc1wiO1xuLy8jcmVnaW9uIHNyYy9UaGVtZS9TdHlsZUJhc2VsaW5lLnRzeFxudmFyIFN0eWxlQmFzZWxpbmUgPSAoKSA9PiAvKiBAX19QVVJFX18gKi8ganN4cyhGcmFnbWVudCwgeyBjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goQ3NzQmFzZWxpbmUsIHt9KSwgLyogQF9fUFVSRV9fICovIGpzeChSZXNldFN0eWxlcywge30pXSB9KTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgU3R5bGVCYXNlbGluZSBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVN0eWxlQmFzZWxpbmUubWpzLm1hcCIsImltcG9ydCBBdmF0YXIgZnJvbSAnQG11aS9tYXRlcmlhbC9BdmF0YXInO1xuaW1wb3J0IEF2YXRhckdyb3VwIGZyb20gJ0BtdWkvbWF0ZXJpYWwvQXZhdGFyR3JvdXAnO1xuaW1wb3J0IExpbmsgZnJvbSAnQG11aS9tYXRlcmlhbC9MaW5rJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBjb250cmlidXRvcnMgZnJvbSAnLi9nZW5lcmF0ZWRfY29udHJpYnV0b3JzX2xpc3QuanNvbic7XG5cbmNvbnN0IGdlbmVyYXRlSW1hZ2UgPSAoaWQpID0+IGBodHRwczovL2F2YXRhcnMzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LyR7aWR9P3M9MTIwJnY9NGA7XG5cbmNvbnN0IENvbnRyaWJ1dG9yczogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxMaW5rIGhyZWY9e2BodHRwczovL3ZlcmRhY2Npby5vcmcvY29udHJpYnV0b3JzYH0gcmVsPVwibm9yZWZlcnJlclwiIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgICA8QXZhdGFyR3JvdXAgbWF4PXsxMX0gc3BhY2luZz17MTV9IHRvdGFsPXs0MDB9PlxuICAgICAgICAgIHtjb250cmlidXRvcnM/Lm1hcCgoeyB1c2VybmFtZSwgaWQgfSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPGRpdiBrZXk9e3VzZXJuYW1lfT5cbiAgICAgICAgICAgICAgICA8QXZhdGFyIGFsdD17dXNlcm5hbWV9IHNyYz17Z2VuZXJhdGVJbWFnZShpZCl9IC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KX1cbiAgICAgICAgPC9BdmF0YXJHcm91cD5cbiAgICAgIDwvTGluaz5cbiAgICA8Lz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvbnRyaWJ1dG9ycztcbiIsImltcG9ydCB7IExpbmsgfSBmcm9tICdAbXVpL21hdGVyaWFsJztcbmltcG9ydCBHcmlkIGZyb20gJ0BtdWkvbWF0ZXJpYWwvR3JpZCc7XG5pbXBvcnQgVHlwb2dyYXBoeSBmcm9tICdAbXVpL21hdGVyaWFsL1R5cG9ncmFwaHknO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuY29uc3QgdGl0bGUgPSAnU3VwcG9ydCBwZW9wbGUgYWZmZWN0ZWQgYnkgdGhlIHdhciBpbiBVa3JhaW5lJztcblxuY29uc3QgbGlua3MgPSBbXG4gIHtcbiAgICBocmVmOiAnaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1MZUcwOXp1X3BfZycsXG4gICAgdGV4dDogJ0FzayBVa3JhaW5pYW4gb3Blbi1zb3VyY2UgZGV2ZWxvcGVycyBhYm91dCB3YXIg4oCUIFR3aXR0ZXIgU3BhY2UnLFxuICB9LFxuICB7XG4gICAgaHJlZjogJ2h0dHBzOi8vc255ay5pby9ibG9nL2NlbGVicmF0aW5nLWFtYXppbmctb3Blbi1zb3VyY2UtaW5ub3ZhdGlvbi11a3JhaW5lLycsXG4gICAgdGV4dDogJ1NueWsgYmxvZyAtIExlYXJuIG1vcmUgYWJvdXQgT3BlbiBTb3VyY2UgZGV2ZWxvcGVycyBpbiBVa3JhaW5lJyxcbiAgfSxcbiAge1xuICAgIGhyZWY6ICdodHRwczovL3d3dy5zYXZldGhlY2hpbGRyZW4ub3JnL3VzL3doZXJlLXdlLXdvcmsvdWtyYWluZS8nLFxuICAgIHRleHQ6ICdEb25hdGUgdG8gc2F2ZSBjaGlsZHJlbiBpbiBVa3JhaW5lJyxcbiAgfSxcbiAge1xuICAgIGhyZWY6ICdodHRwczovL3d3dy5pZnJjLm9yZy8nLFxuICAgIHRleHQ6ICdEb25hdGUgdG8gdGhlIEludGVybmF0aW9uYWwgUmVkIENyb3NzJyxcbiAgfSxcbiAge1xuICAgIGhyZWY6ICdodHRwczovL3d3dy5ocncub3JnL25ld3MvMjAyMi8wMy8xMC91a3JhaW5lLXJ1c3NpYW4tYWlyLWRyb3BwZWQtYm9tYnMtaGl0LXJlc2lkZW50aWFsLWFyZWEvJyxcbiAgICB0ZXh0OiAnUmVhZCByZXBvcnRzIGZyb20gSHVtYW4gUmlnaHRzIFdhdGNoJyxcbiAgfSxcbiAge1xuICAgIGhyZWY6ICdodHRwczovL2V1cm9wZWFuYmxvb2RhbGxpYW5jZS5ldS8nLFxuICAgIHRleHQ6ICdEb25hdGUgYmxvb2QgaW4gRXVyb3BlJyxcbiAgfSxcbl07XG5cbmNvbnN0IFN1cHBvcnQgPSAoKSA9PiB7XG4gIGNvbnN0IGxpbmtFbGVtZW50cyA9IGxpbmtzLm1hcCgobGluaykgPT4gKFxuICAgIDxsaSBrZXk9e2xpbmsudGV4dH0+XG4gICAgICA8TGluayBocmVmPXtsaW5rLmhyZWZ9IHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgICA8VHlwb2dyYXBoeT57bGluay50ZXh0fTwvVHlwb2dyYXBoeT5cbiAgICAgIDwvTGluaz5cbiAgICA8L2xpPlxuICApKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8R3JpZCBjb250YWluZXI9e3RydWV9IHNwYWNpbmc9ezJ9PlxuICAgICAgICA8R3JpZCBpdGVtPXt0cnVlfSB4cz17MTJ9PlxuICAgICAgICAgIDxUeXBvZ3JhcGh5IGNvbXBvbmVudD1cImgyXCIgdmFyaWFudD1cImg2XCI+XG4gICAgICAgICAgICB7dGl0bGV9XG4gICAgICAgICAgPC9UeXBvZ3JhcGh5PlxuICAgICAgICA8L0dyaWQ+XG4gICAgICAgIDxHcmlkIGl0ZW09e3RydWV9IGxnPXsxMn0geHM9ezEyfT5cbiAgICAgICAgICA8c3BhbiBzdHlsZT17eyBmb250U3R5bGU6ICdpdGFsaWMnLCBmb250U2l6ZTogJzAuNzVyZW0nIH19PlxuICAgICAgICAgICAgPFR5cG9ncmFwaHk+XG4gICAgICAgICAgICAgIHtgSGksIHRoaXMgaXMgYSBtZXNzYWdlIHRoYXQgSSd2ZSBjb21wb3NlZCB0byBjYWxsIHlvdXIgYXR0ZW50aW9uIHRvIGFzayBcbiAgICAgICAgICAgICAgICBmb3IgaHVtYW5pdGFyaWFuIHN1cHBvcnQgZm9yIG1vcmUgdGhhbiA0NCBtaWxsaW9uIFVrcmFpbmlhbnMgdGhhdCBhcmUgaGF2aW5nIFxuICAgICAgICAgICAgICAgIGEgaGFyZCB0aW1lIHN1ZmZlcmluZyBmb3IgYSBob3JyaWJsZSBhbmQgdW5qdXN0aWZpZWQgd2FyLiBJdCB3b3VsZCBiZSBncmVhdCBpZiB5b3VcbiAgICAgICAgICAgICAgICBkZWNpZGUgdG9kYXkgdG8gbWFrZSBhIGRpZmZlcmVuY2UgYW5kIGhlbHAgb3RoZXJzLiBZb3UgY291bGQgaGVscCBieSBkb25hdGluZyBcbiAgICAgICAgICAgICAgICB0byB2ZXJ5IHdlbGwta25vd24gaHVtYW5pdGFyaWFuIG9yZ2FuaXphdGlvbnMsIGhlbHBpbmcgaW4geW91ciBsb2NhbCBcbiAgICAgICAgICAgICAgICBhcmVhIHdpdGggZm9vZCwgY2xvdGhlcywgZG9uYXRlIGJsb29kLCB0b3lzIGZvciBraWRzLCBvciB5b3VyIG93biB0aW1lLiBBbnkgaGVscCBpcyB2ZXJ5IHdlbGNvbWUuYH1cbiAgICAgICAgICAgIDwvVHlwb2dyYXBoeT5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHVsIHN0eWxlPXt7IHBhZGRpbmc6ICcxMHB4IDAnIH19PntsaW5rRWxlbWVudHN9PC91bD5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPFR5cG9ncmFwaHkgdmFyaWFudD1cImRpdlwiPntgU3ByZWFkIHRoZSB2b2ljZSwgbWFrZSB0aGUgZGlmZmVyZW5jZSB0b2RheS5gfTwvVHlwb2dyYXBoeT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IHBhZGRpbmc6ICcxMHB4IDAnLCBmb250V2VpZ2h0OiA2MDAgfX0+XG4gICAgICAgICAgICA8VHlwb2dyYXBoeSB2YXJpYW50PVwiZGl2XCI+e2BBdHQ6IFZlcmRhY2NpbyBMZWFkIE1hbnRhaW5lciwgSnVhbiBQLmB9PC9UeXBvZ3JhcGh5PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L0dyaWQ+XG4gICAgICA8L0dyaWQ+XG4gICAgPC8+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBTdXBwb3J0O1xuIiwiVmVyZGFjY2lvIGlzIGFuIG9wZW4gc291cmNlIGxpZ2h0d2VpZ2h0IHByaXZhdGUgcHJveHkgTm9kZS5qcyByZWdpc3RyeSxcbnlvdSBjYW4gW2xlYXJuIG1vcmUgYWJvdXQgdGhlIHByb2plY3QgaW4gb3VyIGJsb2ddKGh0dHBzOi8vdmVyZGFjY2lvLm9yZy9ibG9nLzIwMTkvMDIvMDgvdGhlLWNyYXp5LXN0b3J5LW9mLXZlcmRhY2NpbykuXG5cbiMjIyMgVXNlZnVsIGxpbmtzXG5cbi0gW0luc3RhbGxhdGlvbl0oaHR0cHM6Ly92ZXJkYWNjaW8ub3JnL2RvY3MvaW5zdGFsbGF0aW9uKVxuLSBbVHJhbnNsYXRlXShodHRwczovL3RyYW5zbGF0ZS52ZXJkYWNjaW8ub3JnLylcbi0gW0Jlc3QgUHJhY3RpY2VzXShodHRwczovL3ZlcmRhY2Npby5vcmcvZG9jcy9iZXN0KVxuLSBbU2VjdXJpdHkgUG9saWN5XShodHRwczovL2dpdGh1Yi5jb20vdmVyZGFjY2lvL3ZlcmRhY2Npby9zZWN1cml0eS9wb2xpY3kpXG4tIFtTcG9uc29yIHZpYSBPcGVuIENvbGxlY3RpdmVdKGh0dHBzOi8vb3BlbmNvbGxlY3RpdmUuY29tL3ZlcmRhY2Npbylcbi0gW1Nwb25zb3IgdmlhIEdpdEh1Yl0oaHR0cHM6Ly9naXRodWIuY29tL3Nwb25zb3JzL3ZlcmRhY2NpbylcblxuIyMjIyBIb3cgdG8gY29ubmVjdFxuXG4tIFtEaXNjdXNzaW9uc10oaHR0cHM6Ly9naXRodWIuY29tL3ZlcmRhY2Npby92ZXJkYWNjaW8vZGlzY3Vzc2lvbnMpXG4tIFtZb3VUdWJlIENoYW5uZWxdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2NoYW5uZWwvVUM1aTIwdjZvN2xTalh6QUhPdmF0dDB3KVxuLSBbRGlzY29yZCBDaGF0XShodHRwczovL2Rpc2NvcmQuZ2cvaHY0MmpmcylcblxuaHR0cHM6Ly93d3cudmVyZGFjY2lvLm9yZ1xuXG4jIyMjIE1lZXQgdGhlIGNvbnRyaWJ1dG9yc1xuIiwiTUlUIExpY2Vuc2VcblxuQ29weXJpZ2h0IChjKSAyMDI1IFZlcmRhY2NpbyBjb250cmlidXRvcnNcblxuUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxub2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xudG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG5mdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG5UaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbmNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG5cblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbklNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG5BVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG5MSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcblNPRlRXQVJFLlxuIiwiLyoqXG4gKiBWaXRlLWNvbXBhdGlibGUgdHJhbnNsYXRpb24gbG9hZGVyLlxuICogVXNlcyBpbXBvcnQubWV0YS5nbG9iIChzdXBwb3J0ZWQgYnkgYm90aCBWaXRlIGJ1aWxkcyBhbmQgVml0ZXN0KVxuICogaW5zdGVhZCBvZiB0aGUgQ0pTIHJlcXVpcmUoKS1iYXNlZCBAdmVyZGFjY2lvL3VpLWkxOG4gcGFja2FnZS5cbiAqL1xuaW1wb3J0IGVuVHJhbnNsYXRpb25zIGZyb20gJy4vY3Jvd2Rpbi91aS5qc29uJztcblxuY29uc3QgdHJhbnNsYXRpb25Nb2R1bGVzID0gaW1wb3J0Lm1ldGEuZ2xvYignLi9kb3dubG9hZF90cmFuc2xhdGlvbnMvKi91aS5qc29uJywge1xuICBlYWdlcjogdHJ1ZSxcbiAgaW1wb3J0OiAnZGVmYXVsdCcsXG59KTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTEFOR1VBR0UgPSAnZW4tVVMnO1xuXG5leHBvcnQgZnVuY3Rpb24gbG9hZFRyYW5zbGF0aW9uRmlsZShsbmc6IHN0cmluZykge1xuICBpZiAobG5nID09PSBERUZBVUxUX0xBTkdVQUdFKSB7XG4gICAgcmV0dXJuIGVuVHJhbnNsYXRpb25zO1xuICB9XG4gIGNvbnN0IGtleSA9IGAuL2Rvd25sb2FkX3RyYW5zbGF0aW9ucy8ke2xuZ30vdWkuanNvbmA7XG4gIHJldHVybiAodHJhbnNsYXRpb25Nb2R1bGVzW2tleV0gYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPikgPz8gZW5UcmFuc2xhdGlvbnM7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGxvYWRUcmFuc2xhdGlvbkZpbGU7XG4iLCJpbXBvcnQgKiBhcyBGbGFncyBmcm9tICdjb3VudHJ5LWZsYWctaWNvbnMvcmVhY3QvM3gyJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTEFOR1VBR0UgPSAnZW4tVVMnO1xuXG5leHBvcnQgdHlwZSBMYW5ndWFnZUNvbmZpZ3VyYXRpb24gPSB7XG4gIGxuZzogc3RyaW5nO1xuICBtZW51S2V5OiBzdHJpbmc7XG4gIGljb246IEZsYWdzLkZsYWdDb21wb25lbnQ7XG59O1xuXG5leHBvcnQgY29uc3QgbGlzdExhbmd1YWdlczogTGFuZ3VhZ2VDb25maWd1cmF0aW9uW10gPSBbXG4gIHsgbG5nOiBERUZBVUxUX0xBTkdVQUdFLCBpY29uOiBGbGFncy5VUywgbWVudUtleTogJ2xuZy5lbmdsaXNoJyB9LFxuICB7IGxuZzogJ2NzLUNaJywgaWNvbjogRmxhZ3MuQ1osIG1lbnVLZXk6ICdsbmcuY3plY2gnIH0sXG4gIHsgbG5nOiAncHQtQlInLCBpY29uOiBGbGFncy5CUiwgbWVudUtleTogJ2xuZy5wb3J0dWd1ZXNlJyB9LFxuICB7IGxuZzogJ2VzLUVTJywgaWNvbjogRmxhZ3MuRVMsIG1lbnVLZXk6ICdsbmcuc3BhbmlzaCcgfSxcbiAgeyBsbmc6ICdnYS1JRScsIGljb246IEZsYWdzLklFLCBtZW51S2V5OiAnbG5nLmlyaXNoJyB9LFxuICB7IGxuZzogJ2RlLURFJywgaWNvbjogRmxhZ3MuREUsIG1lbnVLZXk6ICdsbmcuZ2VybWFuJyB9LFxuICB7IGxuZzogJ2l0LUlUJywgaWNvbjogRmxhZ3MuSVQsIG1lbnVLZXk6ICdsbmcuaXRhbGlhbicgfSxcbiAgeyBsbmc6ICdmci1GUicsIGljb246IEZsYWdzLkZSLCBtZW51S2V5OiAnbG5nLmZyZW5jaCcgfSxcbiAgeyBsbmc6ICdqYS1KUCcsIGljb246IEZsYWdzLkpQLCBtZW51S2V5OiAnbG5nLmphcGFuZXNlJyB9LFxuICB7IGxuZzogJ3J1LVJVJywgaWNvbjogRmxhZ3MuUlUsIG1lbnVLZXk6ICdsbmcucnVzc2lhbicgfSxcbiAgeyBsbmc6ICd0ci1UUicsIGljb246IEZsYWdzLlRSLCBtZW51S2V5OiAnbG5nLnR1cmtpc2gnIH0sXG4gIHsgbG5nOiAndWstVUEnLCBpY29uOiBGbGFncy5VQSwgbWVudUtleTogJ2xuZy51a3JhaW5lJyB9LFxuICB7IGxuZzogJ2ttLUtIJywgaWNvbjogRmxhZ3MuS0gsIG1lbnVLZXk6ICdsbmcua2htZXInIH0sXG4gIHsgbG5nOiAnemgtQ04nLCBpY29uOiBGbGFncy5DTiwgbWVudUtleTogJ2xuZy5jaGluZXNlJyB9LFxuICB7IGxuZzogJ3poLVRXJywgaWNvbjogRmxhZ3MuVFcsIG1lbnVLZXk6ICdsbmcuY2hpbmVzZVRyYWRpdGlvbmFsJyB9LFxuXTtcblxuY29uc3QgbGFuZ3VhZ2VzID0gbGlzdExhbmd1YWdlcy5yZWR1Y2UoKGFjYywgaXRlbTogTGFuZ3VhZ2VDb25maWd1cmF0aW9uKSA9PiB7XG4gIGFjYy5wdXNoKGl0ZW0ubG5nKTtcbiAgcmV0dXJuIGFjYztcbn0sIFtdIGFzIHN0cmluZ1tdKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RMYW5ndWFnZXNBc1N0cmluZyA9IGxhbmd1YWdlcztcblxuZXhwb3J0IHR5cGUgTGFuZ3VhZ2UgPSBrZXlvZiB0eXBlb2YgbGlzdExhbmd1YWdlc0FzU3RyaW5nO1xuIiwiaW1wb3J0IGkxOG4gZnJvbSAnaTE4bmV4dCc7XG5pbXBvcnQgeyBpbml0UmVhY3RJMThuZXh0IH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5cbmltcG9ydCBsb2FkVHJhbnNsYXRpb25GaWxlIGZyb20gJ0B2ZXJkYWNjaW8vdWktaTE4bic7XG5cbmltcG9ydCB0eXBlIHsgTGFuZ3VhZ2VDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9lbmFibGVkTGFuZ3VhZ2VzJztcbmltcG9ydCB7IERFRkFVTFRfTEFOR1VBR0UsIGxpc3RMYW5ndWFnZXMsIGxpc3RMYW5ndWFnZXNBc1N0cmluZyB9IGZyb20gJy4vZW5hYmxlZExhbmd1YWdlcyc7XG5cbmNvbnN0IGxhbmd1YWdlcyA9IGxpc3RMYW5ndWFnZXMucmVkdWNlKChhY2MsIGl0ZW06IExhbmd1YWdlQ29uZmlndXJhdGlvbikgPT4ge1xuICBhY2NbaXRlbS5sbmddID0ge1xuICAgIHRyYW5zbGF0aW9uOlxuICAgICAgaXRlbS5sbmcgPT09IERFRkFVTFRfTEFOR1VBR0VcbiAgICAgICAgPyBsb2FkVHJhbnNsYXRpb25GaWxlKERFRkFVTFRfTEFOR1VBR0UpXG4gICAgICAgIDogbG9hZFRyYW5zbGF0aW9uRmlsZShpdGVtLmxuZyksXG4gIH07XG4gIHJldHVybiBhY2M7XG59LCB7fSk7XG5cbmkxOG5cbiAgLy8gcGFzcyB0aGUgaTE4biBpbnN0YW5jZSB0byByZWFjdC1pMThuZXh0LlxuICAudXNlKGluaXRSZWFjdEkxOG5leHQpXG4gIC8vIGluaXQgaTE4bmV4dFxuICAvLyBmb3IgYWxsIG9wdGlvbnMgcmVhZDogaHR0cHM6Ly93d3cuaTE4bmV4dC5jb20vb3ZlcnZpZXcvY29uZmlndXJhdGlvbi1vcHRpb25zXG4gIC5pbml0KHtcbiAgICAvLyBpbiBjYXNlIHdpbmRvdy5WRURBQ0NJT19MQU5HVUFHRSBpcyB1bmRlZmluZWQsaXQgd2lsbCBmYWxsIGJhY2sgdG8gJ2VuLVVTJ1xuICAgIGxuZzogd2luZG93Py5fX1ZFUkRBQ0NJT19CQVNFTkFNRV9VSV9PUFRJT05TPy5sYW5ndWFnZSB8fCBERUZBVUxUX0xBTkdVQUdFLFxuICAgIGZhbGxiYWNrTG5nOiBERUZBVUxUX0xBTkdVQUdFLFxuICAgIHdoaXRlbGlzdDogWy4uLmxpc3RMYW5ndWFnZXNBc1N0cmluZ10sXG4gICAgbG9hZDogJ2N1cnJlbnRPbmx5JyxcbiAgICByZWFjdDoge1xuICAgICAgdXNlU3VzcGVuc2U6IGZhbHNlLFxuICAgIH0sXG4gICAgcmVzb3VyY2VzOiBsYW5ndWFnZXMsXG4gICAgZGVidWc6IGZhbHNlLFxuICAgIGludGVycG9sYXRpb246IHtcbiAgICAgIGVzY2FwZVZhbHVlOiBmYWxzZSwgLy8gcmVhY3QgYWxyZWFkeSBzYWZlcyBmcm9tIHhzc1xuICAgIH0sXG4gIH0pO1xuXG5leHBvcnQgZGVmYXVsdCBpMThuO1xuIiwiaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcbmltcG9ydCBpMThuIGZyb20gJ2kxOG5leHQnO1xuXG5mdW5jdGlvbiBnZXRGYWxsRmFja0xhbmd1YWdlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGZhbGxiYWNrTGFuZ3VhZ2UgPSBpMThuLm9wdGlvbnMuZmFsbGJhY2tMbmc7XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkoZmFsbGJhY2tMYW5ndWFnZSkpIHtcbiAgICByZXR1cm4gZmFsbGJhY2tMYW5ndWFnZVswXTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgZmFsbGJhY2tMYW5ndWFnZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsbGJhY2tMYW5ndWFnZTtcbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGxvYWREYXlKU0xvY2FsZSgpIHtcbiAgY29uc3QgZmFsbGJhY2tMYW5ndWFnZSA9IGdldEZhbGxGYWNrTGFuZ3VhZ2UoKTtcbiAgY29uc3QgbG9jYWxlID0gaTE4bi5sYW5ndWFnZSB8fCBmYWxsYmFja0xhbmd1YWdlO1xuXG4gIHN3aXRjaCAobG9jYWxlPy50b0xvd2VyQ2FzZSgpKSB7XG4gICAgY2FzZSAncHQtYnInOlxuICAgICAgYXdhaXQgaW1wb3J0KCdkYXlqcy9sb2NhbGUvcHQtYnInKTtcbiAgICAgIGRheWpzLmxvY2FsZSgncHQtYnInKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2RlLWRlJzpcbiAgICAgIGF3YWl0IGltcG9ydCgnZGF5anMvbG9jYWxlL2RlJyk7XG4gICAgICBkYXlqcy5sb2NhbGUoJ2RlJyk7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdlcy1lcyc6XG4gICAgICBhd2FpdCBpbXBvcnQoJ2RheWpzL2xvY2FsZS9lcycpO1xuICAgICAgZGF5anMubG9jYWxlKCdlcycpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnZnItZnInOlxuICAgICAgYXdhaXQgaW1wb3J0KCdkYXlqcy9sb2NhbGUvZnInKTtcbiAgICAgIGRheWpzLmxvY2FsZSgnZnInKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ3poLWNuJzpcbiAgICAgIGF3YWl0IGltcG9ydCgnZGF5anMvbG9jYWxlL3poLWNuJyk7XG4gICAgICBkYXlqcy5sb2NhbGUoJ3poLWNuJyk7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdqYS1qcCc6XG4gICAgICBhd2FpdCBpbXBvcnQoJ2RheWpzL2xvY2FsZS9qYScpO1xuICAgICAgZGF5anMubG9jYWxlKCdqYScpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAncnUtcnUnOlxuICAgICAgYXdhaXQgaW1wb3J0KCdkYXlqcy9sb2NhbGUvcnUnKTtcbiAgICAgIGRheWpzLmxvY2FsZSgncnUnKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ3RyLXRyJzpcbiAgICAgIGF3YWl0IGltcG9ydCgnZGF5anMvbG9jYWxlL3RyJyk7XG4gICAgICBkYXlqcy5sb2NhbGUoJ3RyJyk7XG4gICAgICBicmVhaztcbiAgICBjYXNlICd1ay11YSc6XG4gICAgICBhd2FpdCBpbXBvcnQoJ2RheWpzL2xvY2FsZS91aycpO1xuICAgICAgZGF5anMubG9jYWxlKCd1aycpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnemgtdHcnOlxuICAgICAgYXdhaXQgaW1wb3J0KCdkYXlqcy9sb2NhbGUvemgtdHcnKTtcbiAgICAgIGRheWpzLmxvY2FsZSgnemgtdHcnKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2NzLWN6JzpcbiAgICAgIGF3YWl0IGltcG9ydCgnZGF5anMvbG9jYWxlL2NzJyk7XG4gICAgICBkYXlqcy5sb2NhbGUoJ2NzJyk7XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgYXdhaXQgaW1wb3J0KCdkYXlqcy9sb2NhbGUvZW4nKTtcbiAgICAgIGRheWpzLmxvY2FsZSgnZW4nKTtcbiAgICAgIGJyZWFrO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGxvYWREYXlKU0xvY2FsZTtcbiIsImltcG9ydCBCb3ggZnJvbSAnQG11aS9tYXRlcmlhbC9Cb3gnO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSAnQG11aS9tYXRlcmlhbC9zdHlsZXMnO1xuaW1wb3J0ICogYXMgRmxhZ3NJY29uIGZyb20gJ2NvdW50cnktZmxhZy1pY29ucy9yZWFjdC8zeDInO1xuaW1wb3J0IFJlYWN0LCB7IFN0cmljdE1vZGUsIFN1c3BlbnNlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IFJlYWN0TWFya2Rvd24gZnJvbSAncmVhY3QtbWFya2Rvd24nO1xuaW1wb3J0IHsgQnJvd3NlclJvdXRlciwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXInO1xuXG5pbXBvcnQge1xuICBFcnJvckJvdW5kYXJ5LFxuICBGb290ZXIsXG4gIEhlYWRlcixcbiAgSGVhZGVySW5mb0RpYWxvZyxcbiAgTG9hZGluZyxcbiAgUm91dGUsXG4gIFNlYXJjaFByb3ZpZGVyLFxuICBUcmFuc2xhdG9yUHJvdmlkZXIsXG4gIGJyZWFrUG9pbnRzLFxuICB1c2VDb25maWcsXG59IGZyb20gJ0B2ZXJkYWNjaW8vdWktY29tcG9uZW50cyc7XG5cbmltcG9ydCBDb250cmlidXRvcnMgZnJvbSAnLi4vY29tcG9uZW50cy9Db250cmlidXRvcnMnO1xuaW1wb3J0IFN1cHBvcnQgZnJvbSAnLi4vY29tcG9uZW50cy9TdXBwb3J0JztcbmltcG9ydCBhYm91dCBmcm9tICcuLi9jb21wb25lbnRzL2Fib3V0Lm1kJztcbmltcG9ydCBsaWNlbnNlIGZyb20gJy4uL2NvbXBvbmVudHMvbGljZW5zZS5tZCc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi9pMThuL2NvbmZpZyc7XG5pbXBvcnQgeyBsaXN0TGFuZ3VhZ2VzIH0gZnJvbSAnLi4vaTE4bi9lbmFibGVkTGFuZ3VhZ2VzJztcbmltcG9ydCBsb2FkRGF5SlNMb2NhbGUgZnJvbSAnLi4vaTE4bi9sb2FkLWRheWpzLWxvY2FsZSc7XG5pbXBvcnQgQXBwUm91dGUgZnJvbSAnLi9BcHBSb3V0ZSc7XG5cbmNvbnN0IFN0eWxlZEJveCA9IHN0eWxlZChCb3gpKCh7IHRoZW1lIH0pID0+ICh7XG4gIGJhY2tncm91bmRDb2xvcjogdGhlbWUucGFsZXR0ZS5iYWNrZ3JvdW5kLmRlZmF1bHQsXG59KSk7XG5cbmNvbnN0IFN0eWxlZEJveENvbnRlbnQgPSBzdHlsZWQoQm94KSh7XG4gIFtgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHticmVha1BvaW50cy5jb250YWluZXJ9cHgpYF06IHtcbiAgICBtYXhXaWR0aDogYnJlYWtQb2ludHMuY29udGFpbmVyLFxuICAgIHdpZHRoOiAnMTAwJScsXG4gICAgbWFyZ2luTGVmdDogJ2F1dG8nLFxuICAgIG1hcmdpblJpZ2h0OiAnYXV0bycsXG4gIH0sXG59KTtcblxuY29uc3QgRmxhZ3MgPSBzdHlsZWQoJ3NwYW4nKSgoKSA9PiAoe1xuICB3aWR0aDogJzI1cHgnLFxufSkpO1xuXG5mdW5jdGlvbiBDdXN0b21JbmZvRGlhbG9nKHsgb25DbG9zZURpYWxvZywgdGl0bGUsIGlzT3BlbiB9KSB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcbiAgcmV0dXJuIChcbiAgICA8SGVhZGVySW5mb0RpYWxvZ1xuICAgICAgZGlhbG9nVGl0bGU9e3RpdGxlfVxuICAgICAgaXNPcGVuPXtpc09wZW59XG4gICAgICBvbkNsb3NlRGlhbG9nPXtvbkNsb3NlRGlhbG9nfVxuICAgICAgdGFiUGFuZWxzPXtbXG4gICAgICAgIHtcbiAgICAgICAgICBlbGVtZW50OiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8UmVhY3RNYXJrZG93bj57YWJvdXR9PC9SZWFjdE1hcmtkb3duPlxuICAgICAgICAgICAgICA8Q29udHJpYnV0b3JzIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgICB7IGVsZW1lbnQ6IDxSZWFjdE1hcmtkb3duPntsaWNlbnNlfTwvUmVhY3RNYXJrZG93bj4gfSxcbiAgICAgICAgeyBlbGVtZW50OiA8U3VwcG9ydCAvPiB9LFxuICAgICAgXX1cbiAgICAgIHRhYnM9e1tcbiAgICAgICAgeyBsYWJlbDogdCgnYWJvdXQnKSB9LFxuICAgICAgICB7IGxhYmVsOiB0KCdkaWFsb2cubGljZW5zZScpIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJycsXG4gICAgICAgICAgaWNvbjogKFxuICAgICAgICAgICAgPEZsYWdzPlxuICAgICAgICAgICAgICA8RmxhZ3NJY29uLlVBIC8+XG4gICAgICAgICAgICA8L0ZsYWdzPlxuICAgICAgICAgICksXG4gICAgICAgIH0sXG4gICAgICBdfVxuICAgIC8+XG4gICk7XG59XG5cbmNvbnN0IEFwcENvbnRlbnQ6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCB7IGNvbmZpZ09wdGlvbnMgfSA9IHVzZUNvbmZpZygpO1xuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG4gIGNvbnN0IGlzUGxhaW5IZWFkZXIgPSBbXG4gICAgUm91dGUuTE9HSU4sXG4gICAgUm91dGUuU1VDQ0VTUyxcbiAgICBSb3V0ZS5BRERfVVNFUixcbiAgICBSb3V0ZS5DSEFOR0VfUEFTU1dPUkQsXG4gIF0uaW5jbHVkZXMobG9jYXRpb24ucGF0aG5hbWUgYXMgUm91dGUpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbG9hZERheUpTTG9jYWxlKCk7XG4gIH0sIFtdKTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRCb3ggZGlzcGxheT1cImZsZXhcIiBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCIgaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgPFNlYXJjaFByb3ZpZGVyPlxuICAgICAgICA8SGVhZGVyIEhlYWRlckluZm9EaWFsb2c9e0N1c3RvbUluZm9EaWFsb2d9IGlzUGxhaW5IZWFkZXI9e2lzUGxhaW5IZWFkZXJ9IC8+XG4gICAgICA8L1NlYXJjaFByb3ZpZGVyPlxuICAgICAgPFN0eWxlZEJveENvbnRlbnQgZmxleEdyb3c9ezF9PlxuICAgICAgICA8QXBwUm91dGUgLz5cbiAgICAgIDwvU3R5bGVkQm94Q29udGVudD5cbiAgICAgIHtjb25maWdPcHRpb25zLnNob3dGb290ZXIgJiYgPEZvb3RlciAvPn1cbiAgICA8L1N0eWxlZEJveD5cbiAgKTtcbn07XG5cbi8vIEB0cy1pZ25vcmVcbmNvbnN0IGJhc2VuYW1lID0gd2luZG93Py5fX1ZFUkRBQ0NJT19CQVNFTkFNRV9VSV9PUFRJT05TPy51cmxfcHJlZml4O1xuXG5jb25zdCBBcHA6IFJlYWN0LkZDID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxTdHJpY3RNb2RlPlxuICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgIDxUcmFuc2xhdG9yUHJvdmlkZXJcbiAgICAgICAgICBpMThuPXtpMThufVxuICAgICAgICAgIGxpc3RMYW5ndWFnZXM9e2xpc3RMYW5ndWFnZXN9XG4gICAgICAgICAgb25Nb3VudD17KCkgPT4gbG9hZERheUpTTG9jYWxlfVxuICAgICAgICA+XG4gICAgICAgICAgPFN1c3BlbnNlIGZhbGxiYWNrPXs8TG9hZGluZyAvPn0+XG4gICAgICAgICAgICA8QnJvd3NlclJvdXRlciBiYXNlbmFtZT17YmFzZW5hbWV9PlxuICAgICAgICAgICAgICA8QXBwQ29udGVudCAvPlxuICAgICAgICAgICAgPC9Ccm93c2VyUm91dGVyPlxuICAgICAgICAgIDwvU3VzcGVuc2U+XG4gICAgICAgIDwvVHJhbnNsYXRvclByb3ZpZGVyPlxuICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgIDwvU3RyaWN0TW9kZT5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEFwcDtcbmV4cG9ydCB7IEFwcENvbnRlbnQgfTtcbiIsImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjcmVhdGVSb290IH0gZnJvbSAncmVhY3QtZG9tL2NsaWVudCc7XG5cbmltcG9ydCB7XG4gIEFwcENvbmZpZ3VyYXRpb25Qcm92aWRlcixcbiAgQXV0aFByb3ZpZGVyLFxuICBFcnJvckJvdW5kYXJ5LFxuICBQZXJzaXN0ZW5jZVNldHRpbmdQcm92aWRlcixcbiAgU3R5bGVCYXNlbGluZSxcbiAgVGhlbWVQcm92aWRlcixcbn0gZnJvbSAnQHZlcmRhY2Npby91aS1jb21wb25lbnRzJztcblxuaW1wb3J0IEFwcCBmcm9tICcuL0FwcCc7XG5cbmNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyb290Jyk7XG5cbmlmICghY29udGFpbmVyKSB7XG4gIHRocm93IG5ldyBFcnJvcignUm9vdCBjb250YWluZXIgbWlzc2luZycpO1xufVxuXG5jb25zdCByb290ID0gY3JlYXRlUm9vdChjb250YWluZXIpO1xuXG5jb25zdCBBcHBDb250YWluZXIgPSAoKSA9PiAoXG4gIDxFcnJvckJvdW5kYXJ5PlxuICAgIDxBcHBDb25maWd1cmF0aW9uUHJvdmlkZXI+XG4gICAgICA8VGhlbWVQcm92aWRlcj5cbiAgICAgICAgPFN0eWxlQmFzZWxpbmUgLz5cbiAgICAgICAgPFBlcnNpc3RlbmNlU2V0dGluZ1Byb3ZpZGVyPlxuICAgICAgICAgIDxBdXRoUHJvdmlkZXI+XG4gICAgICAgICAgICA8QXBwIC8+XG4gICAgICAgICAgPC9BdXRoUHJvdmlkZXI+XG4gICAgICAgIDwvUGVyc2lzdGVuY2VTZXR0aW5nUHJvdmlkZXI+XG4gICAgICA8L1RoZW1lUHJvdmlkZXI+XG4gICAgPC9BcHBDb25maWd1cmF0aW9uUHJvdmlkZXI+XG4gIDwvRXJyb3JCb3VuZGFyeT5cbik7XG5cbnJvb3QucmVuZGVyKDxBcHBDb250YWluZXIgLz4pO1xuIl0sImZpbGUiOiJtYWluLkQ1YzlZYXNULmpzIn0=