@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.
@@ -1,51 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["Version.C-v__ccl.js","vendors.DuKlkuTQ.js","rolldown-runtime.M0LkISsN.js","vendors.O9qAgvA5.css","Versions.DF7QxT0Z.js","utils.CCleS53e.js","Dependencies.C634QQDy.js","NoItems.BP6JinE7.js","UpLinks.BC0li9AW.js","Front.CGa0k6cT.js","Login.D0ybHuOP.js","Success.BIYToh8D.js","AddUser.Ccb6A4bc.js","ChangePassword.xW3colSp.js","Versions.DfbDqFT_.js","UpLinks.Byn_b-No.js","Dependencies.PIN1bqqi.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,At as a,B as o,Bn as s,Bt as c,C as l,Cn as u,Ct as d,D as f,Dn as p,Dt as m,E as h,En as g,Et as _,F as ee,Ft as v,G as y,Gn as te,Gt as b,H as ne,Hn as re,Ht as ie,I as ae,In as oe,It as x,J as se,Jn as ce,Jt as le,K as ue,Kn as de,Kt as fe,L as pe,Lt as me,M as he,Mt as ge,N as _e,Nn as ve,Nt as S,O as ye,On as be,Ot as xe,P as Se,Pt as C,Q as Ce,Qn as w,Qt as we,R as Te,Rt as Ee,S as De,Sn as Oe,St as ke,T as Ae,Tn as je,Tt as Me,U as Ne,Un as Pe,Ut as T,V as Fe,Vn as Ie,Vt as Le,W as Re,Wn as E,Wt as ze,X as Be,Xn as Ve,Xt as He,Y as Ue,Yn as D,Yt as We,Z as Ge,Zn as Ke,Zt as qe,_ as Je,_t as Ye,an as Xe,at as Ze,b as Qe,bn as O,bt as $e,cn as et,ct as tt,dn as k,dt as nt,en as A,er as rt,et as it,fn as at,ft as ot,g as st,gn as j,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 M,mt as xt,nn as St,nt as Ct,on as N,ot as wt,p as Tt,pn as Et,q as Dt,qn as Ot,qt as P,rn as kt,rt as At,st as jt,tn as Mt,tr as Nt,tt as Pt,un as Ft,ut as It,v as Lt,vt as Rt,w as zt,wn as F,wt as Bt,x as Vt,xn as Ht,xt as Ut,y as Wt,yt as Gt,z as Kt,zn as I,zt as qt}from"./vendors.DuKlkuTQ.js";import{_ as Jt,a as Yt,c as Xt,d as Zt,f as Qt,i as L,l as $t,n as en,o as tn,p as nn,r as R,s as rn,t as an,u as on,v as z}from"./utils.CCleS53e.js";import{C as sn,D as cn,E as ln,S as un,T as dn,_ as fn,a as pn,b as mn,c as hn,d as gn,f as _n,g as vn,h as yn,i as bn,l as xn,m as Sn,n as Cn,o as wn,p as Tn,r as En,s as Dn,u as On,v as kn,w as B,x as V,y as H}from"./Versions.DF7QxT0Z.js";import{n as U}from"./UpLinks.BC0li9AW.js";import"./NoItems.BP6JinE7.js";import"./Dependencies.C634QQDy.js";var An=rt(),W=e(Nt(),1),jn=e=>t=>{t.preventDefault(),navigator.clipboard.writeText(e)},G=Ke(),Mn=w(`div`,{target:`em5nldk1`})({name:`bcffy2`,styles:`display:flex;align-items:center;justify-content:space-between`}),Nn=w(`span`,{target:`em5nldk0`})(({theme:e})=>({display:`inline-block`,overflow:`hidden`,textOverflow:`ellipsis`,height:`auto`,whiteSpace:`break-spaces`,fontSize:e.fontSize.sm}),``);function K({text:e,children:t,dataTestId:n,title:r,...i}){return(0,G.jsxs)(Mn,{...i,children:[(0,G.jsx)(Nn,{children:t??e}),r?(0,G.jsx)(I,{disableFocusListener:!0,title:r,children:(0,G.jsx)(s,{"data-testid":n,onClick:jn(e),size:`small`,children:(0,G.jsx)(re,{fontSize:`small`})})}):(0,G.jsx)(s,{"data-testid":n,onClick:jn(e),size:`small`,children:(0,G.jsx)(re,{fontSize:`small`})})]})}var Pn=e(gt(),1),Fn=e=>{let{children:t,onClose:n}=e;return(0,G.jsxs)(u,{sx:{m:0,p:2},children:[t,n?(0,G.jsx)(s,{"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,G.jsx)(be,{})}):null]})},In=({isOpen:e=!1,onClose:t,packageMeta:n})=>{let{t:r}=O(),i=de();return(0,G.jsxs)(g,{"data-testid":`rawViewer--dialog`,fullScreen:!0,open:e,children:[(0,G.jsx)(Fn,{id:`viewer-title`,onClose:t,children:r(`action-bar-action.raw-title`,{package:n.latest.name})}),(0,G.jsx)(je,{children:(0,G.jsx)(Pn.default,{collapseStringsAfterLength:200,collapsed:2,enableClipboard:!0,groupArraysAfterLength:10,src:n,theme:i.palette.mode==`light`?`bright:inverted`:`bright`})})]})},Ln=w(Mt,{target:`e1yxykdq0`})(({theme:e})=>({backgroundColor:e.palette.mode===`dark`?e.palette.secondary.main:e.palette.primary.main,"&:hover":{backgroundColor:e.palette.mode===`dark`?cn:void 0,color:e.palette.mode===`light`?e.palette.primary.main:D.white},color:D.white}),``),Rn=({type:e,link:t,action:n})=>{let{t:r}=O(),{isLoading:i}=H(),{downloadTarball:a}=bn(),o=(0,W.useCallback)(async()=>{a?.({link:t})},[t,a]);switch(e){case`VISIT_HOMEPAGE`:return(0,G.jsx)(I,{title:r(`action-bar-action.visit-home-page`),children:(0,G.jsx)(U,{to:t,variant:`button`,children:(0,G.jsx)(Ln,{color:`primary`,size:`small`,children:(0,G.jsx)(kt,{})})})});case`OPEN_AN_ISSUE`:return(0,G.jsx)(I,{title:r(`action-bar-action.open-an-issue`),children:(0,G.jsx)(U,{to:t,variant:`button`,children:(0,G.jsx)(Ln,{size:`small`,children:(0,G.jsx)(Xe,{})})})});case`DOWNLOAD_TARBALL`:return(0,G.jsx)(I,{title:r(`action-bar-action.download-tarball`),children:i?(0,G.jsx)(Ie,{sx:{marginX:0}}):(0,G.jsx)(Ln,{"data-testid":`download-tarball-btn`,onClick:o,size:`small`,children:(0,G.jsx)(dt,{})})});case`RAW_DATA`:return(0,G.jsx)(I,{title:r(`action-bar-action.raw`),children:(0,G.jsx)(Ln,{"data-testid":`raw-btn`,onClick:n,size:`small`,children:(0,G.jsx)(St,{})})})}},zn=({showRaw:e,showDownloadTarball:t=!0,packageMeta:n})=>{let[i,a]=(0,W.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,G.jsx)(A,{alignItems:`center`,display:`flex`,sx:{my:2},children:(0,G.jsxs)(r,{direction:`row`,spacing:1,children:[l.map(e=>(0,G.jsx)(Rn,{...e},e.type)),i&&(0,G.jsx)(In,{isOpen:i,onClose:()=>{a(!1)},packageMeta:n})]})})},Bn=({person:e})=>(0,G.jsxs)(F,{"data-testid":e.name+`-tooltip`,children:[e.name,e.email&&Jt(e.email)&&(0,G.jsxs)(U,{to:`mailto:${e.email}`,children:[(0,G.jsx)(`br`,{}),e.email]}),e.url&&z(e.url)&&(0,G.jsxs)(U,{to:e.url,children:[(0,G.jsx)(`br`,{}),e.url]})]});function Vn(e,t,n){return e.email&&Jt(e.email)?`mailto:${e.email}?subject=${t} v${n}`:e.url&&z(e.url)?e.url:``}function Hn(e){return e?e.toLowerCase()===`anonymous`?ve.t(`author-anonymous`):e:ve.t(`author-unknown`)}var Un=({person:e,packageName:t,version:n,withText:r=!1})=>{let i=Vn(e,t,n),a=(0,G.jsx)(b,{alt:e.name,src:e.avatar,sx:{width:40,height:40,ml:0,mr:1}});return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(I,{"data-testid":e.name,title:(0,G.jsx)(Bn,{person:e}),children:i.length>0?(0,G.jsx)(U,{to:i,children:a}):a},e.email),r&&(0,G.jsx)(F,{sx:{ml:1},variant:`subtitle2`,children:Hn(e.name)})]})},Wn=w(F,{target:`e4ifo371`})(e=>({fontWeight:e.theme.fontWeight.bold}),``),Gn=w(S,{target:`e4ifo370`})({name:`zw46c6`,styles:`padding:0;:hover{background-color:transparent;}`}),Kn=({packageMeta:e})=>{let{t}=O();if(!e)return null;let{author:n,name:r,version:i}=e.latest;return n?(0,G.jsx)(C,{subheader:(0,G.jsx)(Wn,{variant:`subtitle1`,children:t(`sidebar.author.title`)}),children:(0,G.jsx)(Gn,{sx:{my:1},children:(0,G.jsx)(Un,{packageName:r,person:n,version:i,withText:!0})})}):null},qn=({message:e})=>(0,G.jsx)(We,{severity:`warning`,sx:{marginTop:1,marginBottom:1},children:e}),Jn=function(e){return e.CONTRIBUTORS=`contributors`,e.MAINTAINERS=`maintainers`,e}({}),Yn=({type:e})=>{let{t}=O();switch(e){case Jn.CONTRIBUTORS:return(0,G.jsx)(Xn,{variant:`subtitle1`,children:t(`sidebar.contributors.title`)});case Jn.MAINTAINERS:return(0,G.jsx)(Xn,{variant:`subtitle1`,children:t(`sidebar.maintainers.title`)})}},Xn=w(F,{target:`e1ssrjap0`})(({theme:e})=>({fontWeight:e.fontWeight.bold,marginBottom:`10px`}),``);function Zn(e){return e?e.reduce((e,t)=>e.some(e=>e.email===t.email)?e:[...e,t],[]):[]}var Qn=w(Mt,{target:`eoc81fk1`})(e=>({backgroundColor:e.theme.palette.primary.main,color:D.white}),``),$n=w(A,{target:`eoc81fk0`})({name:`1scsie`,styles:`> *{margin-right:5px;}`}),er=({type:e,visibleMax:t=6,packageMeta:n})=>{let r=(0,W.useMemo)(()=>Zn(n?.latest[e]),[n,e]),[i,a]=(0,W.useState)(t),[o,s]=(0,W.useState)(r);(0,W.useEffect)(()=>{r.length&&s(r.slice(0,i))},[r,i]);let c=(0,W.useCallback)(()=>{a(i+6)},[i]);if(!o||!r.length)return null;let{name:l,version:u}=n.latest;return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(Yn,{type:e}),(0,G.jsxs)($n,{display:`flex`,flexWrap:`wrap`,margin:`10px 0 10px 0`,children:[o.map((e,t)=>(0,G.jsx)(Un,{packageName:l,person:e,version:u},t)),i<r.length&&(0,G.jsx)(Qn,{"data-testid":`fab-add`,onClick:c,size:`small`,children:(0,G.jsx)(ke,{})})]})]})},tr=w(F,{target:`e1mn5d922`})(e=>({fontWeight:e.theme.fontWeight.bold,textTransform:`capitalize`}),``),nr=w(S,{target:`e1mn5d921`})({name:`8a1gtu`,styles:`padding-left:0;padding-right:0;flex-wrap:wrap`}),rr=w(P,{target:`e1mn5d920`})({name:`186t8fy`,styles:`margin-right:5px;text-transform:capitalize;margin-top:5px`}),ir=({name:e,children:t})=>t?(0,G.jsx)(rr,{label:(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`b`,{children:e}),`: `,t]})}):null,ar=({packageMeta:e})=>{let{t}=O();if(!e?.latest)return null;let{dist:n,license:r}=e.latest;return!n&&!r?null:(0,G.jsx)(C,{subheader:(0,G.jsx)(tr,{variant:`subtitle1`,children:t(`sidebar.distribution.title`)}),children:(0,G.jsxs)(nr,{children:[n?.fileCount&&(0,G.jsx)(ir,{name:t(`sidebar.distribution.file-count`),children:`${n.fileCount}`}),n?.unpackedSize?(0,G.jsx)(ir,{name:t(`sidebar.distribution.size`),children:$t(n.unpackedSize)}):null,(0,G.jsx)(ir,{name:t(`sidebar.distribution.license`),children:Qt(r)})]})})},q=function({ref:e,size:t=`md`,title:n,...r}){return(0,G.jsx)(sr,{size:t,titleAccess:n,...r,ref:e})},or=e=>e===`md`?{width:18,height:18}:{width:14,height:16},sr=w(Pe,{target:`ebrx6kq0`})(({size:e})=>({...or(e)}),``),cr=function({ref:e,...t}){return(0,G.jsx)(q,{height:16,viewBox:`0 0 14 16`,width:14,...t,ref:e,children:(0,G.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`})})};cr.displayName=`Version`;var lr=function({ref:e,...t}){return(0,G.jsxs)(q,{viewBox:`0 0 24 24`,...t,ref:e,children:[(0,G.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,G.jsx)(`path`,{d:`M0 0h24v24H0z`,fill:`none`}),(0,G.jsx)(`path`,{d:`M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z`})]})};lr.displayName=`Time`;var ur=function({ref:e,...t}){return(0,G.jsx)(q,{viewBox:`0 0 14 16`,...t,ref:e,children:(0,G.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`})})};ur.displayName=`FileBinary`;var dr=function({ref:e,...t}){return(0,G.jsx)(q,{viewBox:`0 0 14 16`,...t,ref:e,children:(0,G.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`})})};dr.displayName=`Law`;var fr=function({ref:e,...t}){return(0,G.jsxs)(q,{viewBox:`0 0 490.652 490.652`,...t,ref:e,children:[(0,G.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,G.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`})]})};fr.displayName=`License`;var pr=function({ref:e,...t}){return(0,G.jsxs)(q,{viewBox:`0 0 45 45`,...t,ref:e,children:[(0,G.jsxs)(`defs`,{children:[(0,G.jsx)(`clipPath`,{id:`prefix__a`,children:(0,G.jsx)(`path`,{d:`M0 36h36V0H0v36z`})}),(0,G.jsx)(`clipPath`,{id:`prefix__b`,children:(0,G.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,G.jsx)(`g`,{clipPath:`url(#prefix__a)`,transform:`matrix(1.25 0 0 -1.25 0 45)`,children:(0,G.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,G.jsx)(`g`,{clipPath:`url(#prefix__b)`,transform:`matrix(1.25 0 0 -1.25 0 45)`,children:(0,G.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`})})]})};pr.displayName=`Earth`;var mr=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNiAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgMEgzNlYzNkgwVjBaIiBmaWxsPSIjMTk3NkQyIi8+CjxwYXRoIGQ9Ik0xNC4wMTM3IDEyLjIwMzFWMjVIMTEuMTU3MlYxMi4yMDMxSDE0LjAxMzdaTTE3LjkwNzIgMTIuMjAzMVYxNC40MjY4SDcuMzQyNzdWMTIuMjAzMUgxNy45MDcyWk0yMy4zNzQgMjVIMjAuNTYxNUwyMC41NzkxIDIyLjc4NTJIMjMuMzc0QzI0LjAxMjcgMjIuNzg1MiAyNC41NTE4IDIyLjYzODcgMjQuOTkxMiAyMi4zNDU3QzI1LjQzMDcgMjIuMDQ2OSAyNS43NjQ2IDIxLjYwNzQgMjUuOTkzMiAyMS4wMjczQzI2LjIyMTcgMjAuNDQxNCAyNi4zMzU5IDE5LjcyOTUgMjYuMzM1OSAxOC44OTE2VjE4LjMwMjdDMjYuMzM1OSAxNy42Njk5IDI2LjI3MTUgMTcuMTEzMyAyNi4xNDI2IDE2LjYzMjhDMjYuMDEzNyAxNi4xNDY1IDI1LjgyMzIgMTUuNzM5MyAyNS41NzEzIDE1LjQxMTFDMjUuMzE5MyAxNS4wODMgMjUuMDA1OSAxNC44MzY5IDI0LjYzMDkgMTQuNjcyOUMyNC4yNjE3IDE0LjUwODggMjMuODM2OSAxNC40MjY4IDIzLjM1NjQgMTQuNDI2OEgyMC41MDg4VjEyLjIwMzFIMjMuMzU2NEMyNC4yMjM2IDEyLjIwMzEgMjUuMDE0NiAxMi4zNDk2IDI1LjcyOTUgMTIuNjQyNkMyNi40NTAyIDEyLjkzNTUgMjcuMDcxMyAxMy4zNTQ1IDI3LjU5MjggMTMuODk5NEMyOC4xMjAxIDE0LjQ0NDMgMjguNTI3MyAxNS4wODg5IDI4LjgxNDUgMTUuODMzQzI5LjEwMTYgMTYuNTc3MSAyOS4yNDUxIDE3LjQwNjIgMjkuMjQ1MSAxOC4zMjAzVjE4Ljg5MTZDMjkuMjQ1MSAxOS43OTk4IDI5LjEwMTYgMjAuNjI4OSAyOC44MTQ1IDIxLjM3ODlDMjguNTI3MyAyMi4xMjMgMjguMTIwMSAyMi43Njc2IDI3LjU5MjggMjMuMzEyNUMyNy4wNzEzIDIzLjg1MTYgMjYuNDUzMSAyNC4yNjc2IDI1LjczODMgMjQuNTYwNUMyNS4wMjM0IDI0Ljg1MzUgMjQuMjM1NCAyNSAyMy4zNzQgMjVaTTIyLjE4NzUgMTIuMjAzMVYyNUgxOS4zMjIzVjEyLjIwMzFIMjIuMTg3NVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=`;function hr(){return(0,G.jsx)(`img`,{alt:`typescript`,height:`20`,src:mr,width:`20`})}var gr=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNiAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgMEgzNlYzNkgwVjBaIiBmaWxsPSIjRkZEMTAyIi8+CjxwYXRoIGQ9Ik05LjQxMTEzIDIxLjcxMDlIMTIuMjU4OEMxMi4yMTE5IDIyLjU4OTggMTEuOTcxNyAyMy4zNjYyIDExLjUzODEgMjQuMDRDMTEuMTEwNCAyNC43MDggMTAuNTE1NiAyNS4yMzI0IDkuNzUzOTEgMjUuNjEzM0M4Ljk5MjE5IDI1Ljk4ODMgOC4wODY5MSAyNi4xNzU4IDcuMDM4MDkgMjYuMTc1OEM2LjIwMDIgMjYuMTc1OCA1LjQ1MDIgMjYuMDMyMiA0Ljc4ODA5IDI1Ljc0NTFDNC4xMjU5OCAyNS40NTggMy41NjM0OCAyNS4wNDc5IDMuMTAwNTkgMjQuNTE0NkMyLjY0MzU1IDIzLjk3NTYgMi4yOTE5OSAyMy4zMjgxIDIuMDQ1OSAyMi41NzIzQzEuODA1NjYgMjEuODEwNSAxLjY4NTU1IDIwLjk1MjEgMS42ODU1NSAxOS45OTcxVjE5LjIxNDhDMS42ODU1NSAxOC4yNTk4IDEuODExNTIgMTcuNDAxNCAyLjA2MzQ4IDE2LjYzOTZDMi4zMTU0MyAxNS44Nzc5IDIuNjc1NzggMTUuMjI3NSAzLjE0NDUzIDE0LjY4ODVDMy42MTMyOCAxNC4xNDk0IDQuMTc1NzggMTMuNzM2MyA0LjgzMjAzIDEzLjQ0OTJDNS40ODgyOCAxMy4xNjIxIDYuMjIwNyAxMy4wMTg2IDcuMDI5MyAxMy4wMTg2QzguMTE5MTQgMTMuMDE4NiA5LjAzOTA2IDEzLjIxNDggOS43ODkwNiAxMy42MDc0QzEwLjUzOTEgMTQgMTEuMTE5MSAxNC41MzkxIDExLjUyOTMgMTUuMjI0NkMxMS45NDUzIDE1LjkxMDIgMTIuMTk0MyAxNi42OTI0IDEyLjI3NjQgMTcuNTcxM0g5LjQxOTkyQzkuMzk2NDggMTcuMDczMiA5LjMwMjczIDE2LjY1NDMgOS4xMzg2NyAxNi4zMTQ1QzguOTc0NjEgMTUuOTY4OCA4LjcyMjY2IDE1LjcwOCA4LjM4MjgxIDE1LjUzMjJDOC4wNDI5NyAxNS4zNTY0IDcuNTkxOCAxNS4yNjg2IDcuMDI5MyAxNS4yNjg2QzYuNjE5MTQgMTUuMjY4NiA2LjI1ODc5IDE1LjM0NDcgNS45NDgyNCAxNS40OTcxQzUuNjQzNTUgMTUuNjQ5NCA1LjM4ODY3IDE1Ljg4NjcgNS4xODM1OSAxNi4yMDlDNC45ODQzOCAxNi41MzEyIDQuODM0OTYgMTYuOTQxNCA0LjczNTM1IDE3LjQzOTVDNC42MzU3NCAxNy45MzE2IDQuNTg1OTQgMTguNTE3NiA0LjU4NTk0IDE5LjE5NzNWMTkuOTk3MUM0LjU4NTk0IDIwLjY3MDkgNC42Mjk4OCAyMS4yNTM5IDQuNzE3NzcgMjEuNzQ2MUM0LjgwNTY2IDIyLjIzODMgNC45NDYyOSAyMi42NDU1IDUuMTM5NjUgMjIuOTY3OEM1LjMzODg3IDIzLjI5IDUuNTkzNzUgMjMuNTMwMyA1LjkwNDMgMjMuNjg4NUM2LjIxNDg0IDIzLjg0NjcgNi41OTI3NyAyMy45MjU4IDcuMDM4MDkgMjMuOTI1OEM3LjU0Nzg1IDIzLjkyNTggNy45NzI2NiAyMy44NDY3IDguMzEyNSAyMy42ODg1QzguNjUyMzQgMjMuNTI0NCA4LjkxMzA5IDIzLjI3ODMgOS4wOTQ3MyAyMi45NTAyQzkuMjc2MzcgMjIuNjIyMSA5LjM4MTg0IDIyLjIwOSA5LjQxMTEzIDIxLjcxMDlaTTE4Ljk5MTIgMjIuMDI3M1YxMy4yMDMxSDIxLjgzODlWMjIuMDI3M0MyMS44Mzg5IDIyLjg4MjggMjEuNjQ1NSAyMy42MjExIDIxLjI1ODggMjQuMjQyMkMyMC44Nzc5IDI0Ljg1NzQgMjAuMzU5NCAyNS4zMzUgMTkuNzAzMSAyNS42NzQ4QzE5LjA1MjcgMjYuMDA4OCAxOC4zMTc0IDI2LjE3NTggMTcuNDk3MSAyNi4xNzU4QzE2LjY1MzMgMjYuMTc1OCAxNS45MDMzIDI2LjAzNTIgMTUuMjQ3MSAyNS43NTM5QzE0LjU5MDggMjUuNDY2OCAxNC4wNzUyIDI1LjAzMDMgMTMuNzAwMiAyNC40NDQzQzEzLjMzMTEgMjMuODUyNSAxMy4xNDY1IDIzLjA5OTYgMTMuMTQ2NSAyMi4xODU1SDE2LjAxMTdDMTYuMDExNyAyMi42MzY3IDE2LjA2NzQgMjIuOTk0MSAxNi4xNzg3IDIzLjI1NzhDMTYuMjk1OSAyMy41MTU2IDE2LjQ2NTggMjMuNjk3MyAxNi42ODg1IDIzLjgwMjdDMTYuOTExMSAyMy45MDgyIDE3LjE4MDcgMjMuOTYwOSAxNy40OTcxIDIzLjk2MDlDMTcuODAxOCAyMy45NjA5IDE4LjA2NTQgMjMuODg3NyAxOC4yODgxIDIzLjc0MTJDMTguNTEwNyAyMy41ODg5IDE4LjY4MzYgMjMuMzY5MSAxOC44MDY2IDIzLjA4MkMxOC45Mjk3IDIyLjc4OTEgMTguOTkxMiAyMi40Mzc1IDE4Ljk5MTIgMjIuMDI3M1pNMzAuNTc1MiAyMi42MjVDMzAuNTc1MiAyMi40MDgyIDMwLjU0MyAyMi4yMTQ4IDMwLjQ3ODUgMjIuMDQ0OUMzMC40MTQxIDIxLjg2OTEgMzAuMjk2OSAyMS43MDggMzAuMTI3IDIxLjU2MTVDMjkuOTU3IDIxLjQxNSAyOS43MTY4IDIxLjI2ODYgMjkuNDA2MiAyMS4xMjIxQzI5LjA5NTcgMjAuOTY5NyAyOC42ODg1IDIwLjgxNDUgMjguMTg0NiAyMC42NTYyQzI3LjYxMDQgMjAuNDY4OCAyNy4wNjI1IDIwLjI1NzggMjYuNTQxIDIwLjAyMzRDMjYuMDI1NCAxOS43ODMyIDI1LjU2NTQgMTkuNTA0OSAyNS4xNjExIDE5LjE4ODVDMjQuNzU2OCAxOC44NzIxIDI0LjQzNzUgMTguNTAyOSAyNC4yMDMxIDE4LjA4MTFDMjMuOTc0NiAxNy42NTkyIDIzLjg2MDQgMTcuMTY3IDIzLjg2MDQgMTYuNjA0NUMyMy44NjA0IDE2LjA1OTYgMjMuOTgwNSAxNS41Njc0IDI0LjIyMDcgMTUuMTI3OUMyNC40NjA5IDE0LjY4ODUgMjQuNzk3OSAxNC4zMTM1IDI1LjIzMTQgMTQuMDAyOUMyNS42NjUgMTMuNjg2NSAyNi4xNzQ4IDEzLjQ0NjMgMjYuNzYwNyAxMy4yODIyQzI3LjM0NjcgMTMuMTEyMyAyNy45OTEyIDEzLjAyNzMgMjguNjk0MyAxMy4wMjczQzI5LjYzMTggMTMuMDI3MyAzMC40NTUxIDEzLjE5NDMgMzEuMTY0MSAxMy41MjgzQzMxLjg3ODkgMTMuODU2NCAzMi40MzU1IDE0LjMxOTMgMzIuODM0IDE0LjkxN0MzMy4yMzI0IDE1LjUwODggMzMuNDMxNiAxNi4xOTczIDMzLjQzMTYgMTYuOTgyNEgzMC41ODRDMzAuNTg0IDE2LjYzNjcgMzAuNTEwNyAxNi4zMzIgMzAuMzY0MyAxNi4wNjg0QzMwLjIyMzYgMTUuNzk4OCAzMC4wMDY4IDE1LjU4NzkgMjkuNzEzOSAxNS40MzU1QzI5LjQyNjggMTUuMjgzMiAyOS4wNjY0IDE1LjIwNyAyOC42MzI4IDE1LjIwN0MyOC4yMTA5IDE1LjIwNyAyNy44NTY0IDE1LjI3MTUgMjcuNTY5MyAxNS40MDA0QzI3LjI4ODEgMTUuNTIzNCAyNy4wNzQyIDE1LjY5MzQgMjYuOTI3NyAxNS45MTAyQzI2Ljc4NzEgMTYuMTI3IDI2LjcxNjggMTYuMzY0MyAyNi43MTY4IDE2LjYyMjFDMjYuNzE2OCAxNi44MjcxIDI2Ljc2OTUgMTcuMDE0NiAyNi44NzUgMTcuMTg0NkMyNi45ODYzIDE3LjM0ODYgMjcuMTQ0NSAxNy41MDM5IDI3LjM0OTYgMTcuNjUwNEMyNy41NjA1IDE3Ljc5MSAyNy44MTg0IDE3LjkyNTggMjguMTIzIDE4LjA1NDdDMjguNDI3NyAxOC4xODM2IDI4Ljc3NjQgMTguMzA2NiAyOS4xNjg5IDE4LjQyMzhDMjkuODU0NSAxOC42NDA2IDMwLjQ2MDkgMTguODgwOSAzMC45ODgzIDE5LjE0NDVDMzEuNTIxNSAxOS40MDgyIDMxLjk2OTcgMTkuNzA3IDMyLjMzMyAyMC4wNDFDMzIuNjk2MyAyMC4zNzUgMzIuOTY4OCAyMC43NTI5IDMzLjE1MDQgMjEuMTc0OEMzMy4zMzc5IDIxLjU5NjcgMzMuNDMxNiAyMi4wNzQyIDMzLjQzMTYgMjIuNjA3NEMzMy40MzE2IDIzLjE3NTggMzMuMzIwMyAyMy42Nzk3IDMzLjA5NzcgMjQuMTE5MUMzMi44ODA5IDI0LjU1ODYgMzIuNTY0NSAyNC45MzM2IDMyLjE0ODQgMjUuMjQ0MUMzMS43MzgzIDI1LjU0ODggMzEuMjQ2MSAyNS43ODAzIDMwLjY3MTkgMjUuOTM4NUMzMC4wOTc3IDI2LjA5NjcgMjkuNDU2MSAyNi4xNzU4IDI4Ljc0NzEgMjYuMTc1OEMyOC4xMDI1IDI2LjE3NTggMjcuNDY2OCAyNi4wOTM4IDI2LjgzOTggMjUuOTI5N0MyNi4yMTI5IDI1Ljc1OTggMjUuNjQ0NSAyNS41MDIgMjUuMTM0OCAyNS4xNTYyQzI0LjYzMDkgMjQuODEwNSAyNC4yMjY2IDI0LjM3MTEgMjMuOTIxOSAyMy44Mzc5QzIzLjYyMyAyMy4yOTg4IDIzLjQ3MzYgMjIuNjYwMiAyMy40NzM2IDIxLjkyMTlIMjYuMzM4OUMyNi4zMzg5IDIyLjMwODYgMjYuMzk0NSAyMi42MzY3IDI2LjUwNTkgMjIuOTA2MkMyNi42MTcyIDIzLjE2OTkgMjYuNzc1NCAyMy4zODM4IDI2Ljk4MDUgMjMuNTQ3OUMyNy4xOTE0IDIzLjcxMTkgMjcuNDQ2MyAyMy44MjkxIDI3Ljc0NTEgMjMuODk5NEMyOC4wNDM5IDIzLjk2OTcgMjguMzc3OSAyNC4wMDQ5IDI4Ljc0NzEgMjQuMDA0OUMyOS4xNzQ4IDI0LjAwNDkgMjkuNTIwNSAyMy45NDYzIDI5Ljc4NDIgMjMuODI5MUMzMC4wNTM3IDIzLjcwNjEgMzAuMjUyOSAyMy41MzkxIDMwLjM4MTggMjMuMzI4MUMzMC41MTA3IDIzLjExNzIgMzAuNTc1MiAyMi44ODI4IDMwLjU3NTIgMjIuNjI1WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==`;function _r(){return(0,G.jsx)(`img`,{alt:`commonjs`,height:`20`,src:gr,width:`20`})}var vr=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNiAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgMEgzNlYzNkgwVjBaIiBmaWxsPSIjOTNDMkRCIi8+CjxwYXRoIGQ9Ik0xMS43NTU5IDIyLjc4NTJWMjVINC45NDQzNFYyMi43ODUySDExLjc1NTlaTTUuOTE5OTIgMTIuMjAzMVYyNUgzLjA1NDY5VjEyLjIwMzFINS45MTk5MlpNMTAuODc3IDE3LjM1MzVWMTkuNDk4SDQuOTQ0MzRWMTcuMzUzNUgxMC44NzdaTTExLjc2NDYgMTIuMjAzMVYxNC40MjY4SDQuOTQ0MzRWMTIuMjAzMUgxMS43NjQ2Wk0xOS43OTc5IDIxLjYyNUMxOS43OTc5IDIxLjQwODIgMTkuNzY1NiAyMS4yMTQ4IDE5LjcwMTIgMjEuMDQ0OUMxOS42MzY3IDIwLjg2OTEgMTkuNTE5NSAyMC43MDggMTkuMzQ5NiAyMC41NjE1QzE5LjE3OTcgMjAuNDE1IDE4LjkzOTUgMjAuMjY4NiAxOC42Mjg5IDIwLjEyMjFDMTguMzE4NCAxOS45Njk3IDE3LjkxMTEgMTkuODE0NSAxNy40MDcyIDE5LjY1NjJDMTYuODMzIDE5LjQ2ODggMTYuMjg1MiAxOS4yNTc4IDE1Ljc2MzcgMTkuMDIzNEMxNS4yNDggMTguNzgzMiAxNC43ODgxIDE4LjUwNDkgMTQuMzgzOCAxOC4xODg1QzEzLjk3OTUgMTcuODcyMSAxMy42NjAyIDE3LjUwMjkgMTMuNDI1OCAxNy4wODExQzEzLjE5NzMgMTYuNjU5MiAxMy4wODMgMTYuMTY3IDEzLjA4MyAxNS42MDQ1QzEzLjA4MyAxNS4wNTk2IDEzLjIwMzEgMTQuNTY3NCAxMy40NDM0IDE0LjEyNzlDMTMuNjgzNiAxMy42ODg1IDE0LjAyMDUgMTMuMzEzNSAxNC40NTQxIDEzLjAwMjlDMTQuODg3NyAxMi42ODY1IDE1LjM5NzUgMTIuNDQ2MyAxNS45ODM0IDEyLjI4MjJDMTYuNTY5MyAxMi4xMTIzIDE3LjIxMzkgMTIuMDI3MyAxNy45MTcgMTIuMDI3M0MxOC44NTQ1IDEyLjAyNzMgMTkuNjc3NyAxMi4xOTQzIDIwLjM4NjcgMTIuNTI4M0MyMS4xMDE2IDEyLjg1NjQgMjEuNjU4MiAxMy4zMTkzIDIyLjA1NjYgMTMuOTE3QzIyLjQ1NTEgMTQuNTA4OCAyMi42NTQzIDE1LjE5NzMgMjIuNjU0MyAxNS45ODI0SDE5LjgwNjZDMTkuODA2NiAxNS42MzY3IDE5LjczMzQgMTUuMzMyIDE5LjU4NjkgMTUuMDY4NEMxOS40NDYzIDE0Ljc5ODggMTkuMjI5NSAxNC41ODc5IDE4LjkzNjUgMTQuNDM1NUMxOC42NDk0IDE0LjI4MzIgMTguMjg5MSAxNC4yMDcgMTcuODU1NSAxNC4yMDdDMTcuNDMzNiAxNC4yMDcgMTcuMDc5MSAxNC4yNzE1IDE2Ljc5MiAxNC40MDA0QzE2LjUxMDcgMTQuNTIzNCAxNi4yOTY5IDE0LjY5MzQgMTYuMTUwNCAxNC45MTAyQzE2LjAwOTggMTUuMTI3IDE1LjkzOTUgMTUuMzY0MyAxNS45Mzk1IDE1LjYyMjFDMTUuOTM5NSAxNS44MjcxIDE1Ljk5MjIgMTYuMDE0NiAxNi4wOTc3IDE2LjE4NDZDMTYuMjA5IDE2LjM0ODYgMTYuMzY3MiAxNi41MDM5IDE2LjU3MjMgMTYuNjUwNEMxNi43ODMyIDE2Ljc5MSAxNy4wNDEgMTYuOTI1OCAxNy4zNDU3IDE3LjA1NDdDMTcuNjUwNCAxNy4xODM2IDE3Ljk5OSAxNy4zMDY2IDE4LjM5MTYgMTcuNDIzOEMxOS4wNzcxIDE3LjY0MDYgMTkuNjgzNiAxNy44ODA5IDIwLjIxMDkgMTguMTQ0NUMyMC43NDQxIDE4LjQwODIgMjEuMTkyNCAxOC43MDcgMjEuNTU1NyAxOS4wNDFDMjEuOTE4OSAxOS4zNzUgMjIuMTkxNCAxOS43NTI5IDIyLjM3MyAyMC4xNzQ4QzIyLjU2MDUgMjAuNTk2NyAyMi42NTQzIDIxLjA3NDIgMjIuNjU0MyAyMS42MDc0QzIyLjY1NDMgMjIuMTc1OCAyMi41NDMgMjIuNjc5NyAyMi4zMjAzIDIzLjExOTFDMjIuMTAzNSAyMy41NTg2IDIxLjc4NzEgMjMuOTMzNiAyMS4zNzExIDI0LjI0NDFDMjAuOTYwOSAyNC41NDg4IDIwLjQ2ODggMjQuNzgwMyAxOS44OTQ1IDI0LjkzODVDMTkuMzIwMyAyNS4wOTY3IDE4LjY3ODcgMjUuMTc1OCAxNy45Njk3IDI1LjE3NThDMTcuMzI1MiAyNS4xNzU4IDE2LjY4OTUgMjUuMDkzOCAxNi4wNjI1IDI0LjkyOTdDMTUuNDM1NSAyNC43NTk4IDE0Ljg2NzIgMjQuNTAyIDE0LjM1NzQgMjQuMTU2MkMxMy44NTM1IDIzLjgxMDUgMTMuNDQ5MiAyMy4zNzExIDEzLjE0NDUgMjIuODM3OUMxMi44NDU3IDIyLjI5ODggMTIuNjk2MyAyMS42NjAyIDEyLjY5NjMgMjAuOTIxOUgxNS41NjE1QzE1LjU2MTUgMjEuMzA4NiAxNS42MTcyIDIxLjYzNjcgMTUuNzI4NSAyMS45MDYyQzE1LjgzOTggMjIuMTY5OSAxNS45OTggMjIuMzgzOCAxNi4yMDMxIDIyLjU0NzlDMTYuNDE0MSAyMi43MTE5IDE2LjY2ODkgMjIuODI5MSAxNi45Njc4IDIyLjg5OTRDMTcuMjY2NiAyMi45Njk3IDE3LjYwMDYgMjMuMDA0OSAxNy45Njk3IDIzLjAwNDlDMTguMzk3NSAyMy4wMDQ5IDE4Ljc0MzIgMjIuOTQ2MyAxOS4wMDY4IDIyLjgyOTFDMTkuMjc2NCAyMi43MDYxIDE5LjQ3NTYgMjIuNTM5MSAxOS42MDQ1IDIyLjMyODFDMTkuNzMzNCAyMi4xMTcyIDE5Ljc5NzkgMjEuODgyOCAxOS43OTc5IDIxLjYyNVpNMzAuNzIyNyAxMi4wNDQ5SDMxLjE0NDVWMTQuMjI0NkgzMC45ODYzQzMwLjM3MTEgMTQuMjI0NiAyOS44MDg2IDE0LjMxMjUgMjkuMjk4OCAxNC40ODgzQzI4Ljc5NDkgMTQuNjY0MSAyOC4zNTg0IDE0LjkyNDggMjcuOTg5MyAxNS4yNzA1QzI3LjYyMDEgMTUuNjEwNCAyNy4zMzU5IDE2LjAzMjIgMjcuMTM2NyAxNi41MzYxQzI2Ljk0MzQgMTcuMDM0MiAyNi44NDY3IDE3LjYwODQgMjYuODQ2NyAxOC4yNTg4VjIwLjQzODVDMjYuODQ2NyAyMC44Nzc5IDI2Ljg4NDggMjEuMjYxNyAyNi45NjA5IDIxLjU4OThDMjcuMDQzIDIxLjkxMjEgMjcuMTYwMiAyMi4xODE2IDI3LjMxMjUgMjIuMzk4NEMyNy40NzA3IDIyLjYwOTQgMjcuNjYxMSAyMi43NzA1IDI3Ljg4MzggMjIuODgxOEMyOC4xMDY0IDIyLjk4NzMgMjguMzU4NCAyMy4wNCAyOC42Mzk2IDIzLjA0QzI4Ljg5MTYgMjMuMDQgMjkuMTIzIDIyLjk4NDQgMjkuMzM0IDIyLjg3M0MyOS41NDQ5IDIyLjc2MTcgMjkuNzI2NiAyMi42MDM1IDI5Ljg3ODkgMjIuMzk4NEMzMC4wMzEyIDIyLjE5MzQgMzAuMTQ4NCAyMS45NTYxIDMwLjIzMDUgMjEuNjg2NUMzMC4zMTI1IDIxLjQxMTEgMzAuMzUzNSAyMS4xMTIzIDMwLjM1MzUgMjAuNzlDMzAuMzUzNSAyMC40NTAyIDMwLjMwOTYgMjAuMTQyNiAzMC4yMjE3IDE5Ljg2NzJDMzAuMTM5NiAxOS41ODU5IDMwLjAxOTUgMTkuMzQ1NyAyOS44NjEzIDE5LjE0NjVDMjkuNzA5IDE4Ljk0NzMgMjkuNTIxNSAxOC43OTQ5IDI5LjI5ODggMTguNjg5NUMyOS4wNzYyIDE4LjU3ODEgMjguODMwMSAxOC41MjI1IDI4LjU2MDUgMTguNTIyNUMyOC4xNzM4IDE4LjUyMjUgMjcuODM5OCAxOC42MTA0IDI3LjU1ODYgMTguNzg2MUMyNy4yNzczIDE4Ljk2MTkgMjcuMDYwNSAxOS4xODc1IDI2LjkwODIgMTkuNDYyOUMyNi43NTU5IDE5LjczODMgMjYuNjc2OCAyMC4wMTk1IDI2LjY3MDkgMjAuMzA2NkwyNS45NDE0IDE5LjcwMDJDMjUuOTQxNCAxOS4zMDE4IDI2LjAyMDUgMTguOTA5MiAyNi4xNzg3IDE4LjUyMjVDMjYuMzQyOCAxOC4xMjk5IDI2LjU3NDIgMTcuNzc1NCAyNi44NzMgMTcuNDU5QzI3LjE3MTkgMTcuMTM2NyAyNy41MzgxIDE2Ljg4MTggMjcuOTcxNyAxNi42OTQzQzI4LjQxMTEgMTYuNTAxIDI4LjkxMjEgMTYuNDA0MyAyOS40NzQ2IDE2LjQwNDNDMzAuMDY2NCAxNi40MDQzIDMwLjU4NzkgMTYuNTE4NiAzMS4wMzkxIDE2Ljc0NzFDMzEuNDkwMiAxNi45Njk3IDMxLjg2ODIgMTcuMjgwMyAzMi4xNzI5IDE3LjY3ODdDMzIuNDgzNCAxOC4wNzcxIDMyLjcxNDggMTguNTQzIDMyLjg2NzIgMTkuMDc2MkMzMy4wMjU0IDE5LjYwMzUgMzMuMTA0NSAyMC4xNjg5IDMzLjEwNDUgMjAuNzcyNUMzMy4xMDQ1IDIxLjM5MzYgMzIuOTk2MSAyMS45NzM2IDMyLjc3OTMgMjIuNTEyN0MzMi41Njg0IDIzLjA0NTkgMzIuMjY5NSAyMy41MTE3IDMxLjg4MjggMjMuOTEwMkMzMS40OTYxIDI0LjMwODYgMzEuMDMzMiAyNC42MTkxIDMwLjQ5NDEgMjQuODQxOEMyOS45NjA5IDI1LjA2NDUgMjkuMzY2MiAyNS4xNzU4IDI4LjcxIDI1LjE3NThDMjguMDMwMyAyNS4xNzU4IDI3LjQwOTIgMjUuMDU1NyAyNi44NDY3IDI0LjgxNTRDMjYuMjkgMjQuNTc1MiAyNS44MDM3IDI0LjIzMjQgMjUuMzg3NyAyMy43ODcxQzI0Ljk3NzUgMjMuMzM1OSAyNC42NTgyIDIyLjc5NjkgMjQuNDI5NyAyMi4xNjk5QzI0LjIwNyAyMS41NDMgMjQuMDk1NyAyMC44Mzk4IDI0LjA5NTcgMjAuMDYwNVYxOS4wMzIyQzI0LjA5NTcgMTcuOTY1OCAyNC4yNTk4IDE3LjAwNDkgMjQuNTg3OSAxNi4xNDk0QzI0LjkyMTkgMTUuMjkzOSAyNS4zODQ4IDE0LjU2MTUgMjUuOTc2NiAxMy45NTIxQzI2LjU3NDIgMTMuMzM2OSAyNy4yNzczIDEyLjg2NTIgMjguMDg1OSAxMi41MzcxQzI4Ljg5NDUgMTIuMjA5IDI5Ljc3MzQgMTIuMDQ0OSAzMC43MjI3IDEyLjA0NDlaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K`;function yr(){return(0,G.jsx)(`img`,{alt:`es6 modules`,height:`20`,src:vr,width:`20`})}var br=`data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjI1NnB4IiBoZWlnaHQ9IjI4OXB4IiB2aWV3Qm94PSIwIDAgMjU2IDI4OSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+CiAgICA8Zz4KICAgICAgICA8cGF0aCBkPSJNMTI3Ljk5OTk5OSwyODguNDYzNzcxIEMxMjQuMDI0ODQ0LDI4OC40NjM3NzEgMTIwLjMxNDY5OSwyODcuNDAzNzI4IDExNi44Njk1NjQsMjg1LjU0ODY1NiBMODEuNjIzMTg4NCwyNjQuNjEyODM4IEM3Ni4zMjI5OCwyNjEuNjk3NzI0IDc4Ljk3MzA4NTQsMjYwLjYzNzY4MiA4MC41NjMxNDU4LDI2MC4xMDc2NjEgQzg3LjcxODQyNTksMjU3LjcyMjU3IDg5LjA0MzQ3NzUsMjU3LjE5MjU0NyA5Ni40NjM3Njg4LDI1Mi45NTIzODEgQzk3LjI1ODc5NzksMjUyLjQyMjM2MSA5OC4zMTg4NDA1LDI1Mi42ODczNzIgOTkuMTEzODcxOCwyNTMuMjE3MzkyIEwxMjYuMTQ0OTI3LDI2OS4zODMwMjQgQzEyNy4yMDQ5NywyNjkuOTEzMDQ1IDEyOC41MzAwMjEsMjY5LjkxMzA0NSAxMjkuMzI1MDUzLDI2OS4zODMwMjQgTDIzNS4wNjQxODIsMjA4LjE2NTYzNCBDMjM2LjEyNDIyNSwyMDcuNjM1NjExIDIzNi42NTQyNDUsMjA2LjU3NTU3MSAyMzYuNjU0MjQ1LDIwNS4yNTA1MTkgTDIzNi42NTQyNDUsODMuMDgwNzQ2NyBDMjM2LjY1NDI0NSw4MS43NTU2OTI5IDIzNi4xMjQyMjUsODAuNjk1NjUyNiAyMzUuMDY0MTgyLDgwLjE2NTYzMjQgTDEyOS4zMjUwNTMsMTkuMjEzMjUwNiBDMTI4LjI2NTAxLDE4LjY4MzIzMDUgMTI2LjkzOTk1OSwxOC42ODMyMzA1IDEyNi4xNDQ5MjcsMTkuMjEzMjUwNiBMMjAuNDA1Nzk1NCw4MC4xNjU2MzI0IEMxOS4zNDU3NTUxLDgwLjY5NTY1MjYgMTguODE1NzM0OSw4Mi4wMjA3MDQxIDE4LjgxNTczNDksODMuMDgwNzQ2NyBMMTguODE1NzM0OSwyMDUuMjUwNTE5IEMxOC44MTU3MzQ5LDIwNi4zMTA1NiAxOS4zNDU3NTUxLDIwNy42MzU2MTEgMjAuNDA1Nzk1NCwyMDguMTY1NjM0IEw0OS4yOTE5MjQ3LDIyNC44NjEyODYgQzY0LjkyNzUzNjQsMjMyLjgxMTU5NSA3NC43MzI5MTk2LDIyMy41MzYyMzQgNzQuNzMyOTE5NiwyMTQuMjYwODcxIEw3NC43MzI5MTk2LDkzLjY4MTE1OSBDNzQuNzMyOTE5Niw5Mi4wOTEwOTg1IDc2LjA1Nzk3MTEsOTAuNTAxMDM1OCA3Ny45MTMwNDI4LDkwLjUwMTAzNTggTDkxLjQyODU3MTYsOTAuNTAxMDM1OCBDOTMuMDE4NjM0Myw5MC41MDEwMzU4IDk0LjYwODY5NDgsOTEuODI2MDg3MyA5NC42MDg2OTQ4LDkzLjY4MTE1OSBMOTQuNjA4Njk0OCwyMTQuMjYwODcxIEM5NC42MDg2OTQ4LDIzNS4xOTY2ODkgODMuMjEzMjUxMiwyNDcuMzg3MTY0IDYzLjMzNzQ3MzcsMjQ3LjM4NzE2NCBDNTcuMjQyMjM2MiwyNDcuMzg3MTY0IDUyLjQ3MjA1MDIsMjQ3LjM4NzE2NCAzOC45NTY1MjE0LDI0MC43NjE5MDYgTDExLjEzMDQzNDcsMjI0Ljg2MTI4NiBDNC4yNDAxNjU4MSwyMjAuODg2MTI5IDUuNjg0MzQxODllLTE0LDIxMy40NjU4NCA1LjY4NDM0MTg5ZS0xNCwyMDUuNTE1NTI4IEw1LjY4NDM0MTg5ZS0xNCw4My4zNDU3NTU3IEM1LjY4NDM0MTg5ZS0xNCw3NS4zOTU0NDY1IDQuMjQwMTY1ODEsNjcuOTc1MTU1MiAxMS4xMzA0MzQ3LDY0LjAwMDAwMDYgTDExNi44Njk1NjQsMi43ODI2MDc1MiBDMTIzLjQ5NDgyNCwtMC45Mjc1MzU4NDEgMTMyLjUwNTE3NiwtMC45Mjc1MzU4NDEgMTM5LjEzMDQzNiwyLjc4MjYwNzUyIEwyNDQuODY5NTY1LDY0LjAwMDAwMDYgQzI1MS43NTk4MzQsNjcuOTc1MTU1MiAyNTYsNzUuMzk1NDQ2NSAyNTYsODMuMzQ1NzU1NyBMMjU2LDIwNS41MTU1MjggQzI1NiwyMTMuNDY1ODQgMjUxLjc1OTgzNCwyMjAuODg2MTI5IDI0NC44Njk1NjUsMjI0Ljg2MTI4NiBMMTM5LjEzMDQzNiwyODYuMDc4Njc2IEMxMzUuNjg1Mjk5LDI4Ny42Njg3MzkgMTMxLjcxMDE0NSwyODguNDYzNzcxIDEyNy45OTk5OTksMjg4LjQ2Mzc3MSBMMTI3Ljk5OTk5OSwyODguNDYzNzcxIFogTTE2MC41OTYyNzQsMjA0LjQ1NTQ4OCBDMTE0LjIxOTQ2MSwyMDQuNDU1NDg4IDEwNC42NzkwODksMTgzLjI1NDY1OSAxMDQuNjc5MDg5LDE2NS4yMzM5NTUgQzEwNC42NzkwODksMTYzLjY0Mzg5MyAxMDYuMDA0MTQxLDE2Mi4wNTM4MzIgMTA3Ljg1OTIxMiwxNjIuMDUzODMyIEwxMjEuNjM5NzUyLDE2Mi4wNTM4MzIgQzEyMy4yMjk4MTMsMTYyLjA1MzgzMiAxMjQuNTU0ODY0LDE2My4xMTM4NzIgMTI0LjU1NDg2NCwxNjQuNzAzOTM1IEMxMjYuNjc0OTQ3LDE3OC43NDk0ODQgMTMyLjc3MDE4NywxODUuNjM5NzUzIDE2MC44NjEyODMsMTg1LjYzOTc1MyBDMTgzLjEyMjE1NCwxODUuNjM5NzUzIDE5Mi42NjI1MjYsMTgwLjYwNDU1NiAxOTIuNjYyNTI2LDE2OC42NzkwOSBDMTkyLjY2MjUyNiwxNjEuNzg4ODIxIDE5MC4wMTI0MjMsMTU2Ljc1MzYyNCAxNTUuMjk2MDY1LDE1My4zMDg0ODkgQzEyNi40MDk5MzgsMTUwLjM5MzM3NSAxMDguMzg5MjM1LDE0NC4wMzMxMjYgMTA4LjM4OTIzNSwxMjAuOTc3MjI2IEMxMDguMzg5MjM1LDk5LjUxMTM4NzUgMTI2LjQwOTkzOCw4Ni43OTA4OTAxIDE1Ni42MjExMTksODYuNzkwODkwMSBDMTkwLjU0MjQ0Myw4Ni43OTA4OTAxIDIwNy4yMzgwOTUsOTguNDUxMzQ3MiAyMDkuMzU4MTc4LDEyMy44OTIzNCBDMjA5LjM1ODE3OCwxMjQuNjg3MzcxIDIwOS4wOTMxNjcsMTI1LjQ4MjQwMyAyMDguNTYzMTQ3LDEyNi4yNzc0MzQgQzIwOC4wMzMxMjcsMTI2LjgwNzQ1NCAyMDcuMjM4MDk1LDEyNy4zMzc0NzQgMjA2LjQ0MzA2NCwxMjcuMzM3NDc0IEwxOTIuNjYyNTI2LDEyNy4zMzc0NzQgQzE5MS4zMzc0NzUsMTI3LjMzNzQ3NCAxOTAuMDEyNDIzLDEyNi4yNzc0MzQgMTg5Ljc0NzQxMiwxMjQuOTUyMzgyIEMxODYuNTY3Mjg5LDExMC4zNzY4MTMgMTc4LjM1MTk2NiwxMDUuNjA2NjI1IDE1Ni42MjExMTksMTA1LjYwNjYyNSBDMTMyLjI0MDE2NSwxMDUuNjA2NjI1IDEyOS4zMjUwNTMsMTE0LjA4Njk1NyAxMjkuMzI1MDUzLDEyMC40NDcyMDUgQzEyOS4zMjUwNTMsMTI4LjEzMjUwNiAxMzIuNzcwMTg3LDEzMC41MTc2IDE2NS42MzE0NzEsMTM0Ljc1Nzc2NiBDMTk4LjIyNzc0NCwxMzguOTk3OTMxIDIxMy41OTgzNDQsMTQ1LjA5MzE2OSAyMTMuNTk4MzQ0LDE2Ny44ODQwNTggQzIxMy4zMzMzMzMsMTkxLjIwNDk3IDE5NC4yNTI1ODksMjA0LjQ1NTQ4OCAxNjAuNTk2Mjc0LDIwNC40NTU0ODggTDE2MC41OTYyNzQsMjA0LjQ1NTQ4OCBaIiBmaWxsPSIjNTM5RTQzIj48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPgo=`;function xr(){return(0,G.jsx)(`img`,{alt:`nodejs`,height:`20`,src:br,width:`20`})}var Sr=`data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiIHdpZHRoPSI5NyIgaGVpZ2h0PSI5NyI+CiAgPHBhdGggZmlsbD0iI0YwNTEzMyIgZD0iTTkyLjcxIDQ0LjQwOCA1Mi41OTEgNC4yOTFjLTIuMzEtMi4zMTEtNi4wNTctMi4zMTEtOC4zNjkgMGwtOC4zMyA4LjMzMkw0Ni40NTkgMjMuMTljMi40NTYtLjgzIDUuMjcyLS4yNzMgNy4yMjkgMS42ODUgMS45NjkgMS45NyAyLjUyMSA0LjgxIDEuNjcgNy4yNzVsMTAuMTg2IDEwLjE4NWMyLjQ2NS0uODUgNS4zMDctLjMgNy4yNzUgMS42NzEgMi43NSAyLjc1IDIuNzUgNy4yMDYgMCA5Ljk1OC0yLjc1MiAyLjc1MS03LjIwOCAyLjc1MS05Ljk2MSAwLTIuMDY4LTIuMDctMi41OC01LjExLTEuNTMxLTcuNjU4bC05LjUtOS40OTl2MjQuOTk3Yy42Ny4zMzIgMS4zMDMuNzc0IDEuODYxIDEuMzMyIDIuNzUgMi43NSAyLjc1IDcuMjA2IDAgOS45NTktMi43NSAyLjc0OS03LjIwOSAyLjc0OS05Ljk1NyAwLTIuNzUtMi43NTQtMi43NS03LjIxIDAtOS45NTkuNjgtLjY3OSAxLjQ2Ny0xLjE5MyAyLjMwNy0xLjUzN3YtMjUuMjNjLS44NC0uMzQ0LTEuNjI1LS44NTMtMi4zMDctMS41MzctMi4wODMtMi4wODItMi41ODQtNS4xNC0xLjUxNi03LjY5OEwzMS43OTggMTYuNzE1IDQuMjg4IDQ0LjIyMmMtMi4zMTEgMi4zMTMtMi4zMTEgNi4wNiAwIDguMzcxbDQwLjEyMSA0MC4xMThjMi4zMSAyLjMxMSA2LjA1NiAyLjMxMSA4LjM2OSAwTDkyLjcxIDUyLjc3OWMyLjMxMS0yLjMxMSAyLjMxMS02LjA2IDAtOC4zNzF6Ii8+Cjwvc3ZnPg==`;function Cr(){return(0,G.jsx)(`img`,{alt:`git`,height:`20`,src:Sr,width:`20`})}var wr=`data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMjU2IDI1NiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjU2IDI1NiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+Cjxwb2x5Z29uIGZpbGw9IiNDQzAwMDAiIHBvaW50cz0iMjMsNjUuNiAxMzAsMy4zIDIzNyw2NS42IDIzNywxOTAuMSAxMzAsMjUyLjQgMjMsMTkwLjEgIi8+Cjxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iMTMzLDEyNy44IDIzMi41LDcwLjUgMjM2LjUsMTg2IDEzMywyNDguNSAiLz4KPGc+Cgk8cGF0aCBmaWxsPSIjQ0MwMDAwIiBkPSJNMjM0LDY3bC0wLjMsMTIyLjRsLTEwMy44LDYwLjJsLTAuNS0xMjAuM0wyMzQsNjd6IE0xNDYuNywxMzkuM2wwLjMsODAuNGwzNC41LTIwLjFsLTAuMS02MC42bDE3LjQtMTAuMwoJCWwwLDYwLjhsMTcuNC0xMC4ybDAuMS04MS40TDE0Ni43LDEzOS4zeiIvPgo8L2c+CjxwYXRoIGZpbGw9IiM5MTA1MDUiIGQ9Ik0xMzYuOCw0LjJjLTQuOC0yLjctMTIuNS0yLjctMTcuMywwTDI0LjcsNTguN2MtNC44LDIuNy04LjYsOS41LTguNiwxNC45djEwOWMwLDUuNSwzLjksMTIuMiw4LjYsMTQuOQoJbDk0LjgsNTQuNWM0LjgsMi43LDEyLjUsMi43LDE3LjMsMGw5NC44LTU0LjVjNC44LTIuNyw4LjYtOS41LDguNi0xNC45di0xMDljMC01LjUtMy45LTEyLjItOC42LTE0LjlMMTM2LjgsNC4yeiBNMjIwLjksNjEuMgoJYzQuOCwyLjcsNC44LDcuMiwwLDkuOWwtODMsNDcuN2MtNC44LDIuNy0xMi41LDIuNy0xNy4zLDBMMzYuNCw3MC40Yy00LjgtMi43LTQuOC03LjIsMC05LjlsODMtNDcuN2M0LjgtMi43LDEyLjUtMi43LDE3LjMsMAoJTDIyMC45LDYxLjJ6IE0yMy41LDgxLjVjMC01LjUsMy45LTcuNyw4LjYtNWw4NC45LDQ4LjhjNC44LDIuNyw4LjYsOS41LDguNiwxNC45VjIzN2MwLDUuNS0zLjksNy43LTguNiw1bC04NC45LTQ4LjgKCWMtNC44LTIuNy04LjYtOS41LTguNi0xNC45VjgxLjV6IE0xNDEuOCwyNDAuNWMtNC44LDIuNy04LjYsMC41LTguNi01di05NS4zYzAtNS41LDMuOS0xMi4yLDguNi0xNC45TDIyNC4yLDc4CgljNC44LTIuNyw4LjYtMC41LDguNiw1djk1LjNjMCw1LjUtMy45LDEyLjItOC42LDE0LjlMMTQxLjgsMjQwLjV6Ii8+Cjwvc3ZnPgo=`;function Tr(){return(0,G.jsx)(`img`,{alt:`npm package manager`,height:`20`,src:wr,width:`20`})}var Er=`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 Dr(){return(0,G.jsx)(`img`,{alt:`pnpm package manager`,height:`20`,src:Er,width:`20`})}var Or=`data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTE4IDUxOCI+PHN0eWxlPi5zdDB7ZmlsbDojMmM4ZWJifS5zdDF7ZmlsbDojZmZmfTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MCIgZD0iTTI1OSAwYzE0MyAwIDI1OSAxMTYgMjU5IDI1OVM0MDIgNTE4IDI1OSA1MTggMCA0MDIgMCAyNTkgMTE2IDAgMjU5IDB6Ii8+PHBhdGggY2xhc3M9InN0MSIgZD0iTTQzNS4yIDMzNy41Yy0xLjgtMTQuMi0xMy44LTI0LTI5LjItMjMuOC0yMyAuMy00Mi4zIDEyLjItNTUuMSAyMC4xLTUgMy4xLTkuMyA1LjQtMTMgNy4xLjgtMTEuNi4xLTI2LjgtNS45LTQzLjUtNy4zLTIwLTE3LjEtMzIuMy0yNC4xLTM5LjQgOC4xLTExLjggMTkuMi0yOSAyNC40LTU1LjYgNC41LTIyLjcgMy4xLTU4LTcuMi03Ny44LTIuMS00LTUuNi02LjktMTAtOC4xLTEuOC0uNS01LjItMS41LTExLjkuNEMyOTMuMSA5NiAyODkuNiA5My44IDI4Ni45IDkyYy01LjYtMy42LTEyLjItNC40LTE4LjQtMi4xLTguMyAzLTE1LjQgMTEtMjIuMSAyNS4yLTEgMi4xLTEuOSA0LjEtMi43IDYuMS0xMi43LjktMzIuNyA1LjUtNDkuNiAyMy44LTIuMSAyLjMtNi4yIDQtMTAuNSA1LjZoLjFjLTguOCAzLjEtMTIuOCAxMC4zLTE3LjcgMjMuMy02LjggMTguMi4yIDM2LjEgNy4xIDQ3LjctOS40IDguNC0yMS45IDIxLjgtMjguNSAzNy41LTguMiAxOS40LTkuMSAzOC40LTguOCA0OC43LTcgNy40LTE3LjggMjEuMy0xOSAzNi45LTEuNiAyMS44IDYuMyAzNi42IDkuOCA0MiAxIDEuNiAyLjEgMi45IDMuMyA0LjItLjQgMi43LS41IDUuNi4xIDguNiAxLjMgNyA1LjcgMTIuNyAxMi40IDE2LjMgMTMuMiA3IDMxLjYgMTAgNDUuOCAyLjkgNS4xIDUuNCAxNC40IDEwLjYgMzEuMyAxMC42aDFjNC4zIDAgNTguOS0yLjkgNzQuOC02LjggNy4xLTEuNyAxMi00LjcgMTUuMi03LjQgMTAuMi0zLjIgMzguNC0xMi44IDY1LTMwIDE4LjgtMTIuMiAyNS4zLTE0LjggMzkuMy0xOC4yIDEzLjYtMy4zIDIyLjEtMTUuNyAyMC40LTI5LjR6bS0yMy44IDE0LjdjLTE2IDMuOC0yNC4xIDcuMy00My45IDIwLjItMzAuOSAyMC02NC43IDI5LjMtNjQuNyAyOS4zcy0yLjggNC4yLTEwLjkgNi4xYy0xNCAzLjQtNjYuNyA2LjMtNzEuNSA2LjQtMTIuOS4xLTIwLjgtMy4zLTIzLTguNi02LjctMTYgOS42LTIzIDkuNi0yM3MtMy42LTIuMi01LjctNC4yYy0xLjktMS45LTMuOS01LjctNC41LTQuMy0yLjUgNi4xLTMuOCAyMS0xMC41IDI3LjctOS4yIDkuMy0yNi42IDYuMi0zNi45LjgtMTEuMy02IC44LTIwLjEuOC0yMC4xcy02LjEgMy42LTExLTMuOGMtNC40LTYuOC04LjUtMTguNC03LjQtMzIuNyAxLjItMTYuMyAxOS40LTMyLjEgMTkuNC0zMi4xcy0zLjItMjQuMSA3LjMtNDguOGM5LjUtMjIuNSAzNS4xLTQwLjYgMzUuMS00MC42cy0yMS41LTIzLjgtMTMuNS00NS4yYzUuMi0xNCA3LjMtMTMuOSA5LTE0LjUgNi0yLjMgMTEuOC00LjggMTYuMS05LjUgMjEuNS0yMy4yIDQ4LjktMTguOCA0OC45LTE4LjhzMTMtMzkuNSAyNS0zMS44YzMuNyAyLjQgMTcgMzIgMTcgMzJzMTQuMi04LjMgMTUuOC01LjJjOC42IDE2LjcgOS42IDQ4LjYgNS44IDY4LTYuNCAzMi0yMi40IDQ5LjItMjguOCA2MC0xLjUgMi41IDE3LjIgMTAuNCAyOSA0My4xIDEwLjkgMjkuOSAxLjIgNTUgMi45IDU3LjguMy41LjQuNy40LjdzMTIuNSAxIDM3LjYtMTQuNWMxMy40LTguMyAyOS4zLTE3LjYgNDcuNC0xNy44IDE3LjUtLjMgMTguNCAyMC4yIDUuMiAyMy40eiIvPjwvc3ZnPg==`;function kr(){return(0,G.jsx)(`img`,{alt:`npm package manager`,height:`20`,src:Or,width:`20`})}var Ar=w(F,{target:`exjcs7c1`})(e=>({fontWeight:e.theme.fontWeight.bold,textTransform:`capitalize`}),``),jr=w(S,{target:`exjcs7c0`})({name:`1hcx8jb`,styles:`padding:0`}),Mr=({title:e,element:t,engineText:n})=>(0,G.jsx)(x,{size:{xs:6},children:(0,G.jsx)(C,{subheader:(0,G.jsx)(Ar,{variant:`subtitle1`,children:e}),children:(0,G.jsxs)(jr,{children:[(0,G.jsx)(b,{sx:{backgroundColor:`transparent`,marginLeft:0,padding:0},children:t}),(0,G.jsx)(F,{sx:{margin:0,padding:`0 0 0 10px`},variant:`subtitle2`,children:n})]})})}),Nr=({packageMeta:e})=>{let{t}=O(),n=e?.latest?.engines;return n?(0,G.jsxs)(x,{container:!0,children:[n.node?(0,G.jsx)(Mr,{element:(0,G.jsx)(xr,{}),engineText:n.node,title:t(`sidebar.engines.node-js`)}):null,n.npm?(0,G.jsx)(Mr,{element:(0,G.jsx)(Tr,{}),engineText:n.npm,title:t(`sidebar.engines.npm-version`)}):null,n.yarn?(0,G.jsx)(Mr,{element:(0,G.jsx)(kr,{}),engineText:n.yarn,title:t(`sidebar.engines.yarn-version`)}):null,n.pnpm?(0,G.jsx)(Mr,{element:(0,G.jsx)(Dr,{}),engineText:n.pnpm,title:t(`sidebar.engines.pnpm-version`)}):null]}):null},Pr=w(U,{target:`e1lzdgus2`})(({theme:e})=>({marginTop:e.spacing(2),marginBottom:e.spacing(2),textDecoration:`none`,display:`block`}),``),Fr=w(Ut,{target:`e1lzdgus1`})(({theme:e})=>({color:e.palette.orange}),``),Ir=w(`strong`,{target:`e1lzdgus0`})({name:`1pt2o8x`,styles:`margin-right:3px`}),Lr=({packageMeta:e})=>{let t=e?.latest?.funding?.url;return z(t)?(0,G.jsx)(Pr,{to:t,variant:`button`,children:(0,G.jsx)(T,{color:`primary`,fullWidth:!0,startIcon:(0,G.jsx)(Fr,{}),variant:`outlined`,children:(0,G.jsx)(Ht,{components:[(0,G.jsx)(Ir,{},`fund`)],i18nKey:`button.fund-this-package`})})}):null},J=function({ref:e,variant:t=`h6`,...n}){return(0,G.jsx)(F,{...n,ref:e,variant:t})},Rr=a,zr=({packageName:e})=>{let{t}=O(),{localSettings:n,updateSettings:r}=hn(),{configOptions:i}=B(),[a,o]=W.useState(null),c=!!a,l=e=>{o(e.currentTarget)},u=()=>{r({...n,[e]:{global:n[e]?.global,latest:!n[e]?.latest}}),o(null)},d=()=>{r({...n,[e]:{global:!n[e]?.global,latest:n[e]?.latest}}),o(null)},f=()=>{let e=!n?.yarnModern;r({...n,yarnModern:e}),o(null)},p=()=>{o(null)},m=n[e]?.latest,h=n[e]?.global;return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(s,{"aria-controls":c?`basic-menu`:void 0,"aria-expanded":c?`true`:void 0,"aria-haspopup":`true`,id:`basic-button`,onClick:l,size:`small`,children:(0,G.jsx)(Gt,{fontSize:`small`})}),(0,G.jsxs)(Rr,{anchorEl:a,anchorOrigin:{vertical:`bottom`,horizontal:`right`},id:`basic-menu`,onClose:p,open:c,slotProps:{list:{"aria-labelledby":`basic-button`}},transformOrigin:{vertical:`top`,horizontal:`right`},children:[(0,G.jsxs)(_t,{onClick:u,children:[` `,m===!0?(0,G.jsx)(ge,{children:(0,G.jsx)($e,{})}):null,t(`sidebar.installation.latest`)]}),(0,G.jsxs)(_t,{onClick:d,children:[` `,h===!0?(0,G.jsx)(ge,{children:(0,G.jsx)($e,{})}):null,t(`sidebar.installation.global`)]}),i?.pkgManagers?.includes(`yarn`)&&(0,G.jsxs)(_t,{onClick:f,children:[` `,n?.yarnModern?(0,G.jsx)(ge,{children:(0,G.jsx)($e,{})}):null,t(`sidebar.installation.yarnModern`)]})]})]})},Br=w(S,{target:`e19lng442`})({name:`zw46c6`,styles:`padding:0;:hover{background-color:transparent;}`}),Vr=w(mt,{target:`e19lng441`})({name:`42bvt`,styles:`padding:0 0 0 10px;margin:0`}),Hr=w(b,{target:`e19lng440`})({name:`19ijsa5`,styles:`background-color:transparent;padding:0;margin-left:0`}),Y=function(e){return e.NPM=`npm`,e.YARN=`yarn`,e.PNPM=`pnpm`,e}({});function X(e,t,n,r,i=!1){return(t?`${i?``:`-g`} ${n&&!e?`${r}@${n}`:r}`:n&&!e?`${r}@${n}`:r).trim()}var Ur=({packageName:e,dependencyManager:t,packageVersion:n})=>{let{localSettings:r}=hn(),i=r[e]?.latest??!1,a=r[e]?.global??!1;switch(t){case Y.NPM:return(0,G.jsxs)(Br,{"data-testid":`installListItem-npm`,children:[(0,G.jsx)(Hr,{alt:`npm`,sx:{bgcolor:D.white},children:(0,G.jsx)(Tr,{})}),(0,G.jsx)(Vr,{primary:(0,G.jsx)(K,{dataTestId:`installNpm`,text:`npm install ${X(i,a,n,e)}`,title:`npm install ${X(i,a,n,e)}`})})]});case Y.YARN:return(0,G.jsxs)(Br,{"data-testid":`installListItem-yarn`,children:[(0,G.jsx)(Hr,{alt:`yarn`,sx:{bgcolor:D.white},children:(0,G.jsx)(kr,{})}),(0,G.jsx)(Vr,{primary:(0,G.jsx)(K,{dataTestId:`installYarn`,text:a?`yarn ${r.yarnModern?``:`global`} add ${X(a,n,e,!0)}`:`yarn add ${X(i,a,n,e,!0)}`,title:a?`yarn global add ${X(a,n,e,!0)}`:`yarn add ${X(i,a,n,e,!0)}`})})]});case Y.PNPM:return(0,G.jsxs)(Br,{"data-testid":`installListItem-pnpm`,children:[(0,G.jsx)(Hr,{alt:`pnpm`,sx:{bgcolor:D.white},children:(0,G.jsx)(Dr,{})}),(0,G.jsx)(Vr,{primary:(0,G.jsx)(K,{dataTestId:`installPnpm`,text:`pnpm install ${X(i,a,n,e)}`,title:`pnpm install ${X(i,a,n,e)}`})})]});default:return null}},Wr=w(F,{target:`e1xg69sg1`})(e=>({fontWeight:e.theme.fontWeight.bold,textTransform:`capitalize`}),``),Gr=w(`div`,{target:`e1xg69sg0`})({name:`bcffy2`,styles:`display:flex;align-items:center;justify-content:space-between`}),Kr=({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,G.jsx)(G.Fragment,{children:(0,G.jsxs)(C,{"data-testid":`installList`,subheader:(0,G.jsxs)(Gr,{children:[(0,G.jsx)(Wr,{variant:`subtitle1`,children:r(`sidebar.installation.title`)}),(0,G.jsx)(zr,{packageName:t})]}),children:[i&&(0,G.jsx)(Ur,{dependencyManager:Y.NPM,packageName:t,packageVersion:e.latest.version}),a&&(0,G.jsx)(Ur,{dependencyManager:Y.YARN,packageName:t,packageVersion:e.latest.version}),o&&(0,G.jsx)(Ur,{dependencyManager:Y.PNPM,packageName:t,packageVersion:e.latest.version})]})}):null},qr=({keywords:e})=>{let t=typeof e==`string`?e.replace(/,/g,` `).split(` `):e;return t?(0,G.jsx)(S,{sx:{px:0,mt:0,flexWrap:`wrap`},children:t.sort().map((e,t)=>(0,G.jsx)(P,{label:e,size:`small`,sx:{mt:.5,mr:.5}},t))}):null},Jr=({packageMeta:e})=>{let{t}=O(),n=de();return e?.latest?.keywords?(0,G.jsx)(C,{"data-testid":`keyword-list`,subheader:(0,G.jsx)(F,{sx:{fontWeight:n.fontWeight.bold,textTransform:`capitalize`},variant:`subtitle1`,children:t(`sidebar.keywords.title`)}),children:(0,G.jsx)(qr,{keywords:e?.latest?.keywords})}):null},Yr=new ct(ut({async:!1,highlight(e,t){let n=Ye.getLanguage(t)?t:`plaintext`;return Ye.highlight(e,{language:n}).value}}));Yr.setOptions({renderer:new Yr.Renderer,pedantic:!1,gfm:!0,breaks:!1});function Xr(e){let t=Yr.parse(e);return Rt.sanitize(t)}var Zr=D.white,Qr=(e,t)=>{let n=t||dn.primary.main,r=e===`dark`?{main:Zr}:{main:n};return e===`dark`?{mode:e,primary:r,secondary:{main:`#424242`},background:{default:`#1a202c`,paper:`#2d3748`}}:{mode:e,primary:r,secondary:dn.secondary,background:{default:`#f4f4f4`,paper:`#ffffff`}}},$r={xxl:26,xl:24,lg:21,md:18,default:16,sm:14,ssm:12},ei={light:300,regular:400,semiBold:500,bold:700},ti={xsmall:400,small:576,medium:768,large:1024,container:1240,xlarge:1275},ni={fontSize:$r,fontWeight:ei,breakPoints:ti},ri=(e,t)=>Ot({palette:Qr(e,t),typography:{fontFamily:[`-apple-system`,`BlinkMacSystemFont`,`"Helvetica Neue"`,`Arial`,`sans-serif`].join(`,`)},components:{MuiPaper:{styleOverrides:{root:{backgroundImage:`unset`}}}},...ni}),ii=(0,W.createContext)(void 0);function ai(e){let t=window.matchMedia?.(`(prefers-color-scheme:dark)`).matches;return typeof e==`boolean`?e:t}var oi=({children:e})=>{let{configOptions:t}=B(),n=ai(t.darkMode),r=t.showThemeSwitch,[i,a]=fn(`darkMode`,n),o=r===!0?i:n,s=ri(o?`dark`:`light`,t.primaryColor);return(0,G.jsx)(ii.Provider,{value:{isDarkMode:o,setIsDarkMode:a},children:(0,G.jsx)(Ve,{injectFirst:!0,children:(0,G.jsx)(Oe,{theme:s,children:e})})})},si=()=>(0,W.useContext)(ii),ci=({description:e})=>{let{isDarkMode:t}=si();return(0,G.jsx)(ie,{sx:{mb:2},children:(0,G.jsx)(c,{children:(0,G.jsx)(A,{"data-testid":`readme`,sx:{m:2},children:(0,G.jsx)(li,{className:`markdown-body ${t?`markdown-dark`:`markdown-light`}`,dangerouslySetInnerHTML:{__html:Xr(e)}})})})})},li=w(`div`,{target:`e1gao54u0`})({name:`z0ebq4`,styles:`ul{list-style:disc;}img{max-width:100%;}`}),ui=e(oe(),1),di=`L LTS`;function fi(e){return(0,ui.default)(new Date(e)).format(di)}function pi(e){return(0,ui.default)(new Date(e)).fromNow()}var mi=w(`div`,{target:`e13nc66u3`})(({theme:e})=>({marginLeft:e.spacing(1)}),``),hi=({module:e})=>e===`commonjs`?(0,G.jsx)(mi,{children:(0,G.jsx)(_r,{})}):e===`module`?(0,G.jsx)(mi,{children:(0,G.jsx)(yr,{})}):null,gi=({description:e,packageName:t,version:n,isLatest:r,hasTypes:i,moduleTypes:a,time:o})=>{let{t:s}=O();return(0,G.jsxs)(A,{className:`detail-info`,display:`flex`,flexDirection:`column`,marginBottom:`8px`,children:[(0,G.jsx)(vi,{children:(0,G.jsx)(_i,{children:(0,G.jsxs)(G.Fragment,{children:[t,i&&(0,G.jsx)(mi,{children:(0,G.jsx)(hr,{})}),a.map((e,t)=>(0,G.jsx)(hi,{module:e},t))]})})}),e&&(0,G.jsx)(`div`,{children:e}),(0,G.jsxs)(yi,{title:fi(o),children:[s(r?`sidebar.detail.latest-version`:`sidebar.detail.version`,{version:n}),o?` - `+s(`sidebar.detail.published`)+` `+pi(o):s(`versions.not-available`)]})]})},_i=w(`div`,{target:`e13nc66u2`})({name:`s5xdrg`,styles:`display:flex;align-items:center`}),vi=w(J,{target:`e13nc66u1`})({name:`1wd9x1m`,styles:`font-size:1rem;font-weight:700`}),yi=w(A,{target:`e13nc66u0`})(({theme:e})=>({color:e.palette.text.secondary,fontSize:e.fontSize.sm}),``),bi=w(`div`,{target:`erabg9d0`})(e=>({fontWeight:e.theme.fontWeight[e.weight],textTransform:e.capitalize?`capitalize`:`none`}),``),xi=({text:e=``,capitalize:t=!1,weight:n=`regular`,...r})=>(0,G.jsx)(bi,{capitalize:t,weight:n,...r,children:e}),Si=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGZpbHRlciB4PSItMTkuOCUiIHk9Ii0xMS43JSIgd2lkdGg9IjEzOS42JSIgaGVpZ2h0PSIxNDAuNCUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImEiPjxmZU9mZnNldCBkeT0iNCIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSIvPjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjIuNSIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIi8+PGZlQ29tcG9zaXRlIGluPSJzaGFkb3dCbHVyT3V0ZXIxIiBpbjI9IlNvdXJjZUFscGhhIiBvcGVyYXRvcj0ib3V0IiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiLz48ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAuMDkwNjY0NjI4NiAwIiBpbj0ic2hhZG93Qmx1ck91dGVyMSIvPjwvZmlsdGVyPjxmaWx0ZXIgeD0iLTMzLjklIiB5PSItNTAlIiB3aWR0aD0iMTY3LjklIiBoZWlnaHQ9IjI3Mi43JSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iYyI+PGZlT2Zmc2V0IGR5PSI0IiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIi8+PGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMi41IiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiLz48ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAuMDkwNjY0NjI4NiAwIiBpbj0ic2hhZG93Qmx1ck91dGVyMSIvPjwvZmlsdGVyPjxwYXRoIGlkPSJiIiBkPSJNNDggMTYuNzI5TDMyLjY3MiA0N2gtOC44NzRMMCAwaDE1LjMyOGwxMi45MDcgMjUuNDkyIDQuNDM3LTguNzYzSDQ4eiIvPjxwYXRoIGQ9Ik0zNS4yIDExSDI4VjguNjQzaDguNGwxLjItMi4zNTdIMzJWMy45MjloNi44bC44LTEuNTcySDM2VjBoMjBsLTUuNiAxMUgzNS4yeiIgaWQ9ImQiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cmVjdCBmaWxsPSIjMDAwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgcng9IjM3Ii8+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjIgMzApIj48dXNlIGZpbGw9IiMwMDAiIGZpbHRlcj0idXJsKCNhKSIgeGxpbms6aHJlZj0iI2IiLz48dXNlIGZpbGwtb3BhY2l0eT0iLjYiIGZpbGw9IiNGRkYiIHhsaW5rOmhyZWY9IiNiIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIyIDMwKSI+PHVzZSBmaWxsPSIjMDAwIiBmaWx0ZXI9InVybCgjYykiIHhsaW5rOmhyZWY9IiNkIi8+PHVzZSBmaWxsPSIjRkZGIiB4bGluazpocmVmPSIjZCIvPjwvZz48cGF0aCBmaWxsPSIjRkZGIiBkPSJNNTQuNzg1IDc3SDQ1Ljg4TDIyIDMwaDE1LjM4TDU4IDcwLjcxOHoiLz48L2c+PC9zdmc+`,Ci=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgaWQ9InZlcmRhY2NpbyI+PFRpdGxlPlZlcmRhY2NpbzwvVGl0bGU+PGRlZnM+PHBhdGggaWQ9ImIiIGQ9Ik00OCAxNy42TDMyLjggNDhIMjRMLjQuOGgxNS4ybDEyLjggMjUuNiA0LjQtOC44SDQ4eiIvPjxmaWx0ZXIgeD0iLTIwJSIgeT0iLTExLjclIiB3aWR0aD0iMTM5LjklIiBoZWlnaHQ9IjE0MC4zJSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iYSI+PGZlT2Zmc2V0IGR5PSI0IiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIi8+PGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMi41IiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiLz48ZmVDb21wb3NpdGUgaW49InNoYWRvd0JsdXJPdXRlcjEiIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJvdXQiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSIvPjxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMC4wOTA2NjQ2Mjg2IDAiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIi8+PC9maWx0ZXI+PHBhdGggaWQ9ImQiIGQ9Ik01MC44IDEySDM1LjZMNDEuMi44aDE1LjJMNTAuOCAxMnoiLz48ZmlsdGVyIHg9Ii00NS43JSIgeT0iLTQ5LjElIiB3aWR0aD0iMTkxLjMlIiBoZWlnaHQ9IjI2OS42JSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iYyI+PGZlT2Zmc2V0IGR5PSI0IiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIi8+PGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMi41IiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiLz48ZmVDb21wb3NpdGUgaW49InNoYWRvd0JsdXJPdXRlcjEiIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJvdXQiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSIvPjxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMC4wOTA2NjQ2Mjg2IDAiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIi8+PC9maWx0ZXI+PC9kZWZzPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHJlY3QgZmlsbD0iI0Y3RjhGNiIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHJ4PSIzNyIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIyIDI5KSI+PHVzZSBmaWxsPSIjMDAwIiBmaWx0ZXI9InVybCgjYSkiIHhsaW5rOmhyZWY9IiNiIi8+PHBhdGggc3Ryb2tlPSIjNDA1MjM2IiBzdHJva2Utd2lkdGg9IjIuNCIgZD0iTTQ2LjA1OCAxOC44SDMzLjU0MkwyOC40IDI5LjA4MyAxNC44NTggMkgyLjM0MmwyMi40IDQ0LjhoNy4zMTZsMTQtMjh6IiBzdHJva2UtbGluZWpvaW49InNxdWFyZSIgZmlsbD0iIzQwNTIzNiIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMiAyOSkiPjx1c2UgZmlsbD0iIzAwMCIgZmlsdGVyPSJ1cmwoI2MpIiB4bGluazpocmVmPSIjZCIvPjxwYXRoIHN0cm9rZT0iI0NENDAwMCIgc3Ryb2tlLXdpZHRoPSIyLjQiIGQ9Ik01MC4wNTggMTAuOGw0LjQtOC44SDQxLjk0MmwtNC40IDguOGgxMi41MTZ6IiBzdHJva2UtbGluZWpvaW49InNxdWFyZSIgZmlsbD0iI0NENDAwMCIvPjwvZz48cGF0aCBkPSJNNTQuMDYgNzUuOGwyLjU3NS01LjExMkwzNi44NTcgMzFIMjQuMzQybDIyLjQgNDQuOGg3LjMxOXoiIHN0cm9rZT0iIzQwNTIzNiIgc3Ryb2tlLXdpZHRoPSIyLjQiIGZpbGw9IiM0QTVFM0YiLz48cGF0aCBkPSJNNTkuNiAzMWgxNS4yMjFNNTUuNiAzNWgxNS4yMjFNNTEuNiAzOS44aDE1LjIyMSIgc3Ryb2tlPSIjQ0Q0MDAwIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIvPjwvZz48L3N2Zz4K`,wi={"x-small":`30px`,small:`40px`,big:`90px`},Ti={light:Ci,dark:Si},Ei=({size:e,onClick:t,className:n,isDefault:r=!1,title:i=``})=>{let{configOptions:a}=B(),o=de();if(!r&&a?.logo){let e=o.palette.mode===`dark`&&a.logoDark?a.logoDark:a.logo;return(0,G.jsx)(Di,{className:n,onClick:t,children:(0,G.jsx)(`img`,{alt:i,"data-testid":`custom-logo`,height:`40px`,src:e})})}return(0,G.jsx)(Oi,{className:n,"data-testid":`default-logo`,onClick:t,size:e,title:i})},Di=w(`div`,{target:`exban011`})({name:`lyel5l`,styles:`font-size:0`}),Oi=w(`div`,{target:`exban010`})(({size:e=`small`,theme:t})=>({display:`inline-block`,verticalAlign:`middle`,boxSizing:`border-box`,backgroundPosition:`center`,backgroundSize:`contain`,backgroundImage:`url(${Ti[t.palette.mode]})`,backgroundRepeat:` no-repeat`,width:wi[e],height:wi[e]}),``),ki=function({ref:e,component:t=`li`,...n}){return(0,G.jsx)(Ai,{component:t,...n,ref:e})},Ai=w(_t,{target:`e4hxi4u0`})({name:`12mkfdx`,styles:`outline:none`}),ji=()=>{let e=M(),{t}=O(),n=(0,W.useCallback)(()=>{e(`/`)},[e]);return(0,G.jsxs)(A,{alignItems:`center`,"data-testid":`404`,display:`flex`,flexDirection:`column`,flexGrow:1,justifyContent:`center`,p:2,children:[(0,G.jsx)(Mi,{children:(0,G.jsx)(ot,{color:`primary`,style:{fontSize:236}})}),(0,G.jsx)(Ni,{className:`not-found-text`,variant:`h4`,children:t(`error.404.sorry-we-could-not-find-it`)}),(0,G.jsx)(T,{"data-testid":`not-found-go-to-home-button`,onClick:n,variant:`contained`,children:t(`button.go-to-the-home-page`)})]})},Mi=w(`div`,{target:`e85lhfw1`})({name:`9th5i`,styles:`margin:0 auto`}),Ni=w(J,{target:`e85lhfw0`})(({theme:e})=>({color:e.palette.mode===`light`?e.palette.primary.main:D.white,marginBottom:16}),``),Pi=w(`div`,{target:`e1p1nuky1`})({name:`9th5i`,styles:`margin:0 auto`}),Fi=w(J,{target:`e1p1nuky0`})(({theme:e})=>({color:e.palette.mode===`light`?e.palette.primary.main:D.white,marginBottom:16}),``),Ii=()=>{let e=M(),{t}=O(),n=(0,W.useCallback)(()=>{e(`/`)},[e]);return(0,G.jsxs)(A,{alignItems:`center`,"data-testid":`404`,display:`flex`,flexDirection:`column`,flexGrow:1,justifyContent:`center`,p:2,children:[(0,G.jsx)(Pi,{children:(0,G.jsx)(nt,{color:`primary`,style:{fontSize:236}})}),(0,G.jsx)(Fi,{className:`not-found-text`,variant:`h4`,children:t(`error.401.sorry-no-access`)}),(0,G.jsx)(T,{"data-testid":`not-found-go-to-home-button`,onClick:n,variant:`contained`,children:t(`button.go-to-the-home-page`)})]})},Li=({onClose:e})=>{let{t}=O();return(0,G.jsxs)(A,{alignItems:`center`,display:`flex`,flexDirection:`column`,position:`relative`,children:[e&&(0,G.jsx)(zi,{"aria-label":t(`button.close`),onClick:e,children:(0,G.jsx)(be,{})}),(0,G.jsx)(Ri,{children:(0,G.jsx)(It,{})}),(0,G.jsx)(J,{children:t(`button.login`)})]})},Ri=w(b,{target:`eve417g1`})(({theme:e})=>({margin:e.spacing(1),backgroundColor:e.palette.mode===`light`?e.palette.primary.main:e.palette.cyanBlue,color:D.white}),``),zi=w(s,{target:`eve417g0`})(({theme:e})=>({position:`absolute`,right:e.spacing()/2,top:e.spacing()/2,color:e.palette.grey[500]}),``),Bi=w(s,{target:`e1yl3sfh0`})(({theme:e})=>({position:`absolute`,right:e.spacing()/2,top:e.spacing()/2,color:e.palette.grey[500],zIndex:99}),``),Vi=({onClose:e})=>{let{t}=O();return(0,G.jsx)(u,{children:(0,G.jsx)(Bi,{"data-testid":`close-login-dialog-button`,onClick:e,children:(0,G.jsx)(be,{titleAccess:t(`button.close`)})})})},Hi=w(xe,{target:`e20vm851`})(({theme:e})=>({backgroundColor:e.palette.error.dark,marginTop:e.spacing(2),color:D.white}),``),Ui=w(yt,{target:`e20vm850`})(({theme:e})=>({fontSize:20,opacity:.9,marginRight:e.spacing(1)}),``),Wi=(0,W.memo)(({error:e})=>(0,G.jsx)(Hi,{message:(0,G.jsxs)(A,{alignItems:`center`,"data-testid":`error`,display:`flex`,children:[(0,G.jsx)(Ui,{}),e.message]})})),Gi=w(Bt,{target:`e1v498i80`})(({theme:e})=>({marginTop:e.spacing(2)}),``),Ki=({register:e,errors:t})=>{let{t:n}=O();return(0,G.jsx)(Gi,{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`})},qi=w(Bt,{target:`e1kt1tgm0`})(({theme:e})=>({marginTop:e.spacing(2)}),``),Ji=({register:e,errors:t})=>{let{t:n}=O();return(0,G.jsx)(qi,{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`})},Yi=w(`form`,{target:`e9qifwk1`})(({theme:e})=>({marginTop:e.spacing(1)}),``),Xi=w(T,{target:`e9qifwk0`})(({theme:e})=>({margin:e.spacing(3,0,2)}),``),Zi=({register:e,handleSubmit:t,onSubmit:n,errors:r,isValid:i})=>{let{t:a}=O(),o=V()?.flags?.changePassword;return(0,G.jsxs)(Yi,{noValidate:!0,onSubmit:t(n),children:[(0,G.jsx)(Ji,{errors:r,register:e}),(0,G.jsx)(Ki,{errors:r,register:e}),r.root&&(0,G.jsx)(Wi,{error:r.root}),(0,G.jsx)(Xi,{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,G.jsx)(F,{align:`center`,sx:{mt:2,fontSize:12},variant:`body2`,children:(0,G.jsx)(N,{href:R.CHANGE_PASSWORD,sx:{ml:1},children:a(`security.changePassword.title`)})})]})},Qi=jt().required().min(2).matches(/^[-a-zA-Z0-9_.!~*'()@]+$/,`security.error.username-must-be-url-safe`),$i=jt().required().min(2),ea=wt({username:Qi,password:$i}),ta=wt({username:Qi,password:$i,email:jt().email().required()}),na=wt({username:Qi,oldPassword:$i,newPassword:$i,confirmPassword:jt().required().oneOf([tt(`newPassword`)],`security.error.password-mismatch`)});function ra({onSuccess:e}={}){let{handleLogin:t}=On(),n=Ze({mode:`onChange`,resolver:ft(ea)}),{setError:r}=n,i=(0,W.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 ia=()=>{let{register:e,handleSubmit:t,formState:{isValid:n,errors:r},onSubmit:i}=ra();return(0,G.jsx)(Zi,{errors:r,handleSubmit:t,isValid:n,onSubmit:i,register:e})},aa=({onClose:e,open:t=!1})=>{let{userState:n}=On();return(0,W.useEffect)(()=>{n?.token&&e()},[e,n]),(0,G.jsxs)(g,{"data-testid":`login--dialog`,fullWidth:!0,maxWidth:`sm`,onClose:e,open:t,children:[(0,G.jsx)(Vi,{onClose:e}),(0,G.jsxs)(je,{"data-testid":`dialogContentLogin`,children:[(0,G.jsx)(Li,{}),(0,G.jsx)(ia,{})]})]})},oa=w(`div`,{target:`e17sb8qr0`})({name:`1ayuow2`,styles:`width:100%;position:relative;z-index:1`}),sa=({suggestions:e=[],onSuggestionsFetch:t,onCleanSuggestions:n,renderInput:r,renderOption:i,getOptionLabel:a,onSelectItem:o,suggestionsLoading:s=!1})=>{let{t:c}=O(),[l,u]=(0,W.useState)(``);return(0,G.jsx)(oa,{children:(0,G.jsx)(fe,{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 ca(e){let t;do t=e,e=e.replace(/<[^>]*>?/gm,``);while(e!==t);return e}function la(e){let t=e;return t=ca(t),t=t.replace(/\(.*?\)/gm,``).replace(/(\[!?|\])/gm,``),t}var ua=w(`div`,{target:`eklopjo4`})({name:`1x17g94`,styles:`display:flex;align-items:center;width:100%`}),da=w(`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`}}),``),fa=w(`span`,{target:`eklopjo2`})({name:`36bnqj`,styles:`display:flex;flex:1`}),pa=w(`span`,{target:`eklopjo1`})(({theme:e})=>({fontWeight:`700`,fontSize:e.fontSize.sm}),``),ma=w(`span`,{target:`eklopjo0`})(({theme:e})=>({fontSize:e.fontSize.ssm}),``),ha=({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,G.jsxs)(`li`,{...s,style:{flexDirection:`column`},children:[(0,G.jsxs)(ua,{children:[(0,G.jsxs)(fa,{children:[(0,G.jsx)(pa,{children:e}),t&&(0,G.jsx)(da,{children:la(t)})]}),o&&(0,G.jsx)(ma,{children:o})]}),l?.showUplinks&&(0,G.jsx)(ua,{children:(0,G.jsxs)(r,{direction:`row`,spacing:1,children:[n&&(0,G.jsx)(P,{color:`primary`,deleteIcon:(0,G.jsx)(Ct,{}),label:c(`search.isPrivate`),onDelete:u,size:`small`}),i&&!n&&(0,G.jsx)(P,{deleteIcon:(0,G.jsx)(Pt,{}),label:c(`search.isRemote`),onDelete:u,size:`small`,variant:`outlined`}),a&&(0,G.jsx)(P,{deleteIcon:(0,G.jsx)(At,{}),label:c(`search.isCached`),onDelete:u,size:`small`,variant:`outlined`})]})})]})},ga=w(Bt,{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}}}),``),_a=w(v,{target:`e8lao7a0`})(()=>({color:D.white}),``),va=e(xt(),1),ya={API_DELAY:300,ABORT_ERROR:`AbortError`},ba=()=>{let{t:e}=O(),t=M(),{searchResults:n,isLoading:r,doSearch:i}=wn(),{configOptions:{flags:a}}=B(),o=a?.searchRemote??!1,s=(0,W.useRef)(null),c=(0,W.useCallback)(()=>{s.current&&=(s.current.abort(),null)},[]),l=(0,W.useCallback)(e=>{e.stopPropagation(),c()},[c]),u=(0,W.useCallback)((e,n,r)=>{if(e.stopPropagation(),r===`selectOption`){let e=n.package?.name??n.name;t(`${R.DETAIL}${e}`)}},[t,o]),d=(0,W.useRef)(i);d.current=i;let f=(0,W.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===ya.ABORT_ERROR?console.warn(`Search request aborted`):console.error(`Search error:`,e)}}},[c]),p=(0,W.useMemo)(()=>(0,va.default)(f,ya.API_DELAY),[f]);return(0,W.useEffect)(()=>()=>{p.cancel?.(),c()},[p,c]),(0,G.jsx)(sa,{getOptionLabel:e=>e?.package?.name,onCleanSuggestions:l,onSelectItem:u,onSuggestionsFetch:p,placeholder:e(`search.packages`),renderInput:t=>(0,G.jsx)(ga,{...t,InputProps:{...t.InputProps,startAdornment:(0,G.jsx)(_a,{position:`start`,children:(0,G.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,G.jsx)(ha,{...r,description:e?.description,isCached:a,isPrivate:i,isRemote:o,name:e?.name,version:e?.version},n)}else{let e=t.package;return(0,G.jsx)(ha,{...r,description:e?.description,name:e?.name,version:e?.version},n)}},suggestions:n,suggestionsLoading:r})},xa=w(u,{target:`e1y7bplp2`})(({theme:e})=>({backgroundColor:e.palette.mode===`light`?e.palette.primary.main:e.palette.cyanBlue,color:D.white,fontSize:e.fontSize.lg}),``),Sa=w(je,{target:`e1y7bplp1`})(({theme:e})=>({padding:`0 24px`,backgroundColor:e.palette.background.default}),``),Ca=({open:e=!1,children:t,onClose:n,title:r=``})=>{let{t:i}=O();return(0,G.jsxs)(g,{"data-testid":`registryInfo--dialog`,id:`registryInfo--dialog-container`,maxWidth:`sm`,onClose:n,open:e,children:[(0,G.jsx)(xa,{children:r}),(0,G.jsx)(Sa,{children:t}),(0,G.jsx)(Ee,{children:(0,G.jsx)(T,{color:`inherit`,id:`registryInfo--dialog-close`,onClick:n,children:i(`button.close`)})})]})};function wa(e){return{id:`simple-tab-${e}`,"aria-controls":`simple-tabpanel-${e}`}}function Ta(e){let{children:t,value:n,index:r,...i}=e;return(0,G.jsx)(`div`,{"aria-labelledby":`simple-tab-${r}`,hidden:n!==r,id:`simple-tabpanel-${r}`,role:`tabpanel`,...i,children:n===r&&(0,G.jsx)(A,{sx:{paddingTop:3},children:t})})}var Ea=({onCloseDialog:e,isOpen:t,tabs:n=null,tabPanels:r=null,dialogTitle:i})=>{let[a,o]=W.useState(0),s=(e,t)=>{o(t)};return(0,G.jsx)(Ca,{onClose:e,open:t,title:i,children:(0,G.jsxs)(A,{sx:{width:`100%`},children:[(0,G.jsx)(A,{sx:{borderBottom:1,borderColor:`divider`},children:(0,G.jsx)(Me,{"aria-label":`infoTabs`,"data-testid":`tabs`,onChange:s,value:a,children:n?n.map((e,t)=>(0,G.jsx)(m,{label:e.label,...wa(t),...e},e.label)):null})}),r?r.map((e,t)=>(0,G.jsx)(Ta,{index:t,value:a,children:e.element},t)):null]})})},Da=({size:e=50,centered:t=!1})=>(0,G.jsx)(Oa,{centered:t,children:(0,G.jsx)(ka,{size:e})}),Oa=w(`div`,{target:`eapffsy1`})(({centered:e})=>({display:`flex`,alignItems:`center`,justifyContent:`center`,...e&&{position:`absolute`,top:`50%`,left:`50%`,transform:`translate(-50%, -50%)`}}),``),ka=w(Ie,{target:`eapffsy0`})(({theme:e})=>({color:e.palette.mode===`dark`?D.white:e.palette.primary.main}),``),Aa=w(`div`,{target:`exspimt1`})({name:`10utkse`,styles:`transform:translate(-50%, -50%);top:50%;left:50%;position:absolute`}),ja=w(`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`}),``),Ma=()=>(0,G.jsxs)(Aa,{"data-testid":`loading`,children:[(0,G.jsx)(ja,{children:(0,G.jsx)(Ei,{size:`big`})}),(0,G.jsx)(Da,{"data-testid":`spinnerLogo`})]}),Na=w(`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`}}}),``),Pa=w(`span`,{target:`enco8p310`})({name:`1qmpjbv`,styles:`margin:0 5px 0 0`}),Fa=w(`span`,{target:`enco8p39`})({name:`tt9aci`,styles:`margin-left:5px;line-height:1.5;display:flex;flex-direction:column`}),Ia=w(`div`,{target:`enco8p38`})({name:`s5xdrg`,styles:`display:flex;align-items:center`}),La=w(b,{target:`enco8p37`})({name:`1aynuae`,styles:`width:20px;height:20px`}),Ra=w(vt,{target:`enco8p36`})({name:`g65o95`,styles:`text-decoration:none`}),za=w(`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}}),``),Ba=w(x,{target:`enco8p34`})({name:`19mh0x6`,styles:`display:flex;align-items:center;justify-content:flex-end`}),Va=w(C,{target:`enco8p33`})(({theme:e})=>({"&:hover":{backgroundColor:e.palette.action.hover}}),``),Ha=w(s,{target:`enco8p32`})({name:`8a08e6`,styles:`padding:6px;svg{font-size:16px;}`}),Ua=w(mt,{target:`enco8p31`})({name:`jjyo93`,styles:`padding-right:0`}),Wa=w(`span`,{target:`enco8p30`})(({theme:e})=>({color:e.palette.mode===`light`?ln:D.white,fontSize:`14px`,paddingRight:0}),``),Ga=({author:{name:e,avatar:t},bugs:n,description:r,dist:i,homepage:a,keywords:o,license:s,name:c,time:l,showDownload:u=!0,version:d})=>{let f=V(),{t:p}=O(),{isLoading:m}=Sn(),{downloadTarball:h}=bn(),g=(0,W.useCallback)(async e=>{let t=e.replace(`https://registry.npmjs.org/`,f.base);h?.({link:t})},[f,h]),_=()=>d&&(0,G.jsxs)(Na,{children:[(0,G.jsx)(qa,{}),p(`package.version`,{version:d})]}),ee=()=>{let n=nn(e);return(0,G.jsx)(Na,{children:(0,G.jsxs)(Ia,{children:[(0,G.jsx)(La,{alt:n,src:t}),(0,G.jsx)(Fa,{children:n})]})})},v=()=>i?.unpackedSize&&(0,G.jsxs)(Na,{children:[(0,G.jsx)(Ja,{}),$t(i.unpackedSize)]}),y=()=>s&&(0,G.jsxs)(Na,{children:[(0,G.jsx)(Ya,{}),s]}),te=()=>l&&(0,G.jsxs)(Na,{children:[(0,G.jsx)(Xa,{}),(0,G.jsx)(Pa,{title:on(l),children:p(`package.published-on`,{time:Zt(l)})})]}),b=()=>a&&z(a)&&(0,G.jsx)(U,{to:a,children:(0,G.jsx)(I,{"aria-label":p(`package.homepage`),title:p(`package.visit-home-page`),children:(0,G.jsx)(Ha,{"aria-label":p(`package.homepage`),color:`primary`,size:`large`,children:(0,G.jsx)(kt,{})})})}),ne=()=>n?.url&&z(n.url)&&(0,G.jsx)(U,{to:n.url,children:(0,G.jsx)(I,{"aria-label":p(`package.bugs`),title:p(`package.open-an-issue`),children:(0,G.jsx)(Ha,{"aria-label":p(`package.bugs`),color:`primary`,size:`large`,children:(0,G.jsx)(Xe,{})})})}),re=()=>i?.tarball&&z(i.tarball)&&(0,G.jsx)(Cn,{onClick:()=>{g(i.tarball)},to:`#`,children:(0,G.jsx)(I,{"aria-label":p(`package.download`,{what:p(`package.the-tar-file`)}),title:p(`package.tarball`),children:(0,G.jsx)(Ha,{"aria-label":p(`package.download`),color:`primary`,"data-testid":`download-tarball`,size:`large`,children:m?(0,G.jsx)(Ie,{size:13}):(0,G.jsx)(dt,{})})})}),ie=()=>(0,G.jsxs)(x,{alignItems:`center`,container:!0,size:{xs:12},wrap:`wrap`,children:[(0,G.jsx)(x,{size:`grow`,children:(0,G.jsx)(Ra,{to:`${R.DETAIL}${c}`,children:(0,G.jsx)(za,{className:`package-title`,"data-testid":`package-title`,children:c})})}),(0,G.jsxs)(Ba,{size:`auto`,children:[b(),ne(),u&&re()]})]}),ae=()=>(0,G.jsx)(Wa,{children:r}),oe=()=>(0,G.jsx)(Ua,{primary:ie(),secondary:ae()}),se=()=>(0,G.jsx)(S,{alignItems:`flex-start`,sx:{py:0,my:0},children:(0,G.jsx)(C,{sx:{p:0,my:0},children:(0,G.jsx)(qr,{keywords:o})})});return(0,G.jsxs)(Va,{className:`package`,"data-testid":`package-item-list`,children:[(0,G.jsx)(S,{alignItems:`flex-start`,sx:{mb:0},children:oe()}),o&&o?.length>0?se():null,(0,G.jsxs)(S,{alignItems:`flex-start`,sx:{mt:0},children:[ee(),_(),te(),v(),y()]})]})},Ka=({theme:e})=>n(`margin:0 10px 0 0;fill:`,e.palette.mode===`light`?ce[900]:D.white,`;`,``),qa=w(cr,{target:`ec4igln3`})(Ka,`;`),Ja=w(ur,{target:`ec4igln2`})(Ka,`;`),Ya=w(dr,{target:`ec4igln1`})(Ka,`;`),Xa=w(lr,{target:`ec4igln0`})(Ka,`;`),Za=w(ie,{target:`e1cp9qoa0`})({name:`b7qabe`,styles:`max-width:600px;margin:auto`});function Qa(e,t){return(0,G.jsxs)(W.Fragment,{children:[(0,G.jsx)(F,{variant:`body1`,children:e}),(0,G.jsx)(K,{dataTestId:`segments`,text:t})]})}var $a=()=>{let{configOptions:e}=B(),t=e.base,{t:n}=O();return(0,G.jsxs)(Za,{"data-testid":`help-card`,id:`help-card`,children:[(0,G.jsxs)(c,{children:[(0,G.jsx)(J,{gutterBottom:!0,id:`help-card__title`,variant:`h5`,children:n(`help.title`)}),(0,G.jsx)(J,{color:`textSecondary`,gutterBottom:!0,sx:{marginBottom:1},children:n(`help.sub-title`)}),Qa(n(`help.first-step`),n(`help.first-step-command-line`,{registryUrl:t})),Qa(n(`help.second-step`),n(`help.second-step-command-line`,{registryUrl:t})),(0,G.jsx)(F,{variant:`body1`,children:n(`help.third-step`)})]}),(0,G.jsx)(Le,{children:(0,G.jsx)(T,{color:`primary`,href:`https://verdaccio.org/docs/cli-registry`,size:`small`,children:n(`button.learn-more`)})})]})},eo=t(),to=Ce(),no=Ge(),ro=Be(),io=new to.CellMeasurerCache({fixedWidth:!0,defaultHeight:100}),ao=({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=Qt(h);return(0,G.jsx)(to.CellMeasurer,{cache:io,columnIndex:0,parent:i,rowIndex:n,children:(0,G.jsxs)(`div`,{style:a,children:[n!==0&&(0,G.jsx)(me,{}),(0,G.jsx)(Ga,{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,G.jsx)(En,{children:(0,G.jsx)(ro.WindowScroller,{children:({height:t,isScrolling:r,scrollTop:i,onChildScroll:a})=>(0,G.jsx)(eo.AutoSizer,{disableHeight:!0,children:({width:o})=>(0,G.jsx)(no.List,{autoHeight:!0,deferredMeasurementCache:io,height:t,isScrolling:r,onScroll:a,overscanRowCount:3,rowCount:e?.length,rowHeight:io.rowHeight,rowRenderer:n,scrollTop:i,width:o})})})}):(0,G.jsx)($a,{})},oo=class extends W.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,G.jsxs)(`div`,{role:`alert`,children:[(0,G.jsx)(`h1`,{children:`Something went wrong.`}),(0,G.jsx)(`pre`,{children:t?.message})]}):n}},so=L(()=>j(()=>import(`./Version.C-v__ccl.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8]))),co=L(()=>j(()=>import(`./Front.CGa0k6cT.js`),__vite__mapDeps([9,1,2,3,4,5,6,7,8]))),lo=L(()=>j(()=>import(`./Login.D0ybHuOP.js`),__vite__mapDeps([10,1,2,3,4,5,6,7,8]))),uo=L(()=>j(()=>import(`./Success.BIYToh8D.js`),__vite__mapDeps([11,1,2,3,4,5,6,7,8]))),fo=L(()=>j(()=>import(`./AddUser.Ccb6A4bc.js`),__vite__mapDeps([12,1,2,3,4,5,6,7,8]))),po=L(()=>j(()=>import(`./ChangePassword.xW3colSp.js`),__vite__mapDeps([13,1,2,3,4,5,6,7,8]))),mo=(0,G.jsx)(kn,{children:(0,G.jsx)(so,{})}),ho=()=>{let{configOptions:e}=B(),t=e?.flags?.createUser,n=e?.flags?.changePassword;return(0,G.jsxs)(at,{children:[(0,G.jsx)(k,{element:(0,G.jsx)(Tn,{children:(0,G.jsx)(co,{})}),path:R.ROOT}),(0,G.jsx)(k,{element:mo,path:R.SCOPE_PACKAGE_VERSION}),(0,G.jsx)(k,{element:mo,path:R.SCOPE_PACKAGE}),(0,G.jsx)(k,{element:mo,path:R.PACKAGE_VERSION}),(0,G.jsx)(k,{element:mo,path:R.PACKAGE}),(0,G.jsxs)(k,{element:(0,G.jsx)(Ft,{}),children:[(0,G.jsx)(k,{element:(0,G.jsx)(lo,{}),path:R.LOGIN}),(0,G.jsx)(k,{element:(0,G.jsx)(uo,{}),path:R.SUCCESS}),t&&(0,G.jsx)(k,{element:(0,G.jsx)(fo,{}),path:R.ADD_USER}),n&&(0,G.jsx)(k,{element:(0,G.jsx)(po,{}),path:R.CHANGE_PASSWORD})]}),(0,G.jsx)(k,{element:(0,G.jsx)(ji,{}),path:`*`})]})},go=w(F,{target:`ehvjuur3`})(e=>({fontWeight:e.theme.fontWeight.bold,textTransform:`capitalize`}),``),_o=w(S,{target:`ehvjuur2`})({name:`zw46c6`,styles:`padding:0;:hover{background-color:transparent;}`}),vo=w(mt,{target:`ehvjuur1`})({name:`42bvt`,styles:`padding:0 0 0 10px;margin:0`}),yo=w(b,{target:`ehvjuur0`})({name:`1vfgy9e`,styles:`padding:0;margin-left:0;background-color:transparent`}),bo=({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,G.jsx)(C,{dense:!0,subheader:(0,G.jsx)(go,{variant:`subtitle1`,children:t(`sidebar.repository.title`)}),children:(0,G.jsxs)(_o,{children:[(0,G.jsx)(yo,{sx:{bgcolor:D.white},children:(0,G.jsx)(Cr,{})}),(0,G.jsx)(vo,{primary:(0,G.jsx)(K,{dataTestId:`repositoryID`,text:r,title:r,children:(0,G.jsx)(U,{to:r,variant:`outline`,children:r})})})]})})},xo=e=>{if(!e.latest)return[];let t=[e.latest.type||`commonjs`];return e.latest.main&&t.push(`commonjs`),Array.from(new Set(t))},So=()=>{let{packageMeta:e,packageName:t,packageVersion:n}=H(),{configOptions:r}=B(),i=n||e?.latest.version||``,a=e?.time?e.time[i]:``;return!e||!t?null:(0,G.jsxs)(p,{"data-testid":`sidebar`,sx:{position:`sticky`,top:0,p:2,ml:{xs:0,md:2}},children:[(0,G.jsx)(gi,{description:e.latest?.description,hasTypes:typeof e.latest?.types==`string`,isLatest:n===void 0,moduleTypes:xo(e),packageName:t,time:a,version:i}),(0,G.jsx)(En,{children:(0,G.jsx)(zn,{packageMeta:e,showDownloadTarball:r.showDownloadTarball,showRaw:r.showRaw})}),(0,G.jsx)(Lr,{packageMeta:e}),(0,G.jsx)(Kr,{configOptions:r,packageMeta:e,packageName:t}),(0,G.jsx)(bo,{packageMeta:e}),(0,G.jsx)(Nr,{packageMeta:e}),(0,G.jsx)(ar,{packageMeta:e}),(0,G.jsx)(Jr,{packageMeta:e}),(0,G.jsx)(Kn,{packageMeta:e}),(0,G.jsx)(er,{packageMeta:e,type:Jn.MAINTAINERS}),(0,G.jsx)(er,{packageMeta:e,type:Jn.CONTRIBUTORS})]})},Co=({description:e})=>e?(0,G.jsx)(ci,{description:e}):null,wo=function(e){return e.README=`readme`,e.DEPENDENCIES=`dependencies`,e.VERSIONS=`versions`,e.UPLINKS=`uplinks`,e}({}),To=L(()=>j(()=>import(`./Versions.DfbDqFT_.js`),__vite__mapDeps([14,1,2,3,4,5]))),Eo=L(()=>j(()=>import(`./UpLinks.Byn_b-No.js`),__vite__mapDeps([15,1,2,3,8,7,5]))),Do=L(()=>j(()=>import(`./Dependencies.PIN1bqqi.js`),__vite__mapDeps([16,1,2,3,6,7,5]))),Oo=({tabPosition:e,readDescription:t})=>{let{packageMeta:n,packageName:r}=H();switch(e){case wo.README:return(0,G.jsx)(Co,{description:t});case wo.UPLINKS:return(0,G.jsx)(Eo,{packageMeta:n});case wo.VERSIONS:return(0,G.jsx)(To,{packageMeta:n,packageName:r});case wo.DEPENDENCIES:return(0,G.jsx)(Do,{packageMeta:n});default:return null}},ko=({tabPosition:e,onChange:t,showUplinks:n})=>{let{t:r}=O(),i=d(`(max-width:599px)`);return(0,G.jsxs)(Ao,{allowScrollButtonsMobile:!0,onChange:t,scrollButtons:i?`auto`:!1,value:e,variant:i?`scrollable`:`fullWidth`,children:[(0,G.jsx)(m,{"data-testid":`readme-tab`,id:`readme-tab`,label:r(`tab.readme`)}),(0,G.jsx)(m,{"data-testid":`dependencies-tab`,id:`dependencies-tab`,label:r(`tab.dependencies`)}),(0,G.jsx)(m,{"data-testid":`versions-tab`,id:`versions-tab`,label:r(`tab.versions`)}),n&&(0,G.jsx)(m,{"data-testid":`uplinks-tab`,id:`uplinks-tab`,label:r(`tab.uplinks`)})]})},Ao=w(Me,{target:`e1g9ee4l0`})({name:`18uqayh`,styles:`margin-bottom:16px`}),jo=function(e){return e.README=`readme`,e.DEPENDENCIES=`dependencies`,e.VERSIONS=`versions`,e.UPLINKS=`uplinks`,e}({}),Mo=()=>{let{configOptions:e}=B(),t=e.showUplinks?Object.values(jo):Object.values(jo).filter(e=>e!==jo.UPLINKS),[n,r]=(0,W.useState)(0),{readMe:i,packageMeta:a}=H();return(0,G.jsxs)(A,{component:`div`,display:`flex`,flexDirection:`column`,minWidth:0,padding:0,children:[(0,G.jsx)(ko,{onChange:(e,t)=>{r(t)},showUplinks:e.showUplinks,tabPosition:n}),a?.latest?.deprecated&&(0,G.jsx)(qn,{message:a?.latest?.deprecated}),(0,G.jsx)(Oo,{readDescription:i,tabPosition:t[n]})]})},No=w(_,{target:`eiu7hcl9`})({name:`1kzbpct`,styles:`justify-content:space-between;align-items:center;padding:0`}),Po=w(`span`,{target:`eiu7hcl8`})({name:`1qmpjbv`,styles:`margin:0 5px 0 0`}),Fo=w(`div`,{target:`eiu7hcl7`})(e=>({alignItems:`center`,display:`flex`,borderBottom:`1px solid ${e.theme.palette.greyLight}`,padding:`8px`,position:`relative`}),``),Io=w(`div`,{target:`eiu7hcl6`})(e=>({borderRadius:`4px`,backgroundColor:e.theme.palette.greyLight,color:D.white,width:`100%`,padding:`0 5px`,margin:`0 10px 0 0`}),``),Lo=w(s,{target:`eiu7hcl5`})({name:`0`,styles:``}),Ro=w(s,{target:`eiu7hcl4`})({name:`0`,styles:``}),zo=w(s,{target:`eiu7hcl3`})({name:`0`,styles:``}),Bo=w(s,{target:`eiu7hcl2`})({name:`0`,styles:``}),Vo=w(`div`,{target:`eiu7hcl1`})({name:`17eln3o`,styles:`display:none;width:100%;margin-left:20px`}),Ho=w(le,{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)`]:n(Ro,`{display:none;}`,zo,`{display:none;}`,Bo,`{display:none;}`,``),[`@media (min-width: ${e.breakPoints.medium}px)`]:n(Vo,`{display:flex;}`,Lo,`{display:none;}`,Fo,`{display:none;}`,``),[`@media (min-width: ${e.breakPoints.large}px)`]:n(No,`{padding:0 16px;}`,``),[`@media (min-width: ${e.breakPoints.xlarge}px)`]:n(No,`{max-width:1240px;width:100%;margin:0 auto;}`,``)}),``),Uo=({showSearch:e})=>(0,G.jsxs)(_,{sx:{display:`flex`,padding:0,marginLeft:1,flex:1,"@media (min-width: 600px)":{padding:0,marginLeft:1,marginRight:`20px`}},children:[(0,G.jsx)(vt,{to:`/`,children:(0,G.jsx)(Ei,{})}),e&&(0,G.jsx)(Vo,{"data-testid":`search-container`,children:(0,G.jsx)(ba,{})})]}),Wo=({username:e})=>{let{t}=O();return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(Po,{children:t(`header.greetings`)}),(0,G.jsx)(xi,{"data-testid":`greetings-label`,text:e,weight:`bold`})]})},Go=({onLogout:e,username:t,isMenuOpen:n=!1,anchorEl:r,onLoggedInMenu:i,onLoggedInMenuClose:o})=>{let{t:c}=O();return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(s,{color:`inherit`,"data-testid":`logInDialogIcon`,id:`header--button-account`,onClick:i,size:`large`,children:(0,G.jsx)(Ue,{})}),(0,G.jsxs)(a,{anchorEl:r,onClose:o,open:n,slotProps:{root:{anchorOrigin:{vertical:`bottom`,horizontal:`right`},transformOrigin:{vertical:`top`,horizontal:`right`}}},children:[(0,G.jsx)(ki,{children:(0,G.jsx)(Wo,{username:t})}),(0,G.jsx)(ki,{"data-testid":`logOutDialogIcon`,id:`logOutDialogIcon`,onClick:e,children:c(`button.logout`)})]})]})},Ko=function({ref:e,tooltipIconType:t,onClick:n}){switch(t){case`info`:return(0,G.jsx)(Ro,{color:`inherit`,"data-testid":`header--tooltip-info`,id:`header--button-registryInfo`,onClick:n,ref:e,size:`large`,children:(0,G.jsx)(se,{})});case`settings`:return(0,G.jsx)(Bo,{color:`inherit`,"data-testid":`header--tooltip-settings`,id:`header--button-settings`,onClick:n,ref:e,size:`large`,children:(0,G.jsx)(Gt,{})});case`search`:return(0,G.jsx)(Lo,{color:`inherit`,onClick:n,ref:e,children:(0,G.jsx)(it,{})});case`dark-mode`:return(0,G.jsx)(zo,{color:`inherit`,"data-testid":`header--button--dark`,onClick:n,ref:e,size:`large`,children:(0,G.jsx)(Dt,{})});case`light-mode`:return(0,G.jsx)(zo,{color:`inherit`,"data-testid":`header--button--light`,onClick:n,ref:e,size:`large`,children:(0,G.jsx)(ue,{})});default:return null}},qo=({tooltipIconType:e,onClick:t})=>(0,G.jsx)(Ko,{onClick:t,tooltipIconType:e}),Jo=({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}=si(),[p,m]=(0,W.useState)(null),[h,g]=(0,W.useState)(!1),ee=r===!1,{t:v}=O();(0,W.useEffect)(()=>{g(!!p)},[p]);let y=e=>{m(e.currentTarget)},te=()=>{m(null)},b=()=>{m(null),n()},ne=()=>{setTimeout(()=>{f(!d)},300)};return(0,G.jsxs)(_,{"data-testid":`header-right`,sx:{display:`flex`,padding:0,marginRight:0,"@media (min-width: 600px)":{padding:0,marginRight:0}},children:[e===!0&&(0,G.jsx)(qo,{onClick:c,title:v(`search.packages`),tooltipIconType:`search`}),a===!0&&(0,G.jsx)(qo,{onClick:u,title:v(`header.settings`),tooltipIconType:`settings`}),i===!0&&(0,G.jsx)(qo,{onClick:l,title:v(`header.registry-info`),tooltipIconType:`info`}),o===!0&&(0,G.jsx)(qo,{onClick:ne,title:v(`header.documentation`),tooltipIconType:d?`dark-mode`:`light-mode`}),!ee&&(0,G.jsx)(G.Fragment,{children:t?(0,G.jsx)(Go,{anchorEl:p,isMenuOpen:h,onLoggedInMenu:y,onLoggedInMenuClose:te,onLogout:s,username:t}):(0,G.jsx)(T,{color:`inherit`,"data-testid":`header--button-login`,onClick:b,children:v(`button.login`)})})]})},Yo=w(ie,{target:`e1prltpd1`})(({theme:e})=>({backgroundColor:e.palette.grey[600],opacity:`0.9`,color:e.palette.error.contrastText,fontWeight:`bold`}),``),Xo=w(ie,{target:`e1prltpd0`})(({theme:e})=>({cursor:`pointer`,":hover":{backgroundColor:e.palette.greyGainsboro}}),``),Zo=({translation:e,icon:t})=>(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(c,{children:(0,G.jsx)(F,{display:`block`,gutterBottom:!0,variant:`caption`,children:e})}),(0,G.jsx)(c,{children:t})]}),Qo=()=>{let{language:e,setLanguage:t,listLanguages:n}=vn(),r=n.reduce((e,t)=>(e[t.lng]={translation:t.menuKey,icon:t.icon},e),{}),[i]=(0,W.useState)(Object.keys(ve.options?.resources||{})),{t:a}=O(),o=e,s=(0,W.useCallback)(e=>{let t=r[e]||r[`en-US`];return{icon:(0,G.jsx)(t.icon,{}),translation:a(t.translation)}},[r,a]),c=(0,W.useCallback)(e=>{t(e)},[t]);return(0,G.jsx)(`div`,{children:(0,G.jsx)(x,{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,G.jsx)(x,{size:{sm:2,xs:6},children:e===o?(0,G.jsx)(Yo,{sx:{maxWidth:80},children:(0,G.jsx)(Zo,{icon:n,translation:r})}):(0,G.jsx)(Xo,{onClick:()=>c(e),children:(0,G.jsx)(Zo,{icon:n,translation:r})})},t)})})})},$o=w(`div`,{target:`e1lxinid1`})(({theme:e})=>({paddingBottom:`10px`,backgroundColor:e.palette.background.default}),``),es=w(`div`,{target:`e1lxinid0`})(()=>({fontSize:`1rem`,fontStyle:`italic`}),``),Z={npm:`npm`,yarn:`yarn`,pnpm:`pnpm`},ts=(e,t)=>(0,G.jsxs)(A,{display:`flex`,flexDirection:`column`,children:[(0,G.jsx)(K,{dataTestId:`copy`,text:rn(`${Z.npm} set`,e,t)}),(0,G.jsx)(K,{dataTestId:`copy`,text:Xt(`${Z.npm} adduser`,t)}),(0,G.jsx)(K,{dataTestId:`copy`,text:Yt(Z.npm,t)})]}),ns=(e,t)=>(0,G.jsxs)(A,{display:`flex`,flexDirection:`column`,children:[(0,G.jsx)(K,{dataTestId:`copy`,text:rn(`${Z.pnpm} set`,e,t)}),(0,G.jsx)(K,{dataTestId:`copy`,text:Xt(`${Z.pnpm} adduser`,t)}),(0,G.jsx)(K,{dataTestId:`copy`,text:Yt(Z.pnpm,t)})]}),rs=(e,t)=>(0,G.jsx)(A,{display:`flex`,flexDirection:`column`,children:(0,G.jsx)(K,{dataTestId:`copy`,text:rn(`${Z.yarn} config set`,e,t)})}),is=(e,t)=>(0,G.jsx)(A,{display:`flex`,flexDirection:`column`,children:(0,G.jsx)(K,{dataTestId:`copy`,text:tn(e,t)})}),as=w(`div`,{target:`e1hl3ygs2`})({name:`1gwg476`,styles:`padding:0;padding-left:0;padding-right:0`}),os=w(`div`,{target:`e1hl3ygs1`})({name:`pha8e7`,styles:`padding:5px`}),ss=w(`div`,{target:`e1hl3ygs0`})({name:`o73zj6`,styles:`margin:10px;margin-left:0`}),cs=({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,G.jsxs)(G.Fragment,{children:[(0,G.jsx)($o,{children:n(`packageManagers.description`)}),(0,G.jsxs)(as,{children:[(0,G.jsxs)(we,{disabled:!i,children:[(0,G.jsx)(He,{"aria-controls":`panel1a-content`,expandIcon:(0,G.jsx)(Re,{}),id:`panel1a-header`,children:(0,G.jsx)(F,{sx:{fontSize:`1rem`,fontWeight:`bold`},children:`npm`})}),(0,G.jsx)(qe,{children:(0,G.jsx)(os,{"data-testid":`tab-content`,children:ts(e,t)})})]}),(0,G.jsxs)(we,{disabled:!a,children:[(0,G.jsx)(He,{"aria-controls":`panel2a-content`,expandIcon:(0,G.jsx)(Re,{}),id:`panel2a-header`,children:(0,G.jsx)(F,{sx:{fontSize:`1rem`,fontWeight:`bold`},children:`yarn`})}),(0,G.jsxs)(qe,{children:[(0,G.jsx)(es,{children:(0,G.jsx)(y,{children:n(`packageManagers.yarnclassicDetails`)})}),(0,G.jsx)(os,{"data-testid":`tab-content`,children:rs(e,t)}),(0,G.jsx)(es,{children:(0,G.jsx)(y,{children:n(`packageManagers.yarnBerryDetails`)})}),(0,G.jsx)(os,{"data-testid":`tab-content`,children:is(e,t)})]})]}),(0,G.jsxs)(we,{disabled:!o,children:[(0,G.jsx)(He,{"aria-controls":`panel3a-content`,expandIcon:(0,G.jsx)(Re,{}),id:`panel3a-header`,children:(0,G.jsx)(F,{sx:{fontSize:`1rem`,fontWeight:`bold`},children:`pnpm`})}),(0,G.jsx)(qe,{children:(0,G.jsx)(os,{"data-testid":`tab-content`,children:ns(e,t)})})]}),(0,G.jsx)(ss,{children:(0,G.jsx)(N,{href:`https://verdaccio.org/docs/en/cli-registry`,target:`_blank`,children:(0,G.jsx)(F,{children:n(`header.registry-info-link`)})})})]})]})};function ls(e){return{id:`simple-tab-${e}`,"aria-controls":`simple-tabpanel-${e}`}}function us(e){let{children:t,value:n,index:r,...i}=e;return(0,G.jsx)(`div`,{"aria-labelledby":`simple-tab-${r}`,hidden:n!==r,id:`simple-tabpanel-${r}`,role:`tabpanel`,...i,children:n===r&&(0,G.jsx)(A,{sx:{paddingTop:3},children:t})})}var ds=w(`div`,{target:`eff5q790`})(({theme:e})=>({padding:`10px 0`,backgroundColor:e.palette.background.default}),``),fs=({onCloseDialog:e,isOpen:t})=>{let[n,r]=W.useState(0),i=(e,t)=>{r(t)},{scope:a,base:o}=V(),{t:s}=O();return(0,G.jsx)(Ca,{onClose:e,open:t,title:s(`dialog.settings.title`),children:(0,G.jsxs)(A,{sx:{width:`100%`},children:[(0,G.jsx)(A,{sx:{borderBottom:1,borderColor:`divider`},children:(0,G.jsxs)(Me,{"aria-label":`basic tabs example`,onChange:i,value:n,children:[(0,G.jsx)(m,{label:s(`packageManagers.title`),...ls(0)}),(0,G.jsx)(m,{label:s(`language.title`),...ls(1)})]})}),(0,G.jsx)(us,{index:0,value:n,children:(0,G.jsx)(cs,{registryUrl:o,scope:a})}),(0,G.jsxs)(us,{index:1,value:n,children:[(0,G.jsx)(ds,{children:s(`language.description`)}),(0,G.jsx)(Qo,{}),(0,G.jsx)(y,{children:s(`language.contribute`)})]})]})})},ps=({HeaderInfoDialog:e,isPlainHeader:t,tokenCheckIntervalMs:n=3600*1e3})=>{let{t:r}=O(),[i,a]=(0,W.useState)(!1),[o,s]=(0,W.useState)(!1),[c,l]=(0,W.useState)(!1),[u,d]=(0,W.useState)(!1),{configOptions:f}=B(),{userState:p,logOutUser:m}=On(),h=(0,W.useRef)(p?.token);(0,W.useEffect)(()=>{h.current=p?.token},[p?.token]),(0,W.useEffect)(()=>{function e(){let e=h.current;e&&an(e)&&m?.()}e();let t=setInterval(e,n);return()=>clearInterval(t)},[n]);let g=()=>{m?.(),d(!1)};return t?(0,G.jsx)(Ho,{"data-testid":`header`,position:`static`,children:(0,G.jsxs)(No,{children:[(0,G.jsx)(Uo,{showSearch:!1}),(0,G.jsx)(Jo,{hasLogin:!1,onLogout:()=>{},onOpenRegistryInfoDialog:()=>{},onOpenSettingsDialog:()=>{},onToggleLogin:()=>{},onToggleMobileNav:()=>{},showInfo:!1,showSearch:!1,showSettings:!1,showThemeSwitch:!1,username:``})]})}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(Ho,{"data-testid":`header`,position:`static`,children:[(0,G.jsxs)(No,{children:[(0,G.jsx)(Uo,{showSearch:f.showSearch}),(0,G.jsx)(Jo,{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,G.jsx)(fs,{isOpen:o,onCloseDialog:()=>s(!1)}),e?(0,G.jsx)(e,{dialogTitle:r(`dialog.registry-info.title`),isOpen:i,onCloseDialog:()=>a(!1)}):null]}),c&&(0,G.jsxs)(Fo,{children:[(0,G.jsx)(Io,{children:(0,G.jsx)(ba,{})}),(0,G.jsx)(T,{color:`inherit`,onClick:()=>l(!1),children:r(`button.cancel`)})]}),!p?.username&&(0,G.jsx)(aa,{onClose:()=>d(!1),open:u})]})},ms=()=>{let e=Sn();return e.isError?(0,G.jsx)(`div`,{children:`Error loading manifests`}):(0,G.jsxs)(`div`,{className:`container content`,"data-testid":`home-page-container`,children:[e.isLoading?(0,G.jsx)(Ma,{}):(0,G.jsx)(ao,{packages:e.manifests}),e.isError&&(0,G.jsx)(`div`,{children:`Error loading manifests`})]})},hs=w(`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`}),``),gs=w(`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}}),``),_s=w(`div`,{target:`e1u2lefy2`})(({theme:e})=>({alignItems:`center`,display:`none`,[`@media (min-width: ${e.breakPoints.medium}px)`]:{display:`flex`},marginLeft:1}),``),vs=w(_s,{target:`e1u2lefy1`})({name:`1c0m0dr`,styles:`display:flex;margin-right:1px`}),ys=w(`span`,{target:`e1u2lefy0`})(({theme:e})=>({color:e.palette.love,padding:`0 5px`}),``);function bs(){window.open(`https://verdaccio.org`,`_blank`)}var xs=()=>{let{t:e}=O(),{configOptions:t}=B();return(0,G.jsx)(hs,{"data-testid":`footer`,children:(0,G.jsxs)(gs,{children:[(0,G.jsxs)(_s,{children:[(0,G.jsx)(Ht,{components:[(0,G.jsx)(ys,{},`love`)],i18nKey:`footer.made-with-love-on`}),(0,G.jsxs)(Ts,{children:[(0,G.jsx)(Cs,{}),(0,G.jsxs)(ws,{children:[(0,G.jsx)(Q,{children:(0,G.jsx)(o,{title:e(`flag.spain`)})}),(0,G.jsx)(Q,{children:(0,G.jsx)(ne,{title:e(`flag.nicaragua`)})}),(0,G.jsx)(Q,{children:(0,G.jsx)(Fe,{title:e(`flag.india`)})}),(0,G.jsx)(Q,{children:(0,G.jsx)(ae,{title:e(`flag.brazil`)})}),(0,G.jsx)(Q,{children:(0,G.jsx)(Te,{title:e(`flag.china`)})}),(0,G.jsx)(Q,{children:(0,G.jsx)(ee,{title:e(`flag.australia`)})}),(0,G.jsx)(Q,{children:(0,G.jsx)(Kt,{title:e(`flag.germany`)})}),(0,G.jsx)(Q,{children:(0,G.jsx)(Ne,{title:e(`flag.taiwan`)})}),(0,G.jsx)(Q,{children:(0,G.jsx)(Se,{title:e(`flag.austria`)})}),(0,G.jsx)(Q,{children:(0,G.jsx)(pe,{title:e(`flag.canada`)})})]})]})]}),(0,G.jsx)(vs,{children:t?.version&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(Ss,{"data-testid":`version-footer`,children:e(`footer.powered-by`)}),(0,G.jsx)(Ei,{isDefault:!0,onClick:bs,size:`x-small`,title:t.version})]})})]})})},Ss=w(`span`,{target:`e9dwga54`})(()=>({paddingRight:`5px`}),``),Cs=w(pr,{target:`e9dwga53`})(({theme:e})=>({margin:e.spacing(0,1)}),``),ws=w(`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)`}}),``),Q=w(`div`,{target:`e9dwga51`})({name:`1g2l0a9`,styles:`width:10px`}),Ts=w(`span`,{target:`e9dwga50`})({position:`relative`,height:`18px`,":hover":{[`${ws}`]:{visibility:`visible`}}},``),Es=E(A)({display:`flex`,flexDirection:`column`,minHeight:`100vh`,maxWidth:`500px`,margin:`0 auto`}),Ds=E(A)({flex:1,marginTop:`100px`}),Os=({children:e})=>(0,G.jsx)(Es,{children:(0,G.jsx)(Ds,{children:e})}),ks=E(A)(({theme:e})=>({display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,minHeight:`100%`,padding:e.spacing(2),backgroundColor:e.palette.background.default})),As=E(A)(({theme:e})=>({width:`100%`,maxWidth:420,padding:e.spacing(4),backgroundColor:e.palette.background.paper,borderRadius:e.shape.borderRadius,boxShadow:e.shadows[3]})),js=E(Bt)(({theme:e})=>({width:`100%`,marginTop:e.spacing(1),marginBottom:e.spacing(1)})),Ms=function(e){return e.Login=`Login`,e.ChangePassword=`ChangePassword`,e.AddUser=`AddUser`,e.Success=`Success`,e}({}),Ns=()=>{let{t:e}=O(),t=Et(),n=new URLSearchParams(t.search).get(`messageType`),r=e(n?`security.success.message${n}`:`security.success.messageSuccess`);return(0,G.jsx)(Os,{children:(0,G.jsx)(ks,{children:(0,G.jsxs)(As,{children:[(0,G.jsx)(_e,{color:`success`}),(0,G.jsx)(F,{component:`h1`,gutterBottom:!0,variant:`h4`,children:e(`security.success.title`)}),(0,G.jsx)(F,{color:`text.secondary`,paragraph:!0,variant:`body1`,children:r}),(0,G.jsx)(T,{color:`primary`,onClick:()=>{window.location.href=`/`},sx:{mt:2},variant:`contained`,children:e(`security.success.submit`)})]})})})};he();function Ps(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 Fs=V(),Is=mn(Fs.base),Ls=()=>{let{t:e}=O(),t=Et(),n=M(),{next:r}=Ps(t),i=Fs?.flags?.createUser,a=R.ADD_USER+(r?`?next=`+r:``),{data:o,isMutating:s,trigger:c}=_n(Is,r,`POST`),{setError:l,handleSubmit:u,register:d,formState:{isValid:f,errors:p}}=Ze({mode:`onChange`,resolver:ft(ea)}),m=async e=>{try{await c(e)}catch(e){throw gn(e)}},h=(0,W.useCallback)(()=>{n(`${R.SUCCESS}?messageType=${Ms.Login}`)},[n]),g=(0,W.useCallback)(async e=>{try{await m?.(e),h()}catch{l(`root`,{type:`server`,message:`Invalid username or password`})}},[m,l,h]);return(0,W.useEffect)(()=>{o&&!s&&o.username&&o.token&&un(o.username,o.token)},[o,s]),r?(0,G.jsx)(Os,{children:(0,G.jsx)(ks,{children:(0,G.jsxs)(As,{children:[(0,G.jsx)(Li,{}),(0,G.jsx)(Zi,{errors:p,handleSubmit:u,isValid:f,onSubmit:g,register:d}),i&&(0,G.jsxs)(F,{align:`center`,sx:{mt:2,fontSize:12},variant:`body2`,children:[e(`security.login.noUserQuestion`),(0,G.jsx)(N,{href:a,sx:{ml:1},children:e(`security.login.createUser`)})]})]})})}):(0,G.jsx)(ji,{})},Rs=()=>{let{t:e}=O(),t=Et(),n=M(),r=V(),i=mn(r.base),{next:a,user:o}=Ps(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}}=Ze({mode:`onChange`,defaultValues:{username:typeof o==`string`?o:``,password:``,email:``},resolver:ft(ta)}),h=f(`username`),{trigger:g}=_n(i,`${R.ADD_USER}:${encodeURIComponent(h)}`,`PUT`),_=(0,W.useCallback)(async e=>{try{await g(e)}catch(e){throw gn(e)}},[g]),ee=(0,W.useCallback)(async e=>{try{await _({name:e.username,password:e.password,email:e.email}),n(`${R.SUCCESS}?messageType=${Ms.AddUser}`)}catch{l(`root`,{type:`server`,message:`Failed to create user`})}},[_,l,n]);return(0,W.useEffect)(()=>{c||n(`/`)},[c,n]),c?(0,G.jsx)(Os,{children:(0,G.jsx)(ks,{children:(0,G.jsxs)(As,{component:`form`,onSubmit:u(ee),children:[(0,G.jsx)(F,{align:`center`,component:`h1`,gutterBottom:!0,variant:`h4`,children:e(`security.addUser.title`)}),(0,G.jsx)(Ji,{errors:m,register:d}),(0,G.jsx)(Ki,{errors:m,register:d}),(0,G.jsx)(js,{label:e(`security.addUser.email`),type:`email`,...d(`email`)}),(0,G.jsx)(F,{color:`text.secondary`,paragraph:!0,sx:{fontSize:12},variant:`body2`,children:e(`security.addUser.emailDescription`)}),m.root&&(0,G.jsx)(Wi,{error:m.root}),(0,G.jsx)(T,{color:`primary`,disabled:!p,fullWidth:!0,sx:{mt:2},type:`submit`,variant:`contained`,children:e(`security.addUser.submit`)}),(0,G.jsxs)(F,{align:`center`,sx:{mt:2,fontSize:12},variant:`body2`,children:[e(`security.addUser.alreadyUserQuestion`),(0,G.jsx)(N,{href:s,sx:{ml:1},children:e(`security.addUser.login`)})]})]})})}):null},zs=()=>{let{t:e}=O(),t=M(),n=V(),r=mn(n.base),i=n?.flags?.changePassword,{setError:a,handleSubmit:o,register:s,formState:{isValid:c,errors:l}}=Ze({mode:`onChange`,defaultValues:{username:``,oldPassword:``,newPassword:``,confirmPassword:``},resolver:ft(na)}),{trigger:u}=_n(r,en.RESET_PASSWORD,`PUT`),d=(0,W.useCallback)(async e=>{try{await u(e)}catch(e){throw gn(e)}},[u]),f=(0,W.useCallback)(async e=>{try{await d({password:{old:e.oldPassword,new:e.newPassword}}),t(`${R.SUCCESS}?messageType=${Ms.ChangePassword}`)}catch{a(`root`,{type:`server`,message:`Failed to change password`})}},[d,a,t]);return(0,W.useEffect)(()=>{i||t(`/`)},[i,t]),i?(0,G.jsx)(Os,{children:(0,G.jsx)(ks,{children:(0,G.jsxs)(As,{component:`form`,onSubmit:o(f),children:[(0,G.jsx)(F,{align:`center`,component:`h1`,gutterBottom:!0,variant:`h4`,children:e(`security.changePassword.title`)}),(0,G.jsx)(js,{error:!!l.username,helperText:l.username?.message,label:e(`security.changePassword.username`),...s(`username`),required:!0}),(0,G.jsx)(js,{error:!!l.oldPassword,helperText:l.oldPassword?.message,label:e(`security.changePassword.oldPassword`),...s(`oldPassword`),required:!0,type:`password`}),(0,G.jsx)(js,{error:!!l.newPassword,helperText:l.newPassword?.message,label:e(`security.changePassword.newPassword`),...s(`newPassword`),required:!0,type:`password`}),(0,G.jsx)(js,{error:!!l.confirmPassword,helperText:l.confirmPassword?.message,label:e(`security.changePassword.confirmPassword`),...s(`confirmPassword`),required:!0,type:`password`}),l.root&&(0,G.jsx)(Wi,{error:l.root}),(0,G.jsx)(T,{color:`primary`,disabled:!c,fullWidth:!0,sx:{mt:2},type:`submit`,variant:`contained`,children:e(`security.changePassword.submit`)})]})})}):null},Bs=ms,Vs=()=>(0,G.jsxs)(x,{className:`container content`,container:!0,"data-testid":`version-layout`,spacing:0,children:[(0,G.jsx)(x,{size:{md:8,xs:12},children:(0,G.jsx)(Mo,{})}),(0,G.jsx)(x,{size:{md:4,xs:12},children:(0,G.jsx)(So,{})})]}),Hs=()=>{let{hasNotBeenFound:e,isForbidden:t,isUnAuthorized:n,isLoading:r}=H();return r?(0,G.jsx)(Ma,{}):n||t?(0,G.jsx)(Ii,{}):e?(0,G.jsx)(ji,{}):(0,G.jsx)(Vs,{})},Us=Ls,Ws=Ns,Gs=Rs,Ks=zs,qs=({children:e})=>(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(te,{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]}),Js=()=>(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(qt,{}),(0,G.jsx)(qs,{})]}),Ys=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}]`),Xs=e=>`https://avatars3.githubusercontent.com/u/${e}?s=120&v=4`,Zs=()=>(0,G.jsx)(G.Fragment,{children:(0,G.jsx)(N,{href:`https://verdaccio.org/contributors`,rel:`noreferrer`,target:`_blank`,children:(0,G.jsx)(ze,{max:11,spacing:15,total:400,children:Ys?.map(({username:e,id:t})=>(0,G.jsx)(`div`,{children:(0,G.jsx)(b,{alt:e,src:Xs(t)})},e))})})}),Qs=`Support people affected by the war in Ukraine`,$s=[{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`}],ec=()=>{let e=$s.map(e=>(0,G.jsx)(`li`,{children:(0,G.jsx)(N,{href:e.href,target:`_blank`,children:(0,G.jsx)(F,{children:e.text})})},e.text));return(0,G.jsx)(G.Fragment,{children:(0,G.jsxs)(x,{container:!0,spacing:2,children:[(0,G.jsx)(x,{item:!0,xs:12,children:(0,G.jsx)(F,{component:`h2`,variant:`h6`,children:Qs})}),(0,G.jsxs)(x,{item:!0,lg:12,xs:12,children:[(0,G.jsx)(`span`,{style:{fontStyle:`italic`,fontSize:`0.75rem`},children:(0,G.jsx)(F,{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,G.jsx)(`ul`,{style:{padding:`10px 0`},children:e}),(0,G.jsx)(`div`,{children:(0,G.jsx)(F,{variant:`div`,children:`Spread the voice, make the difference today.`})}),(0,G.jsx)(`div`,{style:{padding:`10px 0`,fontWeight:600},children:(0,G.jsx)(F,{variant:`div`,children:`Att: Verdaccio Lead Mantainer, Juan P.`})})]})]})})},tc=`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
- `,nc=`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
- `,rc={"registry-info":{title:`Information`},settings:{title:`Configuration`},license:`Licence`,totalContributors:`Počet přispěvovatelů`},ic={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 `},ac={packages:`Hledat balíčky`,isPrivate:`Private`,isRemote:`Remote`,isCached:`Cached`},oc={loading:`Načítání...`,"no-results-found":`Nebyly nalezeny žádné výsledky`,clear:`Vyčistit`,expand:`Otevřít`,collapse:`Zavřít`},sc={uplinks:`Uplinky`,versions:`Verze`,dependencies:`Závislosti`,readme:`Přečti si mě`},cc={title:`Uplinky`,"no-items":`{{name}} nemá žádné uplinky.`},lc={"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`},uc={"has-no-dependencies":`{{package}} nemá žádné závislosti.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},dc={username:`Uživatelské jméno`,password:`Heslo`},fc={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.`},pc={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`}},mc={"powered-by":`Pohání`,"made-with-love-on":`Tvořeno s <0>♥</0> na`},hc={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`},gc={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`},_c={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`},vc={austria:`Rakousko`,australia:`Australia`,brazil:`Brazílie`,canada:`Canada`,spain:`Španělsko`,nicaragua:`Nikaragua`,india:`Indie`,china:`Čína`,germany:`Německo`,taiwan:`Tchaj-wan`},yc={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)."},bc={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.`},xc={"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:rc,header:ic,search:ac,autoComplete:oc,tab:sc,uplinks:cc,versions:lc,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:uc,form:dc,"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:fc,sidebar:pc,footer:mc,button:hc,error:gc,lng:_c,flag:vc,packageManagers:yc,language:bc},Sc={"registry-info":{title:`Information`},settings:{title:`Konfiguration`},license:`Lizenz`,totalContributors:`Totale Contributor`},Cc={documentation:`Dokumentation`,"registry-info":`Registry-Informationen`,"registry-info-link":`Mehr erfahren`,settings:`Einstellungen`,help:`Hilfe`,"registry-no-conf":`Keine Konfigurationen verfügbar`,greetings:`Hi `},wc={packages:`Pakete durchsuchen`,isPrivate:`Private`,isRemote:`Remote`,isCached:`Zwischengespeichert`},Tc={loading:`Laden...`,"no-results-found":`Keine Resultate gefunden`,clear:`Leeren`,expand:`Ausklappen`,collapse:`Einklappen`},Ec={uplinks:`Uplinks`,versions:`Versionen`,dependencies:`Abhängigkeiten`,readme:`Readme`},Dc={title:`Uplinks`,"no-items":`{{name}} hat keine Uplinks.`},Oc={"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`},kc={"has-no-dependencies":`{{package}} hat keine Abhängigkeiten.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},Ac={username:`Nutzername`,password:`Passwort`},jc={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`},Mc={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`}},Nc={"powered-by":`Umgesetzt mit`,"made-with-love-on":`Gemacht mit <0>♥</0> in`},Pc={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>`},Fc={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`},Ic={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`},Lc={austria:`Österreich`,australia:`Australia`,brazil:`Brasilien`,canada:`Canada`,spain:`Spanien`,nicaragua:`Nicaragua`,india:`Indien`,china:`China`,germany:`Deutschland`,taiwan:`Taiwan`},Rc={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).`},zc={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.`},Bc={"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:Sc,header:Cc,search:wc,autoComplete:Tc,tab:Ec,uplinks:Dc,versions:Oc,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:kc,form:Ac,"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:jc,sidebar:Mc,footer:Nc,button:Pc,error:Fc,lng:Ic,flag:Lc,packageManagers:Rc,language:zc},Vc={"registry-info":{title:`Información`},settings:{title:`Configuración`},license:`Licencia`,totalContributors:`Contribuciones`},Hc={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 `},Uc={packages:`Buscar paquetes`,isPrivate:`Privado`,isRemote:`Remoto`,isCached:`Cached`},Wc={loading:`Cargando...`,"no-results-found":`No se encontraron resultados`,clear:`Borrar`,expand:`Expandir`,collapse:`Colapsar`},Gc={uplinks:`Uplinks`,versions:`Versiones`,dependencies:`Dependencias`,readme:`Léeme`},Kc={title:`Uplinks`,"no-items":`{{name}} no tiene uplinks.`},qc={"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`},Jc={"has-no-dependencies":`{{package}} no tiene dependencias.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},Yc={username:`Usuario`,password:`Contraseña`},Xc={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`},Zc={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`}},Qc={"powered-by":`Hecho con`,"made-with-love-on":`Hecho con <0>♥</0>`},$c={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`},el={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`},tl={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`},nl={austria:`Austria`,australia:`Australia`,brazil:`Brasil`,canada:`Canadá`,spain:`España`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Alemania`,taiwan:`Taiwán`},rl={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)."},il={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.`},al={"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:Vc,header:Hc,search:Uc,autoComplete:Wc,tab:Gc,uplinks:Kc,versions:qc,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:Jc,form:Yc,"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:Xc,sidebar:Zc,footer:Qc,button:$c,error:el,lng:tl,flag:nl,packageManagers:rl,language:il},ol={"registry-info":{title:`Information`},settings:{title:`Configuration`},license:`Licence`,totalContributors:`Contributeurs totaux`},sl={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`},cl={packages:`Rechercher des paquets`,isPrivate:`Privé`,isRemote:`Remote`,isCached:`Cached`},ll={loading:`En cours de chargement...`,"no-results-found":`Aucun resultat trouvé`,clear:`Nettoyer`,expand:`Développer`,collapse:`Se rétracter`},ul={uplinks:`Uplinks`,versions:`Versions`,dependencies:`Dépendances`,readme:`Readme`},dl={title:`Uplinks`,"no-items":`{{name}} n'a pas de uplink.`},fl={"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`},pl={"has-no-dependencies":`{{package}} n'a aucune dépendance.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},ml={username:`Nom d'utilisateur`,password:`Mot de passe`},hl={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.`},gl={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`}},_l={"powered-by":`Propulsé par`,"made-with-love-on":`Fait avec <0>♥</0> sur`},vl={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`},yl={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`},bl={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`},xl={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},Sl={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)."},Cl={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.`},wl={"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:ol,header:sl,search:cl,autoComplete:ll,tab:ul,uplinks:dl,versions:fl,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:pl,form:ml,"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:hl,sidebar:gl,footer:_l,button:vl,error:yl,lng:bl,flag:xl,packageManagers:Sl,language:Cl},Tl={"registry-info":{title:`Eolas`},settings:{title:`Cumraíocht`},license:`Ceadúnas`,totalContributors:`Ranníocóirí iomlána`},El={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 `},Dl={packages:`Pacáistí Cuardaigh`,isPrivate:`Príobháideach`,isRemote:`Iargúlta`,isCached:`I dtaisce`},Ol={loading:`Á lódáil...`,"no-results-found":`Níor aimsíodh aon torthaí`,clear:`Glan`,expand:`Leathnaigh`,collapse:`Laghdaigh`},kl={uplinks:`Uplinks`,versions:`Leaganacha`,dependencies:`Spleáchais`,readme:`Léim`},Al={title:`Uplinks`,"no-items":`Níl naisc ar bith ag {{name}}.`},jl={"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`},Ml={"has-no-dependencies":`Níl aon spleáchais ag {{package}}.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},Nl={username:`Ainm úsáideora`,password:`Pasfhocal`},Pl={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`},Fl={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`}},Il={"powered-by":`Cumhachtaithe ag`,"made-with-love-on":`Déanta le <0>♥</0> ar siúl`},Ll={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`},Rl={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`},zl={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`},Bl={austria:`Austria`,australia:`Astráil`,brazil:`Brazil`,canada:`Ceanada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},Vl={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)."},Hl={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ú.`},Ul={"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:Tl,header:El,search:Dl,autoComplete:Ol,tab:kl,uplinks:Al,versions:jl,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:Ml,form:Nl,"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:Pl,sidebar:Fl,footer:Il,button:Ll,error:Rl,lng:zl,flag:Bl,packageManagers:Vl,language:Hl},Wl={"registry-info":{title:`Information`},settings:{title:`Configuration`},license:`Licenza`,totalContributors:`Total contributors`},Gl={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 `},Kl={packages:`Buscar Paquetes`,isPrivate:`Private`,isRemote:`Remote`,isCached:`Cached`},ql={loading:`Cargando...`,"no-results-found":`Non se atoparon resultados`,clear:`Limpar`,expand:`Expandir`,collapse:`Colapso`},Jl={uplinks:`Uplinks`,versions:`Versións`,dependencies:`Dependencias`,readme:`Renomear`},Yl={title:`Uplinks`,"no-items":`{{name}} non ten ligazóns ascendentes.`},Xl={"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`},Zl={"has-no-dependencies":`{{package}} non ten dependencias.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},Ql={username:`Nome de Usuario`,password:`Contrasinal`},$l={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`},eu={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`}},tu={"powered-by":`Feito por`,"made-with-love-on":`Feito con <0>♥</0>`},nu={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`},ru={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`},iu={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`},au={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},ou={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)."},su={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.`},cu={"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:Wl,header:Gl,search:Kl,autoComplete:ql,tab:Jl,uplinks:Yl,versions:Xl,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:Zl,form:Ql,"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:$l,sidebar:eu,footer:tu,button:nu,error:ru,lng:iu,flag:au,packageManagers:ou,language:su},lu={"registry-info":{title:`Informazioni`},settings:{title:`Configurazione`},license:`Licenza`,totalContributors:`Collaboratori totali`},uu={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 `},du={packages:`Cerca i Pacchetti`,isPrivate:`Privato`,isRemote:`Remoto`,isCached:`Nella Cache`},fu={loading:`Caricamento...`,"no-results-found":`Nessun risultato trovato`,clear:`Cancella`,expand:`Espandi`,collapse:`Comprimi`},pu={uplinks:`Uplink`,versions:`Versioni`,dependencies:`Dipendenze`,readme:`Readme`},mu={title:`Uplink`,"no-items":`{{name}} non ha uplink.`},hu={"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`},gu={"has-no-dependencies":`{{package}} non ha alcuna dipendenza.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},_u={username:`Nome Utente`,password:`Password`},vu={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`},yu={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`}},bu={"powered-by":`Sviluppato da`,"made-with-love-on":`Creato con <0>♥</0> il`},xu={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`},Su={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`},Cu={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`},wu={austria:`Austria`,australia:`Australia`,brazil:`Brasile`,canada:`Canada`,spain:`Spagna`,nicaragua:`Nicaragua`,india:`India`,china:`Cina`,germany:`Germania`,taiwan:`Taiwan`},Tu={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).`},Eu={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.`},Du={"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:lu,header:uu,search:du,autoComplete:fu,tab:pu,uplinks:mu,versions:hu,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:gu,form:_u,"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:vu,sidebar:yu,footer:bu,button:xu,error:Su,lng:Cu,flag:wu,packageManagers:Tu,language:Eu},Ou={"registry-info":{title:`정보`},settings:{title:`구성`},license:`라이선스`,totalContributors:`총 기여자`},ku={documentation:`문서`,"registry-info":`레지스트리 정보`,"registry-info-link":`더 알아보기`,settings:`설정`,help:`도움`,"registry-no-conf":`사용 가능한 구성이 없습니다.`,greetings:`안녕 `},Au={packages:`패키지 검색`,isPrivate:`Private`,isRemote:`원격`,isCached:`캐시됨`},ju={loading:`로딩 중...`,"no-results-found":`결과를 찾을 수 없음`,clear:`삭제`,expand:`펼치기`,collapse:`접기`},Mu={uplinks:`Uplinks`,versions:`버전`,dependencies:`의존성`,readme:`읽어보기`},Nu={title:`Uplinks`,"no-items":`{{name}} 에 uplink가 없습니다.`},Pu={"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`},Fu={"has-no-dependencies":`{{package}} 에는 의존성이 없습니다.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},Iu={username:`사용자 이름`,password:`비밀번호`},Lu={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. 이 페이지 새로 고침`},Ru={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`}},zu={"powered-by":`Powered by`,"made-with-love-on":`Made with <0>♥</0> on`},Bu={close:`닫기`,cancel:`취소`,login:`로그인`,logout:`로그아웃`,"go-to-the-home-page":`홈으로`,"learn-more":`더 알아보기`,"fund-this-package":`이 패키지를 위한 <0>지원</0>`},Vu={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`},Hu={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`},Uu={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},Wu={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)을 참조하십시오.`},Gu={title:`번역`,contribute:`귀하의 언어가 여기에 나열되지 않았거나 완전히 번역되지 않은 경우 번역에 기여하십시오. 소스 코드는 [우리의 메인 저장소](https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md)에서 확인할 수 있습니다.`,description:`언어에 대한 구성 세부 정보입니다. 클라이언트 측 번역을 선택하려면 언어를 선택하십시오.`},Ku={"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:Ou,header:ku,search:Au,autoComplete:ju,tab:Mu,uplinks:Nu,versions:Pu,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:Fu,form:Iu,"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:Lu,sidebar:Ru,footer:zu,button:Bu,error:Vu,lng:Hu,flag:Uu,packageManagers:Wu,language:Gu},qu={"registry-info":{title:`Informacje`},settings:{title:`Configuration`},license:`Licencja`,totalContributors:`Wszyscy współpracujący`},Ju={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 `},Yu={packages:`Wyszukaj pakiet`,isPrivate:`Private`,isRemote:`Zdalny`,isCached:`W kopii lokalnej`},Xu={loading:`Ładowanie...`,"no-results-found":`Brak wyników`,clear:`Wyczyść`,expand:`Rozwiń`,collapse:`Zwiń`},Zu={uplinks:`Uplinks`,versions:`Wersje`,dependencies:`Zależności`,readme:`Przeczytaj`},Qu={title:`Uplinks`,"no-items":`{{name}} nie posiada uplinków.`},$u={"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`},ed={"has-no-dependencies":`Pakiet {{package}} nie posiada zależności.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},td={username:`Nazwa użytkownika`,password:`Hasło`},nd={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ę`},rd={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`}},id={"powered-by":`Zasilany przez`,"made-with-love-on":`Stworzone z <0>♥</0> do`},ad={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`},od={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`},sd={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`},cd={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},ld={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).`},ud={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.`},dd={"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:qu,header:Ju,search:Yu,autoComplete:Xu,tab:Zu,uplinks:Qu,versions:$u,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:ed,form:td,"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:nd,sidebar:rd,footer:id,button:ad,error:od,lng:sd,flag:cd,packageManagers:ld,language:ud},fd={"registry-info":{title:`Informação`},settings:{title:`Configuração`},license:`Licença`,totalContributors:`Total de contribuidores`},pd={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 `},md={packages:`Pesquisar Pacotes`,isPrivate:`Privado`,isRemote:`Remoto`,isCached:`Em cache`},hd={loading:`Carregando...`,"no-results-found":`"Nenhum resultado encontrado`,clear:`Limpar`,expand:`Expandir`,collapse:`Retrair`},gd={uplinks:`Uplinks`,versions:`Versões`,dependencies:`Dependências`,readme:`Leia-me`},_d={title:`Uplinks`,"no-items":`{{name}} não tem uplinks.`},vd={"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`},yd={"has-no-dependencies":`{{package}} não tem dependências.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},bd={username:`Nome do usuário`,password:`Senha`},xd={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.`},Sd={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`}},Cd={"powered-by":`Feito por`,"made-with-love-on":`Feito com amor <0>♥</0> no(a)`},wd={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`},Td={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`},Ed={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`},Dd={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},Od={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)."},kd={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.`},Ad={"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:fd,header:pd,search:md,autoComplete:hd,tab:gd,uplinks:_d,versions:vd,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:yd,form:bd,"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:xd,sidebar:Sd,footer:Cd,button:wd,error:Td,lng:Ed,flag:Dd,packageManagers:Od,language:kd},jd={"registry-info":{title:`Информация`},settings:{title:`Конфигурация`},license:`Лицензия`,totalContributors:`Всего разработчиков`},Md={documentation:`Документация`,"registry-info":`Информация о реестре`,"registry-info-link":`Подробнее`,settings:`Настройки`,help:`Помощь`,"registry-no-conf":`Нет доступных конфигураций`,greetings:`Привет `},Nd={packages:`Поиск пакетов`,isPrivate:`Приватный`,isRemote:`Удаленно`,isCached:`Кэшированный`},Pd={loading:`Загрузка ...`,"no-results-found":`Ничего не найдено`,clear:`Очистить`,expand:`Развернуть`,collapse:`Свернуть`},Fd={uplinks:`Аплинки`,versions:`Версии`,dependencies:`Зависимости`,readme:`Описание`},Id={title:`Аплинки`,"no-items":`{{name}} не опубликован.`},Ld={"current-tags":`Текущие теги`,"version-history":`История Версий`,"not-available":`Недоступен`,deprecated:`Устаревшие`,"search.placeholder":`Найдите версию по диапазону значений, например ^1.0.0.`,"hide-deprecated":`Все устаревшие версии скрыты глобальной конфигурацией`},Rd={"has-no-dependencies":`{{package}} не имеет зависимостей.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},zd={username:`Имя пользователя`,password:`Пароль`},Bd={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. Обновите эту страницу.`},Vd={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`}},Hd={"powered-by":`Работает на`,"made-with-love-on":`Сделано с <0>♥</0> на`},Ud={close:`Закрыть`,cancel:`Отмена`,login:`Войти`,logout:`Выйти`,"go-to-the-home-page":`Перейдите на главную страницу`,"learn-more":`Изучайте больше`,"fund-this-package":`<0>Поддержать</0> этот паке`},Wd={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`},Gd={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`},Kd={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},qd={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)."},Jd={title:`Переводы`,contribute:`Если ваш язык не указан здесь или переведен не полностью, пожалуйста, внесите свой вклад в перевод. Вы можете найти исходный код в [нашем основном репозитории](https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md)`,description:`Это детали конфигурации языка. Выберите язык для перевода клиентской части.`},Yd={"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:jd,header:Md,search:Nd,autoComplete:Pd,tab:Fd,uplinks:Id,versions:Ld,package:{"published-on":`Published {{time}}`,version:`v{{version}}`,"visit-home-page":`Посетить домашнюю страницу`,homepage:`Домашняя страница`,"open-an-issue":`Открыть вопрос, проблему, ...`,bugs:`Ошибки`,download:`Скачать {{what}}`,"the-tar-file":`файл tar`,tarball:`Скачать`},dependencies:Rd,form:zd,"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:Bd,sidebar:Vd,footer:Hd,button:Ud,error:Wd,lng:Gd,flag:Kd,packageManagers:qd,language:Jd},Xd={"registry-info":{title:`Information`},settings:{title:`Configuration`},license:`License`,totalContributors:`Total contributors`},Zd={documentation:`Documentation`,"registry-info":`Registry Information`,"registry-info-link":`Learn more`,settings:`Settings`,help:`Help`,"registry-no-conf":`No configurations available`,greetings:`Hi `},Qd={packages:`Search Packages`,isPrivate:`Private`,isRemote:`Remote`,isCached:`Cached`},$d={loading:`Loading...`,"no-results-found":`No results found`,clear:`Clear`,expand:`Expand`,collapse:`Collapse`},ef={uplinks:`Uplinks`,versions:`Versions`,dependencies:`Dependencies`,readme:`Readme`},tf={title:`Uplinks`,"no-items":`{{name}} has no uplinks.`},nf={"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`},rf={"has-no-dependencies":`{{package}} has no dependencies.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},af={username:`Username`,password:`Password`},of={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`},sf={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`}},cf={"powered-by":`Powered by`,"made-with-love-on":`Made with <0>♥</0> on`},lf={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`},uf={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`},df={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`},ff={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},pf={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)."},mf={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.`},hf={"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:Xd,header:Zd,search:Qd,autoComplete:$d,tab:ef,uplinks:tf,versions:nf,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:rf,form:af,"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:of,sidebar:sf,footer:cf,button:lf,error:uf,lng:df,flag:ff,packageManagers:pf,language:mf},gf={"registry-info":{title:`Bilgi`},settings:{title:`Konfigürasyon`},license:`Lisans`,totalContributors:`Toplam katkıda bulunanlar`},_f={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 `},vf={packages:`Paket Ara`,isPrivate:`Private`,isRemote:`Uzak`,isCached:`Önbelleğe alınmış`},yf={loading:`Yükleniyor...`,"no-results-found":`Sonuç bulunamadı`,clear:`Temizle`,expand:`Genişlet`,collapse:`Dök`},bf={uplinks:`Bağlantılar`,versions:`Versiyonlar`,dependencies:`Bağımlılıklar`,readme:`Beni Oku`},xf={title:`Bağlantılar`,"no-items":`{{name}} bağlantısı yok`},Sf={"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`},Cf={"has-no-dependencies":`{{package}} bağımlılığı yok.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},wf={username:`Kullanıcı Adı`,password:`Parola`},Tf={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.`},Ef={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`}},Df={"powered-by":`Destekleyen`,"made-with-love-on":`<0>♥</0> ile yapılmıştı`},Of={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>`},kf={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`},Af={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`},jf={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},Mf={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.`},Nf={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.`},Pf={"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:gf,header:_f,search:vf,autoComplete:yf,tab:bf,uplinks:xf,versions:Sf,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:Cf,form:wf,"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:Tf,sidebar:Ef,footer:Df,button:Of,error:kf,lng:Af,flag:jf,packageManagers:Mf,language:Nf},Ff={"registry-info":{title:`Information`},settings:{title:`Cấu hình`},license:`License`,totalContributors:`Total contributors`},If={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 `},Lf={packages:`Search Packages`,isPrivate:`Private`,isRemote:`Remote`,isCached:`Cached`},Rf={loading:`Loading...`,"no-results-found":`No results found`,clear:`Clear`,expand:`Expand`,collapse:`Collapse`},zf={uplinks:`Uplinks`,versions:`Phiên bản`,dependencies:`Dependencies`,readme:`Readme`},Bf={title:`Uplinks`,"no-items":`{{name}} has no uplinks.`},Vf={"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`},Hf={"has-no-dependencies":`{{package}} has no dependencies.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},Uf={username:`Username`,password:`Password`},Wf={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`},Gf={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`}},Kf={"powered-by":`Powered by`,"made-with-love-on":`Made with <0>♥</0> on`},qf={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`},Jf={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`},Yf={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`},Xf={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},Zf={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)."},Qf={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.`},$f={"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:Ff,header:If,search:Lf,autoComplete:Rf,tab:zf,uplinks:Bf,versions:Vf,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:Hf,form:Uf,"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:Wf,sidebar:Gf,footer:Kf,button:qf,error:Jf,lng:Yf,flag:Xf,packageManagers:Zf,language:Qf},ep={"registry-info":{title:`Information`},settings:{title:`Configuration`},license:`License`,totalContributors:`Total contributors`},tp={documentation:`Documentation`,"registry-info":`Registry Information`,"registry-info-link":`Learn more`,settings:`Settings`,help:`Help`,"registry-no-conf":`No configurations available`,greetings:`Hi `},np={packages:`Search Packages`,isPrivate:`Private`,isRemote:`Remote`,isCached:`Cached`},rp={loading:`Loading...`,"no-results-found":`No results found`,clear:`Clear`,expand:`Expand`,collapse:`Collapse`},ip={uplinks:`Uplinks`,versions:`Versions`,dependencies:`Dependencies`,readme:`Readme`},ap={title:`Uplinks`,"no-items":`{{name}} has no uplinks.`},op={"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`},sp={"has-no-dependencies":`{{package}} has no dependencies.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},cp={username:`Username`,password:`Password`},lp={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`},up={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`}},dp={"powered-by":`Powered by`,"made-with-love-on":`Made with <0>♥</0> on`},fp={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`},pp={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`},mp={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`},hp={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},gp={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)."},_p={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.`},vp={"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:ep,header:tp,search:np,autoComplete:rp,tab:ip,uplinks:ap,versions:op,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:sp,form:cp,"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:lp,sidebar:up,footer:dp,button:fp,error:pp,lng:mp,flag:hp,packageManagers:gp,language:_p},yp={"registry-info":{title:`信息`},settings:{title:`配置`},license:`许可`,totalContributors:`贡献者总数`},bp={documentation:`文档`,"registry-info":`Registry 信息`,"registry-info-link":`了解更多`,settings:`设置`,help:`帮助`,"registry-no-conf":`沒有可用的配置`,greetings:`您好 `},xp={packages:`搜索软件包`,isPrivate:`私有性`,isRemote:`远端`,isCached:`已缓存`},Sp={loading:`加载中...`,"no-results-found":`没有找到结果`,clear:`清除`,expand:`展开`,collapse:`折叠`},Cp={uplinks:`上游链接`,versions:`版本`,dependencies:`依赖`,readme:`Readme`},wp={title:`上游链接`,"no-items":`{{name}} 无上游链接。`},Tp={"current-tags":`当前标签`,"version-history":`版本历史`,"not-available":`不可用`,deprecated:`已弃用`,"search.placeholder":`按版本范围搜索,例如:^1.0.0。`,"hide-deprecated":`通过全局配置隐藏所有过时的版本`},Ep={"has-no-dependencies":`{{package}} 没有依赖包。`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},Dp={username:`用户名`,password:`密码`},Op={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. 刷新当前页面`},kp={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`}},Ap={"powered-by":`Powered by`,"made-with-love-on":`用<0>♥</0>制作,来自`},jp={close:`关闭`,cancel:`取消`,login:`登录`,logout:`注销`,"go-to-the-home-page":`跳转到主页`,"learn-more":`了解更多`,"fund-this-package":`<0>捐助</0>此软件包`},Mp={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 中是必需的`},Np={english:`英语`,czech:`捷克语`,japanese:`日语`,portuguese:`葡萄牙语`,spanish:`西班牙语`,irish:`爱尔兰语`,german:`德语`,italian:`意大利语`,french:`法语`,russian:`俄语`,turkish:`土耳其语`,ukraine:`乌克兰语`,khmer:`柬埔寨语`,chinese:`中文简体`,chineseTraditional:`中文繁体`},Pp={austria:`奥地利`,australia:`澳大利亚`,brazil:`巴西`,canada:`加拿大`,spain:`西班牙`,nicaragua:`尼加拉瓜`,india:`印度`,china:`中国`,germany:`德国`,taiwan:`台湾`},Fp={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)。"},Ip={title:`翻译`,contribute:`如果你的语言未在此列出,或者未完全翻译,请一起来协助翻译吧。你可以在[我们的主源码仓库](https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md)找到源码。`,description:`下方是所有可选择的语言,请选择一种语言来应用页面翻译。`},Lp={"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:yp,header:bp,search:xp,autoComplete:Sp,tab:Cp,uplinks:wp,versions:Tp,package:{"published-on":`发布于 {{time}}`,version:`v{{version}}`,"visit-home-page":`访问主页`,homepage:`主页`,"open-an-issue":`提交问题`,bugs:`缺陷`,download:`下载 {{what}}`,"the-tar-file":`tar 文件`,tarball:`压缩包`},dependencies:Ep,form:Dp,"form-placeholder":{username:`你的用户名`,password:`尽可能健壮的密码`},"form-validation":{"required-field":`必填项`,"required-min-length":`这个字段的最小长度是 {{length}}`,"unable-to-sign-in":`无法登录`,"username-or-password-cant-be-empty":`用户名或密码不能为空!`},help:Op,sidebar:kp,footer:Ap,button:jp,error:Mp,lng:Np,flag:Pp,packageManagers:Fp,language:Ip},Rp={"registry-info":{title:`Information`},settings:{title:`設定檔案`},license:`許可`,totalContributors:`Total contributors`},zp={documentation:`文件`,"registry-info":`註冊資訊`,"registry-info-link":`了解更多`,settings:`Settings`,help:`幫助`,"registry-no-conf":`沒有可用設定`,greetings:`你好 `},Bp={packages:`找尋套件`,isPrivate:`私有的`,isRemote:`遠端`,isCached:`已暫存。`},Vp={loading:`載入中...`,"no-results-found":`無結果`,clear:`清除`,expand:`展開`,collapse:`收縮`},Hp={uplinks:`上行連結`,versions:`版本`,dependencies:`相依`,readme:`Readme`},Up={title:`上行連結`,"no-items":`{{name}} 沒有上游連結。`},Wp={"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`},Gp={"has-no-dependencies":`{{package}} 沒有相依套件.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},Kp={username:`使用者名稱`,password:`密碼`},qp={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. 重新整理頁面。`},Jp={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`}},Yp={"powered-by":`Powered by`,"made-with-love-on":`用 <0>♥</0> 製作`},Xp={close:`關閉`,cancel:`取消`,login:`登入`,logout:`登出`,"go-to-the-home-page":`前往首頁`,"learn-more":`了解更多`,"fund-this-package":`<0>贊助</0> 這個套件`},Zp={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`},Qp={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`},$p={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},em={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)."},tm={title:`翻譯`,contribute:`如果你的語言並沒有被陳列在這裡,或沒有被完整的翻譯,請踴躍貢獻您的翻譯。您可以在 [我們的 Repository](https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md)找到原始碼。`,description:`這邊是語言設定檔案,結果將顯示在您的應用程式介面上。`},nm={"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:Rp,header:zp,search:Bp,autoComplete:Vp,tab:Hp,uplinks:Up,versions:Wp,package:{"published-on":`Published {{time}}`,version:`v{{version}}`,"visit-home-page":`瀏覽首頁`,homepage:`首頁`,"open-an-issue":`提交問題`,bugs:`漏洞`,download:`下载 {{what}}`,"the-tar-file":`tar 檔案`,tarball:`壓縮檔`},dependencies:Gp,form:Kp,"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:qp,sidebar:Jp,footer:Yp,button:Xp,error:Zp,lng:Qp,flag:$p,packageManagers:em,language:tm},rm={"registry-info":{title:`Information`},settings:{title:`Configuration`},license:`License`,totalContributors:`Total contributors`},im={documentation:`Documentation`,"registry-info":`Registry Information`,"registry-info-link":`Learn more`,settings:`Settings`,help:`Help`,"registry-no-conf":`No configurations available`,greetings:`Hi `},am={packages:`Search Packages`,isPrivate:`Private`,isRemote:`Remote`,isCached:`Cached`},om={loading:`Loading...`,"no-results-found":`No results found`,clear:`Clear`,expand:`Expand`,collapse:`Collapse`},sm={uplinks:`Uplinks`,versions:`Versions`,dependencies:`Dependencies`,readme:`Readme`},cm={title:`Uplinks`,"no-items":`{{name}} has no uplinks.`},lm={"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`},um={"has-no-dependencies":`{{package}} has no dependencies.`,"dependency-block":`{{package}}: {{version}}`,"dependency-block-bundle":`{{package}}`},dm={username:`Username`,password:`Password`},fm={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`},pm={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`}},mm={"powered-by":`Powered by`,"made-with-love-on":`Made with <0>♥</0> on`},hm={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`},gm={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`},_m={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`},vm={austria:`Austria`,australia:`Australia`,brazil:`Brazil`,canada:`Canada`,spain:`Spain`,nicaragua:`Nicaragua`,india:`India`,china:`China`,germany:`Germany`,taiwan:`Taiwan`},ym={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)."},bm={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.`},xm={"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:rm,header:im,search:am,autoComplete:om,tab:sm,uplinks:cm,versions:lm,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:um,form:dm,"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:fm,sidebar:pm,footer:mm,button:hm,error:gm,lng:_m,flag:vm,packageManagers:ym,language:bm},Sm=Object.assign({"./download_translations/cs-CZ/ui.json":xc,"./download_translations/de-DE/ui.json":Bc,"./download_translations/es-ES/ui.json":al,"./download_translations/fr-FR/ui.json":wl,"./download_translations/ga-IE/ui.json":Ul,"./download_translations/gl-ES/ui.json":cu,"./download_translations/it-IT/ui.json":Du,"./download_translations/ko-KR/ui.json":Ku,"./download_translations/pl-PL/ui.json":dd,"./download_translations/pt-BR/ui.json":Ad,"./download_translations/ru-RU/ui.json":Yd,"./download_translations/sr-CS/ui.json":hf,"./download_translations/tr-TR/ui.json":Pf,"./download_translations/vi-VN/ui.json":$f,"./download_translations/yo-NG/ui.json":vp,"./download_translations/zh-CN/ui.json":Lp,"./download_translations/zh-TW/ui.json":nm});function Cm(e){return e===`en-US`?xm:Sm[`./download_translations/${e}/ui.json`]??xm}var wm=`en-US`,Tm=[{lng:wm,icon:pt,menuKey:`lng.english`},{lng:`cs-CZ`,icon:Wt,menuKey:`lng.czech`},{lng:`pt-BR`,icon:Je,menuKey:`lng.portuguese`},{lng:`es-ES`,icon:Vt,menuKey:`lng.spanish`},{lng:`ga-IE`,icon:l,menuKey:`lng.irish`},{lng:`de-DE`,icon:Qe,menuKey:`lng.german`},{lng:`it-IT`,icon:zt,menuKey:`lng.italian`},{lng:`fr-FR`,icon:De,menuKey:`lng.french`},{lng:`ja-JP`,icon:Ae,menuKey:`lng.japanese`},{lng:`ru-RU`,icon:f,menuKey:`lng.russian`},{lng:`tr-TR`,icon:ye,menuKey:`lng.turkish`},{lng:`uk-UA`,icon:i,menuKey:`lng.ukraine`},{lng:`km-KH`,icon:h,menuKey:`lng.khmer`},{lng:`zh-CN`,icon:Lt,menuKey:`lng.chinese`},{lng:`zh-TW`,icon:ht,menuKey:`lng.chineseTraditional`}],Em=Tm.reduce((e,t)=>(e.push(t.lng),e),[]),Dm=Tm.reduce((e,t)=>(e[t.lng]={translation:t.lng===`en-US`?Cm(wm):Cm(t.lng)},e),{});st.use(lt).init({lng:window?.__VERDACCIO_BASENAME_UI_OPTIONS?.language||`en-US`,fallbackLng:wm,whitelist:[...Em],load:`currentOnly`,react:{useSuspense:!1},resources:Dm,debug:!1,interpolation:{escapeValue:!1}});var Om=st,$=e(Tt());function km(){let e=st.options.fallbackLng;if(Array.isArray(e))return e[0];if(typeof e==`string`)return e}async function Am(){let t=km();switch((st.language||t)?.toLowerCase()){case`pt-br`:await j(()=>import(`./vendors.DuKlkuTQ.js`).then(t=>e(t.o())),__vite__mapDeps([1,2,3])),$.default.locale(`pt-br`);break;case`de-de`:await j(()=>import(`./vendors.DuKlkuTQ.js`).then(t=>e(t.d())),__vite__mapDeps([1,2,3])),$.default.locale(`de`);break;case`es-es`:await j(()=>import(`./vendors.DuKlkuTQ.js`).then(t=>e(t.l())),__vite__mapDeps([1,2,3])),$.default.locale(`es`);break;case`fr-fr`:await j(()=>import(`./vendors.DuKlkuTQ.js`).then(t=>e(t.c())),__vite__mapDeps([1,2,3])),$.default.locale(`fr`);break;case`zh-cn`:await j(()=>import(`./vendors.DuKlkuTQ.js`).then(t=>e(t.n())),__vite__mapDeps([1,2,3])),$.default.locale(`zh-cn`);break;case`ja-jp`:await j(()=>import(`./vendors.DuKlkuTQ.js`).then(t=>e(t.s())),__vite__mapDeps([1,2,3])),$.default.locale(`ja`);break;case`ru-ru`:await j(()=>import(`./vendors.DuKlkuTQ.js`).then(t=>e(t.a())),__vite__mapDeps([1,2,3])),$.default.locale(`ru`);break;case`tr-tr`:await j(()=>import(`./vendors.DuKlkuTQ.js`).then(t=>e(t.i())),__vite__mapDeps([1,2,3])),$.default.locale(`tr`);break;case`uk-ua`:await j(()=>import(`./vendors.DuKlkuTQ.js`).then(t=>e(t.r())),__vite__mapDeps([1,2,3])),$.default.locale(`uk`);break;case`zh-tw`:await j(()=>import(`./vendors.DuKlkuTQ.js`).then(t=>e(t.t())),__vite__mapDeps([1,2,3])),$.default.locale(`zh-tw`);break;case`cs-cz`:await j(()=>import(`./vendors.DuKlkuTQ.js`).then(t=>e(t.f())),__vite__mapDeps([1,2,3])),$.default.locale(`cs`);break;default:await j(()=>import(`./vendors.DuKlkuTQ.js`).then(t=>e(t.u())),__vite__mapDeps([1,2,3])),$.default.locale(`en`);break}}var jm=E(A)(({theme:e})=>({backgroundColor:e.palette.background.default})),Mm=E(A)({[`@media screen and (min-width: ${ti.container}px)`]:{maxWidth:ti.container,width:`100%`,marginLeft:`auto`,marginRight:`auto`}}),Nm=E(`span`)(()=>({width:`25px`}));function Pm({onCloseDialog:e,title:t,isOpen:n}){let{t:r}=bt();return(0,G.jsx)(Ea,{dialogTitle:t,isOpen:n,onCloseDialog:e,tabPanels:[{element:(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(y,{children:tc}),(0,G.jsx)(Zs,{})]})},{element:(0,G.jsx)(y,{children:nc})},{element:(0,G.jsx)(ec,{})}],tabs:[{label:r(`about`)},{label:r(`dialog.license`)},{label:``,icon:(0,G.jsx)(Nm,{children:(0,G.jsx)(i,{})})}]})}var Fm=()=>{let{configOptions:e}=B(),t=Et(),n=[R.LOGIN,R.SUCCESS,R.ADD_USER,R.CHANGE_PASSWORD].includes(t.pathname);return(0,W.useEffect)(()=>{Am()},[]),(0,G.jsxs)(jm,{display:`flex`,flexDirection:`column`,height:`100%`,children:[(0,G.jsx)(pn,{children:(0,G.jsx)(ps,{HeaderInfoDialog:Pm,isPlainHeader:n})}),(0,G.jsx)(Mm,{flexGrow:1,children:(0,G.jsx)(ho,{})}),e.showFooter&&(0,G.jsx)(xs,{})]})},Im=window?.__VERDACCIO_BASENAME_UI_OPTIONS?.url_prefix,Lm=()=>(0,G.jsx)(W.StrictMode,{children:(0,G.jsx)(oo,{children:(0,G.jsx)(yn,{i18n:Om,listLanguages:Tm,onMount:()=>Am,children:(0,G.jsx)(W.Suspense,{fallback:(0,G.jsx)(Ma,{}),children:(0,G.jsx)(et,{basename:Im,children:(0,G.jsx)(Fm,{})})})})})}),Rm=document.getElementById(`root`);if(!Rm)throw Error(`Root container missing`);(0,An.createRoot)(Rm).render((0,G.jsx)(()=>(0,G.jsx)(oo,{children:(0,G.jsx)(sn,{children:(0,G.jsxs)(oi,{children:[(0,G.jsx)(Js,{}),(0,G.jsx)(Dn,{children:(0,G.jsx)(xn,{children:(0,G.jsx)(Lm,{})})})]})})}),{}));export{Hs as a,Us as i,Gs as n,Bs as o,Ws as r,Ks as t};
50
-
51
- //# sourceMappingURL=data:application/json;base64,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UyxFQUNiLEVBR04sRUFBZ0IsRUFBQyIsIm5hbWVzIjpbIldyYXBwZXIiLCJfc3R5bGVkIiwiQ29udGVudCIsIkZpbGVDb3B5IiwiQ2xvc2VJY29uIiwiUmVhY3RKc29uIiwiRmFiIiwiRmFiTVVJIiwiSG9tZUljb24iLCJCdWdSZXBvcnQiLCJEb3dubG9hZEljb24iLCJSYXdPbkljb24iLCJpMThuZXh0IiwiRnJhZ21lbnQiLCJTdHlsZWRUZXh0IiwiQXV0aG9yIiwiTGlzdCIsIlRpdGxlIiwiU3R5bGVkQm94IiwiQWRkIiwiTWF0ZXJpYWxVSVN2Z0ljb24iLCJWZXJzaW9uIiwiRmF2b3JpdGUiLCJTZXR0aW5ncyIsIk1hdGVyaWFsVUlNZW51SXRlbSIsIkNoZWNrIiwiTWFya2VkIiwiaGxqcyIsIkRPTVB1cmlmeSIsIkljb24iLCJTdHlsZWRIZWFkaW5nIiwiQ29udGFpbmVyIiwiRm9sZGVyT2ZmSWNvbiIsIkxvY2tJY29uIiwiU3R5bGVkSWNvbkJ1dHRvbiIsIkxvY2tPdXRsaW5lZCIsIkVycm9yIiwiU3R5bGVkVGV4dEZpZWxkIiwiUm91dGUiLCJ5dXAuc3RyaW5nIiwieXVwLm9iamVjdCIsInl1cC5yZWYiLCJ5dXBSZXNvbHZlciIsIkRlc2NyaXB0aW9uIiwiSHR0cHNJY29uIiwiU3luY0FsdCIsIkNhY2hlZCIsIlNlYXJjaE11aSIsImExMXlQcm9wcyIsIlRhYlBhbmVsIiwiTGluayIsIkF2YXRhciIsImZvcm1hdERhdGUiLCJmb3JtYXREYXRlRGlzdGFuY2UiLCJJY29uQnV0dG9uIiwiRnJhZ21lbnQkMSIsIkNlbGxNZWFzdXJlckNhY2hlIiwiQ2VsbE1lYXN1cmVyIiwiV2luZG93U2Nyb2xsZXIiLCJBdXRvU2l6ZXIiLCJDb21wb25lbnQiLCJMb2dpbiIsIlN1Y2Nlc3MiLCJBZGRVc2VyIiwiQ2hhbmdlUGFzc3dvcmQiLCJUYWJQb3NpdGlvbiIsIkFjY291bnRDaXJjbGUiLCJJbmZvIiwiTmlnaHRzU3RheSIsIldiU3VubnkiLCJUZXh0Q29udGVudCIsIkV4cGFuZE1vcmVJY29uIiwiUmVhY3RNYXJrZG93biIsIkZsYWdzIiwiRmxhZ3NJY29uLkVTIiwiRmxhZ3NJY29uLk5JIiwiRmxhZ3NJY29uLklOIiwiRmxhZ3NJY29uLkJSIiwiRmxhZ3NJY29uLkNOIiwiRmxhZ3NJY29uLkFVIiwiRmxhZ3NJY29uLkRFIiwiRmxhZ3NJY29uLlRXIiwiRmxhZ3NJY29uLkFUIiwiRmxhZ3NJY29uLkNBIiwiQ2hlY2tDaXJjbGVJY29uIiwiTGluayQxIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9Db3B5Q2xpcGJvYXJkL3V0aWxzLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9Db3B5Q2xpcGJvYXJkL0NvcHlUb0NsaXBCb2FyZC5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvUmF3Vmlld2VyL1Jhd1ZpZXdlci5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhckFjdGlvbi5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhci5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvUGVyc29uL1BlcnNvblRvb2x0aXAubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL1BlcnNvbi91dGlscy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvUGVyc29uL1BlcnNvbi5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvQXV0aG9yL3N0eWxlcy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvQXV0aG9yL0F1dGhvci5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvRGVwcmVjYXRlZC9EZXByZWNhdGVkLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9EZXZlbG9wZXJzL0RldmVsb3BlclR5cGUubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0RldmVsb3BlcnMvVGl0bGUubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0RldmVsb3BlcnMvZ2V0LXVuaXF1ZS1kZXZlbG9wZXItdmFsdWVzLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9EZXZlbG9wZXJzL0RldmVsb3BlcnMubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0Rpc3RyaWJ1dGlvbi9zdHlsZXMubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0Rpc3RyaWJ1dGlvbi9EaXN0Lm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9JY29ucy9TdmdJY29uLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9JY29ucy9WZXJzaW9uLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9JY29ucy9UaW1lLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9JY29ucy9GaWxlQmluYXJ5Lm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9JY29ucy9MYXcubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0ljb25zL0xpY2Vuc2UubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0ljb25zL0VhcnRoLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9JY29ucy9EZXZzSWNvbnMvdHlwZXNjcmlwdC5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvSWNvbnMvRGV2c0ljb25zL1R5cGVTY3JpcHQyLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9JY29ucy9EZXZzSWNvbnMvY29tbW9uanMubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0ljb25zL0RldnNJY29ucy9Db21tb25KUzIubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0ljb25zL0RldnNJY29ucy9lczZtb2R1bGUubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0ljb25zL0RldnNJY29ucy9FUzZNb2R1bGUyLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9JY29ucy9EZXZzSWNvbnMvbm9kZWpzLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9JY29ucy9EZXZzSWNvbnMvTm9kZUpTMi5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvSWNvbnMvRGV2c0ljb25zL2dpdC5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvSWNvbnMvRGV2c0ljb25zL0dpdDIubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0ljb25zL01hbmFnZXJzL25wbS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvSWNvbnMvTWFuYWdlcnMvTnBtMi5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvSWNvbnMvTWFuYWdlcnMvcG5wbS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvSWNvbnMvTWFuYWdlcnMvUG5wbTIubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0ljb25zL01hbmFnZXJzL3lhcm4ubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0ljb25zL01hbmFnZXJzL1lhcm4yLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9FbmdpbmVzL3N0eWxlcy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvRW5naW5lcy9FbmdpbmVzLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9GdW5kQnV0dG9uL0Z1bmRCdXR0b24ubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0hlYWRpbmcvSGVhZGluZy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvU2V0dGluZ3NNZW51L1NldHRpbmdzTWVudS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvSW5zdGFsbC9JbnN0YWxsTGlzdEl0ZW0ubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0luc3RhbGwvSW5zdGFsbC5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvS2V5d29yZHMvS2V5d29yZExpc3RJdGVtcy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvS2V5d29yZHMvS2V5d29yZHMubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL1JlYWRtZS91dGlscy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL1RoZW1lL21vZGVzLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvVGhlbWUvdG9rZW5zLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvVGhlbWUvdGhlbWUubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9UaGVtZS9UaGVtZVByb3ZpZGVyLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9SZWFkbWUvUmVhZG1lLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9TaWRlQmFyVGl0bGUvdXRpbHMubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL1NpZGVCYXJUaXRsZS9TaWRlQmFyVGl0bGUubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0xhYmVsL0xhYmVsLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9Mb2dvL2ltZy9sb2dvLWJsYWNrLWFuZC13aGl0ZS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvTG9nby9pbWcvbG9nby5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvTG9nby9Mb2dvLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9NZW51SXRlbS9NZW51SXRlbS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvTm90Rm91bmQvTm90Rm91bmQubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0ZvcmJpZGRlbi9Gb3JiaWRkZW4ubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0xvZ2luRm9ybS9zdHlsZXMubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0xvZ2luRGlhbG9nL0xvZ2luRGlhbG9nQ2xvc2VCdXR0b24ubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0xvZ2luRGlhbG9nL0xvZ2luRGlhbG9nRm9ybUVycm9yLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9Mb2dpbkZvcm0vUGFzc3dvcmRGaWVsZC5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvTG9naW5Gb3JtL1VzZXJuYW1lRmllbGQubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0xvZ2luRm9ybS9Mb2dpbi5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3V0aWxzL3NjaGVtYXMubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0xvZ2luRm9ybS91c2VMb2dpbkZvcm0ubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0xvZ2luRGlhbG9nL0xvZ2luRGlhbG9nRm9ybS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvTG9naW5EaWFsb2cvTG9naW5EaWFsb2cubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL1NlYXJjaC9BdXRvQ29tcGxldGUvc3R5bGVzLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9TZWFyY2gvQXV0b0NvbXBsZXRlL0F1dG9Db21wbGV0ZS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvU2VhcmNoL3V0aWxzLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9TZWFyY2gvU2VhcmNoSXRlbS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvU2VhcmNoL3N0eWxlcy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvU2VhcmNoL1NlYXJjaC5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvUmVnaXN0cnlJbmZvRGlhbG9nL3N0eWxlcy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvUmVnaXN0cnlJbmZvRGlhbG9nL1JlZ2lzdHJ5SW5mb0RpYWxvZy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvSGVhZGVySW5mb0RpYWxvZy9IZWFkZXJJbmZvRGlhbG9nLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvY29tcG9uZW50cy9Mb2FkaW5nL1NwaW5uZXIvU3Bpbm5lci5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvTG9hZGluZy9zdHlsZXMubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0xvYWRpbmcvTG9hZGluZy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvUGFja2FnZS9zdHlsZXMubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL1BhY2thZ2UvUGFja2FnZS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvSGVscC9zdHlsZXMubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0hlbHAvSGVscC5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvUGFja2FnZUxpc3QvUGFja2FnZUxpc3QubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL0Vycm9yQm91bmRhcnkvRXJyb3JCb3VuZGFyeS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2NvbXBvbmVudHMvQXBwUm91dGUvQXBwUm91dGUubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9jb21wb25lbnRzL1JlcG9zaXRvcnkvUmVwb3NpdG9yeS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL1NpZGVCYXIvU2lkZWJhci5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL0RldGFpbC9SZWFkbWVTZWN0aW9uLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvc2VjdGlvbnMvRGV0YWlsL0NvbnRhaW5lckNvbnRlbnQubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9zZWN0aW9ucy9EZXRhaWwvVGFicy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL0RldGFpbC9EZXRhaWwubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9zZWN0aW9ucy9IZWFkZXIvc3R5bGVzLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvc2VjdGlvbnMvSGVhZGVyL0hlYWRlckxlZnQubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9zZWN0aW9ucy9IZWFkZXIvSGVhZGVyR3JlZXRpbmdzLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvc2VjdGlvbnMvSGVhZGVyL0hlYWRlck1lbnUubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9zZWN0aW9ucy9IZWFkZXIvSGVhZGVyVG9vbFRpcEljb24ubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9zZWN0aW9ucy9IZWFkZXIvSGVhZGVyVG9vbFRpcC5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL0hlYWRlci9IZWFkZXJSaWdodC5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL0hlYWRlci9MYW5ndWFnZVN3aXRjaC5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL0hlYWRlci9SZWdpc3RyeUluZm9Db250ZW50L3N0eWxlcy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL0hlYWRlci9SZWdpc3RyeUluZm9Db250ZW50L1JlZ2lzdHJ5SW5mb0NvbnRlbnQubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9zZWN0aW9ucy9IZWFkZXIvSGVhZGVyU2V0dGluZ3NEaWFsb2cubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9zZWN0aW9ucy9IZWFkZXIvSGVhZGVyLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvc2VjdGlvbnMvSG9tZS9Ib21lLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvc2VjdGlvbnMvRm9vdGVyL3N0eWxlcy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL0Zvb3Rlci9Gb290ZXIubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9sYXlvdXRzL1NlY3VyaXR5L0RpYWxvZy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL1NlY3VyaXR5L3N0eWxlcy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL1NlY3VyaXR5L1N1Y2Nlc3MubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9zZWN0aW9ucy9TZWN1cml0eS91dGlscy5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL1NlY3VyaXR5L0xvZ2luLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvc2VjdGlvbnMvU2VjdXJpdHkvQWRkVXNlci5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3NlY3Rpb25zL1NlY3VyaXR5L0NoYW5nZVBhc3N3b3JkLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvcGFnZXMvRnJvbnQvSG9tZS5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL2xheW91dHMvVmVyc2lvbi9WZXJzaW9uLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvcGFnZXMvVmVyc2lvbi9WZXJzaW9uLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvcGFnZXMvU2VjdXJpdHkvTG9naW4ubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9wYWdlcy9TZWN1cml0eS9TdWNjZXNzLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvcGFnZXMvU2VjdXJpdHkvQWRkVXNlci5tanMiLCIuLi8uLi8uLi91aS1jb21wb25lbnRzL2J1aWxkL3BhZ2VzL1NlY3VyaXR5L0NoYW5nZVBhc3N3b3JkLm1qcyIsIi4uLy4uLy4uL3VpLWNvbXBvbmVudHMvYnVpbGQvVGhlbWUvUmVzZXRTdHlsZXMubWpzIiwiLi4vLi4vLi4vdWktY29tcG9uZW50cy9idWlsZC9UaGVtZS9TdHlsZUJhc2VsaW5lLm1qcyIsIi4uL3NyYy9jb21wb25lbnRzL0NvbnRyaWJ1dG9ycy9Db250cmlidXRvcnMudHN4IiwiLi4vc3JjL2NvbXBvbmVudHMvU3VwcG9ydC9TdXBwb3J0LnRzeCIsIi4uL3NyYy9jb21wb25lbnRzL2Fib3V0Lm1kIiwiLi4vc3JjL2NvbXBvbmVudHMvbGljZW5zZS5tZCIsIi4uL3NyYy9pMThuL2xvYWRUcmFuc2xhdGlvbkZpbGUudHMiLCIuLi9zcmMvaTE4bi9lbmFibGVkTGFuZ3VhZ2VzLnRzIiwiLi4vc3JjL2kxOG4vY29uZmlnLnRzIiwiLi4vc3JjL2kxOG4vbG9hZC1kYXlqcy1sb2NhbGUudHMiLCIuLi9zcmMvQXBwL0FwcC50c3giLCIuLi9zcmMvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9Db3B5Q2xpcGJvYXJkL3V0aWxzLnRzXG52YXIgY29weVRvQ2xpcEJvYXJkVXRpbGl0eSA9IChzdHIpID0+IChldmVudCkgPT4ge1xuXHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChzdHIpO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgY29weVRvQ2xpcEJvYXJkVXRpbGl0eSB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5tanMubWFwIiwiaW1wb3J0IHsgY29weVRvQ2xpcEJvYXJkVXRpbGl0eSB9IGZyb20gXCIuL3V0aWxzLm1qc1wiO1xuaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG5pbXBvcnQgeyBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBGaWxlQ29weSBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9GaWxlQ29weVwiO1xuaW1wb3J0IEljb25CdXR0b24gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvSWNvbkJ1dHRvblwiO1xuaW1wb3J0IFRvb2x0aXAgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvVG9vbHRpcFwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9Db3B5Q2xpcGJvYXJkL0NvcHlUb0NsaXBCb2FyZC50c3hcbmZ1bmN0aW9uIF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fKCkge1xuXHRyZXR1cm4gXCJZb3UgaGF2ZSB0cmllZCB0byBzdHJpbmdpZnkgb2JqZWN0IHJldHVybmVkIGZyb20gYGNzc2AgZnVuY3Rpb24uIEl0IGlzbid0IHN1cHBvc2VkIHRvIGJlIHVzZWQgZGlyZWN0bHkgKGUuZy4gYXMgdmFsdWUgb2YgdGhlIGBjbGFzc05hbWVgIHByb3ApLCBidXQgcmF0aGVyIGhhbmRlZCB0byBlbW90aW9uIHNvIGl0IGNhbiBoYW5kbGUgaXQgKGUuZy4gYXMgdmFsdWUgb2YgYGNzc2AgcHJvcCkuXCI7XG59XG52YXIgV3JhcHBlciA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwiZGl2XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVtNW5sZGsxXCIgfSA6IHtcblx0dGFyZ2V0OiBcImVtNW5sZGsxXCIsXG5cdGxhYmVsOiBcIldyYXBwZXJcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcImJjZmZ5MlwiLFxuXHRzdHlsZXM6IFwiZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlblwiXG59IDoge1xuXHRuYW1lOiBcImJjZmZ5MlwiLFxuXHRzdHlsZXM6IFwiZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlEYjNCNVEyeHBjR0p2WVhKa0wwTnZjSGxVYjBOc2FYQkNiMkZ5WkM1MGMzZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJaMEpuUWlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwyTnZiWEJ2Ym1WdWRITXZRMjl3ZVVOc2FYQmliMkZ5WkM5RGIzQjVWRzlEYkdsd1FtOWhjbVF1ZEhONElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElITjBlV3hsWkNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl6ZEhsc1pXUW5PMXh1YVcxd2IzSjBJRVpwYkdWRGIzQjVJR1p5YjIwZ0owQnRkV2t2YVdOdmJuTXRiV0YwWlhKcFlXd3ZSbWxzWlVOdmNIa25PMXh1YVcxd2IzSjBJRWxqYjI1Q2RYUjBiMjRnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5SlkyOXVRblYwZEc5dUp6dGNibWx0Y0c5eWRDQlViMjlzZEdsd0lHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZWRzl2YkhScGNDYzdYRzVwYlhCdmNuUWdVbVZoWTNRZ1puSnZiU0FuY21WaFkzUW5PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2VkdobGJXVW5PMXh1YVcxd2IzSjBJSHNnWTI5d2VWUnZRMnhwY0VKdllYSmtWWFJwYkdsMGVTQjlJR1p5YjIwZ0p5NHZkWFJwYkhNbk8xeHVYRzVwYm5SbGNtWmhZMlVnVUhKdmNITWdlMXh1SUNCMFpYaDBPaUJ6ZEhKcGJtYzdYRzRnSUhScGRHeGxQem9nYzNSeWFXNW5PMXh1SUNCa1lYUmhWR1Z6ZEVsa09pQnpkSEpwYm1jN1hHNGdJR05vYVd4a2NtVnVQem9nVW1WaFkzUXVVbVZoWTNST2IyUmxPMXh1ZlZ4dVhHNWpiMjV6ZENCWGNtRndjR1Z5SUQwZ2MzUjViR1ZrS0Nka2FYWW5LU2g3WEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc0Z0lHcDFjM1JwWm5sRGIyNTBaVzUwT2lBbmMzQmhZMlV0WW1WMGQyVmxiaWNzWEc1OUtUdGNibHh1WTI5dWMzUWdRMjl1ZEdWdWRDQTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JrYVhOd2JHRjVPaUFuYVc1c2FXNWxMV0pzYjJOckp5eGNiaUFnYjNabGNtWnNiM2M2SUNkb2FXUmtaVzRuTEZ4dUlDQjBaWGgwVDNabGNtWnNiM2M2SUNkbGJHeHBjSE5wY3ljc1hHNGdJR2hsYVdkb2REb2dKMkYxZEc4bkxGeHVJQ0IzYUdsMFpWTndZV05sT2lBblluSmxZV3N0YzNCaFkyVnpKeXhjYmlBZ1ptOXVkRk5wZW1VNklIUm9aVzFsTG1admJuUlRhWHBsTG5OdExGeHVmU2twTzF4dVhHNW1kVzVqZEdsdmJpQkRiM0I1Vkc5RGJHbHdRbTloY21Rb2V5QjBaWGgwTENCamFHbHNaSEpsYml3Z1pHRjBZVlJsYzNSSlpDd2dkR2wwYkdVc0lDNHVMbkJ5YjNCeklIMDZJRkJ5YjNCektTQjdYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRmR5WVhCd1pYSWdleTR1TG5CeWIzQnpmVDVjYmlBZ0lDQWdJRHhEYjI1MFpXNTBQbnRqYUdsc1pISmxiaUEvUHlCMFpYaDBmVHd2UTI5dWRHVnVkRDVjYmlBZ0lDQWdJSHQwYVhSc1pTQS9JQ2hjYmlBZ0lDQWdJQ0FnUEZSdmIyeDBhWEFnWkdsellXSnNaVVp2WTNWelRHbHpkR1Z1WlhJOWUzUnlkV1Y5SUhScGRHeGxQWHQwYVhSc1pYMCtYRzRnSUNBZ0lDQWdJQ0FnUEVsamIyNUNkWFIwYjI0Z1pHRjBZUzEwWlhOMGFXUTllMlJoZEdGVVpYTjBTV1I5SUc5dVEyeHBZMnM5ZTJOdmNIbFViME5zYVhCQ2IyRnlaRlYwYVd4cGRIa29kR1Y0ZENsOUlITnBlbVU5WENKemJXRnNiRndpUGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRVpwYkdWRGIzQjVJR1p2Ym5SVGFYcGxQVndpYzIxaGJHeGNJaUF2UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZTV052YmtKMWRIUnZiajVjYmlBZ0lDQWdJQ0FnUEM5VWIyOXNkR2x3UGx4dUlDQWdJQ0FnS1NBNklDaGNiaUFnSUNBZ0lDQWdQRWxqYjI1Q2RYUjBiMjRnWkdGMFlTMTBaWE4wYVdROWUyUmhkR0ZVWlhOMFNXUjlJRzl1UTJ4cFkyczllMk52Y0hsVWIwTnNhWEJDYjJGeVpGVjBhV3hwZEhrb2RHVjRkQ2w5SUhOcGVtVTlYQ0p6YldGc2JGd2lQbHh1SUNBZ0lDQWdJQ0FnSUR4R2FXeGxRMjl3ZVNCbWIyNTBVMmw2WlQxY0luTnRZV3hzWENJZ0x6NWNiaUFnSUNBZ0lDQWdQQzlKWTI5dVFuVjBkRzl1UGx4dUlDQWdJQ0FnS1gxY2JpQWdJQ0E4TDFkeVlYQndaWEkrWEc0Z0lDazdYRzU5WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUVOdmNIbFViME5zYVhCQ2IyRnlaRHRjYmlKZGZRPT0gKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBDb250ZW50ID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJzcGFuXCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVtNW5sZGswXCIgfSA6IHtcblx0dGFyZ2V0OiBcImVtNW5sZGswXCIsXG5cdGxhYmVsOiBcIkNvbnRlbnRcIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0ZGlzcGxheTogXCJpbmxpbmUtYmxvY2tcIixcblx0b3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG5cdHRleHRPdmVyZmxvdzogXCJlbGxpcHNpc1wiLFxuXHRoZWlnaHQ6IFwiYXV0b1wiLFxuXHR3aGl0ZVNwYWNlOiBcImJyZWFrLXNwYWNlc1wiLFxuXHRmb250U2l6ZTogdGhlbWUuZm9udFNpemUuc21cbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5RGIzQjVRMnhwY0dKdllYSmtMME52Y0hsVWIwTnNhWEJDYjJGeVpDNTBjM2dpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCYzBKblFpSXNJbVpwYkdVaU9pSXZhRzl0WlM5eWRXNXVaWEl2ZDI5eWF5OTJaWEprWVdOamFXOHZkbVZ5WkdGalkybHZMM0JoWTJ0aFoyVnpMM1ZwTFdOdmJYQnZibVZ1ZEhNdmMzSmpMMk52YlhCdmJtVnVkSE12UTI5d2VVTnNhWEJpYjJGeVpDOURiM0I1Vkc5RGJHbHdRbTloY21RdWRITjRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSE4wZVd4bFpDQm1jbTl0SUNkQVpXMXZkR2x2Ymk5emRIbHNaV1FuTzF4dWFXMXdiM0owSUVacGJHVkRiM0I1SUdaeWIyMGdKMEJ0ZFdrdmFXTnZibk10YldGMFpYSnBZV3d2Um1sc1pVTnZjSGtuTzF4dWFXMXdiM0owSUVsamIyNUNkWFIwYjI0Z1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUpZMjl1UW5WMGRHOXVKenRjYm1sdGNHOXlkQ0JVYjI5c2RHbHdJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2Vkc5dmJIUnBjQ2M3WEc1cGJYQnZjblFnVW1WaFkzUWdabkp2YlNBbmNtVmhZM1FuTzF4dVhHNXBiWEJ2Y25RZ2RIbHdaU0I3SUZSb1pXMWxJSDBnWm5KdmJTQW5MaTR2TGk0dlZHaGxiV1VuTzF4dWFXMXdiM0owSUhzZ1kyOXdlVlJ2UTJ4cGNFSnZZWEprVlhScGJHbDBlU0I5SUdaeWIyMGdKeTR2ZFhScGJITW5PMXh1WEc1cGJuUmxjbVpoWTJVZ1VISnZjSE1nZTF4dUlDQjBaWGgwT2lCemRISnBibWM3WEc0Z0lIUnBkR3hsUHpvZ2MzUnlhVzVuTzF4dUlDQmtZWFJoVkdWemRFbGtPaUJ6ZEhKcGJtYzdYRzRnSUdOb2FXeGtjbVZ1UHpvZ1VtVmhZM1F1VW1WaFkzUk9iMlJsTzF4dWZWeHVYRzVqYjI1emRDQlhjbUZ3Y0dWeUlEMGdjM1I1YkdWa0tDZGthWFluS1NoN1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnWVd4cFoyNUpkR1Z0Y3pvZ0oyTmxiblJsY2ljc1hHNGdJR3AxYzNScFpubERiMjUwWlc1ME9pQW5jM0JoWTJVdFltVjBkMlZsYmljc1hHNTlLVHRjYmx4dVkyOXVjM1FnUTI5dWRHVnVkQ0E5SUhOMGVXeGxaQ2duYzNCaGJpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCa2FYTndiR0Y1T2lBbmFXNXNhVzVsTFdKc2IyTnJKeXhjYmlBZ2IzWmxjbVpzYjNjNklDZG9hV1JrWlc0bkxGeHVJQ0IwWlhoMFQzWmxjbVpzYjNjNklDZGxiR3hwY0hOcGN5Y3NYRzRnSUdobGFXZG9kRG9nSjJGMWRHOG5MRnh1SUNCM2FHbDBaVk53WVdObE9pQW5ZbkpsWVdzdGMzQmhZMlZ6Snl4Y2JpQWdabTl1ZEZOcGVtVTZJSFJvWlcxbExtWnZiblJUYVhwbExuTnRMRnh1ZlNrcE8xeHVYRzVtZFc1amRHbHZiaUJEYjNCNVZHOURiR2x3UW05aGNtUW9leUIwWlhoMExDQmphR2xzWkhKbGJpd2daR0YwWVZSbGMzUkpaQ3dnZEdsMGJHVXNJQzR1TG5CeWIzQnpJSDA2SUZCeWIzQnpLU0I3WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEZkeVlYQndaWElnZXk0dUxuQnliM0J6ZlQ1Y2JpQWdJQ0FnSUR4RGIyNTBaVzUwUG50amFHbHNaSEpsYmlBL1B5QjBaWGgwZlR3dlEyOXVkR1Z1ZEQ1Y2JpQWdJQ0FnSUh0MGFYUnNaU0EvSUNoY2JpQWdJQ0FnSUNBZ1BGUnZiMngwYVhBZ1pHbHpZV0pzWlVadlkzVnpUR2x6ZEdWdVpYSTllM1J5ZFdWOUlIUnBkR3hsUFh0MGFYUnNaWDArWEc0Z0lDQWdJQ0FnSUNBZ1BFbGpiMjVDZFhSMGIyNGdaR0YwWVMxMFpYTjBhV1E5ZTJSaGRHRlVaWE4wU1dSOUlHOXVRMnhwWTJzOWUyTnZjSGxVYjBOc2FYQkNiMkZ5WkZWMGFXeHBkSGtvZEdWNGRDbDlJSE5wZW1VOVhDSnpiV0ZzYkZ3aVBseHVJQ0FnSUNBZ0lDQWdJQ0FnUEVacGJHVkRiM0I1SUdadmJuUlRhWHBsUFZ3aWMyMWhiR3hjSWlBdlBseHVJQ0FnSUNBZ0lDQWdJRHd2U1dOdmJrSjFkSFJ2Ymo1Y2JpQWdJQ0FnSUNBZ1BDOVViMjlzZEdsd1BseHVJQ0FnSUNBZ0tTQTZJQ2hjYmlBZ0lDQWdJQ0FnUEVsamIyNUNkWFIwYjI0Z1pHRjBZUzEwWlhOMGFXUTllMlJoZEdGVVpYTjBTV1I5SUc5dVEyeHBZMnM5ZTJOdmNIbFViME5zYVhCQ2IyRnlaRlYwYVd4cGRIa29kR1Y0ZENsOUlITnBlbVU5WENKemJXRnNiRndpUGx4dUlDQWdJQ0FnSUNBZ0lEeEdhV3hsUTI5d2VTQm1iMjUwVTJsNlpUMWNJbk50WVd4c1hDSWdMejVjYmlBZ0lDQWdJQ0FnUEM5SlkyOXVRblYwZEc5dVBseHVJQ0FnSUNBZ0tYMWNiaUFnSUNBOEwxZHlZWEJ3WlhJK1hHNGdJQ2s3WEc1OVhHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElFTnZjSGxVYjBOc2FYQkNiMkZ5WkR0Y2JpSmRmUT09ICovXCIpO1xuZnVuY3Rpb24gQ29weVRvQ2xpcEJvYXJkKHsgdGV4dCwgY2hpbGRyZW4sIGRhdGFUZXN0SWQsIHRpdGxlLCAuLi5wcm9wcyB9KSB7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhXcmFwcGVyLCB7XG5cdFx0Li4ucHJvcHMsXG5cdFx0Y2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KENvbnRlbnQsIHsgY2hpbGRyZW46IGNoaWxkcmVuID8/IHRleHQgfSksIHRpdGxlID8gLyogQF9fUFVSRV9fICovIGpzeChUb29sdGlwLCB7XG5cdFx0XHRkaXNhYmxlRm9jdXNMaXN0ZW5lcjogdHJ1ZSxcblx0XHRcdHRpdGxlLFxuXHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goSWNvbkJ1dHRvbiwge1xuXHRcdFx0XHRcImRhdGEtdGVzdGlkXCI6IGRhdGFUZXN0SWQsXG5cdFx0XHRcdG9uQ2xpY2s6IGNvcHlUb0NsaXBCb2FyZFV0aWxpdHkodGV4dCksXG5cdFx0XHRcdHNpemU6IFwic21hbGxcIixcblx0XHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goRmlsZUNvcHksIHsgZm9udFNpemU6IFwic21hbGxcIiB9KVxuXHRcdFx0fSlcblx0XHR9KSA6IC8qIEBfX1BVUkVfXyAqLyBqc3goSWNvbkJ1dHRvbiwge1xuXHRcdFx0XCJkYXRhLXRlc3RpZFwiOiBkYXRhVGVzdElkLFxuXHRcdFx0b25DbGljazogY29weVRvQ2xpcEJvYXJkVXRpbGl0eSh0ZXh0KSxcblx0XHRcdHNpemU6IFwic21hbGxcIixcblx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEZpbGVDb3B5LCB7IGZvbnRTaXplOiBcInNtYWxsXCIgfSlcblx0XHR9KV1cblx0fSk7XG59XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IENvcHlUb0NsaXBCb2FyZCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNvcHlUb0NsaXBCb2FyZC5tanMubWFwIiwiaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgSWNvbkJ1dHRvbiBmcm9tIFwiQG11aS9tYXRlcmlhbC9JY29uQnV0dG9uXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0SnNvbiBmcm9tIFwiQG1pY3JvbGluay9yZWFjdC1qc29uLXZpZXdcIjtcbmltcG9ydCBDbG9zZUljb24gZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvQ2xvc2VcIjtcbmltcG9ydCBEaWFsb2cgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvRGlhbG9nXCI7XG5pbXBvcnQgRGlhbG9nQ29udGVudCBmcm9tIFwiQG11aS9tYXRlcmlhbC9EaWFsb2dDb250ZW50XCI7XG5pbXBvcnQgRGlhbG9nVGl0bGUgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvRGlhbG9nVGl0bGVcIjtcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvc3R5bGVzXCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvUmF3Vmlld2VyL1Jhd1ZpZXdlci50c3hcbnZhciBWaWV3ZXJUaXRsZSA9IChwcm9wcykgPT4ge1xuXHRjb25zdCB7IGNoaWxkcmVuLCBvbkNsb3NlIH0gPSBwcm9wcztcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKERpYWxvZ1RpdGxlLCB7XG5cdFx0c3g6IHtcblx0XHRcdG06IDAsXG5cdFx0XHRwOiAyXG5cdFx0fSxcblx0XHRjaGlsZHJlbjogW2NoaWxkcmVuLCBvbkNsb3NlID8gLyogQF9fUFVSRV9fICovIGpzeChJY29uQnV0dG9uLCB7XG5cdFx0XHRcImFyaWEtbGFiZWxcIjogXCJjbG9zZVwiLFxuXHRcdFx0XCJkYXRhLXRlc3RpZFwiOiBcImNsb3NlLXJhdy12aWV3ZXJcIixcblx0XHRcdG9uQ2xpY2s6IG9uQ2xvc2UsXG5cdFx0XHRzeDoge1xuXHRcdFx0XHRwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuXHRcdFx0XHRyaWdodDogOCxcblx0XHRcdFx0dG9wOiA4LFxuXHRcdFx0XHRjb2xvcjogKHRoZW1lKSA9PiB0aGVtZS5wYWxldHRlLmdyZXlbNTAwXVxuXHRcdFx0fSxcblx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KENsb3NlSWNvbiwge30pXG5cdFx0fSkgOiBudWxsXVxuXHR9KTtcbn07XG52YXIgUmF3Vmlld2VyID0gKHsgaXNPcGVuID0gZmFsc2UsIG9uQ2xvc2UsIHBhY2thZ2VNZXRhIH0pID0+IHtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRjb25zdCB0aGVtZSA9IHVzZVRoZW1lKCk7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhEaWFsb2csIHtcblx0XHRcImRhdGEtdGVzdGlkXCI6IFwicmF3Vmlld2VyLS1kaWFsb2dcIixcblx0XHRmdWxsU2NyZWVuOiB0cnVlLFxuXHRcdG9wZW46IGlzT3Blbixcblx0XHRjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goVmlld2VyVGl0bGUsIHtcblx0XHRcdGlkOiBcInZpZXdlci10aXRsZVwiLFxuXHRcdFx0b25DbG9zZSxcblx0XHRcdGNoaWxkcmVuOiB0KFwiYWN0aW9uLWJhci1hY3Rpb24ucmF3LXRpdGxlXCIsIHsgcGFja2FnZTogcGFja2FnZU1ldGEubGF0ZXN0Lm5hbWUgfSlcblx0XHR9KSwgLyogQF9fUFVSRV9fICovIGpzeChEaWFsb2dDb250ZW50LCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFJlYWN0SnNvbiwge1xuXHRcdFx0Y29sbGFwc2VTdHJpbmdzQWZ0ZXJMZW5ndGg6IDIwMCxcblx0XHRcdGNvbGxhcHNlZDogMixcblx0XHRcdGVuYWJsZUNsaXBib2FyZDogdHJ1ZSxcblx0XHRcdGdyb3VwQXJyYXlzQWZ0ZXJMZW5ndGg6IDEwLFxuXHRcdFx0c3JjOiBwYWNrYWdlTWV0YSxcblx0XHRcdHRoZW1lOiB0aGVtZS5wYWxldHRlLm1vZGUgPT0gXCJsaWdodFwiID8gXCJicmlnaHQ6aW52ZXJ0ZWRcIiA6IFwiYnJpZ2h0XCJcblx0XHR9KSB9KV1cblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBSYXdWaWV3ZXIgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1SYXdWaWV3ZXIubWpzLm1hcCIsImltcG9ydCB7IGdyZXlNZWRpdW0gfSBmcm9tIFwiLi4vLi4vVGhlbWUvY29sb3JzLm1qc1wiO1xuaW1wb3J0IHsgdXNlVmVyc2lvbiB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvVmVyc2lvblByb3ZpZGVyL1ZlcnNpb25Qcm92aWRlci5tanNcIjtcbmltcG9ydCB7IHVzZURvd25sb2FkIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9Eb3dubG9hZFByb3ZpZGVyL0Rvd25sb2FkUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9wcm92aWRlcnMvaW5kZXgubWpzXCI7XG5pbXBvcnQgTGlua0V4dGVybmFsIGZyb20gXCIuLi9MaW5rRXh0ZXJuYWwvTGlua0V4dGVybmFsLm1qc1wiO1xuaW1wb3J0IFwiLi4vTGlua0V4dGVybmFsL2luZGV4Lm1qc1wiO1xuaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBUb29sdGlwIGZyb20gXCJAbXVpL21hdGVyaWFsL1Rvb2x0aXBcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgQnVnUmVwb3J0IGZyb20gXCJAbXVpL2ljb25zLW1hdGVyaWFsL0J1Z1JlcG9ydFwiO1xuaW1wb3J0IERvd25sb2FkSWNvbiBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9DbG91ZERvd25sb2FkXCI7XG5pbXBvcnQgSG9tZUljb24gZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvSG9tZVwiO1xuaW1wb3J0IFJhd09uSWNvbiBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9SYXdPblwiO1xuaW1wb3J0IENpcmN1bGFyUHJvZ3Jlc3MgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQ2lyY3VsYXJQcm9ncmVzc1wiO1xuaW1wb3J0IEZhYk1VSSBmcm9tIFwiQG11aS9tYXRlcmlhbC9GYWJcIjtcbmltcG9ydCB7IGNvbW1vbiB9IGZyb20gXCJAbXVpL21hdGVyaWFsL2NvbG9yc1wiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0FjdGlvbkJhci9BY3Rpb25CYXJBY3Rpb24udHN4XG52YXIgRmFiID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoRmFiTVVJLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMXl4eWtkcTBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTF5eHlrZHEwXCIsXG5cdGxhYmVsOiBcIkZhYlwiXG59KSgoeyB0aGVtZSB9KSA9PiAoe1xuXHRiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUubW9kZSA9PT0gXCJkYXJrXCIgPyB0aGVtZS5wYWxldHRlLnNlY29uZGFyeS5tYWluIDogdGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW4sXG5cdFwiJjpob3ZlclwiOiB7XG5cdFx0YmFja2dyb3VuZENvbG9yOiB0aGVtZS5wYWxldHRlLm1vZGUgPT09IFwiZGFya1wiID8gZ3JleU1lZGl1bSA6IHZvaWQgMCxcblx0XHRjb2xvcjogdGhlbWUucGFsZXR0ZS5tb2RlID09PSBcImxpZ2h0XCIgPyB0aGVtZS5wYWxldHRlLnByaW1hcnkubWFpbiA6IGNvbW1vbi53aGl0ZVxuXHR9LFxuXHRjb2xvcjogY29tbW9uLndoaXRlXG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OUJZM1JwYjI1Q1lYSXZRV04wYVc5dVFtRnlRV04wYVc5dUxuUnplQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZwUW0xQ0lpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlCWTNScGIyNUNZWEl2UVdOMGFXOXVRbUZ5UVdOMGFXOXVMblJ6ZUNJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQkNkV2RTWlhCdmNuUkpZMjl1SUdaeWIyMGdKMEJ0ZFdrdmFXTnZibk10YldGMFpYSnBZV3d2UW5WblVtVndiM0owSnp0Y2JtbHRjRzl5ZENCRWIzZHViRzloWkVsamIyNGdabkp2YlNBblFHMTFhUzlwWTI5dWN5MXRZWFJsY21saGJDOURiRzkxWkVSdmQyNXNiMkZrSnp0Y2JtbHRjRzl5ZENCSWIyMWxTV052YmlCbWNtOXRJQ2RBYlhWcEwybGpiMjV6TFcxaGRHVnlhV0ZzTDBodmJXVW5PMXh1YVcxd2IzSjBJRkpoZDA5dVNXTnZiaUJtY205dElDZEFiWFZwTDJsamIyNXpMVzFoZEdWeWFXRnNMMUpoZDA5dUp6dGNibWx0Y0c5eWRDQkRhWEpqZFd4aGNsQnliMmR5WlhOeklHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZRMmx5WTNWc1lYSlFjbTluY21WemN5YzdYRzVwYlhCdmNuUWdSbUZpVFZWSklHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZSbUZpSnp0Y2JtbHRjRzl5ZENCVWIyOXNkR2x3SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlZHOXZiSFJwY0NjN1hHNXBiWEJ2Y25RZ2V5QmpiMjF0YjI0Z2ZTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMk52Ykc5eWN5YzdYRzVwYlhCdmNuUWdVbVZoWTNRc0lIc2dkWE5sUTJGc2JHSmhZMnNnZlNCbWNtOXRJQ2R5WldGamRDYzdYRzVwYlhCdmNuUWdleUIxYzJWVWNtRnVjMnhoZEdsdmJpQjlJR1p5YjIwZ0ozSmxZV04wTFdreE9HNWxlSFFuTzF4dVhHNXBiWEJ2Y25RZ2RIbHdaU0I3SUZSb1pXMWxJSDBnWm5KdmJTQW5MaTR2TGk0dlZHaGxiV1VuTzF4dWFXMXdiM0owSUhzZ1ozSmxlVTFsWkdsMWJTQjlJR1p5YjIwZ0p5NHVMeTR1TDFSb1pXMWxMMk52Ykc5eWN5YzdYRzVwYlhCdmNuUWdleUIxYzJWRWIzZHViRzloWkN3Z2RYTmxWbVZ5YzJsdmJpQjlJR1p5YjIwZ0p5NHVMeTR1TDNCeWIzWnBaR1Z5Y3ljN1hHNXBiWEJ2Y25RZ1RHbHVhMFY0ZEdWeWJtRnNJR1p5YjIwZ0p5NHVMMHhwYm10RmVIUmxjbTVoYkNjN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCR1lXSWdQU0J6ZEhsc1pXUW9SbUZpVFZWSktUeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LSHNnZEdobGJXVWdmU2tnUFQ0Z0tIdGNiaUFnWW1GamEyZHliM1Z1WkVOdmJHOXlPbHh1SUNBZ0lIUm9aVzFsTG5CaGJHVjBkR1V1Ylc5a1pTQTlQVDBnSjJSaGNtc25JRDhnZEdobGJXVXVjR0ZzWlhSMFpTNXpaV052Ym1SaGNua3ViV0ZwYmlBNklIUm9aVzFsTG5CaGJHVjBkR1V1Y0hKcGJXRnllUzV0WVdsdUxGeHVJQ0FuSmpwb2IzWmxjaWM2SUh0Y2JpQWdJQ0JpWVdOclozSnZkVzVrUTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdWJXOWtaU0E5UFQwZ0oyUmhjbXNuSUQ4Z1ozSmxlVTFsWkdsMWJTQTZJSFZ1WkdWbWFXNWxaQ3hjYmlBZ0lDQmpiMnh2Y2pvZ2RHaGxiV1V1Y0dGc1pYUjBaUzV0YjJSbElEMDlQU0FuYkdsbmFIUW5JRDhnZEdobGJXVXVjR0ZzWlhSMFpTNXdjbWx0WVhKNUxtMWhhVzRnT2lCamIyMXRiMjR1ZDJocGRHVXNYRzRnSUgwc1hHNGdJR052Ykc5eU9pQmpiMjF0YjI0dWQyaHBkR1VzWEc1OUtTazdYRzVjYm5SNWNHVWdRV04wYVc5dVZIbHdaU0E5SUNkV1NWTkpWRjlJVDAxRlVFRkhSU2NnZkNBblQxQkZUbDlCVGw5SlUxTlZSU2NnZkNBblJFOVhUa3hQUVVSZlZFRlNRa0ZNVENjZ2ZDQW5Va0ZYWDBSQlZFRW5PMXh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVGamRHbHZia0poY2tGamRHbHZibEJ5YjNCeklIdGNiaUFnZEhsd1pUb2dRV04wYVc5dVZIbHdaVHRjYmlBZ2JHbHVhejg2SUhOMGNtbHVaenRjYmlBZ1lXTjBhVzl1UHpvZ0tDa2dQVDRnZG05cFpEdGNibjFjYmx4dVkyOXVjM1FnUVdOMGFXOXVRbUZ5UVdOMGFXOXVPaUJTWldGamRDNUdRenhCWTNScGIyNUNZWEpCWTNScGIyNVFjbTl3Y3o0Z1BTQW9leUIwZVhCbExDQnNhVzVyTENCaFkzUnBiMjRnZlNrZ1BUNGdlMXh1SUNCamIyNXpkQ0I3SUhRZ2ZTQTlJSFZ6WlZSeVlXNXpiR0YwYVc5dUtDazdYRzRnSUdOdmJuTjBJSHNnYVhOTWIyRmthVzVuSUgwZ1BTQjFjMlZXWlhKemFXOXVLQ2s3WEc0Z0lHTnZibk4wSUhzZ1pHOTNibXh2WVdSVVlYSmlZV3hzSUgwZ1BTQjFjMlZFYjNkdWJHOWhaQ2dwTzF4dVhHNGdJR052Ym5OMElHaGhibVJzWlVSdmQyNXNiMkZrSUQwZ2RYTmxRMkZzYkdKaFkyc29ZWE41Ym1NZ0tDa2dQVDRnZTF4dUlDQWdJR1J2ZDI1c2IyRmtWR0Z5WW1Gc2JEOHVLSHNnYkdsdWF6b2diR2x1YXlCaGN5QnpkSEpwYm1jZ2ZTazdYRzRnSUgwc0lGdHNhVzVyTENCa2IzZHViRzloWkZSaGNtSmhiR3hkS1R0Y2JseHVJQ0J6ZDJsMFkyZ2dLSFI1Y0dVcElIdGNiaUFnSUNCallYTmxJQ2RXU1ZOSlZGOUlUMDFGVUVGSFJTYzZYRzRnSUNBZ0lDQnlaWFIxY200Z0tGeHVJQ0FnSUNBZ0lDQThWRzl2YkhScGNDQjBhWFJzWlQxN2RDZ25ZV04wYVc5dUxXSmhjaTFoWTNScGIyNHVkbWx6YVhRdGFHOXRaUzF3WVdkbEp5a2dZWE1nYzNSeWFXNW5mVDVjYmlBZ0lDQWdJQ0FnSUNBOFRHbHVhMFY0ZEdWeWJtRnNJSFJ2UFh0c2FXNXJmU0IyWVhKcFlXNTBQVndpWW5WMGRHOXVYQ0krWEc0Z0lDQWdJQ0FnSUNBZ0lDQThSbUZpSUdOdmJHOXlQVndpY0hKcGJXRnllVndpSUhOcGVtVTlYQ0p6YldGc2JGd2lQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThTRzl0WlVsamIyNGdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lEd3ZSbUZpUGx4dUlDQWdJQ0FnSUNBZ0lEd3ZUR2x1YTBWNGRHVnlibUZzUGx4dUlDQWdJQ0FnSUNBOEwxUnZiMngwYVhBK1hHNGdJQ0FnSUNBcE8xeHVJQ0FnSUdOaGMyVWdKMDlRUlU1ZlFVNWZTVk5UVlVVbk9seHVJQ0FnSUNBZ2NtVjBkWEp1SUNoY2JpQWdJQ0FnSUNBZ1BGUnZiMngwYVhBZ2RHbDBiR1U5ZTNRb0oyRmpkR2x2YmkxaVlYSXRZV04wYVc5dUxtOXdaVzR0WVc0dGFYTnpkV1VuS1NCaGN5QnpkSEpwYm1kOVBseHVJQ0FnSUNBZ0lDQWdJRHhNYVc1clJYaDBaWEp1WVd3Z2RHODllMnhwYm10OUlIWmhjbWxoYm5ROVhDSmlkWFIwYjI1Y0lqNWNiaUFnSUNBZ0lDQWdJQ0FnSUR4R1lXSWdjMmw2WlQxY0luTnRZV3hzWENJK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR4Q2RXZFNaWEJ2Y25SSlkyOXVJQzgrWEc0Z0lDQWdJQ0FnSUNBZ0lDQThMMFpoWWo1Y2JpQWdJQ0FnSUNBZ0lDQThMMHhwYm10RmVIUmxjbTVoYkQ1Y2JpQWdJQ0FnSUNBZ1BDOVViMjlzZEdsd1BseHVJQ0FnSUNBZ0tUdGNiaUFnSUNCallYTmxJQ2RFVDFkT1RFOUJSRjlVUVZKQ1FVeE1KenBjYmlBZ0lDQWdJSEpsZEhWeWJpQW9YRzRnSUNBZ0lDQWdJRHhVYjI5c2RHbHdJSFJwZEd4bFBYdDBLQ2RoWTNScGIyNHRZbUZ5TFdGamRHbHZiaTVrYjNkdWJHOWhaQzEwWVhKaVlXeHNKeWtnWVhNZ2MzUnlhVzVuZlQ1Y2JpQWdJQ0FnSUNBZ0lDQjdhWE5NYjJGa2FXNW5JRDhnS0Z4dUlDQWdJQ0FnSUNBZ0lDQWdQRU5wY21OMWJHRnlVSEp2WjNKbGMzTWdjM2c5ZTNzZ2JXRnlaMmx1V0RvZ01DQjlmU0F2UGx4dUlDQWdJQ0FnSUNBZ0lDa2dPaUFvWEc0Z0lDQWdJQ0FnSUNBZ0lDQThSbUZpSUdSaGRHRXRkR1Z6ZEdsa1BWd2laRzkzYm14dllXUXRkR0Z5WW1Gc2JDMWlkRzVjSWlCdmJrTnNhV05yUFh0b1lXNWtiR1ZFYjNkdWJHOWhaSDBnYzJsNlpUMWNJbk50WVd4c1hDSStYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEViM2R1Ykc5aFpFbGpiMjRnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHd2Um1GaVBseHVJQ0FnSUNBZ0lDQWdJQ2w5WEc0Z0lDQWdJQ0FnSUR3dlZHOXZiSFJwY0Q1Y2JpQWdJQ0FnSUNrN1hHNGdJQ0FnWTJGelpTQW5Va0ZYWDBSQlZFRW5PbHh1SUNBZ0lDQWdjbVYwZFhKdUlDaGNiaUFnSUNBZ0lDQWdQRlJ2YjJ4MGFYQWdkR2wwYkdVOWUzUW9KMkZqZEdsdmJpMWlZWEl0WVdOMGFXOXVMbkpoZHljcElHRnpJSE4wY21sdVozMCtYRzRnSUNBZ0lDQWdJQ0FnUEVaaFlpQmtZWFJoTFhSbGMzUnBaRDFjSW5KaGR5MWlkRzVjSWlCdmJrTnNhV05yUFh0aFkzUnBiMjU5SUhOcGVtVTlYQ0p6YldGc2JGd2lQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BGSmhkMDl1U1dOdmJpQXZQbHh1SUNBZ0lDQWdJQ0FnSUR3dlJtRmlQbHh1SUNBZ0lDQWdJQ0E4TDFSdmIyeDBhWEErWEc0Z0lDQWdJQ0FwTzF4dUlDQjlYRzU5TzF4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCQlkzUnBiMjVDWVhKQlkzUnBiMjQ3WEc0aVhYMD0gKi9cIik7XG52YXIgQWN0aW9uQmFyQWN0aW9uID0gKHsgdHlwZSwgbGluaywgYWN0aW9uIH0pID0+IHtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRjb25zdCB7IGlzTG9hZGluZyB9ID0gdXNlVmVyc2lvbigpO1xuXHRjb25zdCB7IGRvd25sb2FkVGFyYmFsbCB9ID0gdXNlRG93bmxvYWQoKTtcblx0Y29uc3QgaGFuZGxlRG93bmxvYWQgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG5cdFx0ZG93bmxvYWRUYXJiYWxsPy4oeyBsaW5rIH0pO1xuXHR9LCBbbGluaywgZG93bmxvYWRUYXJiYWxsXSk7XG5cdHN3aXRjaCAodHlwZSkge1xuXHRcdGNhc2UgXCJWSVNJVF9IT01FUEFHRVwiOiByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChUb29sdGlwLCB7XG5cdFx0XHR0aXRsZTogdChcImFjdGlvbi1iYXItYWN0aW9uLnZpc2l0LWhvbWUtcGFnZVwiKSxcblx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KExpbmtFeHRlcm5hbCwge1xuXHRcdFx0XHR0bzogbGluayxcblx0XHRcdFx0dmFyaWFudDogXCJidXR0b25cIixcblx0XHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goRmFiLCB7XG5cdFx0XHRcdFx0Y29sb3I6IFwicHJpbWFyeVwiLFxuXHRcdFx0XHRcdHNpemU6IFwic21hbGxcIixcblx0XHRcdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChIb21lSWNvbiwge30pXG5cdFx0XHRcdH0pXG5cdFx0XHR9KVxuXHRcdH0pO1xuXHRcdGNhc2UgXCJPUEVOX0FOX0lTU1VFXCI6IHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFRvb2x0aXAsIHtcblx0XHRcdHRpdGxlOiB0KFwiYWN0aW9uLWJhci1hY3Rpb24ub3Blbi1hbi1pc3N1ZVwiKSxcblx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KExpbmtFeHRlcm5hbCwge1xuXHRcdFx0XHR0bzogbGluayxcblx0XHRcdFx0dmFyaWFudDogXCJidXR0b25cIixcblx0XHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goRmFiLCB7XG5cdFx0XHRcdFx0c2l6ZTogXCJzbWFsbFwiLFxuXHRcdFx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEJ1Z1JlcG9ydCwge30pXG5cdFx0XHRcdH0pXG5cdFx0XHR9KVxuXHRcdH0pO1xuXHRcdGNhc2UgXCJET1dOTE9BRF9UQVJCQUxMXCI6IHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFRvb2x0aXAsIHtcblx0XHRcdHRpdGxlOiB0KFwiYWN0aW9uLWJhci1hY3Rpb24uZG93bmxvYWQtdGFyYmFsbFwiKSxcblx0XHRcdGNoaWxkcmVuOiBpc0xvYWRpbmcgPyAvKiBAX19QVVJFX18gKi8ganN4KENpcmN1bGFyUHJvZ3Jlc3MsIHsgc3g6IHsgbWFyZ2luWDogMCB9IH0pIDogLyogQF9fUFVSRV9fICovIGpzeChGYWIsIHtcblx0XHRcdFx0XCJkYXRhLXRlc3RpZFwiOiBcImRvd25sb2FkLXRhcmJhbGwtYnRuXCIsXG5cdFx0XHRcdG9uQ2xpY2s6IGhhbmRsZURvd25sb2FkLFxuXHRcdFx0XHRzaXplOiBcInNtYWxsXCIsXG5cdFx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KERvd25sb2FkSWNvbiwge30pXG5cdFx0XHR9KVxuXHRcdH0pO1xuXHRcdGNhc2UgXCJSQVdfREFUQVwiOiByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChUb29sdGlwLCB7XG5cdFx0XHR0aXRsZTogdChcImFjdGlvbi1iYXItYWN0aW9uLnJhd1wiKSxcblx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEZhYiwge1xuXHRcdFx0XHRcImRhdGEtdGVzdGlkXCI6IFwicmF3LWJ0blwiLFxuXHRcdFx0XHRvbkNsaWNrOiBhY3Rpb24sXG5cdFx0XHRcdHNpemU6IFwic21hbGxcIixcblx0XHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goUmF3T25JY29uLCB7fSlcblx0XHRcdH0pXG5cdFx0fSk7XG5cdH1cbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IEFjdGlvbkJhckFjdGlvbiBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUFjdGlvbkJhckFjdGlvbi5tanMubWFwIiwiaW1wb3J0IHsgaXNVUkwgfSBmcm9tIFwiLi4vLi4vdXRpbHMvdXJsLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vdXRpbHMvaW5kZXgubWpzXCI7XG5pbXBvcnQgUmF3Vmlld2VyIGZyb20gXCIuLi9SYXdWaWV3ZXIvUmF3Vmlld2VyLm1qc1wiO1xuaW1wb3J0IFwiLi4vUmF3Vmlld2VyL2luZGV4Lm1qc1wiO1xuaW1wb3J0IEFjdGlvbkJhckFjdGlvbiBmcm9tIFwiLi9BY3Rpb25CYXJBY3Rpb24ubWpzXCI7XG5pbXBvcnQgeyBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgQm94IGZyb20gXCJAbXVpL21hdGVyaWFsL0JveFwiO1xuaW1wb3J0IFN0YWNrIGZyb20gXCJAbXVpL21hdGVyaWFsL1N0YWNrXCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhci50c3hcbnZhciBBY3Rpb25CYXIgPSAoeyBzaG93UmF3LCBzaG93RG93bmxvYWRUYXJiYWxsID0gdHJ1ZSwgcGFja2FnZU1ldGEgfSkgPT4ge1xuXHRjb25zdCBbaXNSYXdWaWV3ZXJPcGVuLCBzZXRJc1Jhd1ZpZXdlck9wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuXHRpZiAoIXBhY2thZ2VNZXRhPy5sYXRlc3QpIHJldHVybiBudWxsO1xuXHRjb25zdCB7IGhvbWVwYWdlLCBidWdzLCBkaXN0IH0gPSBwYWNrYWdlTWV0YS5sYXRlc3Q7XG5cdGNvbnN0IGFjdGlvbnMgPSBbXTtcblx0aWYgKGhvbWVwYWdlICYmIGlzVVJMKGhvbWVwYWdlKSkgYWN0aW9ucy5wdXNoKHtcblx0XHR0eXBlOiBcIlZJU0lUX0hPTUVQQUdFXCIsXG5cdFx0bGluazogaG9tZXBhZ2Vcblx0fSk7XG5cdGlmIChidWdzPy51cmwgJiYgaXNVUkwoYnVncy51cmwpKSBhY3Rpb25zLnB1c2goe1xuXHRcdHR5cGU6IFwiT1BFTl9BTl9JU1NVRVwiLFxuXHRcdGxpbms6IGJ1Z3MudXJsXG5cdH0pO1xuXHRpZiAoZGlzdD8udGFyYmFsbCAmJiBpc1VSTChkaXN0LnRhcmJhbGwpICYmIHNob3dEb3dubG9hZFRhcmJhbGwpIGFjdGlvbnMucHVzaCh7XG5cdFx0dHlwZTogXCJET1dOTE9BRF9UQVJCQUxMXCIsXG5cdFx0bGluazogZGlzdC50YXJiYWxsXG5cdH0pO1xuXHRpZiAoc2hvd1JhdykgYWN0aW9ucy5wdXNoKHtcblx0XHR0eXBlOiBcIlJBV19EQVRBXCIsXG5cdFx0YWN0aW9uOiAoKSA9PiBzZXRJc1Jhd1ZpZXdlck9wZW4odHJ1ZSlcblx0fSk7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KEJveCwge1xuXHRcdGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG5cdFx0ZGlzcGxheTogXCJmbGV4XCIsXG5cdFx0c3g6IHsgbXk6IDIgfSxcblx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeHMoU3RhY2ssIHtcblx0XHRcdGRpcmVjdGlvbjogXCJyb3dcIixcblx0XHRcdHNwYWNpbmc6IDEsXG5cdFx0XHRjaGlsZHJlbjogW2FjdGlvbnMubWFwKChhY3Rpb24pID0+IC8qIEBfX1BVUkVfXyAqLyBqc3goQWN0aW9uQmFyQWN0aW9uLCB7IC4uLmFjdGlvbiB9LCBhY3Rpb24udHlwZSkpLCBpc1Jhd1ZpZXdlck9wZW4gJiYgLyogQF9fUFVSRV9fICovIGpzeChSYXdWaWV3ZXIsIHtcblx0XHRcdFx0aXNPcGVuOiBpc1Jhd1ZpZXdlck9wZW4sXG5cdFx0XHRcdG9uQ2xvc2U6ICgpID0+IHtcblx0XHRcdFx0XHRzZXRJc1Jhd1ZpZXdlck9wZW4oZmFsc2UpO1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRwYWNrYWdlTWV0YVxuXHRcdFx0fSldXG5cdFx0fSlcblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBBY3Rpb25CYXIgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1BY3Rpb25CYXIubWpzLm1hcCIsImltcG9ydCB7IGlzRW1haWwsIGlzVVJMIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3VybC5tanNcIjtcbmltcG9ydCBcIi4uLy4uL3V0aWxzL2luZGV4Lm1qc1wiO1xuaW1wb3J0IExpbmtFeHRlcm5hbCBmcm9tIFwiLi4vTGlua0V4dGVybmFsL0xpbmtFeHRlcm5hbC5tanNcIjtcbmltcG9ydCBcIi4uL0xpbmtFeHRlcm5hbC9pbmRleC5tanNcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCBUeXBvZ3JhcGh5IGZyb20gXCJAbXVpL21hdGVyaWFsL1R5cG9ncmFwaHlcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9QZXJzb24vUGVyc29uVG9vbHRpcC50c3hcbnZhciBQZXJzb25Ub29sdGlwID0gKHsgcGVyc29uIH0pID0+IC8qIEBfX1BVUkVfXyAqLyBqc3hzKFR5cG9ncmFwaHksIHtcblx0XCJkYXRhLXRlc3RpZFwiOiBwZXJzb24ubmFtZSArIFwiLXRvb2x0aXBcIixcblx0Y2hpbGRyZW46IFtcblx0XHRwZXJzb24ubmFtZSxcblx0XHRwZXJzb24uZW1haWwgJiYgaXNFbWFpbChwZXJzb24uZW1haWwpICYmIC8qIEBfX1BVUkVfXyAqLyBqc3hzKExpbmtFeHRlcm5hbCwge1xuXHRcdFx0dG86IGBtYWlsdG86JHtwZXJzb24uZW1haWx9YCxcblx0XHRcdGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChcImJyXCIsIHt9KSwgcGVyc29uLmVtYWlsXVxuXHRcdH0pLFxuXHRcdHBlcnNvbi51cmwgJiYgaXNVUkwocGVyc29uLnVybCkgJiYgLyogQF9fUFVSRV9fICovIGpzeHMoTGlua0V4dGVybmFsLCB7XG5cdFx0XHR0bzogcGVyc29uLnVybCxcblx0XHRcdGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChcImJyXCIsIHt9KSwgcGVyc29uLnVybF1cblx0XHR9KVxuXHRdXG59KTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgUGVyc29uVG9vbHRpcCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVBlcnNvblRvb2x0aXAubWpzLm1hcCIsImltcG9ydCB7IGlzRW1haWwsIGlzVVJMIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3VybC5tanNcIjtcbmltcG9ydCBcIi4uLy4uL3V0aWxzL2luZGV4Lm1qc1wiO1xuaW1wb3J0IGkxOG5leHQgZnJvbSBcImkxOG5leHRcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9QZXJzb24vdXRpbHMudHNcbmZ1bmN0aW9uIGdldExpbmsocGVyc29uLCBwYWNrYWdlTmFtZSwgdmVyc2lvbikge1xuXHRyZXR1cm4gcGVyc29uLmVtYWlsICYmIGlzRW1haWwocGVyc29uLmVtYWlsKSA/IGBtYWlsdG86JHtwZXJzb24uZW1haWx9P3N1YmplY3Q9JHtwYWNrYWdlTmFtZX0gdiR7dmVyc2lvbn1gIDogcGVyc29uLnVybCAmJiBpc1VSTChwZXJzb24udXJsKSA/IHBlcnNvbi51cmwgOiBcIlwiO1xufVxuZnVuY3Rpb24gZ2V0TmFtZShuYW1lKSB7XG5cdHJldHVybiAhbmFtZSA/IGkxOG5leHQudChcImF1dGhvci11bmtub3duXCIpIDogbmFtZS50b0xvd2VyQ2FzZSgpID09PSBcImFub255bW91c1wiID8gaTE4bmV4dC50KFwiYXV0aG9yLWFub255bW91c1wiKSA6IG5hbWU7XG59XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IGdldExpbmssIGdldE5hbWUgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXRpbHMubWpzLm1hcCIsImltcG9ydCBMaW5rRXh0ZXJuYWwgZnJvbSBcIi4uL0xpbmtFeHRlcm5hbC9MaW5rRXh0ZXJuYWwubWpzXCI7XG5pbXBvcnQgXCIuLi9MaW5rRXh0ZXJuYWwvaW5kZXgubWpzXCI7XG5pbXBvcnQgUGVyc29uVG9vbHRpcCBmcm9tIFwiLi9QZXJzb25Ub29sdGlwLm1qc1wiO1xuaW1wb3J0IHsgZ2V0TGluaywgZ2V0TmFtZSB9IGZyb20gXCIuL3V0aWxzLm1qc1wiO1xuaW1wb3J0IHsgRnJhZ21lbnQsIGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFRvb2x0aXAgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvVG9vbHRpcFwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCB7IFR5cG9ncmFwaHkgfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IEF2YXRhciBmcm9tIFwiQG11aS9tYXRlcmlhbC9BdmF0YXJcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9QZXJzb24vUGVyc29uLnRzeFxudmFyIFBlcnNvbiA9ICh7IHBlcnNvbiwgcGFja2FnZU5hbWUsIHZlcnNpb24sIHdpdGhUZXh0ID0gZmFsc2UgfSkgPT4ge1xuXHRjb25zdCBsaW5rID0gZ2V0TGluayhwZXJzb24sIHBhY2thZ2VOYW1lLCB2ZXJzaW9uKTtcblx0Y29uc3QgYXZhdGFyQ29tcG9uZW50ID0gLyogQF9fUFVSRV9fICovIGpzeChBdmF0YXIsIHtcblx0XHRhbHQ6IHBlcnNvbi5uYW1lLFxuXHRcdHNyYzogcGVyc29uLmF2YXRhcixcblx0XHRzeDoge1xuXHRcdFx0d2lkdGg6IDQwLFxuXHRcdFx0aGVpZ2h0OiA0MCxcblx0XHRcdG1sOiAwLFxuXHRcdFx0bXI6IDFcblx0XHR9XG5cdH0pO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoRnJhZ21lbnQsIHsgY2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KFRvb2x0aXAsIHtcblx0XHRcImRhdGEtdGVzdGlkXCI6IHBlcnNvbi5uYW1lLFxuXHRcdHRpdGxlOiAvKiBAX19QVVJFX18gKi8ganN4KFBlcnNvblRvb2x0aXAsIHsgcGVyc29uIH0pLFxuXHRcdGNoaWxkcmVuOiBsaW5rLmxlbmd0aCA+IDAgPyAvKiBAX19QVVJFX18gKi8ganN4KExpbmtFeHRlcm5hbCwge1xuXHRcdFx0dG86IGxpbmssXG5cdFx0XHRjaGlsZHJlbjogYXZhdGFyQ29tcG9uZW50XG5cdFx0fSkgOiBhdmF0YXJDb21wb25lbnRcblx0fSwgcGVyc29uLmVtYWlsKSwgd2l0aFRleHQgJiYgLyogQF9fUFVSRV9fICovIGpzeChUeXBvZ3JhcGh5LCB7XG5cdFx0c3g6IHsgbWw6IDEgfSxcblx0XHR2YXJpYW50OiBcInN1YnRpdGxlMlwiLFxuXHRcdGNoaWxkcmVuOiBnZXROYW1lKHBlcnNvbi5uYW1lKVxuXHR9KV0gfSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBQZXJzb24gYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1QZXJzb24ubWpzLm1hcCIsImltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgTGlzdEl0ZW0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvTGlzdEl0ZW1cIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9BdXRob3Ivc3R5bGVzLnRzXG5mdW5jdGlvbiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXygpIHtcblx0cmV0dXJuIFwiWW91IGhhdmUgdHJpZWQgdG8gc3RyaW5naWZ5IG9iamVjdCByZXR1cm5lZCBmcm9tIGBjc3NgIGZ1bmN0aW9uLiBJdCBpc24ndCBzdXBwb3NlZCB0byBiZSB1c2VkIGRpcmVjdGx5IChlLmcuIGFzIHZhbHVlIG9mIHRoZSBgY2xhc3NOYW1lYCBwcm9wKSwgYnV0IHJhdGhlciBoYW5kZWQgdG8gZW1vdGlvbiBzbyBpdCBjYW4gaGFuZGxlIGl0IChlLmcuIGFzIHZhbHVlIG9mIGBjc3NgIHByb3ApLlwiO1xufVxudmFyIFN0eWxlZFRleHQgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChUeXBvZ3JhcGh5LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlNGlmbzM3MVwiIH0gOiB7XG5cdHRhcmdldDogXCJlNGlmbzM3MVwiLFxuXHRsYWJlbDogXCJTdHlsZWRUZXh0XCJcbn0pKChwcm9wcykgPT4gKHsgZm9udFdlaWdodDogcHJvcHMudGhlbWUuZm9udFdlaWdodC5ib2xkIH0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5QmRYUm9iM0l2YzNSNWJHVnpMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVUwd1FpSXNJbVpwYkdVaU9pSXZhRzl0WlM5eWRXNXVaWEl2ZDI5eWF5OTJaWEprWVdOamFXOHZkbVZ5WkdGalkybHZMM0JoWTJ0aFoyVnpMM1ZwTFdOdmJYQnZibVZ1ZEhNdmMzSmpMMk52YlhCdmJtVnVkSE12UVhWMGFHOXlMM04wZVd4bGN5NTBjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCN0lGUjVjRzluY21Gd2FIa2dmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzSnp0Y2JtbHRjRzl5ZENCTWFYTjBTWFJsYlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wweHBjM1JKZEdWdEp6dGNibHh1YVcxd2IzSjBJSFI1Y0dVZ2V5QlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMMVJvWlcxbEp6dGNibHh1Wlhod2IzSjBJR052Ym5OMElGTjBlV3hsWkZSbGVIUWdQU0J6ZEhsc1pXUW9WSGx3YjJkeVlYQm9lU2s4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0Nod2NtOXdjeWtnUFQ0Z0tIdGNiaUFnWm05dWRGZGxhV2RvZERvZ2NISnZjSE11ZEdobGJXVXVabTl1ZEZkbGFXZG9kQzVpYjJ4a0xGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUVhWMGFHOXlUR2x6ZEVsMFpXMGdQU0J6ZEhsc1pXUW9UR2x6ZEVsMFpXMHBLSHRjYmlBZ2NHRmtaR2x1WnpvZ01DeGNiaUFnSnpwb2IzWmxjaWM2SUh0Y2JpQWdJQ0JpWVdOclozSnZkVzVrUTI5c2IzSTZJQ2QwY21GdWMzQmhjbVZ1ZENjc1hHNGdJSDBzWEc1OUtUdGNiaUpkZlE9PSAqL1wiKTtcbnZhciBBdXRob3JMaXN0SXRlbSA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKExpc3RJdGVtLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlNGlmbzM3MFwiIH0gOiB7XG5cdHRhcmdldDogXCJlNGlmbzM3MFwiLFxuXHRsYWJlbDogXCJBdXRob3JMaXN0SXRlbVwiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwienc0NmM2XCIsXG5cdHN0eWxlczogXCJwYWRkaW5nOjA7OmhvdmVye2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7fVwiXG59IDoge1xuXHRuYW1lOiBcInp3NDZjNlwiLFxuXHRzdHlsZXM6IFwicGFkZGluZzowOzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O30vKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5QmRYUm9iM0l2YzNSNWJHVnpMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVZVNFFpSXNJbVpwYkdVaU9pSXZhRzl0WlM5eWRXNXVaWEl2ZDI5eWF5OTJaWEprWVdOamFXOHZkbVZ5WkdGalkybHZMM0JoWTJ0aFoyVnpMM1ZwTFdOdmJYQnZibVZ1ZEhNdmMzSmpMMk52YlhCdmJtVnVkSE12UVhWMGFHOXlMM04wZVd4bGN5NTBjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCN0lGUjVjRzluY21Gd2FIa2dmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzSnp0Y2JtbHRjRzl5ZENCTWFYTjBTWFJsYlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wweHBjM1JKZEdWdEp6dGNibHh1YVcxd2IzSjBJSFI1Y0dVZ2V5QlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMMVJvWlcxbEp6dGNibHh1Wlhod2IzSjBJR052Ym5OMElGTjBlV3hsWkZSbGVIUWdQU0J6ZEhsc1pXUW9WSGx3YjJkeVlYQm9lU2s4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0Nod2NtOXdjeWtnUFQ0Z0tIdGNiaUFnWm05dWRGZGxhV2RvZERvZ2NISnZjSE11ZEdobGJXVXVabTl1ZEZkbGFXZG9kQzVpYjJ4a0xGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUVhWMGFHOXlUR2x6ZEVsMFpXMGdQU0J6ZEhsc1pXUW9UR2x6ZEVsMFpXMHBLSHRjYmlBZ2NHRmtaR2x1WnpvZ01DeGNiaUFnSnpwb2IzWmxjaWM2SUh0Y2JpQWdJQ0JpWVdOclozSnZkVzVrUTI5c2IzSTZJQ2QwY21GdWMzQmhjbVZ1ZENjc1hHNGdJSDBzWEc1OUtUdGNiaUpkZlE9PSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBBdXRob3JMaXN0SXRlbSwgU3R5bGVkVGV4dCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHlsZXMubWpzLm1hcCIsImltcG9ydCBQZXJzb24gZnJvbSBcIi4uL1BlcnNvbi9QZXJzb24ubWpzXCI7XG5pbXBvcnQgXCIuLi9QZXJzb24vaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBBdXRob3JMaXN0SXRlbSwgU3R5bGVkVGV4dCB9IGZyb20gXCIuL3N0eWxlcy5tanNcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCBMaXN0IGZyb20gXCJAbXVpL21hdGVyaWFsL0xpc3RcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9BdXRob3IvQXV0aG9yLnRzeFxudmFyIEF1dGhvciA9ICh7IHBhY2thZ2VNZXRhIH0pID0+IHtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRpZiAoIXBhY2thZ2VNZXRhKSByZXR1cm4gbnVsbDtcblx0Y29uc3QgeyBhdXRob3IsIG5hbWU6IHBhY2thZ2VOYW1lLCB2ZXJzaW9uIH0gPSBwYWNrYWdlTWV0YS5sYXRlc3Q7XG5cdGlmICghYXV0aG9yKSByZXR1cm4gbnVsbDtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goTGlzdCwge1xuXHRcdHN1YmhlYWRlcjogLyogQF9fUFVSRV9fICovIGpzeChTdHlsZWRUZXh0LCB7XG5cdFx0XHR2YXJpYW50OiBcInN1YnRpdGxlMVwiLFxuXHRcdFx0Y2hpbGRyZW46IHQoXCJzaWRlYmFyLmF1dGhvci50aXRsZVwiKVxuXHRcdH0pLFxuXHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEF1dGhvckxpc3RJdGVtLCB7XG5cdFx0XHRzeDogeyBteTogMSB9LFxuXHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goUGVyc29uLCB7XG5cdFx0XHRcdHBhY2thZ2VOYW1lLFxuXHRcdFx0XHRwZXJzb246IGF1dGhvcixcblx0XHRcdFx0dmVyc2lvbixcblx0XHRcdFx0d2l0aFRleHQ6IHRydWVcblx0XHRcdH0pXG5cdFx0fSlcblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBBdXRob3IgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1BdXRob3IubWpzLm1hcCIsImltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCBBbGVydCBmcm9tIFwiQG11aS9tYXRlcmlhbC9BbGVydFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0RlcHJlY2F0ZWQvRGVwcmVjYXRlZC50c3hcbnZhciBEZXByZWNhdGVkID0gKHsgbWVzc2FnZSB9KSA9PiB7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KEFsZXJ0LCB7XG5cdFx0c2V2ZXJpdHk6IFwid2FybmluZ1wiLFxuXHRcdHN4OiB7XG5cdFx0XHRtYXJnaW5Ub3A6IDEsXG5cdFx0XHRtYXJnaW5Cb3R0b206IDFcblx0XHR9LFxuXHRcdGNoaWxkcmVuOiBtZXNzYWdlXG5cdH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgRGVwcmVjYXRlZCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPURlcHJlY2F0ZWQubWpzLm1hcCIsIi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9EZXZlbG9wZXJzL0RldmVsb3BlclR5cGUudHN4XG52YXIgRGV2ZWxvcGVyVHlwZSA9IC8qIEBfX1BVUkVfXyAqLyBmdW5jdGlvbihEZXZlbG9wZXJUeXBlKSB7XG5cdERldmVsb3BlclR5cGVbXCJDT05UUklCVVRPUlNcIl0gPSBcImNvbnRyaWJ1dG9yc1wiO1xuXHREZXZlbG9wZXJUeXBlW1wiTUFJTlRBSU5FUlNcIl0gPSBcIm1haW50YWluZXJzXCI7XG5cdHJldHVybiBEZXZlbG9wZXJUeXBlO1xufSh7fSk7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IERldmVsb3BlclR5cGUgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9RGV2ZWxvcGVyVHlwZS5tanMubWFwIiwiaW1wb3J0IHsgRGV2ZWxvcGVyVHlwZSB9IGZyb20gXCIuL0RldmVsb3BlclR5cGUubWpzXCI7XG5pbXBvcnQgXCIuL2luZGV4Lm1qc1wiO1xuaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgVHlwb2dyYXBoeSBmcm9tIFwiQG11aS9tYXRlcmlhbC9UeXBvZ3JhcGh5XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvRGV2ZWxvcGVycy9UaXRsZS50c3hcbnZhciBUaXRsZSA9ICh7IHR5cGUgfSkgPT4ge1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdHN3aXRjaCAodHlwZSkge1xuXHRcdGNhc2UgRGV2ZWxvcGVyVHlwZS5DT05UUklCVVRPUlM6IHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFN0eWxlZFRleHQsIHtcblx0XHRcdHZhcmlhbnQ6IFwic3VidGl0bGUxXCIsXG5cdFx0XHRjaGlsZHJlbjogdChcInNpZGViYXIuY29udHJpYnV0b3JzLnRpdGxlXCIpXG5cdFx0fSk7XG5cdFx0Y2FzZSBEZXZlbG9wZXJUeXBlLk1BSU5UQUlORVJTOiByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTdHlsZWRUZXh0LCB7XG5cdFx0XHR2YXJpYW50OiBcInN1YnRpdGxlMVwiLFxuXHRcdFx0Y2hpbGRyZW46IHQoXCJzaWRlYmFyLm1haW50YWluZXJzLnRpdGxlXCIpXG5cdFx0fSk7XG5cdH1cbn07XG52YXIgU3R5bGVkVGV4dCA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFR5cG9ncmFwaHksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxc3NyamFwMFwiIH0gOiB7XG5cdHRhcmdldDogXCJlMXNzcmphcDBcIixcblx0bGFiZWw6IFwiU3R5bGVkVGV4dFwiXG59KSgoeyB0aGVtZSB9KSA9PiAoe1xuXHRmb250V2VpZ2h0OiB0aGVtZS5mb250V2VpZ2h0LmJvbGQsXG5cdG1hcmdpbkJvdHRvbTogXCIxMHB4XCJcbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5RVpYWmxiRzl3WlhKekwxUnBkR3hsTG5SemVDSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRjNRbTFDSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OUVaWFpsYkc5d1pYSnpMMVJwZEd4bExuUnplQ0lzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCVWVYQnZaM0poY0doNUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZWSGx3YjJkeVlYQm9lU2M3WEc1cGJYQnZjblFnVW1WaFkzUWdabkp2YlNBbmNtVmhZM1FuTzF4dWFXMXdiM0owSUhzZ2RYTmxWSEpoYm5Oc1lYUnBiMjRnZlNCbWNtOXRJQ2R5WldGamRDMXBNVGh1WlhoMEp6dGNibHh1YVcxd2IzSjBJSFI1Y0dVZ2V5QlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMMVJvWlcxbEp6dGNibWx0Y0c5eWRDQjdJRVJsZG1Wc2IzQmxjbFI1Y0dVZ2ZTQm1jbTl0SUNjdUx5YzdYRzVjYm1sdWRHVnlabUZqWlNCUWNtOXdjeUI3WEc0Z0lIUjVjR1U2SUVSbGRtVnNiM0JsY2xSNWNHVTdYRzU5WEc1Y2JtTnZibk4wSUZScGRHeGxPaUJTWldGamRDNUdRenhRY205d2N6NGdQU0FvZXlCMGVYQmxJSDBwSUQwK0lIdGNiaUFnWTI5dWMzUWdleUIwSUgwZ1BTQjFjMlZVY21GdWMyeGhkR2x2YmlncE8xeHVJQ0J6ZDJsMFkyZ2dLSFI1Y0dVcElIdGNiaUFnSUNCallYTmxJRVJsZG1Wc2IzQmxjbFI1Y0dVdVEwOU9WRkpKUWxWVVQxSlRPbHh1SUNBZ0lDQWdjbVYwZFhKdUlEeFRkSGxzWldSVVpYaDBJSFpoY21saGJuUTlleWR6ZFdKMGFYUnNaVEVuZlQ1N2RDZ25jMmxrWldKaGNpNWpiMjUwY21saWRYUnZjbk11ZEdsMGJHVW5LWDA4TDFOMGVXeGxaRlJsZUhRK08xeHVJQ0FnSUdOaGMyVWdSR1YyWld4dmNHVnlWSGx3WlM1TlFVbE9WRUZKVGtWU1V6cGNiaUFnSUNBZ0lISmxkSFZ5YmlBOFUzUjViR1ZrVkdWNGRDQjJZWEpwWVc1MFBYc25jM1ZpZEdsMGJHVXhKMzArZTNRb0ozTnBaR1ZpWVhJdWJXRnBiblJoYVc1bGNuTXVkR2wwYkdVbktYMDhMMU4wZVd4bFpGUmxlSFErTzF4dUlDQjlYRzU5TzF4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCVWFYUnNaVHRjYmx4dVkyOXVjM1FnVTNSNWJHVmtWR1Y0ZENBOUlITjBlV3hsWkNoVWVYQnZaM0poY0doNUtUeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LSHNnZEdobGJXVWdmU2tnUFQ0Z0tIdGNiaUFnWm05dWRGZGxhV2RvZERvZ2RHaGxiV1V1Wm05dWRGZGxhV2RvZEM1aWIyeGtMRnh1SUNCdFlYSm5hVzVDYjNSMGIyMDZJQ2N4TUhCNEp5eGNibjBwS1R0Y2JpSmRmUT09ICovXCIpO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBUaXRsZSBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVRpdGxlLm1qcy5tYXAiLCIvLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvRGV2ZWxvcGVycy9nZXQtdW5pcXVlLWRldmVsb3Blci12YWx1ZXMudHNcbmZ1bmN0aW9uIGdldFVuaXF1ZURldmVsb3BlclZhbHVlcyhkZXZlbG9wZXJzKSB7XG5cdGlmICghZGV2ZWxvcGVycykgcmV0dXJuIFtdO1xuXHRyZXR1cm4gZGV2ZWxvcGVycy5yZWR1Y2UoKGFjY3VtdWxhdG9yLCBjdXJyZW50KSA9PiBhY2N1bXVsYXRvci5zb21lKChkZXZlbG9wZXIpID0+IGRldmVsb3Blci5lbWFpbCA9PT0gY3VycmVudC5lbWFpbCkgPyBhY2N1bXVsYXRvciA6IFsuLi5hY2N1bXVsYXRvciwgY3VycmVudF0sIFtdKTtcbn1cbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgZ2V0VW5pcXVlRGV2ZWxvcGVyVmFsdWVzIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0LXVuaXF1ZS1kZXZlbG9wZXItdmFsdWVzLm1qcy5tYXAiLCJpbXBvcnQgUGVyc29uIGZyb20gXCIuLi9QZXJzb24vUGVyc29uLm1qc1wiO1xuaW1wb3J0IFwiLi4vUGVyc29uL2luZGV4Lm1qc1wiO1xuaW1wb3J0IFRpdGxlIGZyb20gXCIuL1RpdGxlLm1qc1wiO1xuaW1wb3J0IGdldFVuaXF1ZURldmVsb3BlclZhbHVlcyBmcm9tIFwiLi9nZXQtdW5pcXVlLWRldmVsb3Blci12YWx1ZXMubWpzXCI7XG5pbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbmltcG9ydCB7IEZyYWdtZW50LCBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgQm94IGZyb20gXCJAbXVpL21hdGVyaWFsL0JveFwiO1xuaW1wb3J0IEZhYk1VSSBmcm9tIFwiQG11aS9tYXRlcmlhbC9GYWJcIjtcbmltcG9ydCB7IGNvbW1vbiB9IGZyb20gXCJAbXVpL21hdGVyaWFsL2NvbG9yc1wiO1xuaW1wb3J0IEFkZCBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9BZGRcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9EZXZlbG9wZXJzL0RldmVsb3BlcnMudHN4XG5mdW5jdGlvbiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXygpIHtcblx0cmV0dXJuIFwiWW91IGhhdmUgdHJpZWQgdG8gc3RyaW5naWZ5IG9iamVjdCByZXR1cm5lZCBmcm9tIGBjc3NgIGZ1bmN0aW9uLiBJdCBpc24ndCBzdXBwb3NlZCB0byBiZSB1c2VkIGRpcmVjdGx5IChlLmcuIGFzIHZhbHVlIG9mIHRoZSBgY2xhc3NOYW1lYCBwcm9wKSwgYnV0IHJhdGhlciBoYW5kZWQgdG8gZW1vdGlvbiBzbyBpdCBjYW4gaGFuZGxlIGl0IChlLmcuIGFzIHZhbHVlIG9mIGBjc3NgIHByb3ApLlwiO1xufVxudmFyIEZhYiA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKEZhYk1VSSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZW9jODFmazFcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZW9jODFmazFcIixcblx0bGFiZWw6IFwiRmFiXCJcbn0pKChwcm9wcykgPT4gKHtcblx0YmFja2dyb3VuZENvbG9yOiBwcm9wcy50aGVtZS5wYWxldHRlLnByaW1hcnkubWFpbixcblx0Y29sb3I6IGNvbW1vbi53aGl0ZVxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlFWlhabGJHOXdaWEp6TDBSbGRtVnNiM0JsY25NdWRITjRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRV0Z0UWlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwyTnZiWEJ2Ym1WdWRITXZSR1YyWld4dmNHVnljeTlFWlhabGJHOXdaWEp6TG5SemVDSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0JCWkdRZ1puSnZiU0FuUUcxMWFTOXBZMjl1Y3kxdFlYUmxjbWxoYkM5QlpHUW5PMXh1YVcxd2IzSjBJRUp2ZUNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwSnZlQ2M3WEc1cGJYQnZjblFnUm1GaVRWVkpJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2Um1GaUp6dGNibWx0Y0c5eWRDQjdJR052YlcxdmJpQjlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2WTI5c2IzSnpKenRjYm1sdGNHOXlkQ0JTWldGamRDd2dleUIxYzJWRFlXeHNZbUZqYXl3Z2RYTmxSV1ptWldOMExDQjFjMlZOWlcxdkxDQjFjMlZUZEdGMFpTQjlJR1p5YjIwZ0ozSmxZV04wSnp0Y2JseHVhVzF3YjNKMElIUjVjR1VnZXlCVWFHVnRaU0I5SUdaeWIyMGdKeTR1THk0dUwxUm9aVzFsSnp0Y2JtbHRjRzl5ZENCUVpYSnpiMjRnWm5KdmJTQW5MaTR2VUdWeWMyOXVKenRjYm1sdGNHOXlkQ0IwZVhCbElIc2dSR1YyWld4dmNHVnlWSGx3WlNCOUlHWnliMjBnSnk0dlJHVjJaV3h2Y0dWeVZIbHdaU2M3WEc1cGJYQnZjblFnVkdsMGJHVWdabkp2YlNBbkxpOVVhWFJzWlNjN1hHNXBiWEJ2Y25RZ1oyVjBWVzVwY1hWbFJHVjJaV3h2Y0dWeVZtRnNkV1Z6SUdaeWIyMGdKeTR2WjJWMExYVnVhWEYxWlMxa1pYWmxiRzl3WlhJdGRtRnNkV1Z6Snp0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVaaFlpQTlJSE4wZVd4bFpDaEdZV0pOVlVrcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29jSEp2Y0hNcElEMCtJQ2g3WEc0Z0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ2NISnZjSE11ZEdobGJXVXVjR0ZzWlhSMFpTNXdjbWx0WVhKNUxtMWhhVzRzWEc0Z0lHTnZiRzl5T2lCamIyMXRiMjR1ZDJocGRHVXNYRzU5S1NrN1hHNWNibWx1ZEdWeVptRmpaU0JRY205d2N5QjdYRzRnSUhSNWNHVTZJRVJsZG1Wc2IzQmxjbFI1Y0dVN1hHNGdJSFpwYzJsaWJHVk5ZWGcvT2lCdWRXMWlaWEk3WEc0Z0lIQmhZMnRoWjJWTlpYUmhPaUJoYm5rN1hHNTlYRzVjYm1OdmJuTjBJRk4wZVd4bFpFSnZlQ0E5SUhOMGVXeGxaQ2hDYjNncEtIdGNiaUFnSno0Z0tpYzZJSHRjYmlBZ0lDQnRZWEpuYVc1U2FXZG9kRG9nTlN4Y2JpQWdmU3hjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1ZrbFRTVUpNUlY5TlFWZ2dQU0EyTzF4dVhHNWpiMjV6ZENCRVpYWmxiRzl3WlhKek9pQlNaV0ZqZEM1R1F6eFFjbTl3Y3o0Z1BTQW9leUIwZVhCbExDQjJhWE5wWW14bFRXRjRJRDBnVmtsVFNVSk1SVjlOUVZnc0lIQmhZMnRoWjJWTlpYUmhJSDBwSUQwK0lIdGNiaUFnWTI5dWMzUWdaR1YyWld4dmNHVnljeUE5SUhWelpVMWxiVzhvWEc0Z0lDQWdLQ2tnUFQ0Z1oyVjBWVzVwY1hWbFJHVjJaV3h2Y0dWeVZtRnNkV1Z6S0hCaFkydGhaMlZOWlhSaFB5NXNZWFJsYzNSYmRIbHdaVjBwTEZ4dUlDQWdJRnR3WVdOcllXZGxUV1YwWVN3Z2RIbHdaVjFjYmlBZ0tUdGNibHh1SUNCamIyNXpkQ0JiZG1semFXSnNaVVJsZG1Wc2IzQmxjbk5OWVhnc0lITmxkRlpwYzJsaWJHVkVaWFpsYkc5d1pYSnpUV0Y0WFNBOUlIVnpaVk4wWVhSbEtIWnBjMmxpYkdWTllYZ3BPMXh1SUNCamIyNXpkQ0JiZG1semFXSnNaVVJsZG1Wc2IzQmxjbk1zSUhObGRGWnBjMmxpYkdWRVpYWmxiRzl3WlhKelhTQTlJSFZ6WlZOMFlYUmxLR1JsZG1Wc2IzQmxjbk1wTzF4dVhHNGdJSFZ6WlVWbVptVmpkQ2dvS1NBOVBpQjdYRzRnSUNBZ2FXWWdLQ0ZrWlhabGJHOXdaWEp6TG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lITmxkRlpwYzJsaWJHVkVaWFpsYkc5d1pYSnpLR1JsZG1Wc2IzQmxjbk11YzJ4cFkyVW9NQ3dnZG1semFXSnNaVVJsZG1Wc2IzQmxjbk5OWVhncEtUdGNiaUFnZlN3Z1cyUmxkbVZzYjNCbGNuTXNJSFpwYzJsaWJHVkVaWFpsYkc5d1pYSnpUV0Y0WFNrN1hHNWNiaUFnWTI5dWMzUWdhR0Z1Wkd4bFUyVjBWbWx6YVdKc1pVUmxkbVZzYjNCbGNuTk5ZWGdnUFNCMWMyVkRZV3hzWW1GamF5Z29LU0E5UGlCN1hHNGdJQ0FnYzJWMFZtbHphV0pzWlVSbGRtVnNiM0JsY25OTllYZ29kbWx6YVdKc1pVUmxkbVZzYjNCbGNuTk5ZWGdnS3lCV1NWTkpRa3hGWDAxQldDazdYRzRnSUgwc0lGdDJhWE5wWW14bFJHVjJaV3h2Y0dWeWMwMWhlRjBwTzF4dVhHNGdJR2xtSUNnaGRtbHphV0pzWlVSbGRtVnNiM0JsY25NZ2ZId2dJV1JsZG1Wc2IzQmxjbk11YkdWdVozUm9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lIMWNibHh1SUNCamIyNXpkQ0I3SUc1aGJXVTZJSEJoWTJ0aFoyVk9ZVzFsTENCMlpYSnphVzl1SUgwZ1BTQndZV05yWVdkbFRXVjBZUzVzWVhSbGMzUTdYRzVjYmlBZ2NtVjBkWEp1SUNoY2JpQWdJQ0E4UGx4dUlDQWdJQ0FnUEZScGRHeGxJSFI1Y0dVOWUzUjVjR1Y5SUM4K1hHNGdJQ0FnSUNBOFUzUjViR1ZrUW05NElHUnBjM0JzWVhrOVhDSm1iR1Y0WENJZ1pteGxlRmR5WVhBOVhDSjNjbUZ3WENJZ2JXRnlaMmx1UFZ3aU1UQndlQ0F3SURFd2NIZ2dNRndpUGx4dUlDQWdJQ0FnSUNCN2RtbHphV0pzWlVSbGRtVnNiM0JsY25NdWJXRndLQ2gyYVhOcFlteGxSR1YyWld4dmNHVnlMQ0JwYm1SbGVDa2dQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4VUdWeWMyOXVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHdGxlVDE3YVc1a1pYaDlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIQmhZMnRoWjJWT1lXMWxQWHR3WVdOcllXZGxUbUZ0WlgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY0dWeWMyOXVQWHQyYVhOcFlteGxSR1YyWld4dmNHVnlmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjJaWEp6YVc5dVBYdDJaWEp6YVc5dWZWeHVJQ0FnSUNBZ0lDQWdJQ0FnTHo1Y2JpQWdJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdJQ0I5S1gxY2JpQWdJQ0FnSUNBZ2UzWnBjMmxpYkdWRVpYWmxiRzl3WlhKelRXRjRJRHdnWkdWMlpXeHZjR1Z5Y3k1c1pXNW5kR2dnSmlZZ0tGeHVJQ0FnSUNBZ0lDQWdJRHhHWVdJZ1pHRjBZUzEwWlhOMGFXUTlleWRtWVdJdFlXUmtKMzBnYjI1RGJHbGphejE3YUdGdVpHeGxVMlYwVm1semFXSnNaVVJsZG1Wc2IzQmxjbk5OWVhoOUlITnBlbVU5WENKemJXRnNiRndpUGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRUZrWkNBdlBseHVJQ0FnSUNBZ0lDQWdJRHd2Um1GaVBseHVJQ0FnSUNBZ0lDQXBmVnh1SUNBZ0lDQWdQQzlUZEhsc1pXUkNiM2crWEc0Z0lDQWdQQzgrWEc0Z0lDazdYRzU5TzF4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCRVpYWmxiRzl3WlhKek8xeHVJbDE5ICovXCIpO1xudmFyIFN0eWxlZEJveCA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKEJveCwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZW9jODFmazBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZW9jODFmazBcIixcblx0bGFiZWw6IFwiU3R5bGVkQm94XCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCIxc2NzaWVcIixcblx0c3R5bGVzOiBcIj4gKnttYXJnaW4tcmlnaHQ6NXB4O31cIlxufSA6IHtcblx0bmFtZTogXCIxc2NzaWVcIixcblx0c3R5bGVzOiBcIj4gKnttYXJnaW4tcmlnaHQ6NXB4O30vKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5RVpYWmxiRzl3WlhKekwwUmxkbVZzYjNCbGNuTXVkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVhkQ2EwSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDBSbGRtVnNiM0JsY25NdlJHVjJaV3h2Y0dWeWN5NTBjM2dpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnYzNSNWJHVmtJR1p5YjIwZ0owQmxiVzkwYVc5dUwzTjBlV3hsWkNjN1hHNXBiWEJ2Y25RZ1FXUmtJR1p5YjIwZ0owQnRkV2t2YVdOdmJuTXRiV0YwWlhKcFlXd3ZRV1JrSnp0Y2JtbHRjRzl5ZENCQ2IzZ2dabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlDYjNnbk8xeHVhVzF3YjNKMElFWmhZazFWU1NCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwWmhZaWM3WEc1cGJYQnZjblFnZXlCamIyMXRiMjRnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wyTnZiRzl5Y3ljN1hHNXBiWEJ2Y25RZ1VtVmhZM1FzSUhzZ2RYTmxRMkZzYkdKaFkyc3NJSFZ6WlVWbVptVmpkQ3dnZFhObFRXVnRieXdnZFhObFUzUmhkR1VnZlNCbWNtOXRJQ2R5WldGamRDYzdYRzVjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaTlVYUdWdFpTYzdYRzVwYlhCdmNuUWdVR1Z5YzI5dUlHWnliMjBnSnk0dUwxQmxjbk52YmljN1hHNXBiWEJ2Y25RZ2RIbHdaU0I3SUVSbGRtVnNiM0JsY2xSNWNHVWdmU0JtY205dElDY3VMMFJsZG1Wc2IzQmxjbFI1Y0dVbk8xeHVhVzF3YjNKMElGUnBkR3hsSUdaeWIyMGdKeTR2VkdsMGJHVW5PMXh1YVcxd2IzSjBJR2RsZEZWdWFYRjFaVVJsZG1Wc2IzQmxjbFpoYkhWbGN5Qm1jbTl0SUNjdUwyZGxkQzExYm1seGRXVXRaR1YyWld4dmNHVnlMWFpoYkhWbGN5YzdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkdZV0lnUFNCemRIbHNaV1FvUm1GaVRWVkpLVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hCeWIzQnpLU0E5UGlBb2UxeHVJQ0JpWVdOclozSnZkVzVrUTI5c2IzSTZJSEJ5YjNCekxuUm9aVzFsTG5CaGJHVjBkR1V1Y0hKcGJXRnllUzV0WVdsdUxGeHVJQ0JqYjJ4dmNqb2dZMjl0Ylc5dUxuZG9hWFJsTEZ4dWZTa3BPMXh1WEc1cGJuUmxjbVpoWTJVZ1VISnZjSE1nZTF4dUlDQjBlWEJsT2lCRVpYWmxiRzl3WlhKVWVYQmxPMXh1SUNCMmFYTnBZbXhsVFdGNFB6b2diblZ0WW1WeU8xeHVJQ0J3WVdOcllXZGxUV1YwWVRvZ1lXNTVPMXh1ZlZ4dVhHNWpiMjV6ZENCVGRIbHNaV1JDYjNnZ1BTQnpkSGxzWldRb1FtOTRLU2g3WEc0Z0lDYytJQ29uT2lCN1hHNGdJQ0FnYldGeVoybHVVbWxuYUhRNklEVXNYRzRnSUgwc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRlpKVTBsQ1RFVmZUVUZZSUQwZ05qdGNibHh1WTI5dWMzUWdSR1YyWld4dmNHVnljem9nVW1WaFkzUXVSa004VUhKdmNITStJRDBnS0hzZ2RIbHdaU3dnZG1semFXSnNaVTFoZUNBOUlGWkpVMGxDVEVWZlRVRllMQ0J3WVdOcllXZGxUV1YwWVNCOUtTQTlQaUI3WEc0Z0lHTnZibk4wSUdSbGRtVnNiM0JsY25NZ1BTQjFjMlZOWlcxdktGeHVJQ0FnSUNncElEMCtJR2RsZEZWdWFYRjFaVVJsZG1Wc2IzQmxjbFpoYkhWbGN5aHdZV05yWVdkbFRXVjBZVDh1YkdGMFpYTjBXM1I1Y0dWZEtTeGNiaUFnSUNCYmNHRmphMkZuWlUxbGRHRXNJSFI1Y0dWZFhHNGdJQ2s3WEc1Y2JpQWdZMjl1YzNRZ1czWnBjMmxpYkdWRVpYWmxiRzl3WlhKelRXRjRMQ0J6WlhSV2FYTnBZbXhsUkdWMlpXeHZjR1Z5YzAxaGVGMGdQU0IxYzJWVGRHRjBaU2gyYVhOcFlteGxUV0Y0S1R0Y2JpQWdZMjl1YzNRZ1czWnBjMmxpYkdWRVpYWmxiRzl3WlhKekxDQnpaWFJXYVhOcFlteGxSR1YyWld4dmNHVnljMTBnUFNCMWMyVlRkR0YwWlNoa1pYWmxiRzl3WlhKektUdGNibHh1SUNCMWMyVkZabVpsWTNRb0tDa2dQVDRnZTF4dUlDQWdJR2xtSUNnaFpHVjJaV3h2Y0dWeWN5NXNaVzVuZEdncElIdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J6WlhSV2FYTnBZbXhsUkdWMlpXeHZjR1Z5Y3loa1pYWmxiRzl3WlhKekxuTnNhV05sS0RBc0lIWnBjMmxpYkdWRVpYWmxiRzl3WlhKelRXRjRLU2s3WEc0Z0lIMHNJRnRrWlhabGJHOXdaWEp6TENCMmFYTnBZbXhsUkdWMlpXeHZjR1Z5YzAxaGVGMHBPMXh1WEc0Z0lHTnZibk4wSUdoaGJtUnNaVk5sZEZacGMybGliR1ZFWlhabGJHOXdaWEp6VFdGNElEMGdkWE5sUTJGc2JHSmhZMnNvS0NrZ1BUNGdlMXh1SUNBZ0lITmxkRlpwYzJsaWJHVkVaWFpsYkc5d1pYSnpUV0Y0S0hacGMybGliR1ZFWlhabGJHOXdaWEp6VFdGNElDc2dWa2xUU1VKTVJWOU5RVmdwTzF4dUlDQjlMQ0JiZG1semFXSnNaVVJsZG1Wc2IzQmxjbk5OWVhoZEtUdGNibHh1SUNCcFppQW9JWFpwYzJsaWJHVkVaWFpsYkc5d1pYSnpJSHg4SUNGa1pYWmxiRzl3WlhKekxteGxibWQwYUNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdZMjl1YzNRZ2V5QnVZVzFsT2lCd1lXTnJZV2RsVG1GdFpTd2dkbVZ5YzJsdmJpQjlJRDBnY0dGamEyRm5aVTFsZEdFdWJHRjBaWE4wTzF4dVhHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BENWNiaUFnSUNBZ0lEeFVhWFJzWlNCMGVYQmxQWHQwZVhCbGZTQXZQbHh1SUNBZ0lDQWdQRk4wZVd4bFpFSnZlQ0JrYVhOd2JHRjVQVndpWm14bGVGd2lJR1pzWlhoWGNtRndQVndpZDNKaGNGd2lJRzFoY21kcGJqMWNJakV3Y0hnZ01DQXhNSEI0SURCY0lqNWNiaUFnSUNBZ0lDQWdlM1pwYzJsaWJHVkVaWFpsYkc5d1pYSnpMbTFoY0Nnb2RtbHphV0pzWlVSbGRtVnNiM0JsY2l3Z2FXNWtaWGdwSUQwK0lIdGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lDQWdJQ0FnSUNBZ1BGQmxjbk52Ymx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JyWlhrOWUybHVaR1Y0ZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J3WVdOcllXZGxUbUZ0WlQxN2NHRmphMkZuWlU1aGJXVjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIQmxjbk52YmoxN2RtbHphV0pzWlVSbGRtVnNiM0JsY24xY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1WeWMybHZiajE3ZG1WeWMybHZibjFjYmlBZ0lDQWdJQ0FnSUNBZ0lDOCtYRzRnSUNBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUNBZ2ZTbDlYRzRnSUNBZ0lDQWdJSHQyYVhOcFlteGxSR1YyWld4dmNHVnljMDFoZUNBOElHUmxkbVZzYjNCbGNuTXViR1Z1WjNSb0lDWW1JQ2hjYmlBZ0lDQWdJQ0FnSUNBOFJtRmlJR1JoZEdFdGRHVnpkR2xrUFhzblptRmlMV0ZrWkNkOUlHOXVRMnhwWTJzOWUyaGhibVJzWlZObGRGWnBjMmxpYkdWRVpYWmxiRzl3WlhKelRXRjRmU0J6YVhwbFBWd2ljMjFoYkd4Y0lqNWNiaUFnSUNBZ0lDQWdJQ0FnSUR4QlpHUWdMejVjYmlBZ0lDQWdJQ0FnSUNBOEwwWmhZajVjYmlBZ0lDQWdJQ0FnS1gxY2JpQWdJQ0FnSUR3dlUzUjViR1ZrUW05NFBseHVJQ0FnSUR3dlBseHVJQ0FwTzF4dWZUdGNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdSR1YyWld4dmNHVnljenRjYmlKZGZRPT0gKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBEZXZlbG9wZXJzID0gKHsgdHlwZSwgdmlzaWJsZU1heCA9IDYsIHBhY2thZ2VNZXRhIH0pID0+IHtcblx0Y29uc3QgZGV2ZWxvcGVycyA9IHVzZU1lbW8oKCkgPT4gZ2V0VW5pcXVlRGV2ZWxvcGVyVmFsdWVzKHBhY2thZ2VNZXRhPy5sYXRlc3RbdHlwZV0pLCBbcGFja2FnZU1ldGEsIHR5cGVdKTtcblx0Y29uc3QgW3Zpc2libGVEZXZlbG9wZXJzTWF4LCBzZXRWaXNpYmxlRGV2ZWxvcGVyc01heF0gPSB1c2VTdGF0ZSh2aXNpYmxlTWF4KTtcblx0Y29uc3QgW3Zpc2libGVEZXZlbG9wZXJzLCBzZXRWaXNpYmxlRGV2ZWxvcGVyc10gPSB1c2VTdGF0ZShkZXZlbG9wZXJzKTtcblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRpZiAoIWRldmVsb3BlcnMubGVuZ3RoKSByZXR1cm47XG5cdFx0c2V0VmlzaWJsZURldmVsb3BlcnMoZGV2ZWxvcGVycy5zbGljZSgwLCB2aXNpYmxlRGV2ZWxvcGVyc01heCkpO1xuXHR9LCBbZGV2ZWxvcGVycywgdmlzaWJsZURldmVsb3BlcnNNYXhdKTtcblx0Y29uc3QgaGFuZGxlU2V0VmlzaWJsZURldmVsb3BlcnNNYXggPSB1c2VDYWxsYmFjaygoKSA9PiB7XG5cdFx0c2V0VmlzaWJsZURldmVsb3BlcnNNYXgodmlzaWJsZURldmVsb3BlcnNNYXggKyA2KTtcblx0fSwgW3Zpc2libGVEZXZlbG9wZXJzTWF4XSk7XG5cdGlmICghdmlzaWJsZURldmVsb3BlcnMgfHwgIWRldmVsb3BlcnMubGVuZ3RoKSByZXR1cm4gbnVsbDtcblx0Y29uc3QgeyBuYW1lOiBwYWNrYWdlTmFtZSwgdmVyc2lvbiB9ID0gcGFja2FnZU1ldGEubGF0ZXN0O1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoRnJhZ21lbnQsIHsgY2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KFRpdGxlLCB7IHR5cGUgfSksIC8qIEBfX1BVUkVfXyAqLyBqc3hzKFN0eWxlZEJveCwge1xuXHRcdGRpc3BsYXk6IFwiZmxleFwiLFxuXHRcdGZsZXhXcmFwOiBcIndyYXBcIixcblx0XHRtYXJnaW46IFwiMTBweCAwIDEwcHggMFwiLFxuXHRcdGNoaWxkcmVuOiBbdmlzaWJsZURldmVsb3BlcnMubWFwKCh2aXNpYmxlRGV2ZWxvcGVyLCBpbmRleCkgPT4ge1xuXHRcdFx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goUGVyc29uLCB7XG5cdFx0XHRcdHBhY2thZ2VOYW1lLFxuXHRcdFx0XHRwZXJzb246IHZpc2libGVEZXZlbG9wZXIsXG5cdFx0XHRcdHZlcnNpb25cblx0XHRcdH0sIGluZGV4KTtcblx0XHR9KSwgdmlzaWJsZURldmVsb3BlcnNNYXggPCBkZXZlbG9wZXJzLmxlbmd0aCAmJiAvKiBAX19QVVJFX18gKi8ganN4KEZhYiwge1xuXHRcdFx0XCJkYXRhLXRlc3RpZFwiOiBcImZhYi1hZGRcIixcblx0XHRcdG9uQ2xpY2s6IGhhbmRsZVNldFZpc2libGVEZXZlbG9wZXJzTWF4LFxuXHRcdFx0c2l6ZTogXCJzbWFsbFwiLFxuXHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goQWRkLCB7fSlcblx0XHR9KV1cblx0fSldIH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgRGV2ZWxvcGVycyBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPURldmVsb3BlcnMubWpzLm1hcCIsImltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IFR5cG9ncmFwaHkgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvVHlwb2dyYXBoeVwiO1xuaW1wb3J0IExpc3RJdGVtIGZyb20gXCJAbXVpL21hdGVyaWFsL0xpc3RJdGVtXCI7XG5pbXBvcnQgQ2hpcCBmcm9tIFwiQG11aS9tYXRlcmlhbC9DaGlwXCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvRGlzdHJpYnV0aW9uL3N0eWxlcy50c1xuZnVuY3Rpb24gX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX18oKSB7XG5cdHJldHVybiBcIllvdSBoYXZlIHRyaWVkIHRvIHN0cmluZ2lmeSBvYmplY3QgcmV0dXJuZWQgZnJvbSBgY3NzYCBmdW5jdGlvbi4gSXQgaXNuJ3Qgc3VwcG9zZWQgdG8gYmUgdXNlZCBkaXJlY3RseSAoZS5nLiBhcyB2YWx1ZSBvZiB0aGUgYGNsYXNzTmFtZWAgcHJvcCksIGJ1dCByYXRoZXIgaGFuZGVkIHRvIGVtb3Rpb24gc28gaXQgY2FuIGhhbmRsZSBpdCAoZS5nLiBhcyB2YWx1ZSBvZiBgY3NzYCBwcm9wKS5cIjtcbn1cbnZhciBTdHlsZWRUZXh0ID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoVHlwb2dyYXBoeSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTFtbjVkOTIyXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxbW41ZDkyMlwiLFxuXHRsYWJlbDogXCJTdHlsZWRUZXh0XCJcbn0pKChwcm9wcykgPT4gKHtcblx0Zm9udFdlaWdodDogcHJvcHMudGhlbWUuZm9udFdlaWdodC5ib2xkLFxuXHR0ZXh0VHJhbnNmb3JtOiBcImNhcGl0YWxpemVcIlxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlFYVhOMGNtbGlkWFJwYjI0dmMzUjViR1Z6TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVOHdRaUlzSW1acGJHVWlPaUl2YUc5dFpTOXlkVzV1WlhJdmQyOXlheTkyWlhKa1lXTmphVzh2ZG1WeVpHRmpZMmx2TDNCaFkydGhaMlZ6TDNWcExXTnZiWEJ2Ym1WdWRITXZjM0pqTDJOdmJYQnZibVZ1ZEhNdlJHbHpkSEpwWW5WMGFXOXVMM04wZVd4bGN5NTBjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCRGFHbHdJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UTJocGNDYzdYRzVwYlhCdmNuUWdUR2x6ZEVsMFpXMGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlNYVhOMFNYUmxiU2M3WEc1cGJYQnZjblFnVkhsd2IyZHlZWEJvZVNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wxUjVjRzluY21Gd2FIa25PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2VkdobGJXVW5PMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdVM1I1YkdWa1ZHVjRkQ0E5SUhOMGVXeGxaQ2hVZVhCdlozSmhjR2g1S1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIQnliM0J6S1NBOVBpQW9lMXh1SUNCbWIyNTBWMlZwWjJoME9pQndjbTl3Y3k1MGFHVnRaUzVtYjI1MFYyVnBaMmgwTG1KdmJHUXNYRzRnSUhSbGVIUlVjbUZ1YzJadmNtMDZJQ2RqWVhCcGRHRnNhWHBsSnl4Y2JuMHBLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRVJwYzNSTWFYTjBTWFJsYlNBOUlITjBlV3hsWkNoTWFYTjBTWFJsYlNrb2UxeHVJQ0J3WVdSa2FXNW5UR1ZtZERvZ01DeGNiaUFnY0dGa1pHbHVaMUpwWjJoME9pQXdMRnh1SUNCbWJHVjRWM0poY0RvZ0ozZHlZWEFuTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkVhWE4wUTJocGNITWdQU0J6ZEhsc1pXUW9RMmhwY0Nrb2UxeHVJQ0J0WVhKbmFXNVNhV2RvZERvZ05TeGNiaUFnZEdWNGRGUnlZVzV6Wm05eWJUb2dKMk5oY0dsMFlXeHBlbVVuTEZ4dUlDQnRZWEpuYVc1VWIzQTZJRFVzWEc1OUtUdGNiaUpkZlE9PSAqL1wiKTtcbnZhciBEaXN0TGlzdEl0ZW0gPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChMaXN0SXRlbSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTFtbjVkOTIxXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxbW41ZDkyMVwiLFxuXHRsYWJlbDogXCJEaXN0TGlzdEl0ZW1cIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjhhMWd0dVwiLFxuXHRzdHlsZXM6IFwicGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO2ZsZXgtd3JhcDp3cmFwXCJcbn0gOiB7XG5cdG5hbWU6IFwiOGExZ3R1XCIsXG5cdHN0eWxlczogXCJwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjA7ZmxleC13cmFwOndyYXAvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5RWFYTjBjbWxpZFhScGIyNHZjM1I1YkdWekxuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVmswUWlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwyTnZiWEJ2Ym1WdWRITXZSR2x6ZEhKcFluVjBhVzl1TDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQkRhR2x3SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlEyaHBjQ2M3WEc1cGJYQnZjblFnVEdsemRFbDBaVzBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5TWFYTjBTWFJsYlNjN1hHNXBiWEJ2Y25RZ1ZIbHdiMmR5WVhCb2VTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMVI1Y0c5bmNtRndhSGtuTzF4dVhHNXBiWEJ2Y25RZ2RIbHdaU0I3SUZSb1pXMWxJSDBnWm5KdmJTQW5MaTR2TGk0dlZHaGxiV1VuTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVTNSNWJHVmtWR1Y0ZENBOUlITjBlV3hsWkNoVWVYQnZaM0poY0doNUtUeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LSEJ5YjNCektTQTlQaUFvZTF4dUlDQm1iMjUwVjJWcFoyaDBPaUJ3Y205d2N5NTBhR1Z0WlM1bWIyNTBWMlZwWjJoMExtSnZiR1FzWEc0Z0lIUmxlSFJVY21GdWMyWnZjbTA2SUNkallYQnBkR0ZzYVhwbEp5eGNibjBwS1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVScGMzUk1hWE4wU1hSbGJTQTlJSE4wZVd4bFpDaE1hWE4wU1hSbGJTa29lMXh1SUNCd1lXUmthVzVuVEdWbWREb2dNQ3hjYmlBZ2NHRmtaR2x1WjFKcFoyaDBPaUF3TEZ4dUlDQm1iR1Y0VjNKaGNEb2dKM2R5WVhBbkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JFYVhOMFEyaHBjSE1nUFNCemRIbHNaV1FvUTJocGNDa29lMXh1SUNCdFlYSm5hVzVTYVdkb2REb2dOU3hjYmlBZ2RHVjRkRlJ5WVc1elptOXliVG9nSjJOaGNHbDBZV3hwZW1VbkxGeHVJQ0J0WVhKbmFXNVViM0E2SURVc1hHNTlLVHRjYmlKZGZRPT0gKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBEaXN0Q2hpcHMgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChDaGlwLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMW1uNWQ5MjBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTFtbjVkOTIwXCIsXG5cdGxhYmVsOiBcIkRpc3RDaGlwc1wiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwiMTg2dDhmeVwiLFxuXHRzdHlsZXM6IFwibWFyZ2luLXJpZ2h0OjVweDt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO21hcmdpbi10b3A6NXB4XCJcbn0gOiB7XG5cdG5hbWU6IFwiMTg2dDhmeVwiLFxuXHRzdHlsZXM6IFwibWFyZ2luLXJpZ2h0OjVweDt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO21hcmdpbi10b3A6NXB4LyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OUVhWE4wY21saWRYUnBiMjR2YzNSNWJHVnpMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVd0Q2VVSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDBScGMzUnlhV0oxZEdsdmJpOXpkSGxzWlhNdWRITWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdjM1I1YkdWa0lHWnliMjBnSjBCbGJXOTBhVzl1TDNOMGVXeGxaQ2M3WEc1cGJYQnZjblFnUTJocGNDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMME5vYVhBbk8xeHVhVzF3YjNKMElFeHBjM1JKZEdWdElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZEVsMFpXMG5PMXh1YVcxd2IzSjBJRlI1Y0c5bmNtRndhSGtnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5VWVYQnZaM0poY0doNUp6dGNibHh1YVcxd2IzSjBJSFI1Y0dVZ2V5QlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMMVJvWlcxbEp6dGNibHh1Wlhod2IzSjBJR052Ym5OMElGTjBlV3hsWkZSbGVIUWdQU0J6ZEhsc1pXUW9WSGx3YjJkeVlYQm9lU2s4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0Nod2NtOXdjeWtnUFQ0Z0tIdGNiaUFnWm05dWRGZGxhV2RvZERvZ2NISnZjSE11ZEdobGJXVXVabTl1ZEZkbGFXZG9kQzVpYjJ4a0xGeHVJQ0IwWlhoMFZISmhibk5tYjNKdE9pQW5ZMkZ3YVhSaGJHbDZaU2NzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkVhWE4wVEdsemRFbDBaVzBnUFNCemRIbHNaV1FvVEdsemRFbDBaVzBwS0h0Y2JpQWdjR0ZrWkdsdVoweGxablE2SURBc1hHNGdJSEJoWkdScGJtZFNhV2RvZERvZ01DeGNiaUFnWm14bGVGZHlZWEE2SUNkM2NtRndKeXhjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1JHbHpkRU5vYVhCeklEMGdjM1I1YkdWa0tFTm9hWEFwS0h0Y2JpQWdiV0Z5WjJsdVVtbG5hSFE2SURVc1hHNGdJSFJsZUhSVWNtRnVjMlp2Y20wNklDZGpZWEJwZEdGc2FYcGxKeXhjYmlBZ2JXRnlaMmx1Vkc5d09pQTFMRnh1ZlNrN1hHNGlYWDA9ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IERpc3RDaGlwcywgRGlzdExpc3RJdGVtLCBTdHlsZWRUZXh0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0eWxlcy5tanMubWFwIiwiaW1wb3J0IHsgZmlsZVNpemVTSSwgZm9ybWF0TGljZW5zZSB9IGZyb20gXCIuLi8uLi91dGlscy91dGlscy5tanNcIjtcbmltcG9ydCB7IERpc3RDaGlwcywgRGlzdExpc3RJdGVtLCBTdHlsZWRUZXh0IH0gZnJvbSBcIi4vc3R5bGVzLm1qc1wiO1xuaW1wb3J0IHsgRnJhZ21lbnQsIGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCBMaXN0IGZyb20gXCJAbXVpL21hdGVyaWFsL0xpc3RcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9EaXN0cmlidXRpb24vRGlzdC50c3hcbnZhciBEaXN0Q2hpcCA9ICh7IG5hbWUsIGNoaWxkcmVuIH0pID0+IGNoaWxkcmVuID8gLyogQF9fUFVSRV9fICovIGpzeChEaXN0Q2hpcHMsIHsgbGFiZWw6IC8qIEBfX1BVUkVfXyAqLyBqc3hzKEZyYWdtZW50LCB7IGNoaWxkcmVuOiBbXG5cdC8qIEBfX1BVUkVfXyAqLyBqc3goXCJiXCIsIHsgY2hpbGRyZW46IG5hbWUgfSksXG5cdFwiOiBcIixcblx0Y2hpbGRyZW5cbl0gfSkgfSkgOiBudWxsO1xudmFyIERpc3QgPSAoeyBwYWNrYWdlTWV0YSB9KSA9PiB7XG5cdGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcblx0aWYgKCFwYWNrYWdlTWV0YT8ubGF0ZXN0KSByZXR1cm4gbnVsbDtcblx0Y29uc3QgeyBkaXN0LCBsaWNlbnNlIH0gPSBwYWNrYWdlTWV0YS5sYXRlc3Q7XG5cdGlmICghZGlzdCAmJiAhbGljZW5zZSkgcmV0dXJuIG51bGw7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KExpc3QsIHtcblx0XHRzdWJoZWFkZXI6IC8qIEBfX1BVUkVfXyAqLyBqc3goU3R5bGVkVGV4dCwge1xuXHRcdFx0dmFyaWFudDogXCJzdWJ0aXRsZTFcIixcblx0XHRcdGNoaWxkcmVuOiB0KFwic2lkZWJhci5kaXN0cmlidXRpb24udGl0bGVcIilcblx0XHR9KSxcblx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeHMoRGlzdExpc3RJdGVtLCB7IGNoaWxkcmVuOiBbXG5cdFx0XHRkaXN0Py5maWxlQ291bnQgJiYgLyogQF9fUFVSRV9fICovIGpzeChEaXN0Q2hpcCwge1xuXHRcdFx0XHRuYW1lOiB0KFwic2lkZWJhci5kaXN0cmlidXRpb24uZmlsZS1jb3VudFwiKSxcblx0XHRcdFx0Y2hpbGRyZW46IGAke2Rpc3QuZmlsZUNvdW50fWBcblx0XHRcdH0pLFxuXHRcdFx0ZGlzdD8udW5wYWNrZWRTaXplID8gLyogQF9fUFVSRV9fICovIGpzeChEaXN0Q2hpcCwge1xuXHRcdFx0XHRuYW1lOiB0KFwic2lkZWJhci5kaXN0cmlidXRpb24uc2l6ZVwiKSxcblx0XHRcdFx0Y2hpbGRyZW46IGZpbGVTaXplU0koZGlzdC51bnBhY2tlZFNpemUpXG5cdFx0XHR9KSA6IG51bGwsXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KERpc3RDaGlwLCB7XG5cdFx0XHRcdG5hbWU6IHQoXCJzaWRlYmFyLmRpc3RyaWJ1dGlvbi5saWNlbnNlXCIpLFxuXHRcdFx0XHRjaGlsZHJlbjogZm9ybWF0TGljZW5zZShsaWNlbnNlKVxuXHRcdFx0fSlcblx0XHRdIH0pXG5cdH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgRGlzdCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPURpc3QubWpzLm1hcCIsImltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IE1hdGVyaWFsVUlTdmdJY29uIGZyb20gXCJAbXVpL21hdGVyaWFsL1N2Z0ljb25cIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9JY29ucy9TdmdJY29uLnRzeFxudmFyIFN2Z0ljb24gPSBmdW5jdGlvbiBTdmdJY29uKHsgcmVmLCBzaXplID0gXCJtZFwiLCB0aXRsZSwgLi4ucHJvcHMgfSkge1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTdHlsZWRNYXRlcmlhbFVJU3ZnSWNvbiwge1xuXHRcdHNpemUsXG5cdFx0dGl0bGVBY2Nlc3M6IHRpdGxlLFxuXHRcdC4uLnByb3BzLFxuXHRcdHJlZlxuXHR9KTtcbn07XG52YXIgZ2V0U2l6ZSA9IChzaXplKSA9PiB7XG5cdGlmIChzaXplID09PSBcIm1kXCIpIHJldHVybiB7XG5cdFx0d2lkdGg6IDE4LFxuXHRcdGhlaWdodDogMThcblx0fTtcblx0cmV0dXJuIHtcblx0XHR3aWR0aDogMTQsXG5cdFx0aGVpZ2h0OiAxNlxuXHR9O1xufTtcbnZhciBTdHlsZWRNYXRlcmlhbFVJU3ZnSWNvbiA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKE1hdGVyaWFsVUlTdmdJY29uLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlYnJ4NmtxMFwiIH0gOiB7XG5cdHRhcmdldDogXCJlYnJ4NmtxMFwiLFxuXHRsYWJlbDogXCJTdHlsZWRNYXRlcmlhbFVJU3ZnSWNvblwiXG59KSgoeyBzaXplIH0pID0+ICh7IC4uLmdldFNpemUoc2l6ZSkgfSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlKWTI5dWN5OVRkbWRKWTI5dUxuUnplQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZ6UTJkRElpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlKWTI5dWN5OVRkbWRKWTI5dUxuUnplQ0lzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVTNablNXTnZibEJ5YjNCeklIMGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlUZG1kSlkyOXVKenRjYm1sdGNHOXlkQ0I3SUdSbFptRjFiSFFnWVhNZ1RXRjBaWEpwWVd4VlNWTjJaMGxqYjI0Z2ZTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMU4yWjBsamIyNG5PMXh1YVcxd2IzSjBJRkpsWVdOMElHWnliMjBnSjNKbFlXTjBKenRjYmx4dWRIbHdaU0JUYVhwbElEMGdKM050SnlCOElDZHRaQ2M3WEc1Y2JuUjVjR1VnVUhKdmNITWdQU0JQYldsMFBGTjJaMGxqYjI1UWNtOXdjeXdnSjJOdmJHOXlKeUI4SUNkbWIyNTBjMmw2WlNjZ2ZDQW5ibUZ0WlNjK0lDWWdlMXh1SUNCemFYcGxQem9nVTJsNlpUdGNiaUFnZEdsMGJHVS9PaUJ6ZEhKcGJtYzdYRzRnSUdOc1lYTnpUbUZ0WlQ4NklITjBjbWx1Wnp0Y2JuMDdYRzVjYm1OdmJuTjBJRk4yWjBsamIyNGdQU0JtZFc1amRHbHZiaUJUZG1kSlkyOXVLSHRjYmlBZ2NtVm1MRnh1SUNCemFYcGxJRDBnSjIxa0p5eGNiaUFnZEdsMGJHVXNYRzRnSUM0dUxuQnliM0J6WEc1OU9pQlFjbTl3Y3lBbUlIc2djbVZtUHpvZ1VtVmhZM1F1VW1WbVQySnFaV04wUEZOV1IxTldSMFZzWlcxbGJuUWdmQ0J1ZFd4c1BpQjlLU0I3WEc0Z0lISmxkSFZ5YmlBOFUzUjViR1ZrVFdGMFpYSnBZV3hWU1ZOMlowbGpiMjRnYzJsNlpUMTdjMmw2WlgwZ2RHbDBiR1ZCWTJObGMzTTllM1JwZEd4bGZTQjdMaTR1Y0hKdmNITjlJSEpsWmoxN2NtVm1mU0F2UGp0Y2JuMDdYRzVjYm1WNGNHOXlkQ0I3SUZOMlowbGpiMjRnZlR0Y2JseHVZMjl1YzNRZ1oyVjBVMmw2WlNBOUlDaHphWHBsT2lCVGFYcGxLU0E5UGlCN1hHNGdJR2xtSUNoemFYcGxJRDA5UFNBbmJXUW5LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lIZHBaSFJvT2lBeE9DeGNiaUFnSUNBZ0lHaGxhV2RvZERvZ01UZ3NYRzRnSUNBZ2ZUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQjdYRzRnSUNBZ2QybGtkR2c2SURFMExGeHVJQ0FnSUdobGFXZG9kRG9nTVRZc1hHNGdJSDA3WEc1OU8xeHVYRzVqYjI1emRDQlRkSGxzWldSTllYUmxjbWxoYkZWSlUzWm5TV052YmlBOUlITjBlV3hsWkNoTllYUmxjbWxoYkZWSlUzWm5TV052YmlrOGV5QnphWHBsT2lCVGFYcGxJSDArS0NoN0lITnBlbVVnZlNrZ1BUNGdLSHRjYmlBZ0xpNHVaMlYwVTJsNlpTaHphWHBsS1N4Y2JuMHBLVHRjYmlKZGZRPT0gKi9cIik7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IFN2Z0ljb24gfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9U3ZnSWNvbi5tanMubWFwIiwiaW1wb3J0IHsgU3ZnSWNvbiB9IGZyb20gXCIuL1N2Z0ljb24ubWpzXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvSWNvbnMvVmVyc2lvbi50c3hcbnZhciBWZXJzaW9uID0gZnVuY3Rpb24gVmVyc2lvbih7IHJlZiwgLi4ucHJvcHMgfSkge1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTdmdJY29uLCB7XG5cdFx0aGVpZ2h0OiAxNixcblx0XHR2aWV3Qm94OiBcIjAgMCAxNCAxNlwiLFxuXHRcdHdpZHRoOiAxNCxcblx0XHQuLi5wcm9wcyxcblx0XHRyZWYsXG5cdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goXCJwYXRoXCIsIHtcblx0XHRcdGQ6IFwiTTEzIDNIN2MtLjU1IDAtMSAuNDUtMSAxdjhjMCAuNTUuNDUgMSAxIDFoNmMuNTUgMCAxLS40NSAxLTFWNGMwLS41NS0uNDUtMS0xLTF6bS0xIDhIOFY1aDR2NnpNNCA0aDF2MUg0djZoMXYxSDRjLS41NSAwLTEtLjQ1LTEtMVY1YzAtLjU1LjQ1LTEgMS0xek0xIDVoMXYxSDF2NGgxdjFIMWMtLjU1IDAtMS0uNDUtMS0xVjZjMC0uNTUuNDUtMSAxLTF6XCIsXG5cdFx0XHRmaWxsUnVsZTogXCJldmVub2RkXCJcblx0XHR9KVxuXHR9KTtcbn07XG5WZXJzaW9uLmRpc3BsYXlOYW1lID0gXCJWZXJzaW9uXCI7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IFZlcnNpb24gfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9VmVyc2lvbi5tanMubWFwIiwiaW1wb3J0IHsgU3ZnSWNvbiB9IGZyb20gXCIuL1N2Z0ljb24ubWpzXCI7XG5pbXBvcnQgeyBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvSWNvbnMvVGltZS50c3hcbnZhciBUaW1lID0gZnVuY3Rpb24gVGltZSh7IHJlZiwgLi4ucHJvcHMgfSkge1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoU3ZnSWNvbiwge1xuXHRcdHZpZXdCb3g6IFwiMCAwIDI0IDI0XCIsXG5cdFx0Li4ucHJvcHMsXG5cdFx0cmVmLFxuXHRcdGNoaWxkcmVuOiBbXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFwicGF0aFwiLCB7IGQ6IFwiTTExLjk5IDJDNi40NyAyIDIgNi40OCAyIDEyczQuNDcgMTAgOS45OSAxMEMxNy41MiAyMiAyMiAxNy41MiAyMiAxMlMxNy41MiAyIDExLjk5IDJ6TTEyIDIwYy00LjQyIDAtOC0zLjU4LTgtOHMzLjU4LTggOC04IDggMy41OCA4IDgtMy41OCA4LTggOHpcIiB9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goXCJwYXRoXCIsIHtcblx0XHRcdFx0ZDogXCJNMCAwaDI0djI0SDB6XCIsXG5cdFx0XHRcdGZpbGw6IFwibm9uZVwiXG5cdFx0XHR9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goXCJwYXRoXCIsIHsgZDogXCJNMTIuNSA3SDExdjZsNS4yNSAzLjE1Ljc1LTEuMjMtNC41LTIuNjd6XCIgfSlcblx0XHRdXG5cdH0pO1xufTtcblRpbWUuZGlzcGxheU5hbWUgPSBcIlRpbWVcIjtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgVGltZSB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1UaW1lLm1qcy5tYXAiLCJpbXBvcnQgeyBTdmdJY29uIH0gZnJvbSBcIi4vU3ZnSWNvbi5tanNcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9JY29ucy9GaWxlQmluYXJ5LnRzeFxudmFyIEZpbGVCaW5hcnkgPSBmdW5jdGlvbiBGaWxlQmluYXJ5KHsgcmVmLCAuLi5wcm9wcyB9KSB7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFN2Z0ljb24sIHtcblx0XHR2aWV3Qm94OiBcIjAgMCAxNCAxNlwiLFxuXHRcdC4uLnByb3BzLFxuXHRcdHJlZixcblx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChcInBhdGhcIiwgeyBkOiBcIk04LjUgMUgxYy0uNTUgMC0xIC40NS0xIDF2MTJjMCAuNTUuNDUgMSAxIDFoMTBjLjU1IDAgMS0uNDUgMS0xVjQuNUw4LjUgMXpNMTEgMTRIMVYyaDdsMyAzdjl6TTUgNi45OEwzLjUgOC41IDUgMTBsLS41IDFMMiA4LjUgNC41IDZsLjUuOTh6TTcuNSA2TDEwIDguNSA3LjUgMTFsLS41LS45OEw4LjUgOC41IDcgN2wuNS0xelwiIH0pXG5cdH0pO1xufTtcbkZpbGVCaW5hcnkuZGlzcGxheU5hbWUgPSBcIkZpbGVCaW5hcnlcIjtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgRmlsZUJpbmFyeSB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1GaWxlQmluYXJ5Lm1qcy5tYXAiLCJpbXBvcnQgeyBTdmdJY29uIH0gZnJvbSBcIi4vU3ZnSWNvbi5tanNcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9JY29ucy9MYXcudHN4XG52YXIgTGF3ID0gZnVuY3Rpb24gTGF3KHsgcmVmLCAuLi5wcm9wcyB9KSB7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFN2Z0ljb24sIHtcblx0XHR2aWV3Qm94OiBcIjAgMCAxNCAxNlwiLFxuXHRcdC4uLnByb3BzLFxuXHRcdHJlZixcblx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChcInBhdGhcIiwge1xuXHRcdFx0ZDogXCJNNyA0Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTNi4xNyAxIDcgMXMxLjUuNjcgMS41IDEuNVM3LjgzIDQgNyA0em03IDZjMCAxLjExLS44OSAyLTIgMmgtMWMtMS4xMSAwLTItLjg5LTItMmwyLTRoLTFjLS41NSAwLTEtLjQ1LTEtMUg4djhjLjQyIDAgMSAuNDUgMSAxaDFjLjQyIDAgMSAuNDUgMSAxSDNjMC0uNTUuNTgtMSAxLTFoMWMwLS41NS41OC0xIDEtMWguMDNMNiA1SDVjMCAuNTUtLjQ1IDEtMSAxSDNsMiA0YzAgMS4xMS0uODkgMi0yIDJIMmMtMS4xMSAwLTItLjg5LTItMmwyLTRIMVY1aDNjMC0uNTUuNDUtMSAxLTFoNGMuNTUgMCAxIC40NSAxIDFoM3YxaC0xbDIgNHpNMi41IDdMMSAxMGgzTDIuNSA3ek0xMyAxMGwtMS41LTMtMS41IDNoM3pcIixcblx0XHRcdGZpbGxSdWxlOiBcImV2ZW5vZGRcIlxuXHRcdH0pXG5cdH0pO1xufTtcbkxhdy5kaXNwbGF5TmFtZSA9IFwiTGF3XCI7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IExhdyB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1MYXcubWpzLm1hcCIsImltcG9ydCB7IFN2Z0ljb24gfSBmcm9tIFwiLi9TdmdJY29uLm1qc1wiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0ljb25zL0xpY2Vuc2UudHN4XG52YXIgTGljZW5zZSA9IGZ1bmN0aW9uIExpY2Vuc2UoeyByZWYsIC4uLnByb3BzIH0pIHtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKFN2Z0ljb24sIHtcblx0XHR2aWV3Qm94OiBcIjAgMCA0OTAuNjUyIDQ5MC42NTJcIixcblx0XHQuLi5wcm9wcyxcblx0XHRyZWYsXG5cdFx0Y2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KFwicGF0aFwiLCB7IGQ6IFwiTTQ1Ni42MDcgOS45MDRIMzQuMDRDMTUuMjY5IDkuOTA0IDAgMjUuMTcgMCA0My45NDVWMzEwLjE3YzAgMTguNzcgMTUuMjY5IDM0LjAzOSAzNC4wNCAzNC4wMzloMjYwLjY0MmMtNC4wNDMtMTAuMzUtNi41MzQtMjEuNzM3LTcuMTU5LTMzLjc0MmwtMjUzLjk3NC0uMjk3LjQ5MS0yNjYuNzE4IDQyMy4wNjMuNDkzVjMxMC4xN2MwIC4yNzktLjIzLjQ5Mi0uNDk1LjQ5MmwtMTUuMjUxLS4wMTljLS42MzcgMTEuOTQyLTMuMTExIDIzLjI2My03LjEzOCAzMy41NjVoMjIuMzg5YzE4Ljc3NyAwIDM0LjA0NS0xNS4yNyAzNC4wNDUtMzQuMDM5VjQzLjk0NWMtLjAwMS0xOC43NzUtMTUuMjY4LTM0LjA0MS0zNC4wNDYtMzQuMDQxelwiIH0pLCAvKiBAX19QVVJFX18gKi8ganN4KFwicGF0aFwiLCB7IGQ6IFwiTTM2NC40NDcgMzgxLjAyYzMzLjM1NCAwIDYwLjM4Ni0zNC4xNTIgNjAuMzg2LTc2LjI4OSAwLTQyLjEzMS0yNy4wMzEtNzYuMjg0LTYwLjM4Ni03Ni4yODQtMzMuMzUgMC02MC4zOCAzNC4xNTMtNjAuMzggNzYuMjg0IDAgNDIuMTM3IDI3LjAzMSA3Ni4yODkgNjAuMzggNzYuMjg5ek04MS4wODcgMTE4LjM0NWgxNDkuNTYxYzkuMjczIDAgMTYuNzc2LTcuNDk5IDE2Ljc3Ni0xNi43NzIgMC05LjI3MS03LjUwNC0xNi43NzUtMTYuNzc2LTE2Ljc3NUg4MS4wODdjLTkuMjcxIDAtMTYuNzcxIDcuNTA0LTE2Ljc3MSAxNi43NzUgMCA5LjI3MyA3LjQ5OSAxNi43NzIgMTYuNzcxIDE2Ljc3MnptMzM0LjA4IDU4LjcxNmMwLTkuMjczLTcuNTA1LTE2Ljc3OS0xNi43NzYtMTYuNzc5SDgxLjA4N2MtOS4yNzEgMC0xNi43NzEgNy41MDYtMTYuNzcxIDE2Ljc3OSAwIDkuMjcxIDcuNDk5IDE2Ljc3IDE2Ljc3MSAxNi43N2gzMTcuMzA0YzkuMjcxIDAgMTYuNzc2LTcuNDk4IDE2Ljc3Ni0xNi43N3ptLTMzNC4wOCA1OC43MDdjLTkuMjcxIDAtMTYuNzcxIDcuNTA0LTE2Ljc3MSAxNi43NzEgMCA5LjI3MyA3LjQ5OSAxNi43NzcgMTYuNzcxIDE2Ljc3N2gxNDkuNTYxYzkuMjczIDAgMTYuNzc2LTcuNTA0IDE2Ljc3Ni0xNi43NzcgMC05LjI2OC03LjUwNC0xNi43NzEtMTYuNzc2LTE2Ljc3MUg4MS4wODd6bTMzNC4zMzggMTM4LjY4NGMtLjA2NS4wODItMjMuMjk1IDI2Ljg2OS01NS43MjggMjMuMDgxbDQwLjMzMSA4MS41NzdhMi45MyAyLjkzIDAgMDAyLjYzNyAxLjYzOWguMjE1YTIuOTUgMi45NSAwIDAwMi41NzEtMi4wMzFsMTAuMTc0LTMxLjIzNGEzLjAyNCAzLjAyNCAwIDAxMS40ODgtMS43MjggMy4wNyAzLjA3IDAgMDEyLjI4LS4xM2wzMC45NzcgMTAuODhjLjMyNC4xMTIuNjUxLjE2My45OC4xNjMuODM2IDAgMS42MjMtLjM0OCAyLjE5NS0uOTgyLjgwMy0uOS45NjQtMi4xOC40NDEtMy4yNDRsLTM4LjU2MS03Ny45OTF6bS0xMDEuNzcyLjE0NmMtLjA0OS0uMDQ3LS4xMTgtLjA5Ni0uMTg1LS4xNDZsLTM4LjU2MSA3Ny45NzNhMi45NTMgMi45NTMgMCAwMC40NDggMy4yNjIgMi45NjEgMi45NjEgMCAwMDMuMTc0LjgxOWwzMC45NzgtMTAuODhjLjMyOC0uMTEzLjY1OC0uMTYuOTgyLS4xNi40NDIgMCAuODg0LjA5NiAxLjI5NC4yOS43MDYuMzYgMS4yNDUuOTg3IDEuNDkzIDEuNzQxbDEwLjE3MyAzMS4yMjFjLjM3OCAxLjEzMyAxLjM5MSAxLjkzNiAyLjU3MiAyLjAxNGguMjFhMi45NSAyLjk1IDAgMDAyLjY0Mi0xLjYyMWwyNi4yMDYtNTMuMDEtMTYuNzU1LTMzLjg5M2MtLjA2Ni0uMDM0LTE0LjY3Mi01Ljg4NC0yNC42NzEtMTcuNjF6XCIgfSldXG5cdH0pO1xufTtcbkxpY2Vuc2UuZGlzcGxheU5hbWUgPSBcIkxpY2Vuc2VcIjtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgTGljZW5zZSB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1MaWNlbnNlLm1qcy5tYXAiLCJpbXBvcnQgeyBTdmdJY29uIH0gZnJvbSBcIi4vU3ZnSWNvbi5tanNcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9JY29ucy9FYXJ0aC50c3hcbnZhciBFYXJ0aCA9IGZ1bmN0aW9uIEVhcnRoKHsgcmVmLCAuLi5wcm9wcyB9KSB7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhTdmdJY29uLCB7XG5cdFx0dmlld0JveDogXCIwIDAgNDUgNDVcIixcblx0XHQuLi5wcm9wcyxcblx0XHRyZWYsXG5cdFx0Y2hpbGRyZW46IFtcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3hzKFwiZGVmc1wiLCB7IGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChcImNsaXBQYXRoXCIsIHtcblx0XHRcdFx0aWQ6IFwicHJlZml4X19hXCIsXG5cdFx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFwicGF0aFwiLCB7IGQ6IFwiTTAgMzZoMzZWMEgwdjM2elwiIH0pXG5cdFx0XHR9KSwgLyogQF9fUFVSRV9fICovIGpzeChcImNsaXBQYXRoXCIsIHtcblx0XHRcdFx0aWQ6IFwicHJlZml4X19iXCIsXG5cdFx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFwicGF0aFwiLCB7IGQ6IFwiTTE4IDM2QzguMDU5IDM2IDAgMjcuOTQxIDAgMThTOC4wNTkgMCAxOCAwczE4IDguMDU5IDE4IDE4LTguMDU5IDE4LTE4IDE4elwiIH0pXG5cdFx0XHR9KV0gfSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFwiZ1wiLCB7XG5cdFx0XHRcdGNsaXBQYXRoOiBcInVybCgjcHJlZml4X19hKVwiLFxuXHRcdFx0XHR0cmFuc2Zvcm06IFwibWF0cml4KDEuMjUgMCAwIC0xLjI1IDAgNDUpXCIsXG5cdFx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFwicGF0aFwiLCB7XG5cdFx0XHRcdFx0ZDogXCJNMzYgMThjMC05Ljk0MS04LjA1OS0xOC0xOC0xOFMwIDguMDU5IDAgMThzOC4wNTkgMTggMTggMTggMTgtOC4wNTkgMTgtMThcIixcblx0XHRcdFx0XHRmaWxsOiBcIiM4OGM5ZjlcIlxuXHRcdFx0XHR9KVxuXHRcdFx0fSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFwiZ1wiLCB7XG5cdFx0XHRcdGNsaXBQYXRoOiBcInVybCgjcHJlZml4X19iKVwiLFxuXHRcdFx0XHR0cmFuc2Zvcm06IFwibWF0cml4KDEuMjUgMCAwIC0xLjI1IDAgNDUpXCIsXG5cdFx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFwicGF0aFwiLCB7XG5cdFx0XHRcdFx0ZDogXCJNMy42MjcgMjguOTUyYy0uNDUgMi45MyAyLjE5NSA0LjE1NiAzLjYwNyA0LjQ3IDEuNDEyLjMxNCAyLjc3Ni42MiAyLjkzMy0uMDA2LjE1Ni0uNjI4LjMxMS0xLjQ2IDEuMTczLTEuMTQ4Ljg2Mi4zMTQgMy4wNDMuNTYgNC4wNjMgMS4zNDIgMS4wMi43ODMgMi4yNDQuNzg3IDMuMjY0LjQ3MyAxLjAyLS4zMTMgMy44NzctLjIyNyAzLjI1LTEuMTY3LS42MjctLjk0LTEuODI1LS44MjctMi40NS0xLjkyNC0uNjI4LTEuMDk5LjE3MS0xLjgyNiAxLjAzMy0xLjgyNi44NjUgMCAxLjcxLS4xMzUgMi4yNi43MjcuNTQ4Ljg2My0uMzgzIDIuNDYzLjMyNCAyLjM1Ny43MDYtLjEwNiAxLjQ3Ny0uODY2IDIuMDMtMi4wNDMuNTQ3LTEuMTc2IDEuNDA4LS40NyAxLjcyMy0xLjE3Ni4zMTMtLjcwNSAyLjA0LTIuMDM5IDEuMTc3LTEuODA0LS44NjQuMjM2LTEuNzI2LjM5Mi0xLjk2LS40Ny0uMjM3LS44NjMuMzg4LTEuNzI2LS4yMzctMS42NDctLjYyNy4wOC0uODYtLjA4OS0xLjcyNS0uMDA0LS44NjIuMDgzLTEuMzMzLjYzMS0yLjAzOS0uNTQ1LS43MDUtMS4xNzUtMS4yNTQtMS45Ni0xLjU2Ny0yLjUwOS0uMzE1LS41NDktLjc4NS0uODYtLjU1LTEuOTYuMjM1LTEuMDk5LS42MjgtLjc4NS0uNjI4LjE1NiAwIC45NC0uNTQ4IDEuMDk4LTEuMjUzLjk0Mi0uNzA2LS4xNTctMS44MDMtLjMxMy0xLjcyNC0xLjA5OC4wNzctLjc4NC0uMzE1LTEuNzI1LjMxMy0yLjM1Mi42MjctLjYyOSAxLjMzLjA3NiAxLjcyMy0uMTU4LjM5My0uMjM3IDEuNTI1LS4wMjMgMS4xMzMtLjQxNi0uMzkzLS4zOS0xLjc2LS44OC0uOTc2LTEuNTA5YTQuODMxIDQuODMxIDAgMDExLjg5My0uOTA3Yy4zMTMtLjA4LjA2Mi43NzQgMS4wODMgMS4xNjYgMS4wMTcuMzkyIDIuNjA4IDEuMjkgMyAuNTg0LjM5MS0uNzA1LjMzOC0uNTk1IDEuNzUtLjc1IDEuNDEtLjE1NiAxLjc5LS41ODUgMi40MTctMS45MTcuNjI2LTEuMzMzLjQ0Ni0xLjE5MiAxLjQ2Mi0xLjU4IDEuMDIxLS4zOTQgMS42NzgtLjIyMy43MzctMS4wODctLjk0LS44Ni0xLjY1LS44MTQtMi4xOTktMS44MzMtLjU1LTEuMDE3LS4xNTMtMS43My0xLjI1LTIuNzVBMjAuNzU1IDIwLjc1NSAwIDAwMjQgNGMtLjYxOC0uMzctMi4xNjItMi4wNy0zLjA4My0yLjY2Ny0uODM0LS41NC0xLjA4MyAwLTEuMDgzIDBzLjI1NiAxLjY2Ny45NjQgMi4zNzJjLjcwNC43MDUgMS4xMDUgMy4zNDQuODcgNC4xMjgtLjIzNS43ODMtMS4zNiAxLjAyLTEuNzUgMS4zMzMtLjM5My4zMTItMS40MTggMS41NDgtMS40MTggMi4zMzQgMCAuNzg0IDEuNzEgMi44MSAxLjcxIDIuODEuMjE4LTEuMDg5LTEuMDM5LjMyOC0xLjYyNy41MjMtLjQ3LjE1Ny0xLjU0MiAxLjY1Ni0yLjQ1OSAxLjgxNC0uOTE2LjE2LTEuMzYzLjctMi4wNjggMS4yNS0uNzA2LjU1LTIuNDMgMS4zMzItMi4zNTMgMi4xOTUuMDguODYyLTEuNzI1IDEuNTY4LTIuMDM4IDEuNTY4LS4zMTQgMC0xLjAxOSAwLTEuNjQ3IDEuMDk4LS42MjcgMS4wOTgtMS43MjUgMi4xOTYtMS40MSAyLjk4LjMxMi43ODMuMzkxIDEuNzI2LjIzMyAyLjU4OC0uMTU2Ljg2Mi0xLjMzMiAxLjE3Ni0xLjU2Ny45NDEtLjIzNS0uMjM2LTEuNDg5LTEuMzM1LTEuNjQ3LS4zMTVcIixcblx0XHRcdFx0XHRmaWxsOiBcIiM1YzkxM2JcIlxuXHRcdFx0XHR9KVxuXHRcdFx0fSlcblx0XHRdXG5cdH0pO1xufTtcbkVhcnRoLmRpc3BsYXlOYW1lID0gXCJFYXJ0aFwiO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBFYXJ0aCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1FYXJ0aC5tanMubWFwIiwiLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0ljb25zL0RldnNJY29ucy90eXBlc2NyaXB0LnN2Z1xudmFyIHR5cGVzY3JpcHRfZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTXpZaUlHaGxhV2RvZEQwaU16WWlJSFpwWlhkQ2IzZzlJakFnTUNBek5pQXpOaUlnWm1sc2JEMGlibTl1WlNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0S1BIQmhkR2dnWkQwaVRUQWdNRWd6TmxZek5rZ3dWakJhSWlCbWFXeHNQU0lqTVRrM05rUXlJaTgrQ2p4d1lYUm9JR1E5SWsweE5DNHdNVE0zSURFeUxqSXdNekZXTWpWSU1URXVNVFUzTWxZeE1pNHlNRE14U0RFMExqQXhNemRhVFRFM0xqa3dOeklnTVRJdU1qQXpNVll4TkM0ME1qWTRTRGN1TXpReU56ZFdNVEl1TWpBek1VZ3hOeTQ1TURjeVdrMHlNeTR6TnpRZ01qVklNakF1TlRZeE5Vd3lNQzQxTnpreElESXlMamM0TlRKSU1qTXVNemMwUXpJMExqQXhNamNnTWpJdU56ZzFNaUF5TkM0MU5URTRJREl5TGpZek9EY2dNalF1T1RreE1pQXlNaTR6TkRVM1F6STFMalF6TURjZ01qSXVNRFEyT1NBeU5TNDNOalEySURJeExqWXdOelFnTWpVdU9Ua3pNaUF5TVM0d01qY3pRekkyTGpJeU1UY2dNakF1TkRReE5DQXlOaTR6TXpVNUlERTVMamN5T1RVZ01qWXVNek0xT1NBeE9DNDRPVEUyVmpFNExqTXdNamRETWpZdU16TTFPU0F4Tnk0Mk5qazVJREkyTGpJM01UVWdNVGN1TVRFek15QXlOaTR4TkRJMklERTJMall6TWpoRE1qWXVNREV6TnlBeE5pNHhORFkxSURJMUxqZ3lNeklnTVRVdU56TTVNeUF5TlM0MU56RXpJREUxTGpReE1URkRNalV1TXpFNU15QXhOUzR3T0RNZ01qVXVNREExT1NBeE5DNDRNelk1SURJMExqWXpNRGtnTVRRdU5qY3lPVU15TkM0eU5qRTNJREUwTGpVd09EZ2dNak11T0RNMk9TQXhOQzQwTWpZNElESXpMak0xTmpRZ01UUXVOREkyT0VneU1DNDFNRGc0VmpFeUxqSXdNekZJTWpNdU16VTJORU15TkM0eU1qTTJJREV5TGpJd016RWdNalV1TURFME5pQXhNaTR6TkRrMklESTFMamN5T1RVZ01USXVOalF5TmtNeU5pNDBOVEF5SURFeUxqa3pOVFVnTWpjdU1EY3hNeUF4TXk0ek5UUTFJREkzTGpVNU1qZ2dNVE11T0RrNU5FTXlPQzR4TWpBeElERTBMalEwTkRNZ01qZ3VOVEkzTXlBeE5TNHdPRGc1SURJNExqZ3hORFVnTVRVdU9ETXpRekk1TGpFd01UWWdNVFl1TlRjM01TQXlPUzR5TkRVeElERTNMalF3TmpJZ01qa3VNalExTVNBeE9DNHpNakF6VmpFNExqZzVNVFpETWprdU1qUTFNU0F4T1M0M09UazRJREk1TGpFd01UWWdNakF1TmpJNE9TQXlPQzQ0TVRRMUlESXhMak0zT0RsRE1qZ3VOVEkzTXlBeU1pNHhNak1nTWpndU1USXdNU0F5TWk0M05qYzJJREkzTGpVNU1qZ2dNak11TXpFeU5VTXlOeTR3TnpFeklESXpMamcxTVRZZ01qWXVORFV6TVNBeU5DNHlOamMySURJMUxqY3pPRE1nTWpRdU5UWXdOVU15TlM0d01qTTBJREkwTGpnMU16VWdNalF1TWpNMU5DQXlOU0F5TXk0ek56UWdNalZhVFRJeUxqRTROelVnTVRJdU1qQXpNVll5TlVneE9TNHpNakl6VmpFeUxqSXdNekZJTWpJdU1UZzNOVm9pSUdacGJHdzlJbmRvYVhSbElpOCtDand2YzNablBnbz1cIjtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgdHlwZXNjcmlwdF9kZWZhdWx0IGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dHlwZXNjcmlwdC5tanMubWFwIiwiaW1wb3J0IHR5cGVzY3JpcHRfZGVmYXVsdCBmcm9tIFwiLi90eXBlc2NyaXB0Lm1qc1wiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0ljb25zL0RldnNJY29ucy9UeXBlU2NyaXB0LnRzeFxuZnVuY3Rpb24gVHlwZVNjcmlwdCgpIHtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXCJpbWdcIiwge1xuXHRcdGFsdDogXCJ0eXBlc2NyaXB0XCIsXG5cdFx0aGVpZ2h0OiBcIjIwXCIsXG5cdFx0c3JjOiB0eXBlc2NyaXB0X2RlZmF1bHQsXG5cdFx0d2lkdGg6IFwiMjBcIlxuXHR9KTtcbn1cbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgVHlwZVNjcmlwdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1UeXBlU2NyaXB0Mi5tanMubWFwIiwiLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0ljb25zL0RldnNJY29ucy9jb21tb25qcy5zdmdcbnZhciBjb21tb25qc19kZWZhdWx0ID0gXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNellpSUdobGFXZG9kRDBpTXpZaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TmlBek5pSWdabWxzYkQwaWJtOXVaU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JajRLUEhCaGRHZ2daRDBpVFRBZ01FZ3pObFl6Tmtnd1ZqQmFJaUJtYVd4c1BTSWpSa1pFTVRBeUlpOCtDanh3WVhSb0lHUTlJazA1TGpReE1URXpJREl4TGpjeE1EbElNVEl1TWpVNE9FTXhNaTR5TVRFNUlESXlMalU0T1RnZ01URXVPVGN4TnlBeU15NHpOall5SURFeExqVXpPREVnTWpRdU1EUkRNVEV1TVRFd05DQXlOQzQzTURnZ01UQXVOVEUxTmlBeU5TNHlNekkwSURrdU56VXpPVEVnTWpVdU5qRXpNME00TGprNU1qRTVJREkxTGprNE9ETWdPQzR3T0RZNU1TQXlOaTR4TnpVNElEY3VNRE00TURrZ01qWXVNVGMxT0VNMkxqSXdNRElnTWpZdU1UYzFPQ0ExTGpRMU1ESWdNall1TURNeU1pQTBMamM0T0RBNUlESTFMamMwTlRGRE5DNHhNalU1T0NBeU5TNDBOVGdnTXk0MU5qTTBPQ0F5TlM0d05EYzVJRE11TVRBd05Ua2dNalF1TlRFME5rTXlMalkwTXpVMUlESXpMamszTlRZZ01pNHlPVEU1T1NBeU15NHpNamd4SURJdU1EUTFPU0F5TWk0MU56SXpRekV1T0RBMU5qWWdNakV1T0RFd05TQXhMalk0TlRVMUlESXdMamsxTWpFZ01TNDJPRFUxTlNBeE9TNDVPVGN4VmpFNUxqSXhORGhETVM0Mk9EVTFOU0F4T0M0eU5UazRJREV1T0RFeE5USWdNVGN1TkRBeE5DQXlMakEyTXpRNElERTJMall6T1RaRE1pNHpNVFUwTXlBeE5TNDROemM1SURJdU5qYzFOemdnTVRVdU1qSTNOU0F6TGpFME5EVXpJREUwTGpZNE9EVkRNeTQyTVRNeU9DQXhOQzR4TkRrMElEUXVNVGMxTnpnZ01UTXVOek0yTXlBMExqZ3pNakF6SURFekxqUTBPVEpETlM0ME9EZ3lPQ0F4TXk0eE5qSXhJRFl1TWpJd055QXhNeTR3TVRnMklEY3VNREk1TXlBeE15NHdNVGcyUXpndU1URTVNVFFnTVRNdU1ERTROaUE1TGpBek9UQTJJREV6TGpJeE5EZ2dPUzQzT0Rrd05pQXhNeTQyTURjMFF6RXdMalV6T1RFZ01UUWdNVEV1TVRFNU1TQXhOQzQxTXpreElERXhMalV5T1RNZ01UVXVNakkwTmtNeE1TNDVORFV6SURFMUxqa3hNRElnTVRJdU1UazBNeUF4Tmk0Mk9USTBJREV5TGpJM05qUWdNVGN1TlRjeE0wZzVMalF4T1RreVF6a3VNemsyTkRnZ01UY3VNRGN6TWlBNUxqTXdNamN6SURFMkxqWTFORE1nT1M0eE16ZzJOeUF4Tmk0ek1UUTFRemd1T1RjME5qRWdNVFV1T1RZNE9DQTRMamN5TWpZMklERTFMamN3T0NBNExqTTRNamd4SURFMUxqVXpNakpET0M0d05ESTVOeUF4TlM0ek5UWTBJRGN1TlRreE9DQXhOUzR5TmpnMklEY3VNREk1TXlBeE5TNHlOamcyUXpZdU5qRTVNVFFnTVRVdU1qWTROaUEyTGpJMU9EYzVJREUxTGpNME5EY2dOUzQ1TkRneU5DQXhOUzQwT1RjeFF6VXVOalF6TlRVZ01UVXVOalE1TkNBMUxqTTRPRFkzSURFMUxqZzROamNnTlM0eE9ETTFPU0F4Tmk0eU1EbEROQzQ1T0RRek9DQXhOaTQxTXpFeUlEUXVPRE0wT1RZZ01UWXVPVFF4TkNBMExqY3pOVE0xSURFM0xqUXpPVFZETkM0Mk16VTNOQ0F4Tnk0NU16RTJJRFF1TlRnMU9UUWdNVGd1TlRFM05pQTBMalU0TlRrMElERTVMakU1TnpOV01Ua3VPVGszTVVNMExqVTROVGswSURJd0xqWTNNRGtnTkM0Mk1qazRPQ0F5TVM0eU5UTTVJRFF1TnpFM056Y2dNakV1TnpRMk1VTTBMamd3TlRZMklESXlMakl6T0RNZ05DNDVORFl5T1NBeU1pNDJORFUxSURVdU1UTTVOalVnTWpJdU9UWTNPRU0xTGpNek9EZzNJREl6TGpJNUlEVXVOVGt6TnpVZ01qTXVOVE13TXlBMUxqa3dORE1nTWpNdU5qZzROVU0yTGpJeE5EZzBJREl6TGpnME5qY2dOaTQxT1RJM055QXlNeTQ1TWpVNElEY3VNRE00TURrZ01qTXVPVEkxT0VNM0xqVTBOemcxSURJekxqa3lOVGdnTnk0NU56STJOaUF5TXk0NE5EWTNJRGd1TXpFeU5TQXlNeTQyT0RnMVF6Z3VOalV5TXpRZ01qTXVOVEkwTkNBNExqa3hNekE1SURJekxqSTNPRE1nT1M0d09UUTNNeUF5TWk0NU5UQXlRemt1TWpjMk16Y2dNakl1TmpJeU1TQTVMak00TVRnMElESXlMakl3T1NBNUxqUXhNVEV6SURJeExqY3hNRGxhVFRFNExqazVNVElnTWpJdU1ESTNNMVl4TXk0eU1ETXhTREl4TGpnek9EbFdNakl1TURJM00wTXlNUzQ0TXpnNUlESXlMamc0TWpnZ01qRXVOalExTlNBeU15NDJNakV4SURJeExqSTFPRGdnTWpRdU1qUXlNa015TUM0NE56YzVJREkwTGpnMU56UWdNakF1TXpVNU5DQXlOUzR6TXpVZ01Ua3VOekF6TVNBeU5TNDJOelE0UXpFNUxqQTFNamNnTWpZdU1EQTRPQ0F4T0M0ek1UYzBJREkyTGpFM05UZ2dNVGN1TkRrM01TQXlOaTR4TnpVNFF6RTJMalkxTXpNZ01qWXVNVGMxT0NBeE5TNDVNRE16SURJMkxqQXpOVElnTVRVdU1qUTNNU0F5TlM0M05UTTVRekUwTGpVNU1EZ2dNalV1TkRZMk9DQXhOQzR3TnpVeUlESTFMakF6TURNZ01UTXVOekF3TWlBeU5DNDBORFF6UXpFekxqTXpNVEVnTWpNdU9EVXlOU0F4TXk0eE5EWTFJREl6TGpBNU9UWWdNVE11TVRRMk5TQXlNaTR4T0RVMVNERTJMakF4TVRkRE1UWXVNREV4TnlBeU1pNDJNelkzSURFMkxqQTJOelFnTWpJdU9UazBNU0F4Tmk0eE56ZzNJREl6TGpJMU56aERNVFl1TWprMU9TQXlNeTQxTVRVMklERTJMalEyTlRnZ01qTXVOamszTXlBeE5pNDJPRGcxSURJekxqZ3dNamRETVRZdU9URXhNU0F5TXk0NU1EZ3lJREUzTGpFNE1EY2dNak11T1RZd09TQXhOeTQwT1RjeElESXpMamsyTURsRE1UY3VPREF4T0NBeU15NDVOakE1SURFNExqQTJOVFFnTWpNdU9EZzNOeUF4T0M0eU9EZ3hJREl6TGpjME1USkRNVGd1TlRFd055QXlNeTQxT0RnNUlERTRMalk0TXpZZ01qTXVNelk1TVNBeE9DNDRNRFkySURJekxqQTRNa014T0M0NU1qazNJREl5TGpjNE9URWdNVGd1T1RreE1pQXlNaTQwTXpjMUlERTRMams1TVRJZ01qSXVNREkzTTFwTk16QXVOVGMxTWlBeU1pNDJNalZETXpBdU5UYzFNaUF5TWk0ME1EZ3lJRE13TGpVME15QXlNaTR5TVRRNElETXdMalEzT0RVZ01qSXVNRFEwT1VNek1DNDBNVFF4SURJeExqZzJPVEVnTXpBdU1qazJPU0F5TVM0M01EZ2dNekF1TVRJM0lESXhMalUyTVRWRE1qa3VPVFUzSURJeExqUXhOU0F5T1M0M01UWTRJREl4TGpJMk9EWWdNamt1TkRBMk1pQXlNUzR4TWpJeFF6STVMakE1TlRjZ01qQXVPVFk1TnlBeU9DNDJPRGcxSURJd0xqZ3hORFVnTWpndU1UZzBOaUF5TUM0Mk5UWXlRekkzTGpZeE1EUWdNakF1TkRZNE9DQXlOeTR3TmpJMUlESXdMakkxTnpnZ01qWXVOVFF4SURJd0xqQXlNelJETWpZdU1ESTFOQ0F4T1M0M09ETXlJREkxTGpVMk5UUWdNVGt1TlRBME9TQXlOUzR4TmpFeElERTVMakU0T0RWRE1qUXVOelUyT0NBeE9DNDROekl4SURJMExqUXpOelVnTVRndU5UQXlPU0F5TkM0eU1ETXhJREU0TGpBNE1URkRNak11T1RjME5pQXhOeTQyTlRreUlESXpMamcyTURRZ01UY3VNVFkzSURJekxqZzJNRFFnTVRZdU5qQTBOVU15TXk0NE5qQTBJREUyTGpBMU9UWWdNak11T1Rnd05TQXhOUzQxTmpjMElESTBMakl5TURjZ01UVXVNVEkzT1VNeU5DNDBOakE1SURFMExqWTRPRFVnTWpRdU56azNPU0F4TkM0ek1UTTFJREkxTGpJek1UUWdNVFF1TURBeU9VTXlOUzQyTmpVZ01UTXVOamcyTlNBeU5pNHhOelE0SURFekxqUTBOak1nTWpZdU56WXdOeUF4TXk0eU9ESXlRekkzTGpNME5qY2dNVE11TVRFeU15QXlOeTQ1T1RFeUlERXpMakF5TnpNZ01qZ3VOamswTXlBeE15NHdNamN6UXpJNUxqWXpNVGdnTVRNdU1ESTNNeUF6TUM0ME5UVXhJREV6TGpFNU5ETWdNekV1TVRZME1TQXhNeTQxTWpnelF6TXhMamczT0RrZ01UTXVPRFUyTkNBek1pNDBNelUxSURFMExqTXhPVE1nTXpJdU9ETTBJREUwTGpreE4wTXpNeTR5TXpJMElERTFMalV3T0RnZ016TXVORE14TmlBeE5pNHhPVGN6SURNekxqUXpNVFlnTVRZdU9UZ3lORWd6TUM0MU9EUkRNekF1TlRnMElERTJMall6TmpjZ016QXVOVEV3TnlBeE5pNHpNeklnTXpBdU16WTBNeUF4Tmk0d05qZzBRek13TGpJeU16WWdNVFV1TnprNE9DQXpNQzR3TURZNElERTFMalU0TnprZ01qa3VOekV6T1NBeE5TNDBNelUxUXpJNUxqUXlOamdnTVRVdU1qZ3pNaUF5T1M0d05qWTBJREUxTGpJd055QXlPQzQyTXpJNElERTFMakl3TjBNeU9DNHlNVEE1SURFMUxqSXdOeUF5Tnk0NE5UWTBJREUxTGpJM01UVWdNamN1TlRZNU15QXhOUzQwTURBMFF6STNMakk0T0RFZ01UVXVOVEl6TkNBeU55NHdOelF5SURFMUxqWTVNelFnTWpZdU9USTNOeUF4TlM0NU1UQXlRekkyTGpjNE56RWdNVFl1TVRJM0lESTJMamN4TmpnZ01UWXVNelkwTXlBeU5pNDNNVFk0SURFMkxqWXlNakZETWpZdU56RTJPQ0F4Tmk0NE1qY3hJREkyTGpjMk9UVWdNVGN1TURFME5pQXlOaTQ0TnpVZ01UY3VNVGcwTmtNeU5pNDVPRFl6SURFM0xqTTBPRFlnTWpjdU1UUTBOU0F4Tnk0MU1ETTVJREkzTGpNME9UWWdNVGN1TmpVd05FTXlOeTQxTmpBMUlERTNMamM1TVNBeU55NDRNVGcwSURFM0xqa3lOVGdnTWpndU1USXpJREU0TGpBMU5EZERNamd1TkRJM055QXhPQzR4T0RNMklESTRMamMzTmpRZ01UZ3VNekEyTmlBeU9TNHhOamc1SURFNExqUXlNemhETWprdU9EVTBOU0F4T0M0Mk5EQTJJRE13TGpRMk1Ea2dNVGd1T0Rnd09TQXpNQzQ1T0RneklERTVMakUwTkRWRE16RXVOVEl4TlNBeE9TNDBNRGd5SURNeExqazJPVGNnTVRrdU56QTNJRE15TGpNek15QXlNQzR3TkRGRE16SXVOamsyTXlBeU1DNHpOelVnTXpJdU9UWTRPQ0F5TUM0M05USTVJRE16TGpFMU1EUWdNakV1TVRjME9FTXpNeTR6TXpjNUlESXhMalU1TmpjZ016TXVORE14TmlBeU1pNHdOelF5SURNekxqUXpNVFlnTWpJdU5qQTNORU16TXk0ME16RTJJREl6TGpFM05UZ2dNek11TXpJd015QXlNeTQyTnprM0lETXpMakE1TnpjZ01qUXVNVEU1TVVNek1pNDRPREE1SURJMExqVTFPRFlnTXpJdU5UWTBOU0F5TkM0NU16TTJJRE15TGpFME9EUWdNalV1TWpRME1VTXpNUzQzTXpneklESTFMalUwT0RnZ016RXVNalEyTVNBeU5TNDNPREF6SURNd0xqWTNNVGtnTWpVdU9UTTROVU16TUM0d09UYzNJREkyTGpBNU5qY2dNamt1TkRVMk1TQXlOaTR4TnpVNElESTRMamMwTnpFZ01qWXVNVGMxT0VNeU9DNHhNREkxSURJMkxqRTNOVGdnTWpjdU5EWTJPQ0F5Tmk0d09UTTRJREkyTGpnek9UZ2dNalV1T1RJNU4wTXlOaTR5TVRJNUlESTFMamMxT1RnZ01qVXVOalEwTlNBeU5TNDFNRElnTWpVdU1UTTBPQ0F5TlM0eE5UWXlRekkwTGpZek1Ea2dNalF1T0RFd05TQXlOQzR5TWpZMklESTBMak0zTVRFZ01qTXVPVEl4T1NBeU15NDRNemM1UXpJekxqWXlNeUF5TXk0eU9UZzRJREl6TGpRM016WWdNakl1TmpZd01pQXlNeTQwTnpNMklESXhMamt5TVRsSU1qWXVNek00T1VNeU5pNHpNemc1SURJeUxqTXdPRFlnTWpZdU16azBOU0F5TWk0Mk16WTNJREkyTGpVd05Ua2dNakl1T1RBMk1rTXlOaTQyTVRjeUlESXpMakUyT1RrZ01qWXVOemMxTkNBeU15NHpPRE00SURJMkxqazRNRFVnTWpNdU5UUTNPVU15Tnk0eE9URTBJREl6TGpjeE1Ua2dNamN1TkRRMk15QXlNeTQ0TWpreElESTNMamMwTlRFZ01qTXVPRGs1TkVNeU9DNHdORE01SURJekxqazJPVGNnTWpndU16YzNPU0F5TkM0d01EUTVJREk0TGpjME56RWdNalF1TURBME9VTXlPUzR4TnpRNElESTBMakF3TkRrZ01qa3VOVEl3TlNBeU15NDVORFl6SURJNUxqYzRORElnTWpNdU9ESTVNVU16TUM0d05UTTNJREl6TGpjd05qRWdNekF1TWpVeU9TQXlNeTQxTXpreElETXdMak00TVRnZ01qTXVNekk0TVVNek1DNDFNVEEzSURJekxqRXhOeklnTXpBdU5UYzFNaUF5TWk0NE9ESTRJRE13TGpVM05USWdNakl1TmpJMVdpSWdabWxzYkQwaWQyaHBkR1VpTHo0S1BDOXpkbWMrQ2c9PVwiO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBjb21tb25qc19kZWZhdWx0IGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29tbW9uanMubWpzLm1hcCIsImltcG9ydCBjb21tb25qc19kZWZhdWx0IGZyb20gXCIuL2NvbW1vbmpzLm1qc1wiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0ljb25zL0RldnNJY29ucy9Db21tb25KUy50c3hcbmZ1bmN0aW9uIENvbW1vbkpTKCkge1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcImltZ1wiLCB7XG5cdFx0YWx0OiBcImNvbW1vbmpzXCIsXG5cdFx0aGVpZ2h0OiBcIjIwXCIsXG5cdFx0c3JjOiBjb21tb25qc19kZWZhdWx0LFxuXHRcdHdpZHRoOiBcIjIwXCJcblx0fSk7XG59XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IENvbW1vbkpTIH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNvbW1vbkpTMi5tanMubWFwIiwiLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0ljb25zL0RldnNJY29ucy9lczZtb2R1bGUuc3ZnXG52YXIgZXM2bW9kdWxlX2RlZmF1bHQgPSBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU16WWlJR2hsYVdkb2REMGlNellpSUhacFpYZENiM2c5SWpBZ01DQXpOaUF6TmlJZ1ptbHNiRDBpYm05dVpTSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNEtQSEJoZEdnZ1pEMGlUVEFnTUVnek5sWXpOa2d3VmpCYUlpQm1hV3hzUFNJak9UTkRNa1JDSWk4K0NqeHdZWFJvSUdROUlrMHhNUzQzTlRVNUlESXlMamM0TlRKV01qVklOQzQ1TkRRek5GWXlNaTQzT0RVeVNERXhMamMxTlRsYVRUVXVPVEU1T1RJZ01USXVNakF6TVZZeU5VZ3pMakExTkRZNVZqRXlMakl3TXpGSU5TNDVNVGs1TWxwTk1UQXVPRGMzSURFM0xqTTFNelZXTVRrdU5EazRTRFF1T1RRME16UldNVGN1TXpVek5VZ3hNQzQ0TnpkYVRURXhMamMyTkRZZ01USXVNakF6TVZZeE5DNDBNalk0U0RRdU9UUTBNelJXTVRJdU1qQXpNVWd4TVM0M05qUTJXazB4T1M0M09UYzVJREl4TGpZeU5VTXhPUzQzT1RjNUlESXhMalF3T0RJZ01Ua3VOelkxTmlBeU1TNHlNVFE0SURFNUxqY3dNVElnTWpFdU1EUTBPVU14T1M0Mk16WTNJREl3TGpnMk9URWdNVGt1TlRFNU5TQXlNQzQzTURnZ01Ua3VNelE1TmlBeU1DNDFOakUxUXpFNUxqRTNPVGNnTWpBdU5ERTFJREU0TGprek9UVWdNakF1TWpZNE5pQXhPQzQyTWpnNUlESXdMakV5TWpGRE1UZ3VNekU0TkNBeE9TNDVOamszSURFM0xqa3hNVEVnTVRrdU9ERTBOU0F4Tnk0ME1EY3lJREU1TGpZMU5qSkRNVFl1T0RNeklERTVMalEyT0RnZ01UWXVNamcxTWlBeE9TNHlOVGM0SURFMUxqYzJNemNnTVRrdU1ESXpORU14TlM0eU5EZ2dNVGd1Tnpnek1pQXhOQzQzT0RneElERTRMalV3TkRrZ01UUXVNemd6T0NBeE9DNHhPRGcxUXpFekxqazNPVFVnTVRjdU9EY3lNU0F4TXk0Mk5qQXlJREUzTGpVd01qa2dNVE11TkRJMU9DQXhOeTR3T0RFeFF6RXpMakU1TnpNZ01UWXVOalU1TWlBeE15NHdPRE1nTVRZdU1UWTNJREV6TGpBNE15QXhOUzQyTURRMVF6RXpMakE0TXlBeE5TNHdOVGsySURFekxqSXdNekVnTVRRdU5UWTNOQ0F4TXk0ME5ETTBJREUwTGpFeU56bERNVE11Tmpnek5pQXhNeTQyT0RnMUlERTBMakF5TURVZ01UTXVNekV6TlNBeE5DNDBOVFF4SURFekxqQXdNamxETVRRdU9EZzNOeUF4TWk0Mk9EWTFJREUxTGpNNU56VWdNVEl1TkRRMk15QXhOUzQ1T0RNMElERXlMakk0TWpKRE1UWXVOVFk1TXlBeE1pNHhNVEl6SURFM0xqSXhNemtnTVRJdU1ESTNNeUF4Tnk0NU1UY2dNVEl1TURJM00wTXhPQzQ0TlRRMUlERXlMakF5TnpNZ01Ua3VOamMzTnlBeE1pNHhPVFF6SURJd0xqTTROamNnTVRJdU5USTRNME15TVM0eE1ERTJJREV5TGpnMU5qUWdNakV1TmpVNE1pQXhNeTR6TVRreklESXlMakExTmpZZ01UTXVPVEUzUXpJeUxqUTFOVEVnTVRRdU5UQTRPQ0F5TWk0Mk5UUXpJREUxTGpFNU56TWdNakl1TmpVME15QXhOUzQ1T0RJMFNERTVMamd3TmpaRE1Ua3VPREEyTmlBeE5TNDJNelkzSURFNUxqY3pNelFnTVRVdU16TXlJREU1TGpVNE5qa2dNVFV1TURZNE5FTXhPUzQwTkRZeklERTBMamM1T0RnZ01Ua3VNakk1TlNBeE5DNDFPRGM1SURFNExqa3pOalVnTVRRdU5ETTFOVU14T0M0Mk5EazBJREUwTGpJNE16SWdNVGd1TWpnNU1TQXhOQzR5TURjZ01UY3VPRFUxTlNBeE5DNHlNRGRETVRjdU5ETXpOaUF4TkM0eU1EY2dNVGN1TURjNU1TQXhOQzR5TnpFMUlERTJMamM1TWlBeE5DNDBNREEwUXpFMkxqVXhNRGNnTVRRdU5USXpOQ0F4Tmk0eU9UWTVJREUwTGpZNU16UWdNVFl1TVRVd05DQXhOQzQ1TVRBeVF6RTJMakF3T1RnZ01UVXVNVEkzSURFMUxqa3pPVFVnTVRVdU16WTBNeUF4TlM0NU16azFJREUxTGpZeU1qRkRNVFV1T1RNNU5TQXhOUzQ0TWpjeElERTFMams1TWpJZ01UWXVNREUwTmlBeE5pNHdPVGMzSURFMkxqRTRORFpETVRZdU1qQTVJREUyTGpNME9EWWdNVFl1TXpZM01pQXhOaTQxTURNNUlERTJMalUzTWpNZ01UWXVOalV3TkVNeE5pNDNPRE15SURFMkxqYzVNU0F4Tnk0d05ERWdNVFl1T1RJMU9DQXhOeTR6TkRVM0lERTNMakExTkRkRE1UY3VOalV3TkNBeE55NHhPRE0ySURFM0xqazVPU0F4Tnk0ek1EWTJJREU0TGpNNU1UWWdNVGN1TkRJek9FTXhPUzR3TnpjeElERTNMalkwTURZZ01Ua3VOamd6TmlBeE55NDRPREE1SURJd0xqSXhNRGtnTVRndU1UUTBOVU15TUM0M05EUXhJREU0TGpRd09ESWdNakV1TVRreU5DQXhPQzQzTURjZ01qRXVOVFUxTnlBeE9TNHdOREZETWpFdU9URTRPU0F4T1M0ek56VWdNakl1TVRreE5DQXhPUzQzTlRJNUlESXlMak0zTXlBeU1DNHhOelE0UXpJeUxqVTJNRFVnTWpBdU5UazJOeUF5TWk0Mk5UUXpJREl4TGpBM05ESWdNakl1TmpVME15QXlNUzQyTURjMFF6SXlMalkxTkRNZ01qSXVNVGMxT0NBeU1pNDFORE1nTWpJdU5qYzVOeUF5TWk0ek1qQXpJREl6TGpFeE9URkRNakl1TVRBek5TQXlNeTQxTlRnMklESXhMamM0TnpFZ01qTXVPVE16TmlBeU1TNHpOekV4SURJMExqSTBOREZETWpBdU9UWXdPU0F5TkM0MU5EZzRJREl3TGpRMk9EZ2dNalF1Tnpnd015QXhPUzQ0T1RRMUlESTBMamt6T0RWRE1Ua3VNekl3TXlBeU5TNHdPVFkzSURFNExqWTNPRGNnTWpVdU1UYzFPQ0F4Tnk0NU5qazNJREkxTGpFM05UaERNVGN1TXpJMU1pQXlOUzR4TnpVNElERTJMalk0T1RVZ01qVXVNRGt6T0NBeE5pNHdOakkxSURJMExqa3lPVGRETVRVdU5ETTFOU0F5TkM0M05UazRJREUwTGpnMk56SWdNalF1TlRBeUlERTBMak0xTnpRZ01qUXVNVFUyTWtNeE15NDROVE0xSURJekxqZ3hNRFVnTVRNdU5EUTVNaUF5TXk0ek56RXhJREV6TGpFME5EVWdNakl1T0RNM09VTXhNaTQ0TkRVM0lESXlMakk1T0RnZ01USXVOamsyTXlBeU1TNDJOakF5SURFeUxqWTVOak1nTWpBdU9USXhPVWd4TlM0MU5qRTFRekUxTGpVMk1UVWdNakV1TXpBNE5pQXhOUzQyTVRjeUlESXhMall6TmpjZ01UVXVOekk0TlNBeU1TNDVNRFl5UXpFMUxqZ3pPVGdnTWpJdU1UWTVPU0F4TlM0NU9UZ2dNakl1TXpnek9DQXhOaTR5TURNeElESXlMalUwTnpsRE1UWXVOREUwTVNBeU1pNDNNVEU1SURFMkxqWTJPRGtnTWpJdU9ESTVNU0F4Tmk0NU5qYzRJREl5TGpnNU9UUkRNVGN1TWpZMk5pQXlNaTQ1TmprM0lERTNMall3TURZZ01qTXVNREEwT1NBeE55NDVOamszSURJekxqQXdORGxETVRndU16azNOU0F5TXk0d01EUTVJREU0TGpjME16SWdNakl1T1RRMk15QXhPUzR3TURZNElESXlMamd5T1RGRE1Ua3VNamMyTkNBeU1pNDNNRFl4SURFNUxqUTNOVFlnTWpJdU5UTTVNU0F4T1M0Mk1EUTFJREl5TGpNeU9ERkRNVGt1TnpNek5DQXlNaTR4TVRjeUlERTVMamM1TnprZ01qRXVPRGd5T0NBeE9TNDNPVGM1SURJeExqWXlOVnBOTXpBdU56SXlOeUF4TWk0d05EUTVTRE14TGpFME5EVldNVFF1TWpJME5rZ3pNQzQ1T0RZelF6TXdMak0zTVRFZ01UUXVNakkwTmlBeU9TNDRNRGcySURFMExqTXhNalVnTWprdU1qazRPQ0F4TkM0ME9EZ3pRekk0TGpjNU5Ea2dNVFF1TmpZME1TQXlPQzR6TlRnMElERTBMamt5TkRnZ01qY3VPVGc1TXlBeE5TNHlOekExUXpJM0xqWXlNREVnTVRVdU5qRXdOQ0F5Tnk0ek16VTVJREUyTGpBek1qSWdNamN1TVRNMk55QXhOaTQxTXpZeFF6STJMamswTXpRZ01UY3VNRE0wTWlBeU5pNDRORFkzSURFM0xqWXdPRFFnTWpZdU9EUTJOeUF4T0M0eU5UZzRWakl3TGpRek9EVkRNall1T0RRMk55QXlNQzQ0TnpjNUlESTJMamc0TkRnZ01qRXVNall4TnlBeU5pNDVOakE1SURJeExqVTRPVGhETWpjdU1EUXpJREl4TGpreE1qRWdNamN1TVRZd01pQXlNaTR4T0RFMklESTNMak14TWpVZ01qSXVNems0TkVNeU55NDBOekEzSURJeUxqWXdPVFFnTWpjdU5qWXhNU0F5TWk0M056QTFJREkzTGpnNE16Z2dNakl1T0RneE9FTXlPQzR4TURZMElESXlMams0TnpNZ01qZ3VNelU0TkNBeU15NHdOQ0F5T0M0Mk16azJJREl6TGpBMFF6STRMamc1TVRZZ01qTXVNRFFnTWprdU1USXpJREl5TGprNE5EUWdNamt1TXpNMElESXlMamczTTBNeU9TNDFORFE1SURJeUxqYzJNVGNnTWprdU56STJOaUF5TWk0Mk1ETTFJREk1TGpnM09Ea2dNakl1TXprNE5FTXpNQzR3TXpFeUlESXlMakU1TXpRZ016QXVNVFE0TkNBeU1TNDVOVFl4SURNd0xqSXpNRFVnTWpFdU5qZzJOVU16TUM0ek1USTFJREl4TGpReE1URWdNekF1TXpVek5TQXlNUzR4TVRJeklETXdMak0xTXpVZ01qQXVOemxETXpBdU16VXpOU0F5TUM0ME5UQXlJRE13TGpNd09UWWdNakF1TVRReU5pQXpNQzR5TWpFM0lERTVMamcyTnpKRE16QXVNVE01TmlBeE9TNDFPRFU1SURNd0xqQXhPVFVnTVRrdU16UTFOeUF5T1M0NE5qRXpJREU1TGpFME5qVkRNamt1TnpBNUlERTRMamswTnpNZ01qa3VOVEl4TlNBeE9DNDNPVFE1SURJNUxqSTVPRGdnTVRndU5qZzVOVU15T1M0d056WXlJREU0TGpVM09ERWdNamd1T0RNd01TQXhPQzQxTWpJMUlESTRMalUyTURVZ01UZ3VOVEl5TlVNeU9DNHhOek00SURFNExqVXlNalVnTWpjdU9ETTVPQ0F4T0M0Mk1UQTBJREkzTGpVMU9EWWdNVGd1TnpnMk1VTXlOeTR5TnpjeklERTRMamsyTVRrZ01qY3VNRFl3TlNBeE9TNHhPRGMxSURJMkxqa3dPRElnTVRrdU5EWXlPVU15Tmk0M05UVTVJREU1TGpjek9ETWdNall1TmpjMk9DQXlNQzR3TVRrMUlESTJMalkzTURrZ01qQXVNekEyTmt3eU5TNDVOREUwSURFNUxqY3dNREpETWpVdU9UUXhOQ0F4T1M0ek1ERTRJREkyTGpBeU1EVWdNVGd1T1RBNU1pQXlOaTR4TnpnM0lERTRMalV5TWpWRE1qWXVNelF5T0NBeE9DNHhNams1SURJMkxqVTNORElnTVRjdU56YzFOQ0F5Tmk0NE56TWdNVGN1TkRVNVF6STNMakUzTVRrZ01UY3VNVE0yTnlBeU55NDFNemd4SURFMkxqZzRNVGdnTWpjdU9UY3hOeUF4Tmk0Mk9UUXpRekk0TGpReE1URWdNVFl1TlRBeElESTRMamt4TWpFZ01UWXVOREEwTXlBeU9TNDBOelEySURFMkxqUXdORE5ETXpBdU1EWTJOQ0F4Tmk0ME1EUXpJRE13TGpVNE56a2dNVFl1TlRFNE5pQXpNUzR3TXpreElERTJMamMwTnpGRE16RXVORGt3TWlBeE5pNDVOamszSURNeExqZzJPRElnTVRjdU1qZ3dNeUF6TWk0eE56STVJREUzTGpZM09EZERNekl1TkRnek5DQXhPQzR3TnpjeElETXlMamN4TkRnZ01UZ3VOVFF6SURNeUxqZzJOeklnTVRrdU1EYzJNa016TXk0d01qVTBJREU1TGpZd016VWdNek11TVRBME5TQXlNQzR4TmpnNUlETXpMakV3TkRVZ01qQXVOemN5TlVNek15NHhNRFExSURJeExqTTVNellnTXpJdU9UazJNU0F5TVM0NU56TTJJRE15TGpjM09UTWdNakl1TlRFeU4wTXpNaTQxTmpnMElESXpMakEwTlRrZ016SXVNalk1TlNBeU15NDFNVEUzSURNeExqZzRNamdnTWpNdU9URXdNa016TVM0ME9UWXhJREkwTGpNd09EWWdNekV1TURNek1pQXlOQzQyTVRreElETXdMalE1TkRFZ01qUXVPRFF4T0VNeU9TNDVOakE1SURJMUxqQTJORFVnTWprdU16WTJNaUF5TlM0eE56VTRJREk0TGpjeElESTFMakUzTlRoRE1qZ3VNRE13TXlBeU5TNHhOelU0SURJM0xqUXdPVElnTWpVdU1EVTFOeUF5Tmk0NE5EWTNJREkwTGpneE5UUkRNall1TWprZ01qUXVOVGMxTWlBeU5TNDRNRE0zSURJMExqSXpNalFnTWpVdU16ZzNOeUF5TXk0M09EY3hRekkwTGprM056VWdNak11TXpNMU9TQXlOQzQyTlRneUlESXlMamM1TmprZ01qUXVOREk1TnlBeU1pNHhOams1UXpJMExqSXdOeUF5TVM0MU5ETWdNalF1TURrMU55QXlNQzQ0TXprNElESTBMakE1TlRjZ01qQXVNRFl3TlZZeE9TNHdNekl5UXpJMExqQTVOVGNnTVRjdU9UWTFPQ0F5TkM0eU5UazRJREUzTGpBd05Ea2dNalF1TlRnM09TQXhOaTR4TkRrMFF6STBMamt5TVRrZ01UVXVNamt6T1NBeU5TNHpPRFE0SURFMExqVTJNVFVnTWpVdU9UYzJOaUF4TXk0NU5USXhRekkyTGpVM05ESWdNVE11TXpNMk9TQXlOeTR5TnpjeklERXlMamcyTlRJZ01qZ3VNRGcxT1NBeE1pNDFNemN4UXpJNExqZzVORFVnTVRJdU1qQTVJREk1TGpjM016UWdNVEl1TURRME9TQXpNQzQzTWpJM0lERXlMakEwTkRsYUlpQm1hV3hzUFNKM2FHbDBaU0l2UGdvOEwzTjJaejRLXCI7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IGVzNm1vZHVsZV9kZWZhdWx0IGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXM2bW9kdWxlLm1qcy5tYXAiLCJpbXBvcnQgZXM2bW9kdWxlX2RlZmF1bHQgZnJvbSBcIi4vZXM2bW9kdWxlLm1qc1wiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0ljb25zL0RldnNJY29ucy9FUzZNb2R1bGUudHN4XG5mdW5jdGlvbiBFUzZNb2R1bGVzKCkge1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcImltZ1wiLCB7XG5cdFx0YWx0OiBcImVzNiBtb2R1bGVzXCIsXG5cdFx0aGVpZ2h0OiBcIjIwXCIsXG5cdFx0c3JjOiBlczZtb2R1bGVfZGVmYXVsdCxcblx0XHR3aWR0aDogXCIyMFwiXG5cdH0pO1xufVxuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBFUzZNb2R1bGVzIH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUVTNk1vZHVsZTIubWpzLm1hcCIsIi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9JY29ucy9EZXZzSWNvbnMvbm9kZWpzLnN2Z1xudmFyIG5vZGVqc19kZWZhdWx0ID0gXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlWVlJHTFRnaUlITjBZVzVrWVd4dmJtVTlJbTV2SWo4K0NqeHpkbWNnZDJsa2RHZzlJakkxTm5CNElpQm9aV2xuYUhROUlqSTRPWEI0SWlCMmFXVjNRbTk0UFNJd0lEQWdNalUySURJNE9TSWdkbVZ5YzJsdmJqMGlNUzR4SWlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUJ3Y21WelpYSjJaVUZ6Y0dWamRGSmhkR2x2UFNKNFRXbGtXVTFwWkNJK0NpQWdJQ0E4Wno0S0lDQWdJQ0FnSUNBOGNHRjBhQ0JrUFNKTk1USTNMams1T1RrNU9Td3lPRGd1TkRZek56Y3hJRU14TWpRdU1ESTBPRFEwTERJNE9DNDBOak0zTnpFZ01USXdMak14TkRZNU9Td3lPRGN1TkRBek56STRJREV4Tmk0NE5qazFOalFzTWpnMUxqVTBPRFkxTmlCTU9ERXVOakl6TVRnNE5Dd3lOalF1TmpFeU9ETTRJRU0zTmk0ek1qSTVPQ3d5TmpFdU5qazNOekkwSURjNExqazNNekE0TlRRc01qWXdMall6TnpZNE1pQTRNQzQxTmpNeE5EVTRMREkyTUM0eE1EYzJOakVnUXpnM0xqY3hPRFF5TlRrc01qVTNMamN5TWpVM0lEZzVMakEwTXpRM056VXNNalUzTGpFNU1qVTBOeUE1Tmk0ME5qTTNOamc0TERJMU1pNDVOVEl6T0RFZ1F6azNMakkxT0RjNU56a3NNalV5TGpReU1qTTJNU0E1T0M0ek1UZzROREExTERJMU1pNDJPRGN6TnpJZ09Ua3VNVEV6T0RjeE9Dd3lOVE11TWpFM016a3lJRXd4TWpZdU1UUTBPVEkzTERJMk9TNHpPRE13TWpRZ1F6RXlOeTR5TURRNU55d3lOamt1T1RFek1EUTFJREV5T0M0MU16QXdNakVzTWpZNUxqa3hNekEwTlNBeE1qa3VNekkxTURVekxESTJPUzR6T0RNd01qUWdUREl6TlM0d05qUXhPRElzTWpBNExqRTJOVFl6TkNCRE1qTTJMakV5TkRJeU5Td3lNRGN1TmpNMU5qRXhJREl6Tmk0Mk5UUXlORFVzTWpBMkxqVTNOVFUzTVNBeU16WXVOalUwTWpRMUxESXdOUzR5TlRBMU1Ua2dUREl6Tmk0Mk5UUXlORFVzT0RNdU1EZ3dOelEyTnlCRE1qTTJMalkxTkRJME5TdzRNUzQzTlRVMk9USTVJREl6Tmk0eE1qUXlNalVzT0RBdU5qazFOalV5TmlBeU16VXVNRFkwTVRneUxEZ3dMakUyTlRZek1qUWdUREV5T1M0ek1qVXdOVE1zTVRrdU1qRXpNalV3TmlCRE1USTRMakkyTlRBeExERTRMalk0TXpJek1EVWdNVEkyTGprek9UazFPU3d4T0M0Mk9ETXlNekExSURFeU5pNHhORFE1TWpjc01Ua3VNakV6TWpVd05pQk1NakF1TkRBMU56azFOQ3c0TUM0eE5qVTJNekkwSUVNeE9TNHpORFUzTlRVeExEZ3dMalk1TlRZMU1qWWdNVGd1T0RFMU56TTBPU3c0TWk0d01qQTNNRFF4SURFNExqZ3hOVGN6TkRrc09ETXVNRGd3TnpRMk55Qk1NVGd1T0RFMU56TTBPU3d5TURVdU1qVXdOVEU1SUVNeE9DNDRNVFUzTXpRNUxESXdOaTR6TVRBMU5pQXhPUzR6TkRVM05UVXhMREl3Tnk0Mk16VTJNVEVnTWpBdU5EQTFOemsxTkN3eU1EZ3VNVFkxTmpNMElFdzBPUzR5T1RFNU1qUTNMREl5TkM0NE5qRXlPRFlnUXpZMExqa3lOelV6TmpRc01qTXlMamd4TVRVNU5TQTNOQzQzTXpJNU1UazJMREl5TXk0MU16WXlNelFnTnpRdU56TXlPVEU1Tml3eU1UUXVNall3T0RjeElFdzNOQzQzTXpJNU1UazJMRGt6TGpZNE1URTFPU0JETnpRdU56TXlPVEU1Tml3NU1pNHdPVEV3T1RnMUlEYzJMakExTnprM01URXNPVEF1TlRBeE1ETTFPQ0EzTnk0NU1UTXdOREk0TERrd0xqVXdNVEF6TlRnZ1REa3hMalF5T0RVM01UWXNPVEF1TlRBeE1ETTFPQ0JET1RNdU1ERTROak0wTXl3NU1DNDFNREV3TXpVNElEazBMall3T0RZNU5EZ3NPVEV1T0RJMk1EZzNNeUE1TkM0Mk1EZzJPVFE0TERrekxqWTRNVEUxT1NCTU9UUXVOakE0TmprME9Dd3lNVFF1TWpZd09EY3hJRU01TkM0Mk1EZzJPVFE0TERJek5TNHhPVFkyT0RrZ09ETXVNakV6TWpVeE1pd3lORGN1TXpnM01UWTBJRFl6TGpNek56UTNNemNzTWpRM0xqTTROekUyTkNCRE5UY3VNalF5TWpNMk1pd3lORGN1TXpnM01UWTBJRFV5TGpRM01qQTFNRElzTWpRM0xqTTROekUyTkNBek9DNDVOVFkxTWpFMExESTBNQzQzTmpFNU1EWWdUREV4TGpFek1EUXpORGNzTWpJMExqZzJNVEk0TmlCRE5DNHlOREF4TmpVNE1Td3lNakF1T0RnMk1USTVJRFV1TmpnME16UXhPRGxsTFRFMExESXhNeTQwTmpVNE5DQTFMalk0TkRNME1UZzVaUzB4TkN3eU1EVXVOVEUxTlRJNElFdzFMalk0TkRNME1UZzVaUzB4TkN3NE15NHpORFUzTlRVM0lFTTFMalk0TkRNME1UZzVaUzB4TkN3M05TNHpPVFUwTkRZMUlEUXVNalF3TVRZMU9ERXNOamN1T1RjMU1UVTFNaUF4TVM0eE16QTBNelEzTERZMExqQXdNREF3TURZZ1RERXhOaTQ0TmprMU5qUXNNaTQzT0RJMk1EYzFNaUJETVRJekxqUTVORGd5TkN3dE1DNDVNamMxTXpVNE5ERWdNVE15TGpVd05URTNOaXd0TUM0NU1qYzFNelU0TkRFZ01UTTVMakV6TURRek5pd3lMamM0TWpZd056VXlJRXd5TkRRdU9EWTVOVFkxTERZMExqQXdNREF3TURZZ1F6STFNUzQzTlRrNE16UXNOamN1T1RjMU1UVTFNaUF5TlRZc056VXVNemsxTkRRMk5TQXlOVFlzT0RNdU16UTFOelUxTnlCTU1qVTJMREl3TlM0MU1UVTFNamdnUXpJMU5pd3lNVE11TkRZMU9EUWdNalV4TGpjMU9UZ3pOQ3d5TWpBdU9EZzJNVEk1SURJME5DNDROamsxTmpVc01qSTBMamcyTVRJNE5pQk1NVE01TGpFek1EUXpOaXd5T0RZdU1EYzROamMySUVNeE16VXVOamcxTWprNUxESTROeTQyTmpnM016a2dNVE14TGpjeE1ERTBOU3d5T0RndU5EWXpOemN4SURFeU55NDVPVGs1T1Rrc01qZzRMalEyTXpjM01TQk1NVEkzTGprNU9UazVPU3d5T0RndU5EWXpOemN4SUZvZ1RURTJNQzQxT1RZeU56UXNNakEwTGpRMU5UUTRPQ0JETVRFMExqSXhPVFEyTVN3eU1EUXVORFUxTkRnNElERXdOQzQyTnprd09Ea3NNVGd6TGpJMU5EWTFPU0F4TURRdU5qYzVNRGc1TERFMk5TNHlNek01TlRVZ1F6RXdOQzQyTnprd09Ea3NNVFl6TGpZME16ZzVNeUF4TURZdU1EQTBNVFF4TERFMk1pNHdOVE00TXpJZ01UQTNMamcxT1RJeE1pd3hOakl1TURVek9ETXlJRXd4TWpFdU5qTTVOelV5TERFMk1pNHdOVE00TXpJZ1F6RXlNeTR5TWprNE1UTXNNVFl5TGpBMU16Z3pNaUF4TWpRdU5UVTBPRFkwTERFMk15NHhNVE00TnpJZ01USTBMalUxTkRnMk5Dd3hOalF1TnpBek9UTTFJRU14TWpZdU5qYzBPVFEzTERFM09DNDNORGswT0RRZ01UTXlMamMzTURFNE55d3hPRFV1TmpNNU56VXpJREUyTUM0NE5qRXlPRE1zTVRnMUxqWXpPVGMxTXlCRE1UZ3pMakV5TWpFMU5Dd3hPRFV1TmpNNU56VXpJREU1TWk0Mk5qSTFNallzTVRnd0xqWXdORFUxTmlBeE9USXVOall5TlRJMkxERTJPQzQyTnprd09TQkRNVGt5TGpZMk1qVXlOaXd4TmpFdU56ZzRPREl4SURFNU1DNHdNVEkwTWpNc01UVTJMamMxTXpZeU5DQXhOVFV1TWprMk1EWTFMREUxTXk0ek1EZzBPRGtnUXpFeU5pNDBNRGs1TXpnc01UVXdMak01TXpNM05TQXhNRGd1TXpnNU1qTTFMREUwTkM0d016TXhNallnTVRBNExqTTRPVEl6TlN3eE1qQXVPVGMzTWpJMklFTXhNRGd1TXpnNU1qTTFMRGs1TGpVeE1UTTROelVnTVRJMkxqUXdPVGt6T0N3NE5pNDNPVEE0T1RBeElERTFOaTQyTWpFeE1Ua3NPRFl1Tnprd09Ea3dNU0JETVRrd0xqVTBNalEwTXl3NE5pNDNPVEE0T1RBeElESXdOeTR5TXpnd09UVXNPVGd1TkRVeE16UTNNaUF5TURrdU16VTRNVGM0TERFeU15NDRPVEl6TkNCRE1qQTVMak0xT0RFM09Dd3hNalF1TmpnM016Y3hJREl3T1M0d09UTXhOamNzTVRJMUxqUTRNalF3TXlBeU1EZ3VOVFl6TVRRM0xERXlOaTR5TnpjME16UWdRekl3T0M0d016TXhNamNzTVRJMkxqZ3dOelExTkNBeU1EY3VNak00TURrMUxERXlOeTR6TXpjME56UWdNakEyTGpRME16QTJOQ3d4TWpjdU16TTNORGMwSUV3eE9USXVOall5TlRJMkxERXlOeTR6TXpjME56UWdRekU1TVM0ek16YzBOelVzTVRJM0xqTXpOelEzTkNBeE9UQXVNREV5TkRJekxERXlOaTR5TnpjME16UWdNVGc1TGpjME56UXhNaXd4TWpRdU9UVXlNemd5SUVNeE9EWXVOVFkzTWpnNUxERXhNQzR6TnpZNE1UTWdNVGM0TGpNMU1UazJOaXd4TURVdU5qQTJOakkxSURFMU5pNDJNakV4TVRrc01UQTFMall3TmpZeU5TQkRNVE15TGpJME1ERTJOU3d4TURVdU5qQTJOakkxSURFeU9TNHpNalV3TlRNc01URTBMakE0TmprMU55QXhNamt1TXpJMU1EVXpMREV5TUM0ME5EY3lNRFVnUXpFeU9TNHpNalV3TlRNc01USTRMakV6TWpVd05pQXhNekl1Tnpjd01UZzNMREV6TUM0MU1UYzJJREUyTlM0Mk16RTBOekVzTVRNMExqYzFOemMyTmlCRE1UazRMakl5TnpjME5Dd3hNemd1T1RrM09UTXhJREl4TXk0MU9UZ3pORFFzTVRRMUxqQTVNekUyT1NBeU1UTXVOVGs0TXpRMExERTJOeTQ0T0RRd05UZ2dRekl4TXk0ek16TXpNek1zTVRreExqSXdORGszSURFNU5DNHlOVEkxT0Rrc01qQTBMalExTlRRNE9DQXhOakF1TlRrMk1qYzBMREl3TkM0ME5UVTBPRGdnVERFMk1DNDFPVFl5TnpRc01qQTBMalExTlRRNE9DQmFJaUJtYVd4c1BTSWpOVE01UlRReklqNDhMM0JoZEdnK0NpQWdJQ0E4TDJjK0Nqd3ZjM1puUGdvPVwiO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBub2RlanNfZGVmYXVsdCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5vZGVqcy5tanMubWFwIiwiaW1wb3J0IG5vZGVqc19kZWZhdWx0IGZyb20gXCIuL25vZGVqcy5tanNcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9JY29ucy9EZXZzSWNvbnMvTm9kZUpTLnRzeFxuZnVuY3Rpb24gTm9kZUpTKCkge1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcImltZ1wiLCB7XG5cdFx0YWx0OiBcIm5vZGVqc1wiLFxuXHRcdGhlaWdodDogXCIyMFwiLFxuXHRcdHNyYzogbm9kZWpzX2RlZmF1bHQsXG5cdFx0d2lkdGg6IFwiMjBcIlxuXHR9KTtcbn1cbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgTm9kZUpTIH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPU5vZGVKUzIubWpzLm1hcCIsIi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9JY29ucy9EZXZzSWNvbnMvZ2l0LnN2Z1xudmFyIGdpdF9kZWZhdWx0ID0gXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NEtQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJEcHpjR0ZqWlQwaWNISmxjMlZ5ZG1VaUlIZHBaSFJvUFNJNU55SWdhR1ZwWjJoMFBTSTVOeUkrQ2lBZ1BIQmhkR2dnWm1sc2JEMGlJMFl3TlRFek15SWdaRDBpVFRreUxqY3hJRFEwTGpRd09DQTFNaTQxT1RFZ05DNHlPVEZqTFRJdU16RXRNaTR6TVRFdE5pNHdOVGN0TWk0ek1URXRPQzR6TmprZ01Hd3RPQzR6TXlBNExqTXpNa3cwTmk0ME5Ua2dNak11TVRsak1pNDBOVFl0TGpneklEVXVNamN5TFM0eU56TWdOeTR5TWprZ01TNDJPRFVnTVM0NU5qa2dNUzQ1TnlBeUxqVXlNU0EwTGpneElERXVOamNnTnk0eU56VnNNVEF1TVRnMklERXdMakU0TldNeUxqUTJOUzB1T0RVZ05TNHpNRGN0TGpNZ055NHlOelVnTVM0Mk56RWdNaTQzTlNBeUxqYzFJREl1TnpVZ055NHlNRFlnTUNBNUxqazFPQzB5TGpjMU1pQXlMamMxTVMwM0xqSXdPQ0F5TGpjMU1TMDVMamsyTVNBd0xUSXVNRFk0TFRJdU1EY3RNaTQxT0MwMUxqRXhMVEV1TlRNeExUY3VOalU0YkMwNUxqVXRPUzQwT1RsMk1qUXVPVGszWXk0Mk55NHpNeklnTVM0ek1ETXVOemMwSURFdU9EWXhJREV1TXpNeUlESXVOelVnTWk0M05TQXlMamMxSURjdU1qQTJJREFnT1M0NU5Ua3RNaTQzTlNBeUxqYzBPUzAzTGpJd09TQXlMamMwT1MwNUxqazFOeUF3TFRJdU56VXRNaTQzTlRRdE1pNDNOUzAzTGpJeElEQXRPUzQ1TlRrdU5qZ3RMalkzT1NBeExqUTJOeTB4TGpFNU15QXlMak13TnkweExqVXpOM1l0TWpVdU1qTmpMUzQ0TkMwdU16UTBMVEV1TmpJMUxTNDROVE10TWk0ek1EY3RNUzQxTXpjdE1pNHdPRE10TWk0d09ESXRNaTQxT0RRdE5TNHhOQzB4TGpVeE5pMDNMalk1T0V3ek1TNDNPVGdnTVRZdU56RTFJRFF1TWpnNElEUTBMakl5TW1NdE1pNHpNVEVnTWk0ek1UTXRNaTR6TVRFZ05pNHdOaUF3SURndU16Y3hiRFF3TGpFeU1TQTBNQzR4TVRoak1pNHpNU0F5TGpNeE1TQTJMakExTmlBeUxqTXhNU0E0TGpNMk9TQXdURGt5TGpjeElEVXlMamMzT1dNeUxqTXhNUzB5TGpNeE1TQXlMak14TVMwMkxqQTJJREF0T0M0ek56RjZJaTgrQ2p3dmMzWm5QZz09XCI7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IGdpdF9kZWZhdWx0IGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2l0Lm1qcy5tYXAiLCJpbXBvcnQgZ2l0X2RlZmF1bHQgZnJvbSBcIi4vZ2l0Lm1qc1wiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0ljb25zL0RldnNJY29ucy9HaXQudHN4XG5mdW5jdGlvbiBHaXQoKSB7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFwiaW1nXCIsIHtcblx0XHRhbHQ6IFwiZ2l0XCIsXG5cdFx0aGVpZ2h0OiBcIjIwXCIsXG5cdFx0c3JjOiBnaXRfZGVmYXVsdCxcblx0XHR3aWR0aDogXCIyMFwiXG5cdH0pO1xufVxuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBHaXQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9R2l0Mi5tanMubWFwIiwiLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0ljb25zL01hbmFnZXJzL25wbS5zdmdcbnZhciBucG1fZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCMlpYSnphVzl1UFNJeExqRWlJR2xrUFNKTVlYbGxjbDh4SWlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUI0UFNJd2NIZ2lJSGs5SWpCd2VDSUtDU0IyYVdWM1FtOTRQU0l3SURBZ01qVTJJREkxTmlJZ1pXNWhZbXhsTFdKaFkydG5jbTkxYm1ROUltNWxkeUF3SURBZ01qVTJJREkxTmlJZ2VHMXNPbk53WVdObFBTSndjbVZ6WlhKMlpTSStDanh3YjJ4NVoyOXVJR1pwYkd3OUlpTkRRekF3TURBaUlIQnZhVzUwY3owaU1qTXNOalV1TmlBeE16QXNNeTR6SURJek55dzJOUzQySURJek55d3hPVEF1TVNBeE16QXNNalV5TGpRZ01qTXNNVGt3TGpFZ0lpOCtDanh3YjJ4NVoyOXVJR1pwYkd3OUlpTkdSa1pHUmtZaUlIQnZhVzUwY3owaU1UTXpMREV5Tnk0NElESXpNaTQxTERjd0xqVWdNak0yTGpVc01UZzJJREV6TXl3eU5EZ3VOU0FpTHo0S1BHYytDZ2s4Y0dGMGFDQm1hV3hzUFNJalEwTXdNREF3SWlCa1BTSk5Nak0wTERZM2JDMHdMak1zTVRJeUxqUnNMVEV3TXk0NExEWXdMakpzTFRBdU5TMHhNakF1TTB3eU16UXNOamQ2SUUweE5EWXVOeXd4TXprdU0yd3dMak1zT0RBdU5Hd3pOQzQxTFRJd0xqRnNMVEF1TVMwMk1DNDJiREUzTGpRdE1UQXVNd29KQ1d3d0xEWXdMamhzTVRjdU5DMHhNQzR5YkRBdU1TMDRNUzQwVERFME5pNDNMREV6T1M0emVpSXZQZ284TDJjK0NqeHdZWFJvSUdacGJHdzlJaU01TVRBMU1EVWlJR1E5SWsweE16WXVPQ3cwTGpKakxUUXVPQzB5TGpjdE1USXVOUzB5TGpjdE1UY3VNeXd3VERJMExqY3NOVGd1TjJNdE5DNDRMREl1TnkwNExqWXNPUzQxTFRndU5pd3hOQzQ1ZGpFd09XTXdMRFV1TlN3ekxqa3NNVEl1TWl3NExqWXNNVFF1T1FvSmJEazBMamdzTlRRdU5XTTBMamdzTWk0M0xERXlMalVzTWk0M0xERTNMak1zTUd3NU5DNDRMVFUwTGpWak5DNDRMVEl1Tnl3NExqWXRPUzQxTERndU5pMHhOQzQ1ZGkweE1EbGpNQzAxTGpVdE15NDVMVEV5TGpJdE9DNDJMVEUwTGpsTU1UTTJMamdzTkM0eWVpQk5Nakl3TGprc05qRXVNZ29KWXpRdU9Dd3lMamNzTkM0NExEY3VNaXd3TERrdU9Xd3RPRE1zTkRjdU4yTXROQzQ0TERJdU55MHhNaTQxTERJdU55MHhOeTR6TERCTU16WXVOQ3czTUM0MFl5MDBMamd0TWk0M0xUUXVPQzAzTGpJc01DMDVMamxzT0RNdE5EY3VOMk0wTGpndE1pNDNMREV5TGpVdE1pNDNMREUzTGpNc01Bb0pUREl5TUM0NUxEWXhMako2SUUweU15NDFMRGd4TGpWak1DMDFMalVzTXk0NUxUY3VOeXc0TGpZdE5XdzROQzQ1TERRNExqaGpOQzQ0TERJdU55dzRMallzT1M0MUxEZ3VOaXd4TkM0NVZqSXpOMk13TERVdU5TMHpMamtzTnk0M0xUZ3VOaXcxYkMwNE5DNDVMVFE0TGpnS0NXTXROQzQ0TFRJdU55MDRMall0T1M0MUxUZ3VOaTB4TkM0NVZqZ3hMalY2SUUweE5ERXVPQ3d5TkRBdU5XTXROQzQ0TERJdU55MDRMallzTUM0MUxUZ3VOaTAxZGkwNU5TNHpZekF0TlM0MUxETXVPUzB4TWk0eUxEZ3VOaTB4TkM0NVRESXlOQzR5TERjNENnbGpOQzQ0TFRJdU55dzRMall0TUM0MUxEZ3VOaXcxZGprMUxqTmpNQ3cxTGpVdE15NDVMREV5TGpJdE9DNDJMREUwTGpsTU1UUXhMamdzTWpRd0xqVjZJaTgrQ2p3dmMzWm5QZ289XCI7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IG5wbV9kZWZhdWx0IGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bnBtLm1qcy5tYXAiLCJpbXBvcnQgbnBtX2RlZmF1bHQgZnJvbSBcIi4vbnBtLm1qc1wiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0ljb25zL01hbmFnZXJzL05wbS50c3hcbmZ1bmN0aW9uIE5wbSgpIHtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXCJpbWdcIiwge1xuXHRcdGFsdDogXCJucG0gcGFja2FnZSBtYW5hZ2VyXCIsXG5cdFx0aGVpZ2h0OiBcIjIwXCIsXG5cdFx0c3JjOiBucG1fZGVmYXVsdCxcblx0XHR3aWR0aDogXCIyMFwiXG5cdH0pO1xufVxuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBOcG0gfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9TnBtMi5tanMubWFwIiwiLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0ljb25zL01hbmFnZXJzL3BucG0uc3ZnXG52YXIgcG5wbV9kZWZhdWx0ID0gXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIyWlhKemFXOXVQU0l4TGpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhCeVpYTmxjblpsUVhOd1pXTjBVbUYwYVc4OUluaE5hV1JaVFdsa0lHMWxaWFFpSUhacFpYZENiM2c5SWpZMkxqQTVNVFUzT0RBNU5EYzBNVFF5SURNekxqVWdNVGcwTGpVZ01UZzBMalE1T1RrNU9UazVPVGs1T1RrM0lpQjNhV1IwYUQwaU1UZ3dJaUJvWldsbmFIUTlJakU0TUNJK1BHUmxabk0rUEhCaGRHZ2daRDBpVFRZM0xqVTVJRE0xVERJME55NDFPU0F6TlV3eU5EY3VOVGtnTWpFMVREWTNMalU1SURJeE5VdzJOeTQxT1NBek5Wb2lJR2xrUFNKaU1rcGFXbU5CTTJaVUlqNDhMM0JoZEdnK1BIQmhkR2dnWkQwaVRUSXpOeTQySURrMVRERTROeTQySURrMVRERTROeTQySURRMVRESXpOeTQySURRMVRESXpOeTQySURrMVdpSWdhV1E5SW1KcU1IUmlNRms0Y1NJK1BDOXdZWFJvUGp4d1lYUm9JR1E5SWsweE9ESXVOVGtnT1RWTU1UTXlMalU1SURrMVRERXpNaTQxT1NBME5Vd3hPREl1TlRrZ05EVk1NVGd5TGpVNUlEazFXaUlnYVdROUltUnJSRk5VZWxCcU15SStQQzl3WVhSb1BqeHdZWFJvSUdROUlrMHhNamN1TlRrZ09UVk1OemN1TlRrZ09UVk1OemN1TlRrZ05EVk1NVEkzTGpVNUlEUTFUREV5Tnk0MU9TQTVOVm9pSUdsa1BTSmhOSFpPWkdOT1RIQkdJajQ4TDNCaGRHZytQSEJoZEdnZ1pEMGlUVEl6Tnk0MklERTFNRXd4T0RjdU5pQXhOVEJNTVRnM0xqWWdNVEF3VERJek55NDJJREV3TUV3eU16Y3VOaUF4TlRCYUlpQnBaRDBpYURKME5GcHFNV3BUVlNJK1BDOXdZWFJvUGp4d1lYUm9JR1E5SWsweE9ESXVOVGtnTVRVd1RERXpNaTQxT1NBeE5UQk1NVE15TGpVNUlERXdNRXd4T0RJdU5Ua2dNVEF3VERFNE1pNDFPU0F4TlRCYUlpQnBaRDBpWWpSME5YQnVaM2QyVkNJK1BDOXdZWFJvUGp4d1lYUm9JR1E5SWsweE9ESXVOVGtnTWpBMVRERXpNaTQxT1NBeU1EVk1NVE15TGpVNUlERTFOVXd4T0RJdU5Ua2dNVFUxVERFNE1pNDFPU0F5TURWYUlpQnBaRDBpWWpsek1XZGtOVzB5SWo0OEwzQmhkR2crUEhCaGRHZ2daRDBpVFRJek55NDJJREl3TlV3eE9EY3VOaUF5TURWTU1UZzNMallnTVRVMVRESXpOeTQySURFMU5Vd3lNemN1TmlBeU1EVmFJaUJwWkQwaVkyMTBPVmRNZG5vM0lqNDhMM0JoZEdnK1BIQmhkR2dnWkQwaVRURXlOeTQxT1NBeU1EVk1OemN1TlRrZ01qQTFURGMzTGpVNUlERTFOVXd4TWpjdU5Ua2dNVFUxVERFeU55NDFPU0F5TURWYUlpQnBaRDBpWWtwVlRuRm5SbE5uSWo0OEwzQmhkR2crUEM5a1pXWnpQanhuUGp4blBqeDFjMlVnZUd4cGJtczZhSEpsWmowaUkySXlTbHBhWTBFelpsUWlJRzl3WVdOcGRIazlJakVpSUdacGJHdzlJaU5tWm1abVptWWlJR1pwYkd3dGIzQmhZMmwwZVQwaU1TSStQQzkxYzJVK1BDOW5QanhuUGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTJKcU1IUmlNRms0Y1NJZ2IzQmhZMmwwZVQwaU1TSWdabWxzYkQwaUkyWTVZV1F3TUNJZ1ptbHNiQzF2Y0dGamFYUjVQU0l4SWo0OEwzVnpaVDQ4TDJjK1BHYytQSFZ6WlNCNGJHbHVhenBvY21WbVBTSWpaR3RFVTFSNlVHb3pJaUJ2Y0dGamFYUjVQU0l4SWlCbWFXeHNQU0lqWmpsaFpEQXdJaUJtYVd4c0xXOXdZV05wZEhrOUlqRWlQand2ZFhObFBqd3ZaejQ4Wno0OGRYTmxJSGhzYVc1ck9taHlaV1k5SWlOaE5IWk9aR05PVEhCR0lpQnZjR0ZqYVhSNVBTSXhJaUJtYVd4c1BTSWpaamxoWkRBd0lpQm1hV3hzTFc5d1lXTnBkSGs5SWpFaVBqd3ZkWE5sUGp3dlp6NDhaejQ4ZFhObElIaHNhVzVyT21oeVpXWTlJaU5vTW5RMFdtb3hhbE5WSWlCdmNHRmphWFI1UFNJeElpQm1hV3hzUFNJalpqbGhaREF3SWlCbWFXeHNMVzl3WVdOcGRIazlJakVpUGp3dmRYTmxQand2Wno0OFp6NDhkWE5sSUhoc2FXNXJPbWh5WldZOUlpTmlOSFExY0c1bmQzWlVJaUJ2Y0dGamFYUjVQU0l4SWlCbWFXeHNQU0lqTkdVMFpUUmxJaUJtYVd4c0xXOXdZV05wZEhrOUlqRWlQand2ZFhObFBqd3ZaejQ4Wno0OGRYTmxJSGhzYVc1ck9taHlaV1k5SWlOaU9YTXhaMlExYlRJaUlHOXdZV05wZEhrOUlqRWlJR1pwYkd3OUlpTTBaVFJsTkdVaUlHWnBiR3d0YjNCaFkybDBlVDBpTVNJK1BDOTFjMlUrUEM5blBqeG5QangxYzJVZ2VHeHBibXM2YUhKbFpqMGlJMk50ZERsWFRIWjZOeUlnYjNCaFkybDBlVDBpTVNJZ1ptbHNiRDBpSXpSbE5HVTBaU0lnWm1sc2JDMXZjR0ZqYVhSNVBTSXhJajQ4TDNWelpUNDhMMmMrUEdjK1BIVnpaU0I0YkdsdWF6cG9jbVZtUFNJallrcFZUbkZuUmxObklpQnZjR0ZqYVhSNVBTSXhJaUJtYVd4c1BTSWpOR1UwWlRSbElpQm1hV3hzTFc5d1lXTnBkSGs5SWpFaVBqd3ZkWE5sUGp3dlp6NDhMMmMrUEM5emRtYytcIjtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgcG5wbV9kZWZhdWx0IGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cG5wbS5tanMubWFwIiwiaW1wb3J0IHBucG1fZGVmYXVsdCBmcm9tIFwiLi9wbnBtLm1qc1wiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0ljb25zL01hbmFnZXJzL1BucG0udHN4XG5mdW5jdGlvbiBQbnBtKCkge1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcImltZ1wiLCB7XG5cdFx0YWx0OiBcInBucG0gcGFja2FnZSBtYW5hZ2VyXCIsXG5cdFx0aGVpZ2h0OiBcIjIwXCIsXG5cdFx0c3JjOiBwbnBtX2RlZmF1bHQsXG5cdFx0d2lkdGg6IFwiMjBcIlxuXHR9KTtcbn1cbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgUG5wbSB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1QbnBtMi5tanMubWFwIiwiLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0ljb25zL01hbmFnZXJzL3lhcm4uc3ZnXG52YXIgeWFybl9kZWZhdWx0ID0gXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUJwWkQwaVRHRjVaWEpmTVNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWlCMmFXVjNRbTk0UFNJd0lEQWdOVEU0SURVeE9DSStQSE4wZVd4bFBpNXpkREI3Wm1sc2JEb2pNbU00WldKaWZTNXpkREY3Wm1sc2JEb2pabVptZlR3dmMzUjViR1UrUEhCaGRHZ2dZMnhoYzNNOUluTjBNQ0lnWkQwaVRUSTFPU0F3WXpFME15QXdJREkxT1NBeE1UWWdNalU1SURJMU9WTTBNRElnTlRFNElESTFPU0ExTVRnZ01DQTBNRElnTUNBeU5Ua2dNVEUySURBZ01qVTVJREI2SWk4K1BIQmhkR2dnWTJ4aGMzTTlJbk4wTVNJZ1pEMGlUVFF6TlM0eUlETXpOeTQxWXkweExqZ3RNVFF1TWkweE15NDRMVEkwTFRJNUxqSXRNak11T0MweU15QXVNeTAwTWk0eklERXlMakl0TlRVdU1TQXlNQzR4TFRVZ015NHhMVGt1TXlBMUxqUXRNVE1nTnk0eExqZ3RNVEV1Tmk0eExUSTJMamd0TlM0NUxUUXpMalV0Tnk0ekxUSXdMVEUzTGpFdE16SXVNeTB5TkM0eExUTTVMalFnT0M0eExURXhMamdnTVRrdU1pMHlPU0F5TkM0MExUVTFMallnTkM0MUxUSXlMamNnTXk0eExUVTRMVGN1TWkwM055NDRMVEl1TVMwMExUVXVOaTAyTGprdE1UQXRPQzR4TFRFdU9DMHVOUzAxTGpJdE1TNDFMVEV4TGprdU5FTXlPVE11TVNBNU5pQXlPRGt1TmlBNU15NDRJREk0Tmk0NUlEa3lZeTAxTGpZdE15NDJMVEV5TGpJdE5DNDBMVEU0TGpRdE1pNHhMVGd1TXlBekxURTFMalFnTVRFdE1qSXVNU0F5TlM0eUxURWdNaTR4TFRFdU9TQTBMakV0TWk0M0lEWXVNUzB4TWk0M0xqa3RNekl1TnlBMUxqVXRORGt1TmlBeU15NDRMVEl1TVNBeUxqTXROaTR5SURRdE1UQXVOU0ExTGpab0xqRmpMVGd1T0NBekxqRXRNVEl1T0NBeE1DNHpMVEUzTGpjZ01qTXVNeTAyTGpnZ01UZ3VNaTR5SURNMkxqRWdOeTR4SURRM0xqY3RPUzQwSURndU5DMHlNUzQ1SURJeExqZ3RNamd1TlNBek55NDFMVGd1TWlBeE9TNDBMVGt1TVNBek9DNDBMVGd1T0NBME9DNDNMVGNnTnk0MExURTNMamdnTWpFdU15MHhPU0F6Tmk0NUxURXVOaUF5TVM0NElEWXVNeUF6Tmk0MklEa3VPQ0EwTWlBeElERXVOaUF5TGpFZ01pNDVJRE11TXlBMExqSXRMalFnTWk0M0xTNDFJRFV1Tmk0eElEZ3VOaUF4TGpNZ055QTFMamNnTVRJdU55QXhNaTQwSURFMkxqTWdNVE11TWlBM0lETXhMallnTVRBZ05EVXVPQ0F5TGprZ05TNHhJRFV1TkNBeE5DNDBJREV3TGpZZ016RXVNeUF4TUM0MmFERmpOQzR6SURBZ05UZ3VPUzB5TGprZ056UXVPQzAyTGpnZ055NHhMVEV1TnlBeE1pMDBMamNnTVRVdU1pMDNMalFnTVRBdU1pMHpMaklnTXpndU5DMHhNaTQ0SURZMUxUTXdJREU0TGpndE1USXVNaUF5TlM0ekxURTBMamdnTXprdU15MHhPQzR5SURFekxqWXRNeTR6SURJeUxqRXRNVFV1TnlBeU1DNDBMVEk1TGpSNmJTMHlNeTQ0SURFMExqZGpMVEUySURNdU9DMHlOQzR4SURjdU15MDBNeTQ1SURJd0xqSXRNekF1T1NBeU1DMDJOQzQzSURJNUxqTXROalF1TnlBeU9TNHpjeTB5TGpnZ05DNHlMVEV3TGprZ05pNHhZeTB4TkNBekxqUXROall1TnlBMkxqTXROekV1TlNBMkxqUXRNVEl1T1M0eExUSXdMamd0TXk0ekxUSXpMVGd1TmkwMkxqY3RNVFlnT1M0MkxUSXpJRGt1TmkweU0zTXRNeTQyTFRJdU1pMDFMamN0TkM0eVl5MHhMamt0TVM0NUxUTXVPUzAxTGpjdE5DNDFMVFF1TXkweUxqVWdOaTR4TFRNdU9DQXlNUzB4TUM0MUlESTNMamN0T1M0eUlEa3VNeTB5Tmk0MklEWXVNaTB6Tmk0NUxqZ3RNVEV1TXkwMklDNDRMVEl3TGpFdU9DMHlNQzR4Y3kwMkxqRWdNeTQyTFRFeExUTXVPR010TkM0MExUWXVPQzA0TGpVdE1UZ3VOQzAzTGpRdE16SXVOeUF4TGpJdE1UWXVNeUF4T1M0MExUTXlMakVnTVRrdU5DMHpNaTR4Y3kwekxqSXRNalF1TVNBM0xqTXRORGd1T0dNNUxqVXRNakl1TlNBek5TNHhMVFF3TGpZZ016VXVNUzAwTUM0MmN5MHlNUzQxTFRJekxqZ3RNVE11TlMwME5TNHlZelV1TWkweE5DQTNMak10TVRNdU9TQTVMVEUwTGpVZ05pMHlMak1nTVRFdU9DMDBMamdnTVRZdU1TMDVMalVnTWpFdU5TMHlNeTR5SURRNExqa3RNVGd1T0NBME9DNDVMVEU0TGpoek1UTXRNemt1TlNBeU5TMHpNUzQ0WXpNdU55QXlMalFnTVRjZ016SWdNVGNnTXpKek1UUXVNaTA0TGpNZ01UVXVPQzAxTGpKak9DNDJJREUyTGpjZ09TNDJJRFE0TGpZZ05TNDRJRFk0TFRZdU5DQXpNaTB5TWk0MElEUTVMakl0TWpndU9DQTJNQzB4TGpVZ01pNDFJREUzTGpJZ01UQXVOQ0F5T1NBME15NHhJREV3TGprZ01qa3VPU0F4TGpJZ05UVWdNaTQ1SURVM0xqZ3VNeTQxTGpRdU55NDBMamR6TVRJdU5TQXhJRE0zTGpZdE1UUXVOV014TXk0MExUZ3VNeUF5T1M0ekxURTNMallnTkRjdU5DMHhOeTQ0SURFM0xqVXRMak1nTVRndU5DQXlNQzR5SURVdU1pQXlNeTQwZWlJdlBqd3ZjM1puUGc9PVwiO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyB5YXJuX2RlZmF1bHQgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD15YXJuLm1qcy5tYXAiLCJpbXBvcnQgeWFybl9kZWZhdWx0IGZyb20gXCIuL3lhcm4ubWpzXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvSWNvbnMvTWFuYWdlcnMvWWFybi50c3hcbmZ1bmN0aW9uIFlhcm4oKSB7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFwiaW1nXCIsIHtcblx0XHRhbHQ6IFwibnBtIHBhY2thZ2UgbWFuYWdlclwiLFxuXHRcdGhlaWdodDogXCIyMFwiLFxuXHRcdHNyYzogeWFybl9kZWZhdWx0LFxuXHRcdHdpZHRoOiBcIjIwXCJcblx0fSk7XG59XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IFlhcm4gfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9WWFybjIubWpzLm1hcCIsImltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IFR5cG9ncmFwaHkgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvVHlwb2dyYXBoeVwiO1xuaW1wb3J0IExpc3RJdGVtIGZyb20gXCJAbXVpL21hdGVyaWFsL0xpc3RJdGVtXCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvRW5naW5lcy9zdHlsZXMudHNcbmZ1bmN0aW9uIF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fKCkge1xuXHRyZXR1cm4gXCJZb3UgaGF2ZSB0cmllZCB0byBzdHJpbmdpZnkgb2JqZWN0IHJldHVybmVkIGZyb20gYGNzc2AgZnVuY3Rpb24uIEl0IGlzbid0IHN1cHBvc2VkIHRvIGJlIHVzZWQgZGlyZWN0bHkgKGUuZy4gYXMgdmFsdWUgb2YgdGhlIGBjbGFzc05hbWVgIHByb3ApLCBidXQgcmF0aGVyIGhhbmRlZCB0byBlbW90aW9uIHNvIGl0IGNhbiBoYW5kbGUgaXQgKGUuZy4gYXMgdmFsdWUgb2YgYGNzc2AgcHJvcCkuXCI7XG59XG52YXIgU3R5bGVkVGV4dCA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFR5cG9ncmFwaHksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImV4amNzN2MxXCIgfSA6IHtcblx0dGFyZ2V0OiBcImV4amNzN2MxXCIsXG5cdGxhYmVsOiBcIlN0eWxlZFRleHRcIlxufSkoKHByb3BzKSA9PiAoe1xuXHRmb250V2VpZ2h0OiBwcm9wcy50aGVtZS5mb250V2VpZ2h0LmJvbGQsXG5cdHRleHRUcmFuc2Zvcm06IFwiY2FwaXRhbGl6ZVwiXG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OUZibWRwYm1WekwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRk5NRUlpTENKbWFXeGxJam9pTDJodmJXVXZjblZ1Ym1WeUwzZHZjbXN2ZG1WeVpHRmpZMmx2TDNabGNtUmhZMk5wYnk5d1lXTnJZV2RsY3k5MWFTMWpiMjF3YjI1bGJuUnpMM055WXk5amIyMXdiMjVsYm5SekwwVnVaMmx1WlhNdmMzUjViR1Z6TG5Seklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElITjBlV3hsWkNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl6ZEhsc1pXUW5PMXh1YVcxd2IzSjBJRXhwYzNSSmRHVnRJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRFbDBaVzBuTzF4dWFXMXdiM0owSUZSNWNHOW5jbUZ3YUhrZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOVVlWEJ2WjNKaGNHaDVKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1TDFSb1pXMWxKenRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRk4wZVd4bFpGUmxlSFFnUFNCemRIbHNaV1FvVkhsd2IyZHlZWEJvZVNrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaHdjbTl3Y3lrZ1BUNGdLSHRjYmlBZ1ptOXVkRmRsYVdkb2REb2djSEp2Y0hNdWRHaGxiV1V1Wm05dWRGZGxhV2RvZEM1aWIyeGtMRnh1SUNCMFpYaDBWSEpoYm5ObWIzSnRPaUFuWTJGd2FYUmhiR2w2WlNjc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JGYm1kcGJtVk1hWE4wU1hSbGJTQTlJSE4wZVd4bFpDaE1hWE4wU1hSbGJTa29lMXh1SUNCd1lXUmthVzVuT2lBd0xGeHVmU2s3WEc0aVhYMD0gKi9cIik7XG52YXIgRW5naW5lTGlzdEl0ZW0gPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChMaXN0SXRlbSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZXhqY3M3YzBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZXhqY3M3YzBcIixcblx0bGFiZWw6IFwiRW5naW5lTGlzdEl0ZW1cIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjFoY3g4amJcIixcblx0c3R5bGVzOiBcInBhZGRpbmc6MFwiXG59IDoge1xuXHRuYW1lOiBcIjFoY3g4amJcIixcblx0c3R5bGVzOiBcInBhZGRpbmc6MC8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlGYm1kcGJtVnpMM04wZVd4bGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZYT0VJaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OWpiMjF3YjI1bGJuUnpMMFZ1WjJsdVpYTXZjM1I1YkdWekxuUnpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSE4wZVd4bFpDQm1jbTl0SUNkQVpXMXZkR2x2Ymk5emRIbHNaV1FuTzF4dWFXMXdiM0owSUV4cGMzUkpkR1Z0SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkRWwwWlcwbk8xeHVhVzF3YjNKMElGUjVjRzluY21Gd2FIa2dabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlVZVhCdlozSmhjR2g1Snp0Y2JseHVhVzF3YjNKMElIUjVjR1VnZXlCVWFHVnRaU0I5SUdaeWIyMGdKeTR1THk0dUwxUm9aVzFsSnp0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZOMGVXeGxaRlJsZUhRZ1BTQnpkSGxzWldRb1ZIbHdiMmR5WVhCb2VTazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2h3Y205d2N5a2dQVDRnS0h0Y2JpQWdabTl1ZEZkbGFXZG9kRG9nY0hKdmNITXVkR2hsYldVdVptOXVkRmRsYVdkb2RDNWliMnhrTEZ4dUlDQjBaWGgwVkhKaGJuTm1iM0p0T2lBblkyRndhWFJoYkdsNlpTY3NYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCRmJtZHBibVZNYVhOMFNYUmxiU0E5SUhOMGVXeGxaQ2hNYVhOMFNYUmxiU2tvZTF4dUlDQndZV1JrYVc1bk9pQXdMRnh1ZlNrN1hHNGlYWDA9ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IEVuZ2luZUxpc3RJdGVtLCBTdHlsZWRUZXh0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0eWxlcy5tanMubWFwIiwiaW1wb3J0IHsgTm9kZUpTIH0gZnJvbSBcIi4uL0ljb25zL0RldnNJY29ucy9Ob2RlSlMyLm1qc1wiO1xuaW1wb3J0IHsgTnBtIH0gZnJvbSBcIi4uL0ljb25zL01hbmFnZXJzL05wbTIubWpzXCI7XG5pbXBvcnQgeyBQbnBtIH0gZnJvbSBcIi4uL0ljb25zL01hbmFnZXJzL1BucG0yLm1qc1wiO1xuaW1wb3J0IHsgWWFybiB9IGZyb20gXCIuLi9JY29ucy9NYW5hZ2Vycy9ZYXJuMi5tanNcIjtcbmltcG9ydCBcIi4uL0ljb25zL2luZGV4Lm1qc1wiO1xuaW1wb3J0IHsgRW5naW5lTGlzdEl0ZW0sIFN0eWxlZFRleHQgfSBmcm9tIFwiLi9zdHlsZXMubWpzXCI7XG5pbXBvcnQgeyBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgTGlzdCBmcm9tIFwiQG11aS9tYXRlcmlhbC9MaXN0XCI7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCBBdmF0YXIgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQXZhdGFyXCI7XG5pbXBvcnQgR3JpZCBmcm9tIFwiQG11aS9tYXRlcmlhbC9HcmlkXCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvRW5naW5lcy9FbmdpbmVzLnRzeFxuLyoqXG4qXG4qXG4qIEBjYXRlZ29yeSBDb21wb25lbnRcbiovXG52YXIgRW5naW5lSXRlbSA9ICh7IHRpdGxlLCBlbGVtZW50LCBlbmdpbmVUZXh0IH0pID0+IC8qIEBfX1BVUkVfXyAqLyBqc3goR3JpZCwge1xuXHRzaXplOiB7IHhzOiA2IH0sXG5cdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KExpc3QsIHtcblx0XHRzdWJoZWFkZXI6IC8qIEBfX1BVUkVfXyAqLyBqc3goU3R5bGVkVGV4dCwge1xuXHRcdFx0dmFyaWFudDogXCJzdWJ0aXRsZTFcIixcblx0XHRcdGNoaWxkcmVuOiB0aXRsZVxuXHRcdH0pLFxuXHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4cyhFbmdpbmVMaXN0SXRlbSwgeyBjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goQXZhdGFyLCB7XG5cdFx0XHRzeDoge1xuXHRcdFx0XHRiYWNrZ3JvdW5kQ29sb3I6IFwidHJhbnNwYXJlbnRcIixcblx0XHRcdFx0bWFyZ2luTGVmdDogMCxcblx0XHRcdFx0cGFkZGluZzogMFxuXHRcdFx0fSxcblx0XHRcdGNoaWxkcmVuOiBlbGVtZW50XG5cdFx0fSksIC8qIEBfX1BVUkVfXyAqLyBqc3goVHlwb2dyYXBoeSwge1xuXHRcdFx0c3g6IHtcblx0XHRcdFx0bWFyZ2luOiAwLFxuXHRcdFx0XHRwYWRkaW5nOiBcIjAgMCAwIDEwcHhcIlxuXHRcdFx0fSxcblx0XHRcdHZhcmlhbnQ6IFwic3VidGl0bGUyXCIsXG5cdFx0XHRjaGlsZHJlbjogZW5naW5lVGV4dFxuXHRcdH0pXSB9KVxuXHR9KVxufSk7XG4vKipcbipcbipcbiogQGNhdGVnb3J5IENvbXBvbmVudFxuKi9cbnZhciBFbmdpbmUgPSAoeyBwYWNrYWdlTWV0YSB9KSA9PiB7XG5cdGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcblx0Y29uc3QgZW5naW5lcyA9IHBhY2thZ2VNZXRhPy5sYXRlc3Q/LmVuZ2luZXM7XG5cdGlmICghZW5naW5lcykgcmV0dXJuIG51bGw7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhHcmlkLCB7XG5cdFx0Y29udGFpbmVyOiB0cnVlLFxuXHRcdGNoaWxkcmVuOiBbXG5cdFx0XHRlbmdpbmVzLm5vZGUgPyAvKiBAX19QVVJFX18gKi8ganN4KEVuZ2luZUl0ZW0sIHtcblx0XHRcdFx0ZWxlbWVudDogLyogQF9fUFVSRV9fICovIGpzeChOb2RlSlMsIHt9KSxcblx0XHRcdFx0ZW5naW5lVGV4dDogZW5naW5lcy5ub2RlLFxuXHRcdFx0XHR0aXRsZTogdChcInNpZGViYXIuZW5naW5lcy5ub2RlLWpzXCIpXG5cdFx0XHR9KSA6IG51bGwsXG5cdFx0XHRlbmdpbmVzLm5wbSA/IC8qIEBfX1BVUkVfXyAqLyBqc3goRW5naW5lSXRlbSwge1xuXHRcdFx0XHRlbGVtZW50OiAvKiBAX19QVVJFX18gKi8ganN4KE5wbSwge30pLFxuXHRcdFx0XHRlbmdpbmVUZXh0OiBlbmdpbmVzLm5wbSxcblx0XHRcdFx0dGl0bGU6IHQoXCJzaWRlYmFyLmVuZ2luZXMubnBtLXZlcnNpb25cIilcblx0XHRcdH0pIDogbnVsbCxcblx0XHRcdGVuZ2luZXMueWFybiA/IC8qIEBfX1BVUkVfXyAqLyBqc3goRW5naW5lSXRlbSwge1xuXHRcdFx0XHRlbGVtZW50OiAvKiBAX19QVVJFX18gKi8ganN4KFlhcm4sIHt9KSxcblx0XHRcdFx0ZW5naW5lVGV4dDogZW5naW5lcy55YXJuLFxuXHRcdFx0XHR0aXRsZTogdChcInNpZGViYXIuZW5naW5lcy55YXJuLXZlcnNpb25cIilcblx0XHRcdH0pIDogbnVsbCxcblx0XHRcdGVuZ2luZXMucG5wbSA/IC8qIEBfX1BVUkVfXyAqLyBqc3goRW5naW5lSXRlbSwge1xuXHRcdFx0XHRlbGVtZW50OiAvKiBAX19QVVJFX18gKi8ganN4KFBucG0sIHt9KSxcblx0XHRcdFx0ZW5naW5lVGV4dDogZW5naW5lcy5wbnBtLFxuXHRcdFx0XHR0aXRsZTogdChcInNpZGViYXIuZW5naW5lcy5wbnBtLXZlcnNpb25cIilcblx0XHRcdH0pIDogbnVsbFxuXHRcdF1cblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBFbmdpbmUgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1FbmdpbmVzLm1qcy5tYXAiLCJpbXBvcnQgeyBpc1VSTCB9IGZyb20gXCIuLi8uLi91dGlscy91cmwubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi91dGlscy9pbmRleC5tanNcIjtcbmltcG9ydCBMaW5rRXh0ZXJuYWwgZnJvbSBcIi4uL0xpbmtFeHRlcm5hbC9MaW5rRXh0ZXJuYWwubWpzXCI7XG5pbXBvcnQgXCIuLi9MaW5rRXh0ZXJuYWwvaW5kZXgubWpzXCI7XG5pbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCB7IFRyYW5zIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCBGYXZvcml0ZSBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9GYXZvcml0ZVwiO1xuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiQG11aS9tYXRlcmlhbC9CdXR0b25cIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9GdW5kQnV0dG9uL0Z1bmRCdXR0b24udHN4XG5mdW5jdGlvbiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXygpIHtcblx0cmV0dXJuIFwiWW91IGhhdmUgdHJpZWQgdG8gc3RyaW5naWZ5IG9iamVjdCByZXR1cm5lZCBmcm9tIGBjc3NgIGZ1bmN0aW9uLiBJdCBpc24ndCBzdXBwb3NlZCB0byBiZSB1c2VkIGRpcmVjdGx5IChlLmcuIGFzIHZhbHVlIG9mIHRoZSBgY2xhc3NOYW1lYCBwcm9wKSwgYnV0IHJhdGhlciBoYW5kZWQgdG8gZW1vdGlvbiBzbyBpdCBjYW4gaGFuZGxlIGl0IChlLmcuIGFzIHZhbHVlIG9mIGBjc3NgIHByb3ApLlwiO1xufVxudmFyIFN0eWxlZExpbmsgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChMaW5rRXh0ZXJuYWwsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxbHpkZ3VzMlwiIH0gOiB7XG5cdHRhcmdldDogXCJlMWx6ZGd1czJcIixcblx0bGFiZWw6IFwiU3R5bGVkTGlua1wiXG59KSgoeyB0aGVtZSB9KSA9PiAoe1xuXHRtYXJnaW5Ub3A6IHRoZW1lLnNwYWNpbmcoMiksXG5cdG1hcmdpbkJvdHRvbTogdGhlbWUuc3BhY2luZygyKSxcblx0dGV4dERlY29yYXRpb246IFwibm9uZVwiLFxuXHRkaXNwbGF5OiBcImJsb2NrXCJcbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5R2RXNWtRblYwZEc5dUwwWjFibVJDZFhSMGIyNHVkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVZWdFFpSXNJbVpwYkdVaU9pSXZhRzl0WlM5eWRXNXVaWEl2ZDI5eWF5OTJaWEprWVdOamFXOHZkbVZ5WkdGalkybHZMM0JoWTJ0aFoyVnpMM1ZwTFdOdmJYQnZibVZ1ZEhNdmMzSmpMMk52YlhCdmJtVnVkSE12Um5WdVpFSjFkSFJ2Ymk5R2RXNWtRblYwZEc5dUxuUnplQ0lzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCR1lYWnZjbWwwWlNCbWNtOXRJQ2RBYlhWcEwybGpiMjV6TFcxaGRHVnlhV0ZzTDBaaGRtOXlhWFJsSnp0Y2JtbHRjRzl5ZENCQ2RYUjBiMjRnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5Q2RYUjBiMjRuTzF4dWFXMXdiM0owSUZKbFlXTjBJR1p5YjIwZ0ozSmxZV04wSnp0Y2JtbHRjRzl5ZENCN0lGUnlZVzV6SUgwZ1puSnZiU0FuY21WaFkzUXRhVEU0Ym1WNGRDYzdYRzVjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaTlVYUdWdFpTYzdYRzVwYlhCdmNuUWdleUIxY213Z2ZTQm1jbTl0SUNjdUxpOHVMaTkxZEdsc2N5YzdYRzVwYlhCdmNuUWdUR2x1YTBWNGRHVnlibUZzSUdaeWIyMGdKeTR1TDB4cGJtdEZlSFJsY201aGJDYzdYRzVjYm1OdmJuTjBJRk4wZVd4bFpFeHBibXNnUFNCemRIbHNaV1FvVEdsdWEwVjRkR1Z5Ym1Gc0tUeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LSHNnZEdobGJXVWdmU2tnUFQ0Z0tIdGNiaUFnYldGeVoybHVWRzl3T2lCMGFHVnRaUzV6Y0dGamFXNW5LRElwTEZ4dUlDQnRZWEpuYVc1Q2IzUjBiMjA2SUhSb1pXMWxMbk53WVdOcGJtY29NaWtzWEc0Z0lIUmxlSFJFWldOdmNtRjBhVzl1T2lBbmJtOXVaU2NzWEc0Z0lHUnBjM0JzWVhrNklDZGliRzlqYXljc1hHNTlLU2s3WEc1Y2JtTnZibk4wSUZOMGVXeGxaRVpoZG05eWFYUmxTV052YmlBOUlITjBlV3hsWkNoR1lYWnZjbWwwWlNrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR052Ykc5eU9pQjBhR1Z0WlM1d1lXeGxkSFJsTG05eVlXNW5aU3hjYm4wcEtUdGNibHh1WTI5dWMzUWdVM1I1YkdWa1JuVnVaRk4wY205dVp5QTlJSE4wZVd4bFpDZ25jM1J5YjI1bkp5a29lMXh1SUNCdFlYSm5hVzVTYVdkb2REb2dNeXhjYm4wcE8xeHVYRzVqYjI1emRDQkdkVzVrUW5WMGRHOXVPaUJTWldGamRDNUdReng3SUhCaFkydGhaMlZOWlhSaE9pQmhibmtnZlQ0Z1BTQW9leUJ3WVdOcllXZGxUV1YwWVNCOUtTQTlQaUI3WEc0Z0lHTnZibk4wSUdaMWJtUnBibWRWY213Z1BTQndZV05yWVdkbFRXVjBZVDh1YkdGMFpYTjBQeTVtZFc1a2FXNW5QeTUxY213Z1lYTWdjM1J5YVc1bk8xeHVYRzRnSUdsbUlDZ2hkWEpzTG1selZWSk1LR1oxYm1ScGJtZFZjbXdwS1NCN1hHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z0tGeHVJQ0FnSUR4VGRIbHNaV1JNYVc1cklIUnZQWHRtZFc1a2FXNW5WWEpzZlNCMllYSnBZVzUwUFZ3aVluVjBkRzl1WENJK1hHNGdJQ0FnSUNBOFFuVjBkRzl1WEc0Z0lDQWdJQ0FnSUdOdmJHOXlQVndpY0hKcGJXRnllVndpWEc0Z0lDQWdJQ0FnSUdaMWJHeFhhV1IwYUQxN2RISjFaWDFjYmlBZ0lDQWdJQ0FnYzNSaGNuUkpZMjl1UFhzOFUzUjViR1ZrUm1GMmIzSnBkR1ZKWTI5dUlDOCtmVnh1SUNBZ0lDQWdJQ0IyWVhKcFlXNTBQVndpYjNWMGJHbHVaV1JjSWx4dUlDQWdJQ0FnUGx4dUlDQWdJQ0FnSUNBOFZISmhibk1nWTI5dGNHOXVaVzUwY3oxN1d6eFRkSGxzWldSR2RXNWtVM1J5YjI1bklHdGxlVDFjSW1aMWJtUmNJaUF2UGwxOUlHa3hPRzVMWlhrOVhDSmlkWFIwYjI0dVpuVnVaQzEwYUdsekxYQmhZMnRoWjJWY0lpQXZQbHh1SUNBZ0lDQWdQQzlDZFhSMGIyNCtYRzRnSUNBZ1BDOVRkSGxzWldSTWFXNXJQbHh1SUNBcE8xeHVmVHRjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnUm5WdVpFSjFkSFJ2Ymp0Y2JpSmRmUT09ICovXCIpO1xudmFyIFN0eWxlZEZhdm9yaXRlSWNvbiA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKEZhdm9yaXRlLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMWx6ZGd1czFcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTFsemRndXMxXCIsXG5cdGxhYmVsOiBcIlN0eWxlZEZhdm9yaXRlSWNvblwiXG59KSgoeyB0aGVtZSB9KSA9PiAoeyBjb2xvcjogdGhlbWUucGFsZXR0ZS5vcmFuZ2UgfSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlHZFc1a1FuVjBkRzl1TDBaMWJtUkNkWFIwYjI0dWRITjRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRV2xDTWtJaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OWpiMjF3YjI1bGJuUnpMMFoxYm1SQ2RYUjBiMjR2Um5WdVpFSjFkSFJ2Ymk1MGMzZ2lMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdjM1I1YkdWa0lHWnliMjBnSjBCbGJXOTBhVzl1TDNOMGVXeGxaQ2M3WEc1cGJYQnZjblFnUm1GMmIzSnBkR1VnWm5KdmJTQW5RRzExYVM5cFkyOXVjeTF0WVhSbGNtbGhiQzlHWVhadmNtbDBaU2M3WEc1cGJYQnZjblFnUW5WMGRHOXVJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UW5WMGRHOXVKenRjYm1sdGNHOXlkQ0JTWldGamRDQm1jbTl0SUNkeVpXRmpkQ2M3WEc1cGJYQnZjblFnZXlCVWNtRnVjeUI5SUdaeWIyMGdKM0psWVdOMExXa3hPRzVsZUhRbk8xeHVYRzVwYlhCdmNuUWdkSGx3WlNCN0lGUm9aVzFsSUgwZ1puSnZiU0FuTGk0dkxpNHZWR2hsYldVbk8xeHVhVzF3YjNKMElIc2dkWEpzSUgwZ1puSnZiU0FuTGk0dkxpNHZkWFJwYkhNbk8xeHVhVzF3YjNKMElFeHBibXRGZUhSbGNtNWhiQ0JtY205dElDY3VMaTlNYVc1clJYaDBaWEp1WVd3bk8xeHVYRzVqYjI1emRDQlRkSGxzWldSTWFXNXJJRDBnYzNSNWJHVmtLRXhwYm10RmVIUmxjbTVoYkNrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJRzFoY21kcGJsUnZjRG9nZEdobGJXVXVjM0JoWTJsdVp5Z3lLU3hjYmlBZ2JXRnlaMmx1UW05MGRHOXRPaUIwYUdWdFpTNXpjR0ZqYVc1bktESXBMRnh1SUNCMFpYaDBSR1ZqYjNKaGRHbHZiam9nSjI1dmJtVW5MRnh1SUNCa2FYTndiR0Y1T2lBbllteHZZMnNuTEZ4dWZTa3BPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUkdZWFp2Y21sMFpVbGpiMjRnUFNCemRIbHNaV1FvUm1GMmIzSnBkR1VwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQmpiMnh2Y2pvZ2RHaGxiV1V1Y0dGc1pYUjBaUzV2Y21GdVoyVXNYRzU5S1NrN1hHNWNibU52Ym5OMElGTjBlV3hsWkVaMWJtUlRkSEp2Ym1jZ1BTQnpkSGxzWldRb0ozTjBjbTl1WnljcEtIdGNiaUFnYldGeVoybHVVbWxuYUhRNklETXNYRzU5S1R0Y2JseHVZMjl1YzNRZ1JuVnVaRUoxZEhSdmJqb2dVbVZoWTNRdVJrTThleUJ3WVdOcllXZGxUV1YwWVRvZ1lXNTVJSDArSUQwZ0tIc2djR0ZqYTJGblpVMWxkR0VnZlNrZ1BUNGdlMXh1SUNCamIyNXpkQ0JtZFc1a2FXNW5WWEpzSUQwZ2NHRmphMkZuWlUxbGRHRS9MbXhoZEdWemREOHVablZ1WkdsdVp6OHVkWEpzSUdGeklITjBjbWx1Wnp0Y2JseHVJQ0JwWmlBb0lYVnliQzVwYzFWU1RDaG1kVzVrYVc1blZYSnNLU2tnZTF4dUlDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUNoY2JpQWdJQ0E4VTNSNWJHVmtUR2x1YXlCMGJ6MTdablZ1WkdsdVoxVnliSDBnZG1GeWFXRnVkRDFjSW1KMWRIUnZibHdpUGx4dUlDQWdJQ0FnUEVKMWRIUnZibHh1SUNBZ0lDQWdJQ0JqYjJ4dmNqMWNJbkJ5YVcxaGNubGNJbHh1SUNBZ0lDQWdJQ0JtZFd4c1YybGtkR2c5ZTNSeWRXVjlYRzRnSUNBZ0lDQWdJSE4wWVhKMFNXTnZiajE3UEZOMGVXeGxaRVpoZG05eWFYUmxTV052YmlBdlBuMWNiaUFnSUNBZ0lDQWdkbUZ5YVdGdWREMWNJbTkxZEd4cGJtVmtYQ0pjYmlBZ0lDQWdJRDVjYmlBZ0lDQWdJQ0FnUEZSeVlXNXpJR052YlhCdmJtVnVkSE05ZTFzOFUzUjViR1ZrUm5WdVpGTjBjbTl1WnlCclpYazlYQ0ptZFc1a1hDSWdMejVkZlNCcE1UaHVTMlY1UFZ3aVluVjBkRzl1TG1aMWJtUXRkR2hwY3kxd1lXTnJZV2RsWENJZ0x6NWNiaUFnSUNBZ0lEd3ZRblYwZEc5dVBseHVJQ0FnSUR3dlUzUjViR1ZrVEdsdWF6NWNiaUFnS1R0Y2JuMDdYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJRVoxYm1SQ2RYUjBiMjQ3WEc0aVhYMD0gKi9cIik7XG52YXIgU3R5bGVkRnVuZFN0cm9uZyA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwic3Ryb25nXCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxbHpkZ3VzMFwiIH0gOiB7XG5cdHRhcmdldDogXCJlMWx6ZGd1czBcIixcblx0bGFiZWw6IFwiU3R5bGVkRnVuZFN0cm9uZ1wiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwiMXB0Mm84eFwiLFxuXHRzdHlsZXM6IFwibWFyZ2luLXJpZ2h0OjNweFwiXG59IDoge1xuXHRuYW1lOiBcIjFwdDJvOHhcIixcblx0c3R5bGVzOiBcIm1hcmdpbi1yaWdodDozcHgvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5R2RXNWtRblYwZEc5dUwwWjFibVJDZFhSMGIyNHVkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVhGQ2VVSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDBaMWJtUkNkWFIwYjI0dlJuVnVaRUoxZEhSdmJpNTBjM2dpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnYzNSNWJHVmtJR1p5YjIwZ0owQmxiVzkwYVc5dUwzTjBlV3hsWkNjN1hHNXBiWEJ2Y25RZ1JtRjJiM0pwZEdVZ1puSnZiU0FuUUcxMWFTOXBZMjl1Y3kxdFlYUmxjbWxoYkM5R1lYWnZjbWwwWlNjN1hHNXBiWEJ2Y25RZ1FuVjBkRzl1SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlFuVjBkRzl1Snp0Y2JtbHRjRzl5ZENCU1pXRmpkQ0JtY205dElDZHlaV0ZqZENjN1hHNXBiWEJ2Y25RZ2V5QlVjbUZ1Y3lCOUlHWnliMjBnSjNKbFlXTjBMV2t4T0c1bGVIUW5PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2VkdobGJXVW5PMXh1YVcxd2IzSjBJSHNnZFhKc0lIMGdabkp2YlNBbkxpNHZMaTR2ZFhScGJITW5PMXh1YVcxd2IzSjBJRXhwYm10RmVIUmxjbTVoYkNCbWNtOXRJQ2N1TGk5TWFXNXJSWGgwWlhKdVlXd25PMXh1WEc1amIyNXpkQ0JUZEhsc1pXUk1hVzVySUQwZ2MzUjViR1ZrS0V4cGJtdEZlSFJsY201aGJDazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUcxaGNtZHBibFJ2Y0RvZ2RHaGxiV1V1YzNCaFkybHVaeWd5S1N4Y2JpQWdiV0Z5WjJsdVFtOTBkRzl0T2lCMGFHVnRaUzV6Y0dGamFXNW5LRElwTEZ4dUlDQjBaWGgwUkdWamIzSmhkR2x2YmpvZ0oyNXZibVVuTEZ4dUlDQmthWE53YkdGNU9pQW5ZbXh2WTJzbkxGeHVmU2twTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JHWVhadmNtbDBaVWxqYjI0Z1BTQnpkSGxzWldRb1JtRjJiM0pwZEdVcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JqYjJ4dmNqb2dkR2hsYldVdWNHRnNaWFIwWlM1dmNtRnVaMlVzWEc1OUtTazdYRzVjYm1OdmJuTjBJRk4wZVd4bFpFWjFibVJUZEhKdmJtY2dQU0J6ZEhsc1pXUW9KM04wY205dVp5Y3BLSHRjYmlBZ2JXRnlaMmx1VW1sbmFIUTZJRE1zWEc1OUtUdGNibHh1WTI5dWMzUWdSblZ1WkVKMWRIUnZiam9nVW1WaFkzUXVSa004ZXlCd1lXTnJZV2RsVFdWMFlUb2dZVzU1SUgwK0lEMGdLSHNnY0dGamEyRm5aVTFsZEdFZ2ZTa2dQVDRnZTF4dUlDQmpiMjV6ZENCbWRXNWthVzVuVlhKc0lEMGdjR0ZqYTJGblpVMWxkR0UvTG14aGRHVnpkRDh1Wm5WdVpHbHVaejh1ZFhKc0lHRnpJSE4wY21sdVp6dGNibHh1SUNCcFppQW9JWFZ5YkM1cGMxVlNUQ2htZFc1a2FXNW5WWEpzS1NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNBOFUzUjViR1ZrVEdsdWF5QjBiejE3Wm5WdVpHbHVaMVZ5YkgwZ2RtRnlhV0Z1ZEQxY0ltSjFkSFJ2Ymx3aVBseHVJQ0FnSUNBZ1BFSjFkSFJ2Ymx4dUlDQWdJQ0FnSUNCamIyeHZjajFjSW5CeWFXMWhjbmxjSWx4dUlDQWdJQ0FnSUNCbWRXeHNWMmxrZEdnOWUzUnlkV1Y5WEc0Z0lDQWdJQ0FnSUhOMFlYSjBTV052YmoxN1BGTjBlV3hsWkVaaGRtOXlhWFJsU1dOdmJpQXZQbjFjYmlBZ0lDQWdJQ0FnZG1GeWFXRnVkRDFjSW05MWRHeHBibVZrWENKY2JpQWdJQ0FnSUQ1Y2JpQWdJQ0FnSUNBZ1BGUnlZVzV6SUdOdmJYQnZibVZ1ZEhNOWUxczhVM1I1YkdWa1JuVnVaRk4wY205dVp5QnJaWGs5WENKbWRXNWtYQ0lnTHo1ZGZTQnBNVGh1UzJWNVBWd2lZblYwZEc5dUxtWjFibVF0ZEdocGN5MXdZV05yWVdkbFhDSWdMejVjYmlBZ0lDQWdJRHd2UW5WMGRHOXVQbHh1SUNBZ0lEd3ZVM1I1YkdWa1RHbHVhejVjYmlBZ0tUdGNibjA3WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUVaMWJtUkNkWFIwYjI0N1hHNGlYWDA9ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgRnVuZEJ1dHRvbiA9ICh7IHBhY2thZ2VNZXRhIH0pID0+IHtcblx0Y29uc3QgZnVuZGluZ1VybCA9IHBhY2thZ2VNZXRhPy5sYXRlc3Q/LmZ1bmRpbmc/LnVybDtcblx0aWYgKCFpc1VSTChmdW5kaW5nVXJsKSkgcmV0dXJuIG51bGw7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFN0eWxlZExpbmssIHtcblx0XHR0bzogZnVuZGluZ1VybCxcblx0XHR2YXJpYW50OiBcImJ1dHRvblwiLFxuXHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEJ1dHRvbiwge1xuXHRcdFx0Y29sb3I6IFwicHJpbWFyeVwiLFxuXHRcdFx0ZnVsbFdpZHRoOiB0cnVlLFxuXHRcdFx0c3RhcnRJY29uOiAvKiBAX19QVVJFX18gKi8ganN4KFN0eWxlZEZhdm9yaXRlSWNvbiwge30pLFxuXHRcdFx0dmFyaWFudDogXCJvdXRsaW5lZFwiLFxuXHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goVHJhbnMsIHtcblx0XHRcdFx0Y29tcG9uZW50czogWy8qIEBfX1BVUkVfXyAqLyBqc3goU3R5bGVkRnVuZFN0cm9uZywge30sIFwiZnVuZFwiKV0sXG5cdFx0XHRcdGkxOG5LZXk6IFwiYnV0dG9uLmZ1bmQtdGhpcy1wYWNrYWdlXCJcblx0XHRcdH0pXG5cdFx0fSlcblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBGdW5kQnV0dG9uIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9RnVuZEJ1dHRvbi5tanMubWFwIiwiaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IFR5cG9ncmFwaHkgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvVHlwb2dyYXBoeVwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0hlYWRpbmcvSGVhZGluZy50c3hcbnZhciBIZWFkaW5nID0gZnVuY3Rpb24gSGVhZGluZyh7IHJlZiwgdmFyaWFudCA9IFwiaDZcIiwgLi4ucHJvcHMgfSkge1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChUeXBvZ3JhcGh5LCB7XG5cdFx0Li4ucHJvcHMsXG5cdFx0cmVmLFxuXHRcdHZhcmlhbnRcblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBIZWFkaW5nIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9SGVhZGluZy5tanMubWFwIiwiaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9BcHBDb25maWd1cmF0aW9uUHJvdmlkZXIvQXBwQ29uZmlndXJhdGlvblByb3ZpZGVyLm1qc1wiO1xuaW1wb3J0IHsgdXNlU2V0dGluZ3MgfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL1BlcnNpc3RlbmNlU2V0dGluZ1Byb3ZpZGVyL1BlcnNpc3RlbmNlU2V0dGluZ1Byb3ZpZGVyLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vcHJvdmlkZXJzL1BlcnNpc3RlbmNlU2V0dGluZ1Byb3ZpZGVyL2luZGV4Lm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vcHJvdmlkZXJzL2luZGV4Lm1qc1wiO1xuaW1wb3J0IHsgRnJhZ21lbnQsIGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IEljb25CdXR0b24gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvSWNvbkJ1dHRvblwiO1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IENoZWNrIGZyb20gXCJAbXVpL2ljb25zLW1hdGVyaWFsL0NoZWNrXCI7XG5pbXBvcnQgU2V0dGluZ3MgZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvU2V0dGluZ3NcIjtcbmltcG9ydCBMaXN0SXRlbUljb24gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvTGlzdEl0ZW1JY29uXCI7XG5pbXBvcnQgTWVudSBmcm9tIFwiQG11aS9tYXRlcmlhbC9NZW51XCI7XG5pbXBvcnQgTWF0ZXJpYWxVSU1lbnVJdGVtIGZyb20gXCJAbXVpL21hdGVyaWFsL01lbnVJdGVtXCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvU2V0dGluZ3NNZW51L1NldHRpbmdzTWVudS50c3hcbnZhciBUeXBlZE1lbnUgPSBNZW51O1xudmFyIFNldHRpbmdzTWVudSA9ICh7IHBhY2thZ2VOYW1lIH0pID0+IHtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRjb25zdCB7IGxvY2FsU2V0dGluZ3MsIHVwZGF0ZVNldHRpbmdzIH0gPSB1c2VTZXR0aW5ncygpO1xuXHRjb25zdCB7IGNvbmZpZ09wdGlvbnMgfSA9IHVzZUNvbmZpZygpO1xuXHRjb25zdCBbYW5jaG9yRWwsIHNldEFuY2hvckVsXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuXHRjb25zdCBvcGVuID0gQm9vbGVhbihhbmNob3JFbCk7XG5cdGNvbnN0IGhhbmRsZU9wZW5NZW51ID0gKGV2ZW50KSA9PiB7XG5cdFx0c2V0QW5jaG9yRWwoZXZlbnQuY3VycmVudFRhcmdldCk7XG5cdH07XG5cdGNvbnN0IGhhbmRsZUxhdGVzdFNlbGVjdCA9ICgpID0+IHtcblx0XHR1cGRhdGVTZXR0aW5ncyh7XG5cdFx0XHQuLi5sb2NhbFNldHRpbmdzLFxuXHRcdFx0W3BhY2thZ2VOYW1lXToge1xuXHRcdFx0XHRnbG9iYWw6IGxvY2FsU2V0dGluZ3NbcGFja2FnZU5hbWVdPy5nbG9iYWwsXG5cdFx0XHRcdGxhdGVzdDogIWxvY2FsU2V0dGluZ3NbcGFja2FnZU5hbWVdPy5sYXRlc3Rcblx0XHRcdH1cblx0XHR9KTtcblx0XHRzZXRBbmNob3JFbChudWxsKTtcblx0fTtcblx0Y29uc3QgaGFuZGxlR2xvYmFsU2VsZWN0ID0gKCkgPT4ge1xuXHRcdHVwZGF0ZVNldHRpbmdzKHtcblx0XHRcdC4uLmxvY2FsU2V0dGluZ3MsXG5cdFx0XHRbcGFja2FnZU5hbWVdOiB7XG5cdFx0XHRcdGdsb2JhbDogIWxvY2FsU2V0dGluZ3NbcGFja2FnZU5hbWVdPy5nbG9iYWwsXG5cdFx0XHRcdGxhdGVzdDogbG9jYWxTZXR0aW5nc1twYWNrYWdlTmFtZV0/LmxhdGVzdFxuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdHNldEFuY2hvckVsKG51bGwpO1xuXHR9O1xuXHRjb25zdCBoYW5kbGVHbG9iYWxZYXJuTW9kZXJuID0gKCkgPT4ge1xuXHRcdGNvbnN0IHN0YXR1c1lhcm5Nb2Rlcm4gPSAhbG9jYWxTZXR0aW5ncz8ueWFybk1vZGVybjtcblx0XHR1cGRhdGVTZXR0aW5ncyh7XG5cdFx0XHQuLi5sb2NhbFNldHRpbmdzLFxuXHRcdFx0eWFybk1vZGVybjogc3RhdHVzWWFybk1vZGVyblxuXHRcdH0pO1xuXHRcdHNldEFuY2hvckVsKG51bGwpO1xuXHR9O1xuXHRjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcblx0XHRzZXRBbmNob3JFbChudWxsKTtcblx0fTtcblx0Y29uc3Qgc3RhdHVzTGF0ZXN0ID0gbG9jYWxTZXR0aW5nc1twYWNrYWdlTmFtZV0/LmxhdGVzdDtcblx0Y29uc3Qgc3RhdHVzR2xvYmFsID0gbG9jYWxTZXR0aW5nc1twYWNrYWdlTmFtZV0/Lmdsb2JhbDtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKEZyYWdtZW50LCB7IGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChJY29uQnV0dG9uLCB7XG5cdFx0XCJhcmlhLWNvbnRyb2xzXCI6IG9wZW4gPyBcImJhc2ljLW1lbnVcIiA6IHZvaWQgMCxcblx0XHRcImFyaWEtZXhwYW5kZWRcIjogb3BlbiA/IFwidHJ1ZVwiIDogdm9pZCAwLFxuXHRcdFwiYXJpYS1oYXNwb3B1cFwiOiBcInRydWVcIixcblx0XHRpZDogXCJiYXNpYy1idXR0b25cIixcblx0XHRvbkNsaWNrOiBoYW5kbGVPcGVuTWVudSxcblx0XHRzaXplOiBcInNtYWxsXCIsXG5cdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goU2V0dGluZ3MsIHsgZm9udFNpemU6IFwic21hbGxcIiB9KVxuXHR9KSwgLyogQF9fUFVSRV9fICovIGpzeHMoVHlwZWRNZW51LCB7XG5cdFx0YW5jaG9yRWwsXG5cdFx0YW5jaG9yT3JpZ2luOiB7XG5cdFx0XHR2ZXJ0aWNhbDogXCJib3R0b21cIixcblx0XHRcdGhvcml6b250YWw6IFwicmlnaHRcIlxuXHRcdH0sXG5cdFx0aWQ6IFwiYmFzaWMtbWVudVwiLFxuXHRcdG9uQ2xvc2U6IGhhbmRsZUNsb3NlLFxuXHRcdG9wZW4sXG5cdFx0c2xvdFByb3BzOiB7IGxpc3Q6IHsgXCJhcmlhLWxhYmVsbGVkYnlcIjogXCJiYXNpYy1idXR0b25cIiB9IH0sXG5cdFx0dHJhbnNmb3JtT3JpZ2luOiB7XG5cdFx0XHR2ZXJ0aWNhbDogXCJ0b3BcIixcblx0XHRcdGhvcml6b250YWw6IFwicmlnaHRcIlxuXHRcdH0sXG5cdFx0Y2hpbGRyZW46IFtcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3hzKE1hdGVyaWFsVUlNZW51SXRlbSwge1xuXHRcdFx0XHRvbkNsaWNrOiBoYW5kbGVMYXRlc3RTZWxlY3QsXG5cdFx0XHRcdGNoaWxkcmVuOiBbXG5cdFx0XHRcdFx0XCIgXCIsXG5cdFx0XHRcdFx0c3RhdHVzTGF0ZXN0ID09PSB0cnVlID8gLyogQF9fUFVSRV9fICovIGpzeChMaXN0SXRlbUljb24sIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goQ2hlY2ssIHt9KSB9KSA6IG51bGwsXG5cdFx0XHRcdFx0dChcInNpZGViYXIuaW5zdGFsbGF0aW9uLmxhdGVzdFwiKVxuXHRcdFx0XHRdXG5cdFx0XHR9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3hzKE1hdGVyaWFsVUlNZW51SXRlbSwge1xuXHRcdFx0XHRvbkNsaWNrOiBoYW5kbGVHbG9iYWxTZWxlY3QsXG5cdFx0XHRcdGNoaWxkcmVuOiBbXG5cdFx0XHRcdFx0XCIgXCIsXG5cdFx0XHRcdFx0c3RhdHVzR2xvYmFsID09PSB0cnVlID8gLyogQF9fUFVSRV9fICovIGpzeChMaXN0SXRlbUljb24sIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goQ2hlY2ssIHt9KSB9KSA6IG51bGwsXG5cdFx0XHRcdFx0dChcInNpZGViYXIuaW5zdGFsbGF0aW9uLmdsb2JhbFwiKVxuXHRcdFx0XHRdXG5cdFx0XHR9KSxcblx0XHRcdGNvbmZpZ09wdGlvbnM/LnBrZ01hbmFnZXJzPy5pbmNsdWRlcyhcInlhcm5cIikgJiYgLyogQF9fUFVSRV9fICovIGpzeHMoTWF0ZXJpYWxVSU1lbnVJdGVtLCB7XG5cdFx0XHRcdG9uQ2xpY2s6IGhhbmRsZUdsb2JhbFlhcm5Nb2Rlcm4sXG5cdFx0XHRcdGNoaWxkcmVuOiBbXG5cdFx0XHRcdFx0XCIgXCIsXG5cdFx0XHRcdFx0bG9jYWxTZXR0aW5ncz8ueWFybk1vZGVybiA/IC8qIEBfX1BVUkVfXyAqLyBqc3goTGlzdEl0ZW1JY29uLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KENoZWNrLCB7fSkgfSkgOiBudWxsLFxuXHRcdFx0XHRcdHQoXCJzaWRlYmFyLmluc3RhbGxhdGlvbi55YXJuTW9kZXJuXCIpXG5cdFx0XHRcdF1cblx0XHRcdH0pXG5cdFx0XVxuXHR9KV0gfSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBTZXR0aW5nc01lbnUgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1TZXR0aW5nc01lbnUubWpzLm1hcCIsImltcG9ydCBDb3B5VG9DbGlwQm9hcmQgZnJvbSBcIi4uL0NvcHlDbGlwYm9hcmQvQ29weVRvQ2xpcEJvYXJkLm1qc1wiO1xuaW1wb3J0IFwiLi4vQ29weUNsaXBib2FyZC9pbmRleC5tanNcIjtcbmltcG9ydCB7IHVzZVNldHRpbmdzIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9QZXJzaXN0ZW5jZVNldHRpbmdQcm92aWRlci9QZXJzaXN0ZW5jZVNldHRpbmdQcm92aWRlci5tanNcIjtcbmltcG9ydCBcIi4uLy4uL3Byb3ZpZGVycy9QZXJzaXN0ZW5jZVNldHRpbmdQcm92aWRlci9pbmRleC5tanNcIjtcbmltcG9ydCB7IE5wbSB9IGZyb20gXCIuLi9JY29ucy9NYW5hZ2Vycy9OcG0yLm1qc1wiO1xuaW1wb3J0IHsgUG5wbSB9IGZyb20gXCIuLi9JY29ucy9NYW5hZ2Vycy9QbnBtMi5tanNcIjtcbmltcG9ydCB7IFlhcm4gfSBmcm9tIFwiLi4vSWNvbnMvTWFuYWdlcnMvWWFybjIubWpzXCI7XG5pbXBvcnQgXCIuLi9JY29ucy9pbmRleC5tanNcIjtcbmltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IHsgY29tbW9uIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvY29sb3JzXCI7XG5pbXBvcnQgQXZhdGFyIGZyb20gXCJAbXVpL21hdGVyaWFsL0F2YXRhclwiO1xuaW1wb3J0IExpc3RJdGVtIGZyb20gXCJAbXVpL21hdGVyaWFsL0xpc3RJdGVtXCI7XG5pbXBvcnQgTGlzdEl0ZW1UZXh0IGZyb20gXCJAbXVpL21hdGVyaWFsL0xpc3RJdGVtVGV4dFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0luc3RhbGwvSW5zdGFsbExpc3RJdGVtLnRzeFxuZnVuY3Rpb24gX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX18oKSB7XG5cdHJldHVybiBcIllvdSBoYXZlIHRyaWVkIHRvIHN0cmluZ2lmeSBvYmplY3QgcmV0dXJuZWQgZnJvbSBgY3NzYCBmdW5jdGlvbi4gSXQgaXNuJ3Qgc3VwcG9zZWQgdG8gYmUgdXNlZCBkaXJlY3RseSAoZS5nLiBhcyB2YWx1ZSBvZiB0aGUgYGNsYXNzTmFtZWAgcHJvcCksIGJ1dCByYXRoZXIgaGFuZGVkIHRvIGVtb3Rpb24gc28gaXQgY2FuIGhhbmRsZSBpdCAoZS5nLiBhcyB2YWx1ZSBvZiBgY3NzYCBwcm9wKS5cIjtcbn1cbnZhciBJbnN0YWxsSXRlbSA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKExpc3RJdGVtLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMTlsbmc0NDJcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTE5bG5nNDQyXCIsXG5cdGxhYmVsOiBcIkluc3RhbGxJdGVtXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCJ6dzQ2YzZcIixcblx0c3R5bGVzOiBcInBhZGRpbmc6MDs6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDt9XCJcbn0gOiB7XG5cdG5hbWU6IFwienc0NmM2XCIsXG5cdHN0eWxlczogXCJwYWRkaW5nOjA7OmhvdmVye2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7fS8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlKYm5OMFlXeHNMMGx1YzNSaGJHeE1hWE4wU1hSbGJTNTBjM2dpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCVjI5Q0lpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlKYm5OMFlXeHNMMGx1YzNSaGJHeE1hWE4wU1hSbGJTNTBjM2dpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnYzNSNWJHVmtJR1p5YjIwZ0owQmxiVzkwYVc5dUwzTjBlV3hsWkNjN1hHNXBiWEJ2Y25RZ1FYWmhkR0Z5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlFYWmhkR0Z5Snp0Y2JtbHRjRzl5ZENCTWFYTjBTWFJsYlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wweHBjM1JKZEdWdEp6dGNibWx0Y0c5eWRDQk1hWE4wU1hSbGJWUmxlSFFnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5TWFYTjBTWFJsYlZSbGVIUW5PMXh1YVcxd2IzSjBJSHNnWTI5dGJXOXVJSDBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5amIyeHZjbk1uTzF4dWFXMXdiM0owSUZKbFlXTjBJR1p5YjIwZ0ozSmxZV04wSnp0Y2JseHVhVzF3YjNKMElIc2dkWE5sVTJWMGRHbHVaM01nZlNCbWNtOXRJQ2N1TGk4dUxpOXdjbTkyYVdSbGNuTXZVR1Z5YzJsemRHVnVZMlZUWlhSMGFXNW5VSEp2ZG1sa1pYSW5PMXh1YVcxd2IzSjBJRU52Y0hsVWIwTnNhWEJDYjJGeVpDQm1jbTl0SUNjdUxpOURiM0I1UTJ4cGNHSnZZWEprSnp0Y2JtbHRjRzl5ZENCN0lFNXdiU3dnVUc1d2JTd2dXV0Z5YmlCOUlHWnliMjBnSnk0dUwwbGpiMjV6Snp0Y2JseHVZMjl1YzNRZ1NXNXpkR0ZzYkVsMFpXMGdQU0J6ZEhsc1pXUW9UR2x6ZEVsMFpXMHBLSHRjYmlBZ2NHRmtaR2x1WnpvZ01DeGNiaUFnSnpwb2IzWmxjaWM2SUh0Y2JpQWdJQ0JpWVdOclozSnZkVzVrUTI5c2IzSTZJQ2QwY21GdWMzQmhjbVZ1ZENjc1hHNGdJSDBzWEc1OUtUdGNibHh1WTI5dWMzUWdTVzV6ZEdGc2JFeHBjM1JKZEdWdFZHVjRkQ0E5SUhOMGVXeGxaQ2hNYVhOMFNYUmxiVlJsZUhRcEtIdGNiaUFnY0dGa1pHbHVaem9nSnpBZ01DQXdJREV3Y0hnbkxGeHVJQ0J0WVhKbmFXNDZJREFzWEc1OUtUdGNibHh1WTI5dWMzUWdVR0ZqYTJGblpVMWhibWRsY2tGMllYUmhjaUE5SUhOMGVXeGxaQ2hCZG1GMFlYSXBLSHRjYmlBZ1ltRmphMmR5YjNWdVpFTnZiRzl5T2lBbmRISmhibk53WVhKbGJuUW5MRnh1SUNCd1lXUmthVzVuT2lBd0xGeHVJQ0J0WVhKbmFXNU1aV1owT2lBd0xGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCbGJuVnRJRVJsY0dWdVpHVnVZM2xOWVc1aFoyVnlJSHRjYmlBZ1RsQk5JRDBnSjI1d2JTY3NYRzRnSUZsQlVrNGdQU0FuZVdGeWJpY3NYRzRnSUZCT1VFMGdQU0FuY0c1d2JTY3NYRzU5WEc1Y2JtbHVkR1Z5Wm1GalpTQkpiblJsY21aaFkyVWdlMXh1SUNCd1lXTnJZV2RsVG1GdFpUb2djM1J5YVc1bk8xeHVJQ0JrWlhCbGJtUmxibU41VFdGdVlXZGxjam9nUkdWd1pXNWtaVzVqZVUxaGJtRm5aWEk3WEc0Z0lIQmhZMnRoWjJWV1pYSnphVzl1UHpvZ2MzUnlhVzVuTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdaMlYwUjJ4dlltRnNTVzV6ZEdGc2JDaHBjMHhoZEdWemRDd2dhWE5IYkc5aVlXd3NJSEJoWTJ0aFoyVldaWEp6YVc5dUxDQndZV05yWVdkbFRtRnRaU3dnYVhOWllYSnVJRDBnWm1Gc2MyVXBJSHRjYmlBZ1kyOXVjM1FnYm1GdFpTQTlJR2x6UjJ4dlltRnNYRzRnSUNBZ1B5QmdKSHRwYzFsaGNtNGdQeUFuSnlBNklDY3RaeWQ5SUNSN2NHRmphMkZuWlZabGNuTnBiMjRnSmlZZ0lXbHpUR0YwWlhOMElEOGdZQ1I3Y0dGamEyRm5aVTVoYldWOVFDUjdjR0ZqYTJGblpWWmxjbk5wYjI1OVlDQTZJSEJoWTJ0aFoyVk9ZVzFsZldCY2JpQWdJQ0E2SUhCaFkydGhaMlZXWlhKemFXOXVJQ1ltSUNGcGMweGhkR1Z6ZEZ4dUlDQWdJQ0FnUHlCZ0pIdHdZV05yWVdkbFRtRnRaWDFBSkh0d1lXTnJZV2RsVm1WeWMybHZibjFnWEc0Z0lDQWdJQ0E2SUhCaFkydGhaMlZPWVcxbE8xeHVYRzRnSUhKbGRIVnliaUJ1WVcxbExuUnlhVzBvS1R0Y2JuMWNibHh1WTI5dWMzUWdTVzV6ZEdGc2JFeHBjM1JKZEdWdE9pQlNaV0ZqZEM1R1F6eEpiblJsY21aaFkyVStJRDBnS0h0Y2JpQWdjR0ZqYTJGblpVNWhiV1VzWEc0Z0lHUmxjR1Z1WkdWdVkzbE5ZVzVoWjJWeUxGeHVJQ0J3WVdOcllXZGxWbVZ5YzJsdmJpeGNibjBwSUQwK0lIdGNiaUFnWTI5dWMzUWdleUJzYjJOaGJGTmxkSFJwYm1keklIMGdQU0IxYzJWVFpYUjBhVzVuY3lncE8xeHVJQ0F2THlCamIyNXpkQ0IwYUdWdFpUb2dWR2hsYldVZ1BTQjFjMlZVYUdWdFpTZ3BPMXh1SUNCamIyNXpkQ0JwYzB4aGRHVnpkQ0E5SUd4dlkyRnNVMlYwZEdsdVozTmJjR0ZqYTJGblpVNWhiV1ZkUHk1c1lYUmxjM1FnUHo4Z1ptRnNjMlU3WEc0Z0lHTnZibk4wSUdselIyeHZZbUZzSUQwZ2JHOWpZV3hUWlhSMGFXNW5jMXR3WVdOcllXZGxUbUZ0WlYwL0xtZHNiMkpoYkNBL1B5Qm1ZV3h6WlR0Y2JpQWdjM2RwZEdOb0lDaGtaWEJsYm1SbGJtTjVUV0Z1WVdkbGNpa2dlMXh1SUNBZ0lHTmhjMlVnUkdWd1pXNWtaVzVqZVUxaGJtRm5aWEl1VGxCTk9seHVJQ0FnSUNBZ2NtVjBkWEp1SUNoY2JpQWdJQ0FnSUNBZ1BFbHVjM1JoYkd4SmRHVnRJR1JoZEdFdGRHVnpkR2xrUFhzbmFXNXpkR0ZzYkV4cGMzUkpkR1Z0TFc1d2JTZDlQbHh1SUNBZ0lDQWdJQ0FnSUR4UVlXTnJZV2RsVFdGdVoyVnlRWFpoZEdGeUlHRnNkRDFjSW01d2JWd2lJSE40UFh0N0lHSm5ZMjlzYjNJNklHTnZiVzF2Ymk1M2FHbDBaU0I5ZlQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHhPY0cwZ0x6NWNiaUFnSUNBZ0lDQWdJQ0E4TDFCaFkydGhaMlZOWVc1blpYSkJkbUYwWVhJK1hHNGdJQ0FnSUNBZ0lDQWdQRWx1YzNSaGJHeE1hWE4wU1hSbGJWUmxlSFJjYmlBZ0lDQWdJQ0FnSUNBZ0lIQnlhVzFoY25rOWUxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFEyOXdlVlJ2UTJ4cGNFSnZZWEprWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWkdGMFlWUmxjM1JKWkQxY0ltbHVjM1JoYkd4T2NHMWNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJsZUhROWUyQnVjRzBnYVc1emRHRnNiQ0FrZTJkbGRFZHNiMkpoYkVsdWMzUmhiR3dvYVhOTVlYUmxjM1FzSUdselIyeHZZbUZzTENCd1lXTnJZV2RsVm1WeWMybHZiaXdnY0dGamEyRm5aVTVoYldVcGZXQjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2wwYkdVOWUyQnVjRzBnYVc1emRHRnNiQ0FrZTJkbGRFZHNiMkpoYkVsdWMzUmhiR3dvYVhOTVlYUmxjM1FzSUdselIyeHZZbUZzTENCd1lXTnJZV2RsVm1WeWMybHZiaXdnY0dGamEyRm5aVTVoYldVcGZXQjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDOCtYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdMejVjYmlBZ0lDQWdJQ0FnUEM5SmJuTjBZV3hzU1hSbGJUNWNiaUFnSUNBZ0lDazdYRzRnSUNBZ1kyRnpaU0JFWlhCbGJtUmxibU41VFdGdVlXZGxjaTVaUVZKT09seHVJQ0FnSUNBZ2NtVjBkWEp1SUNoY2JpQWdJQ0FnSUNBZ1BFbHVjM1JoYkd4SmRHVnRJR1JoZEdFdGRHVnpkR2xrUFhzbmFXNXpkR0ZzYkV4cGMzUkpkR1Z0TFhsaGNtNG5mVDVjYmlBZ0lDQWdJQ0FnSUNBOFVHRmphMkZuWlUxaGJtZGxja0YyWVhSaGNpQmhiSFE5WENKNVlYSnVYQ0lnYzNnOWUzc2dZbWRqYjJ4dmNqb2dZMjl0Ylc5dUxuZG9hWFJsSUgxOVBseHVJQ0FnSUNBZ0lDQWdJQ0FnUEZsaGNtNGdMejVjYmlBZ0lDQWdJQ0FnSUNBOEwxQmhZMnRoWjJWTllXNW5aWEpCZG1GMFlYSStYRzRnSUNBZ0lDQWdJQ0FnUEVsdWMzUmhiR3hNYVhOMFNYUmxiVlJsZUhSY2JpQWdJQ0FnSUNBZ0lDQWdJSEJ5YVcxaGNuazllMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThRMjl3ZVZSdlEyeHBjRUp2WVhKa1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pHRjBZVlJsYzNSSlpEMWNJbWx1YzNSaGJHeFpZWEp1WENKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMFpYaDBQWHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdselIyeHZZbUZzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEOGdZSGxoY200Z0pIdHNiMk5oYkZObGRIUnBibWR6TG5saGNtNU5iMlJsY200Z1B5QW5KeUE2SUNkbmJHOWlZV3duZlNCaFpHUWdKSHRuWlhSSGJHOWlZV3hKYm5OMFlXeHNLRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhWE5IYkc5aVlXd3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQndZV05yWVdkbFZtVnljMmx2Yml4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhCaFkydGhaMlZPWVcxbExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RISjFaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDbDlZRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBNklHQjVZWEp1SUdGa1pDQWtlMmRsZEVkc2IySmhiRWx1YzNSaGJHd29hWE5NWVhSbGMzUXNJR2x6UjJ4dlltRnNMQ0J3WVdOcllXZGxWbVZ5YzJsdmJpd2djR0ZqYTJGblpVNWhiV1VzSUhSeWRXVXBmV0JjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdsMGJHVTllMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVhOSGJHOWlZV3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1B5QmdlV0Z5YmlCbmJHOWlZV3dnWVdSa0lDUjdaMlYwUjJ4dlltRnNTVzV6ZEdGc2JDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbHpSMnh2WW1Gc0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NHRmphMkZuWlZabGNuTnBiMjRzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J3WVdOcllXZGxUbUZ0WlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSeWRXVmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBcGZXQmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnT2lCZ2VXRnliaUJoWkdRZ0pIdG5aWFJIYkc5aVlXeEpibk4wWVd4c0tHbHpUR0YwWlhOMExDQnBjMGRzYjJKaGJDd2djR0ZqYTJGblpWWmxjbk5wYjI0c0lIQmhZMnRoWjJWT1lXMWxMQ0IwY25WbEtYMWdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZQbHh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQzgrWEc0Z0lDQWdJQ0FnSUR3dlNXNXpkR0ZzYkVsMFpXMCtYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lHTmhjMlVnUkdWd1pXNWtaVzVqZVUxaGJtRm5aWEl1VUU1UVRUcGNiaUFnSUNBZ0lISmxkSFZ5YmlBb1hHNGdJQ0FnSUNBZ0lEeEpibk4wWVd4c1NYUmxiU0JrWVhSaExYUmxjM1JwWkQxN0oybHVjM1JoYkd4TWFYTjBTWFJsYlMxd2JuQnRKMzArWEc0Z0lDQWdJQ0FnSUNBZ1BGQmhZMnRoWjJWTllXNW5aWEpCZG1GMFlYSWdZV3gwUFhzbmNHNXdiU2Q5SUhONFBYdDdJR0puWTI5c2IzSTZJR052YlcxdmJpNTNhR2wwWlNCOWZUNWNiaUFnSUNBZ0lDQWdJQ0FnSUR4UWJuQnRJQzgrWEc0Z0lDQWdJQ0FnSUNBZ1BDOVFZV05yWVdkbFRXRnVaMlZ5UVhaaGRHRnlQbHh1SUNBZ0lDQWdJQ0FnSUR4SmJuTjBZV3hzVEdsemRFbDBaVzFVWlhoMFhHNGdJQ0FnSUNBZ0lDQWdJQ0J3Y21sdFlYSjVQWHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRU52Y0hsVWIwTnNhWEJDYjJGeVpGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHUmhkR0ZVWlhOMFNXUTlYQ0pwYm5OMFlXeHNVRzV3YlZ3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHVjRkRDE3WUhCdWNHMGdhVzV6ZEdGc2JDQWtlMmRsZEVkc2IySmhiRWx1YzNSaGJHd29hWE5NWVhSbGMzUXNJR2x6UjJ4dlltRnNMQ0J3WVdOcllXZGxWbVZ5YzJsdmJpd2djR0ZqYTJGblpVNWhiV1VwZldCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHbDBiR1U5ZTJCd2JuQnRJR2x1YzNSaGJHd2dKSHRuWlhSSGJHOWlZV3hKYm5OMFlXeHNLR2x6VEdGMFpYTjBMQ0JwYzBkc2IySmhiQ3dnY0dGamEyRm5aVlpsY25OcGIyNHNJSEJoWTJ0aFoyVk9ZVzFsS1gxZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDOCtYRzRnSUNBZ0lDQWdJRHd2U1c1emRHRnNiRWwwWlcwK1hHNGdJQ0FnSUNBcE8xeHVJQ0FnSUdSbFptRjFiSFE2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdmVnh1ZlR0Y2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ1NXNXpkR0ZzYkV4cGMzUkpkR1Z0TzF4dUlsMTkgKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBJbnN0YWxsTGlzdEl0ZW1UZXh0ID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoTGlzdEl0ZW1UZXh0LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMTlsbmc0NDFcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTE5bG5nNDQxXCIsXG5cdGxhYmVsOiBcIkluc3RhbGxMaXN0SXRlbVRleHRcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjQyYnZ0XCIsXG5cdHN0eWxlczogXCJwYWRkaW5nOjAgMCAwIDEwcHg7bWFyZ2luOjBcIlxufSA6IHtcblx0bmFtZTogXCI0MmJ2dFwiLFxuXHRzdHlsZXM6IFwicGFkZGluZzowIDAgMCAxMHB4O21hcmdpbjowLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OUpibk4wWVd4c0wwbHVjM1JoYkd4TWFYTjBTWFJsYlM1MGMzZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJhMEkwUWlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwyTnZiWEJ2Ym1WdWRITXZTVzV6ZEdGc2JDOUpibk4wWVd4c1RHbHpkRWwwWlcwdWRITjRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSE4wZVd4bFpDQm1jbTl0SUNkQVpXMXZkR2x2Ymk5emRIbHNaV1FuTzF4dWFXMXdiM0owSUVGMllYUmhjaUJtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBGMllYUmhjaWM3WEc1cGJYQnZjblFnVEdsemRFbDBaVzBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5TWFYTjBTWFJsYlNjN1hHNXBiWEJ2Y25RZ1RHbHpkRWwwWlcxVVpYaDBJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRFbDBaVzFVWlhoMEp6dGNibWx0Y0c5eWRDQjdJR052YlcxdmJpQjlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2WTI5c2IzSnpKenRjYm1sdGNHOXlkQ0JTWldGamRDQm1jbTl0SUNkeVpXRmpkQ2M3WEc1Y2JtbHRjRzl5ZENCN0lIVnpaVk5sZEhScGJtZHpJSDBnWm5KdmJTQW5MaTR2TGk0dmNISnZkbWxrWlhKekwxQmxjbk5wYzNSbGJtTmxVMlYwZEdsdVoxQnliM1pwWkdWeUp6dGNibWx0Y0c5eWRDQkRiM0I1Vkc5RGJHbHdRbTloY21RZ1puSnZiU0FuTGk0dlEyOXdlVU5zYVhCaWIyRnlaQ2M3WEc1cGJYQnZjblFnZXlCT2NHMHNJRkJ1Y0cwc0lGbGhjbTRnZlNCbWNtOXRJQ2N1TGk5SlkyOXVjeWM3WEc1Y2JtTnZibk4wSUVsdWMzUmhiR3hKZEdWdElEMGdjM1I1YkdWa0tFeHBjM1JKZEdWdEtTaDdYRzRnSUhCaFpHUnBibWM2SURBc1hHNGdJQ2M2YUc5MlpYSW5PaUI3WEc0Z0lDQWdZbUZqYTJkeWIzVnVaRU52Ykc5eU9pQW5kSEpoYm5Od1lYSmxiblFuTEZ4dUlDQjlMRnh1ZlNrN1hHNWNibU52Ym5OMElFbHVjM1JoYkd4TWFYTjBTWFJsYlZSbGVIUWdQU0J6ZEhsc1pXUW9UR2x6ZEVsMFpXMVVaWGgwS1NoN1hHNGdJSEJoWkdScGJtYzZJQ2N3SURBZ01DQXhNSEI0Snl4Y2JpQWdiV0Z5WjJsdU9pQXdMRnh1ZlNrN1hHNWNibU52Ym5OMElGQmhZMnRoWjJWTllXNW5aWEpCZG1GMFlYSWdQU0J6ZEhsc1pXUW9RWFpoZEdGeUtTaDdYRzRnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nSjNSeVlXNXpjR0Z5Wlc1MEp5eGNiaUFnY0dGa1pHbHVaem9nTUN4Y2JpQWdiV0Z5WjJsdVRHVm1kRG9nTUN4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWlc1MWJTQkVaWEJsYm1SbGJtTjVUV0Z1WVdkbGNpQjdYRzRnSUU1UVRTQTlJQ2R1Y0cwbkxGeHVJQ0JaUVZKT0lEMGdKM2xoY200bkxGeHVJQ0JRVGxCTklEMGdKM0J1Y0cwbkxGeHVmVnh1WEc1cGJuUmxjbVpoWTJVZ1NXNTBaWEptWVdObElIdGNiaUFnY0dGamEyRm5aVTVoYldVNklITjBjbWx1Wnp0Y2JpQWdaR1Z3Wlc1a1pXNWplVTFoYm1GblpYSTZJRVJsY0dWdVpHVnVZM2xOWVc1aFoyVnlPMXh1SUNCd1lXTnJZV2RsVm1WeWMybHZiajg2SUhOMGNtbHVaenRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHZGxkRWRzYjJKaGJFbHVjM1JoYkd3b2FYTk1ZWFJsYzNRc0lHbHpSMnh2WW1Gc0xDQndZV05yWVdkbFZtVnljMmx2Yml3Z2NHRmphMkZuWlU1aGJXVXNJR2x6V1dGeWJpQTlJR1poYkhObEtTQjdYRzRnSUdOdmJuTjBJRzVoYldVZ1BTQnBjMGRzYjJKaGJGeHVJQ0FnSUQ4Z1lDUjdhWE5aWVhKdUlEOGdKeWNnT2lBbkxXY25mU0FrZTNCaFkydGhaMlZXWlhKemFXOXVJQ1ltSUNGcGMweGhkR1Z6ZENBL0lHQWtlM0JoWTJ0aFoyVk9ZVzFsZlVBa2UzQmhZMnRoWjJWV1pYSnphVzl1ZldBZ09pQndZV05yWVdkbFRtRnRaWDFnWEc0Z0lDQWdPaUJ3WVdOcllXZGxWbVZ5YzJsdmJpQW1KaUFoYVhOTVlYUmxjM1JjYmlBZ0lDQWdJRDhnWUNSN2NHRmphMkZuWlU1aGJXVjlRQ1I3Y0dGamEyRm5aVlpsY25OcGIyNTlZRnh1SUNBZ0lDQWdPaUJ3WVdOcllXZGxUbUZ0WlR0Y2JseHVJQ0J5WlhSMWNtNGdibUZ0WlM1MGNtbHRLQ2s3WEc1OVhHNWNibU52Ym5OMElFbHVjM1JoYkd4TWFYTjBTWFJsYlRvZ1VtVmhZM1F1UmtNOFNXNTBaWEptWVdObFBpQTlJQ2g3WEc0Z0lIQmhZMnRoWjJWT1lXMWxMRnh1SUNCa1pYQmxibVJsYm1ONVRXRnVZV2RsY2l4Y2JpQWdjR0ZqYTJGblpWWmxjbk5wYjI0c1hHNTlLU0E5UGlCN1hHNGdJR052Ym5OMElIc2diRzlqWVd4VFpYUjBhVzVuY3lCOUlEMGdkWE5sVTJWMGRHbHVaM01vS1R0Y2JpQWdMeThnWTI5dWMzUWdkR2hsYldVNklGUm9aVzFsSUQwZ2RYTmxWR2hsYldVb0tUdGNiaUFnWTI5dWMzUWdhWE5NWVhSbGMzUWdQU0JzYjJOaGJGTmxkSFJwYm1kelczQmhZMnRoWjJWT1lXMWxYVDh1YkdGMFpYTjBJRDgvSUdaaGJITmxPMXh1SUNCamIyNXpkQ0JwYzBkc2IySmhiQ0E5SUd4dlkyRnNVMlYwZEdsdVozTmJjR0ZqYTJGblpVNWhiV1ZkUHk1bmJHOWlZV3dnUHo4Z1ptRnNjMlU3WEc0Z0lITjNhWFJqYUNBb1pHVndaVzVrWlc1amVVMWhibUZuWlhJcElIdGNiaUFnSUNCallYTmxJRVJsY0dWdVpHVnVZM2xOWVc1aFoyVnlMazVRVFRwY2JpQWdJQ0FnSUhKbGRIVnliaUFvWEc0Z0lDQWdJQ0FnSUR4SmJuTjBZV3hzU1hSbGJTQmtZWFJoTFhSbGMzUnBaRDE3SjJsdWMzUmhiR3hNYVhOMFNYUmxiUzF1Y0cwbmZUNWNiaUFnSUNBZ0lDQWdJQ0E4VUdGamEyRm5aVTFoYm1kbGNrRjJZWFJoY2lCaGJIUTlYQ0p1Y0cxY0lpQnplRDE3ZXlCaVoyTnZiRzl5T2lCamIyMXRiMjR1ZDJocGRHVWdmWDArWEc0Z0lDQWdJQ0FnSUNBZ0lDQThUbkJ0SUM4K1hHNGdJQ0FnSUNBZ0lDQWdQQzlRWVdOcllXZGxUV0Z1WjJWeVFYWmhkR0Z5UGx4dUlDQWdJQ0FnSUNBZ0lEeEpibk4wWVd4c1RHbHpkRWwwWlcxVVpYaDBYRzRnSUNBZ0lDQWdJQ0FnSUNCd2NtbHRZWEo1UFh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVOdmNIbFViME5zYVhCQ2IyRnlaRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1JoZEdGVVpYTjBTV1E5WENKcGJuTjBZV3hzVG5CdFhDSmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBaWGgwUFh0Z2JuQnRJR2x1YzNSaGJHd2dKSHRuWlhSSGJHOWlZV3hKYm5OMFlXeHNLR2x6VEdGMFpYTjBMQ0JwYzBkc2IySmhiQ3dnY0dGamEyRm5aVlpsY25OcGIyNHNJSEJoWTJ0aFoyVk9ZVzFsS1gxZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUnBkR3hsUFh0Z2JuQnRJR2x1YzNSaGJHd2dKSHRuWlhSSGJHOWlZV3hKYm5OMFlXeHNLR2x6VEdGMFpYTjBMQ0JwYzBkc2IySmhiQ3dnY0dGamEyRm5aVlpsY25OcGIyNHNJSEJoWTJ0aFoyVk9ZVzFsS1gxZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDOCtYRzRnSUNBZ0lDQWdJRHd2U1c1emRHRnNiRWwwWlcwK1hHNGdJQ0FnSUNBcE8xeHVJQ0FnSUdOaGMyVWdSR1Z3Wlc1a1pXNWplVTFoYm1GblpYSXVXVUZTVGpwY2JpQWdJQ0FnSUhKbGRIVnliaUFvWEc0Z0lDQWdJQ0FnSUR4SmJuTjBZV3hzU1hSbGJTQmtZWFJoTFhSbGMzUnBaRDE3SjJsdWMzUmhiR3hNYVhOMFNYUmxiUzE1WVhKdUozMCtYRzRnSUNBZ0lDQWdJQ0FnUEZCaFkydGhaMlZOWVc1blpYSkJkbUYwWVhJZ1lXeDBQVndpZVdGeWJsd2lJSE40UFh0N0lHSm5ZMjlzYjNJNklHTnZiVzF2Ymk1M2FHbDBaU0I5ZlQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHhaWVhKdUlDOCtYRzRnSUNBZ0lDQWdJQ0FnUEM5UVlXTnJZV2RsVFdGdVoyVnlRWFpoZEdGeVBseHVJQ0FnSUNBZ0lDQWdJRHhKYm5OMFlXeHNUR2x6ZEVsMFpXMVVaWGgwWEc0Z0lDQWdJQ0FnSUNBZ0lDQndjbWx0WVhKNVBYdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFTnZjSGxVYjBOc2FYQkNiMkZ5WkZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdSaGRHRlVaWE4wU1dROVhDSnBibk4wWVd4c1dXRnlibHdpWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdWNGREMTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwYzBkc2IySmhiRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBL0lHQjVZWEp1SUNSN2JHOWpZV3hUWlhSMGFXNW5jeTU1WVhKdVRXOWtaWEp1SUQ4Z0p5Y2dPaUFuWjJ4dlltRnNKMzBnWVdSa0lDUjdaMlYwUjJ4dlltRnNTVzV6ZEdGc2JDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbHpSMnh2WW1Gc0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NHRmphMkZuWlZabGNuTnBiMjRzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J3WVdOcllXZGxUbUZ0WlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSeWRXVmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBcGZXQmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnT2lCZ2VXRnliaUJoWkdRZ0pIdG5aWFJIYkc5aVlXeEpibk4wWVd4c0tHbHpUR0YwWlhOMExDQnBjMGRzYjJKaGJDd2djR0ZqYTJGblpWWmxjbk5wYjI0c0lIQmhZMnRoWjJWT1lXMWxMQ0IwY25WbEtYMWdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJwZEd4bFBYdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2x6UjJ4dlltRnNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUQ4Z1lIbGhjbTRnWjJ4dlltRnNJR0ZrWkNBa2UyZGxkRWRzYjJKaGJFbHVjM1JoYkd3b1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGMwZHNiMkpoYkN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhCaFkydGhaMlZXWlhKemFXOXVMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjR0ZqYTJGblpVNWhiV1VzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwY25WbFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnS1gxZ1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRG9nWUhsaGNtNGdZV1JrSUNSN1oyVjBSMnh2WW1Gc1NXNXpkR0ZzYkNocGMweGhkR1Z6ZEN3Z2FYTkhiRzlpWVd3c0lIQmhZMnRoWjJWV1pYSnphVzl1TENCd1lXTnJZV2RsVG1GdFpTd2dkSEoxWlNsOVlGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQXZQbHh1SUNBZ0lDQWdJQ0E4TDBsdWMzUmhiR3hKZEdWdFBseHVJQ0FnSUNBZ0tUdGNiaUFnSUNCallYTmxJRVJsY0dWdVpHVnVZM2xOWVc1aFoyVnlMbEJPVUUwNlhHNGdJQ0FnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnSUNBOFNXNXpkR0ZzYkVsMFpXMGdaR0YwWVMxMFpYTjBhV1E5ZXlkcGJuTjBZV3hzVEdsemRFbDBaVzB0Y0c1d2JTZDlQbHh1SUNBZ0lDQWdJQ0FnSUR4UVlXTnJZV2RsVFdGdVoyVnlRWFpoZEdGeUlHRnNkRDE3SjNCdWNHMG5mU0J6ZUQxN2V5QmlaMk52Ykc5eU9pQmpiMjF0YjI0dWQyaHBkR1VnZlgwK1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4VUc1d2JTQXZQbHh1SUNBZ0lDQWdJQ0FnSUR3dlVHRmphMkZuWlUxaGJtZGxja0YyWVhSaGNqNWNiaUFnSUNBZ0lDQWdJQ0E4U1c1emRHRnNiRXhwYzNSSmRHVnRWR1Y0ZEZ4dUlDQWdJQ0FnSUNBZ0lDQWdjSEpwYldGeWVUMTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEeERiM0I1Vkc5RGJHbHdRbTloY21SY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCa1lYUmhWR1Z6ZEVsa1BWd2lhVzV6ZEdGc2JGQnVjRzFjSWx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSbGVIUTllMkJ3Ym5CdElHbHVjM1JoYkd3Z0pIdG5aWFJIYkc5aVlXeEpibk4wWVd4c0tHbHpUR0YwWlhOMExDQnBjMGRzYjJKaGJDd2djR0ZqYTJGblpWWmxjbk5wYjI0c0lIQmhZMnRoWjJWT1lXMWxLWDFnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhScGRHeGxQWHRnY0c1d2JTQnBibk4wWVd4c0lDUjdaMlYwUjJ4dlltRnNTVzV6ZEdGc2JDaHBjMHhoZEdWemRDd2dhWE5IYkc5aVlXd3NJSEJoWTJ0aFoyVldaWEp6YVc5dUxDQndZV05yWVdkbFRtRnRaU2w5WUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBdlBseHVJQ0FnSUNBZ0lDQThMMGx1YzNSaGJHeEpkR1Z0UGx4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0JrWldaaGRXeDBPbHh1SUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lIMWNibjA3WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUVsdWMzUmhiR3hNYVhOMFNYUmxiVHRjYmlKZGZRPT0gKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBQYWNrYWdlTWFuZ2VyQXZhdGFyID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoQXZhdGFyLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMTlsbmc0NDBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTE5bG5nNDQwXCIsXG5cdGxhYmVsOiBcIlBhY2thZ2VNYW5nZXJBdmF0YXJcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjE5aWpzYTVcIixcblx0c3R5bGVzOiBcImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7cGFkZGluZzowO21hcmdpbi1sZWZ0OjBcIlxufSA6IHtcblx0bmFtZTogXCIxOWlqc2E1XCIsXG5cdHN0eWxlczogXCJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmc6MDttYXJnaW4tbGVmdDowLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OUpibk4wWVd4c0wwbHVjM1JoYkd4TWFYTjBTWFJsYlM1MGMzZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJkVUkwUWlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwyTnZiWEJ2Ym1WdWRITXZTVzV6ZEdGc2JDOUpibk4wWVd4c1RHbHpkRWwwWlcwdWRITjRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSE4wZVd4bFpDQm1jbTl0SUNkQVpXMXZkR2x2Ymk5emRIbHNaV1FuTzF4dWFXMXdiM0owSUVGMllYUmhjaUJtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBGMllYUmhjaWM3WEc1cGJYQnZjblFnVEdsemRFbDBaVzBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5TWFYTjBTWFJsYlNjN1hHNXBiWEJ2Y25RZ1RHbHpkRWwwWlcxVVpYaDBJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRFbDBaVzFVWlhoMEp6dGNibWx0Y0c5eWRDQjdJR052YlcxdmJpQjlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2WTI5c2IzSnpKenRjYm1sdGNHOXlkQ0JTWldGamRDQm1jbTl0SUNkeVpXRmpkQ2M3WEc1Y2JtbHRjRzl5ZENCN0lIVnpaVk5sZEhScGJtZHpJSDBnWm5KdmJTQW5MaTR2TGk0dmNISnZkbWxrWlhKekwxQmxjbk5wYzNSbGJtTmxVMlYwZEdsdVoxQnliM1pwWkdWeUp6dGNibWx0Y0c5eWRDQkRiM0I1Vkc5RGJHbHdRbTloY21RZ1puSnZiU0FuTGk0dlEyOXdlVU5zYVhCaWIyRnlaQ2M3WEc1cGJYQnZjblFnZXlCT2NHMHNJRkJ1Y0cwc0lGbGhjbTRnZlNCbWNtOXRJQ2N1TGk5SlkyOXVjeWM3WEc1Y2JtTnZibk4wSUVsdWMzUmhiR3hKZEdWdElEMGdjM1I1YkdWa0tFeHBjM1JKZEdWdEtTaDdYRzRnSUhCaFpHUnBibWM2SURBc1hHNGdJQ2M2YUc5MlpYSW5PaUI3WEc0Z0lDQWdZbUZqYTJkeWIzVnVaRU52Ykc5eU9pQW5kSEpoYm5Od1lYSmxiblFuTEZ4dUlDQjlMRnh1ZlNrN1hHNWNibU52Ym5OMElFbHVjM1JoYkd4TWFYTjBTWFJsYlZSbGVIUWdQU0J6ZEhsc1pXUW9UR2x6ZEVsMFpXMVVaWGgwS1NoN1hHNGdJSEJoWkdScGJtYzZJQ2N3SURBZ01DQXhNSEI0Snl4Y2JpQWdiV0Z5WjJsdU9pQXdMRnh1ZlNrN1hHNWNibU52Ym5OMElGQmhZMnRoWjJWTllXNW5aWEpCZG1GMFlYSWdQU0J6ZEhsc1pXUW9RWFpoZEdGeUtTaDdYRzRnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nSjNSeVlXNXpjR0Z5Wlc1MEp5eGNiaUFnY0dGa1pHbHVaem9nTUN4Y2JpQWdiV0Z5WjJsdVRHVm1kRG9nTUN4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWlc1MWJTQkVaWEJsYm1SbGJtTjVUV0Z1WVdkbGNpQjdYRzRnSUU1UVRTQTlJQ2R1Y0cwbkxGeHVJQ0JaUVZKT0lEMGdKM2xoY200bkxGeHVJQ0JRVGxCTklEMGdKM0J1Y0cwbkxGeHVmVnh1WEc1cGJuUmxjbVpoWTJVZ1NXNTBaWEptWVdObElIdGNiaUFnY0dGamEyRm5aVTVoYldVNklITjBjbWx1Wnp0Y2JpQWdaR1Z3Wlc1a1pXNWplVTFoYm1GblpYSTZJRVJsY0dWdVpHVnVZM2xOWVc1aFoyVnlPMXh1SUNCd1lXTnJZV2RsVm1WeWMybHZiajg2SUhOMGNtbHVaenRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHZGxkRWRzYjJKaGJFbHVjM1JoYkd3b2FYTk1ZWFJsYzNRc0lHbHpSMnh2WW1Gc0xDQndZV05yWVdkbFZtVnljMmx2Yml3Z2NHRmphMkZuWlU1aGJXVXNJR2x6V1dGeWJpQTlJR1poYkhObEtTQjdYRzRnSUdOdmJuTjBJRzVoYldVZ1BTQnBjMGRzYjJKaGJGeHVJQ0FnSUQ4Z1lDUjdhWE5aWVhKdUlEOGdKeWNnT2lBbkxXY25mU0FrZTNCaFkydGhaMlZXWlhKemFXOXVJQ1ltSUNGcGMweGhkR1Z6ZENBL0lHQWtlM0JoWTJ0aFoyVk9ZVzFsZlVBa2UzQmhZMnRoWjJWV1pYSnphVzl1ZldBZ09pQndZV05yWVdkbFRtRnRaWDFnWEc0Z0lDQWdPaUJ3WVdOcllXZGxWbVZ5YzJsdmJpQW1KaUFoYVhOTVlYUmxjM1JjYmlBZ0lDQWdJRDhnWUNSN2NHRmphMkZuWlU1aGJXVjlRQ1I3Y0dGamEyRm5aVlpsY25OcGIyNTlZRnh1SUNBZ0lDQWdPaUJ3WVdOcllXZGxUbUZ0WlR0Y2JseHVJQ0J5WlhSMWNtNGdibUZ0WlM1MGNtbHRLQ2s3WEc1OVhHNWNibU52Ym5OMElFbHVjM1JoYkd4TWFYTjBTWFJsYlRvZ1VtVmhZM1F1UmtNOFNXNTBaWEptWVdObFBpQTlJQ2g3WEc0Z0lIQmhZMnRoWjJWT1lXMWxMRnh1SUNCa1pYQmxibVJsYm1ONVRXRnVZV2RsY2l4Y2JpQWdjR0ZqYTJGblpWWmxjbk5wYjI0c1hHNTlLU0E5UGlCN1hHNGdJR052Ym5OMElIc2diRzlqWVd4VFpYUjBhVzVuY3lCOUlEMGdkWE5sVTJWMGRHbHVaM01vS1R0Y2JpQWdMeThnWTI5dWMzUWdkR2hsYldVNklGUm9aVzFsSUQwZ2RYTmxWR2hsYldVb0tUdGNiaUFnWTI5dWMzUWdhWE5NWVhSbGMzUWdQU0JzYjJOaGJGTmxkSFJwYm1kelczQmhZMnRoWjJWT1lXMWxYVDh1YkdGMFpYTjBJRDgvSUdaaGJITmxPMXh1SUNCamIyNXpkQ0JwYzBkc2IySmhiQ0E5SUd4dlkyRnNVMlYwZEdsdVozTmJjR0ZqYTJGblpVNWhiV1ZkUHk1bmJHOWlZV3dnUHo4Z1ptRnNjMlU3WEc0Z0lITjNhWFJqYUNBb1pHVndaVzVrWlc1amVVMWhibUZuWlhJcElIdGNiaUFnSUNCallYTmxJRVJsY0dWdVpHVnVZM2xOWVc1aFoyVnlMazVRVFRwY2JpQWdJQ0FnSUhKbGRIVnliaUFvWEc0Z0lDQWdJQ0FnSUR4SmJuTjBZV3hzU1hSbGJTQmtZWFJoTFhSbGMzUnBaRDE3SjJsdWMzUmhiR3hNYVhOMFNYUmxiUzF1Y0cwbmZUNWNiaUFnSUNBZ0lDQWdJQ0E4VUdGamEyRm5aVTFoYm1kbGNrRjJZWFJoY2lCaGJIUTlYQ0p1Y0cxY0lpQnplRDE3ZXlCaVoyTnZiRzl5T2lCamIyMXRiMjR1ZDJocGRHVWdmWDArWEc0Z0lDQWdJQ0FnSUNBZ0lDQThUbkJ0SUM4K1hHNGdJQ0FnSUNBZ0lDQWdQQzlRWVdOcllXZGxUV0Z1WjJWeVFYWmhkR0Z5UGx4dUlDQWdJQ0FnSUNBZ0lEeEpibk4wWVd4c1RHbHpkRWwwWlcxVVpYaDBYRzRnSUNBZ0lDQWdJQ0FnSUNCd2NtbHRZWEo1UFh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVOdmNIbFViME5zYVhCQ2IyRnlaRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1JoZEdGVVpYTjBTV1E5WENKcGJuTjBZV3hzVG5CdFhDSmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBaWGgwUFh0Z2JuQnRJR2x1YzNSaGJHd2dKSHRuWlhSSGJHOWlZV3hKYm5OMFlXeHNLR2x6VEdGMFpYTjBMQ0JwYzBkc2IySmhiQ3dnY0dGamEyRm5aVlpsY25OcGIyNHNJSEJoWTJ0aFoyVk9ZVzFsS1gxZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUnBkR3hsUFh0Z2JuQnRJR2x1YzNSaGJHd2dKSHRuWlhSSGJHOWlZV3hKYm5OMFlXeHNLR2x6VEdGMFpYTjBMQ0JwYzBkc2IySmhiQ3dnY0dGamEyRm5aVlpsY25OcGIyNHNJSEJoWTJ0aFoyVk9ZVzFsS1gxZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDOCtYRzRnSUNBZ0lDQWdJRHd2U1c1emRHRnNiRWwwWlcwK1hHNGdJQ0FnSUNBcE8xeHVJQ0FnSUdOaGMyVWdSR1Z3Wlc1a1pXNWplVTFoYm1GblpYSXVXVUZTVGpwY2JpQWdJQ0FnSUhKbGRIVnliaUFvWEc0Z0lDQWdJQ0FnSUR4SmJuTjBZV3hzU1hSbGJTQmtZWFJoTFhSbGMzUnBaRDE3SjJsdWMzUmhiR3hNYVhOMFNYUmxiUzE1WVhKdUozMCtYRzRnSUNBZ0lDQWdJQ0FnUEZCaFkydGhaMlZOWVc1blpYSkJkbUYwWVhJZ1lXeDBQVndpZVdGeWJsd2lJSE40UFh0N0lHSm5ZMjlzYjNJNklHTnZiVzF2Ymk1M2FHbDBaU0I5ZlQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHhaWVhKdUlDOCtYRzRnSUNBZ0lDQWdJQ0FnUEM5UVlXTnJZV2RsVFdGdVoyVnlRWFpoZEdGeVBseHVJQ0FnSUNBZ0lDQWdJRHhKYm5OMFlXeHNUR2x6ZEVsMFpXMVVaWGgwWEc0Z0lDQWdJQ0FnSUNBZ0lDQndjbWx0WVhKNVBYdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFTnZjSGxVYjBOc2FYQkNiMkZ5WkZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdSaGRHRlVaWE4wU1dROVhDSnBibk4wWVd4c1dXRnlibHdpWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdWNGREMTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwYzBkc2IySmhiRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBL0lHQjVZWEp1SUNSN2JHOWpZV3hUWlhSMGFXNW5jeTU1WVhKdVRXOWtaWEp1SUQ4Z0p5Y2dPaUFuWjJ4dlltRnNKMzBnWVdSa0lDUjdaMlYwUjJ4dlltRnNTVzV6ZEdGc2JDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbHpSMnh2WW1Gc0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NHRmphMkZuWlZabGNuTnBiMjRzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J3WVdOcllXZGxUbUZ0WlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSeWRXVmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBcGZXQmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnT2lCZ2VXRnliaUJoWkdRZ0pIdG5aWFJIYkc5aVlXeEpibk4wWVd4c0tHbHpUR0YwWlhOMExDQnBjMGRzYjJKaGJDd2djR0ZqYTJGblpWWmxjbk5wYjI0c0lIQmhZMnRoWjJWT1lXMWxMQ0IwY25WbEtYMWdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJwZEd4bFBYdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2x6UjJ4dlltRnNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUQ4Z1lIbGhjbTRnWjJ4dlltRnNJR0ZrWkNBa2UyZGxkRWRzYjJKaGJFbHVjM1JoYkd3b1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGMwZHNiMkpoYkN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhCaFkydGhaMlZXWlhKemFXOXVMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjR0ZqYTJGblpVNWhiV1VzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwY25WbFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnS1gxZ1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRG9nWUhsaGNtNGdZV1JrSUNSN1oyVjBSMnh2WW1Gc1NXNXpkR0ZzYkNocGMweGhkR1Z6ZEN3Z2FYTkhiRzlpWVd3c0lIQmhZMnRoWjJWV1pYSnphVzl1TENCd1lXTnJZV2RsVG1GdFpTd2dkSEoxWlNsOVlGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQXZQbHh1SUNBZ0lDQWdJQ0E4TDBsdWMzUmhiR3hKZEdWdFBseHVJQ0FnSUNBZ0tUdGNiaUFnSUNCallYTmxJRVJsY0dWdVpHVnVZM2xOWVc1aFoyVnlMbEJPVUUwNlhHNGdJQ0FnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnSUNBOFNXNXpkR0ZzYkVsMFpXMGdaR0YwWVMxMFpYTjBhV1E5ZXlkcGJuTjBZV3hzVEdsemRFbDBaVzB0Y0c1d2JTZDlQbHh1SUNBZ0lDQWdJQ0FnSUR4UVlXTnJZV2RsVFdGdVoyVnlRWFpoZEdGeUlHRnNkRDE3SjNCdWNHMG5mU0J6ZUQxN2V5QmlaMk52Ykc5eU9pQmpiMjF0YjI0dWQyaHBkR1VnZlgwK1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4VUc1d2JTQXZQbHh1SUNBZ0lDQWdJQ0FnSUR3dlVHRmphMkZuWlUxaGJtZGxja0YyWVhSaGNqNWNiaUFnSUNBZ0lDQWdJQ0E4U1c1emRHRnNiRXhwYzNSSmRHVnRWR1Y0ZEZ4dUlDQWdJQ0FnSUNBZ0lDQWdjSEpwYldGeWVUMTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEeERiM0I1Vkc5RGJHbHdRbTloY21SY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCa1lYUmhWR1Z6ZEVsa1BWd2lhVzV6ZEdGc2JGQnVjRzFjSWx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSbGVIUTllMkJ3Ym5CdElHbHVjM1JoYkd3Z0pIdG5aWFJIYkc5aVlXeEpibk4wWVd4c0tHbHpUR0YwWlhOMExDQnBjMGRzYjJKaGJDd2djR0ZqYTJGblpWWmxjbk5wYjI0c0lIQmhZMnRoWjJWT1lXMWxLWDFnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhScGRHeGxQWHRnY0c1d2JTQnBibk4wWVd4c0lDUjdaMlYwUjJ4dlltRnNTVzV6ZEdGc2JDaHBjMHhoZEdWemRDd2dhWE5IYkc5aVlXd3NJSEJoWTJ0aFoyVldaWEp6YVc5dUxDQndZV05yWVdkbFRtRnRaU2w5WUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBdlBseHVJQ0FnSUNBZ0lDQThMMGx1YzNSaGJHeEpkR1Z0UGx4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0JrWldaaGRXeDBPbHh1SUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lIMWNibjA3WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUVsdWMzUmhiR3hNYVhOMFNYUmxiVHRjYmlKZGZRPT0gKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBEZXBlbmRlbmN5TWFuYWdlciA9IC8qIEBfX1BVUkVfXyAqLyBmdW5jdGlvbihEZXBlbmRlbmN5TWFuYWdlcikge1xuXHREZXBlbmRlbmN5TWFuYWdlcltcIk5QTVwiXSA9IFwibnBtXCI7XG5cdERlcGVuZGVuY3lNYW5hZ2VyW1wiWUFSTlwiXSA9IFwieWFyblwiO1xuXHREZXBlbmRlbmN5TWFuYWdlcltcIlBOUE1cIl0gPSBcInBucG1cIjtcblx0cmV0dXJuIERlcGVuZGVuY3lNYW5hZ2VyO1xufSh7fSk7XG5mdW5jdGlvbiBnZXRHbG9iYWxJbnN0YWxsKGlzTGF0ZXN0LCBpc0dsb2JhbCwgcGFja2FnZVZlcnNpb24sIHBhY2thZ2VOYW1lLCBpc1lhcm4gPSBmYWxzZSkge1xuXHRyZXR1cm4gKGlzR2xvYmFsID8gYCR7aXNZYXJuID8gXCJcIiA6IFwiLWdcIn0gJHtwYWNrYWdlVmVyc2lvbiAmJiAhaXNMYXRlc3QgPyBgJHtwYWNrYWdlTmFtZX1AJHtwYWNrYWdlVmVyc2lvbn1gIDogcGFja2FnZU5hbWV9YCA6IHBhY2thZ2VWZXJzaW9uICYmICFpc0xhdGVzdCA/IGAke3BhY2thZ2VOYW1lfUAke3BhY2thZ2VWZXJzaW9ufWAgOiBwYWNrYWdlTmFtZSkudHJpbSgpO1xufVxudmFyIEluc3RhbGxMaXN0SXRlbSA9ICh7IHBhY2thZ2VOYW1lLCBkZXBlbmRlbmN5TWFuYWdlciwgcGFja2FnZVZlcnNpb24gfSkgPT4ge1xuXHRjb25zdCB7IGxvY2FsU2V0dGluZ3MgfSA9IHVzZVNldHRpbmdzKCk7XG5cdGNvbnN0IGlzTGF0ZXN0ID0gbG9jYWxTZXR0aW5nc1twYWNrYWdlTmFtZV0/LmxhdGVzdCA/PyBmYWxzZTtcblx0Y29uc3QgaXNHbG9iYWwgPSBsb2NhbFNldHRpbmdzW3BhY2thZ2VOYW1lXT8uZ2xvYmFsID8/IGZhbHNlO1xuXHRzd2l0Y2ggKGRlcGVuZGVuY3lNYW5hZ2VyKSB7XG5cdFx0Y2FzZSBEZXBlbmRlbmN5TWFuYWdlci5OUE06IHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhJbnN0YWxsSXRlbSwge1xuXHRcdFx0XCJkYXRhLXRlc3RpZFwiOiBcImluc3RhbGxMaXN0SXRlbS1ucG1cIixcblx0XHRcdGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChQYWNrYWdlTWFuZ2VyQXZhdGFyLCB7XG5cdFx0XHRcdGFsdDogXCJucG1cIixcblx0XHRcdFx0c3g6IHsgYmdjb2xvcjogY29tbW9uLndoaXRlIH0sXG5cdFx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KE5wbSwge30pXG5cdFx0XHR9KSwgLyogQF9fUFVSRV9fICovIGpzeChJbnN0YWxsTGlzdEl0ZW1UZXh0LCB7IHByaW1hcnk6IC8qIEBfX1BVUkVfXyAqLyBqc3goQ29weVRvQ2xpcEJvYXJkLCB7XG5cdFx0XHRcdGRhdGFUZXN0SWQ6IFwiaW5zdGFsbE5wbVwiLFxuXHRcdFx0XHR0ZXh0OiBgbnBtIGluc3RhbGwgJHtnZXRHbG9iYWxJbnN0YWxsKGlzTGF0ZXN0LCBpc0dsb2JhbCwgcGFja2FnZVZlcnNpb24sIHBhY2thZ2VOYW1lKX1gLFxuXHRcdFx0XHR0aXRsZTogYG5wbSBpbnN0YWxsICR7Z2V0R2xvYmFsSW5zdGFsbChpc0xhdGVzdCwgaXNHbG9iYWwsIHBhY2thZ2VWZXJzaW9uLCBwYWNrYWdlTmFtZSl9YFxuXHRcdFx0fSkgfSldXG5cdFx0fSk7XG5cdFx0Y2FzZSBEZXBlbmRlbmN5TWFuYWdlci5ZQVJOOiByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoSW5zdGFsbEl0ZW0sIHtcblx0XHRcdFwiZGF0YS10ZXN0aWRcIjogXCJpbnN0YWxsTGlzdEl0ZW0teWFyblwiLFxuXHRcdFx0Y2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KFBhY2thZ2VNYW5nZXJBdmF0YXIsIHtcblx0XHRcdFx0YWx0OiBcInlhcm5cIixcblx0XHRcdFx0c3g6IHsgYmdjb2xvcjogY29tbW9uLndoaXRlIH0sXG5cdFx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFlhcm4sIHt9KVxuXHRcdFx0fSksIC8qIEBfX1BVUkVfXyAqLyBqc3goSW5zdGFsbExpc3RJdGVtVGV4dCwgeyBwcmltYXJ5OiAvKiBAX19QVVJFX18gKi8ganN4KENvcHlUb0NsaXBCb2FyZCwge1xuXHRcdFx0XHRkYXRhVGVzdElkOiBcImluc3RhbGxZYXJuXCIsXG5cdFx0XHRcdHRleHQ6IGlzR2xvYmFsID8gYHlhcm4gJHtsb2NhbFNldHRpbmdzLnlhcm5Nb2Rlcm4gPyBcIlwiIDogXCJnbG9iYWxcIn0gYWRkICR7Z2V0R2xvYmFsSW5zdGFsbChpc0dsb2JhbCwgcGFja2FnZVZlcnNpb24sIHBhY2thZ2VOYW1lLCB0cnVlKX1gIDogYHlhcm4gYWRkICR7Z2V0R2xvYmFsSW5zdGFsbChpc0xhdGVzdCwgaXNHbG9iYWwsIHBhY2thZ2VWZXJzaW9uLCBwYWNrYWdlTmFtZSwgdHJ1ZSl9YCxcblx0XHRcdFx0dGl0bGU6IGlzR2xvYmFsID8gYHlhcm4gZ2xvYmFsIGFkZCAke2dldEdsb2JhbEluc3RhbGwoaXNHbG9iYWwsIHBhY2thZ2VWZXJzaW9uLCBwYWNrYWdlTmFtZSwgdHJ1ZSl9YCA6IGB5YXJuIGFkZCAke2dldEdsb2JhbEluc3RhbGwoaXNMYXRlc3QsIGlzR2xvYmFsLCBwYWNrYWdlVmVyc2lvbiwgcGFja2FnZU5hbWUsIHRydWUpfWBcblx0XHRcdH0pIH0pXVxuXHRcdH0pO1xuXHRcdGNhc2UgRGVwZW5kZW5jeU1hbmFnZXIuUE5QTTogcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKEluc3RhbGxJdGVtLCB7XG5cdFx0XHRcImRhdGEtdGVzdGlkXCI6IFwiaW5zdGFsbExpc3RJdGVtLXBucG1cIixcblx0XHRcdGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChQYWNrYWdlTWFuZ2VyQXZhdGFyLCB7XG5cdFx0XHRcdGFsdDogXCJwbnBtXCIsXG5cdFx0XHRcdHN4OiB7IGJnY29sb3I6IGNvbW1vbi53aGl0ZSB9LFxuXHRcdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChQbnBtLCB7fSlcblx0XHRcdH0pLCAvKiBAX19QVVJFX18gKi8ganN4KEluc3RhbGxMaXN0SXRlbVRleHQsIHsgcHJpbWFyeTogLyogQF9fUFVSRV9fICovIGpzeChDb3B5VG9DbGlwQm9hcmQsIHtcblx0XHRcdFx0ZGF0YVRlc3RJZDogXCJpbnN0YWxsUG5wbVwiLFxuXHRcdFx0XHR0ZXh0OiBgcG5wbSBpbnN0YWxsICR7Z2V0R2xvYmFsSW5zdGFsbChpc0xhdGVzdCwgaXNHbG9iYWwsIHBhY2thZ2VWZXJzaW9uLCBwYWNrYWdlTmFtZSl9YCxcblx0XHRcdFx0dGl0bGU6IGBwbnBtIGluc3RhbGwgJHtnZXRHbG9iYWxJbnN0YWxsKGlzTGF0ZXN0LCBpc0dsb2JhbCwgcGFja2FnZVZlcnNpb24sIHBhY2thZ2VOYW1lKX1gXG5cdFx0XHR9KSB9KV1cblx0XHR9KTtcblx0XHRkZWZhdWx0OiByZXR1cm4gbnVsbDtcblx0fVxufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgRGVwZW5kZW5jeU1hbmFnZXIsIEluc3RhbGxMaXN0SXRlbSBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUluc3RhbGxMaXN0SXRlbS5tanMubWFwIiwiaW1wb3J0IFNldHRpbmdzTWVudSBmcm9tIFwiLi4vU2V0dGluZ3NNZW51L1NldHRpbmdzTWVudS5tanNcIjtcbmltcG9ydCBcIi4uL1NldHRpbmdzTWVudS9pbmRleC5tanNcIjtcbmltcG9ydCBJbnN0YWxsTGlzdEl0ZW0sIHsgRGVwZW5kZW5jeU1hbmFnZXIgfSBmcm9tIFwiLi9JbnN0YWxsTGlzdEl0ZW0ubWpzXCI7XG5pbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbmltcG9ydCB7IEZyYWdtZW50LCBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgTGlzdCBmcm9tIFwiQG11aS9tYXRlcmlhbC9MaXN0XCI7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9JbnN0YWxsL0luc3RhbGwudHN4XG5mdW5jdGlvbiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXygpIHtcblx0cmV0dXJuIFwiWW91IGhhdmUgdHJpZWQgdG8gc3RyaW5naWZ5IG9iamVjdCByZXR1cm5lZCBmcm9tIGBjc3NgIGZ1bmN0aW9uLiBJdCBpc24ndCBzdXBwb3NlZCB0byBiZSB1c2VkIGRpcmVjdGx5IChlLmcuIGFzIHZhbHVlIG9mIHRoZSBgY2xhc3NOYW1lYCBwcm9wKSwgYnV0IHJhdGhlciBoYW5kZWQgdG8gZW1vdGlvbiBzbyBpdCBjYW4gaGFuZGxlIGl0IChlLmcuIGFzIHZhbHVlIG9mIGBjc3NgIHByb3ApLlwiO1xufVxudmFyIFN0eWxlZFRleHQgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChUeXBvZ3JhcGh5LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMXhnNjlzZzFcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTF4ZzY5c2cxXCIsXG5cdGxhYmVsOiBcIlN0eWxlZFRleHRcIlxufSkoKHByb3BzKSA9PiAoe1xuXHRmb250V2VpZ2h0OiBwcm9wcy50aGVtZS5mb250V2VpZ2h0LmJvbGQsXG5cdHRleHRUcmFuc2Zvcm06IFwiY2FwaXRhbGl6ZVwiXG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OUpibk4wWVd4c0wwbHVjM1JoYkd3dWRITjRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRV0Z0UWlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwyTnZiWEJ2Ym1WdWRITXZTVzV6ZEdGc2JDOUpibk4wWVd4c0xuUnplQ0lzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCN0lGUjVjRzluY21Gd2FIa2dmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzSnp0Y2JtbHRjRzl5ZENCTWFYTjBJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRDYzdYRzVwYlhCdmNuUWdVbVZoWTNRZ1puSnZiU0FuY21WaFkzUW5PMXh1YVcxd2IzSjBJSHNnZFhObFZISmhibk5zWVhScGIyNGdmU0JtY205dElDZHlaV0ZqZEMxcE1UaHVaWGgwSnp0Y2JseHVhVzF3YjNKMElIUjVjR1VnZXlCVVpXMXdiR0YwWlZWSlQzQjBhVzl1Y3lCOUlHWnliMjBnSjBCMlpYSmtZV05qYVc4dmRIbHdaWE1uTzF4dVhHNXBiWEJ2Y25RZ2RIbHdaU0I3SUZSb1pXMWxJSDBnWm5KdmJTQW5MaTR2TGk0dlZHaGxiV1VuTzF4dWFXMXdiM0owSUhSNWNHVWdleUJRWVdOcllXZGxUV1YwWVVsdWRHVnlabUZqWlNCOUlHWnliMjBnSnk0dUx5NHVMM1I1Y0dWekwzQmhZMnRoWjJWTlpYUmhKenRjYm1sdGNHOXlkQ0I3SUZObGRIUnBibWR6VFdWdWRTQjlJR1p5YjIwZ0p5NHVMMU5sZEhScGJtZHpUV1Z1ZFNjN1hHNXBiWEJ2Y25RZ1NXNXpkR0ZzYkV4cGMzUkpkR1Z0TENCN0lFUmxjR1Z1WkdWdVkzbE5ZVzVoWjJWeUlIMGdabkp2YlNBbkxpOUpibk4wWVd4c1RHbHpkRWwwWlcwbk8xeHVYRzVqYjI1emRDQlRkSGxzWldSVVpYaDBJRDBnYzNSNWJHVmtLRlI1Y0c5bmNtRndhSGtwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2NISnZjSE1wSUQwK0lDaDdYRzRnSUdadmJuUlhaV2xuYUhRNklIQnliM0J6TG5Sb1pXMWxMbVp2Ym5SWFpXbG5hSFF1WW05c1pDeGNiaUFnZEdWNGRGUnlZVzV6Wm05eWJUb2dKMk5oY0dsMFlXeHBlbVVuTEZ4dWZTa3BPMXh1WEc1amIyNXpkQ0JYY21Gd2NHVnlJRDBnYzNSNWJHVmtLQ2RrYVhZbktTaDdYRzRnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ1lXeHBaMjVKZEdWdGN6b2dKMk5sYm5SbGNpY3NYRzRnSUdwMWMzUnBabmxEYjI1MFpXNTBPaUFuYzNCaFkyVXRZbVYwZDJWbGJpY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElIUjVjR1VnVUhKdmNITWdQU0I3WEc0Z0lIQmhZMnRoWjJWTlpYUmhPaUJRWVdOcllXZGxUV1YwWVVsdWRHVnlabUZqWlR0Y2JpQWdjR0ZqYTJGblpVNWhiV1U2SUhOMGNtbHVaenRjYmlBZ1kyOXVabWxuVDNCMGFXOXVjem9nVkdWdGNHeGhkR1ZWU1U5d2RHbHZibk03WEc1OU8xeHVYRzVqYjI1emRDQkpibk4wWVd4c09pQlNaV0ZqZEM1R1F6eFFjbTl3Y3o0Z1BTQW9leUJ3WVdOcllXZGxUV1YwWVN3Z2NHRmphMkZuWlU1aGJXVXNJR052Ym1acFowOXdkR2x2Ym5NZ2ZTa2dQVDRnZTF4dUlDQmpiMjV6ZENCN0lIUWdmU0E5SUhWelpWUnlZVzV6YkdGMGFXOXVLQ2s3WEc0Z0lHbG1JQ2doY0dGamEyRm5aVTFsZEdFZ2ZId2dJWEJoWTJ0aFoyVk9ZVzFsS1NCN1hHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQmpiMjV6ZENCb1lYTk9jRzBnUFNCamIyNW1hV2RQY0hScGIyNXpQeTV3YTJkTllXNWhaMlZ5Y3o4dWFXNWpiSFZrWlhNb0oyNXdiU2NwTzF4dUlDQmpiMjV6ZENCb1lYTlpZWEp1SUQwZ1kyOXVabWxuVDNCMGFXOXVjejh1Y0d0blRXRnVZV2RsY25NL0xtbHVZMngxWkdWektDZDVZWEp1SnlrN1hHNGdJR052Ym5OMElHaGhjMUJ1Y0cwZ1BTQmpiMjVtYVdkUGNIUnBiMjV6UHk1d2EyZE5ZVzVoWjJWeWN6OHVhVzVqYkhWa1pYTW9KM0J1Y0cwbktTQS9QeUIwY25WbE8xeHVJQ0JqYjI1emRDQm9ZWE5RYTJkTllXNWhaMlZ5Y3lBOUlHaGhjMDV3YlNCOGZDQm9ZWE5RYm5CdElIeDhJR2hoYzFsaGNtNDdYRzVjYmlBZ2NtVjBkWEp1SUdoaGMxQnJaMDFoYm1GblpYSnpJRDhnS0Z4dUlDQWdJRHcrWEc0Z0lDQWdJQ0E4VEdsemRGeHVJQ0FnSUNBZ0lDQmtZWFJoTFhSbGMzUnBaRDE3SjJsdWMzUmhiR3hNYVhOMEozMWNiaUFnSUNBZ0lDQWdjM1ZpYUdWaFpHVnlQWHRjYmlBZ0lDQWdJQ0FnSUNBOFYzSmhjSEJsY2o1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHhUZEhsc1pXUlVaWGgwSUhaaGNtbGhiblE5ZXlkemRXSjBhWFJzWlRFbmZUNTdkQ2duYzJsa1pXSmhjaTVwYm5OMFlXeHNZWFJwYjI0dWRHbDBiR1VuS1gwOEwxTjBlV3hsWkZSbGVIUStYRzRnSUNBZ0lDQWdJQ0FnSUNBOFUyVjBkR2x1WjNOTlpXNTFJSEJoWTJ0aFoyVk9ZVzFsUFh0d1lXTnJZV2RsVG1GdFpYMGdMejVjYmlBZ0lDQWdJQ0FnSUNBOEwxZHlZWEJ3WlhJK1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lENWNiaUFnSUNBZ0lDQWdlMmhoYzA1d2JTQW1KaUFvWEc0Z0lDQWdJQ0FnSUNBZ1BFbHVjM1JoYkd4TWFYTjBTWFJsYlZ4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z3Wlc1a1pXNWplVTFoYm1GblpYSTllMFJsY0dWdVpHVnVZM2xOWVc1aFoyVnlMazVRVFgxY2JpQWdJQ0FnSUNBZ0lDQWdJSEJoWTJ0aFoyVk9ZVzFsUFh0d1lXTnJZV2RsVG1GdFpYMWNiaUFnSUNBZ0lDQWdJQ0FnSUhCaFkydGhaMlZXWlhKemFXOXVQWHR3WVdOcllXZGxUV1YwWVM1c1lYUmxjM1F1ZG1WeWMybHZibjFjYmlBZ0lDQWdJQ0FnSUNBdlBseHVJQ0FnSUNBZ0lDQXBmVnh1SUNBZ0lDQWdJQ0I3YUdGeldXRnliaUFtSmlBb1hHNGdJQ0FnSUNBZ0lDQWdQRWx1YzNSaGJHeE1hWE4wU1hSbGJWeHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWd1pXNWtaVzVqZVUxaGJtRm5aWEk5ZTBSbGNHVnVaR1Z1WTNsTllXNWhaMlZ5TGxsQlVrNTlYRzRnSUNBZ0lDQWdJQ0FnSUNCd1lXTnJZV2RsVG1GdFpUMTdjR0ZqYTJGblpVNWhiV1Y5WEc0Z0lDQWdJQ0FnSUNBZ0lDQndZV05yWVdkbFZtVnljMmx2YmoxN2NHRmphMkZuWlUxbGRHRXViR0YwWlhOMExuWmxjbk5wYjI1OVhHNGdJQ0FnSUNBZ0lDQWdMejVjYmlBZ0lDQWdJQ0FnS1gxY2JpQWdJQ0FnSUNBZ2UyaGhjMUJ1Y0cwZ0ppWWdLRnh1SUNBZ0lDQWdJQ0FnSUR4SmJuTjBZV3hzVEdsemRFbDBaVzFjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjR1Z1WkdWdVkzbE5ZVzVoWjJWeVBYdEVaWEJsYm1SbGJtTjVUV0Z1WVdkbGNpNVFUbEJOZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdjR0ZqYTJGblpVNWhiV1U5ZTNCaFkydGhaMlZPWVcxbGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnY0dGamEyRm5aVlpsY25OcGIyNDllM0JoWTJ0aFoyVk5aWFJoTG14aGRHVnpkQzUyWlhKemFXOXVmVnh1SUNBZ0lDQWdJQ0FnSUM4K1hHNGdJQ0FnSUNBZ0lDbDlYRzRnSUNBZ0lDQThMMHhwYzNRK1hHNGdJQ0FnUEM4K1hHNGdJQ2tnT2lCdWRXeHNPMXh1ZlR0Y2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ1NXNXpkR0ZzYkR0Y2JpSmRmUT09ICovXCIpO1xudmFyIFdyYXBwZXIgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcImRpdlwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMXhnNjlzZzBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTF4ZzY5c2cwXCIsXG5cdGxhYmVsOiBcIldyYXBwZXJcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcImJjZmZ5MlwiLFxuXHRzdHlsZXM6IFwiZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlblwiXG59IDoge1xuXHRuYW1lOiBcImJjZmZ5MlwiLFxuXHRzdHlsZXM6IFwiZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlKYm5OMFlXeHNMMGx1YzNSaGJHd3VkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVd0Q1owSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDBsdWMzUmhiR3d2U1c1emRHRnNiQzUwYzNnaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2MzUjViR1ZrSUdaeWIyMGdKMEJsYlc5MGFXOXVMM04wZVd4bFpDYzdYRzVwYlhCdmNuUWdleUJVZVhCdlozSmhjR2g1SUgwZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDYzdYRzVwYlhCdmNuUWdUR2x6ZENCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wweHBjM1FuTzF4dWFXMXdiM0owSUZKbFlXTjBJR1p5YjIwZ0ozSmxZV04wSnp0Y2JtbHRjRzl5ZENCN0lIVnpaVlJ5WVc1emJHRjBhVzl1SUgwZ1puSnZiU0FuY21WaFkzUXRhVEU0Ym1WNGRDYzdYRzVjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR1Z0Y0d4aGRHVlZTVTl3ZEdsdmJuTWdmU0JtY205dElDZEFkbVZ5WkdGalkybHZMM1I1Y0dWekp6dGNibHh1YVcxd2IzSjBJSFI1Y0dVZ2V5QlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMMVJvWlcxbEp6dGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1VHRmphMkZuWlUxbGRHRkpiblJsY21aaFkyVWdmU0JtY205dElDY3VMaTh1TGk5MGVYQmxjeTl3WVdOcllXZGxUV1YwWVNjN1hHNXBiWEJ2Y25RZ2V5QlRaWFIwYVc1bmMwMWxiblVnZlNCbWNtOXRJQ2N1TGk5VFpYUjBhVzVuYzAxbGJuVW5PMXh1YVcxd2IzSjBJRWx1YzNSaGJHeE1hWE4wU1hSbGJTd2dleUJFWlhCbGJtUmxibU41VFdGdVlXZGxjaUI5SUdaeWIyMGdKeTR2U1c1emRHRnNiRXhwYzNSSmRHVnRKenRjYmx4dVkyOXVjM1FnVTNSNWJHVmtWR1Y0ZENBOUlITjBlV3hsWkNoVWVYQnZaM0poY0doNUtUeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LSEJ5YjNCektTQTlQaUFvZTF4dUlDQm1iMjUwVjJWcFoyaDBPaUJ3Y205d2N5NTBhR1Z0WlM1bWIyNTBWMlZwWjJoMExtSnZiR1FzWEc0Z0lIUmxlSFJVY21GdWMyWnZjbTA2SUNkallYQnBkR0ZzYVhwbEp5eGNibjBwS1R0Y2JseHVZMjl1YzNRZ1YzSmhjSEJsY2lBOUlITjBlV3hsWkNnblpHbDJKeWtvZTF4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQnFkWE4wYVdaNVEyOXVkR1Z1ZERvZ0ozTndZV05sTFdKbGRIZGxaVzRuTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0IwZVhCbElGQnliM0J6SUQwZ2UxeHVJQ0J3WVdOcllXZGxUV1YwWVRvZ1VHRmphMkZuWlUxbGRHRkpiblJsY21aaFkyVTdYRzRnSUhCaFkydGhaMlZPWVcxbE9pQnpkSEpwYm1jN1hHNGdJR052Ym1acFowOXdkR2x2Ym5NNklGUmxiWEJzWVhSbFZVbFBjSFJwYjI1ek8xeHVmVHRjYmx4dVkyOXVjM1FnU1c1emRHRnNiRG9nVW1WaFkzUXVSa004VUhKdmNITStJRDBnS0hzZ2NHRmphMkZuWlUxbGRHRXNJSEJoWTJ0aFoyVk9ZVzFsTENCamIyNW1hV2RQY0hScGIyNXpJSDBwSUQwK0lIdGNiaUFnWTI5dWMzUWdleUIwSUgwZ1BTQjFjMlZVY21GdWMyeGhkR2x2YmlncE8xeHVJQ0JwWmlBb0lYQmhZMnRoWjJWTlpYUmhJSHg4SUNGd1lXTnJZV2RsVG1GdFpTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNCOVhHNWNiaUFnWTI5dWMzUWdhR0Z6VG5CdElEMGdZMjl1Wm1sblQzQjBhVzl1Y3o4dWNHdG5UV0Z1WVdkbGNuTS9MbWx1WTJ4MVpHVnpLQ2R1Y0cwbktUdGNiaUFnWTI5dWMzUWdhR0Z6V1dGeWJpQTlJR052Ym1acFowOXdkR2x2Ym5NL0xuQnJaMDFoYm1GblpYSnpQeTVwYm1Oc2RXUmxjeWduZVdGeWJpY3BPMXh1SUNCamIyNXpkQ0JvWVhOUWJuQnRJRDBnWTI5dVptbG5UM0IwYVc5dWN6OHVjR3RuVFdGdVlXZGxjbk0vTG1sdVkyeDFaR1Z6S0Nkd2JuQnRKeWtnUHo4Z2RISjFaVHRjYmlBZ1kyOXVjM1FnYUdGelVHdG5UV0Z1WVdkbGNuTWdQU0JvWVhOT2NHMGdmSHdnYUdGelVHNXdiU0I4ZkNCb1lYTlpZWEp1TzF4dVhHNGdJSEpsZEhWeWJpQm9ZWE5RYTJkTllXNWhaMlZ5Y3lBL0lDaGNiaUFnSUNBOFBseHVJQ0FnSUNBZ1BFeHBjM1JjYmlBZ0lDQWdJQ0FnWkdGMFlTMTBaWE4wYVdROWV5ZHBibk4wWVd4c1RHbHpkQ2Q5WEc0Z0lDQWdJQ0FnSUhOMVltaGxZV1JsY2oxN1hHNGdJQ0FnSUNBZ0lDQWdQRmR5WVhCd1pYSStYRzRnSUNBZ0lDQWdJQ0FnSUNBOFUzUjViR1ZrVkdWNGRDQjJZWEpwWVc1MFBYc25jM1ZpZEdsMGJHVXhKMzArZTNRb0ozTnBaR1ZpWVhJdWFXNXpkR0ZzYkdGMGFXOXVMblJwZEd4bEp5bDlQQzlUZEhsc1pXUlVaWGgwUGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRk5sZEhScGJtZHpUV1Z1ZFNCd1lXTnJZV2RsVG1GdFpUMTdjR0ZqYTJGblpVNWhiV1Y5SUM4K1hHNGdJQ0FnSUNBZ0lDQWdQQzlYY21Gd2NHVnlQbHh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0ErWEc0Z0lDQWdJQ0FnSUh0b1lYTk9jRzBnSmlZZ0tGeHVJQ0FnSUNBZ0lDQWdJRHhKYm5OMFlXeHNUR2x6ZEVsMFpXMWNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGNHVnVaR1Z1WTNsTllXNWhaMlZ5UFh0RVpYQmxibVJsYm1ONVRXRnVZV2RsY2k1T1VFMTlYRzRnSUNBZ0lDQWdJQ0FnSUNCd1lXTnJZV2RsVG1GdFpUMTdjR0ZqYTJGblpVNWhiV1Y5WEc0Z0lDQWdJQ0FnSUNBZ0lDQndZV05yWVdkbFZtVnljMmx2YmoxN2NHRmphMkZuWlUxbGRHRXViR0YwWlhOMExuWmxjbk5wYjI1OVhHNGdJQ0FnSUNBZ0lDQWdMejVjYmlBZ0lDQWdJQ0FnS1gxY2JpQWdJQ0FnSUNBZ2UyaGhjMWxoY200Z0ppWWdLRnh1SUNBZ0lDQWdJQ0FnSUR4SmJuTjBZV3hzVEdsemRFbDBaVzFjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjR1Z1WkdWdVkzbE5ZVzVoWjJWeVBYdEVaWEJsYm1SbGJtTjVUV0Z1WVdkbGNpNVpRVkpPZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdjR0ZqYTJGblpVNWhiV1U5ZTNCaFkydGhaMlZPWVcxbGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnY0dGamEyRm5aVlpsY25OcGIyNDllM0JoWTJ0aFoyVk5aWFJoTG14aGRHVnpkQzUyWlhKemFXOXVmVnh1SUNBZ0lDQWdJQ0FnSUM4K1hHNGdJQ0FnSUNBZ0lDbDlYRzRnSUNBZ0lDQWdJSHRvWVhOUWJuQnRJQ1ltSUNoY2JpQWdJQ0FnSUNBZ0lDQThTVzV6ZEdGc2JFeHBjM1JKZEdWdFhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhCbGJtUmxibU41VFdGdVlXZGxjajE3UkdWd1pXNWtaVzVqZVUxaGJtRm5aWEl1VUU1UVRYMWNiaUFnSUNBZ0lDQWdJQ0FnSUhCaFkydGhaMlZPWVcxbFBYdHdZV05yWVdkbFRtRnRaWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lIQmhZMnRoWjJWV1pYSnphVzl1UFh0d1lXTnJZV2RsVFdWMFlTNXNZWFJsYzNRdWRtVnljMmx2Ym4xY2JpQWdJQ0FnSUNBZ0lDQXZQbHh1SUNBZ0lDQWdJQ0FwZlZ4dUlDQWdJQ0FnUEM5TWFYTjBQbHh1SUNBZ0lEd3ZQbHh1SUNBcElEb2diblZzYkR0Y2JuMDdYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJRWx1YzNSaGJHdzdYRzRpWFgwPSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIEluc3RhbGwgPSAoeyBwYWNrYWdlTWV0YSwgcGFja2FnZU5hbWUsIGNvbmZpZ09wdGlvbnMgfSkgPT4ge1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdGlmICghcGFja2FnZU1ldGEgfHwgIXBhY2thZ2VOYW1lKSByZXR1cm4gbnVsbDtcblx0Y29uc3QgaGFzTnBtID0gY29uZmlnT3B0aW9ucz8ucGtnTWFuYWdlcnM/LmluY2x1ZGVzKFwibnBtXCIpO1xuXHRjb25zdCBoYXNZYXJuID0gY29uZmlnT3B0aW9ucz8ucGtnTWFuYWdlcnM/LmluY2x1ZGVzKFwieWFyblwiKTtcblx0Y29uc3QgaGFzUG5wbSA9IGNvbmZpZ09wdGlvbnM/LnBrZ01hbmFnZXJzPy5pbmNsdWRlcyhcInBucG1cIikgPz8gdHJ1ZTtcblx0cmV0dXJuIGhhc05wbSB8fCBoYXNQbnBtIHx8IGhhc1lhcm4gPyAvKiBAX19QVVJFX18gKi8ganN4KEZyYWdtZW50LCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4cyhMaXN0LCB7XG5cdFx0XCJkYXRhLXRlc3RpZFwiOiBcImluc3RhbGxMaXN0XCIsXG5cdFx0c3ViaGVhZGVyOiAvKiBAX19QVVJFX18gKi8ganN4cyhXcmFwcGVyLCB7IGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChTdHlsZWRUZXh0LCB7XG5cdFx0XHR2YXJpYW50OiBcInN1YnRpdGxlMVwiLFxuXHRcdFx0Y2hpbGRyZW46IHQoXCJzaWRlYmFyLmluc3RhbGxhdGlvbi50aXRsZVwiKVxuXHRcdH0pLCAvKiBAX19QVVJFX18gKi8ganN4KFNldHRpbmdzTWVudSwgeyBwYWNrYWdlTmFtZSB9KV0gfSksXG5cdFx0Y2hpbGRyZW46IFtcblx0XHRcdGhhc05wbSAmJiAvKiBAX19QVVJFX18gKi8ganN4KEluc3RhbGxMaXN0SXRlbSwge1xuXHRcdFx0XHRkZXBlbmRlbmN5TWFuYWdlcjogRGVwZW5kZW5jeU1hbmFnZXIuTlBNLFxuXHRcdFx0XHRwYWNrYWdlTmFtZSxcblx0XHRcdFx0cGFja2FnZVZlcnNpb246IHBhY2thZ2VNZXRhLmxhdGVzdC52ZXJzaW9uXG5cdFx0XHR9KSxcblx0XHRcdGhhc1lhcm4gJiYgLyogQF9fUFVSRV9fICovIGpzeChJbnN0YWxsTGlzdEl0ZW0sIHtcblx0XHRcdFx0ZGVwZW5kZW5jeU1hbmFnZXI6IERlcGVuZGVuY3lNYW5hZ2VyLllBUk4sXG5cdFx0XHRcdHBhY2thZ2VOYW1lLFxuXHRcdFx0XHRwYWNrYWdlVmVyc2lvbjogcGFja2FnZU1ldGEubGF0ZXN0LnZlcnNpb25cblx0XHRcdH0pLFxuXHRcdFx0aGFzUG5wbSAmJiAvKiBAX19QVVJFX18gKi8ganN4KEluc3RhbGxMaXN0SXRlbSwge1xuXHRcdFx0XHRkZXBlbmRlbmN5TWFuYWdlcjogRGVwZW5kZW5jeU1hbmFnZXIuUE5QTSxcblx0XHRcdFx0cGFja2FnZU5hbWUsXG5cdFx0XHRcdHBhY2thZ2VWZXJzaW9uOiBwYWNrYWdlTWV0YS5sYXRlc3QudmVyc2lvblxuXHRcdFx0fSlcblx0XHRdXG5cdH0pIH0pIDogbnVsbDtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IEluc3RhbGwgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1JbnN0YWxsLm1qcy5tYXAiLCJpbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgTGlzdEl0ZW0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvTGlzdEl0ZW1cIjtcbmltcG9ydCBDaGlwIGZyb20gXCJAbXVpL21hdGVyaWFsL0NoaXBcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9LZXl3b3Jkcy9LZXl3b3JkTGlzdEl0ZW1zLnRzeFxudmFyIEtleXdvcmRMaXN0SXRlbXMgPSAoeyBrZXl3b3JkcyB9KSA9PiB7XG5cdGNvbnN0IGtleXdvcmRMaXN0ID0gdHlwZW9mIGtleXdvcmRzID09PSBcInN0cmluZ1wiID8ga2V5d29yZHMucmVwbGFjZSgvLC9nLCBcIiBcIikuc3BsaXQoXCIgXCIpIDoga2V5d29yZHM7XG5cdGlmICgha2V5d29yZExpc3QpIHJldHVybiBudWxsO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChMaXN0SXRlbSwge1xuXHRcdHN4OiB7XG5cdFx0XHRweDogMCxcblx0XHRcdG10OiAwLFxuXHRcdFx0ZmxleFdyYXA6IFwid3JhcFwiXG5cdFx0fSxcblx0XHRjaGlsZHJlbjoga2V5d29yZExpc3Quc29ydCgpLm1hcCgoa2V5d29yZCwgaW5kZXgpID0+IC8qIEBfX1BVUkVfXyAqLyBqc3goQ2hpcCwge1xuXHRcdFx0bGFiZWw6IGtleXdvcmQsXG5cdFx0XHRzaXplOiBcInNtYWxsXCIsXG5cdFx0XHRzeDoge1xuXHRcdFx0XHRtdDogLjUsXG5cdFx0XHRcdG1yOiAuNVxuXHRcdFx0fVxuXHRcdH0sIGluZGV4KSlcblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBLZXl3b3JkTGlzdEl0ZW1zIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9S2V5d29yZExpc3RJdGVtcy5tanMubWFwIiwiaW1wb3J0IEtleXdvcmRMaXN0SXRlbXMgZnJvbSBcIi4vS2V5d29yZExpc3RJdGVtcy5tanNcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvc3R5bGVzXCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgTGlzdCBmcm9tIFwiQG11aS9tYXRlcmlhbC9MaXN0XCI7XG5pbXBvcnQgVHlwb2dyYXBoeSBmcm9tIFwiQG11aS9tYXRlcmlhbC9UeXBvZ3JhcGh5XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvS2V5d29yZHMvS2V5d29yZHMudHN4XG52YXIgS2V5d29yZHMgPSAoeyBwYWNrYWdlTWV0YSB9KSA9PiB7XG5cdGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcblx0Y29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXHRpZiAoIXBhY2thZ2VNZXRhPy5sYXRlc3Q/LmtleXdvcmRzKSByZXR1cm4gbnVsbDtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goTGlzdCwge1xuXHRcdFwiZGF0YS10ZXN0aWRcIjogXCJrZXl3b3JkLWxpc3RcIixcblx0XHRzdWJoZWFkZXI6IC8qIEBfX1BVUkVfXyAqLyBqc3goVHlwb2dyYXBoeSwge1xuXHRcdFx0c3g6IHtcblx0XHRcdFx0Zm9udFdlaWdodDogdGhlbWUuZm9udFdlaWdodC5ib2xkLFxuXHRcdFx0XHR0ZXh0VHJhbnNmb3JtOiBcImNhcGl0YWxpemVcIlxuXHRcdFx0fSxcblx0XHRcdHZhcmlhbnQ6IFwic3VidGl0bGUxXCIsXG5cdFx0XHRjaGlsZHJlbjogdChcInNpZGViYXIua2V5d29yZHMudGl0bGVcIilcblx0XHR9KSxcblx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChLZXl3b3JkTGlzdEl0ZW1zLCB7IGtleXdvcmRzOiBwYWNrYWdlTWV0YT8ubGF0ZXN0Py5rZXl3b3JkcyB9KVxuXHR9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IEtleXdvcmRzIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9S2V5d29yZHMubWpzLm1hcCIsImltcG9ydCBET01QdXJpZnkgZnJvbSBcImRvbXB1cmlmeVwiO1xuaW1wb3J0IGhsanMgZnJvbSBcImhpZ2hsaWdodC5qc1wiO1xuaW1wb3J0IHsgTWFya2VkIH0gZnJvbSBcIm1hcmtlZFwiO1xuaW1wb3J0IHsgbWFya2VkSGlnaGxpZ2h0IH0gZnJvbSBcIm1hcmtlZC1oaWdobGlnaHRcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9SZWFkbWUvdXRpbHMudHNcbnZhciBtYXJrZWQgPSBuZXcgTWFya2VkKG1hcmtlZEhpZ2hsaWdodCh7XG5cdGFzeW5jOiBmYWxzZSxcblx0aGlnaGxpZ2h0KGNvZGUsIGxhbmcpIHtcblx0XHRjb25zdCBsYW5ndWFnZSA9IGhsanMuZ2V0TGFuZ3VhZ2UobGFuZykgPyBsYW5nIDogXCJwbGFpbnRleHRcIjtcblx0XHRyZXR1cm4gaGxqcy5oaWdobGlnaHQoY29kZSwgeyBsYW5ndWFnZSB9KS52YWx1ZTtcblx0fVxufSkpO1xubWFya2VkLnNldE9wdGlvbnMoe1xuXHRyZW5kZXJlcjogbmV3IG1hcmtlZC5SZW5kZXJlcigpLFxuXHRwZWRhbnRpYzogZmFsc2UsXG5cdGdmbTogdHJ1ZSxcblx0YnJlYWtzOiBmYWxzZVxufSk7XG5mdW5jdGlvbiBwYXJzZVJlYWRtZShyZWFkbWUpIHtcblx0Y29uc3QgaHRtbCA9IG1hcmtlZC5wYXJzZShyZWFkbWUpO1xuXHRyZXR1cm4gRE9NUHVyaWZ5LnNhbml0aXplKGh0bWwpO1xufVxuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBwYXJzZVJlYWRtZSB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5tanMubWFwIiwiaW1wb3J0IHsgYmFzZUNvbG9ycyB9IGZyb20gXCIuL2NvbG9ycy5tanNcIjtcbmltcG9ydCB7IGNvbW1vbiB9IGZyb20gXCJAbXVpL21hdGVyaWFsL2NvbG9yc1wiO1xuLy8jcmVnaW9uIHNyYy9UaGVtZS9tb2Rlcy50c1xudmFyIERBUktfTU9ERV9QUklNQVJZID0gY29tbW9uLndoaXRlO1xudmFyIGdldE1vZGVQYWxldHRlID0gKG1vZGUsIHByaW1hcnlDb2xvcikgPT4ge1xuXHRjb25zdCBiYXNlUHJpbWFyeSA9IHByaW1hcnlDb2xvciB8fCBiYXNlQ29sb3JzLnByaW1hcnkubWFpbjtcblx0Y29uc3QgcHJpbWFyeSA9IG1vZGUgPT09IFwiZGFya1wiID8geyBtYWluOiBEQVJLX01PREVfUFJJTUFSWSB9IDogeyBtYWluOiBiYXNlUHJpbWFyeSB9O1xuXHRpZiAobW9kZSA9PT0gXCJkYXJrXCIpIHJldHVybiB7XG5cdFx0bW9kZSxcblx0XHRwcmltYXJ5LFxuXHRcdHNlY29uZGFyeTogeyBtYWluOiBcIiM0MjQyNDJcIiB9LFxuXHRcdGJhY2tncm91bmQ6IHtcblx0XHRcdGRlZmF1bHQ6IFwiIzFhMjAyY1wiLFxuXHRcdFx0cGFwZXI6IFwiIzJkMzc0OFwiXG5cdFx0fVxuXHR9O1xuXHRyZXR1cm4ge1xuXHRcdG1vZGUsXG5cdFx0cHJpbWFyeSxcblx0XHRzZWNvbmRhcnk6IGJhc2VDb2xvcnMuc2Vjb25kYXJ5LFxuXHRcdGJhY2tncm91bmQ6IHtcblx0XHRcdGRlZmF1bHQ6IFwiI2Y0ZjRmNFwiLFxuXHRcdFx0cGFwZXI6IFwiI2ZmZmZmZlwiXG5cdFx0fVxuXHR9O1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgZ2V0TW9kZVBhbGV0dGUgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bW9kZXMubWpzLm1hcCIsIi8vI3JlZ2lvbiBzcmMvVGhlbWUvdG9rZW5zLnRzXG52YXIgZm9udFNpemUgPSB7XG5cdHh4bDogMjYsXG5cdHhsOiAyNCxcblx0bGc6IDIxLFxuXHRtZDogMTgsXG5cdGRlZmF1bHQ6IDE2LFxuXHRzbTogMTQsXG5cdHNzbTogMTJcbn07XG52YXIgZm9udFdlaWdodCA9IHtcblx0bGlnaHQ6IDMwMCxcblx0cmVndWxhcjogNDAwLFxuXHRzZW1pQm9sZDogNTAwLFxuXHRib2xkOiA3MDBcbn07XG52YXIgYnJlYWtQb2ludHMgPSB7XG5cdHhzbWFsbDogNDAwLFxuXHRzbWFsbDogNTc2LFxuXHRtZWRpdW06IDc2OCxcblx0bGFyZ2U6IDEwMjQsXG5cdGNvbnRhaW5lcjogMTI0MCxcblx0eGxhcmdlOiAxMjc1XG59O1xudmFyIGN1c3RvbWl6ZWRUaGVtZSA9IHtcblx0Zm9udFNpemUsXG5cdGZvbnRXZWlnaHQsXG5cdGJyZWFrUG9pbnRzXG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBicmVha1BvaW50cywgY3VzdG9taXplZFRoZW1lLCBmb250U2l6ZSwgZm9udFdlaWdodCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD10b2tlbnMubWpzLm1hcCIsImltcG9ydCB7IGdldE1vZGVQYWxldHRlIH0gZnJvbSBcIi4vbW9kZXMubWpzXCI7XG5pbXBvcnQgeyBjdXN0b21pemVkVGhlbWUgfSBmcm9tIFwiLi90b2tlbnMubWpzXCI7XG5pbXBvcnQgeyBjcmVhdGVUaGVtZSB9IGZyb20gXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiO1xuLy8jcmVnaW9uIHNyYy9UaGVtZS90aGVtZS50c1xudmFyIGdldFRoZW1lID0gKG1vZGUsIHByaW1hcnlDb2xvcikgPT4ge1xuXHRyZXR1cm4gY3JlYXRlVGhlbWUoe1xuXHRcdHBhbGV0dGU6IGdldE1vZGVQYWxldHRlKG1vZGUsIHByaW1hcnlDb2xvciksXG5cdFx0dHlwb2dyYXBoeTogeyBmb250RmFtaWx5OiBbXG5cdFx0XHRcIi1hcHBsZS1zeXN0ZW1cIixcblx0XHRcdFwiQmxpbmtNYWNTeXN0ZW1Gb250XCIsXG5cdFx0XHRcIlxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCJcIixcblx0XHRcdFwiQXJpYWxcIixcblx0XHRcdFwic2Fucy1zZXJpZlwiXG5cdFx0XS5qb2luKFwiLFwiKSB9LFxuXHRcdGNvbXBvbmVudHM6IHsgTXVpUGFwZXI6IHsgc3R5bGVPdmVycmlkZXM6IHsgcm9vdDogeyBiYWNrZ3JvdW5kSW1hZ2U6IFwidW5zZXRcIiB9IH0gfSB9LFxuXHRcdC4uLmN1c3RvbWl6ZWRUaGVtZVxuXHR9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IGdldFRoZW1lIH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRoZW1lLm1qcy5tYXAiLCJpbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tIFwiLi4vcHJvdmlkZXJzL0FwcENvbmZpZ3VyYXRpb25Qcm92aWRlci9BcHBDb25maWd1cmF0aW9uUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgXCIuLi9wcm92aWRlcnMvQXBwQ29uZmlndXJhdGlvblByb3ZpZGVyL2luZGV4Lm1qc1wiO1xuaW1wb3J0IHVzZUxvY2FsU3RvcmFnZSBmcm9tIFwiLi4vaG9va3MvdXNlTG9jYWxTdG9yYWdlLm1qc1wiO1xuaW1wb3J0IHsgZ2V0VGhlbWUgfSBmcm9tIFwiLi90aGVtZS5tanNcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCwgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgU3R5bGVkRW5naW5lUHJvdmlkZXIsIFRoZW1lUHJvdmlkZXIgfSBmcm9tIFwiQG11aS9tYXRlcmlhbC9zdHlsZXNcIjtcbi8vI3JlZ2lvbiBzcmMvVGhlbWUvVGhlbWVQcm92aWRlci50c3hcbnZhciBUaGVtZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0KHZvaWQgMCk7XG5mdW5jdGlvbiBnZXREYXJrTW9kZURlZmF1bHQoZGFya01vZGVDb25maWcpIHtcblx0Y29uc3QgcHJlZmVyc0RhcmtNb2RlID0gd2luZG93Lm1hdGNoTWVkaWE/LihcIihwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKVwiKS5tYXRjaGVzO1xuXHRpZiAodHlwZW9mIGRhcmtNb2RlQ29uZmlnID09PSBcImJvb2xlYW5cIikgcmV0dXJuIGRhcmtNb2RlQ29uZmlnO1xuXHRlbHNlIHJldHVybiBwcmVmZXJzRGFya01vZGU7XG59XG52YXIgVGhlbWVQcm92aWRlciQxID0gKHsgY2hpbGRyZW4gfSkgPT4ge1xuXHRjb25zdCB7IGNvbmZpZ09wdGlvbnMgfSA9IHVzZUNvbmZpZygpO1xuXHRjb25zdCBpc0RhcmtNb2RlRGVmYXVsdCA9IGdldERhcmtNb2RlRGVmYXVsdChjb25maWdPcHRpb25zLmRhcmtNb2RlKTtcblx0Y29uc3QgaXNTd2l0Y2hUaGVtZUVuYWJsZWQgPSBjb25maWdPcHRpb25zLnNob3dUaGVtZVN3aXRjaDtcblx0Y29uc3QgW2lzRGFya01vZGVTdG9yYWdlLCBzZXRJc0RhcmtNb2RlXSA9IHVzZUxvY2FsU3RvcmFnZShcImRhcmtNb2RlXCIsIGlzRGFya01vZGVEZWZhdWx0KTtcblx0Y29uc3QgaXNEYXJrTW9kZSA9IGlzU3dpdGNoVGhlbWVFbmFibGVkID09PSB0cnVlID8gaXNEYXJrTW9kZVN0b3JhZ2UgOiBpc0RhcmtNb2RlRGVmYXVsdDtcblx0Y29uc3QgY3VycmVudFRoZW1lID0gZ2V0VGhlbWUoaXNEYXJrTW9kZSA/IFwiZGFya1wiIDogXCJsaWdodFwiLCBjb25maWdPcHRpb25zLnByaW1hcnlDb2xvcik7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFRoZW1lQ29udGV4dC5Qcm92aWRlciwge1xuXHRcdHZhbHVlOiB7XG5cdFx0XHRpc0RhcmtNb2RlLFxuXHRcdFx0c2V0SXNEYXJrTW9kZVxuXHRcdH0sXG5cdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goU3R5bGVkRW5naW5lUHJvdmlkZXIsIHtcblx0XHRcdGluamVjdEZpcnN0OiB0cnVlLFxuXHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goVGhlbWVQcm92aWRlciwge1xuXHRcdFx0XHR0aGVtZTogY3VycmVudFRoZW1lLFxuXHRcdFx0XHRjaGlsZHJlblxuXHRcdFx0fSlcblx0XHR9KVxuXHR9KTtcbn07XG52YXIgdXNlQ3VzdG9tVGhlbWUgPSAoKSA9PiB1c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IFRoZW1lUHJvdmlkZXIkMSBhcyBUaGVtZVByb3ZpZGVyLCB1c2VDdXN0b21UaGVtZSB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1UaGVtZVByb3ZpZGVyLm1qcy5tYXAiLCIvKiBlbXB0eSBjc3MgICAgICAgICAgICAgICAgICovXG5pbXBvcnQgeyBwYXJzZVJlYWRtZSB9IGZyb20gXCIuL3V0aWxzLm1qc1wiO1xuaW1wb3J0IHsgdXNlQ3VzdG9tVGhlbWUgfSBmcm9tIFwiLi4vLi4vVGhlbWUvVGhlbWVQcm92aWRlci5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2luZGV4Lm1qc1wiO1xuaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgQm94IGZyb20gXCJAbXVpL21hdGVyaWFsL0JveFwiO1xuaW1wb3J0IENhcmQgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQ2FyZFwiO1xuaW1wb3J0IENhcmRDb250ZW50IGZyb20gXCJAbXVpL21hdGVyaWFsL0NhcmRDb250ZW50XCI7XG5pbXBvcnQgXCJoaWdobGlnaHQuanMvc3R5bGVzL2dpdGh1Yi1kYXJrLmNzc1wiO1xuaW1wb3J0IFwiaGlnaGxpZ2h0LmpzL3N0eWxlcy9naXRodWIuY3NzXCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvUmVhZG1lL1JlYWRtZS50c3hcbmZ1bmN0aW9uIF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fKCkge1xuXHRyZXR1cm4gXCJZb3UgaGF2ZSB0cmllZCB0byBzdHJpbmdpZnkgb2JqZWN0IHJldHVybmVkIGZyb20gYGNzc2AgZnVuY3Rpb24uIEl0IGlzbid0IHN1cHBvc2VkIHRvIGJlIHVzZWQgZGlyZWN0bHkgKGUuZy4gYXMgdmFsdWUgb2YgdGhlIGBjbGFzc05hbWVgIHByb3ApLCBidXQgcmF0aGVyIGhhbmRlZCB0byBlbW90aW9uIHNvIGl0IGNhbiBoYW5kbGUgaXQgKGUuZy4gYXMgdmFsdWUgb2YgYGNzc2AgcHJvcCkuXCI7XG59XG52YXIgUmVhZG1lID0gKHsgZGVzY3JpcHRpb24gfSkgPT4ge1xuXHRjb25zdCB7IGlzRGFya01vZGUgfSA9IHVzZUN1c3RvbVRoZW1lKCk7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KENhcmQsIHtcblx0XHRzeDogeyBtYjogMiB9LFxuXHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KENhcmRDb250ZW50LCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEJveCwge1xuXHRcdFx0XCJkYXRhLXRlc3RpZFwiOiBcInJlYWRtZVwiLFxuXHRcdFx0c3g6IHsgbTogMiB9LFxuXHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goV3JhcHBlciwge1xuXHRcdFx0XHRjbGFzc05hbWU6IGBtYXJrZG93bi1ib2R5ICR7aXNEYXJrTW9kZSA/IFwibWFya2Rvd24tZGFya1wiIDogXCJtYXJrZG93bi1saWdodFwifWAsXG5cdFx0XHRcdGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7IF9faHRtbDogcGFyc2VSZWFkbWUoZGVzY3JpcHRpb24pIH1cblx0XHRcdH0pXG5cdFx0fSkgfSlcblx0fSk7XG59O1xudmFyIFdyYXBwZXIgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcImRpdlwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMWdhbzU0dTBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTFnYW81NHUwXCIsXG5cdGxhYmVsOiBcIldyYXBwZXJcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcInowZWJxNFwiLFxuXHRzdHlsZXM6IFwidWx7bGlzdC1zdHlsZTpkaXNjO31pbWd7bWF4LXdpZHRoOjEwMCU7fVwiXG59IDoge1xuXHRuYW1lOiBcInowZWJxNFwiLFxuXHRzdHlsZXM6IFwidWx7bGlzdC1zdHlsZTpkaXNjO31pbWd7bWF4LXdpZHRoOjEwMCU7fS8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlTWldGa2JXVXZVbVZoWkcxbExuUnplQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZuUTJkQ0lpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlTWldGa2JXVXZVbVZoWkcxbExuUnplQ0lzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCQ2IzZ2dabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlDYjNnbk8xeHVhVzF3YjNKMElFTmhjbVFnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5RFlYSmtKenRjYm1sdGNHOXlkQ0JEWVhKa1EyOXVkR1Z1ZENCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwTmhjbVJEYjI1MFpXNTBKenRjYm1sdGNHOXlkQ0FuYUdsbmFHeHBaMmgwTG1wekwzTjBlV3hsY3k5bmFYUm9kV0l0WkdGeWF5NWpjM01uTzF4dWFXMXdiM0owSUNkb2FXZG9iR2xuYUhRdWFuTXZjM1I1YkdWekwyZHBkR2gxWWk1amMzTW5PMXh1YVcxd2IzSjBJRkpsWVdOMElHWnliMjBnSjNKbFlXTjBKenRjYmx4dWFXMXdiM0owSUhzZ2RYTmxRM1Z6ZEc5dFZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOG5PMXh1YVcxd2IzSjBJQ2N1TDJkcGRHaDFZaTF0WVhKclpHOTNiaTVqYzNNbk8xeHVhVzF3YjNKMElIUjVjR1VnZXlCUWNtOXdjeUI5SUdaeWIyMGdKeTR2ZEhsd1pYTW5PMXh1YVcxd2IzSjBJSHNnY0dGeWMyVlNaV0ZrYldVZ2ZTQm1jbTl0SUNjdUwzVjBhV3h6Snp0Y2JseHVZMjl1YzNRZ1VtVmhaRzFsT2lCU1pXRmpkQzVHUXp4UWNtOXdjejRnUFNBb2V5QmtaWE5qY21sd2RHbHZiaUI5S1NBOVBpQjdYRzRnSUM4dklFQjBjeTFwWjI1dmNtVmNiaUFnWTI5dWMzUWdleUJwYzBSaGNtdE5iMlJsSUgwZ1BTQjFjMlZEZFhOMGIyMVVhR1Z0WlNncE8xeHVYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRU5oY21RZ2MzZzllM3NnYldJNklESWdmWDArWEc0Z0lDQWdJQ0E4UTJGeVpFTnZiblJsYm5RK1hHNGdJQ0FnSUNBZ0lEeENiM2dnWkdGMFlTMTBaWE4wYVdROVhDSnlaV0ZrYldWY0lpQnplRDE3ZXlCdE9pQXlJSDE5UGx4dUlDQWdJQ0FnSUNBZ0lEeFhjbUZ3Y0dWeVhHNGdJQ0FnSUNBZ0lDQWdJQ0JqYkdGemMwNWhiV1U5ZTJCdFlYSnJaRzkzYmkxaWIyUjVJQ1I3YVhORVlYSnJUVzlrWlNBL0lDZHRZWEpyWkc5M2JpMWtZWEpySnlBNklDZHRZWEpyWkc5M2JpMXNhV2RvZENkOVlIMWNiaUFnSUNBZ0lDQWdJQ0FnSUdSaGJtZGxjbTkxYzJ4NVUyVjBTVzV1WlhKSVZFMU1QWHQ3SUY5ZmFIUnRiRG9nY0dGeWMyVlNaV0ZrYldVb1pHVnpZM0pwY0hScGIyNHBJR0Z6SUhOMGNtbHVaeUI5ZlZ4dUlDQWdJQ0FnSUNBZ0lDOCtYRzRnSUNBZ0lDQWdJRHd2UW05NFBseHVJQ0FnSUNBZ1BDOURZWEprUTI5dWRHVnVkRDVjYmlBZ0lDQThMME5oY21RK1hHNGdJQ2s3WEc1OU8xeHVaWGh3YjNKMElHUmxabUYxYkhRZ1VtVmhaRzFsTzF4dVhHNWpiMjV6ZENCWGNtRndjR1Z5SUQwZ2MzUjViR1ZrS0Nka2FYWW5LU2g3WEc0Z0lIVnNPaUI3WEc0Z0lDQWdiR2x6ZEZOMGVXeGxPaUFuWkdsell5Y3NYRzRnSUgwc1hHNGdJR2x0WnpvZ2UxeHVJQ0FnSUcxaGVGZHBaSFJvT2lBbk1UQXdKU2NzWEc0Z0lIMHNYRzU5S1R0Y2JpSmRmUT09ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IFJlYWRtZSBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVJlYWRtZS5tanMubWFwIiwiaW1wb3J0IGRheWpzIGZyb20gXCJkYXlqc1wiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL1NpZGVCYXJUaXRsZS91dGlscy50c1xudmFyIFRJTUVGT1JNQVQgPSBcIkwgTFRTXCI7XG5mdW5jdGlvbiBmb3JtYXREYXRlKGxhc3RVcGRhdGUpIHtcblx0cmV0dXJuIGRheWpzKG5ldyBEYXRlKGxhc3RVcGRhdGUpKS5mb3JtYXQoVElNRUZPUk1BVCk7XG59XG5mdW5jdGlvbiBmb3JtYXREYXRlRGlzdGFuY2UobGFzdFVwZGF0ZSkge1xuXHRyZXR1cm4gZGF5anMobmV3IERhdGUobGFzdFVwZGF0ZSkpLmZyb21Ob3coKTtcbn1cbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgZm9ybWF0RGF0ZSwgZm9ybWF0RGF0ZURpc3RhbmNlIH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXV0aWxzLm1qcy5tYXAiLCJpbXBvcnQgeyBUeXBlU2NyaXB0IH0gZnJvbSBcIi4uL0ljb25zL0RldnNJY29ucy9UeXBlU2NyaXB0Mi5tanNcIjtcbmltcG9ydCB7IENvbW1vbkpTIH0gZnJvbSBcIi4uL0ljb25zL0RldnNJY29ucy9Db21tb25KUzIubWpzXCI7XG5pbXBvcnQgeyBFUzZNb2R1bGVzIH0gZnJvbSBcIi4uL0ljb25zL0RldnNJY29ucy9FUzZNb2R1bGUyLm1qc1wiO1xuaW1wb3J0IFwiLi4vSWNvbnMvaW5kZXgubWpzXCI7XG5pbXBvcnQgSGVhZGluZyBmcm9tIFwiLi4vSGVhZGluZy9IZWFkaW5nLm1qc1wiO1xuaW1wb3J0IFwiLi4vSGVhZGluZy9pbmRleC5tanNcIjtcbmltcG9ydCB7IGZvcm1hdERhdGUsIGZvcm1hdERhdGVEaXN0YW5jZSB9IGZyb20gXCIuL3V0aWxzLm1qc1wiO1xuaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG5pbXBvcnQgeyBGcmFnbWVudCwganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IEJveCBmcm9tIFwiQG11aS9tYXRlcmlhbC9Cb3hcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9TaWRlQmFyVGl0bGUvU2lkZUJhclRpdGxlLnRzeFxuZnVuY3Rpb24gX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX18oKSB7XG5cdHJldHVybiBcIllvdSBoYXZlIHRyaWVkIHRvIHN0cmluZ2lmeSBvYmplY3QgcmV0dXJuZWQgZnJvbSBgY3NzYCBmdW5jdGlvbi4gSXQgaXNuJ3Qgc3VwcG9zZWQgdG8gYmUgdXNlZCBkaXJlY3RseSAoZS5nLiBhcyB2YWx1ZSBvZiB0aGUgYGNsYXNzTmFtZWAgcHJvcCksIGJ1dCByYXRoZXIgaGFuZGVkIHRvIGVtb3Rpb24gc28gaXQgY2FuIGhhbmRsZSBpdCAoZS5nLiBhcyB2YWx1ZSBvZiBgY3NzYCBwcm9wKS5cIjtcbn1cbnZhciBJY29uID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJkaXZcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTEzbmM2NnUzXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxM25jNjZ1M1wiLFxuXHRsYWJlbDogXCJJY29uXCJcbn0pKCh7IHRoZW1lIH0pID0+ICh7IG1hcmdpbkxlZnQ6IHRoZW1lLnNwYWNpbmcoMSkgfSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlUYVdSbFFtRnlWR2wwYkdVdlUybGtaVUpoY2xScGRHeGxMblJ6ZUNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGelFtRWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDFOcFpHVkNZWEpVYVhSc1pTOVRhV1JsUW1GeVZHbDBiR1V1ZEhONElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElITjBlV3hsWkNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl6ZEhsc1pXUW5PMXh1YVcxd2IzSjBJRUp2ZUNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwSnZlQ2M3WEc1cGJYQnZjblFnVW1WaFkzUWdabkp2YlNBbmNtVmhZM1FuTzF4dWFXMXdiM0owSUhzZ2RYTmxWSEpoYm5Oc1lYUnBiMjRnZlNCbWNtOXRJQ2R5WldGamRDMXBNVGh1WlhoMEp6dGNibHh1YVcxd2IzSjBJSFI1Y0dVZ2V5QlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMMVJvWlcxbEp6dGNibWx0Y0c5eWRDQklaV0ZrYVc1bklHWnliMjBnSnk0dUwwaGxZV1JwYm1jbk8xeHVhVzF3YjNKMElIc2dRMjl0Ylc5dVNsTXNJRVZUTmsxdlpIVnNaWE1zSUZSNWNHVlRZM0pwY0hRZ2ZTQm1jbTl0SUNjdUxpOUpZMjl1Y3ljN1hHNXBiWEJ2Y25RZ2V5Qm1iM0p0WVhSRVlYUmxMQ0JtYjNKdFlYUkVZWFJsUkdsemRHRnVZMlVnZlNCbWNtOXRJQ2N1TDNWMGFXeHpKenRjYmx4dVpYaHdiM0owSUhSNWNHVWdUVzlrZFd4bFZIbHdaU0E5SUNkamIyMXRiMjVxY3ljZ2ZDQW5iVzlrZFd4bEp6dGNibHh1YVc1MFpYSm1ZV05sSUZCeWIzQnpJSHRjYmlBZ2NHRmphMkZuWlU1aGJXVTZJSE4wY21sdVp6dGNiaUFnWkdWelkzSnBjSFJwYjI0L09pQnpkSEpwYm1jN1hHNGdJSFpsY25OcGIyNDZJSE4wY21sdVp6dGNiaUFnYVhOTVlYUmxjM1E2SUdKdmIyeGxZVzQ3WEc0Z0lHaGhjMVI1Y0dWelB6b2dZbTl2YkdWaGJqdGNiaUFnYlc5a2RXeGxWSGx3WlhNNklFMXZaSFZzWlZSNWNHVmJYVHRjYmlBZ2RHbHRaVG9nYzNSeWFXNW5PMXh1ZlZ4dVhHNWpiMjV6ZENCSlkyOXVJRDBnYzNSNWJHVmtMbVJwZGp4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIc2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdiV0Z5WjJsdVRHVm1kRG9nZEdobGJXVXVjM0JoWTJsdVp5Z3hLU3hjYm4wcEtUdGNibHh1WTI5dWMzUWdUVzlrZFd4bFNsTTZJRkpsWVdOMExrWkRQSHNnYlc5a2RXeGxPaUJOYjJSMWJHVlVlWEJsSUh3Z2RtOXBaQ0I5UGlBOUlDaDdJRzF2WkhWc1pTQjlLU0E5UGlCN1hHNGdJR2xtSUNodGIyUjFiR1VnUFQwOUlDZGpiMjF0YjI1cWN5Y3BJSHRjYmlBZ0lDQnlaWFIxY200Z0tGeHVJQ0FnSUNBZ1BFbGpiMjQrWEc0Z0lDQWdJQ0FnSUR4RGIyMXRiMjVLVXlBdlBseHVJQ0FnSUNBZ1BDOUpZMjl1UGx4dUlDQWdJQ2s3WEc0Z0lIMGdaV3h6WlNCcFppQW9iVzlrZFd4bElEMDlQU0FuYlc5a2RXeGxKeWtnZTF4dUlDQWdJSEpsZEhWeWJpQW9YRzRnSUNBZ0lDQThTV052Ymo1Y2JpQWdJQ0FnSUNBZ1BFVlROazF2WkhWc1pYTWdMejVjYmlBZ0lDQWdJRHd2U1dOdmJqNWNiaUFnSUNBcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNCOVhHNTlPMXh1WEc1amIyNXpkQ0JFWlhSaGFXeFRhV1JsWW1GeVZHbDBiR1U2SUZKbFlXTjBMa1pEUEZCeWIzQnpQaUE5SUNoN1hHNGdJR1JsYzJOeWFYQjBhVzl1TEZ4dUlDQndZV05yWVdkbFRtRnRaU3hjYmlBZ2RtVnljMmx2Yml4Y2JpQWdhWE5NWVhSbGMzUXNYRzRnSUdoaGMxUjVjR1Z6TEZ4dUlDQnRiMlIxYkdWVWVYQmxjeXhjYmlBZ2RHbHRaU3hjYm4wcElEMCtJSHRjYmlBZ1kyOXVjM1FnZXlCMElIMGdQU0IxYzJWVWNtRnVjMnhoZEdsdmJpZ3BPMXh1SUNCeVpYUjFjbTRnS0Z4dUlDQWdJRHhDYjNnZ1kyeGhjM05PWVcxbFBYc25aR1YwWVdsc0xXbHVabThuZlNCa2FYTndiR0Y1UFZ3aVpteGxlRndpSUdac1pYaEVhWEpsWTNScGIyNDlYQ0pqYjJ4MWJXNWNJaUJ0WVhKbmFXNUNiM1IwYjIwOVhDSTRjSGhjSWo1Y2JpQWdJQ0FnSUR4VGRIbHNaV1JJWldGa2FXNW5QbHh1SUNBZ0lDQWdJQ0E4VkdsMGJHVlhjbUZ3Y0dWeVBseHVJQ0FnSUNBZ0lDQWdJRHcrWEc0Z0lDQWdJQ0FnSUNBZ0lDQjdjR0ZqYTJGblpVNWhiV1Y5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjdhR0Z6Vkhsd1pYTWdKaVlnS0Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThWSGx3WlZOamNtbHdkQ0F2UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDBsamIyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBcGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnZTIxdlpIVnNaVlI1Y0dWekxtMWhjQ2dvYlc5a2RXeGxMQ0JwYm1SbGVDa2dQVDRnS0Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4VFc5a2RXeGxTbE1nYTJWNVBYdHBibVJsZUgwZ2JXOWtkV3hsUFh0dGIyUjFiR1Y5SUM4K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FwS1gxY2JpQWdJQ0FnSUNBZ0lDQThMejVjYmlBZ0lDQWdJQ0FnUEM5VWFYUnNaVmR5WVhCd1pYSStYRzRnSUNBZ0lDQThMMU4wZVd4bFpFaGxZV1JwYm1jK1hHNGdJQ0FnSUNCN1pHVnpZM0pwY0hScGIyNGdKaVlnUEdScGRqNTdaR1Z6WTNKcGNIUnBiMjU5UEM5a2FYWStmVnh1SUNBZ0lDQWdQRk4wZVd4bFpFSnZlRlpsY25OcGIyNGdkR2wwYkdVOWUyWnZjbTFoZEVSaGRHVW9kR2x0WlNsOVBseHVJQ0FnSUNBZ0lDQjdhWE5NWVhSbGMzUmNiaUFnSUNBZ0lDQWdJQ0EvSUhRb0ozTnBaR1ZpWVhJdVpHVjBZV2xzTG14aGRHVnpkQzEyWlhKemFXOXVKeXdnZXlCMlpYSnphVzl1SUgwcFhHNGdJQ0FnSUNBZ0lDQWdPaUIwS0NkemFXUmxZbUZ5TG1SbGRHRnBiQzUyWlhKemFXOXVKeXdnZXlCMlpYSnphVzl1SUgwcGZWeHVJQ0FnSUNBZ0lDQjdkR2x0WlZ4dUlDQWdJQ0FnSUNBZ0lEOGdKeUF0SUNjZ0t5QjBLQ2R6YVdSbFltRnlMbVJsZEdGcGJDNXdkV0pzYVhOb1pXUW5LU0FySUNjZ0p5QXJJR1p2Y20xaGRFUmhkR1ZFYVhOMFlXNWpaU2gwYVcxbEtWeHVJQ0FnSUNBZ0lDQWdJRG9nZENnbmRtVnljMmx2Ym5NdWJtOTBMV0YyWVdsc1lXSnNaU2NwZlZ4dUlDQWdJQ0FnUEM5VGRIbHNaV1JDYjNoV1pYSnphVzl1UGx4dUlDQWdJRHd2UW05NFBseHVJQ0FwTzF4dWZUdGNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdSR1YwWVdsc1UybGtaV0poY2xScGRHeGxPMXh1WEc1amIyNXpkQ0JVYVhSc1pWZHlZWEJ3WlhJZ1BTQnpkSGxzWldRdVpHbDJLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYm4wcE8xeHVYRzVqYjI1emRDQlRkSGxzWldSSVpXRmthVzVuSUQwZ2MzUjViR1ZrS0VobFlXUnBibWNwS0h0Y2JpQWdabTl1ZEZOcGVtVTZJQ2N4Y21WdEp5eGNiaUFnWm05dWRGZGxhV2RvZERvZ056QXdMRnh1ZlNrN1hHNWNibU52Ym5OMElGTjBlV3hsWkVKdmVGWmxjbk5wYjI0Z1BTQnpkSGxzWldRb1FtOTRLVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXVkR1Y0ZEM1elpXTnZibVJoY25rc1hHNGdJR1p2Ym5SVGFYcGxPaUIwYUdWdFpTNW1iMjUwVTJsNlpTNXpiU3hjYm4wcEtUdGNiaUpkZlE9PSAqL1wiKTtcbnZhciBNb2R1bGVKUyA9ICh7IG1vZHVsZSB9KSA9PiB7XG5cdGlmIChtb2R1bGUgPT09IFwiY29tbW9uanNcIikgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goSWNvbiwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChDb21tb25KUywge30pIH0pO1xuXHRlbHNlIGlmIChtb2R1bGUgPT09IFwibW9kdWxlXCIpIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KEljb24sIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goRVM2TW9kdWxlcywge30pIH0pO1xuXHRlbHNlIHJldHVybiBudWxsO1xufTtcbnZhciBEZXRhaWxTaWRlYmFyVGl0bGUgPSAoeyBkZXNjcmlwdGlvbiwgcGFja2FnZU5hbWUsIHZlcnNpb24sIGlzTGF0ZXN0LCBoYXNUeXBlcywgbW9kdWxlVHlwZXMsIHRpbWUgfSkgPT4ge1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhCb3gsIHtcblx0XHRjbGFzc05hbWU6IFwiZGV0YWlsLWluZm9cIixcblx0XHRkaXNwbGF5OiBcImZsZXhcIixcblx0XHRmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuXHRcdG1hcmdpbkJvdHRvbTogXCI4cHhcIixcblx0XHRjaGlsZHJlbjogW1xuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChTdHlsZWRIZWFkaW5nLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFRpdGxlV3JhcHBlciwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeHMoRnJhZ21lbnQsIHsgY2hpbGRyZW46IFtcblx0XHRcdFx0cGFja2FnZU5hbWUsXG5cdFx0XHRcdGhhc1R5cGVzICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goSWNvbiwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChUeXBlU2NyaXB0LCB7fSkgfSksXG5cdFx0XHRcdG1vZHVsZVR5cGVzLm1hcCgobW9kdWxlLCBpbmRleCkgPT4gLyogQF9fUFVSRV9fICovIGpzeChNb2R1bGVKUywgeyBtb2R1bGUgfSwgaW5kZXgpKVxuXHRcdFx0XSB9KSB9KSB9KSxcblx0XHRcdGRlc2NyaXB0aW9uICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goXCJkaXZcIiwgeyBjaGlsZHJlbjogZGVzY3JpcHRpb24gfSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4cyhTdHlsZWRCb3hWZXJzaW9uLCB7XG5cdFx0XHRcdHRpdGxlOiBmb3JtYXREYXRlKHRpbWUpLFxuXHRcdFx0XHRjaGlsZHJlbjogW2lzTGF0ZXN0ID8gdChcInNpZGViYXIuZGV0YWlsLmxhdGVzdC12ZXJzaW9uXCIsIHsgdmVyc2lvbiB9KSA6IHQoXCJzaWRlYmFyLmRldGFpbC52ZXJzaW9uXCIsIHsgdmVyc2lvbiB9KSwgdGltZSA/IFwiIC0gXCIgKyB0KFwic2lkZWJhci5kZXRhaWwucHVibGlzaGVkXCIpICsgXCIgXCIgKyBmb3JtYXREYXRlRGlzdGFuY2UodGltZSkgOiB0KFwidmVyc2lvbnMubm90LWF2YWlsYWJsZVwiKV1cblx0XHRcdH0pXG5cdFx0XVxuXHR9KTtcbn07XG52YXIgVGl0bGVXcmFwcGVyID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJkaXZcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTEzbmM2NnUyXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxM25jNjZ1MlwiLFxuXHRsYWJlbDogXCJUaXRsZVdyYXBwZXJcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcInM1eGRyZ1wiLFxuXHRzdHlsZXM6IFwiZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlclwiXG59IDoge1xuXHRuYW1lOiBcInM1eGRyZ1wiLFxuXHRzdHlsZXM6IFwiZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlci8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlUYVdSbFFtRnlWR2wwYkdVdlUybGtaVUpoY2xScGRHeGxMblJ6ZUNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGelJuRkNJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5VGFXUmxRbUZ5VkdsMGJHVXZVMmxrWlVKaGNsUnBkR3hsTG5SemVDSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0JDYjNnZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUNiM2duTzF4dWFXMXdiM0owSUZKbFlXTjBJR1p5YjIwZ0ozSmxZV04wSnp0Y2JtbHRjRzl5ZENCN0lIVnpaVlJ5WVc1emJHRjBhVzl1SUgwZ1puSnZiU0FuY21WaFkzUXRhVEU0Ym1WNGRDYzdYRzVjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaTlVYUdWdFpTYzdYRzVwYlhCdmNuUWdTR1ZoWkdsdVp5Qm1jbTl0SUNjdUxpOUlaV0ZrYVc1bkp6dGNibWx0Y0c5eWRDQjdJRU52YlcxdmJrcFRMQ0JGVXpaTmIyUjFiR1Z6TENCVWVYQmxVMk55YVhCMElIMGdabkp2YlNBbkxpNHZTV052Ym5Nbk8xeHVhVzF3YjNKMElIc2dabTl5YldGMFJHRjBaU3dnWm05eWJXRjBSR0YwWlVScGMzUmhibU5sSUgwZ1puSnZiU0FuTGk5MWRHbHNjeWM3WEc1Y2JtVjRjRzl5ZENCMGVYQmxJRTF2WkhWc1pWUjVjR1VnUFNBblkyOXRiVzl1YW5NbklId2dKMjF2WkhWc1pTYzdYRzVjYm1sdWRHVnlabUZqWlNCUWNtOXdjeUI3WEc0Z0lIQmhZMnRoWjJWT1lXMWxPaUJ6ZEhKcGJtYzdYRzRnSUdSbGMyTnlhWEIwYVc5dVB6b2djM1J5YVc1bk8xeHVJQ0IyWlhKemFXOXVPaUJ6ZEhKcGJtYzdYRzRnSUdselRHRjBaWE4wT2lCaWIyOXNaV0Z1TzF4dUlDQm9ZWE5VZVhCbGN6ODZJR0p2YjJ4bFlXNDdYRzRnSUcxdlpIVnNaVlI1Y0dWek9pQk5iMlIxYkdWVWVYQmxXMTA3WEc0Z0lIUnBiV1U2SUhOMGNtbHVaenRjYm4xY2JseHVZMjl1YzNRZ1NXTnZiaUE5SUhOMGVXeGxaQzVrYVhZOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJRzFoY21kcGJreGxablE2SUhSb1pXMWxMbk53WVdOcGJtY29NU2tzWEc1OUtTazdYRzVjYm1OdmJuTjBJRTF2WkhWc1pVcFRPaUJTWldGamRDNUdReng3SUcxdlpIVnNaVG9nVFc5a2RXeGxWSGx3WlNCOElIWnZhV1FnZlQ0Z1BTQW9leUJ0YjJSMWJHVWdmU2tnUFQ0Z2UxeHVJQ0JwWmlBb2JXOWtkV3hsSUQwOVBTQW5ZMjl0Ylc5dWFuTW5LU0I3WEc0Z0lDQWdjbVYwZFhKdUlDaGNiaUFnSUNBZ0lEeEpZMjl1UGx4dUlDQWdJQ0FnSUNBOFEyOXRiVzl1U2xNZ0x6NWNiaUFnSUNBZ0lEd3ZTV052Ymo1Y2JpQWdJQ0FwTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLRzF2WkhWc1pTQTlQVDBnSjIxdlpIVnNaU2NwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lDQWdQRWxqYjI0K1hHNGdJQ0FnSUNBZ0lEeEZVelpOYjJSMWJHVnpJQzgrWEc0Z0lDQWdJQ0E4TDBsamIyNCtYRzRnSUNBZ0tUdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ2ZWeHVmVHRjYmx4dVkyOXVjM1FnUkdWMFlXbHNVMmxrWldKaGNsUnBkR3hsT2lCU1pXRmpkQzVHUXp4UWNtOXdjejRnUFNBb2UxeHVJQ0JrWlhOamNtbHdkR2x2Yml4Y2JpQWdjR0ZqYTJGblpVNWhiV1VzWEc0Z0lIWmxjbk5wYjI0c1hHNGdJR2x6VEdGMFpYTjBMRnh1SUNCb1lYTlVlWEJsY3l4Y2JpQWdiVzlrZFd4bFZIbHdaWE1zWEc0Z0lIUnBiV1VzWEc1OUtTQTlQaUI3WEc0Z0lHTnZibk4wSUhzZ2RDQjlJRDBnZFhObFZISmhibk5zWVhScGIyNG9LVHRjYmlBZ2NtVjBkWEp1SUNoY2JpQWdJQ0E4UW05NElHTnNZWE56VG1GdFpUMTdKMlJsZEdGcGJDMXBibVp2SjMwZ1pHbHpjR3hoZVQxY0ltWnNaWGhjSWlCbWJHVjRSR2x5WldOMGFXOXVQVndpWTI5c2RXMXVYQ0lnYldGeVoybHVRbTkwZEc5dFBWd2lPSEI0WENJK1hHNGdJQ0FnSUNBOFUzUjViR1ZrU0dWaFpHbHVaejVjYmlBZ0lDQWdJQ0FnUEZScGRHeGxWM0poY0hCbGNqNWNiaUFnSUNBZ0lDQWdJQ0E4UGx4dUlDQWdJQ0FnSUNBZ0lDQWdlM0JoWTJ0aFoyVk9ZVzFsZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdlMmhoYzFSNWNHVnpJQ1ltSUNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVsamIyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQRlI1Y0dWVFkzSnBjSFFnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5SlkyOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0tYMWNiaUFnSUNBZ0lDQWdJQ0FnSUh0dGIyUjFiR1ZVZVhCbGN5NXRZWEFvS0cxdlpIVnNaU3dnYVc1a1pYZ3BJRDArSUNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEUxdlpIVnNaVXBUSUd0bGVUMTdhVzVrWlhoOUlHMXZaSFZzWlQxN2JXOWtkV3hsZlNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnS1NsOVhHNGdJQ0FnSUNBZ0lDQWdQQzgrWEc0Z0lDQWdJQ0FnSUR3dlZHbDBiR1ZYY21Gd2NHVnlQbHh1SUNBZ0lDQWdQQzlUZEhsc1pXUklaV0ZrYVc1blBseHVJQ0FnSUNBZ2UyUmxjMk55YVhCMGFXOXVJQ1ltSUR4a2FYWStlMlJsYzJOeWFYQjBhVzl1ZlR3dlpHbDJQbjFjYmlBZ0lDQWdJRHhUZEhsc1pXUkNiM2hXWlhKemFXOXVJSFJwZEd4bFBYdG1iM0p0WVhSRVlYUmxLSFJwYldVcGZUNWNiaUFnSUNBZ0lDQWdlMmx6VEdGMFpYTjBYRzRnSUNBZ0lDQWdJQ0FnUHlCMEtDZHphV1JsWW1GeUxtUmxkR0ZwYkM1c1lYUmxjM1F0ZG1WeWMybHZiaWNzSUhzZ2RtVnljMmx2YmlCOUtWeHVJQ0FnSUNBZ0lDQWdJRG9nZENnbmMybGtaV0poY2k1a1pYUmhhV3d1ZG1WeWMybHZiaWNzSUhzZ2RtVnljMmx2YmlCOUtYMWNiaUFnSUNBZ0lDQWdlM1JwYldWY2JpQWdJQ0FnSUNBZ0lDQS9JQ2NnTFNBbklDc2dkQ2duYzJsa1pXSmhjaTVrWlhSaGFXd3VjSFZpYkdsemFHVmtKeWtnS3lBbklDY2dLeUJtYjNKdFlYUkVZWFJsUkdsemRHRnVZMlVvZEdsdFpTbGNiaUFnSUNBZ0lDQWdJQ0E2SUhRb0ozWmxjbk5wYjI1ekxtNXZkQzFoZG1GcGJHRmliR1VuS1gxY2JpQWdJQ0FnSUR3dlUzUjViR1ZrUW05NFZtVnljMmx2Ymo1Y2JpQWdJQ0E4TDBKdmVENWNiaUFnS1R0Y2JuMDdYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJRVJsZEdGcGJGTnBaR1ZpWVhKVWFYUnNaVHRjYmx4dVkyOXVjM1FnVkdsMGJHVlhjbUZ3Y0dWeUlEMGdjM1I1YkdWa0xtUnBkaWg3WEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc1OUtUdGNibHh1WTI5dWMzUWdVM1I1YkdWa1NHVmhaR2x1WnlBOUlITjBlV3hsWkNoSVpXRmthVzVuS1NoN1hHNGdJR1p2Ym5SVGFYcGxPaUFuTVhKbGJTY3NYRzRnSUdadmJuUlhaV2xuYUhRNklEY3dNQ3hjYm4wcE8xeHVYRzVqYjI1emRDQlRkSGxzWldSQ2IzaFdaWEp6YVc5dUlEMGdjM1I1YkdWa0tFSnZlQ2s4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMblJsZUhRdWMyVmpiMjVrWVhKNUxGeHVJQ0JtYjI1MFUybDZaVG9nZEdobGJXVXVabTl1ZEZOcGVtVXVjMjBzWEc1OUtTazdYRzRpWFgwPSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIFN0eWxlZEhlYWRpbmcgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChIZWFkaW5nLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMTNuYzY2dTFcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTEzbmM2NnUxXCIsXG5cdGxhYmVsOiBcIlN0eWxlZEhlYWRpbmdcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjF3ZDl4MW1cIixcblx0c3R5bGVzOiBcImZvbnQtc2l6ZToxcmVtO2ZvbnQtd2VpZ2h0OjcwMFwiXG59IDoge1xuXHRuYW1lOiBcIjF3ZDl4MW1cIixcblx0c3R5bGVzOiBcImZvbnQtc2l6ZToxcmVtO2ZvbnQtd2VpZ2h0OjcwMC8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlUYVdSbFFtRnlWR2wwYkdVdlUybGtaVUpoY2xScGRHeGxMblJ6ZUNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVFeVJuTkNJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5VGFXUmxRbUZ5VkdsMGJHVXZVMmxrWlVKaGNsUnBkR3hsTG5SemVDSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0JDYjNnZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUNiM2duTzF4dWFXMXdiM0owSUZKbFlXTjBJR1p5YjIwZ0ozSmxZV04wSnp0Y2JtbHRjRzl5ZENCN0lIVnpaVlJ5WVc1emJHRjBhVzl1SUgwZ1puSnZiU0FuY21WaFkzUXRhVEU0Ym1WNGRDYzdYRzVjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaTlVYUdWdFpTYzdYRzVwYlhCdmNuUWdTR1ZoWkdsdVp5Qm1jbTl0SUNjdUxpOUlaV0ZrYVc1bkp6dGNibWx0Y0c5eWRDQjdJRU52YlcxdmJrcFRMQ0JGVXpaTmIyUjFiR1Z6TENCVWVYQmxVMk55YVhCMElIMGdabkp2YlNBbkxpNHZTV052Ym5Nbk8xeHVhVzF3YjNKMElIc2dabTl5YldGMFJHRjBaU3dnWm05eWJXRjBSR0YwWlVScGMzUmhibU5sSUgwZ1puSnZiU0FuTGk5MWRHbHNjeWM3WEc1Y2JtVjRjRzl5ZENCMGVYQmxJRTF2WkhWc1pWUjVjR1VnUFNBblkyOXRiVzl1YW5NbklId2dKMjF2WkhWc1pTYzdYRzVjYm1sdWRHVnlabUZqWlNCUWNtOXdjeUI3WEc0Z0lIQmhZMnRoWjJWT1lXMWxPaUJ6ZEhKcGJtYzdYRzRnSUdSbGMyTnlhWEIwYVc5dVB6b2djM1J5YVc1bk8xeHVJQ0IyWlhKemFXOXVPaUJ6ZEhKcGJtYzdYRzRnSUdselRHRjBaWE4wT2lCaWIyOXNaV0Z1TzF4dUlDQm9ZWE5VZVhCbGN6ODZJR0p2YjJ4bFlXNDdYRzRnSUcxdlpIVnNaVlI1Y0dWek9pQk5iMlIxYkdWVWVYQmxXMTA3WEc0Z0lIUnBiV1U2SUhOMGNtbHVaenRjYm4xY2JseHVZMjl1YzNRZ1NXTnZiaUE5SUhOMGVXeGxaQzVrYVhZOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJRzFoY21kcGJreGxablE2SUhSb1pXMWxMbk53WVdOcGJtY29NU2tzWEc1OUtTazdYRzVjYm1OdmJuTjBJRTF2WkhWc1pVcFRPaUJTWldGamRDNUdReng3SUcxdlpIVnNaVG9nVFc5a2RXeGxWSGx3WlNCOElIWnZhV1FnZlQ0Z1BTQW9leUJ0YjJSMWJHVWdmU2tnUFQ0Z2UxeHVJQ0JwWmlBb2JXOWtkV3hsSUQwOVBTQW5ZMjl0Ylc5dWFuTW5LU0I3WEc0Z0lDQWdjbVYwZFhKdUlDaGNiaUFnSUNBZ0lEeEpZMjl1UGx4dUlDQWdJQ0FnSUNBOFEyOXRiVzl1U2xNZ0x6NWNiaUFnSUNBZ0lEd3ZTV052Ymo1Y2JpQWdJQ0FwTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLRzF2WkhWc1pTQTlQVDBnSjIxdlpIVnNaU2NwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lDQWdQRWxqYjI0K1hHNGdJQ0FnSUNBZ0lEeEZVelpOYjJSMWJHVnpJQzgrWEc0Z0lDQWdJQ0E4TDBsamIyNCtYRzRnSUNBZ0tUdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ2ZWeHVmVHRjYmx4dVkyOXVjM1FnUkdWMFlXbHNVMmxrWldKaGNsUnBkR3hsT2lCU1pXRmpkQzVHUXp4UWNtOXdjejRnUFNBb2UxeHVJQ0JrWlhOamNtbHdkR2x2Yml4Y2JpQWdjR0ZqYTJGblpVNWhiV1VzWEc0Z0lIWmxjbk5wYjI0c1hHNGdJR2x6VEdGMFpYTjBMRnh1SUNCb1lYTlVlWEJsY3l4Y2JpQWdiVzlrZFd4bFZIbHdaWE1zWEc0Z0lIUnBiV1VzWEc1OUtTQTlQaUI3WEc0Z0lHTnZibk4wSUhzZ2RDQjlJRDBnZFhObFZISmhibk5zWVhScGIyNG9LVHRjYmlBZ2NtVjBkWEp1SUNoY2JpQWdJQ0E4UW05NElHTnNZWE56VG1GdFpUMTdKMlJsZEdGcGJDMXBibVp2SjMwZ1pHbHpjR3hoZVQxY0ltWnNaWGhjSWlCbWJHVjRSR2x5WldOMGFXOXVQVndpWTI5c2RXMXVYQ0lnYldGeVoybHVRbTkwZEc5dFBWd2lPSEI0WENJK1hHNGdJQ0FnSUNBOFUzUjViR1ZrU0dWaFpHbHVaejVjYmlBZ0lDQWdJQ0FnUEZScGRHeGxWM0poY0hCbGNqNWNiaUFnSUNBZ0lDQWdJQ0E4UGx4dUlDQWdJQ0FnSUNBZ0lDQWdlM0JoWTJ0aFoyVk9ZVzFsZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdlMmhoYzFSNWNHVnpJQ1ltSUNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVsamIyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQRlI1Y0dWVFkzSnBjSFFnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5SlkyOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0tYMWNiaUFnSUNBZ0lDQWdJQ0FnSUh0dGIyUjFiR1ZVZVhCbGN5NXRZWEFvS0cxdlpIVnNaU3dnYVc1a1pYZ3BJRDArSUNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEUxdlpIVnNaVXBUSUd0bGVUMTdhVzVrWlhoOUlHMXZaSFZzWlQxN2JXOWtkV3hsZlNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnS1NsOVhHNGdJQ0FnSUNBZ0lDQWdQQzgrWEc0Z0lDQWdJQ0FnSUR3dlZHbDBiR1ZYY21Gd2NHVnlQbHh1SUNBZ0lDQWdQQzlUZEhsc1pXUklaV0ZrYVc1blBseHVJQ0FnSUNBZ2UyUmxjMk55YVhCMGFXOXVJQ1ltSUR4a2FYWStlMlJsYzJOeWFYQjBhVzl1ZlR3dlpHbDJQbjFjYmlBZ0lDQWdJRHhUZEhsc1pXUkNiM2hXWlhKemFXOXVJSFJwZEd4bFBYdG1iM0p0WVhSRVlYUmxLSFJwYldVcGZUNWNiaUFnSUNBZ0lDQWdlMmx6VEdGMFpYTjBYRzRnSUNBZ0lDQWdJQ0FnUHlCMEtDZHphV1JsWW1GeUxtUmxkR0ZwYkM1c1lYUmxjM1F0ZG1WeWMybHZiaWNzSUhzZ2RtVnljMmx2YmlCOUtWeHVJQ0FnSUNBZ0lDQWdJRG9nZENnbmMybGtaV0poY2k1a1pYUmhhV3d1ZG1WeWMybHZiaWNzSUhzZ2RtVnljMmx2YmlCOUtYMWNiaUFnSUNBZ0lDQWdlM1JwYldWY2JpQWdJQ0FnSUNBZ0lDQS9JQ2NnTFNBbklDc2dkQ2duYzJsa1pXSmhjaTVrWlhSaGFXd3VjSFZpYkdsemFHVmtKeWtnS3lBbklDY2dLeUJtYjNKdFlYUkVZWFJsUkdsemRHRnVZMlVvZEdsdFpTbGNiaUFnSUNBZ0lDQWdJQ0E2SUhRb0ozWmxjbk5wYjI1ekxtNXZkQzFoZG1GcGJHRmliR1VuS1gxY2JpQWdJQ0FnSUR3dlUzUjViR1ZrUW05NFZtVnljMmx2Ymo1Y2JpQWdJQ0E4TDBKdmVENWNiaUFnS1R0Y2JuMDdYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJRVJsZEdGcGJGTnBaR1ZpWVhKVWFYUnNaVHRjYmx4dVkyOXVjM1FnVkdsMGJHVlhjbUZ3Y0dWeUlEMGdjM1I1YkdWa0xtUnBkaWg3WEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc1OUtUdGNibHh1WTI5dWMzUWdVM1I1YkdWa1NHVmhaR2x1WnlBOUlITjBlV3hsWkNoSVpXRmthVzVuS1NoN1hHNGdJR1p2Ym5SVGFYcGxPaUFuTVhKbGJTY3NYRzRnSUdadmJuUlhaV2xuYUhRNklEY3dNQ3hjYm4wcE8xeHVYRzVqYjI1emRDQlRkSGxzWldSQ2IzaFdaWEp6YVc5dUlEMGdjM1I1YkdWa0tFSnZlQ2s4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMblJsZUhRdWMyVmpiMjVrWVhKNUxGeHVJQ0JtYjI1MFUybDZaVG9nZEdobGJXVXVabTl1ZEZOcGVtVXVjMjBzWEc1OUtTazdYRzRpWFgwPSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIFN0eWxlZEJveFZlcnNpb24gPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChCb3gsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxM25jNjZ1MFwiIH0gOiB7XG5cdHRhcmdldDogXCJlMTNuYzY2dTBcIixcblx0bGFiZWw6IFwiU3R5bGVkQm94VmVyc2lvblwiXG59KSgoeyB0aGVtZSB9KSA9PiAoe1xuXHRjb2xvcjogdGhlbWUucGFsZXR0ZS50ZXh0LnNlY29uZGFyeSxcblx0Zm9udFNpemU6IHRoZW1lLmZvbnRTaXplLnNtXG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVRhV1JsUW1GeVZHbDBiR1V2VTJsa1pVSmhjbFJwZEd4bExuUnplQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZuUjNsQ0lpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlUYVdSbFFtRnlWR2wwYkdVdlUybGtaVUpoY2xScGRHeGxMblJ6ZUNJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQkNiM2dnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5Q2IzZ25PMXh1YVcxd2IzSjBJRkpsWVdOMElHWnliMjBnSjNKbFlXTjBKenRjYm1sdGNHOXlkQ0I3SUhWelpWUnlZVzV6YkdGMGFXOXVJSDBnWm5KdmJTQW5jbVZoWTNRdGFURTRibVY0ZENjN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOVVhR1Z0WlNjN1hHNXBiWEJ2Y25RZ1NHVmhaR2x1WnlCbWNtOXRJQ2N1TGk5SVpXRmthVzVuSnp0Y2JtbHRjRzl5ZENCN0lFTnZiVzF2YmtwVExDQkZVelpOYjJSMWJHVnpMQ0JVZVhCbFUyTnlhWEIwSUgwZ1puSnZiU0FuTGk0dlNXTnZibk1uTzF4dWFXMXdiM0owSUhzZ1ptOXliV0YwUkdGMFpTd2dabTl5YldGMFJHRjBaVVJwYzNSaGJtTmxJSDBnWm5KdmJTQW5MaTkxZEdsc2N5YzdYRzVjYm1WNGNHOXlkQ0IwZVhCbElFMXZaSFZzWlZSNWNHVWdQU0FuWTI5dGJXOXVhbk1uSUh3Z0oyMXZaSFZzWlNjN1hHNWNibWx1ZEdWeVptRmpaU0JRY205d2N5QjdYRzRnSUhCaFkydGhaMlZPWVcxbE9pQnpkSEpwYm1jN1hHNGdJR1JsYzJOeWFYQjBhVzl1UHpvZ2MzUnlhVzVuTzF4dUlDQjJaWEp6YVc5dU9pQnpkSEpwYm1jN1hHNGdJR2x6VEdGMFpYTjBPaUJpYjI5c1pXRnVPMXh1SUNCb1lYTlVlWEJsY3o4NklHSnZiMnhsWVc0N1hHNGdJRzF2WkhWc1pWUjVjR1Z6T2lCTmIyUjFiR1ZVZVhCbFcxMDdYRzRnSUhScGJXVTZJSE4wY21sdVp6dGNibjFjYmx4dVkyOXVjM1FnU1dOdmJpQTlJSE4wZVd4bFpDNWthWFk4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHMWhjbWRwYmt4bFpuUTZJSFJvWlcxbExuTndZV05wYm1jb01Ta3NYRzU5S1NrN1hHNWNibU52Ym5OMElFMXZaSFZzWlVwVE9pQlNaV0ZqZEM1R1F6eDdJRzF2WkhWc1pUb2dUVzlrZFd4bFZIbHdaU0I4SUhadmFXUWdmVDRnUFNBb2V5QnRiMlIxYkdVZ2ZTa2dQVDRnZTF4dUlDQnBaaUFvYlc5a2RXeGxJRDA5UFNBblkyOXRiVzl1YW5NbktTQjdYRzRnSUNBZ2NtVjBkWEp1SUNoY2JpQWdJQ0FnSUR4SlkyOXVQbHh1SUNBZ0lDQWdJQ0E4UTI5dGJXOXVTbE1nTHo1Y2JpQWdJQ0FnSUR3dlNXTnZiajVjYmlBZ0lDQXBPMXh1SUNCOUlHVnNjMlVnYVdZZ0tHMXZaSFZzWlNBOVBUMGdKMjF2WkhWc1pTY3BJSHRjYmlBZ0lDQnlaWFIxY200Z0tGeHVJQ0FnSUNBZ1BFbGpiMjQrWEc0Z0lDQWdJQ0FnSUR4RlV6Wk5iMlIxYkdWeklDOCtYRzRnSUNBZ0lDQThMMGxqYjI0K1hHNGdJQ0FnS1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnZlZ4dWZUdGNibHh1WTI5dWMzUWdSR1YwWVdsc1UybGtaV0poY2xScGRHeGxPaUJTWldGamRDNUdRenhRY205d2N6NGdQU0FvZTF4dUlDQmtaWE5qY21sd2RHbHZiaXhjYmlBZ2NHRmphMkZuWlU1aGJXVXNYRzRnSUhabGNuTnBiMjRzWEc0Z0lHbHpUR0YwWlhOMExGeHVJQ0JvWVhOVWVYQmxjeXhjYmlBZ2JXOWtkV3hsVkhsd1pYTXNYRzRnSUhScGJXVXNYRzU5S1NBOVBpQjdYRzRnSUdOdmJuTjBJSHNnZENCOUlEMGdkWE5sVkhKaGJuTnNZWFJwYjI0b0tUdGNiaUFnY21WMGRYSnVJQ2hjYmlBZ0lDQThRbTk0SUdOc1lYTnpUbUZ0WlQxN0oyUmxkR0ZwYkMxcGJtWnZKMzBnWkdsemNHeGhlVDFjSW1ac1pYaGNJaUJtYkdWNFJHbHlaV04wYVc5dVBWd2lZMjlzZFcxdVhDSWdiV0Z5WjJsdVFtOTBkRzl0UFZ3aU9IQjRYQ0krWEc0Z0lDQWdJQ0E4VTNSNWJHVmtTR1ZoWkdsdVp6NWNiaUFnSUNBZ0lDQWdQRlJwZEd4bFYzSmhjSEJsY2o1Y2JpQWdJQ0FnSUNBZ0lDQThQbHh1SUNBZ0lDQWdJQ0FnSUNBZ2UzQmhZMnRoWjJWT1lXMWxmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2UyaGhjMVI1Y0dWeklDWW1JQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRWxqYjI0K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BGUjVjR1ZUWTNKcGNIUWdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnS1gxY2JpQWdJQ0FnSUNBZ0lDQWdJSHR0YjJSMWJHVlVlWEJsY3k1dFlYQW9LRzF2WkhWc1pTd2dhVzVrWlhncElEMCtJQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRTF2WkhWc1pVcFRJR3RsZVQxN2FXNWtaWGg5SUcxdlpIVnNaVDE3Ylc5a2RXeGxmU0F2UGx4dUlDQWdJQ0FnSUNBZ0lDQWdLU2w5WEc0Z0lDQWdJQ0FnSUNBZ1BDOCtYRzRnSUNBZ0lDQWdJRHd2VkdsMGJHVlhjbUZ3Y0dWeVBseHVJQ0FnSUNBZ1BDOVRkSGxzWldSSVpXRmthVzVuUGx4dUlDQWdJQ0FnZTJSbGMyTnlhWEIwYVc5dUlDWW1JRHhrYVhZK2UyUmxjMk55YVhCMGFXOXVmVHd2WkdsMlBuMWNiaUFnSUNBZ0lEeFRkSGxzWldSQ2IzaFdaWEp6YVc5dUlIUnBkR3hsUFh0bWIzSnRZWFJFWVhSbEtIUnBiV1VwZlQ1Y2JpQWdJQ0FnSUNBZ2UybHpUR0YwWlhOMFhHNGdJQ0FnSUNBZ0lDQWdQeUIwS0NkemFXUmxZbUZ5TG1SbGRHRnBiQzVzWVhSbGMzUXRkbVZ5YzJsdmJpY3NJSHNnZG1WeWMybHZiaUI5S1Z4dUlDQWdJQ0FnSUNBZ0lEb2dkQ2duYzJsa1pXSmhjaTVrWlhSaGFXd3VkbVZ5YzJsdmJpY3NJSHNnZG1WeWMybHZiaUI5S1gxY2JpQWdJQ0FnSUNBZ2UzUnBiV1ZjYmlBZ0lDQWdJQ0FnSUNBL0lDY2dMU0FuSUNzZ2RDZ25jMmxrWldKaGNpNWtaWFJoYVd3dWNIVmliR2x6YUdWa0p5a2dLeUFuSUNjZ0t5Qm1iM0p0WVhSRVlYUmxSR2x6ZEdGdVkyVW9kR2x0WlNsY2JpQWdJQ0FnSUNBZ0lDQTZJSFFvSjNabGNuTnBiMjV6TG01dmRDMWhkbUZwYkdGaWJHVW5LWDFjYmlBZ0lDQWdJRHd2VTNSNWJHVmtRbTk0Vm1WeWMybHZiajVjYmlBZ0lDQThMMEp2ZUQ1Y2JpQWdLVHRjYm4wN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElFUmxkR0ZwYkZOcFpHVmlZWEpVYVhSc1pUdGNibHh1WTI5dWMzUWdWR2wwYkdWWGNtRndjR1Z5SUQwZ2MzUjViR1ZrTG1ScGRpaDdYRzRnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ1lXeHBaMjVKZEdWdGN6b2dKMk5sYm5SbGNpY3NYRzU5S1R0Y2JseHVZMjl1YzNRZ1UzUjViR1ZrU0dWaFpHbHVaeUE5SUhOMGVXeGxaQ2hJWldGa2FXNW5LU2g3WEc0Z0lHWnZiblJUYVhwbE9pQW5NWEpsYlNjc1hHNGdJR1p2Ym5SWFpXbG5hSFE2SURjd01DeGNibjBwTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JDYjNoV1pYSnphVzl1SUQwZ2MzUjViR1ZrS0VKdmVDazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdOdmJHOXlPaUIwYUdWdFpTNXdZV3hsZEhSbExuUmxlSFF1YzJWamIyNWtZWEo1TEZ4dUlDQm1iMjUwVTJsNlpUb2dkR2hsYldVdVptOXVkRk5wZW1VdWMyMHNYRzU5S1NrN1hHNGlYWDA9ICovXCIpO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBEZXRhaWxTaWRlYmFyVGl0bGUgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1TaWRlQmFyVGl0bGUubWpzLm1hcCIsImltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0xhYmVsL0xhYmVsLnRzeFxudmFyIFdyYXBwZXIgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcImRpdlwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlcmFiZzlkMFwiIH0gOiB7XG5cdHRhcmdldDogXCJlcmFiZzlkMFwiLFxuXHRsYWJlbDogXCJXcmFwcGVyXCJcbn0pKChwcm9wcykgPT4gKHtcblx0Zm9udFdlaWdodDogcHJvcHMudGhlbWUuZm9udFdlaWdodFtwcm9wcy53ZWlnaHRdLFxuXHR0ZXh0VHJhbnNmb3JtOiBwcm9wcy5jYXBpdGFsaXplID8gXCJjYXBpdGFsaXplXCIgOiBcIm5vbmVcIlxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlNWVdKbGJDOU1ZV0psYkM1MGMzZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJaMEpuUWlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwyTnZiWEJ2Ym1WdWRITXZUR0ZpWld3dlRHRmlaV3d1ZEhONElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElITjBlV3hsWkNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl6ZEhsc1pXUW5PMXh1YVcxd2IzSjBJRkpsWVdOMElHWnliMjBnSjNKbFlXTjBKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJHYjI1MFYyVnBaMmgwTENCVWFHVnRaU0I5SUdaeWIyMGdKeTR1THk0dUx5YzdYRzVjYm1sdWRHVnlabUZqWlNCUWNtOXdjeUI3WEc0Z0lIUmxlSFE2SUhOMGNtbHVaenRjYmlBZ1kyRndhWFJoYkdsNlpUODZJR0p2YjJ4bFlXNDdYRzRnSUhkbGFXZG9kRDg2SUVadmJuUlhaV2xuYUhRN1hHNTlYRzVjYm1sdWRHVnlabUZqWlNCWGNtRndjR1Z5VUhKdmNITWdlMXh1SUNCallYQnBkR0ZzYVhwbE9pQmliMjlzWldGdU8xeHVJQ0IzWldsbmFIUTZJRVp2Ym5SWFpXbG5hSFE3WEc1OVhHNWNibU52Ym5OMElGZHlZWEJ3WlhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwUEZkeVlYQndaWEpRY205d2N5QW1JSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvY0hKdmNITXBJRDArSUNoN1hHNGdJR1p2Ym5SWFpXbG5hSFE2SUhCeWIzQnpMblJvWlcxbExtWnZiblJYWldsbmFIUmJjSEp2Y0hNdWQyVnBaMmgwWFN4Y2JpQWdkR1Y0ZEZSeVlXNXpabTl5YlRvZ2NISnZjSE11WTJGd2FYUmhiR2w2WlNBL0lDZGpZWEJwZEdGc2FYcGxKeUE2SUNkdWIyNWxKeXhjYm4wcEtUdGNibHh1WTI5dWMzUWdUR0ZpWld3NklGSmxZV04wTGtaRFBGQnliM0J6UGlBOUlDaDdYRzRnSUhSbGVIUWdQU0FuSnl4Y2JpQWdZMkZ3YVhSaGJHbDZaU0E5SUdaaGJITmxMRnh1SUNCM1pXbG5hSFFnUFNBbmNtVm5kV3hoY2ljc1hHNGdJQzR1TG5CeWIzQnpYRzU5S1NBOVBpQjdYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRmR5WVhCd1pYSWdZMkZ3YVhSaGJHbDZaVDE3WTJGd2FYUmhiR2w2WlgwZ2QyVnBaMmgwUFh0M1pXbG5hSFI5SUhzdUxpNXdjbTl3YzMwK1hHNGdJQ0FnSUNCN2RHVjRkSDFjYmlBZ0lDQThMMWR5WVhCd1pYSStYRzRnSUNrN1hHNTlPMXh1WEc1bGVIQnZjblFnWkdWbVlYVnNkQ0JNWVdKbGJEdGNiaUpkZlE9PSAqL1wiKTtcbnZhciBMYWJlbCA9ICh7IHRleHQgPSBcIlwiLCBjYXBpdGFsaXplID0gZmFsc2UsIHdlaWdodCA9IFwicmVndWxhclwiLCAuLi5wcm9wcyB9KSA9PiB7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFdyYXBwZXIsIHtcblx0XHRjYXBpdGFsaXplLFxuXHRcdHdlaWdodCxcblx0XHQuLi5wcm9wcyxcblx0XHRjaGlsZHJlbjogdGV4dFxuXHR9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IExhYmVsIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9TGFiZWwubWpzLm1hcCIsIi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9Mb2dvL2ltZy9sb2dvLWJsYWNrLWFuZC13aGl0ZS5zdmdcbnZhciBsb2dvX2JsYWNrX2FuZF93aGl0ZV9kZWZhdWx0ID0gXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNVEF3SWlCb1pXbG5hSFE5SWpFd01DSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklpQjRiV3h1Y3pwNGJHbHVhejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOTRiR2x1YXlJK1BHUmxabk0rUEdacGJIUmxjaUI0UFNJdE1Ua3VPQ1VpSUhrOUlpMHhNUzQzSlNJZ2QybGtkR2c5SWpFek9TNDJKU0lnYUdWcFoyaDBQU0l4TkRBdU5DVWlJR1pwYkhSbGNsVnVhWFJ6UFNKdlltcGxZM1JDYjNWdVpHbHVaMEp2ZUNJZ2FXUTlJbUVpUGp4bVpVOW1abk5sZENCa2VUMGlOQ0lnYVc0OUlsTnZkWEpqWlVGc2NHaGhJaUJ5WlhOMWJIUTlJbk5vWVdSdmQwOW1abk5sZEU5MWRHVnlNU0l2UGp4bVpVZGhkWE56YVdGdVFteDFjaUJ6ZEdSRVpYWnBZWFJwYjI0OUlqSXVOU0lnYVc0OUluTm9ZV1J2ZDA5bVpuTmxkRTkxZEdWeU1TSWdjbVZ6ZFd4MFBTSnphR0ZrYjNkQ2JIVnlUM1YwWlhJeElpOCtQR1psUTI5dGNHOXphWFJsSUdsdVBTSnphR0ZrYjNkQ2JIVnlUM1YwWlhJeElpQnBiakk5SWxOdmRYSmpaVUZzY0doaElpQnZjR1Z5WVhSdmNqMGliM1YwSWlCeVpYTjFiSFE5SW5Ob1lXUnZkMEpzZFhKUGRYUmxjakVpTHo0OFptVkRiMnh2Y2sxaGRISnBlQ0IyWVd4MVpYTTlJakFnTUNBd0lEQWdNQ0F3SURBZ01DQXdJREFnTUNBd0lEQWdNQ0F3SURBZ01DQXdJREF1TURrd05qWTBOakk0TmlBd0lpQnBiajBpYzJoaFpHOTNRbXgxY2s5MWRHVnlNU0l2UGp3dlptbHNkR1Z5UGp4bWFXeDBaWElnZUQwaUxUTXpMamtsSWlCNVBTSXROVEFsSWlCM2FXUjBhRDBpTVRZM0xqa2xJaUJvWldsbmFIUTlJakkzTWk0M0pTSWdabWxzZEdWeVZXNXBkSE05SW05aWFtVmpkRUp2ZFc1a2FXNW5RbTk0SWlCcFpEMGlZeUkrUEdabFQyWm1jMlYwSUdSNVBTSTBJaUJwYmowaVUyOTFjbU5sUVd4d2FHRWlJSEpsYzNWc2REMGljMmhoWkc5M1QyWm1jMlYwVDNWMFpYSXhJaTgrUEdabFIyRjFjM05wWVc1Q2JIVnlJSE4wWkVSbGRtbGhkR2x2YmowaU1pNDFJaUJwYmowaWMyaGhaRzkzVDJabWMyVjBUM1YwWlhJeElpQnlaWE4xYkhROUluTm9ZV1J2ZDBKc2RYSlBkWFJsY2pFaUx6NDhabVZEYjJ4dmNrMWhkSEpwZUNCMllXeDFaWE05SWpBZ01DQXdJREFnTUNBd0lEQWdNQ0F3SURBZ01DQXdJREFnTUNBd0lEQWdNQ0F3SURBdU1Ea3dOalkwTmpJNE5pQXdJaUJwYmowaWMyaGhaRzkzUW14MWNrOTFkR1Z5TVNJdlBqd3ZabWxzZEdWeVBqeHdZWFJvSUdsa1BTSmlJaUJrUFNKTk5EZ2dNVFl1TnpJNVRETXlMalkzTWlBME4yZ3RPQzQ0TnpSTU1DQXdhREUxTGpNeU9Hd3hNaTQ1TURjZ01qVXVORGt5SURRdU5ETTNMVGd1TnpZelNEUTRlaUl2UGp4d1lYUm9JR1E5SWswek5TNHlJREV4U0RJNFZqZ3VOalF6YURndU5Hd3hMakl0TWk0ek5UZElNekpXTXk0NU1qbG9OaTQ0YkM0NExURXVOVGN5U0RNMlZqQm9NakJzTFRVdU5pQXhNVWd6TlM0eWVpSWdhV1E5SW1RaUx6NDhMMlJsWm5NK1BHY2dabWxzYkQwaWJtOXVaU0lnWm1sc2JDMXlkV3hsUFNKbGRtVnViMlJrSWo0OGNtVmpkQ0JtYVd4c1BTSWpNREF3SWlCM2FXUjBhRDBpTVRBd0lpQm9aV2xuYUhROUlqRXdNQ0lnY25nOUlqTTNJaTgrUEdjZ2RISmhibk5tYjNKdFBTSjBjbUZ1YzJ4aGRHVW9NaklnTXpBcElqNDhkWE5sSUdacGJHdzlJaU13TURBaUlHWnBiSFJsY2owaWRYSnNLQ05oS1NJZ2VHeHBibXM2YUhKbFpqMGlJMklpTHo0OGRYTmxJR1pwYkd3dGIzQmhZMmwwZVQwaUxqWWlJR1pwYkd3OUlpTkdSa1lpSUhoc2FXNXJPbWh5WldZOUlpTmlJaTgrUEM5blBqeG5JSFJ5WVc1elptOXliVDBpZEhKaGJuTnNZWFJsS0RJeUlETXdLU0krUEhWelpTQm1hV3hzUFNJak1EQXdJaUJtYVd4MFpYSTlJblZ5YkNnall5a2lJSGhzYVc1ck9taHlaV1k5SWlOa0lpOCtQSFZ6WlNCbWFXeHNQU0lqUmtaR0lpQjRiR2x1YXpwb2NtVm1QU0lqWkNJdlBqd3ZaejQ4Y0dGMGFDQm1hV3hzUFNJalJrWkdJaUJrUFNKTk5UUXVOemcxSURjM1NEUTFMamc0VERJeUlETXdhREUxTGpNNFREVTRJRGN3TGpjeE9Ib2lMejQ4TDJjK1BDOXpkbWMrXCI7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IGxvZ29fYmxhY2tfYW5kX3doaXRlX2RlZmF1bHQgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1sb2dvLWJsYWNrLWFuZC13aGl0ZS5tanMubWFwIiwiLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0xvZ28vaW1nL2xvZ28uc3ZnXG52YXIgbG9nb19kZWZhdWx0ID0gXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNVEF3SWlCb1pXbG5hSFE5SWpFd01DSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklpQjRiV3h1Y3pwNGJHbHVhejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOTRiR2x1YXlJZ2FXUTlJblpsY21SaFkyTnBieUkrUEZScGRHeGxQbFpsY21SaFkyTnBiend2VkdsMGJHVStQR1JsWm5NK1BIQmhkR2dnYVdROUltSWlJR1E5SWswME9DQXhOeTQyVERNeUxqZ2dORGhJTWpSTUxqUXVPR2d4TlM0eWJERXlMamdnTWpVdU5pQTBMalF0T0M0NFNEUTRlaUl2UGp4bWFXeDBaWElnZUQwaUxUSXdKU0lnZVQwaUxURXhMamNsSWlCM2FXUjBhRDBpTVRNNUxqa2xJaUJvWldsbmFIUTlJakUwTUM0ekpTSWdabWxzZEdWeVZXNXBkSE05SW05aWFtVmpkRUp2ZFc1a2FXNW5RbTk0SWlCcFpEMGlZU0krUEdabFQyWm1jMlYwSUdSNVBTSTBJaUJwYmowaVUyOTFjbU5sUVd4d2FHRWlJSEpsYzNWc2REMGljMmhoWkc5M1QyWm1jMlYwVDNWMFpYSXhJaTgrUEdabFIyRjFjM05wWVc1Q2JIVnlJSE4wWkVSbGRtbGhkR2x2YmowaU1pNDFJaUJwYmowaWMyaGhaRzkzVDJabWMyVjBUM1YwWlhJeElpQnlaWE4xYkhROUluTm9ZV1J2ZDBKc2RYSlBkWFJsY2pFaUx6NDhabVZEYjIxd2IzTnBkR1VnYVc0OUluTm9ZV1J2ZDBKc2RYSlBkWFJsY2pFaUlHbHVNajBpVTI5MWNtTmxRV3h3YUdFaUlHOXdaWEpoZEc5eVBTSnZkWFFpSUhKbGMzVnNkRDBpYzJoaFpHOTNRbXgxY2s5MWRHVnlNU0l2UGp4bVpVTnZiRzl5VFdGMGNtbDRJSFpoYkhWbGN6MGlNQ0F3SURBZ01DQXdJREFnTUNBd0lEQWdNQ0F3SURBZ01DQXdJREFnTUNBd0lEQWdNQzR3T1RBMk5qUTJNamcySURBaUlHbHVQU0p6YUdGa2IzZENiSFZ5VDNWMFpYSXhJaTgrUEM5bWFXeDBaWEkrUEhCaGRHZ2dhV1E5SW1RaUlHUTlJazAxTUM0NElERXlTRE0xTGpaTU5ERXVNaTQ0YURFMUxqSk1OVEF1T0NBeE1ub2lMejQ4Wm1sc2RHVnlJSGc5SWkwME5TNDNKU0lnZVQwaUxUUTVMakVsSWlCM2FXUjBhRDBpTVRreExqTWxJaUJvWldsbmFIUTlJakkyT1M0MkpTSWdabWxzZEdWeVZXNXBkSE05SW05aWFtVmpkRUp2ZFc1a2FXNW5RbTk0SWlCcFpEMGlZeUkrUEdabFQyWm1jMlYwSUdSNVBTSTBJaUJwYmowaVUyOTFjbU5sUVd4d2FHRWlJSEpsYzNWc2REMGljMmhoWkc5M1QyWm1jMlYwVDNWMFpYSXhJaTgrUEdabFIyRjFjM05wWVc1Q2JIVnlJSE4wWkVSbGRtbGhkR2x2YmowaU1pNDFJaUJwYmowaWMyaGhaRzkzVDJabWMyVjBUM1YwWlhJeElpQnlaWE4xYkhROUluTm9ZV1J2ZDBKc2RYSlBkWFJsY2pFaUx6NDhabVZEYjIxd2IzTnBkR1VnYVc0OUluTm9ZV1J2ZDBKc2RYSlBkWFJsY2pFaUlHbHVNajBpVTI5MWNtTmxRV3h3YUdFaUlHOXdaWEpoZEc5eVBTSnZkWFFpSUhKbGMzVnNkRDBpYzJoaFpHOTNRbXgxY2s5MWRHVnlNU0l2UGp4bVpVTnZiRzl5VFdGMGNtbDRJSFpoYkhWbGN6MGlNQ0F3SURBZ01DQXdJREFnTUNBd0lEQWdNQ0F3SURBZ01DQXdJREFnTUNBd0lEQWdNQzR3T1RBMk5qUTJNamcySURBaUlHbHVQU0p6YUdGa2IzZENiSFZ5VDNWMFpYSXhJaTgrUEM5bWFXeDBaWEkrUEM5a1pXWnpQanhuSUdacGJHdzlJbTV2Ym1VaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSStQSEpsWTNRZ1ptbHNiRDBpSTBZM1JqaEdOaUlnZDJsa2RHZzlJakV3TUNJZ2FHVnBaMmgwUFNJeE1EQWlJSEo0UFNJek55SXZQanhuSUhSeVlXNXpabTl5YlQwaWRISmhibk5zWVhSbEtESXlJREk1S1NJK1BIVnpaU0JtYVd4c1BTSWpNREF3SWlCbWFXeDBaWEk5SW5WeWJDZ2pZU2tpSUhoc2FXNXJPbWh5WldZOUlpTmlJaTgrUEhCaGRHZ2djM1J5YjJ0bFBTSWpOREExTWpNMklpQnpkSEp2YTJVdGQybGtkR2c5SWpJdU5DSWdaRDBpVFRRMkxqQTFPQ0F4T0M0NFNETXpMalUwTWt3eU9DNDBJREk1TGpBNE15QXhOQzQ0TlRnZ01rZ3lMak0wTW13eU1pNDBJRFEwTGpob055NHpNVFpzTVRRdE1qaDZJaUJ6ZEhKdmEyVXRiR2x1WldwdmFXNDlJbk54ZFdGeVpTSWdabWxzYkQwaUl6UXdOVEl6TmlJdlBqd3ZaejQ4WnlCMGNtRnVjMlp2Y20wOUluUnlZVzV6YkdGMFpTZ3lNaUF5T1NraVBqeDFjMlVnWm1sc2JEMGlJekF3TUNJZ1ptbHNkR1Z5UFNKMWNtd29JMk1wSWlCNGJHbHVhenBvY21WbVBTSWpaQ0l2UGp4d1lYUm9JSE4wY205clpUMGlJME5FTkRBd01DSWdjM1J5YjJ0bExYZHBaSFJvUFNJeUxqUWlJR1E5SWswMU1DNHdOVGdnTVRBdU9HdzBMalF0T0M0NFNEUXhMamswTW13dE5DNDBJRGd1T0dneE1pNDFNVFo2SWlCemRISnZhMlV0YkdsdVpXcHZhVzQ5SW5OeGRXRnlaU0lnWm1sc2JEMGlJME5FTkRBd01DSXZQand2Wno0OGNHRjBhQ0JrUFNKTk5UUXVNRFlnTnpVdU9Hd3lMalUzTlMwMUxqRXhNa3d6Tmk0NE5UY2dNekZJTWpRdU16UXliREl5TGpRZ05EUXVPR2czTGpNeE9Yb2lJSE4wY205clpUMGlJelF3TlRJek5pSWdjM1J5YjJ0bExYZHBaSFJvUFNJeUxqUWlJR1pwYkd3OUlpTTBRVFZGTTBZaUx6NDhjR0YwYUNCa1BTSk5OVGt1TmlBek1XZ3hOUzR5TWpGTk5UVXVOaUF6TldneE5TNHlNakZOTlRFdU5pQXpPUzQ0YURFMUxqSXlNU0lnYzNSeWIydGxQU0lqUTBRME1EQXdJaUJ6ZEhKdmEyVXRkMmxrZEdnOUlqSXVOQ0lnYzNSeWIydGxMV3hwYm1WallYQTlJbk54ZFdGeVpTSXZQand2Wno0OEwzTjJaejRLXCI7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IGxvZ29fZGVmYXVsdCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxvZ28ubWpzLm1hcCIsImltcG9ydCB7IHVzZUNvbmZpZyB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvQXBwQ29uZmlndXJhdGlvblByb3ZpZGVyL0FwcENvbmZpZ3VyYXRpb25Qcm92aWRlci5tanNcIjtcbmltcG9ydCBsb2dvX2JsYWNrX2FuZF93aGl0ZV9kZWZhdWx0IGZyb20gXCIuL2ltZy9sb2dvLWJsYWNrLWFuZC13aGl0ZS5tanNcIjtcbmltcG9ydCBsb2dvX2RlZmF1bHQgZnJvbSBcIi4vaW1nL2xvZ28ubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9pbmRleC5tanNcIjtcbmltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiQG11aS9tYXRlcmlhbC9zdHlsZXNcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9Mb2dvL0xvZ28udHN4XG5mdW5jdGlvbiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXygpIHtcblx0cmV0dXJuIFwiWW91IGhhdmUgdHJpZWQgdG8gc3RyaW5naWZ5IG9iamVjdCByZXR1cm5lZCBmcm9tIGBjc3NgIGZ1bmN0aW9uLiBJdCBpc24ndCBzdXBwb3NlZCB0byBiZSB1c2VkIGRpcmVjdGx5IChlLmcuIGFzIHZhbHVlIG9mIHRoZSBgY2xhc3NOYW1lYCBwcm9wKSwgYnV0IHJhdGhlciBoYW5kZWQgdG8gZW1vdGlvbiBzbyBpdCBjYW4gaGFuZGxlIGl0IChlLmcuIGFzIHZhbHVlIG9mIGBjc3NgIHByb3ApLlwiO1xufVxudmFyIHNpemVzID0ge1xuXHRcIngtc21hbGxcIjogXCIzMHB4XCIsXG5cdHNtYWxsOiBcIjQwcHhcIixcblx0YmlnOiBcIjkwcHhcIlxufTtcbnZhciBsb2dvcyA9IHtcblx0bGlnaHQ6IGxvZ29fZGVmYXVsdCxcblx0ZGFyazogbG9nb19ibGFja19hbmRfd2hpdGVfZGVmYXVsdFxufTtcbnZhciBMb2dvID0gKHsgc2l6ZSwgb25DbGljaywgY2xhc3NOYW1lLCBpc0RlZmF1bHQgPSBmYWxzZSwgdGl0bGUgPSBcIlwiIH0pID0+IHtcblx0Y29uc3QgeyBjb25maWdPcHRpb25zIH0gPSB1c2VDb25maWcoKTtcblx0Y29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXHRpZiAoIWlzRGVmYXVsdCAmJiBjb25maWdPcHRpb25zPy5sb2dvKSB7XG5cdFx0Y29uc3QgbG9nb1NyYyA9IHRoZW1lLnBhbGV0dGUubW9kZSA9PT0gXCJkYXJrXCIgJiYgY29uZmlnT3B0aW9ucy5sb2dvRGFyayA/IGNvbmZpZ09wdGlvbnMubG9nb0RhcmsgOiBjb25maWdPcHRpb25zLmxvZ287XG5cdFx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goSW1hZ2VMb2dvLCB7XG5cdFx0XHRjbGFzc05hbWUsXG5cdFx0XHRvbkNsaWNrLFxuXHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goXCJpbWdcIiwge1xuXHRcdFx0XHRhbHQ6IHRpdGxlLFxuXHRcdFx0XHRcImRhdGEtdGVzdGlkXCI6IFwiY3VzdG9tLWxvZ29cIixcblx0XHRcdFx0aGVpZ2h0OiBcIjQwcHhcIixcblx0XHRcdFx0c3JjOiBsb2dvU3JjXG5cdFx0XHR9KVxuXHRcdH0pO1xuXHR9XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFN0eWxlZExvZ28sIHtcblx0XHRjbGFzc05hbWUsXG5cdFx0XCJkYXRhLXRlc3RpZFwiOiBcImRlZmF1bHQtbG9nb1wiLFxuXHRcdG9uQ2xpY2ssXG5cdFx0c2l6ZSxcblx0XHR0aXRsZVxuXHR9KTtcbn07XG52YXIgSW1hZ2VMb2dvID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJkaXZcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZXhiYW4wMTFcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZXhiYW4wMTFcIixcblx0bGFiZWw6IFwiSW1hZ2VMb2dvXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCJseWVsNWxcIixcblx0c3R5bGVzOiBcImZvbnQtc2l6ZTowXCJcbn0gOiB7XG5cdG5hbWU6IFwibHllbDVsXCIsXG5cdHN0eWxlczogXCJmb250LXNpemU6MC8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlNYjJkdkwweHZaMjh1ZEhONElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFYZEVhMElpTENKbWFXeGxJam9pTDJodmJXVXZjblZ1Ym1WeUwzZHZjbXN2ZG1WeVpHRmpZMmx2TDNabGNtUmhZMk5wYnk5d1lXTnJZV2RsY3k5MWFTMWpiMjF3YjI1bGJuUnpMM055WXk5amIyMXdiMjVsYm5SekwweHZaMjh2VEc5bmJ5NTBjM2dpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnYzNSNWJHVmtJR1p5YjIwZ0owQmxiVzkwYVc5dUwzTjBlV3hsWkNjN1hHNXBiWEJ2Y25RZ2V5QjFjMlZVYUdWdFpTQjlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2YzNSNWJHVnpKenRjYm1sdGNHOXlkQ0JTWldGamRDQm1jbTl0SUNkeVpXRmpkQ2M3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk4bk8xeHVhVzF3YjNKMElIc2dkWE5sUTI5dVptbG5JSDBnWm5KdmJTQW5MaTR2TGk0dkp6dGNibWx0Y0c5eWRDQmliR0ZqYTBGdVpGZHBkR2hNYjJkdklHWnliMjBnSnk0dmFXMW5MMnh2WjI4dFlteGhZMnN0WVc1a0xYZG9hWFJsTG5OMlp5YzdYRzVwYlhCdmNuUWdaR1ZtWVhWc2RFeHZaMjhnWm5KdmJTQW5MaTlwYldjdmJHOW5ieTV6ZG1jbk8xeHVYRzVqYjI1emRDQnphWHBsY3lBOUlIdGNiaUFnSjNndGMyMWhiR3duT2lBbk16QndlQ2NzWEc0Z0lITnRZV3hzT2lBbk5EQndlQ2NzWEc0Z0lHSnBaem9nSnprd2NIZ25MRnh1ZlR0Y2JseHVZMjl1YzNRZ2JHOW5iM01nUFNCN1hHNGdJR3hwWjJoME9pQmtaV1poZFd4MFRHOW5ieXhjYmlBZ1pHRnlhem9nWW14aFkydEJibVJYYVhSb1RHOW5ieXhjYm4wN1hHNWNibWx1ZEdWeVptRmpaU0JRY205d2N5QjdYRzRnSUhOcGVtVS9PaUJyWlhsdlppQjBlWEJsYjJZZ2MybDZaWE03WEc0Z0lHOXVRMnhwWTJzL09pQW9LU0E5UGlCMmIybGtPMXh1SUNCamJHRnpjMDVoYldVL09pQnpkSEpwYm1jN1hHNGdJR2x6UkdWbVlYVnNkRDg2SUdKdmIyeGxZVzQ3WEc0Z0lIUnBkR3hsUHpvZ2MzUnlhVzVuTzF4dWZWeHVYRzVqYjI1emRDQk1iMmR2T2lCU1pXRmpkQzVHUXp4UWNtOXdjejRnUFNBb2V5QnphWHBsTENCdmJrTnNhV05yTENCamJHRnpjMDVoYldVc0lHbHpSR1ZtWVhWc2RDQTlJR1poYkhObExDQjBhWFJzWlNBOUlDY25JSDBwSUQwK0lIdGNiaUFnWTI5dWMzUWdleUJqYjI1bWFXZFBjSFJwYjI1eklIMGdQU0IxYzJWRGIyNW1hV2NvS1R0Y2JpQWdZMjl1YzNRZ2RHaGxiV1U2SUZSb1pXMWxJRDBnZFhObFZHaGxiV1VvS1R0Y2JpQWdhV1lnS0NGcGMwUmxabUYxYkhRZ0ppWWdZMjl1Wm1sblQzQjBhVzl1Y3o4dWJHOW5ieWtnZTF4dUlDQWdJR052Ym5OMElHeHZaMjlUY21NZ1BWeHVJQ0FnSUNBZ2RHaGxiV1V1Y0dGc1pYUjBaUzV0YjJSbElEMDlQU0FuWkdGeWF5Y2dKaVlnWTI5dVptbG5UM0IwYVc5dWN5NXNiMmR2UkdGeWExeHVJQ0FnSUNBZ0lDQS9JR052Ym1acFowOXdkR2x2Ym5NdWJHOW5iMFJoY210Y2JpQWdJQ0FnSUNBZ09pQmpiMjVtYVdkUGNIUnBiMjV6TG14dloyODdYRzRnSUNBZ2NtVjBkWEp1SUNoY2JpQWdJQ0FnSUR4SmJXRm5aVXh2WjI4Z1kyeGhjM05PWVcxbFBYdGpiR0Z6YzA1aGJXVjlJRzl1UTJ4cFkyczllMjl1UTJ4cFkydDlQbHh1SUNBZ0lDQWdJQ0E4YVcxbklHRnNkRDE3ZEdsMGJHVjlJR1JoZEdFdGRHVnpkR2xrUFhzblkzVnpkRzl0TFd4dloyOG5mU0JvWldsbmFIUTlYQ0kwTUhCNFhDSWdjM0pqUFh0c2IyZHZVM0pqZlNBdlBseHVJQ0FnSUNBZ1BDOUpiV0ZuWlV4dloyOCtYRzRnSUNBZ0tUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BGTjBlV3hsWkV4dloyOWNiaUFnSUNBZ0lHTnNZWE56VG1GdFpUMTdZMnhoYzNOT1lXMWxmVnh1SUNBZ0lDQWdaR0YwWVMxMFpYTjBhV1E5ZXlka1pXWmhkV3gwTFd4dloyOG5mVnh1SUNBZ0lDQWdiMjVEYkdsamF6MTdiMjVEYkdsamEzMWNiaUFnSUNBZ0lITnBlbVU5ZTNOcGVtVjlYRzRnSUNBZ0lDQjBhWFJzWlQxN2RHbDBiR1Y5WEc0Z0lDQWdMejVjYmlBZ0tUdGNibjA3WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUV4dloyODdYRzVjYm1OdmJuTjBJRWx0WVdkbFRHOW5ieUE5SUhOMGVXeGxaQ2duWkdsMkp5a29lMXh1SUNCbWIyNTBVMmw2WlRvZ01DeGNibjBwTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JNYjJkdklEMGdjM1I1YkdWa0tDZGthWFluS1R4UWNtOXdjeUFtSUhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QnphWHBsSUQwZ0ozTnRZV3hzSnl3Z2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oybHViR2x1WlMxaWJHOWpheWNzWEc0Z0lIWmxjblJwWTJGc1FXeHBaMjQ2SUNkdGFXUmtiR1VuTEZ4dUlDQmliM2hUYVhwcGJtYzZJQ2RpYjNKa1pYSXRZbTk0Snl4Y2JpQWdZbUZqYTJkeWIzVnVaRkJ2YzJsMGFXOXVPaUFuWTJWdWRHVnlKeXhjYmlBZ1ltRmphMmR5YjNWdVpGTnBlbVU2SUNkamIyNTBZV2x1Snl4Y2JpQWdZbUZqYTJkeWIzVnVaRWx0WVdkbE9pQmdkWEpzS0NSN2JHOW5iM05iZEdobGJXVXVjR0ZzWlhSMFpTNXRiMlJsWFgwcFlDeGNiaUFnWW1GamEyZHliM1Z1WkZKbGNHVmhkRG9nSnlCdWJ5MXlaWEJsWVhRbkxGeHVJQ0IzYVdSMGFEb2djMmw2WlhOYmMybDZaVjBzWEc0Z0lHaGxhV2RvZERvZ2MybDZaWE5iYzJsNlpWMHNYRzU5S1NrN1hHNGlYWDA9ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgU3R5bGVkTG9nbyA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwiZGl2XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImV4YmFuMDEwXCIgfSA6IHtcblx0dGFyZ2V0OiBcImV4YmFuMDEwXCIsXG5cdGxhYmVsOiBcIlN0eWxlZExvZ29cIlxufSkoKHsgc2l6ZSA9IFwic21hbGxcIiwgdGhlbWUgfSkgPT4gKHtcblx0ZGlzcGxheTogXCJpbmxpbmUtYmxvY2tcIixcblx0dmVydGljYWxBbGlnbjogXCJtaWRkbGVcIixcblx0Ym94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcblx0YmFja2dyb3VuZFBvc2l0aW9uOiBcImNlbnRlclwiLFxuXHRiYWNrZ3JvdW5kU2l6ZTogXCJjb250YWluXCIsXG5cdGJhY2tncm91bmRJbWFnZTogYHVybCgke2xvZ29zW3RoZW1lLnBhbGV0dGUubW9kZV19KWAsXG5cdGJhY2tncm91bmRSZXBlYXQ6IFwiIG5vLXJlcGVhdFwiLFxuXHR3aWR0aDogc2l6ZXNbc2l6ZV0sXG5cdGhlaWdodDogc2l6ZXNbc2l6ZV1cbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5TWIyZHZMMHh2WjI4dWRITjRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVFJFYlVJaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OWpiMjF3YjI1bGJuUnpMMHh2WjI4dlRHOW5ieTUwYzNnaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2MzUjViR1ZrSUdaeWIyMGdKMEJsYlc5MGFXOXVMM04wZVd4bFpDYzdYRzVwYlhCdmNuUWdleUIxYzJWVWFHVnRaU0I5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dmMzUjViR1Z6Snp0Y2JtbHRjRzl5ZENCU1pXRmpkQ0JtY205dElDZHlaV0ZqZENjN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOG5PMXh1YVcxd2IzSjBJSHNnZFhObFEyOXVabWxuSUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYm1sdGNHOXlkQ0JpYkdGamEwRnVaRmRwZEdoTWIyZHZJR1p5YjIwZ0p5NHZhVzFuTDJ4dloyOHRZbXhoWTJzdFlXNWtMWGRvYVhSbExuTjJaeWM3WEc1cGJYQnZjblFnWkdWbVlYVnNkRXh2WjI4Z1puSnZiU0FuTGk5cGJXY3ZiRzluYnk1emRtY25PMXh1WEc1amIyNXpkQ0J6YVhwbGN5QTlJSHRjYmlBZ0ozZ3RjMjFoYkd3bk9pQW5NekJ3ZUNjc1hHNGdJSE50WVd4c09pQW5OREJ3ZUNjc1hHNGdJR0pwWnpvZ0p6a3djSGduTEZ4dWZUdGNibHh1WTI5dWMzUWdiRzluYjNNZ1BTQjdYRzRnSUd4cFoyaDBPaUJrWldaaGRXeDBURzluYnl4Y2JpQWdaR0Z5YXpvZ1lteGhZMnRCYm1SWGFYUm9URzluYnl4Y2JuMDdYRzVjYm1sdWRHVnlabUZqWlNCUWNtOXdjeUI3WEc0Z0lITnBlbVUvT2lCclpYbHZaaUIwZVhCbGIyWWdjMmw2WlhNN1hHNGdJRzl1UTJ4cFkycy9PaUFvS1NBOVBpQjJiMmxrTzF4dUlDQmpiR0Z6YzA1aGJXVS9PaUJ6ZEhKcGJtYzdYRzRnSUdselJHVm1ZWFZzZEQ4NklHSnZiMnhsWVc0N1hHNGdJSFJwZEd4bFB6b2djM1J5YVc1bk8xeHVmVnh1WEc1amIyNXpkQ0JNYjJkdk9pQlNaV0ZqZEM1R1F6eFFjbTl3Y3o0Z1BTQW9leUJ6YVhwbExDQnZia05zYVdOckxDQmpiR0Z6YzA1aGJXVXNJR2x6UkdWbVlYVnNkQ0E5SUdaaGJITmxMQ0IwYVhSc1pTQTlJQ2NuSUgwcElEMCtJSHRjYmlBZ1kyOXVjM1FnZXlCamIyNW1hV2RQY0hScGIyNXpJSDBnUFNCMWMyVkRiMjVtYVdjb0tUdGNiaUFnWTI5dWMzUWdkR2hsYldVNklGUm9aVzFsSUQwZ2RYTmxWR2hsYldVb0tUdGNiaUFnYVdZZ0tDRnBjMFJsWm1GMWJIUWdKaVlnWTI5dVptbG5UM0IwYVc5dWN6OHViRzluYnlrZ2UxeHVJQ0FnSUdOdmJuTjBJR3h2WjI5VGNtTWdQVnh1SUNBZ0lDQWdkR2hsYldVdWNHRnNaWFIwWlM1dGIyUmxJRDA5UFNBblpHRnlheWNnSmlZZ1kyOXVabWxuVDNCMGFXOXVjeTVzYjJkdlJHRnlhMXh1SUNBZ0lDQWdJQ0EvSUdOdmJtWnBaMDl3ZEdsdmJuTXViRzluYjBSaGNtdGNiaUFnSUNBZ0lDQWdPaUJqYjI1bWFXZFBjSFJwYjI1ekxteHZaMjg3WEc0Z0lDQWdjbVYwZFhKdUlDaGNiaUFnSUNBZ0lEeEpiV0ZuWlV4dloyOGdZMnhoYzNOT1lXMWxQWHRqYkdGemMwNWhiV1Y5SUc5dVEyeHBZMnM5ZTI5dVEyeHBZMnQ5UGx4dUlDQWdJQ0FnSUNBOGFXMW5JR0ZzZEQxN2RHbDBiR1Y5SUdSaGRHRXRkR1Z6ZEdsa1BYc25ZM1Z6ZEc5dExXeHZaMjhuZlNCb1pXbG5hSFE5WENJME1IQjRYQ0lnYzNKalBYdHNiMmR2VTNKamZTQXZQbHh1SUNBZ0lDQWdQQzlKYldGblpVeHZaMjgrWEc0Z0lDQWdLVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRk4wZVd4bFpFeHZaMjljYmlBZ0lDQWdJR05zWVhOelRtRnRaVDE3WTJ4aGMzTk9ZVzFsZlZ4dUlDQWdJQ0FnWkdGMFlTMTBaWE4wYVdROWV5ZGtaV1poZFd4MExXeHZaMjhuZlZ4dUlDQWdJQ0FnYjI1RGJHbGphejE3YjI1RGJHbGphMzFjYmlBZ0lDQWdJSE5wZW1VOWUzTnBlbVY5WEc0Z0lDQWdJQ0IwYVhSc1pUMTdkR2wwYkdWOVhHNGdJQ0FnTHo1Y2JpQWdLVHRjYm4wN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElFeHZaMjg3WEc1Y2JtTnZibk4wSUVsdFlXZGxURzluYnlBOUlITjBlV3hsWkNnblpHbDJKeWtvZTF4dUlDQm1iMjUwVTJsNlpUb2dNQ3hjYm4wcE8xeHVYRzVqYjI1emRDQlRkSGxzWldSTWIyZHZJRDBnYzNSNWJHVmtLQ2RrYVhZbktUeFFjbTl3Y3lBbUlIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUJ6YVhwbElEMGdKM050WVd4c0p5d2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMmx1YkdsdVpTMWliRzlqYXljc1hHNGdJSFpsY25ScFkyRnNRV3hwWjI0NklDZHRhV1JrYkdVbkxGeHVJQ0JpYjNoVGFYcHBibWM2SUNkaWIzSmtaWEl0WW05NEp5eGNiaUFnWW1GamEyZHliM1Z1WkZCdmMybDBhVzl1T2lBblkyVnVkR1Z5Snl4Y2JpQWdZbUZqYTJkeWIzVnVaRk5wZW1VNklDZGpiMjUwWVdsdUp5eGNiaUFnWW1GamEyZHliM1Z1WkVsdFlXZGxPaUJnZFhKc0tDUjdiRzluYjNOYmRHaGxiV1V1Y0dGc1pYUjBaUzV0YjJSbFhYMHBZQ3hjYmlBZ1ltRmphMmR5YjNWdVpGSmxjR1ZoZERvZ0p5QnVieTF5WlhCbFlYUW5MRnh1SUNCM2FXUjBhRG9nYzJsNlpYTmJjMmw2WlYwc1hHNGdJR2hsYVdkb2REb2djMmw2WlhOYmMybDZaVjBzWEc1OUtTazdYRzRpWFgwPSAqL1wiKTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgTG9nbyBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUxvZ28ubWpzLm1hcCIsImltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IE1hdGVyaWFsVUlNZW51SXRlbSBmcm9tIFwiQG11aS9tYXRlcmlhbC9NZW51SXRlbVwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL01lbnVJdGVtL01lbnVJdGVtLnRzeFxuZnVuY3Rpb24gX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX18oKSB7XG5cdHJldHVybiBcIllvdSBoYXZlIHRyaWVkIHRvIHN0cmluZ2lmeSBvYmplY3QgcmV0dXJuZWQgZnJvbSBgY3NzYCBmdW5jdGlvbi4gSXQgaXNuJ3Qgc3VwcG9zZWQgdG8gYmUgdXNlZCBkaXJlY3RseSAoZS5nLiBhcyB2YWx1ZSBvZiB0aGUgYGNsYXNzTmFtZWAgcHJvcCksIGJ1dCByYXRoZXIgaGFuZGVkIHRvIGVtb3Rpb24gc28gaXQgY2FuIGhhbmRsZSBpdCAoZS5nLiBhcyB2YWx1ZSBvZiBgY3NzYCBwcm9wKS5cIjtcbn1cbnZhciBNZW51SXRlbSA9IGZ1bmN0aW9uIE1lbnVJdGVtKHsgcmVmLCBjb21wb25lbnQgPSBcImxpXCIsIC4uLnByb3BzIH0pIHtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goU3R5bGVkTWF0ZXJpYWxVSU1lbnVJdGVtLCB7XG5cdFx0Y29tcG9uZW50LFxuXHRcdC4uLnByb3BzLFxuXHRcdHJlZlxuXHR9KTtcbn07XG52YXIgU3R5bGVkTWF0ZXJpYWxVSU1lbnVJdGVtID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoTWF0ZXJpYWxVSU1lbnVJdGVtLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlNGh4aTR1MFwiIH0gOiB7XG5cdHRhcmdldDogXCJlNGh4aTR1MFwiLFxuXHRsYWJlbDogXCJTdHlsZWRNYXRlcmlhbFVJTWVudUl0ZW1cIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjEybWtmZHhcIixcblx0c3R5bGVzOiBcIm91dGxpbmU6bm9uZVwiXG59IDoge1xuXHRuYW1lOiBcIjEybWtmZHhcIixcblx0c3R5bGVzOiBcIm91dGxpbmU6bm9uZS8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlOWlc1MVNYUmxiUzlOWlc1MVNYUmxiUzUwYzNnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQmRVSnBReUlzSW1acGJHVWlPaUl2YUc5dFpTOXlkVzV1WlhJdmQyOXlheTkyWlhKa1lXTmphVzh2ZG1WeVpHRmpZMmx2TDNCaFkydGhaMlZ6TDNWcExXTnZiWEJ2Ym1WdWRITXZjM0pqTDJOdmJYQnZibVZ1ZEhNdlRXVnVkVWwwWlcwdlRXVnVkVWwwWlcwdWRITjRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSE4wZVd4bFpDQm1jbTl0SUNkQVpXMXZkR2x2Ymk5emRIbHNaV1FuTzF4dWFXMXdiM0owSUhSNWNHVWdleUJOWlc1MVNYUmxiVkJ5YjNCeklIMGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlOWlc1MVNYUmxiU2M3WEc1cGJYQnZjblFnZXlCa1pXWmhkV3gwSUdGeklFMWhkR1Z5YVdGc1ZVbE5aVzUxU1hSbGJTQjlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VFdWdWRVbDBaVzBuTzF4dWFXMXdiM0owSUZKbFlXTjBJR1p5YjIwZ0ozSmxZV04wSnp0Y2JseHVkSGx3WlNCSVZFMU1SV3hsYldWdWRGUmhaMDVoYldVZ1BTQnJaWGx2WmlCSVZFMU1SV3hsYldWdWRGUmhaMDVoYldWTllYQTdYRzUwZVhCbElFMWxiblZKZEdWdFVtVm1JRDBnU0ZSTlRFVnNaVzFsYm5SVVlXZE9ZVzFsVFdGd1cwaFVUVXhGYkdWdFpXNTBWR0ZuVG1GdFpWMDdYRzVjYm1sdWRHVnlabUZqWlNCUWNtOXdjeUJsZUhSbGJtUnpJRTl0YVhROFRXVnVkVWwwWlcxUWNtOXdjeXdnSjJOdmJYQnZibVZ1ZENjK0lIdGNiaUFnWTI5dGNHOXVaVzUwUHpvZ1NGUk5URVZzWlcxbGJuUlVZV2RPWVcxbE8xeHVmVnh1WEc1amIyNXpkQ0JOWlc1MVNYUmxiU0E5SUdaMWJtTjBhVzl1SUUxbGJuVkpkR1Z0S0h0Y2JpQWdjbVZtTEZ4dUlDQmpiMjF3YjI1bGJuUWdQU0FuYkdrbkxGeHVJQ0F1TGk1d2NtOXdjMXh1ZlRvZ1VISnZjSE1nSmlCN0lISmxaajg2SUZKbFlXTjBMbEpsWms5aWFtVmpkRHhOWlc1MVNYUmxiVkpsWmlCOElHNTFiR3crSUgwcElIdGNiaUFnTHk4Z2FYUWdjMlZsYlhNZ2RIbHdaWE5qY21sd2RDQm9ZWE1nYzI5dFpTQmthWE5qY21sdGFXNWhkR2x2YmlCMGVYQmxJR3hwYldsMGFXOXVjeTRnVUd4bFlYTmxJSE5sWlRvZ2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwyMTFhUzF2Y21jdmJXRjBaWEpwWVd3dGRXa3ZhWE56ZFdWekx6RTBPVGN4WEc0Z0lDOHZJRUIwY3kxcFoyNXZjbVVnVkhsd1pTQlVlWEJsY3lCdlppQndjbTl3WlhKMGVTQW5ZblYwZEc5dUp5QmhjbVVnYVc1amIyMXdZWFJwWW14bExseHVJQ0J5WlhSMWNtNGdQRk4wZVd4bFpFMWhkR1Z5YVdGc1ZVbE5aVzUxU1hSbGJTQmpiMjF3YjI1bGJuUTllMk52YlhCdmJtVnVkSDBnZXk0dUxuQnliM0J6ZlNCeVpXWTllM0psWmlCaGN5Qmhibmw5SUM4K08xeHVmVHRjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnVFdWdWRVbDBaVzA3WEc1amIyNXpkQ0JUZEhsc1pXUk5ZWFJsY21saGJGVkpUV1Z1ZFVsMFpXMGdQU0J6ZEhsc1pXUW9UV0YwWlhKcFlXeFZTVTFsYm5WSmRHVnRLU2g3WEc0Z0lHOTFkR3hwYm1VNklDZHViMjVsSnl4Y2JuMHBPMXh1SWwxOSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBNZW51SXRlbSBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPU1lbnVJdGVtLm1qcy5tYXAiLCJpbXBvcnQgSGVhZGluZyBmcm9tIFwiLi4vSGVhZGluZy9IZWFkaW5nLm1qc1wiO1xuaW1wb3J0IFwiLi4vSGVhZGluZy9pbmRleC5tanNcIjtcbmltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IEJveCBmcm9tIFwiQG11aS9tYXRlcmlhbC9Cb3hcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCB7IGNvbW1vbiB9IGZyb20gXCJAbXVpL21hdGVyaWFsL2NvbG9yc1wiO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGUgfSBmcm9tIFwicmVhY3Qtcm91dGVyXCI7XG5pbXBvcnQgQnV0dG9uIGZyb20gXCJAbXVpL21hdGVyaWFsL0J1dHRvblwiO1xuaW1wb3J0IEZvbGRlck9mZkljb24gZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvRm9sZGVyT2ZmXCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvTm90Rm91bmQvTm90Rm91bmQudHN4XG5mdW5jdGlvbiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXygpIHtcblx0cmV0dXJuIFwiWW91IGhhdmUgdHJpZWQgdG8gc3RyaW5naWZ5IG9iamVjdCByZXR1cm5lZCBmcm9tIGBjc3NgIGZ1bmN0aW9uLiBJdCBpc24ndCBzdXBwb3NlZCB0byBiZSB1c2VkIGRpcmVjdGx5IChlLmcuIGFzIHZhbHVlIG9mIHRoZSBgY2xhc3NOYW1lYCBwcm9wKSwgYnV0IHJhdGhlciBoYW5kZWQgdG8gZW1vdGlvbiBzbyBpdCBjYW4gaGFuZGxlIGl0IChlLmcuIGFzIHZhbHVlIG9mIGBjc3NgIHByb3ApLlwiO1xufVxudmFyIE5vdEZvdW5kID0gKCkgPT4ge1xuXHRjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG5cdGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcblx0Y29uc3QgaGFuZGxlR29Ib21lID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuXHRcdG5hdmlnYXRlKFwiL1wiKTtcblx0fSwgW25hdmlnYXRlXSk7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhCb3gsIHtcblx0XHRhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuXHRcdFwiZGF0YS10ZXN0aWRcIjogXCI0MDRcIixcblx0XHRkaXNwbGF5OiBcImZsZXhcIixcblx0XHRmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuXHRcdGZsZXhHcm93OiAxLFxuXHRcdGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuXHRcdHA6IDIsXG5cdFx0Y2hpbGRyZW46IFtcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goQ29udGFpbmVyLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEZvbGRlck9mZkljb24sIHtcblx0XHRcdFx0Y29sb3I6IFwicHJpbWFyeVwiLFxuXHRcdFx0XHRzdHlsZTogeyBmb250U2l6ZTogMjM2IH1cblx0XHRcdH0pIH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChTdHlsZWRIZWFkaW5nLCB7XG5cdFx0XHRcdGNsYXNzTmFtZTogXCJub3QtZm91bmQtdGV4dFwiLFxuXHRcdFx0XHR2YXJpYW50OiBcImg0XCIsXG5cdFx0XHRcdGNoaWxkcmVuOiB0KFwiZXJyb3IuNDA0LnNvcnJ5LXdlLWNvdWxkLW5vdC1maW5kLWl0XCIpXG5cdFx0XHR9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goQnV0dG9uLCB7XG5cdFx0XHRcdFwiZGF0YS10ZXN0aWRcIjogXCJub3QtZm91bmQtZ28tdG8taG9tZS1idXR0b25cIixcblx0XHRcdFx0b25DbGljazogaGFuZGxlR29Ib21lLFxuXHRcdFx0XHR2YXJpYW50OiBcImNvbnRhaW5lZFwiLFxuXHRcdFx0XHRjaGlsZHJlbjogdChcImJ1dHRvbi5nby10by10aGUtaG9tZS1wYWdlXCIpXG5cdFx0XHR9KVxuXHRcdF1cblx0fSk7XG59O1xudmFyIENvbnRhaW5lciA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwiZGl2XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImU4NWxoZncxXCIgfSA6IHtcblx0dGFyZ2V0OiBcImU4NWxoZncxXCIsXG5cdGxhYmVsOiBcIkNvbnRhaW5lclwiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwiOXRoNWlcIixcblx0c3R5bGVzOiBcIm1hcmdpbjowIGF1dG9cIlxufSA6IHtcblx0bmFtZTogXCI5dGg1aVwiLFxuXHRzdHlsZXM6IFwibWFyZ2luOjAgYXV0by8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlPYjNSR2IzVnVaQzlPYjNSR2IzVnVaQzUwYzNnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQk5rTnJRaUlzSW1acGJHVWlPaUl2YUc5dFpTOXlkVzV1WlhJdmQyOXlheTkyWlhKa1lXTmphVzh2ZG1WeVpHRmpZMmx2TDNCaFkydGhaMlZ6TDNWcExXTnZiWEJ2Ym1WdWRITXZjM0pqTDJOdmJYQnZibVZ1ZEhNdlRtOTBSbTkxYm1RdlRtOTBSbTkxYm1RdWRITjRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSE4wZVd4bFpDQm1jbTl0SUNkQVpXMXZkR2x2Ymk5emRIbHNaV1FuTzF4dWFXMXdiM0owSUVadmJHUmxjazltWmtsamIyNGdabkp2YlNBblFHMTFhUzlwWTI5dWN5MXRZWFJsY21saGJDOUdiMnhrWlhKUFptWW5PMXh1YVcxd2IzSjBJRUp2ZUNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwSnZlQ2M3WEc1cGJYQnZjblFnUW5WMGRHOXVJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UW5WMGRHOXVKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaUI5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCU1pXRmpkQ3dnZXlCMWMyVkRZV3hzWW1GamF5QjlJR1p5YjIwZ0ozSmxZV04wSnp0Y2JtbHRjRzl5ZENCN0lIVnpaVlJ5WVc1emJHRjBhVzl1SUgwZ1puSnZiU0FuY21WaFkzUXRhVEU0Ym1WNGRDYzdYRzVwYlhCdmNuUWdleUIxYzJWT1lYWnBaMkYwWlNCOUlHWnliMjBnSjNKbFlXTjBMWEp2ZFhSbGNpYzdYRzVjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaThuTzF4dWFXMXdiM0owSUVobFlXUnBibWNnWm5KdmJTQW5MaTR2U0dWaFpHbHVaeWM3WEc1Y2JtTnZibk4wSUU1dmRFWnZkVzVrT2lCU1pXRmpkQzVHUXlBOUlDZ3BJRDArSUh0Y2JpQWdZMjl1YzNRZ2JtRjJhV2RoZEdVZ1BTQjFjMlZPWVhacFoyRjBaU2dwTzF4dUlDQmpiMjV6ZENCN0lIUWdmU0E5SUhWelpWUnlZVzV6YkdGMGFXOXVLQ2s3WEc1Y2JpQWdZMjl1YzNRZ2FHRnVaR3hsUjI5SWIyMWxJRDBnZFhObFEyRnNiR0poWTJzb0tDa2dQVDRnZTF4dUlDQWdJRzVoZG1sbllYUmxLQ2N2SnlrN1hHNGdJSDBzSUZ0dVlYWnBaMkYwWlYwcE8xeHVYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRUp2ZUZ4dUlDQWdJQ0FnWVd4cFoyNUpkR1Z0Y3oxY0ltTmxiblJsY2x3aVhHNGdJQ0FnSUNCa1lYUmhMWFJsYzNScFpEMWNJalF3TkZ3aVhHNGdJQ0FnSUNCa2FYTndiR0Y1UFZ3aVpteGxlRndpWEc0Z0lDQWdJQ0JtYkdWNFJHbHlaV04wYVc5dVBWd2lZMjlzZFcxdVhDSmNiaUFnSUNBZ0lHWnNaWGhIY205M1BYc3hmVnh1SUNBZ0lDQWdhblZ6ZEdsbWVVTnZiblJsYm5ROVhDSmpaVzUwWlhKY0lseHVJQ0FnSUNBZ2NEMTdNbjFjYmlBZ0lDQStYRzRnSUNBZ0lDQThRMjl1ZEdGcGJtVnlQbHh1SUNBZ0lDQWdJQ0E4Um05c1pHVnlUMlptU1dOdmJpQmpiMnh2Y2oxY0luQnlhVzFoY25sY0lpQnpkSGxzWlQxN2V5Qm1iMjUwVTJsNlpUb2dNak0ySUgxOUlDOCtYRzRnSUNBZ0lDQThMME52Ym5SaGFXNWxjajVjYmlBZ0lDQWdJRHhUZEhsc1pXUklaV0ZrYVc1bklHTnNZWE56VG1GdFpUMWNJbTV2ZEMxbWIzVnVaQzEwWlhoMFhDSWdkbUZ5YVdGdWREMWNJbWcwWENJK1hHNGdJQ0FnSUNBZ0lIdDBLQ2RsY25KdmNpNDBNRFF1YzI5eWNua3RkMlV0WTI5MWJHUXRibTkwTFdacGJtUXRhWFFuS1gxY2JpQWdJQ0FnSUR3dlUzUjViR1ZrU0dWaFpHbHVaejVjYmlBZ0lDQWdJRHhDZFhSMGIyNGdaR0YwWVMxMFpYTjBhV1E5WENKdWIzUXRabTkxYm1RdFoyOHRkRzh0YUc5dFpTMWlkWFIwYjI1Y0lpQnZia05zYVdOclBYdG9ZVzVrYkdWSGIwaHZiV1Y5SUhaaGNtbGhiblE5WENKamIyNTBZV2x1WldSY0lqNWNiaUFnSUNBZ0lDQWdlM1FvSjJKMWRIUnZiaTVuYnkxMGJ5MTBhR1V0YUc5dFpTMXdZV2RsSnlsOVhHNGdJQ0FnSUNBOEwwSjFkSFJ2Ymo1Y2JpQWdJQ0E4TDBKdmVENWNiaUFnS1R0Y2JuMDdYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJRTV2ZEVadmRXNWtPMXh1WEc1amIyNXpkQ0JEYjI1MFlXbHVaWElnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ2JXRnlaMmx1T2lBbk1DQmhkWFJ2Snl4Y2JuMHBPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUklaV0ZrYVc1bklEMGdjM1I1YkdWa0tFaGxZV1JwYm1jcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JqYjJ4dmNqb2dkR2hsYldVdWNHRnNaWFIwWlM1dGIyUmxJRDA5UFNBbmJHbG5hSFFuSUQ4Z2RHaGxiV1V1Y0dGc1pYUjBaUzV3Y21sdFlYSjVMbTFoYVc0Z09pQmpiMjF0YjI0dWQyaHBkR1VzWEc0Z0lHMWhjbWRwYmtKdmRIUnZiVG9nTVRZc1hHNTlLU2s3WEc0aVhYMD0gKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBTdHlsZWRIZWFkaW5nID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoSGVhZGluZywgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTg1bGhmdzBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTg1bGhmdzBcIixcblx0bGFiZWw6IFwiU3R5bGVkSGVhZGluZ1wiXG59KSgoeyB0aGVtZSB9KSA9PiAoe1xuXHRjb2xvcjogdGhlbWUucGFsZXR0ZS5tb2RlID09PSBcImxpZ2h0XCIgPyB0aGVtZS5wYWxldHRlLnByaW1hcnkubWFpbiA6IGNvbW1vbi53aGl0ZSxcblx0bWFyZ2luQm90dG9tOiAxNlxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlPYjNSR2IzVnVaQzlPYjNSR2IzVnVaQzUwYzNnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQmFVUnpRaUlzSW1acGJHVWlPaUl2YUc5dFpTOXlkVzV1WlhJdmQyOXlheTkyWlhKa1lXTmphVzh2ZG1WeVpHRmpZMmx2TDNCaFkydGhaMlZ6TDNWcExXTnZiWEJ2Ym1WdWRITXZjM0pqTDJOdmJYQnZibVZ1ZEhNdlRtOTBSbTkxYm1RdlRtOTBSbTkxYm1RdWRITjRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSE4wZVd4bFpDQm1jbTl0SUNkQVpXMXZkR2x2Ymk5emRIbHNaV1FuTzF4dWFXMXdiM0owSUVadmJHUmxjazltWmtsamIyNGdabkp2YlNBblFHMTFhUzlwWTI5dWN5MXRZWFJsY21saGJDOUdiMnhrWlhKUFptWW5PMXh1YVcxd2IzSjBJRUp2ZUNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwSnZlQ2M3WEc1cGJYQnZjblFnUW5WMGRHOXVJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UW5WMGRHOXVKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaUI5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCU1pXRmpkQ3dnZXlCMWMyVkRZV3hzWW1GamF5QjlJR1p5YjIwZ0ozSmxZV04wSnp0Y2JtbHRjRzl5ZENCN0lIVnpaVlJ5WVc1emJHRjBhVzl1SUgwZ1puSnZiU0FuY21WaFkzUXRhVEU0Ym1WNGRDYzdYRzVwYlhCdmNuUWdleUIxYzJWT1lYWnBaMkYwWlNCOUlHWnliMjBnSjNKbFlXTjBMWEp2ZFhSbGNpYzdYRzVjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaThuTzF4dWFXMXdiM0owSUVobFlXUnBibWNnWm5KdmJTQW5MaTR2U0dWaFpHbHVaeWM3WEc1Y2JtTnZibk4wSUU1dmRFWnZkVzVrT2lCU1pXRmpkQzVHUXlBOUlDZ3BJRDArSUh0Y2JpQWdZMjl1YzNRZ2JtRjJhV2RoZEdVZ1BTQjFjMlZPWVhacFoyRjBaU2dwTzF4dUlDQmpiMjV6ZENCN0lIUWdmU0E5SUhWelpWUnlZVzV6YkdGMGFXOXVLQ2s3WEc1Y2JpQWdZMjl1YzNRZ2FHRnVaR3hsUjI5SWIyMWxJRDBnZFhObFEyRnNiR0poWTJzb0tDa2dQVDRnZTF4dUlDQWdJRzVoZG1sbllYUmxLQ2N2SnlrN1hHNGdJSDBzSUZ0dVlYWnBaMkYwWlYwcE8xeHVYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRUp2ZUZ4dUlDQWdJQ0FnWVd4cFoyNUpkR1Z0Y3oxY0ltTmxiblJsY2x3aVhHNGdJQ0FnSUNCa1lYUmhMWFJsYzNScFpEMWNJalF3TkZ3aVhHNGdJQ0FnSUNCa2FYTndiR0Y1UFZ3aVpteGxlRndpWEc0Z0lDQWdJQ0JtYkdWNFJHbHlaV04wYVc5dVBWd2lZMjlzZFcxdVhDSmNiaUFnSUNBZ0lHWnNaWGhIY205M1BYc3hmVnh1SUNBZ0lDQWdhblZ6ZEdsbWVVTnZiblJsYm5ROVhDSmpaVzUwWlhKY0lseHVJQ0FnSUNBZ2NEMTdNbjFjYmlBZ0lDQStYRzRnSUNBZ0lDQThRMjl1ZEdGcGJtVnlQbHh1SUNBZ0lDQWdJQ0E4Um05c1pHVnlUMlptU1dOdmJpQmpiMnh2Y2oxY0luQnlhVzFoY25sY0lpQnpkSGxzWlQxN2V5Qm1iMjUwVTJsNlpUb2dNak0ySUgxOUlDOCtYRzRnSUNBZ0lDQThMME52Ym5SaGFXNWxjajVjYmlBZ0lDQWdJRHhUZEhsc1pXUklaV0ZrYVc1bklHTnNZWE56VG1GdFpUMWNJbTV2ZEMxbWIzVnVaQzEwWlhoMFhDSWdkbUZ5YVdGdWREMWNJbWcwWENJK1hHNGdJQ0FnSUNBZ0lIdDBLQ2RsY25KdmNpNDBNRFF1YzI5eWNua3RkMlV0WTI5MWJHUXRibTkwTFdacGJtUXRhWFFuS1gxY2JpQWdJQ0FnSUR3dlUzUjViR1ZrU0dWaFpHbHVaejVjYmlBZ0lDQWdJRHhDZFhSMGIyNGdaR0YwWVMxMFpYTjBhV1E5WENKdWIzUXRabTkxYm1RdFoyOHRkRzh0YUc5dFpTMWlkWFIwYjI1Y0lpQnZia05zYVdOclBYdG9ZVzVrYkdWSGIwaHZiV1Y5SUhaaGNtbGhiblE5WENKamIyNTBZV2x1WldSY0lqNWNiaUFnSUNBZ0lDQWdlM1FvSjJKMWRIUnZiaTVuYnkxMGJ5MTBhR1V0YUc5dFpTMXdZV2RsSnlsOVhHNGdJQ0FnSUNBOEwwSjFkSFJ2Ymo1Y2JpQWdJQ0E4TDBKdmVENWNiaUFnS1R0Y2JuMDdYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJRTV2ZEVadmRXNWtPMXh1WEc1amIyNXpkQ0JEYjI1MFlXbHVaWElnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ2JXRnlaMmx1T2lBbk1DQmhkWFJ2Snl4Y2JuMHBPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUklaV0ZrYVc1bklEMGdjM1I1YkdWa0tFaGxZV1JwYm1jcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JqYjJ4dmNqb2dkR2hsYldVdWNHRnNaWFIwWlM1dGIyUmxJRDA5UFNBbmJHbG5hSFFuSUQ4Z2RHaGxiV1V1Y0dGc1pYUjBaUzV3Y21sdFlYSjVMbTFoYVc0Z09pQmpiMjF0YjI0dWQyaHBkR1VzWEc0Z0lHMWhjbWRwYmtKdmRIUnZiVG9nTVRZc1hHNTlLU2s3WEc0aVhYMD0gKi9cIik7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IE5vdEZvdW5kIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Tm90Rm91bmQubWpzLm1hcCIsImltcG9ydCBIZWFkaW5nIGZyb20gXCIuLi9IZWFkaW5nL0hlYWRpbmcubWpzXCI7XG5pbXBvcnQgXCIuLi9IZWFkaW5nL2luZGV4Lm1qc1wiO1xuaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG5pbXBvcnQgeyBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgQm94IGZyb20gXCJAbXVpL21hdGVyaWFsL0JveFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IHsgY29tbW9uIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvY29sb3JzXCI7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0ZSB9IGZyb20gXCJyZWFjdC1yb3V0ZXJcIjtcbmltcG9ydCBCdXR0b24gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQnV0dG9uXCI7XG5pbXBvcnQgTG9ja0ljb24gZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvTG9ja1wiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0ZvcmJpZGRlbi9Gb3JiaWRkZW4udHN4XG5mdW5jdGlvbiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXygpIHtcblx0cmV0dXJuIFwiWW91IGhhdmUgdHJpZWQgdG8gc3RyaW5naWZ5IG9iamVjdCByZXR1cm5lZCBmcm9tIGBjc3NgIGZ1bmN0aW9uLiBJdCBpc24ndCBzdXBwb3NlZCB0byBiZSB1c2VkIGRpcmVjdGx5IChlLmcuIGFzIHZhbHVlIG9mIHRoZSBgY2xhc3NOYW1lYCBwcm9wKSwgYnV0IHJhdGhlciBoYW5kZWQgdG8gZW1vdGlvbiBzbyBpdCBjYW4gaGFuZGxlIGl0IChlLmcuIGFzIHZhbHVlIG9mIGBjc3NgIHByb3ApLlwiO1xufVxudmFyIENvbnRhaW5lciA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwiZGl2XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxcDFudWt5MVwiIH0gOiB7XG5cdHRhcmdldDogXCJlMXAxbnVreTFcIixcblx0bGFiZWw6IFwiQ29udGFpbmVyXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCI5dGg1aVwiLFxuXHRzdHlsZXM6IFwibWFyZ2luOjAgYXV0b1wiXG59IDoge1xuXHRuYW1lOiBcIjl0aDVpXCIsXG5cdHN0eWxlczogXCJtYXJnaW46MCBhdXRvLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OUdiM0ppYVdSa1pXNHZSbTl5WW1sa1pHVnVMblJ6ZUNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGWmEwSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDBadmNtSnBaR1JsYmk5R2IzSmlhV1JrWlc0dWRITjRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSE4wZVd4bFpDQm1jbTl0SUNkQVpXMXZkR2x2Ymk5emRIbHNaV1FuTzF4dWFXMXdiM0owSUV4dlkydEpZMjl1SUdaeWIyMGdKMEJ0ZFdrdmFXTnZibk10YldGMFpYSnBZV3d2VEc5amF5YzdYRzVwYlhCdmNuUWdRbTk0SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlFtOTRKenRjYm1sdGNHOXlkQ0JDZFhSMGIyNGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlDZFhSMGIyNG5PMXh1YVcxd2IzSjBJSHNnWTI5dGJXOXVJSDBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5amIyeHZjbk1uTzF4dWFXMXdiM0owSUZKbFlXTjBMQ0I3SUhWelpVTmhiR3hpWVdOcklIMGdabkp2YlNBbmNtVmhZM1FuTzF4dWFXMXdiM0owSUhzZ2RYTmxWSEpoYm5Oc1lYUnBiMjRnZlNCbWNtOXRJQ2R5WldGamRDMXBNVGh1WlhoMEp6dGNibWx0Y0c5eWRDQjdJSFZ6WlU1aGRtbG5ZWFJsSUgwZ1puSnZiU0FuY21WaFkzUXRjbTkxZEdWeUp6dGNibHh1YVcxd2IzSjBJSFI1Y0dVZ2V5QlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVKenRjYm1sdGNHOXlkQ0JJWldGa2FXNW5JR1p5YjIwZ0p5NHVMMGhsWVdScGJtY25PMXh1WEc1amIyNXpkQ0JEYjI1MFlXbHVaWElnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ2JXRnlaMmx1T2lBbk1DQmhkWFJ2Snl4Y2JuMHBPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUklaV0ZrYVc1bklEMGdjM1I1YkdWa0tFaGxZV1JwYm1jcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JqYjJ4dmNqb2dkR2hsYldVdWNHRnNaWFIwWlM1dGIyUmxJRDA5UFNBbmJHbG5hSFFuSUQ4Z2RHaGxiV1V1Y0dGc1pYUjBaUzV3Y21sdFlYSjVMbTFoYVc0Z09pQmpiMjF0YjI0dWQyaHBkR1VzWEc0Z0lHMWhjbWRwYmtKdmRIUnZiVG9nTVRZc1hHNTlLU2s3WEc1Y2JtTnZibk4wSUVadmNtSnBaR1JsYmpvZ1VtVmhZM1F1UmtNZ1BTQW9LU0E5UGlCN1hHNGdJR052Ym5OMElHNWhkbWxuWVhSbElEMGdkWE5sVG1GMmFXZGhkR1VvS1R0Y2JseHVJQ0JqYjI1emRDQjdJSFFnZlNBOUlIVnpaVlJ5WVc1emJHRjBhVzl1S0NrN1hHNWNiaUFnWTI5dWMzUWdhR0Z1Wkd4bFIyOUliMjFsSUQwZ2RYTmxRMkZzYkdKaFkyc29LQ2tnUFQ0Z2UxeHVJQ0FnSUc1aGRtbG5ZWFJsS0Njdkp5azdYRzRnSUgwc0lGdHVZWFpwWjJGMFpWMHBPMXh1WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEVKdmVGeHVJQ0FnSUNBZ1lXeHBaMjVKZEdWdGN6MWNJbU5sYm5SbGNsd2lYRzRnSUNBZ0lDQmtZWFJoTFhSbGMzUnBaRDFjSWpRd05Gd2lYRzRnSUNBZ0lDQmthWE53YkdGNVBWd2labXhsZUZ3aVhHNGdJQ0FnSUNCbWJHVjRSR2x5WldOMGFXOXVQVndpWTI5c2RXMXVYQ0pjYmlBZ0lDQWdJR1pzWlhoSGNtOTNQWHN4ZlZ4dUlDQWdJQ0FnYW5WemRHbG1lVU52Ym5SbGJuUTlYQ0pqWlc1MFpYSmNJbHh1SUNBZ0lDQWdjRDE3TW4xY2JpQWdJQ0ErWEc0Z0lDQWdJQ0E4UTI5dWRHRnBibVZ5UGx4dUlDQWdJQ0FnSUNBOFRHOWphMGxqYjI0Z1kyOXNiM0k5WENKd2NtbHRZWEo1WENJZ2MzUjViR1U5ZTNzZ1ptOXVkRk5wZW1VNklESXpOaUI5ZlNBdlBseHVJQ0FnSUNBZ1BDOURiMjUwWVdsdVpYSStYRzRnSUNBZ0lDQThVM1I1YkdWa1NHVmhaR2x1WnlCamJHRnpjMDVoYldVOVhDSnViM1F0Wm05MWJtUXRkR1Y0ZEZ3aUlIWmhjbWxoYm5ROVhDSm9ORndpUGx4dUlDQWdJQ0FnSUNCN2RDZ25aWEp5YjNJdU5EQXhMbk52Y25KNUxXNXZMV0ZqWTJWemN5Y3BmVnh1SUNBZ0lDQWdQQzlUZEhsc1pXUklaV0ZrYVc1blBseHVJQ0FnSUNBZ1BFSjFkSFJ2YmlCa1lYUmhMWFJsYzNScFpEMWNJbTV2ZEMxbWIzVnVaQzFuYnkxMGJ5MW9iMjFsTFdKMWRIUnZibHdpSUc5dVEyeHBZMnM5ZTJoaGJtUnNaVWR2U0c5dFpYMGdkbUZ5YVdGdWREMWNJbU52Ym5SaGFXNWxaRndpUGx4dUlDQWdJQ0FnSUNCN2RDZ25ZblYwZEc5dUxtZHZMWFJ2TFhSb1pTMW9iMjFsTFhCaFoyVW5LWDFjYmlBZ0lDQWdJRHd2UW5WMGRHOXVQbHh1SUNBZ0lEd3ZRbTk0UGx4dUlDQXBPMXh1ZlR0Y2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ1JtOXlZbWxrWkdWdU8xeHVaWGh3YjNKMElIc2dSbTl5WW1sa1pHVnVJSDA3WEc0aVhYMD0gKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBTdHlsZWRIZWFkaW5nID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoSGVhZGluZywgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTFwMW51a3kwXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxcDFudWt5MFwiLFxuXHRsYWJlbDogXCJTdHlsZWRIZWFkaW5nXCJcbn0pKCh7IHRoZW1lIH0pID0+ICh7XG5cdGNvbG9yOiB0aGVtZS5wYWxldHRlLm1vZGUgPT09IFwibGlnaHRcIiA/IHRoZW1lLnBhbGV0dGUucHJpbWFyeS5tYWluIDogY29tbW9uLndoaXRlLFxuXHRtYXJnaW5Cb3R0b206IDE2XG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OUdiM0ppYVdSa1pXNHZSbTl5WW1sa1pHVnVMblJ6ZUNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGblFuTkNJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5R2IzSmlhV1JrWlc0dlJtOXlZbWxrWkdWdUxuUnplQ0lzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCTWIyTnJTV052YmlCbWNtOXRJQ2RBYlhWcEwybGpiMjV6TFcxaGRHVnlhV0ZzTDB4dlkyc25PMXh1YVcxd2IzSjBJRUp2ZUNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwSnZlQ2M3WEc1cGJYQnZjblFnUW5WMGRHOXVJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UW5WMGRHOXVKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaUI5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCU1pXRmpkQ3dnZXlCMWMyVkRZV3hzWW1GamF5QjlJR1p5YjIwZ0ozSmxZV04wSnp0Y2JtbHRjRzl5ZENCN0lIVnpaVlJ5WVc1emJHRjBhVzl1SUgwZ1puSnZiU0FuY21WaFkzUXRhVEU0Ym1WNGRDYzdYRzVwYlhCdmNuUWdleUIxYzJWT1lYWnBaMkYwWlNCOUlHWnliMjBnSjNKbFlXTjBMWEp2ZFhSbGNpYzdYRzVjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaWM3WEc1cGJYQnZjblFnU0dWaFpHbHVaeUJtY205dElDY3VMaTlJWldGa2FXNW5KenRjYmx4dVkyOXVjM1FnUTI5dWRHRnBibVZ5SUQwZ2MzUjViR1ZrS0Nka2FYWW5LU2g3WEc0Z0lHMWhjbWRwYmpvZ0p6QWdZWFYwYnljc1hHNTlLVHRjYmx4dVkyOXVjM1FnVTNSNWJHVmtTR1ZoWkdsdVp5QTlJSE4wZVd4bFpDaElaV0ZrYVc1bktUeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LSHNnZEdobGJXVWdmU2tnUFQ0Z0tIdGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdWJXOWtaU0E5UFQwZ0oyeHBaMmgwSnlBL0lIUm9aVzFsTG5CaGJHVjBkR1V1Y0hKcGJXRnllUzV0WVdsdUlEb2dZMjl0Ylc5dUxuZG9hWFJsTEZ4dUlDQnRZWEpuYVc1Q2IzUjBiMjA2SURFMkxGeHVmU2twTzF4dVhHNWpiMjV6ZENCR2IzSmlhV1JrWlc0NklGSmxZV04wTGtaRElEMGdLQ2tnUFQ0Z2UxeHVJQ0JqYjI1emRDQnVZWFpwWjJGMFpTQTlJSFZ6WlU1aGRtbG5ZWFJsS0NrN1hHNWNiaUFnWTI5dWMzUWdleUIwSUgwZ1BTQjFjMlZVY21GdWMyeGhkR2x2YmlncE8xeHVYRzRnSUdOdmJuTjBJR2hoYm1Sc1pVZHZTRzl0WlNBOUlIVnpaVU5oYkd4aVlXTnJLQ2dwSUQwK0lIdGNiaUFnSUNCdVlYWnBaMkYwWlNnbkx5Y3BPMXh1SUNCOUxDQmJibUYyYVdkaGRHVmRLVHRjYmx4dUlDQnlaWFIxY200Z0tGeHVJQ0FnSUR4Q2IzaGNiaUFnSUNBZ0lHRnNhV2R1U1hSbGJYTTlYQ0pqWlc1MFpYSmNJbHh1SUNBZ0lDQWdaR0YwWVMxMFpYTjBhV1E5WENJME1EUmNJbHh1SUNBZ0lDQWdaR2x6Y0d4aGVUMWNJbVpzWlhoY0lseHVJQ0FnSUNBZ1pteGxlRVJwY21WamRHbHZiajFjSW1OdmJIVnRibHdpWEc0Z0lDQWdJQ0JtYkdWNFIzSnZkejE3TVgxY2JpQWdJQ0FnSUdwMWMzUnBabmxEYjI1MFpXNTBQVndpWTJWdWRHVnlYQ0pjYmlBZ0lDQWdJSEE5ZXpKOVhHNGdJQ0FnUGx4dUlDQWdJQ0FnUEVOdmJuUmhhVzVsY2o1Y2JpQWdJQ0FnSUNBZ1BFeHZZMnRKWTI5dUlHTnZiRzl5UFZ3aWNISnBiV0Z5ZVZ3aUlITjBlV3hsUFh0N0lHWnZiblJUYVhwbE9pQXlNellnZlgwZ0x6NWNiaUFnSUNBZ0lEd3ZRMjl1ZEdGcGJtVnlQbHh1SUNBZ0lDQWdQRk4wZVd4bFpFaGxZV1JwYm1jZ1kyeGhjM05PWVcxbFBWd2libTkwTFdadmRXNWtMWFJsZUhSY0lpQjJZWEpwWVc1MFBWd2lhRFJjSWo1Y2JpQWdJQ0FnSUNBZ2UzUW9KMlZ5Y205eUxqUXdNUzV6YjNKeWVTMXVieTFoWTJObGMzTW5LWDFjYmlBZ0lDQWdJRHd2VTNSNWJHVmtTR1ZoWkdsdVp6NWNiaUFnSUNBZ0lEeENkWFIwYjI0Z1pHRjBZUzEwWlhOMGFXUTlYQ0p1YjNRdFptOTFibVF0WjI4dGRHOHRhRzl0WlMxaWRYUjBiMjVjSWlCdmJrTnNhV05yUFh0b1lXNWtiR1ZIYjBodmJXVjlJSFpoY21saGJuUTlYQ0pqYjI1MFlXbHVaV1JjSWo1Y2JpQWdJQ0FnSUNBZ2UzUW9KMkoxZEhSdmJpNW5ieTEwYnkxMGFHVXRhRzl0WlMxd1lXZGxKeWw5WEc0Z0lDQWdJQ0E4TDBKMWRIUnZiajVjYmlBZ0lDQThMMEp2ZUQ1Y2JpQWdLVHRjYm4wN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElFWnZjbUpwWkdSbGJqdGNibVY0Y0c5eWRDQjdJRVp2Y21KcFpHUmxiaUI5TzF4dUlsMTkgKi9cIik7XG52YXIgRm9yYmlkZGVuID0gKCkgPT4ge1xuXHRjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG5cdGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcblx0Y29uc3QgaGFuZGxlR29Ib21lID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuXHRcdG5hdmlnYXRlKFwiL1wiKTtcblx0fSwgW25hdmlnYXRlXSk7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhCb3gsIHtcblx0XHRhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuXHRcdFwiZGF0YS10ZXN0aWRcIjogXCI0MDRcIixcblx0XHRkaXNwbGF5OiBcImZsZXhcIixcblx0XHRmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuXHRcdGZsZXhHcm93OiAxLFxuXHRcdGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuXHRcdHA6IDIsXG5cdFx0Y2hpbGRyZW46IFtcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goQ29udGFpbmVyLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KExvY2tJY29uLCB7XG5cdFx0XHRcdGNvbG9yOiBcInByaW1hcnlcIixcblx0XHRcdFx0c3R5bGU6IHsgZm9udFNpemU6IDIzNiB9XG5cdFx0XHR9KSB9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goU3R5bGVkSGVhZGluZywge1xuXHRcdFx0XHRjbGFzc05hbWU6IFwibm90LWZvdW5kLXRleHRcIixcblx0XHRcdFx0dmFyaWFudDogXCJoNFwiLFxuXHRcdFx0XHRjaGlsZHJlbjogdChcImVycm9yLjQwMS5zb3JyeS1uby1hY2Nlc3NcIilcblx0XHRcdH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChCdXR0b24sIHtcblx0XHRcdFx0XCJkYXRhLXRlc3RpZFwiOiBcIm5vdC1mb3VuZC1nby10by1ob21lLWJ1dHRvblwiLFxuXHRcdFx0XHRvbkNsaWNrOiBoYW5kbGVHb0hvbWUsXG5cdFx0XHRcdHZhcmlhbnQ6IFwiY29udGFpbmVkXCIsXG5cdFx0XHRcdGNoaWxkcmVuOiB0KFwiYnV0dG9uLmdvLXRvLXRoZS1ob21lLXBhZ2VcIilcblx0XHRcdH0pXG5cdFx0XVxuXHR9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IEZvcmJpZGRlbiBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUZvcmJpZGRlbi5tanMubWFwIiwiaW1wb3J0IEhlYWRpbmcgZnJvbSBcIi4uL0hlYWRpbmcvSGVhZGluZy5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2luZGV4Lm1qc1wiO1xuaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG5pbXBvcnQgeyBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBJY29uQnV0dG9uIGZyb20gXCJAbXVpL21hdGVyaWFsL0ljb25CdXR0b25cIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgQm94IGZyb20gXCJAbXVpL21hdGVyaWFsL0JveFwiO1xuaW1wb3J0IENsb3NlSWNvbiBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9DbG9zZVwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IHsgY29tbW9uIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvY29sb3JzXCI7XG5pbXBvcnQgQXZhdGFyIGZyb20gXCJAbXVpL21hdGVyaWFsL0F2YXRhclwiO1xuaW1wb3J0IExvY2tPdXRsaW5lZCBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9Mb2NrT3V0bGluZWRcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9Mb2dpbkZvcm0vc3R5bGVzLnRzeFxudmFyIExvZ2luRm9ybUhlYWRlciA9ICh7IG9uQ2xvc2UgfSkgPT4ge1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhCb3gsIHtcblx0XHRhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuXHRcdGRpc3BsYXk6IFwiZmxleFwiLFxuXHRcdGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG5cdFx0cG9zaXRpb246IFwicmVsYXRpdmVcIixcblx0XHRjaGlsZHJlbjogW1xuXHRcdFx0b25DbG9zZSAmJiAvKiBAX19QVVJFX18gKi8ganN4KFN0eWxlZEljb25CdXR0b24sIHtcblx0XHRcdFx0XCJhcmlhLWxhYmVsXCI6IHQoXCJidXR0b24uY2xvc2VcIiksXG5cdFx0XHRcdG9uQ2xpY2s6IG9uQ2xvc2UsXG5cdFx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KENsb3NlSWNvbiwge30pXG5cdFx0XHR9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goU3R5bGVkQXZhdGFyLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KExvY2tPdXRsaW5lZCwge30pIH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChIZWFkaW5nLCB7IGNoaWxkcmVuOiB0KFwiYnV0dG9uLmxvZ2luXCIpIH0pXG5cdFx0XVxuXHR9KTtcbn07XG52YXIgU3R5bGVkQXZhdGFyID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoQXZhdGFyLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJldmU0MTdnMVwiIH0gOiB7XG5cdHRhcmdldDogXCJldmU0MTdnMVwiLFxuXHRsYWJlbDogXCJTdHlsZWRBdmF0YXJcIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0bWFyZ2luOiB0aGVtZS5zcGFjaW5nKDEpLFxuXHRiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUubW9kZSA9PT0gXCJsaWdodFwiID8gdGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW4gOiB0aGVtZS5wYWxldHRlLmN5YW5CbHVlLFxuXHRjb2xvcjogY29tbW9uLndoaXRlXG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OU1iMmRwYmtadmNtMHZjM1I1YkdWekxuUnplQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZ0UTNGQ0lpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlNYjJkcGJrWnZjbTB2YzNSNWJHVnpMblJ6ZUNJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQkRiRzl6WlVsamIyNGdabkp2YlNBblFHMTFhUzlwWTI5dWN5MXRZWFJsY21saGJDOURiRzl6WlNjN1hHNXBiWEJ2Y25RZ1RHOWphMDkxZEd4cGJtVmtJR1p5YjIwZ0owQnRkV2t2YVdOdmJuTXRiV0YwWlhKcFlXd3ZURzlqYTA5MWRHeHBibVZrSnp0Y2JtbHRjRzl5ZENCQmRtRjBZWElnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5QmRtRjBZWEluTzF4dWFXMXdiM0owSUVKdmVDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMEp2ZUNjN1hHNXBiWEJ2Y25RZ1NXTnZia0oxZEhSdmJpQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMGxqYjI1Q2RYUjBiMjRuTzF4dWFXMXdiM0owSUhzZ1kyOXRiVzl1SUgwZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOWpiMnh2Y25Nbk8xeHVhVzF3YjNKMElGSmxZV04wSUdaeWIyMGdKM0psWVdOMEp6dGNibWx0Y0c5eWRDQjdJSFZ6WlZSeVlXNXpiR0YwYVc5dUlIMGdabkp2YlNBbmNtVmhZM1F0YVRFNGJtVjRkQ2M3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk4bk8xeHVhVzF3YjNKMElIc2dTR1ZoWkdsdVp5QjlJR1p5YjIwZ0p5NHVMeTR1THljN1hHNWNibWx1ZEdWeVptRmpaU0JRY205d2N5QjdYRzRnSUc5dVEyeHZjMlUvT2lBb0tTQTlQaUIyYjJsa08xeHVmVnh1WEc1amIyNXpkQ0JNYjJkcGJrWnZjbTFJWldGa1pYSTZJRkpsWVdOMExrWkRQRkJ5YjNCelBpQTlJQ2g3SUc5dVEyeHZjMlVnZlNrZ1BUNGdlMXh1SUNCamIyNXpkQ0I3SUhRZ2ZTQTlJSFZ6WlZSeVlXNXpiR0YwYVc5dUtDazdYRzVjYmlBZ2NtVjBkWEp1SUNoY2JpQWdJQ0E4UW05NElHRnNhV2R1U1hSbGJYTTlYQ0pqWlc1MFpYSmNJaUJrYVhOd2JHRjVQVndpWm14bGVGd2lJR1pzWlhoRWFYSmxZM1JwYjI0OVhDSmpiMngxYlc1Y0lpQndiM05wZEdsdmJqMWNJbkpsYkdGMGFYWmxYQ0krWEc0Z0lDQWdJQ0I3YjI1RGJHOXpaU0FtSmlBb1hHNGdJQ0FnSUNBZ0lEeFRkSGxzWldSSlkyOXVRblYwZEc5dUlHRnlhV0V0YkdGaVpXdzllM1FvSjJKMWRIUnZiaTVqYkc5elpTY3BmU0J2YmtOc2FXTnJQWHR2YmtOc2IzTmxmVDVjYmlBZ0lDQWdJQ0FnSUNBOFEyeHZjMlZKWTI5dUlDOCtYRzRnSUNBZ0lDQWdJRHd2VTNSNWJHVmtTV052YmtKMWRIUnZiajVjYmlBZ0lDQWdJQ2w5WEc0Z0lDQWdJQ0E4VTNSNWJHVmtRWFpoZEdGeVBseHVJQ0FnSUNBZ0lDQThURzlqYTA5MWRHeHBibVZrSUM4K1hHNGdJQ0FnSUNBOEwxTjBlV3hsWkVGMllYUmhjajVjYmlBZ0lDQWdJRHhJWldGa2FXNW5QbnQwS0NkaWRYUjBiMjR1Ykc5bmFXNG5LWDA4TDBobFlXUnBibWMrWEc0Z0lDQWdQQzlDYjNnK1hHNGdJQ2s3WEc1OU8xeHVYRzVqYjI1emRDQlRkSGxzWldSQmRtRjBZWElnUFNCemRIbHNaV1FvUVhaaGRHRnlLVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ2JXRnlaMmx1T2lCMGFHVnRaUzV6Y0dGamFXNW5LREVwTEZ4dUlDQmlZV05yWjNKdmRXNWtRMjlzYjNJNlhHNGdJQ0FnZEdobGJXVXVjR0ZzWlhSMFpTNXRiMlJsSUQwOVBTQW5iR2xuYUhRbklEOGdkR2hsYldVdWNHRnNaWFIwWlM1d2NtbHRZWEo1TG0xaGFXNGdPaUIwYUdWdFpTNXdZV3hsZEhSbExtTjVZVzVDYkhWbExGeHVJQ0JqYjJ4dmNqb2dZMjl0Ylc5dUxuZG9hWFJsTEZ4dWZTa3BPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUkpZMjl1UW5WMGRHOXVJRDBnYzNSNWJHVmtLRWxqYjI1Q2RYUjBiMjRwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQndiM05wZEdsdmJqb2dKMkZpYzI5c2RYUmxKeXhjYmlBZ2NtbG5hSFE2SUhSb1pXMWxMbk53WVdOcGJtY29LU0F2SURJc1hHNGdJSFJ2Y0RvZ2RHaGxiV1V1YzNCaFkybHVaeWdwSUM4Z01peGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdVozSmxlVnMxTURCZExGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCTWIyZHBia1p2Y20xSVpXRmtaWEk3WEc0aVhYMD0gKi9cIik7XG52YXIgU3R5bGVkSWNvbkJ1dHRvbiA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKEljb25CdXR0b24sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImV2ZTQxN2cwXCIgfSA6IHtcblx0dGFyZ2V0OiBcImV2ZTQxN2cwXCIsXG5cdGxhYmVsOiBcIlN0eWxlZEljb25CdXR0b25cIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0cG9zaXRpb246IFwiYWJzb2x1dGVcIixcblx0cmlnaHQ6IHRoZW1lLnNwYWNpbmcoKSAvIDIsXG5cdHRvcDogdGhlbWUuc3BhY2luZygpIC8gMixcblx0Y29sb3I6IHRoZW1lLnBhbGV0dGUuZ3JleVs1MDBdXG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OU1iMmRwYmtadmNtMHZjM1I1YkdWekxuUnplQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUV3UTNsQ0lpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlNYjJkcGJrWnZjbTB2YzNSNWJHVnpMblJ6ZUNJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQkRiRzl6WlVsamIyNGdabkp2YlNBblFHMTFhUzlwWTI5dWN5MXRZWFJsY21saGJDOURiRzl6WlNjN1hHNXBiWEJ2Y25RZ1RHOWphMDkxZEd4cGJtVmtJR1p5YjIwZ0owQnRkV2t2YVdOdmJuTXRiV0YwWlhKcFlXd3ZURzlqYTA5MWRHeHBibVZrSnp0Y2JtbHRjRzl5ZENCQmRtRjBZWElnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5QmRtRjBZWEluTzF4dWFXMXdiM0owSUVKdmVDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMEp2ZUNjN1hHNXBiWEJ2Y25RZ1NXTnZia0oxZEhSdmJpQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMGxqYjI1Q2RYUjBiMjRuTzF4dWFXMXdiM0owSUhzZ1kyOXRiVzl1SUgwZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOWpiMnh2Y25Nbk8xeHVhVzF3YjNKMElGSmxZV04wSUdaeWIyMGdKM0psWVdOMEp6dGNibWx0Y0c5eWRDQjdJSFZ6WlZSeVlXNXpiR0YwYVc5dUlIMGdabkp2YlNBbmNtVmhZM1F0YVRFNGJtVjRkQ2M3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk4bk8xeHVhVzF3YjNKMElIc2dTR1ZoWkdsdVp5QjlJR1p5YjIwZ0p5NHVMeTR1THljN1hHNWNibWx1ZEdWeVptRmpaU0JRY205d2N5QjdYRzRnSUc5dVEyeHZjMlUvT2lBb0tTQTlQaUIyYjJsa08xeHVmVnh1WEc1amIyNXpkQ0JNYjJkcGJrWnZjbTFJWldGa1pYSTZJRkpsWVdOMExrWkRQRkJ5YjNCelBpQTlJQ2g3SUc5dVEyeHZjMlVnZlNrZ1BUNGdlMXh1SUNCamIyNXpkQ0I3SUhRZ2ZTQTlJSFZ6WlZSeVlXNXpiR0YwYVc5dUtDazdYRzVjYmlBZ2NtVjBkWEp1SUNoY2JpQWdJQ0E4UW05NElHRnNhV2R1U1hSbGJYTTlYQ0pqWlc1MFpYSmNJaUJrYVhOd2JHRjVQVndpWm14bGVGd2lJR1pzWlhoRWFYSmxZM1JwYjI0OVhDSmpiMngxYlc1Y0lpQndiM05wZEdsdmJqMWNJbkpsYkdGMGFYWmxYQ0krWEc0Z0lDQWdJQ0I3YjI1RGJHOXpaU0FtSmlBb1hHNGdJQ0FnSUNBZ0lEeFRkSGxzWldSSlkyOXVRblYwZEc5dUlHRnlhV0V0YkdGaVpXdzllM1FvSjJKMWRIUnZiaTVqYkc5elpTY3BmU0J2YmtOc2FXTnJQWHR2YmtOc2IzTmxmVDVjYmlBZ0lDQWdJQ0FnSUNBOFEyeHZjMlZKWTI5dUlDOCtYRzRnSUNBZ0lDQWdJRHd2VTNSNWJHVmtTV052YmtKMWRIUnZiajVjYmlBZ0lDQWdJQ2w5WEc0Z0lDQWdJQ0E4VTNSNWJHVmtRWFpoZEdGeVBseHVJQ0FnSUNBZ0lDQThURzlqYTA5MWRHeHBibVZrSUM4K1hHNGdJQ0FnSUNBOEwxTjBlV3hsWkVGMllYUmhjajVjYmlBZ0lDQWdJRHhJWldGa2FXNW5QbnQwS0NkaWRYUjBiMjR1Ykc5bmFXNG5LWDA4TDBobFlXUnBibWMrWEc0Z0lDQWdQQzlDYjNnK1hHNGdJQ2s3WEc1OU8xeHVYRzVqYjI1emRDQlRkSGxzWldSQmRtRjBZWElnUFNCemRIbHNaV1FvUVhaaGRHRnlLVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ2JXRnlaMmx1T2lCMGFHVnRaUzV6Y0dGamFXNW5LREVwTEZ4dUlDQmlZV05yWjNKdmRXNWtRMjlzYjNJNlhHNGdJQ0FnZEdobGJXVXVjR0ZzWlhSMFpTNXRiMlJsSUQwOVBTQW5iR2xuYUhRbklEOGdkR2hsYldVdWNHRnNaWFIwWlM1d2NtbHRZWEo1TG0xaGFXNGdPaUIwYUdWdFpTNXdZV3hsZEhSbExtTjVZVzVDYkhWbExGeHVJQ0JqYjJ4dmNqb2dZMjl0Ylc5dUxuZG9hWFJsTEZ4dWZTa3BPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUkpZMjl1UW5WMGRHOXVJRDBnYzNSNWJHVmtLRWxqYjI1Q2RYUjBiMjRwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQndiM05wZEdsdmJqb2dKMkZpYzI5c2RYUmxKeXhjYmlBZ2NtbG5hSFE2SUhSb1pXMWxMbk53WVdOcGJtY29LU0F2SURJc1hHNGdJSFJ2Y0RvZ2RHaGxiV1V1YzNCaFkybHVaeWdwSUM4Z01peGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdVozSmxlVnMxTURCZExGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCTWIyZHBia1p2Y20xSVpXRmtaWEk3WEc0aVhYMD0gKi9cIik7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IExvZ2luRm9ybUhlYWRlciBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0eWxlcy5tanMubWFwIiwiaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBJY29uQnV0dG9uIGZyb20gXCJAbXVpL21hdGVyaWFsL0ljb25CdXR0b25cIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgQ2xvc2VJY29uIGZyb20gXCJAbXVpL2ljb25zLW1hdGVyaWFsL0Nsb3NlXCI7XG5pbXBvcnQgRGlhbG9nVGl0bGUgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvRGlhbG9nVGl0bGVcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9Mb2dpbkRpYWxvZy9Mb2dpbkRpYWxvZ0Nsb3NlQnV0dG9uLnRzeFxudmFyIFN0eWxlZEljb25CdXR0b24gPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChJY29uQnV0dG9uLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMXlsM3NmaDBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTF5bDNzZmgwXCIsXG5cdGxhYmVsOiBcIlN0eWxlZEljb25CdXR0b25cIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0cG9zaXRpb246IFwiYWJzb2x1dGVcIixcblx0cmlnaHQ6IHRoZW1lLnNwYWNpbmcoKSAvIDIsXG5cdHRvcDogdGhlbWUuc3BhY2luZygpIC8gMixcblx0Y29sb3I6IHRoZW1lLnBhbGV0dGUuZ3JleVs1MDBdLFxuXHR6SW5kZXg6IDk5XG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OU1iMmRwYmtScFlXeHZaeTlNYjJkcGJrUnBZV3h2WjBOc2IzTmxRblYwZEc5dUxuUnplQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZUZVVJaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OWpiMjF3YjI1bGJuUnpMMHh2WjJsdVJHbGhiRzluTDB4dloybHVSR2xoYkc5blEyeHZjMlZDZFhSMGIyNHVkSE40SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVhVzF3YjNKMElFTnNiM05sU1dOdmJpQm1jbTl0SUNkQWJYVnBMMmxqYjI1ekxXMWhkR1Z5YVdGc0wwTnNiM05sSnp0Y2JtbHRjRzl5ZENCRWFXRnNiMmRVYVhSc1pTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMFJwWVd4dloxUnBkR3hsSnp0Y2JtbHRjRzl5ZENCSlkyOXVRblYwZEc5dUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZTV052YmtKMWRIUnZiaWM3WEc1cGJYQnZjblFnVW1WaFkzUWdabkp2YlNBbmNtVmhZM1FuTzF4dWFXMXdiM0owSUhzZ2RYTmxWSEpoYm5Oc1lYUnBiMjRnZlNCbWNtOXRJQ2R5WldGamRDMXBNVGh1WlhoMEp6dGNibHh1YVcxd2IzSjBJSFI1Y0dVZ2V5QlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMeWM3WEc1Y2JtTnZibk4wSUZOMGVXeGxaRWxqYjI1Q2RYUjBiMjRnUFNCemRIbHNaV1FvU1dOdmJrSjFkSFJ2YmlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJSEJ2YzJsMGFXOXVPaUFuWVdKemIyeDFkR1VuTEZ4dUlDQnlhV2RvZERvZ2RHaGxiV1V1YzNCaFkybHVaeWdwSUM4Z01peGNiaUFnZEc5d09pQjBhR1Z0WlM1emNHRmphVzVuS0NrZ0x5QXlMRnh1SUNCamIyeHZjam9nZEdobGJXVXVjR0ZzWlhSMFpTNW5jbVY1V3pVd01GMHNYRzRnSUhwSmJtUmxlRG9nT1Rrc1hHNTlLU2s3WEc1Y2JtbHVkR1Z5Wm1GalpTQlFjbTl3Y3lCN1hHNGdJRzl1UTJ4dmMyVTZJQ2dwSUQwK0lIWnZhV1E3WEc1OVhHNWNibU52Ym5OMElFeHZaMmx1UkdsaGJHOW5RMnh2YzJWQ2RYUjBiMjQ2SUZKbFlXTjBMa1pEUEZCeWIzQnpQaUE5SUNoN0lHOXVRMnh2YzJVZ2ZTa2dQVDRnZTF4dUlDQmpiMjV6ZENCN0lIUWdmU0E5SUhWelpWUnlZVzV6YkdGMGFXOXVLQ2s3WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEVScFlXeHZaMVJwZEd4bFBseHVJQ0FnSUNBZ1BGTjBlV3hsWkVsamIyNUNkWFIwYjI0Z1pHRjBZUzEwWlhOMGFXUTlYQ0pqYkc5elpTMXNiMmRwYmkxa2FXRnNiMmN0WW5WMGRHOXVYQ0lnYjI1RGJHbGphejE3YjI1RGJHOXpaWDArWEc0Z0lDQWdJQ0FnSUR4RGJHOXpaVWxqYjI0Z2RHbDBiR1ZCWTJObGMzTTllM1FvSjJKMWRIUnZiaTVqYkc5elpTY3BmU0F2UGx4dUlDQWdJQ0FnUEM5VGRIbHNaV1JKWTI5dVFuVjBkRzl1UGx4dUlDQWdJRHd2UkdsaGJHOW5WR2wwYkdVK1hHNGdJQ2s3WEc1OU8xeHVYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQk1iMmRwYmtScFlXeHZaME5zYjNObFFuVjBkRzl1TzF4dUlsMTkgKi9cIik7XG52YXIgTG9naW5EaWFsb2dDbG9zZUJ1dHRvbiA9ICh7IG9uQ2xvc2UgfSkgPT4ge1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KERpYWxvZ1RpdGxlLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFN0eWxlZEljb25CdXR0b24sIHtcblx0XHRcImRhdGEtdGVzdGlkXCI6IFwiY2xvc2UtbG9naW4tZGlhbG9nLWJ1dHRvblwiLFxuXHRcdG9uQ2xpY2s6IG9uQ2xvc2UsXG5cdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goQ2xvc2VJY29uLCB7IHRpdGxlQWNjZXNzOiB0KFwiYnV0dG9uLmNsb3NlXCIpIH0pXG5cdH0pIH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgTG9naW5EaWFsb2dDbG9zZUJ1dHRvbiBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUxvZ2luRGlhbG9nQ2xvc2VCdXR0b24ubWpzLm1hcCIsImltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgQm94IGZyb20gXCJAbXVpL21hdGVyaWFsL0JveFwiO1xuaW1wb3J0IHsgY29tbW9uIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvY29sb3JzXCI7XG5pbXBvcnQgRXJyb3IgZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvRXJyb3JcIjtcbmltcG9ydCBTbmFja2JhckNvbnRlbnQgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvU25hY2tiYXJDb250ZW50XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvTG9naW5EaWFsb2cvTG9naW5EaWFsb2dGb3JtRXJyb3IudHN4XG52YXIgU3R5bGVkU25hY2tiYXJDb250ZW50ID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoU25hY2tiYXJDb250ZW50LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMjB2bTg1MVwiIH0gOiB7XG5cdHRhcmdldDogXCJlMjB2bTg1MVwiLFxuXHRsYWJlbDogXCJTdHlsZWRTbmFja2JhckNvbnRlbnRcIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0YmFja2dyb3VuZENvbG9yOiB0aGVtZS5wYWxldHRlLmVycm9yLmRhcmssXG5cdG1hcmdpblRvcDogdGhlbWUuc3BhY2luZygyKSxcblx0Y29sb3I6IGNvbW1vbi53aGl0ZVxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlNYjJkcGJrUnBZV3h2Wnk5TWIyZHBia1JwWVd4dlowWnZjbTFGY25KdmNpNTBjM2dpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCVXpoQ0lpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlNYjJkcGJrUnBZV3h2Wnk5TWIyZHBia1JwWVd4dlowWnZjbTFGY25KdmNpNTBjM2dpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnYzNSNWJHVmtJR1p5YjIwZ0owQmxiVzkwYVc5dUwzTjBlV3hsWkNjN1hHNXBiWEJ2Y25RZ1JYSnliM0lnWm5KdmJTQW5RRzExYVM5cFkyOXVjeTF0WVhSbGNtbGhiQzlGY25KdmNpYzdYRzVwYlhCdmNuUWdRbTk0SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlFtOTRKenRjYm1sdGNHOXlkQ0JUYm1GamEySmhja052Ym5SbGJuUWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlUYm1GamEySmhja052Ym5SbGJuUW5PMXh1YVcxd2IzSjBJSHNnWTI5dGJXOXVJSDBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5amIyeHZjbk1uTzF4dWFXMXdiM0owSUZKbFlXTjBMQ0I3SUcxbGJXOGdmU0JtY205dElDZHlaV0ZqZENjN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOG5PMXh1WEc1amIyNXpkQ0JUZEhsc1pXUlRibUZqYTJKaGNrTnZiblJsYm5RZ1BTQnpkSGxzWldRb1UyNWhZMnRpWVhKRGIyNTBaVzUwS1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIc2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdZbUZqYTJkeWIzVnVaRU52Ykc5eU9pQjBhR1Z0WlM1d1lXeGxkSFJsTG1WeWNtOXlMbVJoY21zc1hHNGdJRzFoY21kcGJsUnZjRG9nZEdobGJXVXVjM0JoWTJsdVp5Z3lLU3hjYmlBZ1kyOXNiM0k2SUdOdmJXMXZiaTUzYUdsMFpTeGNibjBwS1R0Y2JseHVZMjl1YzNRZ1UzUjViR1ZrUlhKeWIzSkpZMjl1SUQwZ2MzUjViR1ZrS0VWeWNtOXlLVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ1ptOXVkRk5wZW1VNklESXdMRnh1SUNCdmNHRmphWFI1T2lBd0xqa3NYRzRnSUcxaGNtZHBibEpwWjJoME9pQjBhR1Z0WlM1emNHRmphVzVuS0RFcExGeHVmU2twTzF4dVhHNXBiblJsY21aaFkyVWdVSEp2Y0hNZ2UxeHVJQ0JsY25KdmNqb2dZVzU1TzF4dWZWeHVYRzVqYjI1emRDQk1iMmRwYmtScFlXeHZaMFp2Y20xRmNuSnZjaUE5SUcxbGJXOG9LSHNnWlhKeWIzSWdmVG9nVUhKdmNITXBJRDArSUh0Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNBOFUzUjViR1ZrVTI1aFkydGlZWEpEYjI1MFpXNTBYRzRnSUNBZ0lDQnRaWE56WVdkbFBYdGNiaUFnSUNBZ0lDQWdQRUp2ZUNCaGJHbG5ia2wwWlcxelBWd2lZMlZ1ZEdWeVhDSWdaR0YwWVMxMFpYTjBhV1E5WENKbGNuSnZjbHdpSUdScGMzQnNZWGs5WENKbWJHVjRYQ0krWEc0Z0lDQWdJQ0FnSUNBZ1BGTjBlV3hsWkVWeWNtOXlTV052YmlBdlBseHVJQ0FnSUNBZ0lDQWdJSHRsY25KdmNpNXRaWE56WVdkbGZWeHVJQ0FnSUNBZ0lDQThMMEp2ZUQ1Y2JpQWdJQ0FnSUgxY2JpQWdJQ0F2UGx4dUlDQXBPMXh1ZlNrN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElFeHZaMmx1UkdsaGJHOW5SbTl5YlVWeWNtOXlPMXh1SWwxOSAqL1wiKTtcbnZhciBTdHlsZWRFcnJvckljb24gPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChFcnJvciwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTIwdm04NTBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTIwdm04NTBcIixcblx0bGFiZWw6IFwiU3R5bGVkRXJyb3JJY29uXCJcbn0pKCh7IHRoZW1lIH0pID0+ICh7XG5cdGZvbnRTaXplOiAyMCxcblx0b3BhY2l0eTogLjksXG5cdG1hcmdpblJpZ2h0OiB0aGVtZS5zcGFjaW5nKDEpXG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OU1iMmRwYmtScFlXeHZaeTlNYjJkcGJrUnBZV3h2WjBadmNtMUZjbkp2Y2k1MGMzZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJaWGRDSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OU1iMmRwYmtScFlXeHZaeTlNYjJkcGJrUnBZV3h2WjBadmNtMUZjbkp2Y2k1MGMzZ2lMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdjM1I1YkdWa0lHWnliMjBnSjBCbGJXOTBhVzl1TDNOMGVXeGxaQ2M3WEc1cGJYQnZjblFnUlhKeWIzSWdabkp2YlNBblFHMTFhUzlwWTI5dWN5MXRZWFJsY21saGJDOUZjbkp2Y2ljN1hHNXBiWEJ2Y25RZ1FtOTRJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UW05NEp6dGNibWx0Y0c5eWRDQlRibUZqYTJKaGNrTnZiblJsYm5RZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOVRibUZqYTJKaGNrTnZiblJsYm5Rbk8xeHVhVzF3YjNKMElIc2dZMjl0Ylc5dUlIMGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlqYjJ4dmNuTW5PMXh1YVcxd2IzSjBJRkpsWVdOMExDQjdJRzFsYlc4Z2ZTQm1jbTl0SUNkeVpXRmpkQ2M3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk4bk8xeHVYRzVqYjI1emRDQlRkSGxzWldSVGJtRmphMkpoY2tOdmJuUmxiblFnUFNCemRIbHNaV1FvVTI1aFkydGlZWEpEYjI1MFpXNTBLVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ1ltRmphMmR5YjNWdVpFTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMbVZ5Y205eUxtUmhjbXNzWEc0Z0lHMWhjbWRwYmxSdmNEb2dkR2hsYldVdWMzQmhZMmx1WnlneUtTeGNiaUFnWTI5c2IzSTZJR052YlcxdmJpNTNhR2wwWlN4Y2JuMHBLVHRjYmx4dVkyOXVjM1FnVTNSNWJHVmtSWEp5YjNKSlkyOXVJRDBnYzNSNWJHVmtLRVZ5Y205eUtUeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LSHNnZEdobGJXVWdmU2tnUFQ0Z0tIdGNiaUFnWm05dWRGTnBlbVU2SURJd0xGeHVJQ0J2Y0dGamFYUjVPaUF3TGprc1hHNGdJRzFoY21kcGJsSnBaMmgwT2lCMGFHVnRaUzV6Y0dGamFXNW5LREVwTEZ4dWZTa3BPMXh1WEc1cGJuUmxjbVpoWTJVZ1VISnZjSE1nZTF4dUlDQmxjbkp2Y2pvZ1lXNTVPMXh1ZlZ4dVhHNWpiMjV6ZENCTWIyZHBia1JwWVd4dlowWnZjbTFGY25KdmNpQTlJRzFsYlc4b0tIc2daWEp5YjNJZ2ZUb2dVSEp2Y0hNcElEMCtJSHRjYmlBZ2NtVjBkWEp1SUNoY2JpQWdJQ0E4VTNSNWJHVmtVMjVoWTJ0aVlYSkRiMjUwWlc1MFhHNGdJQ0FnSUNCdFpYTnpZV2RsUFh0Y2JpQWdJQ0FnSUNBZ1BFSnZlQ0JoYkdsbmJrbDBaVzF6UFZ3aVkyVnVkR1Z5WENJZ1pHRjBZUzEwWlhOMGFXUTlYQ0psY25KdmNsd2lJR1JwYzNCc1lYazlYQ0ptYkdWNFhDSStYRzRnSUNBZ0lDQWdJQ0FnUEZOMGVXeGxaRVZ5Y205eVNXTnZiaUF2UGx4dUlDQWdJQ0FnSUNBZ0lIdGxjbkp2Y2k1dFpYTnpZV2RsZlZ4dUlDQWdJQ0FnSUNBOEwwSnZlRDVjYmlBZ0lDQWdJSDFjYmlBZ0lDQXZQbHh1SUNBcE8xeHVmU2s3WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUV4dloybHVSR2xoYkc5blJtOXliVVZ5Y205eU8xeHVJbDE5ICovXCIpO1xudmFyIExvZ2luRGlhbG9nRm9ybUVycm9yID0gbWVtbygoeyBlcnJvciB9KSA9PiB7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFN0eWxlZFNuYWNrYmFyQ29udGVudCwgeyBtZXNzYWdlOiAvKiBAX19QVVJFX18gKi8ganN4cyhCb3gsIHtcblx0XHRhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuXHRcdFwiZGF0YS10ZXN0aWRcIjogXCJlcnJvclwiLFxuXHRcdGRpc3BsYXk6IFwiZmxleFwiLFxuXHRcdGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChTdHlsZWRFcnJvckljb24sIHt9KSwgZXJyb3IubWVzc2FnZV1cblx0fSkgfSk7XG59KTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgTG9naW5EaWFsb2dGb3JtRXJyb3IgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Mb2dpbkRpYWxvZ0Zvcm1FcnJvci5tanMubWFwIiwiaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgVGV4dEZpZWxkIGZyb20gXCJAbXVpL21hdGVyaWFsL1RleHRGaWVsZFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0xvZ2luRm9ybS9QYXNzd29yZEZpZWxkLnRzeFxudmFyIFN0eWxlZFRleHRGaWVsZCA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFRleHRGaWVsZCwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTF2NDk4aTgwXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxdjQ5OGk4MFwiLFxuXHRsYWJlbDogXCJTdHlsZWRUZXh0RmllbGRcIlxufSkoKHsgdGhlbWUgfSkgPT4gKHsgbWFyZ2luVG9wOiB0aGVtZS5zcGFjaW5nKDIpIH0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5TWIyZHBia1p2Y20wdlVHRnpjM2R2Y21SR2FXVnNaQzUwYzNnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlZYZENJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5TWIyZHBia1p2Y20wdlVHRnpjM2R2Y21SR2FXVnNaQzUwYzNnaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2MzUjViR1ZrSUdaeWIyMGdKMEJsYlc5MGFXOXVMM04wZVd4bFpDYzdYRzVwYlhCdmNuUWdWR1Y0ZEVacFpXeGtJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VkdWNGRFWnBaV3hrSnp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnUmtNZ2ZTQm1jbTl0SUNkeVpXRmpkQ2M3WEc1cGJYQnZjblFnVW1WaFkzUWdabkp2YlNBbmNtVmhZM1FuTzF4dWFXMXdiM0owSUhSNWNHVWdleUJHYVdWc1pFVnljbTl5Y3lCOUlHWnliMjBnSjNKbFlXTjBMV2h2YjJzdFptOXliU2M3WEc1cGJYQnZjblFnZXlCMWMyVlVjbUZ1YzJ4aGRHbHZiaUI5SUdaeWIyMGdKM0psWVdOMExXa3hPRzVsZUhRbk8xeHVYRzVwYlhCdmNuUWdkSGx3WlNCN0lGUm9aVzFsSUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYm1sdGNHOXlkQ0IwZVhCbElIc2dRV1JrVlhObGNrWnZjbTFXWVd4MVpYTXNJRXh2WjJsdVJtOXliVlpoYkhWbGN5QjlJR1p5YjIwZ0p5NHVMeTR1TDNWMGFXeHpMM05qYUdWdFlYTW5PMXh1WEc1amIyNXpkQ0JUZEhsc1pXUlVaWGgwUm1sbGJHUWdQU0J6ZEhsc1pXUW9WR1Y0ZEVacFpXeGtLVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ2JXRnlaMmx1Vkc5d09pQjBhR1Z0WlM1emNHRmphVzVuS0RJcExGeHVmU2twTzF4dVhHNXBiblJsY21aaFkyVWdVSEp2Y0hNZ2UxeHVJQ0J5WldkcGMzUmxjam9nWVc1NU8xeHVJQ0JsY25KdmNuTTZJRVpwWld4a1JYSnliM0p6UEV4dloybHVSbTl5YlZaaGJIVmxjeUI4SUVGa1pGVnpaWEpHYjNKdFZtRnNkV1Z6UGp0Y2JuMWNibHh1WTI5dWMzUWdVR0Z6YzNkdmNtUkdhV1ZzWkRvZ1JrTThVSEp2Y0hNK0lEMGdLSHNnY21WbmFYTjBaWElzSUdWeWNtOXljeUI5S1NBOVBpQjdYRzRnSUdOdmJuTjBJSHNnZENCOUlEMGdkWE5sVkhKaGJuTnNZWFJwYjI0b0tUdGNibHh1SUNCeVpYUjFjbTRnS0Z4dUlDQWdJRHhUZEhsc1pXUlVaWGgwUm1sbGJHUmNiaUFnSUNBZ0lHRjFkRzlEYjIxd2JHVjBaVDFjSW1OMWNuSmxiblF0Y0dGemMzZHZjbVJjSWx4dUlDQWdJQ0FnWlhKeWIzSTlleUVoWlhKeWIzSnpMbkJoYzNOM2IzSmtmVnh1SUNBZ0lDQWdablZzYkZkcFpIUm9QWHQwY25WbGZWeHVJQ0FnSUNBZ2FHVnNjR1Z5VkdWNGREMTdaWEp5YjNKekxuQmhjM04zYjNKa1B5NXRaWE56WVdkbGZWeHVJQ0FnSUNBZ2FXUTlYQ0pzYjJkcGJpMHRaR2xoYkc5bkxYQmhjM04zYjNKa1hDSmNiaUFnSUNBZ0lIc3VMaTV5WldkcGMzUmxjaWduY0dGemMzZHZjbVFuTENCN1hHNGdJQ0FnSUNBZ0lISmxjWFZwY21Wa09pQjdJSFpoYkhWbE9pQjBjblZsTENCdFpYTnpZV2RsT2lCMEtDZG1iM0p0TFhaaGJHbGtZWFJwYjI0dWNtVnhkV2x5WldRdFptbGxiR1FuS1NCOUxGeHVJQ0FnSUNBZ2ZTbDlYRzRnSUNBZ0lDQmtZWFJoTFhSbGMzUnBaRDFjSW5CaGMzTjNiM0prWENKY2JpQWdJQ0FnSUd4aFltVnNQWHQwS0NkbWIzSnRMbkJoYzNOM2IzSmtKeWw5WEc0Z0lDQWdJQ0J3YkdGalpXaHZiR1JsY2oxN2RDZ25abTl5YlMxd2JHRmpaV2h2YkdSbGNpNXdZWE56ZDI5eVpDY3BmVnh1SUNBZ0lDQWdjbVZ4ZFdseVpXUTllM1J5ZFdWOVhHNGdJQ0FnSUNCMGVYQmxQVndpY0dGemMzZHZjbVJjSWx4dUlDQWdJQ0FnZG1GeWFXRnVkRDFjSW05MWRHeHBibVZrWENKY2JpQWdJQ0F2UGx4dUlDQXBPMXh1ZlR0Y2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ1VHRnpjM2R2Y21SR2FXVnNaRHRjYmlKZGZRPT0gKi9cIik7XG52YXIgUGFzc3dvcmRGaWVsZCA9ICh7IHJlZ2lzdGVyLCBlcnJvcnMgfSkgPT4ge1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFN0eWxlZFRleHRGaWVsZCwge1xuXHRcdGF1dG9Db21wbGV0ZTogXCJjdXJyZW50LXBhc3N3b3JkXCIsXG5cdFx0ZXJyb3I6ICEhZXJyb3JzLnBhc3N3b3JkLFxuXHRcdGZ1bGxXaWR0aDogdHJ1ZSxcblx0XHRoZWxwZXJUZXh0OiBlcnJvcnMucGFzc3dvcmQ/Lm1lc3NhZ2UsXG5cdFx0aWQ6IFwibG9naW4tLWRpYWxvZy1wYXNzd29yZFwiLFxuXHRcdC4uLnJlZ2lzdGVyKFwicGFzc3dvcmRcIiwgeyByZXF1aXJlZDoge1xuXHRcdFx0dmFsdWU6IHRydWUsXG5cdFx0XHRtZXNzYWdlOiB0KFwiZm9ybS12YWxpZGF0aW9uLnJlcXVpcmVkLWZpZWxkXCIpXG5cdFx0fSB9KSxcblx0XHRcImRhdGEtdGVzdGlkXCI6IFwicGFzc3dvcmRcIixcblx0XHRsYWJlbDogdChcImZvcm0ucGFzc3dvcmRcIiksXG5cdFx0cGxhY2Vob2xkZXI6IHQoXCJmb3JtLXBsYWNlaG9sZGVyLnBhc3N3b3JkXCIpLFxuXHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdHR5cGU6IFwicGFzc3dvcmRcIixcblx0XHR2YXJpYW50OiBcIm91dGxpbmVkXCJcblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBQYXNzd29yZEZpZWxkIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9UGFzc3dvcmRGaWVsZC5tanMubWFwIiwiaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgVGV4dEZpZWxkIGZyb20gXCJAbXVpL21hdGVyaWFsL1RleHRGaWVsZFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0xvZ2luRm9ybS9Vc2VybmFtZUZpZWxkLnRzeFxudmFyIFN0eWxlZFRleHRGaWVsZCA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFRleHRGaWVsZCwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTFrdDF0Z20wXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxa3QxdGdtMFwiLFxuXHRsYWJlbDogXCJTdHlsZWRUZXh0RmllbGRcIlxufSkoKHsgdGhlbWUgfSkgPT4gKHsgbWFyZ2luVG9wOiB0aGVtZS5zcGFjaW5nKDIpIH0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5TWIyZHBia1p2Y20wdlZYTmxjbTVoYldWR2FXVnNaQzUwYzNnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlZYZENJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5TWIyZHBia1p2Y20wdlZYTmxjbTVoYldWR2FXVnNaQzUwYzNnaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2MzUjViR1ZrSUdaeWIyMGdKMEJsYlc5MGFXOXVMM04wZVd4bFpDYzdYRzVwYlhCdmNuUWdWR1Y0ZEVacFpXeGtJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VkdWNGRFWnBaV3hrSnp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnUmtNZ2ZTQm1jbTl0SUNkeVpXRmpkQ2M3WEc1cGJYQnZjblFnVW1WaFkzUWdabkp2YlNBbmNtVmhZM1FuTzF4dWFXMXdiM0owSUhSNWNHVWdleUJHYVdWc1pFVnljbTl5Y3lCOUlHWnliMjBnSjNKbFlXTjBMV2h2YjJzdFptOXliU2M3WEc1cGJYQnZjblFnZXlCMWMyVlVjbUZ1YzJ4aGRHbHZiaUI5SUdaeWIyMGdKM0psWVdOMExXa3hPRzVsZUhRbk8xeHVYRzVwYlhCdmNuUWdkSGx3WlNCN0lGUm9aVzFsSUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYm1sdGNHOXlkQ0IwZVhCbElIc2dRV1JrVlhObGNrWnZjbTFXWVd4MVpYTXNJRXh2WjJsdVJtOXliVlpoYkhWbGN5QjlJR1p5YjIwZ0p5NHVMeTR1TDNWMGFXeHpMM05qYUdWdFlYTW5PMXh1WEc1amIyNXpkQ0JUZEhsc1pXUlVaWGgwUm1sbGJHUWdQU0J6ZEhsc1pXUW9WR1Y0ZEVacFpXeGtLVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ2JXRnlaMmx1Vkc5d09pQjBhR1Z0WlM1emNHRmphVzVuS0RJcExGeHVmU2twTzF4dVhHNXBiblJsY21aaFkyVWdVSEp2Y0hNZ2UxeHVJQ0J5WldkcGMzUmxjam9nWVc1NU8xeHVJQ0JsY25KdmNuTTZJRVpwWld4a1JYSnliM0p6UEV4dloybHVSbTl5YlZaaGJIVmxjeUI4SUVGa1pGVnpaWEpHYjNKdFZtRnNkV1Z6UGp0Y2JuMWNibHh1WTI5dWMzUWdWWE5sY201aGJXVkdhV1ZzWkRvZ1JrTThVSEp2Y0hNK0lEMGdLSHNnY21WbmFYTjBaWElzSUdWeWNtOXljeUI5S1NBOVBpQjdYRzRnSUdOdmJuTjBJSHNnZENCOUlEMGdkWE5sVkhKaGJuTnNZWFJwYjI0b0tUdGNibHh1SUNCeVpYUjFjbTRnS0Z4dUlDQWdJRHhUZEhsc1pXUlVaWGgwUm1sbGJHUmNiaUFnSUNBZ0lHRjFkRzlEYjIxd2JHVjBaVDFjSW5WelpYSnVZVzFsWENKY2JpQWdJQ0FnSUdWeWNtOXlQWHNoSVdWeWNtOXljeTUxYzJWeWJtRnRaWDFjYmlBZ0lDQWdJR1oxYkd4WGFXUjBhRDE3ZEhKMVpYMWNiaUFnSUNBZ0lHaGxiSEJsY2xSbGVIUTllMlZ5Y205eWN5NTFjMlZ5Ym1GdFpUOHViV1Z6YzJGblpYMWNiaUFnSUNBZ0lHbGtQVndpYkc5bmFXNHRMV1JwWVd4dlp5MTFjMlZ5Ym1GdFpWd2lYRzRnSUNBZ0lDQjdMaTR1Y21WbmFYTjBaWElvSjNWelpYSnVZVzFsSnl3Z2UxeHVJQ0FnSUNBZ0lDQnlaWEYxYVhKbFpEb2dleUIyWVd4MVpUb2dkSEoxWlN3Z2JXVnpjMkZuWlRvZ2RDZ25abTl5YlMxMllXeHBaR0YwYVc5dUxuSmxjWFZwY21Wa0xXWnBaV3hrSnlrZ2ZTeGNiaUFnSUNBZ0lIMHBmVnh1SUNBZ0lDQWdiR0ZpWld3OWUzUW9KMlp2Y20wdWRYTmxjbTVoYldVbktYMWNiaUFnSUNBZ0lIQnNZV05sYUc5c1pHVnlQWHQwS0NkbWIzSnRMWEJzWVdObGFHOXNaR1Z5TG5WelpYSnVZVzFsSnlsOVhHNGdJQ0FnSUNCeVpYRjFhWEpsWkQxN2RISjFaWDFjYmlBZ0lDQWdJSFpoY21saGJuUTlYQ0p2ZFhSc2FXNWxaRndpWEc0Z0lDQWdMejVjYmlBZ0tUdGNibjA3WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUZWelpYSnVZVzFsUm1sbGJHUTdYRzRpWFgwPSAqL1wiKTtcbnZhciBVc2VybmFtZUZpZWxkID0gKHsgcmVnaXN0ZXIsIGVycm9ycyB9KSA9PiB7XG5cdGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goU3R5bGVkVGV4dEZpZWxkLCB7XG5cdFx0YXV0b0NvbXBsZXRlOiBcInVzZXJuYW1lXCIsXG5cdFx0ZXJyb3I6ICEhZXJyb3JzLnVzZXJuYW1lLFxuXHRcdGZ1bGxXaWR0aDogdHJ1ZSxcblx0XHRoZWxwZXJUZXh0OiBlcnJvcnMudXNlcm5hbWU/Lm1lc3NhZ2UsXG5cdFx0aWQ6IFwibG9naW4tLWRpYWxvZy11c2VybmFtZVwiLFxuXHRcdC4uLnJlZ2lzdGVyKFwidXNlcm5hbWVcIiwgeyByZXF1aXJlZDoge1xuXHRcdFx0dmFsdWU6IHRydWUsXG5cdFx0XHRtZXNzYWdlOiB0KFwiZm9ybS12YWxpZGF0aW9uLnJlcXVpcmVkLWZpZWxkXCIpXG5cdFx0fSB9KSxcblx0XHRsYWJlbDogdChcImZvcm0udXNlcm5hbWVcIiksXG5cdFx0cGxhY2Vob2xkZXI6IHQoXCJmb3JtLXBsYWNlaG9sZGVyLnVzZXJuYW1lXCIpLFxuXHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdHZhcmlhbnQ6IFwib3V0bGluZWRcIlxuXHR9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IFVzZXJuYW1lRmllbGQgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Vc2VybmFtZUZpZWxkLm1qcy5tYXAiLCJpbXBvcnQgeyBSb3V0ZSB9IGZyb20gXCIuLi8uLi91dGlscy9yb3V0ZXMubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi91dGlscy9pbmRleC5tanNcIjtcbmltcG9ydCB7IGdldENvbmZpZ3VyYXRpb24gfSBmcm9tIFwiLi4vLi4vY29uZmlndXJhdGlvbi5tanNcIjtcbmltcG9ydCBMb2dpbkRpYWxvZ0Zvcm1FcnJvciBmcm9tIFwiLi4vTG9naW5EaWFsb2cvTG9naW5EaWFsb2dGb3JtRXJyb3IubWpzXCI7XG5pbXBvcnQgUGFzc3dvcmRGaWVsZCBmcm9tIFwiLi9QYXNzd29yZEZpZWxkLm1qc1wiO1xuaW1wb3J0IFVzZXJuYW1lRmllbGQgZnJvbSBcIi4vVXNlcm5hbWVGaWVsZC5tanNcIjtcbmltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IExpbmsgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvTGlua1wiO1xuaW1wb3J0IFR5cG9ncmFwaHkgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvVHlwb2dyYXBoeVwiO1xuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiQG11aS9tYXRlcmlhbC9CdXR0b25cIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9Mb2dpbkZvcm0vTG9naW4udHN4XG52YXIgU3R5bGVkRm9ybSA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwiZm9ybVwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlOXFpZndrMVwiIH0gOiB7XG5cdHRhcmdldDogXCJlOXFpZndrMVwiLFxuXHRsYWJlbDogXCJTdHlsZWRGb3JtXCJcbn0pKCh7IHRoZW1lIH0pID0+ICh7IG1hcmdpblRvcDogdGhlbWUuc3BhY2luZygxKSB9KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OU1iMmRwYmtadmNtMHZURzluYVc0dWRITjRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRV2RDYlVJaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OWpiMjF3YjI1bGJuUnpMMHh2WjJsdVJtOXliUzlNYjJkcGJpNTBjM2dpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnYzNSNWJHVmtJR1p5YjIwZ0owQmxiVzkwYVc5dUwzTjBlV3hsWkNjN1hHNXBiWEJ2Y25RZ1FuVjBkRzl1SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlFuVjBkRzl1Snp0Y2JtbHRjRzl5ZENCTWFXNXJJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsdWF5YzdYRzVwYlhCdmNuUWdWSGx3YjJkeVlYQm9lU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDFSNWNHOW5jbUZ3YUhrbk8xeHVhVzF3YjNKMElIUjVjR1VnZXlCR1F5QjlJR1p5YjIwZ0ozSmxZV04wSnp0Y2JtbHRjRzl5ZENCU1pXRmpkQ0JtY205dElDZHlaV0ZqZENjN1hHNXBiWEJ2Y25RZ2RIbHdaU0I3SUVacFpXeGtSWEp5YjNKekxDQlZjMlZHYjNKdFNHRnVaR3hsVTNWaWJXbDBMQ0JWYzJWR2IzSnRVbVZuYVhOMFpYSWdmU0JtY205dElDZHlaV0ZqZEMxb2IyOXJMV1p2Y20wbk8xeHVhVzF3YjNKMElIc2dkWE5sVkhKaGJuTnNZWFJwYjI0Z2ZTQm1jbTl0SUNkeVpXRmpkQzFwTVRodVpYaDBKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1THljN1hHNXBiWEJ2Y25RZ2V5Qm5aWFJEYjI1bWFXZDFjbUYwYVc5dUlIMGdabkp2YlNBbkxpNHZMaTR2WTI5dVptbG5kWEpoZEdsdmJpYzdYRzVwYlhCdmNuUWdleUJTYjNWMFpTQjlJR1p5YjIwZ0p5NHVMeTR1TDNWMGFXeHpKenRjYm1sdGNHOXlkQ0JNYjJkcGJrUnBZV3h2WjBadmNtMUZjbkp2Y2lCbWNtOXRJQ2N1TGk5TWIyZHBia1JwWVd4dlp5OU1iMmRwYmtScFlXeHZaMFp2Y20xRmNuSnZjaWM3WEc1cGJYQnZjblFnVUdGemMzZHZjbVJHYVdWc1pDQm1jbTl0SUNjdUwxQmhjM04zYjNKa1JtbGxiR1FuTzF4dWFXMXdiM0owSUZWelpYSnVZVzFsUm1sbGJHUWdabkp2YlNBbkxpOVZjMlZ5Ym1GdFpVWnBaV3hrSnp0Y2JseHVZMjl1YzNRZ1UzUjViR1ZrUm05eWJTQTlJSE4wZVd4bFpDZ25abTl5YlNjcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0J0WVhKbmFXNVViM0E2SUhSb1pXMWxMbk53WVdOcGJtY29NU2tzWEc1OUtTazdYRzVjYm1OdmJuTjBJRk4wZVd4bFpFSjFkSFJ2YmlBOUlITjBlV3hsWkNoQ2RYUjBiMjRwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQnRZWEpuYVc0NklIUm9aVzFsTG5Od1lXTnBibWNvTXl3Z01Dd2dNaWtzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVEc5bmFXNUdiM0p0Vm1Gc2RXVnpJSHRjYmlBZ2RYTmxjbTVoYldVNklITjBjbWx1Wnp0Y2JpQWdjR0Z6YzNkdmNtUTZJSE4wY21sdVp6dGNibjFjYmx4dWFXNTBaWEptWVdObElGQnliM0J6SUh0Y2JpQWdjbVZuYVhOMFpYSTZJRlZ6WlVadmNtMVNaV2RwYzNSbGNqeE1iMmRwYmtadmNtMVdZV3gxWlhNK08xeHVJQ0JvWVc1a2JHVlRkV0p0YVhRNklGVnpaVVp2Y20xSVlXNWtiR1ZUZFdKdGFYUThURzluYVc1R2IzSnRWbUZzZFdWelBqdGNiaUFnYjI1VGRXSnRhWFE2SUNoa1lYUmhPaUJNYjJkcGJrWnZjbTFXWVd4MVpYTXBJRDArSUhadmFXUTdYRzRnSUdWeWNtOXljem9nUm1sbGJHUkZjbkp2Y25NOFRHOW5hVzVHYjNKdFZtRnNkV1Z6UGp0Y2JpQWdhWE5XWVd4cFpEb2dZbTl2YkdWaGJqdGNibjFjYmx4dVkyOXVjM1FnVEc5bmFXNUdiM0p0T2lCR1F6eFFjbTl3Y3o0Z1BTQW9leUJ5WldkcGMzUmxjaXdnYUdGdVpHeGxVM1ZpYldsMExDQnZibE4xWW0xcGRDd2daWEp5YjNKekxDQnBjMVpoYkdsa0lIMHBJRDArSUh0Y2JpQWdZMjl1YzNRZ2V5QjBJSDBnUFNCMWMyVlVjbUZ1YzJ4aGRHbHZiaWdwTzF4dUlDQmpiMjV6ZENCamIyNW1hV2QxY21GMGFXOXVJRDBnWjJWMFEyOXVabWxuZFhKaGRHbHZiaWdwTzF4dUlDQmpiMjV6ZENCamFHRnVaMlZRWVhOemQyOXlaRVZ1WVdKc1pXUWdQU0JqYjI1bWFXZDFjbUYwYVc5dVB5NW1iR0ZuY3o4dVkyaGhibWRsVUdGemMzZHZjbVE3WEc1Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNBOFUzUjViR1ZrUm05eWJTQnViMVpoYkdsa1lYUmxQWHQwY25WbGZTQnZibE4xWW0xcGREMTdhR0Z1Wkd4bFUzVmliV2wwS0c5dVUzVmliV2wwS1gwK1hHNGdJQ0FnSUNBOFZYTmxjbTVoYldWR2FXVnNaQ0JsY25KdmNuTTllMlZ5Y205eWMzMGdjbVZuYVhOMFpYSTllM0psWjJsemRHVnlmU0F2UGx4dUlDQWdJQ0FnUEZCaGMzTjNiM0prUm1sbGJHUWdaWEp5YjNKelBYdGxjbkp2Y25OOUlISmxaMmx6ZEdWeVBYdHlaV2RwYzNSbGNuMGdMejVjYmx4dUlDQWdJQ0FnZTJWeWNtOXljeTV5YjI5MElDWW1JRHhNYjJkcGJrUnBZV3h2WjBadmNtMUZjbkp2Y2lCbGNuSnZjajE3WlhKeWIzSnpMbkp2YjNSOUlDOCtmVnh1WEc0Z0lDQWdJQ0E4VTNSNWJHVmtRblYwZEc5dVhHNGdJQ0FnSUNBZ0lHTnZiRzl5UFZ3aWNISnBiV0Z5ZVZ3aVhHNGdJQ0FnSUNBZ0lHUmhkR0V0ZEdWemRHbGtQVndpYkc5bmFXNHRaR2xoYkc5bkxXWnZjbTB0Ykc5bmFXNHRZblYwZEc5dVhDSmNiaUFnSUNBZ0lDQWdaR2x6WVdKc1pXUTlleUZwYzFaaGJHbGtmVnh1SUNBZ0lDQWdJQ0JtZFd4c1YybGtkR2c5ZTNSeWRXVjlYRzRnSUNBZ0lDQWdJR2xrUFZ3aWJHOW5hVzR0TFdScFlXeHZaeTFpZFhSMGIyNHRjM1ZpYldsMFhDSmNiaUFnSUNBZ0lDQWdjMmw2WlQxY0lteGhjbWRsWENKY2JpQWdJQ0FnSUNBZ2RIbHdaVDFjSW5OMVltMXBkRndpWEc0Z0lDQWdJQ0FnSUhaaGNtbGhiblE5WENKamIyNTBZV2x1WldSY0lseHVJQ0FnSUNBZ1BseHVJQ0FnSUNBZ0lDQjdkQ2duWW5WMGRHOXVMbXh2WjJsdUp5bDlYRzRnSUNBZ0lDQThMMU4wZVd4bFpFSjFkSFJ2Ymo1Y2JpQWdJQ0FnSUh0amFHRnVaMlZRWVhOemQyOXlaRVZ1WVdKc1pXUWdKaVlnS0Z4dUlDQWdJQ0FnSUNBOFZIbHdiMmR5WVhCb2VTQmhiR2xuYmoxY0ltTmxiblJsY2x3aUlITjRQWHQ3SUcxME9pQXlMQ0JtYjI1MFUybDZaVG9nTVRJZ2ZYMGdkbUZ5YVdGdWREMWNJbUp2WkhreVhDSStYRzRnSUNBZ0lDQWdJQ0FnUEV4cGJtc2dhSEpsWmoxN1VtOTFkR1V1UTBoQlRrZEZYMUJCVTFOWFQxSkVmU0J6ZUQxN2V5QnRiRG9nTVNCOWZUNWNiaUFnSUNBZ0lDQWdJQ0FnSUh0MEtDZHpaV04xY21sMGVTNWphR0Z1WjJWUVlYTnpkMjl5WkM1MGFYUnNaU2NwZlZ4dUlDQWdJQ0FnSUNBZ0lEd3ZUR2x1YXo1Y2JpQWdJQ0FnSUNBZ1BDOVVlWEJ2WjNKaGNHaDVQbHh1SUNBZ0lDQWdLWDFjYmlBZ0lDQThMMU4wZVd4bFpFWnZjbTArWEc0Z0lDazdYRzU5TzF4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCTWIyZHBia1p2Y20wN1hHNGlYWDA9ICovXCIpO1xudmFyIFN0eWxlZEJ1dHRvbiA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKEJ1dHRvbiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTlxaWZ3azBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTlxaWZ3azBcIixcblx0bGFiZWw6IFwiU3R5bGVkQnV0dG9uXCJcbn0pKCh7IHRoZW1lIH0pID0+ICh7IG1hcmdpbjogdGhlbWUuc3BhY2luZygzLCAwLCAyKSB9KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OU1iMmRwYmtadmNtMHZURzluYVc0dWRITjRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVzlDY1VJaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OWpiMjF3YjI1bGJuUnpMMHh2WjJsdVJtOXliUzlNYjJkcGJpNTBjM2dpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnYzNSNWJHVmtJR1p5YjIwZ0owQmxiVzkwYVc5dUwzTjBlV3hsWkNjN1hHNXBiWEJ2Y25RZ1FuVjBkRzl1SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlFuVjBkRzl1Snp0Y2JtbHRjRzl5ZENCTWFXNXJJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsdWF5YzdYRzVwYlhCdmNuUWdWSGx3YjJkeVlYQm9lU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDFSNWNHOW5jbUZ3YUhrbk8xeHVhVzF3YjNKMElIUjVjR1VnZXlCR1F5QjlJR1p5YjIwZ0ozSmxZV04wSnp0Y2JtbHRjRzl5ZENCU1pXRmpkQ0JtY205dElDZHlaV0ZqZENjN1hHNXBiWEJ2Y25RZ2RIbHdaU0I3SUVacFpXeGtSWEp5YjNKekxDQlZjMlZHYjNKdFNHRnVaR3hsVTNWaWJXbDBMQ0JWYzJWR2IzSnRVbVZuYVhOMFpYSWdmU0JtY205dElDZHlaV0ZqZEMxb2IyOXJMV1p2Y20wbk8xeHVhVzF3YjNKMElIc2dkWE5sVkhKaGJuTnNZWFJwYjI0Z2ZTQm1jbTl0SUNkeVpXRmpkQzFwTVRodVpYaDBKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1THljN1hHNXBiWEJ2Y25RZ2V5Qm5aWFJEYjI1bWFXZDFjbUYwYVc5dUlIMGdabkp2YlNBbkxpNHZMaTR2WTI5dVptbG5kWEpoZEdsdmJpYzdYRzVwYlhCdmNuUWdleUJTYjNWMFpTQjlJR1p5YjIwZ0p5NHVMeTR1TDNWMGFXeHpKenRjYm1sdGNHOXlkQ0JNYjJkcGJrUnBZV3h2WjBadmNtMUZjbkp2Y2lCbWNtOXRJQ2N1TGk5TWIyZHBia1JwWVd4dlp5OU1iMmRwYmtScFlXeHZaMFp2Y20xRmNuSnZjaWM3WEc1cGJYQnZjblFnVUdGemMzZHZjbVJHYVdWc1pDQm1jbTl0SUNjdUwxQmhjM04zYjNKa1JtbGxiR1FuTzF4dWFXMXdiM0owSUZWelpYSnVZVzFsUm1sbGJHUWdabkp2YlNBbkxpOVZjMlZ5Ym1GdFpVWnBaV3hrSnp0Y2JseHVZMjl1YzNRZ1UzUjViR1ZrUm05eWJTQTlJSE4wZVd4bFpDZ25abTl5YlNjcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0J0WVhKbmFXNVViM0E2SUhSb1pXMWxMbk53WVdOcGJtY29NU2tzWEc1OUtTazdYRzVjYm1OdmJuTjBJRk4wZVd4bFpFSjFkSFJ2YmlBOUlITjBlV3hsWkNoQ2RYUjBiMjRwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQnRZWEpuYVc0NklIUm9aVzFsTG5Od1lXTnBibWNvTXl3Z01Dd2dNaWtzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVEc5bmFXNUdiM0p0Vm1Gc2RXVnpJSHRjYmlBZ2RYTmxjbTVoYldVNklITjBjbWx1Wnp0Y2JpQWdjR0Z6YzNkdmNtUTZJSE4wY21sdVp6dGNibjFjYmx4dWFXNTBaWEptWVdObElGQnliM0J6SUh0Y2JpQWdjbVZuYVhOMFpYSTZJRlZ6WlVadmNtMVNaV2RwYzNSbGNqeE1iMmRwYmtadmNtMVdZV3gxWlhNK08xeHVJQ0JvWVc1a2JHVlRkV0p0YVhRNklGVnpaVVp2Y20xSVlXNWtiR1ZUZFdKdGFYUThURzluYVc1R2IzSnRWbUZzZFdWelBqdGNiaUFnYjI1VGRXSnRhWFE2SUNoa1lYUmhPaUJNYjJkcGJrWnZjbTFXWVd4MVpYTXBJRDArSUhadmFXUTdYRzRnSUdWeWNtOXljem9nUm1sbGJHUkZjbkp2Y25NOFRHOW5hVzVHYjNKdFZtRnNkV1Z6UGp0Y2JpQWdhWE5XWVd4cFpEb2dZbTl2YkdWaGJqdGNibjFjYmx4dVkyOXVjM1FnVEc5bmFXNUdiM0p0T2lCR1F6eFFjbTl3Y3o0Z1BTQW9leUJ5WldkcGMzUmxjaXdnYUdGdVpHeGxVM1ZpYldsMExDQnZibE4xWW0xcGRDd2daWEp5YjNKekxDQnBjMVpoYkdsa0lIMHBJRDArSUh0Y2JpQWdZMjl1YzNRZ2V5QjBJSDBnUFNCMWMyVlVjbUZ1YzJ4aGRHbHZiaWdwTzF4dUlDQmpiMjV6ZENCamIyNW1hV2QxY21GMGFXOXVJRDBnWjJWMFEyOXVabWxuZFhKaGRHbHZiaWdwTzF4dUlDQmpiMjV6ZENCamFHRnVaMlZRWVhOemQyOXlaRVZ1WVdKc1pXUWdQU0JqYjI1bWFXZDFjbUYwYVc5dVB5NW1iR0ZuY3o4dVkyaGhibWRsVUdGemMzZHZjbVE3WEc1Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNBOFUzUjViR1ZrUm05eWJTQnViMVpoYkdsa1lYUmxQWHQwY25WbGZTQnZibE4xWW0xcGREMTdhR0Z1Wkd4bFUzVmliV2wwS0c5dVUzVmliV2wwS1gwK1hHNGdJQ0FnSUNBOFZYTmxjbTVoYldWR2FXVnNaQ0JsY25KdmNuTTllMlZ5Y205eWMzMGdjbVZuYVhOMFpYSTllM0psWjJsemRHVnlmU0F2UGx4dUlDQWdJQ0FnUEZCaGMzTjNiM0prUm1sbGJHUWdaWEp5YjNKelBYdGxjbkp2Y25OOUlISmxaMmx6ZEdWeVBYdHlaV2RwYzNSbGNuMGdMejVjYmx4dUlDQWdJQ0FnZTJWeWNtOXljeTV5YjI5MElDWW1JRHhNYjJkcGJrUnBZV3h2WjBadmNtMUZjbkp2Y2lCbGNuSnZjajE3WlhKeWIzSnpMbkp2YjNSOUlDOCtmVnh1WEc0Z0lDQWdJQ0E4VTNSNWJHVmtRblYwZEc5dVhHNGdJQ0FnSUNBZ0lHTnZiRzl5UFZ3aWNISnBiV0Z5ZVZ3aVhHNGdJQ0FnSUNBZ0lHUmhkR0V0ZEdWemRHbGtQVndpYkc5bmFXNHRaR2xoYkc5bkxXWnZjbTB0Ykc5bmFXNHRZblYwZEc5dVhDSmNiaUFnSUNBZ0lDQWdaR2x6WVdKc1pXUTlleUZwYzFaaGJHbGtmVnh1SUNBZ0lDQWdJQ0JtZFd4c1YybGtkR2c5ZTNSeWRXVjlYRzRnSUNBZ0lDQWdJR2xrUFZ3aWJHOW5hVzR0TFdScFlXeHZaeTFpZFhSMGIyNHRjM1ZpYldsMFhDSmNiaUFnSUNBZ0lDQWdjMmw2WlQxY0lteGhjbWRsWENKY2JpQWdJQ0FnSUNBZ2RIbHdaVDFjSW5OMVltMXBkRndpWEc0Z0lDQWdJQ0FnSUhaaGNtbGhiblE5WENKamIyNTBZV2x1WldSY0lseHVJQ0FnSUNBZ1BseHVJQ0FnSUNBZ0lDQjdkQ2duWW5WMGRHOXVMbXh2WjJsdUp5bDlYRzRnSUNBZ0lDQThMMU4wZVd4bFpFSjFkSFJ2Ymo1Y2JpQWdJQ0FnSUh0amFHRnVaMlZRWVhOemQyOXlaRVZ1WVdKc1pXUWdKaVlnS0Z4dUlDQWdJQ0FnSUNBOFZIbHdiMmR5WVhCb2VTQmhiR2xuYmoxY0ltTmxiblJsY2x3aUlITjRQWHQ3SUcxME9pQXlMQ0JtYjI1MFUybDZaVG9nTVRJZ2ZYMGdkbUZ5YVdGdWREMWNJbUp2WkhreVhDSStYRzRnSUNBZ0lDQWdJQ0FnUEV4cGJtc2dhSEpsWmoxN1VtOTFkR1V1UTBoQlRrZEZYMUJCVTFOWFQxSkVmU0J6ZUQxN2V5QnRiRG9nTVNCOWZUNWNiaUFnSUNBZ0lDQWdJQ0FnSUh0MEtDZHpaV04xY21sMGVTNWphR0Z1WjJWUVlYTnpkMjl5WkM1MGFYUnNaU2NwZlZ4dUlDQWdJQ0FnSUNBZ0lEd3ZUR2x1YXo1Y2JpQWdJQ0FnSUNBZ1BDOVVlWEJ2WjNKaGNHaDVQbHh1SUNBZ0lDQWdLWDFjYmlBZ0lDQThMMU4wZVd4bFpFWnZjbTArWEc0Z0lDazdYRzU5TzF4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCTWIyZHBia1p2Y20wN1hHNGlYWDA9ICovXCIpO1xudmFyIExvZ2luRm9ybSA9ICh7IHJlZ2lzdGVyLCBoYW5kbGVTdWJtaXQsIG9uU3VibWl0LCBlcnJvcnMsIGlzVmFsaWQgfSkgPT4ge1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdGNvbnN0IGNoYW5nZVBhc3N3b3JkRW5hYmxlZCA9IGdldENvbmZpZ3VyYXRpb24oKT8uZmxhZ3M/LmNoYW5nZVBhc3N3b3JkO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoU3R5bGVkRm9ybSwge1xuXHRcdG5vVmFsaWRhdGU6IHRydWUsXG5cdFx0b25TdWJtaXQ6IGhhbmRsZVN1Ym1pdChvblN1Ym1pdCksXG5cdFx0Y2hpbGRyZW46IFtcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goVXNlcm5hbWVGaWVsZCwge1xuXHRcdFx0XHRlcnJvcnMsXG5cdFx0XHRcdHJlZ2lzdGVyXG5cdFx0XHR9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goUGFzc3dvcmRGaWVsZCwge1xuXHRcdFx0XHRlcnJvcnMsXG5cdFx0XHRcdHJlZ2lzdGVyXG5cdFx0XHR9KSxcblx0XHRcdGVycm9ycy5yb290ICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goTG9naW5EaWFsb2dGb3JtRXJyb3IsIHsgZXJyb3I6IGVycm9ycy5yb290IH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChTdHlsZWRCdXR0b24sIHtcblx0XHRcdFx0Y29sb3I6IFwicHJpbWFyeVwiLFxuXHRcdFx0XHRcImRhdGEtdGVzdGlkXCI6IFwibG9naW4tZGlhbG9nLWZvcm0tbG9naW4tYnV0dG9uXCIsXG5cdFx0XHRcdGRpc2FibGVkOiAhaXNWYWxpZCxcblx0XHRcdFx0ZnVsbFdpZHRoOiB0cnVlLFxuXHRcdFx0XHRpZDogXCJsb2dpbi0tZGlhbG9nLWJ1dHRvbi1zdWJtaXRcIixcblx0XHRcdFx0c2l6ZTogXCJsYXJnZVwiLFxuXHRcdFx0XHR0eXBlOiBcInN1Ym1pdFwiLFxuXHRcdFx0XHR2YXJpYW50OiBcImNvbnRhaW5lZFwiLFxuXHRcdFx0XHRjaGlsZHJlbjogdChcImJ1dHRvbi5sb2dpblwiKVxuXHRcdFx0fSksXG5cdFx0XHRjaGFuZ2VQYXNzd29yZEVuYWJsZWQgJiYgLyogQF9fUFVSRV9fICovIGpzeChUeXBvZ3JhcGh5LCB7XG5cdFx0XHRcdGFsaWduOiBcImNlbnRlclwiLFxuXHRcdFx0XHRzeDoge1xuXHRcdFx0XHRcdG10OiAyLFxuXHRcdFx0XHRcdGZvbnRTaXplOiAxMlxuXHRcdFx0XHR9LFxuXHRcdFx0XHR2YXJpYW50OiBcImJvZHkyXCIsXG5cdFx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KExpbmssIHtcblx0XHRcdFx0XHRocmVmOiBSb3V0ZS5DSEFOR0VfUEFTU1dPUkQsXG5cdFx0XHRcdFx0c3g6IHsgbWw6IDEgfSxcblx0XHRcdFx0XHRjaGlsZHJlbjogdChcInNlY3VyaXR5LmNoYW5nZVBhc3N3b3JkLnRpdGxlXCIpXG5cdFx0XHRcdH0pXG5cdFx0XHR9KVxuXHRcdF1cblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBMb2dpbkZvcm0gYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Mb2dpbi5tanMubWFwIiwiaW1wb3J0ICogYXMgeXVwIGZyb20gXCJ5dXBcIjtcbnZhciB1c2VybmFtZVNjaGVtYSA9IHl1cC5zdHJpbmcoKS5yZXF1aXJlZCgpLm1pbigyKS5tYXRjaGVzKC9eWy1hLXpBLVowLTlfLiF+KicoKUBdKyQvLCBcInNlY3VyaXR5LmVycm9yLnVzZXJuYW1lLW11c3QtYmUtdXJsLXNhZmVcIik7XG52YXIgcGFzc3dvcmRTY2hlbWEgPSB5dXAuc3RyaW5nKCkucmVxdWlyZWQoKS5taW4oMik7XG52YXIgbG9naW5TY2hlbWEgPSB5dXAub2JqZWN0KHtcblx0dXNlcm5hbWU6IHVzZXJuYW1lU2NoZW1hLFxuXHRwYXNzd29yZDogcGFzc3dvcmRTY2hlbWFcbn0pO1xudmFyIGFkZFVzZXJTY2hlbWEgPSB5dXAub2JqZWN0KHtcblx0dXNlcm5hbWU6IHVzZXJuYW1lU2NoZW1hLFxuXHRwYXNzd29yZDogcGFzc3dvcmRTY2hlbWEsXG5cdGVtYWlsOiB5dXAuc3RyaW5nKCkuZW1haWwoKS5yZXF1aXJlZCgpXG59KTtcbnZhciBjaGFuZ2VQYXNzd29yZFNjaGVtYSA9IHl1cC5vYmplY3Qoe1xuXHR1c2VybmFtZTogdXNlcm5hbWVTY2hlbWEsXG5cdG9sZFBhc3N3b3JkOiBwYXNzd29yZFNjaGVtYSxcblx0bmV3UGFzc3dvcmQ6IHBhc3N3b3JkU2NoZW1hLFxuXHRjb25maXJtUGFzc3dvcmQ6IHl1cC5zdHJpbmcoKS5yZXF1aXJlZCgpLm9uZU9mKFt5dXAucmVmKFwibmV3UGFzc3dvcmRcIildLCBcInNlY3VyaXR5LmVycm9yLnBhc3N3b3JkLW1pc21hdGNoXCIpXG59KTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgYWRkVXNlclNjaGVtYSwgY2hhbmdlUGFzc3dvcmRTY2hlbWEsIGxvZ2luU2NoZW1hIH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNjaGVtYXMubWpzLm1hcCIsImltcG9ydCB7IHVzZUF1dGggfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL0F1dGhQcm92aWRlci9BdXRoUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9wcm92aWRlcnMvQXV0aFByb3ZpZGVyL2luZGV4Lm1qc1wiO1xuaW1wb3J0IHsgbG9naW5TY2hlbWEgfSBmcm9tIFwiLi4vLi4vdXRpbHMvc2NoZW1hcy5tanNcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB5dXBSZXNvbHZlciB9IGZyb20gXCJAaG9va2Zvcm0vcmVzb2x2ZXJzL3l1cFwiO1xuaW1wb3J0IHsgdXNlRm9ybSB9IGZyb20gXCJyZWFjdC1ob29rLWZvcm1cIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9Mb2dpbkZvcm0vdXNlTG9naW5Gb3JtLnRzXG5mdW5jdGlvbiB1c2VMb2dpbkZvcm0oeyBvblN1Y2Nlc3MgfSA9IHt9KSB7XG5cdGNvbnN0IHsgaGFuZGxlTG9naW4gfSA9IHVzZUF1dGgoKTtcblx0Y29uc3QgZm9ybSA9IHVzZUZvcm0oe1xuXHRcdG1vZGU6IFwib25DaGFuZ2VcIixcblx0XHRyZXNvbHZlcjogeXVwUmVzb2x2ZXIobG9naW5TY2hlbWEpXG5cdH0pO1xuXHRjb25zdCB7IHNldEVycm9yIH0gPSBmb3JtO1xuXHRjb25zdCBvblN1Ym1pdCA9IHVzZUNhbGxiYWNrKGFzeW5jIChkYXRhKSA9PiB7XG5cdFx0dHJ5IHtcblx0XHRcdGF3YWl0IGhhbmRsZUxvZ2luPy4oZGF0YSk7XG5cdFx0XHRvblN1Y2Nlc3M/LigpO1xuXHRcdH0gY2F0Y2gge1xuXHRcdFx0c2V0RXJyb3IoXCJyb290XCIsIHtcblx0XHRcdFx0dHlwZTogXCJzZXJ2ZXJcIixcblx0XHRcdFx0bWVzc2FnZTogXCJJbnZhbGlkIHVzZXJuYW1lIG9yIHBhc3N3b3JkXCJcblx0XHRcdH0pO1xuXHRcdH1cblx0fSwgW1xuXHRcdGhhbmRsZUxvZ2luLFxuXHRcdHNldEVycm9yLFxuXHRcdG9uU3VjY2Vzc1xuXHRdKTtcblx0cmV0dXJuIHtcblx0XHQuLi5mb3JtLFxuXHRcdG9uU3VibWl0XG5cdH07XG59XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IHVzZUxvZ2luRm9ybSB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD11c2VMb2dpbkZvcm0ubWpzLm1hcCIsImltcG9ydCBMb2dpbkZvcm0gZnJvbSBcIi4uL0xvZ2luRm9ybS9Mb2dpbi5tanNcIjtcbmltcG9ydCB7IHVzZUxvZ2luRm9ybSB9IGZyb20gXCIuLi9Mb2dpbkZvcm0vdXNlTG9naW5Gb3JtLm1qc1wiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0xvZ2luRGlhbG9nL0xvZ2luRGlhbG9nRm9ybS50c3hcbnZhciBMb2dpbkRpYWxvZ0Zvcm0gPSAoKSA9PiB7XG5cdGNvbnN0IHsgcmVnaXN0ZXIsIGhhbmRsZVN1Ym1pdCwgZm9ybVN0YXRlOiB7IGlzVmFsaWQsIGVycm9ycyB9LCBvblN1Ym1pdCB9ID0gdXNlTG9naW5Gb3JtKCk7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KExvZ2luRm9ybSwge1xuXHRcdGVycm9ycyxcblx0XHRoYW5kbGVTdWJtaXQsXG5cdFx0aXNWYWxpZCxcblx0XHRvblN1Ym1pdCxcblx0XHRyZWdpc3RlclxuXHR9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IExvZ2luRGlhbG9nRm9ybSBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUxvZ2luRGlhbG9nRm9ybS5tanMubWFwIiwiaW1wb3J0IHsgdXNlQXV0aCB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvQXV0aFByb3ZpZGVyL0F1dGhQcm92aWRlci5tanNcIjtcbmltcG9ydCBcIi4uLy4uL3Byb3ZpZGVycy9BdXRoUHJvdmlkZXIvaW5kZXgubWpzXCI7XG5pbXBvcnQgTG9naW5Gb3JtSGVhZGVyIGZyb20gXCIuLi9Mb2dpbkZvcm0vc3R5bGVzLm1qc1wiO1xuaW1wb3J0IExvZ2luRGlhbG9nQ2xvc2VCdXR0b24gZnJvbSBcIi4vTG9naW5EaWFsb2dDbG9zZUJ1dHRvbi5tanNcIjtcbmltcG9ydCBMb2dpbkRpYWxvZ0Zvcm0gZnJvbSBcIi4vTG9naW5EaWFsb2dGb3JtLm1qc1wiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBEaWFsb2cgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvRGlhbG9nXCI7XG5pbXBvcnQgRGlhbG9nQ29udGVudCBmcm9tIFwiQG11aS9tYXRlcmlhbC9EaWFsb2dDb250ZW50XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvTG9naW5EaWFsb2cvTG9naW5EaWFsb2cudHN4XG52YXIgTG9naW5EaWFsb2cgPSAoeyBvbkNsb3NlLCBvcGVuID0gZmFsc2UgfSkgPT4ge1xuXHRjb25zdCB7IHVzZXJTdGF0ZSB9ID0gdXNlQXV0aCgpO1xuXHR1c2VFZmZlY3QoKCkgPT4ge1xuXHRcdGlmICh1c2VyU3RhdGU/LnRva2VuKSBvbkNsb3NlKCk7XG5cdH0sIFtvbkNsb3NlLCB1c2VyU3RhdGVdKTtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKERpYWxvZywge1xuXHRcdFwiZGF0YS10ZXN0aWRcIjogXCJsb2dpbi0tZGlhbG9nXCIsXG5cdFx0ZnVsbFdpZHRoOiB0cnVlLFxuXHRcdG1heFdpZHRoOiBcInNtXCIsXG5cdFx0b25DbG9zZSxcblx0XHRvcGVuLFxuXHRcdGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChMb2dpbkRpYWxvZ0Nsb3NlQnV0dG9uLCB7IG9uQ2xvc2UgfSksIC8qIEBfX1BVUkVfXyAqLyBqc3hzKERpYWxvZ0NvbnRlbnQsIHtcblx0XHRcdFwiZGF0YS10ZXN0aWRcIjogXCJkaWFsb2dDb250ZW50TG9naW5cIixcblx0XHRcdGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChMb2dpbkZvcm1IZWFkZXIsIHt9KSwgLyogQF9fUFVSRV9fICovIGpzeChMb2dpbkRpYWxvZ0Zvcm0sIHt9KV1cblx0XHR9KV1cblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBMb2dpbkRpYWxvZyBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUxvZ2luRGlhbG9nLm1qcy5tYXAiLCJpbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9TZWFyY2gvQXV0b0NvbXBsZXRlL3N0eWxlcy50c1xuZnVuY3Rpb24gX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX18oKSB7XG5cdHJldHVybiBcIllvdSBoYXZlIHRyaWVkIHRvIHN0cmluZ2lmeSBvYmplY3QgcmV0dXJuZWQgZnJvbSBgY3NzYCBmdW5jdGlvbi4gSXQgaXNuJ3Qgc3VwcG9zZWQgdG8gYmUgdXNlZCBkaXJlY3RseSAoZS5nLiBhcyB2YWx1ZSBvZiB0aGUgYGNsYXNzTmFtZWAgcHJvcCksIGJ1dCByYXRoZXIgaGFuZGVkIHRvIGVtb3Rpb24gc28gaXQgY2FuIGhhbmRsZSBpdCAoZS5nLiBhcyB2YWx1ZSBvZiBgY3NzYCBwcm9wKS5cIjtcbn1cbnZhciBXcmFwcGVyID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJkaXZcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTE3c2I4cXIwXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxN3NiOHFyMFwiLFxuXHRsYWJlbDogXCJXcmFwcGVyXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCIxYXl1b3cyXCIsXG5cdHN0eWxlczogXCJ3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MVwiXG59IDoge1xuXHRuYW1lOiBcIjFheXVvdzJcIixcblx0c3R5bGVzOiBcIndpZHRoOjEwMCU7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVRaV0Z5WTJndlFYVjBiME52YlhCc1pYUmxMM04wZVd4bGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZGZFVJaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OWpiMjF3YjI1bGJuUnpMMU5sWVhKamFDOUJkWFJ2UTI5dGNHeGxkR1V2YzNSNWJHVnpMblJ6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1YzSmhjSEJsY2lBOUlITjBlV3hsWkNnblpHbDJKeWtvZTF4dUlDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dUlDQndiM05wZEdsdmJqb2dKM0psYkdGMGFYWmxKeXhjYmlBZ2VrbHVaR1Y0T2lBeExGeHVmU2s3WEc0aVhYMD0gKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgV3JhcHBlciB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHlsZXMubWpzLm1hcCIsImltcG9ydCB7IFdyYXBwZXIgfSBmcm9tIFwiLi9zdHlsZXMubWpzXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgQXV0b2NvbXBsZXRlIGZyb20gXCJAbXVpL21hdGVyaWFsL0F1dG9jb21wbGV0ZVwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL1NlYXJjaC9BdXRvQ29tcGxldGUvQXV0b0NvbXBsZXRlLnRzeFxudmFyIEF1dG9Db21wbGV0ZSA9ICh7IHN1Z2dlc3Rpb25zID0gW10sIG9uU3VnZ2VzdGlvbnNGZXRjaCwgb25DbGVhblN1Z2dlc3Rpb25zLCByZW5kZXJJbnB1dCwgcmVuZGVyT3B0aW9uLCBnZXRPcHRpb25MYWJlbCwgb25TZWxlY3RJdGVtLCBzdWdnZXN0aW9uc0xvYWRpbmcgPSBmYWxzZSB9KSA9PiB7XG5cdGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcblx0Y29uc3QgW2lucHV0VmFsdWUsIHNldElucHV0VmFsdWVdID0gdXNlU3RhdGUoXCJcIik7XG5cdGNvbnN0IGhhbmRsZU9uSW5wdXRDaGFuZ2UgPSAoZXZlbnQsIHZhbHVlLCByZWFzb24pID0+IHtcblx0XHRpZiAocmVhc29uID09PSBcImlucHV0XCIpIHtcblx0XHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0XHRvblN1Z2dlc3Rpb25zRmV0Y2goeyB2YWx1ZSB9KTtcblx0XHRcdHNldElucHV0VmFsdWUodmFsdWUpO1xuXHRcdH0gZWxzZSBpZiAocmVhc29uID09PSBcImNsZWFyXCIpIHtcblx0XHRcdG9uQ2xlYW5TdWdnZXN0aW9ucyhldmVudCk7XG5cdFx0XHRzZXRJbnB1dFZhbHVlKFwiXCIpO1xuXHRcdH1cblx0fTtcblx0Y29uc3QgaGFuZGxlT25DbG9zZSA9IChldmVudCkgPT4ge1xuXHRcdG9uQ2xlYW5TdWdnZXN0aW9ucyhldmVudCk7XG5cdFx0c2V0SW5wdXRWYWx1ZShcIlwiKTtcblx0fTtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goV3JhcHBlciwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChBdXRvY29tcGxldGUsIHtcblx0XHRjbGVhck9uQmx1cjogdHJ1ZSxcblx0XHRkaXNhYmxlUG9ydGFsOiB0cnVlLFxuXHRcdGZpbHRlck9wdGlvbnM6IChvcHRpb25zLCBzdGF0ZSkgPT4gc3RhdGUuaW5wdXRWYWx1ZS50cmltKCkgPyBvcHRpb25zIDogW10sXG5cdFx0ZnVsbFdpZHRoOiB0cnVlLFxuXHRcdGdldE9wdGlvbkxhYmVsLFxuXHRcdGlkOiBcInNlYXJjaC1oZWFkZXItc3VnZ2VzdFwiLFxuXHRcdGlucHV0VmFsdWUsXG5cdFx0bG9hZGluZzogc3VnZ2VzdGlvbnNMb2FkaW5nLFxuXHRcdGxvYWRpbmdUZXh0OiB0KFwiYXV0b0NvbXBsZXRlLmxvYWRpbmdcIiksXG5cdFx0bm9PcHRpb25zVGV4dDogdChcImF1dG9Db21wbGV0ZS5uby1yZXN1bHRzLWZvdW5kXCIpLFxuXHRcdG9uQ2hhbmdlOiBvblNlbGVjdEl0ZW0sXG5cdFx0b25DbG9zZTogaGFuZGxlT25DbG9zZSxcblx0XHRvbklucHV0Q2hhbmdlOiBoYW5kbGVPbklucHV0Q2hhbmdlLFxuXHRcdG9wdGlvbnM6IHN1Z2dlc3Rpb25zLFxuXHRcdHJlbmRlcklucHV0LFxuXHRcdHJlbmRlck9wdGlvbixcblx0XHRyZW5kZXJUYWdzOiAoKSA9PiBudWxsXG5cdH0pIH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgQXV0b0NvbXBsZXRlIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9QXV0b0NvbXBsZXRlLm1qcy5tYXAiLCIvLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvU2VhcmNoL3V0aWxzLnRzXG5mdW5jdGlvbiByZW1vdmVIdG1sVGFncyhpbnB1dCkge1xuXHRsZXQgcHJldmlvdXM7XG5cdGRvIHtcblx0XHRwcmV2aW91cyA9IGlucHV0O1xuXHRcdGlucHV0ID0gaW5wdXQucmVwbGFjZSgvPFtePl0qPj8vZ20sIFwiXCIpO1xuXHR9IHdoaWxlIChpbnB1dCAhPT0gcHJldmlvdXMpO1xuXHRyZXR1cm4gaW5wdXQ7XG59XG5mdW5jdGlvbiBjbGVhbkRlc2NyaXB0aW9uKGRlc2NyaXB0aW9uKSB7XG5cdGxldCBvdXRwdXQgPSBkZXNjcmlwdGlvbjtcblx0b3V0cHV0ID0gcmVtb3ZlSHRtbFRhZ3Mob3V0cHV0KTtcblx0b3V0cHV0ID0gb3V0cHV0LnJlcGxhY2UoL1xcKC4qP1xcKS9nbSwgXCJcIikucmVwbGFjZSgvKFxcWyE/fFxcXSkvZ20sIFwiXCIpO1xuXHRyZXR1cm4gb3V0cHV0O1xufVxuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBjbGVhbkRlc2NyaXB0aW9uIH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXV0aWxzLm1qcy5tYXAiLCJpbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL0FwcENvbmZpZ3VyYXRpb25Qcm92aWRlci9BcHBDb25maWd1cmF0aW9uUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgeyBjbGVhbkRlc2NyaXB0aW9uIH0gZnJvbSBcIi4vdXRpbHMubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9pbmRleC5tanNcIjtcbmltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IFN0YWNrIGZyb20gXCJAbXVpL21hdGVyaWFsL1N0YWNrXCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgQ2hpcCBmcm9tIFwiQG11aS9tYXRlcmlhbC9DaGlwXCI7XG5pbXBvcnQgQ2FjaGVkIGZyb20gXCJAbXVpL2ljb25zLW1hdGVyaWFsL0NhY2hlZFwiO1xuaW1wb3J0IEh0dHBzSWNvbiBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9IdHRwc1wiO1xuaW1wb3J0IFN5bmNBbHQgZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvU3luY0FsdFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL1NlYXJjaC9TZWFyY2hJdGVtLnRzeFxuZnVuY3Rpb24gX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX18oKSB7XG5cdHJldHVybiBcIllvdSBoYXZlIHRyaWVkIHRvIHN0cmluZ2lmeSBvYmplY3QgcmV0dXJuZWQgZnJvbSBgY3NzYCBmdW5jdGlvbi4gSXQgaXNuJ3Qgc3VwcG9zZWQgdG8gYmUgdXNlZCBkaXJlY3RseSAoZS5nLiBhcyB2YWx1ZSBvZiB0aGUgYGNsYXNzTmFtZWAgcHJvcCksIGJ1dCByYXRoZXIgaGFuZGVkIHRvIGVtb3Rpb24gc28gaXQgY2FuIGhhbmRsZSBpdCAoZS5nLiBhcyB2YWx1ZSBvZiBgY3NzYCBwcm9wKS5cIjtcbn1cbnZhciBXcmFwcGVyID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJkaXZcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZWtsb3BqbzRcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZWtsb3BqbzRcIixcblx0bGFiZWw6IFwiV3JhcHBlclwiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwiMXgxN2c5NFwiLFxuXHRzdHlsZXM6IFwiZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlXCJcbn0gOiB7XG5cdG5hbWU6IFwiMXgxN2c5NFwiLFxuXHRzdHlsZXM6IFwiZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVRaV0Z5WTJndlUyVmhjbU5vU1hSbGJTNTBjM2dpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCYzBKblFpSXNJbVpwYkdVaU9pSXZhRzl0WlM5eWRXNXVaWEl2ZDI5eWF5OTJaWEprWVdOamFXOHZkbVZ5WkdGalkybHZMM0JoWTJ0aFoyVnpMM1ZwTFdOdmJYQnZibVZ1ZEhNdmMzSmpMMk52YlhCdmJtVnVkSE12VTJWaGNtTm9MMU5sWVhKamFFbDBaVzB1ZEhONElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElITjBlV3hsWkNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl6ZEhsc1pXUW5PMXh1YVcxd2IzSjBJRU5oWTJobFpDQm1jbTl0SUNkQWJYVnBMMmxqYjI1ekxXMWhkR1Z5YVdGc0wwTmhZMmhsWkNjN1hHNXBiWEJ2Y25RZ1NIUjBjSE5KWTI5dUlHWnliMjBnSjBCdGRXa3ZhV052Ym5NdGJXRjBaWEpwWVd3dlNIUjBjSE1uTzF4dWFXMXdiM0owSUZONWJtTkJiSFFnWm5KdmJTQW5RRzExYVM5cFkyOXVjeTF0WVhSbGNtbGhiQzlUZVc1alFXeDBKenRjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNKenRjYm1sdGNHOXlkQ0JEYUdsd0lHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZRMmhwY0NjN1hHNXBiWEJ2Y25RZ1UzUmhZMnNnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5VGRHRmpheWM3WEc1cGJYQnZjblFnVW1WaFkzUWdabkp2YlNBbmNtVmhZM1FuTzF4dWFXMXdiM0owSUhzZ2RYTmxWSEpoYm5Oc1lYUnBiMjRnZlNCbWNtOXRJQ2R5WldGamRDMXBNVGh1WlhoMEp6dGNibHh1YVcxd2IzSjBJSHNnZFhObFEyOXVabWxuSUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYm1sdGNHOXlkQ0I3SUdOc1pXRnVSR1Z6WTNKcGNIUnBiMjRnZlNCbWNtOXRJQ2N1TDNWMGFXeHpKenRjYmx4dWRIbHdaU0JUWldGeVkyaEpkR1Z0VUhKdmNITWdQU0I3WEc0Z0lHNWhiV1U2SUhOMGNtbHVaenRjYmlBZ2RtVnljMmx2Ymo4NklITjBjbWx1Wnp0Y2JpQWdaR1Z6WTNKcGNIUnBiMjQvT2lCemRISnBibWM3WEc0Z0lHbHpVSEpwZG1GMFpUODZJR0p2YjJ4bFlXNDdYRzRnSUdselEyRmphR1ZrUHpvZ1ltOXZiR1ZoYmp0Y2JpQWdhWE5TWlcxdmRHVS9PaUJpYjI5c1pXRnVPMXh1ZlR0Y2JseHVZMjl1YzNRZ1YzSmhjSEJsY2lBOUlITjBlV3hsWkM1a2FYWW9lMXh1SUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lHRnNhV2R1U1hSbGJYTTZJQ2RqWlc1MFpYSW5MRnh1SUNCM2FXUjBhRG9nSnpFd01DVW5MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCRVpYTmpjbWx3ZEdsdmJpQTlJSE4wZVd4bFpDZ25aR2wySnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR1JwYzNCc1lYazZJQ2R1YjI1bEp5eGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdVozSmxlVXhwWjJoME1peGNiaUFnYkdsdVpVaGxhV2RvZERvZ0p6RXVOWEpsYlNjc1hHNGdJSGRvYVhSbFUzQmhZMlU2SUNkdWIzZHlZWEFuTEZ4dUlDQjBaWGgwVDNabGNtWnNiM2M2SUNkbGJHeHBjSE5wY3ljc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQnZkbVZ5Wm14dmR6b2dKMmhwWkdSbGJpY3NYRzRnSUhCaFpHUnBibWRNWldaME9pQjBhR1Z0WlM1emNHRmphVzVuS0Nrc1hHNGdJR1p2Ym5SVGFYcGxPaUIwYUdWdFpTNW1iMjUwVTJsNlpTNXpjMjBzWEc0Z0lGdGdRRzFsWkdsaElDaHRhVzR0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11YldWa2FYVnRmWEI0S1dCZE9pQjdYRzRnSUNBZ1pHbHpjR3hoZVRvZ0oySnNiMk5ySnl4Y2JpQWdJQ0IzYVdSMGFEb2dKek13TUhCNEp5eGNiaUFnZlN4Y2JpQWdXMkJBYldWa2FXRWdLRzFwYmkxM2FXUjBhRG9nSkh0MGFHVnRaUzVpY21WaGExQnZhVzUwY3k1c1lYSm5aWDF3ZUNsZ1hUb2dlMXh1SUNBZ0lHUnBjM0JzWVhrNklDZGliRzlqYXljc1hHNGdJQ0FnZDJsa2RHZzZJQ2MxTURCd2VDY3NYRzRnSUgwc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SURFME5EQndlQ2xnWFRvZ2UxeHVJQ0FnSUdScGMzQnNZWGs2SUNkaWJHOWpheWNzWEc0Z0lDQWdkMmxrZEdnNklDYzJNREJ3ZUNjc1hHNGdJSDBzWEc1OUtTazdYRzVjYm1OdmJuTjBJRTVoYldWSGNtOTFjQ0E5SUhOMGVXeGxaQzV6Y0dGdUtIdGNiaUFnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNCbWJHVjRPaUFuTVNjc1hHNTlLVHRjYmx4dVkyOXVjM1FnVG1GdFpTQTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JtYjI1MFYyVnBaMmgwT2lBbk56QXdKeXhjYmlBZ1ptOXVkRk5wZW1VNklIUm9aVzFsTG1admJuUlRhWHBsTG5OdExGeHVmU2twTzF4dVhHNWpiMjV6ZENCV1pYSnphVzl1SUQwZ2MzUjViR1ZrS0NkemNHRnVKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHWnZiblJUYVhwbE9pQjBhR1Z0WlM1bWIyNTBVMmw2WlM1emMyMHNYRzU5S1NrN1hHNWNibU52Ym5OMElGTmxZWEpqYUVsMFpXMDZJRkpsWVdOMExrWkRQRk5sWVhKamFFbDBaVzFRY205d2N6NGdQU0FvZTF4dUlDQnVZVzFsTEZ4dUlDQmtaWE5qY21sd2RHbHZiaXhjYmlBZ2FYTlFjbWwyWVhSbElEMGdabUZzYzJVc1hHNGdJR2x6VW1WdGIzUmxJRDBnWm1Gc2MyVXNYRzRnSUdselEyRmphR1ZrSUQwZ1ptRnNjMlVzWEc0Z0lIWmxjbk5wYjI0c1hHNGdJQzR1TG5CeWIzQnpYRzU5S1NBOVBpQjdYRzRnSUdOdmJuTjBJSHNnZENCOUlEMGdkWE5sVkhKaGJuTnNZWFJwYjI0b0tUdGNiaUFnWTI5dWMzUWdleUJqYjI1bWFXZFBjSFJwYjI1eklIMGdQU0IxYzJWRGIyNW1hV2NvS1R0Y2JpQWdZMjl1YzNRZ2FHRnVaR3hsUkdWc1pYUmxJRDBnS0NrZ1BUNGdlMXh1SUNBZ0lDOHZJRzV2SUdGamRHbHZiaUJoYzNOcFoyNWxaQ0JpZVNCa1pXWmhkV3gwWEc0Z0lIMDdYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQR3hwSUhzdUxpNXdjbTl3YzMwZ2MzUjViR1U5ZTNzZ1pteGxlRVJwY21WamRHbHZiam9nSjJOdmJIVnRiaWNnZlgwK1hHNGdJQ0FnSUNBOFYzSmhjSEJsY2o1Y2JpQWdJQ0FnSUNBZ1BFNWhiV1ZIY205MWNENWNiaUFnSUNBZ0lDQWdJQ0E4VG1GdFpUNTdibUZ0WlgwOEwwNWhiV1UrWEc0Z0lDQWdJQ0FnSUNBZ2UyUmxjMk55YVhCMGFXOXVJQ1ltSUR4RVpYTmpjbWx3ZEdsdmJqNTdZMnhsWVc1RVpYTmpjbWx3ZEdsdmJpaGtaWE5qY21sd2RHbHZiaWw5UEM5RVpYTmpjbWx3ZEdsdmJqNTlYRzRnSUNBZ0lDQWdJRHd2VG1GdFpVZHliM1Z3UGx4dUlDQWdJQ0FnSUNCN2RtVnljMmx2YmlBbUppQThWbVZ5YzJsdmJqNTdkbVZ5YzJsdmJuMDhMMVpsY25OcGIyNCtmVnh1SUNBZ0lDQWdQQzlYY21Gd2NHVnlQbHh1SUNBZ0lDQWdlMk52Ym1acFowOXdkR2x2Ym5NL0xuTm9iM2RWY0d4cGJtdHpJQ1ltSUNoY2JpQWdJQ0FnSUNBZ1BGZHlZWEJ3WlhJK1hHNGdJQ0FnSUNBZ0lDQWdQRk4wWVdOcklHUnBjbVZqZEdsdmJqMWNJbkp2ZDF3aUlITndZV05wYm1jOWV6RjlQbHh1SUNBZ0lDQWdJQ0FnSUNBZ2UybHpVSEpwZG1GMFpTQW1KaUFvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHhEYUdsd1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXNiM0k5WENKd2NtbHRZWEo1WENKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCa1pXeGxkR1ZKWTI5dVBYczhTSFIwY0hOSlkyOXVJQzgrZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4aFltVnNQWHQwS0NkelpXRnlZMmd1YVhOUWNtbDJZWFJsSnlsOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IyNUVaV3hsZEdVOWUyaGhibVJzWlVSbGJHVjBaWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6YVhwbFBWd2ljMjFoYkd4Y0lseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnS1gxY2JpQWdJQ0FnSUNBZ0lDQWdJSHRwYzFKbGJXOTBaU0FtSmlBaGFYTlFjbWwyWVhSbElDWW1JQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRU5vYVhCY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCa1pXeGxkR1ZKWTI5dVBYczhVM2x1WTBGc2RDQXZQbjFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JzWVdKbGJEMTdkQ2duYzJWaGNtTm9MbWx6VW1WdGIzUmxKeWw5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjI1RVpXeGxkR1U5ZTJoaGJtUnNaVVJsYkdWMFpYMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnphWHBsUFZ3aWMyMWhiR3hjSWx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGNtbGhiblE5WENKdmRYUnNhVzVsWkZ3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUM4K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FwZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdlMmx6UTJGamFHVmtJQ1ltSUNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVOb2FYQmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaV3hsZEdWSlkyOXVQWHM4UTJGamFHVmtJQzgrZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4aFltVnNQWHQwS0NkelpXRnlZMmd1YVhORFlXTm9aV1FuS1gxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrUmxiR1YwWlQxN2FHRnVaR3hsUkdWc1pYUmxmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE5wZW1VOVhDSnpiV0ZzYkZ3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RtRnlhV0Z1ZEQxY0ltOTFkR3hwYm1Wa1hDSmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUNsOVhHNGdJQ0FnSUNBZ0lDQWdQQzlUZEdGamF6NWNiaUFnSUNBZ0lDQWdQQzlYY21Gd2NHVnlQbHh1SUNBZ0lDQWdLWDFjYmlBZ0lDQThMMnhwUGx4dUlDQXBPMXh1ZlR0Y2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ1UyVmhjbU5vU1hSbGJUdGNiaUpkZlE9PSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIERlc2NyaXB0aW9uID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJkaXZcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZWtsb3BqbzNcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZWtsb3BqbzNcIixcblx0bGFiZWw6IFwiRGVzY3JpcHRpb25cIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0ZGlzcGxheTogXCJub25lXCIsXG5cdGNvbG9yOiB0aGVtZS5wYWxldHRlLmdyZXlMaWdodDIsXG5cdGxpbmVIZWlnaHQ6IFwiMS41cmVtXCIsXG5cdHdoaXRlU3BhY2U6IFwibm93cmFwXCIsXG5cdHRleHRPdmVyZmxvdzogXCJlbGxpcHNpc1wiLFxuXHRhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuXHRvdmVyZmxvdzogXCJoaWRkZW5cIixcblx0cGFkZGluZ0xlZnQ6IHRoZW1lLnNwYWNpbmcoKSxcblx0Zm9udFNpemU6IHRoZW1lLmZvbnRTaXplLnNzbSxcblx0W2BAbWVkaWEgKG1pbi13aWR0aDogJHt0aGVtZS5icmVha1BvaW50cy5tZWRpdW19cHgpYF06IHtcblx0XHRkaXNwbGF5OiBcImJsb2NrXCIsXG5cdFx0d2lkdGg6IFwiMzAwcHhcIlxuXHR9LFxuXHRbYEBtZWRpYSAobWluLXdpZHRoOiAke3RoZW1lLmJyZWFrUG9pbnRzLmxhcmdlfXB4KWBdOiB7XG5cdFx0ZGlzcGxheTogXCJibG9ja1wiLFxuXHRcdHdpZHRoOiBcIjUwMHB4XCJcblx0fSxcblx0W2BAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KWBdOiB7XG5cdFx0ZGlzcGxheTogXCJibG9ja1wiLFxuXHRcdHdpZHRoOiBcIjYwMHB4XCJcblx0fVxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlUWldGeVkyZ3ZVMlZoY21Ob1NYUmxiUzUwYzNnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQk5FSXlRaUlzSW1acGJHVWlPaUl2YUc5dFpTOXlkVzV1WlhJdmQyOXlheTkyWlhKa1lXTmphVzh2ZG1WeVpHRmpZMmx2TDNCaFkydGhaMlZ6TDNWcExXTnZiWEJ2Ym1WdWRITXZjM0pqTDJOdmJYQnZibVZ1ZEhNdlUyVmhjbU5vTDFObFlYSmphRWwwWlcwdWRITjRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSE4wZVd4bFpDQm1jbTl0SUNkQVpXMXZkR2x2Ymk5emRIbHNaV1FuTzF4dWFXMXdiM0owSUVOaFkyaGxaQ0JtY205dElDZEFiWFZwTDJsamIyNXpMVzFoZEdWeWFXRnNMME5oWTJobFpDYzdYRzVwYlhCdmNuUWdTSFIwY0hOSlkyOXVJR1p5YjIwZ0owQnRkV2t2YVdOdmJuTXRiV0YwWlhKcFlXd3ZTSFIwY0hNbk8xeHVhVzF3YjNKMElGTjVibU5CYkhRZ1puSnZiU0FuUUcxMWFTOXBZMjl1Y3kxdFlYUmxjbWxoYkM5VGVXNWpRV3gwSnp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzSnp0Y2JtbHRjRzl5ZENCRGFHbHdJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UTJocGNDYzdYRzVwYlhCdmNuUWdVM1JoWTJzZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOVRkR0ZqYXljN1hHNXBiWEJ2Y25RZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHVhVzF3YjNKMElIc2dkWE5sVkhKaGJuTnNZWFJwYjI0Z2ZTQm1jbTl0SUNkeVpXRmpkQzFwTVRodVpYaDBKenRjYmx4dWFXMXdiM0owSUhzZ2RYTmxRMjl1Wm1sbklIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCN0lHTnNaV0Z1UkdWelkzSnBjSFJwYjI0Z2ZTQm1jbTl0SUNjdUwzVjBhV3h6Snp0Y2JseHVkSGx3WlNCVFpXRnlZMmhKZEdWdFVISnZjSE1nUFNCN1hHNGdJRzVoYldVNklITjBjbWx1Wnp0Y2JpQWdkbVZ5YzJsdmJqODZJSE4wY21sdVp6dGNiaUFnWkdWelkzSnBjSFJwYjI0L09pQnpkSEpwYm1jN1hHNGdJR2x6VUhKcGRtRjBaVDg2SUdKdmIyeGxZVzQ3WEc0Z0lHbHpRMkZqYUdWa1B6b2dZbTl2YkdWaGJqdGNiaUFnYVhOU1pXMXZkR1UvT2lCaWIyOXNaV0Z1TzF4dWZUdGNibHh1WTI5dWMzUWdWM0poY0hCbGNpQTlJSE4wZVd4bFpDNWthWFlvZTF4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkVaWE5qY21sd2RHbHZiaUE5SUhOMGVXeGxaQ2duWkdsMkp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdScGMzQnNZWGs2SUNkdWIyNWxKeXhjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXVaM0psZVV4cFoyaDBNaXhjYmlBZ2JHbHVaVWhsYVdkb2REb2dKekV1TlhKbGJTY3NYRzRnSUhkb2FYUmxVM0JoWTJVNklDZHViM2R5WVhBbkxGeHVJQ0IwWlhoMFQzWmxjbVpzYjNjNklDZGxiR3hwY0hOcGN5Y3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0J2ZG1WeVpteHZkem9nSjJocFpHUmxiaWNzWEc0Z0lIQmhaR1JwYm1kTVpXWjBPaUIwYUdWdFpTNXpjR0ZqYVc1bktDa3NYRzRnSUdadmJuUlRhWHBsT2lCMGFHVnRaUzVtYjI1MFUybDZaUzV6YzIwc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUI3WEc0Z0lDQWdaR2x6Y0d4aGVUb2dKMkpzYjJOckp5eGNiaUFnSUNCM2FXUjBhRG9nSnpNd01IQjRKeXhjYmlBZ2ZTeGNiaUFnVzJCQWJXVmthV0VnS0cxcGJpMTNhV1IwYURvZ0pIdDBhR1Z0WlM1aWNtVmhhMUJ2YVc1MGN5NXNZWEpuWlgxd2VDbGdYVG9nZTF4dUlDQWdJR1JwYzNCc1lYazZJQ2RpYkc5amF5Y3NYRzRnSUNBZ2QybGtkR2c2SUNjMU1EQndlQ2NzWEc0Z0lIMHNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklERTBOREJ3ZUNsZ1hUb2dlMXh1SUNBZ0lHUnBjM0JzWVhrNklDZGliRzlqYXljc1hHNGdJQ0FnZDJsa2RHZzZJQ2MyTURCd2VDY3NYRzRnSUgwc1hHNTlLU2s3WEc1Y2JtTnZibk4wSUU1aGJXVkhjbTkxY0NBOUlITjBlV3hsWkM1emNHRnVLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQm1iR1Y0T2lBbk1TY3NYRzU5S1R0Y2JseHVZMjl1YzNRZ1RtRnRaU0E5SUhOMGVXeGxaQ2duYzNCaGJpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCbWIyNTBWMlZwWjJoME9pQW5OekF3Snl4Y2JpQWdabTl1ZEZOcGVtVTZJSFJvWlcxbExtWnZiblJUYVhwbExuTnRMRnh1ZlNrcE8xeHVYRzVqYjI1emRDQldaWEp6YVc5dUlEMGdjM1I1YkdWa0tDZHpjR0Z1SnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR1p2Ym5SVGFYcGxPaUIwYUdWdFpTNW1iMjUwVTJsNlpTNXpjMjBzWEc1OUtTazdYRzVjYm1OdmJuTjBJRk5sWVhKamFFbDBaVzA2SUZKbFlXTjBMa1pEUEZObFlYSmphRWwwWlcxUWNtOXdjejRnUFNBb2UxeHVJQ0J1WVcxbExGeHVJQ0JrWlhOamNtbHdkR2x2Yml4Y2JpQWdhWE5RY21sMllYUmxJRDBnWm1Gc2MyVXNYRzRnSUdselVtVnRiM1JsSUQwZ1ptRnNjMlVzWEc0Z0lHbHpRMkZqYUdWa0lEMGdabUZzYzJVc1hHNGdJSFpsY25OcGIyNHNYRzRnSUM0dUxuQnliM0J6WEc1OUtTQTlQaUI3WEc0Z0lHTnZibk4wSUhzZ2RDQjlJRDBnZFhObFZISmhibk5zWVhScGIyNG9LVHRjYmlBZ1kyOXVjM1FnZXlCamIyNW1hV2RQY0hScGIyNXpJSDBnUFNCMWMyVkRiMjVtYVdjb0tUdGNiaUFnWTI5dWMzUWdhR0Z1Wkd4bFJHVnNaWFJsSUQwZ0tDa2dQVDRnZTF4dUlDQWdJQzh2SUc1dklHRmpkR2x2YmlCaGMzTnBaMjVsWkNCaWVTQmtaV1poZFd4MFhHNGdJSDA3WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEd4cElIc3VMaTV3Y205d2MzMGdjM1I1YkdVOWUzc2dabXhsZUVScGNtVmpkR2x2YmpvZ0oyTnZiSFZ0YmljZ2ZYMCtYRzRnSUNBZ0lDQThWM0poY0hCbGNqNWNiaUFnSUNBZ0lDQWdQRTVoYldWSGNtOTFjRDVjYmlBZ0lDQWdJQ0FnSUNBOFRtRnRaVDU3Ym1GdFpYMDhMMDVoYldVK1hHNGdJQ0FnSUNBZ0lDQWdlMlJsYzJOeWFYQjBhVzl1SUNZbUlEeEVaWE5qY21sd2RHbHZiajU3WTJ4bFlXNUVaWE5qY21sd2RHbHZiaWhrWlhOamNtbHdkR2x2YmlsOVBDOUVaWE5qY21sd2RHbHZiajU5WEc0Z0lDQWdJQ0FnSUR3dlRtRnRaVWR5YjNWd1BseHVJQ0FnSUNBZ0lDQjdkbVZ5YzJsdmJpQW1KaUE4Vm1WeWMybHZiajU3ZG1WeWMybHZibjA4TDFabGNuTnBiMjQrZlZ4dUlDQWdJQ0FnUEM5WGNtRndjR1Z5UGx4dUlDQWdJQ0FnZTJOdmJtWnBaMDl3ZEdsdmJuTS9Mbk5vYjNkVmNHeHBibXR6SUNZbUlDaGNiaUFnSUNBZ0lDQWdQRmR5WVhCd1pYSStYRzRnSUNBZ0lDQWdJQ0FnUEZOMFlXTnJJR1JwY21WamRHbHZiajFjSW5KdmQxd2lJSE53WVdOcGJtYzllekY5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdlMmx6VUhKcGRtRjBaU0FtSmlBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR4RGFHbHdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjlzYjNJOVhDSndjbWx0WVhKNVhDSmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaV3hsZEdWSlkyOXVQWHM4U0hSMGNITkpZMjl1SUM4K2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHeGhZbVZzUFh0MEtDZHpaV0Z5WTJndWFYTlFjbWwyWVhSbEp5bDlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMjVFWld4bGRHVTllMmhoYm1Sc1pVUmxiR1YwWlgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemFYcGxQVndpYzIxaGJHeGNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0tYMWNiaUFnSUNBZ0lDQWdJQ0FnSUh0cGMxSmxiVzkwWlNBbUppQWhhWE5RY21sMllYUmxJQ1ltSUNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVOb2FYQmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaV3hsZEdWSlkyOXVQWHM4VTNsdVkwRnNkQ0F2UG4xY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCc1lXSmxiRDE3ZENnbmMyVmhjbU5vTG1selVtVnRiM1JsSnlsOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IyNUVaV3hsZEdVOWUyaGhibVJzWlVSbGJHVjBaWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6YVhwbFBWd2ljMjFoYkd4Y0lseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhjbWxoYm5ROVhDSnZkWFJzYVc1bFpGd2lYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDOCtYRzRnSUNBZ0lDQWdJQ0FnSUNBcGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnZTJselEyRmphR1ZrSUNZbUlDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFTm9hWEJjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JrWld4bGRHVkpZMjl1UFhzOFEyRmphR1ZrSUM4K2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHeGhZbVZzUFh0MEtDZHpaV0Z5WTJndWFYTkRZV05vWldRbktYMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZia1JsYkdWMFpUMTdhR0Z1Wkd4bFJHVnNaWFJsZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOcGVtVTlYQ0p6YldGc2JGd2lYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZ5YVdGdWREMWNJbTkxZEd4cGJtVmtYQ0pjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDbDlYRzRnSUNBZ0lDQWdJQ0FnUEM5VGRHRmphejVjYmlBZ0lDQWdJQ0FnUEM5WGNtRndjR1Z5UGx4dUlDQWdJQ0FnS1gxY2JpQWdJQ0E4TDJ4cFBseHVJQ0FwTzF4dWZUdGNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdVMlZoY21Ob1NYUmxiVHRjYmlKZGZRPT0gKi9cIik7XG52YXIgTmFtZUdyb3VwID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJzcGFuXCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVrbG9wam8yXCIgfSA6IHtcblx0dGFyZ2V0OiBcImVrbG9wam8yXCIsXG5cdGxhYmVsOiBcIk5hbWVHcm91cFwiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwiMzZibnFqXCIsXG5cdHN0eWxlczogXCJkaXNwbGF5OmZsZXg7ZmxleDoxXCJcbn0gOiB7XG5cdG5hbWU6IFwiMzZibnFqXCIsXG5cdHN0eWxlczogXCJkaXNwbGF5OmZsZXg7ZmxleDoxLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVRaV0Z5WTJndlUyVmhjbU5vU1hSbGJTNTBjM2dpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCYjBSclFpSXNJbVpwYkdVaU9pSXZhRzl0WlM5eWRXNXVaWEl2ZDI5eWF5OTJaWEprWVdOamFXOHZkbVZ5WkdGalkybHZMM0JoWTJ0aFoyVnpMM1ZwTFdOdmJYQnZibVZ1ZEhNdmMzSmpMMk52YlhCdmJtVnVkSE12VTJWaGNtTm9MMU5sWVhKamFFbDBaVzB1ZEhONElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElITjBlV3hsWkNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl6ZEhsc1pXUW5PMXh1YVcxd2IzSjBJRU5oWTJobFpDQm1jbTl0SUNkQWJYVnBMMmxqYjI1ekxXMWhkR1Z5YVdGc0wwTmhZMmhsWkNjN1hHNXBiWEJ2Y25RZ1NIUjBjSE5KWTI5dUlHWnliMjBnSjBCdGRXa3ZhV052Ym5NdGJXRjBaWEpwWVd3dlNIUjBjSE1uTzF4dWFXMXdiM0owSUZONWJtTkJiSFFnWm5KdmJTQW5RRzExYVM5cFkyOXVjeTF0WVhSbGNtbGhiQzlUZVc1alFXeDBKenRjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNKenRjYm1sdGNHOXlkQ0JEYUdsd0lHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZRMmhwY0NjN1hHNXBiWEJ2Y25RZ1UzUmhZMnNnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5VGRHRmpheWM3WEc1cGJYQnZjblFnVW1WaFkzUWdabkp2YlNBbmNtVmhZM1FuTzF4dWFXMXdiM0owSUhzZ2RYTmxWSEpoYm5Oc1lYUnBiMjRnZlNCbWNtOXRJQ2R5WldGamRDMXBNVGh1WlhoMEp6dGNibHh1YVcxd2IzSjBJSHNnZFhObFEyOXVabWxuSUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYm1sdGNHOXlkQ0I3SUdOc1pXRnVSR1Z6WTNKcGNIUnBiMjRnZlNCbWNtOXRJQ2N1TDNWMGFXeHpKenRjYmx4dWRIbHdaU0JUWldGeVkyaEpkR1Z0VUhKdmNITWdQU0I3WEc0Z0lHNWhiV1U2SUhOMGNtbHVaenRjYmlBZ2RtVnljMmx2Ymo4NklITjBjbWx1Wnp0Y2JpQWdaR1Z6WTNKcGNIUnBiMjQvT2lCemRISnBibWM3WEc0Z0lHbHpVSEpwZG1GMFpUODZJR0p2YjJ4bFlXNDdYRzRnSUdselEyRmphR1ZrUHpvZ1ltOXZiR1ZoYmp0Y2JpQWdhWE5TWlcxdmRHVS9PaUJpYjI5c1pXRnVPMXh1ZlR0Y2JseHVZMjl1YzNRZ1YzSmhjSEJsY2lBOUlITjBlV3hsWkM1a2FYWW9lMXh1SUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lHRnNhV2R1U1hSbGJYTTZJQ2RqWlc1MFpYSW5MRnh1SUNCM2FXUjBhRG9nSnpFd01DVW5MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCRVpYTmpjbWx3ZEdsdmJpQTlJSE4wZVd4bFpDZ25aR2wySnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR1JwYzNCc1lYazZJQ2R1YjI1bEp5eGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdVozSmxlVXhwWjJoME1peGNiaUFnYkdsdVpVaGxhV2RvZERvZ0p6RXVOWEpsYlNjc1hHNGdJSGRvYVhSbFUzQmhZMlU2SUNkdWIzZHlZWEFuTEZ4dUlDQjBaWGgwVDNabGNtWnNiM2M2SUNkbGJHeHBjSE5wY3ljc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQnZkbVZ5Wm14dmR6b2dKMmhwWkdSbGJpY3NYRzRnSUhCaFpHUnBibWRNWldaME9pQjBhR1Z0WlM1emNHRmphVzVuS0Nrc1hHNGdJR1p2Ym5SVGFYcGxPaUIwYUdWdFpTNW1iMjUwVTJsNlpTNXpjMjBzWEc0Z0lGdGdRRzFsWkdsaElDaHRhVzR0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11YldWa2FYVnRmWEI0S1dCZE9pQjdYRzRnSUNBZ1pHbHpjR3hoZVRvZ0oySnNiMk5ySnl4Y2JpQWdJQ0IzYVdSMGFEb2dKek13TUhCNEp5eGNiaUFnZlN4Y2JpQWdXMkJBYldWa2FXRWdLRzFwYmkxM2FXUjBhRG9nSkh0MGFHVnRaUzVpY21WaGExQnZhVzUwY3k1c1lYSm5aWDF3ZUNsZ1hUb2dlMXh1SUNBZ0lHUnBjM0JzWVhrNklDZGliRzlqYXljc1hHNGdJQ0FnZDJsa2RHZzZJQ2MxTURCd2VDY3NYRzRnSUgwc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SURFME5EQndlQ2xnWFRvZ2UxeHVJQ0FnSUdScGMzQnNZWGs2SUNkaWJHOWpheWNzWEc0Z0lDQWdkMmxrZEdnNklDYzJNREJ3ZUNjc1hHNGdJSDBzWEc1OUtTazdYRzVjYm1OdmJuTjBJRTVoYldWSGNtOTFjQ0E5SUhOMGVXeGxaQzV6Y0dGdUtIdGNiaUFnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNCbWJHVjRPaUFuTVNjc1hHNTlLVHRjYmx4dVkyOXVjM1FnVG1GdFpTQTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JtYjI1MFYyVnBaMmgwT2lBbk56QXdKeXhjYmlBZ1ptOXVkRk5wZW1VNklIUm9aVzFsTG1admJuUlRhWHBsTG5OdExGeHVmU2twTzF4dVhHNWpiMjV6ZENCV1pYSnphVzl1SUQwZ2MzUjViR1ZrS0NkemNHRnVKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHWnZiblJUYVhwbE9pQjBhR1Z0WlM1bWIyNTBVMmw2WlM1emMyMHNYRzU5S1NrN1hHNWNibU52Ym5OMElGTmxZWEpqYUVsMFpXMDZJRkpsWVdOMExrWkRQRk5sWVhKamFFbDBaVzFRY205d2N6NGdQU0FvZTF4dUlDQnVZVzFsTEZ4dUlDQmtaWE5qY21sd2RHbHZiaXhjYmlBZ2FYTlFjbWwyWVhSbElEMGdabUZzYzJVc1hHNGdJR2x6VW1WdGIzUmxJRDBnWm1Gc2MyVXNYRzRnSUdselEyRmphR1ZrSUQwZ1ptRnNjMlVzWEc0Z0lIWmxjbk5wYjI0c1hHNGdJQzR1TG5CeWIzQnpYRzU5S1NBOVBpQjdYRzRnSUdOdmJuTjBJSHNnZENCOUlEMGdkWE5sVkhKaGJuTnNZWFJwYjI0b0tUdGNiaUFnWTI5dWMzUWdleUJqYjI1bWFXZFBjSFJwYjI1eklIMGdQU0IxYzJWRGIyNW1hV2NvS1R0Y2JpQWdZMjl1YzNRZ2FHRnVaR3hsUkdWc1pYUmxJRDBnS0NrZ1BUNGdlMXh1SUNBZ0lDOHZJRzV2SUdGamRHbHZiaUJoYzNOcFoyNWxaQ0JpZVNCa1pXWmhkV3gwWEc0Z0lIMDdYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQR3hwSUhzdUxpNXdjbTl3YzMwZ2MzUjViR1U5ZTNzZ1pteGxlRVJwY21WamRHbHZiam9nSjJOdmJIVnRiaWNnZlgwK1hHNGdJQ0FnSUNBOFYzSmhjSEJsY2o1Y2JpQWdJQ0FnSUNBZ1BFNWhiV1ZIY205MWNENWNiaUFnSUNBZ0lDQWdJQ0E4VG1GdFpUNTdibUZ0WlgwOEwwNWhiV1UrWEc0Z0lDQWdJQ0FnSUNBZ2UyUmxjMk55YVhCMGFXOXVJQ1ltSUR4RVpYTmpjbWx3ZEdsdmJqNTdZMnhsWVc1RVpYTmpjbWx3ZEdsdmJpaGtaWE5qY21sd2RHbHZiaWw5UEM5RVpYTmpjbWx3ZEdsdmJqNTlYRzRnSUNBZ0lDQWdJRHd2VG1GdFpVZHliM1Z3UGx4dUlDQWdJQ0FnSUNCN2RtVnljMmx2YmlBbUppQThWbVZ5YzJsdmJqNTdkbVZ5YzJsdmJuMDhMMVpsY25OcGIyNCtmVnh1SUNBZ0lDQWdQQzlYY21Gd2NHVnlQbHh1SUNBZ0lDQWdlMk52Ym1acFowOXdkR2x2Ym5NL0xuTm9iM2RWY0d4cGJtdHpJQ1ltSUNoY2JpQWdJQ0FnSUNBZ1BGZHlZWEJ3WlhJK1hHNGdJQ0FnSUNBZ0lDQWdQRk4wWVdOcklHUnBjbVZqZEdsdmJqMWNJbkp2ZDF3aUlITndZV05wYm1jOWV6RjlQbHh1SUNBZ0lDQWdJQ0FnSUNBZ2UybHpVSEpwZG1GMFpTQW1KaUFvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHhEYUdsd1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXNiM0k5WENKd2NtbHRZWEo1WENKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCa1pXeGxkR1ZKWTI5dVBYczhTSFIwY0hOSlkyOXVJQzgrZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4aFltVnNQWHQwS0NkelpXRnlZMmd1YVhOUWNtbDJZWFJsSnlsOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IyNUVaV3hsZEdVOWUyaGhibVJzWlVSbGJHVjBaWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6YVhwbFBWd2ljMjFoYkd4Y0lseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnS1gxY2JpQWdJQ0FnSUNBZ0lDQWdJSHRwYzFKbGJXOTBaU0FtSmlBaGFYTlFjbWwyWVhSbElDWW1JQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRU5vYVhCY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCa1pXeGxkR1ZKWTI5dVBYczhVM2x1WTBGc2RDQXZQbjFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JzWVdKbGJEMTdkQ2duYzJWaGNtTm9MbWx6VW1WdGIzUmxKeWw5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjI1RVpXeGxkR1U5ZTJoaGJtUnNaVVJsYkdWMFpYMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnphWHBsUFZ3aWMyMWhiR3hjSWx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGNtbGhiblE5WENKdmRYUnNhVzVsWkZ3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUM4K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FwZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdlMmx6UTJGamFHVmtJQ1ltSUNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVOb2FYQmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaV3hsZEdWSlkyOXVQWHM4UTJGamFHVmtJQzgrZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4aFltVnNQWHQwS0NkelpXRnlZMmd1YVhORFlXTm9aV1FuS1gxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrUmxiR1YwWlQxN2FHRnVaR3hsUkdWc1pYUmxmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE5wZW1VOVhDSnpiV0ZzYkZ3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RtRnlhV0Z1ZEQxY0ltOTFkR3hwYm1Wa1hDSmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUNsOVhHNGdJQ0FnSUNBZ0lDQWdQQzlUZEdGamF6NWNiaUFnSUNBZ0lDQWdQQzlYY21Gd2NHVnlQbHh1SUNBZ0lDQWdLWDFjYmlBZ0lDQThMMnhwUGx4dUlDQXBPMXh1ZlR0Y2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ1UyVmhjbU5vU1hSbGJUdGNiaUpkZlE9PSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIE5hbWUgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcInNwYW5cIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZWtsb3BqbzFcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZWtsb3BqbzFcIixcblx0bGFiZWw6IFwiTmFtZVwiXG59KSgoeyB0aGVtZSB9KSA9PiAoe1xuXHRmb250V2VpZ2h0OiBcIjcwMFwiLFxuXHRmb250U2l6ZTogdGhlbWUuZm9udFNpemUuc21cbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5VFpXRnlZMmd2VTJWaGNtTm9TWFJsYlM1MGMzZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJlVVJoSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVRaV0Z5WTJndlUyVmhjbU5vU1hSbGJTNTBjM2dpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnYzNSNWJHVmtJR1p5YjIwZ0owQmxiVzkwYVc5dUwzTjBlV3hsWkNjN1hHNXBiWEJ2Y25RZ1EyRmphR1ZrSUdaeWIyMGdKMEJ0ZFdrdmFXTnZibk10YldGMFpYSnBZV3d2UTJGamFHVmtKenRjYm1sdGNHOXlkQ0JJZEhSd2MwbGpiMjRnWm5KdmJTQW5RRzExYVM5cFkyOXVjeTF0WVhSbGNtbGhiQzlJZEhSd2N5YzdYRzVwYlhCdmNuUWdVM2x1WTBGc2RDQm1jbTl0SUNkQWJYVnBMMmxqYjI1ekxXMWhkR1Z5YVdGc0wxTjVibU5CYkhRbk8xeHVhVzF3YjNKMElIUjVjR1VnZXlCVWFHVnRaU0I5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3bk8xeHVhVzF3YjNKMElFTm9hWEFnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5RGFHbHdKenRjYm1sdGNHOXlkQ0JUZEdGamF5Qm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMU4wWVdOckp6dGNibWx0Y0c5eWRDQlNaV0ZqZENCbWNtOXRJQ2R5WldGamRDYzdYRzVwYlhCdmNuUWdleUIxYzJWVWNtRnVjMnhoZEdsdmJpQjlJR1p5YjIwZ0ozSmxZV04wTFdreE9HNWxlSFFuTzF4dVhHNXBiWEJ2Y25RZ2V5QjFjMlZEYjI1bWFXY2dmU0JtY205dElDY3VMaTh1TGk4bk8xeHVhVzF3YjNKMElIc2dZMnhsWVc1RVpYTmpjbWx3ZEdsdmJpQjlJR1p5YjIwZ0p5NHZkWFJwYkhNbk8xeHVYRzUwZVhCbElGTmxZWEpqYUVsMFpXMVFjbTl3Y3lBOUlIdGNiaUFnYm1GdFpUb2djM1J5YVc1bk8xeHVJQ0IyWlhKemFXOXVQem9nYzNSeWFXNW5PMXh1SUNCa1pYTmpjbWx3ZEdsdmJqODZJSE4wY21sdVp6dGNiaUFnYVhOUWNtbDJZWFJsUHpvZ1ltOXZiR1ZoYmp0Y2JpQWdhWE5EWVdOb1pXUS9PaUJpYjI5c1pXRnVPMXh1SUNCcGMxSmxiVzkwWlQ4NklHSnZiMnhsWVc0N1hHNTlPMXh1WEc1amIyNXpkQ0JYY21Gd2NHVnlJRDBnYzNSNWJHVmtMbVJwZGloN1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnWVd4cFoyNUpkR1Z0Y3pvZ0oyTmxiblJsY2ljc1hHNGdJSGRwWkhSb09pQW5NVEF3SlNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRVJsYzJOeWFYQjBhVzl1SUQwZ2MzUjViR1ZrS0Nka2FYWW5LVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyNXZibVVuTEZ4dUlDQmpiMnh2Y2pvZ2RHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVRHbG5hSFF5TEZ4dUlDQnNhVzVsU0dWcFoyaDBPaUFuTVM0MWNtVnRKeXhjYmlBZ2QyaHBkR1ZUY0dGalpUb2dKMjV2ZDNKaGNDY3NYRzRnSUhSbGVIUlBkbVZ5Wm14dmR6b2dKMlZzYkdsd2MybHpKeXhjYmlBZ1lXeHBaMjVKZEdWdGN6b2dKMk5sYm5SbGNpY3NYRzRnSUc5MlpYSm1iRzkzT2lBbmFHbGtaR1Z1Snl4Y2JpQWdjR0ZrWkdsdVoweGxablE2SUhSb1pXMWxMbk53WVdOcGJtY29LU3hjYmlBZ1ptOXVkRk5wZW1VNklIUm9aVzFsTG1admJuUlRhWHBsTG5OemJTeGNiaUFnVzJCQWJXVmthV0VnS0cxcGJpMTNhV1IwYURvZ0pIdDBhR1Z0WlM1aWNtVmhhMUJ2YVc1MGN5NXRaV1JwZFcxOWNIZ3BZRjA2SUh0Y2JpQWdJQ0JrYVhOd2JHRjVPaUFuWW14dlkyc25MRnh1SUNBZ0lIZHBaSFJvT2lBbk16QXdjSGduTEZ4dUlDQjlMRnh1SUNCYllFQnRaV1JwWVNBb2JXbHVMWGRwWkhSb09pQWtlM1JvWlcxbExtSnlaV0ZyVUc5cGJuUnpMbXhoY21kbGZYQjRLV0JkT2lCN1hHNGdJQ0FnWkdsemNHeGhlVG9nSjJKc2IyTnJKeXhjYmlBZ0lDQjNhV1IwYURvZ0p6VXdNSEI0Snl4Y2JpQWdmU3hjYmlBZ1cyQkFiV1ZrYVdFZ0tHMXBiaTEzYVdSMGFEb2dNVFEwTUhCNEtXQmRPaUI3WEc0Z0lDQWdaR2x6Y0d4aGVUb2dKMkpzYjJOckp5eGNiaUFnSUNCM2FXUjBhRG9nSnpZd01IQjRKeXhjYmlBZ2ZTeGNibjBwS1R0Y2JseHVZMjl1YzNRZ1RtRnRaVWR5YjNWd0lEMGdjM1I1YkdWa0xuTndZVzRvZTF4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR1pzWlhnNklDY3hKeXhjYm4wcE8xeHVYRzVqYjI1emRDQk9ZVzFsSUQwZ2MzUjViR1ZrS0NkemNHRnVKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHWnZiblJYWldsbmFIUTZJQ2MzTURBbkxGeHVJQ0JtYjI1MFUybDZaVG9nZEdobGJXVXVabTl1ZEZOcGVtVXVjMjBzWEc1OUtTazdYRzVjYm1OdmJuTjBJRlpsY25OcGIyNGdQU0J6ZEhsc1pXUW9KM053WVc0bktUeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LSHNnZEdobGJXVWdmU2tnUFQ0Z0tIdGNiaUFnWm05dWRGTnBlbVU2SUhSb1pXMWxMbVp2Ym5SVGFYcGxMbk56YlN4Y2JuMHBLVHRjYmx4dVkyOXVjM1FnVTJWaGNtTm9TWFJsYlRvZ1VtVmhZM1F1UmtNOFUyVmhjbU5vU1hSbGJWQnliM0J6UGlBOUlDaDdYRzRnSUc1aGJXVXNYRzRnSUdSbGMyTnlhWEIwYVc5dUxGeHVJQ0JwYzFCeWFYWmhkR1VnUFNCbVlXeHpaU3hjYmlBZ2FYTlNaVzF2ZEdVZ1BTQm1ZV3h6WlN4Y2JpQWdhWE5EWVdOb1pXUWdQU0JtWVd4elpTeGNiaUFnZG1WeWMybHZiaXhjYmlBZ0xpNHVjSEp2Y0hOY2JuMHBJRDArSUh0Y2JpQWdZMjl1YzNRZ2V5QjBJSDBnUFNCMWMyVlVjbUZ1YzJ4aGRHbHZiaWdwTzF4dUlDQmpiMjV6ZENCN0lHTnZibVpwWjA5d2RHbHZibk1nZlNBOUlIVnpaVU52Ym1acFp5Z3BPMXh1SUNCamIyNXpkQ0JvWVc1a2JHVkVaV3hsZEdVZ1BTQW9LU0E5UGlCN1hHNGdJQ0FnTHk4Z2JtOGdZV04wYVc5dUlHRnpjMmxuYm1Wa0lHSjVJR1JsWm1GMWJIUmNiaUFnZlR0Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNBOGJHa2dleTR1TG5CeWIzQnpmU0J6ZEhsc1pUMTdleUJtYkdWNFJHbHlaV04wYVc5dU9pQW5ZMjlzZFcxdUp5QjlmVDVjYmlBZ0lDQWdJRHhYY21Gd2NHVnlQbHh1SUNBZ0lDQWdJQ0E4VG1GdFpVZHliM1Z3UGx4dUlDQWdJQ0FnSUNBZ0lEeE9ZVzFsUG50dVlXMWxmVHd2VG1GdFpUNWNiaUFnSUNBZ0lDQWdJQ0I3WkdWelkzSnBjSFJwYjI0Z0ppWWdQRVJsYzJOeWFYQjBhVzl1UG50amJHVmhia1JsYzJOeWFYQjBhVzl1S0dSbGMyTnlhWEIwYVc5dUtYMDhMMFJsYzJOeWFYQjBhVzl1UG4xY2JpQWdJQ0FnSUNBZ1BDOU9ZVzFsUjNKdmRYQStYRzRnSUNBZ0lDQWdJSHQyWlhKemFXOXVJQ1ltSUR4V1pYSnphVzl1UG50MlpYSnphVzl1ZlR3dlZtVnljMmx2Ymo1OVhHNGdJQ0FnSUNBOEwxZHlZWEJ3WlhJK1hHNGdJQ0FnSUNCN1kyOXVabWxuVDNCMGFXOXVjejh1YzJodmQxVndiR2x1YTNNZ0ppWWdLRnh1SUNBZ0lDQWdJQ0E4VjNKaGNIQmxjajVjYmlBZ0lDQWdJQ0FnSUNBOFUzUmhZMnNnWkdseVpXTjBhVzl1UFZ3aWNtOTNYQ0lnYzNCaFkybHVaejE3TVgwK1hHNGdJQ0FnSUNBZ0lDQWdJQ0I3YVhOUWNtbDJZWFJsSUNZbUlDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFTm9hWEJjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjJ4dmNqMWNJbkJ5YVcxaGNubGNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1JsYkdWMFpVbGpiMjQ5ZXp4SWRIUndjMGxqYjI0Z0x6NTlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiR0ZpWld3OWUzUW9KM05sWVhKamFDNXBjMUJ5YVhaaGRHVW5LWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtSbGJHVjBaVDE3YUdGdVpHeGxSR1ZzWlhSbGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITnBlbVU5WENKemJXRnNiRndpWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzgrWEc0Z0lDQWdJQ0FnSUNBZ0lDQXBmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2UybHpVbVZ0YjNSbElDWW1JQ0ZwYzFCeWFYWmhkR1VnSmlZZ0tGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFEyaHBjRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1JsYkdWMFpVbGpiMjQ5ZXp4VGVXNWpRV3gwSUM4K2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHeGhZbVZzUFh0MEtDZHpaV0Z5WTJndWFYTlNaVzF2ZEdVbktYMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZia1JsYkdWMFpUMTdhR0Z1Wkd4bFJHVnNaWFJsZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOcGVtVTlYQ0p6YldGc2JGd2lYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZ5YVdGdWREMWNJbTkxZEd4cGJtVmtYQ0pjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDbDlYRzRnSUNBZ0lDQWdJQ0FnSUNCN2FYTkRZV05vWldRZ0ppWWdLRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThRMmhwY0Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdSbGJHVjBaVWxqYjI0OWV6eERZV05vWldRZ0x6NTlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiR0ZpWld3OWUzUW9KM05sWVhKamFDNXBjME5oWTJobFpDY3BmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzl1UkdWc1pYUmxQWHRvWVc1a2JHVkVaV3hsZEdWOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MybDZaVDFjSW5OdFlXeHNYQ0pjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IyWVhKcFlXNTBQVndpYjNWMGJHbHVaV1JjSWx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F2UGx4dUlDQWdJQ0FnSUNBZ0lDQWdLWDFjYmlBZ0lDQWdJQ0FnSUNBOEwxTjBZV05yUGx4dUlDQWdJQ0FnSUNBOEwxZHlZWEJ3WlhJK1hHNGdJQ0FnSUNBcGZWeHVJQ0FnSUR3dmJHaytYRzRnSUNrN1hHNTlPMXh1WEc1bGVIQnZjblFnWkdWbVlYVnNkQ0JUWldGeVkyaEpkR1Z0TzF4dUlsMTkgKi9cIik7XG52YXIgVmVyc2lvbiA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwic3BhblwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJla2xvcGpvMFwiIH0gOiB7XG5cdHRhcmdldDogXCJla2xvcGpvMFwiLFxuXHRsYWJlbDogXCJWZXJzaW9uXCJcbn0pKCh7IHRoZW1lIH0pID0+ICh7IGZvbnRTaXplOiB0aGVtZS5mb250U2l6ZS5zc20gfSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlUWldGeVkyZ3ZVMlZoY21Ob1NYUmxiUzUwYzNnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQk9FUm5RaUlzSW1acGJHVWlPaUl2YUc5dFpTOXlkVzV1WlhJdmQyOXlheTkyWlhKa1lXTmphVzh2ZG1WeVpHRmpZMmx2TDNCaFkydGhaMlZ6TDNWcExXTnZiWEJ2Ym1WdWRITXZjM0pqTDJOdmJYQnZibVZ1ZEhNdlUyVmhjbU5vTDFObFlYSmphRWwwWlcwdWRITjRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSE4wZVd4bFpDQm1jbTl0SUNkQVpXMXZkR2x2Ymk5emRIbHNaV1FuTzF4dWFXMXdiM0owSUVOaFkyaGxaQ0JtY205dElDZEFiWFZwTDJsamIyNXpMVzFoZEdWeWFXRnNMME5oWTJobFpDYzdYRzVwYlhCdmNuUWdTSFIwY0hOSlkyOXVJR1p5YjIwZ0owQnRkV2t2YVdOdmJuTXRiV0YwWlhKcFlXd3ZTSFIwY0hNbk8xeHVhVzF3YjNKMElGTjVibU5CYkhRZ1puSnZiU0FuUUcxMWFTOXBZMjl1Y3kxdFlYUmxjbWxoYkM5VGVXNWpRV3gwSnp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzSnp0Y2JtbHRjRzl5ZENCRGFHbHdJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UTJocGNDYzdYRzVwYlhCdmNuUWdVM1JoWTJzZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOVRkR0ZqYXljN1hHNXBiWEJ2Y25RZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHVhVzF3YjNKMElIc2dkWE5sVkhKaGJuTnNZWFJwYjI0Z2ZTQm1jbTl0SUNkeVpXRmpkQzFwTVRodVpYaDBKenRjYmx4dWFXMXdiM0owSUhzZ2RYTmxRMjl1Wm1sbklIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCN0lHTnNaV0Z1UkdWelkzSnBjSFJwYjI0Z2ZTQm1jbTl0SUNjdUwzVjBhV3h6Snp0Y2JseHVkSGx3WlNCVFpXRnlZMmhKZEdWdFVISnZjSE1nUFNCN1hHNGdJRzVoYldVNklITjBjbWx1Wnp0Y2JpQWdkbVZ5YzJsdmJqODZJSE4wY21sdVp6dGNiaUFnWkdWelkzSnBjSFJwYjI0L09pQnpkSEpwYm1jN1hHNGdJR2x6VUhKcGRtRjBaVDg2SUdKdmIyeGxZVzQ3WEc0Z0lHbHpRMkZqYUdWa1B6b2dZbTl2YkdWaGJqdGNiaUFnYVhOU1pXMXZkR1UvT2lCaWIyOXNaV0Z1TzF4dWZUdGNibHh1WTI5dWMzUWdWM0poY0hCbGNpQTlJSE4wZVd4bFpDNWthWFlvZTF4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkVaWE5qY21sd2RHbHZiaUE5SUhOMGVXeGxaQ2duWkdsMkp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdScGMzQnNZWGs2SUNkdWIyNWxKeXhjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXVaM0psZVV4cFoyaDBNaXhjYmlBZ2JHbHVaVWhsYVdkb2REb2dKekV1TlhKbGJTY3NYRzRnSUhkb2FYUmxVM0JoWTJVNklDZHViM2R5WVhBbkxGeHVJQ0IwWlhoMFQzWmxjbVpzYjNjNklDZGxiR3hwY0hOcGN5Y3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0J2ZG1WeVpteHZkem9nSjJocFpHUmxiaWNzWEc0Z0lIQmhaR1JwYm1kTVpXWjBPaUIwYUdWdFpTNXpjR0ZqYVc1bktDa3NYRzRnSUdadmJuUlRhWHBsT2lCMGFHVnRaUzVtYjI1MFUybDZaUzV6YzIwc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUI3WEc0Z0lDQWdaR2x6Y0d4aGVUb2dKMkpzYjJOckp5eGNiaUFnSUNCM2FXUjBhRG9nSnpNd01IQjRKeXhjYmlBZ2ZTeGNiaUFnVzJCQWJXVmthV0VnS0cxcGJpMTNhV1IwYURvZ0pIdDBhR1Z0WlM1aWNtVmhhMUJ2YVc1MGN5NXNZWEpuWlgxd2VDbGdYVG9nZTF4dUlDQWdJR1JwYzNCc1lYazZJQ2RpYkc5amF5Y3NYRzRnSUNBZ2QybGtkR2c2SUNjMU1EQndlQ2NzWEc0Z0lIMHNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklERTBOREJ3ZUNsZ1hUb2dlMXh1SUNBZ0lHUnBjM0JzWVhrNklDZGliRzlqYXljc1hHNGdJQ0FnZDJsa2RHZzZJQ2MyTURCd2VDY3NYRzRnSUgwc1hHNTlLU2s3WEc1Y2JtTnZibk4wSUU1aGJXVkhjbTkxY0NBOUlITjBlV3hsWkM1emNHRnVLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQm1iR1Y0T2lBbk1TY3NYRzU5S1R0Y2JseHVZMjl1YzNRZ1RtRnRaU0E5SUhOMGVXeGxaQ2duYzNCaGJpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCbWIyNTBWMlZwWjJoME9pQW5OekF3Snl4Y2JpQWdabTl1ZEZOcGVtVTZJSFJvWlcxbExtWnZiblJUYVhwbExuTnRMRnh1ZlNrcE8xeHVYRzVqYjI1emRDQldaWEp6YVc5dUlEMGdjM1I1YkdWa0tDZHpjR0Z1SnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR1p2Ym5SVGFYcGxPaUIwYUdWdFpTNW1iMjUwVTJsNlpTNXpjMjBzWEc1OUtTazdYRzVjYm1OdmJuTjBJRk5sWVhKamFFbDBaVzA2SUZKbFlXTjBMa1pEUEZObFlYSmphRWwwWlcxUWNtOXdjejRnUFNBb2UxeHVJQ0J1WVcxbExGeHVJQ0JrWlhOamNtbHdkR2x2Yml4Y2JpQWdhWE5RY21sMllYUmxJRDBnWm1Gc2MyVXNYRzRnSUdselVtVnRiM1JsSUQwZ1ptRnNjMlVzWEc0Z0lHbHpRMkZqYUdWa0lEMGdabUZzYzJVc1hHNGdJSFpsY25OcGIyNHNYRzRnSUM0dUxuQnliM0J6WEc1OUtTQTlQaUI3WEc0Z0lHTnZibk4wSUhzZ2RDQjlJRDBnZFhObFZISmhibk5zWVhScGIyNG9LVHRjYmlBZ1kyOXVjM1FnZXlCamIyNW1hV2RQY0hScGIyNXpJSDBnUFNCMWMyVkRiMjVtYVdjb0tUdGNiaUFnWTI5dWMzUWdhR0Z1Wkd4bFJHVnNaWFJsSUQwZ0tDa2dQVDRnZTF4dUlDQWdJQzh2SUc1dklHRmpkR2x2YmlCaGMzTnBaMjVsWkNCaWVTQmtaV1poZFd4MFhHNGdJSDA3WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEd4cElIc3VMaTV3Y205d2MzMGdjM1I1YkdVOWUzc2dabXhsZUVScGNtVmpkR2x2YmpvZ0oyTnZiSFZ0YmljZ2ZYMCtYRzRnSUNBZ0lDQThWM0poY0hCbGNqNWNiaUFnSUNBZ0lDQWdQRTVoYldWSGNtOTFjRDVjYmlBZ0lDQWdJQ0FnSUNBOFRtRnRaVDU3Ym1GdFpYMDhMMDVoYldVK1hHNGdJQ0FnSUNBZ0lDQWdlMlJsYzJOeWFYQjBhVzl1SUNZbUlEeEVaWE5qY21sd2RHbHZiajU3WTJ4bFlXNUVaWE5qY21sd2RHbHZiaWhrWlhOamNtbHdkR2x2YmlsOVBDOUVaWE5qY21sd2RHbHZiajU5WEc0Z0lDQWdJQ0FnSUR3dlRtRnRaVWR5YjNWd1BseHVJQ0FnSUNBZ0lDQjdkbVZ5YzJsdmJpQW1KaUE4Vm1WeWMybHZiajU3ZG1WeWMybHZibjA4TDFabGNuTnBiMjQrZlZ4dUlDQWdJQ0FnUEM5WGNtRndjR1Z5UGx4dUlDQWdJQ0FnZTJOdmJtWnBaMDl3ZEdsdmJuTS9Mbk5vYjNkVmNHeHBibXR6SUNZbUlDaGNiaUFnSUNBZ0lDQWdQRmR5WVhCd1pYSStYRzRnSUNBZ0lDQWdJQ0FnUEZOMFlXTnJJR1JwY21WamRHbHZiajFjSW5KdmQxd2lJSE53WVdOcGJtYzllekY5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdlMmx6VUhKcGRtRjBaU0FtSmlBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR4RGFHbHdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjlzYjNJOVhDSndjbWx0WVhKNVhDSmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaV3hsZEdWSlkyOXVQWHM4U0hSMGNITkpZMjl1SUM4K2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHeGhZbVZzUFh0MEtDZHpaV0Z5WTJndWFYTlFjbWwyWVhSbEp5bDlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMjVFWld4bGRHVTllMmhoYm1Sc1pVUmxiR1YwWlgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemFYcGxQVndpYzIxaGJHeGNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0tYMWNiaUFnSUNBZ0lDQWdJQ0FnSUh0cGMxSmxiVzkwWlNBbUppQWhhWE5RY21sMllYUmxJQ1ltSUNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVOb2FYQmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaV3hsZEdWSlkyOXVQWHM4VTNsdVkwRnNkQ0F2UG4xY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCc1lXSmxiRDE3ZENnbmMyVmhjbU5vTG1selVtVnRiM1JsSnlsOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IyNUVaV3hsZEdVOWUyaGhibVJzWlVSbGJHVjBaWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6YVhwbFBWd2ljMjFoYkd4Y0lseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhjbWxoYm5ROVhDSnZkWFJzYVc1bFpGd2lYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDOCtYRzRnSUNBZ0lDQWdJQ0FnSUNBcGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnZTJselEyRmphR1ZrSUNZbUlDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFTm9hWEJjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JrWld4bGRHVkpZMjl1UFhzOFEyRmphR1ZrSUM4K2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHeGhZbVZzUFh0MEtDZHpaV0Z5WTJndWFYTkRZV05vWldRbktYMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZia1JsYkdWMFpUMTdhR0Z1Wkd4bFJHVnNaWFJsZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOcGVtVTlYQ0p6YldGc2JGd2lYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZ5YVdGdWREMWNJbTkxZEd4cGJtVmtYQ0pjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDbDlYRzRnSUNBZ0lDQWdJQ0FnUEM5VGRHRmphejVjYmlBZ0lDQWdJQ0FnUEM5WGNtRndjR1Z5UGx4dUlDQWdJQ0FnS1gxY2JpQWdJQ0E4TDJ4cFBseHVJQ0FwTzF4dWZUdGNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdVMlZoY21Ob1NYUmxiVHRjYmlKZGZRPT0gKi9cIik7XG52YXIgU2VhcmNoSXRlbSA9ICh7IG5hbWUsIGRlc2NyaXB0aW9uLCBpc1ByaXZhdGUgPSBmYWxzZSwgaXNSZW1vdGUgPSBmYWxzZSwgaXNDYWNoZWQgPSBmYWxzZSwgdmVyc2lvbiwgLi4ucHJvcHMgfSkgPT4ge1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdGNvbnN0IHsgY29uZmlnT3B0aW9ucyB9ID0gdXNlQ29uZmlnKCk7XG5cdGNvbnN0IGhhbmRsZURlbGV0ZSA9ICgpID0+IHt9O1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoXCJsaVwiLCB7XG5cdFx0Li4ucHJvcHMsXG5cdFx0c3R5bGU6IHsgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIiB9LFxuXHRcdGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeHMoV3JhcHBlciwgeyBjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3hzKE5hbWVHcm91cCwgeyBjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goTmFtZSwgeyBjaGlsZHJlbjogbmFtZSB9KSwgZGVzY3JpcHRpb24gJiYgLyogQF9fUFVSRV9fICovIGpzeChEZXNjcmlwdGlvbiwgeyBjaGlsZHJlbjogY2xlYW5EZXNjcmlwdGlvbihkZXNjcmlwdGlvbikgfSldIH0pLCB2ZXJzaW9uICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goVmVyc2lvbiwgeyBjaGlsZHJlbjogdmVyc2lvbiB9KV0gfSksIGNvbmZpZ09wdGlvbnM/LnNob3dVcGxpbmtzICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goV3JhcHBlciwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeHMoU3RhY2ssIHtcblx0XHRcdGRpcmVjdGlvbjogXCJyb3dcIixcblx0XHRcdHNwYWNpbmc6IDEsXG5cdFx0XHRjaGlsZHJlbjogW1xuXHRcdFx0XHRpc1ByaXZhdGUgJiYgLyogQF9fUFVSRV9fICovIGpzeChDaGlwLCB7XG5cdFx0XHRcdFx0Y29sb3I6IFwicHJpbWFyeVwiLFxuXHRcdFx0XHRcdGRlbGV0ZUljb246IC8qIEBfX1BVUkVfXyAqLyBqc3goSHR0cHNJY29uLCB7fSksXG5cdFx0XHRcdFx0bGFiZWw6IHQoXCJzZWFyY2guaXNQcml2YXRlXCIpLFxuXHRcdFx0XHRcdG9uRGVsZXRlOiBoYW5kbGVEZWxldGUsXG5cdFx0XHRcdFx0c2l6ZTogXCJzbWFsbFwiXG5cdFx0XHRcdH0pLFxuXHRcdFx0XHRpc1JlbW90ZSAmJiAhaXNQcml2YXRlICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goQ2hpcCwge1xuXHRcdFx0XHRcdGRlbGV0ZUljb246IC8qIEBfX1BVUkVfXyAqLyBqc3goU3luY0FsdCwge30pLFxuXHRcdFx0XHRcdGxhYmVsOiB0KFwic2VhcmNoLmlzUmVtb3RlXCIpLFxuXHRcdFx0XHRcdG9uRGVsZXRlOiBoYW5kbGVEZWxldGUsXG5cdFx0XHRcdFx0c2l6ZTogXCJzbWFsbFwiLFxuXHRcdFx0XHRcdHZhcmlhbnQ6IFwib3V0bGluZWRcIlxuXHRcdFx0XHR9KSxcblx0XHRcdFx0aXNDYWNoZWQgJiYgLyogQF9fUFVSRV9fICovIGpzeChDaGlwLCB7XG5cdFx0XHRcdFx0ZGVsZXRlSWNvbjogLyogQF9fUFVSRV9fICovIGpzeChDYWNoZWQsIHt9KSxcblx0XHRcdFx0XHRsYWJlbDogdChcInNlYXJjaC5pc0NhY2hlZFwiKSxcblx0XHRcdFx0XHRvbkRlbGV0ZTogaGFuZGxlRGVsZXRlLFxuXHRcdFx0XHRcdHNpemU6IFwic21hbGxcIixcblx0XHRcdFx0XHR2YXJpYW50OiBcIm91dGxpbmVkXCJcblx0XHRcdFx0fSlcblx0XHRcdF1cblx0XHR9KSB9KV1cblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBTZWFyY2hJdGVtIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9U2VhcmNoSXRlbS5tanMubWFwIiwiaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG5pbXBvcnQgeyBjb21tb24gfSBmcm9tIFwiQG11aS9tYXRlcmlhbC9jb2xvcnNcIjtcbmltcG9ydCB7IFRleHRGaWVsZCB9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgSW5wdXRBZG9ybm1lbnQgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvSW5wdXRBZG9ybm1lbnRcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9TZWFyY2gvc3R5bGVzLnRzXG52YXIgU3R5bGVkVGV4dEZpZWxkID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoVGV4dEZpZWxkLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlOGxhbzdhMVwiIH0gOiB7XG5cdHRhcmdldDogXCJlOGxhbzdhMVwiLFxuXHRsYWJlbDogXCJTdHlsZWRUZXh0RmllbGRcIlxufSkoKHByb3BzKSA9PiAoe1xuXHRcIiYgLk11aUlucHV0QmFzZS1yb290XCI6IHtcblx0XHRcIjpiZWZvcmVcIjoge1xuXHRcdFx0Y29udGVudDogXCInJ1wiLFxuXHRcdFx0Ym9yZGVyOiBcIm5vbmVcIlxuXHRcdH0sXG5cdFx0XCI6YWZ0ZXJcIjogeyBib3JkZXJDb2xvcjogY29tbW9uLndoaXRlIH0sXG5cdFx0XCI6aG92ZXI6YmVmb3JlXCI6IHsgY29udGVudDogXCJub25lXCIgfSxcblx0XHRcIjpob3ZlcjphZnRlclwiOiB7XG5cdFx0XHRjb250ZW50OiBcIm5vbmVcIixcblx0XHRcdHRyYW5zZm9ybTogXCJzY2FsZVgoMSlcIlxuXHRcdH0sXG5cdFx0W2BAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAke3Byb3BzLnRoZW1lLmJyZWFrUG9pbnRzLm1lZGl1bX1weClgXTogeyBcIjpob3ZlcjphZnRlclwiOiB7IGNvbnRlbnQ6IFwiJydcIiB9IH1cblx0fSxcblx0XCImIC5NdWlJbnB1dEJhc2UtaW5wdXRcIjogeyBbYEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR7cHJvcHMudGhlbWUuYnJlYWtQb2ludHMubWVkaXVtfXB4KWBdOiB7IGNvbG9yOiBjb21tb24ud2hpdGUgfSB9XG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVRaV0Z5WTJndmMzUjViR1Z6TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFWY3JRaUlzSW1acGJHVWlPaUl2YUc5dFpTOXlkVzV1WlhJdmQyOXlheTkyWlhKa1lXTmphVzh2ZG1WeVpHRmpZMmx2TDNCaFkydGhaMlZ6TDNWcExXTnZiWEJ2Ym1WdWRITXZjM0pqTDJOdmJYQnZibVZ1ZEhNdlUyVmhjbU5vTDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQjdJRlJsZUhSR2FXVnNaQ0I5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3bk8xeHVhVzF3YjNKMElFbHVjSFYwUVdSdmNtNXRaVzUwSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlNXNXdkWFJCWkc5eWJtMWxiblFuTzF4dWFXMXdiM0owSUhzZ1kyOXRiVzl1SUgwZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOWpiMnh2Y25Nbk8xeHVYRzVwYlhCdmNuUWdkSGx3WlNCN0lGUm9aVzFsSUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYmx4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCSmJuQjFkRVpwWld4a1VISnZjSE1nZTF4dUlDQmpiMnh2Y2pvZ2MzUnlhVzVuTzF4dWZWeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1UzUjViR1ZrVkdWNGRFWnBaV3hrSUQwZ2MzUjViR1ZrS0ZSbGVIUkdhV1ZzWkNrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaHdjbTl3Y3lrZ1BUNGdLSHRjYmlBZ0p5WWdMazExYVVsdWNIVjBRbUZ6WlMxeWIyOTBKem9nZTF4dUlDQWdJQ2M2WW1WbWIzSmxKem9nZTF4dUlDQWdJQ0FnWTI5dWRHVnVkRG9nWENJbkoxd2lMRnh1SUNBZ0lDQWdZbTl5WkdWeU9pQW5ibTl1WlNjc1hHNGdJQ0FnZlN4Y2JpQWdJQ0FuT21GbWRHVnlKem9nZTF4dUlDQWdJQ0FnWW05eVpHVnlRMjlzYjNJNklHTnZiVzF2Ymk1M2FHbDBaU3hjYmlBZ0lDQjlMRnh1SUNBZ0lDYzZhRzkyWlhJNlltVm1iM0psSnpvZ2UxeHVJQ0FnSUNBZ1kyOXVkR1Z1ZERvZ0oyNXZibVVuTEZ4dUlDQWdJSDBzWEc0Z0lDQWdKenBvYjNabGNqcGhablJsY2ljNklIdGNiaUFnSUNBZ0lHTnZiblJsYm5RNklDZHViMjVsSnl4Y2JpQWdJQ0FnSUhSeVlXNXpabTl5YlRvZ0ozTmpZV3hsV0NneEtTY3NYRzRnSUNBZ2ZTeGNiaUFnSUNCYllFQnRaV1JwWVNCelkzSmxaVzRnWVc1a0lDaHRhVzR0ZDJsa2RHZzZJQ1I3Y0hKdmNITXVkR2hsYldVdVluSmxZV3RRYjJsdWRITXViV1ZrYVhWdGZYQjRLV0JkT2lCN1hHNGdJQ0FnSUNBbk9taHZkbVZ5T21GbWRHVnlKem9nZTF4dUlDQWdJQ0FnSUNCamIyNTBaVzUwT2lCY0lpY25YQ0lzWEc0Z0lDQWdJQ0I5TEZ4dUlDQWdJSDBzWEc0Z0lIMHNYRzRnSUNjbUlDNU5kV2xKYm5CMWRFSmhjMlV0YVc1d2RYUW5PaUI3WEc0Z0lDQWdXMkJBYldWa2FXRWdjMk55WldWdUlHRnVaQ0FvYldsdUxYZHBaSFJvT2lBa2UzQnliM0J6TG5Sb1pXMWxMbUp5WldGclVHOXBiblJ6TG0xbFpHbDFiWDF3ZUNsZ1hUb2dlMXh1SUNBZ0lDQWdZMjlzYjNJNklHTnZiVzF2Ymk1M2FHbDBaU3hjYmlBZ0lDQjlMRnh1SUNCOUxGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVTNSNWJHVmtTVzV3ZFhSQlpHOXlibTFsYm5RZ1BTQnpkSGxzWldRb1NXNXdkWFJCWkc5eWJtMWxiblFwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb0tTQTlQaUFvZTF4dUlDQmpiMnh2Y2pvZ1kyOXRiVzl1TG5kb2FYUmxMRnh1ZlNrcE8xeHVJbDE5ICovXCIpO1xudmFyIFN0eWxlZElucHV0QWRvcm5tZW50ID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoSW5wdXRBZG9ybm1lbnQsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImU4bGFvN2EwXCIgfSA6IHtcblx0dGFyZ2V0OiBcImU4bGFvN2EwXCIsXG5cdGxhYmVsOiBcIlN0eWxlZElucHV0QWRvcm5tZW50XCJcbn0pKCgpID0+ICh7IGNvbG9yOiBjb21tb24ud2hpdGUgfSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlUWldGeVkyZ3ZjM1I1YkdWekxuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRWGREYjBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OWpiMjF3YjI1bGJuUnpMMU5sWVhKamFDOXpkSGxzWlhNdWRITWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdjM1I1YkdWa0lHWnliMjBnSjBCbGJXOTBhVzl1TDNOMGVXeGxaQ2M3WEc1cGJYQnZjblFnZXlCVVpYaDBSbWxsYkdRZ2ZTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNKenRjYm1sdGNHOXlkQ0JKYm5CMWRFRmtiM0p1YldWdWRDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMGx1Y0hWMFFXUnZjbTV0Wlc1MEp6dGNibWx0Y0c5eWRDQjdJR052YlcxdmJpQjlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2WTI5c2IzSnpKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1THljN1hHNWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdTVzV3ZFhSR2FXVnNaRkJ5YjNCeklIdGNiaUFnWTI5c2IzSTZJSE4wY21sdVp6dGNibjFjYmx4dVpYaHdiM0owSUdOdmJuTjBJRk4wZVd4bFpGUmxlSFJHYVdWc1pDQTlJSE4wZVd4bFpDaFVaWGgwUm1sbGJHUXBQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvY0hKdmNITXBJRDArSUNoN1hHNGdJQ2NtSUM1TmRXbEpibkIxZEVKaGMyVXRjbTl2ZENjNklIdGNiaUFnSUNBbk9tSmxabTl5WlNjNklIdGNiaUFnSUNBZ0lHTnZiblJsYm5RNklGd2lKeWRjSWl4Y2JpQWdJQ0FnSUdKdmNtUmxjam9nSjI1dmJtVW5MRnh1SUNBZ0lIMHNYRzRnSUNBZ0p6cGhablJsY2ljNklIdGNiaUFnSUNBZ0lHSnZjbVJsY2tOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJQ0FnZlN4Y2JpQWdJQ0FuT21odmRtVnlPbUpsWm05eVpTYzZJSHRjYmlBZ0lDQWdJR052Ym5SbGJuUTZJQ2R1YjI1bEp5eGNiaUFnSUNCOUxGeHVJQ0FnSUNjNmFHOTJaWEk2WVdaMFpYSW5PaUI3WEc0Z0lDQWdJQ0JqYjI1MFpXNTBPaUFuYm05dVpTY3NYRzRnSUNBZ0lDQjBjbUZ1YzJadmNtMDZJQ2R6WTJGc1pWZ29NU2tuTEZ4dUlDQWdJSDBzWEc0Z0lDQWdXMkJBYldWa2FXRWdjMk55WldWdUlHRnVaQ0FvYldsdUxYZHBaSFJvT2lBa2UzQnliM0J6TG5Sb1pXMWxMbUp5WldGclVHOXBiblJ6TG0xbFpHbDFiWDF3ZUNsZ1hUb2dlMXh1SUNBZ0lDQWdKenBvYjNabGNqcGhablJsY2ljNklIdGNiaUFnSUNBZ0lDQWdZMjl1ZEdWdWREb2dYQ0luSjF3aUxGeHVJQ0FnSUNBZ2ZTeGNiaUFnSUNCOUxGeHVJQ0I5TEZ4dUlDQW5KaUF1VFhWcFNXNXdkWFJDWVhObExXbHVjSFYwSnpvZ2UxeHVJQ0FnSUZ0Z1FHMWxaR2xoSUhOamNtVmxiaUJoYm1RZ0tHMXBiaTEzYVdSMGFEb2dKSHR3Y205d2N5NTBhR1Z0WlM1aWNtVmhhMUJ2YVc1MGN5NXRaV1JwZFcxOWNIZ3BZRjA2SUh0Y2JpQWdJQ0FnSUdOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJQ0FnZlN4Y2JpQWdmU3hjYm4wcEtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGTjBlV3hsWkVsdWNIVjBRV1J2Y201dFpXNTBJRDBnYzNSNWJHVmtLRWx1Y0hWMFFXUnZjbTV0Wlc1MEtUeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LQ2tnUFQ0Z0tIdGNiaUFnWTI5c2IzSTZJR052YlcxdmJpNTNhR2wwWlN4Y2JuMHBLVHRjYmlKZGZRPT0gKi9cIik7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IFN0eWxlZElucHV0QWRvcm5tZW50LCBTdHlsZWRUZXh0RmllbGQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3R5bGVzLm1qcy5tYXAiLCJpbXBvcnQgeyBSb3V0ZSBhcyBSb3V0ZSQxIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3JvdXRlcy5tanNcIjtcbmltcG9ydCBcIi4uLy4uL3V0aWxzL2luZGV4Lm1qc1wiO1xuaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9BcHBDb25maWd1cmF0aW9uUHJvdmlkZXIvQXBwQ29uZmlndXJhdGlvblByb3ZpZGVyLm1qc1wiO1xuaW1wb3J0IHsgdXNlU2VhcmNoIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9TZWFyY2hQcm92aWRlci9TZWFyY2hQcm92aWRlci5tanNcIjtcbmltcG9ydCBBdXRvQ29tcGxldGUgZnJvbSBcIi4vQXV0b0NvbXBsZXRlL0F1dG9Db21wbGV0ZS5tanNcIjtcbmltcG9ydCBcIi4vQXV0b0NvbXBsZXRlL2luZGV4Lm1qc1wiO1xuaW1wb3J0IFNlYXJjaEl0ZW0gZnJvbSBcIi4vU2VhcmNoSXRlbS5tanNcIjtcbmltcG9ydCB7IFN0eWxlZElucHV0QWRvcm5tZW50LCBTdHlsZWRUZXh0RmllbGQgfSBmcm9tIFwiLi9zdHlsZXMubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9pbmRleC5tanNcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0ZSB9IGZyb20gXCJyZWFjdC1yb3V0ZXJcIjtcbmltcG9ydCBkZWJvdW5jZSBmcm9tIFwibG9kYXNoL2RlYm91bmNlXCI7XG5pbXBvcnQgU2VhcmNoTXVpIGZyb20gXCJAbXVpL2ljb25zLW1hdGVyaWFsL1NlYXJjaFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL1NlYXJjaC9TZWFyY2gudHN4XG52YXIgQ09OU1RBTlRTID0ge1xuXHRBUElfREVMQVk6IDMwMCxcblx0QUJPUlRfRVJST1I6IFwiQWJvcnRFcnJvclwiXG59O1xudmFyIFNlYXJjaCA9ICgpID0+IHtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG5cdGNvbnN0IHsgc2VhcmNoUmVzdWx0cywgaXNMb2FkaW5nLCBkb1NlYXJjaCB9ID0gdXNlU2VhcmNoKCk7XG5cdGNvbnN0IHsgY29uZmlnT3B0aW9uczogeyBmbGFncyB9IH0gPSB1c2VDb25maWcoKTtcblx0Y29uc3Qgc2VhcmNoUmVtb3RlID0gZmxhZ3M/LnNlYXJjaFJlbW90ZSA/PyBmYWxzZTtcblx0Y29uc3QgYWJvcnRDb250cm9sbGVyUmVmID0gdXNlUmVmKG51bGwpO1xuXHRjb25zdCBjYW5jZWxBbGxTZWFyY2hSZXF1ZXN0cyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcblx0XHRpZiAoYWJvcnRDb250cm9sbGVyUmVmLmN1cnJlbnQpIHtcblx0XHRcdGFib3J0Q29udHJvbGxlclJlZi5jdXJyZW50LmFib3J0KCk7XG5cdFx0XHRhYm9ydENvbnRyb2xsZXJSZWYuY3VycmVudCA9IG51bGw7XG5cdFx0fVxuXHR9LCBbXSk7XG5cdGNvbnN0IGhhbmRsZU9uQmx1ciA9IHVzZUNhbGxiYWNrKChldmVudCkgPT4ge1xuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdGNhbmNlbEFsbFNlYXJjaFJlcXVlc3RzKCk7XG5cdH0sIFtjYW5jZWxBbGxTZWFyY2hSZXF1ZXN0c10pO1xuXHRjb25zdCBoYW5kbGVDbGlja1NlYXJjaCA9IHVzZUNhbGxiYWNrKChldmVudCwgdmFsdWUsIHJlYXNvbikgPT4ge1xuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdGlmIChyZWFzb24gPT09IFwic2VsZWN0T3B0aW9uXCIpIHtcblx0XHRcdGNvbnN0IHBrZ05hbWUgPSB2YWx1ZVtcInBhY2thZ2VcIl0/Lm5hbWUgPz8gdmFsdWUubmFtZTtcblx0XHRcdG5hdmlnYXRlKGAke1JvdXRlJDEuREVUQUlMfSR7cGtnTmFtZX1gKTtcblx0XHR9XG5cdH0sIFtuYXZpZ2F0ZSwgc2VhcmNoUmVtb3RlXSk7XG5cdGNvbnN0IGRvU2VhcmNoUmVmID0gdXNlUmVmKGRvU2VhcmNoKTtcblx0ZG9TZWFyY2hSZWYuY3VycmVudCA9IGRvU2VhcmNoO1xuXHQvKipcblx0KiBTdGFibGUgZmV0Y2ggZnVuY3Rpb24gdGhhdCByZWFkcyB0aGUgbGF0ZXN0IGRvU2VhcmNoIGZyb20gYSByZWYsXG5cdCogYXZvaWRpbmcgZGVwZW5kZW5jeSBjaGFuZ2VzIHRoYXQgd291bGQgYnJlYWsgdGhlIGRlYm91bmNlLlxuXHQqL1xuXHRjb25zdCBoYW5kbGVGZXRjaFBhY2thZ2VzID0gdXNlQ2FsbGJhY2soYXN5bmMgKHsgdmFsdWUgfSkgPT4ge1xuXHRcdGlmICh2YWx1ZT8udHJpbSgpICE9PSBcIlwiKSB7XG5cdFx0XHRjYW5jZWxBbGxTZWFyY2hSZXF1ZXN0cygpO1xuXHRcdFx0Y29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblx0XHRcdGFib3J0Q29udHJvbGxlclJlZi5jdXJyZW50ID0gY29udHJvbGxlcjtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdGF3YWl0IGRvU2VhcmNoUmVmLmN1cnJlbnQ/Lih7XG5cdFx0XHRcdFx0dGV4dDogdmFsdWUsXG5cdFx0XHRcdFx0c2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbFxuXHRcdFx0XHR9KTtcblx0XHRcdH0gY2F0Y2ggKGVycikge1xuXHRcdFx0XHRpZiAoZXJyLm5hbWUgPT09IENPTlNUQU5UUy5BQk9SVF9FUlJPUikgY29uc29sZS53YXJuKFwiU2VhcmNoIHJlcXVlc3QgYWJvcnRlZFwiKTtcblx0XHRcdFx0ZWxzZSBjb25zb2xlLmVycm9yKFwiU2VhcmNoIGVycm9yOlwiLCBlcnIpO1xuXHRcdFx0fVxuXHRcdH1cblx0fSwgW2NhbmNlbEFsbFNlYXJjaFJlcXVlc3RzXSk7XG5cdGNvbnN0IGRlYm91bmNlZEZldGNoID0gdXNlTWVtbygoKSA9PiBkZWJvdW5jZShoYW5kbGVGZXRjaFBhY2thZ2VzLCBDT05TVEFOVFMuQVBJX0RFTEFZKSwgW2hhbmRsZUZldGNoUGFja2FnZXNdKTtcblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0ZGVib3VuY2VkRmV0Y2guY2FuY2VsPy4oKTtcblx0XHRcdGNhbmNlbEFsbFNlYXJjaFJlcXVlc3RzKCk7XG5cdFx0fTtcblx0fSwgW2RlYm91bmNlZEZldGNoLCBjYW5jZWxBbGxTZWFyY2hSZXF1ZXN0c10pO1xuXHRjb25zdCByZW5kZXJPcHRpb24gPSAocHJvcHMsIG9wdGlvbikgPT4ge1xuXHRcdGNvbnN0IHsga2V5LCAuLi5vdGhlclByb3BzIH0gPSBwcm9wcztcblx0XHRpZiAoc2VhcmNoUmVtb3RlKSB7XG5cdFx0XHRjb25zdCBpdGVtID0gb3B0aW9uLnBhY2thZ2U7XG5cdFx0XHRjb25zdCBpc1ByaXZhdGUgPSBvcHRpb24/LnZlcmRhY2Npb1ByaXZhdGU7XG5cdFx0XHRjb25zdCBpc0NhY2hlZCA9IG9wdGlvbj8udmVyZGFjY2lvUGtnQ2FjaGVkO1xuXHRcdFx0Y29uc3QgaXNSZW1vdGUgPSAhaXNDYWNoZWQgJiYgIWlzUHJpdmF0ZTtcblx0XHRcdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFNlYXJjaEl0ZW0sIHtcblx0XHRcdFx0Li4ub3RoZXJQcm9wcyxcblx0XHRcdFx0ZGVzY3JpcHRpb246IGl0ZW0/LmRlc2NyaXB0aW9uLFxuXHRcdFx0XHRpc0NhY2hlZCxcblx0XHRcdFx0aXNQcml2YXRlLFxuXHRcdFx0XHRpc1JlbW90ZSxcblx0XHRcdFx0bmFtZTogaXRlbT8ubmFtZSxcblx0XHRcdFx0dmVyc2lvbjogaXRlbT8udmVyc2lvblxuXHRcdFx0fSwga2V5KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Y29uc3QgaXRlbSA9IG9wdGlvbi5wYWNrYWdlO1xuXHRcdFx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goU2VhcmNoSXRlbSwge1xuXHRcdFx0XHQuLi5vdGhlclByb3BzLFxuXHRcdFx0XHRkZXNjcmlwdGlvbjogaXRlbT8uZGVzY3JpcHRpb24sXG5cdFx0XHRcdG5hbWU6IGl0ZW0/Lm5hbWUsXG5cdFx0XHRcdHZlcnNpb246IGl0ZW0/LnZlcnNpb25cblx0XHRcdH0sIGtleSk7XG5cdFx0fVxuXHR9O1xuXHRjb25zdCByZW5kZXJJbnB1dCA9IChwYXJhbXMpID0+IHtcblx0XHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTdHlsZWRUZXh0RmllbGQsIHtcblx0XHRcdC4uLnBhcmFtcyxcblx0XHRcdElucHV0UHJvcHM6IHtcblx0XHRcdFx0Li4ucGFyYW1zLklucHV0UHJvcHMsXG5cdFx0XHRcdHN0YXJ0QWRvcm5tZW50OiAvKiBAX19QVVJFX18gKi8ganN4KFN0eWxlZElucHV0QWRvcm5tZW50LCB7XG5cdFx0XHRcdFx0cG9zaXRpb246IFwic3RhcnRcIixcblx0XHRcdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChTZWFyY2hNdWksIHt9KVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdGxhYmVsOiBcIlwiLFxuXHRcdFx0cGxhY2Vob2xkZXI6IHQoXCJzZWFyY2gucGFja2FnZXNcIiksXG5cdFx0XHR2YXJpYW50OiBcInN0YW5kYXJkXCJcblx0XHR9KTtcblx0fTtcblx0Y29uc3QgZ2V0T3B0aW9uTGFiZWwgPSAob3B0aW9uKSA9PiB7XG5cdFx0cmV0dXJuIG9wdGlvbj8ucGFja2FnZT8ubmFtZTtcblx0fTtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goQXV0b0NvbXBsZXRlLCB7XG5cdFx0Z2V0T3B0aW9uTGFiZWwsXG5cdFx0b25DbGVhblN1Z2dlc3Rpb25zOiBoYW5kbGVPbkJsdXIsXG5cdFx0b25TZWxlY3RJdGVtOiBoYW5kbGVDbGlja1NlYXJjaCxcblx0XHRvblN1Z2dlc3Rpb25zRmV0Y2g6IGRlYm91bmNlZEZldGNoLFxuXHRcdHBsYWNlaG9sZGVyOiB0KFwic2VhcmNoLnBhY2thZ2VzXCIpLFxuXHRcdHJlbmRlcklucHV0LFxuXHRcdHJlbmRlck9wdGlvbixcblx0XHRzdWdnZXN0aW9uczogc2VhcmNoUmVzdWx0cyxcblx0XHRzdWdnZXN0aW9uc0xvYWRpbmc6IGlzTG9hZGluZ1xuXHR9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IFNlYXJjaCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVNlYXJjaC5tanMubWFwIiwiaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG5pbXBvcnQgRGlhbG9nQ29udGVudCBmcm9tIFwiQG11aS9tYXRlcmlhbC9EaWFsb2dDb250ZW50XCI7XG5pbXBvcnQgRGlhbG9nVGl0bGUgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvRGlhbG9nVGl0bGVcIjtcbmltcG9ydCB7IGNvbW1vbiB9IGZyb20gXCJAbXVpL21hdGVyaWFsL2NvbG9yc1wiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL1JlZ2lzdHJ5SW5mb0RpYWxvZy9zdHlsZXMudHNcbnZhciBUaXRsZSA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKERpYWxvZ1RpdGxlLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMXk3YnBscDJcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTF5N2JwbHAyXCIsXG5cdGxhYmVsOiBcIlRpdGxlXCJcbn0pKCh7IHRoZW1lIH0pID0+ICh7XG5cdGJhY2tncm91bmRDb2xvcjogdGhlbWUucGFsZXR0ZS5tb2RlID09PSBcImxpZ2h0XCIgPyB0aGVtZS5wYWxldHRlLnByaW1hcnkubWFpbiA6IHRoZW1lLnBhbGV0dGUuY3lhbkJsdWUsXG5cdGNvbG9yOiBjb21tb24ud2hpdGUsXG5cdGZvbnRTaXplOiB0aGVtZS5mb250U2l6ZS5sZ1xufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlTWldkcGMzUnllVWx1Wm05RWFXRnNiMmN2YzNSNWJHVnpMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVU5eFFpSXNJbVpwYkdVaU9pSXZhRzl0WlM5eWRXNXVaWEl2ZDI5eWF5OTJaWEprWVdOamFXOHZkbVZ5WkdGalkybHZMM0JoWTJ0aFoyVnpMM1ZwTFdOdmJYQnZibVZ1ZEhNdmMzSmpMMk52YlhCdmJtVnVkSE12VW1WbmFYTjBjbmxKYm1adlJHbGhiRzluTDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQkVhV0ZzYjJkRGIyNTBaVzUwSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlJHbGhiRzluUTI5dWRHVnVkQ2M3WEc1cGJYQnZjblFnUkdsaGJHOW5WR2wwYkdVZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUVhV0ZzYjJkVWFYUnNaU2M3WEc1cGJYQnZjblFnZXlCamIyMXRiMjRnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wyTnZiRzl5Y3ljN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOG5PMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdWR2wwYkdVZ1BTQnpkSGxzWldRb1JHbGhiRzluVkdsMGJHVXBQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCaVlXTnJaM0p2ZFc1a1EyOXNiM0k2WEc0Z0lDQWdkR2hsYldVdWNHRnNaWFIwWlM1dGIyUmxJRDA5UFNBbmJHbG5hSFFuSUQ4Z2RHaGxiV1V1Y0dGc1pYUjBaUzV3Y21sdFlYSjVMbTFoYVc0Z09pQjBhR1Z0WlM1d1lXeGxkSFJsTG1ONVlXNUNiSFZsTEZ4dUlDQmpiMnh2Y2pvZ1kyOXRiVzl1TG5kb2FYUmxMRnh1SUNCbWIyNTBVMmw2WlRvZ2RHaGxiV1V1Wm05dWRGTnBlbVV1Ykdjc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JEYjI1MFpXNTBJRDBnYzNSNWJHVmtLRVJwWVd4dlowTnZiblJsYm5RcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0J3WVdSa2FXNW5PaUFuTUNBeU5IQjRKeXhjYmlBZ1ltRmphMmR5YjNWdVpFTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMbUpoWTJ0bmNtOTFibVF1WkdWbVlYVnNkQ3hjYm4wcEtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGUmxlSFJEYjI1MFpXNTBJRDBnYzNSNWJHVmtLQ2RrYVhZbktUeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LSHNnZEdobGJXVWdmU2tnUFQ0Z0tIdGNiaUFnY0dGa1pHbHVaem9nSnpFd2NIZ2dNalJ3ZUNjc1hHNGdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2dkR2hsYldVdWNHRnNaWFIwWlM1aVlXTnJaM0p2ZFc1a0xtUmxabUYxYkhRc1hHNTlLU2s3WEc0aVhYMD0gKi9cIik7XG52YXIgQ29udGVudCA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKERpYWxvZ0NvbnRlbnQsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxeTdicGxwMVwiIH0gOiB7XG5cdHRhcmdldDogXCJlMXk3YnBscDFcIixcblx0bGFiZWw6IFwiQ29udGVudFwiXG59KSgoeyB0aGVtZSB9KSA9PiAoe1xuXHRwYWRkaW5nOiBcIjAgMjRweFwiLFxuXHRiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUuYmFja2dyb3VuZC5kZWZhdWx0XG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVNaV2RwYzNSeWVVbHVabTlFYVdGc2IyY3ZjM1I1YkdWekxuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRV04xUWlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwyTnZiWEJ2Ym1WdWRITXZVbVZuYVhOMGNubEpibVp2UkdsaGJHOW5MM04wZVd4bGN5NTBjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCRWFXRnNiMmREYjI1MFpXNTBJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UkdsaGJHOW5RMjl1ZEdWdWRDYzdYRzVwYlhCdmNuUWdSR2xoYkc5blZHbDBiR1VnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5RWFXRnNiMmRVYVhSc1pTYzdYRzVwYlhCdmNuUWdleUJqYjIxdGIyNGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDJOdmJHOXljeWM3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk4bk8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1ZHbDBiR1VnUFNCemRIbHNaV1FvUkdsaGJHOW5WR2wwYkdVcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JpWVdOclozSnZkVzVrUTI5c2IzSTZYRzRnSUNBZ2RHaGxiV1V1Y0dGc1pYUjBaUzV0YjJSbElEMDlQU0FuYkdsbmFIUW5JRDhnZEdobGJXVXVjR0ZzWlhSMFpTNXdjbWx0WVhKNUxtMWhhVzRnT2lCMGFHVnRaUzV3WVd4bGRIUmxMbU41WVc1Q2JIVmxMRnh1SUNCamIyeHZjam9nWTI5dGJXOXVMbmRvYVhSbExGeHVJQ0JtYjI1MFUybDZaVG9nZEdobGJXVXVabTl1ZEZOcGVtVXViR2NzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkRiMjUwWlc1MElEMGdjM1I1YkdWa0tFUnBZV3h2WjBOdmJuUmxiblFwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQndZV1JrYVc1bk9pQW5NQ0F5TkhCNEp5eGNiaUFnWW1GamEyZHliM1Z1WkVOdmJHOXlPaUIwYUdWdFpTNXdZV3hsZEhSbExtSmhZMnRuY205MWJtUXVaR1ZtWVhWc2RDeGNibjBwS1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZSbGVIUkRiMjUwWlc1MElEMGdjM1I1YkdWa0tDZGthWFluS1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIc2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdjR0ZrWkdsdVp6b2dKekV3Y0hnZ01qUndlQ2NzWEc0Z0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ2RHaGxiV1V1Y0dGc1pYUjBaUzVpWVdOclozSnZkVzVrTG1SbFptRjFiSFFzWEc1OUtTazdYRzRpWFgwPSAqL1wiKTtcbnByb2Nlc3MuZW52Lk5PREVfRU5WO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBDb250ZW50LCBUaXRsZSB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHlsZXMubWpzLm1hcCIsImltcG9ydCB7IENvbnRlbnQsIFRpdGxlIH0gZnJvbSBcIi4vc3R5bGVzLm1qc1wiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IERpYWxvZyBmcm9tIFwiQG11aS9tYXRlcmlhbC9EaWFsb2dcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCBCdXR0b24gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQnV0dG9uXCI7XG5pbXBvcnQgRGlhbG9nQWN0aW9ucyBmcm9tIFwiQG11aS9tYXRlcmlhbC9EaWFsb2dBY3Rpb25zXCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvUmVnaXN0cnlJbmZvRGlhbG9nL1JlZ2lzdHJ5SW5mb0RpYWxvZy50c3hcbnZhciBSZWdpc3RyeUluZm9EaWFsb2cgPSAoeyBvcGVuID0gZmFsc2UsIGNoaWxkcmVuLCBvbkNsb3NlLCB0aXRsZSA9IFwiXCIgfSkgPT4ge1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhEaWFsb2csIHtcblx0XHRcImRhdGEtdGVzdGlkXCI6IFwicmVnaXN0cnlJbmZvLS1kaWFsb2dcIixcblx0XHRpZDogXCJyZWdpc3RyeUluZm8tLWRpYWxvZy1jb250YWluZXJcIixcblx0XHRtYXhXaWR0aDogXCJzbVwiLFxuXHRcdG9uQ2xvc2UsXG5cdFx0b3Blbixcblx0XHRjaGlsZHJlbjogW1xuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChUaXRsZSwgeyBjaGlsZHJlbjogdGl0bGUgfSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KENvbnRlbnQsIHsgY2hpbGRyZW4gfSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KERpYWxvZ0FjdGlvbnMsIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goQnV0dG9uLCB7XG5cdFx0XHRcdGNvbG9yOiBcImluaGVyaXRcIixcblx0XHRcdFx0aWQ6IFwicmVnaXN0cnlJbmZvLS1kaWFsb2ctY2xvc2VcIixcblx0XHRcdFx0b25DbGljazogb25DbG9zZSxcblx0XHRcdFx0Y2hpbGRyZW46IHQoXCJidXR0b24uY2xvc2VcIilcblx0XHRcdH0pIH0pXG5cdFx0XVxuXHR9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IFJlZ2lzdHJ5SW5mb0RpYWxvZyBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVJlZ2lzdHJ5SW5mb0RpYWxvZy5tanMubWFwIiwiaW1wb3J0IFJlZ2lzdHJ5SW5mb0RpYWxvZyBmcm9tIFwiLi4vUmVnaXN0cnlJbmZvRGlhbG9nL1JlZ2lzdHJ5SW5mb0RpYWxvZy5tanNcIjtcbmltcG9ydCBcIi4uL1JlZ2lzdHJ5SW5mb0RpYWxvZy9pbmRleC5tanNcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IEJveCBmcm9tIFwiQG11aS9tYXRlcmlhbC9Cb3hcIjtcbmltcG9ydCBUYWIgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvVGFiXCI7XG5pbXBvcnQgVGFicyBmcm9tIFwiQG11aS9tYXRlcmlhbC9UYWJzXCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvSGVhZGVySW5mb0RpYWxvZy9IZWFkZXJJbmZvRGlhbG9nLnRzeFxuZnVuY3Rpb24gYTExeVByb3BzKGluZGV4KSB7XG5cdHJldHVybiB7XG5cdFx0aWQ6IGBzaW1wbGUtdGFiLSR7aW5kZXh9YCxcblx0XHRcImFyaWEtY29udHJvbHNcIjogYHNpbXBsZS10YWJwYW5lbC0ke2luZGV4fWBcblx0fTtcbn1cbmZ1bmN0aW9uIFRhYlBhbmVsKHByb3BzKSB7XG5cdGNvbnN0IHsgY2hpbGRyZW4sIHZhbHVlLCBpbmRleCwgLi4ub3RoZXIgfSA9IHByb3BzO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcImRpdlwiLCB7XG5cdFx0XCJhcmlhLWxhYmVsbGVkYnlcIjogYHNpbXBsZS10YWItJHtpbmRleH1gLFxuXHRcdGhpZGRlbjogdmFsdWUgIT09IGluZGV4LFxuXHRcdGlkOiBgc2ltcGxlLXRhYnBhbmVsLSR7aW5kZXh9YCxcblx0XHRyb2xlOiBcInRhYnBhbmVsXCIsXG5cdFx0Li4ub3RoZXIsXG5cdFx0Y2hpbGRyZW46IHZhbHVlID09PSBpbmRleCAmJiAvKiBAX19QVVJFX18gKi8ganN4KEJveCwge1xuXHRcdFx0c3g6IHsgcGFkZGluZ1RvcDogMyB9LFxuXHRcdFx0Y2hpbGRyZW5cblx0XHR9KVxuXHR9KTtcbn1cbnZhciBIZWFkZXJJbmZvRGlhbG9nID0gKHsgb25DbG9zZURpYWxvZywgaXNPcGVuLCB0YWJzID0gbnVsbCwgdGFiUGFuZWxzID0gbnVsbCwgZGlhbG9nVGl0bGUgfSkgPT4ge1xuXHRjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKDApO1xuXHRjb25zdCBoYW5kbGVDaGFuZ2UgPSAoX2V2ZW50LCBuZXdWYWx1ZSkgPT4ge1xuXHRcdHNldFZhbHVlKG5ld1ZhbHVlKTtcblx0fTtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goUmVnaXN0cnlJbmZvRGlhbG9nLCB7XG5cdFx0b25DbG9zZTogb25DbG9zZURpYWxvZyxcblx0XHRvcGVuOiBpc09wZW4sXG5cdFx0dGl0bGU6IGRpYWxvZ1RpdGxlLFxuXHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4cyhCb3gsIHtcblx0XHRcdHN4OiB7IHdpZHRoOiBcIjEwMCVcIiB9LFxuXHRcdFx0Y2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KEJveCwge1xuXHRcdFx0XHRzeDoge1xuXHRcdFx0XHRcdGJvcmRlckJvdHRvbTogMSxcblx0XHRcdFx0XHRib3JkZXJDb2xvcjogXCJkaXZpZGVyXCJcblx0XHRcdFx0fSxcblx0XHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goVGFicywge1xuXHRcdFx0XHRcdFwiYXJpYS1sYWJlbFwiOiBcImluZm9UYWJzXCIsXG5cdFx0XHRcdFx0XCJkYXRhLXRlc3RpZFwiOiBcInRhYnNcIixcblx0XHRcdFx0XHRvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLFxuXHRcdFx0XHRcdHZhbHVlLFxuXHRcdFx0XHRcdGNoaWxkcmVuOiB0YWJzID8gdGFicy5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChUYWIsIHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6IGl0ZW0ubGFiZWwsXG5cdFx0XHRcdFx0XHRcdC4uLmExMXlQcm9wcyhpbmRleCksXG5cdFx0XHRcdFx0XHRcdC4uLml0ZW1cblx0XHRcdFx0XHRcdH0sIGl0ZW0ubGFiZWwpO1xuXHRcdFx0XHRcdH0pIDogbnVsbFxuXHRcdFx0XHR9KVxuXHRcdFx0fSksIHRhYlBhbmVscyA/IHRhYlBhbmVscy5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG5cdFx0XHRcdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFRhYlBhbmVsLCB7XG5cdFx0XHRcdFx0aW5kZXgsXG5cdFx0XHRcdFx0dmFsdWUsXG5cdFx0XHRcdFx0Y2hpbGRyZW46IGl0ZW0uZWxlbWVudFxuXHRcdFx0XHR9LCBpbmRleCk7XG5cdFx0XHR9KSA6IG51bGxdXG5cdFx0fSlcblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBIZWFkZXJJbmZvRGlhbG9nIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9SGVhZGVySW5mb0RpYWxvZy5tanMubWFwIiwiaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgQ2lyY3VsYXJQcm9ncmVzcyBmcm9tIFwiQG11aS9tYXRlcmlhbC9DaXJjdWxhclByb2dyZXNzXCI7XG5pbXBvcnQgeyBjb21tb24gfSBmcm9tIFwiQG11aS9tYXRlcmlhbC9jb2xvcnNcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9Mb2FkaW5nL1NwaW5uZXIvU3Bpbm5lci50c3hcbnZhciBTcGlubmVyID0gKHsgc2l6ZSA9IDUwLCBjZW50ZXJlZCA9IGZhbHNlIH0pID0+IC8qIEBfX1BVUkVfXyAqLyBqc3goV3JhcHBlciwge1xuXHRjZW50ZXJlZCxcblx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goQ2lyY3VsYXIsIHsgc2l6ZSB9KVxufSk7XG52YXIgV3JhcHBlciA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwiZGl2XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVhcGZmc3kxXCIgfSA6IHtcblx0dGFyZ2V0OiBcImVhcGZmc3kxXCIsXG5cdGxhYmVsOiBcIldyYXBwZXJcIlxufSkoKHsgY2VudGVyZWQgfSkgPT4gKHtcblx0ZGlzcGxheTogXCJmbGV4XCIsXG5cdGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG5cdGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuXHQuLi5jZW50ZXJlZCAmJiB7XG5cdFx0cG9zaXRpb246IFwiYWJzb2x1dGVcIixcblx0XHR0b3A6IFwiNTAlXCIsXG5cdFx0bGVmdDogXCI1MCVcIixcblx0XHR0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUsIC01MCUpXCJcblx0fVxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlNYjJGa2FXNW5MMU53YVc1dVpYSXZVM0JwYm01bGNpNTBjM2dpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCYjBKblFpSXNJbVpwYkdVaU9pSXZhRzl0WlM5eWRXNXVaWEl2ZDI5eWF5OTJaWEprWVdOamFXOHZkbVZ5WkdGalkybHZMM0JoWTJ0aFoyVnpMM1ZwTFdOdmJYQnZibVZ1ZEhNdmMzSmpMMk52YlhCdmJtVnVkSE12VEc5aFpHbHVaeTlUY0dsdWJtVnlMMU53YVc1dVpYSXVkSE40SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVhVzF3YjNKMElFTnBjbU4xYkdGeVVISnZaM0psYzNNZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOURhWEpqZFd4aGNsQnliMmR5WlhOekp6dGNibWx0Y0c5eWRDQjdJR052YlcxdmJpQjlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2WTI5c2IzSnpKenRjYm1sdGNHOXlkQ0JTWldGamRDQm1jbTl0SUNkeVpXRmpkQ2M3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk4dUxpOG5PMXh1WEc1cGJuUmxjbVpoWTJVZ1VISnZjSE1nZTF4dUlDQnphWHBsUHpvZ2JuVnRZbVZ5TzF4dUlDQmpaVzUwWlhKbFpEODZJR0p2YjJ4bFlXNDdYRzU5WEc1Y2JtTnZibk4wSUZOd2FXNXVaWEk2SUZKbFlXTjBMa1pEUEZCeWIzQnpQaUE5SUNoN0lITnBlbVVnUFNBMU1Dd2dZMlZ1ZEdWeVpXUWdQU0JtWVd4elpTQjlLU0E5UGlBb1hHNGdJRHhYY21Gd2NHVnlJR05sYm5SbGNtVmtQWHRqWlc1MFpYSmxaSDArWEc0Z0lDQWdQRU5wY21OMWJHRnlJSE5wZW1VOWUzTnBlbVY5SUM4K1hHNGdJRHd2VjNKaGNIQmxjajVjYmlrN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElGTndhVzV1WlhJN1hHNWNibU52Ym5OMElGZHlZWEJ3WlhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwUEZCcFkyczhVSEp2Y0hNc0lDZGpaVzUwWlhKbFpDYytQaWdvZXlCalpXNTBaWEpsWkNCOUtTQTlQaUFvZTF4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQnFkWE4wYVdaNVEyOXVkR1Z1ZERvZ0oyTmxiblJsY2ljc1hHNGdJQzR1TGloalpXNTBaWEpsWkNBbUppQjdYRzRnSUNBZ2NHOXphWFJwYjI0NklDZGhZbk52YkhWMFpTY3NYRzRnSUNBZ2RHOXdPaUFuTlRBbEp5eGNiaUFnSUNCc1pXWjBPaUFuTlRBbEp5eGNiaUFnSUNCMGNtRnVjMlp2Y20wNklDZDBjbUZ1YzJ4aGRHVW9MVFV3SlN3Z0xUVXdKU2tuTEZ4dUlDQjlLU3hjYm4wcEtUdGNibHh1WTI5dWMzUWdRMmx5WTNWc1lYSWdQU0J6ZEhsc1pXUW9RMmx5WTNWc1lYSlFjbTluY21WemN5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdOdmJHOXlPaUIwYUdWdFpTNXdZV3hsZEhSbExtMXZaR1VnUFQwOUlDZGtZWEpySnlBL0lHTnZiVzF2Ymk1M2FHbDBaU0E2SUhSb1pXMWxMbkJoYkdWMGRHVXVjSEpwYldGeWVTNXRZV2x1TEZ4dWZTa3BPMXh1SWwxOSAqL1wiKTtcbnZhciBDaXJjdWxhciA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKENpcmN1bGFyUHJvZ3Jlc3MsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVhcGZmc3kwXCIgfSA6IHtcblx0dGFyZ2V0OiBcImVhcGZmc3kwXCIsXG5cdGxhYmVsOiBcIkNpcmN1bGFyXCJcbn0pKCh7IHRoZW1lIH0pID0+ICh7IGNvbG9yOiB0aGVtZS5wYWxldHRlLm1vZGUgPT09IFwiZGFya1wiID8gY29tbW9uLndoaXRlIDogdGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW4gfSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlNYjJGa2FXNW5MMU53YVc1dVpYSXZVM0JwYm01bGNpNTBjM2dpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCWjBOcFFpSXNJbVpwYkdVaU9pSXZhRzl0WlM5eWRXNXVaWEl2ZDI5eWF5OTJaWEprWVdOamFXOHZkbVZ5WkdGalkybHZMM0JoWTJ0aFoyVnpMM1ZwTFdOdmJYQnZibVZ1ZEhNdmMzSmpMMk52YlhCdmJtVnVkSE12VEc5aFpHbHVaeTlUY0dsdWJtVnlMMU53YVc1dVpYSXVkSE40SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVhVzF3YjNKMElFTnBjbU4xYkdGeVVISnZaM0psYzNNZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOURhWEpqZFd4aGNsQnliMmR5WlhOekp6dGNibWx0Y0c5eWRDQjdJR052YlcxdmJpQjlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2WTI5c2IzSnpKenRjYm1sdGNHOXlkQ0JTWldGamRDQm1jbTl0SUNkeVpXRmpkQ2M3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk4dUxpOG5PMXh1WEc1cGJuUmxjbVpoWTJVZ1VISnZjSE1nZTF4dUlDQnphWHBsUHpvZ2JuVnRZbVZ5TzF4dUlDQmpaVzUwWlhKbFpEODZJR0p2YjJ4bFlXNDdYRzU5WEc1Y2JtTnZibk4wSUZOd2FXNXVaWEk2SUZKbFlXTjBMa1pEUEZCeWIzQnpQaUE5SUNoN0lITnBlbVVnUFNBMU1Dd2dZMlZ1ZEdWeVpXUWdQU0JtWVd4elpTQjlLU0E5UGlBb1hHNGdJRHhYY21Gd2NHVnlJR05sYm5SbGNtVmtQWHRqWlc1MFpYSmxaSDArWEc0Z0lDQWdQRU5wY21OMWJHRnlJSE5wZW1VOWUzTnBlbVY5SUM4K1hHNGdJRHd2VjNKaGNIQmxjajVjYmlrN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElGTndhVzV1WlhJN1hHNWNibU52Ym5OMElGZHlZWEJ3WlhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwUEZCcFkyczhVSEp2Y0hNc0lDZGpaVzUwWlhKbFpDYytQaWdvZXlCalpXNTBaWEpsWkNCOUtTQTlQaUFvZTF4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQnFkWE4wYVdaNVEyOXVkR1Z1ZERvZ0oyTmxiblJsY2ljc1hHNGdJQzR1TGloalpXNTBaWEpsWkNBbUppQjdYRzRnSUNBZ2NHOXphWFJwYjI0NklDZGhZbk52YkhWMFpTY3NYRzRnSUNBZ2RHOXdPaUFuTlRBbEp5eGNiaUFnSUNCc1pXWjBPaUFuTlRBbEp5eGNiaUFnSUNCMGNtRnVjMlp2Y20wNklDZDBjbUZ1YzJ4aGRHVW9MVFV3SlN3Z0xUVXdKU2tuTEZ4dUlDQjlLU3hjYm4wcEtUdGNibHh1WTI5dWMzUWdRMmx5WTNWc1lYSWdQU0J6ZEhsc1pXUW9RMmx5WTNWc1lYSlFjbTluY21WemN5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdOdmJHOXlPaUIwYUdWdFpTNXdZV3hsZEhSbExtMXZaR1VnUFQwOUlDZGtZWEpySnlBL0lHTnZiVzF2Ymk1M2FHbDBaU0E2SUhSb1pXMWxMbkJoYkdWMGRHVXVjSEpwYldGeWVTNXRZV2x1TEZ4dWZTa3BPMXh1SWwxOSAqL1wiKTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgU3Bpbm5lciBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVNwaW5uZXIubWpzLm1hcCIsImltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0xvYWRpbmcvc3R5bGVzLnRzXG5mdW5jdGlvbiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXygpIHtcblx0cmV0dXJuIFwiWW91IGhhdmUgdHJpZWQgdG8gc3RyaW5naWZ5IG9iamVjdCByZXR1cm5lZCBmcm9tIGBjc3NgIGZ1bmN0aW9uLiBJdCBpc24ndCBzdXBwb3NlZCB0byBiZSB1c2VkIGRpcmVjdGx5IChlLmcuIGFzIHZhbHVlIG9mIHRoZSBgY2xhc3NOYW1lYCBwcm9wKSwgYnV0IHJhdGhlciBoYW5kZWQgdG8gZW1vdGlvbiBzbyBpdCBjYW4gaGFuZGxlIGl0IChlLmcuIGFzIHZhbHVlIG9mIGBjc3NgIHByb3ApLlwiO1xufVxudmFyIFdyYXBwZXIgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcImRpdlwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJleHNwaW10MVwiIH0gOiB7XG5cdHRhcmdldDogXCJleHNwaW10MVwiLFxuXHRsYWJlbDogXCJXcmFwcGVyXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCIxMHV0a3NlXCIsXG5cdHN0eWxlczogXCJ0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsIC01MCUpO3RvcDo1MCU7bGVmdDo1MCU7cG9zaXRpb246YWJzb2x1dGVcIlxufSA6IHtcblx0bmFtZTogXCIxMHV0a3NlXCIsXG5cdHN0eWxlczogXCJ0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsIC01MCUpO3RvcDo1MCU7bGVmdDo1MCU7cG9zaXRpb246YWJzb2x1dGUvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5TWIyRmthVzVuTDNOMGVXeGxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGSmRVSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDB4dllXUnBibWN2YzNSNWJHVnpMblJ6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVYRzVwYlhCdmNuUWdkSGx3WlNCN0lGUm9aVzFsSUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRmR5WVhCd1pYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcEtIdGNiaUFnZEhKaGJuTm1iM0p0T2lBbmRISmhibk5zWVhSbEtDMDFNQ1VzSUMwMU1DVXBKeXhjYmlBZ2RHOXdPaUFuTlRBbEp5eGNiaUFnYkdWbWREb2dKelV3SlNjc1hHNGdJSEJ2YzJsMGFXOXVPaUFuWVdKemIyeDFkR1VuTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkNZV1JuWlNBOUlITjBlV3hsWkNnblpHbDJKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHMWhjbWRwYmpvZ0p6QWdNQ0F6TUhCNElEQW5MRnh1SUNCd1lXUmthVzVuT2lBMUxGeHVJQ0JpYjNKa1pYSlNZV1JwZFhNNklESTFMRnh1SUNCaWIzaFRhR0ZrYjNjNklDY3dJREV3Y0hnZ01qQndlQ0F3SUhKblltRW9OamtzSURVNExDQXhNREFzSURBdU1pa25MRnh1SUNCaVlXTnJaM0p2ZFc1a09pQjBhR1Z0WlM1d1lXeGxkSFJsTG0xdlpHVWdQVDA5SUNka1lYSnJKeUEvSUhSb1pXMWxMbkJoYkdWMGRHVXVZbXhoWTJzZ09pQW5JMlkzWmpobU5pY3NYRzU5S1NrN1hHNGlYWDA9ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgQmFkZ2UgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcImRpdlwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJleHNwaW10MFwiIH0gOiB7XG5cdHRhcmdldDogXCJleHNwaW10MFwiLFxuXHRsYWJlbDogXCJCYWRnZVwiXG59KSgoeyB0aGVtZSB9KSA9PiAoe1xuXHRtYXJnaW46IFwiMCAwIDMwcHggMFwiLFxuXHRwYWRkaW5nOiA1LFxuXHRib3JkZXJSYWRpdXM6IDI1LFxuXHRib3hTaGFkb3c6IFwiMCAxMHB4IDIwcHggMCByZ2JhKDY5LCA1OCwgMTAwLCAwLjIpXCIsXG5cdGJhY2tncm91bmQ6IHRoZW1lLnBhbGV0dGUubW9kZSA9PT0gXCJkYXJrXCIgPyB0aGVtZS5wYWxldHRlLmJsYWNrIDogXCIjZjdmOGY2XCJcbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5TWIyRmthVzVuTDNOMGVXeGxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGWGNVSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDB4dllXUnBibWN2YzNSNWJHVnpMblJ6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVYRzVwYlhCdmNuUWdkSGx3WlNCN0lGUm9aVzFsSUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRmR5WVhCd1pYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcEtIdGNiaUFnZEhKaGJuTm1iM0p0T2lBbmRISmhibk5zWVhSbEtDMDFNQ1VzSUMwMU1DVXBKeXhjYmlBZ2RHOXdPaUFuTlRBbEp5eGNiaUFnYkdWbWREb2dKelV3SlNjc1hHNGdJSEJ2YzJsMGFXOXVPaUFuWVdKemIyeDFkR1VuTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkNZV1JuWlNBOUlITjBlV3hsWkNnblpHbDJKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHMWhjbWRwYmpvZ0p6QWdNQ0F6TUhCNElEQW5MRnh1SUNCd1lXUmthVzVuT2lBMUxGeHVJQ0JpYjNKa1pYSlNZV1JwZFhNNklESTFMRnh1SUNCaWIzaFRhR0ZrYjNjNklDY3dJREV3Y0hnZ01qQndlQ0F3SUhKblltRW9OamtzSURVNExDQXhNREFzSURBdU1pa25MRnh1SUNCaVlXTnJaM0p2ZFc1a09pQjBhR1Z0WlM1d1lXeGxkSFJsTG0xdlpHVWdQVDA5SUNka1lYSnJKeUEvSUhSb1pXMWxMbkJoYkdWMGRHVXVZbXhoWTJzZ09pQW5JMlkzWmpobU5pY3NYRzU5S1NrN1hHNGlYWDA9ICovXCIpO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBCYWRnZSwgV3JhcHBlciB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHlsZXMubWpzLm1hcCIsImltcG9ydCBMb2dvIGZyb20gXCIuLi9Mb2dvL0xvZ28ubWpzXCI7XG5pbXBvcnQgU3Bpbm5lciBmcm9tIFwiLi9TcGlubmVyL1NwaW5uZXIubWpzXCI7XG5pbXBvcnQgXCIuL1NwaW5uZXIvaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBCYWRnZSwgV3JhcHBlciB9IGZyb20gXCIuL3N0eWxlcy5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2luZGV4Lm1qc1wiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0xvYWRpbmcvTG9hZGluZy50c3hcbnZhciBMb2FkaW5nID0gKCkgPT4gLyogQF9fUFVSRV9fICovIGpzeHMoV3JhcHBlciwge1xuXHRcImRhdGEtdGVzdGlkXCI6IFwibG9hZGluZ1wiLFxuXHRjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goQmFkZ2UsIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goTG9nbywgeyBzaXplOiBcImJpZ1wiIH0pIH0pLCAvKiBAX19QVVJFX18gKi8ganN4KFNwaW5uZXIsIHsgXCJkYXRhLXRlc3RpZFwiOiBcInNwaW5uZXJMb2dvXCIgfSldXG59KTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgTG9hZGluZyBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUxvYWRpbmcubWpzLm1hcCIsImltcG9ydCB7IGdyZXlEYXJrIH0gZnJvbSBcIi4uLy4uL1RoZW1lL2NvbG9ycy5tanNcIjtcbmltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IEljb25CdXR0b24gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvSWNvbkJ1dHRvblwiO1xuaW1wb3J0IHsgY29tbW9uIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvY29sb3JzXCI7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSBcInJlYWN0LXJvdXRlclwiO1xuaW1wb3J0IExpc3QgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvTGlzdFwiO1xuaW1wb3J0IEF2YXRhciBmcm9tIFwiQG11aS9tYXRlcmlhbC9BdmF0YXJcIjtcbmltcG9ydCBHcmlkIGZyb20gXCJAbXVpL21hdGVyaWFsL0dyaWRcIjtcbmltcG9ydCBMaXN0SXRlbVRleHQgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvTGlzdEl0ZW1UZXh0XCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvUGFja2FnZS9zdHlsZXMudHNcbmZ1bmN0aW9uIF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fKCkge1xuXHRyZXR1cm4gXCJZb3UgaGF2ZSB0cmllZCB0byBzdHJpbmdpZnkgb2JqZWN0IHJldHVybmVkIGZyb20gYGNzc2AgZnVuY3Rpb24uIEl0IGlzbid0IHN1cHBvc2VkIHRvIGJlIHVzZWQgZGlyZWN0bHkgKGUuZy4gYXMgdmFsdWUgb2YgdGhlIGBjbGFzc05hbWVgIHByb3ApLCBidXQgcmF0aGVyIGhhbmRlZCB0byBlbW90aW9uIHNvIGl0IGNhbiBoYW5kbGUgaXQgKGUuZy4gYXMgdmFsdWUgb2YgYGNzc2AgcHJvcCkuXCI7XG59XG52YXIgT3ZlcnZpZXdJdGVtID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJzcGFuXCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVuY284cDMxMVwiIH0gOiB7XG5cdHRhcmdldDogXCJlbmNvOHAzMTFcIixcblx0bGFiZWw6IFwiT3ZlcnZpZXdJdGVtXCJcbn0pKCh7IHRoZW1lIH0pID0+ICh7XG5cdGRpc3BsYXk6IFwiZmxleFwiLFxuXHRhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuXHRtYXJnaW46IFwiMCAyMHB4IDAgMFwiLFxuXHRjb2xvcjogdGhlbWUucGFsZXR0ZS5tb2RlID09PSBcImxpZ2h0XCIgPyB0aGVtZS5wYWxldHRlLmdyZXlEYXJrMiA6IGNvbW1vbi53aGl0ZSxcblx0Zm9udFNpemU6IDEyLFxuXHRbYEBtZWRpYSAobWF4LXdpZHRoOiAke3RoZW1lLmJyZWFrUG9pbnRzLm1lZGl1bX1weClgXTogeyBcIjpudGgtb2YtdHlwZSgzKVwiOiB7IGRpc3BsYXk6IFwibm9uZVwiIH0gfSxcblx0W2BAbWVkaWEgKG1heC13aWR0aDogJHt0aGVtZS5icmVha1BvaW50cy5zbWFsbH1weClgXTogeyBcIjpudGgtb2YtdHlwZSg0KVwiOiB7IGRpc3BsYXk6IFwibm9uZVwiIH0gfVxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlRWVdOcllXZGxMM04wZVd4bGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZaTkVJaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OWpiMjF3YjI1bGJuUnpMMUJoWTJ0aFoyVXZjM1I1YkdWekxuUnpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSE4wZVd4bFpDQm1jbTl0SUNkQVpXMXZkR2x2Ymk5emRIbHNaV1FuTzF4dWFXMXdiM0owSUhzZ1pHVm1ZWFZzZENCaGN5QlFhRzkwYnlCOUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZRWFpoZEdGeUp6dGNibWx0Y0c5eWRDQkhjbWxrSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlIzSnBaQ2M3WEc1cGJYQnZjblFnZXlCa1pXWmhkV3gwSUdGeklFMTFhVWxqYjI1Q2RYUjBiMjRnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwbGpiMjVDZFhSMGIyNG5PMXh1YVcxd2IzSjBJRXhwYzNRZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOU1hWE4wSnp0Y2JtbHRjRzl5ZENCTWFYTjBTWFJsYlZSbGVIUWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlNYVhOMFNYUmxiVlJsZUhRbk8xeHVhVzF3YjNKMElIc2dZMjl0Ylc5dUlIMGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlqYjJ4dmNuTW5PMXh1YVcxd2IzSjBJSHNnVEdsdWF5QjlJR1p5YjIwZ0ozSmxZV04wTFhKdmRYUmxjaWM3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk4bk8xeHVhVzF3YjNKMElIc2daM0psZVVSaGNtc2dmU0JtY205dElDY3VMaTh1TGk5VWFHVnRaUzlqYjJ4dmNuTW5PMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdUM1psY25acFpYZEpkR1Z0SUQwZ2MzUjViR1ZrS0NkemNHRnVKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc0Z0lHMWhjbWRwYmpvZ0p6QWdNakJ3ZUNBd0lEQW5MRnh1SUNCamIyeHZjam9nZEdobGJXVXVjR0ZzWlhSMFpTNXRiMlJsSUQwOVBTQW5iR2xuYUhRbklEOGdkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVSR0Z5YXpJZ09pQmpiMjF0YjI0dWQyaHBkR1VzWEc0Z0lHWnZiblJUYVhwbE9pQXhNaXhjYmlBZ1cyQkFiV1ZrYVdFZ0tHMWhlQzEzYVdSMGFEb2dKSHQwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTV0WldScGRXMTljSGdwWUYwNklIdGNiaUFnSUNBbk9tNTBhQzF2WmkxMGVYQmxLRE1wSnpvZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ0oyNXZibVVuTEZ4dUlDQWdJSDBzWEc0Z0lIMHNYRzRnSUZ0Z1FHMWxaR2xoSUNodFlYZ3RkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXVjMjFoYkd4OWNIZ3BZRjA2SUh0Y2JpQWdJQ0FuT201MGFDMXZaaTEwZVhCbEtEUXBKem9nZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nSjI1dmJtVW5MRnh1SUNBZ0lIMHNYRzRnSUgwc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JRZFdKc2FYTm9aV1FnUFNCemRIbHNaV1FvSjNOd1lXNG5LU2g3WEc0Z0lHMWhjbWRwYmpvZ0p6QWdOWEI0SURBZ01DY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVSbGRHRnBiSE1nUFNCemRIbHNaV1FvSjNOd1lXNG5LU2g3WEc0Z0lHMWhjbWRwYmt4bFpuUTZJQ2MxY0hnbkxGeHVJQ0JzYVc1bFNHVnBaMmgwT2lBeExqVXNYRzRnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ1pteGxlRVJwY21WamRHbHZiam9nSjJOdmJIVnRiaWNzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFRjFkR2h2Y2lBOUlITjBlV3hsWkNnblpHbDJKeWtvZTF4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkJkbUYwWVhJZ1BTQnpkSGxzWldRb1VHaHZkRzhwS0h0Y2JpQWdkMmxrZEdnNklDY3lNSEI0Snl4Y2JpQWdhR1ZwWjJoME9pQW5NakJ3ZUNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRmR5WVhCd1pYSk1hVzVySUQwZ2MzUjViR1ZrS0V4cGJtc3BLSHRjYmlBZ2RHVjRkRVJsWTI5eVlYUnBiMjQ2SUNkdWIyNWxKeXhjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1VHRmphMkZuWlZScGRHeGxJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdadmJuUlhaV2xuYUhRNklIUm9aVzFsTG1admJuUlhaV2xuYUhRdVltOXNaQ3hjYmlBZ1ptOXVkRk5wZW1VNklESXdMRnh1SUNCa2FYTndiR0Y1T2lBbllteHZZMnNuTEZ4dUlDQmpiMnh2Y2pvZ2RHaGxiV1V1Y0dGc1pYUjBaUzV3Y21sdFlYSjVMbTFoYVc0c1hHNGdJR04xY25OdmNqb2dKM0J2YVc1MFpYSW5MRnh1SUNCMFpYaDBSR1ZqYjNKaGRHbHZiam9nSjI1dmJtVW5MRnh1SUNCM2IzSmtRbkpsWVdzNklDZGljbVZoYXkxM2IzSmtKeXhjYmlBZ1cyQkFiV1ZrYVdFZ0tHMWhlQzEzYVdSMGFEb2dKSHQwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTV6YldGc2JIMXdlQ2xnWFRvZ2UxeHVJQ0FnSUdadmJuUlRhWHBsT2lBeE5peGNiaUFnZlN4Y2JuMHBLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRWR5YVdSU2FXZG9kRUZzYVdkdVpXUWdQU0J6ZEhsc1pXUW9SM0pwWkNrb2UxeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0JxZFhOMGFXWjVRMjl1ZEdWdWREb2dKMlpzWlhndFpXNWtKeXhjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1YzSmhjSEJsY2lBOUlITjBlV3hsWkNoTWFYTjBLVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ0p5WTZhRzkyWlhJbk9pQjdYRzRnSUNBZ1ltRmphMmR5YjNWdVpFTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMbUZqZEdsdmJpNW9iM1psY2l4Y2JpQWdmU3hjYm4wcEtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFbGpiMjVDZFhSMGIyNGdQU0J6ZEhsc1pXUW9UWFZwU1dOdmJrSjFkSFJ2Ymlrb2UxeHVJQ0J3WVdSa2FXNW5PaUEyTEZ4dUlDQnpkbWM2SUh0Y2JpQWdJQ0JtYjI1MFUybDZaVG9nTVRZc1hHNGdJSDBzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGQmhZMnRoWjJWTWFYTjBTWFJsYlZSbGVIUWdQU0J6ZEhsc1pXUW9UR2x6ZEVsMFpXMVVaWGgwS1NoN1hHNGdJSEJoWkdScGJtZFNhV2RvZERvZ01DeGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUkdWelkzSnBjSFJwYjI0Z1BTQnpkSGxzWldRb0ozTndZVzRuS1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIc2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdZMjlzYjNJNklIUm9aVzFsTG5CaGJHVjBkR1V1Ylc5a1pTQTlQVDBnSjJ4cFoyaDBKeUEvSUdkeVpYbEVZWEpySURvZ1kyOXRiVzl1TG5kb2FYUmxMRnh1SUNCbWIyNTBVMmw2WlRvZ0p6RTBjSGduTEZ4dUlDQndZV1JrYVc1blVtbG5hSFE2SURBc1hHNTlLU2s3WEc0aVhYMD0gKi9cIik7XG52YXIgUHVibGlzaGVkID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJzcGFuXCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVuY284cDMxMFwiIH0gOiB7XG5cdHRhcmdldDogXCJlbmNvOHAzMTBcIixcblx0bGFiZWw6IFwiUHVibGlzaGVkXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCIxcW1wamJ2XCIsXG5cdHN0eWxlczogXCJtYXJnaW46MCA1cHggMCAwXCJcbn0gOiB7XG5cdG5hbWU6IFwiMXFtcGpidlwiLFxuXHRzdHlsZXM6IFwibWFyZ2luOjAgNXB4IDAgMC8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlRWVdOcllXZGxMM04wZVd4bGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUU0UW5sQ0lpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlRWVdOcllXZGxMM04wZVd4bGN5NTBjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCN0lHUmxabUYxYkhRZ1lYTWdVR2h2ZEc4Z2ZTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMEYyWVhSaGNpYzdYRzVwYlhCdmNuUWdSM0pwWkNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwZHlhV1FuTzF4dWFXMXdiM0owSUhzZ1pHVm1ZWFZzZENCaGN5Qk5kV2xKWTI5dVFuVjBkRzl1SUgwZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUpZMjl1UW5WMGRHOXVKenRjYm1sdGNHOXlkQ0JNYVhOMElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZENjN1hHNXBiWEJ2Y25RZ1RHbHpkRWwwWlcxVVpYaDBJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRFbDBaVzFVWlhoMEp6dGNibWx0Y0c5eWRDQjdJR052YlcxdmJpQjlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2WTI5c2IzSnpKenRjYm1sdGNHOXlkQ0I3SUV4cGJtc2dmU0JtY205dElDZHlaV0ZqZEMxeWIzVjBaWEluTzF4dVhHNXBiWEJ2Y25RZ2RIbHdaU0I3SUZSb1pXMWxJSDBnWm5KdmJTQW5MaTR2TGk0dkp6dGNibWx0Y0c5eWRDQjdJR2R5WlhsRVlYSnJJSDBnWm5KdmJTQW5MaTR2TGk0dlZHaGxiV1V2WTI5c2IzSnpKenRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRTkyWlhKMmFXVjNTWFJsYlNBOUlITjBlV3hsWkNnbmMzQmhiaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQnRZWEpuYVc0NklDY3dJREl3Y0hnZ01DQXdKeXhjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXViVzlrWlNBOVBUMGdKMnhwWjJoMEp5QS9JSFJvWlcxbExuQmhiR1YwZEdVdVozSmxlVVJoY21zeUlEb2dZMjl0Ylc5dUxuZG9hWFJsTEZ4dUlDQm1iMjUwVTJsNlpUb2dNVElzWEc0Z0lGdGdRRzFsWkdsaElDaHRZWGd0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11YldWa2FYVnRmWEI0S1dCZE9pQjdYRzRnSUNBZ0p6cHVkR2d0YjJZdGRIbHdaU2d6S1NjNklIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklDZHViMjVsSnl4Y2JpQWdJQ0I5TEZ4dUlDQjlMRnh1SUNCYllFQnRaV1JwWVNBb2JXRjRMWGRwWkhSb09pQWtlM1JvWlcxbExtSnlaV0ZyVUc5cGJuUnpMbk50WVd4c2ZYQjRLV0JkT2lCN1hHNGdJQ0FnSnpwdWRHZ3RiMll0ZEhsd1pTZzBLU2M2SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUNkdWIyNWxKeXhjYmlBZ0lDQjlMRnh1SUNCOUxGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVUhWaWJHbHphR1ZrSUQwZ2MzUjViR1ZrS0NkemNHRnVKeWtvZTF4dUlDQnRZWEpuYVc0NklDY3dJRFZ3ZUNBd0lEQW5MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCRVpYUmhhV3h6SUQwZ2MzUjViR1ZrS0NkemNHRnVKeWtvZTF4dUlDQnRZWEpuYVc1TVpXWjBPaUFuTlhCNEp5eGNiaUFnYkdsdVpVaGxhV2RvZERvZ01TNDFMRnh1SUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lHWnNaWGhFYVhKbFkzUnBiMjQ2SUNkamIyeDFiVzRuTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkJkWFJvYjNJZ1BTQnpkSGxzWldRb0oyUnBkaWNwS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMlpzWlhnbkxGeHVJQ0JoYkdsbmJrbDBaVzF6T2lBblkyVnVkR1Z5Snl4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdRWFpoZEdGeUlEMGdjM1I1YkdWa0tGQm9iM1J2S1NoN1hHNGdJSGRwWkhSb09pQW5NakJ3ZUNjc1hHNGdJR2hsYVdkb2REb2dKekl3Y0hnbkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JYY21Gd2NHVnlUR2x1YXlBOUlITjBlV3hsWkNoTWFXNXJLU2g3WEc0Z0lIUmxlSFJFWldOdmNtRjBhVzl1T2lBbmJtOXVaU2NzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGQmhZMnRoWjJWVWFYUnNaU0E5SUhOMGVXeGxaQ2duYzNCaGJpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCbWIyNTBWMlZwWjJoME9pQjBhR1Z0WlM1bWIyNTBWMlZwWjJoMExtSnZiR1FzWEc0Z0lHWnZiblJUYVhwbE9pQXlNQ3hjYmlBZ1pHbHpjR3hoZVRvZ0oySnNiMk5ySnl4Y2JpQWdZMjlzYjNJNklIUm9aVzFsTG5CaGJHVjBkR1V1Y0hKcGJXRnllUzV0WVdsdUxGeHVJQ0JqZFhKemIzSTZJQ2R3YjJsdWRHVnlKeXhjYmlBZ2RHVjRkRVJsWTI5eVlYUnBiMjQ2SUNkdWIyNWxKeXhjYmlBZ2QyOXlaRUp5WldGck9pQW5ZbkpsWVdzdGQyOXlaQ2NzWEc0Z0lGdGdRRzFsWkdsaElDaHRZWGd0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11YzIxaGJHeDljSGdwWUYwNklIdGNiaUFnSUNCbWIyNTBVMmw2WlRvZ01UWXNYRzRnSUgwc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JIY21sa1VtbG5hSFJCYkdsbmJtVmtJRDBnYzNSNWJHVmtLRWR5YVdRcEtIdGNiaUFnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNCaGJHbG5ia2wwWlcxek9pQW5ZMlZ1ZEdWeUp5eGNiaUFnYW5WemRHbG1lVU52Ym5SbGJuUTZJQ2RtYkdWNExXVnVaQ2NzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGZHlZWEJ3WlhJZ1BTQnpkSGxzWldRb1RHbHpkQ2s4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lDY21PbWh2ZG1WeUp6b2dlMXh1SUNBZ0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ2RHaGxiV1V1Y0dGc1pYUjBaUzVoWTNScGIyNHVhRzkyWlhJc1hHNGdJSDBzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkpZMjl1UW5WMGRHOXVJRDBnYzNSNWJHVmtLRTExYVVsamIyNUNkWFIwYjI0cEtIdGNiaUFnY0dGa1pHbHVaem9nTml4Y2JpQWdjM1puT2lCN1hHNGdJQ0FnWm05dWRGTnBlbVU2SURFMkxGeHVJQ0I5TEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlFZV05yWVdkbFRHbHpkRWwwWlcxVVpYaDBJRDBnYzNSNWJHVmtLRXhwYzNSSmRHVnRWR1Y0ZENrb2UxeHVJQ0J3WVdSa2FXNW5VbWxuYUhRNklEQXNYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVSbGMyTnlhWEIwYVc5dUlEMGdjM1I1YkdWa0tDZHpjR0Z1SnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR052Ykc5eU9pQjBhR1Z0WlM1d1lXeGxkSFJsTG0xdlpHVWdQVDA5SUNkc2FXZG9kQ2NnUHlCbmNtVjVSR0Z5YXlBNklHTnZiVzF2Ymk1M2FHbDBaU3hjYmlBZ1ptOXVkRk5wZW1VNklDY3hOSEI0Snl4Y2JpQWdjR0ZrWkdsdVoxSnBaMmgwT2lBd0xGeHVmU2twTzF4dUlsMTkgKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBEZXRhaWxzID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJzcGFuXCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVuY284cDM5XCIgfSA6IHtcblx0dGFyZ2V0OiBcImVuY284cDM5XCIsXG5cdGxhYmVsOiBcIkRldGFpbHNcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcInR0OWFjaVwiLFxuXHRzdHlsZXM6IFwibWFyZ2luLWxlZnQ6NXB4O2xpbmUtaGVpZ2h0OjEuNTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uXCJcbn0gOiB7XG5cdG5hbWU6IFwidHQ5YWNpXCIsXG5cdHN0eWxlczogXCJtYXJnaW4tbGVmdDo1cHg7bGluZS1oZWlnaHQ6MS41O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW4vKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5UVlXTnJZV2RsTDNOMGVXeGxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGclEzVkNJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5UVlXTnJZV2RsTDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQjdJR1JsWm1GMWJIUWdZWE1nVUdodmRHOGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBGMllYUmhjaWM3WEc1cGJYQnZjblFnUjNKcFpDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMGR5YVdRbk8xeHVhVzF3YjNKMElIc2daR1ZtWVhWc2RDQmhjeUJOZFdsSlkyOXVRblYwZEc5dUlIMGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlKWTI5dVFuVjBkRzl1Snp0Y2JtbHRjRzl5ZENCTWFYTjBJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRDYzdYRzVwYlhCdmNuUWdUR2x6ZEVsMFpXMVVaWGgwSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkRWwwWlcxVVpYaDBKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaUI5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCN0lFeHBibXNnZlNCbWNtOXRJQ2R5WldGamRDMXliM1YwWlhJbk8xeHVYRzVwYlhCdmNuUWdkSGx3WlNCN0lGUm9aVzFsSUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYm1sdGNHOXlkQ0I3SUdkeVpYbEVZWEpySUgwZ1puSnZiU0FuTGk0dkxpNHZWR2hsYldVdlkyOXNiM0p6Snp0Y2JseHVaWGh3YjNKMElHTnZibk4wSUU5MlpYSjJhV1YzU1hSbGJTQTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0J0WVhKbmFXNDZJQ2N3SURJd2NIZ2dNQ0F3Snl4Y2JpQWdZMjlzYjNJNklIUm9aVzFsTG5CaGJHVjBkR1V1Ylc5a1pTQTlQVDBnSjJ4cFoyaDBKeUEvSUhSb1pXMWxMbkJoYkdWMGRHVXVaM0psZVVSaGNtc3lJRG9nWTI5dGJXOXVMbmRvYVhSbExGeHVJQ0JtYjI1MFUybDZaVG9nTVRJc1hHNGdJRnRnUUcxbFpHbGhJQ2h0WVhndGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUI3WEc0Z0lDQWdKenB1ZEdndGIyWXRkSGx3WlNnektTYzZJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2R1YjI1bEp5eGNiaUFnSUNCOUxGeHVJQ0I5TEZ4dUlDQmJZRUJ0WldScFlTQW9iV0Y0TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG5OdFlXeHNmWEI0S1dCZE9pQjdYRzRnSUNBZ0p6cHVkR2d0YjJZdGRIbHdaU2cwS1NjNklIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklDZHViMjVsSnl4Y2JpQWdJQ0I5TEZ4dUlDQjlMRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1VIVmliR2x6YUdWa0lEMGdjM1I1YkdWa0tDZHpjR0Z1Snlrb2UxeHVJQ0J0WVhKbmFXNDZJQ2N3SURWd2VDQXdJREFuTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkVaWFJoYVd4eklEMGdjM1I1YkdWa0tDZHpjR0Z1Snlrb2UxeHVJQ0J0WVhKbmFXNU1aV1owT2lBbk5YQjRKeXhjYmlBZ2JHbHVaVWhsYVdkb2REb2dNUzQxTEZ4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR1pzWlhoRWFYSmxZM1JwYjI0NklDZGpiMngxYlc0bkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JCZFhSb2IzSWdQU0J6ZEhsc1pXUW9KMlJwZGljcEtIdGNiaUFnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNCaGJHbG5ia2wwWlcxek9pQW5ZMlZ1ZEdWeUp5eGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUVhaaGRHRnlJRDBnYzNSNWJHVmtLRkJvYjNSdktTaDdYRzRnSUhkcFpIUm9PaUFuTWpCd2VDY3NYRzRnSUdobGFXZG9kRG9nSnpJd2NIZ25MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCWGNtRndjR1Z5VEdsdWF5QTlJSE4wZVd4bFpDaE1hVzVyS1NoN1hHNGdJSFJsZUhSRVpXTnZjbUYwYVc5dU9pQW5ibTl1WlNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRkJoWTJ0aFoyVlVhWFJzWlNBOUlITjBlV3hsWkNnbmMzQmhiaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQm1iMjUwVjJWcFoyaDBPaUIwYUdWdFpTNW1iMjUwVjJWcFoyaDBMbUp2YkdRc1hHNGdJR1p2Ym5SVGFYcGxPaUF5TUN4Y2JpQWdaR2x6Y0d4aGVUb2dKMkpzYjJOckp5eGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdWNISnBiV0Z5ZVM1dFlXbHVMRnh1SUNCamRYSnpiM0k2SUNkd2IybHVkR1Z5Snl4Y2JpQWdkR1Y0ZEVSbFkyOXlZWFJwYjI0NklDZHViMjVsSnl4Y2JpQWdkMjl5WkVKeVpXRnJPaUFuWW5KbFlXc3RkMjl5WkNjc1hHNGdJRnRnUUcxbFpHbGhJQ2h0WVhndGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWMyMWhiR3g5Y0hncFlGMDZJSHRjYmlBZ0lDQm1iMjUwVTJsNlpUb2dNVFlzWEc0Z0lIMHNYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSGNtbGtVbWxuYUhSQmJHbG5ibVZrSUQwZ2MzUjViR1ZrS0VkeWFXUXBLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYmlBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkbWJHVjRMV1Z1WkNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRmR5WVhCd1pYSWdQU0J6ZEhsc1pXUW9UR2x6ZENrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJQ2NtT21odmRtVnlKem9nZTF4dUlDQWdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2dkR2hsYldVdWNHRnNaWFIwWlM1aFkzUnBiMjR1YUc5MlpYSXNYRzRnSUgwc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKWTI5dVFuVjBkRzl1SUQwZ2MzUjViR1ZrS0UxMWFVbGpiMjVDZFhSMGIyNHBLSHRjYmlBZ2NHRmtaR2x1WnpvZ05peGNiaUFnYzNabk9pQjdYRzRnSUNBZ1ptOXVkRk5wZW1VNklERTJMRnh1SUNCOUxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JRWVdOcllXZGxUR2x6ZEVsMFpXMVVaWGgwSUQwZ2MzUjViR1ZrS0V4cGMzUkpkR1Z0VkdWNGRDa29lMXh1SUNCd1lXUmthVzVuVW1sbmFIUTZJREFzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFUmxjMk55YVhCMGFXOXVJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdOdmJHOXlPaUIwYUdWdFpTNXdZV3hsZEhSbExtMXZaR1VnUFQwOUlDZHNhV2RvZENjZ1B5Qm5jbVY1UkdGeWF5QTZJR052YlcxdmJpNTNhR2wwWlN4Y2JpQWdabTl1ZEZOcGVtVTZJQ2N4TkhCNEp5eGNiaUFnY0dGa1pHbHVaMUpwWjJoME9pQXdMRnh1ZlNrcE8xeHVJbDE5ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgQXV0aG9yID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJkaXZcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZW5jbzhwMzhcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZW5jbzhwMzhcIixcblx0bGFiZWw6IFwiQXV0aG9yXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCJzNXhkcmdcIixcblx0c3R5bGVzOiBcImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXJcIlxufSA6IHtcblx0bmFtZTogXCJzNXhkcmdcIixcblx0c3R5bGVzOiBcImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5UVlXTnJZV2RsTDNOMGVXeGxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGNVEzTkNJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5UVlXTnJZV2RsTDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQjdJR1JsWm1GMWJIUWdZWE1nVUdodmRHOGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBGMllYUmhjaWM3WEc1cGJYQnZjblFnUjNKcFpDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMGR5YVdRbk8xeHVhVzF3YjNKMElIc2daR1ZtWVhWc2RDQmhjeUJOZFdsSlkyOXVRblYwZEc5dUlIMGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlKWTI5dVFuVjBkRzl1Snp0Y2JtbHRjRzl5ZENCTWFYTjBJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRDYzdYRzVwYlhCdmNuUWdUR2x6ZEVsMFpXMVVaWGgwSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkRWwwWlcxVVpYaDBKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaUI5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCN0lFeHBibXNnZlNCbWNtOXRJQ2R5WldGamRDMXliM1YwWlhJbk8xeHVYRzVwYlhCdmNuUWdkSGx3WlNCN0lGUm9aVzFsSUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYm1sdGNHOXlkQ0I3SUdkeVpYbEVZWEpySUgwZ1puSnZiU0FuTGk0dkxpNHZWR2hsYldVdlkyOXNiM0p6Snp0Y2JseHVaWGh3YjNKMElHTnZibk4wSUU5MlpYSjJhV1YzU1hSbGJTQTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0J0WVhKbmFXNDZJQ2N3SURJd2NIZ2dNQ0F3Snl4Y2JpQWdZMjlzYjNJNklIUm9aVzFsTG5CaGJHVjBkR1V1Ylc5a1pTQTlQVDBnSjJ4cFoyaDBKeUEvSUhSb1pXMWxMbkJoYkdWMGRHVXVaM0psZVVSaGNtc3lJRG9nWTI5dGJXOXVMbmRvYVhSbExGeHVJQ0JtYjI1MFUybDZaVG9nTVRJc1hHNGdJRnRnUUcxbFpHbGhJQ2h0WVhndGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUI3WEc0Z0lDQWdKenB1ZEdndGIyWXRkSGx3WlNnektTYzZJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2R1YjI1bEp5eGNiaUFnSUNCOUxGeHVJQ0I5TEZ4dUlDQmJZRUJ0WldScFlTQW9iV0Y0TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG5OdFlXeHNmWEI0S1dCZE9pQjdYRzRnSUNBZ0p6cHVkR2d0YjJZdGRIbHdaU2cwS1NjNklIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklDZHViMjVsSnl4Y2JpQWdJQ0I5TEZ4dUlDQjlMRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1VIVmliR2x6YUdWa0lEMGdjM1I1YkdWa0tDZHpjR0Z1Snlrb2UxeHVJQ0J0WVhKbmFXNDZJQ2N3SURWd2VDQXdJREFuTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkVaWFJoYVd4eklEMGdjM1I1YkdWa0tDZHpjR0Z1Snlrb2UxeHVJQ0J0WVhKbmFXNU1aV1owT2lBbk5YQjRKeXhjYmlBZ2JHbHVaVWhsYVdkb2REb2dNUzQxTEZ4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR1pzWlhoRWFYSmxZM1JwYjI0NklDZGpiMngxYlc0bkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JCZFhSb2IzSWdQU0J6ZEhsc1pXUW9KMlJwZGljcEtIdGNiaUFnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNCaGJHbG5ia2wwWlcxek9pQW5ZMlZ1ZEdWeUp5eGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUVhaaGRHRnlJRDBnYzNSNWJHVmtLRkJvYjNSdktTaDdYRzRnSUhkcFpIUm9PaUFuTWpCd2VDY3NYRzRnSUdobGFXZG9kRG9nSnpJd2NIZ25MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCWGNtRndjR1Z5VEdsdWF5QTlJSE4wZVd4bFpDaE1hVzVyS1NoN1hHNGdJSFJsZUhSRVpXTnZjbUYwYVc5dU9pQW5ibTl1WlNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRkJoWTJ0aFoyVlVhWFJzWlNBOUlITjBlV3hsWkNnbmMzQmhiaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQm1iMjUwVjJWcFoyaDBPaUIwYUdWdFpTNW1iMjUwVjJWcFoyaDBMbUp2YkdRc1hHNGdJR1p2Ym5SVGFYcGxPaUF5TUN4Y2JpQWdaR2x6Y0d4aGVUb2dKMkpzYjJOckp5eGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdWNISnBiV0Z5ZVM1dFlXbHVMRnh1SUNCamRYSnpiM0k2SUNkd2IybHVkR1Z5Snl4Y2JpQWdkR1Y0ZEVSbFkyOXlZWFJwYjI0NklDZHViMjVsSnl4Y2JpQWdkMjl5WkVKeVpXRnJPaUFuWW5KbFlXc3RkMjl5WkNjc1hHNGdJRnRnUUcxbFpHbGhJQ2h0WVhndGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWMyMWhiR3g5Y0hncFlGMDZJSHRjYmlBZ0lDQm1iMjUwVTJsNlpUb2dNVFlzWEc0Z0lIMHNYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSGNtbGtVbWxuYUhSQmJHbG5ibVZrSUQwZ2MzUjViR1ZrS0VkeWFXUXBLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYmlBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkbWJHVjRMV1Z1WkNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRmR5WVhCd1pYSWdQU0J6ZEhsc1pXUW9UR2x6ZENrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJQ2NtT21odmRtVnlKem9nZTF4dUlDQWdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2dkR2hsYldVdWNHRnNaWFIwWlM1aFkzUnBiMjR1YUc5MlpYSXNYRzRnSUgwc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKWTI5dVFuVjBkRzl1SUQwZ2MzUjViR1ZrS0UxMWFVbGpiMjVDZFhSMGIyNHBLSHRjYmlBZ2NHRmtaR2x1WnpvZ05peGNiaUFnYzNabk9pQjdYRzRnSUNBZ1ptOXVkRk5wZW1VNklERTJMRnh1SUNCOUxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JRWVdOcllXZGxUR2x6ZEVsMFpXMVVaWGgwSUQwZ2MzUjViR1ZrS0V4cGMzUkpkR1Z0VkdWNGRDa29lMXh1SUNCd1lXUmthVzVuVW1sbmFIUTZJREFzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFUmxjMk55YVhCMGFXOXVJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdOdmJHOXlPaUIwYUdWdFpTNXdZV3hsZEhSbExtMXZaR1VnUFQwOUlDZHNhV2RvZENjZ1B5Qm5jbVY1UkdGeWF5QTZJR052YlcxdmJpNTNhR2wwWlN4Y2JpQWdabTl1ZEZOcGVtVTZJQ2N4TkhCNEp5eGNiaUFnY0dGa1pHbHVaMUpwWjJoME9pQXdMRnh1ZlNrcE8xeHVJbDE5ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgQXZhdGFyJDEgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChBdmF0YXIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVuY284cDM3XCIgfSA6IHtcblx0dGFyZ2V0OiBcImVuY284cDM3XCIsXG5cdGxhYmVsOiBcIkF2YXRhclwiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwiMWF5bnVhZVwiLFxuXHRzdHlsZXM6IFwid2lkdGg6MjBweDtoZWlnaHQ6MjBweFwiXG59IDoge1xuXHRuYW1lOiBcIjFheW51YWVcIixcblx0c3R5bGVzOiBcIndpZHRoOjIwcHg7aGVpZ2h0OjIwcHgvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5UVlXTnJZV2RsTDNOMGVXeGxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVFNFEzTkNJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5UVlXTnJZV2RsTDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQjdJR1JsWm1GMWJIUWdZWE1nVUdodmRHOGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBGMllYUmhjaWM3WEc1cGJYQnZjblFnUjNKcFpDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMGR5YVdRbk8xeHVhVzF3YjNKMElIc2daR1ZtWVhWc2RDQmhjeUJOZFdsSlkyOXVRblYwZEc5dUlIMGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlKWTI5dVFuVjBkRzl1Snp0Y2JtbHRjRzl5ZENCTWFYTjBJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRDYzdYRzVwYlhCdmNuUWdUR2x6ZEVsMFpXMVVaWGgwSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkRWwwWlcxVVpYaDBKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaUI5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCN0lFeHBibXNnZlNCbWNtOXRJQ2R5WldGamRDMXliM1YwWlhJbk8xeHVYRzVwYlhCdmNuUWdkSGx3WlNCN0lGUm9aVzFsSUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYm1sdGNHOXlkQ0I3SUdkeVpYbEVZWEpySUgwZ1puSnZiU0FuTGk0dkxpNHZWR2hsYldVdlkyOXNiM0p6Snp0Y2JseHVaWGh3YjNKMElHTnZibk4wSUU5MlpYSjJhV1YzU1hSbGJTQTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0J0WVhKbmFXNDZJQ2N3SURJd2NIZ2dNQ0F3Snl4Y2JpQWdZMjlzYjNJNklIUm9aVzFsTG5CaGJHVjBkR1V1Ylc5a1pTQTlQVDBnSjJ4cFoyaDBKeUEvSUhSb1pXMWxMbkJoYkdWMGRHVXVaM0psZVVSaGNtc3lJRG9nWTI5dGJXOXVMbmRvYVhSbExGeHVJQ0JtYjI1MFUybDZaVG9nTVRJc1hHNGdJRnRnUUcxbFpHbGhJQ2h0WVhndGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUI3WEc0Z0lDQWdKenB1ZEdndGIyWXRkSGx3WlNnektTYzZJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2R1YjI1bEp5eGNiaUFnSUNCOUxGeHVJQ0I5TEZ4dUlDQmJZRUJ0WldScFlTQW9iV0Y0TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG5OdFlXeHNmWEI0S1dCZE9pQjdYRzRnSUNBZ0p6cHVkR2d0YjJZdGRIbHdaU2cwS1NjNklIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklDZHViMjVsSnl4Y2JpQWdJQ0I5TEZ4dUlDQjlMRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1VIVmliR2x6YUdWa0lEMGdjM1I1YkdWa0tDZHpjR0Z1Snlrb2UxeHVJQ0J0WVhKbmFXNDZJQ2N3SURWd2VDQXdJREFuTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkVaWFJoYVd4eklEMGdjM1I1YkdWa0tDZHpjR0Z1Snlrb2UxeHVJQ0J0WVhKbmFXNU1aV1owT2lBbk5YQjRKeXhjYmlBZ2JHbHVaVWhsYVdkb2REb2dNUzQxTEZ4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR1pzWlhoRWFYSmxZM1JwYjI0NklDZGpiMngxYlc0bkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JCZFhSb2IzSWdQU0J6ZEhsc1pXUW9KMlJwZGljcEtIdGNiaUFnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNCaGJHbG5ia2wwWlcxek9pQW5ZMlZ1ZEdWeUp5eGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUVhaaGRHRnlJRDBnYzNSNWJHVmtLRkJvYjNSdktTaDdYRzRnSUhkcFpIUm9PaUFuTWpCd2VDY3NYRzRnSUdobGFXZG9kRG9nSnpJd2NIZ25MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCWGNtRndjR1Z5VEdsdWF5QTlJSE4wZVd4bFpDaE1hVzVyS1NoN1hHNGdJSFJsZUhSRVpXTnZjbUYwYVc5dU9pQW5ibTl1WlNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRkJoWTJ0aFoyVlVhWFJzWlNBOUlITjBlV3hsWkNnbmMzQmhiaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQm1iMjUwVjJWcFoyaDBPaUIwYUdWdFpTNW1iMjUwVjJWcFoyaDBMbUp2YkdRc1hHNGdJR1p2Ym5SVGFYcGxPaUF5TUN4Y2JpQWdaR2x6Y0d4aGVUb2dKMkpzYjJOckp5eGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdWNISnBiV0Z5ZVM1dFlXbHVMRnh1SUNCamRYSnpiM0k2SUNkd2IybHVkR1Z5Snl4Y2JpQWdkR1Y0ZEVSbFkyOXlZWFJwYjI0NklDZHViMjVsSnl4Y2JpQWdkMjl5WkVKeVpXRnJPaUFuWW5KbFlXc3RkMjl5WkNjc1hHNGdJRnRnUUcxbFpHbGhJQ2h0WVhndGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWMyMWhiR3g5Y0hncFlGMDZJSHRjYmlBZ0lDQm1iMjUwVTJsNlpUb2dNVFlzWEc0Z0lIMHNYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSGNtbGtVbWxuYUhSQmJHbG5ibVZrSUQwZ2MzUjViR1ZrS0VkeWFXUXBLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYmlBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkbWJHVjRMV1Z1WkNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRmR5WVhCd1pYSWdQU0J6ZEhsc1pXUW9UR2x6ZENrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJQ2NtT21odmRtVnlKem9nZTF4dUlDQWdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2dkR2hsYldVdWNHRnNaWFIwWlM1aFkzUnBiMjR1YUc5MlpYSXNYRzRnSUgwc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKWTI5dVFuVjBkRzl1SUQwZ2MzUjViR1ZrS0UxMWFVbGpiMjVDZFhSMGIyNHBLSHRjYmlBZ2NHRmtaR2x1WnpvZ05peGNiaUFnYzNabk9pQjdYRzRnSUNBZ1ptOXVkRk5wZW1VNklERTJMRnh1SUNCOUxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JRWVdOcllXZGxUR2x6ZEVsMFpXMVVaWGgwSUQwZ2MzUjViR1ZrS0V4cGMzUkpkR1Z0VkdWNGRDa29lMXh1SUNCd1lXUmthVzVuVW1sbmFIUTZJREFzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFUmxjMk55YVhCMGFXOXVJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdOdmJHOXlPaUIwYUdWdFpTNXdZV3hsZEhSbExtMXZaR1VnUFQwOUlDZHNhV2RvZENjZ1B5Qm5jbVY1UkdGeWF5QTZJR052YlcxdmJpNTNhR2wwWlN4Y2JpQWdabTl1ZEZOcGVtVTZJQ2N4TkhCNEp5eGNiaUFnY0dGa1pHbHVaMUpwWjJoME9pQXdMRnh1ZlNrcE8xeHVJbDE5ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgV3JhcHBlckxpbmsgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChMaW5rLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlbmNvOHAzNlwiIH0gOiB7XG5cdHRhcmdldDogXCJlbmNvOHAzNlwiLFxuXHRsYWJlbDogXCJXcmFwcGVyTGlua1wiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwiZzY1bzk1XCIsXG5cdHN0eWxlczogXCJ0ZXh0LWRlY29yYXRpb246bm9uZVwiXG59IDoge1xuXHRuYW1lOiBcImc2NW85NVwiLFxuXHRzdHlsZXM6IFwidGV4dC1kZWNvcmF0aW9uOm5vbmUvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5UVlXTnJZV2RsTDNOMGVXeGxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGdFJESkNJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5UVlXTnJZV2RsTDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQjdJR1JsWm1GMWJIUWdZWE1nVUdodmRHOGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBGMllYUmhjaWM3WEc1cGJYQnZjblFnUjNKcFpDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMGR5YVdRbk8xeHVhVzF3YjNKMElIc2daR1ZtWVhWc2RDQmhjeUJOZFdsSlkyOXVRblYwZEc5dUlIMGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlKWTI5dVFuVjBkRzl1Snp0Y2JtbHRjRzl5ZENCTWFYTjBJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRDYzdYRzVwYlhCdmNuUWdUR2x6ZEVsMFpXMVVaWGgwSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkRWwwWlcxVVpYaDBKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaUI5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCN0lFeHBibXNnZlNCbWNtOXRJQ2R5WldGamRDMXliM1YwWlhJbk8xeHVYRzVwYlhCdmNuUWdkSGx3WlNCN0lGUm9aVzFsSUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYm1sdGNHOXlkQ0I3SUdkeVpYbEVZWEpySUgwZ1puSnZiU0FuTGk0dkxpNHZWR2hsYldVdlkyOXNiM0p6Snp0Y2JseHVaWGh3YjNKMElHTnZibk4wSUU5MlpYSjJhV1YzU1hSbGJTQTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0J0WVhKbmFXNDZJQ2N3SURJd2NIZ2dNQ0F3Snl4Y2JpQWdZMjlzYjNJNklIUm9aVzFsTG5CaGJHVjBkR1V1Ylc5a1pTQTlQVDBnSjJ4cFoyaDBKeUEvSUhSb1pXMWxMbkJoYkdWMGRHVXVaM0psZVVSaGNtc3lJRG9nWTI5dGJXOXVMbmRvYVhSbExGeHVJQ0JtYjI1MFUybDZaVG9nTVRJc1hHNGdJRnRnUUcxbFpHbGhJQ2h0WVhndGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUI3WEc0Z0lDQWdKenB1ZEdndGIyWXRkSGx3WlNnektTYzZJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2R1YjI1bEp5eGNiaUFnSUNCOUxGeHVJQ0I5TEZ4dUlDQmJZRUJ0WldScFlTQW9iV0Y0TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG5OdFlXeHNmWEI0S1dCZE9pQjdYRzRnSUNBZ0p6cHVkR2d0YjJZdGRIbHdaU2cwS1NjNklIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklDZHViMjVsSnl4Y2JpQWdJQ0I5TEZ4dUlDQjlMRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1VIVmliR2x6YUdWa0lEMGdjM1I1YkdWa0tDZHpjR0Z1Snlrb2UxeHVJQ0J0WVhKbmFXNDZJQ2N3SURWd2VDQXdJREFuTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkVaWFJoYVd4eklEMGdjM1I1YkdWa0tDZHpjR0Z1Snlrb2UxeHVJQ0J0WVhKbmFXNU1aV1owT2lBbk5YQjRKeXhjYmlBZ2JHbHVaVWhsYVdkb2REb2dNUzQxTEZ4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR1pzWlhoRWFYSmxZM1JwYjI0NklDZGpiMngxYlc0bkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JCZFhSb2IzSWdQU0J6ZEhsc1pXUW9KMlJwZGljcEtIdGNiaUFnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNCaGJHbG5ia2wwWlcxek9pQW5ZMlZ1ZEdWeUp5eGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUVhaaGRHRnlJRDBnYzNSNWJHVmtLRkJvYjNSdktTaDdYRzRnSUhkcFpIUm9PaUFuTWpCd2VDY3NYRzRnSUdobGFXZG9kRG9nSnpJd2NIZ25MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCWGNtRndjR1Z5VEdsdWF5QTlJSE4wZVd4bFpDaE1hVzVyS1NoN1hHNGdJSFJsZUhSRVpXTnZjbUYwYVc5dU9pQW5ibTl1WlNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRkJoWTJ0aFoyVlVhWFJzWlNBOUlITjBlV3hsWkNnbmMzQmhiaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQm1iMjUwVjJWcFoyaDBPaUIwYUdWdFpTNW1iMjUwVjJWcFoyaDBMbUp2YkdRc1hHNGdJR1p2Ym5SVGFYcGxPaUF5TUN4Y2JpQWdaR2x6Y0d4aGVUb2dKMkpzYjJOckp5eGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdWNISnBiV0Z5ZVM1dFlXbHVMRnh1SUNCamRYSnpiM0k2SUNkd2IybHVkR1Z5Snl4Y2JpQWdkR1Y0ZEVSbFkyOXlZWFJwYjI0NklDZHViMjVsSnl4Y2JpQWdkMjl5WkVKeVpXRnJPaUFuWW5KbFlXc3RkMjl5WkNjc1hHNGdJRnRnUUcxbFpHbGhJQ2h0WVhndGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWMyMWhiR3g5Y0hncFlGMDZJSHRjYmlBZ0lDQm1iMjUwVTJsNlpUb2dNVFlzWEc0Z0lIMHNYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSGNtbGtVbWxuYUhSQmJHbG5ibVZrSUQwZ2MzUjViR1ZrS0VkeWFXUXBLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYmlBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkbWJHVjRMV1Z1WkNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRmR5WVhCd1pYSWdQU0J6ZEhsc1pXUW9UR2x6ZENrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJQ2NtT21odmRtVnlKem9nZTF4dUlDQWdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2dkR2hsYldVdWNHRnNaWFIwWlM1aFkzUnBiMjR1YUc5MlpYSXNYRzRnSUgwc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKWTI5dVFuVjBkRzl1SUQwZ2MzUjViR1ZrS0UxMWFVbGpiMjVDZFhSMGIyNHBLSHRjYmlBZ2NHRmtaR2x1WnpvZ05peGNiaUFnYzNabk9pQjdYRzRnSUNBZ1ptOXVkRk5wZW1VNklERTJMRnh1SUNCOUxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JRWVdOcllXZGxUR2x6ZEVsMFpXMVVaWGgwSUQwZ2MzUjViR1ZrS0V4cGMzUkpkR1Z0VkdWNGRDa29lMXh1SUNCd1lXUmthVzVuVW1sbmFIUTZJREFzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFUmxjMk55YVhCMGFXOXVJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdOdmJHOXlPaUIwYUdWdFpTNXdZV3hsZEhSbExtMXZaR1VnUFQwOUlDZHNhV2RvZENjZ1B5Qm5jbVY1UkdGeWF5QTZJR052YlcxdmJpNTNhR2wwWlN4Y2JpQWdabTl1ZEZOcGVtVTZJQ2N4TkhCNEp5eGNiaUFnY0dGa1pHbHVaMUpwWjJoME9pQXdMRnh1ZlNrcE8xeHVJbDE5ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgUGFja2FnZVRpdGxlID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJzcGFuXCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVuY284cDM1XCIgfSA6IHtcblx0dGFyZ2V0OiBcImVuY284cDM1XCIsXG5cdGxhYmVsOiBcIlBhY2thZ2VUaXRsZVwiXG59KSgoeyB0aGVtZSB9KSA9PiAoe1xuXHRmb250V2VpZ2h0OiB0aGVtZS5mb250V2VpZ2h0LmJvbGQsXG5cdGZvbnRTaXplOiAyMCxcblx0ZGlzcGxheTogXCJibG9ja1wiLFxuXHRjb2xvcjogdGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW4sXG5cdGN1cnNvcjogXCJwb2ludGVyXCIsXG5cdHRleHREZWNvcmF0aW9uOiBcIm5vbmVcIixcblx0d29yZEJyZWFrOiBcImJyZWFrLXdvcmRcIixcblx0W2BAbWVkaWEgKG1heC13aWR0aDogJHt0aGVtZS5icmVha1BvaW50cy5zbWFsbH1weClgXTogeyBmb250U2l6ZTogMTYgfVxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlRWVdOcllXZGxMM04wZVd4bGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUYxUkRSQ0lpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlRWVdOcllXZGxMM04wZVd4bGN5NTBjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCN0lHUmxabUYxYkhRZ1lYTWdVR2h2ZEc4Z2ZTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMEYyWVhSaGNpYzdYRzVwYlhCdmNuUWdSM0pwWkNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwZHlhV1FuTzF4dWFXMXdiM0owSUhzZ1pHVm1ZWFZzZENCaGN5Qk5kV2xKWTI5dVFuVjBkRzl1SUgwZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUpZMjl1UW5WMGRHOXVKenRjYm1sdGNHOXlkQ0JNYVhOMElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZENjN1hHNXBiWEJ2Y25RZ1RHbHpkRWwwWlcxVVpYaDBJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRFbDBaVzFVWlhoMEp6dGNibWx0Y0c5eWRDQjdJR052YlcxdmJpQjlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2WTI5c2IzSnpKenRjYm1sdGNHOXlkQ0I3SUV4cGJtc2dmU0JtY205dElDZHlaV0ZqZEMxeWIzVjBaWEluTzF4dVhHNXBiWEJ2Y25RZ2RIbHdaU0I3SUZSb1pXMWxJSDBnWm5KdmJTQW5MaTR2TGk0dkp6dGNibWx0Y0c5eWRDQjdJR2R5WlhsRVlYSnJJSDBnWm5KdmJTQW5MaTR2TGk0dlZHaGxiV1V2WTI5c2IzSnpKenRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRTkyWlhKMmFXVjNTWFJsYlNBOUlITjBlV3hsWkNnbmMzQmhiaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQnRZWEpuYVc0NklDY3dJREl3Y0hnZ01DQXdKeXhjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXViVzlrWlNBOVBUMGdKMnhwWjJoMEp5QS9JSFJvWlcxbExuQmhiR1YwZEdVdVozSmxlVVJoY21zeUlEb2dZMjl0Ylc5dUxuZG9hWFJsTEZ4dUlDQm1iMjUwVTJsNlpUb2dNVElzWEc0Z0lGdGdRRzFsWkdsaElDaHRZWGd0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11YldWa2FYVnRmWEI0S1dCZE9pQjdYRzRnSUNBZ0p6cHVkR2d0YjJZdGRIbHdaU2d6S1NjNklIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklDZHViMjVsSnl4Y2JpQWdJQ0I5TEZ4dUlDQjlMRnh1SUNCYllFQnRaV1JwWVNBb2JXRjRMWGRwWkhSb09pQWtlM1JvWlcxbExtSnlaV0ZyVUc5cGJuUnpMbk50WVd4c2ZYQjRLV0JkT2lCN1hHNGdJQ0FnSnpwdWRHZ3RiMll0ZEhsd1pTZzBLU2M2SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUNkdWIyNWxKeXhjYmlBZ0lDQjlMRnh1SUNCOUxGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVUhWaWJHbHphR1ZrSUQwZ2MzUjViR1ZrS0NkemNHRnVKeWtvZTF4dUlDQnRZWEpuYVc0NklDY3dJRFZ3ZUNBd0lEQW5MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCRVpYUmhhV3h6SUQwZ2MzUjViR1ZrS0NkemNHRnVKeWtvZTF4dUlDQnRZWEpuYVc1TVpXWjBPaUFuTlhCNEp5eGNiaUFnYkdsdVpVaGxhV2RvZERvZ01TNDFMRnh1SUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lHWnNaWGhFYVhKbFkzUnBiMjQ2SUNkamIyeDFiVzRuTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkJkWFJvYjNJZ1BTQnpkSGxzWldRb0oyUnBkaWNwS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMlpzWlhnbkxGeHVJQ0JoYkdsbmJrbDBaVzF6T2lBblkyVnVkR1Z5Snl4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdRWFpoZEdGeUlEMGdjM1I1YkdWa0tGQm9iM1J2S1NoN1hHNGdJSGRwWkhSb09pQW5NakJ3ZUNjc1hHNGdJR2hsYVdkb2REb2dKekl3Y0hnbkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JYY21Gd2NHVnlUR2x1YXlBOUlITjBlV3hsWkNoTWFXNXJLU2g3WEc0Z0lIUmxlSFJFWldOdmNtRjBhVzl1T2lBbmJtOXVaU2NzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGQmhZMnRoWjJWVWFYUnNaU0E5SUhOMGVXeGxaQ2duYzNCaGJpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCbWIyNTBWMlZwWjJoME9pQjBhR1Z0WlM1bWIyNTBWMlZwWjJoMExtSnZiR1FzWEc0Z0lHWnZiblJUYVhwbE9pQXlNQ3hjYmlBZ1pHbHpjR3hoZVRvZ0oySnNiMk5ySnl4Y2JpQWdZMjlzYjNJNklIUm9aVzFsTG5CaGJHVjBkR1V1Y0hKcGJXRnllUzV0WVdsdUxGeHVJQ0JqZFhKemIzSTZJQ2R3YjJsdWRHVnlKeXhjYmlBZ2RHVjRkRVJsWTI5eVlYUnBiMjQ2SUNkdWIyNWxKeXhjYmlBZ2QyOXlaRUp5WldGck9pQW5ZbkpsWVdzdGQyOXlaQ2NzWEc0Z0lGdGdRRzFsWkdsaElDaHRZWGd0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11YzIxaGJHeDljSGdwWUYwNklIdGNiaUFnSUNCbWIyNTBVMmw2WlRvZ01UWXNYRzRnSUgwc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JIY21sa1VtbG5hSFJCYkdsbmJtVmtJRDBnYzNSNWJHVmtLRWR5YVdRcEtIdGNiaUFnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNCaGJHbG5ia2wwWlcxek9pQW5ZMlZ1ZEdWeUp5eGNiaUFnYW5WemRHbG1lVU52Ym5SbGJuUTZJQ2RtYkdWNExXVnVaQ2NzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGZHlZWEJ3WlhJZ1BTQnpkSGxzWldRb1RHbHpkQ2s4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lDY21PbWh2ZG1WeUp6b2dlMXh1SUNBZ0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ2RHaGxiV1V1Y0dGc1pYUjBaUzVoWTNScGIyNHVhRzkyWlhJc1hHNGdJSDBzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkpZMjl1UW5WMGRHOXVJRDBnYzNSNWJHVmtLRTExYVVsamIyNUNkWFIwYjI0cEtIdGNiaUFnY0dGa1pHbHVaem9nTml4Y2JpQWdjM1puT2lCN1hHNGdJQ0FnWm05dWRGTnBlbVU2SURFMkxGeHVJQ0I5TEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlFZV05yWVdkbFRHbHpkRWwwWlcxVVpYaDBJRDBnYzNSNWJHVmtLRXhwYzNSSmRHVnRWR1Y0ZENrb2UxeHVJQ0J3WVdSa2FXNW5VbWxuYUhRNklEQXNYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVSbGMyTnlhWEIwYVc5dUlEMGdjM1I1YkdWa0tDZHpjR0Z1SnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR052Ykc5eU9pQjBhR1Z0WlM1d1lXeGxkSFJsTG0xdlpHVWdQVDA5SUNkc2FXZG9kQ2NnUHlCbmNtVjVSR0Z5YXlBNklHTnZiVzF2Ymk1M2FHbDBaU3hjYmlBZ1ptOXVkRk5wZW1VNklDY3hOSEI0Snl4Y2JpQWdjR0ZrWkdsdVoxSnBaMmgwT2lBd0xGeHVmU2twTzF4dUlsMTkgKi9cIik7XG52YXIgR3JpZFJpZ2h0QWxpZ25lZCA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKEdyaWQsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVuY284cDM0XCIgfSA6IHtcblx0dGFyZ2V0OiBcImVuY284cDM0XCIsXG5cdGxhYmVsOiBcIkdyaWRSaWdodEFsaWduZWRcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjE5bWgweDZcIixcblx0c3R5bGVzOiBcImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kXCJcbn0gOiB7XG5cdG5hbWU6IFwiMTltaDB4NlwiLFxuXHRzdHlsZXM6IFwiZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5UVlXTnJZV2RsTDNOMGVXeGxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGdlJXZERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5UVlXTnJZV2RsTDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQjdJR1JsWm1GMWJIUWdZWE1nVUdodmRHOGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBGMllYUmhjaWM3WEc1cGJYQnZjblFnUjNKcFpDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMGR5YVdRbk8xeHVhVzF3YjNKMElIc2daR1ZtWVhWc2RDQmhjeUJOZFdsSlkyOXVRblYwZEc5dUlIMGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlKWTI5dVFuVjBkRzl1Snp0Y2JtbHRjRzl5ZENCTWFYTjBJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRDYzdYRzVwYlhCdmNuUWdUR2x6ZEVsMFpXMVVaWGgwSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkRWwwWlcxVVpYaDBKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaUI5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCN0lFeHBibXNnZlNCbWNtOXRJQ2R5WldGamRDMXliM1YwWlhJbk8xeHVYRzVwYlhCdmNuUWdkSGx3WlNCN0lGUm9aVzFsSUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYm1sdGNHOXlkQ0I3SUdkeVpYbEVZWEpySUgwZ1puSnZiU0FuTGk0dkxpNHZWR2hsYldVdlkyOXNiM0p6Snp0Y2JseHVaWGh3YjNKMElHTnZibk4wSUU5MlpYSjJhV1YzU1hSbGJTQTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0J0WVhKbmFXNDZJQ2N3SURJd2NIZ2dNQ0F3Snl4Y2JpQWdZMjlzYjNJNklIUm9aVzFsTG5CaGJHVjBkR1V1Ylc5a1pTQTlQVDBnSjJ4cFoyaDBKeUEvSUhSb1pXMWxMbkJoYkdWMGRHVXVaM0psZVVSaGNtc3lJRG9nWTI5dGJXOXVMbmRvYVhSbExGeHVJQ0JtYjI1MFUybDZaVG9nTVRJc1hHNGdJRnRnUUcxbFpHbGhJQ2h0WVhndGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUI3WEc0Z0lDQWdKenB1ZEdndGIyWXRkSGx3WlNnektTYzZJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2R1YjI1bEp5eGNiaUFnSUNCOUxGeHVJQ0I5TEZ4dUlDQmJZRUJ0WldScFlTQW9iV0Y0TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG5OdFlXeHNmWEI0S1dCZE9pQjdYRzRnSUNBZ0p6cHVkR2d0YjJZdGRIbHdaU2cwS1NjNklIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklDZHViMjVsSnl4Y2JpQWdJQ0I5TEZ4dUlDQjlMRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1VIVmliR2x6YUdWa0lEMGdjM1I1YkdWa0tDZHpjR0Z1Snlrb2UxeHVJQ0J0WVhKbmFXNDZJQ2N3SURWd2VDQXdJREFuTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkVaWFJoYVd4eklEMGdjM1I1YkdWa0tDZHpjR0Z1Snlrb2UxeHVJQ0J0WVhKbmFXNU1aV1owT2lBbk5YQjRKeXhjYmlBZ2JHbHVaVWhsYVdkb2REb2dNUzQxTEZ4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR1pzWlhoRWFYSmxZM1JwYjI0NklDZGpiMngxYlc0bkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JCZFhSb2IzSWdQU0J6ZEhsc1pXUW9KMlJwZGljcEtIdGNiaUFnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNCaGJHbG5ia2wwWlcxek9pQW5ZMlZ1ZEdWeUp5eGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUVhaaGRHRnlJRDBnYzNSNWJHVmtLRkJvYjNSdktTaDdYRzRnSUhkcFpIUm9PaUFuTWpCd2VDY3NYRzRnSUdobGFXZG9kRG9nSnpJd2NIZ25MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCWGNtRndjR1Z5VEdsdWF5QTlJSE4wZVd4bFpDaE1hVzVyS1NoN1hHNGdJSFJsZUhSRVpXTnZjbUYwYVc5dU9pQW5ibTl1WlNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRkJoWTJ0aFoyVlVhWFJzWlNBOUlITjBlV3hsWkNnbmMzQmhiaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQm1iMjUwVjJWcFoyaDBPaUIwYUdWdFpTNW1iMjUwVjJWcFoyaDBMbUp2YkdRc1hHNGdJR1p2Ym5SVGFYcGxPaUF5TUN4Y2JpQWdaR2x6Y0d4aGVUb2dKMkpzYjJOckp5eGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdWNISnBiV0Z5ZVM1dFlXbHVMRnh1SUNCamRYSnpiM0k2SUNkd2IybHVkR1Z5Snl4Y2JpQWdkR1Y0ZEVSbFkyOXlZWFJwYjI0NklDZHViMjVsSnl4Y2JpQWdkMjl5WkVKeVpXRnJPaUFuWW5KbFlXc3RkMjl5WkNjc1hHNGdJRnRnUUcxbFpHbGhJQ2h0WVhndGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWMyMWhiR3g5Y0hncFlGMDZJSHRjYmlBZ0lDQm1iMjUwVTJsNlpUb2dNVFlzWEc0Z0lIMHNYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSGNtbGtVbWxuYUhSQmJHbG5ibVZrSUQwZ2MzUjViR1ZrS0VkeWFXUXBLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYmlBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkbWJHVjRMV1Z1WkNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRmR5WVhCd1pYSWdQU0J6ZEhsc1pXUW9UR2x6ZENrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJQ2NtT21odmRtVnlKem9nZTF4dUlDQWdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2dkR2hsYldVdWNHRnNaWFIwWlM1aFkzUnBiMjR1YUc5MlpYSXNYRzRnSUgwc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKWTI5dVFuVjBkRzl1SUQwZ2MzUjViR1ZrS0UxMWFVbGpiMjVDZFhSMGIyNHBLSHRjYmlBZ2NHRmtaR2x1WnpvZ05peGNiaUFnYzNabk9pQjdYRzRnSUNBZ1ptOXVkRk5wZW1VNklERTJMRnh1SUNCOUxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JRWVdOcllXZGxUR2x6ZEVsMFpXMVVaWGgwSUQwZ2MzUjViR1ZrS0V4cGMzUkpkR1Z0VkdWNGRDa29lMXh1SUNCd1lXUmthVzVuVW1sbmFIUTZJREFzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFUmxjMk55YVhCMGFXOXVJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdOdmJHOXlPaUIwYUdWdFpTNXdZV3hsZEhSbExtMXZaR1VnUFQwOUlDZHNhV2RvZENjZ1B5Qm5jbVY1UkdGeWF5QTZJR052YlcxdmJpNTNhR2wwWlN4Y2JpQWdabTl1ZEZOcGVtVTZJQ2N4TkhCNEp5eGNiaUFnY0dGa1pHbHVaMUpwWjJoME9pQXdMRnh1ZlNrcE8xeHVJbDE5ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgV3JhcHBlciA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKExpc3QsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVuY284cDMzXCIgfSA6IHtcblx0dGFyZ2V0OiBcImVuY284cDMzXCIsXG5cdGxhYmVsOiBcIldyYXBwZXJcIlxufSkoKHsgdGhlbWUgfSkgPT4gKHsgXCImOmhvdmVyXCI6IHsgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5wYWxldHRlLmFjdGlvbi5ob3ZlciB9IH0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5UVlXTnJZV2RsTDNOMGVXeGxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVFd1JYVkNJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5UVlXTnJZV2RsTDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQjdJR1JsWm1GMWJIUWdZWE1nVUdodmRHOGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBGMllYUmhjaWM3WEc1cGJYQnZjblFnUjNKcFpDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMGR5YVdRbk8xeHVhVzF3YjNKMElIc2daR1ZtWVhWc2RDQmhjeUJOZFdsSlkyOXVRblYwZEc5dUlIMGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlKWTI5dVFuVjBkRzl1Snp0Y2JtbHRjRzl5ZENCTWFYTjBJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRDYzdYRzVwYlhCdmNuUWdUR2x6ZEVsMFpXMVVaWGgwSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkRWwwWlcxVVpYaDBKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaUI5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCN0lFeHBibXNnZlNCbWNtOXRJQ2R5WldGamRDMXliM1YwWlhJbk8xeHVYRzVwYlhCdmNuUWdkSGx3WlNCN0lGUm9aVzFsSUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYm1sdGNHOXlkQ0I3SUdkeVpYbEVZWEpySUgwZ1puSnZiU0FuTGk0dkxpNHZWR2hsYldVdlkyOXNiM0p6Snp0Y2JseHVaWGh3YjNKMElHTnZibk4wSUU5MlpYSjJhV1YzU1hSbGJTQTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0J0WVhKbmFXNDZJQ2N3SURJd2NIZ2dNQ0F3Snl4Y2JpQWdZMjlzYjNJNklIUm9aVzFsTG5CaGJHVjBkR1V1Ylc5a1pTQTlQVDBnSjJ4cFoyaDBKeUEvSUhSb1pXMWxMbkJoYkdWMGRHVXVaM0psZVVSaGNtc3lJRG9nWTI5dGJXOXVMbmRvYVhSbExGeHVJQ0JtYjI1MFUybDZaVG9nTVRJc1hHNGdJRnRnUUcxbFpHbGhJQ2h0WVhndGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUI3WEc0Z0lDQWdKenB1ZEdndGIyWXRkSGx3WlNnektTYzZJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2R1YjI1bEp5eGNiaUFnSUNCOUxGeHVJQ0I5TEZ4dUlDQmJZRUJ0WldScFlTQW9iV0Y0TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG5OdFlXeHNmWEI0S1dCZE9pQjdYRzRnSUNBZ0p6cHVkR2d0YjJZdGRIbHdaU2cwS1NjNklIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklDZHViMjVsSnl4Y2JpQWdJQ0I5TEZ4dUlDQjlMRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1VIVmliR2x6YUdWa0lEMGdjM1I1YkdWa0tDZHpjR0Z1Snlrb2UxeHVJQ0J0WVhKbmFXNDZJQ2N3SURWd2VDQXdJREFuTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkVaWFJoYVd4eklEMGdjM1I1YkdWa0tDZHpjR0Z1Snlrb2UxeHVJQ0J0WVhKbmFXNU1aV1owT2lBbk5YQjRKeXhjYmlBZ2JHbHVaVWhsYVdkb2REb2dNUzQxTEZ4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR1pzWlhoRWFYSmxZM1JwYjI0NklDZGpiMngxYlc0bkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JCZFhSb2IzSWdQU0J6ZEhsc1pXUW9KMlJwZGljcEtIdGNiaUFnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNCaGJHbG5ia2wwWlcxek9pQW5ZMlZ1ZEdWeUp5eGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUVhaaGRHRnlJRDBnYzNSNWJHVmtLRkJvYjNSdktTaDdYRzRnSUhkcFpIUm9PaUFuTWpCd2VDY3NYRzRnSUdobGFXZG9kRG9nSnpJd2NIZ25MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCWGNtRndjR1Z5VEdsdWF5QTlJSE4wZVd4bFpDaE1hVzVyS1NoN1hHNGdJSFJsZUhSRVpXTnZjbUYwYVc5dU9pQW5ibTl1WlNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRkJoWTJ0aFoyVlVhWFJzWlNBOUlITjBlV3hsWkNnbmMzQmhiaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQm1iMjUwVjJWcFoyaDBPaUIwYUdWdFpTNW1iMjUwVjJWcFoyaDBMbUp2YkdRc1hHNGdJR1p2Ym5SVGFYcGxPaUF5TUN4Y2JpQWdaR2x6Y0d4aGVUb2dKMkpzYjJOckp5eGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdWNISnBiV0Z5ZVM1dFlXbHVMRnh1SUNCamRYSnpiM0k2SUNkd2IybHVkR1Z5Snl4Y2JpQWdkR1Y0ZEVSbFkyOXlZWFJwYjI0NklDZHViMjVsSnl4Y2JpQWdkMjl5WkVKeVpXRnJPaUFuWW5KbFlXc3RkMjl5WkNjc1hHNGdJRnRnUUcxbFpHbGhJQ2h0WVhndGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWMyMWhiR3g5Y0hncFlGMDZJSHRjYmlBZ0lDQm1iMjUwVTJsNlpUb2dNVFlzWEc0Z0lIMHNYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSGNtbGtVbWxuYUhSQmJHbG5ibVZrSUQwZ2MzUjViR1ZrS0VkeWFXUXBLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYmlBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkbWJHVjRMV1Z1WkNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRmR5WVhCd1pYSWdQU0J6ZEhsc1pXUW9UR2x6ZENrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJQ2NtT21odmRtVnlKem9nZTF4dUlDQWdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2dkR2hsYldVdWNHRnNaWFIwWlM1aFkzUnBiMjR1YUc5MlpYSXNYRzRnSUgwc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKWTI5dVFuVjBkRzl1SUQwZ2MzUjViR1ZrS0UxMWFVbGpiMjVDZFhSMGIyNHBLSHRjYmlBZ2NHRmtaR2x1WnpvZ05peGNiaUFnYzNabk9pQjdYRzRnSUNBZ1ptOXVkRk5wZW1VNklERTJMRnh1SUNCOUxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JRWVdOcllXZGxUR2x6ZEVsMFpXMVVaWGgwSUQwZ2MzUjViR1ZrS0V4cGMzUkpkR1Z0VkdWNGRDa29lMXh1SUNCd1lXUmthVzVuVW1sbmFIUTZJREFzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFUmxjMk55YVhCMGFXOXVJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdOdmJHOXlPaUIwYUdWdFpTNXdZV3hsZEhSbExtMXZaR1VnUFQwOUlDZHNhV2RvZENjZ1B5Qm5jbVY1UkdGeWF5QTZJR052YlcxdmJpNTNhR2wwWlN4Y2JpQWdabTl1ZEZOcGVtVTZJQ2N4TkhCNEp5eGNiaUFnY0dGa1pHbHVaMUpwWjJoME9pQXdMRnh1ZlNrcE8xeHVJbDE5ICovXCIpO1xudmFyIEljb25CdXR0b24kMSA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKEljb25CdXR0b24sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVuY284cDMyXCIgfSA6IHtcblx0dGFyZ2V0OiBcImVuY284cDMyXCIsXG5cdGxhYmVsOiBcIkljb25CdXR0b25cIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjhhMDhlNlwiLFxuXHRzdHlsZXM6IFwicGFkZGluZzo2cHg7c3Zne2ZvbnQtc2l6ZToxNnB4O31cIlxufSA6IHtcblx0bmFtZTogXCI4YTA4ZTZcIixcblx0c3R5bGVzOiBcInBhZGRpbmc6NnB4O3N2Z3tmb250LXNpemU6MTZweDt9LyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVFZV05yWVdkbEwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRm5SakJDSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVFZV05yWVdkbEwzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0I3SUdSbFptRjFiSFFnWVhNZ1VHaHZkRzhnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwRjJZWFJoY2ljN1hHNXBiWEJ2Y25RZ1IzSnBaQ0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBkeWFXUW5PMXh1YVcxd2IzSjBJSHNnWkdWbVlYVnNkQ0JoY3lCTmRXbEpZMjl1UW5WMGRHOXVJSDBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5SlkyOXVRblYwZEc5dUp6dGNibWx0Y0c5eWRDQk1hWE4wSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkQ2M3WEc1cGJYQnZjblFnVEdsemRFbDBaVzFVWlhoMElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZEVsMFpXMVVaWGgwSnp0Y2JtbHRjRzl5ZENCN0lHTnZiVzF2YmlCOUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZZMjlzYjNKekp6dGNibWx0Y0c5eWRDQjdJRXhwYm1zZ2ZTQm1jbTl0SUNkeVpXRmpkQzF5YjNWMFpYSW5PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCN0lHZHlaWGxFWVhKcklIMGdabkp2YlNBbkxpNHZMaTR2VkdobGJXVXZZMjlzYjNKekp6dGNibHh1Wlhod2IzSjBJR052Ym5OMElFOTJaWEoyYVdWM1NYUmxiU0E5SUhOMGVXeGxaQ2duYzNCaGJpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lHRnNhV2R1U1hSbGJYTTZJQ2RqWlc1MFpYSW5MRnh1SUNCdFlYSm5hVzQ2SUNjd0lESXdjSGdnTUNBd0p5eGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdWJXOWtaU0E5UFQwZ0oyeHBaMmgwSnlBL0lIUm9aVzFsTG5CaGJHVjBkR1V1WjNKbGVVUmhjbXN5SURvZ1kyOXRiVzl1TG5kb2FYUmxMRnh1SUNCbWIyNTBVMmw2WlRvZ01USXNYRzRnSUZ0Z1FHMWxaR2xoSUNodFlYZ3RkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXViV1ZrYVhWdGZYQjRLV0JkT2lCN1hHNGdJQ0FnSnpwdWRHZ3RiMll0ZEhsd1pTZ3pLU2M2SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUNkdWIyNWxKeXhjYmlBZ0lDQjlMRnh1SUNCOUxGeHVJQ0JiWUVCdFpXUnBZU0FvYldGNExYZHBaSFJvT2lBa2UzUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxuTnRZV3hzZlhCNEtXQmRPaUI3WEc0Z0lDQWdKenB1ZEdndGIyWXRkSGx3WlNnMEtTYzZJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2R1YjI1bEp5eGNiaUFnSUNCOUxGeHVJQ0I5TEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdVSFZpYkdsemFHVmtJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5a29lMXh1SUNCdFlYSm5hVzQ2SUNjd0lEVndlQ0F3SURBbkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JFWlhSaGFXeHpJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5a29lMXh1SUNCdFlYSm5hVzVNWldaME9pQW5OWEI0Snl4Y2JpQWdiR2x1WlVobGFXZG9kRG9nTVM0MUxGeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdac1pYaEVhWEpsWTNScGIyNDZJQ2RqYjJ4MWJXNG5MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCQmRYUm9iM0lnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1FYWmhkR0Z5SUQwZ2MzUjViR1ZrS0ZCb2IzUnZLU2g3WEc0Z0lIZHBaSFJvT2lBbk1qQndlQ2NzWEc0Z0lHaGxhV2RvZERvZ0p6SXdjSGduTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlhjbUZ3Y0dWeVRHbHVheUE5SUhOMGVXeGxaQ2hNYVc1cktTaDdYRzRnSUhSbGVIUkVaV052Y21GMGFXOXVPaUFuYm05dVpTY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZCaFkydGhaMlZVYVhSc1pTQTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JtYjI1MFYyVnBaMmgwT2lCMGFHVnRaUzVtYjI1MFYyVnBaMmgwTG1KdmJHUXNYRzRnSUdadmJuUlRhWHBsT2lBeU1DeGNiaUFnWkdsemNHeGhlVG9nSjJKc2IyTnJKeXhjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXVjSEpwYldGeWVTNXRZV2x1TEZ4dUlDQmpkWEp6YjNJNklDZHdiMmx1ZEdWeUp5eGNiaUFnZEdWNGRFUmxZMjl5WVhScGIyNDZJQ2R1YjI1bEp5eGNiaUFnZDI5eVpFSnlaV0ZyT2lBblluSmxZV3N0ZDI5eVpDY3NYRzRnSUZ0Z1FHMWxaR2xoSUNodFlYZ3RkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXVjMjFoYkd4OWNIZ3BZRjA2SUh0Y2JpQWdJQ0JtYjI1MFUybDZaVG9nTVRZc1hHNGdJSDBzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkhjbWxrVW1sbmFIUkJiR2xuYm1Wa0lEMGdjM1I1YkdWa0tFZHlhV1FwS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMlpzWlhnbkxGeHVJQ0JoYkdsbmJrbDBaVzF6T2lBblkyVnVkR1Z5Snl4Y2JpQWdhblZ6ZEdsbWVVTnZiblJsYm5RNklDZG1iR1Y0TFdWdVpDY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZkeVlYQndaWElnUFNCemRIbHNaV1FvVEdsemRDazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUNjbU9taHZkbVZ5SnpvZ2UxeHVJQ0FnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nZEdobGJXVXVjR0ZzWlhSMFpTNWhZM1JwYjI0dWFHOTJaWElzWEc0Z0lIMHNYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSlkyOXVRblYwZEc5dUlEMGdjM1I1YkdWa0tFMTFhVWxqYjI1Q2RYUjBiMjRwS0h0Y2JpQWdjR0ZrWkdsdVp6b2dOaXhjYmlBZ2MzWm5PaUI3WEc0Z0lDQWdabTl1ZEZOcGVtVTZJREUyTEZ4dUlDQjlMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCUVlXTnJZV2RsVEdsemRFbDBaVzFVWlhoMElEMGdjM1I1YkdWa0tFeHBjM1JKZEdWdFZHVjRkQ2tvZTF4dUlDQndZV1JrYVc1blVtbG5hSFE2SURBc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRVJsYzJOeWFYQjBhVzl1SUQwZ2MzUjViR1ZrS0NkemNHRnVKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RzYVdkb2RDY2dQeUJuY21WNVJHRnlheUE2SUdOdmJXMXZiaTUzYUdsMFpTeGNiaUFnWm05dWRGTnBlbVU2SUNjeE5IQjRKeXhjYmlBZ2NHRmtaR2x1WjFKcFoyaDBPaUF3TEZ4dWZTa3BPMXh1SWwxOSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIFBhY2thZ2VMaXN0SXRlbVRleHQgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChMaXN0SXRlbVRleHQsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVuY284cDMxXCIgfSA6IHtcblx0dGFyZ2V0OiBcImVuY284cDMxXCIsXG5cdGxhYmVsOiBcIlBhY2thZ2VMaXN0SXRlbVRleHRcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcImpqeW85M1wiLFxuXHRzdHlsZXM6IFwicGFkZGluZy1yaWdodDowXCJcbn0gOiB7XG5cdG5hbWU6IFwiamp5bzkzXCIsXG5cdHN0eWxlczogXCJwYWRkaW5nLXJpZ2h0OjAvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5UVlXTnJZV2RsTDNOMGVXeGxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGMVJtMURJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12WTI5dGNHOXVaVzUwY3k5UVlXTnJZV2RsTDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQjdJR1JsWm1GMWJIUWdZWE1nVUdodmRHOGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBGMllYUmhjaWM3WEc1cGJYQnZjblFnUjNKcFpDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMGR5YVdRbk8xeHVhVzF3YjNKMElIc2daR1ZtWVhWc2RDQmhjeUJOZFdsSlkyOXVRblYwZEc5dUlIMGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlKWTI5dVFuVjBkRzl1Snp0Y2JtbHRjRzl5ZENCTWFYTjBJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRDYzdYRzVwYlhCdmNuUWdUR2x6ZEVsMFpXMVVaWGgwSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkRWwwWlcxVVpYaDBKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaUI5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCN0lFeHBibXNnZlNCbWNtOXRJQ2R5WldGamRDMXliM1YwWlhJbk8xeHVYRzVwYlhCdmNuUWdkSGx3WlNCN0lGUm9aVzFsSUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYm1sdGNHOXlkQ0I3SUdkeVpYbEVZWEpySUgwZ1puSnZiU0FuTGk0dkxpNHZWR2hsYldVdlkyOXNiM0p6Snp0Y2JseHVaWGh3YjNKMElHTnZibk4wSUU5MlpYSjJhV1YzU1hSbGJTQTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0J0WVhKbmFXNDZJQ2N3SURJd2NIZ2dNQ0F3Snl4Y2JpQWdZMjlzYjNJNklIUm9aVzFsTG5CaGJHVjBkR1V1Ylc5a1pTQTlQVDBnSjJ4cFoyaDBKeUEvSUhSb1pXMWxMbkJoYkdWMGRHVXVaM0psZVVSaGNtc3lJRG9nWTI5dGJXOXVMbmRvYVhSbExGeHVJQ0JtYjI1MFUybDZaVG9nTVRJc1hHNGdJRnRnUUcxbFpHbGhJQ2h0WVhndGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUI3WEc0Z0lDQWdKenB1ZEdndGIyWXRkSGx3WlNnektTYzZJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2R1YjI1bEp5eGNiaUFnSUNCOUxGeHVJQ0I5TEZ4dUlDQmJZRUJ0WldScFlTQW9iV0Y0TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG5OdFlXeHNmWEI0S1dCZE9pQjdYRzRnSUNBZ0p6cHVkR2d0YjJZdGRIbHdaU2cwS1NjNklIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklDZHViMjVsSnl4Y2JpQWdJQ0I5TEZ4dUlDQjlMRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1VIVmliR2x6YUdWa0lEMGdjM1I1YkdWa0tDZHpjR0Z1Snlrb2UxeHVJQ0J0WVhKbmFXNDZJQ2N3SURWd2VDQXdJREFuTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkVaWFJoYVd4eklEMGdjM1I1YkdWa0tDZHpjR0Z1Snlrb2UxeHVJQ0J0WVhKbmFXNU1aV1owT2lBbk5YQjRKeXhjYmlBZ2JHbHVaVWhsYVdkb2REb2dNUzQxTEZ4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR1pzWlhoRWFYSmxZM1JwYjI0NklDZGpiMngxYlc0bkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JCZFhSb2IzSWdQU0J6ZEhsc1pXUW9KMlJwZGljcEtIdGNiaUFnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNCaGJHbG5ia2wwWlcxek9pQW5ZMlZ1ZEdWeUp5eGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUVhaaGRHRnlJRDBnYzNSNWJHVmtLRkJvYjNSdktTaDdYRzRnSUhkcFpIUm9PaUFuTWpCd2VDY3NYRzRnSUdobGFXZG9kRG9nSnpJd2NIZ25MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCWGNtRndjR1Z5VEdsdWF5QTlJSE4wZVd4bFpDaE1hVzVyS1NoN1hHNGdJSFJsZUhSRVpXTnZjbUYwYVc5dU9pQW5ibTl1WlNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRkJoWTJ0aFoyVlVhWFJzWlNBOUlITjBlV3hsWkNnbmMzQmhiaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQm1iMjUwVjJWcFoyaDBPaUIwYUdWdFpTNW1iMjUwVjJWcFoyaDBMbUp2YkdRc1hHNGdJR1p2Ym5SVGFYcGxPaUF5TUN4Y2JpQWdaR2x6Y0d4aGVUb2dKMkpzYjJOckp5eGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdWNISnBiV0Z5ZVM1dFlXbHVMRnh1SUNCamRYSnpiM0k2SUNkd2IybHVkR1Z5Snl4Y2JpQWdkR1Y0ZEVSbFkyOXlZWFJwYjI0NklDZHViMjVsSnl4Y2JpQWdkMjl5WkVKeVpXRnJPaUFuWW5KbFlXc3RkMjl5WkNjc1hHNGdJRnRnUUcxbFpHbGhJQ2h0WVhndGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWMyMWhiR3g5Y0hncFlGMDZJSHRjYmlBZ0lDQm1iMjUwVTJsNlpUb2dNVFlzWEc0Z0lIMHNYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSGNtbGtVbWxuYUhSQmJHbG5ibVZrSUQwZ2MzUjViR1ZrS0VkeWFXUXBLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYmlBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkbWJHVjRMV1Z1WkNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRmR5WVhCd1pYSWdQU0J6ZEhsc1pXUW9UR2x6ZENrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJQ2NtT21odmRtVnlKem9nZTF4dUlDQWdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2dkR2hsYldVdWNHRnNaWFIwWlM1aFkzUnBiMjR1YUc5MlpYSXNYRzRnSUgwc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKWTI5dVFuVjBkRzl1SUQwZ2MzUjViR1ZrS0UxMWFVbGpiMjVDZFhSMGIyNHBLSHRjYmlBZ2NHRmtaR2x1WnpvZ05peGNiaUFnYzNabk9pQjdYRzRnSUNBZ1ptOXVkRk5wZW1VNklERTJMRnh1SUNCOUxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JRWVdOcllXZGxUR2x6ZEVsMFpXMVVaWGgwSUQwZ2MzUjViR1ZrS0V4cGMzUkpkR1Z0VkdWNGRDa29lMXh1SUNCd1lXUmthVzVuVW1sbmFIUTZJREFzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFUmxjMk55YVhCMGFXOXVJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdOdmJHOXlPaUIwYUdWdFpTNXdZV3hsZEhSbExtMXZaR1VnUFQwOUlDZHNhV2RvZENjZ1B5Qm5jbVY1UkdGeWF5QTZJR052YlcxdmJpNTNhR2wwWlN4Y2JpQWdabTl1ZEZOcGVtVTZJQ2N4TkhCNEp5eGNiaUFnY0dGa1pHbHVaMUpwWjJoME9pQXdMRnh1ZlNrcE8xeHVJbDE5ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgRGVzY3JpcHRpb24gPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcInNwYW5cIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZW5jbzhwMzBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZW5jbzhwMzBcIixcblx0bGFiZWw6IFwiRGVzY3JpcHRpb25cIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0Y29sb3I6IHRoZW1lLnBhbGV0dGUubW9kZSA9PT0gXCJsaWdodFwiID8gZ3JleURhcmsgOiBjb21tb24ud2hpdGUsXG5cdGZvbnRTaXplOiBcIjE0cHhcIixcblx0cGFkZGluZ1JpZ2h0OiAwXG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVFZV05yWVdkbEwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRXlSakpDSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVFZV05yWVdkbEwzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0I3SUdSbFptRjFiSFFnWVhNZ1VHaHZkRzhnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwRjJZWFJoY2ljN1hHNXBiWEJ2Y25RZ1IzSnBaQ0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBkeWFXUW5PMXh1YVcxd2IzSjBJSHNnWkdWbVlYVnNkQ0JoY3lCTmRXbEpZMjl1UW5WMGRHOXVJSDBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5SlkyOXVRblYwZEc5dUp6dGNibWx0Y0c5eWRDQk1hWE4wSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkQ2M3WEc1cGJYQnZjblFnVEdsemRFbDBaVzFVWlhoMElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZEVsMFpXMVVaWGgwSnp0Y2JtbHRjRzl5ZENCN0lHTnZiVzF2YmlCOUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZZMjlzYjNKekp6dGNibWx0Y0c5eWRDQjdJRXhwYm1zZ2ZTQm1jbTl0SUNkeVpXRmpkQzF5YjNWMFpYSW5PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCN0lHZHlaWGxFWVhKcklIMGdabkp2YlNBbkxpNHZMaTR2VkdobGJXVXZZMjlzYjNKekp6dGNibHh1Wlhod2IzSjBJR052Ym5OMElFOTJaWEoyYVdWM1NYUmxiU0E5SUhOMGVXeGxaQ2duYzNCaGJpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lHRnNhV2R1U1hSbGJYTTZJQ2RqWlc1MFpYSW5MRnh1SUNCdFlYSm5hVzQ2SUNjd0lESXdjSGdnTUNBd0p5eGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdWJXOWtaU0E5UFQwZ0oyeHBaMmgwSnlBL0lIUm9aVzFsTG5CaGJHVjBkR1V1WjNKbGVVUmhjbXN5SURvZ1kyOXRiVzl1TG5kb2FYUmxMRnh1SUNCbWIyNTBVMmw2WlRvZ01USXNYRzRnSUZ0Z1FHMWxaR2xoSUNodFlYZ3RkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXViV1ZrYVhWdGZYQjRLV0JkT2lCN1hHNGdJQ0FnSnpwdWRHZ3RiMll0ZEhsd1pTZ3pLU2M2SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUNkdWIyNWxKeXhjYmlBZ0lDQjlMRnh1SUNCOUxGeHVJQ0JiWUVCdFpXUnBZU0FvYldGNExYZHBaSFJvT2lBa2UzUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxuTnRZV3hzZlhCNEtXQmRPaUI3WEc0Z0lDQWdKenB1ZEdndGIyWXRkSGx3WlNnMEtTYzZJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2R1YjI1bEp5eGNiaUFnSUNCOUxGeHVJQ0I5TEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdVSFZpYkdsemFHVmtJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5a29lMXh1SUNCdFlYSm5hVzQ2SUNjd0lEVndlQ0F3SURBbkxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JFWlhSaGFXeHpJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5a29lMXh1SUNCdFlYSm5hVzVNWldaME9pQW5OWEI0Snl4Y2JpQWdiR2x1WlVobGFXZG9kRG9nTVM0MUxGeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdac1pYaEVhWEpsWTNScGIyNDZJQ2RqYjJ4MWJXNG5MRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCQmRYUm9iM0lnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1FYWmhkR0Z5SUQwZ2MzUjViR1ZrS0ZCb2IzUnZLU2g3WEc0Z0lIZHBaSFJvT2lBbk1qQndlQ2NzWEc0Z0lHaGxhV2RvZERvZ0p6SXdjSGduTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlhjbUZ3Y0dWeVRHbHVheUE5SUhOMGVXeGxaQ2hNYVc1cktTaDdYRzRnSUhSbGVIUkVaV052Y21GMGFXOXVPaUFuYm05dVpTY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZCaFkydGhaMlZVYVhSc1pTQTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JtYjI1MFYyVnBaMmgwT2lCMGFHVnRaUzVtYjI1MFYyVnBaMmgwTG1KdmJHUXNYRzRnSUdadmJuUlRhWHBsT2lBeU1DeGNiaUFnWkdsemNHeGhlVG9nSjJKc2IyTnJKeXhjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXVjSEpwYldGeWVTNXRZV2x1TEZ4dUlDQmpkWEp6YjNJNklDZHdiMmx1ZEdWeUp5eGNiaUFnZEdWNGRFUmxZMjl5WVhScGIyNDZJQ2R1YjI1bEp5eGNiaUFnZDI5eVpFSnlaV0ZyT2lBblluSmxZV3N0ZDI5eVpDY3NYRzRnSUZ0Z1FHMWxaR2xoSUNodFlYZ3RkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXVjMjFoYkd4OWNIZ3BZRjA2SUh0Y2JpQWdJQ0JtYjI1MFUybDZaVG9nTVRZc1hHNGdJSDBzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkhjbWxrVW1sbmFIUkJiR2xuYm1Wa0lEMGdjM1I1YkdWa0tFZHlhV1FwS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMlpzWlhnbkxGeHVJQ0JoYkdsbmJrbDBaVzF6T2lBblkyVnVkR1Z5Snl4Y2JpQWdhblZ6ZEdsbWVVTnZiblJsYm5RNklDZG1iR1Y0TFdWdVpDY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZkeVlYQndaWElnUFNCemRIbHNaV1FvVEdsemRDazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUNjbU9taHZkbVZ5SnpvZ2UxeHVJQ0FnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nZEdobGJXVXVjR0ZzWlhSMFpTNWhZM1JwYjI0dWFHOTJaWElzWEc0Z0lIMHNYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSlkyOXVRblYwZEc5dUlEMGdjM1I1YkdWa0tFMTFhVWxqYjI1Q2RYUjBiMjRwS0h0Y2JpQWdjR0ZrWkdsdVp6b2dOaXhjYmlBZ2MzWm5PaUI3WEc0Z0lDQWdabTl1ZEZOcGVtVTZJREUyTEZ4dUlDQjlMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCUVlXTnJZV2RsVEdsemRFbDBaVzFVWlhoMElEMGdjM1I1YkdWa0tFeHBjM1JKZEdWdFZHVjRkQ2tvZTF4dUlDQndZV1JrYVc1blVtbG5hSFE2SURBc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRVJsYzJOeWFYQjBhVzl1SUQwZ2MzUjViR1ZrS0NkemNHRnVKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RzYVdkb2RDY2dQeUJuY21WNVJHRnlheUE2SUdOdmJXMXZiaTUzYUdsMFpTeGNiaUFnWm05dWRGTnBlbVU2SUNjeE5IQjRKeXhjYmlBZ2NHRmtaR2x1WjFKcFoyaDBPaUF3TEZ4dWZTa3BPMXh1SWwxOSAqL1wiKTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgQXV0aG9yLCBBdmF0YXIkMSBhcyBBdmF0YXIsIERlc2NyaXB0aW9uLCBEZXRhaWxzLCBHcmlkUmlnaHRBbGlnbmVkLCBJY29uQnV0dG9uJDEgYXMgSWNvbkJ1dHRvbiwgT3ZlcnZpZXdJdGVtLCBQYWNrYWdlTGlzdEl0ZW1UZXh0LCBQYWNrYWdlVGl0bGUsIFB1Ymxpc2hlZCwgV3JhcHBlciwgV3JhcHBlckxpbmsgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3R5bGVzLm1qcy5tYXAiLCJpbXBvcnQgeyBpc1VSTCB9IGZyb20gXCIuLi8uLi91dGlscy91cmwubWpzXCI7XG5pbXBvcnQgeyBmaWxlU2l6ZVNJLCBmb3JtYXREYXRlLCBmb3JtYXREYXRlRGlzdGFuY2UsIGdldEF1dGhvck5hbWUgfSBmcm9tIFwiLi4vLi4vdXRpbHMvdXRpbHMubWpzXCI7XG5pbXBvcnQgeyBSb3V0ZSB9IGZyb20gXCIuLi8uLi91dGlscy9yb3V0ZXMubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi91dGlscy9pbmRleC5tanNcIjtcbmltcG9ydCB7IGdldENvbmZpZ3VyYXRpb24gfSBmcm9tIFwiLi4vLi4vY29uZmlndXJhdGlvbi5tanNcIjtcbmltcG9ydCB7IHVzZU1hbmlmZXN0cyB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvTWFuaWZlc3RzUHJvdmlkZXIvTWFuaWZlc3RzUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgeyB1c2VEb3dubG9hZCB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvRG93bmxvYWRQcm92aWRlci9Eb3dubG9hZFByb3ZpZGVyLm1qc1wiO1xuaW1wb3J0IExpbmtFeHRlcm5hbCBmcm9tIFwiLi4vTGlua0V4dGVybmFsL0xpbmtFeHRlcm5hbC5tanNcIjtcbmltcG9ydCB7IFZlcnNpb24gfSBmcm9tIFwiLi4vSWNvbnMvVmVyc2lvbi5tanNcIjtcbmltcG9ydCB7IFRpbWUgfSBmcm9tIFwiLi4vSWNvbnMvVGltZS5tanNcIjtcbmltcG9ydCB7IEZpbGVCaW5hcnkgfSBmcm9tIFwiLi4vSWNvbnMvRmlsZUJpbmFyeS5tanNcIjtcbmltcG9ydCB7IExhdyB9IGZyb20gXCIuLi9JY29ucy9MYXcubWpzXCI7XG5pbXBvcnQgXCIuLi9JY29ucy9pbmRleC5tanNcIjtcbmltcG9ydCBLZXl3b3JkTGlzdEl0ZW1zIGZyb20gXCIuLi9LZXl3b3Jkcy9LZXl3b3JkTGlzdEl0ZW1zLm1qc1wiO1xuaW1wb3J0IExpbmsgZnJvbSBcIi4uL0xpbmsvTGluay5tanNcIjtcbmltcG9ydCB7IEF1dGhvciwgQXZhdGFyLCBEZXNjcmlwdGlvbiwgRGV0YWlscywgR3JpZFJpZ2h0QWxpZ25lZCwgSWNvbkJ1dHRvbiwgT3ZlcnZpZXdJdGVtLCBQYWNrYWdlTGlzdEl0ZW1UZXh0LCBQYWNrYWdlVGl0bGUsIFB1Ymxpc2hlZCwgV3JhcHBlciwgV3JhcHBlckxpbmsgfSBmcm9tIFwiLi9zdHlsZXMubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9pbmRleC5tanNcIjtcbmltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgVG9vbHRpcCBmcm9tIFwiQG11aS9tYXRlcmlhbC9Ub29sdGlwXCI7XG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IEJ1Z1JlcG9ydCBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9CdWdSZXBvcnRcIjtcbmltcG9ydCBEb3dubG9hZEljb24gZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvQ2xvdWREb3dubG9hZFwiO1xuaW1wb3J0IEhvbWVJY29uIGZyb20gXCJAbXVpL2ljb25zLW1hdGVyaWFsL0hvbWVcIjtcbmltcG9ydCBDaXJjdWxhclByb2dyZXNzIGZyb20gXCJAbXVpL21hdGVyaWFsL0NpcmN1bGFyUHJvZ3Jlc3NcIjtcbmltcG9ydCB7IGNvbW1vbiwgZ3JleSB9IGZyb20gXCJAbXVpL21hdGVyaWFsL2NvbG9yc1wiO1xuaW1wb3J0IExpc3QgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvTGlzdFwiO1xuaW1wb3J0IExpc3RJdGVtIGZyb20gXCJAbXVpL21hdGVyaWFsL0xpc3RJdGVtXCI7XG5pbXBvcnQgR3JpZCBmcm9tIFwiQG11aS9tYXRlcmlhbC9HcmlkXCI7XG5pbXBvcnQgeyBjc3MgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9QYWNrYWdlL1BhY2thZ2UudHN4XG52YXIgUGFja2FnZSA9ICh7IGF1dGhvcjogeyBuYW1lOiBhdXRob3JOYW1lLCBhdmF0YXI6IGF1dGhvckF2YXRhciB9LCBidWdzLCBkZXNjcmlwdGlvbiwgZGlzdCwgaG9tZXBhZ2UsIGtleXdvcmRzLCBsaWNlbnNlLCBuYW1lOiBwYWNrYWdlTmFtZSwgdGltZSwgc2hvd0Rvd25sb2FkID0gdHJ1ZSwgdmVyc2lvbiB9KSA9PiB7XG5cdGNvbnN0IGNvbmZpZyA9IGdldENvbmZpZ3VyYXRpb24oKTtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRjb25zdCB7IGlzTG9hZGluZyB9ID0gdXNlTWFuaWZlc3RzKCk7XG5cdGNvbnN0IHsgZG93bmxvYWRUYXJiYWxsIH0gPSB1c2VEb3dubG9hZCgpO1xuXHRjb25zdCBoYW5kbGVEb3dubG9hZCA9IHVzZUNhbGxiYWNrKGFzeW5jICh0YXJiYWxsRGlzdCkgPT4ge1xuXHRcdGNvbnN0IGxpbmsgPSB0YXJiYWxsRGlzdC5yZXBsYWNlKGBodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9gLCBjb25maWcuYmFzZSk7XG5cdFx0ZG93bmxvYWRUYXJiYWxsPy4oeyBsaW5rIH0pO1xuXHR9LCBbY29uZmlnLCBkb3dubG9hZFRhcmJhbGxdKTtcblx0Y29uc3QgcmVuZGVyVmVyc2lvbkluZm8gPSAoKSA9PiB2ZXJzaW9uICYmIC8qIEBfX1BVUkVfXyAqLyBqc3hzKE92ZXJ2aWV3SXRlbSwgeyBjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goU3R5bGVkVmVyc2lvbiwge30pLCB0KFwicGFja2FnZS52ZXJzaW9uXCIsIHsgdmVyc2lvbiB9KV0gfSk7XG5cdGNvbnN0IHJlbmRlckF1dGhvckluZm8gPSAoKSA9PiB7XG5cdFx0Y29uc3QgbmFtZSA9IGdldEF1dGhvck5hbWUoYXV0aG9yTmFtZSk7XG5cdFx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goT3ZlcnZpZXdJdGVtLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4cyhBdXRob3IsIHsgY2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KEF2YXRhciwge1xuXHRcdFx0YWx0OiBuYW1lLFxuXHRcdFx0c3JjOiBhdXRob3JBdmF0YXJcblx0XHR9KSwgLyogQF9fUFVSRV9fICovIGpzeChEZXRhaWxzLCB7IGNoaWxkcmVuOiBuYW1lIH0pXSB9KSB9KTtcblx0fTtcblx0Y29uc3QgcmVuZGVyRmlsZVNpemUgPSAoKSA9PiBkaXN0Py51bnBhY2tlZFNpemUgJiYgLyogQF9fUFVSRV9fICovIGpzeHMoT3ZlcnZpZXdJdGVtLCB7IGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChTdHlsZWRGaWxlQmluYXJ5LCB7fSksIGZpbGVTaXplU0koZGlzdC51bnBhY2tlZFNpemUpXSB9KTtcblx0Y29uc3QgcmVuZGVyTGljZW5zZUluZm8gPSAoKSA9PiBsaWNlbnNlICYmIC8qIEBfX1BVUkVfXyAqLyBqc3hzKE92ZXJ2aWV3SXRlbSwgeyBjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goU3R5bGVkTGF3LCB7fSksIGxpY2Vuc2VdIH0pO1xuXHRjb25zdCByZW5kZXJQdWJsaXNoZWRJbmZvID0gKCkgPT4gdGltZSAmJiAvKiBAX19QVVJFX18gKi8ganN4cyhPdmVydmlld0l0ZW0sIHsgY2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KFN0eWxlZFRpbWUsIHt9KSwgLyogQF9fUFVSRV9fICovIGpzeChQdWJsaXNoZWQsIHtcblx0XHR0aXRsZTogZm9ybWF0RGF0ZSh0aW1lKSxcblx0XHRjaGlsZHJlbjogdChcInBhY2thZ2UucHVibGlzaGVkLW9uXCIsIHsgdGltZTogZm9ybWF0RGF0ZURpc3RhbmNlKHRpbWUpIH0pXG5cdH0pXSB9KTtcblx0Y29uc3QgcmVuZGVySG9tZVBhZ2VMaW5rID0gKCkgPT4gaG9tZXBhZ2UgJiYgaXNVUkwoaG9tZXBhZ2UpICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goTGlua0V4dGVybmFsLCB7XG5cdFx0dG86IGhvbWVwYWdlLFxuXHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFRvb2x0aXAsIHtcblx0XHRcdFwiYXJpYS1sYWJlbFwiOiB0KFwicGFja2FnZS5ob21lcGFnZVwiKSxcblx0XHRcdHRpdGxlOiB0KFwicGFja2FnZS52aXNpdC1ob21lLXBhZ2VcIiksXG5cdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChJY29uQnV0dG9uLCB7XG5cdFx0XHRcdFwiYXJpYS1sYWJlbFwiOiB0KFwicGFja2FnZS5ob21lcGFnZVwiKSxcblx0XHRcdFx0Y29sb3I6IFwicHJpbWFyeVwiLFxuXHRcdFx0XHRzaXplOiBcImxhcmdlXCIsXG5cdFx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEhvbWVJY29uLCB7fSlcblx0XHRcdH0pXG5cdFx0fSlcblx0fSk7XG5cdGNvbnN0IHJlbmRlckJ1Z3NMaW5rID0gKCkgPT4gYnVncz8udXJsICYmIGlzVVJMKGJ1Z3MudXJsKSAmJiAvKiBAX19QVVJFX18gKi8ganN4KExpbmtFeHRlcm5hbCwge1xuXHRcdHRvOiBidWdzLnVybCxcblx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChUb29sdGlwLCB7XG5cdFx0XHRcImFyaWEtbGFiZWxcIjogdChcInBhY2thZ2UuYnVnc1wiKSxcblx0XHRcdHRpdGxlOiB0KFwicGFja2FnZS5vcGVuLWFuLWlzc3VlXCIpLFxuXHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goSWNvbkJ1dHRvbiwge1xuXHRcdFx0XHRcImFyaWEtbGFiZWxcIjogdChcInBhY2thZ2UuYnVnc1wiKSxcblx0XHRcdFx0Y29sb3I6IFwicHJpbWFyeVwiLFxuXHRcdFx0XHRzaXplOiBcImxhcmdlXCIsXG5cdFx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEJ1Z1JlcG9ydCwge30pXG5cdFx0XHR9KVxuXHRcdH0pXG5cdH0pO1xuXHRjb25zdCByZW5kZXJEb3dubG9hZExpbmsgPSAoKSA9PiBkaXN0Py50YXJiYWxsICYmIGlzVVJMKGRpc3QudGFyYmFsbCkgJiYgLyogQF9fUFVSRV9fICovIGpzeChMaW5rLCB7XG5cdFx0b25DbGljazogKCkgPT4ge1xuXHRcdFx0aGFuZGxlRG93bmxvYWQoZGlzdC50YXJiYWxsKTtcblx0XHR9LFxuXHRcdHRvOiBcIiNcIixcblx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChUb29sdGlwLCB7XG5cdFx0XHRcImFyaWEtbGFiZWxcIjogdChcInBhY2thZ2UuZG93bmxvYWRcIiwgeyB3aGF0OiB0KFwicGFja2FnZS50aGUtdGFyLWZpbGVcIikgfSksXG5cdFx0XHR0aXRsZTogdChcInBhY2thZ2UudGFyYmFsbFwiKSxcblx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEljb25CdXR0b24sIHtcblx0XHRcdFx0XCJhcmlhLWxhYmVsXCI6IHQoXCJwYWNrYWdlLmRvd25sb2FkXCIpLFxuXHRcdFx0XHRjb2xvcjogXCJwcmltYXJ5XCIsXG5cdFx0XHRcdFwiZGF0YS10ZXN0aWRcIjogXCJkb3dubG9hZC10YXJiYWxsXCIsXG5cdFx0XHRcdHNpemU6IFwibGFyZ2VcIixcblx0XHRcdFx0Y2hpbGRyZW46IGlzTG9hZGluZyA/IC8qIEBfX1BVUkVfXyAqLyBqc3goQ2lyY3VsYXJQcm9ncmVzcywgeyBzaXplOiAxMyB9KSA6IC8qIEBfX1BVUkVfXyAqLyBqc3goRG93bmxvYWRJY29uLCB7fSlcblx0XHRcdH0pXG5cdFx0fSlcblx0fSk7XG5cdGNvbnN0IHJlbmRlclByaW1hcnlDb21wb25lbnQgPSAoKSA9PiB7XG5cdFx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKEdyaWQsIHtcblx0XHRcdGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG5cdFx0XHRjb250YWluZXI6IHRydWUsXG5cdFx0XHRzaXplOiB7IHhzOiAxMiB9LFxuXHRcdFx0d3JhcDogXCJ3cmFwXCIsXG5cdFx0XHRjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goR3JpZCwge1xuXHRcdFx0XHRzaXplOiBcImdyb3dcIixcblx0XHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goV3JhcHBlckxpbmssIHtcblx0XHRcdFx0XHR0bzogYCR7Um91dGUuREVUQUlMfSR7cGFja2FnZU5hbWV9YCxcblx0XHRcdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChQYWNrYWdlVGl0bGUsIHtcblx0XHRcdFx0XHRcdGNsYXNzTmFtZTogXCJwYWNrYWdlLXRpdGxlXCIsXG5cdFx0XHRcdFx0XHRcImRhdGEtdGVzdGlkXCI6IFwicGFja2FnZS10aXRsZVwiLFxuXHRcdFx0XHRcdFx0Y2hpbGRyZW46IHBhY2thZ2VOYW1lXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fSlcblx0XHRcdH0pLCAvKiBAX19QVVJFX18gKi8ganN4cyhHcmlkUmlnaHRBbGlnbmVkLCB7XG5cdFx0XHRcdHNpemU6IFwiYXV0b1wiLFxuXHRcdFx0XHRjaGlsZHJlbjogW1xuXHRcdFx0XHRcdHJlbmRlckhvbWVQYWdlTGluaygpLFxuXHRcdFx0XHRcdHJlbmRlckJ1Z3NMaW5rKCksXG5cdFx0XHRcdFx0c2hvd0Rvd25sb2FkICYmIHJlbmRlckRvd25sb2FkTGluaygpXG5cdFx0XHRcdF1cblx0XHRcdH0pXVxuXHRcdH0pO1xuXHR9O1xuXHRjb25zdCByZW5kZXJTZWNvbmRhcnlDb21wb25lbnQgPSAoKSA9PiAvKiBAX19QVVJFX18gKi8ganN4KERlc2NyaXB0aW9uLCB7IGNoaWxkcmVuOiBkZXNjcmlwdGlvbiB9KTtcblx0Y29uc3QgcmVuZGVyUGFja2FnZUxpc3RJdGVtVGV4dCA9ICgpID0+IC8qIEBfX1BVUkVfXyAqLyBqc3goUGFja2FnZUxpc3RJdGVtVGV4dCwge1xuXHRcdHByaW1hcnk6IHJlbmRlclByaW1hcnlDb21wb25lbnQoKSxcblx0XHRzZWNvbmRhcnk6IHJlbmRlclNlY29uZGFyeUNvbXBvbmVudCgpXG5cdH0pO1xuXHRjb25zdCByZW5kZXJLZXl3b3JkcyA9ICgpID0+IC8qIEBfX1BVUkVfXyAqLyBqc3goTGlzdEl0ZW0sIHtcblx0XHRhbGlnbkl0ZW1zOiBcImZsZXgtc3RhcnRcIixcblx0XHRzeDoge1xuXHRcdFx0cHk6IDAsXG5cdFx0XHRteTogMFxuXHRcdH0sXG5cdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goTGlzdCwge1xuXHRcdFx0c3g6IHtcblx0XHRcdFx0cDogMCxcblx0XHRcdFx0bXk6IDBcblx0XHRcdH0sXG5cdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChLZXl3b3JkTGlzdEl0ZW1zLCB7IGtleXdvcmRzIH0pXG5cdFx0fSlcblx0fSk7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhXcmFwcGVyLCB7XG5cdFx0Y2xhc3NOYW1lOiBcInBhY2thZ2VcIixcblx0XHRcImRhdGEtdGVzdGlkXCI6IFwicGFja2FnZS1pdGVtLWxpc3RcIixcblx0XHRjaGlsZHJlbjogW1xuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChMaXN0SXRlbSwge1xuXHRcdFx0XHRhbGlnbkl0ZW1zOiBcImZsZXgtc3RhcnRcIixcblx0XHRcdFx0c3g6IHsgbWI6IDAgfSxcblx0XHRcdFx0Y2hpbGRyZW46IHJlbmRlclBhY2thZ2VMaXN0SXRlbVRleHQoKVxuXHRcdFx0fSksXG5cdFx0XHRrZXl3b3JkcyAmJiBrZXl3b3Jkcz8ubGVuZ3RoID4gMCA/IHJlbmRlcktleXdvcmRzKCkgOiBudWxsLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeHMoTGlzdEl0ZW0sIHtcblx0XHRcdFx0YWxpZ25JdGVtczogXCJmbGV4LXN0YXJ0XCIsXG5cdFx0XHRcdHN4OiB7IG10OiAwIH0sXG5cdFx0XHRcdGNoaWxkcmVuOiBbXG5cdFx0XHRcdFx0cmVuZGVyQXV0aG9ySW5mbygpLFxuXHRcdFx0XHRcdHJlbmRlclZlcnNpb25JbmZvKCksXG5cdFx0XHRcdFx0cmVuZGVyUHVibGlzaGVkSW5mbygpLFxuXHRcdFx0XHRcdHJlbmRlckZpbGVTaXplKCksXG5cdFx0XHRcdFx0cmVuZGVyTGljZW5zZUluZm8oKVxuXHRcdFx0XHRdXG5cdFx0XHR9KVxuXHRcdF1cblx0fSk7XG59O1xudmFyIGljb25TdHlsZSA9ICh7IHRoZW1lIH0pID0+IC8qIEBfX1BVUkVfXyAqLyBjc3MoXCJtYXJnaW46MCAxMHB4IDAgMDtmaWxsOlwiLCB0aGVtZS5wYWxldHRlLm1vZGUgPT09IFwibGlnaHRcIiA/IGdyZXlbOTAwXSA6IGNvbW1vbi53aGl0ZSwgXCI7XCIgKyAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiO2xhYmVsOmljb25TdHlsZTtcIiksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlRWVdOcllXZGxMMUJoWTJ0aFoyVXVkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVRaUGMwUWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTlqYjIxd2IyNWxiblJ6TDFCaFkydGhaMlV2VUdGamEyRm5aUzUwYzNnaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2V5QmpjM01nZlNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl5WldGamRDYzdYRzVwYlhCdmNuUWdjM1I1YkdWa0lHWnliMjBnSjBCbGJXOTBhVzl1TDNOMGVXeGxaQ2M3WEc1cGJYQnZjblFnUW5WblVtVndiM0owSUdaeWIyMGdKMEJ0ZFdrdmFXTnZibk10YldGMFpYSnBZV3d2UW5WblVtVndiM0owSnp0Y2JtbHRjRzl5ZENCRWIzZHViRzloWkVsamIyNGdabkp2YlNBblFHMTFhUzlwWTI5dWN5MXRZWFJsY21saGJDOURiRzkxWkVSdmQyNXNiMkZrSnp0Y2JtbHRjRzl5ZENCSWIyMWxTV052YmlCbWNtOXRJQ2RBYlhWcEwybGpiMjV6TFcxaGRHVnlhV0ZzTDBodmJXVW5PMXh1YVcxd2IzSjBJRU5wY21OMWJHRnlVSEp2WjNKbGMzTWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlEYVhKamRXeGhjbEJ5YjJkeVpYTnpKenRjYm1sdGNHOXlkQ0JIY21sa0lHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZSM0pwWkNjN1hHNXBiWEJ2Y25RZ1RHbHpkQ0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDB4cGMzUW5PMXh1YVcxd2IzSjBJRXhwYzNSSmRHVnRJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRFbDBaVzBuTzF4dWFXMXdiM0owSUZSdmIyeDBhWEFnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5VWIyOXNkR2x3Snp0Y2JtbHRjRzl5ZENCN0lHTnZiVzF2Yml3Z1ozSmxlU0I5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCU1pXRmpkQ3dnZXlCMWMyVkRZV3hzWW1GamF5QjlJR1p5YjIwZ0ozSmxZV04wSnp0Y2JtbHRjRzl5ZENCN0lIVnpaVlJ5WVc1emJHRjBhVzl1SUgwZ1puSnZiU0FuY21WaFkzUXRhVEU0Ym1WNGRDYzdYRzVjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaThuTzF4dWFXMXdiM0owSUhzZ1RHbHVheXdnVEdsdWEwVjRkR1Z5Ym1Gc0xDQjFjMlZFYjNkdWJHOWhaQ3dnZFhObFRXRnVhV1psYzNSeklIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCN0lFWnBiR1ZDYVc1aGNua3NJRXhoZHl3Z1ZHbHRaU3dnVm1WeWMybHZiaUI5SUdaeWIyMGdKeTR1THk0dUwyTnZiWEJ2Ym1WdWRITXZTV052Ym5Nbk8xeHVhVzF3YjNKMElIc2daMlYwUTI5dVptbG5kWEpoZEdsdmJpQjlJR1p5YjIwZ0p5NHVMeTR1TDJOdmJtWnBaM1Z5WVhScGIyNG5PMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QkJkWFJvYjNJZ1lYTWdVR0ZqYTJGblpVRjFkR2h2Y2lCOUlHWnliMjBnSnk0dUx5NHVMM0J5YjNacFpHVnljeTlOWVc1cFptVnpkSE5RY205MmFXUmxjaTlOWVc1cFptVnpkSE5RY205MmFXUmxjaWM3WEc1cGJYQnZjblFnZEhsd1pTQjdJRkJoWTJ0aFoyVk5aWFJoU1c1MFpYSm1ZV05sSUgwZ1puSnZiU0FuTGk0dkxpNHZkSGx3WlhNdmNHRmphMkZuWlUxbGRHRW5PMXh1YVcxd2IzSjBJSHNnVW05MWRHVXNJSFZ5YkN3Z2RYUnBiSE1nZlNCbWNtOXRJQ2N1TGk4dUxpOTFkR2xzY3ljN1hHNXBiWEJ2Y25RZ1MyVjVkMjl5WkV4cGMzUkpkR1Z0Y3lCbWNtOXRJQ2N1TGk5TFpYbDNiM0prY3k5TFpYbDNiM0prVEdsemRFbDBaVzF6Snp0Y2JtbHRjRzl5ZENCN1hHNGdJRUYxZEdodmNpeGNiaUFnUVhaaGRHRnlMRnh1SUNCRVpYTmpjbWx3ZEdsdmJpeGNiaUFnUkdWMFlXbHNjeXhjYmlBZ1IzSnBaRkpwWjJoMFFXeHBaMjVsWkN4Y2JpQWdTV052YmtKMWRIUnZiaXhjYmlBZ1QzWmxjblpwWlhkSmRHVnRMRnh1SUNCUVlXTnJZV2RsVEdsemRFbDBaVzFVWlhoMExGeHVJQ0JRWVdOcllXZGxWR2wwYkdVc1hHNGdJRkIxWW14cGMyaGxaQ3hjYmlBZ1YzSmhjSEJsY2l4Y2JpQWdWM0poY0hCbGNreHBibXNzWEc1OUlHWnliMjBnSnk0dmMzUjViR1Z6Snp0Y2JseHVhVzUwWlhKbVlXTmxJRUoxWjNNZ2UxeHVJQ0IxY213NklITjBjbWx1Wnp0Y2JuMWNibHh1YVc1MFpYSm1ZV05sSUVScGMzUWdlMXh1SUNCMWJuQmhZMnRsWkZOcGVtVTZJRzUxYldKbGNqdGNiaUFnZEdGeVltRnNiRG9nYzNSeWFXNW5PMXh1ZlZ4dVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElGQmhZMnRoWjJWSmJuUmxjbVpoWTJVZ2UxeHVJQ0J1WVcxbE9pQnpkSEpwYm1jN1hHNGdJSFpsY25OcGIyNDZJSE4wY21sdVp6dGNiaUFnZEdsdFpUODZJRzUxYldKbGNpQjhJSE4wY21sdVp6dGNiaUFnWVhWMGFHOXlPaUJRWVdOcllXZGxRWFYwYUc5eU8xeHVJQ0JrWlhOamNtbHdkR2x2Ymo4NklITjBjbWx1Wnp0Y2JpQWdhMlY1ZDI5eVpITS9PaUJRWVdOcllXZGxUV1YwWVVsdWRHVnlabUZqWlZzbmJHRjBaWE4wSjExYkoydGxlWGR2Y21SekoxMDdYRzRnSUd4cFkyVnVjMlUvT2lCUVlXTnJZV2RsVFdWMFlVbHVkR1Z5Wm1GalpWc25iR0YwWlhOMEoxMWJKMnhwWTJWdWMyVW5YVHRjYmlBZ2FHOXRaWEJoWjJVL09pQnpkSEpwYm1jN1hHNGdJR0oxWjNNL09pQkNkV2R6TzF4dUlDQmthWE4wUHpvZ1JHbHpkRHRjYmlBZ2MyaHZkMFJ2ZDI1c2IyRmtQem9nWW05dmJHVmhianRjYm4xY2JseHVZMjl1YzNRZ1VHRmphMkZuWlRvZ1VtVmhZM1F1UmtNOFVHRmphMkZuWlVsdWRHVnlabUZqWlQ0Z1BTQW9lMXh1SUNCaGRYUm9iM0k2SUhzZ2JtRnRaVG9nWVhWMGFHOXlUbUZ0WlN3Z1lYWmhkR0Z5T2lCaGRYUm9iM0pCZG1GMFlYSWdmU3hjYmlBZ1luVm5jeXhjYmlBZ1pHVnpZM0pwY0hScGIyNHNYRzRnSUdScGMzUXNYRzRnSUdodmJXVndZV2RsTEZ4dUlDQnJaWGwzYjNKa2N5eGNiaUFnYkdsalpXNXpaU3hjYmlBZ2JtRnRaVG9nY0dGamEyRm5aVTVoYldVc1hHNGdJSFJwYldVc1hHNGdJSE5vYjNkRWIzZHViRzloWkNBOUlIUnlkV1VzWEc0Z0lIWmxjbk5wYjI0c1hHNTlLU0E5UGlCN1hHNGdJR052Ym5OMElHTnZibVpwWnlBOUlHZGxkRU52Ym1acFozVnlZWFJwYjI0b0tUdGNiaUFnWTI5dWMzUWdleUIwSUgwZ1BTQjFjMlZVY21GdWMyeGhkR2x2YmlncE8xeHVJQ0JqYjI1emRDQjdJR2x6VEc5aFpHbHVaeUI5SUQwZ2RYTmxUV0Z1YVdabGMzUnpLQ2s3WEc0Z0lHTnZibk4wSUhzZ1pHOTNibXh2WVdSVVlYSmlZV3hzSUgwZ1BTQjFjMlZFYjNkdWJHOWhaQ2dwTzF4dVhHNGdJR052Ym5OMElHaGhibVJzWlVSdmQyNXNiMkZrSUQwZ2RYTmxRMkZzYkdKaFkyc29YRzRnSUNBZ1lYTjVibU1nS0hSaGNtSmhiR3hFYVhOME9pQnpkSEpwYm1jcElEMCtJSHRjYmlBZ0lDQWdJQzh2SUVaSldFMUZPaUJqYUdWamF5d2dkR2hsSUdScGMzUWdiV2xuYUhRZ1ltVWdaR2xtWm1WeVpXNTBJSFJvWVc1MElHNXdiV3B6WEc0Z0lDQWdJQ0JqYjI1emRDQnNhVzVySUQwZ2RHRnlZbUZzYkVScGMzUXVjbVZ3YkdGalpTaGdhSFIwY0hNNkx5OXlaV2RwYzNSeWVTNXVjRzFxY3k1dmNtY3ZZQ3dnWTI5dVptbG5MbUpoYzJVcE8xeHVJQ0FnSUNBZ1pHOTNibXh2WVdSVVlYSmlZV3hzUHk0b2V5QnNhVzVySUgwcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnVzJOdmJtWnBaeXdnWkc5M2JteHZZV1JVWVhKaVlXeHNYVnh1SUNBcE8xeHVYRzRnSUdOdmJuTjBJSEpsYm1SbGNsWmxjbk5wYjI1SmJtWnZJRDBnS0NrNklGSmxZV04wTGxKbFlXTjBUbTlrWlNBOVBseHVJQ0FnSUhabGNuTnBiMjRnSmlZZ0tGeHVJQ0FnSUNBZ1BFOTJaWEoyYVdWM1NYUmxiVDVjYmlBZ0lDQWdJQ0FnUEZOMGVXeGxaRlpsY25OcGIyNGdMejVjYmlBZ0lDQWdJQ0FnZTNRb0ozQmhZMnRoWjJVdWRtVnljMmx2Ymljc0lIc2dkbVZ5YzJsdmJpQjlLWDFjYmlBZ0lDQWdJRHd2VDNabGNuWnBaWGRKZEdWdFBseHVJQ0FnSUNrN1hHNWNiaUFnWTI5dWMzUWdjbVZ1WkdWeVFYVjBhRzl5U1c1bWJ5QTlJQ2dwT2lCU1pXRmpkQzVTWldGamRFNXZaR1VnUFQ0Z2UxeHVJQ0FnSUdOdmJuTjBJRzVoYldVZ1BTQjFkR2xzY3k1blpYUkJkWFJvYjNKT1lXMWxLR0YxZEdodmNrNWhiV1VwTzF4dUlDQWdJSEpsZEhWeWJpQW9YRzRnSUNBZ0lDQThUM1psY25acFpYZEpkR1Z0UGx4dUlDQWdJQ0FnSUNBOFFYVjBhRzl5UGx4dUlDQWdJQ0FnSUNBZ0lEeEJkbUYwWVhJZ1lXeDBQWHR1WVcxbGZTQnpjbU05ZTJGMWRHaHZja0YyWVhSaGNuMGdMejVjYmlBZ0lDQWdJQ0FnSUNBOFJHVjBZV2xzY3o1N2JtRnRaWDA4TDBSbGRHRnBiSE0rWEc0Z0lDQWdJQ0FnSUR3dlFYVjBhRzl5UGx4dUlDQWdJQ0FnUEM5UGRtVnlkbWxsZDBsMFpXMCtYRzRnSUNBZ0tUdGNiaUFnZlR0Y2JseHVJQ0JqYjI1emRDQnlaVzVrWlhKR2FXeGxVMmw2WlNBOUlDZ3BPaUJTWldGamRDNVNaV0ZqZEU1dlpHVWdQVDVjYmlBZ0lDQmthWE4wUHk1MWJuQmhZMnRsWkZOcGVtVWdKaVlnS0Z4dUlDQWdJQ0FnUEU5MlpYSjJhV1YzU1hSbGJUNWNiaUFnSUNBZ0lDQWdQRk4wZVd4bFpFWnBiR1ZDYVc1aGNua2dMejVjYmlBZ0lDQWdJQ0FnZTNWMGFXeHpMbVpwYkdWVGFYcGxVMGtvWkdsemRDNTFibkJoWTJ0bFpGTnBlbVVwZlZ4dUlDQWdJQ0FnUEM5UGRtVnlkbWxsZDBsMFpXMCtYRzRnSUNBZ0tUdGNibHh1SUNCamIyNXpkQ0J5Wlc1a1pYSk1hV05sYm5ObFNXNW1ieUE5SUNncE9pQlNaV0ZqZEM1U1pXRmpkRTV2WkdVZ1BUNWNiaUFnSUNCc2FXTmxibk5sSUNZbUlDaGNiaUFnSUNBZ0lEeFBkbVZ5ZG1sbGQwbDBaVzArWEc0Z0lDQWdJQ0FnSUR4VGRIbHNaV1JNWVhjZ0x6NWNiaUFnSUNBZ0lDQWdlMnhwWTJWdWMyVWdZWE1nYzNSeWFXNW5mVnh1SUNBZ0lDQWdQQzlQZG1WeWRtbGxkMGwwWlcwK1hHNGdJQ0FnS1R0Y2JseHVJQ0JqYjI1emRDQnlaVzVrWlhKUWRXSnNhWE5vWldSSmJtWnZJRDBnS0NrNklGSmxZV04wTGxKbFlXTjBUbTlrWlNBOVBseHVJQ0FnSUhScGJXVWdKaVlnS0Z4dUlDQWdJQ0FnUEU5MlpYSjJhV1YzU1hSbGJUNWNiaUFnSUNBZ0lDQWdQRk4wZVd4bFpGUnBiV1VnTHo1Y2JpQWdJQ0FnSUNBZ1BGQjFZbXhwYzJobFpDQjBhWFJzWlQxN2RYUnBiSE11Wm05eWJXRjBSR0YwWlNoMGFXMWxLWDArWEc0Z0lDQWdJQ0FnSUNBZ2UzUW9KM0JoWTJ0aFoyVXVjSFZpYkdsemFHVmtMVzl1Snl3Z2V5QjBhVzFsT2lCMWRHbHNjeTVtYjNKdFlYUkVZWFJsUkdsemRHRnVZMlVvZEdsdFpTa2dmU2w5WEc0Z0lDQWdJQ0FnSUR3dlVIVmliR2x6YUdWa1BseHVJQ0FnSUNBZ1BDOVBkbVZ5ZG1sbGQwbDBaVzArWEc0Z0lDQWdLVHRjYmx4dUlDQmpiMjV6ZENCeVpXNWtaWEpJYjIxbFVHRm5aVXhwYm1zZ1BTQW9LVG9nVW1WaFkzUXVVbVZoWTNST2IyUmxJRDArWEc0Z0lDQWdhRzl0WlhCaFoyVWdKaVpjYmlBZ0lDQjFjbXd1YVhOVlVrd29hRzl0WlhCaFoyVXBJQ1ltSUNoY2JpQWdJQ0FnSUR4TWFXNXJSWGgwWlhKdVlXd2dkRzg5ZTJodmJXVndZV2RsZlQ1Y2JpQWdJQ0FnSUNBZ1BGUnZiMngwYVhBZ1lYSnBZUzFzWVdKbGJEMTdkQ2duY0dGamEyRm5aUzVvYjIxbGNHRm5aU2NwZlNCMGFYUnNaVDE3ZENnbmNHRmphMkZuWlM1MmFYTnBkQzFvYjIxbExYQmhaMlVuS1gwK1hHNGdJQ0FnSUNBZ0lDQWdQRWxqYjI1Q2RYUjBiMjRnWVhKcFlTMXNZV0psYkQxN2RDZ25jR0ZqYTJGblpTNW9iMjFsY0dGblpTY3BmU0JqYjJ4dmNqMWNJbkJ5YVcxaGNubGNJaUJ6YVhwbFBWd2liR0Z5WjJWY0lqNWNiaUFnSUNBZ0lDQWdJQ0FnSUR4SWIyMWxTV052YmlBdlBseHVJQ0FnSUNBZ0lDQWdJRHd2U1dOdmJrSjFkSFJ2Ymo1Y2JpQWdJQ0FnSUNBZ1BDOVViMjlzZEdsd1BseHVJQ0FnSUNBZ1BDOU1hVzVyUlhoMFpYSnVZV3crWEc0Z0lDQWdLVHRjYmx4dUlDQmpiMjV6ZENCeVpXNWtaWEpDZFdkelRHbHVheUE5SUNncE9pQlNaV0ZqZEM1U1pXRmpkRTV2WkdVZ1BUNWNiaUFnSUNCaWRXZHpQeTUxY213Z0ppWmNiaUFnSUNCMWNtd3VhWE5WVWt3b1luVm5jeTUxY213cElDWW1JQ2hjYmlBZ0lDQWdJRHhNYVc1clJYaDBaWEp1WVd3Z2RHODllMkoxWjNNdWRYSnNmVDVjYmlBZ0lDQWdJQ0FnUEZSdmIyeDBhWEFnWVhKcFlTMXNZV0psYkQxN2RDZ25jR0ZqYTJGblpTNWlkV2R6SnlsOUlIUnBkR3hsUFh0MEtDZHdZV05yWVdkbExtOXdaVzR0WVc0dGFYTnpkV1VuS1gwK1hHNGdJQ0FnSUNBZ0lDQWdQRWxqYjI1Q2RYUjBiMjRnWVhKcFlTMXNZV0psYkQxN2RDZ25jR0ZqYTJGblpTNWlkV2R6SnlsOUlHTnZiRzl5UFZ3aWNISnBiV0Z5ZVZ3aUlITnBlbVU5WENKc1lYSm5aVndpUGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRUoxWjFKbGNHOXlkQ0F2UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZTV052YmtKMWRIUnZiajVjYmlBZ0lDQWdJQ0FnUEM5VWIyOXNkR2x3UGx4dUlDQWdJQ0FnUEM5TWFXNXJSWGgwWlhKdVlXdytYRzRnSUNBZ0tUdGNibHh1SUNCamIyNXpkQ0J5Wlc1a1pYSkViM2R1Ykc5aFpFeHBibXNnUFNBb0tUb2dVbVZoWTNRdVVtVmhZM1JPYjJSbElEMCtYRzRnSUNBZ1pHbHpkRDh1ZEdGeVltRnNiQ0FtSmx4dUlDQWdJSFZ5YkM1cGMxVlNUQ2hrYVhOMExuUmhjbUpoYkd3cElDWW1JQ2hjYmlBZ0lDQWdJRHhNYVc1clhHNGdJQ0FnSUNBZ0lHOXVRMnhwWTJzOWV5Z3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQm9ZVzVrYkdWRWIzZHViRzloWkNoa2FYTjBMblJoY21KaGJHd3BPMXh1SUNBZ0lDQWdJQ0I5ZlZ4dUlDQWdJQ0FnSUNCMGJ6MWNJaU5jSWx4dUlDQWdJQ0FnUGx4dUlDQWdJQ0FnSUNBOFZHOXZiSFJwY0Z4dUlDQWdJQ0FnSUNBZ0lHRnlhV0V0YkdGaVpXdzllM1FvSjNCaFkydGhaMlV1Wkc5M2JteHZZV1FuTENCN0lIZG9ZWFE2SUhRb0ozQmhZMnRoWjJVdWRHaGxMWFJoY2kxbWFXeGxKeWtnZlNsOVhHNGdJQ0FnSUNBZ0lDQWdkR2wwYkdVOWUzUW9KM0JoWTJ0aFoyVXVkR0Z5WW1Gc2JDY3BmVnh1SUNBZ0lDQWdJQ0ErWEc0Z0lDQWdJQ0FnSUNBZ1BFbGpiMjVDZFhSMGIyNWNiaUFnSUNBZ0lDQWdJQ0FnSUdGeWFXRXRiR0ZpWld3OWUzUW9KM0JoWTJ0aFoyVXVaRzkzYm14dllXUW5LWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZiRzl5UFZ3aWNISnBiV0Z5ZVZ3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWVhSaExYUmxjM1JwWkQxY0ltUnZkMjVzYjJGa0xYUmhjbUpoYkd4Y0lseHVJQ0FnSUNBZ0lDQWdJQ0FnYzJsNlpUMWNJbXhoY21kbFhDSmNiaUFnSUNBZ0lDQWdJQ0ErWEc0Z0lDQWdJQ0FnSUNBZ0lDQjdhWE5NYjJGa2FXNW5JRDhnUEVOcGNtTjFiR0Z5VUhKdlozSmxjM01nYzJsNlpUMTdNVE45SUM4K0lEb2dQRVJ2ZDI1c2IyRmtTV052YmlBdlBuMWNiaUFnSUNBZ0lDQWdJQ0E4TDBsamIyNUNkWFIwYjI0K1hHNGdJQ0FnSUNBZ0lEd3ZWRzl2YkhScGNENWNiaUFnSUNBZ0lEd3ZUR2x1YXo1Y2JpQWdJQ0FwTzF4dVhHNGdJR052Ym5OMElISmxibVJsY2xCeWFXMWhjbmxEYjIxd2IyNWxiblFnUFNBb0tUb2dVbVZoWTNRdVVtVmhZM1JPYjJSbElEMCtJSHRjYmlBZ0lDQnlaWFIxY200Z0tGeHVJQ0FnSUNBZ1BFZHlhV1FnWVd4cFoyNUpkR1Z0Y3oxY0ltTmxiblJsY2x3aUlHTnZiblJoYVc1bGNqMTdkSEoxWlgwZ2MybDZaVDE3ZXlCNGN6b2dNVElnZlgwZ2QzSmhjRDFjSW5keVlYQmNJajVjYmlBZ0lDQWdJQ0FnUEVkeWFXUWdjMmw2WlQxY0ltZHliM2RjSWo1Y2JpQWdJQ0FnSUNBZ0lDQThWM0poY0hCbGNreHBibXNnZEc4OWUyQWtlMUp2ZFhSbExrUkZWRUZKVEgwa2UzQmhZMnRoWjJWT1lXMWxmV0I5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRkJoWTJ0aFoyVlVhWFJzWlNCamJHRnpjMDVoYldVOVhDSndZV05yWVdkbExYUnBkR3hsWENJZ1pHRjBZUzEwWlhOMGFXUTlYQ0p3WVdOcllXZGxMWFJwZEd4bFhDSStYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIdHdZV05yWVdkbFRtRnRaWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lEd3ZVR0ZqYTJGblpWUnBkR3hsUGx4dUlDQWdJQ0FnSUNBZ0lEd3ZWM0poY0hCbGNreHBibXMrWEc0Z0lDQWdJQ0FnSUR3dlIzSnBaRDVjYmlBZ0lDQWdJQ0FnUEVkeWFXUlNhV2RvZEVGc2FXZHVaV1FnYzJsNlpUMWNJbUYxZEc5Y0lqNWNiaUFnSUNBZ0lDQWdJQ0I3Y21WdVpHVnlTRzl0WlZCaFoyVk1hVzVyS0NsOVhHNGdJQ0FnSUNBZ0lDQWdlM0psYm1SbGNrSjFaM05NYVc1cktDbDlYRzRnSUNBZ0lDQWdJQ0FnZTNOb2IzZEViM2R1Ykc5aFpDQW1KaUJ5Wlc1a1pYSkViM2R1Ykc5aFpFeHBibXNvS1gxY2JpQWdJQ0FnSUNBZ1BDOUhjbWxrVW1sbmFIUkJiR2xuYm1Wa1BseHVJQ0FnSUNBZ1BDOUhjbWxrUGx4dUlDQWdJQ2s3WEc0Z0lIMDdYRzVjYmlBZ1kyOXVjM1FnY21WdVpHVnlVMlZqYjI1a1lYSjVRMjl0Y0c5dVpXNTBJRDBnS0NrNklGSmxZV04wTGxKbFlXTjBUbTlrWlNBOVBpQThSR1Z6WTNKcGNIUnBiMjQrZTJSbGMyTnlhWEIwYVc5dWZUd3ZSR1Z6WTNKcGNIUnBiMjQrTzF4dVhHNGdJR052Ym5OMElISmxibVJsY2xCaFkydGhaMlZNYVhOMFNYUmxiVlJsZUhRZ1BTQW9LVG9nVW1WaFkzUXVVbVZoWTNST2IyUmxJRDArSUNoY2JpQWdJQ0E4VUdGamEyRm5aVXhwYzNSSmRHVnRWR1Y0ZEZ4dUlDQWdJQ0FnY0hKcGJXRnllVDE3Y21WdVpHVnlVSEpwYldGeWVVTnZiWEJ2Ym1WdWRDZ3BmVnh1SUNBZ0lDQWdjMlZqYjI1a1lYSjVQWHR5Wlc1a1pYSlRaV052Ym1SaGNubERiMjF3YjI1bGJuUW9LWDFjYmlBZ0lDQXZQbHh1SUNBcE8xeHVYRzRnSUdOdmJuTjBJSEpsYm1SbGNrdGxlWGR2Y21SeklEMGdLQ2s2SUZKbFlXTjBMbEpsWVdOMFRtOWtaU0E5UGlBb1hHNGdJQ0FnUEV4cGMzUkpkR1Z0SUdGc2FXZHVTWFJsYlhNOWV5ZG1iR1Y0TFhOMFlYSjBKMzBnYzNnOWUzc2djSGs2SURBc0lHMTVPaUF3SUgxOVBseHVJQ0FnSUNBZ1BFeHBjM1FnYzNnOWUzc2djRG9nTUN3Z2JYazZJREFnZlgwK1hHNGdJQ0FnSUNBZ0lEeExaWGwzYjNKa1RHbHpkRWwwWlcxeklHdGxlWGR2Y21SelBYdHJaWGwzYjNKa2MzMGdMejVjYmlBZ0lDQWdJRHd2VEdsemRENWNiaUFnSUNBOEwweHBjM1JKZEdWdFBseHVJQ0FwTzF4dVhHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BGZHlZWEJ3WlhJZ1kyeGhjM05PWVcxbFBYc25jR0ZqYTJGblpTZDlJR1JoZEdFdGRHVnpkR2xrUFZ3aWNHRmphMkZuWlMxcGRHVnRMV3hwYzNSY0lqNWNiaUFnSUNBZ0lEeE1hWE4wU1hSbGJTQmhiR2xuYmtsMFpXMXpQWHNuWm14bGVDMXpkR0Z5ZENkOUlITjRQWHQ3SUcxaU9pQXdJSDE5UGx4dUlDQWdJQ0FnSUNCN2NtVnVaR1Z5VUdGamEyRm5aVXhwYzNSSmRHVnRWR1Y0ZENncGZWeHVJQ0FnSUNBZ1BDOU1hWE4wU1hSbGJUNWNiaUFnSUNBZ0lIdHJaWGwzYjNKa2N5QW1KaUJyWlhsM2IzSmtjejh1YkdWdVozUm9JRDRnTUNBL0lISmxibVJsY2t0bGVYZHZjbVJ6S0NrZ09pQnVkV3hzZlZ4dUlDQWdJQ0FnUEV4cGMzUkpkR1Z0SUdGc2FXZHVTWFJsYlhNOWV5ZG1iR1Y0TFhOMFlYSjBKMzBnYzNnOWUzc2diWFE2SURBZ2ZYMCtYRzRnSUNBZ0lDQWdJSHR5Wlc1a1pYSkJkWFJvYjNKSmJtWnZLQ2w5WEc0Z0lDQWdJQ0FnSUh0eVpXNWtaWEpXWlhKemFXOXVTVzVtYnlncGZWeHVJQ0FnSUNBZ0lDQjdjbVZ1WkdWeVVIVmliR2x6YUdWa1NXNW1ieWdwZlZ4dUlDQWdJQ0FnSUNCN2NtVnVaR1Z5Um1sc1pWTnBlbVVvS1gxY2JpQWdJQ0FnSUNBZ2UzSmxibVJsY2t4cFkyVnVjMlZKYm1adktDbDlYRzRnSUNBZ0lDQThMMHhwYzNSSmRHVnRQbHh1SUNBZ0lEd3ZWM0poY0hCbGNqNWNiaUFnS1R0Y2JuMDdYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJRkJoWTJ0aFoyVTdYRzVjYm1OdmJuTjBJR2xqYjI1VGRIbHNaU0E5SUNoN0lIUm9aVzFsSUgwNklIc2dkR2hsYldVNklGUm9aVzFsSUgwcElEMCtJR056YzJCY2JpQWdiV0Z5WjJsdU9pQXdJREV3Y0hnZ01DQXdPMXh1SUNCbWFXeHNPaUFrZTNSb1pXMWxMbkJoYkdWMGRHVXViVzlrWlNBOVBUMGdKMnhwWjJoMEp5QS9JR2R5WlhsYk9UQXdYU0E2SUdOdmJXMXZiaTUzYUdsMFpYMDdYRzVnTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JXWlhKemFXOXVJRDBnYzNSNWJHVmtLRlpsY25OcGIyNHBZRnh1SUNBa2UybGpiMjVUZEhsc1pYMDdYRzVnTzF4dVhHNWpiMjV6ZENCVGRIbHNaV1JHYVd4bFFtbHVZWEo1SUQwZ2MzUjViR1ZrS0VacGJHVkNhVzVoY25rcFlGeHVJQ0FrZTJsamIyNVRkSGxzWlgwN1hHNWdPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUk1ZWGNnUFNCemRIbHNaV1FvVEdGM0tXQmNiaUFnSkh0cFkyOXVVM1I1YkdWOU8xeHVZRHRjYmx4dVkyOXVjM1FnVTNSNWJHVmtWR2x0WlNBOUlITjBlV3hsWkNoVWFXMWxLV0JjYmlBZ0pIdHBZMjl1VTNSNWJHVjlPMXh1WUR0Y2JpSmRmUT09ICovXCIpO1xudmFyIFN0eWxlZFZlcnNpb24gPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChWZXJzaW9uLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlYzRpZ2xuM1wiIH0gOiB7XG5cdHRhcmdldDogXCJlYzRpZ2xuM1wiLFxuXHRsYWJlbDogXCJTdHlsZWRWZXJzaW9uXCJcbn0pKGljb25TdHlsZSwgXCI7XCIgKyAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVFZV05yWVdkbEwxQmhZMnRoWjJVdWRITjRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRV3RRY1VNaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OWpiMjF3YjI1bGJuUnpMMUJoWTJ0aFoyVXZVR0ZqYTJGblpTNTBjM2dpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnZXlCamMzTWdmU0JtY205dElDZEFaVzF2ZEdsdmJpOXlaV0ZqZENjN1hHNXBiWEJ2Y25RZ2MzUjViR1ZrSUdaeWIyMGdKMEJsYlc5MGFXOXVMM04wZVd4bFpDYzdYRzVwYlhCdmNuUWdRblZuVW1Wd2IzSjBJR1p5YjIwZ0owQnRkV2t2YVdOdmJuTXRiV0YwWlhKcFlXd3ZRblZuVW1Wd2IzSjBKenRjYm1sdGNHOXlkQ0JFYjNkdWJHOWhaRWxqYjI0Z1puSnZiU0FuUUcxMWFTOXBZMjl1Y3kxdFlYUmxjbWxoYkM5RGJHOTFaRVJ2ZDI1c2IyRmtKenRjYm1sdGNHOXlkQ0JJYjIxbFNXTnZiaUJtY205dElDZEFiWFZwTDJsamIyNXpMVzFoZEdWeWFXRnNMMGh2YldVbk8xeHVhVzF3YjNKMElFTnBjbU4xYkdGeVVISnZaM0psYzNNZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOURhWEpqZFd4aGNsQnliMmR5WlhOekp6dGNibWx0Y0c5eWRDQkhjbWxrSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlIzSnBaQ2M3WEc1cGJYQnZjblFnVEdsemRDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMHhwYzNRbk8xeHVhVzF3YjNKMElFeHBjM1JKZEdWdElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZEVsMFpXMG5PMXh1YVcxd2IzSjBJRlJ2YjJ4MGFYQWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlVYjI5c2RHbHdKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaXdnWjNKbGVTQjlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2WTI5c2IzSnpKenRjYm1sdGNHOXlkQ0JTWldGamRDd2dleUIxYzJWRFlXeHNZbUZqYXlCOUlHWnliMjBnSjNKbFlXTjBKenRjYm1sdGNHOXlkQ0I3SUhWelpWUnlZVzV6YkdGMGFXOXVJSDBnWm5KdmJTQW5jbVZoWTNRdGFURTRibVY0ZENjN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOG5PMXh1YVcxd2IzSjBJSHNnVEdsdWF5d2dUR2x1YTBWNGRHVnlibUZzTENCMWMyVkViM2R1Ykc5aFpDd2dkWE5sVFdGdWFXWmxjM1J6SUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYm1sdGNHOXlkQ0I3SUVacGJHVkNhVzVoY25rc0lFeGhkeXdnVkdsdFpTd2dWbVZ5YzJsdmJpQjlJR1p5YjIwZ0p5NHVMeTR1TDJOdmJYQnZibVZ1ZEhNdlNXTnZibk1uTzF4dWFXMXdiM0owSUhzZ1oyVjBRMjl1Wm1sbmRYSmhkR2x2YmlCOUlHWnliMjBnSnk0dUx5NHVMMk52Ym1acFozVnlZWFJwYjI0bk8xeHVhVzF3YjNKMElIUjVjR1VnZXlCQmRYUm9iM0lnWVhNZ1VHRmphMkZuWlVGMWRHaHZjaUI5SUdaeWIyMGdKeTR1THk0dUwzQnliM1pwWkdWeWN5OU5ZVzVwWm1WemRITlFjbTkyYVdSbGNpOU5ZVzVwWm1WemRITlFjbTkyYVdSbGNpYzdYRzVwYlhCdmNuUWdkSGx3WlNCN0lGQmhZMnRoWjJWTlpYUmhTVzUwWlhKbVlXTmxJSDBnWm5KdmJTQW5MaTR2TGk0dmRIbHdaWE12Y0dGamEyRm5aVTFsZEdFbk8xeHVhVzF3YjNKMElIc2dVbTkxZEdVc0lIVnliQ3dnZFhScGJITWdmU0JtY205dElDY3VMaTh1TGk5MWRHbHNjeWM3WEc1cGJYQnZjblFnUzJWNWQyOXlaRXhwYzNSSmRHVnRjeUJtY205dElDY3VMaTlMWlhsM2IzSmtjeTlMWlhsM2IzSmtUR2x6ZEVsMFpXMXpKenRjYm1sdGNHOXlkQ0I3WEc0Z0lFRjFkR2h2Y2l4Y2JpQWdRWFpoZEdGeUxGeHVJQ0JFWlhOamNtbHdkR2x2Yml4Y2JpQWdSR1YwWVdsc2N5eGNiaUFnUjNKcFpGSnBaMmgwUVd4cFoyNWxaQ3hjYmlBZ1NXTnZia0oxZEhSdmJpeGNiaUFnVDNabGNuWnBaWGRKZEdWdExGeHVJQ0JRWVdOcllXZGxUR2x6ZEVsMFpXMVVaWGgwTEZ4dUlDQlFZV05yWVdkbFZHbDBiR1VzWEc0Z0lGQjFZbXhwYzJobFpDeGNiaUFnVjNKaGNIQmxjaXhjYmlBZ1YzSmhjSEJsY2t4cGJtc3NYRzU5SUdaeWIyMGdKeTR2YzNSNWJHVnpKenRjYmx4dWFXNTBaWEptWVdObElFSjFaM01nZTF4dUlDQjFjbXc2SUhOMGNtbHVaenRjYm4xY2JseHVhVzUwWlhKbVlXTmxJRVJwYzNRZ2UxeHVJQ0IxYm5CaFkydGxaRk5wZW1VNklHNTFiV0psY2p0Y2JpQWdkR0Z5WW1Gc2JEb2djM1J5YVc1bk8xeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZCaFkydGhaMlZKYm5SbGNtWmhZMlVnZTF4dUlDQnVZVzFsT2lCemRISnBibWM3WEc0Z0lIWmxjbk5wYjI0NklITjBjbWx1Wnp0Y2JpQWdkR2x0WlQ4NklHNTFiV0psY2lCOElITjBjbWx1Wnp0Y2JpQWdZWFYwYUc5eU9pQlFZV05yWVdkbFFYVjBhRzl5TzF4dUlDQmtaWE5qY21sd2RHbHZiajg2SUhOMGNtbHVaenRjYmlBZ2EyVjVkMjl5WkhNL09pQlFZV05yWVdkbFRXVjBZVWx1ZEdWeVptRmpaVnNuYkdGMFpYTjBKMTFiSjJ0bGVYZHZjbVJ6SjEwN1hHNGdJR3hwWTJWdWMyVS9PaUJRWVdOcllXZGxUV1YwWVVsdWRHVnlabUZqWlZzbmJHRjBaWE4wSjExYkoyeHBZMlZ1YzJVblhUdGNiaUFnYUc5dFpYQmhaMlUvT2lCemRISnBibWM3WEc0Z0lHSjFaM00vT2lCQ2RXZHpPMXh1SUNCa2FYTjBQem9nUkdsemREdGNiaUFnYzJodmQwUnZkMjVzYjJGa1B6b2dZbTl2YkdWaGJqdGNibjFjYmx4dVkyOXVjM1FnVUdGamEyRm5aVG9nVW1WaFkzUXVSa004VUdGamEyRm5aVWx1ZEdWeVptRmpaVDRnUFNBb2UxeHVJQ0JoZFhSb2IzSTZJSHNnYm1GdFpUb2dZWFYwYUc5eVRtRnRaU3dnWVhaaGRHRnlPaUJoZFhSb2IzSkJkbUYwWVhJZ2ZTeGNiaUFnWW5WbmN5eGNiaUFnWkdWelkzSnBjSFJwYjI0c1hHNGdJR1JwYzNRc1hHNGdJR2h2YldWd1lXZGxMRnh1SUNCclpYbDNiM0prY3l4Y2JpQWdiR2xqWlc1elpTeGNiaUFnYm1GdFpUb2djR0ZqYTJGblpVNWhiV1VzWEc0Z0lIUnBiV1VzWEc0Z0lITm9iM2RFYjNkdWJHOWhaQ0E5SUhSeWRXVXNYRzRnSUhabGNuTnBiMjRzWEc1OUtTQTlQaUI3WEc0Z0lHTnZibk4wSUdOdmJtWnBaeUE5SUdkbGRFTnZibVpwWjNWeVlYUnBiMjRvS1R0Y2JpQWdZMjl1YzNRZ2V5QjBJSDBnUFNCMWMyVlVjbUZ1YzJ4aGRHbHZiaWdwTzF4dUlDQmpiMjV6ZENCN0lHbHpURzloWkdsdVp5QjlJRDBnZFhObFRXRnVhV1psYzNSektDazdYRzRnSUdOdmJuTjBJSHNnWkc5M2JteHZZV1JVWVhKaVlXeHNJSDBnUFNCMWMyVkViM2R1Ykc5aFpDZ3BPMXh1WEc0Z0lHTnZibk4wSUdoaGJtUnNaVVJ2ZDI1c2IyRmtJRDBnZFhObFEyRnNiR0poWTJzb1hHNGdJQ0FnWVhONWJtTWdLSFJoY21KaGJHeEVhWE4wT2lCemRISnBibWNwSUQwK0lIdGNiaUFnSUNBZ0lDOHZJRVpKV0UxRk9pQmphR1ZqYXl3Z2RHaGxJR1JwYzNRZ2JXbG5hSFFnWW1VZ1pHbG1abVZ5Wlc1MElIUm9ZVzUwSUc1d2JXcHpYRzRnSUNBZ0lDQmpiMjV6ZENCc2FXNXJJRDBnZEdGeVltRnNiRVJwYzNRdWNtVndiR0ZqWlNoZ2FIUjBjSE02THk5eVpXZHBjM1J5ZVM1dWNHMXFjeTV2Y21jdllDd2dZMjl1Wm1sbkxtSmhjMlVwTzF4dUlDQWdJQ0FnWkc5M2JteHZZV1JVWVhKaVlXeHNQeTRvZXlCc2FXNXJJSDBwTzF4dUlDQWdJSDBzWEc0Z0lDQWdXMk52Ym1acFp5d2daRzkzYm14dllXUlVZWEppWVd4c1hWeHVJQ0FwTzF4dVhHNGdJR052Ym5OMElISmxibVJsY2xabGNuTnBiMjVKYm1adklEMGdLQ2s2SUZKbFlXTjBMbEpsWVdOMFRtOWtaU0E5UGx4dUlDQWdJSFpsY25OcGIyNGdKaVlnS0Z4dUlDQWdJQ0FnUEU5MlpYSjJhV1YzU1hSbGJUNWNiaUFnSUNBZ0lDQWdQRk4wZVd4bFpGWmxjbk5wYjI0Z0x6NWNiaUFnSUNBZ0lDQWdlM1FvSjNCaFkydGhaMlV1ZG1WeWMybHZiaWNzSUhzZ2RtVnljMmx2YmlCOUtYMWNiaUFnSUNBZ0lEd3ZUM1psY25acFpYZEpkR1Z0UGx4dUlDQWdJQ2s3WEc1Y2JpQWdZMjl1YzNRZ2NtVnVaR1Z5UVhWMGFHOXlTVzVtYnlBOUlDZ3BPaUJTWldGamRDNVNaV0ZqZEU1dlpHVWdQVDRnZTF4dUlDQWdJR052Ym5OMElHNWhiV1VnUFNCMWRHbHNjeTVuWlhSQmRYUm9iM0pPWVcxbEtHRjFkR2h2Y2s1aGJXVXBPMXh1SUNBZ0lISmxkSFZ5YmlBb1hHNGdJQ0FnSUNBOFQzWmxjblpwWlhkSmRHVnRQbHh1SUNBZ0lDQWdJQ0E4UVhWMGFHOXlQbHh1SUNBZ0lDQWdJQ0FnSUR4QmRtRjBZWElnWVd4MFBYdHVZVzFsZlNCemNtTTllMkYxZEdodmNrRjJZWFJoY24wZ0x6NWNiaUFnSUNBZ0lDQWdJQ0E4UkdWMFlXbHNjejU3Ym1GdFpYMDhMMFJsZEdGcGJITStYRzRnSUNBZ0lDQWdJRHd2UVhWMGFHOXlQbHh1SUNBZ0lDQWdQQzlQZG1WeWRtbGxkMGwwWlcwK1hHNGdJQ0FnS1R0Y2JpQWdmVHRjYmx4dUlDQmpiMjV6ZENCeVpXNWtaWEpHYVd4bFUybDZaU0E5SUNncE9pQlNaV0ZqZEM1U1pXRmpkRTV2WkdVZ1BUNWNiaUFnSUNCa2FYTjBQeTUxYm5CaFkydGxaRk5wZW1VZ0ppWWdLRnh1SUNBZ0lDQWdQRTkyWlhKMmFXVjNTWFJsYlQ1Y2JpQWdJQ0FnSUNBZ1BGTjBlV3hsWkVacGJHVkNhVzVoY25rZ0x6NWNiaUFnSUNBZ0lDQWdlM1YwYVd4ekxtWnBiR1ZUYVhwbFUwa29aR2x6ZEM1MWJuQmhZMnRsWkZOcGVtVXBmVnh1SUNBZ0lDQWdQQzlQZG1WeWRtbGxkMGwwWlcwK1hHNGdJQ0FnS1R0Y2JseHVJQ0JqYjI1emRDQnlaVzVrWlhKTWFXTmxibk5sU1c1bWJ5QTlJQ2dwT2lCU1pXRmpkQzVTWldGamRFNXZaR1VnUFQ1Y2JpQWdJQ0JzYVdObGJuTmxJQ1ltSUNoY2JpQWdJQ0FnSUR4UGRtVnlkbWxsZDBsMFpXMCtYRzRnSUNBZ0lDQWdJRHhUZEhsc1pXUk1ZWGNnTHo1Y2JpQWdJQ0FnSUNBZ2UyeHBZMlZ1YzJVZ1lYTWdjM1J5YVc1bmZWeHVJQ0FnSUNBZ1BDOVBkbVZ5ZG1sbGQwbDBaVzArWEc0Z0lDQWdLVHRjYmx4dUlDQmpiMjV6ZENCeVpXNWtaWEpRZFdKc2FYTm9aV1JKYm1adklEMGdLQ2s2SUZKbFlXTjBMbEpsWVdOMFRtOWtaU0E5UGx4dUlDQWdJSFJwYldVZ0ppWWdLRnh1SUNBZ0lDQWdQRTkyWlhKMmFXVjNTWFJsYlQ1Y2JpQWdJQ0FnSUNBZ1BGTjBlV3hsWkZScGJXVWdMejVjYmlBZ0lDQWdJQ0FnUEZCMVlteHBjMmhsWkNCMGFYUnNaVDE3ZFhScGJITXVabTl5YldGMFJHRjBaU2gwYVcxbEtYMCtYRzRnSUNBZ0lDQWdJQ0FnZTNRb0ozQmhZMnRoWjJVdWNIVmliR2x6YUdWa0xXOXVKeXdnZXlCMGFXMWxPaUIxZEdsc2N5NW1iM0p0WVhSRVlYUmxSR2x6ZEdGdVkyVW9kR2x0WlNrZ2ZTbDlYRzRnSUNBZ0lDQWdJRHd2VUhWaWJHbHphR1ZrUGx4dUlDQWdJQ0FnUEM5UGRtVnlkbWxsZDBsMFpXMCtYRzRnSUNBZ0tUdGNibHh1SUNCamIyNXpkQ0J5Wlc1a1pYSkliMjFsVUdGblpVeHBibXNnUFNBb0tUb2dVbVZoWTNRdVVtVmhZM1JPYjJSbElEMCtYRzRnSUNBZ2FHOXRaWEJoWjJVZ0ppWmNiaUFnSUNCMWNtd3VhWE5WVWt3b2FHOXRaWEJoWjJVcElDWW1JQ2hjYmlBZ0lDQWdJRHhNYVc1clJYaDBaWEp1WVd3Z2RHODllMmh2YldWd1lXZGxmVDVjYmlBZ0lDQWdJQ0FnUEZSdmIyeDBhWEFnWVhKcFlTMXNZV0psYkQxN2RDZ25jR0ZqYTJGblpTNW9iMjFsY0dGblpTY3BmU0IwYVhSc1pUMTdkQ2duY0dGamEyRm5aUzUyYVhOcGRDMW9iMjFsTFhCaFoyVW5LWDArWEc0Z0lDQWdJQ0FnSUNBZ1BFbGpiMjVDZFhSMGIyNGdZWEpwWVMxc1lXSmxiRDE3ZENnbmNHRmphMkZuWlM1b2IyMWxjR0ZuWlNjcGZTQmpiMnh2Y2oxY0luQnlhVzFoY25sY0lpQnphWHBsUFZ3aWJHRnlaMlZjSWo1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHhJYjIxbFNXTnZiaUF2UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZTV052YmtKMWRIUnZiajVjYmlBZ0lDQWdJQ0FnUEM5VWIyOXNkR2x3UGx4dUlDQWdJQ0FnUEM5TWFXNXJSWGgwWlhKdVlXdytYRzRnSUNBZ0tUdGNibHh1SUNCamIyNXpkQ0J5Wlc1a1pYSkNkV2R6VEdsdWF5QTlJQ2dwT2lCU1pXRmpkQzVTWldGamRFNXZaR1VnUFQ1Y2JpQWdJQ0JpZFdkelB5NTFjbXdnSmlaY2JpQWdJQ0IxY213dWFYTlZVa3dvWW5WbmN5NTFjbXdwSUNZbUlDaGNiaUFnSUNBZ0lEeE1hVzVyUlhoMFpYSnVZV3dnZEc4OWUySjFaM011ZFhKc2ZUNWNiaUFnSUNBZ0lDQWdQRlJ2YjJ4MGFYQWdZWEpwWVMxc1lXSmxiRDE3ZENnbmNHRmphMkZuWlM1aWRXZHpKeWw5SUhScGRHeGxQWHQwS0Nkd1lXTnJZV2RsTG05d1pXNHRZVzR0YVhOemRXVW5LWDArWEc0Z0lDQWdJQ0FnSUNBZ1BFbGpiMjVDZFhSMGIyNGdZWEpwWVMxc1lXSmxiRDE3ZENnbmNHRmphMkZuWlM1aWRXZHpKeWw5SUdOdmJHOXlQVndpY0hKcGJXRnllVndpSUhOcGVtVTlYQ0pzWVhKblpWd2lQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BFSjFaMUpsY0c5eWRDQXZQbHh1SUNBZ0lDQWdJQ0FnSUR3dlNXTnZia0oxZEhSdmJqNWNiaUFnSUNBZ0lDQWdQQzlVYjI5c2RHbHdQbHh1SUNBZ0lDQWdQQzlNYVc1clJYaDBaWEp1WVd3K1hHNGdJQ0FnS1R0Y2JseHVJQ0JqYjI1emRDQnlaVzVrWlhKRWIzZHViRzloWkV4cGJtc2dQU0FvS1RvZ1VtVmhZM1F1VW1WaFkzUk9iMlJsSUQwK1hHNGdJQ0FnWkdsemREOHVkR0Z5WW1Gc2JDQW1KbHh1SUNBZ0lIVnliQzVwYzFWU1RDaGthWE4wTG5SaGNtSmhiR3dwSUNZbUlDaGNiaUFnSUNBZ0lEeE1hVzVyWEc0Z0lDQWdJQ0FnSUc5dVEyeHBZMnM5ZXlncElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNCb1lXNWtiR1ZFYjNkdWJHOWhaQ2hrYVhOMExuUmhjbUpoYkd3cE8xeHVJQ0FnSUNBZ0lDQjlmVnh1SUNBZ0lDQWdJQ0IwYnoxY0lpTmNJbHh1SUNBZ0lDQWdQbHh1SUNBZ0lDQWdJQ0E4Vkc5dmJIUnBjRnh1SUNBZ0lDQWdJQ0FnSUdGeWFXRXRiR0ZpWld3OWUzUW9KM0JoWTJ0aFoyVXVaRzkzYm14dllXUW5MQ0I3SUhkb1lYUTZJSFFvSjNCaFkydGhaMlV1ZEdobExYUmhjaTFtYVd4bEp5a2dmU2w5WEc0Z0lDQWdJQ0FnSUNBZ2RHbDBiR1U5ZTNRb0ozQmhZMnRoWjJVdWRHRnlZbUZzYkNjcGZWeHVJQ0FnSUNBZ0lDQStYRzRnSUNBZ0lDQWdJQ0FnUEVsamIyNUNkWFIwYjI1Y2JpQWdJQ0FnSUNBZ0lDQWdJR0Z5YVdFdGJHRmlaV3c5ZTNRb0ozQmhZMnRoWjJVdVpHOTNibXh2WVdRbktYMWNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJHOXlQVndpY0hKcGJXRnllVndpWEc0Z0lDQWdJQ0FnSUNBZ0lDQmtZWFJoTFhSbGMzUnBaRDFjSW1SdmQyNXNiMkZrTFhSaGNtSmhiR3hjSWx4dUlDQWdJQ0FnSUNBZ0lDQWdjMmw2WlQxY0lteGhjbWRsWENKY2JpQWdJQ0FnSUNBZ0lDQStYRzRnSUNBZ0lDQWdJQ0FnSUNCN2FYTk1iMkZrYVc1bklEOGdQRU5wY21OMWJHRnlVSEp2WjNKbGMzTWdjMmw2WlQxN01UTjlJQzgrSURvZ1BFUnZkMjVzYjJGa1NXTnZiaUF2UG4xY2JpQWdJQ0FnSUNBZ0lDQThMMGxqYjI1Q2RYUjBiMjQrWEc0Z0lDQWdJQ0FnSUR3dlZHOXZiSFJwY0Q1Y2JpQWdJQ0FnSUR3dlRHbHVhejVjYmlBZ0lDQXBPMXh1WEc0Z0lHTnZibk4wSUhKbGJtUmxjbEJ5YVcxaGNubERiMjF3YjI1bGJuUWdQU0FvS1RvZ1VtVmhZM1F1VW1WaFkzUk9iMlJsSUQwK0lIdGNiaUFnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnUEVkeWFXUWdZV3hwWjI1SmRHVnRjejFjSW1ObGJuUmxjbHdpSUdOdmJuUmhhVzVsY2oxN2RISjFaWDBnYzJsNlpUMTdleUI0Y3pvZ01USWdmWDBnZDNKaGNEMWNJbmR5WVhCY0lqNWNiaUFnSUNBZ0lDQWdQRWR5YVdRZ2MybDZaVDFjSW1keWIzZGNJajVjYmlBZ0lDQWdJQ0FnSUNBOFYzSmhjSEJsY2t4cGJtc2dkRzg5ZTJBa2UxSnZkWFJsTGtSRlZFRkpUSDBrZTNCaFkydGhaMlZPWVcxbGZXQjlQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BGQmhZMnRoWjJWVWFYUnNaU0JqYkdGemMwNWhiV1U5WENKd1lXTnJZV2RsTFhScGRHeGxYQ0lnWkdGMFlTMTBaWE4wYVdROVhDSndZV05yWVdkbExYUnBkR3hsWENJK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUh0d1lXTnJZV2RsVG1GdFpYMWNiaUFnSUNBZ0lDQWdJQ0FnSUR3dlVHRmphMkZuWlZScGRHeGxQbHh1SUNBZ0lDQWdJQ0FnSUR3dlYzSmhjSEJsY2t4cGJtcytYRzRnSUNBZ0lDQWdJRHd2UjNKcFpENWNiaUFnSUNBZ0lDQWdQRWR5YVdSU2FXZG9kRUZzYVdkdVpXUWdjMmw2WlQxY0ltRjFkRzljSWo1Y2JpQWdJQ0FnSUNBZ0lDQjdjbVZ1WkdWeVNHOXRaVkJoWjJWTWFXNXJLQ2w5WEc0Z0lDQWdJQ0FnSUNBZ2UzSmxibVJsY2tKMVozTk1hVzVyS0NsOVhHNGdJQ0FnSUNBZ0lDQWdlM05vYjNkRWIzZHViRzloWkNBbUppQnlaVzVrWlhKRWIzZHViRzloWkV4cGJtc29LWDFjYmlBZ0lDQWdJQ0FnUEM5SGNtbGtVbWxuYUhSQmJHbG5ibVZrUGx4dUlDQWdJQ0FnUEM5SGNtbGtQbHh1SUNBZ0lDazdYRzRnSUgwN1hHNWNiaUFnWTI5dWMzUWdjbVZ1WkdWeVUyVmpiMjVrWVhKNVEyOXRjRzl1Wlc1MElEMGdLQ2s2SUZKbFlXTjBMbEpsWVdOMFRtOWtaU0E5UGlBOFJHVnpZM0pwY0hScGIyNCtlMlJsYzJOeWFYQjBhVzl1ZlR3dlJHVnpZM0pwY0hScGIyNCtPMXh1WEc0Z0lHTnZibk4wSUhKbGJtUmxjbEJoWTJ0aFoyVk1hWE4wU1hSbGJWUmxlSFFnUFNBb0tUb2dVbVZoWTNRdVVtVmhZM1JPYjJSbElEMCtJQ2hjYmlBZ0lDQThVR0ZqYTJGblpVeHBjM1JKZEdWdFZHVjRkRnh1SUNBZ0lDQWdjSEpwYldGeWVUMTdjbVZ1WkdWeVVISnBiV0Z5ZVVOdmJYQnZibVZ1ZENncGZWeHVJQ0FnSUNBZ2MyVmpiMjVrWVhKNVBYdHlaVzVrWlhKVFpXTnZibVJoY25sRGIyMXdiMjVsYm5Rb0tYMWNiaUFnSUNBdlBseHVJQ0FwTzF4dVhHNGdJR052Ym5OMElISmxibVJsY2t0bGVYZHZjbVJ6SUQwZ0tDazZJRkpsWVdOMExsSmxZV04wVG05a1pTQTlQaUFvWEc0Z0lDQWdQRXhwYzNSSmRHVnRJR0ZzYVdkdVNYUmxiWE05ZXlkbWJHVjRMWE4wWVhKMEozMGdjM2c5ZTNzZ2NIazZJREFzSUcxNU9pQXdJSDE5UGx4dUlDQWdJQ0FnUEV4cGMzUWdjM2c5ZTNzZ2NEb2dNQ3dnYlhrNklEQWdmWDArWEc0Z0lDQWdJQ0FnSUR4TFpYbDNiM0prVEdsemRFbDBaVzF6SUd0bGVYZHZjbVJ6UFh0clpYbDNiM0prYzMwZ0x6NWNiaUFnSUNBZ0lEd3ZUR2x6ZEQ1Y2JpQWdJQ0E4TDB4cGMzUkpkR1Z0UGx4dUlDQXBPMXh1WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEZkeVlYQndaWElnWTJ4aGMzTk9ZVzFsUFhzbmNHRmphMkZuWlNkOUlHUmhkR0V0ZEdWemRHbGtQVndpY0dGamEyRm5aUzFwZEdWdExXeHBjM1JjSWo1Y2JpQWdJQ0FnSUR4TWFYTjBTWFJsYlNCaGJHbG5ia2wwWlcxelBYc25abXhsZUMxemRHRnlkQ2Q5SUhONFBYdDdJRzFpT2lBd0lIMTlQbHh1SUNBZ0lDQWdJQ0I3Y21WdVpHVnlVR0ZqYTJGblpVeHBjM1JKZEdWdFZHVjRkQ2dwZlZ4dUlDQWdJQ0FnUEM5TWFYTjBTWFJsYlQ1Y2JpQWdJQ0FnSUh0clpYbDNiM0prY3lBbUppQnJaWGwzYjNKa2N6OHViR1Z1WjNSb0lENGdNQ0EvSUhKbGJtUmxja3RsZVhkdmNtUnpLQ2tnT2lCdWRXeHNmVnh1SUNBZ0lDQWdQRXhwYzNSSmRHVnRJR0ZzYVdkdVNYUmxiWE05ZXlkbWJHVjRMWE4wWVhKMEozMGdjM2c5ZTNzZ2JYUTZJREFnZlgwK1hHNGdJQ0FnSUNBZ0lIdHlaVzVrWlhKQmRYUm9iM0pKYm1adktDbDlYRzRnSUNBZ0lDQWdJSHR5Wlc1a1pYSldaWEp6YVc5dVNXNW1ieWdwZlZ4dUlDQWdJQ0FnSUNCN2NtVnVaR1Z5VUhWaWJHbHphR1ZrU1c1bWJ5Z3BmVnh1SUNBZ0lDQWdJQ0I3Y21WdVpHVnlSbWxzWlZOcGVtVW9LWDFjYmlBZ0lDQWdJQ0FnZTNKbGJtUmxja3hwWTJWdWMyVkpibVp2S0NsOVhHNGdJQ0FnSUNBOEwweHBjM1JKZEdWdFBseHVJQ0FnSUR3dlYzSmhjSEJsY2o1Y2JpQWdLVHRjYm4wN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElGQmhZMnRoWjJVN1hHNWNibU52Ym5OMElHbGpiMjVUZEhsc1pTQTlJQ2g3SUhSb1pXMWxJSDA2SUhzZ2RHaGxiV1U2SUZSb1pXMWxJSDBwSUQwK0lHTnpjMkJjYmlBZ2JXRnlaMmx1T2lBd0lERXdjSGdnTUNBd08xeHVJQ0JtYVd4c09pQWtlM1JvWlcxbExuQmhiR1YwZEdVdWJXOWtaU0E5UFQwZ0oyeHBaMmgwSnlBL0lHZHlaWGxiT1RBd1hTQTZJR052YlcxdmJpNTNhR2wwWlgwN1hHNWdPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUldaWEp6YVc5dUlEMGdjM1I1YkdWa0tGWmxjbk5wYjI0cFlGeHVJQ0FrZTJsamIyNVRkSGxzWlgwN1hHNWdPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUkdhV3hsUW1sdVlYSjVJRDBnYzNSNWJHVmtLRVpwYkdWQ2FXNWhjbmtwWUZ4dUlDQWtlMmxqYjI1VGRIbHNaWDA3WEc1Z08xeHVYRzVqYjI1emRDQlRkSGxzWldSTVlYY2dQU0J6ZEhsc1pXUW9UR0YzS1dCY2JpQWdKSHRwWTI5dVUzUjViR1Y5TzF4dVlEdGNibHh1WTI5dWMzUWdVM1I1YkdWa1ZHbHRaU0E5SUhOMGVXeGxaQ2hVYVcxbEtXQmNiaUFnSkh0cFkyOXVVM1I1YkdWOU8xeHVZRHRjYmlKZGZRPT0gKi9cIikpO1xudmFyIFN0eWxlZEZpbGVCaW5hcnkgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChGaWxlQmluYXJ5LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlYzRpZ2xuMlwiIH0gOiB7XG5cdHRhcmdldDogXCJlYzRpZ2xuMlwiLFxuXHRsYWJlbDogXCJTdHlsZWRGaWxlQmluYXJ5XCJcbn0pKGljb25TdHlsZSwgXCI7XCIgKyAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVFZV05yWVdkbEwxQmhZMnRoWjJVdWRITjRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRWE5RTWtNaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OWpiMjF3YjI1bGJuUnpMMUJoWTJ0aFoyVXZVR0ZqYTJGblpTNTBjM2dpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnZXlCamMzTWdmU0JtY205dElDZEFaVzF2ZEdsdmJpOXlaV0ZqZENjN1hHNXBiWEJ2Y25RZ2MzUjViR1ZrSUdaeWIyMGdKMEJsYlc5MGFXOXVMM04wZVd4bFpDYzdYRzVwYlhCdmNuUWdRblZuVW1Wd2IzSjBJR1p5YjIwZ0owQnRkV2t2YVdOdmJuTXRiV0YwWlhKcFlXd3ZRblZuVW1Wd2IzSjBKenRjYm1sdGNHOXlkQ0JFYjNkdWJHOWhaRWxqYjI0Z1puSnZiU0FuUUcxMWFTOXBZMjl1Y3kxdFlYUmxjbWxoYkM5RGJHOTFaRVJ2ZDI1c2IyRmtKenRjYm1sdGNHOXlkQ0JJYjIxbFNXTnZiaUJtY205dElDZEFiWFZwTDJsamIyNXpMVzFoZEdWeWFXRnNMMGh2YldVbk8xeHVhVzF3YjNKMElFTnBjbU4xYkdGeVVISnZaM0psYzNNZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOURhWEpqZFd4aGNsQnliMmR5WlhOekp6dGNibWx0Y0c5eWRDQkhjbWxrSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlIzSnBaQ2M3WEc1cGJYQnZjblFnVEdsemRDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMHhwYzNRbk8xeHVhVzF3YjNKMElFeHBjM1JKZEdWdElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZEVsMFpXMG5PMXh1YVcxd2IzSjBJRlJ2YjJ4MGFYQWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlVYjI5c2RHbHdKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaXdnWjNKbGVTQjlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2WTI5c2IzSnpKenRjYm1sdGNHOXlkQ0JTWldGamRDd2dleUIxYzJWRFlXeHNZbUZqYXlCOUlHWnliMjBnSjNKbFlXTjBKenRjYm1sdGNHOXlkQ0I3SUhWelpWUnlZVzV6YkdGMGFXOXVJSDBnWm5KdmJTQW5jbVZoWTNRdGFURTRibVY0ZENjN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOG5PMXh1YVcxd2IzSjBJSHNnVEdsdWF5d2dUR2x1YTBWNGRHVnlibUZzTENCMWMyVkViM2R1Ykc5aFpDd2dkWE5sVFdGdWFXWmxjM1J6SUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYm1sdGNHOXlkQ0I3SUVacGJHVkNhVzVoY25rc0lFeGhkeXdnVkdsdFpTd2dWbVZ5YzJsdmJpQjlJR1p5YjIwZ0p5NHVMeTR1TDJOdmJYQnZibVZ1ZEhNdlNXTnZibk1uTzF4dWFXMXdiM0owSUhzZ1oyVjBRMjl1Wm1sbmRYSmhkR2x2YmlCOUlHWnliMjBnSnk0dUx5NHVMMk52Ym1acFozVnlZWFJwYjI0bk8xeHVhVzF3YjNKMElIUjVjR1VnZXlCQmRYUm9iM0lnWVhNZ1VHRmphMkZuWlVGMWRHaHZjaUI5SUdaeWIyMGdKeTR1THk0dUwzQnliM1pwWkdWeWN5OU5ZVzVwWm1WemRITlFjbTkyYVdSbGNpOU5ZVzVwWm1WemRITlFjbTkyYVdSbGNpYzdYRzVwYlhCdmNuUWdkSGx3WlNCN0lGQmhZMnRoWjJWTlpYUmhTVzUwWlhKbVlXTmxJSDBnWm5KdmJTQW5MaTR2TGk0dmRIbHdaWE12Y0dGamEyRm5aVTFsZEdFbk8xeHVhVzF3YjNKMElIc2dVbTkxZEdVc0lIVnliQ3dnZFhScGJITWdmU0JtY205dElDY3VMaTh1TGk5MWRHbHNjeWM3WEc1cGJYQnZjblFnUzJWNWQyOXlaRXhwYzNSSmRHVnRjeUJtY205dElDY3VMaTlMWlhsM2IzSmtjeTlMWlhsM2IzSmtUR2x6ZEVsMFpXMXpKenRjYm1sdGNHOXlkQ0I3WEc0Z0lFRjFkR2h2Y2l4Y2JpQWdRWFpoZEdGeUxGeHVJQ0JFWlhOamNtbHdkR2x2Yml4Y2JpQWdSR1YwWVdsc2N5eGNiaUFnUjNKcFpGSnBaMmgwUVd4cFoyNWxaQ3hjYmlBZ1NXTnZia0oxZEhSdmJpeGNiaUFnVDNabGNuWnBaWGRKZEdWdExGeHVJQ0JRWVdOcllXZGxUR2x6ZEVsMFpXMVVaWGgwTEZ4dUlDQlFZV05yWVdkbFZHbDBiR1VzWEc0Z0lGQjFZbXhwYzJobFpDeGNiaUFnVjNKaGNIQmxjaXhjYmlBZ1YzSmhjSEJsY2t4cGJtc3NYRzU5SUdaeWIyMGdKeTR2YzNSNWJHVnpKenRjYmx4dWFXNTBaWEptWVdObElFSjFaM01nZTF4dUlDQjFjbXc2SUhOMGNtbHVaenRjYm4xY2JseHVhVzUwWlhKbVlXTmxJRVJwYzNRZ2UxeHVJQ0IxYm5CaFkydGxaRk5wZW1VNklHNTFiV0psY2p0Y2JpQWdkR0Z5WW1Gc2JEb2djM1J5YVc1bk8xeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZCaFkydGhaMlZKYm5SbGNtWmhZMlVnZTF4dUlDQnVZVzFsT2lCemRISnBibWM3WEc0Z0lIWmxjbk5wYjI0NklITjBjbWx1Wnp0Y2JpQWdkR2x0WlQ4NklHNTFiV0psY2lCOElITjBjbWx1Wnp0Y2JpQWdZWFYwYUc5eU9pQlFZV05yWVdkbFFYVjBhRzl5TzF4dUlDQmtaWE5qY21sd2RHbHZiajg2SUhOMGNtbHVaenRjYmlBZ2EyVjVkMjl5WkhNL09pQlFZV05yWVdkbFRXVjBZVWx1ZEdWeVptRmpaVnNuYkdGMFpYTjBKMTFiSjJ0bGVYZHZjbVJ6SjEwN1hHNGdJR3hwWTJWdWMyVS9PaUJRWVdOcllXZGxUV1YwWVVsdWRHVnlabUZqWlZzbmJHRjBaWE4wSjExYkoyeHBZMlZ1YzJVblhUdGNiaUFnYUc5dFpYQmhaMlUvT2lCemRISnBibWM3WEc0Z0lHSjFaM00vT2lCQ2RXZHpPMXh1SUNCa2FYTjBQem9nUkdsemREdGNiaUFnYzJodmQwUnZkMjVzYjJGa1B6b2dZbTl2YkdWaGJqdGNibjFjYmx4dVkyOXVjM1FnVUdGamEyRm5aVG9nVW1WaFkzUXVSa004VUdGamEyRm5aVWx1ZEdWeVptRmpaVDRnUFNBb2UxeHVJQ0JoZFhSb2IzSTZJSHNnYm1GdFpUb2dZWFYwYUc5eVRtRnRaU3dnWVhaaGRHRnlPaUJoZFhSb2IzSkJkbUYwWVhJZ2ZTeGNiaUFnWW5WbmN5eGNiaUFnWkdWelkzSnBjSFJwYjI0c1hHNGdJR1JwYzNRc1hHNGdJR2h2YldWd1lXZGxMRnh1SUNCclpYbDNiM0prY3l4Y2JpQWdiR2xqWlc1elpTeGNiaUFnYm1GdFpUb2djR0ZqYTJGblpVNWhiV1VzWEc0Z0lIUnBiV1VzWEc0Z0lITm9iM2RFYjNkdWJHOWhaQ0E5SUhSeWRXVXNYRzRnSUhabGNuTnBiMjRzWEc1OUtTQTlQaUI3WEc0Z0lHTnZibk4wSUdOdmJtWnBaeUE5SUdkbGRFTnZibVpwWjNWeVlYUnBiMjRvS1R0Y2JpQWdZMjl1YzNRZ2V5QjBJSDBnUFNCMWMyVlVjbUZ1YzJ4aGRHbHZiaWdwTzF4dUlDQmpiMjV6ZENCN0lHbHpURzloWkdsdVp5QjlJRDBnZFhObFRXRnVhV1psYzNSektDazdYRzRnSUdOdmJuTjBJSHNnWkc5M2JteHZZV1JVWVhKaVlXeHNJSDBnUFNCMWMyVkViM2R1Ykc5aFpDZ3BPMXh1WEc0Z0lHTnZibk4wSUdoaGJtUnNaVVJ2ZDI1c2IyRmtJRDBnZFhObFEyRnNiR0poWTJzb1hHNGdJQ0FnWVhONWJtTWdLSFJoY21KaGJHeEVhWE4wT2lCemRISnBibWNwSUQwK0lIdGNiaUFnSUNBZ0lDOHZJRVpKV0UxRk9pQmphR1ZqYXl3Z2RHaGxJR1JwYzNRZ2JXbG5hSFFnWW1VZ1pHbG1abVZ5Wlc1MElIUm9ZVzUwSUc1d2JXcHpYRzRnSUNBZ0lDQmpiMjV6ZENCc2FXNXJJRDBnZEdGeVltRnNiRVJwYzNRdWNtVndiR0ZqWlNoZ2FIUjBjSE02THk5eVpXZHBjM1J5ZVM1dWNHMXFjeTV2Y21jdllDd2dZMjl1Wm1sbkxtSmhjMlVwTzF4dUlDQWdJQ0FnWkc5M2JteHZZV1JVWVhKaVlXeHNQeTRvZXlCc2FXNXJJSDBwTzF4dUlDQWdJSDBzWEc0Z0lDQWdXMk52Ym1acFp5d2daRzkzYm14dllXUlVZWEppWVd4c1hWeHVJQ0FwTzF4dVhHNGdJR052Ym5OMElISmxibVJsY2xabGNuTnBiMjVKYm1adklEMGdLQ2s2SUZKbFlXTjBMbEpsWVdOMFRtOWtaU0E5UGx4dUlDQWdJSFpsY25OcGIyNGdKaVlnS0Z4dUlDQWdJQ0FnUEU5MlpYSjJhV1YzU1hSbGJUNWNiaUFnSUNBZ0lDQWdQRk4wZVd4bFpGWmxjbk5wYjI0Z0x6NWNiaUFnSUNBZ0lDQWdlM1FvSjNCaFkydGhaMlV1ZG1WeWMybHZiaWNzSUhzZ2RtVnljMmx2YmlCOUtYMWNiaUFnSUNBZ0lEd3ZUM1psY25acFpYZEpkR1Z0UGx4dUlDQWdJQ2s3WEc1Y2JpQWdZMjl1YzNRZ2NtVnVaR1Z5UVhWMGFHOXlTVzVtYnlBOUlDZ3BPaUJTWldGamRDNVNaV0ZqZEU1dlpHVWdQVDRnZTF4dUlDQWdJR052Ym5OMElHNWhiV1VnUFNCMWRHbHNjeTVuWlhSQmRYUm9iM0pPWVcxbEtHRjFkR2h2Y2s1aGJXVXBPMXh1SUNBZ0lISmxkSFZ5YmlBb1hHNGdJQ0FnSUNBOFQzWmxjblpwWlhkSmRHVnRQbHh1SUNBZ0lDQWdJQ0E4UVhWMGFHOXlQbHh1SUNBZ0lDQWdJQ0FnSUR4QmRtRjBZWElnWVd4MFBYdHVZVzFsZlNCemNtTTllMkYxZEdodmNrRjJZWFJoY24wZ0x6NWNiaUFnSUNBZ0lDQWdJQ0E4UkdWMFlXbHNjejU3Ym1GdFpYMDhMMFJsZEdGcGJITStYRzRnSUNBZ0lDQWdJRHd2UVhWMGFHOXlQbHh1SUNBZ0lDQWdQQzlQZG1WeWRtbGxkMGwwWlcwK1hHNGdJQ0FnS1R0Y2JpQWdmVHRjYmx4dUlDQmpiMjV6ZENCeVpXNWtaWEpHYVd4bFUybDZaU0E5SUNncE9pQlNaV0ZqZEM1U1pXRmpkRTV2WkdVZ1BUNWNiaUFnSUNCa2FYTjBQeTUxYm5CaFkydGxaRk5wZW1VZ0ppWWdLRnh1SUNBZ0lDQWdQRTkyWlhKMmFXVjNTWFJsYlQ1Y2JpQWdJQ0FnSUNBZ1BGTjBlV3hsWkVacGJHVkNhVzVoY25rZ0x6NWNiaUFnSUNBZ0lDQWdlM1YwYVd4ekxtWnBiR1ZUYVhwbFUwa29aR2x6ZEM1MWJuQmhZMnRsWkZOcGVtVXBmVnh1SUNBZ0lDQWdQQzlQZG1WeWRtbGxkMGwwWlcwK1hHNGdJQ0FnS1R0Y2JseHVJQ0JqYjI1emRDQnlaVzVrWlhKTWFXTmxibk5sU1c1bWJ5QTlJQ2dwT2lCU1pXRmpkQzVTWldGamRFNXZaR1VnUFQ1Y2JpQWdJQ0JzYVdObGJuTmxJQ1ltSUNoY2JpQWdJQ0FnSUR4UGRtVnlkbWxsZDBsMFpXMCtYRzRnSUNBZ0lDQWdJRHhUZEhsc1pXUk1ZWGNnTHo1Y2JpQWdJQ0FnSUNBZ2UyeHBZMlZ1YzJVZ1lYTWdjM1J5YVc1bmZWeHVJQ0FnSUNBZ1BDOVBkbVZ5ZG1sbGQwbDBaVzArWEc0Z0lDQWdLVHRjYmx4dUlDQmpiMjV6ZENCeVpXNWtaWEpRZFdKc2FYTm9aV1JKYm1adklEMGdLQ2s2SUZKbFlXTjBMbEpsWVdOMFRtOWtaU0E5UGx4dUlDQWdJSFJwYldVZ0ppWWdLRnh1SUNBZ0lDQWdQRTkyWlhKMmFXVjNTWFJsYlQ1Y2JpQWdJQ0FnSUNBZ1BGTjBlV3hsWkZScGJXVWdMejVjYmlBZ0lDQWdJQ0FnUEZCMVlteHBjMmhsWkNCMGFYUnNaVDE3ZFhScGJITXVabTl5YldGMFJHRjBaU2gwYVcxbEtYMCtYRzRnSUNBZ0lDQWdJQ0FnZTNRb0ozQmhZMnRoWjJVdWNIVmliR2x6YUdWa0xXOXVKeXdnZXlCMGFXMWxPaUIxZEdsc2N5NW1iM0p0WVhSRVlYUmxSR2x6ZEdGdVkyVW9kR2x0WlNrZ2ZTbDlYRzRnSUNBZ0lDQWdJRHd2VUhWaWJHbHphR1ZrUGx4dUlDQWdJQ0FnUEM5UGRtVnlkbWxsZDBsMFpXMCtYRzRnSUNBZ0tUdGNibHh1SUNCamIyNXpkQ0J5Wlc1a1pYSkliMjFsVUdGblpVeHBibXNnUFNBb0tUb2dVbVZoWTNRdVVtVmhZM1JPYjJSbElEMCtYRzRnSUNBZ2FHOXRaWEJoWjJVZ0ppWmNiaUFnSUNCMWNtd3VhWE5WVWt3b2FHOXRaWEJoWjJVcElDWW1JQ2hjYmlBZ0lDQWdJRHhNYVc1clJYaDBaWEp1WVd3Z2RHODllMmh2YldWd1lXZGxmVDVjYmlBZ0lDQWdJQ0FnUEZSdmIyeDBhWEFnWVhKcFlTMXNZV0psYkQxN2RDZ25jR0ZqYTJGblpTNW9iMjFsY0dGblpTY3BmU0IwYVhSc1pUMTdkQ2duY0dGamEyRm5aUzUyYVhOcGRDMW9iMjFsTFhCaFoyVW5LWDArWEc0Z0lDQWdJQ0FnSUNBZ1BFbGpiMjVDZFhSMGIyNGdZWEpwWVMxc1lXSmxiRDE3ZENnbmNHRmphMkZuWlM1b2IyMWxjR0ZuWlNjcGZTQmpiMnh2Y2oxY0luQnlhVzFoY25sY0lpQnphWHBsUFZ3aWJHRnlaMlZjSWo1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHhJYjIxbFNXTnZiaUF2UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZTV052YmtKMWRIUnZiajVjYmlBZ0lDQWdJQ0FnUEM5VWIyOXNkR2x3UGx4dUlDQWdJQ0FnUEM5TWFXNXJSWGgwWlhKdVlXdytYRzRnSUNBZ0tUdGNibHh1SUNCamIyNXpkQ0J5Wlc1a1pYSkNkV2R6VEdsdWF5QTlJQ2dwT2lCU1pXRmpkQzVTWldGamRFNXZaR1VnUFQ1Y2JpQWdJQ0JpZFdkelB5NTFjbXdnSmlaY2JpQWdJQ0IxY213dWFYTlZVa3dvWW5WbmN5NTFjbXdwSUNZbUlDaGNiaUFnSUNBZ0lEeE1hVzVyUlhoMFpYSnVZV3dnZEc4OWUySjFaM011ZFhKc2ZUNWNiaUFnSUNBZ0lDQWdQRlJ2YjJ4MGFYQWdZWEpwWVMxc1lXSmxiRDE3ZENnbmNHRmphMkZuWlM1aWRXZHpKeWw5SUhScGRHeGxQWHQwS0Nkd1lXTnJZV2RsTG05d1pXNHRZVzR0YVhOemRXVW5LWDArWEc0Z0lDQWdJQ0FnSUNBZ1BFbGpiMjVDZFhSMGIyNGdZWEpwWVMxc1lXSmxiRDE3ZENnbmNHRmphMkZuWlM1aWRXZHpKeWw5SUdOdmJHOXlQVndpY0hKcGJXRnllVndpSUhOcGVtVTlYQ0pzWVhKblpWd2lQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BFSjFaMUpsY0c5eWRDQXZQbHh1SUNBZ0lDQWdJQ0FnSUR3dlNXTnZia0oxZEhSdmJqNWNiaUFnSUNBZ0lDQWdQQzlVYjI5c2RHbHdQbHh1SUNBZ0lDQWdQQzlNYVc1clJYaDBaWEp1WVd3K1hHNGdJQ0FnS1R0Y2JseHVJQ0JqYjI1emRDQnlaVzVrWlhKRWIzZHViRzloWkV4cGJtc2dQU0FvS1RvZ1VtVmhZM1F1VW1WaFkzUk9iMlJsSUQwK1hHNGdJQ0FnWkdsemREOHVkR0Z5WW1Gc2JDQW1KbHh1SUNBZ0lIVnliQzVwYzFWU1RDaGthWE4wTG5SaGNtSmhiR3dwSUNZbUlDaGNiaUFnSUNBZ0lEeE1hVzVyWEc0Z0lDQWdJQ0FnSUc5dVEyeHBZMnM5ZXlncElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNCb1lXNWtiR1ZFYjNkdWJHOWhaQ2hrYVhOMExuUmhjbUpoYkd3cE8xeHVJQ0FnSUNBZ0lDQjlmVnh1SUNBZ0lDQWdJQ0IwYnoxY0lpTmNJbHh1SUNBZ0lDQWdQbHh1SUNBZ0lDQWdJQ0E4Vkc5dmJIUnBjRnh1SUNBZ0lDQWdJQ0FnSUdGeWFXRXRiR0ZpWld3OWUzUW9KM0JoWTJ0aFoyVXVaRzkzYm14dllXUW5MQ0I3SUhkb1lYUTZJSFFvSjNCaFkydGhaMlV1ZEdobExYUmhjaTFtYVd4bEp5a2dmU2w5WEc0Z0lDQWdJQ0FnSUNBZ2RHbDBiR1U5ZTNRb0ozQmhZMnRoWjJVdWRHRnlZbUZzYkNjcGZWeHVJQ0FnSUNBZ0lDQStYRzRnSUNBZ0lDQWdJQ0FnUEVsamIyNUNkWFIwYjI1Y2JpQWdJQ0FnSUNBZ0lDQWdJR0Z5YVdFdGJHRmlaV3c5ZTNRb0ozQmhZMnRoWjJVdVpHOTNibXh2WVdRbktYMWNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJHOXlQVndpY0hKcGJXRnllVndpWEc0Z0lDQWdJQ0FnSUNBZ0lDQmtZWFJoTFhSbGMzUnBaRDFjSW1SdmQyNXNiMkZrTFhSaGNtSmhiR3hjSWx4dUlDQWdJQ0FnSUNBZ0lDQWdjMmw2WlQxY0lteGhjbWRsWENKY2JpQWdJQ0FnSUNBZ0lDQStYRzRnSUNBZ0lDQWdJQ0FnSUNCN2FYTk1iMkZrYVc1bklEOGdQRU5wY21OMWJHRnlVSEp2WjNKbGMzTWdjMmw2WlQxN01UTjlJQzgrSURvZ1BFUnZkMjVzYjJGa1NXTnZiaUF2UG4xY2JpQWdJQ0FnSUNBZ0lDQThMMGxqYjI1Q2RYUjBiMjQrWEc0Z0lDQWdJQ0FnSUR3dlZHOXZiSFJwY0Q1Y2JpQWdJQ0FnSUR3dlRHbHVhejVjYmlBZ0lDQXBPMXh1WEc0Z0lHTnZibk4wSUhKbGJtUmxjbEJ5YVcxaGNubERiMjF3YjI1bGJuUWdQU0FvS1RvZ1VtVmhZM1F1VW1WaFkzUk9iMlJsSUQwK0lIdGNiaUFnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnUEVkeWFXUWdZV3hwWjI1SmRHVnRjejFjSW1ObGJuUmxjbHdpSUdOdmJuUmhhVzVsY2oxN2RISjFaWDBnYzJsNlpUMTdleUI0Y3pvZ01USWdmWDBnZDNKaGNEMWNJbmR5WVhCY0lqNWNiaUFnSUNBZ0lDQWdQRWR5YVdRZ2MybDZaVDFjSW1keWIzZGNJajVjYmlBZ0lDQWdJQ0FnSUNBOFYzSmhjSEJsY2t4cGJtc2dkRzg5ZTJBa2UxSnZkWFJsTGtSRlZFRkpUSDBrZTNCaFkydGhaMlZPWVcxbGZXQjlQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BGQmhZMnRoWjJWVWFYUnNaU0JqYkdGemMwNWhiV1U5WENKd1lXTnJZV2RsTFhScGRHeGxYQ0lnWkdGMFlTMTBaWE4wYVdROVhDSndZV05yWVdkbExYUnBkR3hsWENJK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUh0d1lXTnJZV2RsVG1GdFpYMWNiaUFnSUNBZ0lDQWdJQ0FnSUR3dlVHRmphMkZuWlZScGRHeGxQbHh1SUNBZ0lDQWdJQ0FnSUR3dlYzSmhjSEJsY2t4cGJtcytYRzRnSUNBZ0lDQWdJRHd2UjNKcFpENWNiaUFnSUNBZ0lDQWdQRWR5YVdSU2FXZG9kRUZzYVdkdVpXUWdjMmw2WlQxY0ltRjFkRzljSWo1Y2JpQWdJQ0FnSUNBZ0lDQjdjbVZ1WkdWeVNHOXRaVkJoWjJWTWFXNXJLQ2w5WEc0Z0lDQWdJQ0FnSUNBZ2UzSmxibVJsY2tKMVozTk1hVzVyS0NsOVhHNGdJQ0FnSUNBZ0lDQWdlM05vYjNkRWIzZHViRzloWkNBbUppQnlaVzVrWlhKRWIzZHViRzloWkV4cGJtc29LWDFjYmlBZ0lDQWdJQ0FnUEM5SGNtbGtVbWxuYUhSQmJHbG5ibVZrUGx4dUlDQWdJQ0FnUEM5SGNtbGtQbHh1SUNBZ0lDazdYRzRnSUgwN1hHNWNiaUFnWTI5dWMzUWdjbVZ1WkdWeVUyVmpiMjVrWVhKNVEyOXRjRzl1Wlc1MElEMGdLQ2s2SUZKbFlXTjBMbEpsWVdOMFRtOWtaU0E5UGlBOFJHVnpZM0pwY0hScGIyNCtlMlJsYzJOeWFYQjBhVzl1ZlR3dlJHVnpZM0pwY0hScGIyNCtPMXh1WEc0Z0lHTnZibk4wSUhKbGJtUmxjbEJoWTJ0aFoyVk1hWE4wU1hSbGJWUmxlSFFnUFNBb0tUb2dVbVZoWTNRdVVtVmhZM1JPYjJSbElEMCtJQ2hjYmlBZ0lDQThVR0ZqYTJGblpVeHBjM1JKZEdWdFZHVjRkRnh1SUNBZ0lDQWdjSEpwYldGeWVUMTdjbVZ1WkdWeVVISnBiV0Z5ZVVOdmJYQnZibVZ1ZENncGZWeHVJQ0FnSUNBZ2MyVmpiMjVrWVhKNVBYdHlaVzVrWlhKVFpXTnZibVJoY25sRGIyMXdiMjVsYm5Rb0tYMWNiaUFnSUNBdlBseHVJQ0FwTzF4dVhHNGdJR052Ym5OMElISmxibVJsY2t0bGVYZHZjbVJ6SUQwZ0tDazZJRkpsWVdOMExsSmxZV04wVG05a1pTQTlQaUFvWEc0Z0lDQWdQRXhwYzNSSmRHVnRJR0ZzYVdkdVNYUmxiWE05ZXlkbWJHVjRMWE4wWVhKMEozMGdjM2c5ZTNzZ2NIazZJREFzSUcxNU9pQXdJSDE5UGx4dUlDQWdJQ0FnUEV4cGMzUWdjM2c5ZTNzZ2NEb2dNQ3dnYlhrNklEQWdmWDArWEc0Z0lDQWdJQ0FnSUR4TFpYbDNiM0prVEdsemRFbDBaVzF6SUd0bGVYZHZjbVJ6UFh0clpYbDNiM0prYzMwZ0x6NWNiaUFnSUNBZ0lEd3ZUR2x6ZEQ1Y2JpQWdJQ0E4TDB4cGMzUkpkR1Z0UGx4dUlDQXBPMXh1WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEZkeVlYQndaWElnWTJ4aGMzTk9ZVzFsUFhzbmNHRmphMkZuWlNkOUlHUmhkR0V0ZEdWemRHbGtQVndpY0dGamEyRm5aUzFwZEdWdExXeHBjM1JjSWo1Y2JpQWdJQ0FnSUR4TWFYTjBTWFJsYlNCaGJHbG5ia2wwWlcxelBYc25abXhsZUMxemRHRnlkQ2Q5SUhONFBYdDdJRzFpT2lBd0lIMTlQbHh1SUNBZ0lDQWdJQ0I3Y21WdVpHVnlVR0ZqYTJGblpVeHBjM1JKZEdWdFZHVjRkQ2dwZlZ4dUlDQWdJQ0FnUEM5TWFYTjBTWFJsYlQ1Y2JpQWdJQ0FnSUh0clpYbDNiM0prY3lBbUppQnJaWGwzYjNKa2N6OHViR1Z1WjNSb0lENGdNQ0EvSUhKbGJtUmxja3RsZVhkdmNtUnpLQ2tnT2lCdWRXeHNmVnh1SUNBZ0lDQWdQRXhwYzNSSmRHVnRJR0ZzYVdkdVNYUmxiWE05ZXlkbWJHVjRMWE4wWVhKMEozMGdjM2c5ZTNzZ2JYUTZJREFnZlgwK1hHNGdJQ0FnSUNBZ0lIdHlaVzVrWlhKQmRYUm9iM0pKYm1adktDbDlYRzRnSUNBZ0lDQWdJSHR5Wlc1a1pYSldaWEp6YVc5dVNXNW1ieWdwZlZ4dUlDQWdJQ0FnSUNCN2NtVnVaR1Z5VUhWaWJHbHphR1ZrU1c1bWJ5Z3BmVnh1SUNBZ0lDQWdJQ0I3Y21WdVpHVnlSbWxzWlZOcGVtVW9LWDFjYmlBZ0lDQWdJQ0FnZTNKbGJtUmxja3hwWTJWdWMyVkpibVp2S0NsOVhHNGdJQ0FnSUNBOEwweHBjM1JKZEdWdFBseHVJQ0FnSUR3dlYzSmhjSEJsY2o1Y2JpQWdLVHRjYm4wN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElGQmhZMnRoWjJVN1hHNWNibU52Ym5OMElHbGpiMjVUZEhsc1pTQTlJQ2g3SUhSb1pXMWxJSDA2SUhzZ2RHaGxiV1U2SUZSb1pXMWxJSDBwSUQwK0lHTnpjMkJjYmlBZ2JXRnlaMmx1T2lBd0lERXdjSGdnTUNBd08xeHVJQ0JtYVd4c09pQWtlM1JvWlcxbExuQmhiR1YwZEdVdWJXOWtaU0E5UFQwZ0oyeHBaMmgwSnlBL0lHZHlaWGxiT1RBd1hTQTZJR052YlcxdmJpNTNhR2wwWlgwN1hHNWdPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUldaWEp6YVc5dUlEMGdjM1I1YkdWa0tGWmxjbk5wYjI0cFlGeHVJQ0FrZTJsamIyNVRkSGxzWlgwN1hHNWdPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUkdhV3hsUW1sdVlYSjVJRDBnYzNSNWJHVmtLRVpwYkdWQ2FXNWhjbmtwWUZ4dUlDQWtlMmxqYjI1VGRIbHNaWDA3WEc1Z08xeHVYRzVqYjI1emRDQlRkSGxzWldSTVlYY2dQU0J6ZEhsc1pXUW9UR0YzS1dCY2JpQWdKSHRwWTI5dVUzUjViR1Y5TzF4dVlEdGNibHh1WTI5dWMzUWdVM1I1YkdWa1ZHbHRaU0E5SUhOMGVXeGxaQ2hVYVcxbEtXQmNiaUFnSkh0cFkyOXVVM1I1YkdWOU8xeHVZRHRjYmlKZGZRPT0gKi9cIikpO1xudmFyIFN0eWxlZExhdyA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKExhdywgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZWM0aWdsbjFcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZWM0aWdsbjFcIixcblx0bGFiZWw6IFwiU3R5bGVkTGF3XCJcbn0pKGljb25TdHlsZSwgXCI7XCIgKyAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVFZV05yWVdkbEwxQmhZMnRoWjJVdWRITjRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVEJRTmtJaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OWpiMjF3YjI1bGJuUnpMMUJoWTJ0aFoyVXZVR0ZqYTJGblpTNTBjM2dpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnZXlCamMzTWdmU0JtY205dElDZEFaVzF2ZEdsdmJpOXlaV0ZqZENjN1hHNXBiWEJ2Y25RZ2MzUjViR1ZrSUdaeWIyMGdKMEJsYlc5MGFXOXVMM04wZVd4bFpDYzdYRzVwYlhCdmNuUWdRblZuVW1Wd2IzSjBJR1p5YjIwZ0owQnRkV2t2YVdOdmJuTXRiV0YwWlhKcFlXd3ZRblZuVW1Wd2IzSjBKenRjYm1sdGNHOXlkQ0JFYjNkdWJHOWhaRWxqYjI0Z1puSnZiU0FuUUcxMWFTOXBZMjl1Y3kxdFlYUmxjbWxoYkM5RGJHOTFaRVJ2ZDI1c2IyRmtKenRjYm1sdGNHOXlkQ0JJYjIxbFNXTnZiaUJtY205dElDZEFiWFZwTDJsamIyNXpMVzFoZEdWeWFXRnNMMGh2YldVbk8xeHVhVzF3YjNKMElFTnBjbU4xYkdGeVVISnZaM0psYzNNZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOURhWEpqZFd4aGNsQnliMmR5WlhOekp6dGNibWx0Y0c5eWRDQkhjbWxrSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlIzSnBaQ2M3WEc1cGJYQnZjblFnVEdsemRDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMHhwYzNRbk8xeHVhVzF3YjNKMElFeHBjM1JKZEdWdElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZEVsMFpXMG5PMXh1YVcxd2IzSjBJRlJ2YjJ4MGFYQWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlVYjI5c2RHbHdKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaXdnWjNKbGVTQjlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2WTI5c2IzSnpKenRjYm1sdGNHOXlkQ0JTWldGamRDd2dleUIxYzJWRFlXeHNZbUZqYXlCOUlHWnliMjBnSjNKbFlXTjBKenRjYm1sdGNHOXlkQ0I3SUhWelpWUnlZVzV6YkdGMGFXOXVJSDBnWm5KdmJTQW5jbVZoWTNRdGFURTRibVY0ZENjN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOG5PMXh1YVcxd2IzSjBJSHNnVEdsdWF5d2dUR2x1YTBWNGRHVnlibUZzTENCMWMyVkViM2R1Ykc5aFpDd2dkWE5sVFdGdWFXWmxjM1J6SUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYm1sdGNHOXlkQ0I3SUVacGJHVkNhVzVoY25rc0lFeGhkeXdnVkdsdFpTd2dWbVZ5YzJsdmJpQjlJR1p5YjIwZ0p5NHVMeTR1TDJOdmJYQnZibVZ1ZEhNdlNXTnZibk1uTzF4dWFXMXdiM0owSUhzZ1oyVjBRMjl1Wm1sbmRYSmhkR2x2YmlCOUlHWnliMjBnSnk0dUx5NHVMMk52Ym1acFozVnlZWFJwYjI0bk8xeHVhVzF3YjNKMElIUjVjR1VnZXlCQmRYUm9iM0lnWVhNZ1VHRmphMkZuWlVGMWRHaHZjaUI5SUdaeWIyMGdKeTR1THk0dUwzQnliM1pwWkdWeWN5OU5ZVzVwWm1WemRITlFjbTkyYVdSbGNpOU5ZVzVwWm1WemRITlFjbTkyYVdSbGNpYzdYRzVwYlhCdmNuUWdkSGx3WlNCN0lGQmhZMnRoWjJWTlpYUmhTVzUwWlhKbVlXTmxJSDBnWm5KdmJTQW5MaTR2TGk0dmRIbHdaWE12Y0dGamEyRm5aVTFsZEdFbk8xeHVhVzF3YjNKMElIc2dVbTkxZEdVc0lIVnliQ3dnZFhScGJITWdmU0JtY205dElDY3VMaTh1TGk5MWRHbHNjeWM3WEc1cGJYQnZjblFnUzJWNWQyOXlaRXhwYzNSSmRHVnRjeUJtY205dElDY3VMaTlMWlhsM2IzSmtjeTlMWlhsM2IzSmtUR2x6ZEVsMFpXMXpKenRjYm1sdGNHOXlkQ0I3WEc0Z0lFRjFkR2h2Y2l4Y2JpQWdRWFpoZEdGeUxGeHVJQ0JFWlhOamNtbHdkR2x2Yml4Y2JpQWdSR1YwWVdsc2N5eGNiaUFnUjNKcFpGSnBaMmgwUVd4cFoyNWxaQ3hjYmlBZ1NXTnZia0oxZEhSdmJpeGNiaUFnVDNabGNuWnBaWGRKZEdWdExGeHVJQ0JRWVdOcllXZGxUR2x6ZEVsMFpXMVVaWGgwTEZ4dUlDQlFZV05yWVdkbFZHbDBiR1VzWEc0Z0lGQjFZbXhwYzJobFpDeGNiaUFnVjNKaGNIQmxjaXhjYmlBZ1YzSmhjSEJsY2t4cGJtc3NYRzU5SUdaeWIyMGdKeTR2YzNSNWJHVnpKenRjYmx4dWFXNTBaWEptWVdObElFSjFaM01nZTF4dUlDQjFjbXc2SUhOMGNtbHVaenRjYm4xY2JseHVhVzUwWlhKbVlXTmxJRVJwYzNRZ2UxeHVJQ0IxYm5CaFkydGxaRk5wZW1VNklHNTFiV0psY2p0Y2JpQWdkR0Z5WW1Gc2JEb2djM1J5YVc1bk8xeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZCaFkydGhaMlZKYm5SbGNtWmhZMlVnZTF4dUlDQnVZVzFsT2lCemRISnBibWM3WEc0Z0lIWmxjbk5wYjI0NklITjBjbWx1Wnp0Y2JpQWdkR2x0WlQ4NklHNTFiV0psY2lCOElITjBjbWx1Wnp0Y2JpQWdZWFYwYUc5eU9pQlFZV05yWVdkbFFYVjBhRzl5TzF4dUlDQmtaWE5qY21sd2RHbHZiajg2SUhOMGNtbHVaenRjYmlBZ2EyVjVkMjl5WkhNL09pQlFZV05yWVdkbFRXVjBZVWx1ZEdWeVptRmpaVnNuYkdGMFpYTjBKMTFiSjJ0bGVYZHZjbVJ6SjEwN1hHNGdJR3hwWTJWdWMyVS9PaUJRWVdOcllXZGxUV1YwWVVsdWRHVnlabUZqWlZzbmJHRjBaWE4wSjExYkoyeHBZMlZ1YzJVblhUdGNiaUFnYUc5dFpYQmhaMlUvT2lCemRISnBibWM3WEc0Z0lHSjFaM00vT2lCQ2RXZHpPMXh1SUNCa2FYTjBQem9nUkdsemREdGNiaUFnYzJodmQwUnZkMjVzYjJGa1B6b2dZbTl2YkdWaGJqdGNibjFjYmx4dVkyOXVjM1FnVUdGamEyRm5aVG9nVW1WaFkzUXVSa004VUdGamEyRm5aVWx1ZEdWeVptRmpaVDRnUFNBb2UxeHVJQ0JoZFhSb2IzSTZJSHNnYm1GdFpUb2dZWFYwYUc5eVRtRnRaU3dnWVhaaGRHRnlPaUJoZFhSb2IzSkJkbUYwWVhJZ2ZTeGNiaUFnWW5WbmN5eGNiaUFnWkdWelkzSnBjSFJwYjI0c1hHNGdJR1JwYzNRc1hHNGdJR2h2YldWd1lXZGxMRnh1SUNCclpYbDNiM0prY3l4Y2JpQWdiR2xqWlc1elpTeGNiaUFnYm1GdFpUb2djR0ZqYTJGblpVNWhiV1VzWEc0Z0lIUnBiV1VzWEc0Z0lITm9iM2RFYjNkdWJHOWhaQ0E5SUhSeWRXVXNYRzRnSUhabGNuTnBiMjRzWEc1OUtTQTlQaUI3WEc0Z0lHTnZibk4wSUdOdmJtWnBaeUE5SUdkbGRFTnZibVpwWjNWeVlYUnBiMjRvS1R0Y2JpQWdZMjl1YzNRZ2V5QjBJSDBnUFNCMWMyVlVjbUZ1YzJ4aGRHbHZiaWdwTzF4dUlDQmpiMjV6ZENCN0lHbHpURzloWkdsdVp5QjlJRDBnZFhObFRXRnVhV1psYzNSektDazdYRzRnSUdOdmJuTjBJSHNnWkc5M2JteHZZV1JVWVhKaVlXeHNJSDBnUFNCMWMyVkViM2R1Ykc5aFpDZ3BPMXh1WEc0Z0lHTnZibk4wSUdoaGJtUnNaVVJ2ZDI1c2IyRmtJRDBnZFhObFEyRnNiR0poWTJzb1hHNGdJQ0FnWVhONWJtTWdLSFJoY21KaGJHeEVhWE4wT2lCemRISnBibWNwSUQwK0lIdGNiaUFnSUNBZ0lDOHZJRVpKV0UxRk9pQmphR1ZqYXl3Z2RHaGxJR1JwYzNRZ2JXbG5hSFFnWW1VZ1pHbG1abVZ5Wlc1MElIUm9ZVzUwSUc1d2JXcHpYRzRnSUNBZ0lDQmpiMjV6ZENCc2FXNXJJRDBnZEdGeVltRnNiRVJwYzNRdWNtVndiR0ZqWlNoZ2FIUjBjSE02THk5eVpXZHBjM1J5ZVM1dWNHMXFjeTV2Y21jdllDd2dZMjl1Wm1sbkxtSmhjMlVwTzF4dUlDQWdJQ0FnWkc5M2JteHZZV1JVWVhKaVlXeHNQeTRvZXlCc2FXNXJJSDBwTzF4dUlDQWdJSDBzWEc0Z0lDQWdXMk52Ym1acFp5d2daRzkzYm14dllXUlVZWEppWVd4c1hWeHVJQ0FwTzF4dVhHNGdJR052Ym5OMElISmxibVJsY2xabGNuTnBiMjVKYm1adklEMGdLQ2s2SUZKbFlXTjBMbEpsWVdOMFRtOWtaU0E5UGx4dUlDQWdJSFpsY25OcGIyNGdKaVlnS0Z4dUlDQWdJQ0FnUEU5MlpYSjJhV1YzU1hSbGJUNWNiaUFnSUNBZ0lDQWdQRk4wZVd4bFpGWmxjbk5wYjI0Z0x6NWNiaUFnSUNBZ0lDQWdlM1FvSjNCaFkydGhaMlV1ZG1WeWMybHZiaWNzSUhzZ2RtVnljMmx2YmlCOUtYMWNiaUFnSUNBZ0lEd3ZUM1psY25acFpYZEpkR1Z0UGx4dUlDQWdJQ2s3WEc1Y2JpQWdZMjl1YzNRZ2NtVnVaR1Z5UVhWMGFHOXlTVzVtYnlBOUlDZ3BPaUJTWldGamRDNVNaV0ZqZEU1dlpHVWdQVDRnZTF4dUlDQWdJR052Ym5OMElHNWhiV1VnUFNCMWRHbHNjeTVuWlhSQmRYUm9iM0pPWVcxbEtHRjFkR2h2Y2s1aGJXVXBPMXh1SUNBZ0lISmxkSFZ5YmlBb1hHNGdJQ0FnSUNBOFQzWmxjblpwWlhkSmRHVnRQbHh1SUNBZ0lDQWdJQ0E4UVhWMGFHOXlQbHh1SUNBZ0lDQWdJQ0FnSUR4QmRtRjBZWElnWVd4MFBYdHVZVzFsZlNCemNtTTllMkYxZEdodmNrRjJZWFJoY24wZ0x6NWNiaUFnSUNBZ0lDQWdJQ0E4UkdWMFlXbHNjejU3Ym1GdFpYMDhMMFJsZEdGcGJITStYRzRnSUNBZ0lDQWdJRHd2UVhWMGFHOXlQbHh1SUNBZ0lDQWdQQzlQZG1WeWRtbGxkMGwwWlcwK1hHNGdJQ0FnS1R0Y2JpQWdmVHRjYmx4dUlDQmpiMjV6ZENCeVpXNWtaWEpHYVd4bFUybDZaU0E5SUNncE9pQlNaV0ZqZEM1U1pXRmpkRTV2WkdVZ1BUNWNiaUFnSUNCa2FYTjBQeTUxYm5CaFkydGxaRk5wZW1VZ0ppWWdLRnh1SUNBZ0lDQWdQRTkyWlhKMmFXVjNTWFJsYlQ1Y2JpQWdJQ0FnSUNBZ1BGTjBlV3hsWkVacGJHVkNhVzVoY25rZ0x6NWNiaUFnSUNBZ0lDQWdlM1YwYVd4ekxtWnBiR1ZUYVhwbFUwa29aR2x6ZEM1MWJuQmhZMnRsWkZOcGVtVXBmVnh1SUNBZ0lDQWdQQzlQZG1WeWRtbGxkMGwwWlcwK1hHNGdJQ0FnS1R0Y2JseHVJQ0JqYjI1emRDQnlaVzVrWlhKTWFXTmxibk5sU1c1bWJ5QTlJQ2dwT2lCU1pXRmpkQzVTWldGamRFNXZaR1VnUFQ1Y2JpQWdJQ0JzYVdObGJuTmxJQ1ltSUNoY2JpQWdJQ0FnSUR4UGRtVnlkbWxsZDBsMFpXMCtYRzRnSUNBZ0lDQWdJRHhUZEhsc1pXUk1ZWGNnTHo1Y2JpQWdJQ0FnSUNBZ2UyeHBZMlZ1YzJVZ1lYTWdjM1J5YVc1bmZWeHVJQ0FnSUNBZ1BDOVBkbVZ5ZG1sbGQwbDBaVzArWEc0Z0lDQWdLVHRjYmx4dUlDQmpiMjV6ZENCeVpXNWtaWEpRZFdKc2FYTm9aV1JKYm1adklEMGdLQ2s2SUZKbFlXTjBMbEpsWVdOMFRtOWtaU0E5UGx4dUlDQWdJSFJwYldVZ0ppWWdLRnh1SUNBZ0lDQWdQRTkyWlhKMmFXVjNTWFJsYlQ1Y2JpQWdJQ0FnSUNBZ1BGTjBlV3hsWkZScGJXVWdMejVjYmlBZ0lDQWdJQ0FnUEZCMVlteHBjMmhsWkNCMGFYUnNaVDE3ZFhScGJITXVabTl5YldGMFJHRjBaU2gwYVcxbEtYMCtYRzRnSUNBZ0lDQWdJQ0FnZTNRb0ozQmhZMnRoWjJVdWNIVmliR2x6YUdWa0xXOXVKeXdnZXlCMGFXMWxPaUIxZEdsc2N5NW1iM0p0WVhSRVlYUmxSR2x6ZEdGdVkyVW9kR2x0WlNrZ2ZTbDlYRzRnSUNBZ0lDQWdJRHd2VUhWaWJHbHphR1ZrUGx4dUlDQWdJQ0FnUEM5UGRtVnlkbWxsZDBsMFpXMCtYRzRnSUNBZ0tUdGNibHh1SUNCamIyNXpkQ0J5Wlc1a1pYSkliMjFsVUdGblpVeHBibXNnUFNBb0tUb2dVbVZoWTNRdVVtVmhZM1JPYjJSbElEMCtYRzRnSUNBZ2FHOXRaWEJoWjJVZ0ppWmNiaUFnSUNCMWNtd3VhWE5WVWt3b2FHOXRaWEJoWjJVcElDWW1JQ2hjYmlBZ0lDQWdJRHhNYVc1clJYaDBaWEp1WVd3Z2RHODllMmh2YldWd1lXZGxmVDVjYmlBZ0lDQWdJQ0FnUEZSdmIyeDBhWEFnWVhKcFlTMXNZV0psYkQxN2RDZ25jR0ZqYTJGblpTNW9iMjFsY0dGblpTY3BmU0IwYVhSc1pUMTdkQ2duY0dGamEyRm5aUzUyYVhOcGRDMW9iMjFsTFhCaFoyVW5LWDArWEc0Z0lDQWdJQ0FnSUNBZ1BFbGpiMjVDZFhSMGIyNGdZWEpwWVMxc1lXSmxiRDE3ZENnbmNHRmphMkZuWlM1b2IyMWxjR0ZuWlNjcGZTQmpiMnh2Y2oxY0luQnlhVzFoY25sY0lpQnphWHBsUFZ3aWJHRnlaMlZjSWo1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHhJYjIxbFNXTnZiaUF2UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZTV052YmtKMWRIUnZiajVjYmlBZ0lDQWdJQ0FnUEM5VWIyOXNkR2x3UGx4dUlDQWdJQ0FnUEM5TWFXNXJSWGgwWlhKdVlXdytYRzRnSUNBZ0tUdGNibHh1SUNCamIyNXpkQ0J5Wlc1a1pYSkNkV2R6VEdsdWF5QTlJQ2dwT2lCU1pXRmpkQzVTWldGamRFNXZaR1VnUFQ1Y2JpQWdJQ0JpZFdkelB5NTFjbXdnSmlaY2JpQWdJQ0IxY213dWFYTlZVa3dvWW5WbmN5NTFjbXdwSUNZbUlDaGNiaUFnSUNBZ0lEeE1hVzVyUlhoMFpYSnVZV3dnZEc4OWUySjFaM011ZFhKc2ZUNWNiaUFnSUNBZ0lDQWdQRlJ2YjJ4MGFYQWdZWEpwWVMxc1lXSmxiRDE3ZENnbmNHRmphMkZuWlM1aWRXZHpKeWw5SUhScGRHeGxQWHQwS0Nkd1lXTnJZV2RsTG05d1pXNHRZVzR0YVhOemRXVW5LWDArWEc0Z0lDQWdJQ0FnSUNBZ1BFbGpiMjVDZFhSMGIyNGdZWEpwWVMxc1lXSmxiRDE3ZENnbmNHRmphMkZuWlM1aWRXZHpKeWw5SUdOdmJHOXlQVndpY0hKcGJXRnllVndpSUhOcGVtVTlYQ0pzWVhKblpWd2lQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BFSjFaMUpsY0c5eWRDQXZQbHh1SUNBZ0lDQWdJQ0FnSUR3dlNXTnZia0oxZEhSdmJqNWNiaUFnSUNBZ0lDQWdQQzlVYjI5c2RHbHdQbHh1SUNBZ0lDQWdQQzlNYVc1clJYaDBaWEp1WVd3K1hHNGdJQ0FnS1R0Y2JseHVJQ0JqYjI1emRDQnlaVzVrWlhKRWIzZHViRzloWkV4cGJtc2dQU0FvS1RvZ1VtVmhZM1F1VW1WaFkzUk9iMlJsSUQwK1hHNGdJQ0FnWkdsemREOHVkR0Z5WW1Gc2JDQW1KbHh1SUNBZ0lIVnliQzVwYzFWU1RDaGthWE4wTG5SaGNtSmhiR3dwSUNZbUlDaGNiaUFnSUNBZ0lEeE1hVzVyWEc0Z0lDQWdJQ0FnSUc5dVEyeHBZMnM5ZXlncElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNCb1lXNWtiR1ZFYjNkdWJHOWhaQ2hrYVhOMExuUmhjbUpoYkd3cE8xeHVJQ0FnSUNBZ0lDQjlmVnh1SUNBZ0lDQWdJQ0IwYnoxY0lpTmNJbHh1SUNBZ0lDQWdQbHh1SUNBZ0lDQWdJQ0E4Vkc5dmJIUnBjRnh1SUNBZ0lDQWdJQ0FnSUdGeWFXRXRiR0ZpWld3OWUzUW9KM0JoWTJ0aFoyVXVaRzkzYm14dllXUW5MQ0I3SUhkb1lYUTZJSFFvSjNCaFkydGhaMlV1ZEdobExYUmhjaTFtYVd4bEp5a2dmU2w5WEc0Z0lDQWdJQ0FnSUNBZ2RHbDBiR1U5ZTNRb0ozQmhZMnRoWjJVdWRHRnlZbUZzYkNjcGZWeHVJQ0FnSUNBZ0lDQStYRzRnSUNBZ0lDQWdJQ0FnUEVsamIyNUNkWFIwYjI1Y2JpQWdJQ0FnSUNBZ0lDQWdJR0Z5YVdFdGJHRmlaV3c5ZTNRb0ozQmhZMnRoWjJVdVpHOTNibXh2WVdRbktYMWNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJHOXlQVndpY0hKcGJXRnllVndpWEc0Z0lDQWdJQ0FnSUNBZ0lDQmtZWFJoTFhSbGMzUnBaRDFjSW1SdmQyNXNiMkZrTFhSaGNtSmhiR3hjSWx4dUlDQWdJQ0FnSUNBZ0lDQWdjMmw2WlQxY0lteGhjbWRsWENKY2JpQWdJQ0FnSUNBZ0lDQStYRzRnSUNBZ0lDQWdJQ0FnSUNCN2FYTk1iMkZrYVc1bklEOGdQRU5wY21OMWJHRnlVSEp2WjNKbGMzTWdjMmw2WlQxN01UTjlJQzgrSURvZ1BFUnZkMjVzYjJGa1NXTnZiaUF2UG4xY2JpQWdJQ0FnSUNBZ0lDQThMMGxqYjI1Q2RYUjBiMjQrWEc0Z0lDQWdJQ0FnSUR3dlZHOXZiSFJwY0Q1Y2JpQWdJQ0FnSUR3dlRHbHVhejVjYmlBZ0lDQXBPMXh1WEc0Z0lHTnZibk4wSUhKbGJtUmxjbEJ5YVcxaGNubERiMjF3YjI1bGJuUWdQU0FvS1RvZ1VtVmhZM1F1VW1WaFkzUk9iMlJsSUQwK0lIdGNiaUFnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnUEVkeWFXUWdZV3hwWjI1SmRHVnRjejFjSW1ObGJuUmxjbHdpSUdOdmJuUmhhVzVsY2oxN2RISjFaWDBnYzJsNlpUMTdleUI0Y3pvZ01USWdmWDBnZDNKaGNEMWNJbmR5WVhCY0lqNWNiaUFnSUNBZ0lDQWdQRWR5YVdRZ2MybDZaVDFjSW1keWIzZGNJajVjYmlBZ0lDQWdJQ0FnSUNBOFYzSmhjSEJsY2t4cGJtc2dkRzg5ZTJBa2UxSnZkWFJsTGtSRlZFRkpUSDBrZTNCaFkydGhaMlZPWVcxbGZXQjlQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BGQmhZMnRoWjJWVWFYUnNaU0JqYkdGemMwNWhiV1U5WENKd1lXTnJZV2RsTFhScGRHeGxYQ0lnWkdGMFlTMTBaWE4wYVdROVhDSndZV05yWVdkbExYUnBkR3hsWENJK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUh0d1lXTnJZV2RsVG1GdFpYMWNiaUFnSUNBZ0lDQWdJQ0FnSUR3dlVHRmphMkZuWlZScGRHeGxQbHh1SUNBZ0lDQWdJQ0FnSUR3dlYzSmhjSEJsY2t4cGJtcytYRzRnSUNBZ0lDQWdJRHd2UjNKcFpENWNiaUFnSUNBZ0lDQWdQRWR5YVdSU2FXZG9kRUZzYVdkdVpXUWdjMmw2WlQxY0ltRjFkRzljSWo1Y2JpQWdJQ0FnSUNBZ0lDQjdjbVZ1WkdWeVNHOXRaVkJoWjJWTWFXNXJLQ2w5WEc0Z0lDQWdJQ0FnSUNBZ2UzSmxibVJsY2tKMVozTk1hVzVyS0NsOVhHNGdJQ0FnSUNBZ0lDQWdlM05vYjNkRWIzZHViRzloWkNBbUppQnlaVzVrWlhKRWIzZHViRzloWkV4cGJtc29LWDFjYmlBZ0lDQWdJQ0FnUEM5SGNtbGtVbWxuYUhSQmJHbG5ibVZrUGx4dUlDQWdJQ0FnUEM5SGNtbGtQbHh1SUNBZ0lDazdYRzRnSUgwN1hHNWNiaUFnWTI5dWMzUWdjbVZ1WkdWeVUyVmpiMjVrWVhKNVEyOXRjRzl1Wlc1MElEMGdLQ2s2SUZKbFlXTjBMbEpsWVdOMFRtOWtaU0E5UGlBOFJHVnpZM0pwY0hScGIyNCtlMlJsYzJOeWFYQjBhVzl1ZlR3dlJHVnpZM0pwY0hScGIyNCtPMXh1WEc0Z0lHTnZibk4wSUhKbGJtUmxjbEJoWTJ0aFoyVk1hWE4wU1hSbGJWUmxlSFFnUFNBb0tUb2dVbVZoWTNRdVVtVmhZM1JPYjJSbElEMCtJQ2hjYmlBZ0lDQThVR0ZqYTJGblpVeHBjM1JKZEdWdFZHVjRkRnh1SUNBZ0lDQWdjSEpwYldGeWVUMTdjbVZ1WkdWeVVISnBiV0Z5ZVVOdmJYQnZibVZ1ZENncGZWeHVJQ0FnSUNBZ2MyVmpiMjVrWVhKNVBYdHlaVzVrWlhKVFpXTnZibVJoY25sRGIyMXdiMjVsYm5Rb0tYMWNiaUFnSUNBdlBseHVJQ0FwTzF4dVhHNGdJR052Ym5OMElISmxibVJsY2t0bGVYZHZjbVJ6SUQwZ0tDazZJRkpsWVdOMExsSmxZV04wVG05a1pTQTlQaUFvWEc0Z0lDQWdQRXhwYzNSSmRHVnRJR0ZzYVdkdVNYUmxiWE05ZXlkbWJHVjRMWE4wWVhKMEozMGdjM2c5ZTNzZ2NIazZJREFzSUcxNU9pQXdJSDE5UGx4dUlDQWdJQ0FnUEV4cGMzUWdjM2c5ZTNzZ2NEb2dNQ3dnYlhrNklEQWdmWDArWEc0Z0lDQWdJQ0FnSUR4TFpYbDNiM0prVEdsemRFbDBaVzF6SUd0bGVYZHZjbVJ6UFh0clpYbDNiM0prYzMwZ0x6NWNiaUFnSUNBZ0lEd3ZUR2x6ZEQ1Y2JpQWdJQ0E4TDB4cGMzUkpkR1Z0UGx4dUlDQXBPMXh1WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEZkeVlYQndaWElnWTJ4aGMzTk9ZVzFsUFhzbmNHRmphMkZuWlNkOUlHUmhkR0V0ZEdWemRHbGtQVndpY0dGamEyRm5aUzFwZEdWdExXeHBjM1JjSWo1Y2JpQWdJQ0FnSUR4TWFYTjBTWFJsYlNCaGJHbG5ia2wwWlcxelBYc25abXhsZUMxemRHRnlkQ2Q5SUhONFBYdDdJRzFpT2lBd0lIMTlQbHh1SUNBZ0lDQWdJQ0I3Y21WdVpHVnlVR0ZqYTJGblpVeHBjM1JKZEdWdFZHVjRkQ2dwZlZ4dUlDQWdJQ0FnUEM5TWFYTjBTWFJsYlQ1Y2JpQWdJQ0FnSUh0clpYbDNiM0prY3lBbUppQnJaWGwzYjNKa2N6OHViR1Z1WjNSb0lENGdNQ0EvSUhKbGJtUmxja3RsZVhkdmNtUnpLQ2tnT2lCdWRXeHNmVnh1SUNBZ0lDQWdQRXhwYzNSSmRHVnRJR0ZzYVdkdVNYUmxiWE05ZXlkbWJHVjRMWE4wWVhKMEozMGdjM2c5ZTNzZ2JYUTZJREFnZlgwK1hHNGdJQ0FnSUNBZ0lIdHlaVzVrWlhKQmRYUm9iM0pKYm1adktDbDlYRzRnSUNBZ0lDQWdJSHR5Wlc1a1pYSldaWEp6YVc5dVNXNW1ieWdwZlZ4dUlDQWdJQ0FnSUNCN2NtVnVaR1Z5VUhWaWJHbHphR1ZrU1c1bWJ5Z3BmVnh1SUNBZ0lDQWdJQ0I3Y21WdVpHVnlSbWxzWlZOcGVtVW9LWDFjYmlBZ0lDQWdJQ0FnZTNKbGJtUmxja3hwWTJWdWMyVkpibVp2S0NsOVhHNGdJQ0FnSUNBOEwweHBjM1JKZEdWdFBseHVJQ0FnSUR3dlYzSmhjSEJsY2o1Y2JpQWdLVHRjYm4wN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElGQmhZMnRoWjJVN1hHNWNibU52Ym5OMElHbGpiMjVUZEhsc1pTQTlJQ2g3SUhSb1pXMWxJSDA2SUhzZ2RHaGxiV1U2SUZSb1pXMWxJSDBwSUQwK0lHTnpjMkJjYmlBZ2JXRnlaMmx1T2lBd0lERXdjSGdnTUNBd08xeHVJQ0JtYVd4c09pQWtlM1JvWlcxbExuQmhiR1YwZEdVdWJXOWtaU0E5UFQwZ0oyeHBaMmgwSnlBL0lHZHlaWGxiT1RBd1hTQTZJR052YlcxdmJpNTNhR2wwWlgwN1hHNWdPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUldaWEp6YVc5dUlEMGdjM1I1YkdWa0tGWmxjbk5wYjI0cFlGeHVJQ0FrZTJsamIyNVRkSGxzWlgwN1hHNWdPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUkdhV3hsUW1sdVlYSjVJRDBnYzNSNWJHVmtLRVpwYkdWQ2FXNWhjbmtwWUZ4dUlDQWtlMmxqYjI1VGRIbHNaWDA3WEc1Z08xeHVYRzVqYjI1emRDQlRkSGxzWldSTVlYY2dQU0J6ZEhsc1pXUW9UR0YzS1dCY2JpQWdKSHRwWTI5dVUzUjViR1Y5TzF4dVlEdGNibHh1WTI5dWMzUWdVM1I1YkdWa1ZHbHRaU0E5SUhOMGVXeGxaQ2hVYVcxbEtXQmNiaUFnSkh0cFkyOXVVM1I1YkdWOU8xeHVZRHRjYmlKZGZRPT0gKi9cIikpO1xudmFyIFN0eWxlZFRpbWUgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChUaW1lLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlYzRpZ2xuMFwiIH0gOiB7XG5cdHRhcmdldDogXCJlYzRpZ2xuMFwiLFxuXHRsYWJlbDogXCJTdHlsZWRUaW1lXCJcbn0pKGljb25TdHlsZSwgXCI7XCIgKyAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVFZV05yWVdkbEwxQmhZMnRoWjJVdWRITjRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVGhRSzBJaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OWpiMjF3YjI1bGJuUnpMMUJoWTJ0aFoyVXZVR0ZqYTJGblpTNTBjM2dpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnZXlCamMzTWdmU0JtY205dElDZEFaVzF2ZEdsdmJpOXlaV0ZqZENjN1hHNXBiWEJ2Y25RZ2MzUjViR1ZrSUdaeWIyMGdKMEJsYlc5MGFXOXVMM04wZVd4bFpDYzdYRzVwYlhCdmNuUWdRblZuVW1Wd2IzSjBJR1p5YjIwZ0owQnRkV2t2YVdOdmJuTXRiV0YwWlhKcFlXd3ZRblZuVW1Wd2IzSjBKenRjYm1sdGNHOXlkQ0JFYjNkdWJHOWhaRWxqYjI0Z1puSnZiU0FuUUcxMWFTOXBZMjl1Y3kxdFlYUmxjbWxoYkM5RGJHOTFaRVJ2ZDI1c2IyRmtKenRjYm1sdGNHOXlkQ0JJYjIxbFNXTnZiaUJtY205dElDZEFiWFZwTDJsamIyNXpMVzFoZEdWeWFXRnNMMGh2YldVbk8xeHVhVzF3YjNKMElFTnBjbU4xYkdGeVVISnZaM0psYzNNZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOURhWEpqZFd4aGNsQnliMmR5WlhOekp6dGNibWx0Y0c5eWRDQkhjbWxrSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlIzSnBaQ2M3WEc1cGJYQnZjblFnVEdsemRDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMHhwYzNRbk8xeHVhVzF3YjNKMElFeHBjM1JKZEdWdElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZEVsMFpXMG5PMXh1YVcxd2IzSjBJRlJ2YjJ4MGFYQWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlVYjI5c2RHbHdKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaXdnWjNKbGVTQjlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2WTI5c2IzSnpKenRjYm1sdGNHOXlkQ0JTWldGamRDd2dleUIxYzJWRFlXeHNZbUZqYXlCOUlHWnliMjBnSjNKbFlXTjBKenRjYm1sdGNHOXlkQ0I3SUhWelpWUnlZVzV6YkdGMGFXOXVJSDBnWm5KdmJTQW5jbVZoWTNRdGFURTRibVY0ZENjN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOG5PMXh1YVcxd2IzSjBJSHNnVEdsdWF5d2dUR2x1YTBWNGRHVnlibUZzTENCMWMyVkViM2R1Ykc5aFpDd2dkWE5sVFdGdWFXWmxjM1J6SUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYm1sdGNHOXlkQ0I3SUVacGJHVkNhVzVoY25rc0lFeGhkeXdnVkdsdFpTd2dWbVZ5YzJsdmJpQjlJR1p5YjIwZ0p5NHVMeTR1TDJOdmJYQnZibVZ1ZEhNdlNXTnZibk1uTzF4dWFXMXdiM0owSUhzZ1oyVjBRMjl1Wm1sbmRYSmhkR2x2YmlCOUlHWnliMjBnSnk0dUx5NHVMMk52Ym1acFozVnlZWFJwYjI0bk8xeHVhVzF3YjNKMElIUjVjR1VnZXlCQmRYUm9iM0lnWVhNZ1VHRmphMkZuWlVGMWRHaHZjaUI5SUdaeWIyMGdKeTR1THk0dUwzQnliM1pwWkdWeWN5OU5ZVzVwWm1WemRITlFjbTkyYVdSbGNpOU5ZVzVwWm1WemRITlFjbTkyYVdSbGNpYzdYRzVwYlhCdmNuUWdkSGx3WlNCN0lGQmhZMnRoWjJWTlpYUmhTVzUwWlhKbVlXTmxJSDBnWm5KdmJTQW5MaTR2TGk0dmRIbHdaWE12Y0dGamEyRm5aVTFsZEdFbk8xeHVhVzF3YjNKMElIc2dVbTkxZEdVc0lIVnliQ3dnZFhScGJITWdmU0JtY205dElDY3VMaTh1TGk5MWRHbHNjeWM3WEc1cGJYQnZjblFnUzJWNWQyOXlaRXhwYzNSSmRHVnRjeUJtY205dElDY3VMaTlMWlhsM2IzSmtjeTlMWlhsM2IzSmtUR2x6ZEVsMFpXMXpKenRjYm1sdGNHOXlkQ0I3WEc0Z0lFRjFkR2h2Y2l4Y2JpQWdRWFpoZEdGeUxGeHVJQ0JFWlhOamNtbHdkR2x2Yml4Y2JpQWdSR1YwWVdsc2N5eGNiaUFnUjNKcFpGSnBaMmgwUVd4cFoyNWxaQ3hjYmlBZ1NXTnZia0oxZEhSdmJpeGNiaUFnVDNabGNuWnBaWGRKZEdWdExGeHVJQ0JRWVdOcllXZGxUR2x6ZEVsMFpXMVVaWGgwTEZ4dUlDQlFZV05yWVdkbFZHbDBiR1VzWEc0Z0lGQjFZbXhwYzJobFpDeGNiaUFnVjNKaGNIQmxjaXhjYmlBZ1YzSmhjSEJsY2t4cGJtc3NYRzU5SUdaeWIyMGdKeTR2YzNSNWJHVnpKenRjYmx4dWFXNTBaWEptWVdObElFSjFaM01nZTF4dUlDQjFjbXc2SUhOMGNtbHVaenRjYm4xY2JseHVhVzUwWlhKbVlXTmxJRVJwYzNRZ2UxeHVJQ0IxYm5CaFkydGxaRk5wZW1VNklHNTFiV0psY2p0Y2JpQWdkR0Z5WW1Gc2JEb2djM1J5YVc1bk8xeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZCaFkydGhaMlZKYm5SbGNtWmhZMlVnZTF4dUlDQnVZVzFsT2lCemRISnBibWM3WEc0Z0lIWmxjbk5wYjI0NklITjBjbWx1Wnp0Y2JpQWdkR2x0WlQ4NklHNTFiV0psY2lCOElITjBjbWx1Wnp0Y2JpQWdZWFYwYUc5eU9pQlFZV05yWVdkbFFYVjBhRzl5TzF4dUlDQmtaWE5qY21sd2RHbHZiajg2SUhOMGNtbHVaenRjYmlBZ2EyVjVkMjl5WkhNL09pQlFZV05yWVdkbFRXVjBZVWx1ZEdWeVptRmpaVnNuYkdGMFpYTjBKMTFiSjJ0bGVYZHZjbVJ6SjEwN1hHNGdJR3hwWTJWdWMyVS9PaUJRWVdOcllXZGxUV1YwWVVsdWRHVnlabUZqWlZzbmJHRjBaWE4wSjExYkoyeHBZMlZ1YzJVblhUdGNiaUFnYUc5dFpYQmhaMlUvT2lCemRISnBibWM3WEc0Z0lHSjFaM00vT2lCQ2RXZHpPMXh1SUNCa2FYTjBQem9nUkdsemREdGNiaUFnYzJodmQwUnZkMjVzYjJGa1B6b2dZbTl2YkdWaGJqdGNibjFjYmx4dVkyOXVjM1FnVUdGamEyRm5aVG9nVW1WaFkzUXVSa004VUdGamEyRm5aVWx1ZEdWeVptRmpaVDRnUFNBb2UxeHVJQ0JoZFhSb2IzSTZJSHNnYm1GdFpUb2dZWFYwYUc5eVRtRnRaU3dnWVhaaGRHRnlPaUJoZFhSb2IzSkJkbUYwWVhJZ2ZTeGNiaUFnWW5WbmN5eGNiaUFnWkdWelkzSnBjSFJwYjI0c1hHNGdJR1JwYzNRc1hHNGdJR2h2YldWd1lXZGxMRnh1SUNCclpYbDNiM0prY3l4Y2JpQWdiR2xqWlc1elpTeGNiaUFnYm1GdFpUb2djR0ZqYTJGblpVNWhiV1VzWEc0Z0lIUnBiV1VzWEc0Z0lITm9iM2RFYjNkdWJHOWhaQ0E5SUhSeWRXVXNYRzRnSUhabGNuTnBiMjRzWEc1OUtTQTlQaUI3WEc0Z0lHTnZibk4wSUdOdmJtWnBaeUE5SUdkbGRFTnZibVpwWjNWeVlYUnBiMjRvS1R0Y2JpQWdZMjl1YzNRZ2V5QjBJSDBnUFNCMWMyVlVjbUZ1YzJ4aGRHbHZiaWdwTzF4dUlDQmpiMjV6ZENCN0lHbHpURzloWkdsdVp5QjlJRDBnZFhObFRXRnVhV1psYzNSektDazdYRzRnSUdOdmJuTjBJSHNnWkc5M2JteHZZV1JVWVhKaVlXeHNJSDBnUFNCMWMyVkViM2R1Ykc5aFpDZ3BPMXh1WEc0Z0lHTnZibk4wSUdoaGJtUnNaVVJ2ZDI1c2IyRmtJRDBnZFhObFEyRnNiR0poWTJzb1hHNGdJQ0FnWVhONWJtTWdLSFJoY21KaGJHeEVhWE4wT2lCemRISnBibWNwSUQwK0lIdGNiaUFnSUNBZ0lDOHZJRVpKV0UxRk9pQmphR1ZqYXl3Z2RHaGxJR1JwYzNRZ2JXbG5hSFFnWW1VZ1pHbG1abVZ5Wlc1MElIUm9ZVzUwSUc1d2JXcHpYRzRnSUNBZ0lDQmpiMjV6ZENCc2FXNXJJRDBnZEdGeVltRnNiRVJwYzNRdWNtVndiR0ZqWlNoZ2FIUjBjSE02THk5eVpXZHBjM1J5ZVM1dWNHMXFjeTV2Y21jdllDd2dZMjl1Wm1sbkxtSmhjMlVwTzF4dUlDQWdJQ0FnWkc5M2JteHZZV1JVWVhKaVlXeHNQeTRvZXlCc2FXNXJJSDBwTzF4dUlDQWdJSDBzWEc0Z0lDQWdXMk52Ym1acFp5d2daRzkzYm14dllXUlVZWEppWVd4c1hWeHVJQ0FwTzF4dVhHNGdJR052Ym5OMElISmxibVJsY2xabGNuTnBiMjVKYm1adklEMGdLQ2s2SUZKbFlXTjBMbEpsWVdOMFRtOWtaU0E5UGx4dUlDQWdJSFpsY25OcGIyNGdKaVlnS0Z4dUlDQWdJQ0FnUEU5MlpYSjJhV1YzU1hSbGJUNWNiaUFnSUNBZ0lDQWdQRk4wZVd4bFpGWmxjbk5wYjI0Z0x6NWNiaUFnSUNBZ0lDQWdlM1FvSjNCaFkydGhaMlV1ZG1WeWMybHZiaWNzSUhzZ2RtVnljMmx2YmlCOUtYMWNiaUFnSUNBZ0lEd3ZUM1psY25acFpYZEpkR1Z0UGx4dUlDQWdJQ2s3WEc1Y2JpQWdZMjl1YzNRZ2NtVnVaR1Z5UVhWMGFHOXlTVzVtYnlBOUlDZ3BPaUJTWldGamRDNVNaV0ZqZEU1dlpHVWdQVDRnZTF4dUlDQWdJR052Ym5OMElHNWhiV1VnUFNCMWRHbHNjeTVuWlhSQmRYUm9iM0pPWVcxbEtHRjFkR2h2Y2s1aGJXVXBPMXh1SUNBZ0lISmxkSFZ5YmlBb1hHNGdJQ0FnSUNBOFQzWmxjblpwWlhkSmRHVnRQbHh1SUNBZ0lDQWdJQ0E4UVhWMGFHOXlQbHh1SUNBZ0lDQWdJQ0FnSUR4QmRtRjBZWElnWVd4MFBYdHVZVzFsZlNCemNtTTllMkYxZEdodmNrRjJZWFJoY24wZ0x6NWNiaUFnSUNBZ0lDQWdJQ0E4UkdWMFlXbHNjejU3Ym1GdFpYMDhMMFJsZEdGcGJITStYRzRnSUNBZ0lDQWdJRHd2UVhWMGFHOXlQbHh1SUNBZ0lDQWdQQzlQZG1WeWRtbGxkMGwwWlcwK1hHNGdJQ0FnS1R0Y2JpQWdmVHRjYmx4dUlDQmpiMjV6ZENCeVpXNWtaWEpHYVd4bFUybDZaU0E5SUNncE9pQlNaV0ZqZEM1U1pXRmpkRTV2WkdVZ1BUNWNiaUFnSUNCa2FYTjBQeTUxYm5CaFkydGxaRk5wZW1VZ0ppWWdLRnh1SUNBZ0lDQWdQRTkyWlhKMmFXVjNTWFJsYlQ1Y2JpQWdJQ0FnSUNBZ1BGTjBlV3hsWkVacGJHVkNhVzVoY25rZ0x6NWNiaUFnSUNBZ0lDQWdlM1YwYVd4ekxtWnBiR1ZUYVhwbFUwa29aR2x6ZEM1MWJuQmhZMnRsWkZOcGVtVXBmVnh1SUNBZ0lDQWdQQzlQZG1WeWRtbGxkMGwwWlcwK1hHNGdJQ0FnS1R0Y2JseHVJQ0JqYjI1emRDQnlaVzVrWlhKTWFXTmxibk5sU1c1bWJ5QTlJQ2dwT2lCU1pXRmpkQzVTWldGamRFNXZaR1VnUFQ1Y2JpQWdJQ0JzYVdObGJuTmxJQ1ltSUNoY2JpQWdJQ0FnSUR4UGRtVnlkbWxsZDBsMFpXMCtYRzRnSUNBZ0lDQWdJRHhUZEhsc1pXUk1ZWGNnTHo1Y2JpQWdJQ0FnSUNBZ2UyeHBZMlZ1YzJVZ1lYTWdjM1J5YVc1bmZWeHVJQ0FnSUNBZ1BDOVBkbVZ5ZG1sbGQwbDBaVzArWEc0Z0lDQWdLVHRjYmx4dUlDQmpiMjV6ZENCeVpXNWtaWEpRZFdKc2FYTm9aV1JKYm1adklEMGdLQ2s2SUZKbFlXTjBMbEpsWVdOMFRtOWtaU0E5UGx4dUlDQWdJSFJwYldVZ0ppWWdLRnh1SUNBZ0lDQWdQRTkyWlhKMmFXVjNTWFJsYlQ1Y2JpQWdJQ0FnSUNBZ1BGTjBlV3hsWkZScGJXVWdMejVjYmlBZ0lDQWdJQ0FnUEZCMVlteHBjMmhsWkNCMGFYUnNaVDE3ZFhScGJITXVabTl5YldGMFJHRjBaU2gwYVcxbEtYMCtYRzRnSUNBZ0lDQWdJQ0FnZTNRb0ozQmhZMnRoWjJVdWNIVmliR2x6YUdWa0xXOXVKeXdnZXlCMGFXMWxPaUIxZEdsc2N5NW1iM0p0WVhSRVlYUmxSR2x6ZEdGdVkyVW9kR2x0WlNrZ2ZTbDlYRzRnSUNBZ0lDQWdJRHd2VUhWaWJHbHphR1ZrUGx4dUlDQWdJQ0FnUEM5UGRtVnlkbWxsZDBsMFpXMCtYRzRnSUNBZ0tUdGNibHh1SUNCamIyNXpkQ0J5Wlc1a1pYSkliMjFsVUdGblpVeHBibXNnUFNBb0tUb2dVbVZoWTNRdVVtVmhZM1JPYjJSbElEMCtYRzRnSUNBZ2FHOXRaWEJoWjJVZ0ppWmNiaUFnSUNCMWNtd3VhWE5WVWt3b2FHOXRaWEJoWjJVcElDWW1JQ2hjYmlBZ0lDQWdJRHhNYVc1clJYaDBaWEp1WVd3Z2RHODllMmh2YldWd1lXZGxmVDVjYmlBZ0lDQWdJQ0FnUEZSdmIyeDBhWEFnWVhKcFlTMXNZV0psYkQxN2RDZ25jR0ZqYTJGblpTNW9iMjFsY0dGblpTY3BmU0IwYVhSc1pUMTdkQ2duY0dGamEyRm5aUzUyYVhOcGRDMW9iMjFsTFhCaFoyVW5LWDArWEc0Z0lDQWdJQ0FnSUNBZ1BFbGpiMjVDZFhSMGIyNGdZWEpwWVMxc1lXSmxiRDE3ZENnbmNHRmphMkZuWlM1b2IyMWxjR0ZuWlNjcGZTQmpiMnh2Y2oxY0luQnlhVzFoY25sY0lpQnphWHBsUFZ3aWJHRnlaMlZjSWo1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHhJYjIxbFNXTnZiaUF2UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZTV052YmtKMWRIUnZiajVjYmlBZ0lDQWdJQ0FnUEM5VWIyOXNkR2x3UGx4dUlDQWdJQ0FnUEM5TWFXNXJSWGgwWlhKdVlXdytYRzRnSUNBZ0tUdGNibHh1SUNCamIyNXpkQ0J5Wlc1a1pYSkNkV2R6VEdsdWF5QTlJQ2dwT2lCU1pXRmpkQzVTWldGamRFNXZaR1VnUFQ1Y2JpQWdJQ0JpZFdkelB5NTFjbXdnSmlaY2JpQWdJQ0IxY213dWFYTlZVa3dvWW5WbmN5NTFjbXdwSUNZbUlDaGNiaUFnSUNBZ0lEeE1hVzVyUlhoMFpYSnVZV3dnZEc4OWUySjFaM011ZFhKc2ZUNWNiaUFnSUNBZ0lDQWdQRlJ2YjJ4MGFYQWdZWEpwWVMxc1lXSmxiRDE3ZENnbmNHRmphMkZuWlM1aWRXZHpKeWw5SUhScGRHeGxQWHQwS0Nkd1lXTnJZV2RsTG05d1pXNHRZVzR0YVhOemRXVW5LWDArWEc0Z0lDQWdJQ0FnSUNBZ1BFbGpiMjVDZFhSMGIyNGdZWEpwWVMxc1lXSmxiRDE3ZENnbmNHRmphMkZuWlM1aWRXZHpKeWw5SUdOdmJHOXlQVndpY0hKcGJXRnllVndpSUhOcGVtVTlYQ0pzWVhKblpWd2lQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BFSjFaMUpsY0c5eWRDQXZQbHh1SUNBZ0lDQWdJQ0FnSUR3dlNXTnZia0oxZEhSdmJqNWNiaUFnSUNBZ0lDQWdQQzlVYjI5c2RHbHdQbHh1SUNBZ0lDQWdQQzlNYVc1clJYaDBaWEp1WVd3K1hHNGdJQ0FnS1R0Y2JseHVJQ0JqYjI1emRDQnlaVzVrWlhKRWIzZHViRzloWkV4cGJtc2dQU0FvS1RvZ1VtVmhZM1F1VW1WaFkzUk9iMlJsSUQwK1hHNGdJQ0FnWkdsemREOHVkR0Z5WW1Gc2JDQW1KbHh1SUNBZ0lIVnliQzVwYzFWU1RDaGthWE4wTG5SaGNtSmhiR3dwSUNZbUlDaGNiaUFnSUNBZ0lEeE1hVzVyWEc0Z0lDQWdJQ0FnSUc5dVEyeHBZMnM5ZXlncElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNCb1lXNWtiR1ZFYjNkdWJHOWhaQ2hrYVhOMExuUmhjbUpoYkd3cE8xeHVJQ0FnSUNBZ0lDQjlmVnh1SUNBZ0lDQWdJQ0IwYnoxY0lpTmNJbHh1SUNBZ0lDQWdQbHh1SUNBZ0lDQWdJQ0E4Vkc5dmJIUnBjRnh1SUNBZ0lDQWdJQ0FnSUdGeWFXRXRiR0ZpWld3OWUzUW9KM0JoWTJ0aFoyVXVaRzkzYm14dllXUW5MQ0I3SUhkb1lYUTZJSFFvSjNCaFkydGhaMlV1ZEdobExYUmhjaTFtYVd4bEp5a2dmU2w5WEc0Z0lDQWdJQ0FnSUNBZ2RHbDBiR1U5ZTNRb0ozQmhZMnRoWjJVdWRHRnlZbUZzYkNjcGZWeHVJQ0FnSUNBZ0lDQStYRzRnSUNBZ0lDQWdJQ0FnUEVsamIyNUNkWFIwYjI1Y2JpQWdJQ0FnSUNBZ0lDQWdJR0Z5YVdFdGJHRmlaV3c5ZTNRb0ozQmhZMnRoWjJVdVpHOTNibXh2WVdRbktYMWNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJHOXlQVndpY0hKcGJXRnllVndpWEc0Z0lDQWdJQ0FnSUNBZ0lDQmtZWFJoTFhSbGMzUnBaRDFjSW1SdmQyNXNiMkZrTFhSaGNtSmhiR3hjSWx4dUlDQWdJQ0FnSUNBZ0lDQWdjMmw2WlQxY0lteGhjbWRsWENKY2JpQWdJQ0FnSUNBZ0lDQStYRzRnSUNBZ0lDQWdJQ0FnSUNCN2FYTk1iMkZrYVc1bklEOGdQRU5wY21OMWJHRnlVSEp2WjNKbGMzTWdjMmw2WlQxN01UTjlJQzgrSURvZ1BFUnZkMjVzYjJGa1NXTnZiaUF2UG4xY2JpQWdJQ0FnSUNBZ0lDQThMMGxqYjI1Q2RYUjBiMjQrWEc0Z0lDQWdJQ0FnSUR3dlZHOXZiSFJwY0Q1Y2JpQWdJQ0FnSUR3dlRHbHVhejVjYmlBZ0lDQXBPMXh1WEc0Z0lHTnZibk4wSUhKbGJtUmxjbEJ5YVcxaGNubERiMjF3YjI1bGJuUWdQU0FvS1RvZ1VtVmhZM1F1VW1WaFkzUk9iMlJsSUQwK0lIdGNiaUFnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnUEVkeWFXUWdZV3hwWjI1SmRHVnRjejFjSW1ObGJuUmxjbHdpSUdOdmJuUmhhVzVsY2oxN2RISjFaWDBnYzJsNlpUMTdleUI0Y3pvZ01USWdmWDBnZDNKaGNEMWNJbmR5WVhCY0lqNWNiaUFnSUNBZ0lDQWdQRWR5YVdRZ2MybDZaVDFjSW1keWIzZGNJajVjYmlBZ0lDQWdJQ0FnSUNBOFYzSmhjSEJsY2t4cGJtc2dkRzg5ZTJBa2UxSnZkWFJsTGtSRlZFRkpUSDBrZTNCaFkydGhaMlZPWVcxbGZXQjlQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BGQmhZMnRoWjJWVWFYUnNaU0JqYkdGemMwNWhiV1U5WENKd1lXTnJZV2RsTFhScGRHeGxYQ0lnWkdGMFlTMTBaWE4wYVdROVhDSndZV05yWVdkbExYUnBkR3hsWENJK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUh0d1lXTnJZV2RsVG1GdFpYMWNiaUFnSUNBZ0lDQWdJQ0FnSUR3dlVHRmphMkZuWlZScGRHeGxQbHh1SUNBZ0lDQWdJQ0FnSUR3dlYzSmhjSEJsY2t4cGJtcytYRzRnSUNBZ0lDQWdJRHd2UjNKcFpENWNiaUFnSUNBZ0lDQWdQRWR5YVdSU2FXZG9kRUZzYVdkdVpXUWdjMmw2WlQxY0ltRjFkRzljSWo1Y2JpQWdJQ0FnSUNBZ0lDQjdjbVZ1WkdWeVNHOXRaVkJoWjJWTWFXNXJLQ2w5WEc0Z0lDQWdJQ0FnSUNBZ2UzSmxibVJsY2tKMVozTk1hVzVyS0NsOVhHNGdJQ0FnSUNBZ0lDQWdlM05vYjNkRWIzZHViRzloWkNBbUppQnlaVzVrWlhKRWIzZHViRzloWkV4cGJtc29LWDFjYmlBZ0lDQWdJQ0FnUEM5SGNtbGtVbWxuYUhSQmJHbG5ibVZrUGx4dUlDQWdJQ0FnUEM5SGNtbGtQbHh1SUNBZ0lDazdYRzRnSUgwN1hHNWNiaUFnWTI5dWMzUWdjbVZ1WkdWeVUyVmpiMjVrWVhKNVEyOXRjRzl1Wlc1MElEMGdLQ2s2SUZKbFlXTjBMbEpsWVdOMFRtOWtaU0E5UGlBOFJHVnpZM0pwY0hScGIyNCtlMlJsYzJOeWFYQjBhVzl1ZlR3dlJHVnpZM0pwY0hScGIyNCtPMXh1WEc0Z0lHTnZibk4wSUhKbGJtUmxjbEJoWTJ0aFoyVk1hWE4wU1hSbGJWUmxlSFFnUFNBb0tUb2dVbVZoWTNRdVVtVmhZM1JPYjJSbElEMCtJQ2hjYmlBZ0lDQThVR0ZqYTJGblpVeHBjM1JKZEdWdFZHVjRkRnh1SUNBZ0lDQWdjSEpwYldGeWVUMTdjbVZ1WkdWeVVISnBiV0Z5ZVVOdmJYQnZibVZ1ZENncGZWeHVJQ0FnSUNBZ2MyVmpiMjVrWVhKNVBYdHlaVzVrWlhKVFpXTnZibVJoY25sRGIyMXdiMjVsYm5Rb0tYMWNiaUFnSUNBdlBseHVJQ0FwTzF4dVhHNGdJR052Ym5OMElISmxibVJsY2t0bGVYZHZjbVJ6SUQwZ0tDazZJRkpsWVdOMExsSmxZV04wVG05a1pTQTlQaUFvWEc0Z0lDQWdQRXhwYzNSSmRHVnRJR0ZzYVdkdVNYUmxiWE05ZXlkbWJHVjRMWE4wWVhKMEozMGdjM2c5ZTNzZ2NIazZJREFzSUcxNU9pQXdJSDE5UGx4dUlDQWdJQ0FnUEV4cGMzUWdjM2c5ZTNzZ2NEb2dNQ3dnYlhrNklEQWdmWDArWEc0Z0lDQWdJQ0FnSUR4TFpYbDNiM0prVEdsemRFbDBaVzF6SUd0bGVYZHZjbVJ6UFh0clpYbDNiM0prYzMwZ0x6NWNiaUFnSUNBZ0lEd3ZUR2x6ZEQ1Y2JpQWdJQ0E4TDB4cGMzUkpkR1Z0UGx4dUlDQXBPMXh1WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEZkeVlYQndaWElnWTJ4aGMzTk9ZVzFsUFhzbmNHRmphMkZuWlNkOUlHUmhkR0V0ZEdWemRHbGtQVndpY0dGamEyRm5aUzFwZEdWdExXeHBjM1JjSWo1Y2JpQWdJQ0FnSUR4TWFYTjBTWFJsYlNCaGJHbG5ia2wwWlcxelBYc25abXhsZUMxemRHRnlkQ2Q5SUhONFBYdDdJRzFpT2lBd0lIMTlQbHh1SUNBZ0lDQWdJQ0I3Y21WdVpHVnlVR0ZqYTJGblpVeHBjM1JKZEdWdFZHVjRkQ2dwZlZ4dUlDQWdJQ0FnUEM5TWFYTjBTWFJsYlQ1Y2JpQWdJQ0FnSUh0clpYbDNiM0prY3lBbUppQnJaWGwzYjNKa2N6OHViR1Z1WjNSb0lENGdNQ0EvSUhKbGJtUmxja3RsZVhkdmNtUnpLQ2tnT2lCdWRXeHNmVnh1SUNBZ0lDQWdQRXhwYzNSSmRHVnRJR0ZzYVdkdVNYUmxiWE05ZXlkbWJHVjRMWE4wWVhKMEozMGdjM2c5ZTNzZ2JYUTZJREFnZlgwK1hHNGdJQ0FnSUNBZ0lIdHlaVzVrWlhKQmRYUm9iM0pKYm1adktDbDlYRzRnSUNBZ0lDQWdJSHR5Wlc1a1pYSldaWEp6YVc5dVNXNW1ieWdwZlZ4dUlDQWdJQ0FnSUNCN2NtVnVaR1Z5VUhWaWJHbHphR1ZrU1c1bWJ5Z3BmVnh1SUNBZ0lDQWdJQ0I3Y21WdVpHVnlSbWxzWlZOcGVtVW9LWDFjYmlBZ0lDQWdJQ0FnZTNKbGJtUmxja3hwWTJWdWMyVkpibVp2S0NsOVhHNGdJQ0FnSUNBOEwweHBjM1JKZEdWdFBseHVJQ0FnSUR3dlYzSmhjSEJsY2o1Y2JpQWdLVHRjYm4wN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElGQmhZMnRoWjJVN1hHNWNibU52Ym5OMElHbGpiMjVUZEhsc1pTQTlJQ2g3SUhSb1pXMWxJSDA2SUhzZ2RHaGxiV1U2SUZSb1pXMWxJSDBwSUQwK0lHTnpjMkJjYmlBZ2JXRnlaMmx1T2lBd0lERXdjSGdnTUNBd08xeHVJQ0JtYVd4c09pQWtlM1JvWlcxbExuQmhiR1YwZEdVdWJXOWtaU0E5UFQwZ0oyeHBaMmgwSnlBL0lHZHlaWGxiT1RBd1hTQTZJR052YlcxdmJpNTNhR2wwWlgwN1hHNWdPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUldaWEp6YVc5dUlEMGdjM1I1YkdWa0tGWmxjbk5wYjI0cFlGeHVJQ0FrZTJsamIyNVRkSGxzWlgwN1hHNWdPMXh1WEc1amIyNXpkQ0JUZEhsc1pXUkdhV3hsUW1sdVlYSjVJRDBnYzNSNWJHVmtLRVpwYkdWQ2FXNWhjbmtwWUZ4dUlDQWtlMmxqYjI1VGRIbHNaWDA3WEc1Z08xeHVYRzVqYjI1emRDQlRkSGxzWldSTVlYY2dQU0J6ZEhsc1pXUW9UR0YzS1dCY2JpQWdKSHRwWTI5dVUzUjViR1Y5TzF4dVlEdGNibHh1WTI5dWMzUWdVM1I1YkdWa1ZHbHRaU0E5SUhOMGVXeGxaQ2hVYVcxbEtXQmNiaUFnSkh0cFkyOXVVM1I1YkdWOU8xeHVZRHRjYmlKZGZRPT0gKi9cIikpO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBQYWNrYWdlIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9UGFja2FnZS5tanMubWFwIiwiaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG5pbXBvcnQgQ2FyZCBmcm9tIFwiQG11aS9tYXRlcmlhbC9DYXJkXCI7XG4vLyNyZWdpb24gc3JjL2NvbXBvbmVudHMvSGVscC9zdHlsZXMudHNcbmZ1bmN0aW9uIF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fKCkge1xuXHRyZXR1cm4gXCJZb3UgaGF2ZSB0cmllZCB0byBzdHJpbmdpZnkgb2JqZWN0IHJldHVybmVkIGZyb20gYGNzc2AgZnVuY3Rpb24uIEl0IGlzbid0IHN1cHBvc2VkIHRvIGJlIHVzZWQgZGlyZWN0bHkgKGUuZy4gYXMgdmFsdWUgb2YgdGhlIGBjbGFzc05hbWVgIHByb3ApLCBidXQgcmF0aGVyIGhhbmRlZCB0byBlbW90aW9uIHNvIGl0IGNhbiBoYW5kbGUgaXQgKGUuZy4gYXMgdmFsdWUgb2YgYGNzc2AgcHJvcCkuXCI7XG59XG52YXIgQ2FyZFN0eWxlZCA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKENhcmQsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxY3A5cW9hMFwiIH0gOiB7XG5cdHRhcmdldDogXCJlMWNwOXFvYTBcIixcblx0bGFiZWw6IFwiQ2FyZFN0eWxlZFwiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwiYjdxYWJlXCIsXG5cdHN0eWxlczogXCJtYXgtd2lkdGg6NjAwcHg7bWFyZ2luOmF1dG9cIlxufSA6IHtcblx0bmFtZTogXCJiN3FhYmVcIixcblx0c3R5bGVzOiBcIm1heC13aWR0aDo2MDBweDttYXJnaW46YXV0by8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlJWld4d0wzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkhNRUlpTENKbWFXeGxJam9pTDJodmJXVXZjblZ1Ym1WeUwzZHZjbXN2ZG1WeVpHRmpZMmx2TDNabGNtUmhZMk5wYnk5d1lXTnJZV2RsY3k5MWFTMWpiMjF3YjI1bGJuUnpMM055WXk5amIyMXdiMjVsYm5SekwwaGxiSEF2YzNSNWJHVnpMblJ6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVhVzF3YjNKMElFTmhjbVFnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5RFlYSmtKenRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRU5oY21SVGRIbHNaV1FnUFNCemRIbHNaV1FvUTJGeVpDa29lMXh1SUNCdFlYaFhhV1IwYURvZ05qQXdMRnh1SUNCdFlYSm5hVzQ2SUNkaGRYUnZKeXhjYm4wcE8xeHVJbDE5ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IENhcmRTdHlsZWQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3R5bGVzLm1qcy5tYXAiLCJpbXBvcnQgQ29weVRvQ2xpcEJvYXJkIGZyb20gXCIuLi9Db3B5Q2xpcGJvYXJkL0NvcHlUb0NsaXBCb2FyZC5tanNcIjtcbmltcG9ydCB7IHVzZUNvbmZpZyB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvQXBwQ29uZmlndXJhdGlvblByb3ZpZGVyL0FwcENvbmZpZ3VyYXRpb25Qcm92aWRlci5tanNcIjtcbmltcG9ydCBIZWFkaW5nIGZyb20gXCIuLi9IZWFkaW5nL0hlYWRpbmcubWpzXCI7XG5pbXBvcnQgeyBDYXJkU3R5bGVkIH0gZnJvbSBcIi4vc3R5bGVzLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IEZyYWdtZW50IGFzIEZyYWdtZW50JDEgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCBUeXBvZ3JhcGh5IGZyb20gXCJAbXVpL21hdGVyaWFsL1R5cG9ncmFwaHlcIjtcbmltcG9ydCBDYXJkQ29udGVudCBmcm9tIFwiQG11aS9tYXRlcmlhbC9DYXJkQ29udGVudFwiO1xuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiQG11aS9tYXRlcmlhbC9CdXR0b25cIjtcbmltcG9ydCBDYXJkQWN0aW9ucyBmcm9tIFwiQG11aS9tYXRlcmlhbC9DYXJkQWN0aW9uc1wiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0hlbHAvSGVscC50c3hcbmZ1bmN0aW9uIHJlbmRlckhlYWRpbmdDbGlwYm9hcmRTZWdtZW50cyh0aXRsZSwgdGV4dCkge1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoRnJhZ21lbnQkMSwgeyBjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goVHlwb2dyYXBoeSwge1xuXHRcdHZhcmlhbnQ6IFwiYm9keTFcIixcblx0XHRjaGlsZHJlbjogdGl0bGVcblx0fSksIC8qIEBfX1BVUkVfXyAqLyBqc3goQ29weVRvQ2xpcEJvYXJkLCB7XG5cdFx0ZGF0YVRlc3RJZDogXCJzZWdtZW50c1wiLFxuXHRcdHRleHRcblx0fSldIH0pO1xufVxudmFyIEhlbHAgPSAoKSA9PiB7XG5cdGNvbnN0IHsgY29uZmlnT3B0aW9ucyB9ID0gdXNlQ29uZmlnKCk7XG5cdGNvbnN0IHJlZ2lzdHJ5VXJsID0gY29uZmlnT3B0aW9ucy5iYXNlO1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhDYXJkU3R5bGVkLCB7XG5cdFx0XCJkYXRhLXRlc3RpZFwiOiBcImhlbHAtY2FyZFwiLFxuXHRcdGlkOiBcImhlbHAtY2FyZFwiLFxuXHRcdGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeHMoQ2FyZENvbnRlbnQsIHsgY2hpbGRyZW46IFtcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goSGVhZGluZywge1xuXHRcdFx0XHRndXR0ZXJCb3R0b206IHRydWUsXG5cdFx0XHRcdGlkOiBcImhlbHAtY2FyZF9fdGl0bGVcIixcblx0XHRcdFx0dmFyaWFudDogXCJoNVwiLFxuXHRcdFx0XHRjaGlsZHJlbjogdChcImhlbHAudGl0bGVcIilcblx0XHRcdH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChIZWFkaW5nLCB7XG5cdFx0XHRcdGNvbG9yOiBcInRleHRTZWNvbmRhcnlcIixcblx0XHRcdFx0Z3V0dGVyQm90dG9tOiB0cnVlLFxuXHRcdFx0XHRzeDogeyBtYXJnaW5Cb3R0b206IDEgfSxcblx0XHRcdFx0Y2hpbGRyZW46IHQoXCJoZWxwLnN1Yi10aXRsZVwiKVxuXHRcdFx0fSksXG5cdFx0XHRyZW5kZXJIZWFkaW5nQ2xpcGJvYXJkU2VnbWVudHModChcImhlbHAuZmlyc3Qtc3RlcFwiKSwgdChcImhlbHAuZmlyc3Qtc3RlcC1jb21tYW5kLWxpbmVcIiwgeyByZWdpc3RyeVVybCB9KSksXG5cdFx0XHRyZW5kZXJIZWFkaW5nQ2xpcGJvYXJkU2VnbWVudHModChcImhlbHAuc2Vjb25kLXN0ZXBcIiksIHQoXCJoZWxwLnNlY29uZC1zdGVwLWNvbW1hbmQtbGluZVwiLCB7IHJlZ2lzdHJ5VXJsIH0pKSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goVHlwb2dyYXBoeSwge1xuXHRcdFx0XHR2YXJpYW50OiBcImJvZHkxXCIsXG5cdFx0XHRcdGNoaWxkcmVuOiB0KFwiaGVscC50aGlyZC1zdGVwXCIpXG5cdFx0XHR9KVxuXHRcdF0gfSksIC8qIEBfX1BVUkVfXyAqLyBqc3goQ2FyZEFjdGlvbnMsIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goQnV0dG9uLCB7XG5cdFx0XHRjb2xvcjogXCJwcmltYXJ5XCIsXG5cdFx0XHRocmVmOiBcImh0dHBzOi8vdmVyZGFjY2lvLm9yZy9kb2NzL2NsaS1yZWdpc3RyeVwiLFxuXHRcdFx0c2l6ZTogXCJzbWFsbFwiLFxuXHRcdFx0Y2hpbGRyZW46IHQoXCJidXR0b24ubGVhcm4tbW9yZVwiKVxuXHRcdH0pIH0pXVxuXHR9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IEhlbHAgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1IZWxwLm1qcy5tYXAiLCJpbXBvcnQgeyBmb3JtYXRMaWNlbnNlIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3V0aWxzLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vdXRpbHMvaW5kZXgubWpzXCI7XG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL0FwcENvbmZpZ3VyYXRpb25Qcm92aWRlci9BcHBDb25maWd1cmF0aW9uUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgeyBEb3dubG9hZFByb3ZpZGVyIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9Eb3dubG9hZFByb3ZpZGVyL0Rvd25sb2FkUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgUGFja2FnZSBmcm9tIFwiLi4vUGFja2FnZS9QYWNrYWdlLm1qc1wiO1xuaW1wb3J0IEhlbHAgZnJvbSBcIi4uL0hlbHAvSGVscC5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2luZGV4Lm1qc1wiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IERpdmlkZXIgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvRGl2aWRlclwiO1xuaW1wb3J0IHsgQXV0b1NpemVyIH0gZnJvbSBcInJlYWN0LXZpcnR1YWxpemVkL2Rpc3QvY29tbW9uanMvQXV0b1NpemVyXCI7XG5pbXBvcnQgeyBDZWxsTWVhc3VyZXIsIENlbGxNZWFzdXJlckNhY2hlIH0gZnJvbSBcInJlYWN0LXZpcnR1YWxpemVkL2Rpc3QvY29tbW9uanMvQ2VsbE1lYXN1cmVyXCI7XG5pbXBvcnQgeyBMaXN0IH0gZnJvbSBcInJlYWN0LXZpcnR1YWxpemVkL2Rpc3QvY29tbW9uanMvTGlzdFwiO1xuaW1wb3J0IHsgV2luZG93U2Nyb2xsZXIgfSBmcm9tIFwicmVhY3QtdmlydHVhbGl6ZWQvZGlzdC9jb21tb25qcy9XaW5kb3dTY3JvbGxlclwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL1BhY2thZ2VMaXN0L1BhY2thZ2VMaXN0LnRzeFxudmFyIGNhY2hlID0gbmV3IENlbGxNZWFzdXJlckNhY2hlKHtcblx0Zml4ZWRXaWR0aDogdHJ1ZSxcblx0ZGVmYXVsdEhlaWdodDogMTAwXG59KTtcbnZhciBQYWNrYWdlTGlzdCA9ICh7IHBhY2thZ2VzIH0pID0+IHtcblx0Y29uc3QgeyBjb25maWdPcHRpb25zIH0gPSB1c2VDb25maWcoKTtcblx0Y29uc3QgcmVuZGVyUm93ID0gKHsgaW5kZXgsIGtleSwgcGFyZW50LCBzdHlsZSB9KSA9PiB7XG5cdFx0Y29uc3QgeyBuYW1lLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwgdGltZSwga2V5d29yZHMsIGRpc3QsIGhvbWVwYWdlLCBidWdzLCBhdXRob3IsIGxpY2Vuc2UgfSA9IHBhY2thZ2VzW2luZGV4XTtcblx0XHRjb25zdCBmb3JtYXR0ZWRMaWNlbnNlID0gZm9ybWF0TGljZW5zZShsaWNlbnNlKTtcblx0XHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChDZWxsTWVhc3VyZXIsIHtcblx0XHRcdGNhY2hlLFxuXHRcdFx0Y29sdW1uSW5kZXg6IDAsXG5cdFx0XHRwYXJlbnQsXG5cdFx0XHRyb3dJbmRleDogaW5kZXgsXG5cdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeHMoXCJkaXZcIiwge1xuXHRcdFx0XHRzdHlsZSxcblx0XHRcdFx0Y2hpbGRyZW46IFtpbmRleCAhPT0gMCAmJiAvKiBAX19QVVJFX18gKi8ganN4KERpdmlkZXIsIHt9KSwgLyogQF9fUFVSRV9fICovIGpzeChQYWNrYWdlLCB7XG5cdFx0XHRcdFx0YXV0aG9yLFxuXHRcdFx0XHRcdGJ1Z3MsXG5cdFx0XHRcdFx0ZGVzY3JpcHRpb24sXG5cdFx0XHRcdFx0ZGlzdCxcblx0XHRcdFx0XHRob21lcGFnZSxcblx0XHRcdFx0XHRrZXl3b3Jkcyxcblx0XHRcdFx0XHRsaWNlbnNlOiBmb3JtYXR0ZWRMaWNlbnNlLFxuXHRcdFx0XHRcdG5hbWUsXG5cdFx0XHRcdFx0c2hvd0Rvd25sb2FkOiBjb25maWdPcHRpb25zLnNob3dEb3dubG9hZFRhcmJhbGwsXG5cdFx0XHRcdFx0dGltZSxcblx0XHRcdFx0XHR2ZXJzaW9uXG5cdFx0XHRcdH0pXVxuXHRcdFx0fSlcblx0XHR9LCBrZXkpO1xuXHR9O1xuXHRpZiAoIShwYWNrYWdlcz8ubGVuZ3RoID4gMCkpIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KEhlbHAsIHt9KTtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goRG93bmxvYWRQcm92aWRlciwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChXaW5kb3dTY3JvbGxlciwgeyBjaGlsZHJlbjogKHsgaGVpZ2h0LCBpc1Njcm9sbGluZywgc2Nyb2xsVG9wLCBvbkNoaWxkU2Nyb2xsIH0pID0+IC8qIEBfX1BVUkVfXyAqLyBqc3goQXV0b1NpemVyLCB7XG5cdFx0ZGlzYWJsZUhlaWdodDogdHJ1ZSxcblx0XHRjaGlsZHJlbjogKHsgd2lkdGggfSkgPT4ge1xuXHRcdFx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goTGlzdCwge1xuXHRcdFx0XHRhdXRvSGVpZ2h0OiB0cnVlLFxuXHRcdFx0XHRkZWZlcnJlZE1lYXN1cmVtZW50Q2FjaGU6IGNhY2hlLFxuXHRcdFx0XHRoZWlnaHQsXG5cdFx0XHRcdGlzU2Nyb2xsaW5nLFxuXHRcdFx0XHRvblNjcm9sbDogb25DaGlsZFNjcm9sbCxcblx0XHRcdFx0b3ZlcnNjYW5Sb3dDb3VudDogMyxcblx0XHRcdFx0cm93Q291bnQ6IHBhY2thZ2VzPy5sZW5ndGgsXG5cdFx0XHRcdHJvd0hlaWdodDogY2FjaGUucm93SGVpZ2h0LFxuXHRcdFx0XHRyb3dSZW5kZXJlcjogcmVuZGVyUm93LFxuXHRcdFx0XHRzY3JvbGxUb3AsXG5cdFx0XHRcdHdpZHRoXG5cdFx0XHR9KTtcblx0XHR9XG5cdH0pIH0pIH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgUGFja2FnZUxpc3QgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1QYWNrYWdlTGlzdC5tanMubWFwIiwiaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcbi8vI3JlZ2lvbiBzcmMvY29tcG9uZW50cy9FcnJvckJvdW5kYXJ5L0Vycm9yQm91bmRhcnkudHN4XG52YXIgRXJyb3JCb3VuZGFyeSA9IGNsYXNzIGV4dGVuZHMgQ29tcG9uZW50IHtcblx0c3RhdGUgPSB7XG5cdFx0aGFzRXJyb3I6IGZhbHNlLFxuXHRcdGVycm9yOiBudWxsXG5cdH07XG5cdHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZXJyb3IpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0aGFzRXJyb3I6IHRydWUsXG5cdFx0XHRlcnJvclxuXHRcdH07XG5cdH1cblx0Y29tcG9uZW50RGlkQ2F0Y2goZXJyb3IsIGluZm8pIHtcblx0XHRjb25zb2xlLmVycm9yKFwiRXJyb3JCb3VuZGFyeSBjYXVnaHQ6XCIsIGVycm9yLCBpbmZvKTtcblx0fVxuXHRyZW5kZXIoKSB7XG5cdFx0Y29uc3QgeyBoYXNFcnJvciwgZXJyb3IgfSA9IHRoaXMuc3RhdGU7XG5cdFx0Y29uc3QgeyBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcblx0XHRpZiAoaGFzRXJyb3IpIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhcImRpdlwiLCB7XG5cdFx0XHRyb2xlOiBcImFsZXJ0XCIsXG5cdFx0XHRjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goXCJoMVwiLCB7IGNoaWxkcmVuOiBcIlNvbWV0aGluZyB3ZW50IHdyb25nLlwiIH0pLCAvKiBAX19QVVJFX18gKi8ganN4KFwicHJlXCIsIHsgY2hpbGRyZW46IGVycm9yPy5tZXNzYWdlIH0pXVxuXHRcdH0pO1xuXHRcdHJldHVybiBjaGlsZHJlbjtcblx0fVxufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgRXJyb3JCb3VuZGFyeSBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUVycm9yQm91bmRhcnkubWpzLm1hcCIsImltcG9ydCBsb2FkYWJsZV9kZWZhdWx0IGZyb20gXCIuLi8uLi91dGlscy9sb2FkYWJsZS5tanNcIjtcbmltcG9ydCB7IFJvdXRlIGFzIFJvdXRlJDEgfSBmcm9tIFwiLi4vLi4vdXRpbHMvcm91dGVzLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vdXRpbHMvaW5kZXgubWpzXCI7XG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL0FwcENvbmZpZ3VyYXRpb25Qcm92aWRlci9BcHBDb25maWd1cmF0aW9uUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgVmVyc2lvblByb3ZpZGVyIGZyb20gXCIuLi8uLi9wcm92aWRlcnMvVmVyc2lvblByb3ZpZGVyL1ZlcnNpb25Qcm92aWRlci5tanNcIjtcbmltcG9ydCBNYW5pZmVzdHNQcm92aWRlciBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL01hbmlmZXN0c1Byb3ZpZGVyL01hbmlmZXN0c1Byb3ZpZGVyLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vcHJvdmlkZXJzL2luZGV4Lm1qc1wiO1xuaW1wb3J0IE5vdEZvdW5kIGZyb20gXCIuLi9Ob3RGb3VuZC9Ob3RGb3VuZC5tanNcIjtcbmltcG9ydCBcIi4uL05vdEZvdW5kL2luZGV4Lm1qc1wiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IHsgT3V0bGV0LCBSb3V0ZSwgUm91dGVzIH0gZnJvbSBcInJlYWN0LXJvdXRlclwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL0FwcFJvdXRlL0FwcFJvdXRlLnRzeFxudmFyIFZlcnNpb25QYWdlID0gbG9hZGFibGVfZGVmYXVsdCgoKSA9PiBpbXBvcnQoXCIuLi8uLi9wYWdlcy9WZXJzaW9uL2luZGV4Lm1qc1wiKSk7XG52YXIgRnJvbnQgPSBsb2FkYWJsZV9kZWZhdWx0KCgpID0+IGltcG9ydChcIi4uLy4uL3BhZ2VzL0Zyb250L2luZGV4Lm1qc1wiKSk7XG52YXIgTG9naW4gPSBsb2FkYWJsZV9kZWZhdWx0KCgpID0+IGltcG9ydChcIi4uLy4uL3BhZ2VzL1NlY3VyaXR5L0xvZ2luLm1qc1wiKSk7XG52YXIgU3VjY2VzcyA9IGxvYWRhYmxlX2RlZmF1bHQoKCkgPT4gaW1wb3J0KFwiLi4vLi4vcGFnZXMvU2VjdXJpdHkvU3VjY2Vzcy5tanNcIikpO1xudmFyIEFkZFVzZXIgPSBsb2FkYWJsZV9kZWZhdWx0KCgpID0+IGltcG9ydChcIi4uLy4uL3BhZ2VzL1NlY3VyaXR5L0FkZFVzZXIubWpzXCIpKTtcbnZhciBDaGFuZ2VQYXNzd29yZCA9IGxvYWRhYmxlX2RlZmF1bHQoKCkgPT4gaW1wb3J0KFwiLi4vLi4vcGFnZXMvU2VjdXJpdHkvQ2hhbmdlUGFzc3dvcmQubWpzXCIpKTtcbnZhciB2ZXJzaW9uRWxlbWVudCA9IC8qIEBfX1BVUkVfXyAqLyBqc3goVmVyc2lvblByb3ZpZGVyLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFZlcnNpb25QYWdlLCB7fSkgfSk7XG52YXIgQXBwUm91dGUgPSAoKSA9PiB7XG5cdGNvbnN0IHsgY29uZmlnT3B0aW9ucyB9ID0gdXNlQ29uZmlnKCk7XG5cdGNvbnN0IGNyZWF0ZVVzZXJFbmFibGVkID0gY29uZmlnT3B0aW9ucz8uZmxhZ3M/LmNyZWF0ZVVzZXI7XG5cdGNvbnN0IGNoYW5nZVBhc3N3b3JkRW5hYmxlZCA9IGNvbmZpZ09wdGlvbnM/LmZsYWdzPy5jaGFuZ2VQYXNzd29yZDtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKFJvdXRlcywgeyBjaGlsZHJlbjogW1xuXHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goUm91dGUsIHtcblx0XHRcdGVsZW1lbnQ6IC8qIEBfX1BVUkVfXyAqLyBqc3goTWFuaWZlc3RzUHJvdmlkZXIsIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goRnJvbnQsIHt9KSB9KSxcblx0XHRcdHBhdGg6IFJvdXRlJDEuUk9PVFxuXHRcdH0pLFxuXHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goUm91dGUsIHtcblx0XHRcdGVsZW1lbnQ6IHZlcnNpb25FbGVtZW50LFxuXHRcdFx0cGF0aDogUm91dGUkMS5TQ09QRV9QQUNLQUdFX1ZFUlNJT05cblx0XHR9KSxcblx0XHQvKiBAX19QVVJFX18gKi8ganN4KFJvdXRlLCB7XG5cdFx0XHRlbGVtZW50OiB2ZXJzaW9uRWxlbWVudCxcblx0XHRcdHBhdGg6IFJvdXRlJDEuU0NPUEVfUEFDS0FHRVxuXHRcdH0pLFxuXHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goUm91dGUsIHtcblx0XHRcdGVsZW1lbnQ6IHZlcnNpb25FbGVtZW50LFxuXHRcdFx0cGF0aDogUm91dGUkMS5QQUNLQUdFX1ZFUlNJT05cblx0XHR9KSxcblx0XHQvKiBAX19QVVJFX18gKi8ganN4KFJvdXRlLCB7XG5cdFx0XHRlbGVtZW50OiB2ZXJzaW9uRWxlbWVudCxcblx0XHRcdHBhdGg6IFJvdXRlJDEuUEFDS0FHRVxuXHRcdH0pLFxuXHRcdC8qIEBfX1BVUkVfXyAqLyBqc3hzKFJvdXRlLCB7XG5cdFx0XHRlbGVtZW50OiAvKiBAX19QVVJFX18gKi8ganN4KE91dGxldCwge30pLFxuXHRcdFx0Y2hpbGRyZW46IFtcblx0XHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChSb3V0ZSwge1xuXHRcdFx0XHRcdGVsZW1lbnQ6IC8qIEBfX1BVUkVfXyAqLyBqc3goTG9naW4sIHt9KSxcblx0XHRcdFx0XHRwYXRoOiBSb3V0ZSQxLkxPR0lOXG5cdFx0XHRcdH0pLFxuXHRcdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFJvdXRlLCB7XG5cdFx0XHRcdFx0ZWxlbWVudDogLyogQF9fUFVSRV9fICovIGpzeChTdWNjZXNzLCB7fSksXG5cdFx0XHRcdFx0cGF0aDogUm91dGUkMS5TVUNDRVNTXG5cdFx0XHRcdH0pLFxuXHRcdFx0XHRjcmVhdGVVc2VyRW5hYmxlZCAmJiAvKiBAX19QVVJFX18gKi8ganN4KFJvdXRlLCB7XG5cdFx0XHRcdFx0ZWxlbWVudDogLyogQF9fUFVSRV9fICovIGpzeChBZGRVc2VyLCB7fSksXG5cdFx0XHRcdFx0cGF0aDogUm91dGUkMS5BRERfVVNFUlxuXHRcdFx0XHR9KSxcblx0XHRcdFx0Y2hhbmdlUGFzc3dvcmRFbmFibGVkICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goUm91dGUsIHtcblx0XHRcdFx0XHRlbGVtZW50OiAvKiBAX19QVVJFX18gKi8ganN4KENoYW5nZVBhc3N3b3JkLCB7fSksXG5cdFx0XHRcdFx0cGF0aDogUm91dGUkMS5DSEFOR0VfUEFTU1dPUkRcblx0XHRcdFx0fSlcblx0XHRcdF1cblx0XHR9KSxcblx0XHQvKiBAX19QVVJFX18gKi8ganN4KFJvdXRlLCB7XG5cdFx0XHRlbGVtZW50OiAvKiBAX19QVVJFX18gKi8ganN4KE5vdEZvdW5kLCB7fSksXG5cdFx0XHRwYXRoOiBcIipcIlxuXHRcdH0pXG5cdF0gfSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBBcHBSb3V0ZSBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUFwcFJvdXRlLm1qcy5tYXAiLCJpbXBvcnQgQ29weVRvQ2xpcEJvYXJkIGZyb20gXCIuLi9Db3B5Q2xpcGJvYXJkL0NvcHlUb0NsaXBCb2FyZC5tanNcIjtcbmltcG9ydCBcIi4uL0NvcHlDbGlwYm9hcmQvaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBpc1VSTCB9IGZyb20gXCIuLi8uLi91dGlscy91cmwubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi91dGlscy9pbmRleC5tanNcIjtcbmltcG9ydCBMaW5rRXh0ZXJuYWwgZnJvbSBcIi4uL0xpbmtFeHRlcm5hbC9MaW5rRXh0ZXJuYWwubWpzXCI7XG5pbXBvcnQgXCIuLi9MaW5rRXh0ZXJuYWwvaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBHaXQgfSBmcm9tIFwiLi4vSWNvbnMvRGV2c0ljb25zL0dpdDIubWpzXCI7XG5pbXBvcnQgXCIuLi9JY29ucy9pbmRleC5tanNcIjtcbmltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IHsgY29tbW9uIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvY29sb3JzXCI7XG5pbXBvcnQgTGlzdCBmcm9tIFwiQG11aS9tYXRlcmlhbC9MaXN0XCI7XG5pbXBvcnQgQXZhdGFyIGZyb20gXCJAbXVpL21hdGVyaWFsL0F2YXRhclwiO1xuaW1wb3J0IFR5cG9ncmFwaHkgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvVHlwb2dyYXBoeVwiO1xuaW1wb3J0IExpc3RJdGVtIGZyb20gXCJAbXVpL21hdGVyaWFsL0xpc3RJdGVtXCI7XG5pbXBvcnQgTGlzdEl0ZW1UZXh0IGZyb20gXCJAbXVpL21hdGVyaWFsL0xpc3RJdGVtVGV4dFwiO1xuLy8jcmVnaW9uIHNyYy9jb21wb25lbnRzL1JlcG9zaXRvcnkvUmVwb3NpdG9yeS50c3hcbmZ1bmN0aW9uIF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fKCkge1xuXHRyZXR1cm4gXCJZb3UgaGF2ZSB0cmllZCB0byBzdHJpbmdpZnkgb2JqZWN0IHJldHVybmVkIGZyb20gYGNzc2AgZnVuY3Rpb24uIEl0IGlzbid0IHN1cHBvc2VkIHRvIGJlIHVzZWQgZGlyZWN0bHkgKGUuZy4gYXMgdmFsdWUgb2YgdGhlIGBjbGFzc05hbWVgIHByb3ApLCBidXQgcmF0aGVyIGhhbmRlZCB0byBlbW90aW9uIHNvIGl0IGNhbiBoYW5kbGUgaXQgKGUuZy4gYXMgdmFsdWUgb2YgYGNzc2AgcHJvcCkuXCI7XG59XG52YXIgU3R5bGVkVGV4dCA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFR5cG9ncmFwaHksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVodmp1dXIzXCIgfSA6IHtcblx0dGFyZ2V0OiBcImVodmp1dXIzXCIsXG5cdGxhYmVsOiBcIlN0eWxlZFRleHRcIlxufSkoKHByb3BzKSA9PiAoe1xuXHRmb250V2VpZ2h0OiBwcm9wcy50aGVtZS5mb250V2VpZ2h0LmJvbGQsXG5cdHRleHRUcmFuc2Zvcm06IFwiY2FwaXRhbGl6ZVwiXG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdlkyOXRjRzl1Wlc1MGN5OVNaWEJ2YzJsMGIzSjVMMUpsY0c5emFYUnZjbmt1ZEhONElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFXZENiVUlpTENKbWFXeGxJam9pTDJodmJXVXZjblZ1Ym1WeUwzZHZjbXN2ZG1WeVpHRmpZMmx2TDNabGNtUmhZMk5wYnk5d1lXTnJZV2RsY3k5MWFTMWpiMjF3YjI1bGJuUnpMM055WXk5amIyMXdiMjVsYm5SekwxSmxjRzl6YVhSdmNua3ZVbVZ3YjNOcGRHOXllUzUwYzNnaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2MzUjViR1ZrSUdaeWIyMGdKMEJsYlc5MGFXOXVMM04wZVd4bFpDYzdYRzVwYlhCdmNuUWdRWFpoZEdGeUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZRWFpoZEdGeUp6dGNibWx0Y0c5eWRDQk1hWE4wSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkQ2M3WEc1cGJYQnZjblFnVEdsemRFbDBaVzBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5TWFYTjBTWFJsYlNjN1hHNXBiWEJ2Y25RZ1RHbHpkRWwwWlcxVVpYaDBJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2VEdsemRFbDBaVzFVWlhoMEp6dGNibWx0Y0c5eWRDQlVlWEJ2WjNKaGNHaDVJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2Vkhsd2IyZHlZWEJvZVNjN1hHNXBiWEJ2Y25RZ2V5QmpiMjF0YjI0Z2ZTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMk52Ykc5eWN5YzdYRzVwYlhCdmNuUWdVbVZoWTNRZ1puSnZiU0FuY21WaFkzUW5PMXh1YVcxd2IzSjBJSHNnZFhObFZISmhibk5zWVhScGIyNGdmU0JtY205dElDZHlaV0ZqZEMxcE1UaHVaWGgwSnp0Y2JseHVhVzF3YjNKMElIUjVjR1VnZXlCVWFHVnRaU0I5SUdaeWIyMGdKeTR1THk0dUwxUm9aVzFsSnp0Y2JtbHRjRzl5ZENCN0lIVnliQ0JoY3lCMWNteFZkR2xzY3lCOUlHWnliMjBnSnk0dUx5NHVMM1YwYVd4ekp6dGNibWx0Y0c5eWRDQkRiM0I1UTJ4cGNHSnZZWEprSUdaeWIyMGdKeTR1TDBOdmNIbERiR2x3WW05aGNtUW5PMXh1YVcxd2IzSjBJSHNnUjJsMElIMGdabkp2YlNBbkxpNHZTV052Ym5Nbk8xeHVhVzF3YjNKMElFeHBibXRGZUhSbGNtNWhiQ0JtY205dElDY3VMaTlNYVc1clJYaDBaWEp1WVd3bk8xeHVYRzVqYjI1emRDQlRkSGxzWldSVVpYaDBJRDBnYzNSNWJHVmtLRlI1Y0c5bmNtRndhSGtwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2NISnZjSE1wSUQwK0lDaDdYRzRnSUdadmJuUlhaV2xuYUhRNklIQnliM0J6TG5Sb1pXMWxMbVp2Ym5SWFpXbG5hSFF1WW05c1pDeGNiaUFnZEdWNGRGUnlZVzV6Wm05eWJUb2dKMk5oY0dsMFlXeHBlbVVuTEZ4dWZTa3BPMXh1WEc1amIyNXpkQ0JTWlhCdmMybDBiM0o1VEdsemRFbDBaVzBnUFNCemRIbHNaV1FvVEdsemRFbDBaVzBwS0h0Y2JpQWdjR0ZrWkdsdVp6b2dNQ3hjYmlBZ0p6cG9iM1psY2ljNklIdGNiaUFnSUNCaVlXTnJaM0p2ZFc1a1EyOXNiM0k2SUNkMGNtRnVjM0JoY21WdWRDY3NYRzRnSUgwc1hHNTlLVHRjYmx4dVkyOXVjM1FnVW1Wd2IzTnBkRzl5ZVV4cGMzUkpkR1Z0VkdWNGRDQTlJSE4wZVd4bFpDaE1hWE4wU1hSbGJWUmxlSFFwS0h0Y2JpQWdjR0ZrWkdsdVp6b2dKekFnTUNBd0lERXdjSGduTEZ4dUlDQnRZWEpuYVc0NklEQXNYRzU5S1R0Y2JseHVZMjl1YzNRZ1VtVndiM05wZEc5eWVVRjJZWFJoY2lBOUlITjBlV3hsWkNoQmRtRjBZWElwS0h0Y2JpQWdjR0ZrWkdsdVp6b2dNQ3hjYmlBZ2JXRnlaMmx1VEdWbWREb2dNQ3hjYmlBZ1ltRmphMmR5YjNWdVpFTnZiRzl5T2lBbmRISmhibk53WVhKbGJuUW5MRnh1ZlNrN1hHNWNibU52Ym5OMElGSmxjRzl6YVhSdmNuazZJRkpsWVdOMExrWkRQSHNnY0dGamEyRm5aVTFsZEdFNklHRnVlU0I5UGlBOUlDaDdJSEJoWTJ0aFoyVk5aWFJoSUgwcElEMCtJSHRjYmlBZ1kyOXVjM1FnZXlCMElIMGdQU0IxYzJWVWNtRnVjMnhoZEdsdmJpZ3BPMXh1SUNCamIyNXpkQ0IxY213Z1BTQndZV05yWVdkbFRXVjBZVDh1YkdGMFpYTjBQeTV5WlhCdmMybDBiM0o1UHk1MWNtdzdYRzRnSUdsbUlDZ2hkWEpzSUh4OElDRjFjbXhWZEdsc2N5NXBjMVZTVENoMWNtd3BLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lIMWNibHh1SUNCamIyNXpkQ0JuWlhSRGIzSnlaV04wVW1Wd2IzTnBkRzl5ZVZWU1RDQTlJQ2dwT2lCemRISnBibWNnUFQ0Z2UxeHVJQ0FnSUdsbUlDZ2hkWEpzTG1sdVkyeDFaR1Z6S0NkbmFYUXJKeWtwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUIxY213N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFZ5YkM1emNHeHBkQ2duWjJsMEt5Y3BXekZkTzF4dUlDQjlPMXh1WEc0Z0lHTnZibk4wSUhKbGNHOXphWFJ2Y25sVlVrd2dQU0JuWlhSRGIzSnlaV04wVW1Wd2IzTnBkRzl5ZVZWU1RDZ3BPMXh1WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEV4cGMzUmNiaUFnSUNBZ0lHUmxibk5sUFh0MGNuVmxmVnh1SUNBZ0lDQWdjM1ZpYUdWaFpHVnlQWHM4VTNSNWJHVmtWR1Y0ZENCMllYSnBZVzUwUFZ3aWMzVmlkR2wwYkdVeFhDSStlM1FvSjNOcFpHVmlZWEl1Y21Wd2IzTnBkRzl5ZVM1MGFYUnNaU2NwZlR3dlUzUjViR1ZrVkdWNGRENTlYRzRnSUNBZ1BseHVJQ0FnSUNBZ1BGSmxjRzl6YVhSdmNubE1hWE4wU1hSbGJUNWNiaUFnSUNBZ0lDQWdQRkpsY0c5emFYUnZjbmxCZG1GMFlYSWdjM2c5ZTNzZ1ltZGpiMnh2Y2pvZ1kyOXRiVzl1TG5kb2FYUmxJSDE5UGx4dUlDQWdJQ0FnSUNBZ0lEeEhhWFFnTHo1Y2JpQWdJQ0FnSUNBZ1BDOVNaWEJ2YzJsMGIzSjVRWFpoZEdGeVBseHVJQ0FnSUNBZ0lDQThVbVZ3YjNOcGRHOXllVXhwYzNSSmRHVnRWR1Y0ZEZ4dUlDQWdJQ0FnSUNBZ0lIQnlhVzFoY25rOWUxeHVJQ0FnSUNBZ0lDQWdJQ0FnUEVOdmNIbERiR2x3WW05aGNtUWdaR0YwWVZSbGMzUkpaRDFjSW5KbGNHOXphWFJ2Y25sSlJGd2lJSFJsZUhROWUzSmxjRzl6YVhSdmNubFZVa3g5SUhScGRHeGxQWHR5WlhCdmMybDBiM0o1VlZKTWZUNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFeHBibXRGZUhSbGNtNWhiQ0IwYnoxN2NtVndiM05wZEc5eWVWVlNUSDBnZG1GeWFXRnVkRDFjSW05MWRHeHBibVZjSWo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCN2NtVndiM05wZEc5eWVWVlNUSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlNYVc1clJYaDBaWEp1WVd3K1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4TDBOdmNIbERiR2x3WW05aGNtUStYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBdlBseHVJQ0FnSUNBZ1BDOVNaWEJ2YzJsMGIzSjVUR2x6ZEVsMFpXMCtYRzRnSUNBZ1BDOU1hWE4wUGx4dUlDQXBPMXh1ZlR0Y2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ1VtVndiM05wZEc5eWVUdGNiaUpkZlE9PSAqL1wiKTtcbnZhciBSZXBvc2l0b3J5TGlzdEl0ZW0gPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChMaXN0SXRlbSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZWh2anV1cjJcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZWh2anV1cjJcIixcblx0bGFiZWw6IFwiUmVwb3NpdG9yeUxpc3RJdGVtXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCJ6dzQ2YzZcIixcblx0c3R5bGVzOiBcInBhZGRpbmc6MDs6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDt9XCJcbn0gOiB7XG5cdG5hbWU6IFwienc0NmM2XCIsXG5cdHN0eWxlczogXCJwYWRkaW5nOjA7OmhvdmVye2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7fS8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlTWlhCdmMybDBiM0o1TDFKbGNHOXphWFJ2Y25rdWRITjRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRWEZDTWtJaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OWpiMjF3YjI1bGJuUnpMMUpsY0c5emFYUnZjbmt2VW1Wd2IzTnBkRzl5ZVM1MGMzZ2lMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdjM1I1YkdWa0lHWnliMjBnSjBCbGJXOTBhVzl1TDNOMGVXeGxaQ2M3WEc1cGJYQnZjblFnUVhaaGRHRnlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UVhaaGRHRnlKenRjYm1sdGNHOXlkQ0JNYVhOMElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZENjN1hHNXBiWEJ2Y25RZ1RHbHpkRWwwWlcwZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOU1hWE4wU1hSbGJTYzdYRzVwYlhCdmNuUWdUR2x6ZEVsMFpXMVVaWGgwSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkRWwwWlcxVVpYaDBKenRjYm1sdGNHOXlkQ0JVZVhCdlozSmhjR2g1SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlZIbHdiMmR5WVhCb2VTYzdYRzVwYlhCdmNuUWdleUJqYjIxdGIyNGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDJOdmJHOXljeWM3WEc1cGJYQnZjblFnVW1WaFkzUWdabkp2YlNBbmNtVmhZM1FuTzF4dWFXMXdiM0owSUhzZ2RYTmxWSEpoYm5Oc1lYUnBiMjRnZlNCbWNtOXRJQ2R5WldGamRDMXBNVGh1WlhoMEp6dGNibHh1YVcxd2IzSjBJSFI1Y0dVZ2V5QlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMMVJvWlcxbEp6dGNibWx0Y0c5eWRDQjdJSFZ5YkNCaGN5QjFjbXhWZEdsc2N5QjlJR1p5YjIwZ0p5NHVMeTR1TDNWMGFXeHpKenRjYm1sdGNHOXlkQ0JEYjNCNVEyeHBjR0p2WVhKa0lHWnliMjBnSnk0dUwwTnZjSGxEYkdsd1ltOWhjbVFuTzF4dWFXMXdiM0owSUhzZ1IybDBJSDBnWm5KdmJTQW5MaTR2U1dOdmJuTW5PMXh1YVcxd2IzSjBJRXhwYm10RmVIUmxjbTVoYkNCbWNtOXRJQ2N1TGk5TWFXNXJSWGgwWlhKdVlXd25PMXh1WEc1amIyNXpkQ0JUZEhsc1pXUlVaWGgwSUQwZ2MzUjViR1ZrS0ZSNWNHOW5jbUZ3YUhrcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29jSEp2Y0hNcElEMCtJQ2g3WEc0Z0lHWnZiblJYWldsbmFIUTZJSEJ5YjNCekxuUm9aVzFsTG1admJuUlhaV2xuYUhRdVltOXNaQ3hjYmlBZ2RHVjRkRlJ5WVc1elptOXliVG9nSjJOaGNHbDBZV3hwZW1VbkxGeHVmU2twTzF4dVhHNWpiMjV6ZENCU1pYQnZjMmwwYjNKNVRHbHpkRWwwWlcwZ1BTQnpkSGxzWldRb1RHbHpkRWwwWlcwcEtIdGNiaUFnY0dGa1pHbHVaem9nTUN4Y2JpQWdKenBvYjNabGNpYzZJSHRjYmlBZ0lDQmlZV05yWjNKdmRXNWtRMjlzYjNJNklDZDBjbUZ1YzNCaGNtVnVkQ2NzWEc0Z0lIMHNYRzU5S1R0Y2JseHVZMjl1YzNRZ1VtVndiM05wZEc5eWVVeHBjM1JKZEdWdFZHVjRkQ0E5SUhOMGVXeGxaQ2hNYVhOMFNYUmxiVlJsZUhRcEtIdGNiaUFnY0dGa1pHbHVaem9nSnpBZ01DQXdJREV3Y0hnbkxGeHVJQ0J0WVhKbmFXNDZJREFzWEc1OUtUdGNibHh1WTI5dWMzUWdVbVZ3YjNOcGRHOXllVUYyWVhSaGNpQTlJSE4wZVd4bFpDaEJkbUYwWVhJcEtIdGNiaUFnY0dGa1pHbHVaem9nTUN4Y2JpQWdiV0Z5WjJsdVRHVm1kRG9nTUN4Y2JpQWdZbUZqYTJkeWIzVnVaRU52Ykc5eU9pQW5kSEpoYm5Od1lYSmxiblFuTEZ4dWZTazdYRzVjYm1OdmJuTjBJRkpsY0c5emFYUnZjbms2SUZKbFlXTjBMa1pEUEhzZ2NHRmphMkZuWlUxbGRHRTZJR0Z1ZVNCOVBpQTlJQ2g3SUhCaFkydGhaMlZOWlhSaElIMHBJRDArSUh0Y2JpQWdZMjl1YzNRZ2V5QjBJSDBnUFNCMWMyVlVjbUZ1YzJ4aGRHbHZiaWdwTzF4dUlDQmpiMjV6ZENCMWNtd2dQU0J3WVdOcllXZGxUV1YwWVQ4dWJHRjBaWE4wUHk1eVpYQnZjMmwwYjNKNVB5NTFjbXc3WEc0Z0lHbG1JQ2doZFhKc0lIeDhJQ0YxY214VmRHbHNjeTVwYzFWU1RDaDFjbXdwS1NCN1hHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQmpiMjV6ZENCblpYUkRiM0p5WldOMFVtVndiM05wZEc5eWVWVlNUQ0E5SUNncE9pQnpkSEpwYm1jZ1BUNGdlMXh1SUNBZ0lHbG1JQ2doZFhKc0xtbHVZMngxWkdWektDZG5hWFFySnlrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMWNtdzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhWeWJDNXpjR3hwZENnbloybDBLeWNwV3pGZE8xeHVJQ0I5TzF4dVhHNGdJR052Ym5OMElISmxjRzl6YVhSdmNubFZVa3dnUFNCblpYUkRiM0p5WldOMFVtVndiM05wZEc5eWVWVlNUQ2dwTzF4dVhHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BFeHBjM1JjYmlBZ0lDQWdJR1JsYm5ObFBYdDBjblZsZlZ4dUlDQWdJQ0FnYzNWaWFHVmhaR1Z5UFhzOFUzUjViR1ZrVkdWNGRDQjJZWEpwWVc1MFBWd2ljM1ZpZEdsMGJHVXhYQ0krZTNRb0ozTnBaR1ZpWVhJdWNtVndiM05wZEc5eWVTNTBhWFJzWlNjcGZUd3ZVM1I1YkdWa1ZHVjRkRDU5WEc0Z0lDQWdQbHh1SUNBZ0lDQWdQRkpsY0c5emFYUnZjbmxNYVhOMFNYUmxiVDVjYmlBZ0lDQWdJQ0FnUEZKbGNHOXphWFJ2Y25sQmRtRjBZWElnYzNnOWUzc2dZbWRqYjJ4dmNqb2dZMjl0Ylc5dUxuZG9hWFJsSUgxOVBseHVJQ0FnSUNBZ0lDQWdJRHhIYVhRZ0x6NWNiaUFnSUNBZ0lDQWdQQzlTWlhCdmMybDBiM0o1UVhaaGRHRnlQbHh1SUNBZ0lDQWdJQ0E4VW1Wd2IzTnBkRzl5ZVV4cGMzUkpkR1Z0VkdWNGRGeHVJQ0FnSUNBZ0lDQWdJSEJ5YVcxaGNuazllMXh1SUNBZ0lDQWdJQ0FnSUNBZ1BFTnZjSGxEYkdsd1ltOWhjbVFnWkdGMFlWUmxjM1JKWkQxY0luSmxjRzl6YVhSdmNubEpSRndpSUhSbGVIUTllM0psY0c5emFYUnZjbmxWVWt4OUlIUnBkR3hsUFh0eVpYQnZjMmwwYjNKNVZWSk1mVDVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRXhwYm10RmVIUmxjbTVoYkNCMGJ6MTdjbVZ3YjNOcGRHOXllVlZTVEgwZ2RtRnlhV0Z1ZEQxY0ltOTFkR3hwYm1WY0lqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjdjbVZ3YjNOcGRHOXllVlZTVEgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5TWFXNXJSWGgwWlhKdVlXdytYRzRnSUNBZ0lDQWdJQ0FnSUNBOEwwTnZjSGxEYkdsd1ltOWhjbVErWEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQXZQbHh1SUNBZ0lDQWdQQzlTWlhCdmMybDBiM0o1VEdsemRFbDBaVzArWEc0Z0lDQWdQQzlNYVhOMFBseHVJQ0FwTzF4dWZUdGNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdVbVZ3YjNOcGRHOXllVHRjYmlKZGZRPT0gKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBSZXBvc2l0b3J5TGlzdEl0ZW1UZXh0ID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoTGlzdEl0ZW1UZXh0LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlaHZqdXVyMVwiIH0gOiB7XG5cdHRhcmdldDogXCJlaHZqdXVyMVwiLFxuXHRsYWJlbDogXCJSZXBvc2l0b3J5TGlzdEl0ZW1UZXh0XCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCI0MmJ2dFwiLFxuXHRzdHlsZXM6IFwicGFkZGluZzowIDAgMCAxMHB4O21hcmdpbjowXCJcbn0gOiB7XG5cdG5hbWU6IFwiNDJidnRcIixcblx0c3R5bGVzOiBcInBhZGRpbmc6MCAwIDAgMTBweDttYXJnaW46MC8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlTWlhCdmMybDBiM0o1TDFKbGNHOXphWFJ2Y25rdWRITjRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVFJDSzBJaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OWpiMjF3YjI1bGJuUnpMMUpsY0c5emFYUnZjbmt2VW1Wd2IzTnBkRzl5ZVM1MGMzZ2lMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdjM1I1YkdWa0lHWnliMjBnSjBCbGJXOTBhVzl1TDNOMGVXeGxaQ2M3WEc1cGJYQnZjblFnUVhaaGRHRnlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UVhaaGRHRnlKenRjYm1sdGNHOXlkQ0JNYVhOMElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZENjN1hHNXBiWEJ2Y25RZ1RHbHpkRWwwWlcwZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOU1hWE4wU1hSbGJTYzdYRzVwYlhCdmNuUWdUR2x6ZEVsMFpXMVVaWGgwSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkRWwwWlcxVVpYaDBKenRjYm1sdGNHOXlkQ0JVZVhCdlozSmhjR2g1SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlZIbHdiMmR5WVhCb2VTYzdYRzVwYlhCdmNuUWdleUJqYjIxdGIyNGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDJOdmJHOXljeWM3WEc1cGJYQnZjblFnVW1WaFkzUWdabkp2YlNBbmNtVmhZM1FuTzF4dWFXMXdiM0owSUhzZ2RYTmxWSEpoYm5Oc1lYUnBiMjRnZlNCbWNtOXRJQ2R5WldGamRDMXBNVGh1WlhoMEp6dGNibHh1YVcxd2IzSjBJSFI1Y0dVZ2V5QlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMMVJvWlcxbEp6dGNibWx0Y0c5eWRDQjdJSFZ5YkNCaGN5QjFjbXhWZEdsc2N5QjlJR1p5YjIwZ0p5NHVMeTR1TDNWMGFXeHpKenRjYm1sdGNHOXlkQ0JEYjNCNVEyeHBjR0p2WVhKa0lHWnliMjBnSnk0dUwwTnZjSGxEYkdsd1ltOWhjbVFuTzF4dWFXMXdiM0owSUhzZ1IybDBJSDBnWm5KdmJTQW5MaTR2U1dOdmJuTW5PMXh1YVcxd2IzSjBJRXhwYm10RmVIUmxjbTVoYkNCbWNtOXRJQ2N1TGk5TWFXNXJSWGgwWlhKdVlXd25PMXh1WEc1amIyNXpkQ0JUZEhsc1pXUlVaWGgwSUQwZ2MzUjViR1ZrS0ZSNWNHOW5jbUZ3YUhrcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29jSEp2Y0hNcElEMCtJQ2g3WEc0Z0lHWnZiblJYWldsbmFIUTZJSEJ5YjNCekxuUm9aVzFsTG1admJuUlhaV2xuYUhRdVltOXNaQ3hjYmlBZ2RHVjRkRlJ5WVc1elptOXliVG9nSjJOaGNHbDBZV3hwZW1VbkxGeHVmU2twTzF4dVhHNWpiMjV6ZENCU1pYQnZjMmwwYjNKNVRHbHpkRWwwWlcwZ1BTQnpkSGxzWldRb1RHbHpkRWwwWlcwcEtIdGNiaUFnY0dGa1pHbHVaem9nTUN4Y2JpQWdKenBvYjNabGNpYzZJSHRjYmlBZ0lDQmlZV05yWjNKdmRXNWtRMjlzYjNJNklDZDBjbUZ1YzNCaGNtVnVkQ2NzWEc0Z0lIMHNYRzU5S1R0Y2JseHVZMjl1YzNRZ1VtVndiM05wZEc5eWVVeHBjM1JKZEdWdFZHVjRkQ0E5SUhOMGVXeGxaQ2hNYVhOMFNYUmxiVlJsZUhRcEtIdGNiaUFnY0dGa1pHbHVaem9nSnpBZ01DQXdJREV3Y0hnbkxGeHVJQ0J0WVhKbmFXNDZJREFzWEc1OUtUdGNibHh1WTI5dWMzUWdVbVZ3YjNOcGRHOXllVUYyWVhSaGNpQTlJSE4wZVd4bFpDaEJkbUYwWVhJcEtIdGNiaUFnY0dGa1pHbHVaem9nTUN4Y2JpQWdiV0Z5WjJsdVRHVm1kRG9nTUN4Y2JpQWdZbUZqYTJkeWIzVnVaRU52Ykc5eU9pQW5kSEpoYm5Od1lYSmxiblFuTEZ4dWZTazdYRzVjYm1OdmJuTjBJRkpsY0c5emFYUnZjbms2SUZKbFlXTjBMa1pEUEhzZ2NHRmphMkZuWlUxbGRHRTZJR0Z1ZVNCOVBpQTlJQ2g3SUhCaFkydGhaMlZOWlhSaElIMHBJRDArSUh0Y2JpQWdZMjl1YzNRZ2V5QjBJSDBnUFNCMWMyVlVjbUZ1YzJ4aGRHbHZiaWdwTzF4dUlDQmpiMjV6ZENCMWNtd2dQU0J3WVdOcllXZGxUV1YwWVQ4dWJHRjBaWE4wUHk1eVpYQnZjMmwwYjNKNVB5NTFjbXc3WEc0Z0lHbG1JQ2doZFhKc0lIeDhJQ0YxY214VmRHbHNjeTVwYzFWU1RDaDFjbXdwS1NCN1hHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQmpiMjV6ZENCblpYUkRiM0p5WldOMFVtVndiM05wZEc5eWVWVlNUQ0E5SUNncE9pQnpkSEpwYm1jZ1BUNGdlMXh1SUNBZ0lHbG1JQ2doZFhKc0xtbHVZMngxWkdWektDZG5hWFFySnlrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMWNtdzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhWeWJDNXpjR3hwZENnbloybDBLeWNwV3pGZE8xeHVJQ0I5TzF4dVhHNGdJR052Ym5OMElISmxjRzl6YVhSdmNubFZVa3dnUFNCblpYUkRiM0p5WldOMFVtVndiM05wZEc5eWVWVlNUQ2dwTzF4dVhHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BFeHBjM1JjYmlBZ0lDQWdJR1JsYm5ObFBYdDBjblZsZlZ4dUlDQWdJQ0FnYzNWaWFHVmhaR1Z5UFhzOFUzUjViR1ZrVkdWNGRDQjJZWEpwWVc1MFBWd2ljM1ZpZEdsMGJHVXhYQ0krZTNRb0ozTnBaR1ZpWVhJdWNtVndiM05wZEc5eWVTNTBhWFJzWlNjcGZUd3ZVM1I1YkdWa1ZHVjRkRDU5WEc0Z0lDQWdQbHh1SUNBZ0lDQWdQRkpsY0c5emFYUnZjbmxNYVhOMFNYUmxiVDVjYmlBZ0lDQWdJQ0FnUEZKbGNHOXphWFJ2Y25sQmRtRjBZWElnYzNnOWUzc2dZbWRqYjJ4dmNqb2dZMjl0Ylc5dUxuZG9hWFJsSUgxOVBseHVJQ0FnSUNBZ0lDQWdJRHhIYVhRZ0x6NWNiaUFnSUNBZ0lDQWdQQzlTWlhCdmMybDBiM0o1UVhaaGRHRnlQbHh1SUNBZ0lDQWdJQ0E4VW1Wd2IzTnBkRzl5ZVV4cGMzUkpkR1Z0VkdWNGRGeHVJQ0FnSUNBZ0lDQWdJSEJ5YVcxaGNuazllMXh1SUNBZ0lDQWdJQ0FnSUNBZ1BFTnZjSGxEYkdsd1ltOWhjbVFnWkdGMFlWUmxjM1JKWkQxY0luSmxjRzl6YVhSdmNubEpSRndpSUhSbGVIUTllM0psY0c5emFYUnZjbmxWVWt4OUlIUnBkR3hsUFh0eVpYQnZjMmwwYjNKNVZWSk1mVDVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRXhwYm10RmVIUmxjbTVoYkNCMGJ6MTdjbVZ3YjNOcGRHOXllVlZTVEgwZ2RtRnlhV0Z1ZEQxY0ltOTFkR3hwYm1WY0lqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjdjbVZ3YjNOcGRHOXllVlZTVEgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5TWFXNXJSWGgwWlhKdVlXdytYRzRnSUNBZ0lDQWdJQ0FnSUNBOEwwTnZjSGxEYkdsd1ltOWhjbVErWEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQXZQbHh1SUNBZ0lDQWdQQzlTWlhCdmMybDBiM0o1VEdsemRFbDBaVzArWEc0Z0lDQWdQQzlNYVhOMFBseHVJQ0FwTzF4dWZUdGNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdVbVZ3YjNOcGRHOXllVHRjYmlKZGZRPT0gKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBSZXBvc2l0b3J5QXZhdGFyID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoQXZhdGFyLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlaHZqdXVyMFwiIH0gOiB7XG5cdHRhcmdldDogXCJlaHZqdXVyMFwiLFxuXHRsYWJlbDogXCJSZXBvc2l0b3J5QXZhdGFyXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCIxdmZneTllXCIsXG5cdHN0eWxlczogXCJwYWRkaW5nOjA7bWFyZ2luLWxlZnQ6MDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50XCJcbn0gOiB7XG5cdG5hbWU6IFwiMXZmZ3k5ZVwiLFxuXHRzdHlsZXM6IFwicGFkZGluZzowO21hcmdpbi1sZWZ0OjA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudC8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZZMjl0Y0c5dVpXNTBjeTlTWlhCdmMybDBiM0o1TDFKbGNHOXphWFJ2Y25rdWRITjRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRV2xEZVVJaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OWpiMjF3YjI1bGJuUnpMMUpsY0c5emFYUnZjbmt2VW1Wd2IzTnBkRzl5ZVM1MGMzZ2lMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdjM1I1YkdWa0lHWnliMjBnSjBCbGJXOTBhVzl1TDNOMGVXeGxaQ2M3WEc1cGJYQnZjblFnUVhaaGRHRnlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UVhaaGRHRnlKenRjYm1sdGNHOXlkQ0JNYVhOMElHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZUR2x6ZENjN1hHNXBiWEJ2Y25RZ1RHbHpkRWwwWlcwZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOU1hWE4wU1hSbGJTYzdYRzVwYlhCdmNuUWdUR2x6ZEVsMFpXMVVaWGgwSUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlRHbHpkRWwwWlcxVVpYaDBKenRjYm1sdGNHOXlkQ0JVZVhCdlozSmhjR2g1SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlZIbHdiMmR5WVhCb2VTYzdYRzVwYlhCdmNuUWdleUJqYjIxdGIyNGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDJOdmJHOXljeWM3WEc1cGJYQnZjblFnVW1WaFkzUWdabkp2YlNBbmNtVmhZM1FuTzF4dWFXMXdiM0owSUhzZ2RYTmxWSEpoYm5Oc1lYUnBiMjRnZlNCbWNtOXRJQ2R5WldGamRDMXBNVGh1WlhoMEp6dGNibHh1YVcxd2IzSjBJSFI1Y0dVZ2V5QlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMMVJvWlcxbEp6dGNibWx0Y0c5eWRDQjdJSFZ5YkNCaGN5QjFjbXhWZEdsc2N5QjlJR1p5YjIwZ0p5NHVMeTR1TDNWMGFXeHpKenRjYm1sdGNHOXlkQ0JEYjNCNVEyeHBjR0p2WVhKa0lHWnliMjBnSnk0dUwwTnZjSGxEYkdsd1ltOWhjbVFuTzF4dWFXMXdiM0owSUhzZ1IybDBJSDBnWm5KdmJTQW5MaTR2U1dOdmJuTW5PMXh1YVcxd2IzSjBJRXhwYm10RmVIUmxjbTVoYkNCbWNtOXRJQ2N1TGk5TWFXNXJSWGgwWlhKdVlXd25PMXh1WEc1amIyNXpkQ0JUZEhsc1pXUlVaWGgwSUQwZ2MzUjViR1ZrS0ZSNWNHOW5jbUZ3YUhrcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29jSEp2Y0hNcElEMCtJQ2g3WEc0Z0lHWnZiblJYWldsbmFIUTZJSEJ5YjNCekxuUm9aVzFsTG1admJuUlhaV2xuYUhRdVltOXNaQ3hjYmlBZ2RHVjRkRlJ5WVc1elptOXliVG9nSjJOaGNHbDBZV3hwZW1VbkxGeHVmU2twTzF4dVhHNWpiMjV6ZENCU1pYQnZjMmwwYjNKNVRHbHpkRWwwWlcwZ1BTQnpkSGxzWldRb1RHbHpkRWwwWlcwcEtIdGNiaUFnY0dGa1pHbHVaem9nTUN4Y2JpQWdKenBvYjNabGNpYzZJSHRjYmlBZ0lDQmlZV05yWjNKdmRXNWtRMjlzYjNJNklDZDBjbUZ1YzNCaGNtVnVkQ2NzWEc0Z0lIMHNYRzU5S1R0Y2JseHVZMjl1YzNRZ1VtVndiM05wZEc5eWVVeHBjM1JKZEdWdFZHVjRkQ0E5SUhOMGVXeGxaQ2hNYVhOMFNYUmxiVlJsZUhRcEtIdGNiaUFnY0dGa1pHbHVaem9nSnpBZ01DQXdJREV3Y0hnbkxGeHVJQ0J0WVhKbmFXNDZJREFzWEc1OUtUdGNibHh1WTI5dWMzUWdVbVZ3YjNOcGRHOXllVUYyWVhSaGNpQTlJSE4wZVd4bFpDaEJkbUYwWVhJcEtIdGNiaUFnY0dGa1pHbHVaem9nTUN4Y2JpQWdiV0Z5WjJsdVRHVm1kRG9nTUN4Y2JpQWdZbUZqYTJkeWIzVnVaRU52Ykc5eU9pQW5kSEpoYm5Od1lYSmxiblFuTEZ4dWZTazdYRzVjYm1OdmJuTjBJRkpsY0c5emFYUnZjbms2SUZKbFlXTjBMa1pEUEhzZ2NHRmphMkZuWlUxbGRHRTZJR0Z1ZVNCOVBpQTlJQ2g3SUhCaFkydGhaMlZOWlhSaElIMHBJRDArSUh0Y2JpQWdZMjl1YzNRZ2V5QjBJSDBnUFNCMWMyVlVjbUZ1YzJ4aGRHbHZiaWdwTzF4dUlDQmpiMjV6ZENCMWNtd2dQU0J3WVdOcllXZGxUV1YwWVQ4dWJHRjBaWE4wUHk1eVpYQnZjMmwwYjNKNVB5NTFjbXc3WEc0Z0lHbG1JQ2doZFhKc0lIeDhJQ0YxY214VmRHbHNjeTVwYzFWU1RDaDFjbXdwS1NCN1hHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQmpiMjV6ZENCblpYUkRiM0p5WldOMFVtVndiM05wZEc5eWVWVlNUQ0E5SUNncE9pQnpkSEpwYm1jZ1BUNGdlMXh1SUNBZ0lHbG1JQ2doZFhKc0xtbHVZMngxWkdWektDZG5hWFFySnlrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMWNtdzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhWeWJDNXpjR3hwZENnbloybDBLeWNwV3pGZE8xeHVJQ0I5TzF4dVhHNGdJR052Ym5OMElISmxjRzl6YVhSdmNubFZVa3dnUFNCblpYUkRiM0p5WldOMFVtVndiM05wZEc5eWVWVlNUQ2dwTzF4dVhHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BFeHBjM1JjYmlBZ0lDQWdJR1JsYm5ObFBYdDBjblZsZlZ4dUlDQWdJQ0FnYzNWaWFHVmhaR1Z5UFhzOFUzUjViR1ZrVkdWNGRDQjJZWEpwWVc1MFBWd2ljM1ZpZEdsMGJHVXhYQ0krZTNRb0ozTnBaR1ZpWVhJdWNtVndiM05wZEc5eWVTNTBhWFJzWlNjcGZUd3ZVM1I1YkdWa1ZHVjRkRDU5WEc0Z0lDQWdQbHh1SUNBZ0lDQWdQRkpsY0c5emFYUnZjbmxNYVhOMFNYUmxiVDVjYmlBZ0lDQWdJQ0FnUEZKbGNHOXphWFJ2Y25sQmRtRjBZWElnYzNnOWUzc2dZbWRqYjJ4dmNqb2dZMjl0Ylc5dUxuZG9hWFJsSUgxOVBseHVJQ0FnSUNBZ0lDQWdJRHhIYVhRZ0x6NWNiaUFnSUNBZ0lDQWdQQzlTWlhCdmMybDBiM0o1UVhaaGRHRnlQbHh1SUNBZ0lDQWdJQ0E4VW1Wd2IzTnBkRzl5ZVV4cGMzUkpkR1Z0VkdWNGRGeHVJQ0FnSUNBZ0lDQWdJSEJ5YVcxaGNuazllMXh1SUNBZ0lDQWdJQ0FnSUNBZ1BFTnZjSGxEYkdsd1ltOWhjbVFnWkdGMFlWUmxjM1JKWkQxY0luSmxjRzl6YVhSdmNubEpSRndpSUhSbGVIUTllM0psY0c5emFYUnZjbmxWVWt4OUlIUnBkR3hsUFh0eVpYQnZjMmwwYjNKNVZWSk1mVDVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRXhwYm10RmVIUmxjbTVoYkNCMGJ6MTdjbVZ3YjNOcGRHOXllVlZTVEgwZ2RtRnlhV0Z1ZEQxY0ltOTFkR3hwYm1WY0lqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjdjbVZ3YjNOcGRHOXllVlZTVEgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5TWFXNXJSWGgwWlhKdVlXdytYRzRnSUNBZ0lDQWdJQ0FnSUNBOEwwTnZjSGxEYkdsd1ltOWhjbVErWEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQXZQbHh1SUNBZ0lDQWdQQzlTWlhCdmMybDBiM0o1VEdsemRFbDBaVzArWEc0Z0lDQWdQQzlNYVhOMFBseHVJQ0FwTzF4dWZUdGNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdVbVZ3YjNOcGRHOXllVHRjYmlKZGZRPT0gKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBSZXBvc2l0b3J5ID0gKHsgcGFja2FnZU1ldGEgfSkgPT4ge1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdGNvbnN0IHVybCA9IHBhY2thZ2VNZXRhPy5sYXRlc3Q/LnJlcG9zaXRvcnk/LnVybDtcblx0aWYgKCF1cmwgfHwgIWlzVVJMKHVybCkpIHJldHVybiBudWxsO1xuXHRjb25zdCBnZXRDb3JyZWN0UmVwb3NpdG9yeVVSTCA9ICgpID0+IHtcblx0XHRpZiAoIXVybC5pbmNsdWRlcyhcImdpdCtcIikpIHJldHVybiB1cmw7XG5cdFx0cmV0dXJuIHVybC5zcGxpdChcImdpdCtcIilbMV07XG5cdH07XG5cdGNvbnN0IHJlcG9zaXRvcnlVUkwgPSBnZXRDb3JyZWN0UmVwb3NpdG9yeVVSTCgpO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChMaXN0LCB7XG5cdFx0ZGVuc2U6IHRydWUsXG5cdFx0c3ViaGVhZGVyOiAvKiBAX19QVVJFX18gKi8ganN4KFN0eWxlZFRleHQsIHtcblx0XHRcdHZhcmlhbnQ6IFwic3VidGl0bGUxXCIsXG5cdFx0XHRjaGlsZHJlbjogdChcInNpZGViYXIucmVwb3NpdG9yeS50aXRsZVwiKVxuXHRcdH0pLFxuXHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4cyhSZXBvc2l0b3J5TGlzdEl0ZW0sIHsgY2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KFJlcG9zaXRvcnlBdmF0YXIsIHtcblx0XHRcdHN4OiB7IGJnY29sb3I6IGNvbW1vbi53aGl0ZSB9LFxuXHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goR2l0LCB7fSlcblx0XHR9KSwgLyogQF9fUFVSRV9fICovIGpzeChSZXBvc2l0b3J5TGlzdEl0ZW1UZXh0LCB7IHByaW1hcnk6IC8qIEBfX1BVUkVfXyAqLyBqc3goQ29weVRvQ2xpcEJvYXJkLCB7XG5cdFx0XHRkYXRhVGVzdElkOiBcInJlcG9zaXRvcnlJRFwiLFxuXHRcdFx0dGV4dDogcmVwb3NpdG9yeVVSTCxcblx0XHRcdHRpdGxlOiByZXBvc2l0b3J5VVJMLFxuXHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goTGlua0V4dGVybmFsLCB7XG5cdFx0XHRcdHRvOiByZXBvc2l0b3J5VVJMLFxuXHRcdFx0XHR2YXJpYW50OiBcIm91dGxpbmVcIixcblx0XHRcdFx0Y2hpbGRyZW46IHJlcG9zaXRvcnlVUkxcblx0XHRcdH0pXG5cdFx0fSkgfSldIH0pXG5cdH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgUmVwb3NpdG9yeSBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVJlcG9zaXRvcnkubWpzLm1hcCIsImltcG9ydCB7IHVzZUNvbmZpZyB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvQXBwQ29uZmlndXJhdGlvblByb3ZpZGVyL0FwcENvbmZpZ3VyYXRpb25Qcm92aWRlci5tanNcIjtcbmltcG9ydCB7IHVzZVZlcnNpb24gfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL1ZlcnNpb25Qcm92aWRlci9WZXJzaW9uUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgeyBEb3dubG9hZFByb3ZpZGVyIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9Eb3dubG9hZFByb3ZpZGVyL0Rvd25sb2FkUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9wcm92aWRlcnMvaW5kZXgubWpzXCI7XG5pbXBvcnQgQWN0aW9uQmFyIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0FjdGlvbkJhci9BY3Rpb25CYXIubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL0FjdGlvbkJhci9pbmRleC5tanNcIjtcbmltcG9ydCBBdXRob3IgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvQXV0aG9yL0F1dGhvci5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvQXV0aG9yL2luZGV4Lm1qc1wiO1xuaW1wb3J0IERldmVsb3BlcnMgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvRGV2ZWxvcGVycy9EZXZlbG9wZXJzLm1qc1wiO1xuaW1wb3J0IHsgRGV2ZWxvcGVyVHlwZSB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0RldmVsb3BlcnMvRGV2ZWxvcGVyVHlwZS5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvRGV2ZWxvcGVycy9pbmRleC5tanNcIjtcbmltcG9ydCBEaXN0IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0Rpc3RyaWJ1dGlvbi9EaXN0Lm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9EaXN0cmlidXRpb24vaW5kZXgubWpzXCI7XG5pbXBvcnQgRW5naW5lIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0VuZ2luZXMvRW5naW5lcy5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvRW5naW5lcy9pbmRleC5tanNcIjtcbmltcG9ydCBGdW5kQnV0dG9uIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0Z1bmRCdXR0b24vRnVuZEJ1dHRvbi5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvRnVuZEJ1dHRvbi9pbmRleC5tanNcIjtcbmltcG9ydCBJbnN0YWxsIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0luc3RhbGwvSW5zdGFsbC5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvSW5zdGFsbC9pbmRleC5tanNcIjtcbmltcG9ydCBLZXl3b3JkcyBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9LZXl3b3Jkcy9LZXl3b3Jkcy5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvS2V5d29yZHMvaW5kZXgubWpzXCI7XG5pbXBvcnQgRGV0YWlsU2lkZWJhclRpdGxlIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL1NpZGVCYXJUaXRsZS9TaWRlQmFyVGl0bGUubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL1NpZGVCYXJUaXRsZS9pbmRleC5tanNcIjtcbmltcG9ydCBSZXBvc2l0b3J5IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL1JlcG9zaXRvcnkvUmVwb3NpdG9yeS5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvUmVwb3NpdG9yeS9pbmRleC5tanNcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCBQYXBlciBmcm9tIFwiQG11aS9tYXRlcmlhbC9QYXBlclwiO1xuLy8jcmVnaW9uIHNyYy9zZWN0aW9ucy9TaWRlQmFyL1NpZGViYXIudHN4XG52YXIgZ2V0TW9kdWxlVHlwZXMgPSAobWFuaWZlc3QpID0+IHtcblx0aWYgKCFtYW5pZmVzdC5sYXRlc3QpIHJldHVybiBbXTtcblx0Y29uc3QgbW9kdWxlVHlwZXMgPSBbbWFuaWZlc3QubGF0ZXN0LnR5cGUgfHwgXCJjb21tb25qc1wiXTtcblx0aWYgKG1hbmlmZXN0LmxhdGVzdC5tYWluKSBtb2R1bGVUeXBlcy5wdXNoKFwiY29tbW9uanNcIik7XG5cdHJldHVybiBBcnJheS5mcm9tKG5ldyBTZXQobW9kdWxlVHlwZXMpKTtcbn07XG52YXIgRGV0YWlsU2lkZWJhciA9ICgpID0+IHtcblx0Y29uc3QgeyBwYWNrYWdlTWV0YSwgcGFja2FnZU5hbWUsIHBhY2thZ2VWZXJzaW9uIH0gPSB1c2VWZXJzaW9uKCk7XG5cdGNvbnN0IHsgY29uZmlnT3B0aW9ucyB9ID0gdXNlQ29uZmlnKCk7XG5cdGNvbnN0IHZlcnNpb24gPSBwYWNrYWdlVmVyc2lvbiB8fCBwYWNrYWdlTWV0YT8ubGF0ZXN0LnZlcnNpb24gfHwgXCJcIjtcblx0Y29uc3QgdGltZSA9IHBhY2thZ2VNZXRhPy50aW1lID8gcGFja2FnZU1ldGEudGltZVt2ZXJzaW9uXSA6IFwiXCI7XG5cdGlmICghcGFja2FnZU1ldGEgfHwgIXBhY2thZ2VOYW1lKSByZXR1cm4gbnVsbDtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKFBhcGVyLCB7XG5cdFx0XCJkYXRhLXRlc3RpZFwiOiBcInNpZGViYXJcIixcblx0XHRzeDoge1xuXHRcdFx0cG9zaXRpb246IFwic3RpY2t5XCIsXG5cdFx0XHR0b3A6IDAsXG5cdFx0XHRwOiAyLFxuXHRcdFx0bWw6IHtcblx0XHRcdFx0eHM6IDAsXG5cdFx0XHRcdG1kOiAyXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRjaGlsZHJlbjogW1xuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChEZXRhaWxTaWRlYmFyVGl0bGUsIHtcblx0XHRcdFx0ZGVzY3JpcHRpb246IHBhY2thZ2VNZXRhLmxhdGVzdD8uZGVzY3JpcHRpb24sXG5cdFx0XHRcdGhhc1R5cGVzOiB0eXBlb2YgcGFja2FnZU1ldGEubGF0ZXN0Py50eXBlcyA9PT0gXCJzdHJpbmdcIixcblx0XHRcdFx0aXNMYXRlc3Q6IHR5cGVvZiBwYWNrYWdlVmVyc2lvbiA9PT0gXCJ1bmRlZmluZWRcIixcblx0XHRcdFx0bW9kdWxlVHlwZXM6IGdldE1vZHVsZVR5cGVzKHBhY2thZ2VNZXRhKSxcblx0XHRcdFx0cGFja2FnZU5hbWUsXG5cdFx0XHRcdHRpbWUsXG5cdFx0XHRcdHZlcnNpb25cblx0XHRcdH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChEb3dubG9hZFByb3ZpZGVyLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEFjdGlvbkJhciwge1xuXHRcdFx0XHRwYWNrYWdlTWV0YSxcblx0XHRcdFx0c2hvd0Rvd25sb2FkVGFyYmFsbDogY29uZmlnT3B0aW9ucy5zaG93RG93bmxvYWRUYXJiYWxsLFxuXHRcdFx0XHRzaG93UmF3OiBjb25maWdPcHRpb25zLnNob3dSYXdcblx0XHRcdH0pIH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChGdW5kQnV0dG9uLCB7IHBhY2thZ2VNZXRhIH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChJbnN0YWxsLCB7XG5cdFx0XHRcdGNvbmZpZ09wdGlvbnMsXG5cdFx0XHRcdHBhY2thZ2VNZXRhLFxuXHRcdFx0XHRwYWNrYWdlTmFtZVxuXHRcdFx0fSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFJlcG9zaXRvcnksIHsgcGFja2FnZU1ldGEgfSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KEVuZ2luZSwgeyBwYWNrYWdlTWV0YSB9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goRGlzdCwgeyBwYWNrYWdlTWV0YSB9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goS2V5d29yZHMsIHsgcGFja2FnZU1ldGEgfSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KEF1dGhvciwgeyBwYWNrYWdlTWV0YSB9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goRGV2ZWxvcGVycywge1xuXHRcdFx0XHRwYWNrYWdlTWV0YSxcblx0XHRcdFx0dHlwZTogRGV2ZWxvcGVyVHlwZS5NQUlOVEFJTkVSU1xuXHRcdFx0fSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KERldmVsb3BlcnMsIHtcblx0XHRcdFx0cGFja2FnZU1ldGEsXG5cdFx0XHRcdHR5cGU6IERldmVsb3BlclR5cGUuQ09OVFJJQlVUT1JTXG5cdFx0XHR9KVxuXHRcdF1cblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBEZXRhaWxTaWRlYmFyIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9U2lkZWJhci5tanMubWFwIiwiaW1wb3J0IFJlYWRtZSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9SZWFkbWUvUmVhZG1lLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9SZWFkbWUvaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG4vLyNyZWdpb24gc3JjL3NlY3Rpb25zL0RldGFpbC9SZWFkbWVTZWN0aW9uLnRzeFxudmFyIERldGFpbENvbnRhaW5lckNvbnRlbnRSZWFkbWUgPSAoeyBkZXNjcmlwdGlvbiB9KSA9PiB7XG5cdGlmICghZGVzY3JpcHRpb24pIHJldHVybiBudWxsO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChSZWFkbWUsIHsgZGVzY3JpcHRpb24gfSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBEZXRhaWxDb250YWluZXJDb250ZW50UmVhZG1lIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9UmVhZG1lU2VjdGlvbi5tanMubWFwIiwiaW1wb3J0IGxvYWRhYmxlX2RlZmF1bHQgZnJvbSBcIi4uLy4uL3V0aWxzL2xvYWRhYmxlLm1qc1wiO1xuaW1wb3J0IHsgdXNlVmVyc2lvbiB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvVmVyc2lvblByb3ZpZGVyL1ZlcnNpb25Qcm92aWRlci5tanNcIjtcbmltcG9ydCBcIi4uLy4uL3Byb3ZpZGVycy9pbmRleC5tanNcIjtcbmltcG9ydCBEZXRhaWxDb250YWluZXJDb250ZW50UmVhZG1lIGZyb20gXCIuL1JlYWRtZVNlY3Rpb24ubWpzXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG4vLyNyZWdpb24gc3JjL3NlY3Rpb25zL0RldGFpbC9Db250YWluZXJDb250ZW50LnRzeFxudmFyIFRhYlBvc2l0aW9uID0gLyogQF9fUFVSRV9fICovIGZ1bmN0aW9uKFRhYlBvc2l0aW9uKSB7XG5cdFRhYlBvc2l0aW9uW1wiUkVBRE1FXCJdID0gXCJyZWFkbWVcIjtcblx0VGFiUG9zaXRpb25bXCJERVBFTkRFTkNJRVNcIl0gPSBcImRlcGVuZGVuY2llc1wiO1xuXHRUYWJQb3NpdGlvbltcIlZFUlNJT05TXCJdID0gXCJ2ZXJzaW9uc1wiO1xuXHRUYWJQb3NpdGlvbltcIlVQTElOS1NcIl0gPSBcInVwbGlua3NcIjtcblx0cmV0dXJuIFRhYlBvc2l0aW9uO1xufSh7fSk7XG52YXIgVmVyc2lvbnMgPSBsb2FkYWJsZV9kZWZhdWx0KCgpID0+IGltcG9ydChcIi4uLy4uL2NvbXBvbmVudHMvVmVyc2lvbnMvaW5kZXgubWpzXCIpKTtcbnZhciBVcExpbmtzID0gbG9hZGFibGVfZGVmYXVsdCgoKSA9PiBpbXBvcnQoXCIuLi8uLi9jb21wb25lbnRzL1VwTGlua3MvaW5kZXgubWpzXCIpKTtcbnZhciBEZXBlbmRlbmNpZXMgPSBsb2FkYWJsZV9kZWZhdWx0KCgpID0+IGltcG9ydChcIi4uLy4uL2NvbXBvbmVudHMvRGVwZW5kZW5jaWVzL2luZGV4Lm1qc1wiKSk7XG52YXIgQ29udGFpbmVyQ29udGVudCA9ICh7IHRhYlBvc2l0aW9uLCByZWFkRGVzY3JpcHRpb24gfSkgPT4ge1xuXHRjb25zdCB7IHBhY2thZ2VNZXRhLCBwYWNrYWdlTmFtZSB9ID0gdXNlVmVyc2lvbigpO1xuXHRzd2l0Y2ggKHRhYlBvc2l0aW9uKSB7XG5cdFx0Y2FzZSBUYWJQb3NpdGlvbi5SRUFETUU6IHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KERldGFpbENvbnRhaW5lckNvbnRlbnRSZWFkbWUsIHsgZGVzY3JpcHRpb246IHJlYWREZXNjcmlwdGlvbiB9KTtcblx0XHRjYXNlIFRhYlBvc2l0aW9uLlVQTElOS1M6IHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFVwTGlua3MsIHsgcGFja2FnZU1ldGEgfSk7XG5cdFx0Y2FzZSBUYWJQb3NpdGlvbi5WRVJTSU9OUzogcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goVmVyc2lvbnMsIHtcblx0XHRcdHBhY2thZ2VNZXRhLFxuXHRcdFx0cGFja2FnZU5hbWVcblx0XHR9KTtcblx0XHRjYXNlIFRhYlBvc2l0aW9uLkRFUEVOREVOQ0lFUzogcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goRGVwZW5kZW5jaWVzLCB7IHBhY2thZ2VNZXRhIH0pO1xuXHRcdGRlZmF1bHQ6IHJldHVybiBudWxsO1xuXHR9XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBDb250YWluZXJDb250ZW50IGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Q29udGFpbmVyQ29udGVudC5tanMubWFwIiwiaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG5pbXBvcnQgeyBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgVGFiIGZyb20gXCJAbXVpL21hdGVyaWFsL1RhYlwiO1xuaW1wb3J0IFRhYnMgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvVGFic1wiO1xuaW1wb3J0IHVzZU1lZGlhUXVlcnkgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvdXNlTWVkaWFRdWVyeVwiO1xuLy8jcmVnaW9uIHNyYy9zZWN0aW9ucy9EZXRhaWwvVGFicy50c3hcbmZ1bmN0aW9uIF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fKCkge1xuXHRyZXR1cm4gXCJZb3UgaGF2ZSB0cmllZCB0byBzdHJpbmdpZnkgb2JqZWN0IHJldHVybmVkIGZyb20gYGNzc2AgZnVuY3Rpb24uIEl0IGlzbid0IHN1cHBvc2VkIHRvIGJlIHVzZWQgZGlyZWN0bHkgKGUuZy4gYXMgdmFsdWUgb2YgdGhlIGBjbGFzc05hbWVgIHByb3ApLCBidXQgcmF0aGVyIGhhbmRlZCB0byBlbW90aW9uIHNvIGl0IGNhbiBoYW5kbGUgaXQgKGUuZy4gYXMgdmFsdWUgb2YgYGNzc2AgcHJvcCkuXCI7XG59XG52YXIgRGV0YWlsQ29udGFpbmVyVGFicyA9ICh7IHRhYlBvc2l0aW9uLCBvbkNoYW5nZSwgc2hvd1VwbGlua3MgfSkgPT4ge1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdGNvbnN0IGlzTW9iaWxlID0gdXNlTWVkaWFRdWVyeShcIihtYXgtd2lkdGg6NTk5cHgpXCIpO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoVGFicyQxLCB7XG5cdFx0YWxsb3dTY3JvbGxCdXR0b25zTW9iaWxlOiB0cnVlLFxuXHRcdG9uQ2hhbmdlLFxuXHRcdHNjcm9sbEJ1dHRvbnM6IGlzTW9iaWxlID8gXCJhdXRvXCIgOiBmYWxzZSxcblx0XHR2YWx1ZTogdGFiUG9zaXRpb24sXG5cdFx0dmFyaWFudDogaXNNb2JpbGUgPyBcInNjcm9sbGFibGVcIiA6IFwiZnVsbFdpZHRoXCIsXG5cdFx0Y2hpbGRyZW46IFtcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goVGFiLCB7XG5cdFx0XHRcdFwiZGF0YS10ZXN0aWRcIjogXCJyZWFkbWUtdGFiXCIsXG5cdFx0XHRcdGlkOiBcInJlYWRtZS10YWJcIixcblx0XHRcdFx0bGFiZWw6IHQoXCJ0YWIucmVhZG1lXCIpXG5cdFx0XHR9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goVGFiLCB7XG5cdFx0XHRcdFwiZGF0YS10ZXN0aWRcIjogXCJkZXBlbmRlbmNpZXMtdGFiXCIsXG5cdFx0XHRcdGlkOiBcImRlcGVuZGVuY2llcy10YWJcIixcblx0XHRcdFx0bGFiZWw6IHQoXCJ0YWIuZGVwZW5kZW5jaWVzXCIpXG5cdFx0XHR9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goVGFiLCB7XG5cdFx0XHRcdFwiZGF0YS10ZXN0aWRcIjogXCJ2ZXJzaW9ucy10YWJcIixcblx0XHRcdFx0aWQ6IFwidmVyc2lvbnMtdGFiXCIsXG5cdFx0XHRcdGxhYmVsOiB0KFwidGFiLnZlcnNpb25zXCIpXG5cdFx0XHR9KSxcblx0XHRcdHNob3dVcGxpbmtzICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goVGFiLCB7XG5cdFx0XHRcdFwiZGF0YS10ZXN0aWRcIjogXCJ1cGxpbmtzLXRhYlwiLFxuXHRcdFx0XHRpZDogXCJ1cGxpbmtzLXRhYlwiLFxuXHRcdFx0XHRsYWJlbDogdChcInRhYi51cGxpbmtzXCIpXG5cdFx0XHR9KVxuXHRcdF1cblx0fSk7XG59O1xudmFyIFRhYnMkMSA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFRhYnMsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxZzllZTRsMFwiIH0gOiB7XG5cdHRhcmdldDogXCJlMWc5ZWU0bDBcIixcblx0bGFiZWw6IFwiVGFic1wiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwiMTh1cWF5aFwiLFxuXHRzdHlsZXM6IFwibWFyZ2luLWJvdHRvbToxNnB4XCJcbn0gOiB7XG5cdG5hbWU6IFwiMTh1cWF5aFwiLFxuXHRzdHlsZXM6IFwibWFyZ2luLWJvdHRvbToxNnB4LyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlJHVjBZV2xzTDFSaFluTXVkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVhWRFlTSXNJbVpwYkdVaU9pSXZhRzl0WlM5eWRXNXVaWEl2ZDI5eWF5OTJaWEprWVdOamFXOHZkbVZ5WkdGalkybHZMM0JoWTJ0aFoyVnpMM1ZwTFdOdmJYQnZibVZ1ZEhNdmMzSmpMM05sWTNScGIyNXpMMFJsZEdGcGJDOVVZV0p6TG5SemVDSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0JVWVdJZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOVVZV0luTzF4dWFXMXdiM0owSUhzZ1pHVm1ZWFZzZENCaGN5Qk5kV2xVWVdKeklIMGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlVWVdKekp6dGNibWx0Y0c5eWRDQjFjMlZOWldScFlWRjFaWEo1SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dmRYTmxUV1ZrYVdGUmRXVnllU2M3WEc1cGJYQnZjblFnVW1WaFkzUWdabkp2YlNBbmNtVmhZM1FuTzF4dWFXMXdiM0owSUhzZ2RYTmxWSEpoYm5Oc1lYUnBiMjRnZlNCbWNtOXRJQ2R5WldGamRDMXBNVGh1WlhoMEp6dGNibHh1YVcxd2IzSjBJSFI1Y0dVZ2V5QlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMMVJvWlcxbEp6dGNibHh1YVc1MFpYSm1ZV05sSUZCeWIzQnpJSHRjYmlBZ2IyNURhR0Z1WjJVNklDaGxkbVZ1ZERvZ1VtVmhZM1F1UTJoaGJtZGxSWFpsYm5ROGUzMCtMQ0J1WlhkV1lXeDFaVG9nYm5WdFltVnlLU0E5UGlCMmIybGtPMXh1SUNCMFlXSlFiM05wZEdsdmJqb2diblZ0WW1WeU8xeHVJQ0J6YUc5M1ZYQnNhVzVyY3o4NklHSnZiMnhsWVc0N1hHNTlYRzVjYm1OdmJuTjBJRVJsZEdGcGJFTnZiblJoYVc1bGNsUmhZbk02SUZKbFlXTjBMa1pEUEZCeWIzQnpQaUE5SUNoN0lIUmhZbEJ2YzJsMGFXOXVMQ0J2YmtOb1lXNW5aU3dnYzJodmQxVndiR2x1YTNNZ2ZTa2dQVDRnZTF4dUlDQmpiMjV6ZENCN0lIUWdmU0E5SUhWelpWUnlZVzV6YkdGMGFXOXVLQ2s3WEc0Z0lHTnZibk4wSUdselRXOWlhV3hsSUQwZ2RYTmxUV1ZrYVdGUmRXVnllU2duS0cxaGVDMTNhV1IwYURvMU9UbHdlQ2tuS1R0Y2JseHVJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lEeFVZV0p6WEc0Z0lDQWdJQ0JoYkd4dmQxTmpjbTlzYkVKMWRIUnZibk5OYjJKcGJHVTllM1J5ZFdWOVhHNGdJQ0FnSUNCdmJrTm9ZVzVuWlQxN2IyNURhR0Z1WjJWOVhHNGdJQ0FnSUNCelkzSnZiR3hDZFhSMGIyNXpQWHRwYzAxdlltbHNaU0EvSUNkaGRYUnZKeUE2SUdaaGJITmxmVnh1SUNBZ0lDQWdkbUZzZFdVOWUzUmhZbEJ2YzJsMGFXOXVmVnh1SUNBZ0lDQWdkbUZ5YVdGdWREMTdhWE5OYjJKcGJHVWdQeUFuYzJOeWIyeHNZV0pzWlNjZ09pQW5ablZzYkZkcFpIUm9KMzFjYmlBZ0lDQStYRzRnSUNBZ0lDQThWR0ZpSUdSaGRHRXRkR1Z6ZEdsa1BYc25jbVZoWkcxbExYUmhZaWQ5SUdsa1BYc25jbVZoWkcxbExYUmhZaWQ5SUd4aFltVnNQWHQwS0NkMFlXSXVjbVZoWkcxbEp5bDlJQzgrWEc0Z0lDQWdJQ0E4VkdGaUlHUmhkR0V0ZEdWemRHbGtQWHNuWkdWd1pXNWtaVzVqYVdWekxYUmhZaWQ5SUdsa1BYc25aR1Z3Wlc1a1pXNWphV1Z6TFhSaFlpZDlJR3hoWW1Wc1BYdDBLQ2QwWVdJdVpHVndaVzVrWlc1amFXVnpKeWw5SUM4K1hHNGdJQ0FnSUNBOFZHRmlJR1JoZEdFdGRHVnpkR2xrUFhzbmRtVnljMmx2Ym5NdGRHRmlKMzBnYVdROWV5ZDJaWEp6YVc5dWN5MTBZV0luZlNCc1lXSmxiRDE3ZENnbmRHRmlMblpsY25OcGIyNXpKeWw5SUM4K1hHNGdJQ0FnSUNCN2MyaHZkMVZ3YkdsdWEzTWdKaVlnS0Z4dUlDQWdJQ0FnSUNBOFZHRmlJR1JoZEdFdGRHVnpkR2xrUFhzbmRYQnNhVzVyY3kxMFlXSW5mU0JwWkQxN0ozVndiR2x1YTNNdGRHRmlKMzBnYkdGaVpXdzllM1FvSjNSaFlpNTFjR3hwYm10ekp5bDlJQzgrWEc0Z0lDQWdJQ0FwZlZ4dUlDQWdJRHd2VkdGaWN6NWNiaUFnS1R0Y2JuMDdYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJRVJsZEdGcGJFTnZiblJoYVc1bGNsUmhZbk03WEc1Y2JtTnZibk4wSUZSaFluTWdQU0J6ZEhsc1pXUW9UWFZwVkdGaWN5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLSHRjYmlBZ2JXRnlaMmx1UW05MGRHOXRPaUF4Tml4Y2JuMHBPMXh1SWwxOSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBEZXRhaWxDb250YWluZXJUYWJzIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9VGFicy5tanMubWFwIiwiaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9BcHBDb25maWd1cmF0aW9uUHJvdmlkZXIvQXBwQ29uZmlndXJhdGlvblByb3ZpZGVyLm1qc1wiO1xuaW1wb3J0IHsgdXNlVmVyc2lvbiB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvVmVyc2lvblByb3ZpZGVyL1ZlcnNpb25Qcm92aWRlci5tanNcIjtcbmltcG9ydCBcIi4uLy4uL3Byb3ZpZGVycy9pbmRleC5tanNcIjtcbmltcG9ydCBEZXByZWNhdGVkIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0RlcHJlY2F0ZWQvRGVwcmVjYXRlZC5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvRGVwcmVjYXRlZC9pbmRleC5tanNcIjtcbmltcG9ydCBDb250YWluZXJDb250ZW50IGZyb20gXCIuL0NvbnRhaW5lckNvbnRlbnQubWpzXCI7XG5pbXBvcnQgRGV0YWlsQ29udGFpbmVyVGFicyBmcm9tIFwiLi9UYWJzLm1qc1wiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IEJveCBmcm9tIFwiQG11aS9tYXRlcmlhbC9Cb3hcIjtcbi8vI3JlZ2lvbiBzcmMvc2VjdGlvbnMvRGV0YWlsL0RldGFpbC50c3hcbnZhciBUYWJQb3NpdGlvbiA9IC8qIEBfX1BVUkVfXyAqLyBmdW5jdGlvbihUYWJQb3NpdGlvbikge1xuXHRUYWJQb3NpdGlvbltcIlJFQURNRVwiXSA9IFwicmVhZG1lXCI7XG5cdFRhYlBvc2l0aW9uW1wiREVQRU5ERU5DSUVTXCJdID0gXCJkZXBlbmRlbmNpZXNcIjtcblx0VGFiUG9zaXRpb25bXCJWRVJTSU9OU1wiXSA9IFwidmVyc2lvbnNcIjtcblx0VGFiUG9zaXRpb25bXCJVUExJTktTXCJdID0gXCJ1cGxpbmtzXCI7XG5cdHJldHVybiBUYWJQb3NpdGlvbjtcbn0oe30pO1xudmFyIERldGFpbENvbnRhaW5lciA9ICgpID0+IHtcblx0Y29uc3QgeyBjb25maWdPcHRpb25zIH0gPSB1c2VDb25maWcoKTtcblx0Y29uc3QgdGFicyA9IGNvbmZpZ09wdGlvbnMuc2hvd1VwbGlua3MgPyBPYmplY3QudmFsdWVzKFRhYlBvc2l0aW9uKSA6IE9iamVjdC52YWx1ZXMoVGFiUG9zaXRpb24pLmZpbHRlcigodGFiKSA9PiB0YWIgIT09IFRhYlBvc2l0aW9uLlVQTElOS1MpO1xuXHRjb25zdCBbdGFiUG9zaXRpb24sIHNldFRhYlBvc2l0aW9uXSA9IHVzZVN0YXRlKDApO1xuXHRjb25zdCB7IHJlYWRNZSwgcGFja2FnZU1ldGEgfSA9IHVzZVZlcnNpb24oKTtcblx0Y29uc3QgaGFuZGxlQ2hhbmdlID0gKGV2ZW50LCBuZXdWYWx1ZSkgPT4ge1xuXHRcdHNldFRhYlBvc2l0aW9uKG5ld1ZhbHVlKTtcblx0fTtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKEJveCwge1xuXHRcdGNvbXBvbmVudDogXCJkaXZcIixcblx0XHRkaXNwbGF5OiBcImZsZXhcIixcblx0XHRmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuXHRcdG1pbldpZHRoOiAwLFxuXHRcdHBhZGRpbmc6IDAsXG5cdFx0Y2hpbGRyZW46IFtcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goRGV0YWlsQ29udGFpbmVyVGFicywge1xuXHRcdFx0XHRvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLFxuXHRcdFx0XHRzaG93VXBsaW5rczogY29uZmlnT3B0aW9ucy5zaG93VXBsaW5rcyxcblx0XHRcdFx0dGFiUG9zaXRpb25cblx0XHRcdH0pLFxuXHRcdFx0cGFja2FnZU1ldGE/LmxhdGVzdD8uZGVwcmVjYXRlZCAmJiAvKiBAX19QVVJFX18gKi8ganN4KERlcHJlY2F0ZWQsIHsgbWVzc2FnZTogcGFja2FnZU1ldGE/LmxhdGVzdD8uZGVwcmVjYXRlZCB9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goQ29udGFpbmVyQ29udGVudCwge1xuXHRcdFx0XHRyZWFkRGVzY3JpcHRpb246IHJlYWRNZSxcblx0XHRcdFx0dGFiUG9zaXRpb246IHRhYnNbdGFiUG9zaXRpb25dXG5cdFx0XHR9KVxuXHRcdF1cblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBEZXRhaWxDb250YWluZXIgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1EZXRhaWwubWpzLm1hcCIsImltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IEljb25CdXR0b24gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvSWNvbkJ1dHRvblwiO1xuaW1wb3J0IHsgY29tbW9uIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvY29sb3JzXCI7XG5pbXBvcnQgeyBjc3MgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCBUb29sYmFyIGZyb20gXCJAbXVpL21hdGVyaWFsL1Rvb2xiYXJcIjtcbmltcG9ydCBBcHBCYXIgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQXBwQmFyXCI7XG4vLyNyZWdpb24gc3JjL3NlY3Rpb25zL0hlYWRlci9zdHlsZXMudHNcbmZ1bmN0aW9uIF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fKCkge1xuXHRyZXR1cm4gXCJZb3UgaGF2ZSB0cmllZCB0byBzdHJpbmdpZnkgb2JqZWN0IHJldHVybmVkIGZyb20gYGNzc2AgZnVuY3Rpb24uIEl0IGlzbid0IHN1cHBvc2VkIHRvIGJlIHVzZWQgZGlyZWN0bHkgKGUuZy4gYXMgdmFsdWUgb2YgdGhlIGBjbGFzc05hbWVgIHByb3ApLCBidXQgcmF0aGVyIGhhbmRlZCB0byBlbW90aW9uIHNvIGl0IGNhbiBoYW5kbGUgaXQgKGUuZy4gYXMgdmFsdWUgb2YgYGNzc2AgcHJvcCkuXCI7XG59XG52YXIgSW5uZXJOYXZCYXIgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChUb29sYmFyLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlaXU3aGNsOVwiIH0gOiB7XG5cdHRhcmdldDogXCJlaXU3aGNsOVwiLFxuXHRsYWJlbDogXCJJbm5lck5hdkJhclwiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwiMWt6YnBjdFwiLFxuXHRzdHlsZXM6IFwianVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MFwiXG59IDoge1xuXHRuYW1lOiBcIjFremJwY3RcIixcblx0c3R5bGVzOiBcImp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjAvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12U0dWaFpHVnlMM04wZVd4bGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZUTWtJaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OXpaV04wYVc5dWN5OUlaV0ZrWlhJdmMzUjViR1Z6TG5Seklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIc2dZM056SUgwZ1puSnZiU0FuUUdWdGIzUnBiMjR2Y21WaFkzUW5PMXh1YVcxd2IzSjBJSE4wZVd4bFpDQm1jbTl0SUNkQVpXMXZkR2x2Ymk5emRIbHNaV1FuTzF4dWFXMXdiM0owSUVGd2NFSmhjaUJtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBGd2NFSmhjaWM3WEc1cGJYQnZjblFnU1dOdmJrSjFkSFJ2YmlCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwbGpiMjVDZFhSMGIyNG5PMXh1YVcxd2IzSjBJRlJ2YjJ4aVlYSWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlVYjI5c1ltRnlKenRjYm1sdGNHOXlkQ0I3SUdOdmJXMXZiaUI5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlkyOXNiM0p6Snp0Y2JseHVhVzF3YjNKMElIUjVjR1VnZXlCVWFHVnRaU0I5SUdaeWIyMGdKeTR1THk0dUwxUm9aVzFsSnp0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVsdWJtVnlUbUYyUW1GeUlEMGdjM1I1YkdWa0tGUnZiMnhpWVhJcEtIdGNiaUFnYW5WemRHbG1lVU52Ym5SbGJuUTZJQ2R6Y0dGalpTMWlaWFIzWldWdUp5eGNiaUFnWVd4cFoyNUpkR1Z0Y3pvZ0oyTmxiblJsY2ljc1hHNGdJSEJoWkdScGJtYzZJREFzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFZHlaV1YwYVc1bmN5QTlJSE4wZVd4bFpDZ25jM0JoYmljcEtIdGNiaUFnYldGeVoybHVPaUFuTUNBMWNIZ2dNQ0F3Snl4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdUVzlpYVd4bFRtRjJRbUZ5SUQwZ2MzUjViR1ZrS0Nka2FYWW5LVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hCeWIzQnpLU0E5UGlBb2UxeHVJQ0JoYkdsbmJrbDBaVzF6T2lBblkyVnVkR1Z5Snl4Y2JpQWdaR2x6Y0d4aGVUb2dKMlpzWlhnbkxGeHVJQ0JpYjNKa1pYSkNiM1IwYjIwNklHQXhjSGdnYzI5c2FXUWdKSHR3Y205d2N5NTBhR1Z0WlM1d1lXeGxkSFJsTG1keVpYbE1hV2RvZEgxZ0xGeHVJQ0J3WVdSa2FXNW5PaUFuT0hCNEp5eGNiaUFnY0c5emFYUnBiMjQ2SUNkeVpXeGhkR2wyWlNjc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKYm01bGNrMXZZbWxzWlU1aGRrSmhjaUE5SUhOMGVXeGxaQ2duWkdsMkp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2h3Y205d2N5a2dQVDRnS0h0Y2JpQWdZbTl5WkdWeVVtRmthWFZ6T2lBbk5IQjRKeXhjYmlBZ1ltRmphMmR5YjNWdVpFTnZiRzl5T2lCd2NtOXdjeTUwYUdWdFpTNXdZV3hsZEhSbExtZHlaWGxNYVdkb2RDeGNiaUFnWTI5c2IzSTZJR052YlcxdmJpNTNhR2wwWlN4Y2JpQWdkMmxrZEdnNklDY3hNREFsSnl4Y2JpQWdjR0ZrWkdsdVp6b2dKekFnTlhCNEp5eGNiaUFnYldGeVoybHVPaUFuTUNBeE1IQjRJREFnTUNjc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKWTI5dVUyVmhjbU5vUW5WMGRHOXVJRDBnYzNSNWJHVmtLRWxqYjI1Q2RYUjBiMjRwS0h0OUtUdGNibVY0Y0c5eWRDQmpiMjV6ZENCSmJtWnZRblYwZEc5dUlEMGdjM1I1YkdWa0tFbGpiMjVDZFhSMGIyNHBLSHQ5S1R0Y2JtVjRjRzl5ZENCamIyNXpkQ0JUZDJsMFkyaFVhR1Z0WlVKMWRIUnZiaUE5SUhOMGVXeGxaQ2hKWTI5dVFuVjBkRzl1S1NoN2ZTazdYRzVsZUhCdmNuUWdZMjl1YzNRZ1UyVjBkR2x1WjNOQ2RYUjBiMjBnUFNCemRIbHNaV1FvU1dOdmJrSjFkSFJ2Ymlrb2UzMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdVMlZoY21Ob1YzSmhjSEJsY2lBOUlITjBlV3hsWkNnblpHbDJKeWtvZTF4dUlDQmthWE53YkdGNU9pQW5ibTl1WlNjc1hHNGdJSGRwWkhSb09pQW5NVEF3SlNjc1hHNGdJRzFoY21kcGJreGxablE2SURJd0xGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JPWVhaQ1lYSWdQU0J6ZEhsc1pXUW9RWEJ3UW1GeUtUeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LSHNnZEdobGJXVWdmU2tnUFQ0Z0tIdGNiaUFnWW1GamEyZHliM1Z1WkVOdmJHOXlPbHh1SUNBZ0lIUm9aVzFsTG5CaGJHVjBkR1V1Ylc5a1pTQTlQVDBnSjJ4cFoyaDBKeUEvSUhSb1pXMWxMbkJoYkdWMGRHVXVjSEpwYldGeWVTNXRZV2x1SURvZ2RHaGxiV1V1Y0dGc1pYUjBaUzVqZVdGdVFteDFaU3hjYmlBZ1kyOXNiM0k2SUdOdmJXMXZiaTUzYUdsMFpTeGNiaUFnYldsdVNHVnBaMmgwT2lBMk1DeGNiaUFnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNCcWRYTjBhV1o1UTI5dWRHVnVkRG9nSjJObGJuUmxjaWNzWEc0Z0lGdGdRRzFsWkdsaElDaHRZWGd0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11ZUhOdFlXeHNmWEI0S1dCZE9pQmpjM05nWEc0Z0lDQWdKSHRKYm1adlFuVjBkRzl1ZlNCN1hHNGdJQ0FnSUNCa2FYTndiR0Y1T2lCdWIyNWxPMXh1SUNBZ0lIMWNiaUFnSUNBa2UxTjNhWFJqYUZSb1pXMWxRblYwZEc5dWZTQjdYRzRnSUNBZ0lDQmthWE53YkdGNU9pQnViMjVsTzF4dUlDQWdJSDFjYmlBZ0lDQWtlMU5sZEhScGJtZHpRblYwZEc5dGZTQjdYRzRnSUNBZ0lDQmthWE53YkdGNU9pQnViMjVsTzF4dUlDQWdJSDFjYmlBZ1lDeGNiaUFnVzJCQWJXVmthV0VnS0cxcGJpMTNhV1IwYURvZ0pIdDBhR1Z0WlM1aWNtVmhhMUJ2YVc1MGN5NXRaV1JwZFcxOWNIZ3BZRjA2SUdOemMyQmNiaUFnSUNBa2UxTmxZWEpqYUZkeVlYQndaWEo5SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUdac1pYZzdYRzRnSUNBZ2ZWeHVJQ0FnSUNSN1NXTnZibE5sWVhKamFFSjFkSFJ2Ym4wZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUNBZ0pIdE5iMkpwYkdWT1lYWkNZWEo5SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUc1dmJtVTdYRzRnSUNBZ2ZWeHVJQ0JnTEZ4dUlDQmJZRUJ0WldScFlTQW9iV2x1TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG14aGNtZGxmWEI0S1dCZE9pQmpjM05nWEc0Z0lDQWdKSHRKYm01bGNrNWhka0poY24wZ2UxeHVJQ0FnSUNBZ2NHRmtaR2x1WnpvZ01DQXhObkI0TzF4dUlDQWdJSDFjYmlBZ1lDeGNiaUFnVzJCQWJXVmthV0VnS0cxcGJpMTNhV1IwYURvZ0pIdDBhR1Z0WlM1aWNtVmhhMUJ2YVc1MGN5NTRiR0Z5WjJWOWNIZ3BZRjA2SUdOemMyQmNiaUFnSUNBa2UwbHVibVZ5VG1GMlFtRnlmU0I3WEc0Z0lDQWdJQ0J0WVhndGQybGtkR2c2SURFeU5EQndlRHRjYmlBZ0lDQWdJSGRwWkhSb09pQXhNREFsTzF4dUlDQWdJQ0FnYldGeVoybHVPaUF3SUdGMWRHODdYRzRnSUNBZ2ZWeHVJQ0JnTEZ4dWZTa3BPMXh1SWwxOSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIEdyZWV0aW5ncyA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwic3BhblwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlaXU3aGNsOFwiIH0gOiB7XG5cdHRhcmdldDogXCJlaXU3aGNsOFwiLFxuXHRsYWJlbDogXCJHcmVldGluZ3NcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjFxbXBqYnZcIixcblx0c3R5bGVzOiBcIm1hcmdpbjowIDVweCAwIDBcIlxufSA6IHtcblx0bmFtZTogXCIxcW1wamJ2XCIsXG5cdHN0eWxlczogXCJtYXJnaW46MCA1cHggMCAwLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlNHVmhaR1Z5TDNOMGVXeGxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGbGVVSWlMQ0ptYVd4bElqb2lMMmh2YldVdmNuVnVibVZ5TDNkdmNtc3ZkbVZ5WkdGalkybHZMM1psY21SaFkyTnBieTl3WVdOcllXZGxjeTkxYVMxamIyMXdiMjVsYm5SekwzTnlZeTl6WldOMGFXOXVjeTlJWldGa1pYSXZjM1I1YkdWekxuUnpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHNnWTNOeklIMGdabkp2YlNBblFHVnRiM1JwYjI0dmNtVmhZM1FuTzF4dWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVhVzF3YjNKMElFRndjRUpoY2lCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwRndjRUpoY2ljN1hHNXBiWEJ2Y25RZ1NXTnZia0oxZEhSdmJpQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMGxqYjI1Q2RYUjBiMjRuTzF4dWFXMXdiM0owSUZSdmIyeGlZWElnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5VWIyOXNZbUZ5Snp0Y2JtbHRjRzl5ZENCN0lHTnZiVzF2YmlCOUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZZMjlzYjNKekp6dGNibHh1YVcxd2IzSjBJSFI1Y0dVZ2V5QlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMMVJvWlcxbEp6dGNibHh1Wlhod2IzSjBJR052Ym5OMElFbHVibVZ5VG1GMlFtRnlJRDBnYzNSNWJHVmtLRlJ2YjJ4aVlYSXBLSHRjYmlBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkemNHRmpaUzFpWlhSM1pXVnVKeXhjYmlBZ1lXeHBaMjVKZEdWdGN6b2dKMk5sYm5SbGNpY3NYRzRnSUhCaFpHUnBibWM2SURBc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRWR5WldWMGFXNW5jeUE5SUhOMGVXeGxaQ2duYzNCaGJpY3BLSHRjYmlBZ2JXRnlaMmx1T2lBbk1DQTFjSGdnTUNBd0p5eGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVFc5aWFXeGxUbUYyUW1GeUlEMGdjM1I1YkdWa0tDZGthWFluS1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIQnliM0J6S1NBOVBpQW9lMXh1SUNCaGJHbG5ia2wwWlcxek9pQW5ZMlZ1ZEdWeUp5eGNiaUFnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNCaWIzSmtaWEpDYjNSMGIyMDZJR0F4Y0hnZ2MyOXNhV1FnSkh0d2NtOXdjeTUwYUdWdFpTNXdZV3hsZEhSbExtZHlaWGxNYVdkb2RIMWdMRnh1SUNCd1lXUmthVzVuT2lBbk9IQjRKeXhjYmlBZ2NHOXphWFJwYjI0NklDZHlaV3hoZEdsMlpTY3NYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSmJtNWxjazF2WW1sc1pVNWhka0poY2lBOUlITjBlV3hsWkNnblpHbDJKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0Nod2NtOXdjeWtnUFQ0Z0tIdGNiaUFnWW05eVpHVnlVbUZrYVhWek9pQW5OSEI0Snl4Y2JpQWdZbUZqYTJkeWIzVnVaRU52Ykc5eU9pQndjbTl3Y3k1MGFHVnRaUzV3WVd4bGRIUmxMbWR5WlhsTWFXZG9kQ3hjYmlBZ1kyOXNiM0k2SUdOdmJXMXZiaTUzYUdsMFpTeGNiaUFnZDJsa2RHZzZJQ2N4TURBbEp5eGNiaUFnY0dGa1pHbHVaem9nSnpBZ05YQjRKeXhjYmlBZ2JXRnlaMmx1T2lBbk1DQXhNSEI0SURBZ01DY3NYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSlkyOXVVMlZoY21Ob1FuVjBkRzl1SUQwZ2MzUjViR1ZrS0VsamIyNUNkWFIwYjI0cEtIdDlLVHRjYm1WNGNHOXlkQ0JqYjI1emRDQkpibVp2UW5WMGRHOXVJRDBnYzNSNWJHVmtLRWxqYjI1Q2RYUjBiMjRwS0h0OUtUdGNibVY0Y0c5eWRDQmpiMjV6ZENCVGQybDBZMmhVYUdWdFpVSjFkSFJ2YmlBOUlITjBlV3hsWkNoSlkyOXVRblYwZEc5dUtTaDdmU2s3WEc1bGVIQnZjblFnWTI5dWMzUWdVMlYwZEdsdVozTkNkWFIwYjIwZ1BTQnpkSGxzWldRb1NXTnZia0oxZEhSdmJpa29lMzBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVTJWaGNtTm9WM0poY0hCbGNpQTlJSE4wZVd4bFpDZ25aR2wySnlrb2UxeHVJQ0JrYVhOd2JHRjVPaUFuYm05dVpTY3NYRzRnSUhkcFpIUm9PaUFuTVRBd0pTY3NYRzRnSUcxaGNtZHBia3hsWm5RNklESXdMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCT1lYWkNZWElnUFNCemRIbHNaV1FvUVhCd1FtRnlLVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ1ltRmphMmR5YjNWdVpFTnZiRzl5T2x4dUlDQWdJSFJvWlcxbExuQmhiR1YwZEdVdWJXOWtaU0E5UFQwZ0oyeHBaMmgwSnlBL0lIUm9aVzFsTG5CaGJHVjBkR1V1Y0hKcGJXRnllUzV0WVdsdUlEb2dkR2hsYldVdWNHRnNaWFIwWlM1amVXRnVRbXgxWlN4Y2JpQWdZMjlzYjNJNklHTnZiVzF2Ymk1M2FHbDBaU3hjYmlBZ2JXbHVTR1ZwWjJoME9pQTJNQ3hjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQnFkWE4wYVdaNVEyOXVkR1Z1ZERvZ0oyTmxiblJsY2ljc1hHNGdJRnRnUUcxbFpHbGhJQ2h0WVhndGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWVITnRZV3hzZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0SmJtWnZRblYwZEc5dWZTQjdYRzRnSUNBZ0lDQmthWE53YkdGNU9pQnViMjVsTzF4dUlDQWdJSDFjYmlBZ0lDQWtlMU4zYVhSamFGUm9aVzFsUW5WMGRHOXVmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJ1YjI1bE8xeHVJQ0FnSUgxY2JpQWdJQ0FrZTFObGRIUnBibWR6UW5WMGRHOXRmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJ1YjI1bE8xeHVJQ0FnSUgxY2JpQWdZQ3hjYmlBZ1cyQkFiV1ZrYVdFZ0tHMXBiaTEzYVdSMGFEb2dKSHQwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTV0WldScGRXMTljSGdwWUYwNklHTnpjMkJjYmlBZ0lDQWtlMU5sWVhKamFGZHlZWEJ3WlhKOUlIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklHWnNaWGc3WEc0Z0lDQWdmVnh1SUNBZ0lDUjdTV052YmxObFlYSmphRUoxZEhSdmJuMGdlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlR0Y2JpQWdJQ0I5WEc0Z0lDQWdKSHROYjJKcGJHVk9ZWFpDWVhKOUlIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklHNXZibVU3WEc0Z0lDQWdmVnh1SUNCZ0xGeHVJQ0JiWUVCdFpXUnBZU0FvYldsdUxYZHBaSFJvT2lBa2UzUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxteGhjbWRsZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0SmJtNWxjazVoZGtKaGNuMGdlMXh1SUNBZ0lDQWdjR0ZrWkdsdVp6b2dNQ0F4Tm5CNE8xeHVJQ0FnSUgxY2JpQWdZQ3hjYmlBZ1cyQkFiV1ZrYVdFZ0tHMXBiaTEzYVdSMGFEb2dKSHQwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTU0YkdGeVoyVjljSGdwWUYwNklHTnpjMkJjYmlBZ0lDQWtlMGx1Ym1WeVRtRjJRbUZ5ZlNCN1hHNGdJQ0FnSUNCdFlYZ3RkMmxrZEdnNklERXlOREJ3ZUR0Y2JpQWdJQ0FnSUhkcFpIUm9PaUF4TURBbE8xeHVJQ0FnSUNBZ2JXRnlaMmx1T2lBd0lHRjFkRzg3WEc0Z0lDQWdmVnh1SUNCZ0xGeHVmU2twTzF4dUlsMTkgKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBNb2JpbGVOYXZCYXIgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcImRpdlwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlaXU3aGNsN1wiIH0gOiB7XG5cdHRhcmdldDogXCJlaXU3aGNsN1wiLFxuXHRsYWJlbDogXCJNb2JpbGVOYXZCYXJcIlxufSkoKHByb3BzKSA9PiAoe1xuXHRhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuXHRkaXNwbGF5OiBcImZsZXhcIixcblx0Ym9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7cHJvcHMudGhlbWUucGFsZXR0ZS5ncmV5TGlnaHR9YCxcblx0cGFkZGluZzogXCI4cHhcIixcblx0cG9zaXRpb246IFwicmVsYXRpdmVcIlxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRnRRalJDSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlNHVmhaR1Z5TDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCN0lHTnpjeUI5SUdaeWIyMGdKMEJsYlc5MGFXOXVMM0psWVdOMEp6dGNibWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0JCY0hCQ1lYSWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlCY0hCQ1lYSW5PMXh1YVcxd2IzSjBJRWxqYjI1Q2RYUjBiMjRnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5SlkyOXVRblYwZEc5dUp6dGNibWx0Y0c5eWRDQlViMjlzWW1GeUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZWRzl2YkdKaGNpYzdYRzVwYlhCdmNuUWdleUJqYjIxdGIyNGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDJOdmJHOXljeWM3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk5VWFHVnRaU2M3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKYm01bGNrNWhka0poY2lBOUlITjBlV3hsWkNoVWIyOXNZbUZ5S1NoN1hHNGdJR3AxYzNScFpubERiMjUwWlc1ME9pQW5jM0JoWTJVdFltVjBkMlZsYmljc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQndZV1JrYVc1bk9pQXdMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSGNtVmxkR2x1WjNNZ1BTQnpkSGxzWldRb0ozTndZVzRuS1NoN1hHNGdJRzFoY21kcGJqb2dKekFnTlhCNElEQWdNQ2NzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFMXZZbWxzWlU1aGRrSmhjaUE5SUhOMGVXeGxaQ2duWkdsMkp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2h3Y205d2N5a2dQVDRnS0h0Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdZbTl5WkdWeVFtOTBkRzl0T2lCZ01YQjRJSE52Ykdsa0lDUjdjSEp2Y0hNdWRHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVRHbG5hSFI5WUN4Y2JpQWdjR0ZrWkdsdVp6b2dKemh3ZUNjc1hHNGdJSEJ2YzJsMGFXOXVPaUFuY21Wc1lYUnBkbVVuTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTVzV1WlhKTmIySnBiR1ZPWVhaQ1lYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29jSEp2Y0hNcElEMCtJQ2g3WEc0Z0lHSnZjbVJsY2xKaFpHbDFjem9nSnpSd2VDY3NYRzRnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nY0hKdmNITXVkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVUR2xuYUhRc1hHNGdJR052Ykc5eU9pQmpiMjF0YjI0dWQyaHBkR1VzWEc0Z0lIZHBaSFJvT2lBbk1UQXdKU2NzWEc0Z0lIQmhaR1JwYm1jNklDY3dJRFZ3ZUNjc1hHNGdJRzFoY21kcGJqb2dKekFnTVRCd2VDQXdJREFuTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTV052YmxObFlYSmphRUoxZEhSdmJpQTlJSE4wZVd4bFpDaEpZMjl1UW5WMGRHOXVLU2g3ZlNrN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnU1c1bWIwSjFkSFJ2YmlBOUlITjBlV3hsWkNoSlkyOXVRblYwZEc5dUtTaDdmU2s3WEc1bGVIQnZjblFnWTI5dWMzUWdVM2RwZEdOb1ZHaGxiV1ZDZFhSMGIyNGdQU0J6ZEhsc1pXUW9TV052YmtKMWRIUnZiaWtvZTMwcE8xeHVaWGh3YjNKMElHTnZibk4wSUZObGRIUnBibWR6UW5WMGRHOXRJRDBnYzNSNWJHVmtLRWxqYjI1Q2RYUjBiMjRwS0h0OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGTmxZWEpqYUZkeVlYQndaWElnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyNXZibVVuTEZ4dUlDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dUlDQnRZWEpuYVc1TVpXWjBPaUF5TUN4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdUbUYyUW1GeUlEMGdjM1I1YkdWa0tFRndjRUpoY2lrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqcGNiaUFnSUNCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RzYVdkb2RDY2dQeUIwYUdWdFpTNXdZV3hsZEhSbExuQnlhVzFoY25rdWJXRnBiaUE2SUhSb1pXMWxMbkJoYkdWMGRHVXVZM2xoYmtKc2RXVXNYRzRnSUdOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJRzFwYmtobGFXZG9kRG9nTmpBc1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnYW5WemRHbG1lVU52Ym5SbGJuUTZJQ2RqWlc1MFpYSW5MRnh1SUNCYllFQnRaV1JwWVNBb2JXRjRMWGRwWkhSb09pQWtlM1JvWlcxbExtSnlaV0ZyVUc5cGJuUnpMbmh6YldGc2JIMXdlQ2xnWFRvZ1kzTnpZRnh1SUNBZ0lDUjdTVzVtYjBKMWRIUnZibjBnZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nYm05dVpUdGNiaUFnSUNCOVhHNGdJQ0FnSkh0VGQybDBZMmhVYUdWdFpVSjFkSFJ2Ym4wZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUNBZ0pIdFRaWFIwYVc1bmMwSjFkSFJ2YlgwZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUdBc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0VFpXRnlZMmhYY21Gd2NHVnlmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJtYkdWNE8xeHVJQ0FnSUgxY2JpQWdJQ0FrZTBsamIyNVRaV0Z5WTJoQ2RYUjBiMjU5SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUc1dmJtVTdYRzRnSUNBZ2ZWeHVJQ0FnSUNSN1RXOWlhV3hsVG1GMlFtRnlmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJ1YjI1bE8xeHVJQ0FnSUgxY2JpQWdZQ3hjYmlBZ1cyQkFiV1ZrYVdFZ0tHMXBiaTEzYVdSMGFEb2dKSHQwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTVzWVhKblpYMXdlQ2xnWFRvZ1kzTnpZRnh1SUNBZ0lDUjdTVzV1WlhKT1lYWkNZWEo5SUh0Y2JpQWdJQ0FnSUhCaFpHUnBibWM2SURBZ01UWndlRHRjYmlBZ0lDQjlYRzRnSUdBc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWVHeGhjbWRsZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0SmJtNWxjazVoZGtKaGNuMGdlMXh1SUNBZ0lDQWdiV0Y0TFhkcFpIUm9PaUF4TWpRd2NIZzdYRzRnSUNBZ0lDQjNhV1IwYURvZ01UQXdKVHRjYmlBZ0lDQWdJRzFoY21kcGJqb2dNQ0JoZFhSdk8xeHVJQ0FnSUgxY2JpQWdZQ3hjYm4wcEtUdGNiaUpkZlE9PSAqL1wiKTtcbnZhciBJbm5lck1vYmlsZU5hdkJhciA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwiZGl2XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVpdTdoY2w2XCIgfSA6IHtcblx0dGFyZ2V0OiBcImVpdTdoY2w2XCIsXG5cdGxhYmVsOiBcIklubmVyTW9iaWxlTmF2QmFyXCJcbn0pKChwcm9wcykgPT4gKHtcblx0Ym9yZGVyUmFkaXVzOiBcIjRweFwiLFxuXHRiYWNrZ3JvdW5kQ29sb3I6IHByb3BzLnRoZW1lLnBhbGV0dGUuZ3JleUxpZ2h0LFxuXHRjb2xvcjogY29tbW9uLndoaXRlLFxuXHR3aWR0aDogXCIxMDAlXCIsXG5cdHBhZGRpbmc6IFwiMCA1cHhcIixcblx0bWFyZ2luOiBcIjAgMTBweCAwIDBcIlxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRXlRbWxESWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlNHVmhaR1Z5TDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCN0lHTnpjeUI5SUdaeWIyMGdKMEJsYlc5MGFXOXVMM0psWVdOMEp6dGNibWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0JCY0hCQ1lYSWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlCY0hCQ1lYSW5PMXh1YVcxd2IzSjBJRWxqYjI1Q2RYUjBiMjRnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5SlkyOXVRblYwZEc5dUp6dGNibWx0Y0c5eWRDQlViMjlzWW1GeUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZWRzl2YkdKaGNpYzdYRzVwYlhCdmNuUWdleUJqYjIxdGIyNGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDJOdmJHOXljeWM3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk5VWFHVnRaU2M3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKYm01bGNrNWhka0poY2lBOUlITjBlV3hsWkNoVWIyOXNZbUZ5S1NoN1hHNGdJR3AxYzNScFpubERiMjUwWlc1ME9pQW5jM0JoWTJVdFltVjBkMlZsYmljc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQndZV1JrYVc1bk9pQXdMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSGNtVmxkR2x1WjNNZ1BTQnpkSGxzWldRb0ozTndZVzRuS1NoN1hHNGdJRzFoY21kcGJqb2dKekFnTlhCNElEQWdNQ2NzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFMXZZbWxzWlU1aGRrSmhjaUE5SUhOMGVXeGxaQ2duWkdsMkp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2h3Y205d2N5a2dQVDRnS0h0Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdZbTl5WkdWeVFtOTBkRzl0T2lCZ01YQjRJSE52Ykdsa0lDUjdjSEp2Y0hNdWRHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVRHbG5hSFI5WUN4Y2JpQWdjR0ZrWkdsdVp6b2dKemh3ZUNjc1hHNGdJSEJ2YzJsMGFXOXVPaUFuY21Wc1lYUnBkbVVuTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTVzV1WlhKTmIySnBiR1ZPWVhaQ1lYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29jSEp2Y0hNcElEMCtJQ2g3WEc0Z0lHSnZjbVJsY2xKaFpHbDFjem9nSnpSd2VDY3NYRzRnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nY0hKdmNITXVkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVUR2xuYUhRc1hHNGdJR052Ykc5eU9pQmpiMjF0YjI0dWQyaHBkR1VzWEc0Z0lIZHBaSFJvT2lBbk1UQXdKU2NzWEc0Z0lIQmhaR1JwYm1jNklDY3dJRFZ3ZUNjc1hHNGdJRzFoY21kcGJqb2dKekFnTVRCd2VDQXdJREFuTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTV052YmxObFlYSmphRUoxZEhSdmJpQTlJSE4wZVd4bFpDaEpZMjl1UW5WMGRHOXVLU2g3ZlNrN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnU1c1bWIwSjFkSFJ2YmlBOUlITjBlV3hsWkNoSlkyOXVRblYwZEc5dUtTaDdmU2s3WEc1bGVIQnZjblFnWTI5dWMzUWdVM2RwZEdOb1ZHaGxiV1ZDZFhSMGIyNGdQU0J6ZEhsc1pXUW9TV052YmtKMWRIUnZiaWtvZTMwcE8xeHVaWGh3YjNKMElHTnZibk4wSUZObGRIUnBibWR6UW5WMGRHOXRJRDBnYzNSNWJHVmtLRWxqYjI1Q2RYUjBiMjRwS0h0OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGTmxZWEpqYUZkeVlYQndaWElnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyNXZibVVuTEZ4dUlDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dUlDQnRZWEpuYVc1TVpXWjBPaUF5TUN4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdUbUYyUW1GeUlEMGdjM1I1YkdWa0tFRndjRUpoY2lrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqcGNiaUFnSUNCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RzYVdkb2RDY2dQeUIwYUdWdFpTNXdZV3hsZEhSbExuQnlhVzFoY25rdWJXRnBiaUE2SUhSb1pXMWxMbkJoYkdWMGRHVXVZM2xoYmtKc2RXVXNYRzRnSUdOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJRzFwYmtobGFXZG9kRG9nTmpBc1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnYW5WemRHbG1lVU52Ym5SbGJuUTZJQ2RqWlc1MFpYSW5MRnh1SUNCYllFQnRaV1JwWVNBb2JXRjRMWGRwWkhSb09pQWtlM1JvWlcxbExtSnlaV0ZyVUc5cGJuUnpMbmh6YldGc2JIMXdlQ2xnWFRvZ1kzTnpZRnh1SUNBZ0lDUjdTVzVtYjBKMWRIUnZibjBnZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nYm05dVpUdGNiaUFnSUNCOVhHNGdJQ0FnSkh0VGQybDBZMmhVYUdWdFpVSjFkSFJ2Ym4wZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUNBZ0pIdFRaWFIwYVc1bmMwSjFkSFJ2YlgwZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUdBc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0VFpXRnlZMmhYY21Gd2NHVnlmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJtYkdWNE8xeHVJQ0FnSUgxY2JpQWdJQ0FrZTBsamIyNVRaV0Z5WTJoQ2RYUjBiMjU5SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUc1dmJtVTdYRzRnSUNBZ2ZWeHVJQ0FnSUNSN1RXOWlhV3hsVG1GMlFtRnlmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJ1YjI1bE8xeHVJQ0FnSUgxY2JpQWdZQ3hjYmlBZ1cyQkFiV1ZrYVdFZ0tHMXBiaTEzYVdSMGFEb2dKSHQwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTVzWVhKblpYMXdlQ2xnWFRvZ1kzTnpZRnh1SUNBZ0lDUjdTVzV1WlhKT1lYWkNZWEo5SUh0Y2JpQWdJQ0FnSUhCaFpHUnBibWM2SURBZ01UWndlRHRjYmlBZ0lDQjlYRzRnSUdBc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWVHeGhjbWRsZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0SmJtNWxjazVoZGtKaGNuMGdlMXh1SUNBZ0lDQWdiV0Y0TFhkcFpIUm9PaUF4TWpRd2NIZzdYRzRnSUNBZ0lDQjNhV1IwYURvZ01UQXdKVHRjYmlBZ0lDQWdJRzFoY21kcGJqb2dNQ0JoZFhSdk8xeHVJQ0FnSUgxY2JpQWdZQ3hjYm4wcEtUdGNiaUpkZlE9PSAqL1wiKTtcbnZhciBJY29uU2VhcmNoQnV0dG9uID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoSWNvbkJ1dHRvbiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZWl1N2hjbDVcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZWl1N2hjbDVcIixcblx0bGFiZWw6IFwiSWNvblNlYXJjaEJ1dHRvblwiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwiMFwiLFxuXHRzdHlsZXM6IFwiXCJcbn0gOiB7XG5cdG5hbWU6IFwiMFwiLFxuXHRzdHlsZXM6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlNHVmhaR1Z5TDNOMGVXeGxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGdlEyZERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12U0dWaFpHVnlMM04wZVd4bGN5NTBjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3SUdOemN5QjlJR1p5YjIwZ0owQmxiVzkwYVc5dUwzSmxZV04wSnp0Y2JtbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQkJjSEJDWVhJZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUJjSEJDWVhJbk8xeHVhVzF3YjNKMElFbGpiMjVDZFhSMGIyNGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlKWTI5dVFuVjBkRzl1Snp0Y2JtbHRjRzl5ZENCVWIyOXNZbUZ5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlZHOXZiR0poY2ljN1hHNXBiWEJ2Y25RZ2V5QmpiMjF0YjI0Z2ZTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMk52Ykc5eWN5YzdYRzVjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaTlVYUdWdFpTYzdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkpibTVsY2s1aGRrSmhjaUE5SUhOMGVXeGxaQ2hVYjI5c1ltRnlLU2g3WEc0Z0lHcDFjM1JwWm5sRGIyNTBaVzUwT2lBbmMzQmhZMlV0WW1WMGQyVmxiaWNzWEc0Z0lHRnNhV2R1U1hSbGJYTTZJQ2RqWlc1MFpYSW5MRnh1SUNCd1lXUmthVzVuT2lBd0xGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JIY21WbGRHbHVaM01nUFNCemRIbHNaV1FvSjNOd1lXNG5LU2g3WEc0Z0lHMWhjbWRwYmpvZ0p6QWdOWEI0SURBZ01DY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUUxdlltbHNaVTVoZGtKaGNpQTlJSE4wZVd4bFpDZ25aR2wySnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaHdjbTl3Y3lrZ1BUNGdLSHRjYmlBZ1lXeHBaMjVKZEdWdGN6b2dKMk5sYm5SbGNpY3NYRzRnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ1ltOXlaR1Z5UW05MGRHOXRPaUJnTVhCNElITnZiR2xrSUNSN2NISnZjSE11ZEdobGJXVXVjR0ZzWlhSMFpTNW5jbVY1VEdsbmFIUjlZQ3hjYmlBZ2NHRmtaR2x1WnpvZ0p6aHdlQ2NzWEc0Z0lIQnZjMmwwYVc5dU9pQW5jbVZzWVhScGRtVW5MRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1NXNXVaWEpOYjJKcGJHVk9ZWFpDWVhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2NISnZjSE1wSUQwK0lDaDdYRzRnSUdKdmNtUmxjbEpoWkdsMWN6b2dKelJ3ZUNjc1hHNGdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2djSEp2Y0hNdWRHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVRHbG5hSFFzWEc0Z0lHTnZiRzl5T2lCamIyMXRiMjR1ZDJocGRHVXNYRzRnSUhkcFpIUm9PaUFuTVRBd0pTY3NYRzRnSUhCaFpHUnBibWM2SUNjd0lEVndlQ2NzWEc0Z0lHMWhjbWRwYmpvZ0p6QWdNVEJ3ZUNBd0lEQW5MRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1NXTnZibE5sWVhKamFFSjFkSFJ2YmlBOUlITjBlV3hsWkNoSlkyOXVRblYwZEc5dUtTaDdmU2s3WEc1bGVIQnZjblFnWTI5dWMzUWdTVzVtYjBKMWRIUnZiaUE5SUhOMGVXeGxaQ2hKWTI5dVFuVjBkRzl1S1NoN2ZTazdYRzVsZUhCdmNuUWdZMjl1YzNRZ1UzZHBkR05vVkdobGJXVkNkWFIwYjI0Z1BTQnpkSGxzWldRb1NXTnZia0oxZEhSdmJpa29lMzBwTzF4dVpYaHdiM0owSUdOdmJuTjBJRk5sZEhScGJtZHpRblYwZEc5dElEMGdjM1I1YkdWa0tFbGpiMjVDZFhSMGIyNHBLSHQ5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZObFlYSmphRmR5WVhCd1pYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcEtIdGNiaUFnWkdsemNHeGhlVG9nSjI1dmJtVW5MRnh1SUNCM2FXUjBhRG9nSnpFd01DVW5MRnh1SUNCdFlYSm5hVzVNWldaME9pQXlNQ3hjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1RtRjJRbUZ5SUQwZ2MzUjViR1ZrS0VGd2NFSmhjaWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHSmhZMnRuY205MWJtUkRiMnh2Y2pwY2JpQWdJQ0IwYUdWdFpTNXdZV3hsZEhSbExtMXZaR1VnUFQwOUlDZHNhV2RvZENjZ1B5QjBhR1Z0WlM1d1lXeGxkSFJsTG5CeWFXMWhjbmt1YldGcGJpQTZJSFJvWlcxbExuQmhiR1YwZEdVdVkzbGhia0pzZFdVc1hHNGdJR052Ykc5eU9pQmpiMjF0YjI0dWQyaHBkR1VzWEc0Z0lHMXBia2hsYVdkb2REb2dOakFzWEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdhblZ6ZEdsbWVVTnZiblJsYm5RNklDZGpaVzUwWlhJbkxGeHVJQ0JiWUVCdFpXUnBZU0FvYldGNExYZHBaSFJvT2lBa2UzUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxuaHpiV0ZzYkgxd2VDbGdYVG9nWTNOellGeHVJQ0FnSUNSN1NXNW1iMEoxZEhSdmJuMGdlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlR0Y2JpQWdJQ0I5WEc0Z0lDQWdKSHRUZDJsMFkyaFVhR1Z0WlVKMWRIUnZibjBnZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nYm05dVpUdGNiaUFnSUNCOVhHNGdJQ0FnSkh0VFpYUjBhVzVuYzBKMWRIUnZiWDBnZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nYm05dVpUdGNiaUFnSUNCOVhHNGdJR0FzWEc0Z0lGdGdRRzFsWkdsaElDaHRhVzR0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11YldWa2FYVnRmWEI0S1dCZE9pQmpjM05nWEc0Z0lDQWdKSHRUWldGeVkyaFhjbUZ3Y0dWeWZTQjdYRzRnSUNBZ0lDQmthWE53YkdGNU9pQm1iR1Y0TzF4dUlDQWdJSDFjYmlBZ0lDQWtlMGxqYjI1VFpXRnlZMmhDZFhSMGIyNTlJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJRzV2Ym1VN1hHNGdJQ0FnZlZ4dUlDQWdJQ1I3VFc5aWFXeGxUbUYyUW1GeWZTQjdYRzRnSUNBZ0lDQmthWE53YkdGNU9pQnViMjVsTzF4dUlDQWdJSDFjYmlBZ1lDeGNiaUFnVzJCQWJXVmthV0VnS0cxcGJpMTNhV1IwYURvZ0pIdDBhR1Z0WlM1aWNtVmhhMUJ2YVc1MGN5NXNZWEpuWlgxd2VDbGdYVG9nWTNOellGeHVJQ0FnSUNSN1NXNXVaWEpPWVhaQ1lYSjlJSHRjYmlBZ0lDQWdJSEJoWkdScGJtYzZJREFnTVRad2VEdGNiaUFnSUNCOVhHNGdJR0FzWEc0Z0lGdGdRRzFsWkdsaElDaHRhVzR0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11ZUd4aGNtZGxmWEI0S1dCZE9pQmpjM05nWEc0Z0lDQWdKSHRKYm01bGNrNWhka0poY24wZ2UxeHVJQ0FnSUNBZ2JXRjRMWGRwWkhSb09pQXhNalF3Y0hnN1hHNGdJQ0FnSUNCM2FXUjBhRG9nTVRBd0pUdGNiaUFnSUNBZ0lHMWhjbWRwYmpvZ01DQmhkWFJ2TzF4dUlDQWdJSDFjYmlBZ1lDeGNibjBwS1R0Y2JpSmRmUT09ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgSW5mb0J1dHRvbiA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKEljb25CdXR0b24sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImVpdTdoY2w0XCIgfSA6IHtcblx0dGFyZ2V0OiBcImVpdTdoY2w0XCIsXG5cdGxhYmVsOiBcIkluZm9CdXR0b25cIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjBcIixcblx0c3R5bGVzOiBcIlwiXG59IDoge1xuXHRuYW1lOiBcIjBcIixcblx0c3R5bGVzOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRnhRekJDSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlNHVmhaR1Z5TDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCN0lHTnpjeUI5SUdaeWIyMGdKMEJsYlc5MGFXOXVMM0psWVdOMEp6dGNibWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0JCY0hCQ1lYSWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlCY0hCQ1lYSW5PMXh1YVcxd2IzSjBJRWxqYjI1Q2RYUjBiMjRnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5SlkyOXVRblYwZEc5dUp6dGNibWx0Y0c5eWRDQlViMjlzWW1GeUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZWRzl2YkdKaGNpYzdYRzVwYlhCdmNuUWdleUJqYjIxdGIyNGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDJOdmJHOXljeWM3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk5VWFHVnRaU2M3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKYm01bGNrNWhka0poY2lBOUlITjBlV3hsWkNoVWIyOXNZbUZ5S1NoN1hHNGdJR3AxYzNScFpubERiMjUwWlc1ME9pQW5jM0JoWTJVdFltVjBkMlZsYmljc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQndZV1JrYVc1bk9pQXdMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSGNtVmxkR2x1WjNNZ1BTQnpkSGxzWldRb0ozTndZVzRuS1NoN1hHNGdJRzFoY21kcGJqb2dKekFnTlhCNElEQWdNQ2NzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFMXZZbWxzWlU1aGRrSmhjaUE5SUhOMGVXeGxaQ2duWkdsMkp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2h3Y205d2N5a2dQVDRnS0h0Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdZbTl5WkdWeVFtOTBkRzl0T2lCZ01YQjRJSE52Ykdsa0lDUjdjSEp2Y0hNdWRHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVRHbG5hSFI5WUN4Y2JpQWdjR0ZrWkdsdVp6b2dKemh3ZUNjc1hHNGdJSEJ2YzJsMGFXOXVPaUFuY21Wc1lYUnBkbVVuTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTVzV1WlhKTmIySnBiR1ZPWVhaQ1lYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29jSEp2Y0hNcElEMCtJQ2g3WEc0Z0lHSnZjbVJsY2xKaFpHbDFjem9nSnpSd2VDY3NYRzRnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nY0hKdmNITXVkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVUR2xuYUhRc1hHNGdJR052Ykc5eU9pQmpiMjF0YjI0dWQyaHBkR1VzWEc0Z0lIZHBaSFJvT2lBbk1UQXdKU2NzWEc0Z0lIQmhaR1JwYm1jNklDY3dJRFZ3ZUNjc1hHNGdJRzFoY21kcGJqb2dKekFnTVRCd2VDQXdJREFuTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTV052YmxObFlYSmphRUoxZEhSdmJpQTlJSE4wZVd4bFpDaEpZMjl1UW5WMGRHOXVLU2g3ZlNrN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnU1c1bWIwSjFkSFJ2YmlBOUlITjBlV3hsWkNoSlkyOXVRblYwZEc5dUtTaDdmU2s3WEc1bGVIQnZjblFnWTI5dWMzUWdVM2RwZEdOb1ZHaGxiV1ZDZFhSMGIyNGdQU0J6ZEhsc1pXUW9TV052YmtKMWRIUnZiaWtvZTMwcE8xeHVaWGh3YjNKMElHTnZibk4wSUZObGRIUnBibWR6UW5WMGRHOXRJRDBnYzNSNWJHVmtLRWxqYjI1Q2RYUjBiMjRwS0h0OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGTmxZWEpqYUZkeVlYQndaWElnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyNXZibVVuTEZ4dUlDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dUlDQnRZWEpuYVc1TVpXWjBPaUF5TUN4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdUbUYyUW1GeUlEMGdjM1I1YkdWa0tFRndjRUpoY2lrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqcGNiaUFnSUNCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RzYVdkb2RDY2dQeUIwYUdWdFpTNXdZV3hsZEhSbExuQnlhVzFoY25rdWJXRnBiaUE2SUhSb1pXMWxMbkJoYkdWMGRHVXVZM2xoYmtKc2RXVXNYRzRnSUdOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJRzFwYmtobGFXZG9kRG9nTmpBc1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnYW5WemRHbG1lVU52Ym5SbGJuUTZJQ2RqWlc1MFpYSW5MRnh1SUNCYllFQnRaV1JwWVNBb2JXRjRMWGRwWkhSb09pQWtlM1JvWlcxbExtSnlaV0ZyVUc5cGJuUnpMbmh6YldGc2JIMXdlQ2xnWFRvZ1kzTnpZRnh1SUNBZ0lDUjdTVzVtYjBKMWRIUnZibjBnZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nYm05dVpUdGNiaUFnSUNCOVhHNGdJQ0FnSkh0VGQybDBZMmhVYUdWdFpVSjFkSFJ2Ym4wZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUNBZ0pIdFRaWFIwYVc1bmMwSjFkSFJ2YlgwZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUdBc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0VFpXRnlZMmhYY21Gd2NHVnlmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJtYkdWNE8xeHVJQ0FnSUgxY2JpQWdJQ0FrZTBsamIyNVRaV0Z5WTJoQ2RYUjBiMjU5SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUc1dmJtVTdYRzRnSUNBZ2ZWeHVJQ0FnSUNSN1RXOWlhV3hsVG1GMlFtRnlmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJ1YjI1bE8xeHVJQ0FnSUgxY2JpQWdZQ3hjYmlBZ1cyQkFiV1ZrYVdFZ0tHMXBiaTEzYVdSMGFEb2dKSHQwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTVzWVhKblpYMXdlQ2xnWFRvZ1kzTnpZRnh1SUNBZ0lDUjdTVzV1WlhKT1lYWkNZWEo5SUh0Y2JpQWdJQ0FnSUhCaFpHUnBibWM2SURBZ01UWndlRHRjYmlBZ0lDQjlYRzRnSUdBc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWVHeGhjbWRsZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0SmJtNWxjazVoZGtKaGNuMGdlMXh1SUNBZ0lDQWdiV0Y0TFhkcFpIUm9PaUF4TWpRd2NIZzdYRzRnSUNBZ0lDQjNhV1IwYURvZ01UQXdKVHRjYmlBZ0lDQWdJRzFoY21kcGJqb2dNQ0JoZFhSdk8xeHVJQ0FnSUgxY2JpQWdZQ3hjYm4wcEtUdGNiaUpkZlE9PSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIFN3aXRjaFRoZW1lQnV0dG9uID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoSWNvbkJ1dHRvbiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZWl1N2hjbDNcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZWl1N2hjbDNcIixcblx0bGFiZWw6IFwiU3dpdGNoVGhlbWVCdXR0b25cIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjBcIixcblx0c3R5bGVzOiBcIlwiXG59IDoge1xuXHRuYW1lOiBcIjBcIixcblx0c3R5bGVzOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRnpRMmxESWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlNHVmhaR1Z5TDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCN0lHTnpjeUI5SUdaeWIyMGdKMEJsYlc5MGFXOXVMM0psWVdOMEp6dGNibWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0JCY0hCQ1lYSWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlCY0hCQ1lYSW5PMXh1YVcxd2IzSjBJRWxqYjI1Q2RYUjBiMjRnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5SlkyOXVRblYwZEc5dUp6dGNibWx0Y0c5eWRDQlViMjlzWW1GeUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZWRzl2YkdKaGNpYzdYRzVwYlhCdmNuUWdleUJqYjIxdGIyNGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDJOdmJHOXljeWM3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk5VWFHVnRaU2M3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKYm01bGNrNWhka0poY2lBOUlITjBlV3hsWkNoVWIyOXNZbUZ5S1NoN1hHNGdJR3AxYzNScFpubERiMjUwWlc1ME9pQW5jM0JoWTJVdFltVjBkMlZsYmljc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQndZV1JrYVc1bk9pQXdMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSGNtVmxkR2x1WjNNZ1BTQnpkSGxzWldRb0ozTndZVzRuS1NoN1hHNGdJRzFoY21kcGJqb2dKekFnTlhCNElEQWdNQ2NzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFMXZZbWxzWlU1aGRrSmhjaUE5SUhOMGVXeGxaQ2duWkdsMkp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2h3Y205d2N5a2dQVDRnS0h0Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdZbTl5WkdWeVFtOTBkRzl0T2lCZ01YQjRJSE52Ykdsa0lDUjdjSEp2Y0hNdWRHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVRHbG5hSFI5WUN4Y2JpQWdjR0ZrWkdsdVp6b2dKemh3ZUNjc1hHNGdJSEJ2YzJsMGFXOXVPaUFuY21Wc1lYUnBkbVVuTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTVzV1WlhKTmIySnBiR1ZPWVhaQ1lYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29jSEp2Y0hNcElEMCtJQ2g3WEc0Z0lHSnZjbVJsY2xKaFpHbDFjem9nSnpSd2VDY3NYRzRnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nY0hKdmNITXVkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVUR2xuYUhRc1hHNGdJR052Ykc5eU9pQmpiMjF0YjI0dWQyaHBkR1VzWEc0Z0lIZHBaSFJvT2lBbk1UQXdKU2NzWEc0Z0lIQmhaR1JwYm1jNklDY3dJRFZ3ZUNjc1hHNGdJRzFoY21kcGJqb2dKekFnTVRCd2VDQXdJREFuTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTV052YmxObFlYSmphRUoxZEhSdmJpQTlJSE4wZVd4bFpDaEpZMjl1UW5WMGRHOXVLU2g3ZlNrN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnU1c1bWIwSjFkSFJ2YmlBOUlITjBlV3hsWkNoSlkyOXVRblYwZEc5dUtTaDdmU2s3WEc1bGVIQnZjblFnWTI5dWMzUWdVM2RwZEdOb1ZHaGxiV1ZDZFhSMGIyNGdQU0J6ZEhsc1pXUW9TV052YmtKMWRIUnZiaWtvZTMwcE8xeHVaWGh3YjNKMElHTnZibk4wSUZObGRIUnBibWR6UW5WMGRHOXRJRDBnYzNSNWJHVmtLRWxqYjI1Q2RYUjBiMjRwS0h0OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGTmxZWEpqYUZkeVlYQndaWElnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyNXZibVVuTEZ4dUlDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dUlDQnRZWEpuYVc1TVpXWjBPaUF5TUN4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdUbUYyUW1GeUlEMGdjM1I1YkdWa0tFRndjRUpoY2lrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqcGNiaUFnSUNCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RzYVdkb2RDY2dQeUIwYUdWdFpTNXdZV3hsZEhSbExuQnlhVzFoY25rdWJXRnBiaUE2SUhSb1pXMWxMbkJoYkdWMGRHVXVZM2xoYmtKc2RXVXNYRzRnSUdOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJRzFwYmtobGFXZG9kRG9nTmpBc1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnYW5WemRHbG1lVU52Ym5SbGJuUTZJQ2RqWlc1MFpYSW5MRnh1SUNCYllFQnRaV1JwWVNBb2JXRjRMWGRwWkhSb09pQWtlM1JvWlcxbExtSnlaV0ZyVUc5cGJuUnpMbmh6YldGc2JIMXdlQ2xnWFRvZ1kzTnpZRnh1SUNBZ0lDUjdTVzVtYjBKMWRIUnZibjBnZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nYm05dVpUdGNiaUFnSUNCOVhHNGdJQ0FnSkh0VGQybDBZMmhVYUdWdFpVSjFkSFJ2Ym4wZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUNBZ0pIdFRaWFIwYVc1bmMwSjFkSFJ2YlgwZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUdBc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0VFpXRnlZMmhYY21Gd2NHVnlmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJtYkdWNE8xeHVJQ0FnSUgxY2JpQWdJQ0FrZTBsamIyNVRaV0Z5WTJoQ2RYUjBiMjU5SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUc1dmJtVTdYRzRnSUNBZ2ZWeHVJQ0FnSUNSN1RXOWlhV3hsVG1GMlFtRnlmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJ1YjI1bE8xeHVJQ0FnSUgxY2JpQWdZQ3hjYmlBZ1cyQkFiV1ZrYVdFZ0tHMXBiaTEzYVdSMGFEb2dKSHQwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTVzWVhKblpYMXdlQ2xnWFRvZ1kzTnpZRnh1SUNBZ0lDUjdTVzV1WlhKT1lYWkNZWEo5SUh0Y2JpQWdJQ0FnSUhCaFpHUnBibWM2SURBZ01UWndlRHRjYmlBZ0lDQjlYRzRnSUdBc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWVHeGhjbWRsZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0SmJtNWxjazVoZGtKaGNuMGdlMXh1SUNBZ0lDQWdiV0Y0TFhkcFpIUm9PaUF4TWpRd2NIZzdYRzRnSUNBZ0lDQjNhV1IwYURvZ01UQXdKVHRjYmlBZ0lDQWdJRzFoY21kcGJqb2dNQ0JoZFhSdk8xeHVJQ0FnSUgxY2JpQWdZQ3hjYm4wcEtUdGNiaUpkZlE9PSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIFNldHRpbmdzQnV0dG9tID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoSWNvbkJ1dHRvbiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZWl1N2hjbDJcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZWl1N2hjbDJcIixcblx0bGFiZWw6IFwiU2V0dGluZ3NCdXR0b21cIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjBcIixcblx0c3R5bGVzOiBcIlwiXG59IDoge1xuXHRuYW1lOiBcIjBcIixcblx0c3R5bGVzOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRjFRemhDSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlNHVmhaR1Z5TDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCN0lHTnpjeUI5SUdaeWIyMGdKMEJsYlc5MGFXOXVMM0psWVdOMEp6dGNibWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0JCY0hCQ1lYSWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlCY0hCQ1lYSW5PMXh1YVcxd2IzSjBJRWxqYjI1Q2RYUjBiMjRnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5SlkyOXVRblYwZEc5dUp6dGNibWx0Y0c5eWRDQlViMjlzWW1GeUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZWRzl2YkdKaGNpYzdYRzVwYlhCdmNuUWdleUJqYjIxdGIyNGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDJOdmJHOXljeWM3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk5VWFHVnRaU2M3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKYm01bGNrNWhka0poY2lBOUlITjBlV3hsWkNoVWIyOXNZbUZ5S1NoN1hHNGdJR3AxYzNScFpubERiMjUwWlc1ME9pQW5jM0JoWTJVdFltVjBkMlZsYmljc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQndZV1JrYVc1bk9pQXdMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSGNtVmxkR2x1WjNNZ1BTQnpkSGxzWldRb0ozTndZVzRuS1NoN1hHNGdJRzFoY21kcGJqb2dKekFnTlhCNElEQWdNQ2NzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFMXZZbWxzWlU1aGRrSmhjaUE5SUhOMGVXeGxaQ2duWkdsMkp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2h3Y205d2N5a2dQVDRnS0h0Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdZbTl5WkdWeVFtOTBkRzl0T2lCZ01YQjRJSE52Ykdsa0lDUjdjSEp2Y0hNdWRHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVRHbG5hSFI5WUN4Y2JpQWdjR0ZrWkdsdVp6b2dKemh3ZUNjc1hHNGdJSEJ2YzJsMGFXOXVPaUFuY21Wc1lYUnBkbVVuTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTVzV1WlhKTmIySnBiR1ZPWVhaQ1lYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29jSEp2Y0hNcElEMCtJQ2g3WEc0Z0lHSnZjbVJsY2xKaFpHbDFjem9nSnpSd2VDY3NYRzRnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nY0hKdmNITXVkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVUR2xuYUhRc1hHNGdJR052Ykc5eU9pQmpiMjF0YjI0dWQyaHBkR1VzWEc0Z0lIZHBaSFJvT2lBbk1UQXdKU2NzWEc0Z0lIQmhaR1JwYm1jNklDY3dJRFZ3ZUNjc1hHNGdJRzFoY21kcGJqb2dKekFnTVRCd2VDQXdJREFuTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTV052YmxObFlYSmphRUoxZEhSdmJpQTlJSE4wZVd4bFpDaEpZMjl1UW5WMGRHOXVLU2g3ZlNrN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnU1c1bWIwSjFkSFJ2YmlBOUlITjBlV3hsWkNoSlkyOXVRblYwZEc5dUtTaDdmU2s3WEc1bGVIQnZjblFnWTI5dWMzUWdVM2RwZEdOb1ZHaGxiV1ZDZFhSMGIyNGdQU0J6ZEhsc1pXUW9TV052YmtKMWRIUnZiaWtvZTMwcE8xeHVaWGh3YjNKMElHTnZibk4wSUZObGRIUnBibWR6UW5WMGRHOXRJRDBnYzNSNWJHVmtLRWxqYjI1Q2RYUjBiMjRwS0h0OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGTmxZWEpqYUZkeVlYQndaWElnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyNXZibVVuTEZ4dUlDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dUlDQnRZWEpuYVc1TVpXWjBPaUF5TUN4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdUbUYyUW1GeUlEMGdjM1I1YkdWa0tFRndjRUpoY2lrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqcGNiaUFnSUNCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RzYVdkb2RDY2dQeUIwYUdWdFpTNXdZV3hsZEhSbExuQnlhVzFoY25rdWJXRnBiaUE2SUhSb1pXMWxMbkJoYkdWMGRHVXVZM2xoYmtKc2RXVXNYRzRnSUdOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJRzFwYmtobGFXZG9kRG9nTmpBc1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnYW5WemRHbG1lVU52Ym5SbGJuUTZJQ2RqWlc1MFpYSW5MRnh1SUNCYllFQnRaV1JwWVNBb2JXRjRMWGRwWkhSb09pQWtlM1JvWlcxbExtSnlaV0ZyVUc5cGJuUnpMbmh6YldGc2JIMXdlQ2xnWFRvZ1kzTnpZRnh1SUNBZ0lDUjdTVzVtYjBKMWRIUnZibjBnZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nYm05dVpUdGNiaUFnSUNCOVhHNGdJQ0FnSkh0VGQybDBZMmhVYUdWdFpVSjFkSFJ2Ym4wZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUNBZ0pIdFRaWFIwYVc1bmMwSjFkSFJ2YlgwZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUdBc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0VFpXRnlZMmhYY21Gd2NHVnlmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJtYkdWNE8xeHVJQ0FnSUgxY2JpQWdJQ0FrZTBsamIyNVRaV0Z5WTJoQ2RYUjBiMjU5SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUc1dmJtVTdYRzRnSUNBZ2ZWeHVJQ0FnSUNSN1RXOWlhV3hsVG1GMlFtRnlmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJ1YjI1bE8xeHVJQ0FnSUgxY2JpQWdZQ3hjYmlBZ1cyQkFiV1ZrYVdFZ0tHMXBiaTEzYVdSMGFEb2dKSHQwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTVzWVhKblpYMXdlQ2xnWFRvZ1kzTnpZRnh1SUNBZ0lDUjdTVzV1WlhKT1lYWkNZWEo5SUh0Y2JpQWdJQ0FnSUhCaFpHUnBibWM2SURBZ01UWndlRHRjYmlBZ0lDQjlYRzRnSUdBc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWVHeGhjbWRsZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0SmJtNWxjazVoZGtKaGNuMGdlMXh1SUNBZ0lDQWdiV0Y0TFhkcFpIUm9PaUF4TWpRd2NIZzdYRzRnSUNBZ0lDQjNhV1IwYURvZ01UQXdKVHRjYmlBZ0lDQWdJRzFoY21kcGJqb2dNQ0JoZFhSdk8xeHVJQ0FnSUgxY2JpQWdZQ3hjYm4wcEtUdGNiaUpkZlE9PSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIFNlYXJjaFdyYXBwZXIgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcImRpdlwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlaXU3aGNsMVwiIH0gOiB7XG5cdHRhcmdldDogXCJlaXU3aGNsMVwiLFxuXHRsYWJlbDogXCJTZWFyY2hXcmFwcGVyXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCIxN2VsbjNvXCIsXG5cdHN0eWxlczogXCJkaXNwbGF5Om5vbmU7d2lkdGg6MTAwJTttYXJnaW4tbGVmdDoyMHB4XCJcbn0gOiB7XG5cdG5hbWU6IFwiMTdlbG4zb1wiLFxuXHRzdHlsZXM6IFwiZGlzcGxheTpub25lO3dpZHRoOjEwMCU7bWFyZ2luLWxlZnQ6MjBweC8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRjVRelpDSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlNHVmhaR1Z5TDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCN0lHTnpjeUI5SUdaeWIyMGdKMEJsYlc5MGFXOXVMM0psWVdOMEp6dGNibWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0JCY0hCQ1lYSWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlCY0hCQ1lYSW5PMXh1YVcxd2IzSjBJRWxqYjI1Q2RYUjBiMjRnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5SlkyOXVRblYwZEc5dUp6dGNibWx0Y0c5eWRDQlViMjlzWW1GeUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZWRzl2YkdKaGNpYzdYRzVwYlhCdmNuUWdleUJqYjIxdGIyNGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDJOdmJHOXljeWM3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk5VWFHVnRaU2M3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKYm01bGNrNWhka0poY2lBOUlITjBlV3hsWkNoVWIyOXNZbUZ5S1NoN1hHNGdJR3AxYzNScFpubERiMjUwWlc1ME9pQW5jM0JoWTJVdFltVjBkMlZsYmljc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQndZV1JrYVc1bk9pQXdMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSGNtVmxkR2x1WjNNZ1BTQnpkSGxzWldRb0ozTndZVzRuS1NoN1hHNGdJRzFoY21kcGJqb2dKekFnTlhCNElEQWdNQ2NzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFMXZZbWxzWlU1aGRrSmhjaUE5SUhOMGVXeGxaQ2duWkdsMkp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2h3Y205d2N5a2dQVDRnS0h0Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdZbTl5WkdWeVFtOTBkRzl0T2lCZ01YQjRJSE52Ykdsa0lDUjdjSEp2Y0hNdWRHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVRHbG5hSFI5WUN4Y2JpQWdjR0ZrWkdsdVp6b2dKemh3ZUNjc1hHNGdJSEJ2YzJsMGFXOXVPaUFuY21Wc1lYUnBkbVVuTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTVzV1WlhKTmIySnBiR1ZPWVhaQ1lYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29jSEp2Y0hNcElEMCtJQ2g3WEc0Z0lHSnZjbVJsY2xKaFpHbDFjem9nSnpSd2VDY3NYRzRnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nY0hKdmNITXVkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVUR2xuYUhRc1hHNGdJR052Ykc5eU9pQmpiMjF0YjI0dWQyaHBkR1VzWEc0Z0lIZHBaSFJvT2lBbk1UQXdKU2NzWEc0Z0lIQmhaR1JwYm1jNklDY3dJRFZ3ZUNjc1hHNGdJRzFoY21kcGJqb2dKekFnTVRCd2VDQXdJREFuTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTV052YmxObFlYSmphRUoxZEhSdmJpQTlJSE4wZVd4bFpDaEpZMjl1UW5WMGRHOXVLU2g3ZlNrN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnU1c1bWIwSjFkSFJ2YmlBOUlITjBlV3hsWkNoSlkyOXVRblYwZEc5dUtTaDdmU2s3WEc1bGVIQnZjblFnWTI5dWMzUWdVM2RwZEdOb1ZHaGxiV1ZDZFhSMGIyNGdQU0J6ZEhsc1pXUW9TV052YmtKMWRIUnZiaWtvZTMwcE8xeHVaWGh3YjNKMElHTnZibk4wSUZObGRIUnBibWR6UW5WMGRHOXRJRDBnYzNSNWJHVmtLRWxqYjI1Q2RYUjBiMjRwS0h0OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGTmxZWEpqYUZkeVlYQndaWElnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyNXZibVVuTEZ4dUlDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dUlDQnRZWEpuYVc1TVpXWjBPaUF5TUN4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdUbUYyUW1GeUlEMGdjM1I1YkdWa0tFRndjRUpoY2lrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqcGNiaUFnSUNCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RzYVdkb2RDY2dQeUIwYUdWdFpTNXdZV3hsZEhSbExuQnlhVzFoY25rdWJXRnBiaUE2SUhSb1pXMWxMbkJoYkdWMGRHVXVZM2xoYmtKc2RXVXNYRzRnSUdOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJRzFwYmtobGFXZG9kRG9nTmpBc1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnYW5WemRHbG1lVU52Ym5SbGJuUTZJQ2RqWlc1MFpYSW5MRnh1SUNCYllFQnRaV1JwWVNBb2JXRjRMWGRwWkhSb09pQWtlM1JvWlcxbExtSnlaV0ZyVUc5cGJuUnpMbmh6YldGc2JIMXdlQ2xnWFRvZ1kzTnpZRnh1SUNBZ0lDUjdTVzVtYjBKMWRIUnZibjBnZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nYm05dVpUdGNiaUFnSUNCOVhHNGdJQ0FnSkh0VGQybDBZMmhVYUdWdFpVSjFkSFJ2Ym4wZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUNBZ0pIdFRaWFIwYVc1bmMwSjFkSFJ2YlgwZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUdBc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0VFpXRnlZMmhYY21Gd2NHVnlmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJtYkdWNE8xeHVJQ0FnSUgxY2JpQWdJQ0FrZTBsamIyNVRaV0Z5WTJoQ2RYUjBiMjU5SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUc1dmJtVTdYRzRnSUNBZ2ZWeHVJQ0FnSUNSN1RXOWlhV3hsVG1GMlFtRnlmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJ1YjI1bE8xeHVJQ0FnSUgxY2JpQWdZQ3hjYmlBZ1cyQkFiV1ZrYVdFZ0tHMXBiaTEzYVdSMGFEb2dKSHQwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTVzWVhKblpYMXdlQ2xnWFRvZ1kzTnpZRnh1SUNBZ0lDUjdTVzV1WlhKT1lYWkNZWEo5SUh0Y2JpQWdJQ0FnSUhCaFpHUnBibWM2SURBZ01UWndlRHRjYmlBZ0lDQjlYRzRnSUdBc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWVHeGhjbWRsZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0SmJtNWxjazVoZGtKaGNuMGdlMXh1SUNBZ0lDQWdiV0Y0TFhkcFpIUm9PaUF4TWpRd2NIZzdYRzRnSUNBZ0lDQjNhV1IwYURvZ01UQXdKVHRjYmlBZ0lDQWdJRzFoY21kcGJqb2dNQ0JoZFhSdk8xeHVJQ0FnSUgxY2JpQWdZQ3hjYm4wcEtUdGNiaUpkZlE9PSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIE5hdkJhciA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKEFwcEJhciwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZWl1N2hjbDBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZWl1N2hjbDBcIixcblx0bGFiZWw6IFwiTmF2QmFyXCJcbn0pKCh7IHRoZW1lIH0pID0+ICh7XG5cdGJhY2tncm91bmRDb2xvcjogdGhlbWUucGFsZXR0ZS5tb2RlID09PSBcImxpZ2h0XCIgPyB0aGVtZS5wYWxldHRlLnByaW1hcnkubWFpbiA6IHRoZW1lLnBhbGV0dGUuY3lhbkJsdWUsXG5cdGNvbG9yOiBjb21tb24ud2hpdGUsXG5cdG1pbkhlaWdodDogNjAsXG5cdGRpc3BsYXk6IFwiZmxleFwiLFxuXHRqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcblx0W2BAbWVkaWEgKG1heC13aWR0aDogJHt0aGVtZS5icmVha1BvaW50cy54c21hbGx9cHgpYF06IC8qIEBfX1BVUkVfXyAqLyBjc3MoSW5mb0J1dHRvbiwgXCJ7ZGlzcGxheTpub25lO31cIiwgU3dpdGNoVGhlbWVCdXR0b24sIFwie2Rpc3BsYXk6bm9uZTt9XCIsIFNldHRpbmdzQnV0dG9tLCBcIntkaXNwbGF5Om5vbmU7fVwiICsgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIjtsYWJlbDpOYXZCYXI7XCIpLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12U0dWaFpHVnlMM04wZVd4bGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZ6UkRSRUlpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdJR056Y3lCOUlHWnliMjBnSjBCbGJXOTBhVzl1TDNKbFlXTjBKenRjYm1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCQmNIQkNZWElnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5QmNIQkNZWEluTzF4dWFXMXdiM0owSUVsamIyNUNkWFIwYjI0Z1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUpZMjl1UW5WMGRHOXVKenRjYm1sdGNHOXlkQ0JVYjI5c1ltRnlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2Vkc5dmJHSmhjaWM3WEc1cGJYQnZjblFnZXlCamIyMXRiMjRnZlNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wyTnZiRzl5Y3ljN1hHNWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOVVhR1Z0WlNjN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSmJtNWxjazVoZGtKaGNpQTlJSE4wZVd4bFpDaFViMjlzWW1GeUtTaDdYRzRnSUdwMWMzUnBabmxEYjI1MFpXNTBPaUFuYzNCaFkyVXRZbVYwZDJWbGJpY3NYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0J3WVdSa2FXNW5PaUF3TEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkhjbVZsZEdsdVozTWdQU0J6ZEhsc1pXUW9KM053WVc0bktTaDdYRzRnSUcxaGNtZHBiam9nSnpBZ05YQjRJREFnTUNjc1hHNTlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRTF2WW1sc1pVNWhka0poY2lBOUlITjBlV3hsWkNnblpHbDJKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0Nod2NtOXdjeWtnUFQ0Z0tIdGNiaUFnWVd4cFoyNUpkR1Z0Y3pvZ0oyTmxiblJsY2ljc1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnWW05eVpHVnlRbTkwZEc5dE9pQmdNWEI0SUhOdmJHbGtJQ1I3Y0hKdmNITXVkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVUR2xuYUhSOVlDeGNiaUFnY0dGa1pHbHVaem9nSnpod2VDY3NYRzRnSUhCdmMybDBhVzl1T2lBbmNtVnNZWFJwZG1VbkxGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnU1c1dVpYSk5iMkpwYkdWT1lYWkNZWElnUFNCemRIbHNaV1FvSjJScGRpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvY0hKdmNITXBJRDArSUNoN1hHNGdJR0p2Y21SbGNsSmhaR2wxY3pvZ0p6UndlQ2NzWEc0Z0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ2NISnZjSE11ZEdobGJXVXVjR0ZzWlhSMFpTNW5jbVY1VEdsbmFIUXNYRzRnSUdOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJSGRwWkhSb09pQW5NVEF3SlNjc1hHNGdJSEJoWkdScGJtYzZJQ2N3SURWd2VDY3NYRzRnSUcxaGNtZHBiam9nSnpBZ01UQndlQ0F3SURBbkxGeHVmU2twTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnU1dOdmJsTmxZWEpqYUVKMWRIUnZiaUE5SUhOMGVXeGxaQ2hKWTI5dVFuVjBkRzl1S1NoN2ZTazdYRzVsZUhCdmNuUWdZMjl1YzNRZ1NXNW1iMEoxZEhSdmJpQTlJSE4wZVd4bFpDaEpZMjl1UW5WMGRHOXVLU2g3ZlNrN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnVTNkcGRHTm9WR2hsYldWQ2RYUjBiMjRnUFNCemRIbHNaV1FvU1dOdmJrSjFkSFJ2Ymlrb2UzMHBPMXh1Wlhod2IzSjBJR052Ym5OMElGTmxkSFJwYm1kelFuVjBkRzl0SUQwZ2MzUjViR1ZrS0VsamIyNUNkWFIwYjI0cEtIdDlLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRk5sWVhKamFGZHlZWEJ3WlhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwS0h0Y2JpQWdaR2x6Y0d4aGVUb2dKMjV2Ym1VbkxGeHVJQ0IzYVdSMGFEb2dKekV3TUNVbkxGeHVJQ0J0WVhKbmFXNU1aV1owT2lBeU1DeGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVG1GMlFtRnlJRDBnYzNSNWJHVmtLRUZ3Y0VKaGNpazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdKaFkydG5jbTkxYm1SRGIyeHZjanBjYmlBZ0lDQjBhR1Z0WlM1d1lXeGxkSFJsTG0xdlpHVWdQVDA5SUNkc2FXZG9kQ2NnUHlCMGFHVnRaUzV3WVd4bGRIUmxMbkJ5YVcxaGNua3ViV0ZwYmlBNklIUm9aVzFsTG5CaGJHVjBkR1V1WTNsaGJrSnNkV1VzWEc0Z0lHTnZiRzl5T2lCamIyMXRiMjR1ZDJocGRHVXNYRzRnSUcxcGJraGxhV2RvZERvZ05qQXNYRzRnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkalpXNTBaWEluTEZ4dUlDQmJZRUJ0WldScFlTQW9iV0Y0TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG5oemJXRnNiSDF3ZUNsZ1hUb2dZM056WUZ4dUlDQWdJQ1I3U1c1bWIwSjFkSFJ2Ym4wZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUNBZ0pIdFRkMmwwWTJoVWFHVnRaVUoxZEhSdmJuMGdlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlR0Y2JpQWdJQ0I5WEc0Z0lDQWdKSHRUWlhSMGFXNW5jMEoxZEhSdmJYMGdlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlR0Y2JpQWdJQ0I5WEc0Z0lHQXNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXViV1ZrYVhWdGZYQjRLV0JkT2lCamMzTmdYRzRnSUNBZ0pIdFRaV0Z5WTJoWGNtRndjR1Z5ZlNCN1hHNGdJQ0FnSUNCa2FYTndiR0Y1T2lCbWJHVjRPMXh1SUNBZ0lIMWNiaUFnSUNBa2UwbGpiMjVUWldGeVkyaENkWFIwYjI1OUlIdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklHNXZibVU3WEc0Z0lDQWdmVnh1SUNBZ0lDUjdUVzlpYVd4bFRtRjJRbUZ5ZlNCN1hHNGdJQ0FnSUNCa2FYTndiR0Y1T2lCdWIyNWxPMXh1SUNBZ0lIMWNiaUFnWUN4Y2JpQWdXMkJBYldWa2FXRWdLRzFwYmkxM2FXUjBhRG9nSkh0MGFHVnRaUzVpY21WaGExQnZhVzUwY3k1c1lYSm5aWDF3ZUNsZ1hUb2dZM056WUZ4dUlDQWdJQ1I3U1c1dVpYSk9ZWFpDWVhKOUlIdGNiaUFnSUNBZ0lIQmhaR1JwYm1jNklEQWdNVFp3ZUR0Y2JpQWdJQ0I5WEc0Z0lHQXNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXVlR3hoY21kbGZYQjRLV0JkT2lCamMzTmdYRzRnSUNBZ0pIdEpibTVsY2s1aGRrSmhjbjBnZTF4dUlDQWdJQ0FnYldGNExYZHBaSFJvT2lBeE1qUXdjSGc3WEc0Z0lDQWdJQ0IzYVdSMGFEb2dNVEF3SlR0Y2JpQWdJQ0FnSUcxaGNtZHBiam9nTUNCaGRYUnZPMXh1SUNBZ0lIMWNiaUFnWUN4Y2JuMHBLVHRjYmlKZGZRPT0gKi9cIiksXG5cdFtgQG1lZGlhIChtaW4td2lkdGg6ICR7dGhlbWUuYnJlYWtQb2ludHMubWVkaXVtfXB4KWBdOiAvKiBAX19QVVJFX18gKi8gY3NzKFNlYXJjaFdyYXBwZXIsIFwie2Rpc3BsYXk6ZmxleDt9XCIsIEljb25TZWFyY2hCdXR0b24sIFwie2Rpc3BsYXk6bm9uZTt9XCIsIE1vYmlsZU5hdkJhciwgXCJ7ZGlzcGxheTpub25lO31cIiArIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCI7bGFiZWw6TmF2QmFyO1wiKSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlNHVmhaR1Z5TDNOMGVXeGxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGcFJUUkVJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12U0dWaFpHVnlMM04wZVd4bGN5NTBjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3SUdOemN5QjlJR1p5YjIwZ0owQmxiVzkwYVc5dUwzSmxZV04wSnp0Y2JtbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQkJjSEJDWVhJZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUJjSEJDWVhJbk8xeHVhVzF3YjNKMElFbGpiMjVDZFhSMGIyNGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlKWTI5dVFuVjBkRzl1Snp0Y2JtbHRjRzl5ZENCVWIyOXNZbUZ5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlZHOXZiR0poY2ljN1hHNXBiWEJ2Y25RZ2V5QmpiMjF0YjI0Z2ZTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMk52Ykc5eWN5YzdYRzVjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaTlVYUdWdFpTYzdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkpibTVsY2s1aGRrSmhjaUE5SUhOMGVXeGxaQ2hVYjI5c1ltRnlLU2g3WEc0Z0lHcDFjM1JwWm5sRGIyNTBaVzUwT2lBbmMzQmhZMlV0WW1WMGQyVmxiaWNzWEc0Z0lHRnNhV2R1U1hSbGJYTTZJQ2RqWlc1MFpYSW5MRnh1SUNCd1lXUmthVzVuT2lBd0xGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JIY21WbGRHbHVaM01nUFNCemRIbHNaV1FvSjNOd1lXNG5LU2g3WEc0Z0lHMWhjbWRwYmpvZ0p6QWdOWEI0SURBZ01DY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUUxdlltbHNaVTVoZGtKaGNpQTlJSE4wZVd4bFpDZ25aR2wySnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaHdjbTl3Y3lrZ1BUNGdLSHRjYmlBZ1lXeHBaMjVKZEdWdGN6b2dKMk5sYm5SbGNpY3NYRzRnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ1ltOXlaR1Z5UW05MGRHOXRPaUJnTVhCNElITnZiR2xrSUNSN2NISnZjSE11ZEdobGJXVXVjR0ZzWlhSMFpTNW5jbVY1VEdsbmFIUjlZQ3hjYmlBZ2NHRmtaR2x1WnpvZ0p6aHdlQ2NzWEc0Z0lIQnZjMmwwYVc5dU9pQW5jbVZzWVhScGRtVW5MRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1NXNXVaWEpOYjJKcGJHVk9ZWFpDWVhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2NISnZjSE1wSUQwK0lDaDdYRzRnSUdKdmNtUmxjbEpoWkdsMWN6b2dKelJ3ZUNjc1hHNGdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2djSEp2Y0hNdWRHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVRHbG5hSFFzWEc0Z0lHTnZiRzl5T2lCamIyMXRiMjR1ZDJocGRHVXNYRzRnSUhkcFpIUm9PaUFuTVRBd0pTY3NYRzRnSUhCaFpHUnBibWM2SUNjd0lEVndlQ2NzWEc0Z0lHMWhjbWRwYmpvZ0p6QWdNVEJ3ZUNBd0lEQW5MRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1NXTnZibE5sWVhKamFFSjFkSFJ2YmlBOUlITjBlV3hsWkNoSlkyOXVRblYwZEc5dUtTaDdmU2s3WEc1bGVIQnZjblFnWTI5dWMzUWdTVzVtYjBKMWRIUnZiaUE5SUhOMGVXeGxaQ2hKWTI5dVFuVjBkRzl1S1NoN2ZTazdYRzVsZUhCdmNuUWdZMjl1YzNRZ1UzZHBkR05vVkdobGJXVkNkWFIwYjI0Z1BTQnpkSGxzWldRb1NXTnZia0oxZEhSdmJpa29lMzBwTzF4dVpYaHdiM0owSUdOdmJuTjBJRk5sZEhScGJtZHpRblYwZEc5dElEMGdjM1I1YkdWa0tFbGpiMjVDZFhSMGIyNHBLSHQ5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZObFlYSmphRmR5WVhCd1pYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcEtIdGNiaUFnWkdsemNHeGhlVG9nSjI1dmJtVW5MRnh1SUNCM2FXUjBhRG9nSnpFd01DVW5MRnh1SUNCdFlYSm5hVzVNWldaME9pQXlNQ3hjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1RtRjJRbUZ5SUQwZ2MzUjViR1ZrS0VGd2NFSmhjaWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHSmhZMnRuY205MWJtUkRiMnh2Y2pwY2JpQWdJQ0IwYUdWdFpTNXdZV3hsZEhSbExtMXZaR1VnUFQwOUlDZHNhV2RvZENjZ1B5QjBhR1Z0WlM1d1lXeGxkSFJsTG5CeWFXMWhjbmt1YldGcGJpQTZJSFJvWlcxbExuQmhiR1YwZEdVdVkzbGhia0pzZFdVc1hHNGdJR052Ykc5eU9pQmpiMjF0YjI0dWQyaHBkR1VzWEc0Z0lHMXBia2hsYVdkb2REb2dOakFzWEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdhblZ6ZEdsbWVVTnZiblJsYm5RNklDZGpaVzUwWlhJbkxGeHVJQ0JiWUVCdFpXUnBZU0FvYldGNExYZHBaSFJvT2lBa2UzUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxuaHpiV0ZzYkgxd2VDbGdYVG9nWTNOellGeHVJQ0FnSUNSN1NXNW1iMEoxZEhSdmJuMGdlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlR0Y2JpQWdJQ0I5WEc0Z0lDQWdKSHRUZDJsMFkyaFVhR1Z0WlVKMWRIUnZibjBnZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nYm05dVpUdGNiaUFnSUNCOVhHNGdJQ0FnSkh0VFpYUjBhVzVuYzBKMWRIUnZiWDBnZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nYm05dVpUdGNiaUFnSUNCOVhHNGdJR0FzWEc0Z0lGdGdRRzFsWkdsaElDaHRhVzR0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11YldWa2FYVnRmWEI0S1dCZE9pQmpjM05nWEc0Z0lDQWdKSHRUWldGeVkyaFhjbUZ3Y0dWeWZTQjdYRzRnSUNBZ0lDQmthWE53YkdGNU9pQm1iR1Y0TzF4dUlDQWdJSDFjYmlBZ0lDQWtlMGxqYjI1VFpXRnlZMmhDZFhSMGIyNTlJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJRzV2Ym1VN1hHNGdJQ0FnZlZ4dUlDQWdJQ1I3VFc5aWFXeGxUbUYyUW1GeWZTQjdYRzRnSUNBZ0lDQmthWE53YkdGNU9pQnViMjVsTzF4dUlDQWdJSDFjYmlBZ1lDeGNiaUFnVzJCQWJXVmthV0VnS0cxcGJpMTNhV1IwYURvZ0pIdDBhR1Z0WlM1aWNtVmhhMUJ2YVc1MGN5NXNZWEpuWlgxd2VDbGdYVG9nWTNOellGeHVJQ0FnSUNSN1NXNXVaWEpPWVhaQ1lYSjlJSHRjYmlBZ0lDQWdJSEJoWkdScGJtYzZJREFnTVRad2VEdGNiaUFnSUNCOVhHNGdJR0FzWEc0Z0lGdGdRRzFsWkdsaElDaHRhVzR0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11ZUd4aGNtZGxmWEI0S1dCZE9pQmpjM05nWEc0Z0lDQWdKSHRKYm01bGNrNWhka0poY24wZ2UxeHVJQ0FnSUNBZ2JXRjRMWGRwWkhSb09pQXhNalF3Y0hnN1hHNGdJQ0FnSUNCM2FXUjBhRG9nTVRBd0pUdGNiaUFnSUNBZ0lHMWhjbWRwYmpvZ01DQmhkWFJ2TzF4dUlDQWdJSDFjYmlBZ1lDeGNibjBwS1R0Y2JpSmRmUT09ICovXCIpLFxuXHRbYEBtZWRpYSAobWluLXdpZHRoOiAke3RoZW1lLmJyZWFrUG9pbnRzLmxhcmdlfXB4KWBdOiAvKiBAX19QVVJFX18gKi8gY3NzKElubmVyTmF2QmFyLCBcIntwYWRkaW5nOjAgMTZweDt9XCIgKyAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiO2xhYmVsOk5hdkJhcjtcIiksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRTBSVEpFSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlNHVmhaR1Z5TDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCN0lHTnpjeUI5SUdaeWIyMGdKMEJsYlc5MGFXOXVMM0psWVdOMEp6dGNibWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0JCY0hCQ1lYSWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlCY0hCQ1lYSW5PMXh1YVcxd2IzSjBJRWxqYjI1Q2RYUjBiMjRnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5SlkyOXVRblYwZEc5dUp6dGNibWx0Y0c5eWRDQlViMjlzWW1GeUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZWRzl2YkdKaGNpYzdYRzVwYlhCdmNuUWdleUJqYjIxdGIyNGdmU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDJOdmJHOXljeWM3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk5VWFHVnRaU2M3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKYm01bGNrNWhka0poY2lBOUlITjBlV3hsWkNoVWIyOXNZbUZ5S1NoN1hHNGdJR3AxYzNScFpubERiMjUwWlc1ME9pQW5jM0JoWTJVdFltVjBkMlZsYmljc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQndZV1JrYVc1bk9pQXdMRnh1ZlNrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSGNtVmxkR2x1WjNNZ1BTQnpkSGxzWldRb0ozTndZVzRuS1NoN1hHNGdJRzFoY21kcGJqb2dKekFnTlhCNElEQWdNQ2NzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFMXZZbWxzWlU1aGRrSmhjaUE5SUhOMGVXeGxaQ2duWkdsMkp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2h3Y205d2N5a2dQVDRnS0h0Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdZbTl5WkdWeVFtOTBkRzl0T2lCZ01YQjRJSE52Ykdsa0lDUjdjSEp2Y0hNdWRHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVRHbG5hSFI5WUN4Y2JpQWdjR0ZrWkdsdVp6b2dKemh3ZUNjc1hHNGdJSEJ2YzJsMGFXOXVPaUFuY21Wc1lYUnBkbVVuTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTVzV1WlhKTmIySnBiR1ZPWVhaQ1lYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29jSEp2Y0hNcElEMCtJQ2g3WEc0Z0lHSnZjbVJsY2xKaFpHbDFjem9nSnpSd2VDY3NYRzRnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nY0hKdmNITXVkR2hsYldVdWNHRnNaWFIwWlM1bmNtVjVUR2xuYUhRc1hHNGdJR052Ykc5eU9pQmpiMjF0YjI0dWQyaHBkR1VzWEc0Z0lIZHBaSFJvT2lBbk1UQXdKU2NzWEc0Z0lIQmhaR1JwYm1jNklDY3dJRFZ3ZUNjc1hHNGdJRzFoY21kcGJqb2dKekFnTVRCd2VDQXdJREFuTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTV052YmxObFlYSmphRUoxZEhSdmJpQTlJSE4wZVd4bFpDaEpZMjl1UW5WMGRHOXVLU2g3ZlNrN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnU1c1bWIwSjFkSFJ2YmlBOUlITjBlV3hsWkNoSlkyOXVRblYwZEc5dUtTaDdmU2s3WEc1bGVIQnZjblFnWTI5dWMzUWdVM2RwZEdOb1ZHaGxiV1ZDZFhSMGIyNGdQU0J6ZEhsc1pXUW9TV052YmtKMWRIUnZiaWtvZTMwcE8xeHVaWGh3YjNKMElHTnZibk4wSUZObGRIUnBibWR6UW5WMGRHOXRJRDBnYzNSNWJHVmtLRWxqYjI1Q2RYUjBiMjRwS0h0OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGTmxZWEpqYUZkeVlYQndaWElnUFNCemRIbHNaV1FvSjJScGRpY3BLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyNXZibVVuTEZ4dUlDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dUlDQnRZWEpuYVc1TVpXWjBPaUF5TUN4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdUbUYyUW1GeUlEMGdjM1I1YkdWa0tFRndjRUpoY2lrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqcGNiaUFnSUNCMGFHVnRaUzV3WVd4bGRIUmxMbTF2WkdVZ1BUMDlJQ2RzYVdkb2RDY2dQeUIwYUdWdFpTNXdZV3hsZEhSbExuQnlhVzFoY25rdWJXRnBiaUE2SUhSb1pXMWxMbkJoYkdWMGRHVXVZM2xoYmtKc2RXVXNYRzRnSUdOdmJHOXlPaUJqYjIxdGIyNHVkMmhwZEdVc1hHNGdJRzFwYmtobGFXZG9kRG9nTmpBc1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnYW5WemRHbG1lVU52Ym5SbGJuUTZJQ2RqWlc1MFpYSW5MRnh1SUNCYllFQnRaV1JwWVNBb2JXRjRMWGRwWkhSb09pQWtlM1JvWlcxbExtSnlaV0ZyVUc5cGJuUnpMbmh6YldGc2JIMXdlQ2xnWFRvZ1kzTnpZRnh1SUNBZ0lDUjdTVzVtYjBKMWRIUnZibjBnZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nYm05dVpUdGNiaUFnSUNCOVhHNGdJQ0FnSkh0VGQybDBZMmhVYUdWdFpVSjFkSFJ2Ym4wZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUNBZ0pIdFRaWFIwYVc1bmMwSjFkSFJ2YlgwZ2UxeHVJQ0FnSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHRjYmlBZ0lDQjlYRzRnSUdBc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0VFpXRnlZMmhYY21Gd2NHVnlmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJtYkdWNE8xeHVJQ0FnSUgxY2JpQWdJQ0FrZTBsamIyNVRaV0Z5WTJoQ2RYUjBiMjU5SUh0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUc1dmJtVTdYRzRnSUNBZ2ZWeHVJQ0FnSUNSN1RXOWlhV3hsVG1GMlFtRnlmU0I3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUJ1YjI1bE8xeHVJQ0FnSUgxY2JpQWdZQ3hjYmlBZ1cyQkFiV1ZrYVdFZ0tHMXBiaTEzYVdSMGFEb2dKSHQwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTVzWVhKblpYMXdlQ2xnWFRvZ1kzTnpZRnh1SUNBZ0lDUjdTVzV1WlhKT1lYWkNZWEo5SUh0Y2JpQWdJQ0FnSUhCaFpHUnBibWM2SURBZ01UWndlRHRjYmlBZ0lDQjlYRzRnSUdBc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWVHeGhjbWRsZlhCNEtXQmRPaUJqYzNOZ1hHNGdJQ0FnSkh0SmJtNWxjazVoZGtKaGNuMGdlMXh1SUNBZ0lDQWdiV0Y0TFhkcFpIUm9PaUF4TWpRd2NIZzdYRzRnSUNBZ0lDQjNhV1IwYURvZ01UQXdKVHRjYmlBZ0lDQWdJRzFoY21kcGJqb2dNQ0JoZFhSdk8xeHVJQ0FnSUgxY2JpQWdZQ3hjYm4wcEtUdGNiaUpkZlE9PSAqL1wiKSxcblx0W2BAbWVkaWEgKG1pbi13aWR0aDogJHt0aGVtZS5icmVha1BvaW50cy54bGFyZ2V9cHgpYF06IC8qIEBfX1BVUkVfXyAqLyBjc3MoSW5uZXJOYXZCYXIsIFwie21heC13aWR0aDoxMjQwcHg7d2lkdGg6MTAwJTttYXJnaW46MCBhdXRvO31cIiArIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCI7bGFiZWw6TmF2QmFyO1wiKSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlNHVmhaR1Z5TDNOMGVXeGxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGcFJqUkVJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12U0dWaFpHVnlMM04wZVd4bGN5NTBjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3SUdOemN5QjlJR1p5YjIwZ0owQmxiVzkwYVc5dUwzSmxZV04wSnp0Y2JtbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQkJjSEJDWVhJZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUJjSEJDWVhJbk8xeHVhVzF3YjNKMElFbGpiMjVDZFhSMGIyNGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlKWTI5dVFuVjBkRzl1Snp0Y2JtbHRjRzl5ZENCVWIyOXNZbUZ5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlZHOXZiR0poY2ljN1hHNXBiWEJ2Y25RZ2V5QmpiMjF0YjI0Z2ZTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMk52Ykc5eWN5YzdYRzVjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaTlVYUdWdFpTYzdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkpibTVsY2s1aGRrSmhjaUE5SUhOMGVXeGxaQ2hVYjI5c1ltRnlLU2g3WEc0Z0lHcDFjM1JwWm5sRGIyNTBaVzUwT2lBbmMzQmhZMlV0WW1WMGQyVmxiaWNzWEc0Z0lHRnNhV2R1U1hSbGJYTTZJQ2RqWlc1MFpYSW5MRnh1SUNCd1lXUmthVzVuT2lBd0xGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JIY21WbGRHbHVaM01nUFNCemRIbHNaV1FvSjNOd1lXNG5LU2g3WEc0Z0lHMWhjbWRwYmpvZ0p6QWdOWEI0SURBZ01DY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUUxdlltbHNaVTVoZGtKaGNpQTlJSE4wZVd4bFpDZ25aR2wySnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaHdjbTl3Y3lrZ1BUNGdLSHRjYmlBZ1lXeHBaMjVKZEdWdGN6b2dKMk5sYm5SbGNpY3NYRzRnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ1ltOXlaR1Z5UW05MGRHOXRPaUJnTVhCNElITnZiR2xrSUNSN2NISnZjSE11ZEdobGJXVXVjR0ZzWlhSMFpTNW5jbVY1VEdsbmFIUjlZQ3hjYmlBZ2NHRmtaR2x1WnpvZ0p6aHdlQ2NzWEc0Z0lIQnZjMmwwYVc5dU9pQW5jbVZzWVhScGRtVW5MRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1NXNXVaWEpOYjJKcGJHVk9ZWFpDWVhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2NISnZjSE1wSUQwK0lDaDdYRzRnSUdKdmNtUmxjbEpoWkdsMWN6b2dKelJ3ZUNjc1hHNGdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2djSEp2Y0hNdWRHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVRHbG5hSFFzWEc0Z0lHTnZiRzl5T2lCamIyMXRiMjR1ZDJocGRHVXNYRzRnSUhkcFpIUm9PaUFuTVRBd0pTY3NYRzRnSUhCaFpHUnBibWM2SUNjd0lEVndlQ2NzWEc0Z0lHMWhjbWRwYmpvZ0p6QWdNVEJ3ZUNBd0lEQW5MRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1NXTnZibE5sWVhKamFFSjFkSFJ2YmlBOUlITjBlV3hsWkNoSlkyOXVRblYwZEc5dUtTaDdmU2s3WEc1bGVIQnZjblFnWTI5dWMzUWdTVzVtYjBKMWRIUnZiaUE5SUhOMGVXeGxaQ2hKWTI5dVFuVjBkRzl1S1NoN2ZTazdYRzVsZUhCdmNuUWdZMjl1YzNRZ1UzZHBkR05vVkdobGJXVkNkWFIwYjI0Z1BTQnpkSGxzWldRb1NXTnZia0oxZEhSdmJpa29lMzBwTzF4dVpYaHdiM0owSUdOdmJuTjBJRk5sZEhScGJtZHpRblYwZEc5dElEMGdjM1I1YkdWa0tFbGpiMjVDZFhSMGIyNHBLSHQ5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZObFlYSmphRmR5WVhCd1pYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcEtIdGNiaUFnWkdsemNHeGhlVG9nSjI1dmJtVW5MRnh1SUNCM2FXUjBhRG9nSnpFd01DVW5MRnh1SUNCdFlYSm5hVzVNWldaME9pQXlNQ3hjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1RtRjJRbUZ5SUQwZ2MzUjViR1ZrS0VGd2NFSmhjaWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHSmhZMnRuY205MWJtUkRiMnh2Y2pwY2JpQWdJQ0IwYUdWdFpTNXdZV3hsZEhSbExtMXZaR1VnUFQwOUlDZHNhV2RvZENjZ1B5QjBhR1Z0WlM1d1lXeGxkSFJsTG5CeWFXMWhjbmt1YldGcGJpQTZJSFJvWlcxbExuQmhiR1YwZEdVdVkzbGhia0pzZFdVc1hHNGdJR052Ykc5eU9pQmpiMjF0YjI0dWQyaHBkR1VzWEc0Z0lHMXBia2hsYVdkb2REb2dOakFzWEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdhblZ6ZEdsbWVVTnZiblJsYm5RNklDZGpaVzUwWlhJbkxGeHVJQ0JiWUVCdFpXUnBZU0FvYldGNExYZHBaSFJvT2lBa2UzUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxuaHpiV0ZzYkgxd2VDbGdYVG9nWTNOellGeHVJQ0FnSUNSN1NXNW1iMEoxZEhSdmJuMGdlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlR0Y2JpQWdJQ0I5WEc0Z0lDQWdKSHRUZDJsMFkyaFVhR1Z0WlVKMWRIUnZibjBnZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nYm05dVpUdGNiaUFnSUNCOVhHNGdJQ0FnSkh0VFpYUjBhVzVuYzBKMWRIUnZiWDBnZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nYm05dVpUdGNiaUFnSUNCOVhHNGdJR0FzWEc0Z0lGdGdRRzFsWkdsaElDaHRhVzR0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11YldWa2FYVnRmWEI0S1dCZE9pQmpjM05nWEc0Z0lDQWdKSHRUWldGeVkyaFhjbUZ3Y0dWeWZTQjdYRzRnSUNBZ0lDQmthWE53YkdGNU9pQm1iR1Y0TzF4dUlDQWdJSDFjYmlBZ0lDQWtlMGxqYjI1VFpXRnlZMmhDZFhSMGIyNTlJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJRzV2Ym1VN1hHNGdJQ0FnZlZ4dUlDQWdJQ1I3VFc5aWFXeGxUbUYyUW1GeWZTQjdYRzRnSUNBZ0lDQmthWE53YkdGNU9pQnViMjVsTzF4dUlDQWdJSDFjYmlBZ1lDeGNiaUFnVzJCQWJXVmthV0VnS0cxcGJpMTNhV1IwYURvZ0pIdDBhR1Z0WlM1aWNtVmhhMUJ2YVc1MGN5NXNZWEpuWlgxd2VDbGdYVG9nWTNOellGeHVJQ0FnSUNSN1NXNXVaWEpPWVhaQ1lYSjlJSHRjYmlBZ0lDQWdJSEJoWkdScGJtYzZJREFnTVRad2VEdGNiaUFnSUNCOVhHNGdJR0FzWEc0Z0lGdGdRRzFsWkdsaElDaHRhVzR0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11ZUd4aGNtZGxmWEI0S1dCZE9pQmpjM05nWEc0Z0lDQWdKSHRKYm01bGNrNWhka0poY24wZ2UxeHVJQ0FnSUNBZ2JXRjRMWGRwWkhSb09pQXhNalF3Y0hnN1hHNGdJQ0FnSUNCM2FXUjBhRG9nTVRBd0pUdGNiaUFnSUNBZ0lHMWhjbWRwYmpvZ01DQmhkWFJ2TzF4dUlDQWdJSDFjYmlBZ1lDeGNibjBwS1R0Y2JpSmRmUT09ICovXCIpXG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlNHVmhaR1Z5TDNOMGVXeGxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVFclEzTkNJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12U0dWaFpHVnlMM04wZVd4bGN5NTBjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3SUdOemN5QjlJR1p5YjIwZ0owQmxiVzkwYVc5dUwzSmxZV04wSnp0Y2JtbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQkJjSEJDWVhJZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOUJjSEJDWVhJbk8xeHVhVzF3YjNKMElFbGpiMjVDZFhSMGIyNGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlKWTI5dVFuVjBkRzl1Snp0Y2JtbHRjRzl5ZENCVWIyOXNZbUZ5SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlZHOXZiR0poY2ljN1hHNXBiWEJ2Y25RZ2V5QmpiMjF0YjI0Z2ZTQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMk52Ykc5eWN5YzdYRzVjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaTlVYUdWdFpTYzdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkpibTVsY2s1aGRrSmhjaUE5SUhOMGVXeGxaQ2hVYjI5c1ltRnlLU2g3WEc0Z0lHcDFjM1JwWm5sRGIyNTBaVzUwT2lBbmMzQmhZMlV0WW1WMGQyVmxiaWNzWEc0Z0lHRnNhV2R1U1hSbGJYTTZJQ2RqWlc1MFpYSW5MRnh1SUNCd1lXUmthVzVuT2lBd0xGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JIY21WbGRHbHVaM01nUFNCemRIbHNaV1FvSjNOd1lXNG5LU2g3WEc0Z0lHMWhjbWRwYmpvZ0p6QWdOWEI0SURBZ01DY3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUUxdlltbHNaVTVoZGtKaGNpQTlJSE4wZVd4bFpDZ25aR2wySnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaHdjbTl3Y3lrZ1BUNGdLSHRjYmlBZ1lXeHBaMjVKZEdWdGN6b2dKMk5sYm5SbGNpY3NYRzRnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ1ltOXlaR1Z5UW05MGRHOXRPaUJnTVhCNElITnZiR2xrSUNSN2NISnZjSE11ZEdobGJXVXVjR0ZzWlhSMFpTNW5jbVY1VEdsbmFIUjlZQ3hjYmlBZ2NHRmtaR2x1WnpvZ0p6aHdlQ2NzWEc0Z0lIQnZjMmwwYVc5dU9pQW5jbVZzWVhScGRtVW5MRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1NXNXVaWEpOYjJKcGJHVk9ZWFpDWVhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2NISnZjSE1wSUQwK0lDaDdYRzRnSUdKdmNtUmxjbEpoWkdsMWN6b2dKelJ3ZUNjc1hHNGdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2djSEp2Y0hNdWRHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVRHbG5hSFFzWEc0Z0lHTnZiRzl5T2lCamIyMXRiMjR1ZDJocGRHVXNYRzRnSUhkcFpIUm9PaUFuTVRBd0pTY3NYRzRnSUhCaFpHUnBibWM2SUNjd0lEVndlQ2NzWEc0Z0lHMWhjbWRwYmpvZ0p6QWdNVEJ3ZUNBd0lEQW5MRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1NXTnZibE5sWVhKamFFSjFkSFJ2YmlBOUlITjBlV3hsWkNoSlkyOXVRblYwZEc5dUtTaDdmU2s3WEc1bGVIQnZjblFnWTI5dWMzUWdTVzVtYjBKMWRIUnZiaUE5SUhOMGVXeGxaQ2hKWTI5dVFuVjBkRzl1S1NoN2ZTazdYRzVsZUhCdmNuUWdZMjl1YzNRZ1UzZHBkR05vVkdobGJXVkNkWFIwYjI0Z1BTQnpkSGxzWldRb1NXTnZia0oxZEhSdmJpa29lMzBwTzF4dVpYaHdiM0owSUdOdmJuTjBJRk5sZEhScGJtZHpRblYwZEc5dElEMGdjM1I1YkdWa0tFbGpiMjVDZFhSMGIyNHBLSHQ5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZObFlYSmphRmR5WVhCd1pYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcEtIdGNiaUFnWkdsemNHeGhlVG9nSjI1dmJtVW5MRnh1SUNCM2FXUjBhRG9nSnpFd01DVW5MRnh1SUNCdFlYSm5hVzVNWldaME9pQXlNQ3hjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1RtRjJRbUZ5SUQwZ2MzUjViR1ZrS0VGd2NFSmhjaWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHSmhZMnRuY205MWJtUkRiMnh2Y2pwY2JpQWdJQ0IwYUdWdFpTNXdZV3hsZEhSbExtMXZaR1VnUFQwOUlDZHNhV2RvZENjZ1B5QjBhR1Z0WlM1d1lXeGxkSFJsTG5CeWFXMWhjbmt1YldGcGJpQTZJSFJvWlcxbExuQmhiR1YwZEdVdVkzbGhia0pzZFdVc1hHNGdJR052Ykc5eU9pQmpiMjF0YjI0dWQyaHBkR1VzWEc0Z0lHMXBia2hsYVdkb2REb2dOakFzWEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdhblZ6ZEdsbWVVTnZiblJsYm5RNklDZGpaVzUwWlhJbkxGeHVJQ0JiWUVCdFpXUnBZU0FvYldGNExYZHBaSFJvT2lBa2UzUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxuaHpiV0ZzYkgxd2VDbGdYVG9nWTNOellGeHVJQ0FnSUNSN1NXNW1iMEoxZEhSdmJuMGdlMXh1SUNBZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlR0Y2JpQWdJQ0I5WEc0Z0lDQWdKSHRUZDJsMFkyaFVhR1Z0WlVKMWRIUnZibjBnZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nYm05dVpUdGNiaUFnSUNCOVhHNGdJQ0FnSkh0VFpYUjBhVzVuYzBKMWRIUnZiWDBnZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nYm05dVpUdGNiaUFnSUNCOVhHNGdJR0FzWEc0Z0lGdGdRRzFsWkdsaElDaHRhVzR0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11YldWa2FYVnRmWEI0S1dCZE9pQmpjM05nWEc0Z0lDQWdKSHRUWldGeVkyaFhjbUZ3Y0dWeWZTQjdYRzRnSUNBZ0lDQmthWE53YkdGNU9pQm1iR1Y0TzF4dUlDQWdJSDFjYmlBZ0lDQWtlMGxqYjI1VFpXRnlZMmhDZFhSMGIyNTlJSHRjYmlBZ0lDQWdJR1JwYzNCc1lYazZJRzV2Ym1VN1hHNGdJQ0FnZlZ4dUlDQWdJQ1I3VFc5aWFXeGxUbUYyUW1GeWZTQjdYRzRnSUNBZ0lDQmthWE53YkdGNU9pQnViMjVsTzF4dUlDQWdJSDFjYmlBZ1lDeGNiaUFnVzJCQWJXVmthV0VnS0cxcGJpMTNhV1IwYURvZ0pIdDBhR1Z0WlM1aWNtVmhhMUJ2YVc1MGN5NXNZWEpuWlgxd2VDbGdYVG9nWTNOellGeHVJQ0FnSUNSN1NXNXVaWEpPWVhaQ1lYSjlJSHRjYmlBZ0lDQWdJSEJoWkdScGJtYzZJREFnTVRad2VEdGNiaUFnSUNCOVhHNGdJR0FzWEc0Z0lGdGdRRzFsWkdsaElDaHRhVzR0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11ZUd4aGNtZGxmWEI0S1dCZE9pQmpjM05nWEc0Z0lDQWdKSHRKYm01bGNrNWhka0poY24wZ2UxeHVJQ0FnSUNBZ2JXRjRMWGRwWkhSb09pQXhNalF3Y0hnN1hHNGdJQ0FnSUNCM2FXUjBhRG9nTVRBd0pUdGNiaUFnSUNBZ0lHMWhjbWRwYmpvZ01DQmhkWFJ2TzF4dUlDQWdJSDFjYmlBZ1lDeGNibjBwS1R0Y2JpSmRmUT09ICovXCIpO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBHcmVldGluZ3MsIEljb25TZWFyY2hCdXR0b24sIEluZm9CdXR0b24sIElubmVyTW9iaWxlTmF2QmFyLCBJbm5lck5hdkJhciwgTW9iaWxlTmF2QmFyLCBOYXZCYXIsIFNlYXJjaFdyYXBwZXIsIFNldHRpbmdzQnV0dG9tLCBTd2l0Y2hUaGVtZUJ1dHRvbiB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHlsZXMubWpzLm1hcCIsImltcG9ydCBMb2dvIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0xvZ28vTG9nby5tanNcIjtcbmltcG9ydCBTZWFyY2ggZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvU2VhcmNoL1NlYXJjaC5tanNcIjtcbmltcG9ydCB7IFNlYXJjaFdyYXBwZXIgfSBmcm9tIFwiLi9zdHlsZXMubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9pbmRleC5tanNcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCB7IExpbmsgfSBmcm9tIFwicmVhY3Qtcm91dGVyXCI7XG5pbXBvcnQgVG9vbGJhciBmcm9tIFwiQG11aS9tYXRlcmlhbC9Ub29sYmFyXCI7XG4vLyNyZWdpb24gc3JjL3NlY3Rpb25zL0hlYWRlci9IZWFkZXJMZWZ0LnRzeFxudmFyIEhlYWRlckxlZnQgPSAoeyBzaG93U2VhcmNoIH0pID0+IC8qIEBfX1BVUkVfXyAqLyBqc3hzKFRvb2xiYXIsIHtcblx0c3g6IHtcblx0XHRkaXNwbGF5OiBcImZsZXhcIixcblx0XHRwYWRkaW5nOiAwLFxuXHRcdG1hcmdpbkxlZnQ6IDEsXG5cdFx0ZmxleDogMSxcblx0XHRcIkBtZWRpYSAobWluLXdpZHRoOiA2MDBweClcIjoge1xuXHRcdFx0cGFkZGluZzogMCxcblx0XHRcdG1hcmdpbkxlZnQ6IDEsXG5cdFx0XHRtYXJnaW5SaWdodDogXCIyMHB4XCJcblx0XHR9XG5cdH0sXG5cdGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChMaW5rLCB7XG5cdFx0dG86IFwiL1wiLFxuXHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KExvZ28sIHt9KVxuXHR9KSwgc2hvd1NlYXJjaCAmJiAvKiBAX19QVVJFX18gKi8ganN4KFNlYXJjaFdyYXBwZXIsIHtcblx0XHRcImRhdGEtdGVzdGlkXCI6IFwic2VhcmNoLWNvbnRhaW5lclwiLFxuXHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFNlYXJjaCwge30pXG5cdH0pXVxufSk7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IEhlYWRlckxlZnQgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1IZWFkZXJMZWZ0Lm1qcy5tYXAiLCJpbXBvcnQgTGFiZWwgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvTGFiZWwvTGFiZWwubWpzXCI7XG5pbXBvcnQgeyBHcmVldGluZ3MgfSBmcm9tIFwiLi9zdHlsZXMubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9pbmRleC5tanNcIjtcbmltcG9ydCB7IEZyYWdtZW50LCBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG4vLyNyZWdpb24gc3JjL3NlY3Rpb25zL0hlYWRlci9IZWFkZXJHcmVldGluZ3MudHN4XG52YXIgSGVhZGVyR3JlZXRpbmdzID0gKHsgdXNlcm5hbWUgfSkgPT4ge1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhGcmFnbWVudCwgeyBjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goR3JlZXRpbmdzLCB7IGNoaWxkcmVuOiB0KFwiaGVhZGVyLmdyZWV0aW5nc1wiKSB9KSwgLyogQF9fUFVSRV9fICovIGpzeChMYWJlbCwge1xuXHRcdFwiZGF0YS10ZXN0aWRcIjogXCJncmVldGluZ3MtbGFiZWxcIixcblx0XHR0ZXh0OiB1c2VybmFtZSxcblx0XHR3ZWlnaHQ6IFwiYm9sZFwiXG5cdH0pXSB9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IEhlYWRlckdyZWV0aW5ncyBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUhlYWRlckdyZWV0aW5ncy5tanMubWFwIiwiaW1wb3J0IE1lbnVJdGVtIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL01lbnVJdGVtL01lbnVJdGVtLm1qc1wiO1xuaW1wb3J0IEhlYWRlckdyZWV0aW5ncyBmcm9tIFwiLi9IZWFkZXJHcmVldGluZ3MubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9pbmRleC5tanNcIjtcbmltcG9ydCB7IEZyYWdtZW50LCBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBJY29uQnV0dG9uIGZyb20gXCJAbXVpL21hdGVyaWFsL0ljb25CdXR0b25cIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgTWVudSBmcm9tIFwiQG11aS9tYXRlcmlhbC9NZW51XCI7XG5pbXBvcnQgQWNjb3VudENpcmNsZSBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9BY2NvdW50Q2lyY2xlXCI7XG4vLyNyZWdpb24gc3JjL3NlY3Rpb25zL0hlYWRlci9IZWFkZXJNZW51LnRzeFxudmFyIEhlYWRlck1lbnUgPSAoeyBvbkxvZ291dCwgdXNlcm5hbWUsIGlzTWVudU9wZW4gPSBmYWxzZSwgYW5jaG9yRWwsIG9uTG9nZ2VkSW5NZW51LCBvbkxvZ2dlZEluTWVudUNsb3NlIH0pID0+IHtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoRnJhZ21lbnQsIHsgY2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KEljb25CdXR0b24sIHtcblx0XHRjb2xvcjogXCJpbmhlcml0XCIsXG5cdFx0XCJkYXRhLXRlc3RpZFwiOiBcImxvZ0luRGlhbG9nSWNvblwiLFxuXHRcdGlkOiBcImhlYWRlci0tYnV0dG9uLWFjY291bnRcIixcblx0XHRvbkNsaWNrOiBvbkxvZ2dlZEluTWVudSxcblx0XHRzaXplOiBcImxhcmdlXCIsXG5cdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goQWNjb3VudENpcmNsZSwge30pXG5cdH0pLCAvKiBAX19QVVJFX18gKi8ganN4cyhNZW51LCB7XG5cdFx0YW5jaG9yRWwsXG5cdFx0b25DbG9zZTogb25Mb2dnZWRJbk1lbnVDbG9zZSxcblx0XHRvcGVuOiBpc01lbnVPcGVuLFxuXHRcdHNsb3RQcm9wczogeyByb290OiB7XG5cdFx0XHRhbmNob3JPcmlnaW46IHtcblx0XHRcdFx0dmVydGljYWw6IFwiYm90dG9tXCIsXG5cdFx0XHRcdGhvcml6b250YWw6IFwicmlnaHRcIlxuXHRcdFx0fSxcblx0XHRcdHRyYW5zZm9ybU9yaWdpbjoge1xuXHRcdFx0XHR2ZXJ0aWNhbDogXCJ0b3BcIixcblx0XHRcdFx0aG9yaXpvbnRhbDogXCJyaWdodFwiXG5cdFx0XHR9XG5cdFx0fSB9LFxuXHRcdGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChNZW51SXRlbSwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChIZWFkZXJHcmVldGluZ3MsIHsgdXNlcm5hbWUgfSkgfSksIC8qIEBfX1BVUkVfXyAqLyBqc3goTWVudUl0ZW0sIHtcblx0XHRcdFwiZGF0YS10ZXN0aWRcIjogXCJsb2dPdXREaWFsb2dJY29uXCIsXG5cdFx0XHRpZDogXCJsb2dPdXREaWFsb2dJY29uXCIsXG5cdFx0XHRvbkNsaWNrOiBvbkxvZ291dCxcblx0XHRcdGNoaWxkcmVuOiB0KFwiYnV0dG9uLmxvZ291dFwiKVxuXHRcdH0pXVxuXHR9KV0gfSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBIZWFkZXJNZW51IGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9SGVhZGVyTWVudS5tanMubWFwIiwiaW1wb3J0IHsgSWNvblNlYXJjaEJ1dHRvbiwgSW5mb0J1dHRvbiwgU2V0dGluZ3NCdXR0b20sIFN3aXRjaFRoZW1lQnV0dG9uIH0gZnJvbSBcIi4vc3R5bGVzLm1qc1wiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IFNldHRpbmdzIGZyb20gXCJAbXVpL2ljb25zLW1hdGVyaWFsL1NldHRpbmdzXCI7XG5pbXBvcnQgU2VhcmNoTXVpIGZyb20gXCJAbXVpL2ljb25zLW1hdGVyaWFsL1NlYXJjaFwiO1xuaW1wb3J0IEluZm8gZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvSW5mb1wiO1xuaW1wb3J0IE5pZ2h0c1N0YXkgZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvTmlnaHRzU3RheVwiO1xuaW1wb3J0IFdiU3VubnkgZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvV2JTdW5ueVwiO1xuLy8jcmVnaW9uIHNyYy9zZWN0aW9ucy9IZWFkZXIvSGVhZGVyVG9vbFRpcEljb24udHN4XG52YXIgSGVhZGVyVG9vbFRpcEljb24gPSBmdW5jdGlvbiBIZWFkZXJUb29sVGlwSWNvbih7IHJlZiwgdG9vbHRpcEljb25UeXBlLCBvbkNsaWNrIH0pIHtcblx0c3dpdGNoICh0b29sdGlwSWNvblR5cGUpIHtcblx0XHRjYXNlIFwiaW5mb1wiOiByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChJbmZvQnV0dG9uLCB7XG5cdFx0XHRjb2xvcjogXCJpbmhlcml0XCIsXG5cdFx0XHRcImRhdGEtdGVzdGlkXCI6IFwiaGVhZGVyLS10b29sdGlwLWluZm9cIixcblx0XHRcdGlkOiBcImhlYWRlci0tYnV0dG9uLXJlZ2lzdHJ5SW5mb1wiLFxuXHRcdFx0b25DbGljayxcblx0XHRcdHJlZixcblx0XHRcdHNpemU6IFwibGFyZ2VcIixcblx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEluZm8sIHt9KVxuXHRcdH0pO1xuXHRcdGNhc2UgXCJzZXR0aW5nc1wiOiByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTZXR0aW5nc0J1dHRvbSwge1xuXHRcdFx0Y29sb3I6IFwiaW5oZXJpdFwiLFxuXHRcdFx0XCJkYXRhLXRlc3RpZFwiOiBcImhlYWRlci0tdG9vbHRpcC1zZXR0aW5nc1wiLFxuXHRcdFx0aWQ6IFwiaGVhZGVyLS1idXR0b24tc2V0dGluZ3NcIixcblx0XHRcdG9uQ2xpY2ssXG5cdFx0XHRyZWYsXG5cdFx0XHRzaXplOiBcImxhcmdlXCIsXG5cdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChTZXR0aW5ncywge30pXG5cdFx0fSk7XG5cdFx0Y2FzZSBcInNlYXJjaFwiOiByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChJY29uU2VhcmNoQnV0dG9uLCB7XG5cdFx0XHRjb2xvcjogXCJpbmhlcml0XCIsXG5cdFx0XHRvbkNsaWNrLFxuXHRcdFx0cmVmLFxuXHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goU2VhcmNoTXVpLCB7fSlcblx0XHR9KTtcblx0XHRjYXNlIFwiZGFyay1tb2RlXCI6IHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFN3aXRjaFRoZW1lQnV0dG9uLCB7XG5cdFx0XHRjb2xvcjogXCJpbmhlcml0XCIsXG5cdFx0XHRcImRhdGEtdGVzdGlkXCI6IFwiaGVhZGVyLS1idXR0b24tLWRhcmtcIixcblx0XHRcdG9uQ2xpY2ssXG5cdFx0XHRyZWYsXG5cdFx0XHRzaXplOiBcImxhcmdlXCIsXG5cdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChOaWdodHNTdGF5LCB7fSlcblx0XHR9KTtcblx0XHRjYXNlIFwibGlnaHQtbW9kZVwiOiByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTd2l0Y2hUaGVtZUJ1dHRvbiwge1xuXHRcdFx0Y29sb3I6IFwiaW5oZXJpdFwiLFxuXHRcdFx0XCJkYXRhLXRlc3RpZFwiOiBcImhlYWRlci0tYnV0dG9uLS1saWdodFwiLFxuXHRcdFx0b25DbGljayxcblx0XHRcdHJlZixcblx0XHRcdHNpemU6IFwibGFyZ2VcIixcblx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFdiU3VubnksIHt9KVxuXHRcdH0pO1xuXHRcdGRlZmF1bHQ6IHJldHVybiBudWxsO1xuXHR9XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBIZWFkZXJUb29sVGlwSWNvbiBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUhlYWRlclRvb2xUaXBJY29uLm1qcy5tYXAiLCJpbXBvcnQgSGVhZGVyVG9vbFRpcEljb24gZnJvbSBcIi4vSGVhZGVyVG9vbFRpcEljb24ubWpzXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG4vLyNyZWdpb24gc3JjL3NlY3Rpb25zL0hlYWRlci9IZWFkZXJUb29sVGlwLnRzeFxudmFyIEhlYWRlclRvb2xUaXAgPSAoeyB0b29sdGlwSWNvblR5cGUsIG9uQ2xpY2sgfSkgPT4gLyogQF9fUFVSRV9fICovIGpzeChIZWFkZXJUb29sVGlwSWNvbiwge1xuXHRvbkNsaWNrLFxuXHR0b29sdGlwSWNvblR5cGVcbn0pO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBIZWFkZXJUb29sVGlwIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9SGVhZGVyVG9vbFRpcC5tanMubWFwIiwiaW1wb3J0IEhlYWRlck1lbnUgZnJvbSBcIi4vSGVhZGVyTWVudS5tanNcIjtcbmltcG9ydCBIZWFkZXJUb29sVGlwIGZyb20gXCIuL0hlYWRlclRvb2xUaXAubWpzXCI7XG5pbXBvcnQgeyB1c2VDdXN0b21UaGVtZSB9IGZyb20gXCIuLi8uLi9UaGVtZS9UaGVtZVByb3ZpZGVyLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBGcmFnbWVudCwganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgQnV0dG9uIGZyb20gXCJAbXVpL21hdGVyaWFsL0J1dHRvblwiO1xuaW1wb3J0IFRvb2xiYXIgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvVG9vbGJhclwiO1xuLy8jcmVnaW9uIHNyYy9zZWN0aW9ucy9IZWFkZXIvSGVhZGVyUmlnaHQudHN4XG52YXIgSGVhZGVyUmlnaHQgPSAoeyBzaG93U2VhcmNoLCB1c2VybmFtZSwgb25Ub2dnbGVMb2dpbiwgaGFzTG9naW4sIHNob3dJbmZvLCBzaG93U2V0dGluZ3MsIHNob3dUaGVtZVN3aXRjaCwgb25Mb2dvdXQsIG9uVG9nZ2xlTW9iaWxlTmF2LCBvbk9wZW5SZWdpc3RyeUluZm9EaWFsb2csIG9uT3BlblNldHRpbmdzRGlhbG9nIH0pID0+IHtcblx0Y29uc3QgeyBpc0RhcmtNb2RlLCBzZXRJc0RhcmtNb2RlIH0gPSB1c2VDdXN0b21UaGVtZSgpO1xuXHRjb25zdCBbYW5jaG9yRWwsIHNldEFuY2hvckVsXSA9IHVzZVN0YXRlKG51bGwpO1xuXHRjb25zdCBbaXNNZW51T3Blbiwgc2V0SXNNZW51T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cdGNvbnN0IGhpZGVMb2dpblNlY3Rpb24gPSBoYXNMb2dpbiA9PT0gZmFsc2U7XG5cdGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRzZXRJc01lbnVPcGVuKEJvb2xlYW4oYW5jaG9yRWwpKTtcblx0fSwgW2FuY2hvckVsXSk7XG5cdC8qKlxuXHQqIG9wZW5zIHBvcG92ZXIgbWVudSBmb3IgbG9nZ2VkIGluIHVzZXIuXG5cdCovXG5cdGNvbnN0IGhhbmRsZUxvZ2dlZEluTWVudSA9IChldmVudCkgPT4ge1xuXHRcdHNldEFuY2hvckVsKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuXHR9O1xuXHQvKipcblx0KiBjbG9zZXMgcG9wb3ZlciBtZW51IGZvciBsb2dnZWQgaW4gdXNlclxuXHQqL1xuXHRjb25zdCBoYW5kbGVMb2dnZWRJbk1lbnVDbG9zZSA9ICgpID0+IHtcblx0XHRzZXRBbmNob3JFbChudWxsKTtcblx0fTtcblx0LyoqXG5cdCogY2xvc2Uvb3BlbiBwb3BvdmVyIG1lbnUgZm9yIGxvZ2dlZCBpbiB1c2Vycy5cblx0Ki9cblx0Y29uc3QgaGFuZGxlVG9nZ2xlTG9naW4gPSAoKSA9PiB7XG5cdFx0c2V0QW5jaG9yRWwobnVsbCk7XG5cdFx0b25Ub2dnbGVMb2dpbigpO1xuXHR9O1xuXHRjb25zdCBoYW5kbGVUb2dnbGVEYXJrTGlnaHRNb2RlID0gKCkgPT4ge1xuXHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0c2V0SXNEYXJrTW9kZSghaXNEYXJrTW9kZSk7XG5cdFx0fSwgMzAwKTtcblx0fTtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKFRvb2xiYXIsIHtcblx0XHRcImRhdGEtdGVzdGlkXCI6IFwiaGVhZGVyLXJpZ2h0XCIsXG5cdFx0c3g6IHtcblx0XHRcdGRpc3BsYXk6IFwiZmxleFwiLFxuXHRcdFx0cGFkZGluZzogMCxcblx0XHRcdG1hcmdpblJpZ2h0OiAwLFxuXHRcdFx0XCJAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpXCI6IHtcblx0XHRcdFx0cGFkZGluZzogMCxcblx0XHRcdFx0bWFyZ2luUmlnaHQ6IDBcblx0XHRcdH1cblx0XHR9LFxuXHRcdGNoaWxkcmVuOiBbXG5cdFx0XHRzaG93U2VhcmNoID09PSB0cnVlICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goSGVhZGVyVG9vbFRpcCwge1xuXHRcdFx0XHRvbkNsaWNrOiBvblRvZ2dsZU1vYmlsZU5hdixcblx0XHRcdFx0dGl0bGU6IHQoXCJzZWFyY2gucGFja2FnZXNcIiksXG5cdFx0XHRcdHRvb2x0aXBJY29uVHlwZTogXCJzZWFyY2hcIlxuXHRcdFx0fSksXG5cdFx0XHRzaG93U2V0dGluZ3MgPT09IHRydWUgJiYgLyogQF9fUFVSRV9fICovIGpzeChIZWFkZXJUb29sVGlwLCB7XG5cdFx0XHRcdG9uQ2xpY2s6IG9uT3BlblNldHRpbmdzRGlhbG9nLFxuXHRcdFx0XHR0aXRsZTogdChcImhlYWRlci5zZXR0aW5nc1wiKSxcblx0XHRcdFx0dG9vbHRpcEljb25UeXBlOiBcInNldHRpbmdzXCJcblx0XHRcdH0pLFxuXHRcdFx0c2hvd0luZm8gPT09IHRydWUgJiYgLyogQF9fUFVSRV9fICovIGpzeChIZWFkZXJUb29sVGlwLCB7XG5cdFx0XHRcdG9uQ2xpY2s6IG9uT3BlblJlZ2lzdHJ5SW5mb0RpYWxvZyxcblx0XHRcdFx0dGl0bGU6IHQoXCJoZWFkZXIucmVnaXN0cnktaW5mb1wiKSxcblx0XHRcdFx0dG9vbHRpcEljb25UeXBlOiBcImluZm9cIlxuXHRcdFx0fSksXG5cdFx0XHRzaG93VGhlbWVTd2l0Y2ggPT09IHRydWUgJiYgLyogQF9fUFVSRV9fICovIGpzeChIZWFkZXJUb29sVGlwLCB7XG5cdFx0XHRcdG9uQ2xpY2s6IGhhbmRsZVRvZ2dsZURhcmtMaWdodE1vZGUsXG5cdFx0XHRcdHRpdGxlOiB0KFwiaGVhZGVyLmRvY3VtZW50YXRpb25cIiksXG5cdFx0XHRcdHRvb2x0aXBJY29uVHlwZTogaXNEYXJrTW9kZSA/IFwiZGFyay1tb2RlXCIgOiBcImxpZ2h0LW1vZGVcIlxuXHRcdFx0fSksXG5cdFx0XHQhaGlkZUxvZ2luU2VjdGlvbiAmJiAvKiBAX19QVVJFX18gKi8ganN4KEZyYWdtZW50LCB7IGNoaWxkcmVuOiB1c2VybmFtZSA/IC8qIEBfX1BVUkVfXyAqLyBqc3goSGVhZGVyTWVudSwge1xuXHRcdFx0XHRhbmNob3JFbCxcblx0XHRcdFx0aXNNZW51T3Blbixcblx0XHRcdFx0b25Mb2dnZWRJbk1lbnU6IGhhbmRsZUxvZ2dlZEluTWVudSxcblx0XHRcdFx0b25Mb2dnZWRJbk1lbnVDbG9zZTogaGFuZGxlTG9nZ2VkSW5NZW51Q2xvc2UsXG5cdFx0XHRcdG9uTG9nb3V0LFxuXHRcdFx0XHR1c2VybmFtZVxuXHRcdFx0fSkgOiAvKiBAX19QVVJFX18gKi8ganN4KEJ1dHRvbiwge1xuXHRcdFx0XHRjb2xvcjogXCJpbmhlcml0XCIsXG5cdFx0XHRcdFwiZGF0YS10ZXN0aWRcIjogXCJoZWFkZXItLWJ1dHRvbi1sb2dpblwiLFxuXHRcdFx0XHRvbkNsaWNrOiBoYW5kbGVUb2dnbGVMb2dpbixcblx0XHRcdFx0Y2hpbGRyZW46IHQoXCJidXR0b24ubG9naW5cIilcblx0XHRcdH0pIH0pXG5cdFx0XVxuXHR9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IEhlYWRlclJpZ2h0IGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9SGVhZGVyUmlnaHQubWpzLm1hcCIsImltcG9ydCB7IHVzZUxhbmd1YWdlIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9UcmFuc2xhdG9yUHJvdmlkZXIvVHJhbnNsYXRvclByb3ZpZGVyLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vaW5kZXgubWpzXCI7XG5pbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbmltcG9ydCB7IEZyYWdtZW50LCBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGkxOG5leHQgZnJvbSBcImkxOG5leHRcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCBUeXBvZ3JhcGh5IGZyb20gXCJAbXVpL21hdGVyaWFsL1R5cG9ncmFwaHlcIjtcbmltcG9ydCBDYXJkIGZyb20gXCJAbXVpL21hdGVyaWFsL0NhcmRcIjtcbmltcG9ydCBDYXJkQ29udGVudCBmcm9tIFwiQG11aS9tYXRlcmlhbC9DYXJkQ29udGVudFwiO1xuaW1wb3J0IEdyaWQgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvR3JpZFwiO1xuLy8jcmVnaW9uIHNyYy9zZWN0aW9ucy9IZWFkZXIvTGFuZ3VhZ2VTd2l0Y2gudHN4XG52YXIgQ2FyZFNlbGVjdGVkID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoQ2FyZCwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTFwcmx0cGQxXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxcHJsdHBkMVwiLFxuXHRsYWJlbDogXCJDYXJkU2VsZWN0ZWRcIlxufSkoKHsgdGhlbWUgfSkgPT4ge1xuXHRyZXR1cm4ge1xuXHRcdGJhY2tncm91bmRDb2xvcjogdGhlbWUucGFsZXR0ZS5ncmV5W1wiNjAwXCJdLFxuXHRcdG9wYWNpdHk6IFwiMC45XCIsXG5cdFx0Y29sb3I6IHRoZW1lLnBhbGV0dGUuZXJyb3IuY29udHJhc3RUZXh0LFxuXHRcdGZvbnRXZWlnaHQ6IFwiYm9sZFwiXG5cdH07XG59LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12U0dWaFpHVnlMMHhoYm1kMVlXZGxVM2RwZEdOb0xuUnplQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZaTkVJaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OXpaV04wYVc5dWN5OUlaV0ZrWlhJdlRHRnVaM1ZoWjJWVGQybDBZMmd1ZEhONElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElITjBlV3hsWkNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl6ZEhsc1pXUW5PMXh1YVcxd2IzSjBJRU5oY21RZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOURZWEprSnp0Y2JtbHRjRzl5ZENCRFlYSmtRMjl1ZEdWdWRDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMME5oY21SRGIyNTBaVzUwSnp0Y2JtbHRjRzl5ZENCSGNtbGtJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UjNKcFpDYzdYRzVwYlhCdmNuUWdWSGx3YjJkeVlYQm9lU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDFSNWNHOW5jbUZ3YUhrbk8xeHVhVzF3YjNKMElHa3hPRzVsZUhRZ1puSnZiU0FuYVRFNGJtVjRkQ2M3WEc1cGJYQnZjblFnVW1WaFkzUXNJSHNnZFhObFEyRnNiR0poWTJzc0lIVnpaVk4wWVhSbElIMGdabkp2YlNBbmNtVmhZM1FuTzF4dWFXMXdiM0owSUhzZ2RYTmxWSEpoYm5Oc1lYUnBiMjRnZlNCbWNtOXRJQ2R5WldGamRDMXBNVGh1WlhoMEp6dGNibHh1YVcxd2IzSjBJSFI1Y0dVZ2V5QlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMeWM3WEc1cGJYQnZjblFnZXlCMWMyVk1ZVzVuZFdGblpTQjlJR1p5YjIwZ0p5NHVMeTR1THljN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCRFlYSmtVMlZzWldOMFpXUWdQU0J6ZEhsc1pXUW9RMkZ5WkNrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUh0Y2JpQWdjbVYwZFhKdUlIdGNiaUFnSUNCaVlXTnJaM0p2ZFc1a1EyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXVaM0psZVZzbk5qQXdKMTBzWEc0Z0lDQWdiM0JoWTJsMGVUb2dKekF1T1Njc1hHNGdJQ0FnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdVpYSnliM0l1WTI5dWRISmhjM1JVWlhoMExGeHVJQ0FnSUdadmJuUlhaV2xuYUhRNklDZGliMnhrSnl4Y2JpQWdmVHRjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1EyRnlaRlZ1VTJWc1pXTjBaV1FnUFNCemRIbHNaV1FvUTJGeVpDazhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lIdGNiaUFnY21WMGRYSnVJSHRjYmlBZ0lDQmpkWEp6YjNJNklDZHdiMmx1ZEdWeUp5eGNiaUFnSUNBbk9taHZkbVZ5SnpvZ2UxeHVJQ0FnSUNBZ1ltRmphMmR5YjNWdVpFTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMbWR5WlhsSFlXbHVjMkp2Y204c1hHNGdJQ0FnZlN4Y2JpQWdmVHRjYm4wcE8xeHVYRzVqYjI1emRDQk1ZVzVuZFdGblpVTnZiblJsYm5RZ1BTQW9leUIwY21GdWMyeGhkR2x2Yml3Z2FXTnZiaUI5S1NBOVBpQW9YRzRnSUR3K1hHNGdJQ0FnUEVOaGNtUkRiMjUwWlc1MFBseHVJQ0FnSUNBZ1BGUjVjRzluY21Gd2FIa2daR2x6Y0d4aGVUMWNJbUpzYjJOclhDSWdaM1YwZEdWeVFtOTBkRzl0UFh0MGNuVmxmU0IyWVhKcFlXNTBQVndpWTJGd2RHbHZibHdpUGx4dUlDQWdJQ0FnSUNCN2RISmhibk5zWVhScGIyNTlYRzRnSUNBZ0lDQThMMVI1Y0c5bmNtRndhSGsrWEc0Z0lDQWdQQzlEWVhKa1EyOXVkR1Z1ZEQ1Y2JpQWdJQ0E4UTJGeVpFTnZiblJsYm5RK2UybGpiMjU5UEM5RFlYSmtRMjl1ZEdWdWRENWNiaUFnUEM4K1hHNHBPMXh1WEc1amIyNXpkQ0JNWVc1bmRXRm5aVk4zYVhSamFDQTlJQ2dwSUQwK0lIdGNiaUFnWTI5dWMzUWdleUJzWVc1bmRXRm5aU3dnYzJWMFRHRnVaM1ZoWjJVc0lHeHBjM1JNWVc1bmRXRm5aWE1nZlNBOUlIVnpaVXhoYm1kMVlXZGxLQ2s3WEc0Z0lHTnZibk4wSUd4cGMzUkRiMjUyWlhKMFpXUWdQU0JzYVhOMFRHRnVaM1ZoWjJWekxuSmxaSFZqWlNoY2JpQWdJQ0FvY0hKbGRpd2dhWFJsYlNrZ1BUNGdlMXh1SUNBZ0lDQWdjSEpsZGx0cGRHVnRMbXh1WjEwZ1BTQjdYRzRnSUNBZ0lDQWdJSFJ5WVc1emJHRjBhVzl1T2lCcGRHVnRMbTFsYm5WTFpYa3NYRzRnSUNBZ0lDQWdJR2xqYjI0NklHbDBaVzB1YVdOdmJpeGNiaUFnSUNBZ0lIMDdYRzRnSUNBZ0lDQnlaWFIxY200Z2NISmxkanRjYmlBZ0lDQjlMRnh1SUNBZ0lIdDlJR0Z6SUZKbFkyOXlaRHh6ZEhKcGJtY3NJSHNnZEhKaGJuTnNZWFJwYjI0NklITjBjbWx1WnpzZ2FXTnZiam9nWVc1NUlIMCtYRzRnSUNrN1hHNWNiaUFnWTI5dWMzUWdXMnhoYm1kMVlXZGxjMTBnUFNCMWMyVlRkR0YwWlR4emRISnBibWRiWFQ0b1QySnFaV04wTG10bGVYTW9hVEU0Ym1WNGRDNXZjSFJwYjI1elB5NXlaWE52ZFhKalpYTWdmSHdnZTMwcEtUdGNiaUFnWTI5dWMzUWdleUIwSUgwZ1BTQjFjMlZVY21GdWMyeGhkR2x2YmlncE8xeHVJQ0JqYjI1emRDQmpkWEp5Wlc1MFRHRnVaM1ZoWjJVZ1BTQnNZVzVuZFdGblpUdGNiaUFnWTI5dWMzUWdaMlYwUTNWeWNtVnVkRXh1WjBSbGRHRnBiSE1nUFNCMWMyVkRZV3hzWW1GamF5aGNiaUFnSUNBb2JHRnVaM1ZoWjJVNklITjBjbWx1WnlrZ1BUNGdlMXh1SUNBZ0lDQWdZMjl1YzNRZ2JHNW5JRDBnYkdsemRFTnZiblpsY25SbFpGdHNZVzVuZFdGblpWMGdmSHdnYkdsemRFTnZiblpsY25SbFpGc25aVzR0VlZNblhUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lHbGpiMjQ2SUR4c2JtY3VhV052YmlBdlBpeGNiaUFnSUNBZ0lDQWdkSEpoYm5Oc1lYUnBiMjQ2SUhRb2JHNW5MblJ5WVc1emJHRjBhVzl1S1N4Y2JpQWdJQ0FnSUgwN1hHNGdJQ0FnZlN4Y2JpQWdJQ0JiYkdsemRFTnZiblpsY25SbFpDd2dkRjFjYmlBZ0tUdGNiaUFnWTI5dWMzUWdhR0Z1Wkd4bFEyaGhibWRsVEdGdVozVmhaMlVnUFNCMWMyVkRZV3hzWW1GamF5aGNiaUFnSUNBb2JHRnVaM1ZoWjJVNklITjBjbWx1WnlrZ1BUNGdlMXh1SUNBZ0lDQWdjMlYwVEdGdVozVmhaMlVvYkdGdVozVmhaMlVwTzF4dUlDQWdJSDBzWEc0Z0lDQWdXM05sZEV4aGJtZDFZV2RsWFZ4dUlDQXBPMXh1WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEdScGRqNWNiaUFnSUNBZ0lEeEhjbWxrSUdOdmJIVnRibk05ZTNzZ2VITTZJREV5TENCemJUb2dNVElzSUcxa09pQXhNaUI5ZlNCamIyNTBZV2x1WlhJOWUzUnlkV1Y5SUhOd1lXTnBibWM5ZTNzZ2VITTZJREVzSUcxa09pQXhJSDE5UGx4dUlDQWdJQ0FnSUNCN2JHRnVaM1ZoWjJWekxtMWhjQ2dvYkdGdVozVmhaMlVzSUdsdVpHVjRLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2V5QnBZMjl1TENCMGNtRnVjMnhoZEdsdmJpQjlJRDBnWjJWMFEzVnljbVZ1ZEV4dVowUmxkR0ZwYkhNb2JHRnVaM1ZoWjJVcE8xeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQW9YRzRnSUNBZ0lDQWdJQ0FnSUNBOFIzSnBaQ0JyWlhrOWUybHVaR1Y0ZlNCemFYcGxQWHQ3SUhOdE9pQXlMQ0I0Y3pvZ05pQjlmVDVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdlMnhoYm1kMVlXZGxJRDA5UFNCamRYSnlaVzUwVEdGdVozVmhaMlVnUHlBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BFTmhjbVJUWld4bFkzUmxaQ0J6ZUQxN2V5QnRZWGhYYVdSMGFEb2dPREFnZlgwK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThUR0Z1WjNWaFoyVkRiMjUwWlc1MElHbGpiMjQ5ZTJsamIyNTlJSFJ5WVc1emJHRjBhVzl1UFh0MGNtRnVjMnhoZEdsdmJuMGdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDBOaGNtUlRaV3hsWTNSbFpENWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0tTQTZJQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4UTJGeVpGVnVVMlZzWldOMFpXUWdiMjVEYkdsamF6MTdLQ2tnUFQ0Z2FHRnVaR3hsUTJoaGJtZGxUR0Z1WjNWaFoyVW9iR0Z1WjNWaFoyVXBmVDVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4TVlXNW5kV0ZuWlVOdmJuUmxiblFnYVdOdmJqMTdhV052Ym4wZ2RISmhibk5zWVhScGIyNDllM1J5WVc1emJHRjBhVzl1ZlNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZRMkZ5WkZWdVUyVnNaV04wWldRK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNsOVhHNGdJQ0FnSUNBZ0lDQWdJQ0E4TDBkeWFXUStYRzRnSUNBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUNBZ2ZTbDlYRzRnSUNBZ0lDQThMMGR5YVdRK1hHNGdJQ0FnUEM5a2FYWStYRzRnSUNrN1hHNTlPMXh1WEc1bGVIQnZjblFnWkdWbVlYVnNkQ0JNWVc1bmRXRm5aVk4zYVhSamFEdGNiaUpkZlE9PSAqL1wiKTtcbnZhciBDYXJkVW5TZWxlY3RlZCA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKENhcmQsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxcHJsdHBkMFwiIH0gOiB7XG5cdHRhcmdldDogXCJlMXBybHRwZDBcIixcblx0bGFiZWw6IFwiQ2FyZFVuU2VsZWN0ZWRcIlxufSkoKHsgdGhlbWUgfSkgPT4ge1xuXHRyZXR1cm4ge1xuXHRcdGN1cnNvcjogXCJwb2ludGVyXCIsXG5cdFx0XCI6aG92ZXJcIjogeyBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUuZ3JleUdhaW5zYm9ybyB9XG5cdH07XG59LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12U0dWaFpHVnlMMHhoYm1kMVlXZGxVM2RwZEdOb0xuUnplQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZ4UWpoQ0lpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwweGhibWQxWVdkbFUzZHBkR05vTG5SemVDSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYm1sdGNHOXlkQ0JEWVhKa0lHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZRMkZ5WkNjN1hHNXBiWEJ2Y25RZ1EyRnlaRU52Ym5SbGJuUWdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlEWVhKa1EyOXVkR1Z1ZENjN1hHNXBiWEJ2Y25RZ1IzSnBaQ0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBkeWFXUW5PMXh1YVcxd2IzSjBJRlI1Y0c5bmNtRndhSGtnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5VWVYQnZaM0poY0doNUp6dGNibWx0Y0c5eWRDQnBNVGh1WlhoMElHWnliMjBnSjJreE9HNWxlSFFuTzF4dWFXMXdiM0owSUZKbFlXTjBMQ0I3SUhWelpVTmhiR3hpWVdOckxDQjFjMlZUZEdGMFpTQjlJR1p5YjIwZ0ozSmxZV04wSnp0Y2JtbHRjRzl5ZENCN0lIVnpaVlJ5WVc1emJHRjBhVzl1SUgwZ1puSnZiU0FuY21WaFkzUXRhVEU0Ym1WNGRDYzdYRzVjYm1sdGNHOXlkQ0IwZVhCbElIc2dWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaThuTzF4dWFXMXdiM0owSUhzZ2RYTmxUR0Z1WjNWaFoyVWdmU0JtY205dElDY3VMaTh1TGk4bk8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1EyRnlaRk5sYkdWamRHVmtJRDBnYzNSNWJHVmtLRU5oY21RcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlCN1hHNGdJSEpsZEhWeWJpQjdYRzRnSUNBZ1ltRmphMmR5YjNWdVpFTnZiRzl5T2lCMGFHVnRaUzV3WVd4bGRIUmxMbWR5WlhsYkp6WXdNQ2RkTEZ4dUlDQWdJRzl3WVdOcGRIazZJQ2N3TGprbkxGeHVJQ0FnSUdOdmJHOXlPaUIwYUdWdFpTNXdZV3hsZEhSbExtVnljbTl5TG1OdmJuUnlZWE4wVkdWNGRDeGNiaUFnSUNCbWIyNTBWMlZwWjJoME9pQW5ZbTlzWkNjc1hHNGdJSDA3WEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFTmhjbVJWYmxObGJHVmpkR1ZrSUQwZ2MzUjViR1ZrS0VOaGNtUXBQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQjdYRzRnSUhKbGRIVnliaUI3WEc0Z0lDQWdZM1Z5YzI5eU9pQW5jRzlwYm5SbGNpY3NYRzRnSUNBZ0p6cG9iM1psY2ljNklIdGNiaUFnSUNBZ0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ2RHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVIyRnBibk5pYjNKdkxGeHVJQ0FnSUgwc1hHNGdJSDA3WEc1OUtUdGNibHh1WTI5dWMzUWdUR0Z1WjNWaFoyVkRiMjUwWlc1MElEMGdLSHNnZEhKaGJuTnNZWFJwYjI0c0lHbGpiMjRnZlNrZ1BUNGdLRnh1SUNBOFBseHVJQ0FnSUR4RFlYSmtRMjl1ZEdWdWRENWNiaUFnSUNBZ0lEeFVlWEJ2WjNKaGNHaDVJR1JwYzNCc1lYazlYQ0ppYkc5amExd2lJR2QxZEhSbGNrSnZkSFJ2YlQxN2RISjFaWDBnZG1GeWFXRnVkRDFjSW1OaGNIUnBiMjVjSWo1Y2JpQWdJQ0FnSUNBZ2UzUnlZVzV6YkdGMGFXOXVmVnh1SUNBZ0lDQWdQQzlVZVhCdlozSmhjR2g1UGx4dUlDQWdJRHd2UTJGeVpFTnZiblJsYm5RK1hHNGdJQ0FnUEVOaGNtUkRiMjUwWlc1MFBudHBZMjl1ZlR3dlEyRnlaRU52Ym5SbGJuUStYRzRnSUR3dlBseHVLVHRjYmx4dVkyOXVjM1FnVEdGdVozVmhaMlZUZDJsMFkyZ2dQU0FvS1NBOVBpQjdYRzRnSUdOdmJuTjBJSHNnYkdGdVozVmhaMlVzSUhObGRFeGhibWQxWVdkbExDQnNhWE4wVEdGdVozVmhaMlZ6SUgwZ1BTQjFjMlZNWVc1bmRXRm5aU2dwTzF4dUlDQmpiMjV6ZENCc2FYTjBRMjl1ZG1WeWRHVmtJRDBnYkdsemRFeGhibWQxWVdkbGN5NXlaV1IxWTJVb1hHNGdJQ0FnS0hCeVpYWXNJR2wwWlcwcElEMCtJSHRjYmlBZ0lDQWdJSEJ5WlhaYmFYUmxiUzVzYm1kZElEMGdlMXh1SUNBZ0lDQWdJQ0IwY21GdWMyeGhkR2x2YmpvZ2FYUmxiUzV0Wlc1MVMyVjVMRnh1SUNBZ0lDQWdJQ0JwWTI5dU9pQnBkR1Z0TG1samIyNHNYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIQnlaWFk3WEc0Z0lDQWdmU3hjYmlBZ0lDQjdmU0JoY3lCU1pXTnZjbVE4YzNSeWFXNW5MQ0I3SUhSeVlXNXpiR0YwYVc5dU9pQnpkSEpwYm1jN0lHbGpiMjQ2SUdGdWVTQjlQbHh1SUNBcE8xeHVYRzRnSUdOdmJuTjBJRnRzWVc1bmRXRm5aWE5kSUQwZ2RYTmxVM1JoZEdVOGMzUnlhVzVuVzEwK0tFOWlhbVZqZEM1clpYbHpLR2t4T0c1bGVIUXViM0IwYVc5dWN6OHVjbVZ6YjNWeVkyVnpJSHg4SUh0OUtTazdYRzRnSUdOdmJuTjBJSHNnZENCOUlEMGdkWE5sVkhKaGJuTnNZWFJwYjI0b0tUdGNiaUFnWTI5dWMzUWdZM1Z5Y21WdWRFeGhibWQxWVdkbElEMGdiR0Z1WjNWaFoyVTdYRzRnSUdOdmJuTjBJR2RsZEVOMWNuSmxiblJNYm1kRVpYUmhhV3h6SUQwZ2RYTmxRMkZzYkdKaFkyc29YRzRnSUNBZ0tHeGhibWQxWVdkbE9pQnpkSEpwYm1jcElEMCtJSHRjYmlBZ0lDQWdJR052Ym5OMElHeHVaeUE5SUd4cGMzUkRiMjUyWlhKMFpXUmJiR0Z1WjNWaFoyVmRJSHg4SUd4cGMzUkRiMjUyWlhKMFpXUmJKMlZ1TFZWVEoxMDdYRzRnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQnBZMjl1T2lBOGJHNW5MbWxqYjI0Z0x6NHNYRzRnSUNBZ0lDQWdJSFJ5WVc1emJHRjBhVzl1T2lCMEtHeHVaeTUwY21GdWMyeGhkR2x2Ymlrc1hHNGdJQ0FnSUNCOU8xeHVJQ0FnSUgwc1hHNGdJQ0FnVzJ4cGMzUkRiMjUyWlhKMFpXUXNJSFJkWEc0Z0lDazdYRzRnSUdOdmJuTjBJR2hoYm1Sc1pVTm9ZVzVuWlV4aGJtZDFZV2RsSUQwZ2RYTmxRMkZzYkdKaFkyc29YRzRnSUNBZ0tHeGhibWQxWVdkbE9pQnpkSEpwYm1jcElEMCtJSHRjYmlBZ0lDQWdJSE5sZEV4aGJtZDFZV2RsS0d4aGJtZDFZV2RsS1R0Y2JpQWdJQ0I5TEZ4dUlDQWdJRnR6WlhSTVlXNW5kV0ZuWlYxY2JpQWdLVHRjYmx4dUlDQnlaWFIxY200Z0tGeHVJQ0FnSUR4a2FYWStYRzRnSUNBZ0lDQThSM0pwWkNCamIyeDFiVzV6UFh0N0lIaHpPaUF4TWl3Z2MyMDZJREV5TENCdFpEb2dNVElnZlgwZ1kyOXVkR0ZwYm1WeVBYdDBjblZsZlNCemNHRmphVzVuUFh0N0lIaHpPaUF4TENCdFpEb2dNU0I5ZlQ1Y2JpQWdJQ0FnSUNBZ2UyeGhibWQxWVdkbGN5NXRZWEFvS0d4aGJtZDFZV2RsTENCcGJtUmxlQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQWdJR052Ym5OMElIc2dhV052Yml3Z2RISmhibk5zWVhScGIyNGdmU0E5SUdkbGRFTjFjbkpsYm5STWJtZEVaWFJoYVd4ektHeGhibWQxWVdkbEtUdGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lDQWdJQ0FnSUNBZ1BFZHlhV1FnYTJWNVBYdHBibVJsZUgwZ2MybDZaVDE3ZXlCemJUb2dNaXdnZUhNNklEWWdmWDArWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSHRzWVc1bmRXRm5aU0E5UFQwZ1kzVnljbVZ1ZEV4aGJtZDFZV2RsSUQ4Z0tGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeERZWEprVTJWc1pXTjBaV1FnYzNnOWUzc2diV0Y0VjJsa2RHZzZJRGd3SUgxOVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQRXhoYm1kMVlXZGxRMjl1ZEdWdWRDQnBZMjl1UFh0cFkyOXVmU0IwY21GdWMyeGhkR2x2YmoxN2RISmhibk5zWVhScGIyNTlJQzgrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5RFlYSmtVMlZzWldOMFpXUStYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDa2dPaUFvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVOaGNtUlZibE5sYkdWamRHVmtJRzl1UTJ4cFkyczlleWdwSUQwK0lHaGhibVJzWlVOb1lXNW5aVXhoYm1kMVlXZGxLR3hoYm1kMVlXZGxLWDArWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFRHRnVaM1ZoWjJWRGIyNTBaVzUwSUdsamIyNDllMmxqYjI1OUlIUnlZVzV6YkdGMGFXOXVQWHQwY21GdWMyeGhkR2x2Ym4wZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThMME5oY21SVmJsTmxiR1ZqZEdWa1BseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBcGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnUEM5SGNtbGtQbHh1SUNBZ0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNBZ0lIMHBmVnh1SUNBZ0lDQWdQQzlIY21sa1BseHVJQ0FnSUR3dlpHbDJQbHh1SUNBcE8xeHVmVHRjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnVEdGdVozVmhaMlZUZDJsMFkyZzdYRzRpWFgwPSAqL1wiKTtcbnZhciBMYW5ndWFnZUNvbnRlbnQgPSAoeyB0cmFuc2xhdGlvbiwgaWNvbiB9KSA9PiAvKiBAX19QVVJFX18gKi8ganN4cyhGcmFnbWVudCwgeyBjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goQ2FyZENvbnRlbnQsIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goVHlwb2dyYXBoeSwge1xuXHRkaXNwbGF5OiBcImJsb2NrXCIsXG5cdGd1dHRlckJvdHRvbTogdHJ1ZSxcblx0dmFyaWFudDogXCJjYXB0aW9uXCIsXG5cdGNoaWxkcmVuOiB0cmFuc2xhdGlvblxufSkgfSksIC8qIEBfX1BVUkVfXyAqLyBqc3goQ2FyZENvbnRlbnQsIHsgY2hpbGRyZW46IGljb24gfSldIH0pO1xudmFyIExhbmd1YWdlU3dpdGNoID0gKCkgPT4ge1xuXHRjb25zdCB7IGxhbmd1YWdlLCBzZXRMYW5ndWFnZSwgbGlzdExhbmd1YWdlcyB9ID0gdXNlTGFuZ3VhZ2UoKTtcblx0Y29uc3QgbGlzdENvbnZlcnRlZCA9IGxpc3RMYW5ndWFnZXMucmVkdWNlKChwcmV2LCBpdGVtKSA9PiB7XG5cdFx0cHJldltpdGVtLmxuZ10gPSB7XG5cdFx0XHR0cmFuc2xhdGlvbjogaXRlbS5tZW51S2V5LFxuXHRcdFx0aWNvbjogaXRlbS5pY29uXG5cdFx0fTtcblx0XHRyZXR1cm4gcHJldjtcblx0fSwge30pO1xuXHRjb25zdCBbbGFuZ3VhZ2VzXSA9IHVzZVN0YXRlKE9iamVjdC5rZXlzKGkxOG5leHQub3B0aW9ucz8ucmVzb3VyY2VzIHx8IHt9KSk7XG5cdGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcblx0Y29uc3QgY3VycmVudExhbmd1YWdlID0gbGFuZ3VhZ2U7XG5cdGNvbnN0IGdldEN1cnJlbnRMbmdEZXRhaWxzID0gdXNlQ2FsbGJhY2soKGxhbmd1YWdlKSA9PiB7XG5cdFx0Y29uc3QgbG5nID0gbGlzdENvbnZlcnRlZFtsYW5ndWFnZV0gfHwgbGlzdENvbnZlcnRlZFtcImVuLVVTXCJdO1xuXHRcdHJldHVybiB7XG5cdFx0XHRpY29uOiAvKiBAX19QVVJFX18gKi8ganN4KGxuZy5pY29uLCB7fSksXG5cdFx0XHR0cmFuc2xhdGlvbjogdChsbmcudHJhbnNsYXRpb24pXG5cdFx0fTtcblx0fSwgW2xpc3RDb252ZXJ0ZWQsIHRdKTtcblx0Y29uc3QgaGFuZGxlQ2hhbmdlTGFuZ3VhZ2UgPSB1c2VDYWxsYmFjaygobGFuZ3VhZ2UpID0+IHtcblx0XHRzZXRMYW5ndWFnZShsYW5ndWFnZSk7XG5cdH0sIFtzZXRMYW5ndWFnZV0pO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcImRpdlwiLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEdyaWQsIHtcblx0XHRjb2x1bW5zOiB7XG5cdFx0XHR4czogMTIsXG5cdFx0XHRzbTogMTIsXG5cdFx0XHRtZDogMTJcblx0XHR9LFxuXHRcdGNvbnRhaW5lcjogdHJ1ZSxcblx0XHRzcGFjaW5nOiB7XG5cdFx0XHR4czogMSxcblx0XHRcdG1kOiAxXG5cdFx0fSxcblx0XHRjaGlsZHJlbjogbGFuZ3VhZ2VzLm1hcCgobGFuZ3VhZ2UsIGluZGV4KSA9PiB7XG5cdFx0XHRjb25zdCB7IGljb24sIHRyYW5zbGF0aW9uIH0gPSBnZXRDdXJyZW50TG5nRGV0YWlscyhsYW5ndWFnZSk7XG5cdFx0XHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChHcmlkLCB7XG5cdFx0XHRcdHNpemU6IHtcblx0XHRcdFx0XHRzbTogMixcblx0XHRcdFx0XHR4czogNlxuXHRcdFx0XHR9LFxuXHRcdFx0XHRjaGlsZHJlbjogbGFuZ3VhZ2UgPT09IGN1cnJlbnRMYW5ndWFnZSA/IC8qIEBfX1BVUkVfXyAqLyBqc3goQ2FyZFNlbGVjdGVkLCB7XG5cdFx0XHRcdFx0c3g6IHsgbWF4V2lkdGg6IDgwIH0sXG5cdFx0XHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goTGFuZ3VhZ2VDb250ZW50LCB7XG5cdFx0XHRcdFx0XHRpY29uLFxuXHRcdFx0XHRcdFx0dHJhbnNsYXRpb25cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9KSA6IC8qIEBfX1BVUkVfXyAqLyBqc3goQ2FyZFVuU2VsZWN0ZWQsIHtcblx0XHRcdFx0XHRvbkNsaWNrOiAoKSA9PiBoYW5kbGVDaGFuZ2VMYW5ndWFnZShsYW5ndWFnZSksXG5cdFx0XHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goTGFuZ3VhZ2VDb250ZW50LCB7XG5cdFx0XHRcdFx0XHRpY29uLFxuXHRcdFx0XHRcdFx0dHJhbnNsYXRpb25cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9KVxuXHRcdFx0fSwgaW5kZXgpO1xuXHRcdH0pXG5cdH0pIH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgTGFuZ3VhZ2VTd2l0Y2ggYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1MYW5ndWFnZVN3aXRjaC5tanMubWFwIiwiaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG4vLyNyZWdpb24gc3JjL3NlY3Rpb25zL0hlYWRlci9SZWdpc3RyeUluZm9Db250ZW50L3N0eWxlcy50c1xudmFyIFRleHRDb250ZW50ID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJkaXZcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTFseGluaWQxXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxbHhpbmlkMVwiLFxuXHRsYWJlbDogXCJUZXh0Q29udGVudFwiXG59KSgoeyB0aGVtZSB9KSA9PiAoe1xuXHRwYWRkaW5nQm90dG9tOiBcIjEwcHhcIixcblx0YmFja2dyb3VuZENvbG9yOiB0aGVtZS5wYWxldHRlLmJhY2tncm91bmQuZGVmYXVsdFxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwxSmxaMmx6ZEhKNVNXNW1iME52Ym5SbGJuUXZjM1I1YkdWekxuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVWt5UWlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwzTmxZM1JwYjI1ekwwaGxZV1JsY2k5U1pXZHBjM1J5ZVVsdVptOURiMjUwWlc1MEwzTjBlV3hsY3k1MGN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQnpkSGxzWldRZ1puSnZiU0FuUUdWdGIzUnBiMjR2YzNSNWJHVmtKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1THk0dUx5YzdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlVaWGgwUTI5dWRHVnVkQ0E5SUhOMGVXeGxaQ2duWkdsMkp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUhCaFpHUnBibWRDYjNSMGIyMDZJQ2N4TUhCNEp5eGNiaUFnWW1GamEyZHliM1Z1WkVOdmJHOXlPaUIwYUdWdFpTNXdZV3hsZEhSbExtSmhZMnRuY205MWJtUXVaR1ZtWVhWc2RDeGNibjBwS1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVSbGMyTnlhWEIwYVc5dUlEMGdjM1I1YkdWa0tDZGthWFluS1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tDa2dQVDRnS0h0Y2JpQWdabTl1ZEZOcGVtVTZJQ2N4Y21WdEp5eGNiaUFnWm05dWRGTjBlV3hsT2lBbmFYUmhiR2xqSnl4Y2JuMHBLVHRjYmlKZGZRPT0gKi9cIik7XG52YXIgRGVzY3JpcHRpb24gPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcImRpdlwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMWx4aW5pZDBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTFseGluaWQwXCIsXG5cdGxhYmVsOiBcIkRlc2NyaXB0aW9uXCJcbn0pKCgpID0+ICh7XG5cdGZvbnRTaXplOiBcIjFyZW1cIixcblx0Zm9udFN0eWxlOiBcIml0YWxpY1wiXG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlNHVmhaR1Z5TDFKbFoybHpkSEo1U1c1bWIwTnZiblJsYm5RdmMzUjViR1Z6TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFWTXlRaUlzSW1acGJHVWlPaUl2YUc5dFpTOXlkVzV1WlhJdmQyOXlheTkyWlhKa1lXTmphVzh2ZG1WeVpHRmpZMmx2TDNCaFkydGhaMlZ6TDNWcExXTnZiWEJ2Ym1WdWRITXZjM0pqTDNObFkzUnBiMjV6TDBobFlXUmxjaTlTWldkcGMzUnllVWx1Wm05RGIyNTBaVzUwTDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibHh1YVcxd2IzSjBJSFI1Y0dVZ2V5QlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMeTR1THljN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCVVpYaDBRMjl1ZEdWdWRDQTlJSE4wZVd4bFpDZ25aR2wySnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJSEJoWkdScGJtZENiM1IwYjIwNklDY3hNSEI0Snl4Y2JpQWdZbUZqYTJkeWIzVnVaRU52Ykc5eU9pQjBhR1Z0WlM1d1lXeGxkSFJsTG1KaFkydG5jbTkxYm1RdVpHVm1ZWFZzZEN4Y2JuMHBLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRVJsYzJOeWFYQjBhVzl1SUQwZ2MzUjViR1ZrS0Nka2FYWW5LVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0NrZ1BUNGdLSHRjYmlBZ1ptOXVkRk5wZW1VNklDY3hjbVZ0Snl4Y2JpQWdabTl1ZEZOMGVXeGxPaUFuYVhSaGJHbGpKeXhjYm4wcEtUdGNiaUpkZlE9PSAqL1wiKTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgRGVzY3JpcHRpb24sIFRleHRDb250ZW50IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0eWxlcy5tanMubWFwIiwiaW1wb3J0IENvcHlUb0NsaXBCb2FyZCBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9Db3B5Q2xpcGJvYXJkL0NvcHlUb0NsaXBCb2FyZC5tanNcIjtcbmltcG9ydCB7IGdldENMSUNoYW5nZVBhc3N3b3JkLCBnZXRDTElTQmVycnlZYW1sUmVnaXN0cnksIGdldENMSVNldENvbmZpZ1JlZ2lzdHJ5LCBnZXRDTElTZXRSZWdpc3RyeSB9IGZyb20gXCIuLi8uLi8uLi91dGlscy9jbGktdXRpbHMubWpzXCI7XG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tIFwiLi4vLi4vLi4vcHJvdmlkZXJzL0FwcENvbmZpZ3VyYXRpb25Qcm92aWRlci9BcHBDb25maWd1cmF0aW9uUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgeyBEZXNjcmlwdGlvbiwgVGV4dENvbnRlbnQgfSBmcm9tIFwiLi9zdHlsZXMubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi8uLi9pbmRleC5tanNcIjtcbmltcG9ydCBfc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWQvYmFzZVwiO1xuaW1wb3J0IHsgRnJhZ21lbnQsIGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCBCb3ggZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQm94XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgTGluayBmcm9tIFwiQG11aS9tYXRlcmlhbC9MaW5rXCI7XG5pbXBvcnQgVHlwb2dyYXBoeSBmcm9tIFwiQG11aS9tYXRlcmlhbC9UeXBvZ3JhcGh5XCI7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tIFwicmVhY3QtbWFya2Rvd25cIjtcbmltcG9ydCBFeHBhbmRNb3JlSWNvbiBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9FeHBhbmRNb3JlXCI7XG5pbXBvcnQgQWNjb3JkaW9uIGZyb20gXCJAbXVpL21hdGVyaWFsL0FjY29yZGlvblwiO1xuaW1wb3J0IEFjY29yZGlvbkRldGFpbHMgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQWNjb3JkaW9uRGV0YWlsc1wiO1xuaW1wb3J0IEFjY29yZGlvblN1bW1hcnkgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQWNjb3JkaW9uU3VtbWFyeVwiO1xuLy8jcmVnaW9uIHNyYy9zZWN0aW9ucy9IZWFkZXIvUmVnaXN0cnlJbmZvQ29udGVudC9SZWdpc3RyeUluZm9Db250ZW50LnRzeFxuZnVuY3Rpb24gX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX18oKSB7XG5cdHJldHVybiBcIllvdSBoYXZlIHRyaWVkIHRvIHN0cmluZ2lmeSBvYmplY3QgcmV0dXJuZWQgZnJvbSBgY3NzYCBmdW5jdGlvbi4gSXQgaXNuJ3Qgc3VwcG9zZWQgdG8gYmUgdXNlZCBkaXJlY3RseSAoZS5nLiBhcyB2YWx1ZSBvZiB0aGUgYGNsYXNzTmFtZWAgcHJvcCksIGJ1dCByYXRoZXIgaGFuZGVkIHRvIGVtb3Rpb24gc28gaXQgY2FuIGhhbmRsZSBpdCAoZS5nLiBhcyB2YWx1ZSBvZiBgY3NzYCBwcm9wKS5cIjtcbn1cbnZhciBOT0RFX01BTkFHRVIgPSB7XG5cdG5wbTogXCJucG1cIixcblx0eWFybjogXCJ5YXJuXCIsXG5cdHBucG06IFwicG5wbVwiXG59O1xudmFyIHJlbmRlck5wbVRhYiA9IChzY29wZSwgcmVnaXN0cnlVcmwpID0+IHtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKEJveCwge1xuXHRcdGRpc3BsYXk6IFwiZmxleFwiLFxuXHRcdGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG5cdFx0Y2hpbGRyZW46IFtcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goQ29weVRvQ2xpcEJvYXJkLCB7XG5cdFx0XHRcdGRhdGFUZXN0SWQ6IFwiY29weVwiLFxuXHRcdFx0XHR0ZXh0OiBnZXRDTElTZXRDb25maWdSZWdpc3RyeShgJHtOT0RFX01BTkFHRVIubnBtfSBzZXRgLCBzY29wZSwgcmVnaXN0cnlVcmwpXG5cdFx0XHR9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goQ29weVRvQ2xpcEJvYXJkLCB7XG5cdFx0XHRcdGRhdGFUZXN0SWQ6IFwiY29weVwiLFxuXHRcdFx0XHR0ZXh0OiBnZXRDTElTZXRSZWdpc3RyeShgJHtOT0RFX01BTkFHRVIubnBtfSBhZGR1c2VyYCwgcmVnaXN0cnlVcmwpXG5cdFx0XHR9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goQ29weVRvQ2xpcEJvYXJkLCB7XG5cdFx0XHRcdGRhdGFUZXN0SWQ6IFwiY29weVwiLFxuXHRcdFx0XHR0ZXh0OiBnZXRDTElDaGFuZ2VQYXNzd29yZChOT0RFX01BTkFHRVIubnBtLCByZWdpc3RyeVVybClcblx0XHRcdH0pXG5cdFx0XVxuXHR9KTtcbn07XG52YXIgcmVuZGVyUG5wbVRhYiA9IChzY29wZSwgcmVnaXN0cnlVcmwpID0+IHtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKEJveCwge1xuXHRcdGRpc3BsYXk6IFwiZmxleFwiLFxuXHRcdGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG5cdFx0Y2hpbGRyZW46IFtcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goQ29weVRvQ2xpcEJvYXJkLCB7XG5cdFx0XHRcdGRhdGFUZXN0SWQ6IFwiY29weVwiLFxuXHRcdFx0XHR0ZXh0OiBnZXRDTElTZXRDb25maWdSZWdpc3RyeShgJHtOT0RFX01BTkFHRVIucG5wbX0gc2V0YCwgc2NvcGUsIHJlZ2lzdHJ5VXJsKVxuXHRcdFx0fSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KENvcHlUb0NsaXBCb2FyZCwge1xuXHRcdFx0XHRkYXRhVGVzdElkOiBcImNvcHlcIixcblx0XHRcdFx0dGV4dDogZ2V0Q0xJU2V0UmVnaXN0cnkoYCR7Tk9ERV9NQU5BR0VSLnBucG19IGFkZHVzZXJgLCByZWdpc3RyeVVybClcblx0XHRcdH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChDb3B5VG9DbGlwQm9hcmQsIHtcblx0XHRcdFx0ZGF0YVRlc3RJZDogXCJjb3B5XCIsXG5cdFx0XHRcdHRleHQ6IGdldENMSUNoYW5nZVBhc3N3b3JkKE5PREVfTUFOQUdFUi5wbnBtLCByZWdpc3RyeVVybClcblx0XHRcdH0pXG5cdFx0XVxuXHR9KTtcbn07XG52YXIgcmVuZGVyWWFyblRhYiA9IChzY29wZSwgcmVnaXN0cnlVcmwpID0+IHtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goQm94LCB7XG5cdFx0ZGlzcGxheTogXCJmbGV4XCIsXG5cdFx0ZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcblx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChDb3B5VG9DbGlwQm9hcmQsIHtcblx0XHRcdGRhdGFUZXN0SWQ6IFwiY29weVwiLFxuXHRcdFx0dGV4dDogZ2V0Q0xJU2V0Q29uZmlnUmVnaXN0cnkoYCR7Tk9ERV9NQU5BR0VSLnlhcm59IGNvbmZpZyBzZXRgLCBzY29wZSwgcmVnaXN0cnlVcmwpXG5cdFx0fSlcblx0fSk7XG59O1xudmFyIHJlbmRlcllhcm5CZXJyeVRhYiA9IChzY29wZSwgcmVnaXN0cnlVcmwpID0+IHtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goQm94LCB7XG5cdFx0ZGlzcGxheTogXCJmbGV4XCIsXG5cdFx0ZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcblx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChDb3B5VG9DbGlwQm9hcmQsIHtcblx0XHRcdGRhdGFUZXN0SWQ6IFwiY29weVwiLFxuXHRcdFx0dGV4dDogZ2V0Q0xJU0JlcnJ5WWFtbFJlZ2lzdHJ5KHNjb3BlLCByZWdpc3RyeVVybClcblx0XHR9KVxuXHR9KTtcbn07XG52YXIgQWNjb3JkaW9uQ29udGFpbmVyID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJkaXZcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTFobDN5Z3MyXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxaGwzeWdzMlwiLFxuXHRsYWJlbDogXCJBY2NvcmRpb25Db250YWluZXJcIlxufSkocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuXHRuYW1lOiBcIjFnd2c0NzZcIixcblx0c3R5bGVzOiBcInBhZGRpbmc6MDtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjBcIlxufSA6IHtcblx0bmFtZTogXCIxZ3dnNDc2XCIsXG5cdHN0eWxlczogXCJwYWRkaW5nOjA7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlNHVmhaR1Z5TDFKbFoybHpkSEo1U1c1bWIwTnZiblJsYm5RdlVtVm5hWE4wY25sSmJtWnZRMjl1ZEdWdWRDNTBjM2dpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCYlVaclF5SXNJbVpwYkdVaU9pSXZhRzl0WlM5eWRXNXVaWEl2ZDI5eWF5OTJaWEprWVdOamFXOHZkbVZ5WkdGalkybHZMM0JoWTJ0aFoyVnpMM1ZwTFdOdmJYQnZibVZ1ZEhNdmMzSmpMM05sWTNScGIyNXpMMGhsWVdSbGNpOVNaV2RwYzNSeWVVbHVabTlEYjI1MFpXNTBMMUpsWjJsemRISjVTVzVtYjBOdmJuUmxiblF1ZEhONElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElITjBlV3hsWkNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl6ZEhsc1pXUW5PMXh1YVcxd2IzSjBJRVY0Y0dGdVpFMXZjbVZKWTI5dUlHWnliMjBnSjBCdGRXa3ZhV052Ym5NdGJXRjBaWEpwWVd3dlJYaHdZVzVrVFc5eVpTYzdYRzVwYlhCdmNuUWdRV05qYjNKa2FXOXVJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UVdOamIzSmthVzl1Snp0Y2JtbHRjRzl5ZENCQlkyTnZjbVJwYjI1RVpYUmhhV3h6SUdaeWIyMGdKMEJ0ZFdrdmJXRjBaWEpwWVd3dlFXTmpiM0prYVc5dVJHVjBZV2xzY3ljN1hHNXBiWEJ2Y25RZ1FXTmpiM0prYVc5dVUzVnRiV0Z5ZVNCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wwRmpZMjl5WkdsdmJsTjFiVzFoY25rbk8xeHVhVzF3YjNKMElFSnZlQ0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBKdmVDYzdYRzVwYlhCdmNuUWdUR2x1YXlCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wweHBibXNuTzF4dWFXMXdiM0owSUZSNWNHOW5jbUZ3YUhrZ1puSnZiU0FuUUcxMWFTOXRZWFJsY21saGJDOVVlWEJ2WjNKaGNHaDVKenRjYm1sdGNHOXlkQ0IwZVhCbElIc2dSa01nZlNCbWNtOXRJQ2R5WldGamRDYzdYRzVwYlhCdmNuUWdVbVZoWTNRZ1puSnZiU0FuY21WaFkzUW5PMXh1YVcxd2IzSjBJSHNnZFhObFZISmhibk5zWVhScGIyNGdmU0JtY205dElDZHlaV0ZqZEMxcE1UaHVaWGgwSnp0Y2JtbHRjRzl5ZENCU1pXRmpkRTFoY210a2IzZHVJR1p5YjIwZ0ozSmxZV04wTFcxaGNtdGtiM2R1Snp0Y2JseHVhVzF3YjNKMElIdGNiaUFnUTI5d2VVTnNhWEJpYjJGeVpDeGNiaUFnWjJWMFEweEpRMmhoYm1kbFVHRnpjM2R2Y21Rc1hHNGdJR2RsZEVOTVNWTkNaWEp5ZVZsaGJXeFNaV2RwYzNSeWVTeGNiaUFnWjJWMFEweEpVMlYwUTI5dVptbG5VbVZuYVhOMGNua3NYRzRnSUdkbGRFTk1TVk5sZEZKbFoybHpkSEo1TEZ4dUlDQjFjMlZEYjI1bWFXY3NYRzU5SUdaeWIyMGdKeTR1THk0dUx5NHVMeWM3WEc1cGJYQnZjblFnZXlCRVpYTmpjbWx3ZEdsdmJpd2dWR1Y0ZEVOdmJuUmxiblFnZlNCbWNtOXRJQ2N1TDNOMGVXeGxjeWM3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JPVDBSRlgwMUJUa0ZIUlZJZ1BTQjdYRzRnSUc1d2JUb2dKMjV3YlNjc1hHNGdJSGxoY200NklDZDVZWEp1Snl4Y2JpQWdjRzV3YlRvZ0ozQnVjRzBuTEZ4dWZUdGNibHh1WTI5dWMzUWdjbVZ1WkdWeVRuQnRWR0ZpSUQwZ0tITmpiM0JsT2lCemRISnBibWNnZkNCMWJtUmxabWx1WldRc0lISmxaMmx6ZEhKNVZYSnNPaUJ6ZEhKcGJtY3BPaUJLVTFndVJXeGxiV1Z1ZENBOVBpQjdYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRUp2ZUNCa2FYTndiR0Y1UFZ3aVpteGxlRndpSUdac1pYaEVhWEpsWTNScGIyNDlYQ0pqYjJ4MWJXNWNJajVjYmlBZ0lDQWdJRHhEYjNCNVEyeHBjR0p2WVhKa1hHNGdJQ0FnSUNBZ0lHUmhkR0ZVWlhOMFNXUTlYQ0pqYjNCNVhDSmNiaUFnSUNBZ0lDQWdkR1Y0ZEQxN1oyVjBRMHhKVTJWMFEyOXVabWxuVW1WbmFYTjBjbmtvWUNSN1RrOUVSVjlOUVU1QlIwVlNMbTV3YlgwZ2MyVjBZQ3dnYzJOdmNHVXNJSEpsWjJsemRISjVWWEpzS1gxY2JpQWdJQ0FnSUM4K1hHNGdJQ0FnSUNBOFEyOXdlVU5zYVhCaWIyRnlaRnh1SUNBZ0lDQWdJQ0JrWVhSaFZHVnpkRWxrUFZ3aVkyOXdlVndpWEc0Z0lDQWdJQ0FnSUhSbGVIUTllMmRsZEVOTVNWTmxkRkpsWjJsemRISjVLR0FrZTA1UFJFVmZUVUZPUVVkRlVpNXVjRzE5SUdGa1pIVnpaWEpnTENCeVpXZHBjM1J5ZVZWeWJDbDlYRzRnSUNBZ0lDQXZQbHh1SUNBZ0lDQWdQRU52Y0hsRGJHbHdZbTloY21RZ1pHRjBZVlJsYzNSSlpEMWNJbU52Y0hsY0lpQjBaWGgwUFh0blpYUkRURWxEYUdGdVoyVlFZWE56ZDI5eVpDaE9UMFJGWDAxQlRrRkhSVkl1Ym5CdExDQnlaV2RwYzNSeWVWVnliQ2w5SUM4K1hHNGdJQ0FnUEM5Q2IzZytYRzRnSUNrN1hHNTlPMXh1WEc1amIyNXpkQ0J5Wlc1a1pYSlFibkJ0VkdGaUlEMGdLSE5qYjNCbE9pQnpkSEpwYm1jZ2ZDQjFibVJsWm1sdVpXUXNJSEpsWjJsemRISjVWWEpzT2lCemRISnBibWNwT2lCS1UxZ3VSV3hsYldWdWRDQTlQaUI3WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEVKdmVDQmthWE53YkdGNVBWd2labXhsZUZ3aUlHWnNaWGhFYVhKbFkzUnBiMjQ5WENKamIyeDFiVzVjSWo1Y2JpQWdJQ0FnSUR4RGIzQjVRMnhwY0dKdllYSmtYRzRnSUNBZ0lDQWdJR1JoZEdGVVpYTjBTV1E5WENKamIzQjVYQ0pjYmlBZ0lDQWdJQ0FnZEdWNGREMTdaMlYwUTB4SlUyVjBRMjl1Wm1sblVtVm5hWE4wY25rb1lDUjdUazlFUlY5TlFVNUJSMFZTTG5CdWNHMTlJSE5sZEdBc0lITmpiM0JsTENCeVpXZHBjM1J5ZVZWeWJDbDlYRzRnSUNBZ0lDQXZQbHh1SUNBZ0lDQWdQRU52Y0hsRGJHbHdZbTloY21SY2JpQWdJQ0FnSUNBZ1pHRjBZVlJsYzNSSlpEMWNJbU52Y0hsY0lseHVJQ0FnSUNBZ0lDQjBaWGgwUFh0blpYUkRURWxUWlhSU1pXZHBjM1J5ZVNoZ0pIdE9UMFJGWDAxQlRrRkhSVkl1Y0c1d2JYMGdZV1JrZFhObGNtQXNJSEpsWjJsemRISjVWWEpzS1gxY2JpQWdJQ0FnSUM4K1hHNGdJQ0FnSUNBOFEyOXdlVU5zYVhCaWIyRnlaRnh1SUNBZ0lDQWdJQ0JrWVhSaFZHVnpkRWxrUFZ3aVkyOXdlVndpWEc0Z0lDQWdJQ0FnSUhSbGVIUTllMmRsZEVOTVNVTm9ZVzVuWlZCaGMzTjNiM0prS0U1UFJFVmZUVUZPUVVkRlVpNXdibkJ0TENCeVpXZHBjM1J5ZVZWeWJDbDlYRzRnSUNBZ0lDQXZQbHh1SUNBZ0lEd3ZRbTk0UGx4dUlDQXBPMXh1ZlR0Y2JseHVZMjl1YzNRZ2NtVnVaR1Z5V1dGeWJsUmhZaUE5SUNoelkyOXdaVG9nYzNSeWFXNW5JSHdnZFc1a1pXWnBibVZrTENCeVpXZHBjM1J5ZVZWeWJEb2djM1J5YVc1bktUb2dTbE5ZTGtWc1pXMWxiblFnUFQ0Z2UxeHVJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lEeENiM2dnWkdsemNHeGhlVDFjSW1ac1pYaGNJaUJtYkdWNFJHbHlaV04wYVc5dVBWd2lZMjlzZFcxdVhDSStYRzRnSUNBZ0lDQThRMjl3ZVVOc2FYQmliMkZ5WkZ4dUlDQWdJQ0FnSUNCa1lYUmhWR1Z6ZEVsa1BWd2lZMjl3ZVZ3aVhHNGdJQ0FnSUNBZ0lIUmxlSFE5ZTJkbGRFTk1TVk5sZEVOdmJtWnBaMUpsWjJsemRISjVLR0FrZTA1UFJFVmZUVUZPUVVkRlVpNTVZWEp1ZlNCamIyNW1hV2NnYzJWMFlDd2djMk52Y0dVc0lISmxaMmx6ZEhKNVZYSnNLWDFjYmlBZ0lDQWdJQzgrWEc0Z0lDQWdQQzlDYjNnK1hHNGdJQ2s3WEc1OU8xeHVYRzVqYjI1emRDQnlaVzVrWlhKWllYSnVRbVZ5Y25sVVlXSWdQU0FvYzJOdmNHVTZJSE4wY21sdVp5QjhJSFZ1WkdWbWFXNWxaQ3dnY21WbmFYTjBjbmxWY213NklITjBjbWx1WnlrNklFcFRXQzVGYkdWdFpXNTBJRDArSUh0Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNBOFFtOTRJR1JwYzNCc1lYazlYQ0ptYkdWNFhDSWdabXhsZUVScGNtVmpkR2x2YmoxY0ltTnZiSFZ0Ymx3aVBseHVJQ0FnSUNBZ1BFTnZjSGxEYkdsd1ltOWhjbVFnWkdGMFlWUmxjM1JKWkQxY0ltTnZjSGxjSWlCMFpYaDBQWHRuWlhSRFRFbFRRbVZ5Y25sWllXMXNVbVZuYVhOMGNua29jMk52Y0dVc0lISmxaMmx6ZEhKNVZYSnNLWDBnTHo1Y2JpQWdJQ0E4TDBKdmVENWNiaUFnS1R0Y2JuMDdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkJZMk52Y21ScGIyNURiMjUwWVdsdVpYSWdQU0J6ZEhsc1pXUW9KMlJwZGljcEtIdGNiaUFnY0dGa1pHbHVaem9nTUN4Y2JpQWdjR0ZrWkdsdVoweGxablE2SURBc1hHNGdJSEJoWkdScGJtZFNhV2RvZERvZ01DeGNibjBwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUTI5dGJXRnVaRU52Ym5SaGFXNWxjaUE5SUhOMGVXeGxaQ2duWkdsMkp5a29lMXh1SUNCd1lXUmthVzVuT2lBMUxGeHVmU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JNYVc1clEyOXVkR0ZwYm1WeUlEMGdjM1I1YkdWa0tDZGthWFluS1NoN1hHNGdJRzFoY21kcGJqb2dNVEFzWEc0Z0lHMWhjbWRwYmt4bFpuUTZJREFzWEc1OUtUdGNibHh1Wlhod2IzSjBJSFI1Y0dVZ1VISnZjSE1nUFNCN1hHNGdJSEpsWjJsemRISjVWWEpzT2lCemRISnBibWM3WEc0Z0lITmpiM0JsT2lCemRISnBibWNnZkNCMWJtUmxabWx1WldRN1hHNTlPMXh1WEc1amIyNXpkQ0JTWldkcGMzUnllVWx1Wm05RGIyNTBaVzUwT2lCR1F6eFFjbTl3Y3o0Z1BTQW9leUJ6WTI5d1pTd2djbVZuYVhOMGNubFZjbXdnZlNrZ1BUNGdlMXh1SUNCamIyNXpkQ0I3SUhRZ2ZTQTlJSFZ6WlZSeVlXNXpiR0YwYVc5dUtDazdYRzRnSUdOdmJuTjBJSHNnWTI5dVptbG5UM0IwYVc5dWN5QjlJRDBnZFhObFEyOXVabWxuS0NrN1hHNWNiaUFnWTI5dWMzUWdhR0Z6VG5CdElEMGdZMjl1Wm1sblQzQjBhVzl1Y3o4dWNHdG5UV0Z1WVdkbGNuTS9MbWx1WTJ4MVpHVnpLQ2R1Y0cwbktUdGNiaUFnWTI5dWMzUWdhR0Z6V1dGeWJpQTlJR052Ym1acFowOXdkR2x2Ym5NL0xuQnJaMDFoYm1GblpYSnpQeTVwYm1Oc2RXUmxjeWduZVdGeWJpY3BPMXh1SUNCamIyNXpkQ0JvWVhOUWJuQnRJRDBnWTI5dVptbG5UM0IwYVc5dWN6OHVjR3RuVFdGdVlXZGxjbk0vTG1sdVkyeDFaR1Z6S0Nkd2JuQnRKeWs3WEc0Z0lDOHZJRlJQUkU4NklIZGxJR05oYmlCcGJYQnliM1psSUhSb2FYTWdiRzluYVdNc0lHVjRjR0Z1WkdsdVp5QnZibXg1SUc5dVpTQmhZMk52Y21ScGIyNGdZbUZ6WldRZ2IyNGdkMmhwWTJnZ2NHRmphMkZuWlNCdFlXNWhaMlZ5SUdseklHVnVZV0pzWldSY2JpQWdMeThnWm1WbGJDQm1jbVZsSUhSdklHTnZiblJ5YVdKMWRHVWdhR1Z5WlZ4dUlDQnlaWFIxY200Z0tGeHVJQ0FnSUR3K1hHNGdJQ0FnSUNBOFZHVjRkRU52Ym5SbGJuUStlM1FvSjNCaFkydGhaMlZOWVc1aFoyVnljeTVrWlhOamNtbHdkR2x2YmljcGZUd3ZWR1Y0ZEVOdmJuUmxiblErWEc0Z0lDQWdJQ0E4UVdOamIzSmthVzl1UTI5dWRHRnBibVZ5UGx4dUlDQWdJQ0FnSUNBOFFXTmpiM0prYVc5dUlHUnBjMkZpYkdWa1BYc2hhR0Z6VG5CdGZUNWNiaUFnSUNBZ0lDQWdJQ0E4UVdOamIzSmthVzl1VTNWdGJXRnllVnh1SUNBZ0lDQWdJQ0FnSUNBZ1lYSnBZUzFqYjI1MGNtOXNjejFjSW5CaGJtVnNNV0V0WTI5dWRHVnVkRndpWEc0Z0lDQWdJQ0FnSUNBZ0lDQmxlSEJoYm1SSlkyOXVQWHM4Ulhod1lXNWtUVzl5WlVsamIyNGdMejU5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaRDFjSW5CaGJtVnNNV0V0YUdWaFpHVnlYQ0pjYmlBZ0lDQWdJQ0FnSUNBK1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4Vkhsd2IyZHlZWEJvZVNCemVEMTdleUJtYjI1MFUybDZaVG9nSnpGeVpXMG5MQ0JtYjI1MFYyVnBaMmgwT2lBblltOXNaQ2NnZlgwK2V5ZHVjRzBuZlR3dlZIbHdiMmR5WVhCb2VUNWNiaUFnSUNBZ0lDQWdJQ0E4TDBGalkyOXlaR2x2YmxOMWJXMWhjbmsrWEc0Z0lDQWdJQ0FnSUNBZ1BFRmpZMjl5WkdsdmJrUmxkR0ZwYkhNK1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4UTI5dGJXRnVaRU52Ym5SaGFXNWxjaUJrWVhSaExYUmxjM1JwWkQxN0ozUmhZaTFqYjI1MFpXNTBKMzArWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSHR5Wlc1a1pYSk9jRzFVWVdJb2MyTnZjR1VzSUhKbFoybHpkSEo1VlhKc0tYMWNiaUFnSUNBZ0lDQWdJQ0FnSUR3dlEyOXRiV0Z1WkVOdmJuUmhhVzVsY2o1Y2JpQWdJQ0FnSUNBZ0lDQThMMEZqWTI5eVpHbHZia1JsZEdGcGJITStYRzRnSUNBZ0lDQWdJRHd2UVdOamIzSmthVzl1UGx4dUlDQWdJQ0FnSUNBOFFXTmpiM0prYVc5dUlHUnBjMkZpYkdWa1BYc2hhR0Z6V1dGeWJuMCtYRzRnSUNBZ0lDQWdJQ0FnUEVGalkyOXlaR2x2YmxOMWJXMWhjbmxjYmlBZ0lDQWdJQ0FnSUNBZ0lHRnlhV0V0WTI5dWRISnZiSE05WENKd1lXNWxiREpoTFdOdmJuUmxiblJjSWx4dUlDQWdJQ0FnSUNBZ0lDQWdaWGh3WVc1a1NXTnZiajE3UEVWNGNHRnVaRTF2Y21WSlkyOXVJQzgrZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdhV1E5WENKd1lXNWxiREpoTFdobFlXUmxjbHdpWEc0Z0lDQWdJQ0FnSUNBZ1BseHVJQ0FnSUNBZ0lDQWdJQ0FnUEZSNWNHOW5jbUZ3YUhrZ2MzZzllM3NnWm05dWRGTnBlbVU2SUNjeGNtVnRKeXdnWm05dWRGZGxhV2RvZERvZ0oySnZiR1FuSUgxOVBuc25lV0Z5YmlkOVBDOVVlWEJ2WjNKaGNHaDVQbHh1SUNBZ0lDQWdJQ0FnSUR3dlFXTmpiM0prYVc5dVUzVnRiV0Z5ZVQ1Y2JpQWdJQ0FnSUNBZ0lDQThRV05qYjNKa2FXOXVSR1YwWVdsc2N6NWNiaUFnSUNBZ0lDQWdJQ0FnSUR4RVpYTmpjbWx3ZEdsdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BGSmxZV04wVFdGeWEyUnZkMjQrZTNRb0ozQmhZMnRoWjJWTllXNWhaMlZ5Y3k1NVlYSnVZMnhoYzNOcFkwUmxkR0ZwYkhNbktYMDhMMUpsWVdOMFRXRnlhMlJ2ZDI0K1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4TDBSbGMyTnlhWEIwYVc5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnUEVOdmJXMWhibVJEYjI1MFlXbHVaWElnWkdGMFlTMTBaWE4wYVdROWV5ZDBZV0l0WTI5dWRHVnVkQ2Q5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0I3Y21WdVpHVnlXV0Z5YmxSaFlpaHpZMjl3WlN3Z2NtVm5hWE4wY25sVmNtd3BmVnh1SUNBZ0lDQWdJQ0FnSUNBZ1BDOURiMjF0WVc1a1EyOXVkR0ZwYm1WeVBseHVJQ0FnSUNBZ0lDQWdJQ0FnUEVSbGMyTnlhWEIwYVc5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFVtVmhZM1JOWVhKclpHOTNiajU3ZENnbmNHRmphMkZuWlUxaGJtRm5aWEp6TG5saGNtNUNaWEp5ZVVSbGRHRnBiSE1uS1gwOEwxSmxZV04wVFdGeWEyUnZkMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQThMMFJsYzJOeWFYQjBhVzl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRU52YlcxaGJtUkRiMjUwWVdsdVpYSWdaR0YwWVMxMFpYTjBhV1E5ZXlkMFlXSXRZMjl1ZEdWdWRDZDlQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjdjbVZ1WkdWeVdXRnlia0psY25KNVZHRmlLSE5qYjNCbExDQnlaV2RwYzNSeWVWVnliQ2w5WEc0Z0lDQWdJQ0FnSUNBZ0lDQThMME52YlcxaGJtUkRiMjUwWVdsdVpYSStYRzRnSUNBZ0lDQWdJQ0FnUEM5QlkyTnZjbVJwYjI1RVpYUmhhV3h6UGx4dUlDQWdJQ0FnSUNBOEwwRmpZMjl5WkdsdmJqNWNibHh1SUNBZ0lDQWdJQ0E4UVdOamIzSmthVzl1SUdScGMyRmliR1ZrUFhzaGFHRnpVRzV3YlgwK1hHNGdJQ0FnSUNBZ0lDQWdQRUZqWTI5eVpHbHZibE4xYlcxaGNubGNiaUFnSUNBZ0lDQWdJQ0FnSUdGeWFXRXRZMjl1ZEhKdmJITTlYQ0p3WVc1bGJETmhMV052Ym5SbGJuUmNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pYaHdZVzVrU1dOdmJqMTdQRVY0Y0dGdVpFMXZjbVZKWTI5dUlDOCtmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2FXUTlYQ0p3WVc1bGJETmhMV2hsWVdSbGNsd2lYRzRnSUNBZ0lDQWdJQ0FnUGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRlI1Y0c5bmNtRndhSGtnYzNnOWUzc2dabTl1ZEZOcGVtVTZJQ2N4Y21WdEp5d2dabTl1ZEZkbGFXZG9kRG9nSjJKdmJHUW5JSDE5UG5zbmNHNXdiU2Q5UEM5VWVYQnZaM0poY0doNVBseHVJQ0FnSUNBZ0lDQWdJRHd2UVdOamIzSmthVzl1VTNWdGJXRnllVDVjYmlBZ0lDQWdJQ0FnSUNBOFFXTmpiM0prYVc5dVJHVjBZV2xzY3o1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHhEYjIxdFlXNWtRMjl1ZEdGcGJtVnlJR1JoZEdFdGRHVnpkR2xrUFhzbmRHRmlMV052Ym5SbGJuUW5mVDVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdlM0psYm1SbGNsQnVjRzFVWVdJb2MyTnZjR1VzSUhKbFoybHpkSEo1VlhKc0tYMWNiaUFnSUNBZ0lDQWdJQ0FnSUR3dlEyOXRiV0Z1WkVOdmJuUmhhVzVsY2o1Y2JpQWdJQ0FnSUNBZ0lDQThMMEZqWTI5eVpHbHZia1JsZEdGcGJITStYRzRnSUNBZ0lDQWdJRHd2UVdOamIzSmthVzl1UGx4dVhHNGdJQ0FnSUNBZ0lEeE1hVzVyUTI5dWRHRnBibVZ5UGx4dUlDQWdJQ0FnSUNBZ0lEeE1hVzVySUdoeVpXWTlYQ0pvZEhSd2N6b3ZMM1psY21SaFkyTnBieTV2Y21jdlpHOWpjeTlsYmk5amJHa3RjbVZuYVhOMGNubGNJaUIwWVhKblpYUTlYQ0pmWW14aGJtdGNJajVjYmlBZ0lDQWdJQ0FnSUNBZ0lEeFVlWEJ2WjNKaGNHaDVQbnQwS0Nkb1pXRmtaWEl1Y21WbmFYTjBjbmt0YVc1bWJ5MXNhVzVySnlsOVBDOVVlWEJ2WjNKaGNHaDVQbHh1SUNBZ0lDQWdJQ0FnSUR3dlRHbHVhejVjYmlBZ0lDQWdJQ0FnUEM5TWFXNXJRMjl1ZEdGcGJtVnlQbHh1SUNBZ0lDQWdQQzlCWTJOdmNtUnBiMjVEYjI1MFlXbHVaWEkrWEc0Z0lDQWdQQzgrWEc0Z0lDazdYRzU5TzF4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCU1pXZHBjM1J5ZVVsdVptOURiMjUwWlc1ME8xeHVJbDE5ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgQ29tbWFuZENvbnRhaW5lciA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwiZGl2XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxaGwzeWdzMVwiIH0gOiB7XG5cdHRhcmdldDogXCJlMWhsM3lnczFcIixcblx0bGFiZWw6IFwiQ29tbWFuZENvbnRhaW5lclwiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwicGhhOGU3XCIsXG5cdHN0eWxlczogXCJwYWRkaW5nOjVweFwiXG59IDoge1xuXHRuYW1lOiBcInBoYThlN1wiLFxuXHRzdHlsZXM6IFwicGFkZGluZzo1cHgvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12U0dWaFpHVnlMMUpsWjJsemRISjVTVzVtYjBOdmJuUmxiblF2VW1WbmFYTjBjbmxKYm1adlEyOXVkR1Z1ZEM1MGMzZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJlVVpuUXlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwzTmxZM1JwYjI1ekwwaGxZV1JsY2k5U1pXZHBjM1J5ZVVsdVptOURiMjUwWlc1MEwxSmxaMmx6ZEhKNVNXNW1iME52Ym5SbGJuUXVkSE40SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVhVzF3YjNKMElFVjRjR0Z1WkUxdmNtVkpZMjl1SUdaeWIyMGdKMEJ0ZFdrdmFXTnZibk10YldGMFpYSnBZV3d2Ulhod1lXNWtUVzl5WlNjN1hHNXBiWEJ2Y25RZ1FXTmpiM0prYVc5dUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZRV05qYjNKa2FXOXVKenRjYm1sdGNHOXlkQ0JCWTJOdmNtUnBiMjVFWlhSaGFXeHpJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UVdOamIzSmthVzl1UkdWMFlXbHNjeWM3WEc1cGJYQnZjblFnUVdOamIzSmthVzl1VTNWdGJXRnllU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBGalkyOXlaR2x2YmxOMWJXMWhjbmtuTzF4dWFXMXdiM0owSUVKdmVDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMEp2ZUNjN1hHNXBiWEJ2Y25RZ1RHbHVheUJtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDB4cGJtc25PMXh1YVcxd2IzSjBJRlI1Y0c5bmNtRndhSGtnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5VWVYQnZaM0poY0doNUp6dGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1JrTWdmU0JtY205dElDZHlaV0ZqZENjN1hHNXBiWEJ2Y25RZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHVhVzF3YjNKMElIc2dkWE5sVkhKaGJuTnNZWFJwYjI0Z2ZTQm1jbTl0SUNkeVpXRmpkQzFwTVRodVpYaDBKenRjYm1sdGNHOXlkQ0JTWldGamRFMWhjbXRrYjNkdUlHWnliMjBnSjNKbFlXTjBMVzFoY210a2IzZHVKenRjYmx4dWFXMXdiM0owSUh0Y2JpQWdRMjl3ZVVOc2FYQmliMkZ5WkN4Y2JpQWdaMlYwUTB4SlEyaGhibWRsVUdGemMzZHZjbVFzWEc0Z0lHZGxkRU5NU1ZOQ1pYSnllVmxoYld4U1pXZHBjM1J5ZVN4Y2JpQWdaMlYwUTB4SlUyVjBRMjl1Wm1sblVtVm5hWE4wY25rc1hHNGdJR2RsZEVOTVNWTmxkRkpsWjJsemRISjVMRnh1SUNCMWMyVkRiMjVtYVdjc1hHNTlJR1p5YjIwZ0p5NHVMeTR1THk0dUx5YzdYRzVwYlhCdmNuUWdleUJFWlhOamNtbHdkR2x2Yml3Z1ZHVjRkRU52Ym5SbGJuUWdmU0JtY205dElDY3VMM04wZVd4bGN5YzdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQk9UMFJGWDAxQlRrRkhSVklnUFNCN1hHNGdJRzV3YlRvZ0oyNXdiU2NzWEc0Z0lIbGhjbTQ2SUNkNVlYSnVKeXhjYmlBZ2NHNXdiVG9nSjNCdWNHMG5MRnh1ZlR0Y2JseHVZMjl1YzNRZ2NtVnVaR1Z5VG5CdFZHRmlJRDBnS0hOamIzQmxPaUJ6ZEhKcGJtY2dmQ0IxYm1SbFptbHVaV1FzSUhKbFoybHpkSEo1VlhKc09pQnpkSEpwYm1jcE9pQktVMWd1Uld4bGJXVnVkQ0E5UGlCN1hHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BFSnZlQ0JrYVhOd2JHRjVQVndpWm14bGVGd2lJR1pzWlhoRWFYSmxZM1JwYjI0OVhDSmpiMngxYlc1Y0lqNWNiaUFnSUNBZ0lEeERiM0I1UTJ4cGNHSnZZWEprWEc0Z0lDQWdJQ0FnSUdSaGRHRlVaWE4wU1dROVhDSmpiM0I1WENKY2JpQWdJQ0FnSUNBZ2RHVjRkRDE3WjJWMFEweEpVMlYwUTI5dVptbG5VbVZuYVhOMGNua29ZQ1I3VGs5RVJWOU5RVTVCUjBWU0xtNXdiWDBnYzJWMFlDd2djMk52Y0dVc0lISmxaMmx6ZEhKNVZYSnNLWDFjYmlBZ0lDQWdJQzgrWEc0Z0lDQWdJQ0E4UTI5d2VVTnNhWEJpYjJGeVpGeHVJQ0FnSUNBZ0lDQmtZWFJoVkdWemRFbGtQVndpWTI5d2VWd2lYRzRnSUNBZ0lDQWdJSFJsZUhROWUyZGxkRU5NU1ZObGRGSmxaMmx6ZEhKNUtHQWtlMDVQUkVWZlRVRk9RVWRGVWk1dWNHMTlJR0ZrWkhWelpYSmdMQ0J5WldkcGMzUnllVlZ5YkNsOVhHNGdJQ0FnSUNBdlBseHVJQ0FnSUNBZ1BFTnZjSGxEYkdsd1ltOWhjbVFnWkdGMFlWUmxjM1JKWkQxY0ltTnZjSGxjSWlCMFpYaDBQWHRuWlhSRFRFbERhR0Z1WjJWUVlYTnpkMjl5WkNoT1QwUkZYMDFCVGtGSFJWSXVibkJ0TENCeVpXZHBjM1J5ZVZWeWJDbDlJQzgrWEc0Z0lDQWdQQzlDYjNnK1hHNGdJQ2s3WEc1OU8xeHVYRzVqYjI1emRDQnlaVzVrWlhKUWJuQnRWR0ZpSUQwZ0tITmpiM0JsT2lCemRISnBibWNnZkNCMWJtUmxabWx1WldRc0lISmxaMmx6ZEhKNVZYSnNPaUJ6ZEhKcGJtY3BPaUJLVTFndVJXeGxiV1Z1ZENBOVBpQjdYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRUp2ZUNCa2FYTndiR0Y1UFZ3aVpteGxlRndpSUdac1pYaEVhWEpsWTNScGIyNDlYQ0pqYjJ4MWJXNWNJajVjYmlBZ0lDQWdJRHhEYjNCNVEyeHBjR0p2WVhKa1hHNGdJQ0FnSUNBZ0lHUmhkR0ZVWlhOMFNXUTlYQ0pqYjNCNVhDSmNiaUFnSUNBZ0lDQWdkR1Y0ZEQxN1oyVjBRMHhKVTJWMFEyOXVabWxuVW1WbmFYTjBjbmtvWUNSN1RrOUVSVjlOUVU1QlIwVlNMbkJ1Y0cxOUlITmxkR0FzSUhOamIzQmxMQ0J5WldkcGMzUnllVlZ5YkNsOVhHNGdJQ0FnSUNBdlBseHVJQ0FnSUNBZ1BFTnZjSGxEYkdsd1ltOWhjbVJjYmlBZ0lDQWdJQ0FnWkdGMFlWUmxjM1JKWkQxY0ltTnZjSGxjSWx4dUlDQWdJQ0FnSUNCMFpYaDBQWHRuWlhSRFRFbFRaWFJTWldkcGMzUnllU2hnSkh0T1QwUkZYMDFCVGtGSFJWSXVjRzV3YlgwZ1lXUmtkWE5sY21Bc0lISmxaMmx6ZEhKNVZYSnNLWDFjYmlBZ0lDQWdJQzgrWEc0Z0lDQWdJQ0E4UTI5d2VVTnNhWEJpYjJGeVpGeHVJQ0FnSUNBZ0lDQmtZWFJoVkdWemRFbGtQVndpWTI5d2VWd2lYRzRnSUNBZ0lDQWdJSFJsZUhROWUyZGxkRU5NU1VOb1lXNW5aVkJoYzNOM2IzSmtLRTVQUkVWZlRVRk9RVWRGVWk1d2JuQnRMQ0J5WldkcGMzUnllVlZ5YkNsOVhHNGdJQ0FnSUNBdlBseHVJQ0FnSUR3dlFtOTRQbHh1SUNBcE8xeHVmVHRjYmx4dVkyOXVjM1FnY21WdVpHVnlXV0Z5YmxSaFlpQTlJQ2h6WTI5d1pUb2djM1J5YVc1bklId2dkVzVrWldacGJtVmtMQ0J5WldkcGMzUnllVlZ5YkRvZ2MzUnlhVzVuS1RvZ1NsTllMa1ZzWlcxbGJuUWdQVDRnZTF4dUlDQnlaWFIxY200Z0tGeHVJQ0FnSUR4Q2IzZ2daR2x6Y0d4aGVUMWNJbVpzWlhoY0lpQm1iR1Y0UkdseVpXTjBhVzl1UFZ3aVkyOXNkVzF1WENJK1hHNGdJQ0FnSUNBOFEyOXdlVU5zYVhCaWIyRnlaRnh1SUNBZ0lDQWdJQ0JrWVhSaFZHVnpkRWxrUFZ3aVkyOXdlVndpWEc0Z0lDQWdJQ0FnSUhSbGVIUTllMmRsZEVOTVNWTmxkRU52Ym1acFoxSmxaMmx6ZEhKNUtHQWtlMDVQUkVWZlRVRk9RVWRGVWk1NVlYSnVmU0JqYjI1bWFXY2djMlYwWUN3Z2MyTnZjR1VzSUhKbFoybHpkSEo1VlhKc0tYMWNiaUFnSUNBZ0lDOCtYRzRnSUNBZ1BDOUNiM2crWEc0Z0lDazdYRzU5TzF4dVhHNWpiMjV6ZENCeVpXNWtaWEpaWVhKdVFtVnljbmxVWVdJZ1BTQW9jMk52Y0dVNklITjBjbWx1WnlCOElIVnVaR1ZtYVc1bFpDd2djbVZuYVhOMGNubFZjbXc2SUhOMGNtbHVaeWs2SUVwVFdDNUZiR1Z0Wlc1MElEMCtJSHRjYmlBZ2NtVjBkWEp1SUNoY2JpQWdJQ0E4UW05NElHUnBjM0JzWVhrOVhDSm1iR1Y0WENJZ1pteGxlRVJwY21WamRHbHZiajFjSW1OdmJIVnRibHdpUGx4dUlDQWdJQ0FnUEVOdmNIbERiR2x3WW05aGNtUWdaR0YwWVZSbGMzUkpaRDFjSW1OdmNIbGNJaUIwWlhoMFBYdG5aWFJEVEVsVFFtVnljbmxaWVcxc1VtVm5hWE4wY25rb2MyTnZjR1VzSUhKbFoybHpkSEo1VlhKc0tYMGdMejVjYmlBZ0lDQThMMEp2ZUQ1Y2JpQWdLVHRjYm4wN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCQlkyTnZjbVJwYjI1RGIyNTBZV2x1WlhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwS0h0Y2JpQWdjR0ZrWkdsdVp6b2dNQ3hjYmlBZ2NHRmtaR2x1WjB4bFpuUTZJREFzWEc0Z0lIQmhaR1JwYm1kU2FXZG9kRG9nTUN4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdRMjl0YldGdVpFTnZiblJoYVc1bGNpQTlJSE4wZVd4bFpDZ25aR2wySnlrb2UxeHVJQ0J3WVdSa2FXNW5PaUExTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQk1hVzVyUTI5dWRHRnBibVZ5SUQwZ2MzUjViR1ZrS0Nka2FYWW5LU2g3WEc0Z0lHMWhjbWRwYmpvZ01UQXNYRzRnSUcxaGNtZHBia3hsWm5RNklEQXNYRzU5S1R0Y2JseHVaWGh3YjNKMElIUjVjR1VnVUhKdmNITWdQU0I3WEc0Z0lISmxaMmx6ZEhKNVZYSnNPaUJ6ZEhKcGJtYzdYRzRnSUhOamIzQmxPaUJ6ZEhKcGJtY2dmQ0IxYm1SbFptbHVaV1E3WEc1OU8xeHVYRzVqYjI1emRDQlNaV2RwYzNSeWVVbHVabTlEYjI1MFpXNTBPaUJHUXp4UWNtOXdjejRnUFNBb2V5QnpZMjl3WlN3Z2NtVm5hWE4wY25sVmNtd2dmU2tnUFQ0Z2UxeHVJQ0JqYjI1emRDQjdJSFFnZlNBOUlIVnpaVlJ5WVc1emJHRjBhVzl1S0NrN1hHNGdJR052Ym5OMElIc2dZMjl1Wm1sblQzQjBhVzl1Y3lCOUlEMGdkWE5sUTI5dVptbG5LQ2s3WEc1Y2JpQWdZMjl1YzNRZ2FHRnpUbkJ0SUQwZ1kyOXVabWxuVDNCMGFXOXVjejh1Y0d0blRXRnVZV2RsY25NL0xtbHVZMngxWkdWektDZHVjRzBuS1R0Y2JpQWdZMjl1YzNRZ2FHRnpXV0Z5YmlBOUlHTnZibVpwWjA5d2RHbHZibk0vTG5CclowMWhibUZuWlhKelB5NXBibU5zZFdSbGN5Z25lV0Z5YmljcE8xeHVJQ0JqYjI1emRDQm9ZWE5RYm5CdElEMGdZMjl1Wm1sblQzQjBhVzl1Y3o4dWNHdG5UV0Z1WVdkbGNuTS9MbWx1WTJ4MVpHVnpLQ2R3Ym5CdEp5azdYRzRnSUM4dklGUlBSRTg2SUhkbElHTmhiaUJwYlhCeWIzWmxJSFJvYVhNZ2JHOW5hV01zSUdWNGNHRnVaR2x1WnlCdmJteDVJRzl1WlNCaFkyTnZjbVJwYjI0Z1ltRnpaV1FnYjI0Z2QyaHBZMmdnY0dGamEyRm5aU0J0WVc1aFoyVnlJR2x6SUdWdVlXSnNaV1JjYmlBZ0x5OGdabVZsYkNCbWNtVmxJSFJ2SUdOdmJuUnlhV0oxZEdVZ2FHVnlaVnh1SUNCeVpYUjFjbTRnS0Z4dUlDQWdJRHcrWEc0Z0lDQWdJQ0E4VkdWNGRFTnZiblJsYm5RK2UzUW9KM0JoWTJ0aFoyVk5ZVzVoWjJWeWN5NWtaWE5qY21sd2RHbHZiaWNwZlR3dlZHVjRkRU52Ym5SbGJuUStYRzRnSUNBZ0lDQThRV05qYjNKa2FXOXVRMjl1ZEdGcGJtVnlQbHh1SUNBZ0lDQWdJQ0E4UVdOamIzSmthVzl1SUdScGMyRmliR1ZrUFhzaGFHRnpUbkJ0ZlQ1Y2JpQWdJQ0FnSUNBZ0lDQThRV05qYjNKa2FXOXVVM1Z0YldGeWVWeHVJQ0FnSUNBZ0lDQWdJQ0FnWVhKcFlTMWpiMjUwY205c2N6MWNJbkJoYm1Wc01XRXRZMjl1ZEdWdWRGd2lYRzRnSUNBZ0lDQWdJQ0FnSUNCbGVIQmhibVJKWTI5dVBYczhSWGh3WVc1a1RXOXlaVWxqYjI0Z0x6NTlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFpEMWNJbkJoYm1Wc01XRXRhR1ZoWkdWeVhDSmNiaUFnSUNBZ0lDQWdJQ0ErWEc0Z0lDQWdJQ0FnSUNBZ0lDQThWSGx3YjJkeVlYQm9lU0J6ZUQxN2V5Qm1iMjUwVTJsNlpUb2dKekZ5WlcwbkxDQm1iMjUwVjJWcFoyaDBPaUFuWW05c1pDY2dmWDArZXlkdWNHMG5mVHd2Vkhsd2IyZHlZWEJvZVQ1Y2JpQWdJQ0FnSUNBZ0lDQThMMEZqWTI5eVpHbHZibE4xYlcxaGNuaytYRzRnSUNBZ0lDQWdJQ0FnUEVGalkyOXlaR2x2YmtSbGRHRnBiSE0rWEc0Z0lDQWdJQ0FnSUNBZ0lDQThRMjl0YldGdVpFTnZiblJoYVc1bGNpQmtZWFJoTFhSbGMzUnBaRDE3SjNSaFlpMWpiMjUwWlc1MEozMCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIdHlaVzVrWlhKT2NHMVVZV0lvYzJOdmNHVXNJSEpsWjJsemRISjVWWEpzS1gxY2JpQWdJQ0FnSUNBZ0lDQWdJRHd2UTI5dGJXRnVaRU52Ym5SaGFXNWxjajVjYmlBZ0lDQWdJQ0FnSUNBOEwwRmpZMjl5WkdsdmJrUmxkR0ZwYkhNK1hHNGdJQ0FnSUNBZ0lEd3ZRV05qYjNKa2FXOXVQbHh1SUNBZ0lDQWdJQ0E4UVdOamIzSmthVzl1SUdScGMyRmliR1ZrUFhzaGFHRnpXV0Z5Ym4wK1hHNGdJQ0FnSUNBZ0lDQWdQRUZqWTI5eVpHbHZibE4xYlcxaGNubGNiaUFnSUNBZ0lDQWdJQ0FnSUdGeWFXRXRZMjl1ZEhKdmJITTlYQ0p3WVc1bGJESmhMV052Ym5SbGJuUmNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pYaHdZVzVrU1dOdmJqMTdQRVY0Y0dGdVpFMXZjbVZKWTI5dUlDOCtmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2FXUTlYQ0p3WVc1bGJESmhMV2hsWVdSbGNsd2lYRzRnSUNBZ0lDQWdJQ0FnUGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRlI1Y0c5bmNtRndhSGtnYzNnOWUzc2dabTl1ZEZOcGVtVTZJQ2N4Y21WdEp5d2dabTl1ZEZkbGFXZG9kRG9nSjJKdmJHUW5JSDE5UG5zbmVXRnliaWQ5UEM5VWVYQnZaM0poY0doNVBseHVJQ0FnSUNBZ0lDQWdJRHd2UVdOamIzSmthVzl1VTNWdGJXRnllVDVjYmlBZ0lDQWdJQ0FnSUNBOFFXTmpiM0prYVc5dVJHVjBZV2xzY3o1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHhFWlhOamNtbHdkR2x2Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEZKbFlXTjBUV0Z5YTJSdmQyNCtlM1FvSjNCaFkydGhaMlZOWVc1aFoyVnljeTU1WVhKdVkyeGhjM05wWTBSbGRHRnBiSE1uS1gwOEwxSmxZV04wVFdGeWEyUnZkMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQThMMFJsYzJOeWFYQjBhVzl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRU52YlcxaGJtUkRiMjUwWVdsdVpYSWdaR0YwWVMxMFpYTjBhV1E5ZXlkMFlXSXRZMjl1ZEdWdWRDZDlQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjdjbVZ1WkdWeVdXRnlibFJoWWloelkyOXdaU3dnY21WbmFYTjBjbmxWY213cGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnUEM5RGIyMXRZVzVrUTI5dWRHRnBibVZ5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRVJsYzJOeWFYQjBhVzl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4VW1WaFkzUk5ZWEpyWkc5M2JqNTdkQ2duY0dGamEyRm5aVTFoYm1GblpYSnpMbmxoY201Q1pYSnllVVJsZEdGcGJITW5LWDA4TDFKbFlXTjBUV0Z5YTJSdmQyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBOEwwUmxjMk55YVhCMGFXOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BFTnZiVzFoYm1SRGIyNTBZV2x1WlhJZ1pHRjBZUzEwWlhOMGFXUTlleWQwWVdJdFkyOXVkR1Z1ZENkOVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCN2NtVnVaR1Z5V1dGeWJrSmxjbko1VkdGaUtITmpiM0JsTENCeVpXZHBjM1J5ZVZWeWJDbDlYRzRnSUNBZ0lDQWdJQ0FnSUNBOEwwTnZiVzFoYm1SRGIyNTBZV2x1WlhJK1hHNGdJQ0FnSUNBZ0lDQWdQQzlCWTJOdmNtUnBiMjVFWlhSaGFXeHpQbHh1SUNBZ0lDQWdJQ0E4TDBGalkyOXlaR2x2Ymo1Y2JseHVJQ0FnSUNBZ0lDQThRV05qYjNKa2FXOXVJR1JwYzJGaWJHVmtQWHNoYUdGelVHNXdiWDArWEc0Z0lDQWdJQ0FnSUNBZ1BFRmpZMjl5WkdsdmJsTjFiVzFoY25sY2JpQWdJQ0FnSUNBZ0lDQWdJR0Z5YVdFdFkyOXVkSEp2YkhNOVhDSndZVzVsYkROaExXTnZiblJsYm5SY0lseHVJQ0FnSUNBZ0lDQWdJQ0FnWlhod1lXNWtTV052YmoxN1BFVjRjR0Z1WkUxdmNtVkpZMjl1SUM4K2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdROVhDSndZVzVsYkROaExXaGxZV1JsY2x3aVhHNGdJQ0FnSUNBZ0lDQWdQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BGUjVjRzluY21Gd2FIa2djM2c5ZTNzZ1ptOXVkRk5wZW1VNklDY3hjbVZ0Snl3Z1ptOXVkRmRsYVdkb2REb2dKMkp2YkdRbklIMTlQbnNuY0c1d2JTZDlQQzlVZVhCdlozSmhjR2g1UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZRV05qYjNKa2FXOXVVM1Z0YldGeWVUNWNiaUFnSUNBZ0lDQWdJQ0E4UVdOamIzSmthVzl1UkdWMFlXbHNjejVjYmlBZ0lDQWdJQ0FnSUNBZ0lEeERiMjF0WVc1a1EyOXVkR0ZwYm1WeUlHUmhkR0V0ZEdWemRHbGtQWHNuZEdGaUxXTnZiblJsYm5RbmZUNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2UzSmxibVJsY2xCdWNHMVVZV0lvYzJOdmNHVXNJSEpsWjJsemRISjVWWEpzS1gxY2JpQWdJQ0FnSUNBZ0lDQWdJRHd2UTI5dGJXRnVaRU52Ym5SaGFXNWxjajVjYmlBZ0lDQWdJQ0FnSUNBOEwwRmpZMjl5WkdsdmJrUmxkR0ZwYkhNK1hHNGdJQ0FnSUNBZ0lEd3ZRV05qYjNKa2FXOXVQbHh1WEc0Z0lDQWdJQ0FnSUR4TWFXNXJRMjl1ZEdGcGJtVnlQbHh1SUNBZ0lDQWdJQ0FnSUR4TWFXNXJJR2h5WldZOVhDSm9kSFJ3Y3pvdkwzWmxjbVJoWTJOcGJ5NXZjbWN2Wkc5amN5OWxiaTlqYkdrdGNtVm5hWE4wY25sY0lpQjBZWEpuWlhROVhDSmZZbXhoYm10Y0lqNWNiaUFnSUNBZ0lDQWdJQ0FnSUR4VWVYQnZaM0poY0doNVBudDBLQ2RvWldGa1pYSXVjbVZuYVhOMGNua3RhVzVtYnkxc2FXNXJKeWw5UEM5VWVYQnZaM0poY0doNVBseHVJQ0FnSUNBZ0lDQWdJRHd2VEdsdWF6NWNiaUFnSUNBZ0lDQWdQQzlNYVc1clEyOXVkR0ZwYm1WeVBseHVJQ0FnSUNBZ1BDOUJZMk52Y21ScGIyNURiMjUwWVdsdVpYSStYRzRnSUNBZ1BDOCtYRzRnSUNrN1hHNTlPMXh1WEc1bGVIQnZjblFnWkdWbVlYVnNkQ0JTWldkcGMzUnllVWx1Wm05RGIyNTBaVzUwTzF4dUlsMTkgKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBMaW5rQ29udGFpbmVyID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJkaXZcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTFobDN5Z3MwXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxaGwzeWdzMFwiLFxuXHRsYWJlbDogXCJMaW5rQ29udGFpbmVyXCJcbn0pKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcblx0bmFtZTogXCJvNzN6ajZcIixcblx0c3R5bGVzOiBcIm1hcmdpbjoxMHB4O21hcmdpbi1sZWZ0OjBcIlxufSA6IHtcblx0bmFtZTogXCJvNzN6ajZcIixcblx0c3R5bGVzOiBcIm1hcmdpbjoxMHB4O21hcmdpbi1sZWZ0OjAvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12U0dWaFpHVnlMMUpsWjJsemRISjVTVzVtYjBOdmJuUmxiblF2VW1WbmFYTjBjbmxKYm1adlEyOXVkR1Z1ZEM1MGMzZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJOa1kyUWlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwzTmxZM1JwYjI1ekwwaGxZV1JsY2k5U1pXZHBjM1J5ZVVsdVptOURiMjUwWlc1MEwxSmxaMmx6ZEhKNVNXNW1iME52Ym5SbGJuUXVkSE40SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVhVzF3YjNKMElFVjRjR0Z1WkUxdmNtVkpZMjl1SUdaeWIyMGdKMEJ0ZFdrdmFXTnZibk10YldGMFpYSnBZV3d2Ulhod1lXNWtUVzl5WlNjN1hHNXBiWEJ2Y25RZ1FXTmpiM0prYVc5dUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZRV05qYjNKa2FXOXVKenRjYm1sdGNHOXlkQ0JCWTJOdmNtUnBiMjVFWlhSaGFXeHpJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2UVdOamIzSmthVzl1UkdWMFlXbHNjeWM3WEc1cGJYQnZjblFnUVdOamIzSmthVzl1VTNWdGJXRnllU0JtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDBGalkyOXlaR2x2YmxOMWJXMWhjbmtuTzF4dWFXMXdiM0owSUVKdmVDQm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMEp2ZUNjN1hHNXBiWEJ2Y25RZ1RHbHVheUJtY205dElDZEFiWFZwTDIxaGRHVnlhV0ZzTDB4cGJtc25PMXh1YVcxd2IzSjBJRlI1Y0c5bmNtRndhSGtnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5VWVYQnZaM0poY0doNUp6dGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1JrTWdmU0JtY205dElDZHlaV0ZqZENjN1hHNXBiWEJ2Y25RZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHVhVzF3YjNKMElIc2dkWE5sVkhKaGJuTnNZWFJwYjI0Z2ZTQm1jbTl0SUNkeVpXRmpkQzFwTVRodVpYaDBKenRjYm1sdGNHOXlkQ0JTWldGamRFMWhjbXRrYjNkdUlHWnliMjBnSjNKbFlXTjBMVzFoY210a2IzZHVKenRjYmx4dWFXMXdiM0owSUh0Y2JpQWdRMjl3ZVVOc2FYQmliMkZ5WkN4Y2JpQWdaMlYwUTB4SlEyaGhibWRsVUdGemMzZHZjbVFzWEc0Z0lHZGxkRU5NU1ZOQ1pYSnllVmxoYld4U1pXZHBjM1J5ZVN4Y2JpQWdaMlYwUTB4SlUyVjBRMjl1Wm1sblVtVm5hWE4wY25rc1hHNGdJR2RsZEVOTVNWTmxkRkpsWjJsemRISjVMRnh1SUNCMWMyVkRiMjVtYVdjc1hHNTlJR1p5YjIwZ0p5NHVMeTR1THk0dUx5YzdYRzVwYlhCdmNuUWdleUJFWlhOamNtbHdkR2x2Yml3Z1ZHVjRkRU52Ym5SbGJuUWdmU0JtY205dElDY3VMM04wZVd4bGN5YzdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQk9UMFJGWDAxQlRrRkhSVklnUFNCN1hHNGdJRzV3YlRvZ0oyNXdiU2NzWEc0Z0lIbGhjbTQ2SUNkNVlYSnVKeXhjYmlBZ2NHNXdiVG9nSjNCdWNHMG5MRnh1ZlR0Y2JseHVZMjl1YzNRZ2NtVnVaR1Z5VG5CdFZHRmlJRDBnS0hOamIzQmxPaUJ6ZEhKcGJtY2dmQ0IxYm1SbFptbHVaV1FzSUhKbFoybHpkSEo1VlhKc09pQnpkSEpwYm1jcE9pQktVMWd1Uld4bGJXVnVkQ0E5UGlCN1hHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BFSnZlQ0JrYVhOd2JHRjVQVndpWm14bGVGd2lJR1pzWlhoRWFYSmxZM1JwYjI0OVhDSmpiMngxYlc1Y0lqNWNiaUFnSUNBZ0lEeERiM0I1UTJ4cGNHSnZZWEprWEc0Z0lDQWdJQ0FnSUdSaGRHRlVaWE4wU1dROVhDSmpiM0I1WENKY2JpQWdJQ0FnSUNBZ2RHVjRkRDE3WjJWMFEweEpVMlYwUTI5dVptbG5VbVZuYVhOMGNua29ZQ1I3VGs5RVJWOU5RVTVCUjBWU0xtNXdiWDBnYzJWMFlDd2djMk52Y0dVc0lISmxaMmx6ZEhKNVZYSnNLWDFjYmlBZ0lDQWdJQzgrWEc0Z0lDQWdJQ0E4UTI5d2VVTnNhWEJpYjJGeVpGeHVJQ0FnSUNBZ0lDQmtZWFJoVkdWemRFbGtQVndpWTI5d2VWd2lYRzRnSUNBZ0lDQWdJSFJsZUhROWUyZGxkRU5NU1ZObGRGSmxaMmx6ZEhKNUtHQWtlMDVQUkVWZlRVRk9RVWRGVWk1dWNHMTlJR0ZrWkhWelpYSmdMQ0J5WldkcGMzUnllVlZ5YkNsOVhHNGdJQ0FnSUNBdlBseHVJQ0FnSUNBZ1BFTnZjSGxEYkdsd1ltOWhjbVFnWkdGMFlWUmxjM1JKWkQxY0ltTnZjSGxjSWlCMFpYaDBQWHRuWlhSRFRFbERhR0Z1WjJWUVlYTnpkMjl5WkNoT1QwUkZYMDFCVGtGSFJWSXVibkJ0TENCeVpXZHBjM1J5ZVZWeWJDbDlJQzgrWEc0Z0lDQWdQQzlDYjNnK1hHNGdJQ2s3WEc1OU8xeHVYRzVqYjI1emRDQnlaVzVrWlhKUWJuQnRWR0ZpSUQwZ0tITmpiM0JsT2lCemRISnBibWNnZkNCMWJtUmxabWx1WldRc0lISmxaMmx6ZEhKNVZYSnNPaUJ6ZEhKcGJtY3BPaUJLVTFndVJXeGxiV1Z1ZENBOVBpQjdYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRUp2ZUNCa2FYTndiR0Y1UFZ3aVpteGxlRndpSUdac1pYaEVhWEpsWTNScGIyNDlYQ0pqYjJ4MWJXNWNJajVjYmlBZ0lDQWdJRHhEYjNCNVEyeHBjR0p2WVhKa1hHNGdJQ0FnSUNBZ0lHUmhkR0ZVWlhOMFNXUTlYQ0pqYjNCNVhDSmNiaUFnSUNBZ0lDQWdkR1Y0ZEQxN1oyVjBRMHhKVTJWMFEyOXVabWxuVW1WbmFYTjBjbmtvWUNSN1RrOUVSVjlOUVU1QlIwVlNMbkJ1Y0cxOUlITmxkR0FzSUhOamIzQmxMQ0J5WldkcGMzUnllVlZ5YkNsOVhHNGdJQ0FnSUNBdlBseHVJQ0FnSUNBZ1BFTnZjSGxEYkdsd1ltOWhjbVJjYmlBZ0lDQWdJQ0FnWkdGMFlWUmxjM1JKWkQxY0ltTnZjSGxjSWx4dUlDQWdJQ0FnSUNCMFpYaDBQWHRuWlhSRFRFbFRaWFJTWldkcGMzUnllU2hnSkh0T1QwUkZYMDFCVGtGSFJWSXVjRzV3YlgwZ1lXUmtkWE5sY21Bc0lISmxaMmx6ZEhKNVZYSnNLWDFjYmlBZ0lDQWdJQzgrWEc0Z0lDQWdJQ0E4UTI5d2VVTnNhWEJpYjJGeVpGeHVJQ0FnSUNBZ0lDQmtZWFJoVkdWemRFbGtQVndpWTI5d2VWd2lYRzRnSUNBZ0lDQWdJSFJsZUhROWUyZGxkRU5NU1VOb1lXNW5aVkJoYzNOM2IzSmtLRTVQUkVWZlRVRk9RVWRGVWk1d2JuQnRMQ0J5WldkcGMzUnllVlZ5YkNsOVhHNGdJQ0FnSUNBdlBseHVJQ0FnSUR3dlFtOTRQbHh1SUNBcE8xeHVmVHRjYmx4dVkyOXVjM1FnY21WdVpHVnlXV0Z5YmxSaFlpQTlJQ2h6WTI5d1pUb2djM1J5YVc1bklId2dkVzVrWldacGJtVmtMQ0J5WldkcGMzUnllVlZ5YkRvZ2MzUnlhVzVuS1RvZ1NsTllMa1ZzWlcxbGJuUWdQVDRnZTF4dUlDQnlaWFIxY200Z0tGeHVJQ0FnSUR4Q2IzZ2daR2x6Y0d4aGVUMWNJbVpzWlhoY0lpQm1iR1Y0UkdseVpXTjBhVzl1UFZ3aVkyOXNkVzF1WENJK1hHNGdJQ0FnSUNBOFEyOXdlVU5zYVhCaWIyRnlaRnh1SUNBZ0lDQWdJQ0JrWVhSaFZHVnpkRWxrUFZ3aVkyOXdlVndpWEc0Z0lDQWdJQ0FnSUhSbGVIUTllMmRsZEVOTVNWTmxkRU52Ym1acFoxSmxaMmx6ZEhKNUtHQWtlMDVQUkVWZlRVRk9RVWRGVWk1NVlYSnVmU0JqYjI1bWFXY2djMlYwWUN3Z2MyTnZjR1VzSUhKbFoybHpkSEo1VlhKc0tYMWNiaUFnSUNBZ0lDOCtYRzRnSUNBZ1BDOUNiM2crWEc0Z0lDazdYRzU5TzF4dVhHNWpiMjV6ZENCeVpXNWtaWEpaWVhKdVFtVnljbmxVWVdJZ1BTQW9jMk52Y0dVNklITjBjbWx1WnlCOElIVnVaR1ZtYVc1bFpDd2djbVZuYVhOMGNubFZjbXc2SUhOMGNtbHVaeWs2SUVwVFdDNUZiR1Z0Wlc1MElEMCtJSHRjYmlBZ2NtVjBkWEp1SUNoY2JpQWdJQ0E4UW05NElHUnBjM0JzWVhrOVhDSm1iR1Y0WENJZ1pteGxlRVJwY21WamRHbHZiajFjSW1OdmJIVnRibHdpUGx4dUlDQWdJQ0FnUEVOdmNIbERiR2x3WW05aGNtUWdaR0YwWVZSbGMzUkpaRDFjSW1OdmNIbGNJaUIwWlhoMFBYdG5aWFJEVEVsVFFtVnljbmxaWVcxc1VtVm5hWE4wY25rb2MyTnZjR1VzSUhKbFoybHpkSEo1VlhKc0tYMGdMejVjYmlBZ0lDQThMMEp2ZUQ1Y2JpQWdLVHRjYm4wN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCQlkyTnZjbVJwYjI1RGIyNTBZV2x1WlhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwS0h0Y2JpQWdjR0ZrWkdsdVp6b2dNQ3hjYmlBZ2NHRmtaR2x1WjB4bFpuUTZJREFzWEc0Z0lIQmhaR1JwYm1kU2FXZG9kRG9nTUN4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdRMjl0YldGdVpFTnZiblJoYVc1bGNpQTlJSE4wZVd4bFpDZ25aR2wySnlrb2UxeHVJQ0J3WVdSa2FXNW5PaUExTEZ4dWZTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQk1hVzVyUTI5dWRHRnBibVZ5SUQwZ2MzUjViR1ZrS0Nka2FYWW5LU2g3WEc0Z0lHMWhjbWRwYmpvZ01UQXNYRzRnSUcxaGNtZHBia3hsWm5RNklEQXNYRzU5S1R0Y2JseHVaWGh3YjNKMElIUjVjR1VnVUhKdmNITWdQU0I3WEc0Z0lISmxaMmx6ZEhKNVZYSnNPaUJ6ZEhKcGJtYzdYRzRnSUhOamIzQmxPaUJ6ZEhKcGJtY2dmQ0IxYm1SbFptbHVaV1E3WEc1OU8xeHVYRzVqYjI1emRDQlNaV2RwYzNSeWVVbHVabTlEYjI1MFpXNTBPaUJHUXp4UWNtOXdjejRnUFNBb2V5QnpZMjl3WlN3Z2NtVm5hWE4wY25sVmNtd2dmU2tnUFQ0Z2UxeHVJQ0JqYjI1emRDQjdJSFFnZlNBOUlIVnpaVlJ5WVc1emJHRjBhVzl1S0NrN1hHNGdJR052Ym5OMElIc2dZMjl1Wm1sblQzQjBhVzl1Y3lCOUlEMGdkWE5sUTI5dVptbG5LQ2s3WEc1Y2JpQWdZMjl1YzNRZ2FHRnpUbkJ0SUQwZ1kyOXVabWxuVDNCMGFXOXVjejh1Y0d0blRXRnVZV2RsY25NL0xtbHVZMngxWkdWektDZHVjRzBuS1R0Y2JpQWdZMjl1YzNRZ2FHRnpXV0Z5YmlBOUlHTnZibVpwWjA5d2RHbHZibk0vTG5CclowMWhibUZuWlhKelB5NXBibU5zZFdSbGN5Z25lV0Z5YmljcE8xeHVJQ0JqYjI1emRDQm9ZWE5RYm5CdElEMGdZMjl1Wm1sblQzQjBhVzl1Y3o4dWNHdG5UV0Z1WVdkbGNuTS9MbWx1WTJ4MVpHVnpLQ2R3Ym5CdEp5azdYRzRnSUM4dklGUlBSRTg2SUhkbElHTmhiaUJwYlhCeWIzWmxJSFJvYVhNZ2JHOW5hV01zSUdWNGNHRnVaR2x1WnlCdmJteDVJRzl1WlNCaFkyTnZjbVJwYjI0Z1ltRnpaV1FnYjI0Z2QyaHBZMmdnY0dGamEyRm5aU0J0WVc1aFoyVnlJR2x6SUdWdVlXSnNaV1JjYmlBZ0x5OGdabVZsYkNCbWNtVmxJSFJ2SUdOdmJuUnlhV0oxZEdVZ2FHVnlaVnh1SUNCeVpYUjFjbTRnS0Z4dUlDQWdJRHcrWEc0Z0lDQWdJQ0E4VkdWNGRFTnZiblJsYm5RK2UzUW9KM0JoWTJ0aFoyVk5ZVzVoWjJWeWN5NWtaWE5qY21sd2RHbHZiaWNwZlR3dlZHVjRkRU52Ym5SbGJuUStYRzRnSUNBZ0lDQThRV05qYjNKa2FXOXVRMjl1ZEdGcGJtVnlQbHh1SUNBZ0lDQWdJQ0E4UVdOamIzSmthVzl1SUdScGMyRmliR1ZrUFhzaGFHRnpUbkJ0ZlQ1Y2JpQWdJQ0FnSUNBZ0lDQThRV05qYjNKa2FXOXVVM1Z0YldGeWVWeHVJQ0FnSUNBZ0lDQWdJQ0FnWVhKcFlTMWpiMjUwY205c2N6MWNJbkJoYm1Wc01XRXRZMjl1ZEdWdWRGd2lYRzRnSUNBZ0lDQWdJQ0FnSUNCbGVIQmhibVJKWTI5dVBYczhSWGh3WVc1a1RXOXlaVWxqYjI0Z0x6NTlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFpEMWNJbkJoYm1Wc01XRXRhR1ZoWkdWeVhDSmNiaUFnSUNBZ0lDQWdJQ0ErWEc0Z0lDQWdJQ0FnSUNBZ0lDQThWSGx3YjJkeVlYQm9lU0J6ZUQxN2V5Qm1iMjUwVTJsNlpUb2dKekZ5WlcwbkxDQm1iMjUwVjJWcFoyaDBPaUFuWW05c1pDY2dmWDArZXlkdWNHMG5mVHd2Vkhsd2IyZHlZWEJvZVQ1Y2JpQWdJQ0FnSUNBZ0lDQThMMEZqWTI5eVpHbHZibE4xYlcxaGNuaytYRzRnSUNBZ0lDQWdJQ0FnUEVGalkyOXlaR2x2YmtSbGRHRnBiSE0rWEc0Z0lDQWdJQ0FnSUNBZ0lDQThRMjl0YldGdVpFTnZiblJoYVc1bGNpQmtZWFJoTFhSbGMzUnBaRDE3SjNSaFlpMWpiMjUwWlc1MEozMCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIdHlaVzVrWlhKT2NHMVVZV0lvYzJOdmNHVXNJSEpsWjJsemRISjVWWEpzS1gxY2JpQWdJQ0FnSUNBZ0lDQWdJRHd2UTI5dGJXRnVaRU52Ym5SaGFXNWxjajVjYmlBZ0lDQWdJQ0FnSUNBOEwwRmpZMjl5WkdsdmJrUmxkR0ZwYkhNK1hHNGdJQ0FnSUNBZ0lEd3ZRV05qYjNKa2FXOXVQbHh1SUNBZ0lDQWdJQ0E4UVdOamIzSmthVzl1SUdScGMyRmliR1ZrUFhzaGFHRnpXV0Z5Ym4wK1hHNGdJQ0FnSUNBZ0lDQWdQRUZqWTI5eVpHbHZibE4xYlcxaGNubGNiaUFnSUNBZ0lDQWdJQ0FnSUdGeWFXRXRZMjl1ZEhKdmJITTlYQ0p3WVc1bGJESmhMV052Ym5SbGJuUmNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pYaHdZVzVrU1dOdmJqMTdQRVY0Y0dGdVpFMXZjbVZKWTI5dUlDOCtmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2FXUTlYQ0p3WVc1bGJESmhMV2hsWVdSbGNsd2lYRzRnSUNBZ0lDQWdJQ0FnUGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRlI1Y0c5bmNtRndhSGtnYzNnOWUzc2dabTl1ZEZOcGVtVTZJQ2N4Y21WdEp5d2dabTl1ZEZkbGFXZG9kRG9nSjJKdmJHUW5JSDE5UG5zbmVXRnliaWQ5UEM5VWVYQnZaM0poY0doNVBseHVJQ0FnSUNBZ0lDQWdJRHd2UVdOamIzSmthVzl1VTNWdGJXRnllVDVjYmlBZ0lDQWdJQ0FnSUNBOFFXTmpiM0prYVc5dVJHVjBZV2xzY3o1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHhFWlhOamNtbHdkR2x2Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEZKbFlXTjBUV0Z5YTJSdmQyNCtlM1FvSjNCaFkydGhaMlZOWVc1aFoyVnljeTU1WVhKdVkyeGhjM05wWTBSbGRHRnBiSE1uS1gwOEwxSmxZV04wVFdGeWEyUnZkMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQThMMFJsYzJOeWFYQjBhVzl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRU52YlcxaGJtUkRiMjUwWVdsdVpYSWdaR0YwWVMxMFpYTjBhV1E5ZXlkMFlXSXRZMjl1ZEdWdWRDZDlQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjdjbVZ1WkdWeVdXRnlibFJoWWloelkyOXdaU3dnY21WbmFYTjBjbmxWY213cGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnUEM5RGIyMXRZVzVrUTI5dWRHRnBibVZ5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRVJsYzJOeWFYQjBhVzl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4VW1WaFkzUk5ZWEpyWkc5M2JqNTdkQ2duY0dGamEyRm5aVTFoYm1GblpYSnpMbmxoY201Q1pYSnllVVJsZEdGcGJITW5LWDA4TDFKbFlXTjBUV0Z5YTJSdmQyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBOEwwUmxjMk55YVhCMGFXOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BFTnZiVzFoYm1SRGIyNTBZV2x1WlhJZ1pHRjBZUzEwWlhOMGFXUTlleWQwWVdJdFkyOXVkR1Z1ZENkOVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCN2NtVnVaR1Z5V1dGeWJrSmxjbko1VkdGaUtITmpiM0JsTENCeVpXZHBjM1J5ZVZWeWJDbDlYRzRnSUNBZ0lDQWdJQ0FnSUNBOEwwTnZiVzFoYm1SRGIyNTBZV2x1WlhJK1hHNGdJQ0FnSUNBZ0lDQWdQQzlCWTJOdmNtUnBiMjVFWlhSaGFXeHpQbHh1SUNBZ0lDQWdJQ0E4TDBGalkyOXlaR2x2Ymo1Y2JseHVJQ0FnSUNBZ0lDQThRV05qYjNKa2FXOXVJR1JwYzJGaWJHVmtQWHNoYUdGelVHNXdiWDArWEc0Z0lDQWdJQ0FnSUNBZ1BFRmpZMjl5WkdsdmJsTjFiVzFoY25sY2JpQWdJQ0FnSUNBZ0lDQWdJR0Z5YVdFdFkyOXVkSEp2YkhNOVhDSndZVzVsYkROaExXTnZiblJsYm5SY0lseHVJQ0FnSUNBZ0lDQWdJQ0FnWlhod1lXNWtTV052YmoxN1BFVjRjR0Z1WkUxdmNtVkpZMjl1SUM4K2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdROVhDSndZVzVsYkROaExXaGxZV1JsY2x3aVhHNGdJQ0FnSUNBZ0lDQWdQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BGUjVjRzluY21Gd2FIa2djM2c5ZTNzZ1ptOXVkRk5wZW1VNklDY3hjbVZ0Snl3Z1ptOXVkRmRsYVdkb2REb2dKMkp2YkdRbklIMTlQbnNuY0c1d2JTZDlQQzlVZVhCdlozSmhjR2g1UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZRV05qYjNKa2FXOXVVM1Z0YldGeWVUNWNiaUFnSUNBZ0lDQWdJQ0E4UVdOamIzSmthVzl1UkdWMFlXbHNjejVjYmlBZ0lDQWdJQ0FnSUNBZ0lEeERiMjF0WVc1a1EyOXVkR0ZwYm1WeUlHUmhkR0V0ZEdWemRHbGtQWHNuZEdGaUxXTnZiblJsYm5RbmZUNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2UzSmxibVJsY2xCdWNHMVVZV0lvYzJOdmNHVXNJSEpsWjJsemRISjVWWEpzS1gxY2JpQWdJQ0FnSUNBZ0lDQWdJRHd2UTI5dGJXRnVaRU52Ym5SaGFXNWxjajVjYmlBZ0lDQWdJQ0FnSUNBOEwwRmpZMjl5WkdsdmJrUmxkR0ZwYkhNK1hHNGdJQ0FnSUNBZ0lEd3ZRV05qYjNKa2FXOXVQbHh1WEc0Z0lDQWdJQ0FnSUR4TWFXNXJRMjl1ZEdGcGJtVnlQbHh1SUNBZ0lDQWdJQ0FnSUR4TWFXNXJJR2h5WldZOVhDSm9kSFJ3Y3pvdkwzWmxjbVJoWTJOcGJ5NXZjbWN2Wkc5amN5OWxiaTlqYkdrdGNtVm5hWE4wY25sY0lpQjBZWEpuWlhROVhDSmZZbXhoYm10Y0lqNWNiaUFnSUNBZ0lDQWdJQ0FnSUR4VWVYQnZaM0poY0doNVBudDBLQ2RvWldGa1pYSXVjbVZuYVhOMGNua3RhVzVtYnkxc2FXNXJKeWw5UEM5VWVYQnZaM0poY0doNVBseHVJQ0FnSUNBZ0lDQWdJRHd2VEdsdWF6NWNiaUFnSUNBZ0lDQWdQQzlNYVc1clEyOXVkR0ZwYm1WeVBseHVJQ0FnSUNBZ1BDOUJZMk52Y21ScGIyNURiMjUwWVdsdVpYSStYRzRnSUNBZ1BDOCtYRzRnSUNrN1hHNTlPMXh1WEc1bGVIQnZjblFnWkdWbVlYVnNkQ0JTWldkcGMzUnllVWx1Wm05RGIyNTBaVzUwTzF4dUlsMTkgKi9cIixcblx0dG9TdHJpbmc6IF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fXG59KTtcbnZhciBSZWdpc3RyeUluZm9Db250ZW50ID0gKHsgc2NvcGUsIHJlZ2lzdHJ5VXJsIH0pID0+IHtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRjb25zdCB7IGNvbmZpZ09wdGlvbnMgfSA9IHVzZUNvbmZpZygpO1xuXHRjb25zdCBoYXNOcG0gPSBjb25maWdPcHRpb25zPy5wa2dNYW5hZ2Vycz8uaW5jbHVkZXMoXCJucG1cIik7XG5cdGNvbnN0IGhhc1lhcm4gPSBjb25maWdPcHRpb25zPy5wa2dNYW5hZ2Vycz8uaW5jbHVkZXMoXCJ5YXJuXCIpO1xuXHRjb25zdCBoYXNQbnBtID0gY29uZmlnT3B0aW9ucz8ucGtnTWFuYWdlcnM/LmluY2x1ZGVzKFwicG5wbVwiKTtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKEZyYWdtZW50LCB7IGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChUZXh0Q29udGVudCwgeyBjaGlsZHJlbjogdChcInBhY2thZ2VNYW5hZ2Vycy5kZXNjcmlwdGlvblwiKSB9KSwgLyogQF9fUFVSRV9fICovIGpzeHMoQWNjb3JkaW9uQ29udGFpbmVyLCB7IGNoaWxkcmVuOiBbXG5cdFx0LyogQF9fUFVSRV9fICovIGpzeHMoQWNjb3JkaW9uLCB7XG5cdFx0XHRkaXNhYmxlZDogIWhhc05wbSxcblx0XHRcdGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChBY2NvcmRpb25TdW1tYXJ5LCB7XG5cdFx0XHRcdFwiYXJpYS1jb250cm9sc1wiOiBcInBhbmVsMWEtY29udGVudFwiLFxuXHRcdFx0XHRleHBhbmRJY29uOiAvKiBAX19QVVJFX18gKi8ganN4KEV4cGFuZE1vcmVJY29uLCB7fSksXG5cdFx0XHRcdGlkOiBcInBhbmVsMWEtaGVhZGVyXCIsXG5cdFx0XHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFR5cG9ncmFwaHksIHtcblx0XHRcdFx0XHRzeDoge1xuXHRcdFx0XHRcdFx0Zm9udFNpemU6IFwiMXJlbVwiLFxuXHRcdFx0XHRcdFx0Zm9udFdlaWdodDogXCJib2xkXCJcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGNoaWxkcmVuOiBcIm5wbVwiXG5cdFx0XHRcdH0pXG5cdFx0XHR9KSwgLyogQF9fUFVSRV9fICovIGpzeChBY2NvcmRpb25EZXRhaWxzLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KENvbW1hbmRDb250YWluZXIsIHtcblx0XHRcdFx0XCJkYXRhLXRlc3RpZFwiOiBcInRhYi1jb250ZW50XCIsXG5cdFx0XHRcdGNoaWxkcmVuOiByZW5kZXJOcG1UYWIoc2NvcGUsIHJlZ2lzdHJ5VXJsKVxuXHRcdFx0fSkgfSldXG5cdFx0fSksXG5cdFx0LyogQF9fUFVSRV9fICovIGpzeHMoQWNjb3JkaW9uLCB7XG5cdFx0XHRkaXNhYmxlZDogIWhhc1lhcm4sXG5cdFx0XHRjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goQWNjb3JkaW9uU3VtbWFyeSwge1xuXHRcdFx0XHRcImFyaWEtY29udHJvbHNcIjogXCJwYW5lbDJhLWNvbnRlbnRcIixcblx0XHRcdFx0ZXhwYW5kSWNvbjogLyogQF9fUFVSRV9fICovIGpzeChFeHBhbmRNb3JlSWNvbiwge30pLFxuXHRcdFx0XHRpZDogXCJwYW5lbDJhLWhlYWRlclwiLFxuXHRcdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChUeXBvZ3JhcGh5LCB7XG5cdFx0XHRcdFx0c3g6IHtcblx0XHRcdFx0XHRcdGZvbnRTaXplOiBcIjFyZW1cIixcblx0XHRcdFx0XHRcdGZvbnRXZWlnaHQ6IFwiYm9sZFwiXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRjaGlsZHJlbjogXCJ5YXJuXCJcblx0XHRcdFx0fSlcblx0XHRcdH0pLCAvKiBAX19QVVJFX18gKi8ganN4cyhBY2NvcmRpb25EZXRhaWxzLCB7IGNoaWxkcmVuOiBbXG5cdFx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goRGVzY3JpcHRpb24sIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goUmVhY3RNYXJrZG93biwgeyBjaGlsZHJlbjogdChcInBhY2thZ2VNYW5hZ2Vycy55YXJuY2xhc3NpY0RldGFpbHNcIikgfSkgfSksXG5cdFx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goQ29tbWFuZENvbnRhaW5lciwge1xuXHRcdFx0XHRcdFwiZGF0YS10ZXN0aWRcIjogXCJ0YWItY29udGVudFwiLFxuXHRcdFx0XHRcdGNoaWxkcmVuOiByZW5kZXJZYXJuVGFiKHNjb3BlLCByZWdpc3RyeVVybClcblx0XHRcdFx0fSksXG5cdFx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goRGVzY3JpcHRpb24sIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goUmVhY3RNYXJrZG93biwgeyBjaGlsZHJlbjogdChcInBhY2thZ2VNYW5hZ2Vycy55YXJuQmVycnlEZXRhaWxzXCIpIH0pIH0pLFxuXHRcdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KENvbW1hbmRDb250YWluZXIsIHtcblx0XHRcdFx0XHRcImRhdGEtdGVzdGlkXCI6IFwidGFiLWNvbnRlbnRcIixcblx0XHRcdFx0XHRjaGlsZHJlbjogcmVuZGVyWWFybkJlcnJ5VGFiKHNjb3BlLCByZWdpc3RyeVVybClcblx0XHRcdFx0fSlcblx0XHRcdF0gfSldXG5cdFx0fSksXG5cdFx0LyogQF9fUFVSRV9fICovIGpzeHMoQWNjb3JkaW9uLCB7XG5cdFx0XHRkaXNhYmxlZDogIWhhc1BucG0sXG5cdFx0XHRjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goQWNjb3JkaW9uU3VtbWFyeSwge1xuXHRcdFx0XHRcImFyaWEtY29udHJvbHNcIjogXCJwYW5lbDNhLWNvbnRlbnRcIixcblx0XHRcdFx0ZXhwYW5kSWNvbjogLyogQF9fUFVSRV9fICovIGpzeChFeHBhbmRNb3JlSWNvbiwge30pLFxuXHRcdFx0XHRpZDogXCJwYW5lbDNhLWhlYWRlclwiLFxuXHRcdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChUeXBvZ3JhcGh5LCB7XG5cdFx0XHRcdFx0c3g6IHtcblx0XHRcdFx0XHRcdGZvbnRTaXplOiBcIjFyZW1cIixcblx0XHRcdFx0XHRcdGZvbnRXZWlnaHQ6IFwiYm9sZFwiXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRjaGlsZHJlbjogXCJwbnBtXCJcblx0XHRcdFx0fSlcblx0XHRcdH0pLCAvKiBAX19QVVJFX18gKi8ganN4KEFjY29yZGlvbkRldGFpbHMsIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goQ29tbWFuZENvbnRhaW5lciwge1xuXHRcdFx0XHRcImRhdGEtdGVzdGlkXCI6IFwidGFiLWNvbnRlbnRcIixcblx0XHRcdFx0Y2hpbGRyZW46IHJlbmRlclBucG1UYWIoc2NvcGUsIHJlZ2lzdHJ5VXJsKVxuXHRcdFx0fSkgfSldXG5cdFx0fSksXG5cdFx0LyogQF9fUFVSRV9fICovIGpzeChMaW5rQ29udGFpbmVyLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KExpbmssIHtcblx0XHRcdGhyZWY6IFwiaHR0cHM6Ly92ZXJkYWNjaW8ub3JnL2RvY3MvZW4vY2xpLXJlZ2lzdHJ5XCIsXG5cdFx0XHR0YXJnZXQ6IFwiX2JsYW5rXCIsXG5cdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChUeXBvZ3JhcGh5LCB7IGNoaWxkcmVuOiB0KFwiaGVhZGVyLnJlZ2lzdHJ5LWluZm8tbGlua1wiKSB9KVxuXHRcdH0pIH0pXG5cdF0gfSldIH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgUmVnaXN0cnlJbmZvQ29udGVudCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVJlZ2lzdHJ5SW5mb0NvbnRlbnQubWpzLm1hcCIsImltcG9ydCB7IGdldENvbmZpZ3VyYXRpb24gfSBmcm9tIFwiLi4vLi4vY29uZmlndXJhdGlvbi5tanNcIjtcbmltcG9ydCBSZWdpc3RyeUluZm9EaWFsb2cgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvUmVnaXN0cnlJbmZvRGlhbG9nL1JlZ2lzdHJ5SW5mb0RpYWxvZy5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvUmVnaXN0cnlJbmZvRGlhbG9nL2luZGV4Lm1qc1wiO1xuaW1wb3J0IExhbmd1YWdlU3dpdGNoIGZyb20gXCIuL0xhbmd1YWdlU3dpdGNoLm1qc1wiO1xuaW1wb3J0IFJlZ2lzdHJ5SW5mb0NvbnRlbnQgZnJvbSBcIi4vUmVnaXN0cnlJbmZvQ29udGVudC9SZWdpc3RyeUluZm9Db250ZW50Lm1qc1wiO1xuaW1wb3J0IFwiLi9SZWdpc3RyeUluZm9Db250ZW50L2luZGV4Lm1qc1wiO1xuaW1wb3J0IF9zdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZC9iYXNlXCI7XG5pbXBvcnQgeyBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBCb3ggZnJvbSBcIkBtdWkvbWF0ZXJpYWwvQm94XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgVGFiIGZyb20gXCJAbXVpL21hdGVyaWFsL1RhYlwiO1xuaW1wb3J0IFRhYnMgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvVGFic1wiO1xuaW1wb3J0IFJlYWN0TWFya2Rvd24gZnJvbSBcInJlYWN0LW1hcmtkb3duXCI7XG4vLyNyZWdpb24gc3JjL3NlY3Rpb25zL0hlYWRlci9IZWFkZXJTZXR0aW5nc0RpYWxvZy50c3hcbmZ1bmN0aW9uIGExMXlQcm9wcyhpbmRleCkge1xuXHRyZXR1cm4ge1xuXHRcdGlkOiBgc2ltcGxlLXRhYi0ke2luZGV4fWAsXG5cdFx0XCJhcmlhLWNvbnRyb2xzXCI6IGBzaW1wbGUtdGFicGFuZWwtJHtpbmRleH1gXG5cdH07XG59XG5mdW5jdGlvbiBUYWJQYW5lbChwcm9wcykge1xuXHRjb25zdCB7IGNoaWxkcmVuLCB2YWx1ZSwgaW5kZXgsIC4uLm90aGVyIH0gPSBwcm9wcztcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXCJkaXZcIiwge1xuXHRcdFwiYXJpYS1sYWJlbGxlZGJ5XCI6IGBzaW1wbGUtdGFiLSR7aW5kZXh9YCxcblx0XHRoaWRkZW46IHZhbHVlICE9PSBpbmRleCxcblx0XHRpZDogYHNpbXBsZS10YWJwYW5lbC0ke2luZGV4fWAsXG5cdFx0cm9sZTogXCJ0YWJwYW5lbFwiLFxuXHRcdC4uLm90aGVyLFxuXHRcdGNoaWxkcmVuOiB2YWx1ZSA9PT0gaW5kZXggJiYgLyogQF9fUFVSRV9fICovIGpzeChCb3gsIHtcblx0XHRcdHN4OiB7IHBhZGRpbmdUb3A6IDMgfSxcblx0XHRcdGNoaWxkcmVuXG5cdFx0fSlcblx0fSk7XG59XG52YXIgVGV4dENvbnRlbnQgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcImRpdlwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlZmY1cTc5MFwiIH0gOiB7XG5cdHRhcmdldDogXCJlZmY1cTc5MFwiLFxuXHRsYWJlbDogXCJUZXh0Q29udGVudFwiXG59KSgoeyB0aGVtZSB9KSA9PiAoe1xuXHRwYWRkaW5nOiBcIjEwcHggMFwiLFxuXHRiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUuYmFja2dyb3VuZC5kZWZhdWx0XG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlNHVmhaR1Z5TDBobFlXUmxjbE5sZEhScGJtZHpSR2xoYkc5bkxuUnplQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUV3UTI5Q0lpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZTR1ZoWkdWeUwwaGxZV1JsY2xObGRIUnBibWR6UkdsaGJHOW5MblJ6ZUNJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQkNiM2dnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5Q2IzZ25PMXh1YVcxd2IzSjBJRlJoWWlCbWNtOXRJQ2RBYlhWcEwyMWhkR1Z5YVdGc0wxUmhZaWM3WEc1cGJYQnZjblFnVkdGaWN5Qm1jbTl0SUNkQWJYVnBMMjFoZEdWeWFXRnNMMVJoWW5Nbk8xeHVhVzF3YjNKMElGSmxZV04wSUdaeWIyMGdKM0psWVdOMEp6dGNibWx0Y0c5eWRDQjdJSFZ6WlZSeVlXNXpiR0YwYVc5dUlIMGdabkp2YlNBbmNtVmhZM1F0YVRFNGJtVjRkQ2M3WEc1cGJYQnZjblFnVW1WaFkzUk5ZWEpyWkc5M2JpQm1jbTl0SUNkeVpXRmpkQzF0WVhKclpHOTNiaWM3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk4bk8xeHVhVzF3YjNKMElGSmxaMmx6ZEhKNVNXNW1iMFJwWVd4dlp5Qm1jbTl0SUNjdUxpOHVMaTlqYjIxd2IyNWxiblJ6TDFKbFoybHpkSEo1U1c1bWIwUnBZV3h2WnljN1hHNXBiWEJ2Y25RZ2V5Qm5aWFJEYjI1bWFXZDFjbUYwYVc5dUlIMGdabkp2YlNBbkxpNHZMaTR2WTI5dVptbG5kWEpoZEdsdmJpYzdYRzVwYlhCdmNuUWdUR0Z1WjNWaFoyVlRkMmwwWTJnZ1puSnZiU0FuTGk5TVlXNW5kV0ZuWlZOM2FYUmphQ2M3WEc1cGJYQnZjblFnVW1WbmFYTjBjbmxKYm1adlEyOXVkR1Z1ZENCbWNtOXRJQ2N1TDFKbFoybHpkSEo1U1c1bWIwTnZiblJsYm5Rbk8xeHVYRzVwYm5SbGNtWmhZMlVnVUhKdmNITWdlMXh1SUNCcGMwOXdaVzQ2SUdKdmIyeGxZVzQ3WEc0Z0lHOXVRMnh2YzJWRWFXRnNiMmM2SUNncElEMCtJSFp2YVdRN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdFeE1YbFFjbTl3Y3locGJtUmxlQ2tnZTF4dUlDQnlaWFIxY200Z2UxeHVJQ0FnSUdsa09pQmdjMmx0Y0d4bExYUmhZaTBrZTJsdVpHVjRmV0FzWEc0Z0lDQWdKMkZ5YVdFdFkyOXVkSEp2YkhNbk9pQmdjMmx0Y0d4bExYUmhZbkJoYm1Wc0xTUjdhVzVrWlhoOVlDeGNiaUFnZlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnVkdGaVVHRnVaV3dvY0hKdmNITXBJSHRjYmlBZ1kyOXVjM1FnZXlCamFHbHNaSEpsYml3Z2RtRnNkV1VzSUdsdVpHVjRMQ0F1TGk1dmRHaGxjaUI5SUQwZ2NISnZjSE03WEc1Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNBOFpHbDJYRzRnSUNBZ0lDQmhjbWxoTFd4aFltVnNiR1ZrWW5rOWUyQnphVzF3YkdVdGRHRmlMU1I3YVc1a1pYaDlZSDFjYmlBZ0lDQWdJR2hwWkdSbGJqMTdkbUZzZFdVZ0lUMDlJR2x1WkdWNGZWeHVJQ0FnSUNBZ2FXUTllMkJ6YVcxd2JHVXRkR0ZpY0dGdVpXd3RKSHRwYm1SbGVIMWdmVnh1SUNBZ0lDQWdjbTlzWlQxY0luUmhZbkJoYm1Wc1hDSmNiaUFnSUNBZ0lIc3VMaTV2ZEdobGNuMWNiaUFnSUNBK1hHNGdJQ0FnSUNCN2RtRnNkV1VnUFQwOUlHbHVaR1Y0SUNZbUlEeENiM2dnYzNnOWUzc2djR0ZrWkdsdVoxUnZjRG9nTXlCOWZUNTdZMmhwYkdSeVpXNTlQQzlDYjNnK2ZWeHVJQ0FnSUR3dlpHbDJQbHh1SUNBcE8xeHVmVnh1WEc1amIyNXpkQ0JVWlhoMFEyOXVkR1Z1ZENBOUlITjBlV3hsWkNnblpHbDJKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lIQmhaR1JwYm1jNklDY3hNSEI0SURBbkxGeHVJQ0JpWVdOclozSnZkVzVrUTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdVltRmphMmR5YjNWdVpDNWtaV1poZFd4MExGeHVmU2twTzF4dVhHNWpiMjV6ZENCSVpXRmtaWEpUWlhSMGFXNW5jMFJwWVd4dlp6b2dVbVZoWTNRdVJrTThVSEp2Y0hNK0lEMGdLSHNnYjI1RGJHOXpaVVJwWVd4dlp5d2dhWE5QY0dWdUlIMHBJRDArSUh0Y2JpQWdZMjl1YzNRZ1czWmhiSFZsTENCelpYUldZV3gxWlYwZ1BTQlNaV0ZqZEM1MWMyVlRkR0YwWlNnd0tUdGNibHh1SUNCamIyNXpkQ0JvWVc1a2JHVkRhR0Z1WjJVZ1BTQW9YMlYyWlc1MExDQnVaWGRXWVd4MVpTa2dQVDRnZTF4dUlDQWdJSE5sZEZaaGJIVmxLRzVsZDFaaGJIVmxLVHRjYmlBZ2ZUdGNiaUFnWTI5dWMzUWdZMjl1Wm1sblUzUnZjbVVnUFNCblpYUkRiMjVtYVdkMWNtRjBhVzl1S0NrN1hHNGdJR052Ym5OMElIc2djMk52Y0dVc0lHSmhjMlVnZlNBOUlHTnZibVpwWjFOMGIzSmxPMXh1SUNCamIyNXpkQ0I3SUhRZ2ZTQTlJSFZ6WlZSeVlXNXpiR0YwYVc5dUtDazdYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRkpsWjJsemRISjVTVzVtYjBScFlXeHZaeUJ2YmtOc2IzTmxQWHR2YmtOc2IzTmxSR2xoYkc5bmZTQnZjR1Z1UFh0cGMwOXdaVzU5SUhScGRHeGxQWHQwS0Nka2FXRnNiMmN1YzJWMGRHbHVaM011ZEdsMGJHVW5LWDArWEc0Z0lDQWdJQ0E4UW05NElITjRQWHQ3SUhkcFpIUm9PaUFuTVRBd0pTY2dmWDArWEc0Z0lDQWdJQ0FnSUR4Q2IzZ2djM2c5ZTNzZ1ltOXlaR1Z5UW05MGRHOXRPaUF4TENCaWIzSmtaWEpEYjJ4dmNqb2dKMlJwZG1sa1pYSW5JSDE5UGx4dUlDQWdJQ0FnSUNBZ0lEeFVZV0p6SUdGeWFXRXRiR0ZpWld3OVhDSmlZWE5wWXlCMFlXSnpJR1Y0WVcxd2JHVmNJaUJ2YmtOb1lXNW5aVDE3YUdGdVpHeGxRMmhoYm1kbGZTQjJZV3gxWlQxN2RtRnNkV1Y5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRlJoWWlCc1lXSmxiRDE3ZENnbmNHRmphMkZuWlUxaGJtRm5aWEp6TG5ScGRHeGxKeWw5SUhzdUxpNWhNVEY1VUhKdmNITW9NQ2w5SUM4K1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4VkdGaUlHeGhZbVZzUFh0MEtDZHNZVzVuZFdGblpTNTBhWFJzWlNjcGZTQjdMaTR1WVRFeGVWQnliM0J6S0RFcGZTQXZQbHh1SUNBZ0lDQWdJQ0FnSUR3dlZHRmljejVjYmlBZ0lDQWdJQ0FnUEM5Q2IzZytYRzRnSUNBZ0lDQWdJRHhVWVdKUVlXNWxiQ0JwYm1SbGVEMTdNSDBnZG1Gc2RXVTllM1poYkhWbGZUNWNiaUFnSUNBZ0lDQWdJQ0E4VW1WbmFYTjBjbmxKYm1adlEyOXVkR1Z1ZENCeVpXZHBjM1J5ZVZWeWJEMTdZbUZ6WlgwZ2MyTnZjR1U5ZTNOamIzQmxmU0F2UGx4dUlDQWdJQ0FnSUNBOEwxUmhZbEJoYm1Wc1BseHVJQ0FnSUNBZ0lDQThWR0ZpVUdGdVpXd2dhVzVrWlhnOWV6RjlJSFpoYkhWbFBYdDJZV3gxWlgwK1hHNGdJQ0FnSUNBZ0lDQWdQRlJsZUhSRGIyNTBaVzUwUG50MEtDZHNZVzVuZFdGblpTNWtaWE5qY21sd2RHbHZiaWNwZlR3dlZHVjRkRU52Ym5SbGJuUStYRzRnSUNBZ0lDQWdJQ0FnUEV4aGJtZDFZV2RsVTNkcGRHTm9JQzgrWEc0Z0lDQWdJQ0FnSUNBZ1BGSmxZV04wVFdGeWEyUnZkMjQrZTNRb0oyeGhibWQxWVdkbExtTnZiblJ5YVdKMWRHVW5LWDA4TDFKbFlXTjBUV0Z5YTJSdmQyNCtYRzRnSUNBZ0lDQWdJRHd2VkdGaVVHRnVaV3crWEc0Z0lDQWdJQ0E4TDBKdmVENWNiaUFnSUNBOEwxSmxaMmx6ZEhKNVNXNW1iMFJwWVd4dlp6NWNiaUFnS1R0Y2JuMDdYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJRWhsWVdSbGNsTmxkSFJwYm1kelJHbGhiRzluTzF4dUlsMTkgKi9cIik7XG52YXIgSGVhZGVyU2V0dGluZ3NEaWFsb2cgPSAoeyBvbkNsb3NlRGlhbG9nLCBpc09wZW4gfSkgPT4ge1xuXHRjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKDApO1xuXHRjb25zdCBoYW5kbGVDaGFuZ2UgPSAoX2V2ZW50LCBuZXdWYWx1ZSkgPT4ge1xuXHRcdHNldFZhbHVlKG5ld1ZhbHVlKTtcblx0fTtcblx0Y29uc3QgeyBzY29wZSwgYmFzZSB9ID0gZ2V0Q29uZmlndXJhdGlvbigpO1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFJlZ2lzdHJ5SW5mb0RpYWxvZywge1xuXHRcdG9uQ2xvc2U6IG9uQ2xvc2VEaWFsb2csXG5cdFx0b3BlbjogaXNPcGVuLFxuXHRcdHRpdGxlOiB0KFwiZGlhbG9nLnNldHRpbmdzLnRpdGxlXCIpLFxuXHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4cyhCb3gsIHtcblx0XHRcdHN4OiB7IHdpZHRoOiBcIjEwMCVcIiB9LFxuXHRcdFx0Y2hpbGRyZW46IFtcblx0XHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChCb3gsIHtcblx0XHRcdFx0XHRzeDoge1xuXHRcdFx0XHRcdFx0Ym9yZGVyQm90dG9tOiAxLFxuXHRcdFx0XHRcdFx0Ym9yZGVyQ29sb3I6IFwiZGl2aWRlclwiXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeHMoVGFicywge1xuXHRcdFx0XHRcdFx0XCJhcmlhLWxhYmVsXCI6IFwiYmFzaWMgdGFicyBleGFtcGxlXCIsXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLFxuXHRcdFx0XHRcdFx0dmFsdWUsXG5cdFx0XHRcdFx0XHRjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goVGFiLCB7XG5cdFx0XHRcdFx0XHRcdGxhYmVsOiB0KFwicGFja2FnZU1hbmFnZXJzLnRpdGxlXCIpLFxuXHRcdFx0XHRcdFx0XHQuLi5hMTF5UHJvcHMoMClcblx0XHRcdFx0XHRcdH0pLCAvKiBAX19QVVJFX18gKi8ganN4KFRhYiwge1xuXHRcdFx0XHRcdFx0XHRsYWJlbDogdChcImxhbmd1YWdlLnRpdGxlXCIpLFxuXHRcdFx0XHRcdFx0XHQuLi5hMTF5UHJvcHMoMSlcblx0XHRcdFx0XHRcdH0pXVxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH0pLFxuXHRcdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFRhYlBhbmVsLCB7XG5cdFx0XHRcdFx0aW5kZXg6IDAsXG5cdFx0XHRcdFx0dmFsdWUsXG5cdFx0XHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goUmVnaXN0cnlJbmZvQ29udGVudCwge1xuXHRcdFx0XHRcdFx0cmVnaXN0cnlVcmw6IGJhc2UsXG5cdFx0XHRcdFx0XHRzY29wZVxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH0pLFxuXHRcdFx0XHQvKiBAX19QVVJFX18gKi8ganN4cyhUYWJQYW5lbCwge1xuXHRcdFx0XHRcdGluZGV4OiAxLFxuXHRcdFx0XHRcdHZhbHVlLFxuXHRcdFx0XHRcdGNoaWxkcmVuOiBbXG5cdFx0XHRcdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFRleHRDb250ZW50LCB7IGNoaWxkcmVuOiB0KFwibGFuZ3VhZ2UuZGVzY3JpcHRpb25cIikgfSksXG5cdFx0XHRcdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KExhbmd1YWdlU3dpdGNoLCB7fSksXG5cdFx0XHRcdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFJlYWN0TWFya2Rvd24sIHsgY2hpbGRyZW46IHQoXCJsYW5ndWFnZS5jb250cmlidXRlXCIpIH0pXG5cdFx0XHRcdFx0XVxuXHRcdFx0XHR9KVxuXHRcdFx0XVxuXHRcdH0pXG5cdH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgSGVhZGVyU2V0dGluZ3NEaWFsb2cgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1IZWFkZXJTZXR0aW5nc0RpYWxvZy5tanMubWFwIiwiaW1wb3J0IHsgaXNUb2tlbkV4cGlyZSB9IGZyb20gXCIuLi8uLi91dGlscy90b2tlbi5tanNcIjtcbmltcG9ydCB7IHVzZUNvbmZpZyB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvQXBwQ29uZmlndXJhdGlvblByb3ZpZGVyL0FwcENvbmZpZ3VyYXRpb25Qcm92aWRlci5tanNcIjtcbmltcG9ydCB7IHVzZUF1dGggfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL0F1dGhQcm92aWRlci9BdXRoUHJvdmlkZXIubWpzXCI7XG5pbXBvcnQgTG9naW5EaWFsb2cgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvTG9naW5EaWFsb2cvTG9naW5EaWFsb2cubWpzXCI7XG5pbXBvcnQgU2VhcmNoIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL1NlYXJjaC9TZWFyY2gubWpzXCI7XG5pbXBvcnQgeyBJbm5lck1vYmlsZU5hdkJhciwgSW5uZXJOYXZCYXIsIE1vYmlsZU5hdkJhciwgTmF2QmFyIH0gZnJvbSBcIi4vc3R5bGVzLm1qc1wiO1xuaW1wb3J0IEhlYWRlckxlZnQgZnJvbSBcIi4vSGVhZGVyTGVmdC5tanNcIjtcbmltcG9ydCBIZWFkZXJSaWdodCBmcm9tIFwiLi9IZWFkZXJSaWdodC5tanNcIjtcbmltcG9ydCBIZWFkZXJTZXR0aW5nc0RpYWxvZyBmcm9tIFwiLi9IZWFkZXJTZXR0aW5nc0RpYWxvZy5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2luZGV4Lm1qc1wiO1xuaW1wb3J0IHsgRnJhZ21lbnQsIGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgQnV0dG9uIGZyb20gXCJAbXVpL21hdGVyaWFsL0J1dHRvblwiO1xuLy8jcmVnaW9uIHNyYy9zZWN0aW9ucy9IZWFkZXIvSGVhZGVyLnRzeFxudmFyIEhlYWRlciA9ICh7IEhlYWRlckluZm9EaWFsb2csIGlzUGxhaW5IZWFkZXIsIHRva2VuQ2hlY2tJbnRlcnZhbE1zID0gMzYwMCAqIDFlMyB9KSA9PiB7XG5cdGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcblx0Y29uc3QgW2lzSW5mb0RpYWxvZ09wZW4sIHNldE9wZW5JbmZvRGlhbG9nXSA9IHVzZVN0YXRlKGZhbHNlKTtcblx0Y29uc3QgW2lzU2V0dGluZ3NEaWFsb2dPcGVuLCBzZXRTZXR0aW5nc0RpYWxvZ09wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuXHRjb25zdCBbc2hvd01vYmlsZU5hdkJhciwgc2V0U2hvd01vYmlsZU5hdkJhcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cdGNvbnN0IFtzaG93TG9naW5Nb2RhbCwgc2V0U2hvd0xvZ2luTW9kYWxdID0gdXNlU3RhdGUoZmFsc2UpO1xuXHRjb25zdCB7IGNvbmZpZ09wdGlvbnMgfSA9IHVzZUNvbmZpZygpO1xuXHRjb25zdCB7IHVzZXJTdGF0ZSwgbG9nT3V0VXNlciB9ID0gdXNlQXV0aCgpO1xuXHRjb25zdCB0b2tlblJlZiA9IHVzZVJlZih1c2VyU3RhdGU/LnRva2VuKTtcblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHR0b2tlblJlZi5jdXJyZW50ID0gdXNlclN0YXRlPy50b2tlbjtcblx0fSwgW3VzZXJTdGF0ZT8udG9rZW5dKTtcblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRmdW5jdGlvbiBjaGVja1Rva2VuKCkge1xuXHRcdFx0Y29uc3QgdG9rZW4gPSB0b2tlblJlZi5jdXJyZW50O1xuXHRcdFx0aWYgKHRva2VuICYmIGlzVG9rZW5FeHBpcmUodG9rZW4pKSBsb2dPdXRVc2VyPy4oKTtcblx0XHR9XG5cdFx0Y2hlY2tUb2tlbigpO1xuXHRcdGNvbnN0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoY2hlY2tUb2tlbiwgdG9rZW5DaGVja0ludGVydmFsTXMpO1xuXHRcdHJldHVybiAoKSA9PiBjbGVhckludGVydmFsKGludGVydmFsKTtcblx0fSwgW3Rva2VuQ2hlY2tJbnRlcnZhbE1zXSk7XG5cdGNvbnN0IGhhbmRsZUxvZ291dCA9ICgpID0+IHtcblx0XHRsb2dPdXRVc2VyPy4oKTtcblx0XHRzZXRTaG93TG9naW5Nb2RhbChmYWxzZSk7XG5cdH07XG5cdGlmIChpc1BsYWluSGVhZGVyKSByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChOYXZCYXIsIHtcblx0XHRcImRhdGEtdGVzdGlkXCI6IFwiaGVhZGVyXCIsXG5cdFx0cG9zaXRpb246IFwic3RhdGljXCIsXG5cdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3hzKElubmVyTmF2QmFyLCB7IGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChIZWFkZXJMZWZ0LCB7IHNob3dTZWFyY2g6IGZhbHNlIH0pLCAvKiBAX19QVVJFX18gKi8ganN4KEhlYWRlclJpZ2h0LCB7XG5cdFx0XHRoYXNMb2dpbjogZmFsc2UsXG5cdFx0XHRvbkxvZ291dDogKCkgPT4ge30sXG5cdFx0XHRvbk9wZW5SZWdpc3RyeUluZm9EaWFsb2c6ICgpID0+IHt9LFxuXHRcdFx0b25PcGVuU2V0dGluZ3NEaWFsb2c6ICgpID0+IHt9LFxuXHRcdFx0b25Ub2dnbGVMb2dpbjogKCkgPT4ge30sXG5cdFx0XHRvblRvZ2dsZU1vYmlsZU5hdjogKCkgPT4ge30sXG5cdFx0XHRzaG93SW5mbzogZmFsc2UsXG5cdFx0XHRzaG93U2VhcmNoOiBmYWxzZSxcblx0XHRcdHNob3dTZXR0aW5nczogZmFsc2UsXG5cdFx0XHRzaG93VGhlbWVTd2l0Y2g6IGZhbHNlLFxuXHRcdFx0dXNlcm5hbWU6IFwiXCJcblx0XHR9KV0gfSlcblx0fSk7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhGcmFnbWVudCwgeyBjaGlsZHJlbjogW1xuXHRcdC8qIEBfX1BVUkVfXyAqLyBqc3hzKE5hdkJhciwge1xuXHRcdFx0XCJkYXRhLXRlc3RpZFwiOiBcImhlYWRlclwiLFxuXHRcdFx0cG9zaXRpb246IFwic3RhdGljXCIsXG5cdFx0XHRjaGlsZHJlbjogW1xuXHRcdFx0XHQvKiBAX19QVVJFX18gKi8ganN4cyhJbm5lck5hdkJhciwgeyBjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goSGVhZGVyTGVmdCwgeyBzaG93U2VhcmNoOiBjb25maWdPcHRpb25zLnNob3dTZWFyY2ggfSksIC8qIEBfX1BVUkVfXyAqLyBqc3goSGVhZGVyUmlnaHQsIHtcblx0XHRcdFx0XHRoYXNMb2dpbjogY29uZmlnT3B0aW9ucz8ubG9naW4sXG5cdFx0XHRcdFx0b25Mb2dvdXQ6IGhhbmRsZUxvZ291dCxcblx0XHRcdFx0XHRvbk9wZW5SZWdpc3RyeUluZm9EaWFsb2c6ICgpID0+IHNldE9wZW5JbmZvRGlhbG9nKHRydWUpLFxuXHRcdFx0XHRcdG9uT3BlblNldHRpbmdzRGlhbG9nOiAoKSA9PiBzZXRTZXR0aW5nc0RpYWxvZ09wZW4odHJ1ZSksXG5cdFx0XHRcdFx0b25Ub2dnbGVMb2dpbjogKCkgPT4gc2V0U2hvd0xvZ2luTW9kYWwoIXNob3dMb2dpbk1vZGFsKSxcblx0XHRcdFx0XHRvblRvZ2dsZU1vYmlsZU5hdjogKCkgPT4gc2V0U2hvd01vYmlsZU5hdkJhcighc2hvd01vYmlsZU5hdkJhciksXG5cdFx0XHRcdFx0c2hvd0luZm86IGNvbmZpZ09wdGlvbnMuc2hvd0luZm8sXG5cdFx0XHRcdFx0c2hvd1NlYXJjaDogY29uZmlnT3B0aW9ucy5zaG93U2VhcmNoLFxuXHRcdFx0XHRcdHNob3dTZXR0aW5nczogY29uZmlnT3B0aW9ucy5zaG93U2V0dGluZ3MsXG5cdFx0XHRcdFx0c2hvd1RoZW1lU3dpdGNoOiBjb25maWdPcHRpb25zLnNob3dUaGVtZVN3aXRjaCxcblx0XHRcdFx0XHR1c2VybmFtZTogdXNlclN0YXRlPy51c2VybmFtZVxuXHRcdFx0XHR9KV0gfSksXG5cdFx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goSGVhZGVyU2V0dGluZ3NEaWFsb2csIHtcblx0XHRcdFx0XHRpc09wZW46IGlzU2V0dGluZ3NEaWFsb2dPcGVuLFxuXHRcdFx0XHRcdG9uQ2xvc2VEaWFsb2c6ICgpID0+IHNldFNldHRpbmdzRGlhbG9nT3BlbihmYWxzZSlcblx0XHRcdFx0fSksXG5cdFx0XHRcdEhlYWRlckluZm9EaWFsb2cgPyAvKiBAX19QVVJFX18gKi8ganN4KEhlYWRlckluZm9EaWFsb2csIHtcblx0XHRcdFx0XHRkaWFsb2dUaXRsZTogdChcImRpYWxvZy5yZWdpc3RyeS1pbmZvLnRpdGxlXCIpLFxuXHRcdFx0XHRcdGlzT3BlbjogaXNJbmZvRGlhbG9nT3Blbixcblx0XHRcdFx0XHRvbkNsb3NlRGlhbG9nOiAoKSA9PiBzZXRPcGVuSW5mb0RpYWxvZyhmYWxzZSlcblx0XHRcdFx0fSkgOiBudWxsXG5cdFx0XHRdXG5cdFx0fSksXG5cdFx0c2hvd01vYmlsZU5hdkJhciAmJiAvKiBAX19QVVJFX18gKi8ganN4cyhNb2JpbGVOYXZCYXIsIHsgY2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KElubmVyTW9iaWxlTmF2QmFyLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFNlYXJjaCwge30pIH0pLCAvKiBAX19QVVJFX18gKi8ganN4KEJ1dHRvbiwge1xuXHRcdFx0Y29sb3I6IFwiaW5oZXJpdFwiLFxuXHRcdFx0b25DbGljazogKCkgPT4gc2V0U2hvd01vYmlsZU5hdkJhcihmYWxzZSksXG5cdFx0XHRjaGlsZHJlbjogdChcImJ1dHRvbi5jYW5jZWxcIilcblx0XHR9KV0gfSksXG5cdFx0IXVzZXJTdGF0ZT8udXNlcm5hbWUgJiYgLyogQF9fUFVSRV9fICovIGpzeChMb2dpbkRpYWxvZywge1xuXHRcdFx0b25DbG9zZTogKCkgPT4gc2V0U2hvd0xvZ2luTW9kYWwoZmFsc2UpLFxuXHRcdFx0b3Blbjogc2hvd0xvZ2luTW9kYWxcblx0XHR9KVxuXHRdIH0pO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgSGVhZGVyIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9SGVhZGVyLm1qcy5tYXAiLCJpbXBvcnQgeyB1c2VNYW5pZmVzdHMgfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL01hbmlmZXN0c1Byb3ZpZGVyL01hbmlmZXN0c1Byb3ZpZGVyLm1qc1wiO1xuaW1wb3J0IExvYWRpbmcgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvTG9hZGluZy9Mb2FkaW5nLm1qc1wiO1xuaW1wb3J0IFBhY2thZ2VMaXN0IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL1BhY2thZ2VMaXN0L1BhY2thZ2VMaXN0Lm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG4vLyNyZWdpb24gc3JjL3NlY3Rpb25zL0hvbWUvSG9tZS50c3hcbnZhciBIb21lID0gKCkgPT4ge1xuXHRjb25zdCBtYW5pZmVzdHMgPSB1c2VNYW5pZmVzdHMoKTtcblx0aWYgKG1hbmlmZXN0cy5pc0Vycm9yKSByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcImRpdlwiLCB7IGNoaWxkcmVuOiBcIkVycm9yIGxvYWRpbmcgbWFuaWZlc3RzXCIgfSk7XG5cdHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhcImRpdlwiLCB7XG5cdFx0Y2xhc3NOYW1lOiBcImNvbnRhaW5lciBjb250ZW50XCIsXG5cdFx0XCJkYXRhLXRlc3RpZFwiOiBcImhvbWUtcGFnZS1jb250YWluZXJcIixcblx0XHRjaGlsZHJlbjogW21hbmlmZXN0cy5pc0xvYWRpbmcgPyAvKiBAX19QVVJFX18gKi8ganN4KExvYWRpbmcsIHt9KSA6IC8qIEBfX1BVUkVfXyAqLyBqc3goUGFja2FnZUxpc3QsIHsgcGFja2FnZXM6IG1hbmlmZXN0cy5tYW5pZmVzdHMgfSksIG1hbmlmZXN0cy5pc0Vycm9yICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goXCJkaXZcIiwgeyBjaGlsZHJlbjogXCJFcnJvciBsb2FkaW5nIG1hbmlmZXN0c1wiIH0pXVxuXHR9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IEhvbWUgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Ib21lLm1qcy5tYXAiLCJpbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbmltcG9ydCB7IGNvbW1vbiB9IGZyb20gXCJAbXVpL21hdGVyaWFsL2NvbG9yc1wiO1xuLy8jcmVnaW9uIHNyYy9zZWN0aW9ucy9Gb290ZXIvc3R5bGVzLnRzXG5mdW5jdGlvbiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXygpIHtcblx0cmV0dXJuIFwiWW91IGhhdmUgdHJpZWQgdG8gc3RyaW5naWZ5IG9iamVjdCByZXR1cm5lZCBmcm9tIGBjc3NgIGZ1bmN0aW9uLiBJdCBpc24ndCBzdXBwb3NlZCB0byBiZSB1c2VkIGRpcmVjdGx5IChlLmcuIGFzIHZhbHVlIG9mIHRoZSBgY2xhc3NOYW1lYCBwcm9wKSwgYnV0IHJhdGhlciBoYW5kZWQgdG8gZW1vdGlvbiBzbyBpdCBjYW4gaGFuZGxlIGl0IChlLmcuIGFzIHZhbHVlIG9mIGBjc3NgIHByb3ApLlwiO1xufVxudmFyIFdyYXBwZXIgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcImRpdlwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMXUybGVmeTRcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTF1MmxlZnk0XCIsXG5cdGxhYmVsOiBcIldyYXBwZXJcIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0YmFja2dyb3VuZDogdGhlbWUucGFsZXR0ZS5tb2RlID09PSBcImxpZ2h0XCIgPyB0aGVtZS5wYWxldHRlLnNub3cgOiB0aGVtZS5wYWxldHRlLmN5YW5CbHVlLFxuXHRib3JkZXJUb3A6IGAxcHggc29saWQgJHt0aGVtZS5wYWxldHRlLmdyZXlHYWluc2Jvcm99YCxcblx0Y29sb3I6IHRoZW1lLnBhbGV0dGUubW9kZSA9PT0gXCJkYXJrXCIgPyBjb21tb24ud2hpdGUgOiB0aGVtZS5wYWxldHRlLm5vYmVsMDEsXG5cdGZvbnRTaXplOiBcIjE0cHhcIixcblx0cGFkZGluZzogXCIyMHB4XCJcbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12Um05dmRHVnlMM04wZVd4bGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZMZFVJaUxDSm1hV3hsSWpvaUwyaHZiV1V2Y25WdWJtVnlMM2R2Y21zdmRtVnlaR0ZqWTJsdkwzWmxjbVJoWTJOcGJ5OXdZV05yWVdkbGN5OTFhUzFqYjIxd2IyNWxiblJ6TDNOeVl5OXpaV04wYVc5dWN5OUdiMjkwWlhJdmMzUjViR1Z6TG5Seklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElITjBlV3hsWkNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl6ZEhsc1pXUW5PMXh1YVcxd2IzSjBJSHNnWTI5dGJXOXVJSDBnWm5KdmJTQW5RRzExYVM5dFlYUmxjbWxoYkM5amIyeHZjbk1uTzF4dVhHNXBiWEJ2Y25RZ2RIbHdaU0I3SUZSb1pXMWxJSDBnWm5KdmJTQW5MaTR2TGk0dkp6dGNibHh1Wlhod2IzSjBJR052Ym5OMElGZHlZWEJ3WlhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQmlZV05yWjNKdmRXNWtPaUIwYUdWdFpTNXdZV3hsZEhSbExtMXZaR1VnUFQwOUlDZHNhV2RvZENjZ1B5QjBhR1Z0WlM1d1lXeGxkSFJsTG5OdWIzY2dPaUIwYUdWdFpTNXdZV3hsZEhSbExtTjVZVzVDYkhWbExGeHVJQ0JpYjNKa1pYSlViM0E2SUdBeGNIZ2djMjlzYVdRZ0pIdDBhR1Z0WlM1d1lXeGxkSFJsTG1keVpYbEhZV2x1YzJKdmNtOTlZQ3hjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXViVzlrWlNBOVBUMGdKMlJoY21zbklEOGdZMjl0Ylc5dUxuZG9hWFJsSURvZ2RHaGxiV1V1Y0dGc1pYUjBaUzV1YjJKbGJEQXhMRnh1SUNCbWIyNTBVMmw2WlRvZ0p6RTBjSGduTEZ4dUlDQndZV1JrYVc1bk9pQW5NakJ3ZUNjc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JKYm01bGNpQTlJSE4wZVd4bFpDZ25aR2wySnlrOGV5QjBhR1Z0WlQ4NklGUm9aVzFsSUgwK0tDaDdJSFJvWlcxbElIMHBJRDArSUNoN1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnWVd4cFoyNUpkR1Z0Y3pvZ0oyTmxiblJsY2ljc1hHNGdJR3AxYzNScFpubERiMjUwWlc1ME9pQW5abXhsZUMxbGJtUW5MRnh1SUNCd1lXUmthVzVuVEdWbWREb2dNVFlzWEc0Z0lIQmhaR1JwYm1kU2FXZG9kRG9nTVRZc1hHNGdJSGRwWkhSb09pQW5NVEF3SlNjc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJXVmthWFZ0ZlhCNEtXQmRPaUI3WEc0Z0lDQWdiV2x1VjJsa2RHZzZJRFF3TUN4Y2JpQWdJQ0J0WVhoWGFXUjBhRG9nT0RBd0xGeHVJQ0FnSUcxaGNtZHBiam9nSjJGMWRHOG5MRnh1SUNBZ0lHcDFjM1JwWm5sRGIyNTBaVzUwT2lBbmMzQmhZMlV0WW1WMGQyVmxiaWNzWEc0Z0lIMHNYRzRnSUZ0Z1FHMWxaR2xoSUNodGFXNHRkMmxrZEdnNklDUjdkR2hsYldVdVluSmxZV3RRYjJsdWRITXViR0Z5WjJWOWNIZ3BZRjA2SUh0Y2JpQWdJQ0J0WVhoWGFXUjBhRG9nTVRJME1DeGNiaUFnZlN4Y2JuMHBLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRXhsWm5RZ1BTQnpkSGxzWldRb0oyUnBkaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYmlBZ1pHbHpjR3hoZVRvZ0oyNXZibVVuTEZ4dUlDQmJZRUJ0WldScFlTQW9iV2x1TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG0xbFpHbDFiWDF3ZUNsZ1hUb2dlMXh1SUNBZ0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdmU3hjYmlBZ2JXRnlaMmx1VEdWbWREb2dNU3hjYm4wcEtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGSnBaMmgwSUQwZ2MzUjViR1ZrS0V4bFpuUXBLSHRjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQnRZWEpuYVc1U2FXZG9kRG9nTVN4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdURzkyWlNBOUlITjBlV3hsWkNnbmMzQmhiaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQmpiMnh2Y2pvZ2RHaGxiV1V1Y0dGc1pYUjBaUzVzYjNabExGeHVJQ0J3WVdSa2FXNW5PaUFuTUNBMWNIZ25MRnh1ZlNrcE8xeHVJbDE5ICovXCIpO1xudmFyIElubmVyID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJkaXZcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTF1MmxlZnkzXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxdTJsZWZ5M1wiLFxuXHRsYWJlbDogXCJJbm5lclwiXG59KSgoeyB0aGVtZSB9KSA9PiAoe1xuXHRkaXNwbGF5OiBcImZsZXhcIixcblx0YWxpZ25JdGVtczogXCJjZW50ZXJcIixcblx0anVzdGlmeUNvbnRlbnQ6IFwiZmxleC1lbmRcIixcblx0cGFkZGluZ0xlZnQ6IDE2LFxuXHRwYWRkaW5nUmlnaHQ6IDE2LFxuXHR3aWR0aDogXCIxMDAlXCIsXG5cdFtgQG1lZGlhIChtaW4td2lkdGg6ICR7dGhlbWUuYnJlYWtQb2ludHMubWVkaXVtfXB4KWBdOiB7XG5cdFx0bWluV2lkdGg6IDQwMCxcblx0XHRtYXhXaWR0aDogODAwLFxuXHRcdG1hcmdpbjogXCJhdXRvXCIsXG5cdFx0anVzdGlmeUNvbnRlbnQ6IFwic3BhY2UtYmV0d2VlblwiXG5cdH0sXG5cdFtgQG1lZGlhIChtaW4td2lkdGg6ICR7dGhlbWUuYnJlYWtQb2ludHMubGFyZ2V9cHgpYF06IHsgbWF4V2lkdGg6IDEyNDAgfVxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZSbTl2ZEdWeUwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRmhjVUlpTENKbWFXeGxJam9pTDJodmJXVXZjblZ1Ym1WeUwzZHZjbXN2ZG1WeVpHRmpZMmx2TDNabGNtUmhZMk5wYnk5d1lXTnJZV2RsY3k5MWFTMWpiMjF3YjI1bGJuUnpMM055WXk5elpXTjBhVzl1Y3k5R2IyOTBaWEl2YzNSNWJHVnpMblJ6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVhVzF3YjNKMElIc2dZMjl0Ylc5dUlIMGdabkp2YlNBblFHMTFhUzl0WVhSbGNtbGhiQzlqYjJ4dmNuTW5PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZkeVlYQndaWElnUFNCemRIbHNaV1FvSjJScGRpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCaVlXTnJaM0p2ZFc1a09pQjBhR1Z0WlM1d1lXeGxkSFJsTG0xdlpHVWdQVDA5SUNkc2FXZG9kQ2NnUHlCMGFHVnRaUzV3WVd4bGRIUmxMbk51YjNjZ09pQjBhR1Z0WlM1d1lXeGxkSFJsTG1ONVlXNUNiSFZsTEZ4dUlDQmliM0prWlhKVWIzQTZJR0F4Y0hnZ2MyOXNhV1FnSkh0MGFHVnRaUzV3WVd4bGRIUmxMbWR5WlhsSFlXbHVjMkp2Y205OVlDeGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdWJXOWtaU0E5UFQwZ0oyUmhjbXNuSUQ4Z1kyOXRiVzl1TG5kb2FYUmxJRG9nZEdobGJXVXVjR0ZzWlhSMFpTNXViMkpsYkRBeExGeHVJQ0JtYjI1MFUybDZaVG9nSnpFMGNIZ25MRnh1SUNCd1lXUmthVzVuT2lBbk1qQndlQ2NzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkpibTVsY2lBOUlITjBlV3hsWkNnblpHbDJKeWs4ZXlCMGFHVnRaVDg2SUZSb1pXMWxJSDArS0NoN0lIUm9aVzFsSUgwcElEMCtJQ2g3WEc0Z0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc0Z0lHcDFjM1JwWm5sRGIyNTBaVzUwT2lBblpteGxlQzFsYm1RbkxGeHVJQ0J3WVdSa2FXNW5UR1ZtZERvZ01UWXNYRzRnSUhCaFpHUnBibWRTYVdkb2REb2dNVFlzWEc0Z0lIZHBaSFJvT2lBbk1UQXdKU2NzWEc0Z0lGdGdRRzFsWkdsaElDaHRhVzR0ZDJsa2RHZzZJQ1I3ZEdobGJXVXVZbkpsWVd0UWIybHVkSE11YldWa2FYVnRmWEI0S1dCZE9pQjdYRzRnSUNBZ2JXbHVWMmxrZEdnNklEUXdNQ3hjYmlBZ0lDQnRZWGhYYVdSMGFEb2dPREF3TEZ4dUlDQWdJRzFoY21kcGJqb2dKMkYxZEc4bkxGeHVJQ0FnSUdwMWMzUnBabmxEYjI1MFpXNTBPaUFuYzNCaFkyVXRZbVYwZDJWbGJpY3NYRzRnSUgwc1hHNGdJRnRnUUcxbFpHbGhJQ2h0YVc0dGQybGtkR2c2SUNSN2RHaGxiV1V1WW5KbFlXdFFiMmx1ZEhNdWJHRnlaMlY5Y0hncFlGMDZJSHRjYmlBZ0lDQnRZWGhYYVdSMGFEb2dNVEkwTUN4Y2JpQWdmU3hjYm4wcEtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFeGxablFnUFNCemRIbHNaV1FvSjJScGRpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCaGJHbG5ia2wwWlcxek9pQW5ZMlZ1ZEdWeUp5eGNiaUFnWkdsemNHeGhlVG9nSjI1dmJtVW5MRnh1SUNCYllFQnRaV1JwWVNBb2JXbHVMWGRwWkhSb09pQWtlM1JvWlcxbExtSnlaV0ZyVUc5cGJuUnpMbTFsWkdsMWJYMXdlQ2xnWFRvZ2UxeHVJQ0FnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ2ZTeGNiaUFnYldGeVoybHVUR1ZtZERvZ01TeGNibjBwS1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZKcFoyaDBJRDBnYzNSNWJHVmtLRXhsWm5RcEtIdGNiaUFnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNCdFlYSm5hVzVTYVdkb2REb2dNU3hjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1RHOTJaU0E5SUhOMGVXeGxaQ2duYzNCaGJpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCamIyeHZjam9nZEdobGJXVXVjR0ZzWlhSMFpTNXNiM1psTEZ4dUlDQndZV1JrYVc1bk9pQW5NQ0ExY0hnbkxGeHVmU2twTzF4dUlsMTkgKi9cIik7XG52YXIgTGVmdCA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwiZGl2XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImUxdTJsZWZ5MlwiIH0gOiB7XG5cdHRhcmdldDogXCJlMXUybGVmeTJcIixcblx0bGFiZWw6IFwiTGVmdFwiXG59KSgoeyB0aGVtZSB9KSA9PiAoe1xuXHRhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuXHRkaXNwbGF5OiBcIm5vbmVcIixcblx0W2BAbWVkaWEgKG1pbi13aWR0aDogJHt0aGVtZS5icmVha1BvaW50cy5tZWRpdW19cHgpYF06IHsgZGlzcGxheTogXCJmbGV4XCIgfSxcblx0bWFyZ2luTGVmdDogMVxufSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZSbTl2ZEdWeUwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRXJRbTlDSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlJtOXZkR1Z5TDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQjdJR052YlcxdmJpQjlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2WTI5c2IzSnpKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1THljN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCWGNtRndjR1Z5SUQwZ2MzUjViR1ZrS0Nka2FYWW5LVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ1ltRmphMmR5YjNWdVpEb2dkR2hsYldVdWNHRnNaWFIwWlM1dGIyUmxJRDA5UFNBbmJHbG5hSFFuSUQ4Z2RHaGxiV1V1Y0dGc1pYUjBaUzV6Ym05M0lEb2dkR2hsYldVdWNHRnNaWFIwWlM1amVXRnVRbXgxWlN4Y2JpQWdZbTl5WkdWeVZHOXdPaUJnTVhCNElITnZiR2xrSUNSN2RHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVIyRnBibk5pYjNKdmZXQXNYRzRnSUdOdmJHOXlPaUIwYUdWdFpTNXdZV3hsZEhSbExtMXZaR1VnUFQwOUlDZGtZWEpySnlBL0lHTnZiVzF2Ymk1M2FHbDBaU0E2SUhSb1pXMWxMbkJoYkdWMGRHVXVibTlpWld3d01TeGNiaUFnWm05dWRGTnBlbVU2SUNjeE5IQjRKeXhjYmlBZ2NHRmtaR2x1WnpvZ0p6SXdjSGduTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTVzV1WlhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQnFkWE4wYVdaNVEyOXVkR1Z1ZERvZ0oyWnNaWGd0Wlc1a0p5eGNiaUFnY0dGa1pHbHVaMHhsWm5RNklERTJMRnh1SUNCd1lXUmthVzVuVW1sbmFIUTZJREUyTEZ4dUlDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dUlDQmJZRUJ0WldScFlTQW9iV2x1TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG0xbFpHbDFiWDF3ZUNsZ1hUb2dlMXh1SUNBZ0lHMXBibGRwWkhSb09pQTBNREFzWEc0Z0lDQWdiV0Y0VjJsa2RHZzZJRGd3TUN4Y2JpQWdJQ0J0WVhKbmFXNDZJQ2RoZFhSdkp5eGNiaUFnSUNCcWRYTjBhV1o1UTI5dWRHVnVkRG9nSjNOd1lXTmxMV0psZEhkbFpXNG5MRnh1SUNCOUxGeHVJQ0JiWUVCdFpXUnBZU0FvYldsdUxYZHBaSFJvT2lBa2UzUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxteGhjbWRsZlhCNEtXQmRPaUI3WEc0Z0lDQWdiV0Y0VjJsa2RHZzZJREV5TkRBc1hHNGdJSDBzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQk1aV1owSUQwZ2MzUjViR1ZrS0Nka2FYWW5LVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ1lXeHBaMjVKZEdWdGN6b2dKMk5sYm5SbGNpY3NYRzRnSUdScGMzQnNZWGs2SUNkdWIyNWxKeXhjYmlBZ1cyQkFiV1ZrYVdFZ0tHMXBiaTEzYVdSMGFEb2dKSHQwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTV0WldScGRXMTljSGdwWUYwNklIdGNiaUFnSUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lIMHNYRzRnSUcxaGNtZHBia3hsWm5RNklERXNYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCU2FXZG9kQ0E5SUhOMGVXeGxaQ2hNWldaMEtTaDdYRzRnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ2JXRnlaMmx1VW1sbmFIUTZJREVzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFeHZkbVVnUFNCemRIbHNaV1FvSjNOd1lXNG5LVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXViRzkyWlN4Y2JpQWdjR0ZrWkdsdVp6b2dKekFnTlhCNEp5eGNibjBwS1R0Y2JpSmRmUT09ICovXCIpO1xudmFyIFJpZ2h0ID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoTGVmdCwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTF1MmxlZnkxXCIgfSA6IHtcblx0dGFyZ2V0OiBcImUxdTJsZWZ5MVwiLFxuXHRsYWJlbDogXCJSaWdodFwiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwiMWMwbTBkclwiLFxuXHRzdHlsZXM6IFwiZGlzcGxheTpmbGV4O21hcmdpbi1yaWdodDoxcHhcIlxufSA6IHtcblx0bmFtZTogXCIxYzBtMGRyXCIsXG5cdHN0eWxlczogXCJkaXNwbGF5OmZsZXg7bWFyZ2luLXJpZ2h0OjFweC8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZSbTl2ZEdWeUwzTjBlV3hsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRjNRM0ZDSWl3aVptbHNaU0k2SWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlJtOXZkR1Z5TDNOMGVXeGxjeTUwY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCemRIbHNaV1FnWm5KdmJTQW5RR1Z0YjNScGIyNHZjM1I1YkdWa0p6dGNibWx0Y0c5eWRDQjdJR052YlcxdmJpQjlJR1p5YjIwZ0owQnRkV2t2YldGMFpYSnBZV3d2WTI5c2IzSnpKenRjYmx4dWFXMXdiM0owSUhSNWNHVWdleUJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1THljN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCWGNtRndjR1Z5SUQwZ2MzUjViR1ZrS0Nka2FYWW5LVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ1ltRmphMmR5YjNWdVpEb2dkR2hsYldVdWNHRnNaWFIwWlM1dGIyUmxJRDA5UFNBbmJHbG5hSFFuSUQ4Z2RHaGxiV1V1Y0dGc1pYUjBaUzV6Ym05M0lEb2dkR2hsYldVdWNHRnNaWFIwWlM1amVXRnVRbXgxWlN4Y2JpQWdZbTl5WkdWeVZHOXdPaUJnTVhCNElITnZiR2xrSUNSN2RHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVIyRnBibk5pYjNKdmZXQXNYRzRnSUdOdmJHOXlPaUIwYUdWdFpTNXdZV3hsZEhSbExtMXZaR1VnUFQwOUlDZGtZWEpySnlBL0lHTnZiVzF2Ymk1M2FHbDBaU0E2SUhSb1pXMWxMbkJoYkdWMGRHVXVibTlpWld3d01TeGNiaUFnWm05dWRGTnBlbVU2SUNjeE5IQjRKeXhjYmlBZ2NHRmtaR2x1WnpvZ0p6SXdjSGduTEZ4dWZTa3BPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTVzV1WlhJZ1BTQnpkSGxzWldRb0oyUnBkaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQnFkWE4wYVdaNVEyOXVkR1Z1ZERvZ0oyWnNaWGd0Wlc1a0p5eGNiaUFnY0dGa1pHbHVaMHhsWm5RNklERTJMRnh1SUNCd1lXUmthVzVuVW1sbmFIUTZJREUyTEZ4dUlDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dUlDQmJZRUJ0WldScFlTQW9iV2x1TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG0xbFpHbDFiWDF3ZUNsZ1hUb2dlMXh1SUNBZ0lHMXBibGRwWkhSb09pQTBNREFzWEc0Z0lDQWdiV0Y0VjJsa2RHZzZJRGd3TUN4Y2JpQWdJQ0J0WVhKbmFXNDZJQ2RoZFhSdkp5eGNiaUFnSUNCcWRYTjBhV1o1UTI5dWRHVnVkRG9nSjNOd1lXTmxMV0psZEhkbFpXNG5MRnh1SUNCOUxGeHVJQ0JiWUVCdFpXUnBZU0FvYldsdUxYZHBaSFJvT2lBa2UzUm9aVzFsTG1KeVpXRnJVRzlwYm5SekxteGhjbWRsZlhCNEtXQmRPaUI3WEc0Z0lDQWdiV0Y0VjJsa2RHZzZJREV5TkRBc1hHNGdJSDBzWEc1OUtTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQk1aV1owSUQwZ2MzUjViR1ZrS0Nka2FYWW5LVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ1lXeHBaMjVKZEdWdGN6b2dKMk5sYm5SbGNpY3NYRzRnSUdScGMzQnNZWGs2SUNkdWIyNWxKeXhjYmlBZ1cyQkFiV1ZrYVdFZ0tHMXBiaTEzYVdSMGFEb2dKSHQwYUdWdFpTNWljbVZoYTFCdmFXNTBjeTV0WldScGRXMTljSGdwWUYwNklIdGNiaUFnSUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lIMHNYRzRnSUcxaGNtZHBia3hsWm5RNklERXNYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCU2FXZG9kQ0E5SUhOMGVXeGxaQ2hNWldaMEtTaDdYRzRnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ2JXRnlaMmx1VW1sbmFIUTZJREVzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFeHZkbVVnUFNCemRIbHNaV1FvSjNOd1lXNG5LVHg3SUhSb1pXMWxQem9nVkdobGJXVWdmVDRvS0hzZ2RHaGxiV1VnZlNrZ1BUNGdLSHRjYmlBZ1kyOXNiM0k2SUhSb1pXMWxMbkJoYkdWMGRHVXViRzkyWlN4Y2JpQWdjR0ZrWkdsdVp6b2dKekFnTlhCNEp5eGNibjBwS1R0Y2JpSmRmUT09ICovXCIsXG5cdHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufSk7XG52YXIgTG92ZSA9IC8qIEBfX1BVUkVfXyAqLyBfc3R5bGVkKFwic3BhblwiLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7IHRhcmdldDogXCJlMXUybGVmeTBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTF1MmxlZnkwXCIsXG5cdGxhYmVsOiBcIkxvdmVcIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0Y29sb3I6IHRoZW1lLnBhbGV0dGUubG92ZSxcblx0cGFkZGluZzogXCIwIDVweFwiXG59KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlJtOXZkR1Z5TDNOMGVXeGxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVFMlEyOUNJaXdpWm1sc1pTSTZJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12Um05dmRHVnlMM04wZVd4bGN5NTBjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0J6ZEhsc1pXUWdabkp2YlNBblFHVnRiM1JwYjI0dmMzUjViR1ZrSnp0Y2JtbHRjRzl5ZENCN0lHTnZiVzF2YmlCOUlHWnliMjBnSjBCdGRXa3ZiV0YwWlhKcFlXd3ZZMjlzYjNKekp6dGNibHh1YVcxd2IzSjBJSFI1Y0dVZ2V5QlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMeWM3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JYY21Gd2NHVnlJRDBnYzNSNWJHVmtLQ2RrYVhZbktUeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LSHNnZEdobGJXVWdmU2tnUFQ0Z0tIdGNiaUFnWW1GamEyZHliM1Z1WkRvZ2RHaGxiV1V1Y0dGc1pYUjBaUzV0YjJSbElEMDlQU0FuYkdsbmFIUW5JRDhnZEdobGJXVXVjR0ZzWlhSMFpTNXpibTkzSURvZ2RHaGxiV1V1Y0dGc1pYUjBaUzVqZVdGdVFteDFaU3hjYmlBZ1ltOXlaR1Z5Vkc5d09pQmdNWEI0SUhOdmJHbGtJQ1I3ZEdobGJXVXVjR0ZzWlhSMFpTNW5jbVY1UjJGcGJuTmliM0p2ZldBc1hHNGdJR052Ykc5eU9pQjBhR1Z0WlM1d1lXeGxkSFJsTG0xdlpHVWdQVDA5SUNka1lYSnJKeUEvSUdOdmJXMXZiaTUzYUdsMFpTQTZJSFJvWlcxbExuQmhiR1YwZEdVdWJtOWlaV3d3TVN4Y2JpQWdabTl1ZEZOcGVtVTZJQ2N4TkhCNEp5eGNiaUFnY0dGa1pHbHVaem9nSnpJd2NIZ25MRnh1ZlNrcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1NXNXVaWElnUFNCemRIbHNaV1FvSjJScGRpY3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lHRnNhV2R1U1hSbGJYTTZJQ2RqWlc1MFpYSW5MRnh1SUNCcWRYTjBhV1o1UTI5dWRHVnVkRG9nSjJac1pYZ3RaVzVrSnl4Y2JpQWdjR0ZrWkdsdVoweGxablE2SURFMkxGeHVJQ0J3WVdSa2FXNW5VbWxuYUhRNklERTJMRnh1SUNCM2FXUjBhRG9nSnpFd01DVW5MRnh1SUNCYllFQnRaV1JwWVNBb2JXbHVMWGRwWkhSb09pQWtlM1JvWlcxbExtSnlaV0ZyVUc5cGJuUnpMbTFsWkdsMWJYMXdlQ2xnWFRvZ2UxeHVJQ0FnSUcxcGJsZHBaSFJvT2lBME1EQXNYRzRnSUNBZ2JXRjRWMmxrZEdnNklEZ3dNQ3hjYmlBZ0lDQnRZWEpuYVc0NklDZGhkWFJ2Snl4Y2JpQWdJQ0JxZFhOMGFXWjVRMjl1ZEdWdWREb2dKM053WVdObExXSmxkSGRsWlc0bkxGeHVJQ0I5TEZ4dUlDQmJZRUJ0WldScFlTQW9iV2x1TFhkcFpIUm9PaUFrZTNSb1pXMWxMbUp5WldGclVHOXBiblJ6TG14aGNtZGxmWEI0S1dCZE9pQjdYRzRnSUNBZ2JXRjRWMmxrZEdnNklERXlOREFzWEc0Z0lIMHNYRzU5S1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCTVpXWjBJRDBnYzNSNWJHVmtLQ2RrYVhZbktUeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LSHNnZEdobGJXVWdmU2tnUFQ0Z0tIdGNiaUFnWVd4cFoyNUpkR1Z0Y3pvZ0oyTmxiblJsY2ljc1hHNGdJR1JwYzNCc1lYazZJQ2R1YjI1bEp5eGNiaUFnVzJCQWJXVmthV0VnS0cxcGJpMTNhV1IwYURvZ0pIdDBhR1Z0WlM1aWNtVmhhMUJ2YVc1MGN5NXRaV1JwZFcxOWNIZ3BZRjA2SUh0Y2JpQWdJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUgwc1hHNGdJRzFoY21kcGJreGxablE2SURFc1hHNTlLU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JTYVdkb2RDQTlJSE4wZVd4bFpDaE1aV1owS1NoN1hHNGdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnYldGeVoybHVVbWxuYUhRNklERXNYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUV4dmRtVWdQU0J6ZEhsc1pXUW9KM053WVc0bktUeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LSHNnZEdobGJXVWdmU2tnUFQ0Z0tIdGNiaUFnWTI5c2IzSTZJSFJvWlcxbExuQmhiR1YwZEdVdWJHOTJaU3hjYmlBZ2NHRmtaR2x1WnpvZ0p6QWdOWEI0Snl4Y2JuMHBLVHRjYmlKZGZRPT0gKi9cIik7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IElubmVyLCBMZWZ0LCBMb3ZlLCBSaWdodCwgV3JhcHBlciB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHlsZXMubWpzLm1hcCIsImltcG9ydCB7IHVzZUNvbmZpZyB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvQXBwQ29uZmlndXJhdGlvblByb3ZpZGVyL0FwcENvbmZpZ3VyYXRpb25Qcm92aWRlci5tanNcIjtcbmltcG9ydCB7IEVhcnRoIH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvSWNvbnMvRWFydGgubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL0ljb25zL2luZGV4Lm1qc1wiO1xuaW1wb3J0IExvZ28gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvTG9nby9Mb2dvLm1qc1wiO1xuaW1wb3J0IHsgSW5uZXIsIExlZnQsIExvdmUsIFJpZ2h0LCBXcmFwcGVyIH0gZnJvbSBcIi4vc3R5bGVzLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vaW5kZXgubWpzXCI7XG5pbXBvcnQgX3N0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkL2Jhc2VcIjtcbmltcG9ydCB7IEZyYWdtZW50LCBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgeyBUcmFucywgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0ICogYXMgRmxhZ3NJY29uIGZyb20gXCJjb3VudHJ5LWZsYWctaWNvbnMvcmVhY3QvM3gyXCI7XG4vLyNyZWdpb24gc3JjL3NlY3Rpb25zL0Zvb3Rlci9Gb290ZXIudHN4XG5mdW5jdGlvbiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXygpIHtcblx0cmV0dXJuIFwiWW91IGhhdmUgdHJpZWQgdG8gc3RyaW5naWZ5IG9iamVjdCByZXR1cm5lZCBmcm9tIGBjc3NgIGZ1bmN0aW9uLiBJdCBpc24ndCBzdXBwb3NlZCB0byBiZSB1c2VkIGRpcmVjdGx5IChlLmcuIGFzIHZhbHVlIG9mIHRoZSBgY2xhc3NOYW1lYCBwcm9wKSwgYnV0IHJhdGhlciBoYW5kZWQgdG8gZW1vdGlvbiBzbyBpdCBjYW4gaGFuZGxlIGl0IChlLmcuIGFzIHZhbHVlIG9mIGBjc3NgIHByb3ApLlwiO1xufVxuZnVuY3Rpb24gZ29Ub1ZlcmRhY2Npb1dlYnNpdGUoKSB7XG5cdHdpbmRvdy5vcGVuKFwiaHR0cHM6Ly92ZXJkYWNjaW8ub3JnXCIsIFwiX2JsYW5rXCIpO1xufVxudmFyIEZvb3RlciA9ICgpID0+IHtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRjb25zdCB7IGNvbmZpZ09wdGlvbnMgfSA9IHVzZUNvbmZpZygpO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChXcmFwcGVyLCB7XG5cdFx0XCJkYXRhLXRlc3RpZFwiOiBcImZvb3RlclwiLFxuXHRcdGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4cyhJbm5lciwgeyBjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3hzKExlZnQsIHsgY2hpbGRyZW46IFsvKiBAX19QVVJFX18gKi8ganN4KFRyYW5zLCB7XG5cdFx0XHRjb21wb25lbnRzOiBbLyogQF9fUFVSRV9fICovIGpzeChMb3ZlLCB7fSwgXCJsb3ZlXCIpXSxcblx0XHRcdGkxOG5LZXk6IFwiZm9vdGVyLm1hZGUtd2l0aC1sb3ZlLW9uXCJcblx0XHR9KSwgLyogQF9fUFVSRV9fICovIGpzeHMoVG9vbFRpcCwgeyBjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goU3R5bGVkRWFydGgsIHt9KSwgLyogQF9fUFVSRV9fICovIGpzeHMoRmxhZ3MsIHsgY2hpbGRyZW46IFtcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goSWNvbiwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChGbGFnc0ljb24uRVMsIHsgdGl0bGU6IHQoXCJmbGFnLnNwYWluXCIpIH0pIH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChJY29uLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEZsYWdzSWNvbi5OSSwgeyB0aXRsZTogdChcImZsYWcubmljYXJhZ3VhXCIpIH0pIH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChJY29uLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEZsYWdzSWNvbi5JTiwgeyB0aXRsZTogdChcImZsYWcuaW5kaWFcIikgfSkgfSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KEljb24sIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goRmxhZ3NJY29uLkJSLCB7IHRpdGxlOiB0KFwiZmxhZy5icmF6aWxcIikgfSkgfSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KEljb24sIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goRmxhZ3NJY29uLkNOLCB7IHRpdGxlOiB0KFwiZmxhZy5jaGluYVwiKSB9KSB9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goSWNvbiwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChGbGFnc0ljb24uQVUsIHsgdGl0bGU6IHQoXCJmbGFnLmF1c3RyYWxpYVwiKSB9KSB9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goSWNvbiwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChGbGFnc0ljb24uREUsIHsgdGl0bGU6IHQoXCJmbGFnLmdlcm1hbnlcIikgfSkgfSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KEljb24sIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goRmxhZ3NJY29uLlRXLCB7IHRpdGxlOiB0KFwiZmxhZy50YWl3YW5cIikgfSkgfSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KEljb24sIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goRmxhZ3NJY29uLkFULCB7IHRpdGxlOiB0KFwiZmxhZy5hdXN0cmlhXCIpIH0pIH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChJY29uLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEZsYWdzSWNvbi5DQSwgeyB0aXRsZTogdChcImZsYWcuY2FuYWRhXCIpIH0pIH0pXG5cdFx0XSB9KV0gfSldIH0pLCAvKiBAX19QVVJFX18gKi8ganN4KFJpZ2h0LCB7IGNoaWxkcmVuOiBjb25maWdPcHRpb25zPy52ZXJzaW9uICYmIC8qIEBfX1BVUkVfXyAqLyBqc3hzKEZyYWdtZW50LCB7IGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChQb3dlcmVkQnksIHtcblx0XHRcdFwiZGF0YS10ZXN0aWRcIjogXCJ2ZXJzaW9uLWZvb3RlclwiLFxuXHRcdFx0Y2hpbGRyZW46IHQoXCJmb290ZXIucG93ZXJlZC1ieVwiKVxuXHRcdH0pLCAvKiBAX19QVVJFX18gKi8ganN4KExvZ28sIHtcblx0XHRcdGlzRGVmYXVsdDogdHJ1ZSxcblx0XHRcdG9uQ2xpY2s6IGdvVG9WZXJkYWNjaW9XZWJzaXRlLFxuXHRcdFx0c2l6ZTogXCJ4LXNtYWxsXCIsXG5cdFx0XHR0aXRsZTogY29uZmlnT3B0aW9ucy52ZXJzaW9uXG5cdFx0fSldIH0pIH0pXSB9KVxuXHR9KTtcbn07XG52YXIgUG93ZXJlZEJ5ID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJzcGFuXCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImU5ZHdnYTU0XCIgfSA6IHtcblx0dGFyZ2V0OiBcImU5ZHdnYTU0XCIsXG5cdGxhYmVsOiBcIlBvd2VyZWRCeVwiXG59KSgoKSA9PiAoeyBwYWRkaW5nUmlnaHQ6IFwiNXB4XCIgfSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZSbTl2ZEdWeUwwWnZiM1JsY2k1MGMzZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJPRVZyUWlJc0ltWnBiR1VpT2lJdmFHOXRaUzl5ZFc1dVpYSXZkMjl5YXk5MlpYSmtZV05qYVc4dmRtVnlaR0ZqWTJsdkwzQmhZMnRoWjJWekwzVnBMV052YlhCdmJtVnVkSE12YzNKakwzTmxZM1JwYjI1ekwwWnZiM1JsY2k5R2IyOTBaWEl1ZEhONElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElITjBlV3hsWkNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl6ZEhsc1pXUW5PMXh1YVcxd2IzSjBJQ29nWVhNZ1JteGhaM05KWTI5dUlHWnliMjBnSjJOdmRXNTBjbmt0Wm14aFp5MXBZMjl1Y3k5eVpXRmpkQzh6ZURJbk8xeHVhVzF3YjNKMElGSmxZV04wSUdaeWIyMGdKM0psWVdOMEp6dGNibWx0Y0c5eWRDQjdJRlJ5WVc1ekxDQjFjMlZVY21GdWMyeGhkR2x2YmlCOUlHWnliMjBnSjNKbFlXTjBMV2t4T0c1bGVIUW5PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCN0lFeHZaMjhzSUhWelpVTnZibVpwWnlCOUlHWnliMjBnSnk0dUx5NHVMeWM3WEc1cGJYQnZjblFnZXlCRllYSjBhQ0I5SUdaeWIyMGdKeTR1THk0dUwyTnZiWEJ2Ym1WdWRITXZTV052Ym5Nbk8xeHVhVzF3YjNKMElIc2dTVzV1WlhJc0lFeGxablFzSUV4dmRtVXNJRkpwWjJoMExDQlhjbUZ3Y0dWeUlIMGdabkp2YlNBbkxpOXpkSGxzWlhNbk8xeHVYRzVtZFc1amRHbHZiaUJuYjFSdlZtVnlaR0ZqWTJsdlYyVmljMmwwWlNncE9pQjJiMmxrSUh0Y2JpQWdkMmx1Wkc5M0xtOXdaVzRvSjJoMGRIQnpPaTh2ZG1WeVpHRmpZMmx2TG05eVp5Y3NJQ2RmWW14aGJtc25LVHRjYm4xY2JseHVZMjl1YzNRZ1JtOXZkR1Z5SUQwZ0tDa2dQVDRnZTF4dUlDQmpiMjV6ZENCN0lIUWdmU0E5SUhWelpWUnlZVzV6YkdGMGFXOXVLQ2s3WEc0Z0lHTnZibk4wSUhzZ1kyOXVabWxuVDNCMGFXOXVjeUI5SUQwZ2RYTmxRMjl1Wm1sbktDazdYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRmR5WVhCd1pYSWdaR0YwWVMxMFpYTjBhV1E5WENKbWIyOTBaWEpjSWo1Y2JpQWdJQ0FnSUR4SmJtNWxjajVjYmlBZ0lDQWdJQ0FnUEV4bFpuUStYRzRnSUNBZ0lDQWdJQ0FnUEZSeVlXNXpJR052YlhCdmJtVnVkSE05ZTFzOFRHOTJaU0JyWlhrOVhDSnNiM1psWENJZ0x6NWRmU0JwTVRodVMyVjVQVndpWm05dmRHVnlMbTFoWkdVdGQybDBhQzFzYjNabExXOXVYQ0lnTHo1Y2JpQWdJQ0FnSUNBZ0lDQThWRzl2YkZScGNENWNiaUFnSUNBZ0lDQWdJQ0FnSUR4VGRIbHNaV1JGWVhKMGFDQXZQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BFWnNZV2R6UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThSbXhoWjNOSlkyOXVMa1ZUSUhScGRHeGxQWHQwS0NkbWJHRm5Mbk53WVdsdUp5bDlJQzgrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHd2U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVac1lXZHpTV052Ymk1T1NTQjBhWFJzWlQxN2RDZ25abXhoWnk1dWFXTmhjbUZuZFdFbktYMGdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Um14aFozTkpZMjl1TGtsT0lIUnBkR3hsUFh0MEtDZG1iR0ZuTG1sdVpHbGhKeWw5SUM4K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR3dlNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRWxqYjI0K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BFWnNZV2R6U1dOdmJpNUNVaUIwYVhSc1pUMTdkQ2duWm14aFp5NWljbUY2YVd3bktYMGdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Um14aFozTkpZMjl1TGtOT0lIUnBkR3hsUFh0MEtDZG1iR0ZuTG1Ob2FXNWhKeWw5SUM4K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR3dlNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRWxqYjI0K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BFWnNZV2R6U1dOdmJpNUJWU0IwYVhSc1pUMTdkQ2duWm14aFp5NWhkWE4wY21Gc2FXRW5LWDBnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5SlkyOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThTV052Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFJteGhaM05KWTI5dUxrUkZJSFJwZEd4bFBYdDBLQ2RtYkdGbkxtZGxjbTFoYm5rbktYMGdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Um14aFozTkpZMjl1TGxSWElIUnBkR3hsUFh0MEtDZG1iR0ZuTG5SaGFYZGhiaWNwZlNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwwbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHhKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEdiR0ZuYzBsamIyNHVRVlFnZEdsMGJHVTllM1FvSjJac1lXY3VZWFZ6ZEhKcFlTY3BmU0F2UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDBsamIyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4R2JHRm5jMGxqYjI0dVEwRWdkR2wwYkdVOWUzUW9KMlpzWVdjdVkyRnVZV1JoSnlsOUlDOCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZTV052Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHd2Um14aFozTStYRzRnSUNBZ0lDQWdJQ0FnUEM5VWIyOXNWR2x3UGx4dUlDQWdJQ0FnSUNBOEwweGxablErWEc0Z0lDQWdJQ0FnSUR4U2FXZG9kRDVjYmlBZ0lDQWdJQ0FnSUNCN1kyOXVabWxuVDNCMGFXOXVjejh1ZG1WeWMybHZiaUFtSmlBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4VUc5M1pYSmxaRUo1SUdSaGRHRXRkR1Z6ZEdsa1BWd2lkbVZ5YzJsdmJpMW1iMjkwWlhKY0lqNTdkQ2duWm05dmRHVnlMbkJ2ZDJWeVpXUXRZbmtuS1gwOEwxQnZkMlZ5WldSQ2VUNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFeHZaMjljYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwYzBSbFptRjFiSFE5ZTNSeWRXVjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMjVEYkdsamF6MTdaMjlVYjFabGNtUmhZMk5wYjFkbFluTnBkR1Y5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzJsNlpUMWNJbmd0YzIxaGJHeGNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJwZEd4bFBYdGpiMjVtYVdkUGNIUnBiMjV6TG5abGNuTnBiMjU5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzgrWEc0Z0lDQWdJQ0FnSUNBZ0lDQThMejVjYmlBZ0lDQWdJQ0FnSUNBcGZWeHVJQ0FnSUNBZ0lDQThMMUpwWjJoMFBseHVJQ0FnSUNBZ1BDOUpibTVsY2o1Y2JpQWdJQ0E4TDFkeVlYQndaWEkrWEc0Z0lDazdYRzU5TzF4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCR2IyOTBaWEk3WEc1Y2JtTnZibk4wSUZCdmQyVnlaV1JDZVNBOUlITjBlV3hsWkNnbmMzQmhiaWNwS0NncElEMCtJQ2g3WEc0Z0lIQmhaR1JwYm1kU2FXZG9kRG9nSnpWd2VDY3NYRzU5S1NrN1hHNWNibU52Ym5OMElGTjBlV3hsWkVWaGNuUm9JRDBnYzNSNWJHVmtLRVZoY25Sb0tUeDdJSFJvWlcxbFB6b2dWR2hsYldVZ2ZUNG9LSHNnZEdobGJXVWdmU2tnUFQ0Z0tIdGNiaUFnYldGeVoybHVPaUIwYUdWdFpTNXpjR0ZqYVc1bktEQXNJREVwTEZ4dWZTa3BPMXh1WEc1amIyNXpkQ0JHYkdGbmN5QTlJSE4wZVd4bFpDZ25jM0JoYmljcFBIc2dkR2hsYldVL09pQlVhR1Z0WlNCOVBpZ29leUIwYUdWdFpTQjlLU0E5UGlBb2UxeHVJQ0JrYVhOd2JHRjVPaUFuYVc1c2FXNWxMV2R5YVdRbkxGeHVJQ0JuY21sa1ZHVnRjR3hoZEdWRGIyeDFiVzV6T2lBbmNtVndaV0YwS0RFd0xDQnRZWGd0WTI5dWRHVnVkQ2tuTEZ4dUlDQm5jbWxrUjJGd09pQjBhR1Z0WlM1emNHRmphVzVuS0RBc0lERXBMRnh1SUNCd2IzTnBkR2x2YmpvZ0oyRmljMjlzZFhSbEp5eGNiaUFnWW1GamEyZHliM1Z1WkRvZ2RHaGxiV1V1Y0dGc1pYUjBaUzVuY21WNVFYUm9aVzV6TEZ4dUlDQndZV1JrYVc1bk9pQW5NWEI0SURSd2VDY3NYRzRnSUdKdmNtUmxjbEpoWkdsMWN6b2dNeXhjYmlBZ2FHVnBaMmgwT2lBeU1DeGNiaUFnWVd4cFoyNUpkR1Z0Y3pvZ0oyTmxiblJsY2ljc1hHNGdJSFpwYzJsaWFXeHBkSGs2SUNkb2FXUmtaVzRuTEZ4dUlDQjBiM0E2SUMweUxGeHVJQ0FuT21KbFptOXlaU2M2SUh0Y2JpQWdJQ0JqYjI1MFpXNTBPaUJjSWljblhDSXNYRzRnSUNBZ2NHOXphWFJwYjI0NklDZGhZbk52YkhWMFpTY3NYRzRnSUNBZ2RHOXdPaUFuTWprbEp5eGNiaUFnSUNCc1pXWjBPaUF0TkN4Y2JpQWdJQ0J0WVhKbmFXNU1aV1owT2lBdE5TeGNiaUFnSUNCaWIzSmtaWEk2SUNjMWNIZ2djMjlzYVdRbkxGeHVJQ0FnSUdKdmNtUmxja052Ykc5eU9pQmdKSHQwYUdWdFpTNXdZV3hsZEhSbExtZHlaWGxCZEdobGJuTjlJSFJ5WVc1emNHRnlaVzUwSUhSeVlXNXpjR0Z5Wlc1MElIUnlZVzV6Y0dGeVpXNTBZQ3hjYmlBZ0lDQjBjbUZ1YzJadmNtMDZJQ2R5YjNSaGRHVW9PVEJrWldjcEp5eGNiaUFnZlN4Y2JuMHBLVHRjYmx4dVkyOXVjM1FnU1dOdmJpQTlJSE4wZVd4bFpDZ25aR2wySnlrb2UxeHVJQ0IzYVdSMGFEb2dKekV3Y0hnbkxGeHVmU2s3WEc1Y2JtTnZibk4wSUZSdmIyeFVhWEFnUFNCemRIbHNaV1FvSjNOd1lXNG5LU2g3WEc0Z0lIQnZjMmwwYVc5dU9pQW5jbVZzWVhScGRtVW5MRnh1SUNCb1pXbG5hSFE2SUNjeE9IQjRKeXhjYmlBZ0p6cG9iM1psY2ljNklIdGNiaUFnSUNCYllDUjdSbXhoWjNOOVlGMDZJSHRjYmlBZ0lDQWdJSFpwYzJsaWFXeHBkSGs2SUNkMmFYTnBZbXhsSnl4Y2JpQWdJQ0I5TEZ4dUlDQjlMRnh1ZlNrN1hHNGlYWDA9ICovXCIpO1xudmFyIFN0eWxlZEVhcnRoID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoRWFydGgsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHsgdGFyZ2V0OiBcImU5ZHdnYTUzXCIgfSA6IHtcblx0dGFyZ2V0OiBcImU5ZHdnYTUzXCIsXG5cdGxhYmVsOiBcIlN0eWxlZEVhcnRoXCJcbn0pKCh7IHRoZW1lIH0pID0+ICh7IG1hcmdpbjogdGhlbWUuc3BhY2luZygwLCAxKSB9KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlJtOXZkR1Z5TDBadmIzUmxjaTUwYzNnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQmEwWnZRaUlzSW1acGJHVWlPaUl2YUc5dFpTOXlkVzV1WlhJdmQyOXlheTkyWlhKa1lXTmphVzh2ZG1WeVpHRmpZMmx2TDNCaFkydGhaMlZ6TDNWcExXTnZiWEJ2Ym1WdWRITXZjM0pqTDNObFkzUnBiMjV6TDBadmIzUmxjaTlHYjI5MFpYSXVkSE40SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVhVzF3YjNKMElDb2dZWE1nUm14aFozTkpZMjl1SUdaeWIyMGdKMk52ZFc1MGNua3RabXhoWnkxcFkyOXVjeTl5WldGamRDOHplREluTzF4dWFXMXdiM0owSUZKbFlXTjBJR1p5YjIwZ0ozSmxZV04wSnp0Y2JtbHRjRzl5ZENCN0lGUnlZVzV6TENCMWMyVlVjbUZ1YzJ4aGRHbHZiaUI5SUdaeWIyMGdKM0psWVdOMExXa3hPRzVsZUhRbk8xeHVYRzVwYlhCdmNuUWdkSGx3WlNCN0lGUm9aVzFsSUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYm1sdGNHOXlkQ0I3SUV4dloyOHNJSFZ6WlVOdmJtWnBaeUI5SUdaeWIyMGdKeTR1THk0dUx5YzdYRzVwYlhCdmNuUWdleUJGWVhKMGFDQjlJR1p5YjIwZ0p5NHVMeTR1TDJOdmJYQnZibVZ1ZEhNdlNXTnZibk1uTzF4dWFXMXdiM0owSUhzZ1NXNXVaWElzSUV4bFpuUXNJRXh2ZG1Vc0lGSnBaMmgwTENCWGNtRndjR1Z5SUgwZ1puSnZiU0FuTGk5emRIbHNaWE1uTzF4dVhHNW1kVzVqZEdsdmJpQm5iMVJ2Vm1WeVpHRmpZMmx2VjJWaWMybDBaU2dwT2lCMmIybGtJSHRjYmlBZ2QybHVaRzkzTG05d1pXNG9KMmgwZEhCek9pOHZkbVZ5WkdGalkybHZMbTl5Wnljc0lDZGZZbXhoYm1zbktUdGNibjFjYmx4dVkyOXVjM1FnUm05dmRHVnlJRDBnS0NrZ1BUNGdlMXh1SUNCamIyNXpkQ0I3SUhRZ2ZTQTlJSFZ6WlZSeVlXNXpiR0YwYVc5dUtDazdYRzRnSUdOdmJuTjBJSHNnWTI5dVptbG5UM0IwYVc5dWN5QjlJRDBnZFhObFEyOXVabWxuS0NrN1hHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BGZHlZWEJ3WlhJZ1pHRjBZUzEwWlhOMGFXUTlYQ0ptYjI5MFpYSmNJajVjYmlBZ0lDQWdJRHhKYm01bGNqNWNiaUFnSUNBZ0lDQWdQRXhsWm5RK1hHNGdJQ0FnSUNBZ0lDQWdQRlJ5WVc1eklHTnZiWEJ2Ym1WdWRITTllMXM4VEc5MlpTQnJaWGs5WENKc2IzWmxYQ0lnTHo1ZGZTQnBNVGh1UzJWNVBWd2labTl2ZEdWeUxtMWhaR1V0ZDJsMGFDMXNiM1psTFc5dVhDSWdMejVjYmlBZ0lDQWdJQ0FnSUNBOFZHOXZiRlJwY0Q1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHhUZEhsc1pXUkZZWEowYUNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnUEVac1lXZHpQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThTV052Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFJteGhaM05KWTI5dUxrVlRJSFJwZEd4bFBYdDBLQ2RtYkdGbkxuTndZV2x1SnlsOUlDOCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZTV052Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVsamIyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQRVpzWVdkelNXTnZiaTVPU1NCMGFYUnNaVDE3ZENnblpteGhaeTV1YVdOaGNtRm5kV0VuS1gwZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BDOUpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThSbXhoWjNOSlkyOXVMa2xPSUhScGRHeGxQWHQwS0NkbWJHRm5MbWx1WkdsaEp5bDlJQzgrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHd2U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVac1lXZHpTV052Ymk1Q1VpQjBhWFJzWlQxN2RDZ25abXhoWnk1aWNtRjZhV3duS1gwZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BDOUpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThSbXhoWjNOSlkyOXVMa05PSUhScGRHeGxQWHQwS0NkbWJHRm5MbU5vYVc1aEp5bDlJQzgrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHd2U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVac1lXZHpTV052Ymk1QlZTQjBhWFJzWlQxN2RDZ25abXhoWnk1aGRYTjBjbUZzYVdFbktYMGdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Um14aFozTkpZMjl1TGtSRklIUnBkR3hsUFh0MEtDZG1iR0ZuTG1kbGNtMWhibmtuS1gwZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BDOUpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThSbXhoWjNOSlkyOXVMbFJYSUhScGRHeGxQWHQwS0NkbWJHRm5MblJoYVhkaGJpY3BmU0F2UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDBsamIyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4R2JHRm5jMGxqYjI0dVFWUWdkR2wwYkdVOWUzUW9KMlpzWVdjdVlYVnpkSEpwWVNjcGZTQXZQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThMMGxqYjI0K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR4SlkyOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHhHYkdGbmMwbGpiMjR1UTBFZ2RHbDBiR1U5ZTNRb0oyWnNZV2N1WTJGdVlXUmhKeWw5SUM4K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR3dlNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lEd3ZSbXhoWjNNK1hHNGdJQ0FnSUNBZ0lDQWdQQzlVYjI5c1ZHbHdQbHh1SUNBZ0lDQWdJQ0E4TDB4bFpuUStYRzRnSUNBZ0lDQWdJRHhTYVdkb2RENWNiaUFnSUNBZ0lDQWdJQ0I3WTI5dVptbG5UM0IwYVc5dWN6OHVkbVZ5YzJsdmJpQW1KaUFvWEc0Z0lDQWdJQ0FnSUNBZ0lDQThQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThVRzkzWlhKbFpFSjVJR1JoZEdFdGRHVnpkR2xrUFZ3aWRtVnljMmx2YmkxbWIyOTBaWEpjSWo1N2RDZ25abTl2ZEdWeUxuQnZkMlZ5WldRdFlua25LWDA4TDFCdmQyVnlaV1JDZVQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEV4dloyOWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBjMFJsWm1GMWJIUTllM1J5ZFdWOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IyNURiR2xqYXoxN1oyOVViMVpsY21SaFkyTnBiMWRsWW5OcGRHVjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjMmw2WlQxY0luZ3RjMjFoYkd4Y0lseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUnBkR3hsUFh0amIyNW1hV2RQY0hScGIyNXpMblpsY25OcGIyNTlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDOCtYRzRnSUNBZ0lDQWdJQ0FnSUNBOEx6NWNiaUFnSUNBZ0lDQWdJQ0FwZlZ4dUlDQWdJQ0FnSUNBOEwxSnBaMmgwUGx4dUlDQWdJQ0FnUEM5SmJtNWxjajVjYmlBZ0lDQThMMWR5WVhCd1pYSStYRzRnSUNrN1hHNTlPMXh1WEc1bGVIQnZjblFnWkdWbVlYVnNkQ0JHYjI5MFpYSTdYRzVjYm1OdmJuTjBJRkJ2ZDJWeVpXUkNlU0E5SUhOMGVXeGxaQ2duYzNCaGJpY3BLQ2dwSUQwK0lDaDdYRzRnSUhCaFpHUnBibWRTYVdkb2REb2dKelZ3ZUNjc1hHNTlLU2s3WEc1Y2JtTnZibk4wSUZOMGVXeGxaRVZoY25Sb0lEMGdjM1I1YkdWa0tFVmhjblJvS1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIc2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdiV0Z5WjJsdU9pQjBhR1Z0WlM1emNHRmphVzVuS0RBc0lERXBMRnh1ZlNrcE8xeHVYRzVqYjI1emRDQkdiR0ZuY3lBOUlITjBlV3hsWkNnbmMzQmhiaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQmthWE53YkdGNU9pQW5hVzVzYVc1bExXZHlhV1FuTEZ4dUlDQm5jbWxrVkdWdGNHeGhkR1ZEYjJ4MWJXNXpPaUFuY21Wd1pXRjBLREV3TENCdFlYZ3RZMjl1ZEdWdWRDa25MRnh1SUNCbmNtbGtSMkZ3T2lCMGFHVnRaUzV6Y0dGamFXNW5LREFzSURFcExGeHVJQ0J3YjNOcGRHbHZiam9nSjJGaWMyOXNkWFJsSnl4Y2JpQWdZbUZqYTJkeWIzVnVaRG9nZEdobGJXVXVjR0ZzWlhSMFpTNW5jbVY1UVhSb1pXNXpMRnh1SUNCd1lXUmthVzVuT2lBbk1YQjRJRFJ3ZUNjc1hHNGdJR0p2Y21SbGNsSmhaR2wxY3pvZ015eGNiaUFnYUdWcFoyaDBPaUF5TUN4Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc0Z0lIWnBjMmxpYVd4cGRIazZJQ2RvYVdSa1pXNG5MRnh1SUNCMGIzQTZJQzB5TEZ4dUlDQW5PbUpsWm05eVpTYzZJSHRjYmlBZ0lDQmpiMjUwWlc1ME9pQmNJaWNuWENJc1hHNGdJQ0FnY0c5emFYUnBiMjQ2SUNkaFluTnZiSFYwWlNjc1hHNGdJQ0FnZEc5d09pQW5NamtsSnl4Y2JpQWdJQ0JzWldaME9pQXROQ3hjYmlBZ0lDQnRZWEpuYVc1TVpXWjBPaUF0TlN4Y2JpQWdJQ0JpYjNKa1pYSTZJQ2MxY0hnZ2MyOXNhV1FuTEZ4dUlDQWdJR0p2Y21SbGNrTnZiRzl5T2lCZ0pIdDBhR1Z0WlM1d1lXeGxkSFJsTG1keVpYbEJkR2hsYm5OOUlIUnlZVzV6Y0dGeVpXNTBJSFJ5WVc1emNHRnlaVzUwSUhSeVlXNXpjR0Z5Wlc1MFlDeGNiaUFnSUNCMGNtRnVjMlp2Y20wNklDZHliM1JoZEdVb09UQmtaV2NwSnl4Y2JpQWdmU3hjYm4wcEtUdGNibHh1WTI5dWMzUWdTV052YmlBOUlITjBlV3hsWkNnblpHbDJKeWtvZTF4dUlDQjNhV1IwYURvZ0p6RXdjSGduTEZ4dWZTazdYRzVjYm1OdmJuTjBJRlJ2YjJ4VWFYQWdQU0J6ZEhsc1pXUW9KM053WVc0bktTaDdYRzRnSUhCdmMybDBhVzl1T2lBbmNtVnNZWFJwZG1VbkxGeHVJQ0JvWldsbmFIUTZJQ2N4T0hCNEp5eGNiaUFnSnpwb2IzWmxjaWM2SUh0Y2JpQWdJQ0JiWUNSN1JteGhaM045WUYwNklIdGNiaUFnSUNBZ0lIWnBjMmxpYVd4cGRIazZJQ2QyYVhOcFlteGxKeXhjYmlBZ0lDQjlMRnh1SUNCOUxGeHVmU2s3WEc0aVhYMD0gKi9cIik7XG52YXIgRmxhZ3MgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcInNwYW5cIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTlkd2dhNTJcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTlkd2dhNTJcIixcblx0bGFiZWw6IFwiRmxhZ3NcIlxufSkoKHsgdGhlbWUgfSkgPT4gKHtcblx0ZGlzcGxheTogXCJpbmxpbmUtZ3JpZFwiLFxuXHRncmlkVGVtcGxhdGVDb2x1bW5zOiBcInJlcGVhdCgxMCwgbWF4LWNvbnRlbnQpXCIsXG5cdGdyaWRHYXA6IHRoZW1lLnNwYWNpbmcoMCwgMSksXG5cdHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG5cdGJhY2tncm91bmQ6IHRoZW1lLnBhbGV0dGUuZ3JleUF0aGVucyxcblx0cGFkZGluZzogXCIxcHggNHB4XCIsXG5cdGJvcmRlclJhZGl1czogMyxcblx0aGVpZ2h0OiAyMCxcblx0YWxpZ25JdGVtczogXCJjZW50ZXJcIixcblx0dmlzaWJpbGl0eTogXCJoaWRkZW5cIixcblx0dG9wOiAtMixcblx0XCI6YmVmb3JlXCI6IHtcblx0XHRjb250ZW50OiBcIicnXCIsXG5cdFx0cG9zaXRpb246IFwiYWJzb2x1dGVcIixcblx0XHR0b3A6IFwiMjklXCIsXG5cdFx0bGVmdDogLTQsXG5cdFx0bWFyZ2luTGVmdDogLTUsXG5cdFx0Ym9yZGVyOiBcIjVweCBzb2xpZFwiLFxuXHRcdGJvcmRlckNvbG9yOiBgJHt0aGVtZS5wYWxldHRlLmdyZXlBdGhlbnN9IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50YCxcblx0XHR0cmFuc2Zvcm06IFwicm90YXRlKDkwZGVnKVwiXG5cdH1cbn0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12Um05dmRHVnlMMFp2YjNSbGNpNTBjM2dpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCYzBaaklpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZSbTl2ZEdWeUwwWnZiM1JsY2k1MGMzZ2lMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdjM1I1YkdWa0lHWnliMjBnSjBCbGJXOTBhVzl1TDNOMGVXeGxaQ2M3WEc1cGJYQnZjblFnS2lCaGN5QkdiR0ZuYzBsamIyNGdabkp2YlNBblkyOTFiblJ5ZVMxbWJHRm5MV2xqYjI1ekwzSmxZV04wTHpONE1pYzdYRzVwYlhCdmNuUWdVbVZoWTNRZ1puSnZiU0FuY21WaFkzUW5PMXh1YVcxd2IzSjBJSHNnVkhKaGJuTXNJSFZ6WlZSeVlXNXpiR0YwYVc5dUlIMGdabkp2YlNBbmNtVmhZM1F0YVRFNGJtVjRkQ2M3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk4bk8xeHVhVzF3YjNKMElIc2dURzluYnl3Z2RYTmxRMjl1Wm1sbklIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCN0lFVmhjblJvSUgwZ1puSnZiU0FuTGk0dkxpNHZZMjl0Y0c5dVpXNTBjeTlKWTI5dWN5YzdYRzVwYlhCdmNuUWdleUJKYm01bGNpd2dUR1ZtZEN3Z1RHOTJaU3dnVW1sbmFIUXNJRmR5WVhCd1pYSWdmU0JtY205dElDY3VMM04wZVd4bGN5YzdYRzVjYm1aMWJtTjBhVzl1SUdkdlZHOVdaWEprWVdOamFXOVhaV0p6YVhSbEtDazZJSFp2YVdRZ2UxeHVJQ0IzYVc1a2IzY3ViM0JsYmlnbmFIUjBjSE02THk5MlpYSmtZV05qYVc4dWIzSm5KeXdnSjE5aWJHRnVheWNwTzF4dWZWeHVYRzVqYjI1emRDQkdiMjkwWlhJZ1BTQW9LU0E5UGlCN1hHNGdJR052Ym5OMElIc2dkQ0I5SUQwZ2RYTmxWSEpoYm5Oc1lYUnBiMjRvS1R0Y2JpQWdZMjl1YzNRZ2V5QmpiMjVtYVdkUGNIUnBiMjV6SUgwZ1BTQjFjMlZEYjI1bWFXY29LVHRjYmlBZ2NtVjBkWEp1SUNoY2JpQWdJQ0E4VjNKaGNIQmxjaUJrWVhSaExYUmxjM1JwWkQxY0ltWnZiM1JsY2x3aVBseHVJQ0FnSUNBZ1BFbHVibVZ5UGx4dUlDQWdJQ0FnSUNBOFRHVm1kRDVjYmlBZ0lDQWdJQ0FnSUNBOFZISmhibk1nWTI5dGNHOXVaVzUwY3oxN1d6eE1iM1psSUd0bGVUMWNJbXh2ZG1WY0lpQXZQbDE5SUdreE9HNUxaWGs5WENKbWIyOTBaWEl1YldGa1pTMTNhWFJvTFd4dmRtVXRiMjVjSWlBdlBseHVJQ0FnSUNBZ0lDQWdJRHhVYjI5c1ZHbHdQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BGTjBlV3hsWkVWaGNuUm9JQzgrWEc0Z0lDQWdJQ0FnSUNBZ0lDQThSbXhoWjNNK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR4SlkyOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHhHYkdGbmMwbGpiMjR1UlZNZ2RHbDBiR1U5ZTNRb0oyWnNZV2N1YzNCaGFXNG5LWDBnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5SlkyOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThTV052Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFJteGhaM05KWTI5dUxrNUpJSFJwZEd4bFBYdDBLQ2RtYkdGbkxtNXBZMkZ5WVdkMVlTY3BmU0F2UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDBsamIyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4R2JHRm5jMGxqYjI0dVNVNGdkR2wwYkdVOWUzUW9KMlpzWVdjdWFXNWthV0VuS1gwZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BDOUpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThSbXhoWjNOSlkyOXVMa0pTSUhScGRHeGxQWHQwS0NkbWJHRm5MbUp5WVhwcGJDY3BmU0F2UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDBsamIyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4R2JHRm5jMGxqYjI0dVEwNGdkR2wwYkdVOWUzUW9KMlpzWVdjdVkyaHBibUVuS1gwZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BDOUpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThSbXhoWjNOSlkyOXVMa0ZWSUhScGRHeGxQWHQwS0NkbWJHRm5MbUYxYzNSeVlXeHBZU2NwZlNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwwbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHhKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEdiR0ZuYzBsamIyNHVSRVVnZEdsMGJHVTllM1FvSjJac1lXY3VaMlZ5YldGdWVTY3BmU0F2UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDBsamIyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4R2JHRm5jMGxqYjI0dVZGY2dkR2wwYkdVOWUzUW9KMlpzWVdjdWRHRnBkMkZ1SnlsOUlDOCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZTV052Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVsamIyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQRVpzWVdkelNXTnZiaTVCVkNCMGFYUnNaVDE3ZENnblpteGhaeTVoZFhOMGNtbGhKeWw5SUM4K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR3dlNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRWxqYjI0K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BFWnNZV2R6U1dOdmJpNURRU0IwYVhSc1pUMTdkQ2duWm14aFp5NWpZVzVoWkdFbktYMGdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnUEM5R2JHRm5jejVjYmlBZ0lDQWdJQ0FnSUNBOEwxUnZiMnhVYVhBK1hHNGdJQ0FnSUNBZ0lEd3ZUR1ZtZEQ1Y2JpQWdJQ0FnSUNBZ1BGSnBaMmgwUGx4dUlDQWdJQ0FnSUNBZ0lIdGpiMjVtYVdkUGNIUnBiMjV6UHk1MlpYSnphVzl1SUNZbUlDaGNiaUFnSUNBZ0lDQWdJQ0FnSUR3K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR4UWIzZGxjbVZrUW5rZ1pHRjBZUzEwWlhOMGFXUTlYQ0oyWlhKemFXOXVMV1p2YjNSbGNsd2lQbnQwS0NkbWIyOTBaWEl1Y0c5M1pYSmxaQzFpZVNjcGZUd3ZVRzkzWlhKbFpFSjVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThURzluYjF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdselJHVm1ZWFZzZEQxN2RISjFaWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtOc2FXTnJQWHRuYjFSdlZtVnlaR0ZqWTJsdlYyVmljMmwwWlgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemFYcGxQVndpZUMxemJXRnNiRndpWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdsMGJHVTllMk52Ym1acFowOXdkR2x2Ym5NdWRtVnljMmx2Ym4xY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHd2UGx4dUlDQWdJQ0FnSUNBZ0lDbDlYRzRnSUNBZ0lDQWdJRHd2VW1sbmFIUStYRzRnSUNBZ0lDQThMMGx1Ym1WeVBseHVJQ0FnSUR3dlYzSmhjSEJsY2o1Y2JpQWdLVHRjYm4wN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElFWnZiM1JsY2p0Y2JseHVZMjl1YzNRZ1VHOTNaWEpsWkVKNUlEMGdjM1I1YkdWa0tDZHpjR0Z1Snlrb0tDa2dQVDRnS0h0Y2JpQWdjR0ZrWkdsdVoxSnBaMmgwT2lBbk5YQjRKeXhjYm4wcEtUdGNibHh1WTI5dWMzUWdVM1I1YkdWa1JXRnlkR2dnUFNCemRIbHNaV1FvUldGeWRHZ3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCdFlYSm5hVzQ2SUhSb1pXMWxMbk53WVdOcGJtY29NQ3dnTVNrc1hHNTlLU2s3WEc1Y2JtTnZibk4wSUVac1lXZHpJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdScGMzQnNZWGs2SUNkcGJteHBibVV0WjNKcFpDY3NYRzRnSUdkeWFXUlVaVzF3YkdGMFpVTnZiSFZ0Ym5NNklDZHlaWEJsWVhRb01UQXNJRzFoZUMxamIyNTBaVzUwS1Njc1hHNGdJR2R5YVdSSFlYQTZJSFJvWlcxbExuTndZV05wYm1jb01Dd2dNU2tzWEc0Z0lIQnZjMmwwYVc5dU9pQW5ZV0p6YjJ4MWRHVW5MRnh1SUNCaVlXTnJaM0p2ZFc1a09pQjBhR1Z0WlM1d1lXeGxkSFJsTG1keVpYbEJkR2hsYm5Nc1hHNGdJSEJoWkdScGJtYzZJQ2N4Y0hnZ05IQjRKeXhjYmlBZ1ltOXlaR1Z5VW1Ga2FYVnpPaUF6TEZ4dUlDQm9aV2xuYUhRNklESXdMRnh1SUNCaGJHbG5ia2wwWlcxek9pQW5ZMlZ1ZEdWeUp5eGNiaUFnZG1semFXSnBiR2wwZVRvZ0oyaHBaR1JsYmljc1hHNGdJSFJ2Y0RvZ0xUSXNYRzRnSUNjNlltVm1iM0psSnpvZ2UxeHVJQ0FnSUdOdmJuUmxiblE2SUZ3aUp5ZGNJaXhjYmlBZ0lDQndiM05wZEdsdmJqb2dKMkZpYzI5c2RYUmxKeXhjYmlBZ0lDQjBiM0E2SUNjeU9TVW5MRnh1SUNBZ0lHeGxablE2SUMwMExGeHVJQ0FnSUcxaGNtZHBia3hsWm5RNklDMDFMRnh1SUNBZ0lHSnZjbVJsY2pvZ0p6VndlQ0J6YjJ4cFpDY3NYRzRnSUNBZ1ltOXlaR1Z5UTI5c2IzSTZJR0FrZTNSb1pXMWxMbkJoYkdWMGRHVXVaM0psZVVGMGFHVnVjMzBnZEhKaGJuTndZWEpsYm5RZ2RISmhibk53WVhKbGJuUWdkSEpoYm5Od1lYSmxiblJnTEZ4dUlDQWdJSFJ5WVc1elptOXliVG9nSjNKdmRHRjBaU2c1TUdSbFp5a25MRnh1SUNCOUxGeHVmU2twTzF4dVhHNWpiMjV6ZENCSlkyOXVJRDBnYzNSNWJHVmtLQ2RrYVhZbktTaDdYRzRnSUhkcFpIUm9PaUFuTVRCd2VDY3NYRzU5S1R0Y2JseHVZMjl1YzNRZ1ZHOXZiRlJwY0NBOUlITjBlV3hsWkNnbmMzQmhiaWNwS0h0Y2JpQWdjRzl6YVhScGIyNDZJQ2R5Wld4aGRHbDJaU2NzWEc0Z0lHaGxhV2RvZERvZ0p6RTRjSGduTEZ4dUlDQW5PbWh2ZG1WeUp6b2dlMXh1SUNBZ0lGdGdKSHRHYkdGbmMzMWdYVG9nZTF4dUlDQWdJQ0FnZG1semFXSnBiR2wwZVRvZ0ozWnBjMmxpYkdVbkxGeHVJQ0FnSUgwc1hHNGdJSDBzWEc1OUtUdGNiaUpkZlE9PSAqL1wiKTtcbnZhciBJY29uID0gLyogQF9fUFVSRV9fICovIF9zdHlsZWQoXCJkaXZcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTlkd2dhNTFcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTlkd2dhNTFcIixcblx0bGFiZWw6IFwiSWNvblwiXG59KShwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG5cdG5hbWU6IFwiMWcybDBhOVwiLFxuXHRzdHlsZXM6IFwid2lkdGg6MTBweFwiXG59IDoge1xuXHRuYW1lOiBcIjFnMmwwYTlcIixcblx0c3R5bGVzOiBcIndpZHRoOjEwcHgvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTlvYjIxbEwzSjFibTVsY2k5M2IzSnJMM1psY21SaFkyTnBieTkyWlhKa1lXTmphVzh2Y0dGamEyRm5aWE12ZFdrdFkyOXRjRzl1Wlc1MGN5OXpjbU12YzJWamRHbHZibk12Um05dmRHVnlMMFp2YjNSbGNpNTBjM2dpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCT0VkaElpd2labWxzWlNJNklpOW9iMjFsTDNKMWJtNWxjaTkzYjNKckwzWmxjbVJoWTJOcGJ5OTJaWEprWVdOamFXOHZjR0ZqYTJGblpYTXZkV2t0WTI5dGNHOXVaVzUwY3k5emNtTXZjMlZqZEdsdmJuTXZSbTl2ZEdWeUwwWnZiM1JsY2k1MGMzZ2lMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdjM1I1YkdWa0lHWnliMjBnSjBCbGJXOTBhVzl1TDNOMGVXeGxaQ2M3WEc1cGJYQnZjblFnS2lCaGN5QkdiR0ZuYzBsamIyNGdabkp2YlNBblkyOTFiblJ5ZVMxbWJHRm5MV2xqYjI1ekwzSmxZV04wTHpONE1pYzdYRzVwYlhCdmNuUWdVbVZoWTNRZ1puSnZiU0FuY21WaFkzUW5PMXh1YVcxd2IzSjBJSHNnVkhKaGJuTXNJSFZ6WlZSeVlXNXpiR0YwYVc5dUlIMGdabkp2YlNBbmNtVmhZM1F0YVRFNGJtVjRkQ2M3WEc1Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk4bk8xeHVhVzF3YjNKMElIc2dURzluYnl3Z2RYTmxRMjl1Wm1sbklIMGdabkp2YlNBbkxpNHZMaTR2Snp0Y2JtbHRjRzl5ZENCN0lFVmhjblJvSUgwZ1puSnZiU0FuTGk0dkxpNHZZMjl0Y0c5dVpXNTBjeTlKWTI5dWN5YzdYRzVwYlhCdmNuUWdleUJKYm01bGNpd2dUR1ZtZEN3Z1RHOTJaU3dnVW1sbmFIUXNJRmR5WVhCd1pYSWdmU0JtY205dElDY3VMM04wZVd4bGN5YzdYRzVjYm1aMWJtTjBhVzl1SUdkdlZHOVdaWEprWVdOamFXOVhaV0p6YVhSbEtDazZJSFp2YVdRZ2UxeHVJQ0IzYVc1a2IzY3ViM0JsYmlnbmFIUjBjSE02THk5MlpYSmtZV05qYVc4dWIzSm5KeXdnSjE5aWJHRnVheWNwTzF4dWZWeHVYRzVqYjI1emRDQkdiMjkwWlhJZ1BTQW9LU0E5UGlCN1hHNGdJR052Ym5OMElIc2dkQ0I5SUQwZ2RYTmxWSEpoYm5Oc1lYUnBiMjRvS1R0Y2JpQWdZMjl1YzNRZ2V5QmpiMjVtYVdkUGNIUnBiMjV6SUgwZ1BTQjFjMlZEYjI1bWFXY29LVHRjYmlBZ2NtVjBkWEp1SUNoY2JpQWdJQ0E4VjNKaGNIQmxjaUJrWVhSaExYUmxjM1JwWkQxY0ltWnZiM1JsY2x3aVBseHVJQ0FnSUNBZ1BFbHVibVZ5UGx4dUlDQWdJQ0FnSUNBOFRHVm1kRDVjYmlBZ0lDQWdJQ0FnSUNBOFZISmhibk1nWTI5dGNHOXVaVzUwY3oxN1d6eE1iM1psSUd0bGVUMWNJbXh2ZG1WY0lpQXZQbDE5SUdreE9HNUxaWGs5WENKbWIyOTBaWEl1YldGa1pTMTNhWFJvTFd4dmRtVXRiMjVjSWlBdlBseHVJQ0FnSUNBZ0lDQWdJRHhVYjI5c1ZHbHdQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BGTjBlV3hsWkVWaGNuUm9JQzgrWEc0Z0lDQWdJQ0FnSUNBZ0lDQThSbXhoWjNNK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR4SlkyOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHhHYkdGbmMwbGpiMjR1UlZNZ2RHbDBiR1U5ZTNRb0oyWnNZV2N1YzNCaGFXNG5LWDBnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5SlkyOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThTV052Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFJteGhaM05KWTI5dUxrNUpJSFJwZEd4bFBYdDBLQ2RtYkdGbkxtNXBZMkZ5WVdkMVlTY3BmU0F2UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDBsamIyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4R2JHRm5jMGxqYjI0dVNVNGdkR2wwYkdVOWUzUW9KMlpzWVdjdWFXNWthV0VuS1gwZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BDOUpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThSbXhoWjNOSlkyOXVMa0pTSUhScGRHeGxQWHQwS0NkbWJHRm5MbUp5WVhwcGJDY3BmU0F2UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDBsamIyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4R2JHRm5jMGxqYjI0dVEwNGdkR2wwYkdVOWUzUW9KMlpzWVdjdVkyaHBibUVuS1gwZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BDOUpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThSbXhoWjNOSlkyOXVMa0ZWSUhScGRHeGxQWHQwS0NkbWJHRm5MbUYxYzNSeVlXeHBZU2NwZlNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwwbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHhKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEdiR0ZuYzBsamIyNHVSRVVnZEdsMGJHVTllM1FvSjJac1lXY3VaMlZ5YldGdWVTY3BmU0F2UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDBsamIyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4R2JHRm5jMGxqYjI0dVZGY2dkR2wwYkdVOWUzUW9KMlpzWVdjdWRHRnBkMkZ1SnlsOUlDOCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZTV052Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVsamIyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQRVpzWVdkelNXTnZiaTVCVkNCMGFYUnNaVDE3ZENnblpteGhaeTVoZFhOMGNtbGhKeWw5SUM4K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR3dlNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRWxqYjI0K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BFWnNZV2R6U1dOdmJpNURRU0IwYVhSc1pUMTdkQ2duWm14aFp5NWpZVzVoWkdFbktYMGdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnUEM5R2JHRm5jejVjYmlBZ0lDQWdJQ0FnSUNBOEwxUnZiMnhVYVhBK1hHNGdJQ0FnSUNBZ0lEd3ZUR1ZtZEQ1Y2JpQWdJQ0FnSUNBZ1BGSnBaMmgwUGx4dUlDQWdJQ0FnSUNBZ0lIdGpiMjVtYVdkUGNIUnBiMjV6UHk1MlpYSnphVzl1SUNZbUlDaGNiaUFnSUNBZ0lDQWdJQ0FnSUR3K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR4UWIzZGxjbVZrUW5rZ1pHRjBZUzEwWlhOMGFXUTlYQ0oyWlhKemFXOXVMV1p2YjNSbGNsd2lQbnQwS0NkbWIyOTBaWEl1Y0c5M1pYSmxaQzFpZVNjcGZUd3ZVRzkzWlhKbFpFSjVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThURzluYjF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdselJHVm1ZWFZzZEQxN2RISjFaWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtOc2FXTnJQWHRuYjFSdlZtVnlaR0ZqWTJsdlYyVmljMmwwWlgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemFYcGxQVndpZUMxemJXRnNiRndpWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdsMGJHVTllMk52Ym1acFowOXdkR2x2Ym5NdWRtVnljMmx2Ym4xY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHd2UGx4dUlDQWdJQ0FnSUNBZ0lDbDlYRzRnSUNBZ0lDQWdJRHd2VW1sbmFIUStYRzRnSUNBZ0lDQThMMGx1Ym1WeVBseHVJQ0FnSUR3dlYzSmhjSEJsY2o1Y2JpQWdLVHRjYm4wN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElFWnZiM1JsY2p0Y2JseHVZMjl1YzNRZ1VHOTNaWEpsWkVKNUlEMGdjM1I1YkdWa0tDZHpjR0Z1Snlrb0tDa2dQVDRnS0h0Y2JpQWdjR0ZrWkdsdVoxSnBaMmgwT2lBbk5YQjRKeXhjYm4wcEtUdGNibHh1WTI5dWMzUWdVM1I1YkdWa1JXRnlkR2dnUFNCemRIbHNaV1FvUldGeWRHZ3BQSHNnZEdobGJXVS9PaUJVYUdWdFpTQjlQaWdvZXlCMGFHVnRaU0I5S1NBOVBpQW9lMXh1SUNCdFlYSm5hVzQ2SUhSb1pXMWxMbk53WVdOcGJtY29NQ3dnTVNrc1hHNTlLU2s3WEc1Y2JtTnZibk4wSUVac1lXZHpJRDBnYzNSNWJHVmtLQ2R6Y0dGdUp5azhleUIwYUdWdFpUODZJRlJvWlcxbElIMCtLQ2g3SUhSb1pXMWxJSDBwSUQwK0lDaDdYRzRnSUdScGMzQnNZWGs2SUNkcGJteHBibVV0WjNKcFpDY3NYRzRnSUdkeWFXUlVaVzF3YkdGMFpVTnZiSFZ0Ym5NNklDZHlaWEJsWVhRb01UQXNJRzFoZUMxamIyNTBaVzUwS1Njc1hHNGdJR2R5YVdSSFlYQTZJSFJvWlcxbExuTndZV05wYm1jb01Dd2dNU2tzWEc0Z0lIQnZjMmwwYVc5dU9pQW5ZV0p6YjJ4MWRHVW5MRnh1SUNCaVlXTnJaM0p2ZFc1a09pQjBhR1Z0WlM1d1lXeGxkSFJsTG1keVpYbEJkR2hsYm5Nc1hHNGdJSEJoWkdScGJtYzZJQ2N4Y0hnZ05IQjRKeXhjYmlBZ1ltOXlaR1Z5VW1Ga2FYVnpPaUF6TEZ4dUlDQm9aV2xuYUhRNklESXdMRnh1SUNCaGJHbG5ia2wwWlcxek9pQW5ZMlZ1ZEdWeUp5eGNiaUFnZG1semFXSnBiR2wwZVRvZ0oyaHBaR1JsYmljc1hHNGdJSFJ2Y0RvZ0xUSXNYRzRnSUNjNlltVm1iM0psSnpvZ2UxeHVJQ0FnSUdOdmJuUmxiblE2SUZ3aUp5ZGNJaXhjYmlBZ0lDQndiM05wZEdsdmJqb2dKMkZpYzI5c2RYUmxKeXhjYmlBZ0lDQjBiM0E2SUNjeU9TVW5MRnh1SUNBZ0lHeGxablE2SUMwMExGeHVJQ0FnSUcxaGNtZHBia3hsWm5RNklDMDFMRnh1SUNBZ0lHSnZjbVJsY2pvZ0p6VndlQ0J6YjJ4cFpDY3NYRzRnSUNBZ1ltOXlaR1Z5UTI5c2IzSTZJR0FrZTNSb1pXMWxMbkJoYkdWMGRHVXVaM0psZVVGMGFHVnVjMzBnZEhKaGJuTndZWEpsYm5RZ2RISmhibk53WVhKbGJuUWdkSEpoYm5Od1lYSmxiblJnTEZ4dUlDQWdJSFJ5WVc1elptOXliVG9nSjNKdmRHRjBaU2c1TUdSbFp5a25MRnh1SUNCOUxGeHVmU2twTzF4dVhHNWpiMjV6ZENCSlkyOXVJRDBnYzNSNWJHVmtLQ2RrYVhZbktTaDdYRzRnSUhkcFpIUm9PaUFuTVRCd2VDY3NYRzU5S1R0Y2JseHVZMjl1YzNRZ1ZHOXZiRlJwY0NBOUlITjBlV3hsWkNnbmMzQmhiaWNwS0h0Y2JpQWdjRzl6YVhScGIyNDZJQ2R5Wld4aGRHbDJaU2NzWEc0Z0lHaGxhV2RvZERvZ0p6RTRjSGduTEZ4dUlDQW5PbWh2ZG1WeUp6b2dlMXh1SUNBZ0lGdGdKSHRHYkdGbmMzMWdYVG9nZTF4dUlDQWdJQ0FnZG1semFXSnBiR2wwZVRvZ0ozWnBjMmxpYkdVbkxGeHVJQ0FnSUgwc1hHNGdJSDBzWEc1OUtUdGNiaUpkZlE9PSAqL1wiLFxuXHR0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn0pO1xudmFyIFRvb2xUaXAgPSAvKiBAX19QVVJFX18gKi8gX3N0eWxlZChcInNwYW5cIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8geyB0YXJnZXQ6IFwiZTlkd2dhNTBcIiB9IDoge1xuXHR0YXJnZXQ6IFwiZTlkd2dhNTBcIixcblx0bGFiZWw6IFwiVG9vbFRpcFwiXG59KSh7XG5cdHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG5cdGhlaWdodDogXCIxOHB4XCIsXG5cdFwiOmhvdmVyXCI6IHsgW2Ake0ZsYWdzfWBdOiB7IHZpc2liaWxpdHk6IFwidmlzaWJsZVwiIH0gfVxufSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk5b2IyMWxMM0oxYm01bGNpOTNiM0pyTDNabGNtUmhZMk5wYnk5MlpYSmtZV05qYVc4dmNHRmphMkZuWlhNdmRXa3RZMjl0Y0c5dVpXNTBjeTl6Y21NdmMyVmpkR2x2Ym5NdlJtOXZkR1Z5TDBadmIzUmxjaTUwYzNnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQmEwaG5RaUlzSW1acGJHVWlPaUl2YUc5dFpTOXlkVzV1WlhJdmQyOXlheTkyWlhKa1lXTmphVzh2ZG1WeVpHRmpZMmx2TDNCaFkydGhaMlZ6TDNWcExXTnZiWEJ2Ym1WdWRITXZjM0pqTDNObFkzUnBiMjV6TDBadmIzUmxjaTlHYjI5MFpYSXVkSE40SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhOMGVXeGxaQ0JtY205dElDZEFaVzF2ZEdsdmJpOXpkSGxzWldRbk8xeHVhVzF3YjNKMElDb2dZWE1nUm14aFozTkpZMjl1SUdaeWIyMGdKMk52ZFc1MGNua3RabXhoWnkxcFkyOXVjeTl5WldGamRDOHplREluTzF4dWFXMXdiM0owSUZKbFlXTjBJR1p5YjIwZ0ozSmxZV04wSnp0Y2JtbHRjRzl5ZENCN0lGUnlZVzV6TENCMWMyVlVjbUZ1YzJ4aGRHbHZiaUI5SUdaeWIyMGdKM0psWVdOMExXa3hPRzVsZUhRbk8xeHVYRzVwYlhCdmNuUWdkSGx3WlNCN0lGUm9aVzFsSUgwZ1puSnZiU0FuTGk0dkxpNHZKenRjYm1sdGNHOXlkQ0I3SUV4dloyOHNJSFZ6WlVOdmJtWnBaeUI5SUdaeWIyMGdKeTR1THk0dUx5YzdYRzVwYlhCdmNuUWdleUJGWVhKMGFDQjlJR1p5YjIwZ0p5NHVMeTR1TDJOdmJYQnZibVZ1ZEhNdlNXTnZibk1uTzF4dWFXMXdiM0owSUhzZ1NXNXVaWElzSUV4bFpuUXNJRXh2ZG1Vc0lGSnBaMmgwTENCWGNtRndjR1Z5SUgwZ1puSnZiU0FuTGk5emRIbHNaWE1uTzF4dVhHNW1kVzVqZEdsdmJpQm5iMVJ2Vm1WeVpHRmpZMmx2VjJWaWMybDBaU2dwT2lCMmIybGtJSHRjYmlBZ2QybHVaRzkzTG05d1pXNG9KMmgwZEhCek9pOHZkbVZ5WkdGalkybHZMbTl5Wnljc0lDZGZZbXhoYm1zbktUdGNibjFjYmx4dVkyOXVjM1FnUm05dmRHVnlJRDBnS0NrZ1BUNGdlMXh1SUNCamIyNXpkQ0I3SUhRZ2ZTQTlJSFZ6WlZSeVlXNXpiR0YwYVc5dUtDazdYRzRnSUdOdmJuTjBJSHNnWTI5dVptbG5UM0IwYVc5dWN5QjlJRDBnZFhObFEyOXVabWxuS0NrN1hHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BGZHlZWEJ3WlhJZ1pHRjBZUzEwWlhOMGFXUTlYQ0ptYjI5MFpYSmNJajVjYmlBZ0lDQWdJRHhKYm01bGNqNWNiaUFnSUNBZ0lDQWdQRXhsWm5RK1hHNGdJQ0FnSUNBZ0lDQWdQRlJ5WVc1eklHTnZiWEJ2Ym1WdWRITTllMXM4VEc5MlpTQnJaWGs5WENKc2IzWmxYQ0lnTHo1ZGZTQnBNVGh1UzJWNVBWd2labTl2ZEdWeUxtMWhaR1V0ZDJsMGFDMXNiM1psTFc5dVhDSWdMejVjYmlBZ0lDQWdJQ0FnSUNBOFZHOXZiRlJwY0Q1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHhUZEhsc1pXUkZZWEowYUNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnUEVac1lXZHpQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThTV052Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFJteGhaM05KWTI5dUxrVlRJSFJwZEd4bFBYdDBLQ2RtYkdGbkxuTndZV2x1SnlsOUlDOCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZTV052Ymo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVsamIyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQRVpzWVdkelNXTnZiaTVPU1NCMGFYUnNaVDE3ZENnblpteGhaeTV1YVdOaGNtRm5kV0VuS1gwZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BDOUpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThSbXhoWjNOSlkyOXVMa2xPSUhScGRHeGxQWHQwS0NkbWJHRm5MbWx1WkdsaEp5bDlJQzgrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHd2U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVac1lXZHpTV052Ymk1Q1VpQjBhWFJzWlQxN2RDZ25abXhoWnk1aWNtRjZhV3duS1gwZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BDOUpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThSbXhoWjNOSlkyOXVMa05PSUhScGRHeGxQWHQwS0NkbWJHRm5MbU5vYVc1aEp5bDlJQzgrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHd2U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFbGpiMjQrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVac1lXZHpTV052Ymk1QlZTQjBhWFJzWlQxN2RDZ25abXhoWnk1aGRYTjBjbUZzYVdFbktYMGdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlKWTI5dVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Um14aFozTkpZMjl1TGtSRklIUnBkR3hsUFh0MEtDZG1iR0ZuTG1kbGNtMWhibmtuS1gwZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BDOUpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4U1dOdmJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThSbXhoWjNOSlkyOXVMbFJYSUhScGRHeGxQWHQwS0NkbWJHRm5MblJoYVhkaGJpY3BmU0F2UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDBsamIyNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEpZMjl1UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4R2JHRm5jMGxqYjI0dVFWUWdkR2wwYkdVOWUzUW9KMlpzWVdjdVlYVnpkSEpwWVNjcGZTQXZQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThMMGxqYjI0K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR4SlkyOXVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHhHYkdGbmMwbGpiMjR1UTBFZ2RHbDBiR1U5ZTNRb0oyWnNZV2N1WTJGdVlXUmhKeWw5SUM4K1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR3dlNXTnZiajVjYmlBZ0lDQWdJQ0FnSUNBZ0lEd3ZSbXhoWjNNK1hHNGdJQ0FnSUNBZ0lDQWdQQzlVYjI5c1ZHbHdQbHh1SUNBZ0lDQWdJQ0E4TDB4bFpuUStYRzRnSUNBZ0lDQWdJRHhTYVdkb2RENWNiaUFnSUNBZ0lDQWdJQ0I3WTI5dVptbG5UM0IwYVc5dWN6OHVkbVZ5YzJsdmJpQW1KaUFvWEc0Z0lDQWdJQ0FnSUNBZ0lDQThQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThVRzkzWlhKbFpFSjVJR1JoZEdFdGRHVnpkR2xrUFZ3aWRtVnljMmx2YmkxbWIyOTBaWEpjSWo1N2RDZ25abTl2ZEdWeUxuQnZkMlZ5WldRdFlua25LWDA4TDFCdmQyVnlaV1JDZVQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEV4dloyOWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBjMFJsWm1GMWJIUTllM1J5ZFdWOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IyNURiR2xqYXoxN1oyOVViMVpsY21SaFkyTnBiMWRsWW5OcGRHVjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjMmw2WlQxY0luZ3RjMjFoYkd4Y0lseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUnBkR3hsUFh0amIyNW1hV2RQY0hScGIyNXpMblpsY25OcGIyNTlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDOCtYRzRnSUNBZ0lDQWdJQ0FnSUNBOEx6NWNiaUFnSUNBZ0lDQWdJQ0FwZlZ4dUlDQWdJQ0FnSUNBOEwxSnBaMmgwUGx4dUlDQWdJQ0FnUEM5SmJtNWxjajVjYmlBZ0lDQThMMWR5WVhCd1pYSStYRzRnSUNrN1hHNTlPMXh1WEc1bGVIQnZjblFnWkdWbVlYVnNkQ0JHYjI5MFpYSTdYRzVjYm1OdmJuTjBJRkJ2ZDJWeVpXUkNlU0E5SUhOMGVXeGxaQ2duYzNCaGJpY3BLQ2dwSUQwK0lDaDdYRzRnSUhCaFpHUnBibWRTYVdkb2REb2dKelZ3ZUNjc1hHNTlLU2s3WEc1Y2JtTnZibk4wSUZOMGVXeGxaRVZoY25Sb0lEMGdjM1I1YkdWa0tFVmhjblJvS1R4N0lIUm9aVzFsUHpvZ1ZHaGxiV1VnZlQ0b0tIc2dkR2hsYldVZ2ZTa2dQVDRnS0h0Y2JpQWdiV0Z5WjJsdU9pQjBhR1Z0WlM1emNHRmphVzVuS0RBc0lERXBMRnh1ZlNrcE8xeHVYRzVqYjI1emRDQkdiR0ZuY3lBOUlITjBlV3hsWkNnbmMzQmhiaWNwUEhzZ2RHaGxiV1UvT2lCVWFHVnRaU0I5UGlnb2V5QjBhR1Z0WlNCOUtTQTlQaUFvZTF4dUlDQmthWE53YkdGNU9pQW5hVzVzYVc1bExXZHlhV1FuTEZ4dUlDQm5jbWxrVkdWdGNHeGhkR1ZEYjJ4MWJXNXpPaUFuY21Wd1pXRjBLREV3TENCdFlYZ3RZMjl1ZEdWdWRDa25MRnh1SUNCbmNtbGtSMkZ3T2lCMGFHVnRaUzV6Y0dGamFXNW5LREFzSURFcExGeHVJQ0J3YjNOcGRHbHZiam9nSjJGaWMyOXNkWFJsSnl4Y2JpQWdZbUZqYTJkeWIzVnVaRG9nZEdobGJXVXVjR0ZzWlhSMFpTNW5jbVY1UVhSb1pXNXpMRnh1SUNCd1lXUmthVzVuT2lBbk1YQjRJRFJ3ZUNjc1hHNGdJR0p2Y21SbGNsSmhaR2wxY3pvZ015eGNiaUFnYUdWcFoyaDBPaUF5TUN4Y2JpQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc0Z0lIWnBjMmxpYVd4cGRIazZJQ2RvYVdSa1pXNG5MRnh1SUNCMGIzQTZJQzB5TEZ4dUlDQW5PbUpsWm05eVpTYzZJSHRjYmlBZ0lDQmpiMjUwWlc1ME9pQmNJaWNuWENJc1hHNGdJQ0FnY0c5emFYUnBiMjQ2SUNkaFluTnZiSFYwWlNjc1hHNGdJQ0FnZEc5d09pQW5NamtsSnl4Y2JpQWdJQ0JzWldaME9pQXROQ3hjYmlBZ0lDQnRZWEpuYVc1TVpXWjBPaUF0TlN4Y2JpQWdJQ0JpYjNKa1pYSTZJQ2MxY0hnZ2MyOXNhV1FuTEZ4dUlDQWdJR0p2Y21SbGNrTnZiRzl5T2lCZ0pIdDBhR1Z0WlM1d1lXeGxkSFJsTG1keVpYbEJkR2hsYm5OOUlIUnlZVzV6Y0dGeVpXNTBJSFJ5WVc1emNHRnlaVzUwSUhSeVlXNXpjR0Z5Wlc1MFlDeGNiaUFnSUNCMGNtRnVjMlp2Y20wNklDZHliM1JoZEdVb09UQmtaV2NwSnl4Y2JpQWdmU3hjYm4wcEtUdGNibHh1WTI5dWMzUWdTV052YmlBOUlITjBlV3hsWkNnblpHbDJKeWtvZTF4dUlDQjNhV1IwYURvZ0p6RXdjSGduTEZ4dWZTazdYRzVjYm1OdmJuTjBJRlJ2YjJ4VWFYQWdQU0J6ZEhsc1pXUW9KM053WVc0bktTaDdYRzRnSUhCdmMybDBhVzl1T2lBbmNtVnNZWFJwZG1VbkxGeHVJQ0JvWldsbmFIUTZJQ2N4T0hCNEp5eGNiaUFnSnpwb2IzWmxjaWM2SUh0Y2JpQWdJQ0JiWUNSN1JteGhaM045WUYwNklIdGNiaUFnSUNBZ0lIWnBjMmxpYVd4cGRIazZJQ2QyYVhOcFlteGxKeXhjYmlBZ0lDQjlMRnh1SUNCOUxGeHVmU2s3WEc0aVhYMD0gKi9cIik7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IEZvb3RlciBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUZvb3Rlci5tanMubWFwIiwiaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvc3R5bGVzXCI7XG5pbXBvcnQgeyBCb3ggfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuLy8jcmVnaW9uIHNyYy9sYXlvdXRzL1NlY3VyaXR5L0RpYWxvZy50c3hcbnZhciBMYXlvdXRDb250YWluZXIgPSBzdHlsZWQoQm94KSh7XG5cdGRpc3BsYXk6IFwiZmxleFwiLFxuXHRmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuXHRtaW5IZWlnaHQ6IFwiMTAwdmhcIixcblx0bWF4V2lkdGg6IFwiNTAwcHhcIixcblx0bWFyZ2luOiBcIjAgYXV0b1wiXG59KTtcbnZhciBNYWluQ29udGVudCA9IHN0eWxlZChCb3gpKHtcblx0ZmxleDogMSxcblx0bWFyZ2luVG9wOiBcIjEwMHB4XCJcbn0pO1xudmFyIFNlY3VyaXR5TGF5b3V0ID0gKHsgY2hpbGRyZW4gfSkgPT4ge1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChMYXlvdXRDb250YWluZXIsIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goTWFpbkNvbnRlbnQsIHsgY2hpbGRyZW4gfSkgfSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBTZWN1cml0eUxheW91dCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPURpYWxvZy5tanMubWFwIiwiaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvc3R5bGVzXCI7XG5pbXBvcnQgeyBCb3gsIFRleHRGaWVsZCB9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG4vLyNyZWdpb24gc3JjL3NlY3Rpb25zL1NlY3VyaXR5L3N0eWxlcy50c1xudmFyIFNlY3VyaXR5Q29udGFpbmVyID0gc3R5bGVkKEJveCkoKHsgdGhlbWUgfSkgPT4gKHtcblx0ZGlzcGxheTogXCJmbGV4XCIsXG5cdGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG5cdGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG5cdGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuXHRtaW5IZWlnaHQ6IFwiMTAwJVwiLFxuXHRwYWRkaW5nOiB0aGVtZS5zcGFjaW5nKDIpLFxuXHRiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUuYmFja2dyb3VuZC5kZWZhdWx0XG59KSk7XG52YXIgU2VjdXJpdHlGb3JtID0gc3R5bGVkKEJveCkoKHsgdGhlbWUgfSkgPT4gKHtcblx0d2lkdGg6IFwiMTAwJVwiLFxuXHRtYXhXaWR0aDogNDIwLFxuXHRwYWRkaW5nOiB0aGVtZS5zcGFjaW5nKDQpLFxuXHRiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUuYmFja2dyb3VuZC5wYXBlcixcblx0Ym9yZGVyUmFkaXVzOiB0aGVtZS5zaGFwZS5ib3JkZXJSYWRpdXMsXG5cdGJveFNoYWRvdzogdGhlbWUuc2hhZG93c1szXVxufSkpO1xudmFyIFNlY3VyaXR5VGV4dEZpZWxkID0gc3R5bGVkKFRleHRGaWVsZCkoKHsgdGhlbWUgfSkgPT4gKHtcblx0d2lkdGg6IFwiMTAwJVwiLFxuXHRtYXJnaW5Ub3A6IHRoZW1lLnNwYWNpbmcoMSksXG5cdG1hcmdpbkJvdHRvbTogdGhlbWUuc3BhY2luZygxKVxufSkpO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBTZWN1cml0eUNvbnRhaW5lciwgU2VjdXJpdHlGb3JtLCBTZWN1cml0eVRleHRGaWVsZCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHlsZXMubWpzLm1hcCIsImltcG9ydCBTZWN1cml0eUxheW91dCBmcm9tIFwiLi4vLi4vbGF5b3V0cy9TZWN1cml0eS9EaWFsb2cubWpzXCI7XG5pbXBvcnQgeyBTZWN1cml0eUNvbnRhaW5lciwgU2VjdXJpdHlGb3JtIH0gZnJvbSBcIi4vc3R5bGVzLm1qc1wiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IHsgdXNlTG9jYXRpb24gfSBmcm9tIFwicmVhY3Qtcm91dGVyXCI7XG5pbXBvcnQgeyBCdXR0b24sIFR5cG9ncmFwaHkgfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IENoZWNrQ2lyY2xlSWNvbiBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9DaGVja0NpcmNsZVwiO1xuLy8jcmVnaW9uIHNyYy9zZWN0aW9ucy9TZWN1cml0eS9TdWNjZXNzLnRzeFxudmFyIE1lc3NhZ2VUeXBlID0gLyogQF9fUFVSRV9fICovIGZ1bmN0aW9uKE1lc3NhZ2VUeXBlKSB7XG5cdE1lc3NhZ2VUeXBlW1wiTG9naW5cIl0gPSBcIkxvZ2luXCI7XG5cdE1lc3NhZ2VUeXBlW1wiQ2hhbmdlUGFzc3dvcmRcIl0gPSBcIkNoYW5nZVBhc3N3b3JkXCI7XG5cdE1lc3NhZ2VUeXBlW1wiQWRkVXNlclwiXSA9IFwiQWRkVXNlclwiO1xuXHRNZXNzYWdlVHlwZVtcIlN1Y2Nlc3NcIl0gPSBcIlN1Y2Nlc3NcIjtcblx0cmV0dXJuIE1lc3NhZ2VUeXBlO1xufSh7fSk7XG52YXIgU3VjY2VzcyA9ICgpID0+IHtcblx0Y29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXHRjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cdGNvbnN0IG1lc3NhZ2VUeXBlID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpLmdldChcIm1lc3NhZ2VUeXBlXCIpO1xuXHRjb25zdCBtZXNzYWdlID0gIW1lc3NhZ2VUeXBlID8gdChcInNlY3VyaXR5LnN1Y2Nlc3MubWVzc2FnZVN1Y2Nlc3NcIikgOiB0KGBzZWN1cml0eS5zdWNjZXNzLm1lc3NhZ2Uke21lc3NhZ2VUeXBlfWApO1xuXHRjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcblx0XHR3aW5kb3cubG9jYXRpb24uaHJlZiA9IFwiL1wiO1xuXHR9O1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTZWN1cml0eUxheW91dCwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChTZWN1cml0eUNvbnRhaW5lciwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeHMoU2VjdXJpdHlGb3JtLCB7IGNoaWxkcmVuOiBbXG5cdFx0LyogQF9fUFVSRV9fICovIGpzeChDaGVja0NpcmNsZUljb24sIHsgY29sb3I6IFwic3VjY2Vzc1wiIH0pLFxuXHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goVHlwb2dyYXBoeSwge1xuXHRcdFx0Y29tcG9uZW50OiBcImgxXCIsXG5cdFx0XHRndXR0ZXJCb3R0b206IHRydWUsXG5cdFx0XHR2YXJpYW50OiBcImg0XCIsXG5cdFx0XHRjaGlsZHJlbjogdChcInNlY3VyaXR5LnN1Y2Nlc3MudGl0bGVcIilcblx0XHR9KSxcblx0XHQvKiBAX19QVVJFX18gKi8ganN4KFR5cG9ncmFwaHksIHtcblx0XHRcdGNvbG9yOiBcInRleHQuc2Vjb25kYXJ5XCIsXG5cdFx0XHRwYXJhZ3JhcGg6IHRydWUsXG5cdFx0XHR2YXJpYW50OiBcImJvZHkxXCIsXG5cdFx0XHRjaGlsZHJlbjogbWVzc2FnZVxuXHRcdH0pLFxuXHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goQnV0dG9uLCB7XG5cdFx0XHRjb2xvcjogXCJwcmltYXJ5XCIsXG5cdFx0XHRvbkNsaWNrOiBoYW5kbGVDbG9zZSxcblx0XHRcdHN4OiB7IG10OiAyIH0sXG5cdFx0XHR2YXJpYW50OiBcImNvbnRhaW5lZFwiLFxuXHRcdFx0Y2hpbGRyZW46IHQoXCJzZWN1cml0eS5zdWNjZXNzLnN1Ym1pdFwiKVxuXHRcdH0pXG5cdF0gfSkgfSkgfSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBNZXNzYWdlVHlwZSwgU3VjY2VzcyBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVN1Y2Nlc3MubWpzLm1hcCIsImltcG9ydCB7IFJvdXRlIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3JvdXRlcy5tanNcIjtcbmltcG9ydCBcIi4uLy4uL3V0aWxzL2luZGV4Lm1qc1wiO1xuaW1wb3J0IFwibG9kYXNoL2lzRW1wdHlcIjtcbi8vI3JlZ2lvbiBzcmMvc2VjdGlvbnMvU2VjdXJpdHkvdXRpbHMudHNcbmZ1bmN0aW9uIGdldFNlY3VyaXR5VXJsUGFyYW1zKGxvY2F0aW9uKSB7XG5cdGNvbnN0IHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpO1xuXHRsZXQgbmV4dCA9IHF1ZXJ5UGFyYW1zLmdldChcIm5leHRcIikgfHwgXCJcIjtcblx0aWYgKG5leHQubGVuZ3RoID4gMCAmJiAoIW5leHQuc3RhcnRzV2l0aChSb3V0ZS5MT0dJTl9BUEkpIHx8ICFuZXh0Lm1hdGNoKC9cXC9bLTAtOWEtZl17MzZ9JC8pKSkgbmV4dCA9IFwiXCI7XG5cdGxldCB1c2VyID0gcXVlcnlQYXJhbXMuZ2V0KFwidXNlclwiKSB8fCBcIlwiO1xuXHRpZiAodXNlci5sZW5ndGggPiAwICYmICF1c2VyLm1hdGNoKC9eW2EtekEtWjAtOS1fXXsxLDI1NX0kLykpIHVzZXIgPSBcIlwiO1xuXHRyZXR1cm4ge1xuXHRcdG5leHQsXG5cdFx0dXNlclxuXHR9O1xufVxuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBnZXRTZWN1cml0eVVybFBhcmFtcyB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5tanMubWFwIiwiaW1wb3J0IHsgUm91dGUgYXMgUm91dGUkMSB9IGZyb20gXCIuLi8uLi91dGlscy9yb3V0ZXMubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi91dGlscy9pbmRleC5tanNcIjtcbmltcG9ydCB7IHNhdmVBdXRoIH0gZnJvbSBcIi4uLy4uL3N0b3JlL3N0b3JhZ2UubWpzXCI7XG5pbXBvcnQgeyBnZXRDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4uLy4uL2NvbmZpZ3VyYXRpb24ubWpzXCI7XG5pbXBvcnQgeyBzdHJpcFRyYWlsaW5nU2xhc2ggfSBmcm9tIFwiLi4vLi4vc3RvcmUvdXRpbHMubWpzXCI7XG5pbXBvcnQgeyB1c2VEYXRhTXV0YXRpb24gfSBmcm9tIFwiLi4vLi4vYXBpL3VzZS1kYXRhLW11dGF0aW9uLm1qc1wiO1xuaW1wb3J0IHsgbm9ybWFsaXplQXV0aEVycm9yIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9BdXRoUHJvdmlkZXIvdXRpbHMubWpzXCI7XG5pbXBvcnQgTm90Rm91bmQgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvTm90Rm91bmQvTm90Rm91bmQubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL05vdEZvdW5kL2luZGV4Lm1qc1wiO1xuaW1wb3J0IExvZ2luRm9ybUhlYWRlciBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9Mb2dpbkZvcm0vc3R5bGVzLm1qc1wiO1xuaW1wb3J0IExvZ2luRm9ybSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9Mb2dpbkZvcm0vTG9naW4ubWpzXCI7XG5pbXBvcnQgeyBsb2dpblNjaGVtYSB9IGZyb20gXCIuLi8uLi91dGlscy9zY2hlbWFzLm1qc1wiO1xuaW1wb3J0IFNlY3VyaXR5TGF5b3V0IGZyb20gXCIuLi8uLi9sYXlvdXRzL1NlY3VyaXR5L0RpYWxvZy5tanNcIjtcbmltcG9ydCB7IFNlY3VyaXR5Q29udGFpbmVyLCBTZWN1cml0eUZvcm0gfSBmcm9tIFwiLi9zdHlsZXMubWpzXCI7XG5pbXBvcnQgeyBNZXNzYWdlVHlwZSB9IGZyb20gXCIuL1N1Y2Nlc3MubWpzXCI7XG5pbXBvcnQgeyBnZXRTZWN1cml0eVVybFBhcmFtcyB9IGZyb20gXCIuL3V0aWxzLm1qc1wiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgeyB1c2VMb2NhdGlvbiwgdXNlTmF2aWdhdGUgfSBmcm9tIFwicmVhY3Qtcm91dGVyXCI7XG5pbXBvcnQgeyBMaW5rIGFzIExpbmskMSwgVHlwb2dyYXBoeSB9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgeyB5dXBSZXNvbHZlciB9IGZyb20gXCJAaG9va2Zvcm0vcmVzb2x2ZXJzL3l1cFwiO1xuaW1wb3J0IHsgdXNlRm9ybSB9IGZyb20gXCJyZWFjdC1ob29rLWZvcm1cIjtcbi8vI3JlZ2lvbiBzcmMvc2VjdGlvbnMvU2VjdXJpdHkvTG9naW4udHN4XG52YXIgY29uZmlndXJhdGlvbiA9IGdldENvbmZpZ3VyYXRpb24oKTtcbnZhciBiYXNlUGF0aCA9IHN0cmlwVHJhaWxpbmdTbGFzaChjb25maWd1cmF0aW9uLmJhc2UpO1xudmFyIExvZ2luID0gKCkgPT4ge1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcblx0Y29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuXHRjb25zdCB7IG5leHQgfSA9IGdldFNlY3VyaXR5VXJsUGFyYW1zKGxvY2F0aW9uKTtcblx0Y29uc3QgY3JlYXRlVXNlckVuYWJsZWQgPSBjb25maWd1cmF0aW9uPy5mbGFncz8uY3JlYXRlVXNlcjtcblx0Y29uc3QgYWRkVXNlckxpbmsgPSBSb3V0ZSQxLkFERF9VU0VSICsgKG5leHQgPyBcIj9uZXh0PVwiICsgbmV4dCA6IFwiXCIpO1xuXHRjb25zdCB7IGRhdGEsIGlzTXV0YXRpbmcsIHRyaWdnZXIgfSA9IHVzZURhdGFNdXRhdGlvbihiYXNlUGF0aCwgbmV4dCwgXCJQT1NUXCIpO1xuXHRjb25zdCB7IHNldEVycm9yLCBoYW5kbGVTdWJtaXQsIHJlZ2lzdGVyLCBmb3JtU3RhdGU6IHsgaXNWYWxpZCwgZXJyb3JzIH0gfSA9IHVzZUZvcm0oe1xuXHRcdG1vZGU6IFwib25DaGFuZ2VcIixcblx0XHRyZXNvbHZlcjogeXVwUmVzb2x2ZXIobG9naW5TY2hlbWEpXG5cdH0pO1xuXHRjb25zdCBoYW5kbGVMb2dpbiA9IGFzeW5jIChib2R5KSA9PiB7XG5cdFx0dHJ5IHtcblx0XHRcdGF3YWl0IHRyaWdnZXIoYm9keSk7XG5cdFx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0XHR0aHJvdyBub3JtYWxpemVBdXRoRXJyb3IoZXJyKTtcblx0XHR9XG5cdH07XG5cdGNvbnN0IG9uU3VjY2VzcyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcblx0XHRuYXZpZ2F0ZShgJHtSb3V0ZSQxLlNVQ0NFU1N9P21lc3NhZ2VUeXBlPSR7TWVzc2FnZVR5cGUuTG9naW59YCk7XG5cdH0sIFtuYXZpZ2F0ZV0pO1xuXHRjb25zdCBvblN1Ym1pdCA9IHVzZUNhbGxiYWNrKGFzeW5jIChkYXRhKSA9PiB7XG5cdFx0dHJ5IHtcblx0XHRcdGF3YWl0IGhhbmRsZUxvZ2luPy4oZGF0YSk7XG5cdFx0XHRvblN1Y2Nlc3MoKTtcblx0XHR9IGNhdGNoIHtcblx0XHRcdHNldEVycm9yKFwicm9vdFwiLCB7XG5cdFx0XHRcdHR5cGU6IFwic2VydmVyXCIsXG5cdFx0XHRcdG1lc3NhZ2U6IFwiSW52YWxpZCB1c2VybmFtZSBvciBwYXNzd29yZFwiXG5cdFx0XHR9KTtcblx0XHR9XG5cdH0sIFtcblx0XHRoYW5kbGVMb2dpbixcblx0XHRzZXRFcnJvcixcblx0XHRvblN1Y2Nlc3Ncblx0XSk7XG5cdHVzZUVmZmVjdCgoKSA9PiB7XG5cdFx0aWYgKGRhdGEgJiYgIWlzTXV0YXRpbmcgJiYgZGF0YS51c2VybmFtZSAmJiBkYXRhLnRva2VuKSBzYXZlQXV0aChkYXRhLnVzZXJuYW1lLCBkYXRhLnRva2VuKTtcblx0fSwgW2RhdGEsIGlzTXV0YXRpbmddKTtcblx0cmV0dXJuICFuZXh0ID8gLyogQF9fUFVSRV9fICovIGpzeChOb3RGb3VuZCwge30pIDogLyogQF9fUFVSRV9fICovIGpzeChTZWN1cml0eUxheW91dCwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChTZWN1cml0eUNvbnRhaW5lciwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeHMoU2VjdXJpdHlGb3JtLCB7IGNoaWxkcmVuOiBbXG5cdFx0LyogQF9fUFVSRV9fICovIGpzeChMb2dpbkZvcm1IZWFkZXIsIHt9KSxcblx0XHQvKiBAX19QVVJFX18gKi8ganN4KExvZ2luRm9ybSwge1xuXHRcdFx0ZXJyb3JzLFxuXHRcdFx0aGFuZGxlU3VibWl0LFxuXHRcdFx0aXNWYWxpZCxcblx0XHRcdG9uU3VibWl0LFxuXHRcdFx0cmVnaXN0ZXJcblx0XHR9KSxcblx0XHRjcmVhdGVVc2VyRW5hYmxlZCAmJiAvKiBAX19QVVJFX18gKi8ganN4cyhUeXBvZ3JhcGh5LCB7XG5cdFx0XHRhbGlnbjogXCJjZW50ZXJcIixcblx0XHRcdHN4OiB7XG5cdFx0XHRcdG10OiAyLFxuXHRcdFx0XHRmb250U2l6ZTogMTJcblx0XHRcdH0sXG5cdFx0XHR2YXJpYW50OiBcImJvZHkyXCIsXG5cdFx0XHRjaGlsZHJlbjogW3QoXCJzZWN1cml0eS5sb2dpbi5ub1VzZXJRdWVzdGlvblwiKSwgLyogQF9fUFVSRV9fICovIGpzeChMaW5rJDEsIHtcblx0XHRcdFx0aHJlZjogYWRkVXNlckxpbmssXG5cdFx0XHRcdHN4OiB7IG1sOiAxIH0sXG5cdFx0XHRcdGNoaWxkcmVuOiB0KFwic2VjdXJpdHkubG9naW4uY3JlYXRlVXNlclwiKVxuXHRcdFx0fSldXG5cdFx0fSlcblx0XSB9KSB9KSB9KTtcbn07XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IExvZ2luIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9TG9naW4ubWpzLm1hcCIsImltcG9ydCB7IFJvdXRlIGFzIFJvdXRlJDEgfSBmcm9tIFwiLi4vLi4vdXRpbHMvcm91dGVzLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vdXRpbHMvaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBnZXRDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4uLy4uL2NvbmZpZ3VyYXRpb24ubWpzXCI7XG5pbXBvcnQgeyBzdHJpcFRyYWlsaW5nU2xhc2ggfSBmcm9tIFwiLi4vLi4vc3RvcmUvdXRpbHMubWpzXCI7XG5pbXBvcnQgeyB1c2VEYXRhTXV0YXRpb24gfSBmcm9tIFwiLi4vLi4vYXBpL3VzZS1kYXRhLW11dGF0aW9uLm1qc1wiO1xuaW1wb3J0IHsgbm9ybWFsaXplQXV0aEVycm9yIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9BdXRoUHJvdmlkZXIvdXRpbHMubWpzXCI7XG5pbXBvcnQgTG9naW5EaWFsb2dGb3JtRXJyb3IgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvTG9naW5EaWFsb2cvTG9naW5EaWFsb2dGb3JtRXJyb3IubWpzXCI7XG5pbXBvcnQgUGFzc3dvcmRGaWVsZCBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9Mb2dpbkZvcm0vUGFzc3dvcmRGaWVsZC5tanNcIjtcbmltcG9ydCBVc2VybmFtZUZpZWxkIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0xvZ2luRm9ybS9Vc2VybmFtZUZpZWxkLm1qc1wiO1xuaW1wb3J0IHsgYWRkVXNlclNjaGVtYSB9IGZyb20gXCIuLi8uLi91dGlscy9zY2hlbWFzLm1qc1wiO1xuaW1wb3J0IFNlY3VyaXR5TGF5b3V0IGZyb20gXCIuLi8uLi9sYXlvdXRzL1NlY3VyaXR5L0RpYWxvZy5tanNcIjtcbmltcG9ydCB7IFNlY3VyaXR5Q29udGFpbmVyLCBTZWN1cml0eUZvcm0sIFNlY3VyaXR5VGV4dEZpZWxkIH0gZnJvbSBcIi4vc3R5bGVzLm1qc1wiO1xuaW1wb3J0IHsgTWVzc2FnZVR5cGUgfSBmcm9tIFwiLi9TdWNjZXNzLm1qc1wiO1xuaW1wb3J0IHsgZ2V0U2VjdXJpdHlVcmxQYXJhbXMgfSBmcm9tIFwiLi91dGlscy5tanNcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IHsgdXNlTG9jYXRpb24sIHVzZU5hdmlnYXRlIH0gZnJvbSBcInJlYWN0LXJvdXRlclwiO1xuaW1wb3J0IHsgQnV0dG9uLCBMaW5rIGFzIExpbmskMSwgVHlwb2dyYXBoeSB9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgeyB5dXBSZXNvbHZlciB9IGZyb20gXCJAaG9va2Zvcm0vcmVzb2x2ZXJzL3l1cFwiO1xuaW1wb3J0IHsgdXNlRm9ybSB9IGZyb20gXCJyZWFjdC1ob29rLWZvcm1cIjtcbi8vI3JlZ2lvbiBzcmMvc2VjdGlvbnMvU2VjdXJpdHkvQWRkVXNlci50c3hcbnZhciBBZGRVc2VyID0gKCkgPT4ge1xuXHRjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cdGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcblx0Y29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuXHRjb25zdCBjb25maWd1cmF0aW9uID0gZ2V0Q29uZmlndXJhdGlvbigpO1xuXHRjb25zdCBiYXNlUGF0aCA9IHN0cmlwVHJhaWxpbmdTbGFzaChjb25maWd1cmF0aW9uLmJhc2UpO1xuXHRjb25zdCB7IG5leHQsIHVzZXIgfSA9IGdldFNlY3VyaXR5VXJsUGFyYW1zKGxvY2F0aW9uKTtcblx0Y29uc3QgbG9naW5MaW5rID0gUm91dGUkMS5MT0dJTiArIChuZXh0ID8gYD9uZXh0PSR7ZW5jb2RlVVJJQ29tcG9uZW50KG5leHQpfWAgOiBcIlwiKTtcblx0Y29uc3QgY3JlYXRlVXNlckVuYWJsZWQgPSBjb25maWd1cmF0aW9uPy5mbGFncz8uY3JlYXRlVXNlcjtcblx0Y29uc3QgeyBzZXRFcnJvciwgaGFuZGxlU3VibWl0LCByZWdpc3Rlciwgd2F0Y2gsIGZvcm1TdGF0ZTogeyBpc1ZhbGlkLCBlcnJvcnMgfSB9ID0gdXNlRm9ybSh7XG5cdFx0bW9kZTogXCJvbkNoYW5nZVwiLFxuXHRcdGRlZmF1bHRWYWx1ZXM6IHtcblx0XHRcdHVzZXJuYW1lOiB0eXBlb2YgdXNlciA9PT0gXCJzdHJpbmdcIiA/IHVzZXIgOiBcIlwiLFxuXHRcdFx0cGFzc3dvcmQ6IFwiXCIsXG5cdFx0XHRlbWFpbDogXCJcIlxuXHRcdH0sXG5cdFx0cmVzb2x2ZXI6IHl1cFJlc29sdmVyKGFkZFVzZXJTY2hlbWEpXG5cdH0pO1xuXHRjb25zdCB1c2VybmFtZSA9IHdhdGNoKFwidXNlcm5hbWVcIik7XG5cdGNvbnN0IHsgdHJpZ2dlciB9ID0gdXNlRGF0YU11dGF0aW9uKGJhc2VQYXRoLCBgJHtSb3V0ZSQxLkFERF9VU0VSfToke2VuY29kZVVSSUNvbXBvbmVudCh1c2VybmFtZSl9YCwgXCJQVVRcIik7XG5cdGNvbnN0IGhhbmRsZUFkZFVzZXIgPSB1c2VDYWxsYmFjayhhc3luYyAoYm9keSkgPT4ge1xuXHRcdHRyeSB7XG5cdFx0XHRhd2FpdCB0cmlnZ2VyKGJvZHkpO1xuXHRcdH0gY2F0Y2ggKGVycikge1xuXHRcdFx0dGhyb3cgbm9ybWFsaXplQXV0aEVycm9yKGVycik7XG5cdFx0fVxuXHR9LCBbdHJpZ2dlcl0pO1xuXHRjb25zdCBvblN1Ym1pdCA9IHVzZUNhbGxiYWNrKGFzeW5jIChkYXRhKSA9PiB7XG5cdFx0dHJ5IHtcblx0XHRcdGF3YWl0IGhhbmRsZUFkZFVzZXIoe1xuXHRcdFx0XHRuYW1lOiBkYXRhLnVzZXJuYW1lLFxuXHRcdFx0XHRwYXNzd29yZDogZGF0YS5wYXNzd29yZCxcblx0XHRcdFx0ZW1haWw6IGRhdGEuZW1haWxcblx0XHRcdH0pO1xuXHRcdFx0bmF2aWdhdGUoYCR7Um91dGUkMS5TVUNDRVNTfT9tZXNzYWdlVHlwZT0ke01lc3NhZ2VUeXBlLkFkZFVzZXJ9YCk7XG5cdFx0fSBjYXRjaCB7XG5cdFx0XHRzZXRFcnJvcihcInJvb3RcIiwge1xuXHRcdFx0XHR0eXBlOiBcInNlcnZlclwiLFxuXHRcdFx0XHRtZXNzYWdlOiBcIkZhaWxlZCB0byBjcmVhdGUgdXNlclwiXG5cdFx0XHR9KTtcblx0XHR9XG5cdH0sIFtcblx0XHRoYW5kbGVBZGRVc2VyLFxuXHRcdHNldEVycm9yLFxuXHRcdG5hdmlnYXRlXG5cdF0pO1xuXHR1c2VFZmZlY3QoKCkgPT4ge1xuXHRcdGlmICghY3JlYXRlVXNlckVuYWJsZWQpIG5hdmlnYXRlKFwiL1wiKTtcblx0fSwgW2NyZWF0ZVVzZXJFbmFibGVkLCBuYXZpZ2F0ZV0pO1xuXHRyZXR1cm4gY3JlYXRlVXNlckVuYWJsZWQgPyAvKiBAX19QVVJFX18gKi8ganN4KFNlY3VyaXR5TGF5b3V0LCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFNlY3VyaXR5Q29udGFpbmVyLCB7IGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4cyhTZWN1cml0eUZvcm0sIHtcblx0XHRjb21wb25lbnQ6IFwiZm9ybVwiLFxuXHRcdG9uU3VibWl0OiBoYW5kbGVTdWJtaXQob25TdWJtaXQpLFxuXHRcdGNoaWxkcmVuOiBbXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFR5cG9ncmFwaHksIHtcblx0XHRcdFx0YWxpZ246IFwiY2VudGVyXCIsXG5cdFx0XHRcdGNvbXBvbmVudDogXCJoMVwiLFxuXHRcdFx0XHRndXR0ZXJCb3R0b206IHRydWUsXG5cdFx0XHRcdHZhcmlhbnQ6IFwiaDRcIixcblx0XHRcdFx0Y2hpbGRyZW46IHQoXCJzZWN1cml0eS5hZGRVc2VyLnRpdGxlXCIpXG5cdFx0XHR9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goVXNlcm5hbWVGaWVsZCwge1xuXHRcdFx0XHRlcnJvcnMsXG5cdFx0XHRcdHJlZ2lzdGVyXG5cdFx0XHR9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goUGFzc3dvcmRGaWVsZCwge1xuXHRcdFx0XHRlcnJvcnMsXG5cdFx0XHRcdHJlZ2lzdGVyXG5cdFx0XHR9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goU2VjdXJpdHlUZXh0RmllbGQsIHtcblx0XHRcdFx0bGFiZWw6IHQoXCJzZWN1cml0eS5hZGRVc2VyLmVtYWlsXCIpLFxuXHRcdFx0XHR0eXBlOiBcImVtYWlsXCIsXG5cdFx0XHRcdC4uLnJlZ2lzdGVyKFwiZW1haWxcIilcblx0XHRcdH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChUeXBvZ3JhcGh5LCB7XG5cdFx0XHRcdGNvbG9yOiBcInRleHQuc2Vjb25kYXJ5XCIsXG5cdFx0XHRcdHBhcmFncmFwaDogdHJ1ZSxcblx0XHRcdFx0c3g6IHsgZm9udFNpemU6IDEyIH0sXG5cdFx0XHRcdHZhcmlhbnQ6IFwiYm9keTJcIixcblx0XHRcdFx0Y2hpbGRyZW46IHQoXCJzZWN1cml0eS5hZGRVc2VyLmVtYWlsRGVzY3JpcHRpb25cIilcblx0XHRcdH0pLFxuXHRcdFx0ZXJyb3JzLnJvb3QgJiYgLyogQF9fUFVSRV9fICovIGpzeChMb2dpbkRpYWxvZ0Zvcm1FcnJvciwgeyBlcnJvcjogZXJyb3JzLnJvb3QgfSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KEJ1dHRvbiwge1xuXHRcdFx0XHRjb2xvcjogXCJwcmltYXJ5XCIsXG5cdFx0XHRcdGRpc2FibGVkOiAhaXNWYWxpZCxcblx0XHRcdFx0ZnVsbFdpZHRoOiB0cnVlLFxuXHRcdFx0XHRzeDogeyBtdDogMiB9LFxuXHRcdFx0XHR0eXBlOiBcInN1Ym1pdFwiLFxuXHRcdFx0XHR2YXJpYW50OiBcImNvbnRhaW5lZFwiLFxuXHRcdFx0XHRjaGlsZHJlbjogdChcInNlY3VyaXR5LmFkZFVzZXIuc3VibWl0XCIpXG5cdFx0XHR9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3hzKFR5cG9ncmFwaHksIHtcblx0XHRcdFx0YWxpZ246IFwiY2VudGVyXCIsXG5cdFx0XHRcdHN4OiB7XG5cdFx0XHRcdFx0bXQ6IDIsXG5cdFx0XHRcdFx0Zm9udFNpemU6IDEyXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHZhcmlhbnQ6IFwiYm9keTJcIixcblx0XHRcdFx0Y2hpbGRyZW46IFt0KFwic2VjdXJpdHkuYWRkVXNlci5hbHJlYWR5VXNlclF1ZXN0aW9uXCIpLCAvKiBAX19QVVJFX18gKi8ganN4KExpbmskMSwge1xuXHRcdFx0XHRcdGhyZWY6IGxvZ2luTGluayxcblx0XHRcdFx0XHRzeDogeyBtbDogMSB9LFxuXHRcdFx0XHRcdGNoaWxkcmVuOiB0KFwic2VjdXJpdHkuYWRkVXNlci5sb2dpblwiKVxuXHRcdFx0XHR9KV1cblx0XHRcdH0pXG5cdFx0XVxuXHR9KSB9KSB9KSA6IG51bGw7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBBZGRVc2VyIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9QWRkVXNlci5tanMubWFwIiwiaW1wb3J0IHsgQVBJUm91dGUsIFJvdXRlIGFzIFJvdXRlJDEgfSBmcm9tIFwiLi4vLi4vdXRpbHMvcm91dGVzLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vdXRpbHMvaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBnZXRDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4uLy4uL2NvbmZpZ3VyYXRpb24ubWpzXCI7XG5pbXBvcnQgeyBzdHJpcFRyYWlsaW5nU2xhc2ggfSBmcm9tIFwiLi4vLi4vc3RvcmUvdXRpbHMubWpzXCI7XG5pbXBvcnQgeyB1c2VEYXRhTXV0YXRpb24gfSBmcm9tIFwiLi4vLi4vYXBpL3VzZS1kYXRhLW11dGF0aW9uLm1qc1wiO1xuaW1wb3J0IHsgbm9ybWFsaXplQXV0aEVycm9yIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy9BdXRoUHJvdmlkZXIvdXRpbHMubWpzXCI7XG5pbXBvcnQgTG9naW5EaWFsb2dGb3JtRXJyb3IgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvTG9naW5EaWFsb2cvTG9naW5EaWFsb2dGb3JtRXJyb3IubWpzXCI7XG5pbXBvcnQgeyBjaGFuZ2VQYXNzd29yZFNjaGVtYSB9IGZyb20gXCIuLi8uLi91dGlscy9zY2hlbWFzLm1qc1wiO1xuaW1wb3J0IFNlY3VyaXR5TGF5b3V0IGZyb20gXCIuLi8uLi9sYXlvdXRzL1NlY3VyaXR5L0RpYWxvZy5tanNcIjtcbmltcG9ydCB7IFNlY3VyaXR5Q29udGFpbmVyLCBTZWN1cml0eUZvcm0sIFNlY3VyaXR5VGV4dEZpZWxkIH0gZnJvbSBcIi4vc3R5bGVzLm1qc1wiO1xuaW1wb3J0IHsgTWVzc2FnZVR5cGUgfSBmcm9tIFwiLi9TdWNjZXNzLm1qc1wiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0ZSB9IGZyb20gXCJyZWFjdC1yb3V0ZXJcIjtcbmltcG9ydCB7IEJ1dHRvbiwgVHlwb2dyYXBoeSB9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgeyB5dXBSZXNvbHZlciB9IGZyb20gXCJAaG9va2Zvcm0vcmVzb2x2ZXJzL3l1cFwiO1xuaW1wb3J0IHsgdXNlRm9ybSB9IGZyb20gXCJyZWFjdC1ob29rLWZvcm1cIjtcbi8vI3JlZ2lvbiBzcmMvc2VjdGlvbnMvU2VjdXJpdHkvQ2hhbmdlUGFzc3dvcmQudHN4XG52YXIgQ2hhbmdlUGFzc3dvcmQgPSAoKSA9PiB7XG5cdGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcblx0Y29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuXHRjb25zdCBjb25maWd1cmF0aW9uID0gZ2V0Q29uZmlndXJhdGlvbigpO1xuXHRjb25zdCBiYXNlUGF0aCA9IHN0cmlwVHJhaWxpbmdTbGFzaChjb25maWd1cmF0aW9uLmJhc2UpO1xuXHRjb25zdCBjaGFuZ2VQYXNzd29yZEVuYWJsZWQgPSBjb25maWd1cmF0aW9uPy5mbGFncz8uY2hhbmdlUGFzc3dvcmQ7XG5cdGNvbnN0IHsgc2V0RXJyb3IsIGhhbmRsZVN1Ym1pdCwgcmVnaXN0ZXIsIGZvcm1TdGF0ZTogeyBpc1ZhbGlkLCBlcnJvcnMgfSB9ID0gdXNlRm9ybSh7XG5cdFx0bW9kZTogXCJvbkNoYW5nZVwiLFxuXHRcdGRlZmF1bHRWYWx1ZXM6IHtcblx0XHRcdHVzZXJuYW1lOiBcIlwiLFxuXHRcdFx0b2xkUGFzc3dvcmQ6IFwiXCIsXG5cdFx0XHRuZXdQYXNzd29yZDogXCJcIixcblx0XHRcdGNvbmZpcm1QYXNzd29yZDogXCJcIlxuXHRcdH0sXG5cdFx0cmVzb2x2ZXI6IHl1cFJlc29sdmVyKGNoYW5nZVBhc3N3b3JkU2NoZW1hKVxuXHR9KTtcblx0Y29uc3QgeyB0cmlnZ2VyIH0gPSB1c2VEYXRhTXV0YXRpb24oYmFzZVBhdGgsIEFQSVJvdXRlLlJFU0VUX1BBU1NXT1JELCBcIlBVVFwiKTtcblx0Y29uc3QgaGFuZGxlQ2hhbmdlUGFzc3dvcmQgPSB1c2VDYWxsYmFjayhhc3luYyAoYm9keSkgPT4ge1xuXHRcdHRyeSB7XG5cdFx0XHRhd2FpdCB0cmlnZ2VyKGJvZHkpO1xuXHRcdH0gY2F0Y2ggKGVycikge1xuXHRcdFx0dGhyb3cgbm9ybWFsaXplQXV0aEVycm9yKGVycik7XG5cdFx0fVxuXHR9LCBbdHJpZ2dlcl0pO1xuXHRjb25zdCBvblN1Ym1pdCA9IHVzZUNhbGxiYWNrKGFzeW5jIChkYXRhKSA9PiB7XG5cdFx0dHJ5IHtcblx0XHRcdGF3YWl0IGhhbmRsZUNoYW5nZVBhc3N3b3JkKHsgcGFzc3dvcmQ6IHtcblx0XHRcdFx0b2xkOiBkYXRhLm9sZFBhc3N3b3JkLFxuXHRcdFx0XHRuZXc6IGRhdGEubmV3UGFzc3dvcmRcblx0XHRcdH0gfSk7XG5cdFx0XHRuYXZpZ2F0ZShgJHtSb3V0ZSQxLlNVQ0NFU1N9P21lc3NhZ2VUeXBlPSR7TWVzc2FnZVR5cGUuQ2hhbmdlUGFzc3dvcmR9YCk7XG5cdFx0fSBjYXRjaCB7XG5cdFx0XHRzZXRFcnJvcihcInJvb3RcIiwge1xuXHRcdFx0XHR0eXBlOiBcInNlcnZlclwiLFxuXHRcdFx0XHRtZXNzYWdlOiBcIkZhaWxlZCB0byBjaGFuZ2UgcGFzc3dvcmRcIlxuXHRcdFx0fSk7XG5cdFx0fVxuXHR9LCBbXG5cdFx0aGFuZGxlQ2hhbmdlUGFzc3dvcmQsXG5cdFx0c2V0RXJyb3IsXG5cdFx0bmF2aWdhdGVcblx0XSk7XG5cdHVzZUVmZmVjdCgoKSA9PiB7XG5cdFx0aWYgKCFjaGFuZ2VQYXNzd29yZEVuYWJsZWQpIG5hdmlnYXRlKFwiL1wiKTtcblx0fSwgW2NoYW5nZVBhc3N3b3JkRW5hYmxlZCwgbmF2aWdhdGVdKTtcblx0cmV0dXJuIGNoYW5nZVBhc3N3b3JkRW5hYmxlZCA/IC8qIEBfX1BVUkVfXyAqLyBqc3goU2VjdXJpdHlMYXlvdXQsIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goU2VjdXJpdHlDb250YWluZXIsIHsgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3hzKFNlY3VyaXR5Rm9ybSwge1xuXHRcdGNvbXBvbmVudDogXCJmb3JtXCIsXG5cdFx0b25TdWJtaXQ6IGhhbmRsZVN1Ym1pdChvblN1Ym1pdCksXG5cdFx0Y2hpbGRyZW46IFtcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goVHlwb2dyYXBoeSwge1xuXHRcdFx0XHRhbGlnbjogXCJjZW50ZXJcIixcblx0XHRcdFx0Y29tcG9uZW50OiBcImgxXCIsXG5cdFx0XHRcdGd1dHRlckJvdHRvbTogdHJ1ZSxcblx0XHRcdFx0dmFyaWFudDogXCJoNFwiLFxuXHRcdFx0XHRjaGlsZHJlbjogdChcInNlY3VyaXR5LmNoYW5nZVBhc3N3b3JkLnRpdGxlXCIpXG5cdFx0XHR9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goU2VjdXJpdHlUZXh0RmllbGQsIHtcblx0XHRcdFx0ZXJyb3I6ICEhZXJyb3JzLnVzZXJuYW1lLFxuXHRcdFx0XHRoZWxwZXJUZXh0OiBlcnJvcnMudXNlcm5hbWU/Lm1lc3NhZ2UsXG5cdFx0XHRcdGxhYmVsOiB0KFwic2VjdXJpdHkuY2hhbmdlUGFzc3dvcmQudXNlcm5hbWVcIiksXG5cdFx0XHRcdC4uLnJlZ2lzdGVyKFwidXNlcm5hbWVcIiksXG5cdFx0XHRcdHJlcXVpcmVkOiB0cnVlXG5cdFx0XHR9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goU2VjdXJpdHlUZXh0RmllbGQsIHtcblx0XHRcdFx0ZXJyb3I6ICEhZXJyb3JzLm9sZFBhc3N3b3JkLFxuXHRcdFx0XHRoZWxwZXJUZXh0OiBlcnJvcnMub2xkUGFzc3dvcmQ/Lm1lc3NhZ2UsXG5cdFx0XHRcdGxhYmVsOiB0KFwic2VjdXJpdHkuY2hhbmdlUGFzc3dvcmQub2xkUGFzc3dvcmRcIiksXG5cdFx0XHRcdC4uLnJlZ2lzdGVyKFwib2xkUGFzc3dvcmRcIiksXG5cdFx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdFx0XHR0eXBlOiBcInBhc3N3b3JkXCJcblx0XHRcdH0pLFxuXHRcdFx0LyogQF9fUFVSRV9fICovIGpzeChTZWN1cml0eVRleHRGaWVsZCwge1xuXHRcdFx0XHRlcnJvcjogISFlcnJvcnMubmV3UGFzc3dvcmQsXG5cdFx0XHRcdGhlbHBlclRleHQ6IGVycm9ycy5uZXdQYXNzd29yZD8ubWVzc2FnZSxcblx0XHRcdFx0bGFiZWw6IHQoXCJzZWN1cml0eS5jaGFuZ2VQYXNzd29yZC5uZXdQYXNzd29yZFwiKSxcblx0XHRcdFx0Li4ucmVnaXN0ZXIoXCJuZXdQYXNzd29yZFwiKSxcblx0XHRcdFx0cmVxdWlyZWQ6IHRydWUsXG5cdFx0XHRcdHR5cGU6IFwicGFzc3dvcmRcIlxuXHRcdFx0fSksXG5cdFx0XHQvKiBAX19QVVJFX18gKi8ganN4KFNlY3VyaXR5VGV4dEZpZWxkLCB7XG5cdFx0XHRcdGVycm9yOiAhIWVycm9ycy5jb25maXJtUGFzc3dvcmQsXG5cdFx0XHRcdGhlbHBlclRleHQ6IGVycm9ycy5jb25maXJtUGFzc3dvcmQ/Lm1lc3NhZ2UsXG5cdFx0XHRcdGxhYmVsOiB0KFwic2VjdXJpdHkuY2hhbmdlUGFzc3dvcmQuY29uZmlybVBhc3N3b3JkXCIpLFxuXHRcdFx0XHQuLi5yZWdpc3RlcihcImNvbmZpcm1QYXNzd29yZFwiKSxcblx0XHRcdFx0cmVxdWlyZWQ6IHRydWUsXG5cdFx0XHRcdHR5cGU6IFwicGFzc3dvcmRcIlxuXHRcdFx0fSksXG5cdFx0XHRlcnJvcnMucm9vdCAmJiAvKiBAX19QVVJFX18gKi8ganN4KExvZ2luRGlhbG9nRm9ybUVycm9yLCB7IGVycm9yOiBlcnJvcnMucm9vdCB9KSxcblx0XHRcdC8qIEBfX1BVUkVfXyAqLyBqc3goQnV0dG9uLCB7XG5cdFx0XHRcdGNvbG9yOiBcInByaW1hcnlcIixcblx0XHRcdFx0ZGlzYWJsZWQ6ICFpc1ZhbGlkLFxuXHRcdFx0XHRmdWxsV2lkdGg6IHRydWUsXG5cdFx0XHRcdHN4OiB7IG10OiAyIH0sXG5cdFx0XHRcdHR5cGU6IFwic3VibWl0XCIsXG5cdFx0XHRcdHZhcmlhbnQ6IFwiY29udGFpbmVkXCIsXG5cdFx0XHRcdGNoaWxkcmVuOiB0KFwic2VjdXJpdHkuY2hhbmdlUGFzc3dvcmQuc3VibWl0XCIpXG5cdFx0XHR9KVxuXHRcdF1cblx0fSkgfSkgfSkgOiBudWxsO1xufTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgQ2hhbmdlUGFzc3dvcmQgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1DaGFuZ2VQYXNzd29yZC5tanMubWFwIiwiaW1wb3J0IEhvbWUgZnJvbSBcIi4uLy4uL3NlY3Rpb25zL0hvbWUvSG9tZS5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2luZGV4Lm1qc1wiO1xuLy8jcmVnaW9uIHNyYy9wYWdlcy9Gcm9udC9Ib21lLnRzXG52YXIgSG9tZV9kZWZhdWx0ID0gSG9tZTtcbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgSG9tZV9kZWZhdWx0IGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9SG9tZS5tanMubWFwIiwiaW1wb3J0IERldGFpbFNpZGViYXIgZnJvbSBcIi4uLy4uL3NlY3Rpb25zL1NpZGVCYXIvU2lkZWJhci5tanNcIjtcbmltcG9ydCBEZXRhaWxDb250YWluZXIgZnJvbSBcIi4uLy4uL3NlY3Rpb25zL0RldGFpbC9EZXRhaWwubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9zZWN0aW9ucy9pbmRleC5tanNcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFwicmVhY3RcIjtcbmltcG9ydCBHcmlkIGZyb20gXCJAbXVpL21hdGVyaWFsL0dyaWRcIjtcbi8vI3JlZ2lvbiBzcmMvbGF5b3V0cy9WZXJzaW9uL1ZlcnNpb24udHN4XG52YXIgVmVyc2lvbkxheW91dCA9ICgpID0+IHtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKEdyaWQsIHtcblx0XHRjbGFzc05hbWU6IFwiY29udGFpbmVyIGNvbnRlbnRcIixcblx0XHRjb250YWluZXI6IHRydWUsXG5cdFx0XCJkYXRhLXRlc3RpZFwiOiBcInZlcnNpb24tbGF5b3V0XCIsXG5cdFx0c3BhY2luZzogMCxcblx0XHRjaGlsZHJlbjogWy8qIEBfX1BVUkVfXyAqLyBqc3goR3JpZCwge1xuXHRcdFx0c2l6ZToge1xuXHRcdFx0XHRtZDogOCxcblx0XHRcdFx0eHM6IDEyXG5cdFx0XHR9LFxuXHRcdFx0Y2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goRGV0YWlsQ29udGFpbmVyLCB7fSlcblx0XHR9KSwgLyogQF9fUFVSRV9fICovIGpzeChHcmlkLCB7XG5cdFx0XHRzaXplOiB7XG5cdFx0XHRcdG1kOiA0LFxuXHRcdFx0XHR4czogMTJcblx0XHRcdH0sXG5cdFx0XHRjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChEZXRhaWxTaWRlYmFyLCB7fSlcblx0XHR9KV1cblx0fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBWZXJzaW9uTGF5b3V0IGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9VmVyc2lvbi5tanMubWFwIiwiaW1wb3J0IHsgdXNlVmVyc2lvbiB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvVmVyc2lvblByb3ZpZGVyL1ZlcnNpb25Qcm92aWRlci5tanNcIjtcbmltcG9ydCBOb3RGb3VuZCBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9Ob3RGb3VuZC9Ob3RGb3VuZC5tanNcIjtcbmltcG9ydCBGb3JiaWRkZW4gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvRm9yYmlkZGVuL0ZvcmJpZGRlbi5tanNcIjtcbmltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvRm9yYmlkZGVuL2luZGV4Lm1qc1wiO1xuaW1wb3J0IExvYWRpbmcgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvTG9hZGluZy9Mb2FkaW5nLm1qc1wiO1xuaW1wb3J0IFZlcnNpb25MYXlvdXQgZnJvbSBcIi4uLy4uL2xheW91dHMvVmVyc2lvbi9WZXJzaW9uLm1qc1wiO1xuaW1wb3J0IFwiLi4vLi4vaW5kZXgubWpzXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG4vLyNyZWdpb24gc3JjL3BhZ2VzL1ZlcnNpb24vVmVyc2lvbi50c3hcbnZhciBWZXJzaW9uID0gKCkgPT4ge1xuXHRjb25zdCB7IGhhc05vdEJlZW5Gb3VuZCwgaXNGb3JiaWRkZW4sIGlzVW5BdXRob3JpemVkLCBpc0xvYWRpbmcgfSA9IHVzZVZlcnNpb24oKTtcblx0aWYgKGlzTG9hZGluZykgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goTG9hZGluZywge30pO1xuXHRpZiAoaXNVbkF1dGhvcml6ZWQpIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KEZvcmJpZGRlbiwge30pO1xuXHRpZiAoaXNGb3JiaWRkZW4pIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KEZvcmJpZGRlbiwge30pO1xuXHRpZiAoaGFzTm90QmVlbkZvdW5kKSByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChOb3RGb3VuZCwge30pO1xuXHRyZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChWZXJzaW9uTGF5b3V0LCB7fSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBWZXJzaW9uIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9VmVyc2lvbi5tanMubWFwIiwiaW1wb3J0IExvZ2luIGZyb20gXCIuLi8uLi9zZWN0aW9ucy9TZWN1cml0eS9Mb2dpbi5tanNcIjtcbmltcG9ydCBcIi4uLy4uL3NlY3Rpb25zL1NlY3VyaXR5L2luZGV4Lm1qc1wiO1xuLy8jcmVnaW9uIHNyYy9wYWdlcy9TZWN1cml0eS9Mb2dpbi50c3hcbnZhciBMb2dpbl9kZWZhdWx0ID0gTG9naW47XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IExvZ2luX2RlZmF1bHQgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Mb2dpbi5tanMubWFwIiwiaW1wb3J0IFN1Y2Nlc3MgZnJvbSBcIi4uLy4uL3NlY3Rpb25zL1NlY3VyaXR5L1N1Y2Nlc3MubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9zZWN0aW9ucy9TZWN1cml0eS9pbmRleC5tanNcIjtcbi8vI3JlZ2lvbiBzcmMvcGFnZXMvU2VjdXJpdHkvU3VjY2Vzcy50c3hcbnZhciBTdWNjZXNzX2RlZmF1bHQgPSBTdWNjZXNzO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBTdWNjZXNzX2RlZmF1bHQgYXMgZGVmYXVsdCB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1TdWNjZXNzLm1qcy5tYXAiLCJpbXBvcnQgQWRkVXNlciBmcm9tIFwiLi4vLi4vc2VjdGlvbnMvU2VjdXJpdHkvQWRkVXNlci5tanNcIjtcbmltcG9ydCBcIi4uLy4uL3NlY3Rpb25zL1NlY3VyaXR5L2luZGV4Lm1qc1wiO1xuLy8jcmVnaW9uIHNyYy9wYWdlcy9TZWN1cml0eS9BZGRVc2VyLnRzeFxudmFyIEFkZFVzZXJfZGVmYXVsdCA9IEFkZFVzZXI7XG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IEFkZFVzZXJfZGVmYXVsdCBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUFkZFVzZXIubWpzLm1hcCIsImltcG9ydCBDaGFuZ2VQYXNzd29yZCBmcm9tIFwiLi4vLi4vc2VjdGlvbnMvU2VjdXJpdHkvQ2hhbmdlUGFzc3dvcmQubWpzXCI7XG5pbXBvcnQgXCIuLi8uLi9zZWN0aW9ucy9TZWN1cml0eS9pbmRleC5tanNcIjtcbi8vI3JlZ2lvbiBzcmMvcGFnZXMvU2VjdXJpdHkvQ2hhbmdlUGFzc3dvcmQudHN4XG52YXIgQ2hhbmdlUGFzc3dvcmRfZGVmYXVsdCA9IENoYW5nZVBhc3N3b3JkO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBDaGFuZ2VQYXNzd29yZF9kZWZhdWx0IGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Q2hhbmdlUGFzc3dvcmQubWpzLm1hcCIsImltcG9ydCB7IEZyYWdtZW50LCBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBcInJlYWN0XCI7XG5pbXBvcnQgeyBHbG9iYWxTdHlsZXMgfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuLy8jcmVnaW9uIHNyYy9UaGVtZS9SZXNldFN0eWxlcy50c3hcbnZhciBSZXNldFN0eWxlcyA9ICh7IGNoaWxkcmVuIH0pID0+IHtcblx0cmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKEZyYWdtZW50LCB7IGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChHbG9iYWxTdHlsZXMsIHsgc3R5bGVzOiAodGhlbWUpID0+ICh7XG5cdFx0XCJodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSwgYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLCBkZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsIHNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsIGIsIHUsIGksIGNlbnRlciwgZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSwgZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsIHRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLCBhcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCwgZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSwgdGltZSwgbWFyaywgYXVkaW8sIHZpZGVvXCI6IHsgZm9udEZhbWlseTogXCJcXFwiUm9ib3RvXFxcIiwgSGVsdmV0aWNhIE5ldWUsIEFyaWFsLCBzYW5zLXNlcmlmXCIgfSxcblx0XHRzdHJvbmc6IHsgZm9udFdlaWdodDogdGhlbWUuZm9udFdlaWdodC5zZW1pQm9sZCB9LFxuXHRcdFwiaHRtbCwgYm9keSwgI3Jvb3RcIjogeyBoZWlnaHQ6IFwiMTAwJVwiIH0sXG5cdFx0dWw6IHtcblx0XHRcdG1hcmdpbjogMCxcblx0XHRcdHBhZGRpbmc6IDAsXG5cdFx0XHRsaXN0U3R5bGU6IFwibm9uZVwiXG5cdFx0fSxcblx0XHRcIi5jb250YWluZXJcIjoge1xuXHRcdFx0cGFkZGluZ1RvcDogMTUsXG5cdFx0XHRwYWRkaW5nQm90dG9tOiAxNSxcblx0XHRcdGZsZXg6IDEsXG5cdFx0XHRoZWlnaHQ6IFwiMTAwJVwiLFxuXHRcdFx0W2BAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAke3RoZW1lLmJyZWFrUG9pbnRzLmNvbnRhaW5lcn1weClgXToge1xuXHRcdFx0XHRtYXhXaWR0aDogdGhlbWUuYnJlYWtQb2ludHMuY29udGFpbmVyLFxuXHRcdFx0XHR3aWR0aDogXCIxMDAlXCIsXG5cdFx0XHRcdG1hcmdpbkxlZnQ6IFwiYXV0b1wiLFxuXHRcdFx0XHRtYXJnaW5SaWdodDogXCJhdXRvXCJcblx0XHRcdH1cblx0XHR9XG5cdH0pIH0pLCBjaGlsZHJlbl0gfSk7XG59O1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBSZXNldFN0eWxlcyBhcyBkZWZhdWx0IH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVJlc2V0U3R5bGVzLm1qcy5tYXAiLCJpbXBvcnQgUmVzZXRTdHlsZXMgZnJvbSBcIi4vUmVzZXRTdHlsZXMubWpzXCI7XG5pbXBvcnQgeyBGcmFnbWVudCwganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgXCJyZWFjdFwiO1xuaW1wb3J0IENzc0Jhc2VsaW5lIGZyb20gXCJAbXVpL21hdGVyaWFsL0Nzc0Jhc2VsaW5lXCI7XG5pbXBvcnQgXCJub3JtYWxpemUuY3NzXCI7XG4vLyNyZWdpb24gc3JjL1RoZW1lL1N0eWxlQmFzZWxpbmUudHN4XG52YXIgU3R5bGVCYXNlbGluZSA9ICgpID0+IC8qIEBfX1BVUkVfXyAqLyBqc3hzKEZyYWdtZW50LCB7IGNoaWxkcmVuOiBbLyogQF9fUFVSRV9fICovIGpzeChDc3NCYXNlbGluZSwge30pLCAvKiBAX19QVVJFX18gKi8ganN4KFJlc2V0U3R5bGVzLCB7fSldIH0pO1xuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBTdHlsZUJhc2VsaW5lIGFzIGRlZmF1bHQgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9U3R5bGVCYXNlbGluZS5tanMubWFwIiwiaW1wb3J0IEF2YXRhciBmcm9tICdAbXVpL21hdGVyaWFsL0F2YXRhcic7XG5pbXBvcnQgQXZhdGFyR3JvdXAgZnJvbSAnQG11aS9tYXRlcmlhbC9BdmF0YXJHcm91cCc7XG5pbXBvcnQgTGluayBmcm9tICdAbXVpL21hdGVyaWFsL0xpbmsnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IGNvbnRyaWJ1dG9ycyBmcm9tICcuL2dlbmVyYXRlZF9jb250cmlidXRvcnNfbGlzdC5qc29uJztcblxuY29uc3QgZ2VuZXJhdGVJbWFnZSA9IChpZCkgPT4gYGh0dHBzOi8vYXZhdGFyczMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvJHtpZH0/cz0xMjAmdj00YDtcblxuY29uc3QgQ29udHJpYnV0b3JzOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPExpbmsgaHJlZj17YGh0dHBzOi8vdmVyZGFjY2lvLm9yZy9jb250cmlidXRvcnNgfSByZWw9XCJub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgIDxBdmF0YXJHcm91cCBtYXg9ezExfSBzcGFjaW5nPXsxNX0gdG90YWw9ezQwMH0+XG4gICAgICAgICAge2NvbnRyaWJ1dG9ycz8ubWFwKCh7IHVzZXJuYW1lLCBpZCB9KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICA8ZGl2IGtleT17dXNlcm5hbWV9PlxuICAgICAgICAgICAgICAgIDxBdmF0YXIgYWx0PXt1c2VybmFtZX0gc3JjPXtnZW5lcmF0ZUltYWdlKGlkKX0gLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pfVxuICAgICAgICA8L0F2YXRhckdyb3VwPlxuICAgICAgPC9MaW5rPlxuICAgIDwvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ29udHJpYnV0b3JzO1xuIiwiaW1wb3J0IHsgTGluayB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwnO1xuaW1wb3J0IEdyaWQgZnJvbSAnQG11aS9tYXRlcmlhbC9HcmlkJztcbmltcG9ydCBUeXBvZ3JhcGh5IGZyb20gJ0BtdWkvbWF0ZXJpYWwvVHlwb2dyYXBoeSc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5jb25zdCB0aXRsZSA9ICdTdXBwb3J0IHBlb3BsZSBhZmZlY3RlZCBieSB0aGUgd2FyIGluIFVrcmFpbmUnO1xuXG5jb25zdCBsaW5rcyA9IFtcbiAge1xuICAgIGhyZWY6ICdodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUxlRzA5enVfcF9nJyxcbiAgICB0ZXh0OiAnQXNrIFVrcmFpbmlhbiBvcGVuLXNvdXJjZSBkZXZlbG9wZXJzIGFib3V0IHdhciDigJQgVHdpdHRlciBTcGFjZScsXG4gIH0sXG4gIHtcbiAgICBocmVmOiAnaHR0cHM6Ly9zbnlrLmlvL2Jsb2cvY2VsZWJyYXRpbmctYW1hemluZy1vcGVuLXNvdXJjZS1pbm5vdmF0aW9uLXVrcmFpbmUvJyxcbiAgICB0ZXh0OiAnU255ayBibG9nIC0gTGVhcm4gbW9yZSBhYm91dCBPcGVuIFNvdXJjZSBkZXZlbG9wZXJzIGluIFVrcmFpbmUnLFxuICB9LFxuICB7XG4gICAgaHJlZjogJ2h0dHBzOi8vd3d3LnNhdmV0aGVjaGlsZHJlbi5vcmcvdXMvd2hlcmUtd2Utd29yay91a3JhaW5lLycsXG4gICAgdGV4dDogJ0RvbmF0ZSB0byBzYXZlIGNoaWxkcmVuIGluIFVrcmFpbmUnLFxuICB9LFxuICB7XG4gICAgaHJlZjogJ2h0dHBzOi8vd3d3LmlmcmMub3JnLycsXG4gICAgdGV4dDogJ0RvbmF0ZSB0byB0aGUgSW50ZXJuYXRpb25hbCBSZWQgQ3Jvc3MnLFxuICB9LFxuICB7XG4gICAgaHJlZjogJ2h0dHBzOi8vd3d3Lmhydy5vcmcvbmV3cy8yMDIyLzAzLzEwL3VrcmFpbmUtcnVzc2lhbi1haXItZHJvcHBlZC1ib21icy1oaXQtcmVzaWRlbnRpYWwtYXJlYS8nLFxuICAgIHRleHQ6ICdSZWFkIHJlcG9ydHMgZnJvbSBIdW1hbiBSaWdodHMgV2F0Y2gnLFxuICB9LFxuICB7XG4gICAgaHJlZjogJ2h0dHBzOi8vZXVyb3BlYW5ibG9vZGFsbGlhbmNlLmV1LycsXG4gICAgdGV4dDogJ0RvbmF0ZSBibG9vZCBpbiBFdXJvcGUnLFxuICB9LFxuXTtcblxuY29uc3QgU3VwcG9ydCA9ICgpID0+IHtcbiAgY29uc3QgbGlua0VsZW1lbnRzID0gbGlua3MubWFwKChsaW5rKSA9PiAoXG4gICAgPGxpIGtleT17bGluay50ZXh0fT5cbiAgICAgIDxMaW5rIGhyZWY9e2xpbmsuaHJlZn0gdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgIDxUeXBvZ3JhcGh5PntsaW5rLnRleHR9PC9UeXBvZ3JhcGh5PlxuICAgICAgPC9MaW5rPlxuICAgIDwvbGk+XG4gICkpO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxHcmlkIGNvbnRhaW5lcj17dHJ1ZX0gc3BhY2luZz17Mn0+XG4gICAgICAgIDxHcmlkIGl0ZW09e3RydWV9IHhzPXsxMn0+XG4gICAgICAgICAgPFR5cG9ncmFwaHkgY29tcG9uZW50PVwiaDJcIiB2YXJpYW50PVwiaDZcIj5cbiAgICAgICAgICAgIHt0aXRsZX1cbiAgICAgICAgICA8L1R5cG9ncmFwaHk+XG4gICAgICAgIDwvR3JpZD5cbiAgICAgICAgPEdyaWQgaXRlbT17dHJ1ZX0gbGc9ezEyfSB4cz17MTJ9PlxuICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGZvbnRTdHlsZTogJ2l0YWxpYycsIGZvbnRTaXplOiAnMC43NXJlbScgfX0+XG4gICAgICAgICAgICA8VHlwb2dyYXBoeT5cbiAgICAgICAgICAgICAge2BIaSwgdGhpcyBpcyBhIG1lc3NhZ2UgdGhhdCBJJ3ZlIGNvbXBvc2VkIHRvIGNhbGwgeW91ciBhdHRlbnRpb24gdG8gYXNrIFxuICAgICAgICAgICAgICAgIGZvciBodW1hbml0YXJpYW4gc3VwcG9ydCBmb3IgbW9yZSB0aGFuIDQ0IG1pbGxpb24gVWtyYWluaWFucyB0aGF0IGFyZSBoYXZpbmcgXG4gICAgICAgICAgICAgICAgYSBoYXJkIHRpbWUgc3VmZmVyaW5nIGZvciBhIGhvcnJpYmxlIGFuZCB1bmp1c3RpZmllZCB3YXIuIEl0IHdvdWxkIGJlIGdyZWF0IGlmIHlvdVxuICAgICAgICAgICAgICAgIGRlY2lkZSB0b2RheSB0byBtYWtlIGEgZGlmZmVyZW5jZSBhbmQgaGVscCBvdGhlcnMuIFlvdSBjb3VsZCBoZWxwIGJ5IGRvbmF0aW5nIFxuICAgICAgICAgICAgICAgIHRvIHZlcnkgd2VsbC1rbm93biBodW1hbml0YXJpYW4gb3JnYW5pemF0aW9ucywgaGVscGluZyBpbiB5b3VyIGxvY2FsIFxuICAgICAgICAgICAgICAgIGFyZWEgd2l0aCBmb29kLCBjbG90aGVzLCBkb25hdGUgYmxvb2QsIHRveXMgZm9yIGtpZHMsIG9yIHlvdXIgb3duIHRpbWUuIEFueSBoZWxwIGlzIHZlcnkgd2VsY29tZS5gfVxuICAgICAgICAgICAgPC9UeXBvZ3JhcGh5PlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8dWwgc3R5bGU9e3sgcGFkZGluZzogJzEwcHggMCcgfX0+e2xpbmtFbGVtZW50c308L3VsPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8VHlwb2dyYXBoeSB2YXJpYW50PVwiZGl2XCI+e2BTcHJlYWQgdGhlIHZvaWNlLCBtYWtlIHRoZSBkaWZmZXJlbmNlIHRvZGF5LmB9PC9UeXBvZ3JhcGh5PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sgcGFkZGluZzogJzEwcHggMCcsIGZvbnRXZWlnaHQ6IDYwMCB9fT5cbiAgICAgICAgICAgIDxUeXBvZ3JhcGh5IHZhcmlhbnQ9XCJkaXZcIj57YEF0dDogVmVyZGFjY2lvIExlYWQgTWFudGFpbmVyLCBKdWFuIFAuYH08L1R5cG9ncmFwaHk+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvR3JpZD5cbiAgICAgIDwvR3JpZD5cbiAgICA8Lz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFN1cHBvcnQ7XG4iLCJWZXJkYWNjaW8gaXMgYW4gb3BlbiBzb3VyY2UgbGlnaHR3ZWlnaHQgcHJpdmF0ZSBwcm94eSBOb2RlLmpzIHJlZ2lzdHJ5LFxueW91IGNhbiBbbGVhcm4gbW9yZSBhYm91dCB0aGUgcHJvamVjdCBpbiBvdXIgYmxvZ10oaHR0cHM6Ly92ZXJkYWNjaW8ub3JnL2Jsb2cvMjAxOS8wMi8wOC90aGUtY3Jhenktc3Rvcnktb2YtdmVyZGFjY2lvKS5cblxuIyMjIyBVc2VmdWwgbGlua3NcblxuLSBbSW5zdGFsbGF0aW9uXShodHRwczovL3ZlcmRhY2Npby5vcmcvZG9jcy9pbnN0YWxsYXRpb24pXG4tIFtUcmFuc2xhdGVdKGh0dHBzOi8vdHJhbnNsYXRlLnZlcmRhY2Npby5vcmcvKVxuLSBbQmVzdCBQcmFjdGljZXNdKGh0dHBzOi8vdmVyZGFjY2lvLm9yZy9kb2NzL2Jlc3QpXG4tIFtTZWN1cml0eSBQb2xpY3ldKGh0dHBzOi8vZ2l0aHViLmNvbS92ZXJkYWNjaW8vdmVyZGFjY2lvL3NlY3VyaXR5L3BvbGljeSlcbi0gW1Nwb25zb3IgdmlhIE9wZW4gQ29sbGVjdGl2ZV0oaHR0cHM6Ly9vcGVuY29sbGVjdGl2ZS5jb20vdmVyZGFjY2lvKVxuLSBbU3BvbnNvciB2aWEgR2l0SHViXShodHRwczovL2dpdGh1Yi5jb20vc3BvbnNvcnMvdmVyZGFjY2lvKVxuXG4jIyMjIEhvdyB0byBjb25uZWN0XG5cbi0gW0Rpc2N1c3Npb25zXShodHRwczovL2dpdGh1Yi5jb20vdmVyZGFjY2lvL3ZlcmRhY2Npby9kaXNjdXNzaW9ucylcbi0gW1lvdVR1YmUgQ2hhbm5lbF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQzVpMjB2Nm83bFNqWHpBSE92YXR0MHcpXG4tIFtEaXNjb3JkIENoYXRdKGh0dHBzOi8vZGlzY29yZC5nZy9odjQyamZzKVxuXG5odHRwczovL3d3dy52ZXJkYWNjaW8ub3JnXG5cbiMjIyMgTWVldCB0aGUgY29udHJpYnV0b3JzXG4iLCJNSVQgTGljZW5zZVxuXG5Db3B5cmlnaHQgKGMpIDIwMjUgVmVyZGFjY2lvIGNvbnRyaWJ1dG9yc1xuXG5QZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG5vZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG5pbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG50byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG5jb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbmZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG5cblRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG5GSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbkFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbkxJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG5PVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuU09GVFdBUkUuXG4iLCIvKipcbiAqIFZpdGUtY29tcGF0aWJsZSB0cmFuc2xhdGlvbiBsb2FkZXIuXG4gKiBVc2VzIGltcG9ydC5tZXRhLmdsb2IgKHN1cHBvcnRlZCBieSBib3RoIFZpdGUgYnVpbGRzIGFuZCBWaXRlc3QpXG4gKiBpbnN0ZWFkIG9mIHRoZSBDSlMgcmVxdWlyZSgpLWJhc2VkIEB2ZXJkYWNjaW8vdWktaTE4biBwYWNrYWdlLlxuICovXG5pbXBvcnQgZW5UcmFuc2xhdGlvbnMgZnJvbSAnLi9jcm93ZGluL3VpLmpzb24nO1xuXG5jb25zdCB0cmFuc2xhdGlvbk1vZHVsZXMgPSBpbXBvcnQubWV0YS5nbG9iKCcuL2Rvd25sb2FkX3RyYW5zbGF0aW9ucy8qL3VpLmpzb24nLCB7XG4gIGVhZ2VyOiB0cnVlLFxuICBpbXBvcnQ6ICdkZWZhdWx0Jyxcbn0pO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MQU5HVUFHRSA9ICdlbi1VUyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkVHJhbnNsYXRpb25GaWxlKGxuZzogc3RyaW5nKSB7XG4gIGlmIChsbmcgPT09IERFRkFVTFRfTEFOR1VBR0UpIHtcbiAgICByZXR1cm4gZW5UcmFuc2xhdGlvbnM7XG4gIH1cbiAgY29uc3Qga2V5ID0gYC4vZG93bmxvYWRfdHJhbnNsYXRpb25zLyR7bG5nfS91aS5qc29uYDtcbiAgcmV0dXJuICh0cmFuc2xhdGlvbk1vZHVsZXNba2V5XSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSA/PyBlblRyYW5zbGF0aW9ucztcbn1cblxuZXhwb3J0IGRlZmF1bHQgbG9hZFRyYW5zbGF0aW9uRmlsZTtcbiIsImltcG9ydCAqIGFzIEZsYWdzIGZyb20gJ2NvdW50cnktZmxhZy1pY29ucy9yZWFjdC8zeDInO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MQU5HVUFHRSA9ICdlbi1VUyc7XG5cbmV4cG9ydCB0eXBlIExhbmd1YWdlQ29uZmlndXJhdGlvbiA9IHtcbiAgbG5nOiBzdHJpbmc7XG4gIG1lbnVLZXk6IHN0cmluZztcbiAgaWNvbjogRmxhZ3MuRmxhZ0NvbXBvbmVudDtcbn07XG5cbmV4cG9ydCBjb25zdCBsaXN0TGFuZ3VhZ2VzOiBMYW5ndWFnZUNvbmZpZ3VyYXRpb25bXSA9IFtcbiAgeyBsbmc6IERFRkFVTFRfTEFOR1VBR0UsIGljb246IEZsYWdzLlVTLCBtZW51S2V5OiAnbG5nLmVuZ2xpc2gnIH0sXG4gIHsgbG5nOiAnY3MtQ1onLCBpY29uOiBGbGFncy5DWiwgbWVudUtleTogJ2xuZy5jemVjaCcgfSxcbiAgeyBsbmc6ICdwdC1CUicsIGljb246IEZsYWdzLkJSLCBtZW51S2V5OiAnbG5nLnBvcnR1Z3Vlc2UnIH0sXG4gIHsgbG5nOiAnZXMtRVMnLCBpY29uOiBGbGFncy5FUywgbWVudUtleTogJ2xuZy5zcGFuaXNoJyB9LFxuICB7IGxuZzogJ2dhLUlFJywgaWNvbjogRmxhZ3MuSUUsIG1lbnVLZXk6ICdsbmcuaXJpc2gnIH0sXG4gIHsgbG5nOiAnZGUtREUnLCBpY29uOiBGbGFncy5ERSwgbWVudUtleTogJ2xuZy5nZXJtYW4nIH0sXG4gIHsgbG5nOiAnaXQtSVQnLCBpY29uOiBGbGFncy5JVCwgbWVudUtleTogJ2xuZy5pdGFsaWFuJyB9LFxuICB7IGxuZzogJ2ZyLUZSJywgaWNvbjogRmxhZ3MuRlIsIG1lbnVLZXk6ICdsbmcuZnJlbmNoJyB9LFxuICB7IGxuZzogJ2phLUpQJywgaWNvbjogRmxhZ3MuSlAsIG1lbnVLZXk6ICdsbmcuamFwYW5lc2UnIH0sXG4gIHsgbG5nOiAncnUtUlUnLCBpY29uOiBGbGFncy5SVSwgbWVudUtleTogJ2xuZy5ydXNzaWFuJyB9LFxuICB7IGxuZzogJ3RyLVRSJywgaWNvbjogRmxhZ3MuVFIsIG1lbnVLZXk6ICdsbmcudHVya2lzaCcgfSxcbiAgeyBsbmc6ICd1ay1VQScsIGljb246IEZsYWdzLlVBLCBtZW51S2V5OiAnbG5nLnVrcmFpbmUnIH0sXG4gIHsgbG5nOiAna20tS0gnLCBpY29uOiBGbGFncy5LSCwgbWVudUtleTogJ2xuZy5raG1lcicgfSxcbiAgeyBsbmc6ICd6aC1DTicsIGljb246IEZsYWdzLkNOLCBtZW51S2V5OiAnbG5nLmNoaW5lc2UnIH0sXG4gIHsgbG5nOiAnemgtVFcnLCBpY29uOiBGbGFncy5UVywgbWVudUtleTogJ2xuZy5jaGluZXNlVHJhZGl0aW9uYWwnIH0sXG5dO1xuXG5jb25zdCBsYW5ndWFnZXMgPSBsaXN0TGFuZ3VhZ2VzLnJlZHVjZSgoYWNjLCBpdGVtOiBMYW5ndWFnZUNvbmZpZ3VyYXRpb24pID0+IHtcbiAgYWNjLnB1c2goaXRlbS5sbmcpO1xuICByZXR1cm4gYWNjO1xufSwgW10gYXMgc3RyaW5nW10pO1xuXG5leHBvcnQgY29uc3QgbGlzdExhbmd1YWdlc0FzU3RyaW5nID0gbGFuZ3VhZ2VzO1xuXG5leHBvcnQgdHlwZSBMYW5ndWFnZSA9IGtleW9mIHR5cGVvZiBsaXN0TGFuZ3VhZ2VzQXNTdHJpbmc7XG4iLCJpbXBvcnQgaTE4biBmcm9tICdpMThuZXh0JztcbmltcG9ydCB7IGluaXRSZWFjdEkxOG5leHQgfSBmcm9tICdyZWFjdC1pMThuZXh0JztcblxuaW1wb3J0IGxvYWRUcmFuc2xhdGlvbkZpbGUgZnJvbSAnQHZlcmRhY2Npby91aS1pMThuJztcblxuaW1wb3J0IHR5cGUgeyBMYW5ndWFnZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2VuYWJsZWRMYW5ndWFnZXMnO1xuaW1wb3J0IHsgREVGQVVMVF9MQU5HVUFHRSwgbGlzdExhbmd1YWdlcywgbGlzdExhbmd1YWdlc0FzU3RyaW5nIH0gZnJvbSAnLi9lbmFibGVkTGFuZ3VhZ2VzJztcblxuY29uc3QgbGFuZ3VhZ2VzID0gbGlzdExhbmd1YWdlcy5yZWR1Y2UoKGFjYywgaXRlbTogTGFuZ3VhZ2VDb25maWd1cmF0aW9uKSA9PiB7XG4gIGFjY1tpdGVtLmxuZ10gPSB7XG4gICAgdHJhbnNsYXRpb246XG4gICAgICBpdGVtLmxuZyA9PT0gREVGQVVMVF9MQU5HVUFHRVxuICAgICAgICA/IGxvYWRUcmFuc2xhdGlvbkZpbGUoREVGQVVMVF9MQU5HVUFHRSlcbiAgICAgICAgOiBsb2FkVHJhbnNsYXRpb25GaWxlKGl0ZW0ubG5nKSxcbiAgfTtcbiAgcmV0dXJuIGFjYztcbn0sIHt9KTtcblxuaTE4blxuICAvLyBwYXNzIHRoZSBpMThuIGluc3RhbmNlIHRvIHJlYWN0LWkxOG5leHQuXG4gIC51c2UoaW5pdFJlYWN0STE4bmV4dClcbiAgLy8gaW5pdCBpMThuZXh0XG4gIC8vIGZvciBhbGwgb3B0aW9ucyByZWFkOiBodHRwczovL3d3dy5pMThuZXh0LmNvbS9vdmVydmlldy9jb25maWd1cmF0aW9uLW9wdGlvbnNcbiAgLmluaXQoe1xuICAgIC8vIGluIGNhc2Ugd2luZG93LlZFREFDQ0lPX0xBTkdVQUdFIGlzIHVuZGVmaW5lZCxpdCB3aWxsIGZhbGwgYmFjayB0byAnZW4tVVMnXG4gICAgbG5nOiB3aW5kb3c/Ll9fVkVSREFDQ0lPX0JBU0VOQU1FX1VJX09QVElPTlM/Lmxhbmd1YWdlIHx8IERFRkFVTFRfTEFOR1VBR0UsXG4gICAgZmFsbGJhY2tMbmc6IERFRkFVTFRfTEFOR1VBR0UsXG4gICAgd2hpdGVsaXN0OiBbLi4ubGlzdExhbmd1YWdlc0FzU3RyaW5nXSxcbiAgICBsb2FkOiAnY3VycmVudE9ubHknLFxuICAgIHJlYWN0OiB7XG4gICAgICB1c2VTdXNwZW5zZTogZmFsc2UsXG4gICAgfSxcbiAgICByZXNvdXJjZXM6IGxhbmd1YWdlcyxcbiAgICBkZWJ1ZzogZmFsc2UsXG4gICAgaW50ZXJwb2xhdGlvbjoge1xuICAgICAgZXNjYXBlVmFsdWU6IGZhbHNlLCAvLyByZWFjdCBhbHJlYWR5IHNhZmVzIGZyb20geHNzXG4gICAgfSxcbiAgfSk7XG5cbmV4cG9ydCBkZWZhdWx0IGkxOG47XG4iLCJpbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IGkxOG4gZnJvbSAnaTE4bmV4dCc7XG5cbmZ1bmN0aW9uIGdldEZhbGxGYWNrTGFuZ3VhZ2UoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgZmFsbGJhY2tMYW5ndWFnZSA9IGkxOG4ub3B0aW9ucy5mYWxsYmFja0xuZztcblxuICBpZiAoQXJyYXkuaXNBcnJheShmYWxsYmFja0xhbmd1YWdlKSkge1xuICAgIHJldHVybiBmYWxsYmFja0xhbmd1YWdlWzBdO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBmYWxsYmFja0xhbmd1YWdlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmYWxsYmFja0xhbmd1YWdlO1xuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuYXN5bmMgZnVuY3Rpb24gbG9hZERheUpTTG9jYWxlKCkge1xuICBjb25zdCBmYWxsYmFja0xhbmd1YWdlID0gZ2V0RmFsbEZhY2tMYW5ndWFnZSgpO1xuICBjb25zdCBsb2NhbGUgPSBpMThuLmxhbmd1YWdlIHx8IGZhbGxiYWNrTGFuZ3VhZ2U7XG5cbiAgc3dpdGNoIChsb2NhbGU/LnRvTG93ZXJDYXNlKCkpIHtcbiAgICBjYXNlICdwdC1icic6XG4gICAgICBhd2FpdCBpbXBvcnQoJ2RheWpzL2xvY2FsZS9wdC1icicpO1xuICAgICAgZGF5anMubG9jYWxlKCdwdC1icicpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnZGUtZGUnOlxuICAgICAgYXdhaXQgaW1wb3J0KCdkYXlqcy9sb2NhbGUvZGUnKTtcbiAgICAgIGRheWpzLmxvY2FsZSgnZGUnKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2VzLWVzJzpcbiAgICAgIGF3YWl0IGltcG9ydCgnZGF5anMvbG9jYWxlL2VzJyk7XG4gICAgICBkYXlqcy5sb2NhbGUoJ2VzJyk7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdmci1mcic6XG4gICAgICBhd2FpdCBpbXBvcnQoJ2RheWpzL2xvY2FsZS9mcicpO1xuICAgICAgZGF5anMubG9jYWxlKCdmcicpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnemgtY24nOlxuICAgICAgYXdhaXQgaW1wb3J0KCdkYXlqcy9sb2NhbGUvemgtY24nKTtcbiAgICAgIGRheWpzLmxvY2FsZSgnemgtY24nKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2phLWpwJzpcbiAgICAgIGF3YWl0IGltcG9ydCgnZGF5anMvbG9jYWxlL2phJyk7XG4gICAgICBkYXlqcy5sb2NhbGUoJ2phJyk7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdydS1ydSc6XG4gICAgICBhd2FpdCBpbXBvcnQoJ2RheWpzL2xvY2FsZS9ydScpO1xuICAgICAgZGF5anMubG9jYWxlKCdydScpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAndHItdHInOlxuICAgICAgYXdhaXQgaW1wb3J0KCdkYXlqcy9sb2NhbGUvdHInKTtcbiAgICAgIGRheWpzLmxvY2FsZSgndHInKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ3VrLXVhJzpcbiAgICAgIGF3YWl0IGltcG9ydCgnZGF5anMvbG9jYWxlL3VrJyk7XG4gICAgICBkYXlqcy5sb2NhbGUoJ3VrJyk7XG4gICAgICBicmVhaztcbiAgICBjYXNlICd6aC10dyc6XG4gICAgICBhd2FpdCBpbXBvcnQoJ2RheWpzL2xvY2FsZS96aC10dycpO1xuICAgICAgZGF5anMubG9jYWxlKCd6aC10dycpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnY3MtY3onOlxuICAgICAgYXdhaXQgaW1wb3J0KCdkYXlqcy9sb2NhbGUvY3MnKTtcbiAgICAgIGRheWpzLmxvY2FsZSgnY3MnKTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBhd2FpdCBpbXBvcnQoJ2RheWpzL2xvY2FsZS9lbicpO1xuICAgICAgZGF5anMubG9jYWxlKCdlbicpO1xuICAgICAgYnJlYWs7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgbG9hZERheUpTTG9jYWxlO1xuIiwiaW1wb3J0IEJveCBmcm9tICdAbXVpL21hdGVyaWFsL0JveCc7XG5pbXBvcnQgeyBzdHlsZWQgfSBmcm9tICdAbXVpL21hdGVyaWFsL3N0eWxlcyc7XG5pbXBvcnQgKiBhcyBGbGFnc0ljb24gZnJvbSAnY291bnRyeS1mbGFnLWljb25zL3JlYWN0LzN4Mic7XG5pbXBvcnQgUmVhY3QsIHsgU3RyaWN0TW9kZSwgU3VzcGVuc2UsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bic7XG5pbXBvcnQgeyBCcm93c2VyUm91dGVyLCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlcic7XG5cbmltcG9ydCB7XG4gIEVycm9yQm91bmRhcnksXG4gIEZvb3RlcixcbiAgSGVhZGVyLFxuICBIZWFkZXJJbmZvRGlhbG9nLFxuICBMb2FkaW5nLFxuICBSb3V0ZSxcbiAgU2VhcmNoUHJvdmlkZXIsXG4gIFRyYW5zbGF0b3JQcm92aWRlcixcbiAgYnJlYWtQb2ludHMsXG4gIHVzZUNvbmZpZyxcbn0gZnJvbSAnQHZlcmRhY2Npby91aS1jb21wb25lbnRzJztcblxuaW1wb3J0IENvbnRyaWJ1dG9ycyBmcm9tICcuLi9jb21wb25lbnRzL0NvbnRyaWJ1dG9ycyc7XG5pbXBvcnQgU3VwcG9ydCBmcm9tICcuLi9jb21wb25lbnRzL1N1cHBvcnQnO1xuaW1wb3J0IGFib3V0IGZyb20gJy4uL2NvbXBvbmVudHMvYWJvdXQubWQnO1xuaW1wb3J0IGxpY2Vuc2UgZnJvbSAnLi4vY29tcG9uZW50cy9saWNlbnNlLm1kJztcbmltcG9ydCBpMThuIGZyb20gJy4uL2kxOG4vY29uZmlnJztcbmltcG9ydCB7IGxpc3RMYW5ndWFnZXMgfSBmcm9tICcuLi9pMThuL2VuYWJsZWRMYW5ndWFnZXMnO1xuaW1wb3J0IGxvYWREYXlKU0xvY2FsZSBmcm9tICcuLi9pMThuL2xvYWQtZGF5anMtbG9jYWxlJztcbmltcG9ydCBBcHBSb3V0ZSBmcm9tICcuL0FwcFJvdXRlJztcblxuY29uc3QgU3R5bGVkQm94ID0gc3R5bGVkKEJveCkoKHsgdGhlbWUgfSkgPT4gKHtcbiAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5wYWxldHRlLmJhY2tncm91bmQuZGVmYXVsdCxcbn0pKTtcblxuY29uc3QgU3R5bGVkQm94Q29udGVudCA9IHN0eWxlZChCb3gpKHtcbiAgW2BAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAke2JyZWFrUG9pbnRzLmNvbnRhaW5lcn1weClgXToge1xuICAgIG1heFdpZHRoOiBicmVha1BvaW50cy5jb250YWluZXIsXG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgICBtYXJnaW5MZWZ0OiAnYXV0bycsXG4gICAgbWFyZ2luUmlnaHQ6ICdhdXRvJyxcbiAgfSxcbn0pO1xuXG5jb25zdCBGbGFncyA9IHN0eWxlZCgnc3BhbicpKCgpID0+ICh7XG4gIHdpZHRoOiAnMjVweCcsXG59KSk7XG5cbmZ1bmN0aW9uIEN1c3RvbUluZm9EaWFsb2coeyBvbkNsb3NlRGlhbG9nLCB0aXRsZSwgaXNPcGVuIH0pIHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICByZXR1cm4gKFxuICAgIDxIZWFkZXJJbmZvRGlhbG9nXG4gICAgICBkaWFsb2dUaXRsZT17dGl0bGV9XG4gICAgICBpc09wZW49e2lzT3Blbn1cbiAgICAgIG9uQ2xvc2VEaWFsb2c9e29uQ2xvc2VEaWFsb2d9XG4gICAgICB0YWJQYW5lbHM9e1tcbiAgICAgICAge1xuICAgICAgICAgIGVsZW1lbnQ6IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxSZWFjdE1hcmtkb3duPnthYm91dH08L1JlYWN0TWFya2Rvd24+XG4gICAgICAgICAgICAgIDxDb250cmlidXRvcnMgLz5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICksXG4gICAgICAgIH0sXG4gICAgICAgIHsgZWxlbWVudDogPFJlYWN0TWFya2Rvd24+e2xpY2Vuc2V9PC9SZWFjdE1hcmtkb3duPiB9LFxuICAgICAgICB7IGVsZW1lbnQ6IDxTdXBwb3J0IC8+IH0sXG4gICAgICBdfVxuICAgICAgdGFicz17W1xuICAgICAgICB7IGxhYmVsOiB0KCdhYm91dCcpIH0sXG4gICAgICAgIHsgbGFiZWw6IHQoJ2RpYWxvZy5saWNlbnNlJykgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnJyxcbiAgICAgICAgICBpY29uOiAoXG4gICAgICAgICAgICA8RmxhZ3M+XG4gICAgICAgICAgICAgIDxGbGFnc0ljb24uVUEgLz5cbiAgICAgICAgICAgIDwvRmxhZ3M+XG4gICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgIF19XG4gICAgLz5cbiAgKTtcbn1cblxuY29uc3QgQXBwQ29udGVudDogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IHsgY29uZmlnT3B0aW9ucyB9ID0gdXNlQ29uZmlnKCk7XG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcbiAgY29uc3QgaXNQbGFpbkhlYWRlciA9IFtcbiAgICBSb3V0ZS5MT0dJTixcbiAgICBSb3V0ZS5TVUNDRVNTLFxuICAgIFJvdXRlLkFERF9VU0VSLFxuICAgIFJvdXRlLkNIQU5HRV9QQVNTV09SRCxcbiAgXS5pbmNsdWRlcyhsb2NhdGlvbi5wYXRobmFtZSBhcyBSb3V0ZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsb2FkRGF5SlNMb2NhbGUoKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEJveCBkaXNwbGF5PVwiZmxleFwiIGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIiBoZWlnaHQ9XCIxMDAlXCI+XG4gICAgICA8U2VhcmNoUHJvdmlkZXI+XG4gICAgICAgIDxIZWFkZXIgSGVhZGVySW5mb0RpYWxvZz17Q3VzdG9tSW5mb0RpYWxvZ30gaXNQbGFpbkhlYWRlcj17aXNQbGFpbkhlYWRlcn0gLz5cbiAgICAgIDwvU2VhcmNoUHJvdmlkZXI+XG4gICAgICA8U3R5bGVkQm94Q29udGVudCBmbGV4R3Jvdz17MX0+XG4gICAgICAgIDxBcHBSb3V0ZSAvPlxuICAgICAgPC9TdHlsZWRCb3hDb250ZW50PlxuICAgICAge2NvbmZpZ09wdGlvbnMuc2hvd0Zvb3RlciAmJiA8Rm9vdGVyIC8+fVxuICAgIDwvU3R5bGVkQm94PlxuICApO1xufTtcblxuLy8gQHRzLWlnbm9yZVxuY29uc3QgYmFzZW5hbWUgPSB3aW5kb3c/Ll9fVkVSREFDQ0lPX0JBU0VOQU1FX1VJX09QVElPTlM/LnVybF9wcmVmaXg7XG5cbmNvbnN0IEFwcDogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPFN0cmljdE1vZGU+XG4gICAgICA8RXJyb3JCb3VuZGFyeT5cbiAgICAgICAgPFRyYW5zbGF0b3JQcm92aWRlclxuICAgICAgICAgIGkxOG49e2kxOG59XG4gICAgICAgICAgbGlzdExhbmd1YWdlcz17bGlzdExhbmd1YWdlc31cbiAgICAgICAgICBvbk1vdW50PXsoKSA9PiBsb2FkRGF5SlNMb2NhbGV9XG4gICAgICAgID5cbiAgICAgICAgICA8U3VzcGVuc2UgZmFsbGJhY2s9ezxMb2FkaW5nIC8+fT5cbiAgICAgICAgICAgIDxCcm93c2VyUm91dGVyIGJhc2VuYW1lPXtiYXNlbmFtZX0+XG4gICAgICAgICAgICAgIDxBcHBDb250ZW50IC8+XG4gICAgICAgICAgICA8L0Jyb3dzZXJSb3V0ZXI+XG4gICAgICAgICAgPC9TdXNwZW5zZT5cbiAgICAgICAgPC9UcmFuc2xhdG9yUHJvdmlkZXI+XG4gICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgPC9TdHJpY3RNb2RlPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQXBwO1xuZXhwb3J0IHsgQXBwQ29udGVudCB9O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNyZWF0ZVJvb3QgfSBmcm9tICdyZWFjdC1kb20vY2xpZW50JztcblxuaW1wb3J0IHtcbiAgQXBwQ29uZmlndXJhdGlvblByb3ZpZGVyLFxuICBBdXRoUHJvdmlkZXIsXG4gIEVycm9yQm91bmRhcnksXG4gIFBlcnNpc3RlbmNlU2V0dGluZ1Byb3ZpZGVyLFxuICBTdHlsZUJhc2VsaW5lLFxuICBUaGVtZVByb3ZpZGVyLFxufSBmcm9tICdAdmVyZGFjY2lvL3VpLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgQXBwIGZyb20gJy4vQXBwJztcblxuY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jvb3QnKTtcblxuaWYgKCFjb250YWluZXIpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdSb290IGNvbnRhaW5lciBtaXNzaW5nJyk7XG59XG5cbmNvbnN0IHJvb3QgPSBjcmVhdGVSb290KGNvbnRhaW5lcik7XG5cbmNvbnN0IEFwcENvbnRhaW5lciA9ICgpID0+IChcbiAgPEVycm9yQm91bmRhcnk+XG4gICAgPEFwcENvbmZpZ3VyYXRpb25Qcm92aWRlcj5cbiAgICAgIDxUaGVtZVByb3ZpZGVyPlxuICAgICAgICA8U3R5bGVCYXNlbGluZSAvPlxuICAgICAgICA8UGVyc2lzdGVuY2VTZXR0aW5nUHJvdmlkZXI+XG4gICAgICAgICAgPEF1dGhQcm92aWRlcj5cbiAgICAgICAgICAgIDxBcHAgLz5cbiAgICAgICAgICA8L0F1dGhQcm92aWRlcj5cbiAgICAgICAgPC9QZXJzaXN0ZW5jZVNldHRpbmdQcm92aWRlcj5cbiAgICAgIDwvVGhlbWVQcm92aWRlcj5cbiAgICA8L0FwcENvbmZpZ3VyYXRpb25Qcm92aWRlcj5cbiAgPC9FcnJvckJvdW5kYXJ5PlxuKTtcblxucm9vdC5yZW5kZXIoPEFwcENvbnRhaW5lciAvPik7XG4iXSwiZmlsZSI6Im1haW4uQmFxRmo3UGkuanMifQ==